/* build: drop 9.30 — Partners fixes: philosophy image disambiguated to designer-touch.webp (was colliding with tiny galleria-designer-touch.jpg via LIKE match → blurry); removed Choices.js clear button on single-select occupation field (2026-06-15) */
/* AGL - Tier 4 patterns. Drop 1: hero, threshold, project rail, editorial.
   Ported from the approved exemplar; markup classes are identical. */

/* --- Hero --------------------------------------------------------------------- */
.v-hero{position:relative;background:
  radial-gradient(1100px 460px at 78% -10%, rgba(200,183,138,.08), transparent 62%),
  linear-gradient(160deg,#0d0d0c,#0b0b0a 55%,#100f0d);
  padding:120px 64px 110px;color:var(--agl-ivory)}
.v-hero h1{font-family:var(--agl-display);font-weight:500;font-size:clamp(46px,5.4vw,76px);line-height:1.04;margin:24px 0 22px;max-width:16ch}
.v-hero h1 em{font-style:italic;color:var(--agl-gold)}
.v-hero .vlead{font-weight:300;color:var(--agl-stone-300);max-width:54ch;font-size:16.5px}
.v-hero .ctas{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}
.v-hero--media .photo{position:absolute;inset:0;background:var(--agl-hero-poster) center/cover}
.v-hero--media .scrim{position:absolute;inset:0;background:linear-gradient(92deg, rgba(11,11,10,.78) 0%, rgba(11,11,10,.52) 40%, rgba(11,11,10,.10) 72%), linear-gradient(180deg, rgba(11,11,10,.38) 0%, rgba(11,11,10,0) 30%, rgba(11,11,10,0) 72%, rgba(11,11,10,.34) 100%)}
.v-hero--media > .hin{position:relative}
body.home section.v-hero{padding-inline:var(--agl-inline)}
body.home section.h-cats, body.home section.h-viz3, body.home section.h-insp, body.home section.h-ed, body.home section.v-cta{padding-inline:var(--agl-inline)}
/* Hero height law: the first screen belongs to the scene */
body.home section.v-hero--video{min-height:max(560px, calc(100svh - 124px));display:flex;flex-direction:column;justify-content:center}
/* — Threshold band: the join between cinema and gallery — */
.h-thresh{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:24px;background:var(--agl-noir-900);border-top:1px solid var(--agl-hairline-soft);color:var(--agl-stone-300);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-variation-settings:"wdth" 112}
.h-thresh b{color:var(--agl-gold);font-weight:500}
@media (max-width:920px){
.h-thresh{flex-direction:column;gap:10px;text-align:center}
.h-thresh b{display:none}
}
/* — Inspiration: the project rail (walking cards) — */
.h-proj{background:var(--agl-day-50);color:var(--agl-ink)}
.h-proj .ihead{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:36px;padding-inline:var(--agl-inline)}
.h-proj .ihact{display:flex;align-items:center;gap:18px}
.h-proj .parr{width:42px;height:42px;border:1px solid var(--agl-hairline-day);background:none;color:var(--agl-ink-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color var(--agl-t-base) var(--agl-ease),color var(--agl-t-base) var(--agl-ease),background var(--agl-t-base) var(--agl-ease)}
.h-proj .parr:hover{background:#fff;border-color:var(--agl-ink-3);color:var(--agl-ink)}
.h-proj .parr:focus-visible{outline:none;box-shadow:0 0 0 2px var(--agl-day-50),0 0 0 4px var(--agl-gold-deep)}
.h-proj.norail .parr{display:none}
.h-proj.norail .pprog{display:none}
.h-proj.norail .prail{justify-content:center}
@media (pointer:coarse){
.h-proj .parr{display:none}
}
.h-proj .ihead h2{font-family:var(--agl-display);font-weight:500;font-size:clamp(30px,3.4vw,42px);line-height:1.12;margin-top:14px}
.prail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 16px 22px 16px;scroll-padding-left:16px;scrollbar-width:none}
.prail::-webkit-scrollbar{display:none}
.pcard{flex:0 0 clamp(380px,26vw,600px);scroll-snap-align:start;display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--agl-hairline-day);transition:opacity var(--agl-t-base) var(--agl-ease)}
.prail:hover .pcard:not(:hover){opacity:.6}
.pwin{display:block;position:relative;aspect-ratio:4/3;overflow:hidden}
.pwin img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s var(--agl-ease)}
.pwin img.on{opacity:1}
.pwin .pidx{position:absolute;top:14px;right:14px;z-index:2;font-size:10px;letter-spacing:.18em;color:var(--agl-ivory);background:rgba(11,11,10,.5);backdrop-filter:blur(4px);padding:5px 9px;font-variation-settings:"wdth" 112;opacity:0;transition:opacity .3s var(--agl-ease)}
.pcard.walking .pidx,.pcard:hover .pidx{opacity:1}
.pbody{display:block;padding:18px 20px 20px}
.pbody .pt{display:block;font-family:var(--agl-display);font-weight:600;font-style:italic;font-size:20px}
.pbody .ptags{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--agl-gold-ink);margin-top:7px;font-variation-settings:"wdth" 112;font-weight:500}
.pbody .pmat{display:flex;align-items:center;gap:11px;margin-top:14px;padding-top:14px;border-top:1px solid var(--agl-hairline-day-soft)}
.pbody .pmat img{width:34px;height:34px;object-fit:cover;border:1px solid var(--agl-hairline-day)}
.pbody .pmat span{font-size:12px;color:var(--agl-ink-2)}
.pbody .pmat b{font-weight:600;color:var(--agl-ink)}
.pprog{height:1px;background:var(--agl-hairline-day);margin-top:10px;margin-inline:var(--agl-inline)}
.pprog i{display:block;height:1px;background:var(--agl-gold-deep);width:var(--w,30%);transition:width .25s var(--agl-ease)}
@media (max-width:920px){
.pcard{flex-basis:82vw}
.h-proj .ihead{flex-direction:column;align-items:flex-start;gap:12px}
}
.h-insp .ihead{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:36px}
.h-ed{background:var(--agl-noir-900);color:var(--agl-ivory);padding:92px 64px;border-top:1px solid var(--agl-hairline-soft)}
.h-ed .ehead{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:36px}
.h-ed h2{font-family:var(--agl-display);font-weight:500;font-size:clamp(28px,3.2vw,40px);margin-top:14px}
.h-ed h2 em{font-style:italic;color:var(--agl-gold)}
.edgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.edcard{display:block;text-decoration:none;color:inherit;background:var(--agl-noir-850);border:1px solid var(--agl-hairline);transition:border-color var(--agl-t-base) var(--agl-ease),opacity var(--agl-t-base) var(--agl-ease)}
.edcard .ei{display:block;aspect-ratio:4/2.9;overflow:hidden}
.edcard .ei img{width:100%;height:100%;object-fit:cover;display:block}
.edcard .eb2{display:block;padding:20px 22px 24px}
.edcard .no{font-size:10px;letter-spacing:.26em;color:var(--agl-gold);text-transform:uppercase;font-variation-settings:"wdth" 112;font-weight:500}
.edcard .et{display:block;font-family:var(--agl-display);font-weight:600;font-size:21px;line-height:1.2;margin-top:10px}
.edcard .em2{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--agl-stone-500);margin-top:12px;font-variation-settings:"wdth" 112}
.edcard:hover{border-color:rgba(244,242,237,.25)}
.edgrid:hover .edcard:not(:hover){opacity:.45}
@media (max-width:920px){
.edgrid{grid-template-columns:1fr}
.h-cats,.h-ed{padding:64px 24px}
}
body.home section.v-hero{background:
  radial-gradient(1100px 460px at 78% -10%, rgba(200,183,138,.08), transparent 62%),
  linear-gradient(160deg,#0d0d0c,#0b0b0a 55%,#100f0d)}
body.home section.h-thresh{background:var(--agl-noir-900);padding-block:24px;padding-inline:var(--agl-inline)}
body.home section.h-ed{background:var(--agl-noir-900);border-top:1px solid var(--agl-hairline-soft)}
body.home section.h-proj{background:var(--agl-day-50);padding:92px 0}
@media (max-width:920px){
body.home section.h-proj{padding:64px 0}
}
/* ===== Motion pass: one reveal grammar, the slow clock ===== */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--agl-ease) var(--rvd,0s),transform .6s var(--agl-ease) var(--rvd,0s)}
.rv.rv-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
.rv{opacity:1 !important;transform:none !important;transition:none !important}
}
body.home section.v-hero--video{min-height:max(480px, calc(100svh - 64px));padding-top:0}
.h-insp .ihead{flex-direction:column;align-items:flex-start;gap:12px}
.h-ed{padding:64px 0}
.h-ed .ehead{flex-direction:column;align-items:flex-start;gap:12px}

/* day-ground context overrides */
.day select.agl-input option, .demo.day select.agl-input option{background:var(--agl-day-50);color:var(--agl-ink)}
.demo.day .demo-tag{color:var(--agl-ink-3)}
.demo.day, .demo.day p{color:var(--agl-ink)}
.demo.day .statebar{border-color:var(--agl-hairline-day-soft)}
.demo.day .statebar .sl{color:var(--agl-ink-3)}
.day .agl-btn--primary, .agl-btn--primary.on-day{background:var(--agl-ink);color:var(--agl-day-50);border:1px solid var(--agl-ink)}
.day .agl-btn--primary:hover, .agl-btn--primary.on-day.is-hover{border-color:var(--agl-gold-ink);box-shadow:0 0 0 1px rgba(117,104,68,.35)}
.day .agl-btn--ghost, .agl-btn--ghost.on-day{border:1px solid var(--agl-hairline-day);color:var(--agl-ink-2);background:transparent}
.day .agl-btn--ghost:hover, .agl-btn--ghost.on-day.is-hover{border-color:rgba(22,20,15,.45);background:rgba(22,20,15,.04)}
.day .is-focus{box-shadow:0 0 0 2px var(--agl-day-50),0 0 0 4px var(--agl-gold-ink) !important}
.day .agl-link, .agl-link.on-day{color:var(--agl-ink);text-decoration-color:var(--agl-hairline-day)}
.day .agl-link:hover, .agl-link.on-day:hover{text-decoration-color:var(--agl-gold-ink)}
.day .agl-tag{border-color:var(--agl-hairline-day);color:var(--agl-ink-2)}
.day .agl-tag--gold{border-color:rgba(117,104,68,.4);color:var(--agl-gold-ink)}
.day .agl-stat .l{color:var(--agl-ink-3)}
.day .statrow{background:var(--agl-hairline-day-soft);border-color:var(--agl-hairline-day-soft)}
.day .statrow .agl-stat{background:var(--agl-day-50)}
.day .agl-caption{color:var(--agl-ink-3)}
.day .agl-quote{border-color:var(--agl-gold-ink)}
.day .agl-quote cite{color:var(--agl-ink-3)}
.day .agl-field label{color:var(--agl-ink-2)}
.day .agl-input{border-color:var(--agl-hairline-day);color:var(--agl-ink)}
.day .agl-input::placeholder{color:rgba(22,20,15,.35)}
.day .agl-input:focus-visible,.day .agl-input.is-focus{border-color:var(--agl-gold-ink);box-shadow:0 0 0 1px rgba(117,104,68,.35)}
.day .agl-check{color:var(--agl-ink-2)}
.day .agl-check input{border-color:var(--agl-hairline-day)}
.day .agl-check input::before{background:var(--agl-gold-ink)}
.day .agl-select .agl-list, .demo.day .agl-select .agl-list{background:var(--agl-day-50);border-color:var(--agl-hairline-day)}
.day .agl-opt, .demo.day .agl-opt{color:var(--agl-ink)}
.day .agl-opt:hover, .day .agl-opt.is-active, .demo.day .agl-opt:hover, .demo.day .agl-opt.is-active{background:var(--agl-day-100);border-left-color:var(--agl-gold-ink)}
.day .agl-opt[aria-selected="true"], .demo.day .agl-opt[aria-selected="true"]{color:var(--agl-gold-ink)}
.day .agl-mcard{background:var(--agl-day-50);border-color:var(--agl-hairline-day)}
.day .agl-mcard:hover{background:#fff;border-color:rgba(22,20,15,.3)}
.day .agl-mcard .m-fam{color:var(--agl-gold-ink)}
.day .agl-spec td{border-color:var(--agl-hairline-day-soft);color:var(--agl-ink-2)}
.day .agl-spec td:first-child{color:var(--agl-ink-3)}
.day .agl-tabs{border-color:var(--agl-hairline-day)}
.day .agl-tab{color:var(--agl-ink-3)}
.day .agl-tab[aria-selected="true"]{color:var(--agl-ink)}
.day .agl-tab[aria-selected="true"]::after{background:var(--agl-gold-ink)}
.day .tabpane{color:var(--agl-ink-2)}
.day .agl-acc{border-color:var(--agl-hairline-day)}
.day .agl-acc details{border-color:var(--agl-hairline-day-soft)}
.day .agl-acc summary{color:var(--agl-ink)}
.day .agl-acc summary::after{color:var(--agl-gold-ink)}
.day .agl-acc .acc-body{color:var(--agl-ink-2)}
.day .agl-notice{background:var(--agl-day-100);border-color:var(--agl-hairline-day-soft);border-left-width:2px}
.day .agl-notice p{color:var(--agl-ink-2)}

/* ---- Drop 2: index stage + visualizer console ---- */
/* — Surface Collections: the Index Stage (refined) — */
.h-ix{background:var(--agl-day-50);color:var(--agl-ink);padding:0}
.h-ix .ixmain{display:grid;grid-template-columns:minmax(400px,580px) 1fr;align-items:stretch}
.h-ix .ixcol{display:flex;flex-direction:column;justify-content:center;padding:112px 56px 112px 0}
.h-ix .ixhd h2{font-family:var(--agl-display);font-weight:500;font-size:clamp(28px,3vw,40px);line-height:1.12;margin:14px 0 10px}
.h-ix .ixhd p{color:var(--agl-ink-2);font-weight:320}
.h-ix .ixlist{margin-top:36px;border-top:1px solid var(--agl-hairline-day)}
.h-ix .ixrow{display:block;text-decoration:none;color:inherit;padding:27px 24px 27px 18px;border-bottom:1px solid var(--agl-hairline-day);border-left:2px solid transparent;transition:border-left-color var(--agl-t-base) var(--agl-ease),opacity var(--agl-t-base) var(--agl-ease),background var(--agl-t-base) var(--agl-ease)}
.h-ix .ixrow .no{font-size:10px;letter-spacing:.24em;color:var(--agl-gold-ink);font-variation-settings:"wdth" 112;font-weight:500;margin-right:14px;vertical-align:super}
.h-ix .ixrow .nm{font-family:var(--agl-display);font-weight:500;font-size:clamp(24px,2.2vw,32px);line-height:1.12;color:var(--agl-ink-2);transition:color var(--agl-t-base) var(--agl-ease)}
.h-ix .ixrow .sub{display:block;overflow:hidden;max-height:0;opacity:0;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--agl-ink-3);margin:0 0 0 30px;font-variation-settings:"wdth" 112;transition:max-height .6s var(--agl-ease),opacity .6s var(--agl-ease),margin-top .6s var(--agl-ease)}
.h-ix .ixrow.on{border-left-color:var(--agl-gold-deep);background:#fff}
.h-ix .ixrow.on .nm{color:var(--agl-ink)}
.h-ix .ixrow.on .sub{max-height:40px;opacity:1;margin-top:8px}
.h-ix .ixlist:hover .ixrow:not(.on){opacity:.5}
.h-ix .ixstage{position:relative;overflow:hidden;min-height:860px;max-height:1040px}
.h-ix .ixstage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--agl-ease)}
.h-ix .ixstage img.on{opacity:1}
@media (max-width:1200px){
.h-ix .ixmain{grid-template-columns:minmax(340px,46%) 1fr}
}
@media (max-width:920px){
.h-ix .ixmain{grid-template-columns:1fr}
.h-ix .ixstage{min-height:0;height:40svh;order:-1}
.h-ix .ixcol{padding:32px 24px 48px}
}
/* — Visualizer: material swap — statement above, full-frame scene, glass console — */
.vizswap{position:relative;background:var(--agl-noir-950);padding:0}
.vizswap .vhead{padding:88px var(--agl-inline) 48px;color:var(--agl-ivory)}
.vizswap .vhead h2{font-family:var(--agl-display);font-weight:500;font-size:clamp(34px,3.9vw,54px);line-height:1.08;margin:18px 0 14px}
.vizswap .vhead h2 em{font-style:italic;color:var(--agl-gold)}
.vizswap .vhead p{color:var(--agl-stone-300);font-weight:300;max-width:52ch;line-height:1.75}
.vizswap .stagewrap{position:relative;max-width:var(--agl-stage-max);margin:0 auto}
.vizswap .stage{position:relative;width:100%;aspect-ratio:1600/893;max-height:88svh;overflow:hidden}
.vizswap .stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--agl-ease)}
.vizswap .stage img.on{opacity:1}
.vizswap .console{position:absolute;left:calc(var(--agl-inline) + 20px);right:calc(var(--agl-inline) + 20px);bottom:22px;z-index:6;display:flex;align-items:center;gap:26px;padding:14px 18px;background:rgba(11,11,10,.55);border:1px solid rgba(244,242,237,.14);transition:opacity .25s var(--agl-ease),transform .25s var(--agl-ease)}
@supports (backdrop-filter: blur(1px)){
.vizswap .console{backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%)}
}
.vizswap .chips{display:flex;gap:12px}
.vizswap .chipw{display:flex;flex-direction:column;align-items:center;gap:7px;width:68px}
.vizswap .chip{width:56px;height:56px;padding:0;border:1px solid rgba(244,242,237,.22);background:none;cursor:pointer;transition:border-color var(--agl-t-base) var(--agl-ease),opacity var(--agl-t-base) var(--agl-ease)}
.vizswap .chip img{width:100%;height:100%;object-fit:cover;display:block}
.vizswap .chip[aria-checked="true"]{border-color:var(--agl-gold)}
.vizswap .chip:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(11,11,10,.8),0 0 0 4px var(--agl-gold-deep)}
.vizswap .chips:hover .chip:not(:hover){opacity:.55}
.vizswap .chipn{font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--agl-stone-300);text-align:center;line-height:1.4;font-variation-settings:"wdth" 112;transition:color var(--agl-t-base) var(--agl-ease)}
.vizswap .chipw.on .chipn{color:var(--agl-gold)}
.vizswap .railcap{color:var(--agl-stone-300);font-size:13.5px;line-height:1.7}
.vizswap .railcap .mname{font-family:var(--agl-display);font-style:italic;font-weight:600;color:var(--agl-ivory);font-size:17.5px}
.vizswap .railcap .spec{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--agl-stone-500);margin-top:2px;font-variation-settings:"wdth" 112}
.vizswap .railend{margin-left:auto;display:flex;align-items:center;gap:22px}
.vizswap .railend .agl-link{font-size:12px;white-space:nowrap;color:var(--agl-ivory)}
.vizswap .cmin{width:30px;height:30px;flex:0 0 auto;border:1px solid rgba(244,242,237,.22);background:none;color:var(--agl-stone-300);cursor:pointer;font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center;transition:color var(--agl-t-base) var(--agl-ease),border-color var(--agl-t-base) var(--agl-ease)}
.vizswap .cmin:hover{color:var(--agl-gold);border-color:var(--agl-gold-deep)}
.vizswap .cpill{position:absolute;left:22px;bottom:22px;z-index:6;display:none;align-items:center;gap:12px;padding:12px 18px;background:rgba(11,11,10,.55);border:1px solid rgba(244,242,237,.14);cursor:pointer;color:var(--agl-ivory);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-variation-settings:"wdth" 112}
@supports (backdrop-filter: blur(1px)){
.vizswap .cpill{backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%)}
}
.vizswap .cpill b{color:var(--agl-gold);font-weight:500}
.vizswap.min .console{opacity:0;transform:translateY(12px);pointer-events:none}
.vizswap.min .cpill{display:flex}
@media (max-width:920px){
.vizswap .vhead{padding:56px 24px 28px}
.vizswap .stage{aspect-ratio:auto;height:52svh;min-height:300px}
.vizswap .console{position:static;flex-direction:column;align-items:flex-start;gap:14px;border-left:0;border-right:0;background:var(--agl-noir-900)}
.vizswap .cmin,.vizswap .cpill{display:none !important}
.vizswap .railend{margin-left:0;width:100%;justify-content:space-between}
}
body.pg section.h-ix{background:var(--agl-day-50);padding-block:0;padding-left:var(--agl-inline);padding-right:0}
@media (max-width:920px){
body.pg section.h-ix{padding-left:0}
}
body.pg section.vizswap{background:var(--agl-noir-950);padding:0 0 112px}
@media (max-width:920px){
body.pg section.vizswap{padding:0 0 64px}
}

