/* Full-card photography fades continuously into each theme’s reading surface. */
@media screen {
html[data-ag-ui=campus][data-ag-theme] :is(main.student-home,main.staff-page[data-home-visual]){
 --home-visual-panel:var(--theme-panel,#11191c);
 --home-visual-raised:var(--theme-raised,#1b2934);
 --home-visual-text:var(--theme-text,#eee9df);
 --home-visual-muted:var(--theme-muted,#a3afb2);
 --home-visual-accent:var(--theme-accent,#df925c);
 --home-visual-line:var(--theme-line,#354248);
 --home-visual-image:url('/assets/campus-home/learning.webp');
 --home-visual-position:76% 42%;
 --home-visual-readable:color-mix(in srgb,var(--home-visual-panel) 96%,transparent);
 --home-visual-body:linear-gradient(104deg,color-mix(in srgb,var(--home-visual-panel) 98%,transparent) 0%,color-mix(in srgb,var(--home-visual-panel) 94%,transparent) 45%,color-mix(in srgb,var(--home-visual-panel) 84%,transparent) 100%);
 --home-visual-glass:linear-gradient(125deg,color-mix(in srgb,var(--home-visual-raised) 88%,transparent),color-mix(in srgb,var(--home-visual-panel) 92%,transparent));
}
/* One photographic field fills the card. Existing compact grids and controls stay. */
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-task,.roadmap-home,.meetings,.studio-supervision,.education-schedule,.studio-week-brief,.campus-home-card,.master-learning,.master-attendance-stat,.master-absence-stat,.guide-home-reminder,.studio-plan-reminder,.home-admin-requests),
html[data-ag-ui=campus][data-ag-theme] main.staff-page[data-home-visual] .staff-card{
 position:relative;isolation:isolate;
 background:var(--home-visual-body),var(--home-visual-image) var(--home-visual-position)/cover no-repeat!important;
 border-color:color-mix(in srgb,var(--home-visual-accent) 27%,var(--home-visual-line))!important;
 box-shadow:inset 0 1px 0 color-mix(in srgb,var(--home-visual-text) 7%,transparent),0 12px 32px color-mix(in srgb,var(--theme-bg,#080b0d) 13%,transparent)!important;
 transform:none!important;transition:border-color .28s ease,box-shadow .35s ease;
}
/* A faint upper edge and a single diagonal sheen add depth without a photo strip. */
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-task,.roadmap-home,.meetings,.studio-supervision,.education-schedule,.studio-week-brief,.campus-home-card,.master-learning,.master-attendance-stat,.master-absence-stat,.guide-home-reminder,.studio-plan-reminder,.home-admin-requests)::before,
html[data-ag-ui=campus][data-ag-theme] main.staff-page[data-home-visual] .staff-card::before{
 content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
 background:linear-gradient(118deg,color-mix(in srgb,var(--home-visual-accent) 5%,transparent),transparent 56%)!important;
 box-shadow:inset 0 1px 0 color-mix(in srgb,var(--home-visual-text) 8%,transparent);
}
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-task,.roadmap-home,.meetings,.studio-supervision,.education-schedule,.studio-week-brief,.campus-home-card,.master-learning,.master-attendance-stat,.master-absence-stat,.guide-home-reminder,.studio-plan-reminder,.home-admin-requests)::after,
html[data-ag-ui=campus][data-ag-theme] main.staff-page[data-home-visual] .staff-card::after{
 content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;
 background:linear-gradient(112deg,transparent 40%,color-mix(in srgb,var(--home-visual-text) 4%,transparent) 49%,transparent 58%);background-size:240% 100%;background-position:155% 0;
 transition:background-position .85s cubic-bezier(.2,.7,.2,1);
}
/* Persistent artwork remains while each widget replaces its own children. */
main.student-home :is(.home-welcome,.studio-welcome,.master-learning){--home-visual-image:url('/assets/campus-home/learning.webp');--home-visual-position:82% 40%}
main.student-home .home-work{--home-visual-image:url('/assets/campus-home/work.webp');--home-visual-position:78% 43%}
main.student-home :is(.home-attendance,.master-attendance-stat){--home-visual-image:url('/assets/campus-home/attendance.webp');--home-visual-position:76% 35%}
main.student-home .home-scrum{--home-visual-image:url('/assets/campus-home/scrum.webp');--home-visual-position:78% 38%}
main.student-home :is(.roadmap-home,.studio-plan-reminder,.guide-home-reminder:has(a[href*='/roadmap'])){--home-visual-image:url('/assets/campus-home/roadmap.webp');--home-visual-position:77% 37%}
main.student-home :is(.education-schedule,.guide-home-reminder,.master-absence-stat){--home-visual-image:url('/assets/campus-home/schedule.webp');--home-visual-position:80% 38%}
main.student-home :is(.meetings,.studio-supervision){--home-visual-image:url('/assets/campus-home/meetings.webp');--home-visual-position:82% 40%}
main.student-home .studio-week-brief,
main.student-home .campus-home-card[href='/Education/weekly-work']{--home-visual-image:url('/assets/campus-home/submissions.webp');--home-visual-position:76% 40%}
main.student-home :is(.home-admin-requests,.campus-home-card[href='/Education/events']){--home-visual-image:url('/assets/campus-home/events.webp');--home-visual-position:78% 35%}
main.student-home .campus-home-card[href='/Education/employability']{--home-visual-image:url('/assets/portfolio/space.jpg');--home-visual-position:78% 40%}
main.staff-page[data-home-visual] .staff-card[href*='/scrum']{--home-visual-image:url('/assets/campus-home/scrum.webp')}
main.staff-page[data-home-visual] .staff-card[href*='/attendance']{--home-visual-image:url('/assets/campus-home/attendance.webp')}
main.staff-page[data-home-visual] .staff-card[href*='/work']{--home-visual-image:url('/assets/campus-home/work.webp')}
main.staff-page[data-home-visual] .staff-card[href*='/roadmap']{--home-visual-image:url('/assets/campus-home/roadmap.webp')}
main.staff-page[data-home-visual] .staff-card[href*='/schedule']{--home-visual-image:url('/assets/campus-home/schedule.webp')}
main.staff-page[data-home-visual] .staff-card[href*='/meetings']{--home-visual-image:url('/assets/campus-home/meetings.webp')}
main.staff-page[data-home-visual] .staff-card[href*='/submissions'],
main.staff-page[data-home-visual] .staff-card[href*='/studio-week']{--home-visual-image:url('/assets/campus-home/submissions.webp')}
main.staff-page[data-home-visual] .staff-card[href*='/events'],
main.staff-page[data-home-visual] .staff-card[href*='/requests']{--home-visual-image:url('/assets/campus-home/events.webp')}
main.staff-page[data-home-visual] .staff-card[href*='/employability']{--home-visual-image:url('/assets/portfolio/space.jpg')}
/* Welcome uses the same full-bleed fade, without separate text backing strips. */
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-welcome,.studio-welcome){position:relative;isolation:isolate;padding:24px!important;background:var(--home-visual-body),var(--home-visual-image) var(--home-visual-position)/cover no-repeat!important;border-radius:var(--theme-radius,8px)}
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-welcome,.studio-welcome)::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(112deg,color-mix(in srgb,var(--home-visual-accent) 4%,transparent),transparent 65%)}
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-welcome>div:first-child,.home-intro,.studio-welcome>div:first-child,.studio-welcome-note){background:none!important;box-shadow:none!important}
/* Nested content shares the photograph. Only actual controls receive a quiet
   glass surface; no backing strips are added to labels or paragraphs. */
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.master-summary,.roadmap-editor,.roadmap-editor-head,.roadmap-tasks,.roadmap-task-row,.roadmap-weekly-update,.home-week-meeting,.home-week-empty,.home-week-date,.schedule-day,.schedule-event,.meeting-person,.meeting-card,.meeting-day,.studio-deliveries>a,.work-current-task,.work-stat){background:transparent!important;border-color:var(--home-visual-line)!important}
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-task,.roadmap-home,.meetings,.studio-supervision,.education-schedule) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select){background:var(--home-visual-panel)!important;color:var(--home-visual-text)!important;border-color:var(--home-visual-line)!important}
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-task,.roadmap-home,.meetings,.studio-supervision,.education-schedule) :is(input,textarea)::placeholder{color:var(--home-visual-muted)!important;opacity:1}
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-task,.roadmap-home,.meetings,.studio-supervision,.education-schedule) :is(button:not(.primary):not(.home-primary):not(.work-start):not(.work-pause):not([aria-pressed=true]),.home-history-link){background:var(--home-visual-glass)!important}
html[data-ag-ui=campus][data-ag-theme] main.student-home .master-module-row div>span{color:var(--home-visual-muted)!important}
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.master-module-row b,.guide-home-reminder a){color:var(--home-visual-accent)!important}
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.master-attendance-stat>span,.master-absence-stat>span,.home-work .work-since){color:var(--home-visual-muted)!important}
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.master-attendance-stat>strong,.master-absence-stat:not(.is-alert)>strong){color:var(--home-visual-text)!important}
html[data-ag-ui=campus][data-ag-theme] main.student-home .master-absence-stat.is-alert>strong{color:var(--theme-danger,#e68a80)!important}
/* Photographs call for firmer text than a flat surface. These are local
   reading colours; attendance, warning, task and meeting status colours stay. */
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-task>p,#home-attendance-status,.studio-attendance-note,.studio-scrum-session small,.studio-deadline p,.work-since,.work-clock-label,.work-action-label,.work-continuity,.roadmap-home-course,.roadmap-editor-head p,.home-week-date span,.home-week-copy p,.home-week-state small,.studio-book-link span,.schedule-day-heading>strong,.schedule-event p,.schedule-tag,.studio-brief-body,.campus-home-card>small,.campus-home-card p,.master-module-row div>span,.master-attendance-stat>span,.master-attendance-stat p,.master-absence-stat>span,.master-absence-stat p,.meeting-intro,.home-intro p,.home-greeting,.studio-welcome-note time,.guide-home-reminder p,.studio-plan-reminder span),
html[data-ag-ui=campus][data-ag-theme] main.staff-page[data-home-visual] :is(.staff-card p,.staff-scope){color:color-mix(in srgb,var(--home-visual-muted) 70%,var(--home-visual-text))!important}
html[data-ag-ui=campus][data-ag-theme] main.student-home :is(#home-requests-status,.home-kicker,.roadmap-feedback,.roadmap-link,.schedule-feedback,.schedule-event time,.schedule-full,.studio-brief-week,.studio-showcase-label,.studio-showcase-byline,.campus-card-link,.campus-deadline,.studio-plan-reminder a,.guide-home-reminder a,.home-admin-requests span,.home-profile-link,.home-history-link,.home-task-link,.studio-brief-resource,.master-profile-link,.master-module-row b),
html[data-ag-ui=campus][data-ag-theme] main.staff-page[data-home-visual] .staff-card>span{color:color-mix(in srgb,var(--home-visual-accent) 70%,var(--home-visual-text))!important}
/* Semantic status colours and the dynamic featured image remain their own. */
html[data-ag-ui=campus][data-ag-theme] main.student-home .master-absence-stat.is-alert,
html[data-ag-ui=campus][data-ag-theme] main.student-home .master-absence-stat.is-alert:is(:hover,:focus-within){border-color:var(--theme-danger,#e68a80)!important}
html[data-ag-ui=campus][data-ag-theme] main.student-home .studio-showcase-visual.has-image{background-image:none!important}
html[data-ag-ui=campus][data-ag-theme] main.student-home .studio-showcase-caption{background:var(--home-visual-readable)!important;color:var(--home-visual-text)!important}
/* Keep the existing catalogue SVG frame and reveal animation. */
html[data-ag-ui=campus][data-ag-theme] main.student-home .education-catalog .module-card::after{background:linear-gradient(96deg,var(--home-visual-panel) 0%,color-mix(in srgb,var(--home-visual-panel) 97%,transparent) 32%,color-mix(in srgb,var(--home-visual-panel) 83%,transparent) 58%,color-mix(in srgb,var(--home-visual-panel) 33%,transparent) 100%)!important;pointer-events:none}
html[data-ag-ui=campus][data-ag-theme] main.student-home .education-catalog .module-photo{opacity:.86!important;object-position:82% 44%;filter:saturate(.9) contrast(1.03)}
html[data-ag-ui=campus][data-ag-theme] main.student-home .education-catalog .is-locked .module-photo{opacity:.64!important;filter:saturate(.6)}
/* Catalogue copy uses the same firmer reading colour over the photograph. */
html[data-ag-ui=campus][data-ag-theme] main.student-home .education-catalog :is(.module-category,.module-description,.module-meta,.module-tracking-note,.module-progress,.module-progress p,.module-progress span,.module-progress small,.module-progress-heading,.module-request-feedback){color:color-mix(in srgb,var(--home-visual-muted) 70%,var(--home-visual-text))!important}
/* Home-only notices live outside main. Preserve their padding and counters. */
html[data-ag-ui=campus][data-ag-theme] body>.admin-pending-notice{background:linear-gradient(100deg,var(--theme-panel,#11191c) 0%,color-mix(in srgb,var(--theme-panel,#11191c) 98%,transparent) 68%,color-mix(in srgb,var(--theme-panel,#11191c) 96%,transparent) 100%),url('/assets/campus-home/events.webp') right 38%/cover no-repeat!important}
html[data-ag-ui=campus][data-ag-theme] main.staff-page[data-home-visual] .staff-scope{background:linear-gradient(120deg,color-mix(in srgb,var(--theme-accent,#df925c) 2%,var(--theme-panel,#11191c)),var(--theme-panel,#11191c))!important}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-task,.roadmap-home,.meetings,.studio-supervision,.education-schedule,.studio-week-brief,.campus-home-card,.master-learning,.master-attendance-stat,.master-absence-stat,.guide-home-reminder,.home-admin-requests):is(:hover,:focus-within),
 html[data-ag-ui=campus][data-ag-theme] main.staff-page[data-home-visual] .staff-card:is(:hover,:focus-within){border-color:color-mix(in srgb,var(--home-visual-accent) 68%,var(--home-visual-line))!important;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--home-visual-accent) 34%,transparent),0 12px 32px color-mix(in srgb,var(--theme-bg,#080b0d) 15%,transparent)!important}
 html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-task,.roadmap-home,.meetings,.studio-supervision,.education-schedule,.studio-week-brief,.campus-home-card,.master-learning,.master-attendance-stat,.master-absence-stat,.guide-home-reminder,.home-admin-requests):is(:hover,:focus-within)::after,
 html[data-ag-ui=campus][data-ag-theme] main.staff-page[data-home-visual] .staff-card:is(:hover,:focus-within)::after{background-position:-65% 0}
}
@media(max-width:700px){
 html[data-ag-ui=campus][data-ag-theme] :is(main.student-home,main.staff-page[data-home-visual]){--home-visual-body:linear-gradient(104deg,color-mix(in srgb,var(--home-visual-panel) 98%,transparent),color-mix(in srgb,var(--home-visual-panel) 93%,transparent) 100%)}
 html[data-ag-ui=campus][data-ag-theme] main.student-home :is(.home-welcome,.studio-welcome){padding:20px!important}
}
@media(prefers-reduced-motion:reduce){
 html[data-ag-ui=campus][data-ag-theme] main.student-home *,html[data-ag-ui=campus][data-ag-theme] main.student-home *::before,html[data-ag-ui=campus][data-ag-theme] main.student-home *::after,
 html[data-ag-ui=campus][data-ag-theme] main.staff-page[data-home-visual] .staff-card,html[data-ag-ui=campus][data-ag-theme] main.staff-page[data-home-visual] .staff-card::before,html[data-ag-ui=campus][data-ag-theme] main.staff-page[data-home-visual] .staff-card::after{transition:none!important;animation:none!important}
}
html[data-ag-motion=reduced][data-ag-ui=campus] :is(main.student-home,main.staff-page[data-home-visual]) *,html[data-ag-motion=reduced][data-ag-ui=campus] :is(main.student-home,main.staff-page[data-home-visual]) *::before,html[data-ag-motion=reduced][data-ag-ui=campus] :is(main.student-home,main.staff-page[data-home-visual]) *::after{transition:none!important;animation:none!important}
}
