/* ============================================================
   GOLDEN OWL — CINEMATIC 3D + GLASS EXPERIENCE
   Brand locked · presentation rebuilt
   Private financial institution x brand consultancy x cinema
   ============================================================ */

/* ---------- Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);background:#03100a;color:var(--on-dark-heading);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;min-height:100vh}
body::before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;background-color:#03100a;background-image:linear-gradient(rgba(206,164,100,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(206,164,100,.04) 1px,transparent 1px);background-size:96px 96px;-webkit-mask-image:radial-gradient(85% 70% at 50% 20%,#000 25%,transparent 90%);mask-image:radial-gradient(85% 70% at 50% 20%,#000 25%,transparent 90%)}
img,picture,video,canvas{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}
input,select,textarea{font:inherit}
:focus-visible{outline:2px solid var(--brand-accent);outline-offset:3px;border-radius:4px}
::selection{background:var(--brand-primary);color:#fff}
body.is-locked{overflow:hidden}
.skip-link{position:fixed;left:var(--gutter);top:var(--gutter);z-index:10000;padding:.75rem 1.4rem;border-radius:100px;background:var(--brand-accent);color:var(--brand-primary-deep);font-weight:600;font-size:14px;transform:translateY(-200%);transition:transform var(--dur-fast) var(--ease)}
.skip-link:focus{transform:translateY(0)}

/* ---------- Layout ---------- */
.container{width:100%;max-width:var(--container);margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}
.section{position:relative;padding:clamp(4.5rem,9vw,7.5rem) 0}
.section--tight{padding:clamp(3rem,6vw,5rem) 0}
.sec-label{display:inline-flex;align-items:center;gap:.6rem;font-size:var(--text-xs);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--brand-accent);margin-bottom:1.1rem}
.sec-label::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px rgba(206,164,100,.18)}
.sec-head{max-width:780px;margin-bottom:clamp(2.4rem,5vw,4rem)}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head .lead{margin-top:1.25rem}
.mt-1{margin-top:1.1rem}
.center-btn{display:flex;justify-content:center;margin-top:2.4rem}

/* ---------- Legacy surface rhythm (cream islands on the dark world) ---------- */
.surface--light{background:#F8F4E3;color:var(--brand-text);border-radius:clamp(28px,4vw,60px);margin:clamp(8px,1.5vw,20px) var(--edge);box-shadow:0 60px 120px rgba(1,8,5,.45)}
.surface--paper{background:#F8F4E3;color:var(--brand-text);border-radius:clamp(28px,4vw,60px);margin:clamp(8px,1.5vw,20px) var(--edge);box-shadow:0 60px 120px rgba(1,8,5,.45)}
.surface--dark{background:#06130c;color:var(--on-dark-heading);border-radius:clamp(28px,4vw,60px);margin:clamp(8px,1.5vw,20px) var(--edge)}
.surface--dark-gold{background:#07150d;color:var(--on-dark-heading);border-radius:clamp(28px,4vw,60px);margin:clamp(8px,1.5vw,20px) var(--edge)}

/* ---------- Transparent dark surface (homepage-world background shows through) ---------- */
.surface--clear{background:transparent;color:var(--on-dark-heading)}
.surface--clear .sec-head .h2{color:#F8F4E3}
.surface--clear .sec-head .lead{color:rgba(248,244,227,.72)}
.surface--clear .tstep h3{color:#F8F4E3}
.surface--clear .tstep p{color:rgba(248,244,227,.7)}
.surface--clear .timeline-rail{background:rgba(255,255,255,.12)}
.surface--clear>.container>.svc-check>li{color:rgba(248,244,227,.8)}
.on-dark-h{color:#F8F4E3!important}
.on-dark-p{color:rgba(248,244,227,.75)!important}
.h2--oneline{white-space:nowrap;font-size:clamp(.95rem,3.2vw,2.6rem);letter-spacing:-.02em}
@media(max-width:640px){.h2--oneline{white-space:normal}}

/* ---------- White-card heading resets (cards stay readable on dark) ---------- */
.work-card .h3{color:#0d2117}
.journal-card .h3{color:#0d2117}
.contact-card h3{color:var(--brand-primary)}
.form-shell .h3{color:var(--brand-primary)}
.svc-item .h3{color:var(--brand-primary-deep)}
.surface--dark .sec-label,.surface--dark-gold .sec-label{color:var(--brand-accent)}
.surface--dark .lead,.surface--dark-gold .lead{color:var(--on-dark-muted)}

/* ---------- Typography ---------- */
.display{font-family:var(--font-display);font-weight:600;font-size:var(--display-1);line-height:1.02;letter-spacing:-.035em}
.display em,.h2 em,.h3 em{font-style:italic;color:var(--brand-accent)}
.surface--dark .display,.surface--dark-gold .display{color:var(--on-dark-heading)}
.h2{font-family:var(--font-display);font-weight:600;font-size:var(--h2-size);line-height:1.14;letter-spacing:-.025em}
.surface--dark .h2,.surface--dark-gold .h2{color:var(--on-dark-heading)}
.h3{font-family:var(--font-display);font-weight:600;font-size:var(--h3-size);line-height:1.24;letter-spacing:-.015em}
.surface--dark .h3,.surface--dark-gold .h3{color:var(--on-dark-heading)}
.lead{font-size:var(--lead-size);line-height:1.7;color:var(--brand-muted);font-weight:400;max-width:56rem}
.muted{color:var(--brand-muted)}

/* ---------- Buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 2rem;border-radius:100px;font-size:14px;font-weight:600;letter-spacing:.01em;border:1px solid transparent;cursor:pointer;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast),border-color var(--dur-fast);will-change:transform;white-space:nowrap}
.btn:active{transform:scale(.975)}
/* Magnetic buttons are GSAP-driven: no CSS transform transition (it fights the tween) */
.btn.magnetic{transition:box-shadow var(--dur-fast) var(--ease),background var(--dur-fast),border-color var(--dur-fast)}
.btn.magnetic:active{transform:none}
.btn .arr{font-style:normal;transition:transform var(--dur-fast) var(--ease);display:inline-block}
.btn:hover .arr{transform:translateX(5px)}
.btn--solid{background:var(--brand-primary);color:var(--on-dark-heading);box-shadow:0 12px 34px rgba(0,96,57,.3)}
.btn--solid:hover{background:var(--brand-primary-deep);transform:translateY(-3px);box-shadow:0 16px 44px rgba(0,96,57,.38)}
.btn--gold{background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-light));color:var(--brand-primary-deep);box-shadow:0 12px 34px rgba(206,164,100,.4)}
.btn--gold:hover{transform:translateY(-3px);box-shadow:0 16px 44px rgba(206,164,100,.5)}
.btn--glass{background:rgba(255,255,254,.12);color:var(--on-dark-heading);border-color:rgba(255,255,254,.2);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.btn--glass:hover{border-color:var(--brand-accent);transform:translateY(-3px);background:rgba(255,255,254,.18)}
.btn--glass-light{background:rgba(255,255,254,.72);color:var(--brand-primary);border-color:var(--border-subtle);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn--glass-light:hover{border-color:var(--brand-accent);transform:translateY(-3px)}
.btn--sm{padding:.7rem 1.4rem;font-size:13px}
.btn--lg{padding:1.15rem 2.3rem;font-size:15px}
.line-link{display:inline-flex;align-items:center;gap:.7rem;font-size:14px;font-weight:600;color:var(--brand-primary);padding-bottom:3px;position:relative}
.line-link::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--brand-accent);transform:scaleX(0);transform-origin:right;transition:transform var(--dur) var(--ease)}
.line-link:hover::after{transform:scaleX(1);transform-origin:left}
.line-link .arr{transition:transform var(--dur) var(--ease)}
.line-link:hover .arr{transform:translateX(5px)}
.surface--dark .line-link,.surface--dark-gold .line-link{color:var(--on-dark-heading)}

/* ============================================================
   GLOBAL FILM GRAIN + LIGHT FIELD + WORLD
   ============================================================ */
.grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:var(--z-fx);pointer-events:none;opacity:var(--film-grain-opacity);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}
.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--brand-accent);transform-origin:left;z-index:calc(var(--z-nav) + 1);transform:scaleX(0)}
.ambient-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.ambient-field .orb{position:absolute;border-radius:50%;filter:blur(70px);will-change:transform}
.orb--gold{background:rgba(206,164,100,.22)}
.orb--green{background:rgba(0,96,57,.18)}
.orb--emerald{background:rgba(0,96,57,.34)}

/* Reusable ambient light — illuminates, never sits on top */
.light-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(140px);opacity:.5}
.light-field{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 45% at 50% 20%,rgba(206,164,100,.10),transparent 70%),radial-gradient(50% 40% at 80% 85%,rgba(0,96,57,.22),transparent 70%)}
.radial-illumination{position:absolute;left:50%;top:-12%;width:min(1100px,120vw);aspect-ratio:2/1;transform:translateX(-50%);pointer-events:none;background:radial-gradient(50% 60% at 50% 40%,rgba(206,164,100,.14),transparent 70%);filter:blur(60px)}
.hint-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(206,164,100,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(206,164,100,.05) 1px,transparent 1px);background-size:88px 88px;-webkit-mask-image:radial-gradient(80% 80% at 50% 30%,#000,transparent 90%);mask-image:radial-gradient(80% 80% at 50% 30%,#000,transparent 90%)}

/* ============================================================
   CINEMATIC WORLD (body.cine — homepage)
   One continuous branded environment, not stacked rectangles
   ============================================================ */
body.cine{background:#030d07;color:var(--on-dark-heading)}
body.cine .lead{color:var(--on-dark-muted)}
.world-bg{position:fixed;inset:0;z-index:-2;pointer-events:none;background:#03100a}
.world-bg::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(206,164,100,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(206,164,100,.045) 1px,transparent 1px);background-size:96px 96px;-webkit-mask-image:radial-gradient(85% 70% at 50% 22%,#000 30%,transparent 88%);mask-image:radial-gradient(85% 70% at 50% 22%,#000 30%,transparent 88%)}
.world-bg::after{display:none}
.world-veil{display:none}
.light-orb{display:none}
.radial-illumination{display:none}
.quote-light{display:none}

/* ============================================================
   GLASS DESIGN SYSTEM — physical, 4–5 perceptual layers
   ============================================================ */
.glass-panel{position:relative;background:rgba(248,244,227,.10);-webkit-backdrop-filter:blur(28px) saturate(150%);backdrop-filter:blur(28px) saturate(150%);border:1px solid rgba(255,255,255,.14);border-radius:28px;box-shadow:0 50px 110px rgba(1,8,5,.55),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -1px 0 rgba(255,255,255,.05)}
.glass-panel::before{content:'';position:absolute;inset:0 0 auto 0;height:46%;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.10),transparent 75%)}
.glass-panel::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .8s var(--ease);background:radial-gradient(420px 220px at var(--mx,50%) var(--my,18%),rgba(255,255,255,.09),transparent 65%)}
.glass-panel:hover::after{opacity:1}
.glass-edge{position:absolute;inset:0;border-radius:inherit;pointer-events:none;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.04) 30%,rgba(206,164,100,.25) 70%,rgba(255,255,255,.12));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55}

/* ============================================================
   NAVIGATION — GLASS 01
   ============================================================ */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);padding:max(.9rem,env(safe-area-inset-top)) 0 0;transition:transform var(--dur-fast) var(--ease)}