/* drop 2: section containment (body-scoped) */
body.home section.h-ix{background:var(--agl-day-50);padding-block:0;padding-left:var(--agl-inline);padding-right:0}
body.home section.vizswap{background:var(--agl-noir-950);padding:0 0 112px}
@media (max-width:920px){
body.home section.h-ix{padding-left:0}
}
@media (max-width:920px){
body.home section.vizswap{padding:0 0 64px}
}

/* ---- Drop 3: galleria light, partners, conversion band ---- */
.v-cta{background:
  radial-gradient(900px 380px at 50% -16%, rgba(200,183,138,.06), transparent 62%),
  linear-gradient(160deg,#100f0d,#0b0b0a 60%);
  padding:104px 64px;text-align:center;color:var(--agl-ivory)}
.v-cta h2{font-family:var(--agl-display);font-weight:500;font-size:clamp(32px,4vw,50px);line-height:1.08;margin:20px 0 16px}
.v-cta h2 em{font-style:italic;color:var(--agl-gold)}
.v-cta p{color:var(--agl-stone-300);font-weight:300;max-width:52ch;margin:0 auto}
.v-cta .agl-btn{margin-top:34px}
.v-cta .eyebrow{justify-content:center}
.v-cta .eyebrow::after{content:"";height:1px;width:40px;background:var(--agl-gold-deep);opacity:.6}
body.home section.h-cats, body.home section.h-viz3, body.home section.h-insp, body.home section.h-ed, body.home section.v-cta{padding-inline:var(--agl-inline)}
body.home section.h-part{padding-inline:var(--agl-inline) !important}
body.home .h-gal3 .gtext{padding-right:max(72px, calc((100vw - var(--agl-page-max)) / 2 + 8px))}
.ptile{position:relative;transition:background var(--agl-t-base) var(--agl-ease),opacity var(--agl-t-base) var(--agl-ease)}
.ptile::after{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--agl-gold-deep);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--agl-ease)}
.ptile:hover::after{transform:scaleX(1)}
.ptile .ptop{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}
.ptile .ptop svg{margin-bottom:0}
.ptile .pno{font-size:10px;letter-spacing:.24em;color:var(--agl-gold-ink);font-weight:500;font-variation-settings:"wdth" 112;padding-top:4px}
.ptile svg{transition:color var(--agl-t-base) var(--agl-ease)}
.ptile:hover{background:#fff}
.ptile:hover svg{color:var(--agl-gold-ink)}
.ptiles:hover .ptile:not(:hover){opacity:.55}
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .h-gal3 .gimg img{animation:gal-light linear both;animation-timeline:view();animation-range:entry 0% cover 38%}
    @keyframes gal-light{from{filter:brightness(.16) saturate(.75)}to{filter:brightness(1) saturate(1)}}
  }
}
.h-gal3 .glight{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .6s var(--agl-ease);pointer-events:none;mix-blend-mode:screen;background:radial-gradient(circle 340px at var(--mx,50%) var(--my,50%), rgba(200,183,138,.20), rgba(200,183,138,.05) 45%, transparent 72%)}
.h-gal3 .glight.on{opacity:1}
@media (pointer:coarse){.h-gal3 .glight{display:none}}
.h-gal3 .gnow{display:block;margin-top:18px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--agl-stone-500);font-variation-settings:"wdth" 112}
.h-gal3 .gnow a{color:var(--agl-stone-300);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(244,242,237,.3)}
.h-gal3 .gnow a:hover{color:var(--agl-gold)}
.h-gal3{position:relative;display:grid;grid-template-columns:55% 45%;background:var(--agl-noir-950);color:var(--agl-ivory);border-top:1px solid var(--agl-hairline-soft);min-height:640px}
.h-gal3 .gimg{position:relative;overflow:hidden}
.h-gal3 .gimg img{width:100%;height:100%;object-fit:cover;display:block}
.h-gal3 .gimg::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,transparent 55%,var(--agl-noir-950) 100%)}
.h-gal3 .gtext{display:flex;flex-direction:column;justify-content:center;padding:100px 72px 100px 96px}
.h-gal3 h2{font-family:var(--agl-display);font-weight:500;font-size:clamp(30px,3.4vw,46px);line-height:1.1;margin:16px 0 14px}
.h-gal3 h2 em{font-style:italic;color:var(--agl-gold)}
.h-gal3 p{color:var(--agl-stone-300);font-weight:300;max-width:42ch}
.h-gal3 .gq{font-family:var(--agl-display);font-style:italic;font-weight:500;font-size:19px;color:var(--agl-stone-300);border-left:2px solid var(--agl-gold);padding-left:20px;margin:26px 0 0;max-width:40ch}
.h-gal3 .plaque{position:absolute;left:calc(55% - 220px);bottom:56px;width:188px;background:var(--agl-day-50);border:1px solid var(--agl-hairline-day);padding:14px 14px 12px;z-index:3;box-shadow:var(--agl-shadow-drop)}
.h-gal3 .plaque img{display:block;width:100%;height:auto}
.h-gal3 .plaque .pl{display:block;text-align:center;white-space:nowrap;margin-top:10px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--agl-ink-3);font-variation-settings:"wdth" 112;font-weight:500}
.h-part .phead{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center;margin-bottom:44px}
.h-part .pside{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:16px}
.ptiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--agl-hairline-day-soft);border:1px solid var(--agl-hairline-day-soft)}
.ptile{background:var(--agl-day-50);padding:30px 26px 32px}
.ptile svg{width:30px;height:30px;color:var(--agl-ink-2);display:block;margin-bottom:20px}
.ptile .pk{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--agl-gold-ink);font-variation-settings:"wdth" 112;font-weight:500;margin-bottom:10px}
.ptile p{font-size:13.5px;color:var(--agl-ink-2);line-height:1.7}
@media (max-width:920px){.h-viz3{grid-template-columns:1fr}.h-gal3{grid-template-columns:1fr}.h-gal3 .plaque{display:none}.ptiles{grid-template-columns:1fr 1fr}.h-part .phead{grid-template-columns:1fr}}
.h-part{background:var(--agl-day-100);color:var(--agl-ink);padding:88px 64px;display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center;border-top:1px solid var(--agl-hairline-day-soft)}
.h-part h2{font-family:var(--agl-display);font-weight:500;font-size:clamp(30px,3.4vw,44px);line-height:1.12;margin:14px 0 14px}
.h-part h2 em{font-style:italic;color:var(--agl-gold-ink)}
.h-part .paud{margin-top:20px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--agl-ink-3);font-variation-settings:"wdth" 112}
.h-part .paud b{color:var(--agl-gold-ink);font-weight:500}
.h-part p{color:var(--agl-ink-2);font-weight:320;max-width:52ch}
.h-part .ptags{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.h-part .pside{justify-self:end}
@media (max-width:920px){.h-gal2{grid-template-columns:1fr}.h-insp .igrid{grid-template-columns:1fr}.h-part{grid-template-columns:1fr}}
body.home section.h-gal3{background:var(--agl-noir-950);padding:0;min-height:620px}
body.home section.h-part{background:var(--agl-day-100);display:block;padding:88px 64px}
body.home section.v-cta{background:
  radial-gradient(900px 380px at 50% -16%, rgba(200,183,138,.06), transparent 62%),
  linear-gradient(160deg,#100f0d,#0b0b0a 60%)}
.v-cta .ctaalt{margin-top:22px;font-size:12.5px;color:var(--agl-stone-500)}
.v-cta .ctaalt a{color:var(--agl-stone-300);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(244,242,237,.3);transition:color var(--agl-t-base) var(--agl-ease)}
.v-cta .ctaalt a:hover{color:var(--agl-gold)}
@media (max-width:920px){
  body.home .v-util{display:none}
  body.home .v-nav{display:none} 
  body.home .v-header{height:64px}
  body.home section.v-hero--video{min-height:max(480px, calc(100svh - 64px));padding-top:0}
  .h-viz3{padding:64px 0;gap:36px}
  .h-gal3 .gtext{padding:56px 24px 64px;padding-right:24px !important}
  .h-gal3{min-height:0 !important}
  .h-cats{padding-block:64px}
  .h-insp{padding:64px 0}
  .h-insp .ihead{flex-direction:column;align-items:flex-start;gap:12px}
  .h-ed{padding:64px 0}
  .h-ed .ehead{flex-direction:column;align-items:flex-start;gap:12px}
  .h-part .pside{justify-self:start}
  .v-footer .fmain{grid-template-columns:1fr !important;gap:36px}
  .colcard .cmeta{left:20px;right:20px;bottom:18px}
}

/* ---- 3.2: visualizer framed to the content rails (design ruling, in-situ) ---- */
body.home section.vizswap,body.page-template-galleria section.vizswap{padding-inline:var(--agl-inline)}
.vizswap .stagewrap{max-width:var(--agl-page-max)}
.vizswap .vhead{padding-inline:0}
@media (max-width:920px){
  body.home section.vizswap,body.page-template-galleria section.vizswap{padding-inline:0}
  .vizswap .vhead{padding-inline:24px}
}

/* ---- Pillar template (Material Pillar) ---- */
.pil-hero{position:relative;min-height:62svh;display:flex;align-items:flex-end;background:var(--agl-noir-950);color:var(--agl-ivory);overflow:hidden}
.pil-hero .pil-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.pil-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,10,.55) 0%,rgba(11,11,10,.15) 45%,rgba(11,11,10,.78) 100%)}
.panels-hero{min-height:88svh}
.panels-hero .pil-scrim{background:linear-gradient(90deg,rgba(11,11,10,.72) 0%,rgba(11,11,10,.36) 26%,rgba(11,11,10,0) 48%),linear-gradient(180deg,rgba(11,11,10,0) 62%,rgba(11,11,10,.42) 100%)}
.pil-head{position:relative;padding:140px var(--agl-inline) 72px;max-width:880px}
.pil-head h1{font-family:var(--agl-display);font-weight:500;font-size:clamp(38px,5vw,64px);line-height:1.06;margin:16px 0 14px}
.pil-head p{color:var(--agl-stone-300);font-weight:300;max-width:52ch;font-size:16.5px}

.pil-arg{background:var(--agl-day-50);color:var(--agl-ink);padding:96px var(--agl-inline)}
.pil-argin{max-width:62ch;font-size:17px;line-height:1.85;font-weight:340}
.pil-argin p+p{margin-top:1.2em}

.pil-spot{display:grid;grid-template-columns:1.25fr 1fr;background:var(--agl-noir-950);color:var(--agl-ivory)}
.pil-spotimg{min-height:480px;position:relative;overflow:hidden}
.pil-spotimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pil-spotbody{display:flex;flex-direction:column;justify-content:center;padding:72px var(--agl-inline) 72px 64px}
.pil-spotbody h2{font-family:var(--agl-display);font-weight:500;font-size:clamp(28px,3vw,42px);margin:14px 0 12px}
.pil-spotbody p{color:var(--agl-stone-300);font-weight:300;max-width:44ch;margin:0 0 24px}

.pil-grid{background:var(--agl-day-50);color:var(--agl-ink);padding:96px var(--agl-inline) 112px}
#tsGrid{scroll-margin-top:90px}
.pil-gridhead{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:44px}
.pil-gridhead h2{font-family:var(--agl-display);font-weight:500;font-size:clamp(28px,3vw,40px);margin:14px 0 0}
.pil-chips{display:flex;gap:10px;flex-wrap:wrap}
.pil-chip{font-family:var(--agl-body);font-variation-settings:"wdth" 112;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;padding:10px 18px;background:transparent;border:1px solid var(--agl-hairline-day);color:var(--agl-ink-2);cursor:pointer;transition:border-color var(--agl-t-base) var(--agl-ease),color var(--agl-t-base) var(--agl-ease),background var(--agl-t-base) var(--agl-ease)}
.pil-chip:hover{border-color:rgba(22,20,15,.45)}
.pil-chip.on{background:var(--agl-ink);color:var(--agl-day-50);border-color:var(--agl-ink)}
.pil-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.pil-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--agl-hairline-day-soft);transition:border-color var(--agl-t-base) var(--agl-ease),transform var(--agl-t-base) var(--agl-ease),box-shadow var(--agl-t-base) var(--agl-ease)}
.pil-card:hover{border-color:rgba(22,20,15,.3);transform:translateY(-2px);box-shadow:0 18px 50px rgba(22,20,15,.08)}
.pil-card.hid{display:none}
.pil-cardimg{display:block;position:relative;aspect-ratio:4/3;overflow:hidden}
.pil-cardimg::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(22,20,15,.08);pointer-events:none}
.pil-cardimg img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--agl-ease)}
.pil-card:hover .pil-cardimg img{transform:scale(1.03)}
.pil-cardbody{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 20px 20px}
.pil-cardname{font-family:var(--agl-display);font-weight:500;font-size:21px}
.pil-cardfam{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--agl-gold-ink);font-variation-settings:"wdth" 112;font-weight:500}

@media (max-width:1100px){.pil-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:920px){
  .pil-spot{grid-template-columns:1fr}
  .pil-spotimg{min-height:320px}
  .pil-spotbody{padding:48px 24px}
  .pil-head{padding:120px 24px 56px}
  .pil-arg,.pil-grid{padding-inline:24px}
}
@media (max-width:640px){.pil-cards{grid-template-columns:1fr}}

/* ---- Material detail ---- */
.mat-back{text-decoration:none;color:var(--agl-gold)}
.mat-body h1{font-family:var(--agl-display);font-weight:500;font-size:clamp(38px,4.6vw,60px);line-height:1.05;margin:16px 0 14px}
.mat-fam{align-self:flex-start;margin-bottom:18px}
.mat-intro{color:var(--agl-stone-300);font-weight:300;max-width:46ch;font-size:16.5px;margin:0 0 32px}
.mat-spec{margin:0 0 36px;border-top:1px solid var(--agl-hairline-soft)}
.mat-spec div{display:flex;justify-content:space-between;gap:24px;padding:13px 0;border-bottom:1px solid var(--agl-hairline-soft)}
.mat-spec dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--agl-stone-500);font-variation-settings:"wdth" 112;font-weight:500}
.mat-spec dd{margin:0;font-size:14px;color:var(--agl-stone-300)}
.mat-actions{display:flex;gap:14px;flex-wrap:wrap}
.mat-proj{background:var(--agl-day-50);color:var(--agl-ink);padding:96px var(--agl-inline) 112px}
.mat-projhead{margin-bottom:40px}
.mat-projhead h2{font-family:var(--agl-display);font-weight:500;font-size:clamp(26px,3vw,38px);margin:14px 0 0}
@media (max-width:920px){
}


/* ---- Material detail v3: slab viewer + bookmatch + spec + lifestyle ---- */
.mat-hero{display:grid;grid-template-columns:minmax(0,480px) minmax(0,620px);justify-content:center;column-gap:clamp(56px,7vw,140px);padding-inline:var(--agl-inline);background:var(--agl-noir-950);color:var(--agl-ivory)}
.slabview{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:120px 0 64px;gap:20px}
.slabframe{position:relative;width:min(400px,100%);aspect-ratio:3/4;border:1px solid var(--agl-hairline);background:#0e0e0d;cursor:crosshair;overflow:hidden}
.lens{position:absolute;width:190px;height:190px;border:1px solid var(--agl-gold);box-shadow:0 0 0 1px rgba(11,11,10,.6),0 18px 50px rgba(0,0,0,.45);background-repeat:no-repeat;pointer-events:none;opacity:0;transition:opacity .25s var(--agl-ease);z-index:3}
.slabframe:hover .lens{opacity:1}
.slabmeta{display:flex;align-items:center;gap:16px}
.slabtabs{display:flex;gap:10px}
.slabtab{width:46px;height:62px;padding:0;border:1px solid var(--agl-hairline);background:none;cursor:pointer;overflow:hidden;opacity:.6;transition:opacity .35s var(--agl-ease),border-color .35s var(--agl-ease)}
.slabtab img{width:100%;height:100%;object-fit:cover;display:block}
.slabtab.on{opacity:1;border-color:var(--agl-gold);box-shadow:0 0 0 1px var(--agl-hairline-gold)}
.slabtab:focus-visible{outline:none;border-color:var(--agl-gold);box-shadow:0 0 0 2px var(--agl-noir-950),0 0 0 4px var(--agl-gold-deep)}
.slabcap{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--agl-stone-500);font-variation-settings:"wdth" 112;font-weight:500}
.slabhint{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--agl-stone-500);font-variation-settings:"wdth" 112}
.mat-body{display:flex;flex-direction:column;justify-content:center;padding:120px 0 88px}
.mat-lead{font-family:var(--agl-display);font-style:italic;font-weight:500;font-size:clamp(19px,1.8vw,24px);color:var(--agl-gold);margin:0 0 14px;max-width:38ch}
.mat-bodycopy{color:var(--agl-stone-300);font-weight:300;max-width:52ch;font-size:15.5px;line-height:1.75;margin:0 0 26px}
.mat-finishes{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 32px}
.mat-finlabel{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--agl-stone-500);font-variation-settings:"wdth" 112;font-weight:500;margin-right:4px}
.mat-finchip{position:relative;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-variation-settings:"wdth" 112;font-weight:500;color:var(--agl-stone-300);border:1px solid var(--agl-hairline);padding:7px 12px;cursor:default;transition:border-color var(--agl-t-base) var(--agl-ease),color var(--agl-t-base) var(--agl-ease)}
.mat-finchip--tip:hover,.mat-finchip--tip:focus-visible{border-color:var(--agl-hairline-gold);color:var(--agl-ivory);outline:none}
.mat-finchip--tip .ptip{width:250px;bottom:calc(100% + 8px)}
.mat-finchip--tip:hover .ptip,.mat-finchip--tip:focus-visible .ptip{opacity:1;transform:translateX(-50%) translateY(0)}
a.mat-finchip--link{text-decoration:none;cursor:pointer}
a.mat-finchip--link:hover,a.mat-finchip--link:focus-visible{border-color:var(--agl-gold);color:var(--agl-ivory);outline:none}
a.mat-finchip--link:hover::after{content:"\2192";margin-left:8px}
.specband{background:var(--agl-day-50);color:var(--agl-ink);padding:96px var(--agl-inline)}
.specin{max-width:1120px;margin:0 auto}
.specin h2{font-family:var(--agl-display);font-weight:500;font-size:clamp(26px,3vw,38px);margin:14px 0 28px}
.spectable{width:100%;max-width:880px;border-collapse:collapse;margin:0 0 56px}
.spectable th{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--agl-ink-2);font-variation-settings:"wdth" 112;font-weight:500;text-align:left;padding:0 16px 12px 0;border-bottom:1px solid var(--agl-hairline-day)}
.spectable td{padding:13px 16px 13px 0;border-bottom:1px solid var(--agl-hairline-day-soft);font-size:14.5px;font-weight:340}
.lifeband{background:var(--agl-noir-950);color:var(--agl-ivory);padding:96px var(--agl-inline) 112px}
.lifehead{display:flex;align-items:baseline;justify-content:space-between;margin:0 auto 28px;max-width:var(--agl-page-max)}
.lifehead .eyebrow{margin:0}
.lifestage{position:relative;max-width:var(--agl-page-max);margin:0 auto;aspect-ratio:16/8.5;overflow:hidden}
.lifestage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s var(--agl-ease)}
.lifestage img.on{opacity:1}
.lifethumbs{display:flex;gap:10px;max-width:var(--agl-page-max);margin:14px auto 0}
.lifethumb{width:84px;height:56px;padding:0;border:1px solid var(--agl-hairline);background:none;cursor:pointer;overflow:hidden;opacity:.6;transition:opacity .35s var(--agl-ease),border-color .35s var(--agl-ease)}
.lifethumb img{width:100%;height:100%;object-fit:cover;display:block}
.lifethumb.on{opacity:1;border-color:var(--agl-gold)}
.lifepairs{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;max-width:var(--agl-page-max);margin:30px auto 0}
@media (max-width:920px){
  .mat-hero{grid-template-columns:1fr}
  .specband,.lifeband{padding-inline:24px}
  .slabview{padding:96px 0 8px}
  .slabframe{cursor:default}
  .slabframe .lens,.slabhint{display:none}
  .mat-body{padding:40px 0 56px}
}

