
/* ===== core.css ===== */

:root{
 --ivory:#fbf7ee;--parchment:#f4ecdd;--marble:#ede6da;--stone:#d8cdbb;
 --ink:#17242a;--muted:#566269;--verde:#073e31;--navy:#081a2b;
 --gold:#b88731;--gold-pale:#ddc58d;--bronze:#8a5b24;--white:#fff;
 --serif:Georgia,"Times New Roman",serif;
 --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
 --container:1460px;--reading:760px;--section-pad:clamp(3rem,4.4vw,4.75rem);
 --hairline:rgba(75,57,31,.22);--soft-shadow:0 22px 70px rgba(29,22,12,.11);
 --deep-shadow:0 32px 90px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ivory)}
body{margin:0;background:
 radial-gradient(circle at 13% 6%,rgba(255,255,255,.96),transparent 26rem),
 linear-gradient(180deg,var(--ivory),#f8f2e8 58%,var(--ivory));
 color:var(--page-ink,var(--ink));font-family:var(--sans);font-size:17px;line-height:1.64;
 -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.24;background-image:
 linear-gradient(90deg,transparent 0 49.92%,rgba(184,135,49,.07) 50%,transparent 50.08%),
 radial-gradient(circle at 50% -8%,rgba(184,135,49,.08),transparent 34rem)}
img,video{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}.container{width:min(var(--container),calc(100% - 3rem));margin-inline:auto}.narrow{width:min(980px,calc(100% - 3rem));margin-inline:auto}
.skip-link{position:fixed;z-index:9999;left:1rem;top:-5rem;background:#fff;color:#000;padding:.85rem 1rem;border:2px solid #000}.skip-link:focus{top:1rem}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.eyebrow,.kicker,.panel-kicker,.complex-kicker{font-size:.7rem;letter-spacing:.19em;text-transform:uppercase;font-weight:800;color:var(--accent,var(--gold));margin:0 0 .8rem}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;margin:0;color:var(--heading,var(--page-ink,var(--ink)))}
h1{font-size:clamp(2.75rem,5.15vw,6.35rem);line-height:.94}h2{font-size:clamp(2.15rem,3.75vw,4.75rem);line-height:1.01}h3{font-size:clamp(1.32rem,2vw,2.1rem);line-height:1.14}h4{font-size:1.12rem}
p{margin:0 0 1rem}.lede{font-size:clamp(1.03rem,1.25vw,1.27rem);max-width:59ch}.help{font-size:.84rem;color:var(--muted)}
.button,.site-cta,.panel-cta{display:inline-flex;align-items:center;justify-content:center;gap:.68rem;min-height:50px;padding:.82rem 1.18rem;border:1px solid var(--accent-dark,var(--verde));background:var(--accent-dark,var(--verde));color:#fff;text-decoration:none;font-weight:760;font-size:.79rem;letter-spacing:.055em;text-transform:uppercase;border-radius:0;cursor:pointer;position:relative;isolation:isolate;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.button::before,.site-cta::before,.panel-cta::before{content:"";position:absolute;inset:4px;border:1px solid rgba(255,255,255,.2);pointer-events:none}.button::after,.site-cta::after,.panel-cta::after{content:"→";font-size:1rem}.button:hover,.site-cta:hover,.panel-cta:hover{transform:translateY(-2px);background:var(--accent,var(--gold));border-color:var(--accent,var(--gold));color:var(--button-hover-text,#111)}
.button.secondary,.button.ghost,.button.outline{background:transparent;color:var(--accent-dark,var(--verde));border-color:var(--accent,var(--gold))}.button.secondary::before,.button.ghost::before,.button.outline::before{border-color:rgba(184,135,49,.22)}
.actions,.hero-actions{display:flex;flex-wrap:wrap;gap:.78rem;margin-top:1.45rem}
.block,.section,.media-story,.visual-archive{position:relative;padding-block:var(--section-pad);background:var(--section-bg,var(--ivory));border-top:1px solid var(--hairline)}
.block::before,.section::before,.media-story::before,.visual-archive::before{content:"";position:absolute;top:-1px;left:50%;width:min(160px,22vw);height:3px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--accent,var(--gold)),transparent)}
.block--wash,.section.tinted{--section-bg:var(--page-wash,var(--parchment))}.block--dark{--section-bg:var(--accent-dark,var(--verde));color:var(--dark-text,#fff)}.block--dark h2,.block--dark h3,.block--dark h4{color:var(--dark-heading,#fff)}
.block-head,.section-header{display:grid;grid-template-columns:minmax(0,.78fr) minmax(280px,.42fr);gap:clamp(1.5rem,4vw,4.5rem);align-items:end;margin-bottom:2.25rem;position:relative;padding-bottom:1.35rem}
.block-head::after,.section-header::after{content:"";position:absolute;left:0;bottom:0;width:min(520px,58%);height:1px;background:linear-gradient(90deg,var(--accent,var(--gold)),transparent)}
.block-head p,.section-header p{max-width:62ch;color:var(--muted)}.block--dark .block-head p,.block--dark .section-header p{color:rgba(255,255,255,.78)}
.centered{text-align:center}.section-header.centered{display:block;max-width:940px;margin:0 auto 2.25rem}.section-header.centered::after{left:50%;transform:translateX(-50%)}.section-header.centered p{margin-inline:auto}
.grid{display:grid;gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.grid>*{background:var(--ivory)}.grid-2,.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3,.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4,.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{position:relative;padding:1.55rem 1.5rem 1.65rem;border:0;border-top:4px solid var(--accent,var(--gold));border-radius:0;box-shadow:inset 0 0 0 1px rgba(184,135,49,.08);background:linear-gradient(180deg,rgba(255,255,255,.48),transparent),var(--ivory);min-height:100%;overflow:hidden}.card::after{content:"";position:absolute;right:-22px;top:-30px;width:82px;height:82px;border:1px solid rgba(184,135,49,.18);transform:rotate(45deg)}.card p{color:var(--muted)}.card a{font-weight:750;text-decoration:none;color:var(--accent-dark,var(--verde))}.card-index,.card-number{font-size:.68rem;letter-spacing:.14em;color:var(--accent,var(--gold));text-transform:uppercase}.card .stretched::after{content:"";position:absolute;inset:0}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(2rem,5vw,5.75rem);align-items:center}.split.reverse>:first-child{order:2}
.media-frame,.hero-art{margin:0;border:0;border-radius:0;overflow:hidden;background:#ddd;box-shadow:none;position:relative;isolation:isolate}.media-frame::after,.hero-art::after{content:"";position:absolute;inset:10px;border:1px solid rgba(221,197,141,.7);box-shadow:inset 0 0 0 1px rgba(57,41,18,.14);pointer-events:none}.media-frame img,.hero-art img{width:100%;height:100%;object-fit:cover}.media-frame{aspect-ratio:4/3;min-height:0}.media-frame img{min-height:0}
.breadcrumbs{display:flex;gap:.55rem;align-items:center;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:1.35rem}.breadcrumbs a{text-decoration:none}.check-list{padding:0;margin:1rem 0;list-style:none}.check-list li{padding:.58rem 0 .58rem 1.7rem;border-bottom:1px solid var(--hairline);position:relative}.check-list li::before{content:"✦";position:absolute;left:0;color:var(--accent,var(--gold))}.notice{padding:1rem 1.15rem;border-left:4px solid var(--accent,var(--gold));background:var(--page-wash,var(--parchment))}.quote{padding:1.6rem;border-left:4px solid var(--accent,var(--gold));background:var(--page-wash,var(--parchment));font:400 1.35rem/1.5 var(--serif)}
.prose{max-width:var(--reading);margin-inline:auto}.prose h2{font-size:2.15rem;margin:2.2rem 0 .8rem}.prose h3{font-size:1.45rem;margin:1.5rem 0 .55rem}.prose li{margin:.48rem 0}.search-result{display:grid;gap:.2rem;padding:1rem;border-bottom:1px solid var(--hairline);text-decoration:none}.search-result span{color:var(--muted);font-size:.86rem}

/* ===== site.css ===== */

.top-ribbon{height:31px;background:var(--ribbon-bg,var(--navy));color:var(--ribbon-text,#ecd49b);display:flex;align-items:center;justify-content:space-between;padding-inline:max(1rem,calc((100vw - var(--container))/2));font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid rgba(221,197,141,.3)}.top-ribbon nav{display:flex;gap:1.35rem}.top-ribbon a{text-decoration:none}
.site-header{position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--header-bg,var(--ivory)) 94%,transparent);border-bottom:1px solid rgba(113,79,30,.3);backdrop-filter:blur(18px) saturate(120%)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:linear-gradient(90deg,transparent 2%,var(--accent,var(--gold)) 23%,var(--gold-pale) 50%,var(--accent,var(--gold)) 77%,transparent 98%);opacity:.66}
.site-header-main{height:88px;width:min(var(--container),calc(100% - 2rem));margin:auto;display:grid;grid-template-columns:minmax(290px,1fr) auto auto;gap:1.5rem;align-items:center}.site-brand{display:flex;align-items:center;gap:.82rem;text-decoration:none;min-width:0}.site-brand img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(69,45,11,.16))}.site-brand strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.28rem;letter-spacing:.055em;color:var(--header-ink,var(--ink))}.site-brand small{display:block;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent,var(--gold))}
.site-nav{display:flex;align-items:center;gap:1.25rem}.site-nav a,.explore-toggle{border:0;background:none;padding:.55rem 0;text-decoration:none;font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--header-ink,var(--ink));cursor:pointer;position:relative}.site-nav a::after,.explore-toggle::after{content:"";position:absolute;left:50%;right:50%;bottom:.1rem;height:1px;background:var(--accent,var(--gold));transition:left .2s,right .2s}.site-nav a:hover::after,.explore-toggle:hover::after{left:0;right:0}.explore-toggle::before{content:"✦ ";color:var(--accent,var(--gold))}.menu-toggle{display:none;border:1px solid var(--accent,var(--gold));background:transparent;color:var(--header-ink,var(--ink));padding:.65rem .78rem;text-transform:uppercase;letter-spacing:.08em}
.explore-panel{position:fixed;z-index:79;left:0;right:0;top:119px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,241,229,.98));border-bottom:1px solid var(--accent,var(--gold));box-shadow:0 30px 90px rgba(16,12,7,.24);max-height:calc(100vh - 119px);overflow:auto}.explore-panel[hidden]{display:none}.explore-inner{width:min(var(--container),calc(100% - 3rem));margin:auto;padding:2.4rem 0 3rem}.explore-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;border-bottom:1px solid var(--hairline);padding-bottom:1.35rem}.explore-head h2{font-size:clamp(2rem,3vw,3.65rem);max-width:18ch}.explore-search{display:block;margin:1.45rem 0}.explore-search input{width:100%;padding:1rem 1.1rem;border:1px solid var(--hairline);border-bottom:3px solid var(--accent,var(--gold));background:rgba(255,255,255,.7);color:var(--ink);border-radius:0}.explore-columns{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.explore-columns section{padding:1.35rem;background:rgba(255,255,255,.84)}.explore-columns h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent,var(--gold));font-family:var(--sans);font-weight:800;margin-bottom:.9rem}.explore-columns a{display:flex;justify-content:space-between;gap:1rem;padding:.68rem 0;border-bottom:1px solid var(--hairline);text-decoration:none;font-size:.9rem}.explore-columns a:hover{color:var(--accent-dark,var(--verde))}
.context-strip{border-bottom:1px solid var(--hairline);background:var(--context-bg,rgba(255,253,248,.94))}.context-strip-inner{width:min(var(--container),calc(100% - 2rem));margin:auto;display:flex;gap:1rem;align-items:center;min-height:42px;overflow:auto}.context-strip strong{white-space:nowrap;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-dark,var(--verde))}.context-strip nav{display:flex;gap:.2rem;white-space:nowrap}.context-strip a{padding:.48rem .68rem;text-decoration:none;font-size:.72rem}.context-strip a[aria-current="page"]{border-bottom:2px solid var(--accent,var(--gold))}
.page-hero{height:clamp(390px,54vh,570px);max-height:62vh;min-height:390px;display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);border-bottom:1px solid var(--hairline);background:var(--hero-bg,var(--parchment));overflow:hidden;position:relative}.page-hero::before{content:"";position:absolute;z-index:3;left:43%;top:0;bottom:0;width:20px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(184,135,49,.45),var(--gold-pale),rgba(184,135,49,.45),transparent);clip-path:polygon(45% 0,55% 0,70% 7%,55% 14%,70% 21%,55% 28%,70% 35%,55% 42%,70% 49%,55% 56%,70% 63%,55% 70%,70% 77%,55% 84%,70% 91%,55% 100%,45% 100%,30% 91%,45% 84%,30% 77%,45% 70%,30% 63%,45% 56%,30% 49%,45% 42%,30% 35%,45% 28%,30% 21%,45% 14%,30% 7%)}.page-hero-copy{padding:clamp(1.9rem,4vw,4.6rem) max(1.5rem,calc((100vw - var(--container))/2));padding-right:clamp(2rem,4vw,4.2rem);display:flex;flex-direction:column;justify-content:center;background:var(--hero-bg,var(--parchment));position:relative;isolation:isolate}.page-hero-copy::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.52;background:radial-gradient(circle at 8% 10%,rgba(255,255,255,.92),transparent 17rem),linear-gradient(140deg,rgba(184,135,49,.06),transparent 42%)}.page-hero-copy::after{content:"";position:absolute;right:clamp(1rem,3vw,2.8rem);top:11%;width:76px;height:76px;border:1px solid rgba(184,135,49,.22);border-radius:50%;box-shadow:inset 0 0 0 8px rgba(184,135,49,.04);pointer-events:none}.page-hero h1{color:var(--hero-title,var(--heading,var(--verde)));max-width:11.5ch;text-wrap:balance}.page-hero .lede{color:var(--hero-copy,var(--page-ink,var(--ink)));margin-top:1.15rem}.page-hero-media{margin:0;overflow:hidden;position:relative;background:#17120c}.page-hero-media img{width:100%;height:100%;object-fit:cover;object-position:var(--hero-position,center)}.page-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,12,7,.18),transparent 26%),linear-gradient(180deg,transparent 64%,rgba(0,0,0,.12));pointer-events:none}.home-hero{height:clamp(410px,56vh,590px);max-height:64vh}.home-hero .page-hero-copy{background:linear-gradient(100deg,#fbf7ee 76%,rgba(251,247,238,.9))}
.stage-ribbon{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--hairline);background:linear-gradient(180deg,#fffdf8,var(--parchment));position:relative}.stage-ribbon::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:repeating-linear-gradient(90deg,var(--accent,var(--gold)) 0 3rem,transparent 3rem 4rem);opacity:.35}.stage-ribbon a{padding:1.1rem .72rem .95rem;text-align:center;text-decoration:none;border-right:1px solid var(--hairline);font-size:.68rem;text-transform:uppercase;letter-spacing:.09em}.stage-ribbon a:last-child{border-right:0}.stage-ribbon span{display:block;color:var(--accent,var(--gold));font-family:var(--serif);font-size:1.25rem}
.entry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.entry-card{background:linear-gradient(180deg,rgba(255,255,255,.62),transparent),var(--ivory);padding:1.45rem;text-decoration:none;min-height:270px;display:flex;flex-direction:column;position:relative;overflow:hidden}.entry-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent,var(--gold))}.entry-card::after{content:"";position:absolute;right:-42px;bottom:-42px;width:110px;height:110px;border:1px solid rgba(184,135,49,.16);border-radius:50%}.entry-card span,.course-meta{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent,var(--gold));font-weight:800}.entry-card strong{font:400 1.55rem/1.15 var(--serif);margin:.75rem 0}.entry-card p{color:var(--muted)}.entry-card b{margin-top:auto;color:var(--accent-dark,var(--verde));font-size:.82rem}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.offer{padding:1.65rem;background:var(--ivory);position:relative}.offer::before{content:"";position:absolute;inset:8px;border:1px solid rgba(184,135,49,.15);pointer-events:none}.offer h3{margin:.38rem 0 .75rem}.offer p{color:var(--muted)}
.capability-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.capability{padding:1.2rem 1.25rem;border-bottom:1px solid var(--hairline)}.capability:nth-child(odd){border-right:1px solid var(--hairline)}.capability strong{font-family:var(--serif);font-weight:400;font-size:1.35rem}.capability p{color:var(--muted);margin:.35rem 0 0}
.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.sector-card{min-height:390px;position:relative;overflow:hidden;text-decoration:none;background:#111}.sector-card picture,.sector-card img{width:100%;height:100%;object-fit:cover}.sector-card::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(4,10,14,.89) 100%)}.sector-card::after{content:"";position:absolute;z-index:2;inset:10px;border:1px solid rgba(226,201,140,.58)}.sector-card>div{position:absolute;z-index:3;left:1.25rem;right:1.25rem;bottom:1.15rem;color:#fff}.sector-card h3{color:#fff}.sector-card p{color:rgba(255,255,255,.82);margin:.35rem 0}.sector-card .card-index{color:#e4c67f}
.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.course-card{padding:1.45rem;background:var(--ivory);min-height:270px;display:flex;flex-direction:column;position:relative;border-top:4px solid var(--accent,var(--gold))}.course-card::after{content:"";position:absolute;left:1.2rem;right:1.2rem;bottom:.9rem;height:1px;background:linear-gradient(90deg,var(--accent,var(--gold)),transparent)}.course-card h3{font-size:1.55rem;margin:.55rem 0}.course-card p{color:var(--muted)}.course-card a{margin-top:auto;padding-bottom:.45rem;text-decoration:none;color:var(--accent-dark,var(--verde));font-weight:750}
.process-steps{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--hairline);background:var(--hairline)}.process-step{background:var(--ivory);padding:1.35rem;border-right:0}.process-step span{font:400 2rem var(--serif);color:var(--accent,var(--gold))}.process-step p{color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.gallery figure{margin:0;position:relative;overflow:hidden}.gallery figure:nth-child(1),.gallery figure:nth-child(6){grid-column:span 2;grid-row:span 2}.gallery picture,.gallery img{width:100%;height:100%;object-fit:cover}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:3rem 1rem .8rem;background:linear-gradient(0deg,rgba(4,8,13,.92),transparent);color:#fff}
.video-stage{position:relative;min-height:420px;overflow:hidden;border:1px solid var(--accent,var(--gold));background:#050508;box-shadow:var(--deep-shadow)}.video-stage::after{content:"";position:absolute;inset:10px;border:1px solid rgba(226,201,140,.5);pointer-events:none}.video-stage picture,.video-stage img{width:100%;height:100%;object-fit:cover}.video-stage>picture{position:absolute;inset:0}.video-stage::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.58))}.video-play{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;border:1px solid var(--gold-pale);background:rgba(10,7,12,.8);color:#f4d692;font-size:1.8rem;cursor:pointer;box-shadow:0 0 0 8px rgba(184,135,49,.12)}.video-stage-meta{position:absolute;z-index:3;left:1.25rem;right:1.25rem;bottom:1.1rem;color:white}.video-stage-meta strong,.video-stage-meta span{display:block}.video-stage-meta span{font-size:.78rem;color:rgba(255,255,255,.72)}
.form-card,.search-panel{max-width:1000px;margin-inline:auto;background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.4)),var(--page-wash,var(--parchment));border:1px solid var(--hairline);padding:clamp(1.4rem,3vw,2.5rem);box-shadow:var(--soft-shadow);position:relative}.form-card::before,.search-panel::before{content:"";position:absolute;inset:10px;border:1px solid rgba(184,135,49,.15);pointer-events:none}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.field{display:grid;gap:.36rem}.field.full{grid-column:1/-1}.field label{font-weight:750;font-size:.82rem}.field input,.field select,.field textarea,.search-panel input{width:100%;border:1px solid rgba(55,43,24,.27);border-bottom:3px solid var(--accent,var(--gold));background:#fffdf8;padding:.85rem .9rem;border-radius:0;color:#17242a}.field textarea{min-height:145px;resize:vertical}.consent-row{display:flex;align-items:flex-start;gap:.7rem}.form-submit{margin-top:1rem}.form-optional{margin-top:1rem;border:1px solid var(--hairline);padding:1rem}.form-optional summary{cursor:pointer;font-weight:750}
.editorial-gallery,.visual-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.editorial-gallery figure,.visual-archive-grid figure{margin:0;position:relative;min-height:360px;overflow:hidden}.editorial-gallery img,.visual-archive-grid img{width:100%;height:100%;object-fit:cover}.editorial-gallery figcaption,.visual-archive-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.6rem 1rem .8rem;background:linear-gradient(0deg,rgba(3,10,16,.92),transparent);color:white}.visual-archive-inner{width:min(var(--container),calc(100% - 3rem));margin:auto}.visual-archive-head{display:grid;grid-template-columns:1fr .55fr;gap:2rem;align-items:end;margin-bottom:2rem}
.media-story-grid,.front-door-inner{width:min(var(--container),calc(100% - 3rem));margin:auto;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,5vw,5rem);align-items:center}.front-door{padding-block:var(--section-pad);background:var(--accent-dark,var(--verde));color:white;border-block:1px solid var(--accent,var(--gold))}.front-door h2{color:white}.front-door p{color:rgba(255,255,255,.78)}.front-door-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.22)}.front-door-options a{min-height:175px;padding:1.25rem;background:rgba(255,255,255,.04);color:white;text-decoration:none;display:flex;flex-direction:column}.front-door-options small{margin-top:auto;color:rgba(255,255,255,.7)}
.pathway,.related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.pathway-step{padding:1.4rem;background:var(--ivory)}.pathway-step span{color:var(--accent,var(--gold));font:400 1.55rem var(--serif)}.editorial-split,.trust-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}.band{padding-block:clamp(2rem,3.4vw,3.3rem);background:var(--accent-dark,var(--verde));color:white;border-block:1px solid var(--accent,var(--gold));text-align:center;position:relative}.band::before{content:"";position:absolute;inset:8px;border-block:1px solid rgba(255,255,255,.16);pointer-events:none}.band h2{color:white}.band p{max-width:65ch;margin:.7rem auto 1.2rem;color:rgba(255,255,255,.8)}
.site-footer{background:var(--footer-bg,var(--verde));color:var(--footer-text,#fff);position:relative;overflow:hidden}.site-footer::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;background-image:radial-gradient(circle at 50% 0,rgba(255,255,255,.16),transparent 26rem),repeating-linear-gradient(90deg,transparent 0 7%,rgba(255,255,255,.035) 7.05% 7.12%)}.site-footer::after{content:"";position:absolute;left:0;right:0;top:0;height:11px;background:linear-gradient(180deg,var(--footer-accent,var(--gold)) 0 2px,transparent 2px 6px,var(--footer-accent,var(--gold)) 6px 7px,transparent 7px)}.footer-cta{position:relative;z-index:1;width:min(var(--container),calc(100% - 3rem));margin:auto;padding:3.2rem 0;display:flex;justify-content:space-between;gap:2rem;align-items:center;border-bottom:1px solid rgba(255,255,255,.22)}.footer-cta h2{color:var(--footer-heading,#fff);font-size:clamp(2rem,3.35vw,3.9rem);max-width:16ch}.footer-main{position:relative;z-index:1;width:min(var(--container),calc(100% - 3rem));margin:auto;padding:2.7rem 0;display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:2rem}.footer-brand img{width:150px;filter:drop-shadow(0 5px 16px rgba(0,0,0,.25))}.footer-brand p{color:var(--footer-muted,rgba(255,255,255,.78));max-width:34ch}.site-footer h3{font:800 .7rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--footer-accent,#e6c378);margin-bottom:.8rem}.site-footer a{display:block;text-decoration:none;color:var(--footer-link,rgba(255,255,255,.86));font-size:.85rem;padding:.27rem 0}.site-footer a:hover{color:var(--footer-accent,#fff)}.footer-trust{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);padding:1.1rem 0}.footer-trust-inner{width:min(var(--container),calc(100% - 3rem));margin:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.footer-trust span{text-align:center;font-size:.7rem;color:var(--footer-muted,rgba(255,255,255,.76));text-transform:uppercase;letter-spacing:.08em}.footer-bottom{position:relative;z-index:1;width:min(var(--container),calc(100% - 3rem));margin:auto;padding:1.1rem 0;display:flex;justify-content:space-between;gap:1rem;font-size:.72rem;color:var(--footer-muted,rgba(255,255,255,.7))}
.video-dialog{width:min(1100px,94vw);border:0;padding:0;background:#02070b}.video-dialog::backdrop{background:rgba(0,0,0,.84)}.video-dialog iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.video-dialog-close{position:absolute;right:.6rem;top:.6rem;z-index:2;background:#000;color:#fff;border:1px solid #fff;padding:.5rem .8rem}.filter-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.25rem}.filter-row button{border:1px solid var(--hairline);background:#fffdf8;padding:.62rem .88rem}.filter-row button.is-active{background:var(--accent-dark,var(--verde));color:#fff}.no-results{padding:1rem;border:1px solid var(--hairline)}


/* 2026-07-22 contrast and cinema refinements */
.context-strip strong{color:var(--context-label,var(--accent-dark,var(--verde)))}
.context-strip a{color:var(--context-link,var(--page-ink,var(--ink)))}
.block--dark .button{background:var(--accent,var(--gold));border-color:var(--accent,var(--gold));color:var(--button-hover-text,#111)}
.block--dark .button.secondary,.button.on-dark,.site-footer .button.secondary{background:transparent;border-color:rgba(255,255,255,.72);color:#fff}
.block--dark .button.secondary::before,.button.on-dark::before,.site-footer .button.secondary::before{border-color:rgba(255,255,255,.25)}
.site-footer .button:not(.secondary){background:var(--footer-accent,var(--gold));border-color:var(--footer-accent,var(--gold));color:#111}
.site-footer .button:hover,.block--dark .button:hover{background:#fff;border-color:#fff;color:#111}

/* Candy Kingdom feature-film page */
.film-page{background:#120817;color:#f9efe1}
.film-hero{height:clamp(470px,62svh,680px);max-height:66svh;min-height:470px;position:relative;overflow:hidden;border-bottom:1px solid rgba(231,185,85,.5);background:#120817}
.film-hero-media,.film-hero-media picture,.film-hero-media img{position:absolute;inset:0;width:100%;height:100%}
.film-hero-media img{object-fit:cover;object-position:center 43%}
.film-hero::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(11,4,15,.96) 0%,rgba(16,6,22,.88) 34%,rgba(18,7,24,.42) 60%,rgba(12,5,17,.2) 100%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.52))}
.film-hero::after{content:"";position:absolute;z-index:2;inset:14px;border:1px solid rgba(241,200,105,.56);pointer-events:none}
.film-hero-copy{position:relative;z-index:3;width:min(var(--container),calc(100% - 3rem));height:100%;margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-right:54%}
.film-hero .eyebrow{color:#f2c96e}
.film-hero h1{color:#fff0c7;max-width:10ch;text-shadow:0 4px 30px rgba(0,0,0,.8)}
.film-hero .lede{color:#fff;max-width:50ch;text-shadow:0 2px 18px rgba(0,0,0,.8)}
.film-hero .button{background:#e4b85d;border-color:#e4b85d;color:#16091d}
.film-hero .button.secondary{background:rgba(9,4,13,.32);border-color:#fff;color:#fff;backdrop-filter:blur(6px)}
.film-status{display:inline-flex;gap:.55rem;align-items:center;margin-top:1rem;color:#ead7b5;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.film-status::before{content:"";width:8px;height:8px;background:#e4b85d;box-shadow:0 0 0 5px rgba(228,184,93,.15)}

.film-intro{background:linear-gradient(180deg,#180a20,#120817);color:#f7ecdf}
.film-intro h2,.film-intro h3{color:#f4d48d}.film-intro p{color:#dfd1de}
.film-logline{font:400 clamp(1.5rem,2.3vw,2.7rem)/1.25 var(--serif);color:#fff2cf;border-left:3px solid #dcb154;padding-left:1.2rem;max-width:32ch}
.film-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(228,184,93,.28);border:1px solid rgba(228,184,93,.35);margin-top:2rem}
.film-fact{background:#1f0c29;padding:1rem}.film-fact span{display:block;color:#dcb154;font-size:.67rem;letter-spacing:.13em;text-transform:uppercase}.film-fact strong{display:block;color:#fff;margin-top:.25rem;font-family:var(--serif);font-weight:400}

.film-poster-section{background:radial-gradient(circle at 50% 0,rgba(101,43,125,.24),transparent 34rem),#0d0612;color:#f8eee3}
.film-poster-section .block-head p{color:#d8c9d9}
.poster-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.8rem,1.5vw,1.4rem)}
.poster-card{margin:0;background:#180a20;border:1px solid rgba(229,184,91,.55);padding:.45rem;position:relative;overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.35);transition:transform .25s ease,border-color .25s ease}
.poster-card:hover{transform:translateY(-6px);border-color:#f0c96f}
.poster-card a{display:block;position:relative;overflow:hidden;background:#050307}
.poster-card img{width:100%;aspect-ratio:2/3;object-fit:cover}
.poster-card figcaption{padding:.85rem .4rem .35rem;color:#f7e9d5}
.poster-card figcaption strong{display:block;color:#f2c96e;font:400 1.12rem var(--serif)}
.poster-card figcaption span{display:block;color:#bfaebf;font-size:.75rem;margin-top:.18rem}
.poster-card::after{content:"";position:absolute;inset:8px;pointer-events:none;border:1px solid rgba(255,255,255,.08)}

.story-layers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(229,184,91,.25);border:1px solid rgba(229,184,91,.35)}
.story-layer{position:relative;min-height:520px;overflow:hidden;background:#111}
.story-layer img{width:100%;height:100%;object-fit:cover}
.story-layer::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(5,3,7,.9) 100%)}
.story-layer div{position:absolute;z-index:2;left:1.2rem;right:1.2rem;bottom:1.15rem}
.story-layer small{color:#e7bd65;letter-spacing:.14em;text-transform:uppercase}.story-layer h3{color:#fff;margin:.3rem 0}.story-layer p{color:#e2d6df;margin:0}

.character-feature{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.character-feature.reverse{grid-template-columns:minmax(0,1.22fr) minmax(280px,.78fr)}
.character-feature.reverse .character-poster{order:2}
.character-poster{margin:0;background:#0c050f;border:1px solid rgba(229,184,91,.58);padding:.55rem;box-shadow:0 28px 70px rgba(0,0,0,.38)}
.character-poster img{width:100%;aspect-ratio:2/3;object-fit:cover}
.character-copy .kicker{color:#efc766}.character-copy h2{color:#f7dda0}.character-copy p{color:#d8cbd8}
.character-copy .quote-line{font:italic 400 1.35rem/1.45 var(--serif);color:#fff1ce;border-block:1px solid rgba(229,184,91,.35);padding:1rem 0;margin:1.25rem 0}

.film-video-band{background:linear-gradient(90deg,#13081a,#26102f 55%,#13081a);color:#fff;border-block:1px solid rgba(229,184,91,.5)}
.film-video-band h2{color:#f7dda0}.film-video-band p{color:#d9ccd9}
.film-development-note{padding:1rem 1.2rem;border:1px solid rgba(229,184,91,.38);background:rgba(255,255,255,.04);color:#ddcfda}
.film-development-note strong{color:#f3ce79}

.film-cta{background:radial-gradient(circle at 80% 20%,rgba(118,48,146,.24),transparent 24rem),#120817;color:#fff;text-align:center}
.film-cta h2{color:#ffe1a0}.film-cta p{color:#ded0df;max-width:65ch;margin:.7rem auto 1.2rem}

@media(max-width:1100px){
 .film-hero-copy{padding-right:38%}.poster-gallery{grid-template-columns:repeat(3,1fr)}.story-layers{grid-template-columns:1fr 1fr}.story-layer:last-child{grid-column:1/-1}.film-facts{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
 .film-hero{height:64svh;min-height:500px;max-height:66svh}.film-hero-media img{object-position:62% center}.film-hero::before{background:linear-gradient(180deg,rgba(11,4,15,.28),rgba(11,4,15,.84) 55%,#110716 100%)}.film-hero-copy{width:calc(100% - 1.5rem);padding:1.4rem 0;justify-content:flex-end}.film-hero h1{font-size:clamp(2.45rem,12vw,4.3rem);max-width:10ch}.film-hero .lede{font-size:.98rem;max-width:34ch}.film-hero .hero-actions{margin-top:.8rem}.film-hero .button{min-height:44px;padding:.65rem .8rem;font-size:.68rem}.poster-gallery{grid-template-columns:repeat(2,1fr)}.story-layers{grid-template-columns:1fr}.story-layer:last-child{grid-column:auto}.story-layer{min-height:460px}.character-feature,.character-feature.reverse{grid-template-columns:1fr}.character-feature.reverse .character-poster{order:0}.character-poster{max-width:540px;margin:auto}.film-facts{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.poster-gallery{grid-template-columns:1fr}.film-facts{grid-template-columns:1fr}.film-hero .hero-actions{display:grid;grid-template-columns:1fr}.film-hero .button{width:100%}}


/* PPC-aligned destination pages */
body[data-ppc-landing="true"] .page-hero{height:clamp(390px,52vh,560px);max-height:62vh}
.ppc-trust-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--hairline);background:var(--page-wash,var(--parchment))}
.ppc-trust-strip span{padding:1rem 1.2rem;text-align:center;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;border-right:1px solid var(--hairline)}
.ppc-trust-strip span:last-child{border-right:0}
.ppc-offer{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.ppc-deliverables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline)}
.ppc-deliverables article{background:var(--ivory);padding:1.35rem}
.ppc-deliverables strong{display:block;font-family:var(--serif);font-size:1.35rem;color:var(--heading);margin-bottom:.35rem}
.ppc-conversion-band{background:var(--accent-dark);color:#fff;padding:clamp(2.4rem,5vw,4.5rem) 0;border-block:1px solid var(--accent)}
.ppc-conversion-band .container{display:flex;justify-content:space-between;gap:2rem;align-items:center}.ppc-conversion-band h2{color:#fff;max-width:17ch}.ppc-conversion-band p{max-width:60ch;color:rgba(255,255,255,.82)}
.ppc-conversion-band .button{background:var(--accent);border-color:var(--accent);color:#111;flex:none}
.ppc-route-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--hairline);border:1px solid var(--hairline)}
.ppc-route-list a{background:var(--ivory);padding:1.25rem;text-decoration:none;font-weight:750;min-height:100px}.ppc-route-list a:hover{background:var(--page-wash)}
@media(max-width:900px){.ppc-offer{grid-template-columns:1fr}.ppc-trust-strip{grid-template-columns:repeat(2,1fr)}.ppc-trust-strip span:nth-child(2){border-right:0}.ppc-trust-strip span:nth-child(-n+2){border-bottom:1px solid var(--hairline)}.ppc-route-list{grid-template-columns:1fr 1fr}.ppc-conversion-band .container{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.ppc-deliverables,.ppc-route-list{grid-template-columns:1fr}.ppc-trust-strip{grid-template-columns:1fr}.ppc-trust-strip span{border-right:0;border-bottom:1px solid var(--hairline)}.ppc-trust-strip span:last-child{border-bottom:0}}


/* 2026-07-22 content, course-catalogue, footer and Studio refinements */
.footer-kicker{margin:0 0 .6rem;color:var(--footer-accent,#e6c378);font:800 .68rem var(--sans);letter-spacing:.16em;text-transform:uppercase}
.footer-brand{min-width:0}.footer-brand-mark{display:block;width:clamp(118px,10vw,158px)!important;height:auto!important;max-height:160px;object-fit:contain;object-position:left center;aspect-ratio:auto;margin:0 0 1rem;filter:drop-shadow(0 5px 16px rgba(0,0,0,.25))}.footer-brand-link{display:inline-flex!important;color:var(--footer-accent,#e6c378)!important;font-weight:800;margin-top:.35rem}.footer-bottom{align-items:center}.footer-legal{display:flex;align-items:center;justify-content:flex-end;gap:.62rem;white-space:nowrap;flex-wrap:wrap}.footer-legal a{display:inline-flex!important;padding:.2rem 0!important}.footer-legal span{color:var(--footer-muted,rgba(255,255,255,.7))}
.program-facts{border-block:1px solid var(--hairline);background:color-mix(in srgb,var(--page-wash) 68%,#fff 32%)}.program-facts-inner{width:min(var(--container),calc(100% - 3rem));margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}.program-facts-inner>div{padding:1.1rem 1.25rem;border-right:1px solid var(--hairline)}.program-facts-inner>div:last-child{border-right:0}.program-facts span{display:block;color:var(--accent-dark);font:800 .65rem var(--sans);text-transform:uppercase;letter-spacing:.13em;margin-bottom:.35rem}.program-facts strong{display:block;color:var(--page-ink);font-size:.88rem;line-height:1.45}
.workshop-lens-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--hairline);border-left:1px solid var(--hairline)}.workshop-lens-grid article{padding:1.5rem;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:rgba(255,255,255,.45)}.workshop-lens-grid h3{margin-bottom:.45rem}.deliverable-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hairline);border-left:1px solid var(--hairline)}.deliverable-grid article{padding:1.45rem;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.deliverable-grid span{display:block;color:var(--accent);font:800 .7rem var(--sans);letter-spacing:.12em;margin-bottom:.75rem}.agenda-list{list-style:none;padding:0;margin:0;border-top:1px solid rgba(255,255,255,.22)}.agenda-list li{display:grid;grid-template-columns:92px 1fr;gap:1.25rem;padding:1.25rem 0;border-bottom:1px solid rgba(255,255,255,.22)}.agenda-list>li>span{color:var(--accent);font:800 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase}.agenda-list h3{color:var(--dark-heading,#fff);margin-bottom:.25rem}.agenda-list p{color:var(--dark-text,rgba(255,255,255,.8));margin:0}.engagement-ladder{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--hairline);border-left:1px solid var(--hairline)}.engagement-ladder article{padding:1.3rem;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.engagement-ladder span{color:var(--accent);font:800 .7rem var(--sans);letter-spacing:.12em}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.faq-grid details{background:var(--section-bg,#fff);padding:1.2rem}.faq-grid summary{cursor:pointer;color:var(--heading);font:700 1rem var(--serif)}.faq-grid p{margin:.75rem 0 0}
.academy-pathway-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hairline);border-left:1px solid var(--hairline)}.academy-pathway{padding:1.45rem;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.academy-pathway>span{display:block;color:var(--accent);font:800 .7rem var(--sans);letter-spacing:.12em}.academy-pathway a{font-weight:800;text-decoration:none}.program-card{display:flex;flex-direction:column}.program-card>a{margin-top:auto}.course-code{font:800 .67rem var(--sans);letter-spacing:.13em;color:var(--accent-dark);margin:0 0 .3rem}.course-quick{margin:1rem 0;display:grid;gap:.55rem}.course-quick>div{border-top:1px solid var(--hairline);padding-top:.5rem}.course-quick dt{font:800 .62rem var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--accent-dark)}.course-quick dd{margin:.2rem 0 0;font-size:.83rem;line-height:1.45}.program-outline-panel{padding:1.5rem;border:1px solid var(--hairline);background:var(--page-wash)}
.studio-balanced-gallery figure{min-width:0}.film-poster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.film-poster-grid figure{margin:0;background:#14091d;border:1px solid rgba(231,185,85,.35)}.film-poster-grid img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}.film-poster-grid figcaption{padding:.7rem .85rem;color:#f4d994;text-align:center;font:700 .75rem var(--serif)}.film-layer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(231,185,85,.28);border:1px solid rgba(231,185,85,.28)}.film-layer-grid article{background:#21102c}.film-layer-grid figure{margin:0;aspect-ratio:4/5;overflow:hidden}.film-layer-grid img{width:100%;height:100%;object-fit:cover}.film-layer-grid article>div{padding:1.3rem}.dark-lair-panel{display:flex;align-items:flex-end;min-height:100%;background:radial-gradient(circle at 70% 20%,rgba(139,48,149,.32),transparent 34%),linear-gradient(145deg,#0c0610,#2b0b31 55%,#09060b)!important;position:relative;overflow:hidden}.dark-lair-panel::before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 60% 30%,transparent 0 26px,rgba(231,185,85,.06) 27px 28px);opacity:.45}.dark-lair-panel>div{position:relative;z-index:1;padding:2rem!important}.dark-lair-panel h3,.dark-lair-panel p,.dark-lair-panel a{color:#fff}.character-feature.reverse{grid-template-columns:1fr minmax(280px,.7fr)}
@media(max-width:980px){.program-facts-inner{grid-template-columns:repeat(2,1fr)}.program-facts-inner>div:nth-child(2){border-right:0}.program-facts-inner>div:nth-child(-n+2){border-bottom:1px solid var(--hairline)}.deliverable-grid,.academy-pathway-grid,.film-poster-grid,.film-layer-grid{grid-template-columns:repeat(2,1fr)}.engagement-ladder{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.footer-bottom{display:grid;grid-template-columns:1fr;gap:.65rem}.footer-legal{justify-content:flex-start;white-space:normal}.program-facts-inner,.workshop-lens-grid,.deliverable-grid,.academy-pathway-grid,.faq-grid,.film-poster-grid,.film-layer-grid,.engagement-ladder{grid-template-columns:1fr}.program-facts-inner>div{border-right:0;border-bottom:1px solid var(--hairline)}.program-facts-inner>div:last-child{border-bottom:0}.agenda-list li{grid-template-columns:64px 1fr}.character-feature.reverse{grid-template-columns:1fr}.film-poster-grid img{aspect-ratio:3/4}}

/* ===== themes.css ===== */

body{
 --accent:#b88731;--accent-dark:#073e31;--page-ink:#17242a;--heading:#073e31;
 --page-wash:#f3ecdf;--hero-bg:#fbf7ee;--hero-title:#073e31;--hero-copy:#29383d;
 --footer-bg:#06362c;--footer-heading:#fff;--footer-accent:#d7b66c;--ribbon-bg:#071a2a;
}
body[data-route^="/industries/government"],body[data-route^="/trust"],body[data-route^="/responsible-ai"]{
 --accent:#bd913d;--accent-dark:#073c30;--page-ink:#183029;--heading:#073c30;--page-wash:#edf1e9;--hero-bg:#f5f2e8;--hero-title:#073c30;--footer-bg:#052f26;--footer-accent:#d8b96f;--hero-position:center;
}
body[data-route^="/industries/healthcare"]{
 --accent:#3b9898;--accent-dark:#075a60;--page-ink:#173c40;--heading:#075a60;--page-wash:#e9f4f2;--hero-bg:#f5faf9;--hero-title:#075a60;--footer-bg:#064a50;--footer-accent:#b9d9d6;--hero-position:center 35%;
}
body[data-route^="/industries/higher-education"]{
 --accent:#aa7542;--accent-dark:#69273a;--page-ink:#3a2d34;--heading:#69273a;--page-wash:#f2e7e2;--hero-bg:#fbf4ed;--hero-title:#69273a;--footer-bg:#481b2a;--footer-accent:#d8b170;
}
body[data-route^="/industries/research"]{
 --accent:#769fd1;--accent-dark:#153c70;--page-ink:#1e3550;--heading:#153c70;--page-wash:#e9f0f7;--hero-bg:#f4f8fb;--hero-title:#153c70;--footer-bg:#0d2c55;--footer-accent:#bdd1ea;
}
body[data-route^="/industries/k12"],body[data-route^="/academy"]{
 --accent:#dc7558;--accent-dark:#236b8b;--page-ink:#294853;--heading:#236b8b;--page-wash:#edf7fa;--hero-bg:#fffaf0;--hero-title:#22698a;--footer-bg:#185873;--footer-accent:#ffd17b;--button-hover-text:#13232a;
}
body[data-route^="/industries/enterprise"],body[data-route^="/industries/financial"]{
 --accent:#c19145;--accent-dark:#0b2847;--page-ink:#182d42;--heading:#0b2847;--page-wash:#e9eef3;--hero-bg:#f5f2eb;--hero-title:#0b2847;--footer-bg:#071f38;--footer-accent:#d5b56c;
}
body[data-route^="/industries/manufacturing"],body[data-route^="/solutions/ai-infrastructure"],body[data-route^="/solutions/ai-factories"]{
 --accent:#b2763b;--accent-dark:#294d64;--page-ink:#273d49;--heading:#294d64;--page-wash:#e8eef0;--hero-bg:#f3f1ea;--hero-title:#294d64;--footer-bg:#203d50;--footer-accent:#d1a66a;
}
body[data-route^="/industries/energy"]{
 --accent:#be762c;--accent-dark:#65361d;--page-ink:#432c22;--heading:#65361d;--page-wash:#f3e7db;--hero-bg:#fbf4e8;--hero-title:#65361d;--footer-bg:#4b2919;--footer-accent:#e1ab61;
}
body[data-route^="/studio"]{
 --accent:#d2a64b;--accent-dark:#2b1239;--page-ink:#f7ecdf;--heading:#f2d38c;--page-wash:#21102c;--hero-bg:#14091d;--hero-title:#f3d690;--hero-copy:#f7eee4;--hairline:rgba(221,184,105,.28);--header-bg:#150b1d;--header-ink:#f6ead9;--context-bg:#1a0d24;--footer-bg:#120819;--footer-accent:#d5ab57;--footer-heading:#f5d890;--dark-text:#f7ecdf;--dark-heading:#f5d890;--ribbon-bg:#08040c;--ribbon-text:#ddbd79;--button-hover-text:#150b1d;
}
body[data-route^="/studio"]{background:#160a1f;color:#f5ece1}body[data-route^="/studio"]::before{opacity:.5;background-image:radial-gradient(circle at 72% 10%,rgba(103,48,133,.22),transparent 28rem),repeating-linear-gradient(90deg,transparent 0 9.9%,rgba(211,166,75,.025) 10% 10.05%)}
body[data-route^="/studio"] .block,body[data-route^="/studio"] .section,body[data-route^="/studio"] .media-story,body[data-route^="/studio"] .visual-archive{--section-bg:#160a1f;color:#f5ece1}body[data-route^="/studio"] .block--wash,body[data-route^="/studio"] .section.tinted{--section-bg:#21102c}body[data-route^="/studio"] .card,body[data-route^="/studio"] .course-card,body[data-route^="/studio"] .pathway-step{background:#21102c;color:#f5ece1}body[data-route^="/studio"] .card p,body[data-route^="/studio"] .course-card p,body[data-route^="/studio"] .block-head p{color:#d9cadb}body[data-route^="/studio"] .site-nav a,body[data-route^="/studio"] .explore-toggle,body[data-route^="/studio"] .site-brand strong{color:#f6ead9}body[data-route^="/studio"] .button.secondary{color:#f5d890}body[data-route^="/studio"] .explore-panel{color:#17242a}
body[data-route^="/studio/who-let-the-kids"]{
 --accent:#e7b955;--accent-dark:#4a174b;--page-ink:#fff2e7;--heading:#ffd98a;--page-wash:#2b1036;--hero-bg:#18091f;--hero-title:#ffd98a;--footer-bg:#260b2b;--footer-accent:#f2c15d;--footer-heading:#ffe7ad;
}
body[data-route^="/marbles"]{
 --accent:#d3ab59;--accent-dark:#071b31;--page-ink:#eaf3ff;--heading:#d5e8ff;--page-wash:#0a2039;--hero-bg:#061426;--hero-title:#d4e7ff;--hero-copy:#dce8f5;--hairline:rgba(197,225,255,.2);--header-bg:#061426;--header-ink:#eaf3ff;--context-bg:#081a2e;--footer-bg:#04111f;--footer-accent:#d3ab59;--footer-heading:#d5e8ff;--ribbon-bg:#020a12;--button-hover-text:#071b31;
}
body[data-route^="/marbles"]{background:#07182c;color:#eaf3ff}body[data-route^="/marbles"] .block,body[data-route^="/marbles"] .section{--section-bg:#07182c;color:#eaf3ff}body[data-route^="/marbles"] .block--wash{--section-bg:#0a2039}body[data-route^="/marbles"] .card{background:#0c2542;color:#eaf3ff}body[data-route^="/marbles"] .card p{color:#c5d2df}body[data-route^="/marbles"] .explore-panel{color:#17242a}
body[data-route^="/solutions/microsoft-copilot"]{--accent:#2c8eb4;--accent-dark:#155974;--page-wash:#e8f2f6;--hero-title:#155974;--footer-bg:#104a62;--footer-accent:#b6dae7}
body[data-route^="/solutions/custom-ai-agents"]{--accent:#bd8c49;--accent-dark:#4a2a55;--page-wash:#efe8f2;--hero-title:#4a2a55;--footer-bg:#382040;--footer-accent:#d1aa62}
body[data-route^="/solutions/ai-governance"]{--accent:#b58a37;--accent-dark:#124d3e;--page-wash:#edf2ec;--hero-title:#124d3e;--footer-bg:#0c3b31;--footer-accent:#d5b469}
body[data-route^="/solutions/adoption"]{--accent:#cf7357;--accent-dark:#743044;--page-wash:#f5e8e5;--hero-title:#743044;--footer-bg:#572335;--footer-accent:#e1a38e}
body[data-route^="/solutions/cinematic"]{--accent:#c79b42;--accent-dark:#3a1748;--page-wash:#eee7f1;--hero-title:#3a1748;--footer-bg:#291032;--footer-accent:#d7ad57}
body[data-route^="/insights"]{--accent:#af8030;--accent-dark:#273d50;--page-wash:#edf0f1;--hero-title:#273d50;--footer-bg:#1b3142;--footer-accent:#d4b56d}
body[data-route^="/company"]{--accent:#b98c3d;--accent-dark:#073e31;--page-wash:#f1ece2;--hero-title:#073e31;--footer-bg:#06362c;--footer-accent:#d7b66c}

body[data-route^="/studio"]{--context-label:#f6d37d;--context-link:#fff7ec}
body[data-route^="/marbles"]{--context-label:#e4c36f;--context-link:#edf6ff}

body[data-route^="/industries/universities"]{--accent:#aa7542;--accent-dark:#69273a;--page-ink:#3a2d34;--heading:#69273a;--page-wash:#f2e7e2;--hero-bg:#fbf4ed;--hero-title:#69273a;--footer-bg:#481b2a;--footer-accent:#d8b170}
body[data-route^="/industries/government-public-sector"],body[data-route^="/government-solution-workshop"]{--accent:#bd913d;--accent-dark:#073c30;--page-ink:#183029;--heading:#073c30;--page-wash:#edf1e9;--hero-bg:#f5f2e8;--hero-title:#073c30;--footer-bg:#052f26;--footer-accent:#d8b96f}
body[data-route^="/products/custom-copilots"]{--accent:#2c8eb4;--accent-dark:#155974;--page-wash:#e8f2f6;--hero-title:#155974;--footer-bg:#104a62;--footer-accent:#b6dae7}
body[data-route^="/products/marbles-os"]{--accent:#d3ab59;--accent-dark:#071b31;--page-ink:#eaf3ff;--heading:#d5e8ff;--page-wash:#0a2039;--hero-bg:#061426;--hero-title:#d4e7ff;--hero-copy:#dce8f5;--footer-bg:#04111f;--footer-accent:#d3ab59;--footer-heading:#d5e8ff}
body[data-route^="/products/immersive-studio"],body[data-route^="/resources/videos/studio-reel"]{--accent:#d2a64b;--accent-dark:#2b1239;--page-ink:#f7ecdf;--heading:#f2d38c;--page-wash:#21102c;--hero-bg:#14091d;--hero-title:#f3d690;--hero-copy:#f7eee4;--footer-bg:#120819;--footer-accent:#d5ab57;--footer-heading:#f5d890;--button-hover-text:#150b1d}
body[data-route^="/executive-briefing"]{--accent:#dc7558;--accent-dark:#236b8b;--page-ink:#294853;--heading:#236b8b;--page-wash:#edf7fa;--hero-bg:#fffaf0;--hero-title:#22698a;--footer-bg:#185873;--footer-accent:#ffd17b}

body[data-route^="/products/marbles-os"]{background:#07182c;color:#eaf3ff}
body[data-route^="/products/marbles-os"] .block,body[data-route^="/products/marbles-os"] .section{--section-bg:#07182c;color:#eaf3ff}
body[data-route^="/products/marbles-os"] .section.tinted,body[data-route^="/products/marbles-os"] .block--wash{--section-bg:#0a2039}
body[data-route^="/products/marbles-os"] .card,body[data-route^="/products/marbles-os"] .ppc-deliverables article{background:#0c2542;color:#eaf3ff}
body[data-route^="/products/marbles-os"] .card p,body[data-route^="/products/marbles-os"] .ppc-deliverables p,body[data-route^="/products/marbles-os"] .section-header p{color:#c5d2df}
body[data-route^="/products/marbles-os"] .explore-panel{color:#17242a}
body[data-route^="/products/immersive-studio"],body[data-route^="/resources/videos/studio-reel"]{background:#160a1f;color:#f5ece1}
body[data-route^="/products/immersive-studio"] .block,body[data-route^="/products/immersive-studio"] .section,body[data-route^="/resources/videos/studio-reel"] .block,body[data-route^="/resources/videos/studio-reel"] .section{--section-bg:#160a1f;color:#f5ece1}
body[data-route^="/products/immersive-studio"] .section.tinted,body[data-route^="/resources/videos/studio-reel"] .section.tinted{--section-bg:#21102c}
body[data-route^="/products/immersive-studio"] .card,body[data-route^="/resources/videos/studio-reel"] .card{background:#21102c;color:#f5ece1}
body[data-route^="/products/immersive-studio"] .card p,body[data-route^="/resources/videos/studio-reel"] .card p,body[data-route^="/products/immersive-studio"] .section-header p,body[data-route^="/resources/videos/studio-reel"] .section-header p{color:#d9cadb}
body[data-route^="/products/immersive-studio"] .button.secondary,body[data-route^="/resources/videos/studio-reel"] .button.secondary{color:#f5d890}
body[data-route^="/products/immersive-studio"] .explore-panel,body[data-route^="/resources/videos/studio-reel"] .explore-panel{color:#17242a}

/* ===== responsive.css ===== */

@media(max-width:1180px){.site-header-main{grid-template-columns:1fr auto}.site-nav,.site-header-main>.site-cta{display:none}.menu-toggle{display:inline-flex}.explore-panel{top:119px}.entry-grid{grid-template-columns:repeat(2,1fr)}.sector-grid,.course-grid{grid-template-columns:repeat(2,1fr)}.offer-grid{grid-template-columns:1fr}.process-steps{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1.4fr repeat(2,1fr)}.footer-trust-inner{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){:root{--section-pad:clamp(2.45rem,8vw,3.65rem)}.container,.visual-archive-inner,.media-story-grid,.front-door-inner{width:min(var(--container),calc(100% - 1.5rem))}.top-ribbon{display:none}.site-header-main{height:74px}.site-brand img{width:48px;height:48px}.site-brand strong{font-size:1.08rem}.explore-panel{top:74px}.explore-columns{grid-template-columns:1fr}.page-hero,.home-hero{height:min(66svh,680px);max-height:66svh;min-height:500px;grid-template-columns:1fr;grid-template-rows:minmax(0,56%) minmax(0,44%)}.page-hero::before{display:none}.page-hero-copy{padding:1.45rem 1.2rem;min-height:0;overflow:hidden}.page-hero-copy::after{right:1.2rem;top:1.2rem;width:58px;height:58px}.page-hero h1{font-size:clamp(2rem,8.5vw,3.45rem);line-height:.95}.page-hero .lede{font-size:.94rem;line-height:1.45;margin-top:.65rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.page-hero .hero-actions{margin-top:.7rem}.page-hero .button{min-height:43px;padding:.62rem .76rem;font-size:.67rem}.page-hero-media{height:auto;min-height:0;max-height:none}.stage-ribbon{grid-template-columns:repeat(4,1fr)}.stage-ribbon a:nth-child(n+5){border-top:1px solid var(--hairline)}.block-head,.section-header,.visual-archive-head{grid-template-columns:1fr;align-items:start}.block-head::after,.section-header::after{width:100%}.split,.editorial-split,.trust-section,.media-story-grid,.front-door-inner{grid-template-columns:1fr}.split.reverse>:first-child{order:0}.grid-3,.grid-4,.grid.three,.grid.four{grid-template-columns:repeat(2,1fr)}.capability-list{grid-template-columns:1fr}.capability:nth-child(odd),.capability:nth-child(even){border-right:0}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:245px}.gallery figure:nth-child(n){grid-column:span 1;grid-row:span 1}.editorial-gallery,.visual-archive-grid,.pathway,.related{grid-template-columns:1fr}.footer-cta{align-items:flex-start;flex-direction:column}.footer-main{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}.footer-trust-inner{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.front-door-options{grid-template-columns:1fr}}
@media(max-width:580px){body{font-size:16px}.site-brand small{font-size:.52rem}.entry-grid,.sector-grid,.course-grid,.grid-2,.grid-3,.grid-4,.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.stage-ribbon{grid-template-columns:repeat(2,1fr)}.stage-ribbon a:nth-child(n+3){border-top:1px solid var(--hairline)}.page-hero-media{height:34vh}.page-hero h1{font-size:clamp(2.55rem,13vw,4.1rem)}.hero-actions,.actions{flex-direction:column;align-items:stretch}.button{width:100%}.process-steps{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;grid-auto-rows:270px}.footer-main{grid-template-columns:1fr}.footer-trust-inner{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.explore-head{align-items:flex-start;flex-direction:column}.video-stage{min-height:320px}}
@media(min-width:1800px){:root{--container:1640px}.page-hero{height:570px;max-height:60vh}.site-header-main{height:94px}.top-ribbon{height:33px}.explore-panel{top:127px}}
@media(min-width:2400px){:root{--container:1780px}.page-hero{height:620px}.site-header-main{height:98px}.site-brand img{width:68px;height:68px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(forced-colors:active){.button,.site-cta,.panel-cta,.menu-toggle{border:1px solid ButtonText}.media-frame::after,.hero-art::after,.sector-card::after,.video-stage::after{display:none}}

@media(max-width:580px){.footer-bottom{flex-direction:row}.footer-legal{display:flex;flex-direction:row;align-items:center;gap:.5rem}.footer-brand-mark{width:132px!important;height:auto!important}}

/* ===== seo-ppc.css ===== */

/* SEO + PPC experience layer — 2026 */
.seo-breadcrumbs{max-width:1280px;margin:0 auto;padding:.75rem clamp(1.1rem,4vw,4.5rem);font-size:.82rem;letter-spacing:.03em;color:color-mix(in srgb,var(--page-ink) 74%,transparent)}
.seo-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.42rem;list-style:none;margin:0;padding:0}.seo-breadcrumbs li+li:before{content:"/";margin-right:.42rem;color:var(--accent)}
.seo-breadcrumbs a{color:inherit;text-decoration:none}.seo-breadcrumbs a:hover{text-decoration:underline}
.ppc-hero{min-height:min(62vh,640px)}.ppc-hero .page-hero-media img{object-position:var(--hero-position,center);aspect-ratio:16/10}
.ppc-intent-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:color-mix(in srgb,var(--hero-bg) 92%,white)}
.ppc-intent-strip span{padding:1rem;text-align:center;font-size:.79rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--accent-dark)}
.ppc-outcome-grid,.ppc-proof-grid,.seo-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}
.ppc-outcome-grid article,.ppc-proof-grid article,.seo-guide-grid article{background:var(--section-bg,#fff);padding:clamp(1.35rem,3vw,2.4rem)}
.ppc-outcome-grid strong,.ppc-proof-grid strong{display:block;font-family:var(--display);font-size:1.35rem;color:var(--heading);margin-bottom:.55rem}
.ppc-process{counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--hairline)}
.ppc-process article{padding:1.5rem;border-right:1px solid var(--hairline)}.ppc-process article:last-child{border-right:0}
.ppc-process article:before{counter-increment:steps;content:"0" counter(steps);display:block;color:var(--accent);font-weight:800;letter-spacing:.12em;margin-bottom:.75rem}
.ppc-faq{max-width:960px}.ppc-faq details{border-top:1px solid var(--hairline);padding:1.15rem 0}.ppc-faq details:last-child{border-bottom:1px solid var(--hairline)}
.ppc-faq summary{font-family:var(--display);font-size:1.18rem;color:var(--heading);cursor:pointer}.ppc-faq p{max-width:760px}
.ppc-lead-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);gap:clamp(2rem,6vw,5.5rem);align-items:start}
.ppc-lead-form{background:color-mix(in srgb,var(--hero-bg) 94%,white);border:1px solid var(--hairline);padding:clamp(1.25rem,3vw,2.25rem);box-shadow:0 24px 60px rgba(15,25,35,.08)}
.ppc-lead-form .field{margin-bottom:1rem}.ppc-lead-form label{display:block;font-weight:700;margin-bottom:.4rem}.ppc-lead-form input,.ppc-lead-form select,.ppc-lead-form textarea{width:100%;border:1px solid color-mix(in srgb,var(--page-ink) 28%,transparent);background:#fff;color:#17242a;padding:.85rem .9rem;border-radius:0;font:inherit}
.ppc-lead-form textarea{min-height:130px;resize:vertical}.ppc-lead-form input:focus,.ppc-lead-form select:focus,.ppc-lead-form textarea:focus{outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:2px}
.ppc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.ppc-form-note{font-size:.86rem;line-height:1.55;color:color-mix(in srgb,var(--page-ink) 76%,transparent)}
.ppc-sticky-action{position:fixed;z-index:60;right:1rem;bottom:1rem;display:none}
.article-shell{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:clamp(2rem,6vw,5rem);align-items:start}.article-body{max-width:790px}
.article-body h2{margin-top:2.6rem}.article-body h3{margin-top:1.8rem}.article-body p,.article-body li{font-size:1.05rem;line-height:1.78}
.article-toc{position:sticky;top:8rem;border-left:2px solid var(--accent);padding-left:1.25rem}.article-toc a{display:block;margin:.65rem 0;color:var(--page-ink)}
.seo-related{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.seo-related a{display:block;border:1px solid var(--hairline);padding:1.25rem;text-decoration:none;color:inherit}.seo-related strong{display:block;color:var(--heading);font-family:var(--display);font-size:1.18rem;margin-bottom:.35rem}
.search-demand-links{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.search-demand-links a{background:var(--section-bg,#fff);padding:1.4rem;text-decoration:none;color:inherit}.search-demand-links strong{display:block;color:var(--heading);font-family:var(--display);font-size:1.15rem;margin-bottom:.4rem}
body[data-route^="/university-ai"],body[data-route^="/research-data"]{--accent:#aa7542;--accent-dark:#69273a;--page-ink:#3a2d34;--heading:#69273a;--page-wash:#f2e7e2;--hero-bg:#fbf4ed;--hero-title:#69273a;--footer-bg:#481b2a;--footer-accent:#d8b170}
body[data-route^="/copilot-readiness"]{--accent:#2c8eb4;--accent-dark:#155974;--page-wash:#e8f2f6;--hero-title:#155974;--footer-bg:#104a62;--footer-accent:#b6dae7}
body[data-route^="/sovereign-ai"]{--accent:#b2763b;--accent-dark:#294d64;--page-wash:#e8eef0;--hero-title:#294d64;--footer-bg:#203d50;--footer-accent:#d1a66a}
body[data-route^="/government-ai"]{--accent:#bd913d;--accent-dark:#073c30;--page-ink:#183029;--heading:#073c30;--page-wash:#edf1e9;--hero-bg:#f5f2e8;--hero-title:#073c30;--footer-bg:#052f26;--footer-accent:#d8b96f}
body[data-route^="/responsible-ai-training"],body[data-route^="/workforce-ai"],body[data-route^="/agentic-ai"],body[data-route^="/university-ai-training"]{--accent:#dc7558;--accent-dark:#236b8b;--page-ink:#294853;--heading:#236b8b;--page-wash:#edf7fa;--hero-bg:#fffaf0;--hero-title:#22698a;--footer-bg:#185873;--footer-accent:#ffd17b}
body[data-route^="/marbles-briefing"]{--accent:#d3ab59;--accent-dark:#071b31;--page-ink:#eaf3ff;--heading:#d5e8ff;--page-wash:#0a2039;--hero-bg:#061426;--hero-title:#d4e7ff;--hero-copy:#dce8f5;--footer-bg:#04111f;--footer-accent:#d3ab59;--footer-heading:#d5e8ff}
body[data-route^="/studio-blueprint"],body[data-route^="/ai-training-media"],body[data-route^="/custom-ai-avatars"]{--accent:#d2a64b;--accent-dark:#2b1239;--page-ink:#f7ecdf;--heading:#f2d38c;--page-wash:#21102c;--hero-bg:#14091d;--hero-title:#f3d690;--hero-copy:#f7eee4;--footer-bg:#120819;--footer-accent:#d5ab57;--footer-heading:#f5d890}
body[data-route^="/marbles-briefing"],body[data-route^="/studio-blueprint"],body[data-route^="/ai-training-media"],body[data-route^="/custom-ai-avatars"]{background:var(--hero-bg);color:var(--page-ink)}
body[data-route^="/marbles-briefing"] .section,body[data-route^="/studio-blueprint"] .section,body[data-route^="/ai-training-media"] .section,body[data-route^="/custom-ai-avatars"] .section{--section-bg:var(--hero-bg)}
@media(max-width:980px){.ppc-intent-strip{grid-template-columns:repeat(2,1fr)}.ppc-outcome-grid,.ppc-proof-grid,.seo-guide-grid,.search-demand-links{grid-template-columns:repeat(2,1fr)}.ppc-process{grid-template-columns:repeat(2,1fr)}.ppc-process article:nth-child(2){border-right:0}.ppc-lead-panel,.article-shell{grid-template-columns:1fr}.article-toc{position:static}.seo-related{grid-template-columns:1fr}}
@media(max-width:680px){.ppc-hero{min-height:auto}.ppc-intent-strip,.ppc-outcome-grid,.ppc-proof-grid,.seo-guide-grid,.search-demand-links,.ppc-process,.ppc-form-row{grid-template-columns:1fr}.ppc-process article{border-right:0;border-bottom:1px solid var(--hairline)}.ppc-process article:last-child{border-bottom:0}.ppc-sticky-action{display:block}.ppc-sticky-action .button{box-shadow:0 10px 30px rgba(0,0,0,.25)}}

/* ===== bilingual-seo.css ===== */

/* Bilingual navigation and 2026 keyword-alignment refinements */
.language-switch-mobile{display:none;align-items:center;justify-content:center;min-width:42px;height:42px;border:1px solid var(--hairline);color:var(--header-ink,var(--page-ink));text-decoration:none;font-weight:800;letter-spacing:.08em}
.explore-language{display:flex;justify-content:flex-end;margin-bottom:.35rem}.explore-language-link{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--accent-dark);text-decoration:none}
.top-ribbon a[lang]{font-weight:900;color:#fff3cf}
.film-poster-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start}
.film-poster-grid figure{display:flex;flex-direction:column;height:100%}
.film-poster-grid picture,.film-poster-grid img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;background:#0d0710}
.film-poster-grid figcaption{margin-top:auto}
@media(max-width:980px){.film-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){.film-poster-grid{grid-template-columns:1fr!important}}
@media(max-width:860px){.language-switch-mobile{display:inline-flex}.site-cta{display:none}}
body[data-route^="/fr/gouvernement"],body[data-route^="/fr/atelier-gouvernance"],body[data-route^="/fr/copilot-ia-souveraine"],body[data-route^="/fr/centre-de-confiance"],body[data-route^="/fr/preparation-approvisionnement"]{--accent:#bd913d;--accent-dark:#073c30;--page-ink:#183029;--heading:#073c30;--page-wash:#edf1e9;--hero-bg:#f5f2e8;--hero-title:#073c30;--footer-bg:#052f26;--footer-accent:#d8b96f}
body[data-route^="/fr/universites"],body[data-route^="/fr/gouvernance-ia-universitaire"]{--accent:#aa7542;--accent-dark:#69273a;--page-ink:#3a2d34;--heading:#69273a;--page-wash:#f2e7e2;--hero-bg:#fbf4ed;--hero-title:#69273a;--footer-bg:#481b2a;--footer-accent:#d8b170}
body[data-route^="/fr/academie"],body[data-route^="/fr/formation-copilot-universites"]{--accent:#dc7558;--accent-dark:#236b8b;--page-ink:#294853;--heading:#236b8b;--page-wash:#edf7fa;--hero-bg:#fffaf0;--hero-title:#22698a;--footer-bg:#185873;--footer-accent:#ffd17b}
body[data-route^="/fr/copilot"]{--accent:#2c8eb4;--accent-dark:#155974;--page-wash:#e8f2f6;--hero-title:#155974;--footer-bg:#104a62;--footer-accent:#b6dae7}
body[data-route^="/fr/ia-souveraine"]{--accent:#b2763b;--accent-dark:#294d64;--page-ink:#273d49;--heading:#294d64;--page-wash:#e8eef0;--hero-bg:#f3f1ea;--hero-title:#294d64;--footer-bg:#203d50;--footer-accent:#d1a66a}
body[data-route^="/fr/ressources"]{--accent:#af8030;--accent-dark:#273d50;--page-wash:#edf0f1;--hero-title:#273d50;--footer-bg:#1b3142;--footer-accent:#d4b56d}
body[data-route^="/fr/studio"]{--accent:#d2a64b;--accent-dark:#2b1239;--page-ink:#f7ecdf;--heading:#f2d38c;--page-wash:#21102c;--hero-bg:#14091d;--hero-title:#f3d690;--hero-copy:#f7eee4;--hairline:rgba(221,184,105,.28);--header-bg:#150b1d;--header-ink:#f6ead9;--context-bg:#1a0d24;--footer-bg:#120819;--footer-accent:#d5ab57;--footer-heading:#f5d890;--dark-text:#f7ecdf;--dark-heading:#f5d890;--ribbon-bg:#08040c;--ribbon-text:#ddbd79;--button-hover-text:#150b1d;background:#160a1f;color:#f5ece1}
body[data-route^="/fr/studio"] .block,body[data-route^="/fr/studio"] .section{--section-bg:#160a1f;color:#f5ece1}body[data-route^="/fr/studio"] .block--wash{--section-bg:#21102c}body[data-route^="/fr/studio"] .card{background:#21102c;color:#f5ece1}body[data-route^="/fr/studio"] .card p,body[data-route^="/fr/studio"] .block-head p{color:#d9cadb}body[data-route^="/fr/studio"] .site-nav a,body[data-route^="/fr/studio"] .explore-toggle,body[data-route^="/fr/studio"] .site-brand strong{color:#f6ead9}body[data-route^="/fr/studio"] .explore-panel{color:#17242a}
body[data-route^="/fr/marbles"]{--accent:#d3ab59;--accent-dark:#071b31;--page-ink:#eaf3ff;--heading:#d5e8ff;--page-wash:#0a2039;--hero-bg:#061426;--hero-title:#d4e7ff;--hero-copy:#dce8f5;--hairline:rgba(197,225,255,.2);--header-bg:#061426;--header-ink:#eaf3ff;--footer-bg:#04111f;--footer-accent:#d3ab59;--footer-heading:#d5e8ff;background:#07182c;color:#eaf3ff}
body[data-route^="/fr/marbles"] .block{--section-bg:#07182c;color:#eaf3ff}body[data-route^="/fr/marbles"] .block--wash{--section-bg:#0a2039}body[data-route^="/fr/marbles"] .card{background:#0c2542;color:#eaf3ff}body[data-route^="/fr/marbles"] .card p{color:#c5d2df}body[data-route^="/fr/marbles"] .explore-panel{color:#17242a}

/* ===== quality-fixes.css ===== */
/* Atkinson Film-Arts cross-browser layout corrections — 2026-07-22 revision 2 */

/* Security honeypot: retained for spam detection, never visible or interactive. */
.hp,
form .hp,
[aria-hidden="true"].hp{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
}

/*
  Editorial heroes must grow with their copy. The earlier fixed-height/overflow-hidden
  combination could crop the call-to-action row and allow the following section to
  appear over the buttons. These rules preserve the compact visual target while
  allowing content to establish the true section height.
*/
.page-hero:not(.film-hero){
  height:auto!important;
  min-height:clamp(500px,61svh,660px)!important;
  max-height:none!important;
  overflow:visible!important;
  align-items:stretch;
}
.page-hero.hero-long:not(.film-hero){
  min-height:clamp(540px,64svh,690px)!important;
}
.page-hero.hero-xlong:not(.film-hero){
  min-height:clamp(570px,65svh,720px)!important;
}
.page-hero-copy{
  min-width:0;
  min-height:0;
  overflow:visible!important;
  padding-top:clamp(1.45rem,2.8vw,3.2rem);
  padding-bottom:clamp(1.45rem,2.8vw,3.2rem);
}
.page-hero h1{
  font-size:clamp(2.45rem,4vw,5.15rem);
  line-height:.95;
  max-width:13.25ch;
}
.page-hero.hero-long h1{
  font-size:clamp(2.2rem,3.35vw,4.45rem);
  max-width:15ch;
}
.page-hero.hero-xlong h1{
  font-size:clamp(2rem,2.9vw,3.85rem);
  line-height:.98;
  max-width:17ch;
}
.page-hero .lede{
  margin-top:.78rem;
  font-size:clamp(.95rem,1vw,1.12rem);
  line-height:1.46;
}
.page-hero .hero-actions{
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.62rem;
  width:100%;
  margin-top:1rem;
}
.page-hero .hero-actions .button{
  width:100%;
  min-width:0;
  min-height:46px;
  padding:.68rem .82rem;
  font-size:.67rem;
  line-height:1.22;
  white-space:normal;
  text-align:center;
  overflow-wrap:anywhere;
}
.page-hero .hero-actions .button:only-child{
  grid-column:1/-1;
  justify-self:start;
  width:auto;
}
.page-hero-media{
  min-width:0;
  min-height:100%;
}
.page-hero-media picture,
.page-hero-media img{
  display:block;
  width:100%;
  height:100%;
}

/* Paid landing pages use the same safe, content-sized hero model. */
body[data-ppc-landing="true"] .page-hero:not(.film-hero),
.ppc-hero{
  height:auto!important;
  min-height:clamp(520px,62svh,680px)!important;
  max-height:none!important;
}
.ppc-hero h1{
  font-size:clamp(1.95rem,2.75vw,3.7rem);
  line-height:.98;
  max-width:17ch;
}
.ppc-hero .lede{font-size:clamp(.9rem,.92vw,1.03rem);line-height:1.4}

/* Forms retain readable fields and consent copy at every width. */
.form-card{min-width:0}
.form-grid>*{min-width:0}
.field input,.field select,.field textarea{min-width:0}
.consent-wrap{margin-top:1rem}
.consent-row span{min-width:0;overflow-wrap:anywhere}
.form-optional summary{line-height:1.35}

/* Footer artwork and legal navigation retain their intended proportions. */
.footer-brand-mark{
  width:clamp(118px,10vw,158px)!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}
.footer-bottom{align-items:center;flex-wrap:wrap}
.footer-legal{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end;
  gap:.58rem;
  flex-wrap:wrap;
  white-space:normal;
}
.footer-legal a,.footer-legal span{display:inline-flex!important;flex:0 0 auto}

.button,.site-cta,.panel-cta{max-width:100%}
.actions{position:relative;z-index:5}

/* Feature-film hero remains cinematic and bounded; its custom layout is separate. */
@media (min-width:761px){
  .film-hero{height:64svh;min-height:520px;max-height:700px}
  .film-hero-copy{min-height:0;overflow:visible;padding-right:50%}
  .film-hero h1{font-size:clamp(3rem,4.65vw,5.25rem);line-height:.94}
  .film-hero .lede{font-size:clamp(.96rem,1vw,1.1rem);line-height:1.42;margin-top:.72rem}
  .film-hero .hero-actions{flex-wrap:wrap;margin-top:.75rem;gap:.55rem}
  .film-hero .button{min-height:46px;padding:.65rem .78rem;font-size:.66rem}
  .film-status{margin-top:.7rem;font-size:.7rem}
}

/* Tablets and phones: content first, image second, no line clamping or cropping. */
@media (max-width:860px){
  .page-hero:not(.film-hero),
  .home-hero:not(.film-hero),
  body[data-ppc-landing="true"] .page-hero:not(.film-hero),
  .ppc-hero{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto clamp(230px,34svh,360px)!important;
    overflow:visible!important;
  }
  .page-hero-copy{
    padding:1.35rem 1.15rem 1.45rem;
    overflow:visible!important;
  }
  .page-hero h1{font-size:clamp(2rem,8.2vw,3.25rem);max-width:15ch}
  .page-hero.hero-long h1{font-size:clamp(1.9rem,7.3vw,2.9rem);max-width:17ch}
  .page-hero.hero-xlong h1{font-size:clamp(1.72rem,6.45vw,2.55rem);max-width:19ch;line-height:1}
  .page-hero .lede{
    display:block!important;
    overflow:visible!important;
    -webkit-line-clamp:unset!important;
    margin-top:.55rem;
    font-size:.9rem;
    line-height:1.4;
  }
  .page-hero .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:.48rem;
    margin-top:.72rem;
  }
  .page-hero .hero-actions .button{width:100%;min-height:42px;padding:.58rem .7rem;font-size:.65rem}
  .page-hero-media{height:auto!important;min-height:0!important}

  .site-header-main{grid-template-columns:minmax(0,1fr) auto auto!important;gap:.5rem!important}
  .language-switch-mobile,.menu-toggle{align-self:center;justify-self:end;min-width:42px;height:42px;margin:0}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;padding:.5rem .62rem}
  .site-brand{min-width:0}.site-brand span{min-width:0}
  .site-brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .context-strip-inner{scrollbar-width:none;-ms-overflow-style:none}
  .context-strip-inner::-webkit-scrollbar{display:none}
  .footer-legal{justify-content:flex-start}
}

@media (max-width:580px){
  .footer-bottom{display:grid;grid-template-columns:1fr;gap:.55rem}
  .footer-legal{font-size:.68rem;gap:.45rem}
}
@media (max-width:420px){
  .site-header-main{width:calc(100% - 1rem)}
  .site-brand{gap:.48rem}.site-brand img{width:44px;height:44px}.site-brand strong{font-size:.98rem}
  .language-switch-mobile,.menu-toggle{min-width:38px;height:38px}
}
@media (max-width:380px){
  .page-hero h1{font-size:1.95rem}
  .page-hero.hero-long h1{font-size:1.78rem}
  .page-hero.hero-xlong h1{font-size:1.58rem}
  .page-hero .lede{font-size:.84rem}
  .page-hero .button{font-size:.61rem}
}

/* Studio features must shrink with the viewport rather than impose desktop width. */
.character-feature>*{min-width:0}
@media (max-width:760px){
  .character-feature,.character-feature.reverse{width:100%;min-width:0}
  .character-poster,.character-copy{width:100%;max-width:540px;min-width:0;margin-inline:auto}
  .character-copy .actions{width:100%}
}

@media (prefers-reduced-motion:reduce){
  .button,.site-cta,.panel-cta{transition:none!important}
}

/* Remove intrinsic image dimensions from the grid's height calculation. */
@media (min-width:861px){
  .page-hero:not(.film-hero) .page-hero-media{position:relative;overflow:hidden;min-height:0}
  .page-hero:not(.film-hero) .page-hero-media > picture{position:absolute;inset:0;display:block}
  .page-hero:not(.film-hero) .page-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
}

/* Compact laptop windows: keep the hero at or below two-thirds of the viewport without cropping content. */
@media (min-width:861px) and (max-height:820px){
  .page-hero:not(.film-hero),
  .page-hero.hero-long:not(.film-hero),
  .page-hero.hero-xlong:not(.film-hero),
  body[data-ppc-landing="true"] .page-hero:not(.film-hero),
  .ppc-hero{
    min-height:66svh!important;
  }
  .page-hero-copy{padding-top:1rem;padding-bottom:1rem}
  .page-hero h1{font-size:clamp(2.15rem,3.35vw,4rem)}
  .page-hero.hero-long h1{font-size:clamp(2rem,3vw,3.65rem)}
  .page-hero.hero-xlong h1{font-size:clamp(1.82rem,2.65vw,3.25rem)}
  .page-hero .lede{font-size:.9rem;line-height:1.36;margin-top:.52rem}
  .page-hero .hero-actions{margin-top:.62rem}
  .page-hero .hero-actions .button{min-height:42px;padding:.56rem .68rem;font-size:.63rem}
}

/* Form-delivery and confirmation-page corrections — 2026-07-23 */
.confirmation-hero .status-title{font-family:var(--sans);font-size:clamp(1rem,1.4vw,1.28rem);font-weight:700;color:var(--accent,var(--gold));margin:.2rem 0 .8rem}
.confirmation-hero .reference{margin:1rem 0 0;font-size:1rem;letter-spacing:.02em}
.compact-confirmation{padding-block:clamp(2rem,4vw,3.6rem)}
@media(max-width:860px){.confirmation-hero{min-height:auto!important;max-height:none!important;height:auto!important}.confirmation-hero .page-hero-copy{overflow:visible!important}.compact-confirmation .editorial-split{grid-template-columns:1fr!important}}


/* Consent, accessibility and contrast hardening — 2026-07-22 */

/* Dark page heroes: secondary actions must remain readable over navy/plum media. */
body[data-route^="/marbles"] .page-hero .button.secondary,
body[data-route^="/products/marbles-os"] .page-hero .button.secondary,
body[data-route^="/studio"] .page-hero .button.secondary,
body[data-route^="/products/immersive-studio"] .page-hero .button.secondary,
body[data-route^="/resources/videos/studio-reel"] .page-hero .button.secondary{
  color:#fff!important;
  border-color:rgba(255,255,255,.88)!important;
  background:rgba(0,0,0,.18)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.75);
}
body[data-route^="/marbles"] .page-hero .button.secondary::before,
body[data-route^="/products/marbles-os"] .page-hero .button.secondary::before,
body[data-route^="/studio"] .page-hero .button.secondary::before,
body[data-route^="/products/immersive-studio"] .page-hero .button.secondary::before,
body[data-route^="/resources/videos/studio-reel"] .page-hero .button.secondary::before{
  border-color:rgba(255,255,255,.28)!important;
}

/* Marbles pathway cards use a light institutional surface and deliberate dark copy. */
body[data-route^="/marbles"] .pathway,
body[data-route^="/products/marbles-os"] .pathway{
  background:rgba(210,226,243,.34);
  border-color:rgba(210,226,243,.42);
}
body[data-route^="/marbles"] .pathway-step,
body[data-route^="/products/marbles-os"] .pathway-step{
  background:#f4f7fb!important;
  color:#10273d!important;
  box-shadow:inset 0 4px 0 #d3ab59;
}
body[data-route^="/marbles"] .pathway-step h3,
body[data-route^="/products/marbles-os"] .pathway-step h3{
  color:#071b31!important;
}
body[data-route^="/marbles"] .pathway-step p,
body[data-route^="/products/marbles-os"] .pathway-step p{
  color:#2f4357!important;
}

/* All pathway cards receive explicit text colours instead of relying on inheritance. */
.pathway-step h3{color:var(--pathway-heading,var(--heading,var(--ink)))}
.pathway-step p{color:var(--pathway-copy,var(--muted))}
body[data-route^="/studio"] .pathway-step p,
body[data-route^="/products/immersive-studio"] .pathway-step p,
body[data-route^="/resources/videos/studio-reel"] .pathway-step p{color:#e5d7e6!important}

/* The two primary footer routes need enough physical room for their full names. */
.footer-cta .actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(270px,1fr));
  width:min(100%,680px);
  gap:.8rem;
  margin-top:0;
  flex:0 1 680px;
}
.footer-cta .actions .button{
  width:100%;
  min-width:0;
  min-height:56px;
  padding:.85rem 1rem;
  line-height:1.2;
  white-space:normal;
  text-align:center;
}
@media(max-width:1180px){
  .footer-cta{align-items:flex-start;flex-direction:column}
  .footer-cta .actions{width:100%;flex:auto}
}
@media(max-width:640px){
  .footer-cta .actions{grid-template-columns:1fr}
}

/* Strong, consistent keyboard focus. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid #f4c95d!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px rgba(7,27,49,.88)!important;
}

/* Cookie consent */
.consent-banner{
  position:fixed;z-index:10020;left:1rem;right:1rem;bottom:1rem;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:center;
  max-width:1180px;margin-inline:auto;padding:1.1rem 1.2rem;
  background:#fffaf0;color:#17242a;border:1px solid #a9792d;
  box-shadow:0 24px 90px rgba(0,0,0,.28);
}
.consent-banner[hidden]{display:none!important}
.consent-banner h2{font-size:1.35rem;color:#073e31;margin-bottom:.25rem}
.consent-banner p{font-size:.88rem;line-height:1.48;margin:0;max-width:78ch}
.consent-banner a{color:#073e31;font-weight:750}
.consent-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.consent-actions button,.consent-settings-actions button{
  min-height:44px;padding:.64rem .9rem;border:1px solid #073e31;background:#073e31;color:#fff;
  font:760 .72rem/1.2 var(--sans);letter-spacing:.035em;text-transform:uppercase;cursor:pointer;
}
.consent-actions button[data-consent-reject]{background:#fff;color:#073e31}
.consent-actions button[data-consent-manage]{background:#f1e7d5;color:#3b2b18;border-color:#a9792d}
.consent-dialog,.accessibility-dialog{
  width:min(720px,calc(100% - 2rem));max-height:min(86vh,780px);padding:0;border:1px solid #a9792d;
  background:#fffaf0;color:#17242a;box-shadow:0 30px 100px rgba(0,0,0,.38);overflow:auto;
}
.consent-dialog::backdrop,.accessibility-dialog::backdrop{background:rgba(3,13,22,.72);backdrop-filter:blur(3px)}
.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.2rem 1.25rem;border-bottom:1px solid #d8cdbb}
.dialog-head h2{font-size:1.8rem;color:#073e31}
.dialog-close{border:1px solid #073e31;background:#fff;color:#073e31;width:42px;height:42px;cursor:pointer;font-weight:800}
.dialog-body{padding:1.2rem 1.25rem}
.consent-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1rem 0;border-bottom:1px solid #d8cdbb}
.consent-option h3{font:750 1rem/1.3 var(--sans);letter-spacing:0;color:#17242a;margin-bottom:.25rem}
.consent-option p{font-size:.86rem;line-height:1.45;color:#45545a;margin:0}
.consent-option input{width:24px;height:24px;accent-color:#073e31}
.consent-settings-actions{display:flex;gap:.6rem;flex-wrap:wrap;padding-top:1.1rem}
.consent-settings-actions button[data-consent-save]{background:#073e31}
.consent-settings-actions button[data-consent-reject-all]{background:#fff;color:#073e31}
.footer-legal button{
  display:inline-flex;align-items:center;border:0;background:transparent;color:var(--footer-link,rgba(255,255,255,.86));
  font:inherit;padding:.2rem 0;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
}
.footer-legal button:hover{color:var(--footer-accent,#fff)}

/* Accessibility control */
.accessibility-launcher{
  position:fixed;z-index:10010;left:1rem;bottom:1rem;width:48px;height:48px;
  border:2px solid #fff;background:#073e31;color:#fff;box-shadow:0 9px 28px rgba(0,0,0,.28);
  font:800 .9rem/1 var(--sans);cursor:pointer;
}
body.has-consent-banner .accessibility-launcher{bottom:clamp(10rem,22vh,13rem)}
.accessibility-grid{display:grid;gap:1rem}
.accessibility-group{padding:1rem;border:1px solid #d8cdbb;background:#fff}
.accessibility-group h3{font:750 1rem/1.3 var(--sans);color:#17242a;margin-bottom:.65rem}
.accessibility-choice{display:flex;align-items:center;gap:.65rem;margin:.5rem 0;font-size:.94rem}
.accessibility-choice input{width:22px;height:22px;accent-color:#073e31}
.accessibility-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.accessibility-actions button{min-height:44px;padding:.65rem .9rem;border:1px solid #073e31;background:#073e31;color:#fff;cursor:pointer;font-weight:750}
.accessibility-actions button[data-a11y-reset]{background:#fff;color:#073e31}

html[data-a11y-text="large"]{font-size:112.5%}
html[data-a11y-text="xlarge"]{font-size:125%}
html[data-a11y-font="readable"] body,
html[data-a11y-font="readable"] h1,
html[data-a11y-font="readable"] h2,
html[data-a11y-font="readable"] h3,
html[data-a11y-font="readable"] h4{font-family:Arial,"Helvetica Neue",sans-serif!important;letter-spacing:0!important}
html[data-a11y-links="underline"] a:not(.button):not(.site-cta):not(.panel-cta){text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important}
html[data-a11y-motion="reduce"]{scroll-behavior:auto!important}
html[data-a11y-motion="reduce"] *,html[data-a11y-motion="reduce"] *::before,html[data-a11y-motion="reduce"] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}

html[data-a11y-contrast="high"] body{background:#fff!important;color:#000!important}
html[data-a11y-contrast="high"] :where(.block,.section,.media-story,.visual-archive,.page-hero-copy,.card,.course-card,.pathway-step,.notice,.quote,.form-card,.consent-banner,.dialog-body,.accessibility-group){background:#fff!important;color:#000!important}
html[data-a11y-contrast="high"] :where(h1,h2,h3,h4,p,li,label,legend,.lede,.kicker,.eyebrow,.panel-kicker,.help){color:#000!important;text-shadow:none!important}
html[data-a11y-contrast="high"] :where(.top-ribbon,.site-header,.context-strip,.site-footer,.band){background:#000!important;color:#fff!important}
html[data-a11y-contrast="high"] :where(.top-ribbon,.site-header,.context-strip,.site-footer,.band) :where(a,button,h1,h2,h3,h4,p,span,strong){color:#fff!important}
html[data-a11y-contrast="high"] :where(.button,.site-cta,.panel-cta){background:#000!important;border:2px solid #ffdf57!important;color:#fff!important}
html[data-a11y-contrast="high"] :where(.button,.site-cta,.panel-cta):hover{background:#ffdf57!important;color:#000!important}
html[data-a11y-contrast="high"] img{filter:none!important}

@media(max-width:900px){
  .consent-banner{grid-template-columns:1fr;gap:.8rem}
  .consent-actions{justify-content:flex-start}
}
@media(max-width:580px){
  .consent-banner{left:.55rem;right:.55rem;bottom:.55rem;padding:.9rem}
  .consent-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .consent-actions button[data-consent-manage]{grid-column:1/-1}
  .accessibility-launcher{left:.55rem;bottom:.55rem}
  body.has-consent-banner .accessibility-launcher{bottom:15.5rem}
  .consent-option{grid-template-columns:1fr auto}
}

/* ===== lead-journey.css ===== */

/* Revenue, contact and form-delivery improvements — 2026-07-23 */
.header-contact-link{font-weight:800}
.direct-contact-note{margin:.9rem 0 0;padding:.85rem 1rem;border-left:3px solid var(--accent,var(--gold));background:color-mix(in srgb,var(--page-wash,#f7f1e6) 78%,#fff 22%);font-size:.86rem;line-height:1.55}
.direct-contact-note a{font-weight:800}
.mobile-contact-dock{display:none}
.legacy-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--hairline);border-left:1px solid var(--hairline)}
.legacy-timeline article{padding:1.35rem;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);background:rgba(255,255,255,.48)}
.legacy-timeline time{display:block;color:var(--accent-dark,var(--verde));font:800 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.5rem}
.legacy-timeline h3{font-size:1.35rem;margin-bottom:.45rem}
.legacy-note{border-left:4px solid var(--gold);padding:1.1rem 1.25rem;background:var(--page-wash,#f4eadb)}
.footer-cta .actions{grid-template-columns:minmax(240px,1fr) minmax(240px,1fr)}
.footer-cta .actions .button{min-width:240px}
.form-card .hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.form-delivery-assurance{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline);border:1px solid var(--hairline);margin-top:1.25rem}
.form-delivery-assurance span{background:var(--section-bg,#fff);padding:.8rem;text-align:center;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:1100px){.legacy-timeline{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
 body{padding-bottom:70px}
 .mobile-contact-dock{position:fixed;z-index:900;display:grid;grid-template-columns:1fr 1fr;left:0;right:0;bottom:0;background:#0b2f27;border-top:1px solid #d9b65c;box-shadow:0 -10px 28px rgba(0,0,0,.18);padding:max(.5rem,env(safe-area-inset-bottom)) .65rem .55rem}
 .mobile-contact-dock a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:.65rem;color:#fff;text-decoration:none;font-weight:850;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.25)}
 .mobile-contact-dock a:last-child{border-right:0;color:#f2d48f}
 .footer-cta .actions{grid-template-columns:1fr}
 .footer-cta .actions .button{min-width:0;width:100%}
 .form-delivery-assurance{grid-template-columns:1fr}
}
@media(max-width:620px){.legacy-timeline{grid-template-columns:1fr}}

/* ===== ai-search-accessibility-2026.css ===== */
/* Atkinson AI Search + Accessibility hardening — 2026-07-23 */
:root{
  --answer-bg:#fffdf8;
  --answer-border:color-mix(in srgb,var(--accent,#b8842c) 45%,#d8cdbb);
  --answer-ink:#13242b;
  --focus-ring:#0a66c2;
}
.ai-answer-brief{background:var(--answer-bg);border-block:1px solid var(--answer-border);padding:clamp(1.1rem,2.2vw,2rem) 0}
.ai-answer-brief .container{display:grid;gap:1rem}
.ai-answer-intro{display:flex;align-items:end;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}
.ai-answer-intro h2{font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:1.08;color:var(--accent-dark,#073e31);max-width:24ch;margin:0}
.ai-answer-intro .kicker{margin:0 0 .35rem}
.ai-answer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--answer-border);background:#fff}
.ai-answer-item{padding:clamp(1rem,2vw,1.45rem);min-width:0}
.ai-answer-item+ .ai-answer-item{border-inline-start:1px solid var(--answer-border)}
.ai-answer-item h3{font:800 .78rem/1.3 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--accent-dark,#073e31);margin:0 0 .55rem}
.ai-answer-item p{margin:0;color:var(--answer-ink);line-height:1.62}
.ai-answer-item a{font-weight:780;text-underline-offset:.2em}
.page-reviewed{font:650 .78rem/1.4 var(--sans);color:#5b666c;margin:0}
.page-reviewed time{font-variant-numeric:tabular-nums}

/* Stronger semantic focus and agent-visible state */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--focus-ring)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px #fff!important;
}
form:tool-form-active{outline:3px dashed #0a66c2;outline-offset:6px}
:where(button,input[type="submit"]):tool-submit-active{outline:4px solid #b46a00;outline-offset:4px}
[aria-current="page"]{text-decoration-thickness:.14em;text-underline-offset:.28em}
.search-result:focus-visible,.entry-card:focus-visible,.search-demand-links a:focus-visible{position:relative;z-index:2}

/* Prevent content from being visually clipped while retaining compact heroes. */
.page-hero,.home-hero{overflow:visible!important;height:auto!important;min-height:min(64svh,620px)}
.page-hero-copy{align-self:center;min-width:0}
.hero-actions,.actions{align-items:stretch}
.hero-actions .button,.actions .button{white-space:normal;text-wrap:balance;min-inline-size:min(100%,13rem)}

/* Better readable targets and labels across touch devices. */
:where(button,.button,.site-nav a,.top-ribbon a,.footer-legal a,.footer-legal button){min-height:44px}
:where(input,select,textarea){font-size:max(1rem,16px)}
.video-dialog{max-width:min(94vw,1120px);padding:0;border:1px solid #c59a4d;background:#080b13;color:#fff}
.video-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid #735b2e}
.video-dialog-head h2{font:700 1rem/1.3 var(--sans);margin:0;color:#fff}
.video-dialog iframe{display:block;width:min(90vw,1080px);aspect-ratio:16/9;border:0}
.video-dialog-close{background:#fff;color:#111;border:0;padding:.65rem .9rem;font-weight:800;cursor:pointer}

/* Accessibility preference remains useful at larger text sizes. */
html[data-a11y-text="large"] .ai-answer-grid,
html[data-a11y-text="xlarge"] .ai-answer-grid{grid-template-columns:1fr}
html[data-a11y-text="large"] .ai-answer-item+ .ai-answer-item,
html[data-a11y-text="xlarge"] .ai-answer-item+ .ai-answer-item{border-inline-start:0;border-top:1px solid var(--answer-border)}

@media (max-width:800px){
  .ai-answer-grid{grid-template-columns:1fr}
  .ai-answer-item+ .ai-answer-item{border-inline-start:0;border-top:1px solid var(--answer-border)}
  .page-hero,.home-hero{min-height:0}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* ===== final-production-fixes.css ===== */
/* Final production corrections — utility navigation, footer legal row, and form delivery UI. */

/* The global 44px touch-target rule must not be allowed to overflow the 31px utility ribbon. */
.top-ribbon {
  height: auto !important;
  min-height: 38px !important;
  padding-block: .38rem !important;
  line-height: 1.25 !important;
  overflow: visible !important;
}
.top-ribbon > span,
.top-ribbon nav,
.top-ribbon nav > a,
.top-ribbon nav > span {
  min-height: 0 !important;
  line-height: 1.25 !important;
}
.top-ribbon > span,
.top-ribbon nav > a,
.top-ribbon nav > span {
  display: inline-flex !important;
  align-items: center !important;
  padding-block: .1rem !important;
  white-space: nowrap;
}
.top-ribbon nav {
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: clamp(.75rem, 1.25vw, 1.35rem) !important;
}

/* Keep the legal links and interactive preference controls on the same typographic baseline. */
.footer-bottom {
  align-items: center !important;
}
.footer-legal {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: .42rem .58rem !important;
  white-space: normal !important;
  line-height: 1.35 !important;
}
.footer-legal > a,
.footer-legal > button,
.footer-legal > span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: .12rem 0 !important;
  line-height: 1.35 !important;
  vertical-align: middle !important;
  font: inherit !important;
  letter-spacing: inherit !important;
}
.footer-legal > button {
  appearance: none;
  -webkit-appearance: none;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--footer-link, rgba(255,255,255,.86)) !important;
  text-decoration: underline;
  text-underline-offset: .17em;
  cursor: pointer;
}
.footer-legal > button:hover,
.footer-legal > button:focus-visible {
  color: var(--footer-accent, #fff) !important;
}
.footer-legal > span[aria-hidden="true"] {
  color: var(--footer-muted, rgba(255,255,255,.72)) !important;
  user-select: none;
}

/* Confirmation and error pages use the same complete production header without clipping. */
.confirmation-hero .hero-actions,
.form-error-hero .hero-actions {
  align-items: stretch;
}

@media (max-width: 900px) {
  .top-ribbon {
    min-height: 36px !important;
    padding-inline: 1rem !important;
  }
  .top-ribbon nav {
    gap: .72rem !important;
  }
}

@media (max-width: 760px) {
  .top-ribbon {
    display: none !important;
  }
  .footer-bottom {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .65rem !important;
  }
  .footer-legal {
    justify-content: flex-start !important;
  }
}

@media (min-width: 761px) and (max-width: 1120px) {
  .top-ribbon {
    font-size: .61rem !important;
    letter-spacing: .11em !important;
  }
  .top-ribbon nav {
    gap: .68rem !important;
  }
}

/* ===== google-search-quality-2026.css ===== */
/* Google Search quality, internal discovery and source-context enhancements — 2026-07-23 */
.related-pathways{border-block:1px solid color-mix(in srgb,var(--accent,#b8842c) 38%,#ddd2c2);background:color-mix(in srgb,var(--surface,#fffdf8) 94%,var(--accent,#b8842c) 6%);padding:clamp(1.15rem,2.4vw,2rem) 0}
.related-pathways__head{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.related-pathways__head h2{margin:0;color:var(--accent-dark,#073e31);font-size:clamp(1.45rem,2.3vw,2.15rem);line-height:1.08}
.related-pathways__head p{margin:0;max-width:56ch;color:var(--ink,#24333a)}
.related-pathways__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:color-mix(in srgb,var(--accent,#b8842c) 38%,#d9cfbf);border:1px solid color-mix(in srgb,var(--accent,#b8842c) 38%,#d9cfbf)}
.related-pathways__grid a{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:5rem;padding:1rem;background:var(--surface,#fffdf8);color:var(--accent-dark,#073e31);font-weight:780;text-decoration:none;line-height:1.35}
.related-pathways__grid a::after{content:'→';color:var(--accent,#a86f1a);font-size:1.15em;flex:0 0 auto}
.related-pathways__grid a:hover,.related-pathways__grid a:focus-visible{background:color-mix(in srgb,var(--surface,#fffdf8) 88%,var(--accent,#b8842c) 12%)}
.content-provenance{margin:1.25rem auto;padding:1rem 1.15rem;border-inline-start:3px solid var(--accent,#b8842c);background:color-mix(in srgb,var(--surface,#fffdf8) 90%,var(--accent,#b8842c) 10%);color:var(--ink,#24333a);max-width:var(--content-max,1200px)}
.content-provenance strong{color:var(--accent-dark,#073e31)}
@media(max-width:980px){.related-pathways__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.related-pathways__grid{grid-template-columns:1fr}.related-pathways__grid a{min-height:3.75rem}}

/* Google Search, page-experience and final contrast corrections — 2026-07-23 */
:root{--breadcrumb-bg:#fbf6ed}
.breadcrumbs{border-bottom:1px solid var(--hairline,#ded4c4);background:var(--breadcrumb-bg);font-size:.72rem;letter-spacing:.035em}
.breadcrumbs ol{width:min(var(--container,1440px),calc(100% - 3rem));margin:0 auto;padding:.55rem 0;display:flex;align-items:center;gap:.48rem;list-style:none;flex-wrap:wrap}
.breadcrumbs li{display:flex;align-items:center;gap:.48rem}.breadcrumbs li+li::before{content:"/";color:#8a775f}.breadcrumbs a{color:var(--accent-dark,#073e31);text-underline-offset:.18em}.breadcrumbs [aria-current="page"]{color:var(--ink,#27343a);font-weight:680}
/* The two specifically identified actions must remain readable in every theme. */
body[data-route="/company/"] .page-hero .hero-actions a[href="/request-a-briefing/"],
body[data-route="/studio/"] a[href="/academy/courses/generative-film-storyworld-production-lab/"]{color:#fff!important}
body[data-route="/studio/"] a[href="/academy/courses/generative-film-storyworld-production-lab/"]:hover,
body[data-route="/studio/"] a[href="/academy/courses/generative-film-storyworld-production-lab/"]:focus-visible{background:#fff!important;color:#16091d!important;border-color:#fff!important}
/* Preserve complete mobile-first content: no line clamping or hidden hero copy. */
.page-hero-copy,.page-hero .lede{overflow:visible!important}
@media(max-width:860px){
 .page-hero:not(.film-hero),.home-hero{height:auto!important;min-height:0!important;max-height:none!important;grid-template-rows:auto auto!important}
 .page-hero-copy{overflow:visible!important}
 .page-hero .lede{display:block!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;-webkit-box-orient:unset!important}
 .page-hero-media{height:clamp(280px,42svh,460px)!important;min-height:280px!important}
 .breadcrumbs ol{width:calc(100% - 1.5rem)}
}
/* Keep consent meaningful but non-intrusive to page access and indexing. */
.consent-banner{max-height:min(42svh,420px);overflow:auto}
@media(max-width:580px){.consent-banner{max-height:46svh}.breadcrumbs{font-size:.68rem}}
/* Search-friendly link and focus clarity. */
main a:not(.button):not(.site-cta):not(.panel-cta){text-underline-offset:.18em;text-decoration-thickness:.08em}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #b06f00!important;outline-offset:3px!important}
/* Hero media is content, not a layout shift. */
.page-hero-media img,.home-hero img,.film-hero img{object-fit:cover}