.nav-shell{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .6rem .5rem 1.1rem;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(6,20,13,.45);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);box-shadow:0 18px 50px rgba(1,8,5,.35),inset 0 1px 0 rgba(255,255,255,.14);transition:background var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.nav-shell::before{content:'';position:absolute;inset:0 12% auto 12%;height:1px;background:rgba(255,255,255,.35);border-radius:1px;pointer-events:none}
.site-nav.scrolled .nav-shell{background:rgba(5,17,11,.62);box-shadow:0 22px 60px rgba(1,8,5,.5),inset 0 1px 0 rgba(255,255,255,.16);border-color:rgba(206,164,100,.22)}
.nav-logo{display:inline-flex;align-items:center;line-height:0;flex-shrink:0}
.nav-logo img{height:clamp(40px,5.5vw,56px);width:auto;object-fit:contain;max-width:46vw;filter:brightness(0) invert(72%) sepia(38%) saturate(550%) hue-rotate(-12deg) brightness(1.02)}
.nav-grow{display:none;align-items:center;gap:.15rem;flex:1;justify-content:center}
.nav-item{position:relative;display:inline-flex;align-items:center;height:44px;padding:0 15px;border-radius:100px;font-size:14px;font-weight:500;color:rgba(248,244,227,.72);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);letter-spacing:.01em}
.nav-item::after{content:'';position:absolute;left:50%;bottom:7px;height:2px;width:16px;background:var(--brand-accent);border-radius:2px;transform:translateX(-50%) scaleX(0);transition:transform var(--dur) var(--ease)}
.nav-item:hover{color:#fff}
.nav-item:hover::after{transform:translateX(-50%) scaleX(1)}
.nav-item.active{color:#fff;font-weight:600}
.nav-item.active::after{transform:translateX(-50%) scaleX(1)}
.nav-actions{display:flex;align-items:center;gap:.6rem}
.nav-burger{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;position:relative}
.nav-burger span{position:absolute;width:18px;height:1.6px;background:currentColor;transition:transform .35s var(--ease),opacity .25s}
.nav-burger span:nth-child(1){transform:translateY(-4px)}
.nav-burger span:nth-child(2){transform:translateY(4px)}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg)}
.nav-burger[aria-expanded="true"] span:nth-child(2){transform:rotate(-45deg)}
@media(min-width:1024px){.nav-grow{display:flex}.nav-burger{display:none}}
.mobile-menu{position:fixed;inset:0;z-index:var(--z-menu);pointer-events:none;visibility:hidden}
.mobile-menu[aria-hidden="false"]{pointer-events:auto;visibility:visible}
.mm-backdrop{position:absolute;inset:0;background:rgba(3,22,12,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity var(--dur) var(--ease)}
.mm-panel{position:absolute;top:0;right:0;height:100dvh;width:min(88vw,420px);background:var(--brand-bg);border-left:1px solid var(--border-subtle);box-shadow:-30px 0 80px rgba(0,48,28,.2);transform:translateX(100%);transition:transform .5s var(--ease);display:flex;flex-direction:column;overflow-y:auto;color:var(--brand-text)}
.mobile-menu[aria-hidden="false"] .mm-backdrop{opacity:1}
.mobile-menu[aria-hidden="false"] .mm-panel{transform:translateX(0)}
.mm-top{display:flex;align-items:center;justify-content:space-between;padding:1.2rem var(--gutter);border-bottom:1px solid var(--border-subtle)}
.mm-top img{height:42px;width:auto}
.mm-close{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;color:var(--brand-primary);font-size:16px}
.mm-nav{padding:1rem var(--gutter) 1.5rem;flex:1}
.mm-nav a{display:flex;align-items:center;justify-content:space-between;padding:.95rem .2rem;border-bottom:1px solid var(--border-subtle);font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--brand-primary)}
.mm-nav a .n{font-family:var(--font-body);font-size:11px;color:var(--brand-accent);letter-spacing:.12em;font-weight:700}
.mm-nav a.active{color:var(--brand-accent)}
.mm-foot{padding:1.25rem var(--gutter) calc(1.5rem + env(safe-area-inset-bottom))}
.mm-foot .btn{width:100%}

/* ============================================================
   HERO — cinematic 90–100svh, real depth layers
   ============================================================ */