/* ---- 3.1: bookmatch in the viewer + icon properties ---- */
.slabframe .pane{position:absolute;inset:0;opacity:0;transition:opacity .5s var(--agl-ease)}
.slabframe img.pane{width:100%;height:100%;object-fit:cover}
.slabframe .pane.on{opacity:1}
.bookpane{display:grid}
.bookpane.book-2{grid-template-columns:1fr 1fr}
.bookpane.book-3{grid-template-columns:1fr 1fr 1fr}
.bookpane img{position:static;opacity:1;width:100%;height:100%;object-fit:cover;display:block}
.bookpane img+img{border-left:1px solid var(--agl-hairline)}
.slabtab--book{display:grid;grid-template-columns:1fr 1fr;width:62px}
.slabtab--book img+img{border-left:1px solid var(--agl-hairline)}
.props{display:flex;flex-wrap:wrap;gap:10px}
.prop{position:relative;display:inline-flex;align-items:center;gap:9px;border:1px solid var(--agl-hairline-day);padding:10px 14px;cursor:default;color:var(--agl-ink-2);transition:border-color var(--agl-t-base) var(--agl-ease),color var(--agl-t-base) var(--agl-ease)}
.prop svg{width:20px;height:20px;flex:none}
.prop:hover,.prop:focus-visible{border-color:rgba(22,20,15,.4);color:var(--agl-ink);outline:none}
.proplabel{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-variation-settings:"wdth" 112;font-weight:500}
.ptip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);width:240px;background:var(--agl-noir-950);color:var(--agl-stone-300);font-size:12.5px;font-weight:340;line-height:1.55;letter-spacing:0;text-transform:none;padding:12px 14px;opacity:0;pointer-events:none;transition:opacity .25s var(--agl-ease),transform .25s var(--agl-ease);z-index:5;border:1px solid var(--agl-hairline)}
.prop:hover .ptip,.prop:focus-visible .ptip{opacity:1;transform:translateX(-50%) translateY(0)}
@media (hover:none){.ptip{display:none}}

/* ---- 6.3: series tooltips in the availability table ---- */
.series{position:relative;display:inline-flex;align-items:center;gap:7px;cursor:default}
.series-i{width:15px;height:15px;color:var(--agl-ink-2);opacity:.7;transition:opacity var(--agl-t-base) var(--agl-ease),color var(--agl-t-base) var(--agl-ease)}
.series:hover .series-i,.series:focus-visible .series-i{opacity:1;color:var(--agl-gold-ink)}
.series:focus-visible{outline:none}
.series .ptip{width:250px;bottom:calc(100% + 8px)}
.series:hover .ptip,.series:focus-visible .ptip{opacity:1;transform:translateX(-50%) translateY(0)}
/* ============ pillar v2 (drop 9) ============ */
/* CONTAINER LAW - two legal patterns, never combined on one element:
   A) full-width element + padding-inline:var(--agl-inline)  (self-centers to page-max)
   B) max-width:var(--agl-page-max) + margin-inline:auto, inside an A-padded parent.
   Combining A+B double-constrains and collapses content to min-width. */
.eyebrow--ink{color:var(--agl-ink-2)}
.eyebrow--ink::before{background:var(--agl-ink-2)}
.pil2-hero{position:relative;min-height:88svh;display:flex;align-items:flex-end;background:var(--agl-noir-950);color:var(--agl-ivory);overflow:hidden}
.pil2-herobg{position:absolute;inset:0}
.pil2-herobg img{width:100%;height:100%;object-fit:cover;display:block}
.pil2-herobg::after{content:"";position:absolute;inset:0;background:linear-gradient(92deg,rgba(11,11,10,.72) 0%,rgba(11,11,10,.42) 42%,rgba(11,11,10,.08) 75%),linear-gradient(180deg,rgba(11,11,10,.32) 0%,rgba(11,11,10,0) 30%,rgba(11,11,10,.55) 78%,rgba(11,11,10,.9) 100%)}
.pil2-heroin{position:relative;width:100%;padding:0 var(--agl-inline) 88px}
.pil2-hero h1{font-family:var(--agl-display);font-weight:500;font-size:clamp(46px,5.4vw,76px);line-height:1.04;margin:24px 0 22px;max-width:16ch}
.pil2-lead{font-family:var(--agl-display);font-style:italic;font-size:clamp(18px,1.6vw,22px);color:var(--agl-stone-200);max-width:46ch;line-height:1.55;margin:0}
.pil2-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.pil2-btnglass{border:1px solid rgba(244,242,237,.35);color:var(--agl-ivory);background:rgba(10,10,9,.25)}
.pil2-btnglass:hover{border-color:var(--agl-gold);color:var(--agl-ivory)}
@supports (backdrop-filter: blur(1px)){.pil2-btnglass{backdrop-filter:blur(3px)}}
.pil2-scrollcue{position:absolute;right:var(--agl-inline);bottom:88px;writing-mode:vertical-rl;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--agl-stone-300);font-variation-settings:"wdth" 112}
.pil2-arg{padding:120px var(--agl-inline)}
.pil2-argin{display:grid;grid-template-columns:minmax(0,360px) minmax(0,640px);justify-content:center;column-gap:clamp(64px,8vw,150px);row-gap:48px}
.pil2-argrail h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(34px,3.4vw,50px);color:var(--agl-ink);margin:20px 0 0;line-height:1.12}
.pil2-argbody p{font-size:17px;line-height:1.9;color:var(--agl-ink-2);margin:0 0 30px}
.pil2-argbody p:last-child{margin-bottom:0}
.pil2-argbody strong{display:block;font-family:var(--agl-display);font-weight:480;font-size:21px;color:var(--agl-ink);margin-bottom:8px;letter-spacing:.01em}
.pil2-perf{background:var(--agl-day-100);padding:115px var(--agl-inline)}
.pil2-perf h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(34px,3.4vw,50px);color:var(--agl-ink);margin:20px 0 58px}
.pil2-nums{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--agl-hairline-day);margin-bottom:46px}
.pil2-num{padding:44px 34px;border-right:1px solid var(--agl-hairline-day)}
.pil2-num:last-child{border-right:0}
.pil2-num .ptop{display:flex;justify-content:space-between;align-items:flex-start}
.pil2-numlabel{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-variation-settings:"wdth" 112;font-weight:500;color:var(--agl-ink-2)}
.pil2-num b{display:block;font-family:var(--agl-display);font-weight:320;font-size:clamp(44px,4.2vw,62px);line-height:1;color:var(--agl-ink);margin-bottom:13px;white-space:nowrap}
.pil2-num b small{font-size:.42em;font-weight:400;color:var(--agl-ink-2)}
.pil2-num p{font-size:13.5px;line-height:1.65;color:var(--agl-ink-2);margin:14px 0 0;max-width:28ch}
.pil2-apps{background:var(--agl-noir-950);color:var(--agl-ivory);padding:115px var(--agl-inline)}
.pil2-appshead{margin-bottom:50px}
.pil2-apps h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(34px,3.4vw,50px);margin-top:20px}
.pil2-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(180px,17vw,260px);gap:16px}
.pil2-mosaic figure{position:relative;overflow:hidden;margin:0}
.pil2-mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--agl-ease)}
.pil2-mosaic figure:hover img{transform:scale(1.05)}
.pil2-mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:56px 22px 18px;background:linear-gradient(transparent,rgba(10,10,9,.85));font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-variation-settings:"wdth" 112;font-weight:500}
.an2-band{background:var(--agl-noir-950);color:var(--agl-ivory);padding:0 var(--agl-inline) 115px}
.an2-head{margin-bottom:50px}
.an2-band h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(34px,3.4vw,50px);margin:20px 0 14px}
.an2-sub{font-family:var(--agl-display);font-style:italic;color:var(--agl-stone-200);font-size:17px;margin:0;max-width:52ch}
.an2-frame{position:relative;overflow:hidden}
.an2-frame>img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}
.an2-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,9,.1),transparent 28%,transparent 72%,rgba(10,10,9,.28));pointer-events:none}
.an2-tick{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;background:none;border:0;cursor:pointer;padding:0;z-index:3;opacity:0;transform:translateY(10px) scale(.85);transition:opacity .6s var(--agl-ease),transform .6s var(--agl-ease)}
.an2-frame.show .an2-tick{opacity:1;transform:none}
.an2-frame.show .an2-tick:nth-of-type(1){transition-delay:.15s}
.an2-frame.show .an2-tick:nth-of-type(2){transition-delay:.4s}
.an2-frame.show .an2-tick:nth-of-type(3){transition-delay:.65s}
.an2-frame.show .an2-tick:nth-of-type(4){transition-delay:.9s}
.an2-disc{position:absolute;inset:7px;border-radius:50%;background:rgba(12,12,11,.55);border:1px solid rgba(200,183,138,.75);box-shadow:0 0 0 1px rgba(11,11,10,.4);transition:transform .35s var(--agl-ease),border-color .3s,background .3s,box-shadow .3s}
@supports (backdrop-filter: blur(1px)){.an2-disc{backdrop-filter:blur(5px)}}
.an2-tick:hover .an2-disc,.an2-tick:focus-visible .an2-disc{transform:scale(1.15);border-color:var(--agl-gold)}
.an2-tick.on .an2-disc{background:rgba(12,12,11,.78);border-color:var(--agl-gold);border-width:1.5px;box-shadow:0 0 0 1.5px rgba(11,11,10,.55)}
.an2-mark{position:absolute;left:50%;top:50%;width:13px;height:13px;transform:translate(-50%,-50%);transition:transform .35s var(--agl-ease)}
.an2-mark::before,.an2-mark::after{content:"";position:absolute;left:50%;top:50%;background:var(--agl-gold)}
.an2-mark::before{width:13px;height:1.5px;transform:translate(-50%,-50%)}
.an2-mark::after{width:1.5px;height:13px;transform:translate(-50%,-50%)}
.an2-tick.on .an2-mark::before{height:2px;box-shadow:0 0 6px rgba(11,11,10,.6)}
.an2-tick.on .an2-mark::after{width:2px;box-shadow:0 0 6px rgba(11,11,10,.6)}
.an2-tick.on .an2-mark{transform:translate(-50%,-50%) rotate(45deg)}
.an2-tick:focus-visible{outline:none}
.an2-lead{position:absolute;height:1px;background:var(--agl-gold);transform-origin:0 50%;z-index:3;opacity:0;transition:opacity .35s}
.an2-lead.on{opacity:.8}
.an2-call{position:absolute;z-index:4;width:min(320px,70vw);background:rgba(12,12,11,.92);border:1px solid rgba(200,183,138,.45);padding:24px 26px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .4s,transform .4s var(--agl-ease)}
@supports (backdrop-filter: blur(1px)){.an2-call{backdrop-filter:blur(6px)}}
.an2-call.on{opacity:1;transform:translateY(0);pointer-events:auto}
.an2-call .k{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--agl-gold);font-variation-settings:"wdth" 112;font-weight:500}
.an2-call h4{font-family:var(--agl-display);font-weight:450;font-size:20px;margin:9px 0 8px}
.an2-call p{font-size:13.5px;line-height:1.6;color:var(--agl-stone-200);margin:0}
.an2-credit{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--agl-stone-300);font-variation-settings:"wdth" 112}
.an2-credit a{color:var(--agl-gold);text-decoration:none}
.an2-credit a:hover{text-decoration:underline}
.pil2-proj{padding:115px var(--agl-inline)}
.pil2-proj h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(34px,3.4vw,50px);color:var(--agl-ink);margin:20px 0 52px}
.pil2-projcard{display:grid;grid-template-columns:1.3fr 1fr;background:#fff;box-shadow:0 1px 0 rgba(22,20,15,.07),0 24px 60px -30px rgba(22,20,15,.18)}
.pil2-projimg{min-height:420px;overflow:hidden}
.pil2-projimg img{width:100%;height:100%;object-fit:cover;display:block}
.pil2-projbody{padding:56px 52px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.pil2-projbody h3{font-family:var(--agl-display);font-weight:440;font-size:30px;color:var(--agl-ink);margin:16px 0 14px}
.pil2-projbody p{font-size:15.5px;line-height:1.75;color:var(--agl-ink-2);margin:0 0 30px}
.pil2-btnink{border:1px solid var(--agl-hairline-day);color:var(--agl-ink);background:transparent}
.pil2-btnink:hover{border-color:var(--agl-gold-ink);color:var(--agl-ink)}
.pil2-edit{padding:0 var(--agl-inline) 115px}
.pil2-editgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.pil2-editcard{background:#fff;text-decoration:none;display:block;box-shadow:0 1px 0 rgba(22,20,15,.07);transition:box-shadow .4s}
.pil2-editcard:hover{box-shadow:0 24px 50px -28px rgba(22,20,15,.28)}
.pil2-editimg{display:block;aspect-ratio:16/8;overflow:hidden}
.pil2-editimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--agl-ease)}
.pil2-editcard:hover .pil2-editimg img{transform:scale(1.04)}
.pil2-editbody{display:block;padding:32px 36px 36px}
.pil2-editkicker{display:block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--agl-gold-ink);font-variation-settings:"wdth" 112;font-weight:500}
.pil2-edittitle{display:block;font-family:var(--agl-display);font-weight:440;font-size:24px;color:var(--agl-ink);margin-top:13px;line-height:1.25}
.pil2-conthead{background:var(--agl-noir-950);color:var(--agl-ivory);padding:105px var(--agl-inline) 56px}
.pil2-conthead h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(34px,3.4vw,50px);margin-top:20px}
.pil2-trio{display:grid;grid-template-columns:repeat(3,1fr);background:var(--agl-noir-950)}
.pil2-triocol{position:relative;height:min(74vh,660px);overflow:hidden;text-decoration:none;display:block}
.pil2-triocol+.pil2-triocol{border-left:1px solid var(--agl-hairline)}
.pil2-triocol img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.55) saturate(.92);transition:filter .7s,transform 1.1s var(--agl-ease)}
.pil2-triocol:hover img{filter:brightness(.85) saturate(1);transform:scale(1.04)}
.pil2-triolabel{position:absolute;inset:auto 0 0;padding:0 38px 44px;color:var(--agl-ivory);background:linear-gradient(transparent,rgba(10,10,9,.72))}
.pil2-trioname{display:block;font-family:var(--agl-display);font-weight:400;font-size:clamp(24px,2vw,31px);margin:12px 0 8px}
.pil2-trioline{display:block;font-family:var(--agl-display);font-style:italic;color:var(--agl-stone-200);font-size:15.5px}
@media (max-width:920px){
.pil2-argin,.pil2-projcard,.pil2-editgrid,.pil2-trio{grid-template-columns:1fr}
.pil2-nums{grid-template-columns:1fr 1fr}
.pil2-num:nth-child(odd){padding-left:0}
.pil2-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:200px}
.pil2-mosaic figure:nth-child(n){grid-column:auto;grid-row:auto}
.pil2-triocol{height:54vh}
.pil2-projimg{min-height:280px}
.an2-call{left:24px!important;right:24px;width:auto;top:auto!important;bottom:18px}
}

/* drop 9.3: heading accents per ground (canon: gold on noir, gold-ink on day) */
.pil2-argrail h2 em,.pil2-perf h2 em,.pil2-proj h2 em{font-style:italic;color:var(--agl-gold-ink)}
.pil2-apps h2 em,.an2-band h2 em,.pil2-conthead h2 em{font-style:italic;color:var(--agl-gold)}
/* drop 9.3: argument as numbered editorial */
.pil2-argbody{counter-reset:aglarg}
.pil2-argbody p{counter-increment:aglarg;border-top:1px solid var(--agl-hairline-day);padding-top:26px;position:relative}
.pil2-argbody p::before{content:"0" counter(aglarg);display:block;font-size:10px;letter-spacing:.24em;color:var(--agl-gold-ink);font-weight:500;font-variation-settings:"wdth" 112;margin-bottom:12px}
.pil2-argbody p:first-child{border-top:0;padding-top:0}
.pil2-argbody p:first-child::before{content:"01"}
/* drop 9.3: missing-imagery placeholder tiles (dev cherry-pick) */
.pil2-needs{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(244,242,237,.03);border:1px dashed rgba(200,183,138,.5)}
.pil2-needslabel{font-family:var(--agl-display);font-size:21px;color:var(--agl-stone-200)}
.pil2-needstag{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--agl-gold);border:1px solid rgba(200,183,138,.4);padding:6px 12px;font-variation-settings:"wdth" 112;font-weight:500}

/* drop 9.6: collection grid clamp */
.pil-cards.pil-clamped .pil-card:nth-child(n+13){display:none}
.pil-grid h2 em{font-style:italic;color:var(--agl-gold-ink)}
.pil-more{display:flex;justify-content:center;margin-top:44px}


/* ========================================================================
   INSPIRATION PAGE (single-agl_project.php) — drop 9.12
   ======================================================================== */
/* ================= INSPIRATION PAGE (assembled) ================= */
.ih-eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--agl-gold);font-variation-settings:"wdth" 112;font-weight:500;display:flex;align-items:center;gap:12px}
.ih-eyebrow::before{content:"";width:34px;height:1px;background:var(--agl-gold)}
.ih-eyebrow--ink{color:var(--agl-gold-ink)}.ih-eyebrow--ink::before{background:var(--agl-gold-ink)}

/* placeholder (image to generate) */
.gen{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:rgba(244,242,237,.03);border:1px dashed rgba(200,183,138,.45);text-align:center;padding:40px;min-height:100%}
.gen .gtag{font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--agl-gold);border:1px solid rgba(200,183,138,.4);padding:6px 12px;font-variation-settings:"wdth" 112;font-weight:500}
.gen .gname{font-family:var(--agl-display);font-size:20px;color:var(--agl-stone-200);max-width:24ch}
.gen .gnote{font-size:11.5px;line-height:1.6;color:var(--agl-stone-300);max-width:30ch}

/* HERO (display tier, scene-led) */
.iha{position:relative;height:100svh;min-height:640px;overflow:hidden;background:#070706}
.iha-bg{position:absolute;inset:0}.iha-bg img{width:100%;height:100%;object-fit:cover}
.iha-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,7,.45) 0%,rgba(8,8,7,.05) 28%,rgba(8,8,7,.35) 60%,rgba(8,8,7,.92) 100%)}
.iha-in{position:absolute;inset:auto 0 0 0;padding:0 var(--agl-inline) 92px;z-index:2}
.iha-in::before{content:"";position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(180deg,transparent,rgba(8,8,7,.55));z-index:-1}
.iha h1{margin-left:-.03em;font-family:var(--agl-display);font-weight:400;font-size:clamp(52px,6.2vw,96px);line-height:1.0;color:var(--agl-ivory);margin-top:18px;text-shadow:0 2px 50px rgba(0,0,0,.6),0 1px 4px rgba(0,0,0,.4)}
.iha h1 em{font-style:italic;color:var(--agl-stone-200)}
.iha-sub{font-family:var(--agl-display);font-style:italic;font-size:clamp(18px,1.8vw,24px);color:#e9e5dd;margin:20px 0 0;max-width:42ch;text-shadow:0 1px 24px rgba(0,0,0,.7)}
.iha-meta{position:absolute;right:var(--agl-inline);bottom:92px;text-align:right;z-index:2}
.iha-meta .k{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--agl-stone-300);font-variation-settings:"wdth" 112}
.iha-meta .v{font-family:var(--agl-display);font-size:18px;color:var(--agl-ivory);margin-top:5px}
.iha-meta .v a{color:var(--agl-ivory);text-decoration:none;position:relative;transition:color .35s}
.iha-meta .v a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--agl-gold);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--agl-ease)}
.iha-meta .v a:hover{color:var(--agl-gold)}.iha-meta .v a:hover::after{transform:scaleX(1);transform-origin:left}
.iha-sep{color:var(--agl-stone-300);margin:0 4px}.iha-collink{color:var(--agl-stone-200)!important;font-size:.82em}

/* INTRO (scene named) */
.intro{background:var(--agl-noir-950);color:var(--agl-ivory);padding:120px var(--agl-inline);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(48px,7vw,110px);align-items:center}
.intro h2{font-family:var(--agl-display);font-weight:380;font-size:clamp(32px,3.6vw,50px);line-height:1.1;margin:20px 0 0}
.intro h2 em{font-style:italic;color:var(--agl-gold)}
.intro p{font-size:16px;line-height:1.85;color:var(--agl-stone-200);margin:24px 0 0;max-width:46ch}
.intro-fig{aspect-ratio:3/4;overflow:hidden;position:relative}
.intro-cap{font-family:var(--agl-display);font-style:italic;font-size:15px;line-height:1.6;color:var(--agl-stone-300);margin:18px 0 0;padding-left:16px;border-left:1px solid rgba(200,183,138,.4)}
.intro-fig img{width:100%;height:100%;object-fit:cover;display:block}

/* GALLERY (the scene continued) */
.gal{background:#070706;color:var(--agl-ivory);padding:120px var(--agl-inline)}
.gal-head{text-align:center;margin-bottom:54px}
.gal-head h2{font-family:var(--agl-display);font-weight:360;font-size:clamp(30px,3.2vw,46px);margin:16px 0 0}
.gal-head h2 em{font-style:italic;color:var(--agl-gold)}
.gal-grid{max-width:var(--agl-page-max);margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:200px;gap:16px}
.gal-grid figure{margin:0;overflow:hidden;position:relative}
.gal-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--agl-ease)}
.gal-grid figure:hover img{transform:scale(1.05)}
.gal-a{grid-column:span 4;grid-row:span 2}.gal-b{grid-column:span 2;grid-row:span 1}
.gal-c{grid-column:span 2;grid-row:span 1}.gal-d{grid-column:span 3;grid-row:span 1}.gal-e{grid-column:span 3;grid-row:span 1}

/* THE SURFACE (closing payoff) */
.surf{background:var(--agl-day-100);color:var(--agl-ink);padding:130px var(--agl-inline);display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:clamp(48px,7vw,110px);align-items:center}
.surf-fig{aspect-ratio:4/5;overflow:hidden;position:relative;box-shadow:0 30px 70px -34px rgba(22,20,15,.4)}
.surf-fig img{width:100%;height:100%;object-fit:cover;display:block}
.surf h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(32px,3.4vw,48px);margin:18px 0 0;line-height:1.12}
.surf h2 em{font-style:italic;color:var(--agl-gold-ink)}
.surf p{font-size:16px;line-height:1.8;color:var(--agl-ink-2);margin:22px 0 0;max-width:42ch}
.surf-links{display:flex;flex-direction:column;gap:0;margin-top:34px;border-top:1px solid var(--agl-hairline-day)}
.surf-link{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--agl-hairline-day);text-decoration:none;color:var(--agl-ink);transition:padding .3s}
.surf-link:hover{padding-left:10px}
.surf-link .sl-name{font-family:var(--agl-display);font-size:22px}
.surf-link .sl-arrow{color:var(--agl-gold-ink);font-size:18px}
.surf-link .sl-sub{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--agl-ink-2);font-variation-settings:"wdth" 112;display:block;margin-top:3px}

@media(max-width:860px){
  .intro,.surf{grid-template-columns:1fr;padding:80px var(--agl-inline)}
  .intro-fig{aspect-ratio:16/10}.surf-fig{aspect-ratio:16/10}
  .gal-grid{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
  .gal-grid figure[class]{grid-column:auto;grid-row:auto}
  .gal-a{grid-column:1/-1!important;grid-row:span 2!important}
  .iha-meta{right:var(--agl-inline);bottom:60px}
}

/* ============ INSPIRATION — Under Controlled Light (lighting cage) ============ */
.cage-band{background:#070706;color:var(--agl-ivory);padding:120px var(--agl-inline)}
.cage-head{max-width:var(--agl-page-max);margin:0 auto 56px;text-align:center}
.cage-eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--agl-gold);font-variation-settings:"wdth" 112;font-weight:500}
.cage-head h2{font-family:var(--agl-display);font-weight:360;font-size:clamp(34px,3.6vw,52px);margin:18px 0 0}
.cage-head h2 em{font-style:italic;color:var(--agl-gold)}
.cage-head p{font-family:var(--agl-display);font-style:italic;color:var(--agl-stone-200);font-size:18px;margin:14px auto 0;max-width:46ch}
.cage-stage{max-width:1080px;margin:0 auto;position:relative;aspect-ratio:16/10;overflow:hidden;background:#040403;
  box-shadow:0 40px 120px -40px rgba(0,0,0,.9),inset 0 0 0 1px rgba(200,183,138,.12)}
.cage-surf{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* base = the stone in deep shadow */
.cage-base{filter:brightness(.22) contrast(1.05) saturate(.9)}
/* lit = full-bright copy, revealed by a mask whose shape IS the lighting state */
.cage-lit{filter:brightness(1.18) contrast(1.12) saturate(1.06);transition:-webkit-mask-image .9s var(--agl-ease),mask-image .9s var(--agl-ease),filter .9s var(--agl-ease)}
.cage-spec{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;transition:opacity .9s var(--agl-ease),background .9s var(--agl-ease)}
.cage-frameglow{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 120px 20px rgba(0,0,0,.7)}
/* STATE: shadow */
.cage-stage[data-state="shadow"] .cage-lit{-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,rgba(0,0,0,.25),transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,rgba(0,0,0,.25),transparent 75%);filter:brightness(.6) contrast(1.05)}
.cage-stage[data-state="shadow"] .cage-spec{opacity:0}
/* STATE: raking (low directional light from upper-left, grazing the surface) */
.cage-stage[data-state="raking"] .cage-lit{-webkit-mask-image:linear-gradient(115deg,rgba(0,0,0,1) 0%,rgba(0,0,0,.9) 22%,rgba(0,0,0,.25) 52%,rgba(0,0,0,0) 78%);mask-image:linear-gradient(115deg,rgba(0,0,0,1) 0%,rgba(0,0,0,.9) 22%,rgba(0,0,0,.25) 52%,rgba(0,0,0,0) 78%);filter:brightness(1.05) contrast(1.22) saturate(1.04)}
.cage-stage[data-state="raking"] .cage-spec{opacity:.55;background:linear-gradient(115deg,rgba(232,228,220,.32) 0%,rgba(200,183,138,.1) 28%,transparent 55%)}
/* STATE: full (even gallery light, full brilliance) */
.cage-stage[data-state="full"] .cage-lit{-webkit-mask-image:radial-gradient(ellipse 130% 120% at 50% 45%,rgba(0,0,0,1),rgba(0,0,0,1) 100%);mask-image:radial-gradient(ellipse 130% 120% at 50% 45%,rgba(0,0,0,1),rgba(0,0,0,1) 100%);filter:brightness(1.16) contrast(1.1) saturate(1.06)}
.cage-stage[data-state="full"] .cage-spec{opacity:.32;background:radial-gradient(ellipse 60% 50% at 50% 30%,rgba(232,228,220,.25),transparent 70%)}
.cage-statelabel{position:absolute;left:24px;bottom:20px;z-index:3;pointer-events:none}
.cage-statelabel .n{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--agl-gold);font-variation-settings:"wdth" 112;font-weight:500}
.cage-statelabel .d{font-family:var(--agl-display);font-style:italic;font-size:17px;color:var(--agl-stone-200);margin-top:4px;transition:opacity .5s}
/* the control */
.cage-control{display:flex;justify-content:center;gap:0;margin:36px auto 0;width:fit-content;border:1px solid rgba(200,183,138,.3)}
.cage-btn{appearance:none;background:none;border:0;border-right:1px solid rgba(200,183,138,.18);color:var(--agl-stone-300);
  font-family:var(--agl-body);font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-variation-settings:"wdth" 112;font-weight:500;
  padding:16px 30px;cursor:pointer;transition:color .35s,background .35s;position:relative}
.cage-btn:last-child{border-right:0}
.cage-btn:hover{color:var(--agl-ivory)}
.cage-btn.on{color:#080807;background:var(--agl-gold)}
.cage-hint{text-align:center;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--agl-stone-300);font-variation-settings:"wdth" 112;margin-top:20px;opacity:.6}
@media(max-width:680px){.cage-btn{padding:14px 18px;letter-spacing:.14em}}

@media(max-width:760px){
  .cage-band{padding:80px var(--agl-inline)}
  .cage-stage{aspect-ratio:4/5}
  .insp-ctx{grid-template-columns:1fr!important;gap:40px!important;padding:80px var(--agl-inline)!important}
  .cage-control{width:100%;max-width:360px}
  .cage-btn{flex:1;padding:18px 10px;letter-spacing:.12em}
  .cage-statelabel{left:16px;bottom:14px}
  .cage-statelabel .d{font-size:15px;max-width:80vw}
  .cage-head h2{font-size:clamp(28px,7vw,40px)}
}

/* ============ INSPIRATION — Bookmatch (finalized: slide → seam flash → seamless) ============ */
.bm-band{background:#070706;color:var(--agl-ivory);padding:120px var(--agl-inline);overflow:hidden}
.bm-head{max-width:var(--agl-page-max);margin:0 auto 56px;text-align:center}
.bm-eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--agl-gold);font-variation-settings:"wdth" 112;font-weight:500}
.bm-head h2{font-family:var(--agl-display);font-weight:360;font-size:clamp(34px,3.6vw,52px);margin:18px 0 0}
.bm-head h2 em{font-style:italic;color:var(--agl-gold)}
.bm-head p{font-family:var(--agl-display);font-style:italic;color:var(--agl-stone-200);font-size:18px;margin:14px auto 0;max-width:50ch}
.bm-stage{max-width:860px;margin:0 auto}
.bm-panels{position:relative;display:flex;aspect-ratio:11/7;box-shadow:0 50px 130px -45px rgba(0,0,0,.92);background:#040403;overflow:hidden}
.bm-half{position:relative;width:50%;height:100%;overflow:hidden}
.bm-half img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bm-right img{transform:scaleX(-1)}
/* the two faces slide in from the sides */
.bm-left{transform:translateX(-104%);opacity:.4;transition:transform 1.25s cubic-bezier(.16,.84,.44,1),opacity .85s ease}
.bm-right{transform:translateX(104%);opacity:.4;transition:transform 1.25s cubic-bezier(.16,.84,.44,1),opacity .85s ease}
.bm-panels.set .bm-left,.bm-panels.set .bm-right{transform:translateX(0);opacity:1}
.bm-glow{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px 16px rgba(0,0,0,.55);z-index:4}
/* the seam flash: a soft vertical light that appears AS they meet, then fades to nothing */
.bm-flash{position:absolute;top:0;bottom:0;left:50%;width:48px;transform:translateX(-24px);z-index:3;pointer-events:none;opacity:0;
  background:linear-gradient(90deg,transparent,rgba(232,228,220,.0) 20%,rgba(232,228,220,.55) 50%,rgba(232,228,220,.0) 80%,transparent)}
.bm-panels.flash .bm-flash{animation:bmFlash 1.5s ease forwards}
@keyframes bmFlash{
  0%{opacity:0}
  35%{opacity:1}     /* light blooms at the moment of contact */
  100%{opacity:0}    /* ...then dissolves, leaving one seamless face */
}
/* hairline seam — visible only during the join, gone by the end (the bookmatch illusion) */
.bm-seam{position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translateX(-.5px);z-index:3;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,transparent,rgba(200,183,138,.85) 12%,rgba(200,183,138,.85) 88%,transparent)}
.bm-panels.flash .bm-seam{animation:bmSeam 1.6s ease forwards}
@keyframes bmSeam{0%{opacity:0}30%{opacity:.9}55%{opacity:.9}100%{opacity:0}}
.bm-caption{max-width:560px;margin:42px auto 0;text-align:center}
.bm-caption .lead{font-family:var(--agl-display);font-size:21px;color:var(--agl-ivory);font-weight:430}
.bm-caption p{font-size:14.5px;line-height:1.75;color:var(--agl-stone-200);margin:12px 0 0}
.bm-replaywrap{display:flex;justify-content:center}
.bm-replay{appearance:none;background:none;border:1px solid rgba(200,183,138,.4);color:var(--agl-gold);font-family:var(--agl-body);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-variation-settings:"wdth" 112;font-weight:500;padding:13px 26px;margin:30px auto 0;display:flex;align-items:center;gap:9px;cursor:pointer;transition:background .35s,color .35s}
.bm-replay:hover{background:var(--agl-gold);color:#080807}
@media(max-width:680px){.bm-panels{aspect-ratio:4/5}.bm-band{padding:80px var(--agl-inline)}}

/* THE MATERIAL — pull-quote + comparison, centered (Container Law pattern B) */
.intro-v1{background:var(--agl-noir-950);color:var(--agl-ivory);padding:120px var(--agl-inline);display:block}
.introv1-wrap{max-width:820px;margin-inline:auto}
.introv1-body{display:block}
.introv1-fig{aspect-ratio:21/9;overflow:hidden;margin:0 0 48px}
.introv1-fig img{width:100%;height:100%;object-fit:cover;display:block}
.introv1-h2{font-family:var(--agl-display);font-weight:380;font-size:clamp(32px,3.6vw,50px);line-height:1.1;margin:18px 0 0}
.introv1-h2 em{font-style:italic;color:var(--agl-gold)}
.v1-quote{font-family:var(--agl-display);font-weight:340;font-size:clamp(23px,2.4vw,32px);line-height:1.32;color:var(--agl-ivory);margin:24px 0 0}
.v1-quote em{font-style:italic;color:var(--agl-stone-200)}
.v1-cmp{margin:44px 0 0;border-top:1px solid var(--agl-hairline)}
.v1-cmphead{display:grid;grid-template-columns:110px 1fr 1fr;gap:24px;padding:14px 0 10px}
.v1-cmphead span{font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-variation-settings:"wdth" 112}
.v1-cmphead .a{color:var(--agl-stone-400)}.v1-cmphead .b{color:var(--agl-gold)}
.v1-row{display:grid;grid-template-columns:110px 1fr 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--agl-hairline);align-items:baseline}
.v1-row .crit{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--agl-gold);font-variation-settings:"wdth" 112}
.v1-row .marble{font-size:14px;color:var(--agl-stone-300);line-height:1.5}
.v1-row .sint{font-size:14px;color:var(--agl-ivory);line-height:1.5}
@media(max-width:680px){
  .v1-cmphead,.v1-row{grid-template-columns:74px 1fr 1fr;gap:12px}
  .v1-row .marble,.v1-row .sint{font-size:12px}
  .introv1-fig{aspect-ratio:16/10}
}

/* Inspiration CTA — full logo mark (replaces text eyebrow), 48px on noir ground */
.v-cta-mark{display:flex;justify-content:center;margin-bottom:26px}
.v-cta-mark img{height:48px;width:auto;display:block}
@media(max-width:680px){.v-cta-mark img{height:40px}.v-cta-mark{margin-bottom:20px}}


/* ========================================================================
   INSPIRATION ROW (agl_inspiration_row) — reusable cross-link cards. drop 9.18
   Inherits the homepage .pcard essence: image-led, hairline, hover lift.
   ======================================================================== */
.insp-row{background:var(--agl-noir-950);color:var(--agl-ivory);padding:110px var(--agl-inline)}
.insp-row-head{max-width:var(--agl-page-max);margin:0 auto 44px;display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}
.insp-row-head h2{font-family:var(--agl-display);font-weight:380;font-size:clamp(28px,3vw,42px);line-height:1.1;margin:6px 0 0;flex:1 1 auto}
.insp-row-head .ih-eyebrow{flex:0 0 100%}
.insp-row-all{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--agl-gold);text-decoration:none;font-variation-settings:"wdth" 112;white-space:nowrap;transition:gap .3s}
.insp-row-all:hover{color:var(--agl-ivory)}
.insp-row-grid{max-width:var(--agl-page-max);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

.icard{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--agl-hairline);overflow:hidden;transition:transform .5s var(--agl-ease),box-shadow .5s var(--agl-ease)}
.icard:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.icard-win{display:block;aspect-ratio:4/3;overflow:hidden;position:relative;background:#0d0d0c}
.icard-win img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--agl-ease)}
.icard:hover .icard-win img{transform:scale(1.05)}
.icard-body{display:block;padding:22px 24px 26px}
.icard-t{display:block;font-family:var(--agl-display);font-size:22px;line-height:1.15;color:var(--agl-ink)}
.icard-mat{display:block;margin-top:10px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--agl-ink-2);font-variation-settings:"wdth" 112}
.icard-mat b{font-weight:600;color:var(--agl-ink)}

@media(max-width:900px){.insp-row-grid{grid-template-columns:1fr 1fr;gap:16px}.icard-win{aspect-ratio:3/2}}
@media(max-width:560px){.insp-row-grid{grid-template-columns:1fr}.insp-row{padding:72px var(--agl-inline)}}

/* ========================================================================
   PARTNERS PAGE (page-templates/partners.php) — drop 9.28
   Container Law compliant: full-bleed sections use Pattern A (padding-inline:
   var(--agl-inline)); content centers via an inner .pp-wrap (Pattern B:
   max-width:var(--agl-page-max);margin-inline:auto). Never both on one element.
   ======================================================================== */
.pp{background:var(--agl-noir-950);color:var(--agl-ivory)}
.pp-wrap{max-width:var(--agl-page-max);margin-inline:auto;width:100%}

/* 01 · HERO (full-bleed band, Pattern A) */
.pp-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden;padding-inline:var(--agl-inline)}
.pp-hero-media{position:absolute;inset:0;background-size:cover;background-position:center 64%}
.pp-hero-scrim{position:absolute;inset:0;background:linear-gradient(92deg,rgba(11,11,10,.82),rgba(11,11,10,.52) 42%,rgba(11,11,10,.14) 74%),linear-gradient(180deg,rgba(11,11,10,.40),rgba(11,11,10,0) 32%,rgba(11,11,10,0) 70%,rgba(11,11,10,.46))}
.pp-hero-in{position:relative;z-index:2;max-width:var(--agl-page-max);margin-inline:auto;width:100%;padding-bottom:96px}
.pp-hero-in h1{font-family:var(--agl-display);font-weight:400;font-size:clamp(46px,5.6vw,84px);line-height:1.02;margin:.12em 0 0;color:var(--agl-ivory)}
.pp-hero-in h1 em{font-style:italic;color:var(--agl-gold)}
.pp-lead{font-family:var(--agl-body);color:var(--agl-stone-300);max-width:50ch;font-size:18px;line-height:1.7;margin-top:24px}
.pp-audiences{margin-top:26px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--agl-stone-300);font-variation-settings:"wdth" 112}
.pp-audiences .pp-dot{color:var(--agl-gold)}
.pp-hero-in .ctas{margin-top:34px}