.hero{position:relative;overflow:hidden;min-height:100svh;display:flex;align-items:center;color:var(--on-dark-heading);isolation:isolate;background:transparent}
.hero-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-grid{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(206,164,100,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(206,164,100,.07) 1px,transparent 1px);background-size:84px 84px;-webkit-mask-image:radial-gradient(80% 70% at 50% 38%,rgba(0,0,0,.65),transparent 85%);mask-image:radial-gradient(80% 70% at 50% 38%,rgba(0,0,0,.65),transparent 85%)}
.hero-draw{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0}
.hero-draw svg{width:100%;height:100%}
.hero-draw line,.hero-draw path{stroke:rgba(206,164,100,.4);stroke-width:1;fill:none;stroke-dasharray:1200;stroke-dashoffset:1200}
.hero-stage{position:relative;z-index:2;width:100%;perspective:1200px;padding:calc(var(--nav-h) + 2rem) 0 clamp(5rem,10vw,7rem)}
.hero-plane,.hero-plane--back,.hero-plane--mid,.hero-plane--sheen{display:none!important}
.hero-inner{position:relative;transform-style:preserve-3d;max-width:1080px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.7rem;padding:.55rem 1.1rem;border-radius:100px;border:1px solid rgba(206,164,100,.35);background:rgba(206,164,100,.10);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-accent)}
.hero-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--brand-accent);box-shadow:0 0 0 4px rgba(206,164,100,.25)}
.hero .display{margin:1.6rem 0 1.7rem;max-width:14ch;font-size:clamp(2.9rem,7.4vw,6.6rem)}
.hero .lead{color:rgba(248,244,227,.82);max-width:44rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.hero-foot{margin-top:clamp(2.2rem,5vw,3.4rem);display:flex;flex-wrap:wrap;gap:1rem 1.8rem;align-items:center}
.hero-tick{display:inline-flex;align-items:center;gap:.6rem;font-size:13px;color:rgba(248,244,227,.72)}
.hero-tick svg{width:16px;height:16px;color:var(--brand-accent);flex-shrink:0}
/* HUD — private-banking restraint, not sci-fi */
.hero-hud{position:absolute;z-index:5;inset:0;pointer-events:none;transform-style:preserve-3d}
.hud{position:absolute;min-width:178px;max-width:230px;padding:.85rem 1.05rem .9rem;border-radius:16px;background:rgba(6,20,13,.42);border:1px solid rgba(255,255,255,.13);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);box-shadow:0 30px 70px rgba(1,8,5,.5),inset 0 1px 0 rgba(255,255,255,.16)}
.hud::before{content:'';position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent)}
.hud small{display:block;font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(206,164,100,.9);margin-bottom:.3rem}
.hud strong{display:block;font-family:var(--font-display);font-size:1.65rem;line-height:1;color:#F8F4E3;font-variant-numeric:lining-nums}
.hud span{display:block;margin-top:.25rem;font-size:11px;letter-spacing:.04em;color:rgba(248,244,227,.62)}
.hud i{display:block;margin-top:.55rem;height:1px;background:linear-gradient(90deg,rgba(206,164,100,.55),transparent)}
.hud--1{top:19%;right:2%;transform:translateZ(50px)}
.hud--2{top:47%;right:19%;transform:translateZ(50px)}
.hud--3{top:73%;right:4%;transform:translateZ(50px)}
.hero-reflect{position:absolute;left:0;right:0;bottom:-1px;height:120px;z-index:4;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(206,164,100,.05));-webkit-mask-image:linear-gradient(180deg,#000,transparent);mask-image:linear-gradient(180deg,#000,transparent)}
.scroll-hint{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.4rem;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(248,244,227,.5);z-index:6}
.scroll-hint .line{width:1px;height:44px;background:linear-gradient(180deg,var(--brand-accent),transparent);position:relative;overflow:hidden}
.scroll-hint .line::after{content:'';position:absolute;left:0;width:100%;height:40%;background:var(--brand-accent);animation:hintScroll 2.2s var(--ease) infinite}
@keyframes hintScroll{0%{top:-40%}100%{top:110%}}
.line-mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.line-mask>span{display:block;will-change:transform}
@media(max-width:900px){.hud--2{display:none}.hud--1{top:14%}.hero-plane--back{opacity:.5}.hero-plane--mid{opacity:.4}}
@media(max-width:640px){.hero-hud{display:none}.hero-plane--mid{display:none}}

/* ============================================================
   METRICS — one floating institutional glass strip
   ============================================================ */
.metrics-overlap{position:relative;z-index:8;margin-top:clamp(-5.5rem,-7vw,-3.5rem);padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.metrics-strip{max-width:100%;padding:clamp(1.8rem,3.4vw,2.6rem) clamp(1.4rem,3.4vw,2.8rem);transform:perspective(1400px) rotateX(2deg)}
.metrics-strip .stats-inner{display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:860px){.metrics-strip .stats-inner{grid-template-columns:repeat(4,1fr)}}
@media(max-width:859px){.metrics-strip{transform:none}.stat{padding:.4rem .9rem}.metrics-strip .stats-inner{gap:1rem}}
.stat{padding:.4rem 1.4rem;border-left:1px solid rgba(206,164,100,.25)}
.stat:first-child{border-left:none}
@media(max-width:859px){.stat:nth-child(odd){border-left:none}}
.stat-num{font-family:var(--font-display);font-weight:700;font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1;color:#F8F4E3;font-variant-numeric:lining-nums}
.stat-num em{font-style:normal;color:var(--brand-accent)}
.stat-lbl{margin-top:.6rem;font-size:12.5px;color:rgba(248,244,227,.66);line-height:1.55;max-width:24ch}

/* ============================================================
   CINEMATIC LIGHT BRIDGES — curved masks kill stacked feel
   ============================================================ */
.bridge{position:relative;padding:clamp(5rem,10vw,8.5rem) 0 clamp(5rem,10vw,8.5rem)}
.bridge--light{background:#F8F4E3;color:var(--brand-text);border-radius:clamp(28px,4vw,60px);margin-inline:var(--edge);box-shadow:0 60px 120px rgba(1,8,5,.45)}
.bridge--light::before{display:none}
.bridge--light .lead{color:var(--brand-muted)}
.bridge--light .sec-label{color:#8a6a2f}
.bridge--dark{color:var(--on-dark-heading)}
.curve-sep{display:block;width:100%;height:90px;margin:-1px 0;color:#F8F4E3}

/* ---------- Thesis ---------- */
.thesis-cine{position:relative;min-height:66vh;display:flex;align-items:center}
.thesis-ghost{position:absolute;right:-2%;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-weight:800;font-size:clamp(10rem,26vw,24rem);line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(0,96,57,.14);pointer-events:none;user-select:none}
.thesis-statement{font-family:var(--font-display);font-weight:500;font-size:clamp(1.9rem,4.6vw,3.4rem);line-height:1.24;letter-spacing:-.02em;color:var(--brand-primary);max-width:none;white-space:nowrap}
.thesis-statement .t-line,.thesis-statement .t-line>span{display:inline;overflow:visible;padding:0;margin:0}
.thesis-support{margin-top:2.2rem;max-width:52rem}
.thesis-support p+p{margin-top:1.1rem}
.thesis-support .lead{font-size:1.05rem}
.t-line{display:inline;overflow:visible}
.t-line>span{display:inline;will-change:auto}

/* ============================================================
   TRUST RIBBON — continuous glass, edge fade
   ============================================================ */
.ribbon-section{position:relative;padding:clamp(3rem,6vw,5rem) 0}
.glass-ribbon{position:relative;margin-inline:var(--edge);border-radius:30px;padding:clamp(1.6rem,3vw,2.4rem) 0;background:rgba(248,244,227,.07);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(28px) saturate(150%);backdrop-filter:blur(28px) saturate(150%);box-shadow:0 40px 90px rgba(1,8,5,.5),inset 0 1px 0 rgba(255,255,255,.18);overflow:hidden}
.glass-ribbon::before{content:'';position:absolute;inset:0 0 auto 0;height:40%;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent);pointer-events:none}
.ribbon-head{text-align:center;max-width:720px;margin:0 auto 1.8rem;padding:0 var(--gutter)}
.marquee-section{overflow:hidden;position:relative}
.marquee-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee{display:flex;width:max-content;gap:1rem;align-items:center;animation:marqueeScroll var(--marquee-dur,56s) linear infinite}
.marquee--rev{animation-name:marqueeScrollRev}
.marquee-wrap:hover .marquee{animation-play-state:paused}
.marquee-chip{flex:0 0 auto;width:150px;height:88px;display:flex;align-items:center;justify-content:center;padding:.9rem 1.1rem;background:rgba(255,255,254,.06);border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 8px 24px rgba(1,8,5,.3);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.marquee-chip img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) contrast(1.05) opacity(.72) brightness(1.6);transition:filter var(--dur) var(--ease)}
.marquee-chip:hover img{filter:grayscale(0) opacity(1)}
.marquee-chip:hover{background:rgba(255,255,254,.1);border-color:rgba(206,164,100,.4)}
@keyframes marqueeScroll{to{transform:translateX(-50%)}}
@keyframes marqueeScrollRev{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* ============================================================
   CASE CHAPTERS — 80–95vh cinematic project storytelling
   ============================================================ */
.chapters{position:relative;padding:clamp(3rem,7vw,6rem) 0}
.chapter{position:relative;min-height:88vh;display:flex;align-items:center;padding:clamp(2rem,5vw,4rem) 0;perspective:1200px}
.chapter-num{position:static;display:flex;align-items:baseline;gap:1rem;margin-bottom:1.2rem;font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1;color:var(--brand-accent);letter-spacing:.02em;pointer-events:none}
.chapter-num::after{content:'';flex:1;height:1px;background:rgba(206,164,100,.3);align-self:center}
.chapter-frame{position:relative;width:100%;display:grid;gap:0;align-items:end}
.chapter-visual{position:relative;border-radius:32px;overflow:hidden;aspect-ratio:21/11;min-height:min(52vh,520px);background:#0a1f14;border:1px solid rgba(206,164,100,.3);box-shadow:0 60px 130px rgba(1,8,5,.6),inset 0 1px 0 rgba(255,255,255,.18);transform-style:preserve-3d;will-change:transform}
.chapter-visual::before{content:'';position:absolute;inset:0 0 auto 0;height:34%;z-index:1;background:rgba(255,255,255,.06);pointer-events:none}
.chapter-visual img{width:100%;height:100%;object-fit:cover;transform:scale(.92);will-change:transform}
.chapter-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,12,7,0) 40%,rgba(3,12,7,.55) 100%),radial-gradient(60% 50% at 20% 0%,rgba(206,164,100,.16),transparent 60%);pointer-events:none}
.chapter-tag{position:absolute;top:1.1rem;left:1.1rem;z-index:2;display:flex;gap:.5rem;align-items:center;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(248,244,227,.9);padding:.5rem 1rem;border-radius:100px;background:rgba(6,19,12,.45);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.chapter-glass{position:relative;z-index:3;margin:-9rem clamp(1rem,4vw,3rem) 0 auto;max-width:560px;padding:clamp(1.6rem,3.4vw,2.5rem);transform-style:preserve-3d;will-change:transform}
.chapter-glass h3{font-family:var(--font-display);font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.2;letter-spacing:-.015em;margin:.7rem 0 .6rem;color:#F8F4E3}
.chapter-glass p{font-size:.98rem;color:rgba(248,244,227,.72);line-height:1.65}
.chapter-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.1rem;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-accent)}
.chapter-go{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.2rem;color:#F8F4E3;font-weight:600;font-size:14px}
.chapter-go .arr{transition:transform var(--dur) var(--ease)}
.chapter-frame:hover .chapter-go .arr{transform:translateX(6px)}
@media(max-width:720px){.chapter{min-height:auto}.chapter-visual{aspect-ratio:16/11;min-height:300px}.chapter-glass{margin:-4rem 1rem 0 1rem}}

/* ============================================================
   PRACTICE — 3D glass stack (pinned)
   ============================================================ */
.practice-cine{position:relative;padding:clamp(4rem,8vw,7rem) 0}
.stack-stage{position:relative;transform-style:preserve-3d;display:grid;gap:1.2rem}
.stack-stage.is-pinned{display:block;height:100svh;min-height:640px;perspective:1400px;transform-style:preserve-3d}
.stack-panel{position:relative;padding:clamp(2rem,4.5vw,3.4rem);display:flex;flex-direction:column;justify-content:center;transform-style:preserve-3d;will-change:transform,opacity,filter}
.stack-stage.is-pinned .stack-panel{position:absolute;inset:0;margin:auto;max-width:860px;height:min(62vh,560px);opacity:0;visibility:hidden}
.stack-panel.is-active{visibility:visible}
.stack-num{font-family:var(--font-display);font-weight:800;font-size:clamp(3.4rem,8vw,6.4rem);line-height:.95;color:transparent;-webkit-text-stroke:1px rgba(206,164,100,.5)}
.stack-panel h3{font-family:var(--font-display);font-size:clamp(1.8rem,3.6vw,2.8rem);color:#F8F4E3;margin:.8rem 0 .7rem;letter-spacing:-.02em}
.stack-panel>p{color:rgba(248,244,227,.75);max-width:38rem}
.stack-points{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.3rem}
.stack-points li{font-size:12.5px;color:rgba(248,244,227,.8);padding:.45rem 1rem;border:1px solid rgba(206,164,100,.22);border-radius:100px;background:rgba(206,164,100,.07)}
.stack-invest{display:flex;align-items:center;gap:.8rem;margin-top:1.5rem;font-size:14px;color:var(--brand-accent);font-weight:600}
.stack-invest b{color:#F8F4E3}
.stack-dots{display:none;gap:.6rem;justify-content:center;margin-top:1.6rem}
.stack-dots.show{display:flex}
.stack-dots i{width:26px;height:3px;border-radius:3px;background:rgba(255,255,255,.16);transition:background .5s}
.stack-dots i.on{background:var(--brand-accent)}
.stack-fallback{display:none}

/* ============================================================
   PROCESS — cinematic vertical
   ============================================================ */
.process-cine{position:relative}
.process-cine .h2{color:#F8F4E3}
.proc-list{position:relative;margin-top:clamp(2rem,5vw,3.5rem);max-width:880px}
.proc-rail{position:absolute;left:3.4rem;top:.6rem;bottom:1rem;width:2px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.proc-rail i{position:absolute;inset:0;background:var(--brand-accent);transform:scaleY(0);transform-origin:top;display:block}
.proc-step{position:relative;display:grid;grid-template-columns:6.8rem 1fr;gap:1.6rem;padding:0 0 1.4rem}
.proc-big{font-family:var(--font-display);font-weight:800;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1;color:rgba(206,164,100,.9);transition:opacity .6s,filter .6s}
.proc-card{position:relative;padding:clamp(1.4rem,3vw,2rem) clamp(1.4rem,3vw,2.2rem);border-radius:22px;background:rgba(248,244,227,.08);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%);box-shadow:0 30px 70px rgba(1,8,5,.45),inset 0 1px 0 rgba(255,255,255,.16)}
.proc-card h3{color:#F8F4E3;font-size:clamp(1.2rem,2vw,1.5rem);margin:.2rem 0 .45rem}
.proc-card p{color:rgba(248,244,227,.72);max-width:44rem}
.proc-step.is-active .proc-big{opacity:1}
.proc-dot{position:absolute;left:3.4rem;top:.9rem;width:12px;height:12px;margin-left:-5px;border-radius:50%;background:var(--brand-accent);box-shadow:0 0 0 5px rgba(206,164,100,.18)}
@media(max-width:640px){.proc-list{padding-left:0}.proc-rail{left:1rem}.proc-dot{left:1rem}.proc-step{grid-template-columns:3.4rem 1fr}}
/* legacy timeline selectors (inner pages) */
.timeline{position:relative;margin-top:clamp(2rem,5vw,3.5rem)}
.timeline-rail{position:absolute;left:1.15rem;top:.4rem;bottom:2.4rem;width:1px;background:var(--border-subtle);overflow:hidden}
.timeline-rail::after{content:'';position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(180deg,var(--brand-accent),var(--brand-primary));transform:scaleY(var(--draw,0));transform-origin:top}
.tstep{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1.4rem;padding:0 0 2.6rem}
.tstep:last-child{padding-bottom:0}
.tstep-marker{width:2.4rem;height:2.4rem;margin-top:.15rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--brand-primary-deep);background:var(--brand-accent);box-shadow:0 0 0 1px var(--surface),0 0 0 5px rgba(206,164,100,.22);position:relative;z-index:2}
.tstep-num{font-family:var(--font-display);font-weight:700;font-size:clamp(1.1rem,2vw,1.4rem);color:var(--brand-accent)}
.tstep h3{color:var(--brand-primary);font-size:clamp(1.2rem,2vw,1.5rem);margin:.25rem 0 .45rem}
.tstep p{color:var(--brand-muted);max-width:44rem}
@media(min-width:820px){.timeline{padding-left:clamp(0rem,8vw,6rem)}}

/* ============================================================
   FOUNDER — editorial portrait storytelling
   ============================================================ */
.founder-cine{position:relative;padding:clamp(4rem,9vw,7.5rem) 0;overflow:visible}
.founder-grid{display:grid;gap:clamp(2rem,5vw,4rem);align-items:start}
@media(min-width:960px){.founder-grid{grid-template-columns:1fr 1.05fr}}
.founder-portrait{position:relative;width:100%;max-width:520px;padding:0;margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/5;background:#0a1a10;box-shadow:0 60px 120px rgba(1,8,5,.55);will-change:transform}
.founder-portrait img{display:block;width:100%;height:100%;margin:0;padding:0;object-fit:cover;object-position:center 16%;border-radius:inherit;will-change:transform}
.founder-frame{position:absolute;inset:14px;border:1px solid rgba(206,164,100,.35);border-radius:20px;pointer-events:none}
.micro-glass{position:absolute;max-width:210px;padding:.9rem 1.15rem;border-radius:16px;background:rgba(6,20,13,.5);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);box-shadow:0 24px 60px rgba(1,8,5,.5),inset 0 1px 0 rgba(255,255,255,.16);z-index:3}
.micro-glass strong{display:block;font-family:var(--font-display);font-size:1.5rem;color:#F8F4E3;line-height:1}
.micro-glass span{font-size:11px;color:rgba(248,244,227,.68)}
.micro--a{top:6%;right:4%}.micro--b{bottom:8%;left:4%}
.micro-glass.micro-static{position:static;flex:1 1 160px}
@media(max-width:1100px){.micro--a{right:3%}.micro--b{left:3%}}
.founder-bio .role{color:var(--brand-accent);font-weight:600;font-size:14px;margin:.35rem 0 1.4rem}
.founder-bio .glass-panel{padding:clamp(1.5rem,3vw,2.2rem);margin-top:1.4rem}
.founder-bio .glass-panel p{color:rgba(248,244,227,.78);font-size:1rem}
.founder-bio .glass-panel p+p{margin-top:1rem}
/* legacy founder selectors */
.founder-layout{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center}
.founder-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;background:#0a1a10;box-shadow:var(--shadow-deep)}
.founder-photo::before{content:'';position:absolute;inset:0;border:1px solid rgba(206,164,100,.3);border-radius:inherit;z-index:2;pointer-events:none}
.founder-photo::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(206,164,100,0) 30%,rgba(4,16,8,.55) 100%),radial-gradient(60% 40% at 30% 10%,rgba(206,164,100,.22),transparent);pointer-events:none}
.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;will-change:transform}
.founder-role{color:var(--brand-accent);font-weight:600;font-size:14px;margin:.35rem 0 1.4rem;letter-spacing:.02em}
.founder-bio p+p{margin-top:1.1rem}
.founder-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1.7rem 0 1.2rem}
.founder-stat{padding:1.05rem 1.2rem;border-radius:16px;background:rgba(255,255,254,.06);border:1px solid rgba(255,255,254,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.founder-stat strong{display:block;font-family:var(--font-display);font-size:1.6rem;color:var(--on-dark-heading)}
.founder-stat span{font-size:12px;color:rgba(248,244,227,.7)}
@media(min-width:860px){.founder-layout{grid-template-columns:.9fr 1.1fr}}

/* ============================================================
   CONSTELLATION — capability nodes + architectural lines
   ============================================================ */
.constellation{position:relative;margin-top:2.4rem;padding:2.2rem 0;border-radius:28px;background:rgba(248,244,227,.05);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.constellation::before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(206,164,100,.4),transparent);pointer-events:none}
.constellation-track{display:flex;gap:1rem;width:max-content;padding:1rem .5rem 1.2rem;animation:marqueeScroll var(--const-dur,80s) linear infinite}
.constellation:hover .constellation-track{animation-play-state:paused}
.node{flex:0 0 auto;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem;min-width:118px;padding:1.1rem .9rem;border-radius:18px;background:rgba(6,20,13,.5);border:1px solid rgba(255,255,255,.11);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .4s,transform .4s var(--ease)}
.node img{width:44px;height:44px;object-fit:contain;filter:brightness(1.5) grayscale(.2)}
.node label{font-size:10.5px;font-weight:600;letter-spacing:.06em;color:rgba(248,244,227,.75);text-transform:uppercase;text-align:center}
.node::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--brand-accent);box-shadow:0 0 12px rgba(206,164,100,.8)}
.node:hover{border-color:rgba(206,164,100,.5);transform:translateY(-4px)}
.marquee-chip.tech{width:122px;height:108px;flex-direction:column;gap:.4rem}
.marquee-chip.tech img{max-height:46px;width:auto}
.marquee-chip.tech label{font-size:10px;font-weight:600;color:var(--brand-muted);white-space:nowrap}

/* ============================================================
   TESTIMONIALS — 70–80vh cinematic quote stage
   ============================================================ */
.quote-stage{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,8vw,6.5rem) 0 clamp(3rem,6vw,5rem);overflow:hidden}
.quote-light{position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 42% at 30% 40%,rgba(206,164,100,.10),transparent 65%),radial-gradient(46% 40% at 75% 65%,rgba(0,96,57,.35),transparent 65%);animation:quoteDrift 14s ease-in-out infinite alternate}
@keyframes quoteDrift{from{transform:translateX(-3%)}to{transform:translateX(3%)}}
.quote-marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.quote-track{display:flex;gap:1.2rem;width:max-content;align-items:stretch;padding:.6rem .3rem 1rem;animation:marqueeScroll var(--quote-dur,95s) linear infinite}
.quote-marquee:hover .quote-track{animation-play-state:paused}
.quote-card{flex:0 0 min(440px,84vw);padding:1.6rem 1.7rem;display:flex;flex-direction:column;gap:1.1rem;margin:0}
.quote-card blockquote{font-family:var(--font-display);font-size:1.02rem;line-height:1.6;color:rgba(248,244,227,.88);font-weight:500}
.quote-card blockquote .mark{color:var(--brand-accent)}
.quote-card figcaption{display:flex;flex-direction:column;gap:.1rem;margin-top:auto;padding-top:1rem;border-top:1px solid rgba(206,164,100,.2)}
.quote-card figcaption b{font-size:14px;color:#F8F4E3}
.quote-card figcaption span{font-size:12.5px;color:rgba(248,244,227,.6)}
.tslider{position:relative;min-height:340px}
.tslide{position:relative}
.ts-quote{font-family:var(--font-display);font-weight:500;font-size:clamp(1.45rem,3.2vw,2.4rem);line-height:1.42;letter-spacing:-.01em;max-width:32ch;color:#F8F4E3}
.ts-quote .mark{color:var(--brand-accent)}
.ts-author{margin-top:1.8rem;display:inline-flex;flex-direction:column;gap:.1rem;padding:.9rem 1.3rem;border-radius:16px;background:rgba(248,244,227,.08);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.ts-author b{font-size:15px;color:var(--on-dark-heading);font-weight:600}
.ts-author span{font-size:13px;color:rgba(248,244,227,.62)}
.ts-controls{display:flex;align-items:center;gap:.7rem;margin-top:2rem}
.ts-ctrl{width:52px;height:52px;border-radius:100px;border:1px solid rgba(255,255,255,.2);color:var(--on-dark-heading);display:inline-flex;align-items:center;justify-content:center;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.ts-ctrl:hover{background:rgba(206,164,100,.16);border-color:var(--brand-accent)}
.ts-progress{position:relative;height:2px;width:150px;background:rgba(255,255,255,.18);border-radius:2px;overflow:hidden}
.ts-progress i{position:absolute;inset:0;background:var(--brand-accent);transform-origin:left;transform:scaleX(0);display:block}

/* ============================================================
   CREDENTIAL VAULT — etched, metallic, layered
   ============================================================ */
.vault-grid{display:grid;grid-template-columns:1fr;gap:1.3rem}
@media(min-width:780px){.vault-grid.grid-3{grid-template-columns:repeat(3,1fr)}}
.cred-card{position:relative;border-radius:26px;overflow:hidden;background:rgba(248,244,227,.06);border:1px solid rgba(206,164,100,.22);box-shadow:0 40px 90px rgba(1,8,5,.5),inset 0 1px 0 rgba(255,255,255,.18);-webkit-backdrop-filter:blur(26px) saturate(150%);backdrop-filter:blur(26px) saturate(150%);transform-style:preserve-3d}
.cred-card::before{content:'';position:absolute;inset:10px;border:1px solid rgba(206,164,100,.16);border-radius:18px;pointer-events:none}
.cred-card::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(224,196,138,.10) 48%,transparent 62%);transform:translateX(-60%);animation:vaultSheen 7s var(--ease) infinite;pointer-events:none}
@keyframes vaultSheen{0%,55%{transform:translateX(-60%)}85%,100%{transform:translateX(60%)}}
.cred-card .cc-head{padding:1.2rem 1.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(206,164,100,.14);background:linear-gradient(120deg,rgba(206,164,100,.12),transparent)}
.cred-card .cc-head .seal{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(206,164,100,.5);border-radius:50%;color:var(--brand-accent);font-size:12px}
.cred-card .cc-body{padding:1.6rem 1.5rem;display:grid;gap:.9rem}
.cred-card .h3{font-size:1.4rem;color:var(--on-dark-heading)}
.cred-card p.cc-sub{color:rgba(248,244,227,.7);font-size:14px;line-height:1.6}
.cred-card .cc-id{font-size:10.5px;letter-spacing:.2em;color:rgba(206,164,100,.75);font-weight:700}
.cc-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.5rem}
.cred-card .cc-foot{padding:1rem 1.5rem;border-top:1px solid rgba(206,164,100,.12);font-size:11px;color:rgba(248,244,227,.45);letter-spacing:.08em}

/* ============================================================
   CTA SIGNATURE — 85vh closing scene, seamless into footer
   ============================================================ */
.cta-final{position:relative;text-align:center;overflow:hidden}
.cta-final .display{max-width:18ch;margin:1.6rem auto 0}
.cta-final .lead{margin:1.4rem auto 0;max-width:40rem}
.cta-final .cta-actions{margin-top:2.4rem}
.cta-orbits{position:absolute;inset:0;pointer-events:none}
.cta-orbit{position:absolute;width:44vmin;aspect-ratio:1;border-radius:50%;border:1px solid rgba(206,164,100,.16);left:50%;top:50%;transform:translate(-50%,-50%)}
.cta-orbit--2{width:64vmin;border-color:rgba(206,164,100,.08)}
.cta-signature{min-height:85vh;display:flex;align-items:center;background:transparent}
.cta-capsule{display:inline-block;padding:1.6rem 2rem;border-radius:34px;background:rgba(248,244,227,.08);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(28px) saturate(150%);backdrop-filter:blur(28px) saturate(150%);box-shadow:0 50px 110px rgba(1,8,5,.55),inset 0 1px 0 rgba(255,255,255,.2);margin-top:2.4rem;position:relative;transition:box-shadow .7s var(--ease)}
.cta-capsule:hover{box-shadow:0 50px 110px rgba(1,8,5,.55),0 0 80px rgba(206,164,100,.22),inset 0 1px 0 rgba(255,255,255,.25)}
.cta-capsule small{display:block;margin-top:1rem;font-size:12px;color:rgba(248,244,227,.6)}

/* ============================================================
   FOOTER — seamless continuation
   ============================================================ */
.site-footer{position:relative;background:#04110a;color:rgba(248,244,227,.85);border:1px solid rgba(206,164,100,.12);border-radius:clamp(28px,4vw,60px);margin:clamp(8px,1.5vw,20px) var(--edge) var(--edge);padding-top:clamp(3.5rem,6vw,4.5rem)}
.footer-top-glow{position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:min(640px,80%);height:1px;background:linear-gradient(90deg,transparent,rgba(206,164,100,.6),transparent)}
.footer-grid-top{display:grid;gap:2.4rem;padding-bottom:2.6rem;border-bottom:1px solid rgba(206,164,100,.14)}
@media(min-width:860px){.footer-grid-top{grid-template-columns:1.5fr 1fr 1fr 1.4fr}}
.foot-brand{max-width:30rem;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.foot-brand img.logo-foot{height:88px;width:auto;object-fit:contain;max-width:300px}
.foot-brand p{font-size:14px;color:rgba(248,244,227,.68);line-height:1.7}
.foot-reg{font-size:12px;color:rgba(248,244,227,.5);line-height:1.7;font-variant-numeric:tabular-nums}
.foot-col h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-accent);font-weight:700;margin-bottom:1.2rem}
.foot-col ul{display:grid;gap:.7rem}
.foot-col ul a{color:rgba(248,244,227,.7);font-size:14px;transition:color var(--dur-fast) var(--ease),padding-left var(--dur-fast) var(--ease)}
.foot-col ul a:hover{color:var(--brand-accent);padding-left:4px}
.foot-col.contact li{font-size:14px;color:rgba(248,244,227,.78);line-height:1.65}
.foot-col.contact li a{color:inherit}
.foot-bottom{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:center;padding:1.6rem 0 calc(1.8rem + env(safe-area-inset-bottom));font-size:12.5px;color:rgba(248,244,227,.55)}
.foot-min-engage{padding:.5rem 1.1rem;border:1px solid rgba(206,164,100,.3);border-radius:100px;font-size:12px;color:var(--brand-accent)}
.foot-min-engage strong{color:var(--on-dark-heading)}

/* ============================================================
   INNER PAGE HERO / CONTACT / WORK / CASE / SERVICES / STUDIO
   (legacy selectors preserved for inner pages)
   ============================================================ */
.page-hero{position:relative;overflow:hidden;padding:calc(var(--nav-h) + clamp(2rem,5vw,3.5rem)) 0 clamp(2.5rem,5vw,4rem);color:var(--on-dark-heading);background:#04110a;border-radius:clamp(28px,4vw,60px);margin:calc(var(--nav-h) + 6px) var(--edge) 0}
.page-hero .sec-label{margin-bottom:1.2rem}
.page-hero .display{font-size:clamp(2.4rem,6vw,4.8rem);max-width:20ch}
.page-hero .lead{color:rgba(248,244,227,.8);max-width:52rem}
.page-hero .hero-grid{z-index:0}
.contact-layout{display:grid;gap:clamp(1.5rem,3vw,2.5rem);align-items:stretch}
@media(min-width:860px){.contact-layout{grid-template-columns:.92fr 1.08fr}}
.contact-stack{display:flex;flex-direction:column;gap:1.2rem;height:100%}
.contact-stack>.contact-card:first-child{flex:1}
.contact-card{border-radius:var(--radius);padding:1.6rem 1.6rem 1.8rem;background:var(--surface);border:1px solid var(--border-subtle)}
.contact-card h3{font-size:1.25rem;margin-bottom:.35rem}
.contact-card .sub{font-size:14px;color:var(--brand-muted);margin-bottom:1.2rem}
.contact-lines{display:grid;gap:.85rem}
.contact-lines li{display:flex;align-items:center;gap:.8rem;font-size:14.5px;color:var(--brand-text)}
.contact-lines li .ic{width:40px;height:40px;flex-shrink:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-gradient-soft);border:1px solid var(--border-subtle);color:var(--brand-primary)}
.contact-lines a{color:inherit;transition:color var(--dur-fast) var(--ease)}
.contact-lines a:hover{color:var(--brand-primary)}
.contact-reg{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--border-subtle);font-size:12.5px;color:var(--brand-muted);line-height:1.7}
.form-shell{border-radius:var(--radius-lg);padding:clamp(1.5rem,4vw,2.4rem);background:var(--surface);border:1px solid var(--border-subtle)}
.form-shell .h3{margin-bottom:1.4rem}
.form-grid{display:grid;grid-template-columns:1fr;gap:1.1rem}
@media(min-width:600px){.form-grid.d2{grid-template-columns:1fr 1fr}}
.form-field{display:grid;gap:.4rem}
.form-field label{font-size:13px;font-weight:600;color:var(--brand-primary)}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:1rem 1.1rem;background:rgba(255,255,254,.8);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--brand-text);transition:border-color .25s,box-shadow .25s;-webkit-appearance:none;appearance:none}
.form-field textarea{min-height:130px;resize:vertical}
.form-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23006039' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.1rem center}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px rgba(206,164,100,.2)}
.form-note{font-size:12.5px;color:var(--brand-muted)}
.work-filter{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.6rem}
.wfilter{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:100px;border:1px solid var(--border-strong);background:rgba(255,255,254,.7);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 8px 24px rgba(0,48,28,.06);color:var(--brand-primary);font-size:13.5px;font-weight:600;transition:all var(--dur-fast) var(--ease)}
.wfilter:hover{border-color:var(--brand-accent);transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 12px 30px rgba(206,164,100,.22)}
.wfilter.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;box-shadow:0 12px 30px rgba(0,96,57,.3)}
.work-card{position:relative;display:block;border-radius:var(--radius-lg);overflow:hidden;background:var(--surface);border:1px solid var(--border-subtle);box-shadow:var(--shadow-deep)}
.work-card+.work-card{margin-top:clamp(2.5rem,6vw,4rem)}
.work-media{position:relative;aspect-ratio:21/10;overflow:hidden;background:var(--brand-primary-deep)}
.work-media img{width:100%;height:100%;object-fit:cover;will-change:transform}
.work-index{position:absolute;top:1rem;left:1rem;z-index:2;font-size:11px;letter-spacing:.18em;font-weight:700;color:rgba(248,244,227,.85);padding:.4rem .85rem;border-radius:100px;background:rgba(6,19,12,.4);border:1px solid rgba(255,255,254,.18);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.work-arrow-badge{position:absolute;right:1.4rem;bottom:1.9rem;z-index:2;width:clamp(42px,5vw,58px);height:clamp(42px,5vw,58px);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--brand-accent);color:var(--brand-primary-deep);font-size:1.05rem;box-shadow:0 12px 30px rgba(206,164,100,.4)}
.work-arrow-badge .arr{transform:rotate(-45deg);transition:transform var(--dur) var(--ease)}
.work-card:hover .work-arrow-badge .arr{transform:rotate(0deg)}
.work-card .card-body{padding:clamp(1.4rem,3.5vw,2.4rem) clamp(1.4rem,4vw,2.8rem) clamp(2rem,4vw,2.8rem);display:flex;flex-direction:column}
.work-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.2rem;margin-bottom:.5rem}
.work-tag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-accent)}
.work-year{display:inline-flex;align-items:center;gap:.5rem;font-size:13px;color:var(--brand-muted)}
.work-year::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--brand-accent)}
.work-card .h3{transition:color var(--dur-fast) var(--ease);margin:.2rem 0 .6rem}
.work-card:hover .h3{color:var(--brand-primary-deep)}
.work-desc{color:var(--brand-muted);max-width:46rem}
.work-go{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.2rem;padding:.7rem 1.35rem;border-radius:100px;border:1px solid var(--border-strong);background:rgba(255,255,254,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 rgba(255,255,255,.6);color:var(--brand-primary);font-weight:600;font-size:14px;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.work-go .arr{transition:transform var(--dur) var(--ease)}
.work-card:hover .work-go{border-color:var(--brand-accent);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 10px 26px rgba(206,164,100,.22)}
.work-card:hover .work-go .arr{transform:translateX(5px)}
@media(max-width:640px){
  .container{padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right))}
  .work-media{aspect-ratio:16/10}
  .chapter-glass{margin-left:1rem;margin-right:1rem}
}
@media(min-width:860px){
  .work-card--split .card-body{display:grid;grid-template-columns:1fr;align-items:start;gap:0}
  .work-card--split .work-go{margin-top:1.2rem}
}
.work-flex{flex:1;display:flex;flex-direction:column;gap:0;margin-top:.9rem}
.work-flex>div{flex:1}
.work-flex .work-go{margin-top:1.2rem;border-top:1px solid var(--border-strong);padding:.85rem 1.6rem;align-self:center;justify-content:center;text-align:center}
.cs-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:1.2rem;color:rgba(248,244,227,.78);font-size:14px}
.cs-meta .d{display:inline-flex;align-items:center;gap:.5rem}
.cs-meta .d::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--brand-accent)}
.cs-hero-img{border-radius:var(--radius-lg);overflow:hidden;margin:2.4rem 0 clamp(2.5rem,5vw,3.5rem);aspect-ratio:21/10;background:var(--brand-primary-deep);box-shadow:var(--shadow-deep)}
.cs-hero-img img{width:100%;height:100%;object-fit:cover}
.cs-grid{display:grid;gap:clamp(2rem,4vw,3.5rem)}
@media(min-width:860px){.cs-grid{grid-template-columns:.9fr 1.1fr}}
.cs-block{padding:1.5rem 0;border-top:1px solid var(--border-subtle)}
.cs-block:first-child{border-top:none;padding-top:0}
.cs-block .h3{font-size:1.4rem;margin-bottom:.9rem}
.cs-block ul{list-style:none}
.cs-block li{position:relative;padding:.35rem 0 .35rem 1.5rem;color:var(--brand-muted);font-size:15px}
.cs-block li::before{content:'';position:absolute;left:0;top:.95rem;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--brand-accent)}
.cs-block li b{color:var(--brand-primary)}
.cs-quote{margin:1.6rem 0 0;padding:1.5rem 1.7rem;border-left:3px solid var(--brand-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-family:var(--font-display);font-size:1.15rem;line-height:1.5;color:var(--brand-primary)}
.cs-quote footer{margin-top:.8rem;font-family:var(--font-body);font-size:13px;color:var(--brand-muted)}
.cs-next{margin-top:clamp(2.5rem,5vw,3.5rem)}
.svc-list{display:grid;gap:1.3rem}
.svc-item{padding:clamp(1.6rem,3.5vw,2.6rem);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border-subtle)}
.svc-item .svc-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.svc-item .svc-num{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--brand-accent);line-height:1}
.svc-item .h3{font-size:1.6rem}
.svc-item>p{margin-top:.7rem;color:var(--brand-muted);max-width:40rem}
.svc-check{margin-top:1.4rem;display:grid;grid-template-columns:1fr;gap:.7rem;max-width:44rem}
@media(min-width:700px){.svc-check{grid-template-columns:1fr 1fr}}
.svc-check li{position:relative;padding-left:1.7rem;font-size:14px;color:var(--brand-muted)}
.svc-check li::before{content:'';position:absolute;left:0;top:.55rem;width:14px;height:8px;border-left:2px solid var(--brand-accent);border-bottom:2px solid var(--brand-accent);transform:rotate(-45deg)}
.svc-meta{margin-top:1.6rem;display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem;font-size:14px;color:var(--brand-primary);font-weight:600}
.svc-meta .pill{display:inline-flex;padding:.45rem 1rem;border-radius:100px;background:var(--brand-gradient-soft);border:1px solid var(--border-subtle);color:var(--brand-primary);font-size:13px}
.num-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
@media(min-width:860px){.num-grid{grid-template-columns:repeat(4,1fr)}}
.num-cell{padding:1.3rem 1.4rem;border-radius:var(--radius);background:rgba(255,255,254,.06);border:1px solid rgba(255,255,255,.12)}
.num-cell strong{display:block;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.2rem);line-height:1;color:var(--brand-accent)}
.num-cell span{display:block;margin-top:.6rem;font-size:.95rem;line-height:1.55;color:rgba(248,244,227,.78)}
@media(max-width:420px){.num-grid{grid-template-columns:1fr 1fr}}
.journal-list{display:grid;grid-template-columns:1fr;gap:1.3rem}
@media(min-width:760px){.journal-list{grid-template-columns:repeat(3,1fr)}}
.journal-card{padding:0;overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius)}
.journal-card .j-body{padding:1.6rem 1.6rem 1.8rem;display:flex;flex-direction:column;gap:.8rem;flex:1}
.journal-card .j-cat{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-accent)}
.journal-card .h3{font-size:1.3rem}
.journal-card p{font-size:14px;color:var(--brand-muted)}
.journal-card .j-date{margin-top:auto;font-size:12.5px;color:var(--brand-muted)}
.journal-card .j-more{margin-top:.6rem;color:var(--brand-primary);font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;gap:.5rem}
.journal-card .j-more .arr{transition:transform var(--dur) var(--ease)}
.journal-card:hover .j-more .arr{transform:translateX(5px)}
.steps{display:flex;align-items:center;justify-content:center;gap:1.4rem;flex-wrap:wrap}
.step-dot{min-width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13.5px;color:var(--brand-muted);border:1px solid var(--border-strong);background:var(--surface);transition:all var(--dur-fast) var(--ease)}
.step-dot.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}
.step-dot.done{background:var(--brand-accent);color:var(--brand-primary-deep);border-color:var(--brand-accent)}
.step-dot[aria-hidden="true"]{min-width:28px;max-width:34px;height:2px;border:none;background:var(--border-strong)}
.cfg-services{display:grid;gap:1rem;margin-top:1.2rem}
.cfg-service{position:relative;cursor:pointer}
.cfg-service input{position:absolute;opacity:0;inset:0}
.cfg-box{display:flex;flex-direction:column;gap:.5rem;padding:1.25rem 1.4rem;border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--surface);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
.cfg-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.cfg-name{font-family:var(--font-display);font-weight:600;font-size:1.1rem;color:var(--brand-primary)}
.cfg-price{font-size:13.5px;font-weight:700;color:var(--brand-accent);margin-left:auto}
.cfg-desc{font-size:13.5px;color:var(--brand-muted)}
.cfg-tick{position:absolute;top:1.1rem;right:1.2rem;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--brand-primary);color:#fff;font-size:13px;font-weight:700;opacity:0;transform:scale(.4);transition:all var(--dur-fast) var(--ease);z-index:2}
.cfg-service input:checked+.cfg-box{border-color:var(--brand-accent);box-shadow:0 10px 30px rgba(206,164,100,.25);background:rgba(206,164,100,.08)}
.cfg-service input:checked+.cfg-box .cfg-tick{opacity:1;transform:scale(1)}
.cfg-total{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.1rem;margin-top:1rem;border-radius:14px;border:1px solid var(--border-subtle);background:rgba(255,255,254,.6)}
.cfg-total span{font-size:14px;color:var(--brand-muted)}
.cfg-total strong{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--brand-primary)}
.cfg-grand{border:2px solid var(--brand-accent);background:rgba(206,164,100,.1)}
.cfg-grand strong{color:var(--brand-primary-deep)}
.cfg-success{text-align:center;padding:3rem 1.5rem}
.cfg-checked{width:76px;height:76px;border-radius:50%;margin:0 auto 1.4rem;display:flex;align-items:center;justify-content:center;background:var(--brand-accent);color:var(--brand-primary-deep);font-size:1.9rem;box-shadow:0 14px 40px rgba(206,164,100,.45)}
.nda-shell{background:#fffffe;border:1px solid var(--border-subtle);border-radius:28px;padding:clamp(1.5rem,4vw,2.6rem);box-shadow:0 30px 70px rgba(1,8,5,.35);color:var(--brand-text)}
.nda-shell .h3{color:var(--brand-primary)}
.nda-legal{padding:1.6rem 2rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--brand-bg);font-size:14px;line-height:1.75;color:var(--brand-text)}
.nda-legal h3{font-family:var(--font-display);color:var(--brand-primary);font-weight:700;font-size:1.05rem;margin:1.4rem 0 .5rem}
.nda-legal p{margin:0 0 .9rem}
.nda-legal ul{margin:.4rem 0 .9rem .2rem}
.nda-legal li{position:relative;padding-left:1.2rem}
.nda-legal li::before{content:'';position:absolute;left:0;top:.7rem;width:7px;height:7px;border-radius:50%;border:1.5px solid var(--brand-accent)}
.sig-pad-wrap{border:1px dashed rgba(0,96,57,.35);border-radius:var(--radius-sm);background:#fff;overflow:hidden}
.sig-pad-wrap canvas{display:block;width:100%;height:220px;touch-action:none;cursor:crosshair}

/* Legacy practice selectors (services page + fallback) */
.practice-stack{display:grid;gap:1.4rem}
.practice-item{position:relative;padding:clamp(1.6rem,4vw,3rem);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.12);overflow:hidden;background:rgba(8,26,17,.55)}
.practice-item::before{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,rgba(206,164,100,.1),rgba(206,164,100,.02)),rgba(8,26,17,.55)}
.practice-item::after{content:'';position:absolute;inset:0 0 auto 0;height:40%;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.09),transparent);pointer-events:none}
.practice-item>*{position:relative}
.practice-num{font-family:var(--font-display);font-weight:700;font-size:clamp(2.6rem,6vw,4.4rem);line-height:1;color:var(--brand-accent);opacity:.85}
.practice-title{margin:.8rem 0 .6rem}
.practice-desc{color:rgba(248,244,227,.78);max-width:42rem}
.practice-invest{display:inline-flex;align-items:center;gap:.7rem;margin-top:1.6rem;font-size:14px;font-weight:600;color:var(--brand-accent)}
.practice-invest b{color:var(--on-dark-heading);font-weight:700}
.practice-cta{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.7rem;color:var(--on-dark-heading);font-size:14px;font-weight:600}
.practice-cta .arr{transition:transform var(--dur) var(--ease)}
.practice-item:hover .practice-cta .arr{transform:translateX(5px)}
.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);backdrop-filter:blur(var(--glass-blur)) saturate(140%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}
.glass--dark{background:var(--glass-dark-bg);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--glass-dark-border);box-shadow:var(--glass-dark-shadow)}
.img-zoom img{transform:scale(1.02);transition:transform 1.4s var(--ease)}
.img-zoom:hover img{transform:scale(1.06)}