/* 01b · AUDIENCE TEASERS (Pattern A band + inner wrap) */
.pp-aud{padding:110px var(--agl-inline) 10px}
.pp-aud-head{max-width:40ch;margin-bottom:48px}
.pp-aud-head h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(30px,3.2vw,46px);line-height:1.08;margin:.1em 0 0}
.pp-aud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pp-card{display:block;text-decoration:none;color:inherit;background:var(--agl-noir-900);border:1px solid var(--agl-hairline);overflow:hidden;transition:transform .5s var(--agl-ease),box-shadow .5s var(--agl-ease),border-color .5s var(--agl-ease)}
.pp-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(0,0,0,.7);border-color:var(--agl-hairline-gold)}
.pp-card-win{display:block;aspect-ratio:4/5;overflow:hidden;position:relative;background:#0d0d0c}
.pp-card-win img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--agl-ease)}
.pp-card:hover .pp-card-win img{transform:scale(1.05)}
.pp-card-body{display:block;padding:24px 22px 26px}
.pp-card-name{display:block;font-family:var(--agl-display);font-size:22px;line-height:1.15;color:var(--agl-ivory)}
.pp-card-copy{display:block;font-family:var(--agl-body);color:var(--agl-stone-300);font-size:14px;line-height:1.65;margin-top:12px}
.pp-card-link{display:block;margin-top:18px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--agl-gold);font-variation-settings:"wdth" 112}
.pp-card-link .arr{display:inline-block;transition:transform .4s var(--agl-ease)}
.pp-card:hover .pp-card-link .arr{transform:translateX(5px)}

/* 02 · PHILOSOPHY (Pattern A band; text in wrap, image bleeds to right page edge) */
.pp-phil{padding:120px 0;overflow:hidden}
.pp-phil-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;max-width:var(--agl-page-max);margin-inline:auto}
.pp-phil-text{padding:0 64px 0 var(--agl-inline)}
.pp-phil-text h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(34px,3.6vw,52px);line-height:1.08;margin:.1em 0 0}
.pp-phil-text p{font-family:var(--agl-body);color:var(--agl-stone-300);font-size:17px;line-height:1.8;margin-top:20px;max-width:46ch}
/* image bleeds flush to the right edge of the viewport */
.pp-phil-media{position:relative;margin-right:calc(-1 * var(--agl-inline));align-self:stretch;min-height:520px}
.pp-phil-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pp-phil-media::after{content:"";position:absolute;inset:0;border-left:1px solid var(--agl-hairline-gold);pointer-events:none}
/* philosophy principle markers — numbered rows with hover */
.pp-principles{display:flex;flex-direction:column;gap:0;margin-top:34px;border-top:1px solid var(--agl-hairline)}
.pp-principle{display:flex;align-items:baseline;gap:22px;padding:20px 14px 20px 8px;border-bottom:1px solid var(--agl-hairline);position:relative;cursor:default;transition:background var(--agl-t-base) var(--agl-ease),padding-left var(--agl-t-base) var(--agl-ease)}
.pp-principle::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--agl-gold);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--agl-ease)}
.pp-principle:hover{background:var(--agl-noir-900);padding-left:18px}
.pp-principle:hover::before{transform:scaleY(1)}
.pp-principle-n{flex:0 0 auto;font-family:var(--agl-body);font-size:12px;letter-spacing:.16em;color:var(--agl-stone-500);font-variation-settings:"wdth" 112;transition:color var(--agl-t-base) var(--agl-ease);padding-top:4px}
.pp-principle:hover .pp-principle-n{color:var(--agl-gold)}
.pp-principle-c{display:block}
.pp-principle-t{display:block;font-family:var(--agl-display);font-size:20px;line-height:1.2;color:var(--agl-ivory)}
.pp-principle-d{display:block;font-family:var(--agl-body);font-size:14px;line-height:1.6;color:var(--agl-stone-300);margin-top:3px}

/* 03 · GROW (full-bleed band; callouts over the image) */
.pp-grow{position:relative;min-height:64vh;display:flex;align-items:center;overflow:hidden;padding-inline:var(--agl-inline)}
.pp-grow-media{position:absolute;inset:0;background-size:cover;background-position:center}
.pp-grow-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,10,.88),rgba(11,11,10,.55) 50%,rgba(11,11,10,.32))}
.pp-grow-in{position:relative;z-index:2;max-width:var(--agl-page-max);margin-inline:auto;width:100%;padding:96px 0}
.pp-grow-in h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(32px,3.4vw,50px);line-height:1.08;margin:.1em 0 0;max-width:18ch}
.pp-grow-in p{font-family:var(--agl-body);color:var(--agl-stone-300);font-size:17px;line-height:1.8;margin-top:20px;max-width:42ch}
.pp-returns{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.pp-return{display:inline-flex;align-items:center;gap:10px;padding:13px 20px;border:1px solid var(--agl-hairline-gold);background:rgba(11,11,10,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform .35s var(--agl-ease),background .35s var(--agl-ease),border-color .35s var(--agl-ease);cursor:default}
.pp-return:hover{transform:translateY(-3px);background:rgba(200,183,138,.12);border-color:var(--agl-gold)}
.pp-return-dot{width:6px;height:6px;background:var(--agl-gold);border-radius:50%;flex:0 0 auto;transition:transform .35s var(--agl-ease)}
.pp-return:hover .pp-return-dot{transform:scale(1.5)}
.pp-return-t{font-family:var(--agl-body);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--agl-ivory);font-variation-settings:"wdth" 112}

/* 04 · BENEFITS (Pattern A band + inner wrap) */
.pp-benefits{padding:120px var(--agl-inline)}
.pp-benefits-head{max-width:42ch;margin-bottom:56px}
.pp-benefits-head h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(32px,3.4vw,50px);line-height:1.08;margin:.1em 0 0}
.pp-benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--agl-hairline);border:1px solid var(--agl-hairline)}
.pp-benefit{background:var(--agl-noir-950);padding:40px 36px 44px;position:relative;transition:background var(--agl-t-base) var(--agl-ease)}
.pp-benefit::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--agl-gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--agl-ease)}
.pp-benefit:hover{background:var(--agl-noir-850)}
.pp-benefit:hover::before{transform:scaleX(1)}
.pp-benefit-n{font-family:var(--agl-display);font-size:40px;line-height:1;color:var(--agl-stone-700);font-weight:400;transition:color var(--agl-t-base) var(--agl-ease)}
.pp-benefit:hover .pp-benefit-n{color:var(--agl-gold)}
.pp-benefit h3{font-family:var(--agl-display);font-weight:400;font-size:23px;line-height:1.2;margin:18px 0 0;color:var(--agl-ivory);max-width:18ch}
.pp-benefit p{font-family:var(--agl-body);color:var(--agl-stone-300);font-size:14.5px;line-height:1.7;margin-top:12px;max-width:30ch}

/* 04b · MID-PAGE CALLOUT — rhythm break + second conversion point.
   Centered + stacked so the text and button read as one moment (no dead gap).
   Two tone variants: --light (ivory contrast band) and --noir (gold-edged dark). */
.pp-cta{padding:96px var(--agl-inline)}
.pp-cta-in{display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px}
.pp-cta .eyebrow{justify-content:center}
.pp-cta-text h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(30px,3.2vw,46px);line-height:1.1;margin:.1em 0 0;max-width:22ch}
.pp-cta .agl-btn{flex:0 0 auto}
/* Variant A — ivory light band (bold contrast against the dark run) */
.pp-cta--light{background:var(--agl-day-50);color:var(--agl-ink)}
.pp-cta--light h2{color:var(--agl-ink)}
/* Variant B — noir band with gold hairline frame (subtle dark-on-dark) */
.pp-cta--noir{background:var(--agl-noir-900);border-block:1px solid var(--agl-hairline-gold)}
.pp-cta--noir h2{color:var(--agl-ivory)}

/* 05 · APPLY (Pattern A band; image full-height flush-left, text+form right) */
.pp-apply{background:var(--agl-noir-900);border-top:1px solid var(--agl-hairline-soft);padding:120px 0;overflow:hidden}
.pp-apply-grid{display:grid;grid-template-columns:0.85fr 1fr;gap:0;align-items:stretch;max-width:var(--agl-page-max);margin-inline:auto}
/* image bleeds flush to the left edge, fills the section height */
.pp-apply-aside{position:relative;margin-left:calc(-1 * var(--agl-inline));min-height:560px}
.pp-apply-aside img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pp-apply-aside::after{content:"";position:absolute;inset:0;border-right:1px solid var(--agl-hairline-gold);pointer-events:none}
.pp-apply-col{padding:0 var(--agl-inline) 0 64px}
.pp-apply-intro h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(32px,3.4vw,50px);line-height:1.08;margin:.1em 0 0}
.pp-apply-intro p{font-family:var(--agl-body);color:var(--agl-stone-300);font-size:17px;line-height:1.8;margin:20px 0 40px;max-width:42ch}
.pp-form-fallback{font-family:var(--agl-body);color:var(--agl-stone-500);font-style:italic;padding:32px;border:1px solid var(--agl-hairline)}

/* ---- WPForms restyle — Architectural Noir (adapts the reference CSS intent
   to our tokens: Archivo, gold accents, hairlines, transparent fields) ---- */
.agl-form .wpforms-form{max-width:100%}
.agl-form .wpforms-field{padding:0 0 18px!important;margin:0!important}
.agl-form .wpforms-field-label{font-family:var(--agl-body)!important;font-weight:400!important;font-size:12px!important;line-height:1.4!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--agl-stone-300)!important;margin-bottom:10px!important;font-variation-settings:"wdth" 112}
.agl-form .wpforms-form input[type="text"],
.agl-form .wpforms-form input[type="email"],
.agl-form .wpforms-form input[type="tel"],
.agl-form .wpforms-form input[type="number"],
.agl-form .wpforms-form input[type="url"],
.agl-form .wpforms-form select,
.agl-form .wpforms-form textarea{background:transparent!important;border:1px solid var(--agl-hairline)!important;border-radius:0!important;box-shadow:none!important;color:var(--agl-ivory)!important;font-family:var(--agl-body)!important;font-weight:300!important;font-size:16px!important;line-height:1.5!important;padding:14px 16px!important;transition:border-color .25s var(--agl-ease),background-color .25s var(--agl-ease)!important}
.agl-form .wpforms-form input::placeholder,
.agl-form .wpforms-form textarea::placeholder{color:var(--agl-stone-500)!important;font-weight:300!important;opacity:1!important}
.agl-form .wpforms-form input:focus,
.agl-form .wpforms-form select:focus,
.agl-form .wpforms-form textarea:focus{border-color:var(--agl-hairline-gold)!important;outline:none!important;box-shadow:none!important;background:rgba(255,255,255,.01)!important}
.agl-form .wpforms-form select option{color:var(--agl-ivory)!important;background:var(--agl-noir-950)!important}
/* submit — gold fill on hover (our CTA language) */
.agl-form .wpforms-form button,
.agl-form .wpforms-form .wpforms-submit{background:transparent!important;border:1px solid var(--agl-hairline-gold)!important;border-radius:0!important;box-shadow:none!important;color:var(--agl-ivory)!important;font-family:var(--agl-body)!important;font-weight:500!important;font-size:13px!important;letter-spacing:.12em!important;text-transform:uppercase!important;padding:15px 26px!important;transition:all .3s var(--agl-ease)!important;font-variation-settings:"wdth" 112}
.agl-form .wpforms-form button:hover,
.agl-form .wpforms-form .wpforms-submit:hover{background:var(--agl-gold)!important;color:var(--agl-noir-950)!important;border-color:var(--agl-gold)!important}
.agl-form .wpforms-form label.wpforms-error{font-family:var(--agl-body)!important;font-size:13px!important;color:#d98a8a!important;margin-top:8px!important}
.agl-form .wpforms-form .wpforms-field-description{font-family:var(--agl-body)!important;color:var(--agl-stone-300)!important}
/* confirmation */
.wpforms-confirmation-container-full{background:transparent!important;border:1px solid var(--agl-hairline)!important;border-radius:0!important;padding:32px!important;color:var(--agl-ivory)!important}
.wpforms-confirmation-container-full p{color:var(--agl-stone-200,#d9d5cc)!important;font-family:var(--agl-body)!important;font-weight:300!important;font-size:16px!important;line-height:1.6!important}
.wpforms-confirmation-container-full strong{color:var(--agl-ivory)!important;font-weight:500!important}

/* Choices.js modern dropdown (occupation field, style=modern) — Noir-adapted.
   Without this, WPForms renders the modern select with its default light styling. */
.agl-form .choices{margin:0!important}
.agl-form .choices__inner{background:var(--agl-noir-950)!important;border:1px solid var(--agl-hairline)!important;border-radius:0!important;padding:0 16px!important;font-family:var(--agl-body)!important;font-size:16px!important;font-weight:300!important;color:var(--agl-ivory)!important;min-height:51px!important;display:flex!important;align-items:center!important}
.agl-form .choices__list--single{padding:0!important;display:flex!important;align-items:center!important;width:100%!important}
.agl-form .choices__list--single .choices__item{color:var(--agl-ivory)!important;font-family:var(--agl-body)!important;font-size:16px!important;font-weight:300!important;padding:0!important;line-height:1!important}
.agl-form .choices__list--single .choices__placeholder{color:var(--agl-stone-500)!important;opacity:1!important}
.agl-form .choices.is-focused .choices__inner{border-color:var(--agl-hairline-gold)!important;outline:none!important;box-shadow:none!important}
.agl-form .choices__list--dropdown{background:var(--agl-noir-950)!important;border:1px solid var(--agl-hairline)!important;border-radius:0!important;box-shadow:none!important;margin-top:2px!important}
.agl-form .choices__list--dropdown .choices__item{background:var(--agl-noir-950)!important;color:var(--agl-stone-300)!important;font-family:var(--agl-body)!important;font-size:15px!important;font-weight:300!important;padding:12px 16px!important}
.agl-form .choices__list--dropdown .choices__item--highlighted{background:var(--agl-noir-850)!important;color:var(--agl-ivory)!important}
.agl-form .choices__list--dropdown .choices__item.is-selected{background:var(--agl-noir-900)!important;color:var(--agl-stone-500)!important}
.agl-form .choices[data-type*="select-one"]::after{border-color:var(--agl-gold) transparent transparent transparent!important}
.agl-form .choices[data-type*="select-one"].is-open::after{border-color:transparent transparent var(--agl-gold) transparent!important}
/* Remove the clear/remove (×) button — this is a required single-select, so clearing
   serves no purpose; users just pick a different option. Hiding it removes the empty box. */
.agl-form .choices__button{display:none!important}

/* ---- Responsive ---- */
@media(max-width:900px){
	.pp-phil-grid,.pp-apply-grid{grid-template-columns:1fr;gap:40px}
	.pp-phil-text{padding:0 var(--agl-inline)}
	.pp-apply-col{padding:0 var(--agl-inline)}
	.pp-phil-media{order:-1;margin-right:0;min-height:340px}
	.pp-apply-aside{order:-1;margin-left:0;min-height:300px}
	.pp-phil-media::after,.pp-apply-aside::after{border:none}
	.pp-benefits-grid{grid-template-columns:1fr 1fr}
	.pp-aud-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
	.pp-benefits-grid{grid-template-columns:1fr}
	.pp-aud-grid{grid-template-columns:1fr}
	.pp-hero-in,.pp-grow-in{padding-bottom:64px}
	.pp-phil,.pp-apply{padding:72px 0}
	.pp-benefits{padding:72px var(--agl-inline)}
	.pp-cta{padding:56px var(--agl-inline)}
	.pp-aud{padding:72px var(--agl-inline) 10px}
	.pp-returns{gap:10px}
}

/* ========================================================================
   GALLERIA PAGE (page-templates/galleria.php) — drop 9.31
   Architectural Noir. Standard container system (--agl-inline / --agl-page-max).
   The rock section is pure #000 throughout (stone floats in continuous black —
   no glow, which previously revealed the canvas square). Centered trio is
   constrained so it never stretches across wide screens.
   ======================================================================== */
.galleria{background:var(--agl-noir-950);color:var(--agl-ivory)}
.galleria-wrap{max-width:var(--agl-page-max);margin-inline:auto;width:100%}

/* 01 · HERO — full-bleed media; content aligns to the --agl-inline gutter like Partners */
.gal-hero{position:relative;min-height:84vh;display:flex;align-items:flex-end;overflow:hidden;padding-inline:var(--agl-inline)}
.gal-hero-media{position:absolute;inset:0;background-size:cover;background-position:center}
.gal-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,10,.34),rgba(11,11,10,0) 34%,rgba(11,11,10,0) 50%,rgba(11,11,10,.82))}
.gal-hero-in{position:relative;z-index:2;max-width:var(--agl-page-max);margin-inline:auto;width:100%;padding-bottom:96px}
.gal-hero-in h1{font-family:var(--agl-display);font-weight:400;font-size:clamp(46px,5.4vw,82px);line-height:1.04;margin:.12em 0 0;color:var(--agl-ivory)}
.gal-hero-in h1 em{font-style:italic;color:var(--agl-gold)}
.gal-lead{font-family:var(--agl-body);color:var(--agl-stone-300);max-width:52ch;font-size:18px;line-height:1.7;margin-top:24px}

/* 02 · OUR STORY — text + video-on-click poster (flush-to-edge image, per Partners lesson) */
.gal-story{padding:120px 0;overflow:hidden;background:#000}
.gal-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;max-width:var(--agl-page-max);margin-inline:auto}
.gal-story-text{padding:0 64px 0 var(--agl-inline);align-self:center}
.gal-story-text h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(32px,3.4vw,50px);line-height:1.1;margin:.1em 0 0}
.gal-story-text p{font-family:var(--agl-body);color:var(--agl-stone-300);font-size:17px;line-height:1.8;margin-top:20px;max-width:46ch}
/* video poster bleeds flush to the right page edge */
.gal-story-media{position:relative;margin-right:calc(-1 * var(--agl-inline));min-height:520px}
.gal-video{position:absolute;inset:0;width:100%;height:100%;padding:0;border:none;background:#000;cursor:pointer;overflow:hidden;display:block}
.gal-video-poster{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--agl-ease),opacity .5s var(--agl-ease)}
.gal-video:hover .gal-video-poster{transform:scale(1.04)}
.gal-video::after{content:"";position:absolute;inset:0;border-left:1px solid var(--agl-hairline-gold);pointer-events:none}
/* darkening scrim so the play control reads against bright imagery */
.gal-video::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 40% at 50% 50%,rgba(11,11,10,.55),rgba(11,11,10,0) 70%);z-index:1;pointer-events:none;transition:opacity .4s var(--agl-ease)}
.gal-video.is-playing::before{opacity:0}
.gal-video-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;z-index:2;transition:opacity .4s var(--agl-ease);filter:drop-shadow(0 2px 16px rgba(0,0,0,.7))}
.gal-video-play svg{width:66px;height:66px;transition:transform .4s var(--agl-ease)}
.gal-video:hover .gal-video-play svg{transform:scale(1.08)}
.gal-video-label{font-family:var(--agl-body);font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-variation-settings:"wdth" 112;color:#fff}
.gal-video.is-playing .gal-video-play,.gal-video.is-playing .gal-video-poster{opacity:0;pointer-events:none}
.gal-video-el{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;z-index:3}

/* 03 · THE ROCK — the kyanite specimen, an annotated geological object.
   Manual rotation via a radial dial; no auto-spin, no scroll-pin. The whole
   section is pure black so the specimen floats in continuous void and its base
   imperfections vanish into the ground. As the visitor turns the specimen, a
   museum-label callout (brand hotspot style: gold leader line + card) crossfades
   to describe the facet now facing them. */
.gal-rock{position:relative;width:100%;background:#000;overflow:hidden;padding-block:clamp(96px,12vh,168px)}
/* quarry cave background — muted stone framing the rock; soft top & bottom fades to black
   are baked into the image, so the transition from the Our Story section is seamless. */
.gal-rock::before{content:"";position:absolute;inset:0;z-index:0;background-image:url("../galleria-bg/galleria-quarry.webp");background-size:cover;background-position:center top;background-repeat:no-repeat;pointer-events:none}
/* gentle pure-black aperture locked to centre — guarantees the rock canvas (which has a
   baked-in black background) sits on true #000 at every viewport width, so no seam shows. */
.gal-rock::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 26% 36% at 50% 50%,#000 0%,#000 40%,rgba(0,0,0,0) 100%)}
.gal-rock>*{position:relative;z-index:1}

.gal-rock-inner{position:relative;z-index:2;display:grid;
  grid-template-columns:minmax(300px,1fr) minmax(300px,380px) minmax(300px,1fr);
  align-items:center;gap:clamp(32px,4vw,60px);
  width:100%;margin-inline:auto;padding-inline:var(--agl-inline)}
.gal-rock-left{text-align:right;justify-self:end;max-width:none}
.gal-rock-left .eyebrow{justify-content:flex-end;white-space:nowrap}
.gal-rock-h{font-family:var(--agl-display);font-weight:400;font-size:clamp(34px,3.4vw,52px);line-height:1.1;margin:18px 0 0;color:var(--agl-ivory);white-space:nowrap}
.gal-rock-h em{font-style:italic;color:var(--agl-gold)}

.gal-rock-stage{display:flex;flex-direction:column;align-items:center;gap:28px}
.gal-rock-figure{position:relative;display:flex;align-items:flex-end;justify-content:center}
#galRockCanvas{height:auto;width:auto;max-height:clamp(340px,46vh,460px);max-width:100%;display:block}
.gal-rock-figure::after{content:"";position:absolute;left:0;right:0;bottom:0;height:16%;background:linear-gradient(to top,#000 0%,rgba(0,0,0,.72) 38%,rgba(0,0,0,0) 100%);pointer-events:none;z-index:2}

.gal-rock-dialwrap{display:flex;flex-direction:column;align-items:center;gap:12px}
.gal-rock-dial{position:relative;width:78px;height:78px;border-radius:50%;border:1px solid var(--agl-hairline);background:rgba(12,12,11,.6);cursor:grab;touch-action:none;outline:none;transition:border-color .3s var(--agl-ease),box-shadow .3s var(--agl-ease)}
@supports (backdrop-filter: blur(2px)){.gal-rock-dial{backdrop-filter:blur(4px)}}
.gal-rock-dial:hover{border-color:rgba(200,183,138,.55)}
.gal-rock-dial:focus-visible{border-color:var(--agl-gold);box-shadow:0 0 0 2px rgba(200,183,138,.3)}
.gal-rock-dial.is-active{cursor:grabbing;border-color:var(--agl-gold);box-shadow:0 0 0 1px rgba(200,183,138,.4)}
.gal-rock-dial::before{content:"";position:absolute;inset:9px;border-radius:50%;border:1px dashed rgba(200,183,138,.22)}
.gal-rock-knob{position:absolute;inset:0;border-radius:50%;transition:transform .08s linear}
.gal-rock-knob::after{content:"";position:absolute;left:50%;top:8px;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:var(--agl-gold);box-shadow:0 0 8px rgba(200,183,138,.6)}
.gal-rock-dial .hub{position:absolute;left:50%;top:50%;width:7px;height:7px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(200,183,138,.5)}
.gal-rock-diallabel{font-family:var(--agl-body);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--agl-stone-500);font-variation-settings:"wdth" 112}

.gal-rock-callouts{position:relative;justify-self:start;min-height:188px;width:100%;max-width:320px}
/* Each facet is a clean frosted card that simply crossfades on rotation —
   no leader line, no gold pip, no progress dots. Quiet and premium. */
.gal-rock-call{position:absolute;inset:0;opacity:0;transform:translateY(10px);transition:opacity .55s var(--agl-ease),transform .55s var(--agl-ease);pointer-events:none}
.gal-rock-call.is-on{opacity:1;transform:none;pointer-events:auto}
.gal-rock-call__card{
  background:rgba(20,19,17,.42);
  border:1px solid rgba(244,242,237,.10);
  border-radius:2px;
  padding:26px 28px}
@supports (backdrop-filter: blur(6px)){.gal-rock-call__card{backdrop-filter:blur(10px);background:rgba(20,19,17,.28)}}
.gal-rock-call__k{font-family:var(--agl-body);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--agl-stone-500);font-variation-settings:"wdth" 112;font-weight:500}
.gal-rock-call__t{font-family:var(--agl-display);font-weight:400;font-size:23px;color:var(--agl-ivory);margin:10px 0 11px;line-height:1.16}
.gal-rock-call__b{font-family:var(--agl-body);font-weight:300;font-size:14px;line-height:1.7;color:var(--agl-stone-300);margin:0;max-width:34ch}
@media(max-width:920px){
  .gal-rock-inner{grid-template-columns:1fr;gap:30px;text-align:center}
  .gal-rock-left{text-align:center;justify-self:center;max-width:46ch}
  .gal-rock-left .eyebrow{justify-content:center}
  .gal-rock-left{order:1}.gal-rock-stage{order:2}.gal-rock-callouts{order:3;justify-self:center;max-width:420px;width:100%;text-align:left;min-height:auto;position:relative}
  .gal-rock-call{position:relative;opacity:0;height:0;overflow:hidden;transform:none}
  .gal-rock-call.is-on{height:auto;overflow:visible}
  #galRockCanvas{max-height:clamp(300px,40vh,400px)}
}

/* 04 · THE ENVIRONMENT */
.gal-env{padding:120px var(--agl-inline);background:var(--agl-noir-900)}
.gal-env-head{max-width:60ch;margin-bottom:56px}
.gal-env-head h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(32px,3.4vw,50px);line-height:1.1;margin:.1em 0 0}
.gal-env-head p{font-family:var(--agl-body);color:var(--agl-stone-300);font-size:17px;line-height:1.8;margin-top:20px}
.gal-env-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:auto auto;gap:20px}
.gal-env-fig{position:relative;margin:0;overflow:hidden;border:1px solid var(--agl-hairline)}
.gal-env-fig--tall{grid-row:1 / span 2}
.gal-env-fig img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--agl-ease)}
.gal-env-fig:hover img{transform:scale(1.04)}
.gal-env-fig figcaption{position:absolute;left:0;bottom:0;right:0;padding:20px 22px;font-family:var(--agl-body);font-size:13px;letter-spacing:.04em;color:var(--agl-ivory);background:linear-gradient(to top,rgba(11,11,10,.86),rgba(11,11,10,0))}

/* 05 · VISIT */
.gal-visit{position:relative;min-height:64vh;display:flex;align-items:center;overflow:hidden;padding-inline:var(--agl-inline)}
.gal-visit-media{position:absolute;inset:0;background-size:cover;background-position:center}
.gal-visit-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,10,.86),rgba(11,11,10,.55) 52%,rgba(11,11,10,.32))}
.gal-visit-in{position:relative;z-index:2;max-width:var(--agl-page-max);margin-inline:auto;width:100%;padding-block:96px}
.gal-visit-in h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(32px,3.6vw,54px);line-height:1.08;margin:.1em 0 0}
.gal-visit-in p{font-family:var(--agl-body);color:var(--agl-stone-300);font-size:17px;line-height:1.8;margin:20px 0 34px;max-width:46ch}

/* 07 · BOOK / FORM */
.gal-book{padding:120px var(--agl-inline);background:var(--agl-noir-900);border-top:1px solid var(--agl-hairline-soft)}
.gal-book-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:stretch}
.gal-book-intro h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(32px,3.4vw,50px);line-height:1.1;margin:.1em 0 0}
.gal-book-intro p{font-family:var(--agl-body);color:var(--agl-stone-300);font-size:17px;line-height:1.8;margin:20px 0 28px;max-width:44ch}
.gal-book-meta{display:flex;flex-direction:column;gap:8px;font-family:var(--agl-body);font-size:13px;letter-spacing:.04em;color:var(--agl-stone-500)}
.gal-form-fallback{font-family:var(--agl-body);color:var(--agl-stone-500);font-style:italic;padding:32px;border:1px solid var(--agl-hairline)}

/* ---- Responsive ---- */
@media(max-width:980px){
	.gal-story-grid{grid-template-columns:1fr;gap:40px}
	.gal-story-text{padding:0 var(--agl-inline)}
	.gal-story-media{order:-1;margin-right:0;min-height:340px}
	.gal-env-grid{grid-template-columns:1fr 1fr}
	.gal-env-fig--tall{grid-row:auto;grid-column:1 / -1}
	.gal-book-grid{grid-template-columns:1fr;gap:40px}
}
@media(max-width:600px){
	.gal-story,.gal-env,.gal-book{padding:72px var(--agl-inline)}
	.gal-story{padding:72px 0}
	.gal-env-grid{grid-template-columns:1fr}
	.gal-hero-in,.gal-visit-in{padding-bottom:64px}
	#galRockCanvas{height:46vh}
}

/* ============================================================
   ARCHITECTURAL PANELS PILLAR (page-templates/pillar-panels.php) — drop 9.5
   Two-system pillar. Reuses .pil-hero/.pil-scrim/.pil-arg/.pil-spot;
   panels-* below add stat grid, finish rail, mosaic, table, CTA band.
   ============================================================ */
.panels-pillar{background:var(--agl-noir-950);color:var(--agl-ivory)}

/* HERO */
.panels-h1{font-family:var(--agl-display);font-weight:400;font-size:clamp(40px,5vw,76px);line-height:1.04;margin:18px 0 0}
.panels-h1 em{font-style:italic;color:var(--agl-gold)}
.panels-lede{font-family:var(--agl-body);color:var(--agl-stone-300);font-size:clamp(15px,1.3vw,18px);line-height:1.7;max-width:46ch;margin:22px 0 30px}
.panels-cta{display:flex;gap:14px;flex-wrap:wrap}

/* THRESHOLD */
.panels-thresh{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;background:var(--agl-noir-900);border-block:1px solid var(--agl-hairline-soft);padding:22px var(--agl-inline);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--agl-stone-300);font-variation-settings:"wdth" 112}
.panels-thresh b{color:var(--agl-gold);font-weight:600}
.panels-thresh i{color:var(--agl-stone-700);font-style:normal}

/* WHY — argument + numbered beats */
.panels-why{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:clamp(40px,6vw,96px);align-items:start}
.panels-whyhead h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(30px,3.4vw,48px);line-height:1.1;margin:16px 0 0;color:var(--agl-ink)}
.panels-whyhead h2 em{font-style:italic;color:var(--agl-gold-deep)}
.panels-beats{display:flex;flex-direction:column;gap:0}
.panels-beat{padding:28px 0;border-top:1px solid rgba(14,14,16,.14)}
.panels-beat:first-child{border-top:0;padding-top:0}
.panels-bn{font-family:var(--agl-body);font-size:12px;letter-spacing:.2em;color:var(--agl-gold-deep);font-variation-settings:"wdth" 112}
.panels-beat h3{font-family:var(--agl-display);font-weight:500;font-size:22px;margin:8px 0 8px;color:var(--agl-ink)}
.panels-beat p{font-family:var(--agl-body);color:#4a463f;font-size:16px;line-height:1.8;max-width:52ch;margin:0}

/* SYSTEM spots (reuse .pil-spot; reverse variant) */
.panels-sys .pil-spotbody h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(28px,3vw,44px)}
.panels-sys .pil-spotbody h2 em{font-style:italic;color:var(--agl-gold)}
.panels-sys--rev{direction:rtl}
.panels-sys--rev>*{direction:ltr}

/* STAT GRID — numerals, no icons */
.panels-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:30px;border-top:1px solid var(--agl-hairline-soft);width:100%;box-sizing:border-box}
.panels-stat{padding:20px 16px 0 0;border-right:1px solid var(--agl-hairline-soft);min-width:0;overflow-wrap:break-word}
.panels-stat:last-child{border-right:0}
.panels-statn{display:block;font-family:var(--agl-display);font-weight:400;font-size:clamp(22px,1.8vw,34px);color:var(--agl-ivory);line-height:1.05;white-space:nowrap}
.panels-statn i{font-style:normal;font-size:.5em;color:var(--agl-stone-300);margin-left:2px}
.panels-statl{display:block;margin-top:8px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--agl-stone-300);font-variation-settings:"wdth" 112}

/* FINISH RAIL — chips kept small (imagery sub-hero grade) */
.panels-finishes{padding:96px var(--agl-inline);background:var(--agl-noir-900)}
.panels-finhead{max-width:var(--agl-page-max);margin:0 auto 36px}
.panels-finhead h3{font-family:var(--agl-display);font-weight:400;font-size:clamp(24px,2.6vw,38px);margin:14px 0 0}
.panels-finhead h3 em{font-style:italic;color:var(--agl-gold)}
.panels-finrail{max-width:var(--agl-page-max);margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.panels-fin{margin:0}
.panels-fin img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;filter:saturate(.92)}
.panels-fin figcaption{margin-top:10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--agl-stone-300);font-variation-settings:"wdth" 112}

/* APPLICATIONS mosaic */
.panels-apps{padding:104px var(--agl-inline);background:var(--agl-noir-950)}
.panels-appshead{max-width:var(--agl-page-max);margin:0 auto 40px}
.panels-appshead h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(28px,3.2vw,48px);margin:14px 0 0}
.panels-appshead h2 em{font-style:italic;color:var(--agl-gold)}
.panels-mosaic{max-width:var(--agl-page-max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px}
.panels-tile{position:relative;margin:0;overflow:hidden}
.panels-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--agl-ease)}
.panels-tile:hover img{transform:scale(1.05)}
.panels-tile figcaption{position:absolute;left:16px;bottom:14px;z-index:2;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#fff;font-variation-settings:"wdth" 112;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.panels-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(11,11,10,.6));z-index:1}
.panels-tile--lg{grid-column:span 2;grid-row:span 2}

/* CASE / COMPARISON (ivory) */
.panels-case{padding:104px var(--agl-inline);background:var(--agl-day-50);color:var(--agl-ink)}
.panels-casehead{max-width:var(--agl-page-max);margin:0 auto 32px}
.panels-casehead h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(28px,3.2vw,46px);margin:14px 0 0}
.panels-casehead h2 em{font-style:italic;color:var(--agl-gold-deep)}
.panels-table{max-width:var(--agl-page-max);margin:0 auto;width:100%;border-collapse:collapse;font-family:var(--agl-body)}
.panels-table th,.panels-table td{text-align:left;padding:18px 20px;border-bottom:1px solid rgba(14,14,16,.12);vertical-align:top;font-size:15px;line-height:1.6}
.panels-table thead th{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#6a6258;font-weight:500;font-variation-settings:"wdth" 112}
.panels-table tbody th{font-family:var(--agl-display);font-weight:500;font-size:17px;color:var(--agl-ink);width:18%}
.panels-table td:last-child{color:var(--agl-ink);font-weight:500}
.panels-table td:nth-child(2){color:#8a8278}

/* CLOSING CTA */
.panels-cta-band{padding:120px var(--agl-inline);text-align:center;background:var(--agl-noir-950)}
.panels-cta-band h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(34px,4vw,60px);margin:14px 0 14px}
.panels-cta-band h2 em{font-style:italic;color:var(--agl-gold)}
.panels-cta-band p{color:var(--agl-stone-300);max-width:48ch;margin:0 auto 28px;line-height:1.7}
.panels-cta-band .eyebrow{justify-content:center}

/* RESPONSIVE */
@media(max-width:900px){
	.panels-why{grid-template-columns:1fr;gap:32px}
	.panels-finrail{grid-template-columns:repeat(3,1fr)}
	.panels-mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px}
	.panels-tile--lg{grid-column:span 2;grid-row:span 1}
	.panels-stats{grid-template-columns:repeat(2,1fr);gap:16px 0}
	.panels-stat:nth-child(2){border-right:0}
}

/* INTERLUDE — full-bleed agate moment between System 02 and Applications */
.panels-interlude{position:relative;width:100%;aspect-ratio:21/9;max-height:72vh;min-height:480px;overflow:hidden;background:#000;display:flex;align-items:flex-end}
.panels-interlude-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center}
.panels-interlude-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,10,.32) 0%,rgba(11,11,10,0) 30%,rgba(11,11,10,0) 60%,rgba(11,11,10,.72) 100%);z-index:1}
.panels-interlude-cap{position:relative;z-index:2;max-width:var(--agl-page-max);margin:0 auto;width:100%;padding:0 var(--agl-inline) 64px}
.panels-interlude-cap .eyebrow{color:var(--agl-gold)}
.panels-interlude-cap p{font-family:var(--agl-display);font-weight:400;font-size:clamp(30px,3.6vw,52px);line-height:1.08;margin:14px 0 0;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.55)}
.panels-interlude-cap p em{font-style:italic;color:var(--agl-gold)}
@media(max-width:900px){
	.panels-interlude{height:64vh;min-height:420px}
	.panels-interlude-img{object-position:64% center}
}

/* IN PRACTICE on panels pillar — frame holds a wide corten scene; image covers it */
.panels-practice{padding-top:104px}
.panels-practice .an2-frame{aspect-ratio:16/9;max-width:var(--agl-page-max);margin-inline:auto}
.panels-practice .an2-frame>img{width:100%;height:100%;object-fit:cover;display:block}
.panels-practice .an2-head{max-width:var(--agl-page-max);margin-inline:auto;margin-bottom:50px}
.panels-practice .an2-credit{max-width:var(--agl-page-max);margin-inline:auto}
@media(max-width:900px){ .panels-practice .an2-frame{aspect-ratio:4/5} }


/* HERO width fix (4K/ultrawide) — .pil-head was collapsing as a flex item;
   pin its width so the headline + lede never ribbon on wide monitors. */
.panels-hero .pil-head{width:auto;max-width:620px;flex:0 0 auto;padding:140px 0 80px;margin-left:var(--agl-inline);box-sizing:content-box}
.panels-hero .panels-h1{max-width:none;width:auto}
.panels-hero .panels-lede{max-width:42ch;width:auto}
.panels-hero .panels-h1{max-width:none;white-space:normal}
.panels-hero .panels-lede{min-width:0;max-width:42ch}
.panels-hero .panels-cta{min-width:0}
@media(max-width:560px){
	.panels-hero .panels-h1{max-width:none}
	.panels-hero .panels-lede{min-width:0;max-width:100%}
}


/* PANELS FIXES (drop 9.6) — wide-monitor corrections */
/* System spots: even 50/50 columns on panels */
.panels-sys.pil-spot{grid-template-columns:1fr 1fr}
/* keep body padding balanced so the 50% text column reads at the gutter */
.panels-sys .pil-spotbody{padding-block:80px;padding-inline:clamp(40px,5vw,96px)}

/* Interlude caption: align to the true left gutter, not centered wrap */
.panels-interlude-cap{max-width:none;margin:0;padding-left:var(--agl-inline);padding-right:var(--agl-inline)}

/* ============================================================================
   NANO-CRYSTALLIZED GLASS PILLAR (page-templates/pillar-nano-LIB.php)
   Page-unique sections only — the standard spine uses the .s-* library.
   Two unique blocks: .nano-lumen (day/night reveal) + .nano-fin placeholders.
   ============================================================================ */

/* Pillar wrapper — noir ground, ivory default text (matches .panels-pillar).
   Without this, noir sections that rely on inherited color (e.g. the finishes
   headline) fall back to dark --agl-ink and vanish. Light-ground sections
   (.section--day, .s-compare, .s-projects) set their own ink color, unaffected. */
.nano-pillar{background:var(--agl-noir-950);color:var(--agl-ivory)}

/* --- .nano-lumen : the unique luminosity moment — day/night reveal slider --
   Nano's defining quality (light through the material). Same noir chrome as
   .s-scene; a draggable handle wipes between the daylight and night images. */