/* ---------- One-line editorial lockups (Perspective) ---------- */
.page-hero .display--oneline{white-space:nowrap;font-size:clamp(1.15rem,5vw,4.4rem);letter-spacing:-.02em}
.lead--oneline{white-space:nowrap;font-size:clamp(.78rem,1.55vw,1.05rem);max-width:none}
.oneline{white-space:nowrap;max-width:none}
.page-hero .lead--oneline{margin-top:1.5rem;display:block}
@media(max-width:900px){.lead--oneline{white-space:normal}}

/* ---------- Reveal (JS driven) ---------- */
.js [data-reveal]{opacity:0;will-change:transform,opacity}
.no-js [data-reveal],.reduced-motion [data-reveal],.reveal-ready [data-reveal]{opacity:1!important;transform:none!important;filter:none!important}

/* ---------- Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .marquee,.marquee--rev{animation:none!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .scroll-hint .line::after{animation:none}
  .cred-card::after{animation:none}
  .quote-light{animation:none}
}
@media(hover:none){
  .marquee-wrap:hover .marquee{animation-play-state:running}
  .work-card:hover .work-arrow-badge .arr{transform:rotate(-45deg)}
}

/* ============================================================
   UNIVERSAL DARK GLASS CARDS — every page lives on the dark world.
   Placed last so card surfaces beat the generic .glass override.
   ============================================================ */