.nano-lumen{background:var(--agl-noir-950);color:var(--agl-ivory);padding:104px var(--agl-inline) 115px}
.nano-lumen__head{max-width:var(--agl-page-max);margin:0 auto 50px}
.nano-lumen__head h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(34px,3.4vw,50px);margin:20px 0 14px}
.nano-lumen__head h2 em{font-style:italic;color:var(--agl-gold)}
.nano-lumen__sub{font-family:var(--agl-display);font-style:italic;color:var(--agl-stone-300);font-size:17px;margin:0;max-width:52ch}
.nano-lumen__stage{position:relative;max-width:var(--agl-page-max);margin-inline:auto;aspect-ratio:16/9;overflow:hidden;user-select:none;touch-action:none;--rev:50%}
.nano-lumen__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
/* Night image sits in a layer clipped from the LEFT to --rev width. The image
   itself is sized to the STAGE (100vw of the stage) and pinned left, so it does
   not squash as the clip narrows — a standard before/after wipe. */
.nano-lumen__reveal{position:absolute;top:0;left:0;height:100%;width:var(--rev);overflow:hidden;will-change:width}
.nano-lumen__reveal .nano-lumen__img--night{position:absolute;top:0;left:0;height:100%;width:var(--stagew,1440px);max-width:none;object-fit:cover}
/* handle */
.nano-lumen__handle{position:absolute;top:0;bottom:0;left:var(--rev);width:2px;background:var(--agl-gold);transform:translateX(-1px);z-index:3;pointer-events:none}
.nano-lumen__grip{position:absolute;top:50%;left:50%;width:42px;height:42px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(12,12,11,.72);border:1px solid var(--agl-gold);box-shadow:0 2px 18px rgba(0,0,0,.4)}
@supports (backdrop-filter:blur(1px)){.nano-lumen__grip{backdrop-filter:blur(5px)}}
.nano-lumen__grip::before,.nano-lumen__grip::after{content:"";position:absolute;top:50%;width:0;height:0;border-block:5px solid transparent}
.nano-lumen__grip::before{left:9px;border-right:7px solid var(--agl-gold);transform:translateY(-50%)}
.nano-lumen__grip::after{right:9px;border-left:7px solid var(--agl-gold);transform:translateY(-50%)}
/* the range input sits invisibly over the stage to drive the reveal accessibly */
.nano-lumen__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:4}
.nano-lumen__tag{position:absolute;bottom:16px;z-index:3;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-variation-settings:"wdth" 112;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.7);pointer-events:none}
.nano-lumen__tag--day{left:18px}
.nano-lumen__tag--night{right:18px}
@media(max-width:900px){.nano-lumen{padding:72px 24px 80px}.nano-lumen__stage{aspect-ratio:4/5}}

/* --- .nano-fin : curated finish swatches that LINK to their material pages --
   Real slab thumb + caption with a hover arrow. (Placeholder block kept below
   in case any swatch needs to fall back, but the pillar now uses real links.) */
.panels-finrail a.nano-fin{display:block;text-decoration:none;color:inherit;position:relative}
.nano-fin img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform .6s var(--agl-ease),filter .6s var(--agl-ease)}
.nano-fin figcaption{margin-top:14px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-variation-settings:"wdth" 108;color:var(--agl-ivory);display:flex;align-items:center;gap:.5em}
.nano-fin__arr{color:var(--agl-gold);opacity:0;transform:translateX(-4px);transition:opacity .4s var(--agl-ease),transform .4s var(--agl-ease)}
.nano-fin:hover img{transform:scale(1.03);filter:brightness(1.05)}
.nano-fin:hover .nano-fin__arr{opacity:1;transform:translateX(0)}
.nano-fin:focus-visible{outline:2px solid var(--agl-gold);outline-offset:4px}

/* --- .nano-fin placeholders : finish swatches not yet sourced --------------
   Reuses the .panels-finishes / .panels-finrail layout; each tile shows an
   obvious REPLACE-ME placeholder until real Stoneglass swatches are added. */
.nano-fin--placeholder{position:relative}
.nano-fin__ph{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3/4;background:var(--ph,#cbc6ba);position:relative;overflow:hidden;border:1px dashed rgba(200,183,138,.55)}
.nano-fin__ph::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(11,11,10,.06) 0 14px,rgba(11,11,10,.12) 14px 28px)}
.nano-fin__phlabel{position:relative;z-index:1;font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-variation-settings:"wdth" 112;font-weight:600;color:var(--agl-noir-950);background:var(--agl-gold);padding:5px 10px;box-shadow:0 2px 10px rgba(0,0,0,.25)}

/* ============================================================
   PANEL COLLECTION (single-agl_panel_collection.php)
   A Tecnografica collection as a curated range. Built on the
   global section library; intro + design grid are bespoke.
   ============================================================ */
/* Centered editorial intro (no image) — dark ground */
.pc-intro{background:var(--agl-noir-950);color:var(--agl-ivory);padding:clamp(72px,9vw,128px) var(--agl-inline)}
.pc-intro__in{max-width:760px;margin-inline:auto;text-align:center;display:flex;flex-direction:column;align-items:center}
.pc-intro__in .eyebrow{justify-content:center}
.pc-intro__title{font-family:var(--agl-display);font-weight:400;font-size:clamp(30px,4vw,52px);line-height:1.08;margin:16px 0 0}
.pc-intro__title em{font-style:italic;color:var(--agl-gold)}
.pc-intro__copy{font-family:var(--agl-body);font-variation-settings:"wdth" 100;font-size:clamp(15px,1.3vw,17px);line-height:1.7;color:var(--agl-ivory-2,rgba(244,242,237,.78));margin:24px 0 0;max-width:60ch}
.pc-intro .pc-finishes{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;margin:32px 0 0}
.pc-finlabel{font-family:var(--agl-body);font-variation-settings:"wdth" 112;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--agl-gold);margin-right:4px}

.pc-rangenote{font-family:var(--agl-body);font-variation-settings:"wdth" 100;font-size:13px;color:var(--agl-ink-2);letter-spacing:.02em;max-width:34ch;margin:0}
/* Selected Designs grid — sits inside .s-matgrid (ivory ground). 3-up,
   reflowing to 2 then 1. Each tile: lifestyle image + corner material swatch + label. */
.pc-designgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:var(--agl-page-max);margin-inline:auto}
.pc-design{position:relative;margin:0;overflow:hidden;background:var(--agl-day-50);border:1px solid var(--agl-hairline-day)}
.pc-design > img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .7s var(--agl-ease)}
.pc-design:hover > img{transform:scale(1.04)}
/* Corner material swatch — always present, lower-left, framed chip */
.pc-design__swatch{position:absolute;left:16px;bottom:16px;width:84px;height:84px;padding:4px;background:var(--agl-day-50);border:1px solid var(--agl-gold);box-shadow:0 6px 20px rgba(0,0,0,.28);z-index:2;transition:transform .45s var(--agl-ease)}
.pc-design__swatch img{display:block;width:100%;height:100%;object-fit:cover}
.pc-design:hover .pc-design__swatch{transform:scale(1.08)}
/* Design name — lower-right, over a soft scrim */
.pc-design__label{position:absolute;right:16px;bottom:22px;z-index:2;font-family:var(--agl-body);font-variation-settings:"wdth" 112;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.55)}
@media(max-width:900px){.pc-designgrid{grid-template-columns:repeat(2,1fr);gap:20px}.pc-design__swatch{width:68px;height:68px}}
@media(max-width:560px){.pc-designgrid{grid-template-columns:1fr}}

/* ============================================================
   PANEL COLLECTIONS — discovery tiles on the Panels pillar.
   Reuses pil-card* (linked card) + mat-finchip (system tags);
   only the grid + body layout + chip tweak are bespoke.
   ============================================================ */
.section--noir{background:var(--agl-noir-950);color:var(--agl-ivory)}
.section--noir .s-head__title{color:var(--agl-ivory)}
.pc-collgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;max-width:var(--agl-page-max);margin-inline:auto}
.pc-collcard{background:var(--agl-noir-900);border:1px solid rgba(244,242,237,.10)}
.pc-collcard .pil-cardimg{aspect-ratio:16/10}
.pc-collbody{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:22px 24px}
.pc-colltop{display:flex;flex-direction:column;gap:4px}
.pc-collcard .pil-cardname{color:var(--agl-ivory);font-size:24px}
.pc-colldesc{font-family:var(--agl-body);font-variation-settings:"wdth" 112;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--agl-gold)}
.pc-collsys{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pc-syschip{border-color:rgba(244,242,237,.22);color:var(--agl-ivory-2,rgba(244,242,237,.78))}
@media(max-width:760px){.pc-collgrid{grid-template-columns:1fr;gap:22px}.pc-collbody{padding:18px 20px}}

/* ============================================================
   NATURAL TEXTURED STONE — pillar-unique sections.
   Geofamilies (.ts-geo) = educational stone-type backbone.
   Cristallo toggle reuses .nano-lumen (no new CSS there).
   ============================================================ */
.ts-geo{padding-block:var(--agl-section-y,96px)}
.ts-geo__intro{max-width:64ch;margin-top:14px;color:var(--agl-ivory-2,rgba(244,242,237,.74));font-family:var(--agl-body)}
.ts-geo__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:var(--agl-page-max);margin-inline:auto;padding-inline:var(--agl-gutter,32px)}
.ts-geocard{background:var(--agl-noir-900);border:1px solid rgba(244,242,237,.10);display:flex;flex-direction:column;transition:border-color var(--agl-t-base) var(--agl-ease),transform var(--agl-t-base) var(--agl-ease),box-shadow var(--agl-t-base) var(--agl-ease)}
.ts-geocard:hover{border-color:var(--agl-gold);transform:translateY(-3px);box-shadow:0 22px 60px rgba(0,0,0,.4)}
.ts-geocard__media{aspect-ratio:4/5;overflow:hidden;background:var(--agl-noir-950)}
.ts-geocard__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--agl-ease)}
.ts-geocard:hover .ts-geocard__media img{transform:scale(1.04)}
.ts-geocard__body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px}
.ts-geocard__n{font-family:var(--agl-body);font-variation-settings:"wdth" 112;font-size:11px;letter-spacing:.26em;color:var(--agl-gold)}
.ts-geocard__name{font-family:var(--agl-display);font-weight:500;font-size:23px;color:var(--agl-ivory);margin:0}
.ts-geocard__char{font-family:var(--agl-body);font-size:13.5px;line-height:1.55;color:var(--agl-ivory-2,rgba(244,242,237,.7));margin:0}
.ts-applnote{max-width:70ch;margin:34px auto 0;color:var(--agl-ivory-2,rgba(244,242,237,.72));font-family:var(--agl-body);font-style:italic}
.ts-collnote{max-width:66ch;margin-top:14px;color:var(--agl-ink-2,rgba(20,17,16,.66));font-family:var(--agl-body)}
@media(max-width:1100px){.ts-geo__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ts-geo__grid{grid-template-columns:1fr}}

/* ============================================================
   NATURAL TEXTURED STONE — product detail (template part).
   Reuses .s-hero / .pc-intro / .pc-designgrid / .mat-finchip;
   only the back-link, family tag, and notes grid are bespoke.
   ============================================================ */
.ts-product__back{display:inline-block;margin-bottom:18px}
.ts-product__fam{display:inline-block;margin:0 0 16px}
.ts-product .pc-intro__title em{font-style:italic;color:var(--agl-gold-ink,#9a8556)}
.ts-textures .s-matgrid__head{margin-bottom:30px}
.ts-notes{padding-block:var(--agl-section-y,96px)}
.ts-notes__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:30px}
.ts-note h3{font-family:var(--agl-display);font-weight:500;font-size:21px;color:var(--agl-ink,#141110);margin:0 0 10px}
.ts-note p{font-family:var(--agl-body);font-size:14px;line-height:1.6;color:var(--agl-ink-2,rgba(20,17,16,.7));margin:0}
@media(max-width:860px){.ts-notes__grid{grid-template-columns:1fr;gap:26px}}

/* ============================================================
   TEXTURED STONE — product grid filter (dual axis: family + texture).
   Reuses the live .pil-grid / .pil-chips / .pil-chip / .pil-cards / .pil-card.
   Only the two-row filter layout + empty state are bespoke.
   ============================================================ */
.ts-grid .pil-gridhead{margin-bottom:30px}
.ts-filter{display:flex;align-items:baseline;gap:18px;margin:0 0 16px;flex-wrap:wrap}
.ts-filter__label{font-family:var(--agl-body);font-variation-settings:"wdth" 112;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--agl-gold-ink,#9a8556);min-width:64px}
.ts-grid .pil-cards{margin-top:34px}
.ts-grid__empty{font-family:var(--agl-body);font-size:15px;color:var(--agl-ink-2);margin-top:30px;text-align:center}
.ts-grid__reset{font-family:var(--agl-body);font-size:13px;letter-spacing:.04em;color:var(--agl-ink);background:none;border:0;border-bottom:1px solid var(--agl-gold);padding:0 0 1px;margin-left:6px;cursor:pointer}

/* ============================================================
   TEXTURED STONE — product finish toggle + suggested-finishes tags.
   Reuses .slabtab / .slabcap / .mat-finchip. Adds: tag states
   (.is-live = has imagery & is clickable-feeling; .is-active = its
   pane is currently shown) + the ~50-finishes note + layout wrap.
   ============================================================ */
.ts-product .mat-finishes{display:block;margin:0 0 32px}
.ts-product .mat-finlabel{display:block;margin:0 0 12px}
.mat-finchips{display:flex;gap:9px;flex-wrap:wrap}
/* image-less suggested tags: quiet static labels */
.ts-product .mat-finchip{color:var(--agl-stone-400,rgba(244,242,237,.5));border-color:var(--agl-hairline)}
/* tags backed by a shown finish: read as available, subtly stronger */
.ts-product .mat-finchip.is-live{color:var(--agl-stone-200,rgba(244,242,237,.78));border-color:var(--agl-hairline-soft,rgba(244,242,237,.22))}
/* the finish currently shown in the viewer: gold-active */
.ts-product .mat-finchip.is-active{color:var(--agl-noir-950);background:var(--agl-gold);border-color:var(--agl-gold)}
.mat-finnote{margin:16px 0 0;font-size:12px;line-height:1.5;color:var(--agl-stone-400,rgba(244,242,237,.5));font-family:var(--agl-body);font-style:italic;max-width:42ch}
/* caption now sits under the tabs (was .slabmeta) — keep its rhythm */
.ts-product .slabcap{display:block;margin-top:14px}
.ts-product .slabtabs{margin-top:16px}

/* ============================================================
   COLLECTIONS PAGE — catalogue spine (page-collections.php)
   Compact hero + sticky category selector + tile grid.
   Reuses .pil-cards / .pil-card / .pil-cardimg / .pil-cardname / .pil-cardfam.
   ============================================================ */
.col-hero{position:relative;min-height:46vh;display:flex;align-items:flex-end;padding:0 var(--agl-inline) 56px;overflow:hidden;background:var(--agl-noir-950)}
.col-hero__bg{position:absolute;inset:0;z-index:0}
.col-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.5}
.col-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,10,.45),rgba(11,11,10,.86))}
.col-hero__in{position:relative;z-index:1;max-width:var(--agl-page-max);margin-inline:auto;width:100%}
.col-hero__in .eyebrow{margin-bottom:18px}
.col-hero__title{font-family:var(--agl-display);font-weight:400;font-size:clamp(40px,6vw,76px);color:#fff;line-height:1.02;margin:0}
.col-hero__title em{font-style:italic;color:var(--agl-gold)}
.col-hero__sub{color:rgba(244,242,237,.7);font-size:16px;max-width:52ch;margin-top:18px;line-height:1.7}

.col-filter{background:var(--agl-noir-900);padding:22px var(--agl-inline);position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(244,242,237,.08)}
.col-filter__in{max-width:var(--agl-page-max);margin-inline:auto;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.col-filter .pil-chip{border-color:rgba(244,242,237,.2);color:rgba(244,242,237,.7)}
.col-filter .pil-chip:hover{border-color:rgba(244,242,237,.5)}
.col-filter .pil-chip.on{background:var(--agl-gold);color:var(--agl-noir-950);border-color:var(--agl-gold)}

.col-grid{background:var(--agl-day-50);color:var(--agl-ink);padding:60px var(--agl-inline) 110px}
.col-grid__in{max-width:var(--agl-page-max);margin-inline:auto}
/* the hidden attr must win over .pil-cards{display:grid} and .pil-more{display:flex} */
#colFlat[hidden],#colGrouped[hidden],#colShowAll[hidden]{display:none}
.col-count{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--agl-ink-2);margin-bottom:26px}
.col-grid:not(.is-filtered) .col-count{display:none}

.col-group{margin-bottom:60px}
.col-group:last-child{margin-bottom:0}
.col-group__head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--agl-hairline-day)}
.col-group__name{font-family:var(--agl-display);font-weight:500;font-size:26px}
.col-group__more{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--agl-gold-ink);cursor:pointer;background:none;border:none;font-family:var(--agl-body);font-variation-settings:"wdth" 112;white-space:nowrap;transition:opacity var(--agl-t-base) var(--agl-ease)}
.col-group__more:hover{opacity:.65}

@media (max-width:900px){
  .col-grid,.col-hero,.col-filter{padding-inline:24px}
  .col-group__head{flex-wrap:wrap;gap:8px}
}

/* ============================================================
   NANO FINISHES — full filterable grid (replaces the 6-tile rail)
   Two ranges (All / Black & White / Sensation). Dark ground.
   Reuses .pil-cards/.pil-card/.pil-chip; chips get the dark treatment.
   ============================================================ */
.nano-grid .panels-finhead{margin-bottom:24px}
.nano-grid .nano-filter{max-width:var(--agl-page-max);margin:0 auto 30px}
.nano-grid .nano-filter .pil-chip{border-color:rgba(244,242,237,.2);color:rgba(244,242,237,.7)}
.nano-grid .nano-filter .pil-chip:hover{border-color:rgba(244,242,237,.5)}
.nano-grid .nano-filter .pil-chip.on{background:var(--agl-gold);color:var(--agl-noir-950);border-color:var(--agl-gold)}
.nano-grid .pil-cards{max-width:var(--agl-page-max);margin-inline:auto}

/* Nano finishes grid — cards sit on a dark (noir) section, but the card bodies are white,
   so the name/family must be explicitly dark ink (they'd otherwise inherit light text). */
.nano-grid .pil-cardname{color:var(--agl-ink)}
.nano-grid .pil-cardfam{color:var(--agl-gold-ink)}

/* Continuity Performance section — optional lede under the headline (sintered has none). */
.pil2-perf .pil2-perf__lede{max-width:60ch;font-size:16px;line-height:1.75;color:var(--agl-ink-2);margin:0 0 48px}

/* ============================================================
   CRISTALLO BACKLIT DIMMER (textured pillar, section 06)
   Two registered images crossfade by opacity; a modern LED dimmer
   drives the backlight intensity. Pure CSS opacity — no canvas/GPU.
   ============================================================ */
.ts-cristallo{background:var(--agl-noir-950);padding:var(--agl-section-y,96px) var(--agl-inline)}
.ts-cristallo__in{max-width:var(--agl-page-max);margin-inline:auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.ts-cristallo__copy{max-width:46ch}
.ts-cristallo__title{font-family:var(--agl-display);font-weight:400;font-size:clamp(34px,4vw,54px);line-height:1.05;color:var(--agl-ivory);margin:0 0 18px}
.ts-cristallo__title em{font-style:italic;color:var(--agl-gold)}
.ts-cristallo__sub{color:rgba(244,242,237,.7);font-size:16px;line-height:1.7;margin:0 0 44px}

/* dimmer control */
.ts-dim{display:flex;align-items:center;gap:18px}
.ts-dim__icon{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,242,237,.5);min-width:26px;font-variation-settings:"wdth" 112}
.ts-dim__track{position:relative;flex:1;height:46px;border-radius:24px;background:rgba(244,242,237,.06);border:1px solid rgba(244,242,237,.12);overflow:hidden;cursor:pointer}
.ts-dim__fill{position:absolute;inset:0;width:var(--v,30%);background:linear-gradient(90deg,rgba(47,107,255,.22),#2f6bff);box-shadow:0 0 30px rgba(47,107,255,.5);transition:width .05s linear}
.ts-dim__handle{position:absolute;top:50%;left:var(--v,30%);transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:var(--agl-ivory);box-shadow:0 2px 10px rgba(0,0,0,.5);z-index:2;pointer-events:none}
.ts-dim__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}
.ts-dim__val{min-width:42px;text-align:right;font-size:13px;color:var(--agl-gold);font-variation-settings:"wdth" 112}

/* stone stage — both images stacked & registered */
.ts-cristallo__stage{position:relative;aspect-ratio:1023/1537;max-height:80vh;width:100%;margin:0 auto}
.ts-cristallo__img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block;clip-path:polygon(23.1% 10%, 96.6% 10%, 83% 93%, 5% 95.2%)}
.ts-cristallo__img--on{opacity:var(--lit,.3);transition:opacity .12s linear}
.ts-cristallo__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 50% at 50% 42%, rgba(47,107,255,calc(var(--lit,.3)*.45)), transparent 70%);clip-path:polygon(23.1% 10%, 96.6% 10%, 83% 93%, 5% 95.2%);mix-blend-mode:screen}