.work-card,.journal-card,.contact-card,.form-shell,.svc-item,.nda-shell{
  background:rgba(248,244,227,.07);
  border:1px solid rgba(255,255,255,.12);
  -webkit-backdrop-filter:blur(24px) saturate(150%);
  backdrop-filter:blur(24px) saturate(150%);
  box-shadow:0 40px 90px rgba(1,8,5,.5),inset 0 1px 0 rgba(255,255,255,.16);
  color:rgba(248,244,227,.8);
}
/* --- work cards --- */
.work-card .h3{color:#F8F4E3}
.work-card:hover .h3{color:var(--brand-accent-light)}
.work-desc{color:rgba(248,244,227,.7)}
.work-meta .work-year{color:rgba(248,244,227,.6)}
.work-go{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#F8F4E3;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.work-card:hover .work-go{border-color:var(--brand-accent);color:#F8F4E3;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 26px rgba(206,164,100,.22)}
/* --- journal cards --- */
.journal-card .h3{color:#F8F4E3}
.journal-card p{color:rgba(248,244,227,.7)}
.journal-card .j-date{color:rgba(248,244,227,.5)}
.journal-card .j-more{color:var(--brand-accent)}
/* --- contact cards --- */
.contact-card h3{color:#F8F4E3}
.contact-card .sub{color:rgba(248,244,227,.65)}
.contact-lines li{color:rgba(248,244,227,.85)}
.contact-lines li .ic{background:rgba(206,164,100,.14);border-color:rgba(206,164,100,.35);color:var(--brand-accent)}
.contact-reg{border-top-color:rgba(255,255,255,.12);color:rgba(248,244,227,.55)}
/* --- practice cards --- */
.svc-item .h3{color:#F8F4E3}
.svc-item>p{color:rgba(248,244,227,.72)}
.svc-item .svc-check li{color:rgba(248,244,227,.75)}
.svc-item .svc-check li::before{border-color:var(--brand-accent)}
.svc-meta{color:var(--brand-accent)}
.svc-meta .pill{background:rgba(206,164,100,.12);border-color:rgba(206,164,100,.32);color:var(--brand-accent)}
/* --- NDA shell --- */
.nda-shell .h3{color:#F8F4E3}
.nda-shell .muted{color:rgba(248,244,227,.6)}
.nda-shell .nda-hr{background:rgba(255,255,255,.12)!important}
.nda-shell .nda-check label{color:rgba(248,244,227,.85)!important}
/* --- dark form controls (contact + NDA shells only) --- */
.form-shell .form-field label,.nda-shell .form-field label{color:var(--brand-accent)}
.form-shell .form-field input,.form-shell .form-field select,.form-shell .form-field textarea,
.nda-shell .form-field input,.nda-shell .form-field select,.nda-shell .form-field textarea{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#F8F4E3;
}
.form-shell .form-field input::placeholder,.form-shell .form-field textarea::placeholder,
.nda-shell .form-field input::placeholder,.nda-shell .form-field textarea::placeholder{color:rgba(248,244,227,.38)}
.form-shell .form-field select option,.nda-shell .form-field select option{color:#0d2117;background:#fff}
.form-shell .form-field input:focus,.form-shell .form-field select:focus,.form-shell .form-field textarea:focus,
.nda-shell .form-field input:focus,.nda-shell .form-field select:focus,.nda-shell .form-field textarea:focus{
  outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px rgba(206,164,100,.22);
}
.form-shell .form-note{color:rgba(248,244,227,.55)}
.form-shell .form-field select,.nda-shell .form-field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23CEA464' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1.1rem center;
  -webkit-appearance:none;appearance:none;
  padding-right:2.8rem;line-height:1.5;
}
.form-shell .form-field select::-ms-expand,.nda-shell .form-field select::-ms-expand{display:none}
/* --- practice + metrics cards ship without the extra backing layer --- */
.stack-panel .glass-edge,.metrics-strip .glass-edge{display:none}
@media(hover:none){
  .glass-panel::after{display:none}
}
/* --- thesis on dark --- */
.thesis-cine .thesis-statement{color:#F8F4E3}
.thesis-cine .thesis-ghost{-webkit-text-stroke:1px rgba(206,164,100,.2)}
.thesis-glass{padding:clamp(1.6rem,3.4vw,2.4rem);margin-top:2.2rem;max-width:56rem}
.thesis-glass .thesis-support{margin-top:0}
.thesis-glass .thesis-support .lead{color:rgba(248,244,227,.75)}
.thesis-glass .line-link{color:#F8F4E3}