@media (max-width:900px){
  .ts-cristallo__in{grid-template-columns:1fr;gap:40px}
  .ts-cristallo__stage{max-height:64vh}
}

/* ============================================================
   .s-split--cream — light/cream variant of the image+text split.
   Used for "System" sections that sit in the cream rhythm (like the
   sintered Performance band). Flips the noir ground + light text to
   cream + dark ink. The .s-stat band inside already uses dark ink.
   ============================================================ */
.s-split--cream{background:var(--agl-day-100);color:var(--agl-ink)}
.s-split--cream .s-split__title{color:var(--agl-ink)}
.s-split--cream .s-split__title em{color:var(--agl-gold-ink)}
.s-split--cream .s-split__body p{color:var(--agl-ink-2)}
.s-split--cream .s-split__body .eyebrow{color:var(--agl-gold-ink)}
.s-split--cream .s-split__body .eyebrow::before{background:var(--agl-gold-ink)}
.s-split--cream .s-stat__cell{border-color:var(--agl-hairline-day)}
.s-split--cream .s-stat__n{color:var(--agl-ink)}
.s-split--cream .s-stat__n small{color:var(--agl-ink-2)}
.s-split--cream .s-stat__l,.s-split--cream .s-stat__cell p{color:var(--agl-ink-2)}

/* Lock the "Why" intro sections to explicit white (was relying on the body bg). */
.pil2-arg.day{background:var(--agl-day-50)}

/* ============================================================
   ULTRALIGHT FLOATING PANELS (.uplift) — panels pillar. Five thin panel
   layers float on pure black; each drifts at its own depth on mouse-move
   (scene.js), and a hotspot dot on each reveals a material fact on hover.
   ============================================================ */
.uplift{background:#000;padding:var(--agl-section-y,110px) var(--agl-inline);overflow:hidden}
.uplift__in{max-width:var(--agl-page-max);margin-inline:auto;display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:60px;align-items:center}
.uplift__copy h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(34px,3.6vw,52px);line-height:1.06;color:var(--agl-ivory);margin:0 0 22px}
.uplift__copy h2 em{font-style:italic;color:var(--agl-gold)}
.uplift__copy p{color:rgba(244,242,237,.62);font-size:16px;line-height:1.75;margin:0;max-width:42ch}
.uplift__stage{position:relative;width:100%}
.uplift__layer{position:absolute;will-change:transform;transition:transform .9s var(--agl-ease-soft,cubic-bezier(.33,.7,.3,1))}
.uplift__layer img{width:100%;height:auto;display:block}
.uplift__tick{position:absolute;width:38px;height:38px;margin:-19px 0 0 -19px;background:none;border:0;padding:0;cursor:pointer;z-index:10;transition:transform .9s var(--agl-ease-soft,cubic-bezier(.33,.7,.3,1)),opacity .7s var(--agl-ease-soft,cubic-bezier(.33,.7,.3,1))}
.uplift__stage:has(.uplift__tick:hover) .uplift__tick:not(:hover){opacity:.3}
.uplift__dot{position:absolute;inset:50% auto auto 50%;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;background:var(--agl-ivory);box-shadow:0 0 0 0 rgba(244,242,237,.5);animation:upliftpulse 3.4s ease-in-out infinite;transition:background .6s var(--agl-ease-soft,cubic-bezier(.33,.7,.3,1)),transform .6s var(--agl-ease-soft,cubic-bezier(.33,.7,.3,1))}
@keyframes upliftpulse{0%{box-shadow:0 0 0 0 rgba(244,242,237,.35)}70%{box-shadow:0 0 0 14px rgba(244,242,237,0)}100%{box-shadow:0 0 0 0 rgba(244,242,237,0)}}
.uplift__tick:hover .uplift__dot{background:var(--agl-gold);animation:none;transform:scale(1.18)}
.uplift__tick--flip .uplift__pop{left:auto;right:24px;transform:translateX(16px)}
.uplift__tick--flip:hover .uplift__pop,.uplift__tick--flip:focus-visible .uplift__pop{transform:translateX(0)}
.uplift__pop{position:absolute;left:24px;top:-12px;width:248px;background:rgba(11,11,10,.94);border:1px solid rgba(200,183,138,.32);padding:15px 17px;opacity:0;transform:translateX(-16px);pointer-events:none;transition:opacity 1.3s var(--agl-ease-soft,cubic-bezier(.33,.7,.3,1)),transform 1.3s var(--agl-ease-soft,cubic-bezier(.33,.7,.3,1))}
.uplift__tick:hover .uplift__pop,.uplift__tick:focus-visible .uplift__pop{opacity:1;transform:translateX(0)}
.uplift__pt{display:block;color:var(--agl-gold);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin-bottom:8px}
.uplift__pb{display:block;color:var(--agl-ivory);font-size:13px;line-height:1.62}
@media (max-width:900px){
  .uplift__in{grid-template-columns:1fr;gap:40px}
  .uplift__pop{left:auto;right:24px}
}
@media (prefers-reduced-motion:reduce){
  .uplift__layer,.uplift__tick{transition:opacity .3s}
  .uplift__dot{animation:none}
}

/* ============================================================================
   INSPIRATION PAGE — quote band + gallery head. (hero=pil2-hero, spotlight=gal,
   grid=insp-row/icard, mosaic=s-mosaic, cta=s-cta all reuse existing patterns.)
   ============================================================================ */

/* The animated pull-quote. Content visible by default (SEO + no-JS safe);
   .js-q (added by inspiration.js only) hides targets so they can animate in. */
.s-quote{background:var(--agl-noir-950);padding:clamp(96px,12vw,150px) var(--agl-inline);text-align:center}
.s-quote blockquote{font-family:var(--agl-display);font-style:italic;font-weight:400;font-size:clamp(30px,4.4vw,56px);line-height:1.28;color:var(--agl-ivory);max-width:18ch;margin:0 auto}
.s-quote .q-ln{display:block;overflow:hidden}
.s-quote .q-ln--free{overflow:visible}            /* the "behind" row: blur halo must not clip */
.s-quote .q-lni{display:inline-block;will-change:transform}
.s-quote .q-behind{font-style:italic;color:var(--agl-gold);display:inline-block;vertical-align:baseline;will-change:transform,filter,opacity}
.s-quote cite{display:block;margin-top:34px;font-family:var(--agl-body);font-style:normal;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--agl-gold-ink);font-weight:500}
.s-quote.js-q .q-lni{transform:translateY(115%)}
.s-quote.js-q .q-behind{transform:scale(.55);opacity:0;filter:blur(10px) brightness(1.6)}
.s-quote.js-q .q-cite{opacity:0}

/* The gallery section head (s-mosaic itself is already styled in organisms.css). */
.s-galsec{background:var(--agl-noir-950);padding:clamp(80px,9vw,110px) var(--agl-inline)}
.s-galhead{max-width:var(--agl-page-max);margin:0 auto 44px}
.s-galhead h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(32px,3.4vw,52px);margin:14px 0 0;color:var(--agl-ivory)}
.s-galhead h2 em{font-style:italic;color:var(--agl-gold)}
/* mosaic tiles are anchors here — keep them clean. */
.s-mosaic a.s-mosaic__tile{display:block;text-decoration:none}

/* ============================================================================
   COLLECTIONS — category + Refine on ONE centered row inside the .col-filter bar.
   Refine controls are smaller (subordinate to the category pills) and ride inline
   after a hairline divider. Category pills unchanged.
   ============================================================================ */
.col-filter__in{align-items:center}                /* vertical-center the whole row */
.col-cats{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center}

/* hairline divider between categories and refine */
.col-filter__div{width:1px;height:22px;background:rgba(244,242,237,.18);margin:0 6px;flex:0 0 auto}

.col-refine{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.rf{position:relative}
/* smaller than .pil-chip: less padding, slightly smaller type */
.rf-btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--agl-body);font-variation-settings:"wdth" 112;font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:500;padding:7px 12px;background:transparent;border:1px solid rgba(244,242,237,.16);color:rgba(244,242,237,.6);cursor:pointer;transition:border-color var(--agl-t-base) var(--agl-ease),color var(--agl-t-base) var(--agl-ease);line-height:1}
.rf-btn:hover{border-color:rgba(244,242,237,.4);color:rgba(244,242,237,.85)}
.rf.is-set .rf-btn{border-color:var(--agl-gold);color:var(--agl-gold)}
.rf-caret{width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform var(--agl-t-base) var(--agl-ease)}
.rf.is-open .rf-caret{transform:rotate(225deg) translateY(1px)}
.rf-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-6px);background:var(--agl-noir-950);border:1px solid rgba(244,242,237,.14);padding:8px;min-width:168px;display:grid;grid-template-columns:1fr;gap:2px;opacity:0;visibility:hidden;transition:opacity var(--agl-t-base) var(--agl-ease),transform var(--agl-t-base) var(--agl-ease),visibility 0s linear var(--agl-t-base);z-index:50;box-shadow:0 20px 40px rgba(0,0,0,.5)}
.rf.is-open .rf-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);transition:opacity var(--agl-t-base) var(--agl-ease),transform var(--agl-t-base) var(--agl-ease)}
.rf-opt{display:flex;align-items:center;gap:9px;width:100%;text-align:left;font-family:var(--agl-body);font-size:12px;letter-spacing:.06em;padding:9px 12px;background:transparent;border:none;color:rgba(244,242,237,.7);cursor:pointer;transition:background var(--agl-t-base) var(--agl-ease),color var(--agl-t-base) var(--agl-ease)}
.rf-opt:hover{background:rgba(244,242,237,.06);color:var(--agl-ivory)}
.rf-opt.on{color:var(--agl-gold)}
.rf-sw{width:12px;height:12px;border-radius:50%;border:1px solid rgba(244,242,237,.25);display:inline-block;flex:0 0 auto}
.col-refine__clear{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,242,237,.4);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color var(--agl-t-base) var(--agl-ease)}
.col-refine__clear:hover{color:var(--agl-gold)}
.col-empty{text-align:center;padding:60px 20px;color:var(--agl-ink-2);font-family:var(--agl-display);font-size:22px;font-style:italic}
@media(max-width:780px){.col-filter__div{display:none}.col-refine{width:100%;justify-content:center;margin-top:6px}}

/* ============================================================================
   PRODUCT PAGE — colour tag beside the family tag (material pages); colour under
   the design name + scrim (panel collection design tiles).
   ============================================================================ */

/* Material pages (sintered / nano / textured): family + colour tags share a row. */
.mat-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap;align-self:flex-start;margin-bottom:18px}
.mat-tags .mat-fam{align-self:auto;margin-bottom:0}          /* was its own block; now sits in the row */
.mat-colour{display:inline-flex;align-items:center;gap:8px;border-color:var(--agl-hairline);color:var(--agl-stone-300)}
.mat-colour__sw{width:12px;height:12px;border-radius:50%;border:1px solid rgba(244,242,237,.3);display:inline-block;flex:0 0 auto}

/* Panel design tiles: scrim so the name + colour read over busy renders. */
.pc-design__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(11,11,10,0) 42%,rgba(11,11,10,.18) 62%,rgba(11,11,10,.72) 100%)}
/* label becomes a stacked block (name over colour), still bottom-right, above scrim. */
.pc-design__label{display:flex;flex-direction:column;align-items:flex-end;gap:7px;text-align:right}
.pc-design__name{display:block;font-family:var(--agl-body);font-variation-settings:"wdth" 112;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.pc-design__colour{display:inline-flex;align-items:center;gap:7px;font-family:var(--agl-body);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:rgba(255,255,255,.9);text-shadow:0 1px 8px rgba(0,0,0,.5)}
.pc-design__sw{width:11px;height:11px;border-radius:50%;border:1px solid rgba(255,255,255,.5);display:inline-block;flex:0 0 auto}


/* ── .agl-form native fallbacks (when Choices.js isn't enhancing selects) + choice colors ── */
/* Native <select> — match the text inputs; fix the clipped-text height */
.agl-form .wpforms-form select{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;width:100%!important;background:transparent!important;border:1px solid var(--agl-hairline)!important;border-radius:0!important;box-shadow:none!important;color:var(--agl-ivory)!important;font-family:var(--agl-body)!important;font-weight:300!important;font-size:16px!important;line-height:1.5!important;height:auto!important;min-height:51px!important;padding:14px 44px 14px 16px!important;background-image:linear-gradient(45deg,transparent 50%,var(--agl-gold) 50%),linear-gradient(135deg,var(--agl-gold) 50%,transparent 50%)!important;background-position:calc(100% - 22px) calc(50% - 2px),calc(100% - 16px) calc(50% - 2px)!important;background-size:6px 6px,6px 6px!important;background-repeat:no-repeat!important;cursor:pointer!important;transition:border-color .25s var(--agl-ease)!important}
.agl-form .wpforms-form select:focus{border-color:var(--agl-hairline-gold)!important;outline:none!important;box-shadow:none!important}
.agl-form .wpforms-form select option{color:var(--agl-ivory)!important;background:var(--agl-noir-950)!important}

/* Checkbox & radio CHOICE LABELS — must be light on the dark panel (was inheriting dark) */
.agl-form .wpforms-field-checkbox .wpforms-field-label-inline,
.agl-form .wpforms-field-radio .wpforms-field-label-inline,
.agl-form ul.wpforms-field-checkbox-container label,
.agl-form ul.wpforms-field-radio-container label,
.agl-form .wpforms-form .wpforms-field-checkbox label,
.agl-form .wpforms-form .wpforms-field-radio label{color:var(--agl-ivory)!important;font-family:var(--agl-body)!important;font-weight:300!important;font-size:16px!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer!important}
/* choice rows: spacing + box alignment */
.agl-form .wpforms-form .wpforms-field-checkbox li,
.agl-form .wpforms-form .wpforms-field-radio li{display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 14px!important}
.agl-form .wpforms-form .wpforms-field-checkbox input,
.agl-form .wpforms-form .wpforms-field-radio input{width:18px!important;height:18px!important;margin:0!important;accent-color:var(--agl-gold)!important;flex:0 0 auto!important}

/* ── gal-book section balance: center the CTA column instead of top-left float ── */
.gal-book-cta{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:20px!important;text-align:center!important;padding:48px 40px!important;border:1px solid var(--agl-hairline-gold)!important}
.gal-book-note{font-family:var(--agl-body);font-size:13px;letter-spacing:.04em;color:var(--agl-stone-500);margin:0;text-align:center}
@media(max-width:860px){.gal-book-cta{align-items:center!important;text-align:center!important;padding:36px 28px!important}}


/* ── Galleria form: last-page Previous + Submit on ONE row ──
   Previous lives inside .wpforms-page-3 > .wpforms-pagebreak-left; Submit is a separate
   block (.wpforms-submit-container) further up the tree. They're not siblings, so we can't
   flex them together. Instead: on the last page, the page-break row reserves left space for
   Previous, and we pull the submit container UP onto that same row and push it right.
   CRITICAL: never set display on .wpforms-submit-container (WPForms toggles it; overriding
   it makes Submit show on step 1). We only use margin/position, which don't affect hidden. */


/* ── 2-column choices (checkboxes + radios) when a list is long ── */
.agl-form .wpforms-field-checkbox ul,
.agl-form .wpforms-field-radio ul{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px 28px!important;list-style:none!important;margin:0!important;padding:0!important}
@media(max-width:560px){.agl-form .wpforms-field-checkbox ul,.agl-form .wpforms-field-radio ul{grid-template-columns:1fr!important}}

/* ── Galleria booking modal ─────────────────────────────────────────────────
   Architectural Noir dialog holding the WPForms 3-step form (.agl-form). */
.gal-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}
.gal-modal[hidden]{display:none}
.gal-modal__overlay{position:absolute;inset:0;background:rgba(6,6,5,.82);backdrop-filter:blur(6px);opacity:0;transition:opacity .55s var(--agl-ease)}
.gal-modal.is-open .gal-modal__overlay{opacity:1}
.gal-modal__dialog{position:relative;z-index:1;width:100%;max-width:640px;max-height:calc(100vh - 48px);overflow-y:auto;background:var(--agl-noir-950);border:1px solid var(--agl-hairline-gold);padding:48px 48px 44px;opacity:0;transform:translateY(26px) scale(.97);transition:opacity .85s var(--agl-ease) .12s,transform .85s var(--agl-ease) .12s}
.gal-modal.is-open .gal-modal__dialog{opacity:1;transform:none}
.gal-modal__close{position:absolute;top:18px;right:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--agl-stone-300);font-size:28px;line-height:1;cursor:pointer;transition:color .25s var(--agl-ease)}
.gal-modal__close:hover{color:var(--agl-gold)}
.gal-modal__head{margin-bottom:30px}
.gal-modal__head h2{font-family:var(--agl-display);font-weight:400;font-size:clamp(26px,3vw,36px);line-height:1.1;color:var(--agl-ivory);margin:.18em 0 0}
.gal-modal__head p{font-family:var(--agl-body);color:var(--agl-stone-300);font-size:15px;line-height:1.7;margin:14px 0 0;max-width:46ch}
body.gal-modal-open{overflow:hidden}

/* hero CTA spacing */
.col-hero__cta{margin-top:28px}

/* ── WPForms multi-step chrome inside .agl-form (step indicator + page buttons) ── */
.agl-form .wpforms-page-indicator{margin-bottom:28px!important;padding-bottom:0!important}
.agl-form .wpforms-page-indicator.progress{display:flex!important;gap:8px!important;background:none!important}
.agl-form .wpforms-page-indicator-page-progress-wrap{background:rgba(244,242,237,.1)!important;height:2px!important;border-radius:0!important}
.agl-form .wpforms-page-indicator-page-progress{background:var(--agl-gold)!important;height:2px!important}
.agl-form .wpforms-page-indicator-steps{font-family:var(--agl-body)!important;font-size:11px!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--agl-stone-500)!important}
.agl-form .wpforms-page-indicator-steps-current{color:var(--agl-gold)!important}
.agl-form .agl-step-indicator,.agl-form .wpforms-field-html .agl-step-indicator{font-family:var(--agl-body)!important;font-size:11px!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:var(--agl-gold)!important;margin:0 0 6px!important}
/* page nav buttons */
.agl-form .wpforms-page-button{font-family:var(--agl-body)!important;font-weight:500!important;font-size:12px!important;letter-spacing:.14em!important;text-transform:uppercase!important;border-radius:0!important;padding:13px 24px!important;transition:all .3s var(--agl-ease)!important;cursor:pointer!important}
.agl-form .wpforms-page-next{background:transparent!important;border:1px solid var(--agl-hairline-gold)!important;color:var(--agl-ivory)!important}
.agl-form .wpforms-page-next:hover{background:var(--agl-gold)!important;color:var(--agl-noir-950)!important;border-color:var(--agl-gold)!important}
.agl-form .wpforms-page-prev{background:transparent!important;border:1px solid var(--agl-hairline)!important;color:var(--agl-stone-300)!important;margin-right:10px!important}
.agl-form .wpforms-page-prev:hover{border-color:var(--agl-stone-300)!important;color:var(--agl-ivory)!important}
