:root{
  --ink:#080706;
  --ink-2:#100d0b;
  --ink-3:#19130f;
  --paper:#f0ebe2;
  --paper-2:#e6ddd1;
  --paper-3:#dbd0c2;
  --muted:#aaa095;
  --ember:#cc460c;
  --ember-soft:#e97736;
  --line:rgba(240,235,226,.14);
  --line-dark:rgba(8,7,6,.11);
  --serif:'Yrsa',Georgia,'Times New Roman',serif;
  --ui:'Syne','Helvetica Neue',Arial,sans-serif;
  --body:'DM Sans','Helvetica Neue',Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease2:cubic-bezier(.65,0,.35,1);
  --header:76px;
  --page:clamp(20px,4.5vw,76px);
  --radius-s:14px;
  --radius-m:22px;
  --radius-l:32px;
  --radius-xl:44px;
  --shadow:0 28px 80px rgba(0,0,0,.26);
  --shadow-light:0 24px 70px rgba(69,48,33,.12);
}

*{box-sizing:border-box}
html{background:var(--ink);scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--paper);font:400 16px/1.55 var(--body);overflow-x:hidden;font-synthesis:none;animation:pageIn .5s var(--ease) both}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
img,video{display:block;max-width:100%}
::selection{background:var(--ember);color:#fff}
:where(a,button,input,textarea,select):focus-visible{outline:2px solid var(--ember-soft);outline-offset:4px}
[hidden]{display:none!important}
.skip-link{position:fixed;z-index:1000;left:14px;top:12px;padding:10px 14px;border-radius:999px;background:var(--paper);color:var(--ink);font:700 9px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;transform:translateY(-160%);transition:transform .2s var(--ease)}
.skip-link:focus{transform:translateY(0)}
.no-js [data-menu-button]{display:none}
@keyframes pageIn{from{opacity:0}to{opacity:1}}

/* TYPOGRAPHY */
.eyebrow{display:inline-block;font:700 10px/1.1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--ember-soft)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-width:174px;padding:15px 20px;border:1px solid rgba(240,235,226,.18);border-radius:999px;background:rgba(19,17,15,.52);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font:700 10px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.12);transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s}
.button:hover{transform:translateY(-2px);background:var(--paper);color:var(--ink);border-color:var(--paper)}
.button--light{background:var(--paper);color:var(--ink);border-color:rgba(255,255,255,.5)}
.button--light:hover{background:#fff}
.button:disabled{opacity:.55;cursor:wait;transform:none}
.text-link{position:relative;display:inline-flex;align-items:center;gap:12px;padding:8px 0;font:700 10px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase}
.text-link:after{content:'';position:absolute;left:0;right:0;bottom:1px;height:1px;background:var(--ember-soft);transform:scaleX(.7);transform-origin:left;transition:transform .3s var(--ease)}
.text-link:hover:after{transform:scaleX(1)}
.text-link span{transition:transform .3s var(--ease)}
.text-link:hover span{transform:translate(3px,-2px)}

/* GLOBAL NAV */
.page-progress{position:fixed;z-index:160;left:0;top:0;width:100%;height:2px;background:rgba(240,235,226,.08);pointer-events:none}
.page-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--ember),var(--ember-soft));transform:scaleX(var(--scroll-progress,0));transform-origin:left;will-change:transform;box-shadow:0 0 16px rgba(233,119,54,.42)}
.site-header{position:fixed;z-index:150;top:0;left:0;width:100%;height:var(--header);padding:0 var(--page);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;color:var(--paper);background:linear-gradient(180deg,rgba(8,7,6,.72),rgba(8,7,6,0));transition:top .35s var(--ease),left .35s var(--ease),width .35s var(--ease),height .35s var(--ease),background .35s,backdrop-filter .35s,border-radius .35s,border-color .35s}
.site-header.is-scrolled{top:10px;left:14px;width:calc(100% - 28px);height:62px;border:1px solid rgba(240,235,226,.11);border-radius:18px;background:rgba(10,9,8,.72);backdrop-filter:blur(22px) saturate(1.12);-webkit-backdrop-filter:blur(22px) saturate(1.12);box-shadow:0 12px 44px rgba(0,0,0,.27)}
.brand{justify-self:start;display:flex;align-items:baseline;gap:.08em;font:500 22px/1 var(--serif);letter-spacing:.015em}
.brand b{font-weight:500;color:var(--ember-soft)}
.site-nav{display:flex;gap:clamp(22px,3vw,46px);align-items:center}
.site-nav__link{position:relative;font:650 10px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;opacity:.72;transition:opacity .25s}
.site-nav__link:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--ember-soft);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.site-nav__link:hover,.site-nav__link.is-active{opacity:1}.site-nav__link:hover:after,.site-nav__link.is-active:after{transform:scaleX(1)}
.header-cta{justify-self:end;font:700 10px/1 var(--ui);letter-spacing:.09em;text-transform:uppercase}
.menu-button{display:none;grid-column:3;justify-self:end;align-items:center;justify-content:flex-end;min-width:54px;border:0;background:transparent;padding:10px;color:inherit}
.mobile-menu{position:fixed;z-index:149;inset:0;color:var(--paper);background:radial-gradient(circle at 82% 12%,rgba(204,70,12,.17),transparent 28%),rgba(8,7,6,.94);padding:calc(var(--header) + 34px) 24px 94px;backdrop-filter:blur(26px) saturate(1.12);-webkit-backdrop-filter:blur(26px) saturate(1.12)}
.mobile-menu__inner{height:100%;display:flex;flex-direction:column;max-width:720px;margin-left:auto;margin-right:auto}
.mobile-menu__inner>a{display:flex;align-items:baseline;gap:14px;padding:13px 0;border-bottom:1px solid rgba(240,235,226,.12);color:var(--paper);font:400 clamp(40px,11vw,68px)/.95 var(--serif);letter-spacing:-.025em}
.mobile-menu__inner small{padding-top:8px;font:700 9px/1 var(--ui);color:var(--ember-soft)}
.mobile-menu__meta{margin-top:auto;display:flex;justify-content:space-between;gap:16px;color:rgba(240,235,226,.65);font-size:12px}
body.menu-open .site-header{color:var(--paper)!important;background:rgba(8,7,6,.7)!important;border-color:rgba(240,235,226,.1)!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.mobile-tabs{display:none}

.page-contact .site-header:not(.is-scrolled),.page-legal .site-header:not(.is-scrolled){color:var(--ink);background:linear-gradient(180deg,rgba(240,235,226,.9),rgba(240,235,226,0))}
.page-contact .site-header:not(.is-scrolled) .site-nav__link,.page-legal .site-header:not(.is-scrolled) .site-nav__link{color:var(--ink)}

/* MOTION */
.scene-sticky{position:sticky;top:0;height:100vh;overflow:hidden}
.scroll-scene{position:relative}
.reveal-enabled .motion-reveal,.reveal-enabled .work-entry,.reveal-enabled .satellite-link,.reveal-enabled .note-card{opacity:0;transform:translateY(24px);filter:blur(3px)}
.reveal-enabled .motion-reveal.is-revealed,.reveal-enabled .work-entry.is-revealed,.reveal-enabled .satellite-link.is-revealed,.reveal-enabled .note-card.is-revealed{opacity:1;transform:none;filter:none;transition:opacity .72s var(--ease),transform .72s var(--ease),filter .6s var(--ease)}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vOut .25s ease both}
::view-transition-new(root){animation:vIn .4s var(--ease) both}
@keyframes vOut{to{opacity:.18;filter:blur(2px)}}
@keyframes vIn{from{opacity:.18;filter:blur(3px)}to{opacity:1;filter:none}}

/* HOME HERO */
.home-hero{height:142vh;background:var(--ink)}
.home-hero__sticky{position:sticky;top:0;height:100vh;overflow:hidden;isolation:isolate}
.home-hero__media{position:absolute;z-index:-2;inset:18px;border-radius:0 0 44px 44px;overflow:hidden;transform:scale(calc(1.075 - var(--p,0)*.035)) translate3d(calc(var(--mx,0)*10px),calc(var(--my,0)*10px),0);transition:transform .1s linear}
.home-hero__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.04) brightness(.7)}
.home-hero__shade{position:absolute;inset:0;background:radial-gradient(circle at 72% 38%,transparent 0 18%,rgba(8,7,6,.16) 46%,rgba(8,7,6,.82) 100%),linear-gradient(90deg,rgba(8,7,6,.91) 0 33%,rgba(8,7,6,.08) 74%)}
.home-hero__copy{position:absolute;left:clamp(24px,6vw,100px);top:50%;z-index:4;width:min(900px,78vw);transform:translateY(calc(-50% - var(--p,0)*4vh))}
.home-hero h1{margin:18px 0 26px;font:400 clamp(62px,7.7vw,128px)/.86 var(--serif);letter-spacing:-.042em}
.home-hero h1 em{font-style:italic;color:var(--ember-soft)}
.home-hero__copy>p{max-width:600px;margin:0;color:rgba(240,235,226,.8);font-size:clamp(16px,1.2vw,19px);line-height:1.62}
.hero-actions{display:flex;gap:20px;align-items:center;margin-top:30px}
.home-hero__index{position:absolute;left:var(--page);right:var(--page);bottom:26px;display:flex;justify-content:space-between;font:650 9px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:rgba(240,235,226,.5)}
.orbit{position:absolute;border:1px solid rgba(204,70,12,.28);border-radius:50%;pointer-events:none}.orbit--hero{right:-13vw;top:-25vh;width:62vw;aspect-ratio:1;transform:rotate(calc(-12deg + var(--p,0)*15deg)) scale(calc(.84 + var(--p,0)*.13))}.orbit i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--ember-soft);box-shadow:0 0 22px var(--ember)}.orbit i:nth-child(1){left:13%;top:28%}.orbit i:nth-child(2){right:5%;top:56%}.orbit i:nth-child(3){left:48%;bottom:-3px}

/* EARLY PROOF */
.proof-cluster{position:relative;padding:18px 0 26px;background:#0b0908;border-bottom:1px solid rgba(240,235,226,.07)}
.trust-strip{padding:18px var(--page);display:flex;align-items:center;justify-content:space-between;gap:34px;background:transparent}
.trust-strip>div{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,2vw,28px);flex-wrap:wrap;color:rgba(240,235,226,.72);font:600 11px/1.3 var(--ui);letter-spacing:.045em}
.trust-strip i{font-style:normal;color:var(--ember-soft);opacity:.7}

/* HOME SELECTED WORK */
.project-rift{position:relative;padding:clamp(68px,6vw,94px) var(--page) clamp(76px,7vw,104px);background:linear-gradient(180deg,var(--paper),#e8dfd3);color:var(--ink)}
.project-rift__intro{max-width:1280px;margin:0 auto clamp(32px,3.3vw,50px);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.52fr);gap:clamp(38px,7vw,108px);align-items:end}
.project-rift__heading h2{margin:12px 0 0;font:400 clamp(54px,6.2vw,102px)/.88 var(--serif);letter-spacing:-.04em}.project-rift__heading h2 em{font-style:italic;color:var(--ember)}
.project-rift__context{padding-bottom:8px}.project-rift__context p{margin:0 0 20px;max-width:470px;color:rgba(8,7,6,.66);font-size:16px;line-height:1.65}
.project-slab{position:relative;display:block;width:min(1280px,100%);aspect-ratio:16/8.7;margin:0 auto;border-radius:34px;overflow:hidden;box-shadow:var(--shadow-light);color:#fff}
.project-slab img{width:100%;height:100%;object-fit:cover;filter:saturate(.94) contrast(1.03);transition:transform .8s var(--ease),filter .5s var(--ease)}
.project-slab:hover img{transform:scale(1.025);filter:saturate(1) contrast(1.04)}
.project-slab__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,6,.04),rgba(8,7,6,.16) 50%,rgba(8,7,6,.84))}
.project-slab__number{position:absolute;right:24px;top:22px;font:700 9px/1 var(--ui);letter-spacing:.1em}
.project-slab__copy{position:absolute;left:clamp(22px,3vw,44px);right:clamp(22px,3vw,44px);bottom:clamp(22px,3vw,42px);display:flex;flex-direction:column;align-items:flex-start}
.project-slab__copy small,.project-slab__copy span{font:650 9px/1.2 var(--ui);letter-spacing:.11em;text-transform:uppercase}.project-slab__copy small{color:#ffd4bc}.project-slab__copy strong{margin:8px 0 10px;font:400 clamp(46px,5.6vw,90px)/.87 var(--serif);letter-spacing:-.038em}
.project-rift__satellites{max-width:1280px;margin:14px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.satellite-link{min-height:116px;padding:18px 20px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(8,7,6,.09);border-radius:22px;background:rgba(255,255,255,.44);box-shadow:0 13px 36px rgba(73,51,35,.07);transition:transform .35s var(--ease),background .35s}
.satellite-link:hover{transform:translateY(-4px);background:rgba(255,255,255,.68)}
.satellite-link>span{margin-bottom:auto;font:700 9px/1 var(--ui);color:var(--ember)}.satellite-link strong{font:400 clamp(21px,1.7vw,29px)/1 var(--serif)}.satellite-link small{margin-top:6px;font:650 9px/1.2 var(--ui);letter-spacing:.07em;text-transform:uppercase;opacity:.58}

/* HOME JOURNEY — three readable scroll chapters, one animated visual actor */
.journey{height:236vh;background:radial-gradient(circle at 70% 46%,rgba(204,70,12,.1),transparent 28%),var(--ink);border-radius:42px 42px 0 0;overflow:clip}
.journey__sticky{display:flex;align-items:center;justify-content:center}
.journey__counter{position:absolute;z-index:8;top:104px;left:var(--page);display:flex;flex-direction:column;gap:7px;font:650 9px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase}.journey__counter b{font-weight:600;color:var(--muted)}
.journey__stage{position:relative;width:100%;height:100%;overflow:hidden}
.journey__stage::before{content:'';position:absolute;left:48%;top:14%;bottom:14%;width:1px;background:linear-gradient(180deg,transparent,rgba(240,235,226,.08),transparent);opacity:.6}
.journey__object{position:absolute;z-index:2;left:68%;top:50%;width:min(34vw,520px);aspect-ratio:1;display:grid;place-items:center;transform:translate3d(calc(-50% + var(--journey-x,0)*1vw),calc(-50% + var(--journey-y,0)*1vh),0) scale(var(--journey-scale,.94)) rotate(var(--journey-rot,0deg));will-change:transform;transition:filter .45s var(--ease)}
.journey__halo{position:absolute;inset:-10%;border-radius:50%;background:radial-gradient(circle,rgba(204,70,12,.29),rgba(204,70,12,.055) 46%,transparent 72%);filter:blur(30px);opacity:calc(.54 + var(--journey-energy,.2)*.38);animation:journeyHalo 5.5s ease-in-out infinite alternate}
.journey__ring{position:absolute;z-index:7;inset:5%;border:1px solid rgba(240,235,226,.13);border-right-color:var(--ember-soft);border-bottom-color:rgba(233,119,54,.28);border-radius:50%;transform:rotate(var(--journey-ring,0deg)) scale(calc(.97 + var(--journey-energy,.2)*.04));box-shadow:0 0 44px rgba(204,70,12,.06)}
.journey-copy{position:absolute;z-index:5;left:var(--page);top:50%;width:min(40vw,610px);opacity:0;pointer-events:none;filter:blur(7px);transform:translate3d(-20px,calc(-50% + 30px),0);transition:opacity .42s ease,transform .72s var(--ease),filter .55s var(--ease)}
.journey-copy.is-active{opacity:1;filter:none;transform:translate3d(0,-50%,0)}
.journey-copy small{font:700 9px/1 var(--ui);letter-spacing:.13em;color:var(--ember-soft)}
.journey-copy h2{margin:14px 0 18px;max-width:10.5ch;font:400 clamp(42px,4.6vw,74px)/.94 var(--serif);letter-spacing:-.035em}
.journey-copy h2 em{font-style:italic;color:var(--ember-soft)}
.journey-copy p{max-width:500px;margin:0;color:rgba(240,235,226,.72);font-size:clamp(14px,1.05vw,17px);line-height:1.65}
@keyframes journeyHalo{from{transform:scale(.93) translate3d(-1%,1%,0);opacity:.46}to{transform:scale(1.06) translate3d(2%,-1%,0);opacity:.84}}

/* HOME ENTRY — 3 cards, no slider */
.entry-zone{padding:clamp(70px,6vw,96px) var(--page) clamp(78px,7vw,108px);background:radial-gradient(circle at 76% 8%,rgba(204,70,12,.1),transparent 28%),linear-gradient(180deg,#e9e1d7,var(--paper));color:var(--ink);border-radius:38px 38px 0 0}
.entry-zone__head{max-width:1480px;margin:0 auto clamp(30px,3vw,44px)}.entry-zone__head>div{max-width:900px}.entry-zone__head h2{margin:12px 0 14px;font:400 clamp(54px,6.2vw,102px)/.88 var(--serif);letter-spacing:-.04em}.entry-zone__head h2 em{font-style:italic;color:var(--ember)}.entry-zone__head p{max-width:650px;margin:0;color:rgba(8,7,6,.62);line-height:1.62}
.entry-grid{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.entry-card{isolation:isolate;position:relative;aspect-ratio:4/5;overflow:hidden;padding:clamp(20px,2vw,30px);display:flex;flex-direction:column;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:30px;background-image:linear-gradient(180deg,rgba(8,7,6,.04) 8%,rgba(8,7,6,.3) 52%,rgba(8,7,6,.9) 100%),var(--card-image);background-size:cover;background-position:center;box-shadow:0 24px 64px rgba(38,27,19,.18);transition:transform .42s var(--ease),box-shadow .42s var(--ease)}
.entry-card:before{content:'';position:absolute;z-index:-1;inset:10px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 38%)}
.entry-card:hover{transform:translateY(-6px);box-shadow:0 30px 76px rgba(38,27,19,.25)}
.entry-card>span{font:700 9px/1 var(--ui)}.entry-card>small{margin-top:auto;color:#ffd5bd;font:700 9px/1 var(--ui);letter-spacing:.12em}.entry-card>strong{max-width:11ch;margin-top:14px;font:400 clamp(32px,2.9vw,50px)/.96 var(--serif)}.entry-card>p{max-width:39ch;margin:16px 0 0;font-size:14px;line-height:1.55;opacity:.86}.entry-card>i{margin-top:18px;font:700 9px/1 var(--ui);letter-spacing:.09em;text-transform:uppercase;font-style:normal}

/* HOME PROOF / ABOUT / CTA */
.about-tease{min-height:56vh;padding:clamp(68px,7vw,100px) var(--page);position:relative;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;overflow:hidden}.about-tease__word{position:absolute;left:-2vw;bottom:-2vh;font:400 clamp(210px,36vw,520px)/.65 var(--serif);color:rgba(240,235,226,.035)}.about-tease__copy{grid-column:2;position:relative;z-index:2}.about-tease__copy h2{margin:14px 0 20px;font:400 clamp(48px,5.1vw,82px)/.92 var(--serif);letter-spacing:-.03em}.about-tease__copy p{max-width:580px;color:var(--muted);font-size:16px;line-height:1.66}
.finale{min-height:54vh;padding:clamp(72px,7vw,104px) var(--page);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.finale h2{max-width:1050px;margin:16px 0 20px;font:400 clamp(54px,6.3vw,100px)/.88 var(--serif);letter-spacing:-.04em}.finale p{max-width:600px;margin:0 0 26px;color:var(--muted);font-size:16px;line-height:1.62}

/* WORK */
.page-hero{min-height:52vh;padding:calc(var(--header) + 6vh) var(--page) 5vh;display:flex;flex-direction:column;justify-content:flex-end}.page-hero h1{margin:14px 0 20px;font:400 clamp(62px,7.5vw,116px)/.86 var(--serif);letter-spacing:-.042em}.page-hero h1 em{font-style:italic;color:var(--ember-soft)}.page-hero>p{max-width:650px;margin:0;color:var(--muted);line-height:1.65}
.work-field{max-width:1600px;margin:0 auto;padding:10px var(--page) 6vh}.work-entry{display:grid;grid-template-columns:54px minmax(0,1.3fr) minmax(280px,.7fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(38px,5vw,72px) 0}.work-entry.is-hidden{display:none}.work-entry__index{align-self:start;margin-top:12px;font:700 9px/1 var(--ui);color:var(--ember-soft)}.work-entry__visual{display:block;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.work-entry__visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:transform .8s var(--ease)}.work-entry__visual:hover img{transform:scale(1.025)}.work-entry__copy{padding:28px;border:1px solid rgba(240,235,226,.09);border-radius:22px;background:rgba(240,235,226,.055);backdrop-filter:blur(14px)}.work-entry__copy>span,.work-entry__copy>small{font:650 9px/1.2 var(--ui);letter-spacing:.1em;text-transform:uppercase}.work-entry__copy>span{color:var(--ember-soft)}.work-entry__copy h2{margin:16px 0;font:400 clamp(48px,6vw,92px)/.85 var(--serif);letter-spacing:-.035em}.work-entry__copy p{max-width:500px;margin:0;color:var(--muted);line-height:1.65}.work-entry__copy>small{display:block;margin:20px 0}
.work-collabs{padding:clamp(70px,8vh,112px) var(--page);display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);gap:clamp(42px,7vw,110px);align-items:center;background:linear-gradient(180deg,var(--paper),#e7ddcf);color:var(--ink);border-radius:44px 44px 0 0}.work-collabs__intro h2{margin:16px 0 20px;font:400 clamp(44px,5.3vw,84px)/.9 var(--serif);letter-spacing:-.035em}.work-collabs__intro p{max-width:520px;color:rgba(8,7,6,.63);line-height:1.65}
.work-route{max-width:1480px;margin:56px auto 74px;padding:clamp(26px,3.2vw,42px);display:grid;grid-template-columns:minmax(280px,.78fr) minmax(460px,1.22fr);gap:clamp(28px,5vw,78px);align-items:end;border:1px solid rgba(240,235,226,.1);border-radius:30px;background:linear-gradient(135deg,rgba(240,235,226,.07),rgba(240,235,226,.025));box-shadow:0 24px 70px rgba(0,0,0,.13);backdrop-filter:blur(18px)}
.work-route__copy h2{margin:12px 0 14px;font:400 clamp(34px,3.4vw,54px)/.96 var(--serif);letter-spacing:-.025em}.work-route__copy p{max-width:540px;margin:0;color:rgba(240,235,226,.64);font-size:14px;line-height:1.62}
.work-route__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.work-route__actions a{min-height:138px;padding:20px;display:flex;flex-direction:column;border:1px solid rgba(240,235,226,.1);border-radius:22px;background:rgba(240,235,226,.045);transition:transform .35s var(--ease),background .35s,border-color .35s}.work-route__actions a:hover{transform:translateY(-4px);background:rgba(240,235,226,.085);border-color:rgba(240,235,226,.17)}.work-route__actions small{font:700 8px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ember-soft)}.work-route__actions strong{margin:auto 0 12px;font:400 clamp(24px,2vw,34px)/1 var(--serif)}.work-route__actions span{align-self:flex-end;color:var(--ember-soft)}

/* PROJECT */
.project-intro{padding:calc(var(--header) + 6vh) var(--page) 3.5vh}.back-link{display:inline-block;margin-bottom:4vh;font:650 9px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.project-intro__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.55fr);gap:6vw;align-items:end}.project-intro h1{margin:12px 0 0;font:400 clamp(64px,7.8vw,118px)/.84 var(--serif);letter-spacing:-.042em}.project-intro__grid p{margin:0 0 16px;color:rgba(240,235,226,.74);font-size:17px;line-height:1.62}.project-intro__grid span{font:650 9px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ember-soft)}
.project-film-first{padding:0 var(--page) 6vh}.project-player{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(240,235,226,.1);border-radius:30px;background-image:linear-gradient(180deg,rgba(8,7,6,.12),rgba(8,7,6,.48)),var(--poster);background-size:cover;background-position:center;box-shadow:var(--shadow)}.project-player iframe{width:100%;height:100%;border:0}.external-media__gate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;background:radial-gradient(circle at 50% 40%,rgba(8,7,6,.3),rgba(8,7,6,.72))}.external-media__gate h2{margin:12px 0 24px;font:400 clamp(46px,5.7vw,88px)/.88 var(--serif);letter-spacing:-.03em}
.project-meta-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0;padding:12px 0 0}.project-meta-list div{min-width:0;min-height:92px;padding:15px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(240,235,226,.1);border-radius:15px;background:rgba(240,235,226,.055);backdrop-filter:blur(14px)}.project-meta-list dt{font:700 8px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ember-soft)}.project-meta-list dd{margin:12px 0 0;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.project-story{padding:clamp(66px,6vw,92px) var(--page);background:linear-gradient(180deg,var(--paper),#e7ddd0);color:var(--ink);border-radius:38px 38px 0 0}.project-story__lead{max-width:1480px;margin:0 auto clamp(34px,4vw,54px);display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.62fr);gap:clamp(42px,7vw,110px);align-items:end}.project-story__heading h2{margin:14px 0 0;max-width:840px;font:400 clamp(44px,4.7vw,72px)/.94 var(--serif);letter-spacing:-.026em}.project-story__context p{max-width:620px;margin:0;color:rgba(8,7,6,.68);font-size:16px;line-height:1.67}
.project-story__decisions{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-story__decisions article{padding:24px;border:1px solid rgba(8,7,6,.08);border-radius:20px;background:rgba(255,255,255,.34);box-shadow:0 12px 32px rgba(64,45,31,.05)}.project-story__decisions article>span{display:block;margin-bottom:26px;font:700 9px/1 var(--ui);color:var(--ember)}.project-story__decisions h3{margin:0 0 14px;font:400 clamp(27px,2.4vw,39px)/1.02 var(--serif)}.project-story__decisions p{margin:0;color:rgba(8,7,6,.65);font-size:14px;line-height:1.62}
.project-next{padding:5.5vh var(--page) 6vh;display:grid;grid-template-columns:.55fr repeat(3,1fr);gap:10px;background:var(--ink)}.project-next>.eyebrow{padding-top:18px}.project-next>a{min-height:148px;padding:18px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;background:rgba(240,235,226,.04);transition:transform .3s var(--ease),background .3s}.project-next>a:hover{transform:translateY(-4px);background:rgba(240,235,226,.08)}.project-next small{font:650 9px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.project-next strong{margin:auto 0 12px;font:400 25px/1 var(--serif)}.project-next>a>span{align-self:flex-end;color:var(--ember-soft)}

/* SERVICES — one system, three distinct contexts */
.page-services,.page-services main{background:var(--ink);color:var(--paper)}
.services-hero{min-height:68vh;padding:calc(var(--header) + 7vh) var(--page) 7vh;display:flex;flex-direction:column;justify-content:flex-end}.services-hero h1{max-width:1220px;margin:14px 0 22px;font:400 clamp(58px,7.1vw,112px)/.87 var(--serif);letter-spacing:-.04em}.services-hero h1 em{font-style:italic;color:var(--ember-soft)}.services-hero>p{max-width:760px;margin:0;color:rgba(240,235,226,.74);font-size:16px;line-height:1.67}
.service-map{max-width:1480px;margin:0 auto;padding:24px var(--page) 58px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service-map a{min-height:180px;padding:22px;display:flex;flex-direction:column;border:1px solid rgba(240,235,226,.1);border-radius:26px;background:linear-gradient(145deg,rgba(240,235,226,.075),rgba(240,235,226,.025));backdrop-filter:blur(16px);transition:transform .35s var(--ease),background .35s}.service-map a:hover{transform:translateY(-5px);background:rgba(240,235,226,.085)}.service-map span{font:700 9px/1 var(--ui);color:var(--ember-soft)}.service-map small{margin:18px 0 10px;font:700 9px/1 var(--ui);letter-spacing:.11em;text-transform:uppercase;color:rgba(240,235,226,.48)}.service-map strong{max-width:15ch;font:400 clamp(25px,2.4vw,38px)/1.02 var(--serif)}.service-map i{margin-top:auto;padding-top:18px;font:700 8px/1 var(--ui);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--ember-soft)}
.service-chapter{position:relative;margin:0 14px 14px;padding:clamp(66px,6vw,96px) clamp(24px,5vw,82px);overflow:hidden;border-radius:36px}.service-chapter--brand{background:linear-gradient(145deg,#f2ece4,#e4d9cb);color:var(--ink);border:1px solid rgba(8,7,6,.08)}.service-chapter--story{background:radial-gradient(circle at 88% 8%,rgba(204,70,12,.14),transparent 28%),#11100e;color:var(--paper);border:1px solid rgba(240,235,226,.08)}.service-chapter--moment{background:radial-gradient(circle at 86% 12%,rgba(204,70,12,.17),transparent 30%),#1b120e;color:var(--paper);border:1px solid rgba(240,235,226,.08)}
.service-chapter__top{max-width:1480px;margin:0 auto clamp(26px,3vw,44px);display:grid;grid-template-columns:minmax(300px,.8fr) minmax(440px,1.2fr);gap:clamp(38px,6vw,90px);align-items:center}.service-chapter__top--reverse .service-chapter__head{order:2}.service-chapter__top--reverse .service-feature{order:1}.service-chapter__head h2{margin:14px 0 20px;font:400 clamp(46px,5.2vw,82px)/.92 var(--serif);letter-spacing:-.03em}.service-chapter__head h2 em{font-style:italic;color:var(--ember-soft)}.service-chapter__head p{max-width:680px;margin:0;font-size:16px;line-height:1.65;opacity:.75}.service-scope{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.service-scope span{padding:9px 12px;border:1px solid currentColor;border-radius:999px;font:700 8px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;opacity:.55}
.service-chapter__visual,.service-feature{min-height:430px;overflow:hidden;border-radius:30px;border:1px solid currentColor;box-shadow:var(--shadow);position:relative}.service-chapter__visual img,.service-feature img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .5s}.service-chapter__visual:hover img,.service-feature:hover img{transform:scale(1.018)}.service-chapter--brand .service-chapter__visual{border-color:rgba(8,7,6,.1);box-shadow:var(--shadow-light)}.service-feature{display:grid;grid-template-columns:1fr;background:#090807;color:var(--paper)}.service-feature img{position:absolute;inset:0;filter:brightness(.57) saturate(.86)}.service-feature>div{position:relative;z-index:2;align-self:end;padding:28px;background:linear-gradient(180deg,transparent,rgba(8,7,6,.84))}.service-feature small{font:700 8px/1 var(--ui);letter-spacing:.11em;color:#f2c3aa}.service-feature strong{display:block;margin:8px 0;font:400 clamp(38px,4vw,62px)/.92 var(--serif)}.service-feature p{max-width:500px;margin:0 0 14px;color:rgba(240,235,226,.76)}.service-feature span{font:700 8px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ember-soft)}
.service-value-grid{max-width:1480px;margin:0 auto 28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service-value-grid article{min-height:230px;padding:24px;display:flex;flex-direction:column;border:1px solid rgba(8,7,6,.08);border-radius:24px;background:rgba(255,255,255,.35);box-shadow:0 12px 32px rgba(64,45,31,.05);transition:transform .35s var(--ease),background .35s}.service-chapter--story .service-value-grid article,.service-chapter--moment .service-value-grid article{border-color:rgba(240,235,226,.09);background:rgba(240,235,226,.045);box-shadow:none}.service-value-grid article:hover{transform:translateY(-4px)}.service-value-grid small{font:700 8px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ember-soft)}.service-value-grid h3{margin:auto 0 13px;font:400 clamp(29px,2.6vw,42px)/.98 var(--serif)}.service-value-grid p{margin:0;font-size:14px;line-height:1.6;opacity:.67}
.service-proof-card{max-width:1480px;margin:0 auto 26px;padding:clamp(24px,3vw,42px);display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(28px,5vw,70px);align-items:end;border:1px solid rgba(8,7,6,.08);border-radius:28px;background:rgba(255,255,255,.36);box-shadow:0 18px 50px rgba(64,45,31,.06)}.service-proof-card h3{margin:12px 0 10px;font:400 clamp(30px,3vw,46px)/1 var(--serif)}.service-proof-card p{max-width:500px;margin:0;color:rgba(8,7,6,.62)}.service-proof-card blockquote{margin:0;font:400 clamp(30px,3.5vw,54px)/1.04 var(--serif)}.service-proof-card cite{display:block;margin-top:14px;font:700 8px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ember)}
.service-quote{max-width:1480px;margin:0 auto 22px;padding:clamp(24px,3vw,40px);border:1px solid rgba(240,235,226,.09);border-radius:26px;background:rgba(240,235,226,.04);font:400 clamp(30px,3.6vw,56px)/1.03 var(--serif)}.service-quote cite{display:block;margin-top:14px;font:700 8px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ember-soft)}.service-practical{max-width:1480px;margin:0 auto 24px;padding:18px 20px;border:1px solid rgba(240,235,226,.08);border-radius:20px;background:rgba(240,235,226,.035);color:rgba(240,235,226,.62);font-size:13px}.service-chapter__cta{max-width:1480px;margin:0 auto}.services-end{margin:0 14px 14px;padding:clamp(64px,7vw,100px);text-align:center;border-radius:34px;background:var(--ember)}.services-end h2{max-width:1000px;margin:0 auto 18px;font:400 clamp(46px,5.4vw,86px)/.9 var(--serif)}.services-end p{max-width:650px;margin:0 auto 24px;line-height:1.65}

/* ABOUT */
.page-about{background:var(--ink);color:var(--paper)}
.about-story-hero{min-height:82vh;padding:calc(var(--header) + 5vh) var(--page) 6vh;display:grid;grid-template-columns:minmax(300px,.74fr) minmax(420px,1.26fr);gap:clamp(34px,6vw,96px);align-items:center;background:radial-gradient(circle at 15% 35%,rgba(204,70,12,.13),transparent 26%),var(--ink)}
.about-story-hero__portrait{position:relative;aspect-ratio:4/5;overflow:hidden;border:1px solid rgba(240,235,226,.1);border-radius:34px;background:linear-gradient(145deg,#241914,#0d0b09);box-shadow:0 30px 80px rgba(0,0,0,.38)}.about-story-hero__portrait img{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.about-story-hero__portrait:hover img{transform:scale(1.018)}.about-story-hero__fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(240,235,226,.5)}.about-story-hero__fallback span{font:400 min(42vw,390px)/.7 var(--serif);color:rgba(240,235,226,.055)}.about-story-hero__fallback small{position:absolute;bottom:26px;padding:9px 12px;border:1px solid rgba(240,235,226,.11);border-radius:999px;background:rgba(240,235,226,.06);font:700 8px/1 var(--ui);letter-spacing:.09em;text-transform:uppercase}.about-story-hero__portrait.is-missing img{display:none}
.about-story-hero__copy h1{margin:16px 0 24px;font:400 clamp(50px,5.8vw,94px)/.9 var(--serif);letter-spacing:-.034em}.about-story-hero__copy h1 em{font-style:italic;color:var(--ember-soft)}.about-hook{max-width:690px;color:rgba(240,235,226,.78);font-size:clamp(17px,1.35vw,20px);line-height:1.64}
.about-turn{padding:clamp(70px,7vw,104px) var(--page);display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(44px,8vw,124px);align-items:end;background:linear-gradient(145deg,#efe8df,#e3d7c8);color:var(--ink);border-radius:38px 38px 0 0}.about-turn__statement h2{margin:14px 0 0;font:400 clamp(46px,5.2vw,82px)/.92 var(--serif);letter-spacing:-.028em}.about-turn__copy p{margin:0 0 20px;font-size:clamp(17px,1.3vw,20px);line-height:1.7}.about-turn__copy strong{color:var(--ember)}
.about-identity{padding:clamp(70px,7vw,108px) var(--page);display:grid;grid-template-columns:minmax(300px,.76fr) minmax(420px,1.24fr);gap:clamp(44px,8vw,126px);align-items:center;background:#e3d7c8;color:var(--ink)}.about-identity__visual{aspect-ratio:4/5;padding:22px;display:flex;align-items:flex-end;border:1px solid rgba(8,7,6,.09);border-radius:30px;background:radial-gradient(circle at 62% 20%,rgba(204,70,12,.2),transparent 25%),linear-gradient(145deg,#c9b5a2,#eee5db);box-shadow:var(--shadow-light)}.about-identity__visual>div{padding:22px;border:1px solid rgba(8,7,6,.09);border-radius:20px;background:rgba(255,255,255,.5);backdrop-filter:blur(16px)}.about-identity__visual small{font:700 8px/1 var(--ui);letter-spacing:.1em;color:var(--ember)}.about-identity__visual strong{display:block;margin-top:12px;font:400 clamp(28px,2.7vw,43px)/1.02 var(--serif)}.about-identity__copy h2{margin:14px 0 20px;font:400 clamp(44px,4.8vw,76px)/.93 var(--serif)}.about-identity__copy p{max-width:690px;margin:0 0 16px;color:rgba(8,7,6,.69);font-size:16px;line-height:1.68}.about-identity__copy strong{color:var(--ink)}
.about-client-value{padding:clamp(70px,7vw,104px) var(--page);background:var(--ink)}.about-client-value>header{max-width:900px;margin-bottom:34px}.about-client-value>header h2{margin:14px 0 0;font:400 clamp(46px,5.1vw,82px)/.92 var(--serif)}.about-client-value__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.about-client-value__list article{padding:22px;border:1px solid rgba(240,235,226,.1);border-radius:21px;background:rgba(240,235,226,.045)}.about-client-value__list article>span{font:700 9px/1 var(--ui);color:var(--ember-soft)}.about-client-value__list h3{margin:24px 0 12px;font:400 34px/1 var(--serif)}.about-client-value__list p{margin:0;color:rgba(240,235,226,.7);font-size:14px;line-height:1.62}
.about-arc{margin:0 14px 14px;padding:clamp(46px,5vw,72px);display:grid;grid-template-columns:.35fr 1fr;gap:44px;border:1px solid rgba(240,235,226,.09);border-radius:30px;background:rgba(240,235,226,.065)}.about-arc h2{margin:0 0 16px;font:400 clamp(40px,4.4vw,68px)/.92 var(--serif)}.about-arc p{max-width:680px;margin:0;color:rgba(240,235,226,.7);line-height:1.67}
.about-proof{margin:0 14px 14px;padding:clamp(50px,6vw,86px);display:flex;justify-content:space-between;align-items:end;gap:50px;border-radius:30px;background:var(--ember)}.about-proof blockquote{max-width:1000px;margin:14px 0 0;font:400 clamp(36px,4.4vw,68px)/.98 var(--serif)}.about-proof cite{display:block;margin-top:18px;font:700 9px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase}.about-proof .button{flex:0 0 auto}

/* JOURNAL */
.journal-hero{min-height:50vh;padding:calc(var(--header) + 6vh) var(--page) 5vh;display:flex;flex-direction:column;justify-content:flex-end}.journal-hero h1{margin:14px 0 20px;font:400 clamp(58px,7vw,106px)/.87 var(--serif);letter-spacing:-.04em}.journal-hero h1 em{font-style:italic;color:var(--ember-soft)}.journal-hero p{max-width:650px;margin:0;color:var(--muted);line-height:1.65}.journal-stack{padding:0 var(--page) 8vh}.journal-stack article{display:grid;grid-template-columns:60px 150px minmax(260px,.8fr) minmax(300px,1fr);gap:24px;align-items:start;margin-bottom:12px;padding:clamp(24px,3vw,42px);border:1px solid rgba(240,235,226,.08);border-radius:24px;background:rgba(240,235,226,.05)}.journal-stack article>span{font:700 9px/1 var(--ui);color:var(--ember-soft)}.journal-stack small{font:650 9px/1.3 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.journal-stack h2{margin:0;font:400 clamp(34px,3.5vw,56px)/.96 var(--serif)}.journal-stack p{margin:0;color:rgba(240,235,226,.7);line-height:1.7}


.about-proof__actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex:0 0 auto}.text-link--on-ember{color:#fff}.text-link--on-ember:after{background:rgba(255,255,255,.65)}
.journal-bridge{margin:0 var(--page) 70px;padding:28px 30px;display:grid;grid-template-columns:.35fr 1fr;gap:30px;align-items:end;border:1px solid rgba(240,235,226,.09);border-radius:26px;background:rgba(240,235,226,.05)}.journal-bridge h2{max-width:760px;margin:0 0 12px;font:400 clamp(32px,3.7vw,58px)/.95 var(--serif)}

/* CONTACT — compact glass composer */
.page-contact{background:linear-gradient(180deg,#d9d1c8,#efe9e0);color:var(--ink)}
.contact-page{min-height:100vh}
.contact-composer{position:relative;min-height:100vh;padding:calc(var(--header) + clamp(42px,6vh,86px)) var(--page) clamp(64px,8vh,104px);display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);gap:clamp(34px,5vw,82px);align-items:center;overflow:hidden;isolation:isolate}
.contact-composer__intro{max-width:560px;position:relative;z-index:2}
.contact-composer__intro h1{margin:14px 0 22px;font:400 clamp(58px,6.6vw,108px)/.86 var(--serif);letter-spacing:-.045em}.contact-composer__intro h1 em{font-style:italic;color:var(--ember)}
.contact-composer__intro>p{max-width:520px;margin:0;color:rgba(8,7,6,.68);font-size:17px;line-height:1.68}
.contact-direct-mini{margin-top:28px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:rgba(8,7,6,.55);font:650 10px/1.25 var(--ui);letter-spacing:.055em}.contact-direct-mini a{padding:10px 13px;border:1px solid rgba(8,7,6,.11);border-radius:999px;background:rgba(255,255,255,.34);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.contact-direct-mini a:hover{background:rgba(255,255,255,.62);color:var(--ink)}
.contact-form{position:relative;z-index:2;padding:clamp(22px,2.8vw,38px);border:1px solid rgba(255,255,255,.72);border-radius:36px;background:linear-gradient(145deg,rgba(255,255,255,.63),rgba(255,255,255,.34));box-shadow:0 34px 92px rgba(73,50,33,.16),inset 0 1px 0 rgba(255,255,255,.92);backdrop-filter:blur(26px) saturate(1.12);-webkit-backdrop-filter:blur(26px) saturate(1.12)}
.honeypot{position:absolute!important;left:-9999px!important}
.contact-intent-card{margin:0 0 14px;padding:0;border:0}.contact-intent-card legend{margin-bottom:10px;font:700 9px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:rgba(8,7,6,.5)}
.form-intent{display:flex;flex-wrap:wrap;gap:8px}.form-intent button{min-height:40px;padding:10px 15px;border:1px solid rgba(8,7,6,.11);border-radius:999px;background:rgba(255,255,255,.38);color:var(--ink);font:700 9px/1.15 var(--ui);letter-spacing:.07em;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.75);transition:background .25s,color .25s,transform .25s,border-color .25s}.form-intent button:hover{background:rgba(255,255,255,.68);transform:translateY(-1px)}.form-intent button.is-active{background:rgba(8,7,6,.91);color:var(--paper);border-color:rgba(8,7,6,.9)}
.contact-message{display:block}.contact-message>span,.contact-fields label>span{display:block;margin-bottom:8px;font:700 9px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:rgba(8,7,6,.5)}
.contact-message textarea{width:100%;min-height:190px;padding:20px 21px;border:1px solid rgba(8,7,6,.1);border-radius:24px;background:rgba(255,255,255,.52);color:var(--ink);font:400 clamp(23px,2.1vw,34px)/1.34 var(--serif);resize:vertical;outline:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.76);transition:border-color .25s,background .25s,box-shadow .25s}.contact-message textarea:focus{border-color:rgba(204,70,12,.42);background:rgba(255,255,255,.7);box-shadow:0 0 0 5px rgba(204,70,12,.06),inset 0 1px 0 #fff}.contact-message textarea::placeholder,.contact-fields input::placeholder{color:rgba(8,7,6,.31)}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.contact-fields label{padding:13px 15px;border:1px solid rgba(8,7,6,.08);border-radius:18px;background:rgba(255,255,255,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}.contact-fields input,.contact-fields select{width:100%;padding:3px 0;border:0;background:transparent;color:var(--ink);font:400 16px/1.35 var(--body);outline:0}
.contact-more{margin-top:10px;overflow:hidden;border:1px solid rgba(8,7,6,.08);border-radius:18px;background:rgba(255,255,255,.26)}.contact-more summary{padding:14px 16px;cursor:pointer;list-style:none;font:700 9px/1 var(--ui);letter-spacing:.09em;text-transform:uppercase}.contact-more summary::-webkit-details-marker{display:none}.contact-more summary span{margin-left:5px;opacity:.44}.contact-more[open] summary{border-bottom:1px solid rgba(8,7,6,.07)}.contact-more .contact-fields{padding:0 10px 10px;margin-top:10px}
.contact-submit{padding-top:14px;display:grid;grid-template-columns:1fr auto;gap:10px 18px;align-items:center}.contact-submit .button{min-width:200px}.form-privacy,.form-status{margin:0;color:rgba(8,7,6,.5);font-size:11px;line-height:1.45}.form-privacy a{text-decoration:underline;text-underline-offset:2px}.form-status{grid-column:1/-1}

/* LEGAL */
.page-legal{background:linear-gradient(180deg,#ddd3c6,#eee8df);color:var(--ink)}.legal-page-shell{max-width:1240px;margin:0 auto;padding:calc(var(--header) + 6vh) var(--page) 10vh}.legal-tabs{position:sticky;z-index:10;top:calc(var(--header) + 18px);float:right;width:220px;margin:0 0 40px 50px;padding:12px;display:flex;flex-direction:column;border:1px solid rgba(8,7,6,.08);border-radius:20px;background:rgba(255,255,255,.64);box-shadow:0 14px 38px rgba(68,47,31,.08);backdrop-filter:blur(14px)}.legal-tabs a{padding:11px 8px;border-bottom:1px solid rgba(8,7,6,.08);font:700 9px/1 var(--ui);letter-spacing:.07em;text-transform:uppercase}.legal-tabs a:last-child{border-bottom:0}.legal-tabs a:hover{color:var(--ember)}.legal-content{padding:clamp(28px,5vw,70px);border:1px solid rgba(255,255,255,.72);border-radius:34px;background:rgba(255,255,255,.52);box-shadow:0 28px 80px rgba(70,49,34,.1);backdrop-filter:blur(16px)}.legal-content h1{margin:18px 0 50px;font:400 clamp(58px,7.5vw,110px)/.86 var(--serif);letter-spacing:-.04em}.legal-content h2{margin:28px 0 12px;padding-top:26px;border-top:1px solid rgba(8,7,6,.08);font:500 clamp(26px,2.7vw,40px)/1 var(--serif)}.legal-content h2:first-of-type{border-top:0;padding-top:0}.legal-content h3{font:500 23px/1.2 var(--serif)}.legal-content p,.legal-content li{max-width:850px;font-size:15px;line-height:1.75;color:rgba(8,7,6,.72)}.legal-content a{text-decoration:underline;text-underline-offset:3px}.legal-content ul,.legal-content ol{padding-left:22px}.legal-update{margin-top:50px!important;padding-top:22px;border-top:1px solid rgba(8,7,6,.08);font-size:12px!important}.legal-missing{color:#9b2700}.withdrawal-model{max-width:800px;margin:24px 0 42px;padding:26px;border:1px solid rgba(8,7,6,.08);border-radius:20px;background:rgba(255,255,255,.4)}

/* 404 */
.not-found{min-height:100vh;padding:var(--page);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.not-found>span{font:700 10px/1 var(--ui);letter-spacing:.14em;color:var(--ember-soft)}.not-found h1{margin:18px 0 34px;font:400 clamp(80px,13vw,190px)/.8 var(--serif);letter-spacing:-.05em}.not-found h1 em{color:var(--ember-soft);font-style:italic}

/* FOOTER */
.site-footer{padding:38px var(--page) 42px;background:#060504;color:var(--paper);border-top:1px solid rgba(240,235,226,.07)}.site-footer__cols{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:28px;padding-top:0}.site-footer__cols>div{display:flex;flex-direction:column;gap:10px;font-size:13px;color:rgba(240,235,226,.62)}.site-footer__cols strong{margin-bottom:5px;color:var(--paper);font:700 9px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase}.site-footer__cols a:hover{color:var(--paper)}

/* TABLET */
@media(max-width:1100px){
  .site-header{padding-left:28px;padding-right:28px}
  .entry-card>strong{font-size:clamp(30px,3.5vw,43px)}
  .project-meta-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .project-story__decisions{grid-template-columns:1fr}
  .about-story-hero{grid-template-columns:.8fr 1.2fr}
  .journal-stack article{grid-template-columns:44px 120px 1fr}.journal-stack p{grid-column:3}
}


/* SECTION FLOW — curved seams, media continuity and transition rhythm. */
main>section{scroll-margin-top:92px}.project-rift,.entry-zone,.work-collabs,.project-story,.about-turn{position:relative;z-index:2}.project-rift{border-radius:42px 42px 0 0}.journey{position:relative;z-index:3;margin-top:-18px}.entry-zone{position:relative;z-index:4;margin-top:-20px}.service-chapter,.about-identity,.about-client-value,.journal-stack article,.project-story__decisions article{transition:transform .5s var(--ease),background .5s,border-color .5s,box-shadow .5s}.reveal-enabled .project-slab img,.reveal-enabled .service-chapter__visual img,.reveal-enabled .service-feature img,.reveal-enabled .about-story-hero__portrait img{transform:scale(1.035)}.reveal-enabled .project-slab.is-revealed img,.reveal-enabled .service-chapter__visual.is-revealed img,.reveal-enabled .service-feature.is-revealed img,.reveal-enabled .about-story-hero__portrait.is-revealed img{transform:scale(1)}

/* MOBILE */
@media(max-width:760px){
  :root{--header:64px;--page:16px}
  body{padding-bottom:78px}
  .site-header{height:64px;padding:0 18px;grid-template-columns:1fr auto 1fr;background:linear-gradient(180deg,rgba(8,7,6,.82),rgba(8,7,6,.06))}.site-header.is-scrolled{top:8px;left:10px;width:calc(100% - 20px);height:54px;border-radius:16px}.site-nav,.header-cta{display:none}.brand{grid-column:1;font-size:23px}.menu-button{display:flex!important;grid-column:3;justify-self:end;align-self:center}.menu-button span{font:700 9px/1 var(--ui);letter-spacing:.09em;text-transform:uppercase}.mobile-menu{padding:calc(64px + 30px) 18px calc(94px + env(safe-area-inset-bottom))}
  .mobile-tabs{position:fixed;z-index:145;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));height:64px;padding:6px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(240,235,226,.16);border-radius:22px;background:rgba(12,10,9,.78);box-shadow:0 18px 55px rgba(0,0,0,.46);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2)}.mobile-tabs a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px;color:rgba(240,235,226,.55);transition:background .25s,color .25s,transform .25s}.mobile-tabs a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.mobile-tabs a small{font:700 8px/1 var(--ui);letter-spacing:.05em;white-space:nowrap}.mobile-tabs a.is-active{background:rgba(240,235,226,.1);color:var(--paper)}.mobile-tabs a:active{transform:scale(.97)}
  .page-contact .site-header:not(.is-scrolled),.page-legal .site-header:not(.is-scrolled){color:var(--ink);background:linear-gradient(180deg,rgba(240,235,226,.94),rgba(240,235,226,.08))}
  .reveal-enabled .motion-reveal,.reveal-enabled .work-entry,.reveal-enabled .satellite-link,.reveal-enabled .note-card{transform:translateY(16px);filter:none}

  .home-hero{height:128vh}.home-hero__media{inset:8px;border-radius:0 0 28px 28px}.home-hero__copy{left:20px;right:20px;top:auto;bottom:13vh;width:auto;transform:translateY(calc(var(--p,0)*-3vh))}.home-hero h1{font-size:clamp(54px,15vw,76px);line-height:.86}.home-hero__copy>p{max-width:95%;font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px;margin-top:24px}.home-hero__index{display:none}.orbit--hero{opacity:.6}

  .project-rift{padding:70px 16px 82px}.project-rift__intro{display:block;margin-bottom:28px}.project-rift__intro h2{font-size:13.6vw}.project-rift__intro p{margin-top:18px}.project-slab{aspect-ratio:4/5;border-radius:26px}.project-slab__copy strong{font-size:14vw}.project-rift__satellites{grid-template-columns:1fr}.satellite-link{min-height:110px}

  .journey{height:220vh}.journey__counter{top:78px;left:18px}.journey__stage::before{display:none}.journey__object{left:50%;top:38%;width:min(78vw,410px)}.journey-copy{left:18px;right:18px;top:auto;bottom:8vh;width:auto}.journey-copy.is-active{transform:none}.journey-copy h2{max-width:11ch;font-size:11.3vw}.journey-copy p{max-width:94%;font-size:14px}

  .entry-zone{padding:70px 16px 82px;border-radius:32px 32px 0 0}.entry-zone__head h2{font-size:13vw}.entry-card{flex:0 0 82vw;aspect-ratio:4/5;scroll-snap-align:start;border-radius:26px;padding:22px}.entry-card>strong{font-size:10.5vw}.entry-card>p{font-size:13px}

  .about-tease{min-height:64vh;padding:64px 18px;display:block}.about-tease__word{font-size:100vw;left:-10vw}.about-tease__copy{position:relative}.about-tease__copy h2{font-size:12vw}.about-tease__copy p{font-size:15px}
  .note-card{min-height:250px;padding:22px}
  .finale{min-height:66vh;padding:66px 18px}.finale h2{font-size:13vw}.finale p{font-size:15px}

  .page-hero{min-height:54vh;padding:calc(64px + 5vh) 16px 48px}.page-hero h1{font-size:16vw}.page-hero>p{font-size:15px}
  .work-field{padding:0 16px 62px}.work-entry{display:block;padding:30px 0}.work-entry__index{margin:0 0 11px}.work-entry__visual{aspect-ratio:4/5;border-radius:24px}.work-entry__copy{margin-top:10px;padding:20px}.work-entry__copy h2{font-size:12vw}.work-collabs{padding:60px 16px 68px;display:block;border-radius:30px 30px 0 0}.work-collabs__intro h2{font-size:12vw}.work-route{margin:36px 12px 58px;padding:20px;grid-template-columns:1fr;gap:22px}.work-route__actions{grid-template-columns:1fr}.work-route__actions a{min-height:112px}

  .project-intro{padding:calc(64px + 5vh) 16px 36px}.back-link{margin-bottom:4vh}.project-intro__grid{grid-template-columns:1fr;gap:22px}.project-intro h1{font-size:16vw}.project-intro__grid p{font-size:15px}.project-film-first{padding:0 12px 64px}.project-player{aspect-ratio:16/10;border-radius:24px}.external-media__gate h2{font-size:11vw}.project-meta-list{grid-template-columns:1fr 1fr;gap:8px;padding-top:10px}.project-meta-list div{min-height:92px;padding:14px;border-radius:14px}.project-meta-list dd{font-size:14px}.project-story{padding:64px 16px;border-radius:30px 30px 0 0}.project-story__lead{grid-template-columns:1fr;gap:16px}.project-story__lead h2{font-size:11.5vw}.project-story__lead p{font-size:15px}.project-story__decisions{grid-template-columns:1fr;gap:8px}.project-story__decisions article{padding:20px}.project-story__decisions article>span{margin-bottom:20px}.project-story__decisions h3{font-size:8.4vw}.project-next{padding:60px 16px;grid-template-columns:1fr}.project-next>.eyebrow{padding:0 0 8px}.project-next>a{min-height:130px}

  .services-hero{min-height:auto;padding:calc(64px + 6vh) 16px 50px}.services-hero h1{font-size:14vw}.services-hero>p{font-size:15px}.service-map{padding:16px 12px 46px;grid-template-columns:1fr}.service-map a{min-height:132px}.service-chapter{margin:0 8px 10px;padding:54px 16px;border-radius:28px}.service-chapter__top,.service-chapter__top--reverse{grid-template-columns:1fr;gap:28px}.service-chapter__top--reverse .service-chapter__head,.service-chapter__top--reverse .service-feature{order:initial}.service-chapter__head h2{font-size:11.5vw}.service-chapter__head p{font-size:15px}.service-chapter__visual,.service-feature{min-height:0;aspect-ratio:4/3;border-radius:22px}.service-value-grid{grid-template-columns:1fr;gap:8px}.service-value-grid article{min-height:180px;padding:20px}.service-value-grid h3{font-size:8.5vw}.service-proof-card{grid-template-columns:1fr;gap:24px;padding:20px;border-radius:22px}.service-proof-card blockquote{font-size:7.7vw}.service-feature>div{padding:22px}.service-feature strong{font-size:11vw}.service-quote{font-size:8.5vw;padding:20px}.service-practical{padding:18px}.services-end{margin:0 8px 8px;padding:58px 18px;border-radius:28px}.services-end h2{font-size:11.5vw}

  .about-story-hero{min-height:auto;padding:calc(64px + 5vh) 16px 66px;grid-template-columns:1fr;gap:30px}.about-story-hero__copy{order:1}.about-story-hero__portrait{order:2;width:min(86vw,430px);margin:0 auto;border-radius:26px}.about-story-hero__copy h1{font-size:13vw}.about-hook{font-size:16px}.about-arc{margin:0 8px 8px;padding:28px 20px;grid-template-columns:1fr;gap:18px;border-radius:24px}.about-arc h2{font-size:10.5vw}.about-proof{margin:0 8px 8px;padding:46px 20px;display:block;border-radius:24px}.about-proof blockquote{font-size:10vw}.about-proof__actions{width:100%;align-items:stretch;margin-top:30px}.about-proof .button{width:100%;margin-top:0}.about-proof__actions .text-link{align-self:flex-start}

  .journal-hero{min-height:auto;padding:calc(64px + 6vh) 16px 48px}.journal-hero h1{font-size:14vw}.journal-stack{padding:0 12px 64px}.journal-stack article{display:block;padding:22px}.journal-stack article>span,.journal-stack small{display:block;margin-bottom:10px}.journal-stack h2{font-size:9vw;margin:16px 0}.journal-stack p{font-size:14px}

  .contact-composer{min-height:auto;padding:calc(64px + 5vh) 12px 74px;grid-template-columns:1fr;gap:24px;align-items:start}.contact-composer__intro{padding:0 4px}.contact-composer__intro h1{font-size:13.5vw}.contact-composer__intro>p{font-size:15px}.contact-direct-mini{margin-top:18px}.contact-form{padding:16px;border-radius:26px}.form-intent{display:grid;grid-template-columns:1fr 1fr;gap:7px}.form-intent button{white-space:normal;text-align:center;min-height:42px}.contact-message textarea{min-height:138px;padding:15px;border-radius:18px;font-size:21px}.contact-fields{grid-template-columns:1fr 1fr;gap:8px}.contact-fields label{padding:11px}.contact-more .contact-fields{grid-template-columns:1fr}.contact-submit{grid-template-columns:1fr}.contact-submit .button{grid-row:auto;width:100%}.form-privacy,.form-status{grid-column:1}

  .legal-page-shell{padding:calc(64px + 5vh) 12px 70px}.legal-tabs{position:static;float:none;width:auto;margin:0 0 20px;display:flex;flex-direction:row;overflow-x:auto;border-radius:16px;scrollbar-width:none}.legal-tabs::-webkit-scrollbar{display:none}.legal-tabs a{flex:0 0 auto;border-bottom:0;border-right:1px solid rgba(8,7,6,.08)}.legal-content{padding:22px 18px;border-radius:26px}.legal-content h1{font-size:13.5vw;margin-bottom:34px}.legal-content h2{font-size:6.5vw}.legal-content p,.legal-content li{font-size:14px}

  .site-footer{padding:38px 18px 100px}.site-footer__cols{grid-template-columns:1fr 1fr;gap:28px 20px}
}

@media(max-width:430px){.contact-fields{grid-template-columns:1fr}.project-meta-list{grid-template-columns:1fr 1fr}.form-intent{grid-template-columns:1fr 1fr}.site-footer__cols{grid-template-columns:1fr}}



@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body{animation:none}.reveal-enabled .motion-reveal,.reveal-enabled .motion-reveal.is-revealed,.reveal-enabled .work-entry,.reveal-enabled .work-entry.is-revealed,.reveal-enabled .satellite-link,.reveal-enabled .satellite-link.is-revealed,.reveal-enabled .note-card,.reveal-enabled .note-card.is-revealed{opacity:1;transform:none;filter:none;transition:none}.home-hero__media,.journey__object,.journey__ring{transform:none!important;transition:none!important}.project-slab img,.work-entry__visual img,.service-feature img,.about-story-hero__portrait img{transition:none!important;transform:none!important}::view-transition-old(root),::view-transition-new(root){animation:none}}

/* =========================================================
   V12 — COMPONENT SYSTEM · CONSOLIDATED
   Independent implementations based on the public behaviour of the requested Framer components.
   Premium marketplace source code is not bundled.
   ========================================================= */

/* Glassy Button */
.button{position:relative;isolation:isolate;overflow:hidden;border-color:rgba(255,255,255,.21);background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.045)),rgba(17,14,12,.52);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(255,255,255,.045),0 14px 38px rgba(0,0,0,.2);backdrop-filter:blur(18px) saturate(1.18);-webkit-backdrop-filter:blur(18px) saturate(1.18)}
.button::before{content:'';position:absolute;z-index:-1;inset:-110% 44% -110% -48%;background:linear-gradient(110deg,transparent 28%,rgba(255,255,255,.28) 49%,transparent 69%);transform:translateX(-88%) rotate(7deg);transition:transform .72s var(--ease)}
.button::after{content:'';position:absolute;z-index:-2;inset:1px;border-radius:inherit;background:radial-gradient(circle at 30% 0,rgba(255,255,255,.13),transparent 38%);pointer-events:none}
.button:hover{color:var(--paper);background:linear-gradient(180deg,rgba(255,255,255,.19),rgba(255,255,255,.065)),rgba(17,14,12,.54);border-color:rgba(255,255,255,.32);transform:translateY(-2px)}
.button:hover::before{transform:translateX(158%) rotate(7deg)}
.button:active{transform:translateY(0) scale(.982);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 2px 12px rgba(0,0,0,.18),0 7px 18px rgba(0,0,0,.15)}
.button--light{color:var(--ink);border-color:rgba(255,255,255,.7);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(239,232,222,.87));box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(0,0,0,.045),0 16px 38px rgba(42,27,17,.14)}
.button--light:hover{color:var(--ink);background:linear-gradient(180deg,#fff,rgba(247,242,234,.92))}

/* Logo Preloader */
.brand-preloader{position:fixed;z-index:300;inset:0;display:grid;place-items:center;overflow:hidden;background:var(--ink);color:var(--paper);transition:opacity .5s var(--ease),visibility .5s var(--ease);will-change:opacity;animation:preloaderFailsafe 1.5s linear forwards}
.brand-preloader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.brand-preloader__spotlight{position:absolute;width:min(620px,72vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(240,235,226,.12),rgba(233,119,54,.055) 35%,transparent 68%);filter:blur(20px);transform:translateY(6%) scale(.76);opacity:0;animation:preloaderSpot .8s var(--ease) forwards}
.brand-preloader__mark{position:relative;display:flex;align-items:baseline;gap:.08em;font:500 clamp(42px,6vw,90px)/1 var(--serif);letter-spacing:.01em;transform:translateY(14px) scale(.965);opacity:0;filter:blur(6px);animation:preloaderMark .68s var(--ease) .06s forwards}
.brand-preloader__mark b{font-weight:500;color:var(--ember-soft)}
.brand-preloader>i{position:absolute;left:50%;bottom:14vh;width:min(230px,44vw);height:1px;background:rgba(240,235,226,.13);transform:translateX(-50%);overflow:hidden}
.brand-preloader>i::after{content:'';display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--ember),var(--ember-soft));transform:scaleX(0);transform-origin:left;animation:preloaderLine .8s var(--ease) .08s forwards}
@keyframes preloaderSpot{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes preloaderMark{to{opacity:1;transform:none;filter:none}}
@keyframes preloaderLine{to{transform:scaleX(1)}}@keyframes preloaderFailsafe{0%,64%{opacity:1;visibility:visible;pointer-events:auto}99%{opacity:0;visibility:visible;pointer-events:none}100%{opacity:0;visibility:hidden;pointer-events:none}}

/* Animated Stats Pro — scroll-triggered, four style engines, no-JS values remain readable. */
.animated-stats{width:min(1480px,calc(100% - 2*var(--page)));margin:14px auto 0;overflow:hidden;border:1px solid rgba(240,235,226,.11);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018));box-shadow:0 20px 64px rgba(0,0,0,.18);backdrop-filter:blur(18px) saturate(1.08)}
.animated-stats__track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.animated-stats article{position:relative;min-height:154px;padding:24px 26px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(240,235,226,.08);background:transparent;opacity:1;filter:none;transform:none;transition:opacity .65s var(--ease),transform .7s var(--ease),filter .65s var(--ease)}
.animated-stats article:last-child{border-right:0}.animated-stats article::after{content:'';position:absolute;left:26px;right:26px;bottom:0;height:1px;background:linear-gradient(90deg,var(--ember-soft),transparent);opacity:0;transform:scaleX(.2);transform-origin:left;transition:opacity .55s,transform .8s var(--ease)}.animated-stats article.is-stat-visible::after{opacity:.44;transform:scaleX(1)}
.animated-stats strong{display:flex;align-items:baseline;gap:.08em;font:400 clamp(46px,4.5vw,76px)/.84 var(--serif);letter-spacing:-.045em}.animated-stats strong span{font-size:.42em;color:var(--ember-soft)}.animated-stats small{max-width:230px;font:650 9px/1.45 var(--ui);letter-spacing:.085em;text-transform:uppercase;color:rgba(240,235,226,.62)}
.animated-stats article.is-stat-prep.stat-style--blur{opacity:.18;filter:blur(12px);transform:translateY(7px) scale(.985)}.animated-stats article.is-stat-prep.stat-style--slide{opacity:.12;transform:translateY(26px)}.animated-stats article.is-stat-prep.stat-style--fade{opacity:.08}.animated-stats article.is-stat-prep.stat-style--scale{opacity:.12;transform:scale(.9)}.animated-stats article.is-stat-visible{opacity:1;filter:none;transform:none}
.animated-stats.is-animating{border-color:rgba(233,119,54,.18)}

/* Focus Testimonials — continuous text with robust interactive expansion. */
.focus-testimonials{position:relative;z-index:2;padding:clamp(72px,7vw,108px) var(--page);background:var(--ink);color:var(--paper);isolation:isolate}
.focus-testimonials__head{display:grid;grid-template-columns:.45fr 1.55fr;gap:32px;align-items:start;margin-bottom:clamp(34px,4vw,58px)}
.focus-testimonials__head h2{margin:0;font:400 clamp(52px,6vw,94px)/.88 var(--serif);letter-spacing:-.04em}.focus-testimonials__head h2 em{font-style:italic;color:var(--ember-soft)}
.focus-testimonials__stream{position:relative;z-index:2;max-width:1350px;margin:0 auto;font:400 clamp(30px,4vw,60px)/1.08 var(--serif);letter-spacing:-.02em}
.focus-testimonials__stream button{position:relative;z-index:2;border:0;background:none;color:inherit;padding:5px 4px;text-align:left;font:inherit;letter-spacing:inherit;cursor:pointer;transition:opacity .32s var(--ease),filter .32s var(--ease),transform .32s var(--ease)}
.focus-testimonials__author{position:absolute;z-index:12;left:50%;top:calc(100% + 9px);width:max-content;max-width:min(260px,70vw);padding:8px 12px;border:1px solid rgba(240,235,226,.13);border-radius:999px;background:rgba(16,13,11,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font:650 9px/1 var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--paper);opacity:0;transform:translate(calc(-50% + var(--badge-shift,0px)),5px);pointer-events:none;transition:opacity .25s,transform .25s var(--ease);box-shadow:0 10px 26px rgba(0,0,0,.26)}
.focus-testimonials__sep{font-style:normal;color:rgba(240,235,226,.2)}.focus-testimonials.is-focusing .focus-testimonials__stream button:not(.is-focused){opacity:.2;filter:blur(2.6px)}.focus-testimonials__stream button.is-focused{transform:translateY(-2px)}.focus-testimonials__stream button.is-focused .focus-testimonials__author{opacity:1;transform:translate(calc(-50% + var(--badge-shift,0px)),0)}
.focus-testimonials__actions{position:relative;z-index:30;display:flex;justify-content:center;margin-top:34px;pointer-events:auto}.focus-testimonials__more{position:relative;z-index:31;display:flex;align-items:center;gap:12px;padding:11px 15px;border:1px solid rgba(240,235,226,.15);border-radius:999px;background:rgba(255,255,255,.055);color:var(--paper);font:700 9px/1 var(--ui);letter-spacing:.09em;text-transform:uppercase;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:auto;cursor:pointer;transition:transform .25s var(--ease),background .25s}.focus-testimonials__more:hover{transform:translateY(-2px);background:rgba(255,255,255,.1)}.focus-testimonials__more i{font-style:normal;color:var(--ember-soft);font-size:15px}

/* Dynamic FAQ — one answer at a time; real buttons and keyboard support. */
.faq-section{padding:clamp(68px,7vw,106px) var(--page);background:linear-gradient(180deg,var(--paper),#e9e0d5);color:var(--ink);border-radius:38px 38px 0 0}.page-contact .faq-section{background:transparent;border-radius:0}.faq-section__head{max-width:1280px;margin:0 auto 30px;display:grid;grid-template-columns:.38fr 1.62fr;gap:32px;align-items:start}.faq-section__head h2{max-width:900px;margin:0;font:400 clamp(46px,5vw,80px)/.92 var(--serif);letter-spacing:-.035em}.faq-section__head p{grid-column:2;max-width:620px;margin:0;color:rgba(8,7,6,.58);line-height:1.62}.faq-list{max-width:1280px;margin:0 auto;border-top:1px solid rgba(8,7,6,.12)}.faq-item{border-bottom:1px solid rgba(8,7,6,.12)}.faq-item h3{margin:0}.faq-item button{width:100%;min-height:78px;padding:20px 4px;display:grid;grid-template-columns:1fr 28px;gap:24px;align-items:center;border:0;background:transparent;color:var(--ink);text-align:left;font:500 clamp(23px,2.2vw,34px)/1.12 var(--serif)}.faq-item button i{position:relative;width:22px;height:22px;border:1px solid rgba(8,7,6,.14);border-radius:50%}.faq-item button i::before,.faq-item button i::after{content:'';position:absolute;left:50%;top:50%;width:9px;height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .3s var(--ease)}.faq-item button i::after{transform:translate(-50%,-50%) rotate(90deg)}.faq-item.is-open button i::after{transform:translate(-50%,-50%) rotate(0)}.faq-answer{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .45s var(--ease),opacity .32s}.faq-answer>div{overflow:hidden}.faq-item.is-open .faq-answer{grid-template-rows:1fr;opacity:1}.faq-answer p{max-width:760px;margin:0;padding:0 48px 24px 4px;color:rgba(8,7,6,.64);font-size:15px;line-height:1.68}.page-contact .faq-section{padding-top:46px}.page-contact .faq-section__head h2,.page-contact .faq-item button{color:var(--ink)}

/* Glass Showcase Pro — Three.js physical-glass layer + image fallback + particle handoff */
.glass-showcase{position:relative;width:66%;aspect-ratio:4/5;perspective:1100px}
.glass-showcase__shell{position:absolute;inset:0;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(255,255,255,.06),0 42px 110px rgba(0,0,0,.48);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12);transform:perspective(1100px) rotateY(calc((var(--p,0) - .5)*-8deg)) rotateX(calc((var(--p,0) - .5)*2deg));transition:transform .12s linear}
.glass-showcase__webgl,.glass-showcase__fallback,.glass-showcase canvas,.glass-showcase__sheen{position:absolute;inset:0}
.glass-showcase__webgl{z-index:4;pointer-events:none;mix-blend-mode:screen}.glass-showcase__webgl canvas{width:100%!important;height:100%!important}
.glass-showcase__fallback{z-index:1}
.glass-showcase__frame{position:absolute;inset:10px;width:calc(100% - 20px);height:calc(100% - 20px);object-fit:cover;border-radius:26px;opacity:0;transform:scale(1.035);filter:saturate(.84) contrast(1.04);transition:opacity .62s var(--ease),transform 1s var(--ease),filter .7s var(--ease)}
.glass-showcase__frame.is-active{opacity:1;transform:scale(1);filter:saturate(.96) contrast(1.04)}
.glass-showcase canvas[data-showcase-particles]{z-index:5;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.glass-showcase__sheen{z-index:6;border-radius:inherit;background:linear-gradient(120deg,rgba(255,255,255,.23),transparent 18% 70%,rgba(255,255,255,.08));mix-blend-mode:screen;pointer-events:none}
.glass-showcase.has-webgl .glass-showcase__shell{border-color:rgba(255,255,255,.28)}

/* Stacked Flow */
.stacked-flow{position:relative;min-height:590px;margin-top:8px;isolation:isolate;outline:none}
.stacked-flow__stage{position:relative;height:500px;perspective:1200px;transform-style:preserve-3d}
.stacked-flow__card{position:absolute;inset:auto 0 0 auto;width:min(700px,100%);height:455px;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:32px;color:#fff;background-image:linear-gradient(180deg,rgba(8,7,6,.04),rgba(8,7,6,.88)),var(--stack-image);background-position:center;background-size:cover;box-shadow:0 28px 70px rgba(43,29,18,.22);transform:translate3d(calc(var(--delta,0)*-50px),calc(var(--abs-delta,0)*-28px),calc(var(--abs-delta,0)*-80px)) rotateZ(calc(var(--delta,0)*-1.1deg)) scale(calc(1 - var(--abs-delta,0)*.055));transform-origin:bottom right;z-index:var(--stack-z,1);filter:saturate(calc(1 - var(--abs-delta,0)*.12)) brightness(calc(1 - var(--abs-delta,0)*.08));opacity:calc(1 - var(--abs-delta,0)*.12);transition:transform .58s var(--ease),filter .45s var(--ease),opacity .45s var(--ease),box-shadow .45s;will-change:transform}
.stacked-flow__card.is-active{filter:none;opacity:1;box-shadow:0 38px 92px rgba(43,29,18,.33)}
.stacked-flow__card>span{position:absolute;top:24px;right:24px;font:700 9px/1 var(--ui);letter-spacing:.1em}.stacked-flow__card small{font:700 9px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:#f1c5ab}
.stacked-flow__card strong{max-width:540px;margin:8px 0 12px;font:400 clamp(36px,4vw,62px)/.9 var(--serif);letter-spacing:-.03em}.stacked-flow__card p{max-width:530px;margin:0 0 18px;color:rgba(255,255,255,.78);font-size:13px;line-height:1.5}.stacked-flow__card>i{font:700 9px/1 var(--ui);letter-spacing:.09em;text-transform:uppercase;font-style:normal}
.stacked-flow__controls{width:min(700px,100%);margin:14px 0 0 auto;display:flex;justify-content:flex-end;align-items:center;gap:10px}.glassy-icon-button{position:relative;width:48px;height:48px;border:1px solid rgba(255,255,255,.72);border-radius:15px;background:linear-gradient(160deg,rgba(255,255,255,.84),rgba(211,208,203,.66));color:#161412;box-shadow:inset 1px 1px 0 rgba(255,255,255,.95),inset -1px -1px 0 rgba(0,0,0,.08),0 10px 18px rgba(39,31,25,.16),0 2px 3px rgba(0,0,0,.14);backdrop-filter:blur(17px) saturate(1.12);-webkit-backdrop-filter:blur(17px) saturate(1.12);transition:transform .24s var(--ease),box-shadow .24s,background .24s}.glassy-icon-button::before{content:'';position:absolute;inset:3px;border-radius:12px;border-top:1px solid rgba(255,255,255,.65);pointer-events:none}.glassy-icon-button:hover{transform:translateY(-2px);background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(222,218,211,.75));box-shadow:inset 1px 1px 0 #fff,inset -1px -1px 0 rgba(0,0,0,.07),0 14px 24px rgba(39,31,25,.2)}.glassy-icon-button:active{transform:translateY(1px) scale(.97);box-shadow:inset 0 2px 6px rgba(0,0,0,.13),0 5px 10px rgba(39,31,25,.12)}.stacked-flow__controls span{min-width:62px;text-align:center;font:700 9px/1 var(--ui);letter-spacing:.08em;color:rgba(8,7,6,.48)}

/* Video Slide Show — Work-only 9:16 fan with velocity-based drag physics. */
.video-showcase{padding:clamp(68px,7vw,108px) var(--page);overflow:hidden;background:linear-gradient(180deg,#0d0a08,var(--ink));color:var(--paper)}
.video-showcase__head{max-width:1220px;margin:0 auto 32px;display:grid;grid-template-columns:.35fr 1.65fr;gap:34px;align-items:start}.video-showcase__head h2{margin:0;font:400 clamp(48px,5.4vw,86px)/.9 var(--serif);letter-spacing:-.04em}.video-showcase__head p{max-width:570px;margin:16px 0 0;color:rgba(240,235,226,.62);line-height:1.62}
.video-slide-show{--drag-px:0px;--drag-tilt:0deg;position:relative;max-width:1220px;margin:0 auto;padding:24px clamp(20px,3vw,44px) 64px;border:1px solid rgba(255,255,255,.52);border-radius:38px;background:linear-gradient(145deg,rgba(243,241,238,.92),rgba(194,193,190,.8));box-shadow:0 34px 100px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.94);touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none;overflow:hidden;isolation:isolate;cursor:grab}
.video-slide-show.is-dragging{cursor:grabbing}.video-slide-show::before{content:'';position:absolute;inset:-15% -8%;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.48),transparent 36%),radial-gradient(circle at 78% 62%,rgba(233,119,54,.14),transparent 34%);filter:blur(20px);pointer-events:none}
.video-slide-show__stage{position:relative;height:clamp(500px,54vw,690px);perspective:1700px;transform-style:preserve-3d;touch-action:pan-y}
.video-slide{--slide-delta:0;--slide-abs:0;position:absolute;left:50%;top:50%;width:min(31vw,360px);aspect-ratio:9/16;border:1px solid rgba(255,255,255,.58);border-radius:28px;overflow:hidden;background:#15100d;color:#fff;box-shadow:0 24px 72px rgba(20,18,16,.28);transform:translate3d(calc(-50% + var(--slide-delta)*52% + var(--drag-px)), -50%, calc(var(--slide-abs)*-145px)) rotateY(calc(var(--slide-delta)*-8deg + var(--drag-tilt))) scale(calc(1 - var(--slide-abs)*.085));z-index:var(--slide-z,1);filter:blur(calc(var(--slide-abs)*2.4px)) saturate(calc(1 - var(--slide-abs)*.18)) brightness(calc(1 - var(--slide-abs)*.08));opacity:calc(1 - var(--slide-abs)*.19);transition:transform .68s var(--ease),opacity .52s var(--ease),filter .52s var(--ease),box-shadow .52s var(--ease)}
.video-slide-show.is-dragging .video-slide{transition:opacity .18s,filter .18s,box-shadow .18s}.video-slide.is-active{box-shadow:0 34px 82px rgba(22,19,17,.32);filter:none;opacity:1}.video-slide__media{position:absolute;inset:0}.video-slide__poster{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,6,.03),rgba(8,7,6,.58)),var(--slide-poster) var(--slide-poster-position,center)/cover no-repeat;transition:opacity .25s}.video-slide__poster.is-hidden{opacity:0}.video-slide__frame{position:absolute;inset:0}.video-slide__frame iframe{width:100%;height:100%;border:0}.video-slide__copy{position:absolute;z-index:4;left:20px;right:20px;bottom:20px;display:flex;flex-direction:column;align-items:flex-start;pointer-events:none}.video-slide__copy small{font:700 8px/1 var(--ui);letter-spacing:.11em;text-transform:uppercase;color:#f3c5ab}.video-slide__copy strong{margin:6px 0 12px;font:400 clamp(27px,2.6vw,40px)/.92 var(--serif)}.video-slide__copy button{pointer-events:auto;padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(10,8,7,.5);color:#fff;font:700 8px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(15px)}.video-slide__select{position:absolute;z-index:3;inset:0;border:0;background:transparent}.video-slide.is-active .video-slide__select{pointer-events:none}.video-slide.is-playing .video-slide__copy{opacity:0;pointer-events:none}
.video-slide-show__dots{position:absolute;z-index:8;left:50%;bottom:18px;display:flex;gap:8px;padding:8px 11px;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:rgba(255,255,255,.74);box-shadow:0 8px 24px rgba(44,38,33,.13);transform:translateX(-50%);backdrop-filter:blur(16px)}.video-slide-show__dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(204,70,12,.18)}.video-slide-show__dots i{display:block;width:100%;height:100%;border-radius:50%;background:rgba(204,70,12,.26);transition:background .28s,transform .28s}.video-slide-show__dots button[aria-current=true] i{background:var(--ember);transform:scale(1.15)}
.video-slide-show__sound{position:absolute;z-index:9;right:18px;top:18px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(255,255,255,.8);color:#171411;box-shadow:0 10px 28px rgba(31,27,24,.14);backdrop-filter:blur(16px)}.video-slide-show__sound svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.video-slide-show__sound .sound-body{fill:currentColor;stroke:none}.video-slide-show__sound .sound-x{display:none}.video-slide-show__sound.is-muted{color:#f04e41}.video-slide-show__sound.is-muted .sound-wave{display:none}.video-slide-show__sound.is-muted .sound-x{display:block}
.video-slide-show__arrow{position:absolute;z-index:9;top:50%;width:44px;height:44px;border:1px solid rgba(255,255,255,.68);border-radius:50%;background:rgba(255,255,255,.7);color:var(--ink);box-shadow:0 10px 28px rgba(31,27,24,.12);opacity:0;transform:translateY(-50%);transition:opacity .25s,transform .25s,background .25s}.video-slide-show:hover .video-slide-show__arrow,.video-slide-show:focus-within .video-slide-show__arrow{opacity:1}.video-slide-show__arrow:hover{background:#fff}.video-slide-show__arrow--prev{left:18px}.video-slide-show__arrow--next{right:18px}

/* Line Menu TOC — collapsed rail by default; expands temporarily on hover/focus. */
.line-toc{position:fixed;z-index:112;left:14px;top:50%;width:auto;margin:0;padding:8px 7px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:1px solid rgba(240,235,226,.12);border-radius:22px;background:rgba(10,9,8,.68);color:var(--paper);box-shadow:0 14px 42px rgba(0,0,0,.2);backdrop-filter:blur(20px) saturate(1.08);-webkit-backdrop-filter:blur(20px) saturate(1.08);transform:translateY(-50%);transition:background .3s,border-radius .3s,box-shadow .3s}
.page-services .line-toc,.page-about .line-toc{border-color:rgba(8,7,6,.1);background:rgba(245,240,232,.76);color:var(--ink);box-shadow:0 12px 34px rgba(57,37,23,.09)}
.line-toc a{position:relative;min-height:34px;display:flex;align-items:center;gap:0;padding:6px 7px;border-radius:13px;transition:background .28s var(--ease),gap .28s var(--ease)}.line-toc__line{width:28px;height:2px;border-radius:999px;background:currentColor;opacity:.26;overflow:hidden;transition:width .34s var(--ease),opacity .3s}.line-toc__line i{display:block;width:100%;height:100%;background:var(--ember-soft);transform:scaleX(0);transform-origin:left;transition:transform .32s var(--ease)}.line-toc small{max-width:0;overflow:hidden;white-space:nowrap;opacity:0;margin:0;font:700 8px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;transition:max-width .34s var(--ease),opacity .28s var(--ease),margin .28s var(--ease)}.line-toc b{width:18px;margin-left:7px;font:700 7px/1 var(--ui);opacity:.35}.line-toc a.is-active .line-toc__line{opacity:.95}.line-toc a.is-active .line-toc__line i{transform:scaleX(1)}.line-toc.is-open a{gap:8px}.line-toc.is-open a:hover,.line-toc.is-open a.is-active{background:rgba(255,255,255,.07)}.page-services .line-toc.is-open a:hover,.page-services .line-toc.is-open a.is-active,.page-about .line-toc.is-open a:hover,.page-about .line-toc.is-open a.is-active{background:rgba(8,7,6,.05)}.line-toc.is-open .line-toc__line{width:42px}.line-toc.is-open a:hover .line-toc__line,.line-toc.is-open a.is-active .line-toc__line{width:54px}.line-toc.is-open small,.line-toc a:focus-visible small{max-width:120px;opacity:1;margin-left:2px}

/* Gradient Motion Background — independent implementation of the public Framer behaviour.
   Supports custom palette, Radial / Conic / Mesh / Linear / Diamond, speed, blur, opacity and size. */
.motion-gradient{position:relative;isolation:isolate;overflow:hidden}.motion-gradient>*:not(.gradient-motion-bg){position:relative;z-index:2}
.gradient-motion-bg{position:absolute!important;z-index:0!important;inset:-8%;overflow:hidden;pointer-events:none;opacity:var(--gm-opacity,.5);filter:saturate(1.02);transform:scale(var(--gm-scale,1.18));transform-origin:center}
.gradient-motion-bg i,.gradient-motion-bg span{position:absolute;display:block;will-change:transform,opacity;filter:blur(var(--gm-blur,68px));opacity:.9}
.gradient-motion-bg i:nth-child(1){left:-8%;top:-10%;width:62%;aspect-ratio:1;border-radius:50%;background:var(--gm-c1)}
.gradient-motion-bg i:nth-child(2){right:-8%;top:4%;width:58%;aspect-ratio:1;border-radius:50%;background:var(--gm-c2);animation-delay:-5s}
.gradient-motion-bg i:nth-child(3){left:28%;bottom:-22%;width:68%;aspect-ratio:1;border-radius:50%;background:var(--gm-c3);animation-delay:-9s}
.gradient-motion-bg span{inset:8%;border-radius:42%;background:var(--gm-c4);opacity:.42;animation-delay:-3s}
.gradient-motion-bg[data-gradient-style="radial"] i,.gradient-motion-bg[data-gradient-style="radial"] span{mix-blend-mode:multiply}
.gradient-motion-bg[data-gradient-style="conic"] span{inset:-20%;border-radius:50%;background:conic-gradient(from 20deg,var(--gm-c1),var(--gm-c3),var(--gm-c2),var(--gm-c4),var(--gm-c1));opacity:.5;filter:blur(calc(var(--gm-blur)*.7))}
.gradient-motion-bg[data-gradient-style="mesh"]{background:linear-gradient(135deg,color-mix(in srgb,var(--gm-c4) 22%,transparent),transparent 45%,color-mix(in srgb,var(--gm-c1) 14%,transparent))}
.gradient-motion-bg[data-gradient-style="linear"] span{inset:-20%;border-radius:0;background:linear-gradient(115deg,var(--gm-c1),var(--gm-c3),var(--gm-c2),var(--gm-c4));opacity:.38}
.gradient-motion-bg[data-gradient-style="diamond"] span{left:25%;top:5%;width:54%;aspect-ratio:1;inset:auto;transform:rotate(45deg);border-radius:24%;background:linear-gradient(135deg,var(--gm-c1),var(--gm-c3));opacity:.4}
.gradient-motion-bg i:nth-child(1){animation:gmDriftA var(--gm-speed,18s) ease-in-out infinite alternate}
.gradient-motion-bg i:nth-child(2){animation:gmDriftB var(--gm-speed,18s) ease-in-out infinite alternate}
.gradient-motion-bg i:nth-child(3){animation:gmDriftC var(--gm-speed,18s) ease-in-out infinite alternate}
.gradient-motion-bg span{animation:gmRotate var(--gm-speed,18s) ease-in-out infinite alternate}
.motion-gradient::after{content:'';position:absolute;z-index:1;inset:0;pointer-events:none;background-image:radial-gradient(rgba(8,7,6,.035) .65px,transparent .65px);background-size:4px 4px;mix-blend-mode:multiply;opacity:.38}
.page-contact .motion-gradient,.page-services .services-hero.motion-gradient,.page-about .about-story-hero.motion-gradient{background-color:var(--paper);color:var(--ink)}
@keyframes gmDriftA{0%{transform:translate3d(-3%,1%,0) scale(.92)}55%{transform:translate3d(12%,8%,0) scale(1.12)}100%{transform:translate3d(3%,-6%,0) scale(1.02)}}@keyframes gmDriftB{0%{transform:translate3d(5%,-4%,0) scale(1.06)}55%{transform:translate3d(-12%,9%,0) scale(.9)}100%{transform:translate3d(-3%,2%,0) scale(1.08)}}@keyframes gmDriftC{0%{transform:translate3d(-8%,8%,0) scale(.9)}50%{transform:translate3d(4%,-8%,0) scale(1.13)}100%{transform:translate3d(11%,2%,0) scale(.97)}}@keyframes gmRotate{from{transform:rotate(-8deg) scale(.94)}to{transform:rotate(18deg) scale(1.1)}}


/* Ambient Video Player */
.ambient-video-player{--ambient-a:rgba(205,69,12,.58);--ambient-b:rgba(106,64,45,.52);isolation:isolate;overflow:visible}.ambient-video-player::before{content:'';position:absolute;z-index:-2;inset:4% 5% -5%;border-radius:34px;background:radial-gradient(circle at 35% 42%,var(--ambient-a),transparent 39%),radial-gradient(circle at 72% 56%,var(--ambient-b),transparent 48%);filter:blur(44px);opacity:.5;transform:scale(.96);transition:opacity .6s,transform .8s var(--ease),filter .8s}.ambient-video-player.is-playing::before{opacity:.82;transform:scale(1.03);animation:ambientPulse 8s ease-in-out infinite alternate}.ambient-video-player iframe{position:relative;z-index:2;border-radius:inherit}@keyframes ambientPulse{0%{filter:blur(40px) saturate(.9) hue-rotate(-3deg)}55%{filter:blur(55px) saturate(1.25) hue-rotate(7deg)}100%{filter:blur(47px) saturate(1.08) hue-rotate(-1deg)}}

/* Hold Confirm */
.hold-confirm{--hold-progress:0;min-width:216px;touch-action:none;user-select:none;-webkit-user-select:none}.hold-confirm>span,.hold-confirm>b{position:relative;z-index:2}.hold-confirm>b{font-size:11px}.hold-confirm>i{position:absolute;z-index:1;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(204,70,12,.22),rgba(233,119,54,.46));transform:scaleX(var(--hold-progress));transform-origin:left;transition:transform .07s linear;pointer-events:none}.hold-confirm[data-hold-direction=rtl]>i{transform-origin:right}.hold-confirm.is-cancelling>i{transition:transform .24s var(--ease)}.hold-confirm.is-holding{border-color:rgba(233,119,54,.48)}.hold-confirm.is-confirmed>i{background:rgba(204,70,12,.34)}

/* Page View Counter */
.project-meta-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:20px;font:700 9px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:rgba(240,235,226,.48)}.page-view-counter{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(240,235,226,.1);border-radius:999px;background:rgba(255,255,255,.035);backdrop-filter:blur(12px)}.page-view-counter svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.4;opacity:.65}.page-view-counter b{color:var(--paper);font-weight:700}

@media(max-width:900px){.animated-stats__track{grid-template-columns:1fr 1fr}.animated-stats article:nth-child(2){border-right:0}.animated-stats article:nth-child(n+3){border-top:1px solid rgba(240,235,226,.08)}.focus-testimonials__head,.video-showcase__head,.faq-section__head{grid-template-columns:1fr;gap:16px}.faq-section__head p{grid-column:auto}.stacked-flow{min-height:540px}.stacked-flow__stage{height:450px}.stacked-flow__card{height:410px}.video-slide{width:min(40vw,350px)}.line-toc{left:8px}}
@media(max-width:760px){
  .brand-preloader__mark{font-size:15vw}.brand-preloader>i{bottom:18vh}
  .animated-stats{width:calc(100% - 24px);margin:12px auto 28px;border-radius:22px}.animated-stats__track{grid-template-columns:1fr 1fr}.animated-stats article{min-height:112px;padding:18px 18px;border-top:1px solid rgba(240,235,226,.08)}.animated-stats article:nth-child(-n+2){border-top:0}.animated-stats article:nth-child(even){border-right:0}.animated-stats strong{font-size:12vw}.animated-stats small{font-size:7.5px}
  .focus-testimonials{padding:58px 16px}.focus-testimonials__head h2{font-size:12.5vw}.focus-testimonials__stream{font-size:8vw;line-height:1.18}.focus-testimonials__stream button{display:block;width:100%;padding:7px 0}.focus-testimonials__author{display:block;position:static;width:auto;max-width:none;margin:5px 0 10px;padding:0;border:0;background:none;backdrop-filter:none;font-size:8px;color:var(--ember-soft);opacity:1;transform:none}.focus-testimonials__sep{display:none}.focus-testimonials.is-focusing .focus-testimonials__stream button:not(.is-focused){opacity:1;filter:none}.focus-testimonials__stream button.is-focused{transform:none}.focus-testimonials__more{margin-top:22px}
  .faq-section{padding:58px 16px;border-radius:30px 30px 0 0}.faq-section__head h2{font-size:11.5vw}.faq-item button{min-height:68px;padding:17px 2px;font-size:6.9vw}.faq-answer p{padding:0 34px 20px 2px;font-size:14px}
  .glass-showcase{width:74%}.glass-showcase__shell{border-radius:24px}.glass-showcase__frame{inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);border-radius:18px}.glass-showcase__webgl{display:none}
  .work-collabs{display:block}.stacked-flow{min-height:500px;margin-top:28px}.stacked-flow__stage{height:430px}.stacked-flow__card{left:50%;right:auto;bottom:0;width:94%;height:410px;padding:24px;transform:translate3d(calc(-50% + var(--delta,0)*18px),calc(var(--abs-delta,0)*-16px),calc(var(--abs-delta,0)*-55px)) rotateZ(calc(var(--delta,0)*-1deg)) scale(calc(1 - var(--abs-delta,0)*.045));transform-origin:center bottom;border-radius:25px}.stacked-flow__card strong{font-size:10vw}.stacked-flow__controls{width:100%;justify-content:center}
  .video-showcase{padding:58px 12px}.video-showcase__head{padding:0 4px}.video-showcase__head h2{font-size:12vw}.video-showcase__head p{font-size:14px}.video-slide-show{padding:18px 8px 54px;border-radius:28px}.video-slide-show__stage{height:132vw;max-height:610px;min-height:430px}.video-slide{width:min(72vw,330px);border-radius:24px;transform:translate3d(calc(-50% + var(--slide-delta)*27% + var(--drag-px)), -50%, calc(var(--slide-abs)*-78px)) rotateY(calc(var(--slide-delta)*-7deg + var(--drag-tilt))) scale(calc(1 - var(--slide-abs)*.075))}.video-slide__copy{left:18px;right:18px;bottom:18px}.video-slide__copy strong{font-size:9vw}.video-slide-show__arrow{display:none}.video-slide-show__sound{right:12px;top:12px;width:38px;height:38px}.video-slide-show__dots{bottom:13px}
  .line-toc{display:none}.gradient-motion-bg{inset:-18%;--gm-blur:56px}.ambient-video-player::before{inset:8% 8% -4%;filter:blur(28px)}.hold-confirm{min-width:194px}.project-meta-head{padding-top:14px}
}
@media(prefers-reduced-motion:reduce){.brand-preloader__mark,.brand-preloader__spotlight,.brand-preloader>i::after,.gradient-motion-bg i,.gradient-motion-bg span,.ambient-video-player.is-playing::before{animation:none!important}.glass-showcase__shell,.glass-showcase__frame,.stacked-flow__card,.video-slide,.animated-stats article{transition:none!important}.glass-showcase__shell{transform:none!important}.animated-stats article{opacity:1!important;filter:none!important;transform:none!important}}
/* Video Slide Show also supports a vertical orientation when reused elsewhere. */
.video-slide-show[data-orientation="vertical"] .video-slide{transform:translate3d(-50%,calc(-50% + var(--slide-delta)*28%),calc(var(--slide-abs)*-120px)) rotateX(calc(var(--slide-delta)*8deg)) scale(calc(1 - var(--slide-abs)*.085))}

/* =========================================================
   V13 — FABRICA-INSPIRED SYSTEM
   Independent implementation based on the public visual grammar of the
   Fabrica Framer template: monochrome, strong typographic hierarchy,
   structured sections, grain, rounded media, concise CTAs and restrained motion.
   The paid template source code and assets are NOT bundled.
   ========================================================= */

:root{
  --fab-bg:#f3f3f0;
  --fab-card:#fafaf8;
  --fab-ink:#090909;
  --fab-muted:#6d6d68;
  --fab-line:rgba(9,9,9,.13);
  --fab-dark-line:rgba(255,255,255,.18);
  --fab-radius:22px;
  --fab-radius-lg:30px;
}

body.page-fabrica,
body.page-legal,
body.page-journal,
body.page-404{background:var(--fab-bg);color:var(--fab-ink)}
body::after{content:"";position:fixed;z-index:9997;inset:-40%;pointer-events:none;opacity:.055;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");transform:rotate(.001deg)}
body.menu-open::after{z-index:9999;opacity:.04}

/* Header: a thin, quiet bar like Fabrica. */
.site-header.fab-header{position:fixed;top:0;left:0;z-index:200;width:100%;height:52px;padding:0 18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(246,246,243,.96);color:var(--fab-ink);border-bottom:1px solid rgba(9,9,9,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .3s ease,color .3s ease,border-color .3s ease;box-shadow:none;border-radius:0}
.site-header.fab-header.is-scrolled{top:0;left:0;width:100%;height:52px;border:0;border-bottom:1px solid rgba(9,9,9,.08);border-radius:0;background:rgba(246,246,243,.93);color:var(--fab-ink);box-shadow:none}
.fab-brand{font:600 20px/1 var(--serif);color:var(--fab-ink)}
.fab-brand b{color:var(--ember-soft)}
.fab-nav{display:flex;gap:clamp(24px,4vw,62px);align-items:center}
.fab-nav__link{position:relative;color:var(--fab-ink);font:650 9px/1 var(--body);letter-spacing:.02em;text-transform:none;opacity:1}
.fab-nav__link::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--fab-ink);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.fab-nav__link:hover::after,.fab-nav__link.is-active::after{transform:scaleX(1)}
.fab-menu-button{display:none;color:var(--fab-ink);font:650 10px/1 var(--body);letter-spacing:.06em;text-transform:uppercase}
body.menu-open .site-header.fab-header{background:var(--fab-bg)!important;color:var(--fab-ink)!important;border-color:rgba(9,9,9,.1)!important;backdrop-filter:none!important}
.page-progress{z-index:260;height:1px;background:transparent}
.page-progress i{background:var(--ember-soft);box-shadow:none}

/* Mobile menu = large type on a quiet off-white canvas. */
.fab-mobile-menu{z-index:190;inset:0;background:var(--fab-bg);color:var(--fab-ink);padding:82px 18px 36px;backdrop-filter:none;-webkit-backdrop-filter:none}
.fab-mobile-menu__inner>a{color:var(--fab-ink);border-bottom:1px solid var(--fab-line);font:650 clamp(44px,14vw,76px)/.9 var(--ui);letter-spacing:-.06em}
.fab-mobile-menu__inner small{color:var(--ember-soft);font:700 9px/1 var(--body)}
.fab-mobile-menu .mobile-menu__meta{color:var(--fab-muted)}

/* Preloader — wordmark, progress, grain, guaranteed exit. */
.brand-preloader.fab-preloader{position:fixed;z-index:10000;inset:0;display:block;background:#080808;color:#f4f4ef;overflow:hidden;transition:clip-path .72s var(--ease),opacity .45s ease,visibility .45s ease;clip-path:inset(0 0 0 0);animation:fabPreloaderFailsafe 1.8s linear forwards}
.brand-preloader.fab-preloader.is-leaving{clip-path:inset(0 0 100% 0);opacity:.985;visibility:hidden;pointer-events:none}
.fab-preloader__grain{position:absolute;inset:-40%;opacity:.13;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.fab-preloader__mark{position:absolute;left:50%;top:48%;display:flex;align-items:baseline;gap:.03em;transform:translate(-50%,-50%);font:800 clamp(54px,9vw,148px)/.8 var(--ui);letter-spacing:-.075em;white-space:nowrap}
.fab-preloader__mark b{font-weight:800;color:var(--ember-soft)}
.fab-preloader__meta{position:absolute;left:28px;right:28px;bottom:26px;display:flex;align-items:end;justify-content:space-between;border-top:1px solid rgba(255,255,255,.18);padding-top:10px;font:600 9px/1.2 var(--body);letter-spacing:.04em;text-transform:uppercase}
.fab-preloader__meta b{font:700 18px/1 var(--ui)}
.fab-preloader__line{position:absolute;left:0;bottom:0;width:100%;height:2px;background:linear-gradient(90deg,var(--ember-soft),#fff);transform-origin:left;animation:fabPreloaderLine 1s var(--ease) both}
@keyframes fabPreloaderLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes fabPreloaderFailsafe{0%,82%{pointer-events:auto;visibility:visible}99%{pointer-events:none;visibility:visible}100%{pointer-events:none;visibility:hidden}}

/* Shared Fabrica-like typography and structure. */
.page-fabrica main{padding-top:52px;background:var(--fab-bg);color:var(--fab-ink)}
.page-fabrica .eyebrow,.page-fabrica .fab-dot-label{color:var(--fab-ink)}
.fab-dot-label{display:inline-flex;align-items:center;gap:10px;font:700 9px/1 var(--body);letter-spacing:.02em}
.fab-dot-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--fab-ink)}
.fab-section-meta{display:flex;justify-content:space-between;align-items:center;padding:0 2px 14px;font:600 9px/1 var(--body)}
.fab-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.43fr);gap:7vw;align-items:end;margin-bottom:30px}
.fab-section-heading>div{position:relative}.fab-section-heading small{display:block;margin-bottom:8px;font:700 9px/1 var(--body)}
.fab-section-heading h2{margin:0;font:750 clamp(64px,8.2vw,138px)/.82 var(--ui);letter-spacing:-.075em}
.fab-section-heading>p{margin:0 0 6px;color:var(--fab-muted);font-size:14px;line-height:1.45;max-width:430px}
.fab-arrow-link{display:inline-flex;align-items:center;gap:28px;padding:12px 0;border-bottom:1px solid var(--fab-ink);font:700 10px/1 var(--body);text-transform:uppercase;letter-spacing:.03em}
.fab-arrow-link span{transition:transform .25s ease}.fab-arrow-link:hover span{transform:translate(3px,-3px)}
.fab-arrow-link--light{color:#fff;border-color:rgba(255,255,255,.55)}
.fab-page-title{min-height:420px;padding:clamp(72px,8vw,130px) var(--page) 48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.36fr);gap:7vw;align-items:end;border-bottom:1px solid var(--fab-line)}
.fab-page-title>div{position:relative}.fab-page-title span{position:absolute;left:0;top:-18px;font:700 9px/1 var(--body)}
.fab-page-title h1{margin:0;font:760 clamp(92px,12vw,190px)/.72 var(--ui);letter-spacing:-.085em}
.fab-page-title small{display:block;margin-top:18px;font:600 10px/1 var(--body)}
.fab-page-title p{margin:0 0 5px;color:var(--fab-muted);font-size:15px;line-height:1.5;max-width:430px}

/* HOME HERO */
.fab-home{overflow:hidden}
.fab-hero{position:relative;isolation:isolate;min-height:calc(100svh - 62px);margin:8px;border-radius:24px;overflow:hidden;background:#090909;color:#fff}
.fab-hero__media{position:absolute;z-index:-2;inset:0;overflow:hidden}.fab-hero__media>img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.14) brightness(.7);transform:scale(1.03);animation:fabHeroBreath 14s ease-in-out infinite alternate}
.fab-hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.18) 50%,rgba(0,0,0,.68)),radial-gradient(circle at 72% 30%,rgba(255,255,255,.08),transparent 30%)}
.fab-hero .gradient-motion-bg{opacity:.32;mix-blend-mode:screen}
@keyframes fabHeroBreath{to{transform:scale(1.08) translate3d(1.5%,-.8%,0)}}
.fab-hero__wordmark{margin:0;position:absolute;left:3.2vw;top:7vh;display:flex;align-items:baseline;gap:.02em;font:800 clamp(78px,12.8vw,220px)/.72 var(--ui);letter-spacing:-.085em;white-space:nowrap}.fab-hero__wordmark b{color:#fff;font-weight:800}.fab-hero__wordmark small{font:650 clamp(20px,2.3vw,36px)/1 var(--ui);letter-spacing:-.035em;margin-left:18px}
.fab-hero__services{position:absolute;right:4vw;top:18vh;margin:0;padding:0;list-style:none;font:600 10px/1.65 var(--body);letter-spacing:.01em}
.fab-hero__statement{position:absolute;left:4vw;bottom:42px;width:min(390px,34vw);margin:0;font:500 12px/1.35 var(--body)}
.fab-hero__contact{position:absolute;right:28px;bottom:24px;display:grid;grid-template-columns:46px auto auto;align-items:center;gap:10px;padding:7px 8px;background:#f5f5f2;color:#090909;border-radius:12px;box-shadow:0 10px 38px rgba(0,0,0,.18)}
.fab-hero__avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:9px;background:#d8d8d3;font:700 20px/1 var(--ui)}
.fab-hero__contact div:nth-child(2){display:flex;flex-direction:column;gap:2px}.fab-hero__contact small{font:600 8px/1 var(--body);color:#666}.fab-hero__contact strong{font:700 10px/1 var(--body)}
.fab-hero__contact a{margin-left:8px;padding:10px 12px;border-radius:999px;background:#090909;color:#fff;font:700 8px/1 var(--body);white-space:nowrap}
.fab-hero__copyright{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);font:600 8px/1 var(--body);opacity:.8}
.fab-cross{position:absolute;width:7px;height:7px}.fab-cross::before,.fab-cross::after{content:"";position:absolute;background:rgba(255,255,255,.7)}.fab-cross::before{left:3px;top:0;width:1px;height:7px}.fab-cross::after{left:0;top:3px;width:7px;height:1px}.fab-cross--1{left:25%;top:55%}.fab-cross--2{left:50%;top:55%}.fab-cross--3{left:75%;top:55%}

/* Clients */
.fab-clients{padding:42px var(--page) 72px}
.fab-client-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--fab-line);border-radius:14px;overflow:hidden;background:var(--fab-card)}
.fab-client-grid>div{min-height:94px;padding:14px 18px;display:grid;place-items:center;position:relative;border-right:1px solid var(--fab-line)}.fab-client-grid>div:last-child{border-right:0}.fab-client-grid span{position:absolute;left:10px;top:9px;font:700 8px/1 var(--body);color:#aaa}.fab-client-grid strong{font:700 clamp(13px,1.25vw,20px)/1 var(--ui);letter-spacing:-.035em;text-align:center}

/* Projects */
.fab-projects,.fab-work-page,.fab-work-collabs{padding:40px var(--page) 96px}
.fab-project-grid,.fab-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.fab-project-card{display:block;color:var(--fab-ink)}
.fab-project-card__meta{height:38px;padding:0 4px;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;font:600 9px/1 var(--body)}
.fab-project-card__meta strong{font-weight:650}.fab-project-card__meta i{font-style:normal;color:#8a8a85}
.fab-project-card figure{position:relative;margin:0;aspect-ratio:1.42;border-radius:16px;overflow:hidden;background:#ddd}.fab-project-card figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.38));opacity:0;transition:opacity .35s ease}
.fab-project-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(1.02);transition:transform .65s var(--ease),filter .45s ease}.fab-project-card figure>span{position:absolute;z-index:2;right:14px;bottom:14px;padding:9px 12px;border-radius:999px;background:#fff;color:#090909;font:700 8px/1 var(--body);opacity:0;transform:translateY(7px);transition:.32s var(--ease)}
.fab-project-card:hover img{transform:scale(1.025);filter:saturate(.96)}.fab-project-card:hover figure::after{opacity:1}.fab-project-card:hover figure>span{opacity:1;transform:none}
.fab-projects__more{display:flex;justify-content:flex-end;margin-top:28px}

/* Proof / stats */
.fab-proof{padding:84px var(--page);display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);gap:7vw;border-top:1px solid var(--fab-line);border-bottom:1px solid var(--fab-line)}
.fab-proof__intro h2{margin:24px 0 18px;font:720 clamp(46px,5.6vw,92px)/.92 var(--ui);letter-spacing:-.065em}.fab-proof__intro p{max-width:480px;color:var(--fab-muted);font-size:14px}.fab-proof__intro .fab-arrow-link{margin-top:22px}
.fab-proof .animated-stats,.fab-about-stats .animated-stats{width:100%;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.fab-proof .animated-stats__track,.fab-about-stats .animated-stats__track{grid-template-columns:repeat(2,1fr);border-left:1px solid var(--fab-line);border-top:1px solid var(--fab-line)}
.fab-proof [data-stat-card],.fab-about-stats [data-stat-card]{min-height:180px;padding:20px;border-right:1px solid var(--fab-line);border-bottom:1px solid var(--fab-line);display:flex;flex-direction:column;justify-content:space-between;color:var(--fab-ink);background:transparent}
.fab-proof [data-stat-card] strong,.fab-about-stats [data-stat-card] strong{font:740 clamp(42px,5vw,86px)/.8 var(--ui);letter-spacing:-.07em;color:var(--fab-ink)}.fab-proof [data-stat-card] small,.fab-about-stats [data-stat-card] small{font:600 10px/1.25 var(--body);color:var(--fab-muted);max-width:170px}

/* Services */
.fab-services{padding:92px var(--page) 110px}
.fab-service-list{border-top:1px solid var(--fab-line)}
.fab-service-row{position:relative;display:grid;grid-template-columns:70px minmax(260px,.9fr) minmax(180px,.55fr) 230px 24px;gap:28px;align-items:center;min-height:196px;padding:24px 4px;border-bottom:1px solid var(--fab-line);transition:background .3s ease,padding .3s var(--ease)}
.fab-service-row>span{font:700 9px/1 var(--body);align-self:start;margin-top:8px}.fab-service-row h3{margin:0 0 10px;font:700 clamp(30px,3vw,52px)/.92 var(--ui);letter-spacing:-.055em}.fab-service-row p{margin:0;color:var(--fab-muted);font-size:13px;max-width:420px}.fab-service-row ul{margin:0;padding:0;list-style:none;font:600 10px/1.65 var(--body);color:#555}.fab-service-row figure{margin:0;height:145px;border-radius:12px;overflow:hidden}.fab-service-row figure img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35);transition:transform .6s var(--ease)}.fab-service-row>b{font:600 20px/1 var(--body);transition:transform .3s var(--ease)}
.fab-service-row:hover{background:#e9e9e5;padding-left:16px;padding-right:16px}.fab-service-row:hover figure img{transform:scale(1.04)}.fab-service-row:hover>b{transform:translate(3px,-3px)}

/* Process / about dark block */
.fab-process{position:relative;margin:8px;border-radius:24px;padding:80px var(--page);overflow:hidden}.fab-process--dark{background:#0a0a0a;color:#f4f4ef}.fab-process__head{display:grid;grid-template-columns:.36fr 1fr;gap:6vw;align-items:start}.fab-process__head .fab-dot-label{color:#fff}.fab-process__head .fab-dot-label::before{background:#fff}.fab-process__head h2{grid-column:2;margin:0;font:760 clamp(68px,8.6vw,146px)/.78 var(--ui);letter-spacing:-.08em}.fab-process__head p{grid-column:2;max-width:520px;color:#aaa;font-size:14px}
.fab-process__visual{width:min(720px,72vw);margin:70px auto 60px}.fab-process .glass-showcase{width:100%;height:auto}.fab-process .glass-showcase__shell{aspect-ratio:16/10;border-radius:18px;overflow:hidden;background:#161616}.fab-process .glass-showcase__fallback img{filter:grayscale(1) contrast(1.1)}
.fab-process__steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--fab-dark-line);margin-top:40px}.fab-process__steps article{min-height:190px;padding:18px 18px 20px 0;border-right:1px solid var(--fab-dark-line)}.fab-process__steps article:last-child{border-right:0;padding-left:18px}.fab-process__steps article:nth-child(2){padding-left:18px}.fab-process__steps span{font:700 9px/1 var(--body);color:#888}.fab-process__steps strong{display:block;margin:48px 0 10px;font:680 28px/1 var(--ui)}.fab-process__steps p{margin:0;color:#aaa;font-size:13px;max-width:300px}.fab-process>.fab-arrow-link{margin-top:32px}

/* Testimonials */
.fab-testimonials{padding:92px var(--page) 110px}.fab-testimonials .focus-testimonials{margin:0;padding:0;background:transparent;color:var(--fab-ink)}.fab-testimonials .focus-testimonials__head{display:none}.fab-testimonials .focus-testimonials__stream{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--fab-line);border-left:1px solid var(--fab-line)}.fab-testimonials .focus-testimonials__stream>button{display:flex!important;min-height:250px;padding:24px;flex-direction:column;justify-content:space-between;text-align:left;background:transparent;color:var(--fab-ink);border:0;border-right:1px solid var(--fab-line);border-bottom:1px solid var(--fab-line);opacity:1!important;filter:none!important}.fab-testimonials .focus-testimonials__stream>button span{font:620 clamp(26px,2.6vw,44px)/1.03 var(--ui);letter-spacing:-.05em}.fab-testimonials .focus-testimonials__author{display:block;margin-top:40px;color:var(--fab-muted);font:600 10px/1.2 var(--body);opacity:1!important}.fab-testimonials .focus-testimonials__sep,.fab-testimonials .focus-testimonials__actions{display:none!important}

/* FAQ */
.page-fabrica .faq-section{padding:88px var(--page) 110px;background:var(--fab-bg);color:var(--fab-ink);display:grid;grid-template-columns:.42fr 1fr;gap:7vw;border-top:1px solid var(--fab-line)}
.page-fabrica .faq-section__head h2{margin:18px 0 12px;font:720 clamp(44px,5vw,82px)/.9 var(--ui);letter-spacing:-.06em}.page-fabrica .faq-section__head p{color:var(--fab-muted);max-width:400px;font-size:13px}.page-fabrica .faq-list{border-top:1px solid var(--fab-line)}.page-fabrica .faq-item{border-bottom:1px solid var(--fab-line)}.page-fabrica .faq-item h3{margin:0}.page-fabrica .faq-item button{width:100%;padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border:0;background:transparent;color:var(--fab-ink);text-align:left;font:650 17px/1.2 var(--body)}.page-fabrica .faq-item button i{position:relative;width:18px;height:18px;flex:0 0 auto}.page-fabrica .faq-item button i::before,.page-fabrica .faq-item button i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .3s ease}.page-fabrica .faq-item button i::after{transform:translate(-50%,-50%) rotate(90deg)}.page-fabrica .faq-item.is-open button i::after{transform:translate(-50%,-50%) rotate(0)}.page-fabrica .faq-answer p{margin:0;padding:0 60px 24px 0;color:var(--fab-muted);font-size:14px;line-height:1.55}

/* Contact band / footer */
.fab-contact-band{margin:8px;border-radius:24px;padding:54px 48px;display:grid;grid-template-columns:1fr .7fr auto;gap:5vw;align-items:end;background:#090909;color:#fff}.fab-contact-band small{font:650 9px/1 var(--body);color:#aaa}.fab-contact-band h2{margin:10px 0 0;font:740 clamp(54px,6vw,96px)/.85 var(--ui);letter-spacing:-.07em}.fab-contact-band p{margin:0;color:#aaa;max-width:420px;font-size:13px}.fab-contact-band>a{display:flex;align-items:center;gap:28px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.5);font:700 10px/1 var(--body);text-transform:uppercase;white-space:nowrap}
.fab-footer{background:var(--fab-bg);color:var(--fab-ink);padding:72px var(--page) 24px;border-top:1px solid var(--fab-line)}.fab-footer__brand{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;padding-bottom:60px}.fab-footer__brand>a{font:750 clamp(58px,8vw,130px)/.8 var(--ui);letter-spacing:-.08em}.fab-footer__brand>a span{color:var(--ember-soft)}.fab-footer__brand p{margin:8px 0 0;color:var(--fab-muted);font-size:13px;line-height:1.5}.fab-footer__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:30px 0;border-top:1px solid var(--fab-line)}.fab-footer__grid>div{display:flex;flex-direction:column;gap:8px}.fab-footer__grid small{margin-bottom:8px;color:#999;font:700 9px/1 var(--body)}.fab-footer__grid a{font:600 12px/1.3 var(--body)}.fab-footer__bottom{display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid var(--fab-line);font:600 9px/1 var(--body);color:#888}

/* Work page */
.fab-work-page{padding-bottom:8px}.fab-work-grid{padding:56px var(--page) 96px}.fab-work-page .video-showcase{margin:8px;border-radius:24px;background:#111;color:#fff;padding:72px 0 82px;overflow:hidden}.fab-work-page .video-showcase__head{padding:0 var(--page);color:#fff}.fab-work-page .video-showcase__head h2{font-family:var(--ui);font-weight:730;letter-spacing:-.055em}.fab-work-page .video-showcase__head p{color:#aaa}.fab-work-page .video-slide-show{margin-top:40px}.fab-work-collabs{padding-top:92px}.fab-work-collabs .stacked-flow{margin:40px auto 0}.fab-work-collabs .stacked-flow__stage{min-height:520px}.fab-work-collabs .stacked-flow__card{border-radius:18px}

/* Services page */
.fab-services-page{padding-bottom:8px}.fab-services-index{margin:34px var(--page) 70px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--fab-line);border-radius:14px;overflow:hidden}.fab-services-index a{min-height:112px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--fab-line)}.fab-services-index a:last-child{border-right:0}.fab-services-index span{font:700 8px/1 var(--body);color:#999}.fab-services-index strong{font:680 18px/1 var(--ui);letter-spacing:-.04em}.fab-services-index small{font:600 9px/1 var(--body);color:var(--fab-muted)}
.fab-service-section{padding:86px var(--page) 100px;border-top:1px solid var(--fab-line);scroll-margin-top:64px}.fab-service-section--dark{margin:8px;border:0;border-radius:24px;background:#090909;color:#fff;padding-left:calc(var(--page) - 8px);padding-right:calc(var(--page) - 8px)}.fab-service-section__meta{display:flex;justify-content:space-between;margin-bottom:46px;font:700 9px/1 var(--body)}.fab-service-section__main{display:grid;grid-template-columns:1fr .34fr;gap:8vw;align-items:end;margin-bottom:42px}.fab-service-section__main h2{margin:0;font:730 clamp(56px,7vw,118px)/.84 var(--ui);letter-spacing:-.075em}.fab-service-section__main p{max-width:600px;color:var(--fab-muted);font-size:14px}.fab-service-section--dark .fab-service-section__main p{color:#aaa}.fab-service-section__main ul{margin:0;padding:0;list-style:none;font:600 11px/1.8 var(--body);color:var(--fab-muted)}.fab-service-section--dark .fab-service-section__main ul{color:#aaa}
.fab-service-media{position:relative;min-height:520px;border-radius:18px;overflow:hidden;background:#ddd}.fab-service-media img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:grayscale(.2) contrast(1.02)}.fab-service-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(0,0,0,.74))}.fab-service-media>div{position:absolute;z-index:2;left:26px;right:26px;bottom:26px;color:#fff;display:flex;justify-content:space-between;gap:24px;align-items:end}.fab-service-media span,.fab-service-media small{font:700 9px/1 var(--body);text-transform:uppercase}.fab-service-media strong{max-width:760px;font:650 clamp(26px,3vw,48px)/.98 var(--ui);letter-spacing:-.04em}.fab-service-media--project>div{display:block}.fab-service-media--project strong{display:block;margin:7px 0 10px;font-size:clamp(42px,5vw,82px)}
.fab-service-points{display:grid;grid-template-columns:repeat(3,1fr);margin:54px 0;border-top:1px solid currentColor}.fab-service-points article{min-height:210px;padding:16px 20px 18px 0;border-right:1px solid var(--fab-line)}.fab-service-section--dark .fab-service-points article{border-color:var(--fab-dark-line)}.fab-service-points article+article{padding-left:20px}.fab-service-points article:last-child{border-right:0}.fab-service-points span{font:700 8px/1 var(--body);color:#999}.fab-service-points h3{margin:54px 0 10px;font:680 28px/1 var(--ui)}.fab-service-points p{margin:0;color:var(--fab-muted);font-size:13px}.fab-service-section--dark .fab-service-points p{color:#aaa}
.fab-quote-card{margin:56px 0;display:grid;grid-template-columns:.34fr 1fr;gap:7vw;padding:36px;border-radius:16px;background:#e9e9e5}.fab-service-section--dark .fab-quote-card{background:#171717}.fab-quote-card small{font:700 9px/1 var(--body)}.fab-quote-card p{color:var(--fab-muted);font-size:13px}.fab-quote-card blockquote{margin:0;font:620 clamp(28px,3.2vw,54px)/1.02 var(--ui);letter-spacing:-.04em}.fab-quote-card cite{display:block;margin-top:20px;font:600 10px/1 var(--body);font-style:normal;color:var(--fab-muted)}

/* About */
.fab-about-intro{padding:78px var(--page) 100px;display:grid;grid-template-columns:.72fr 1fr;gap:7vw;align-items:start}.fab-about-intro__portrait{position:relative;margin:0;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#d6d6d0}.fab-about-intro__portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.fab-about-intro__copy{padding-top:8vh}.fab-about-intro__copy h2{margin:24px 0;font:730 clamp(54px,6.5vw,108px)/.86 var(--ui);letter-spacing:-.075em}.fab-about-intro__copy p{max-width:640px;color:var(--fab-muted);font-size:15px;line-height:1.55}.fab-about-intro__copy p+p{margin-top:18px}.fab-about-stats{padding:0 var(--page) 90px}.fab-about-view{padding:90px var(--page);border-top:1px solid var(--fab-line)}.fab-about-view__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--fab-line)}.fab-about-view__grid article{min-height:250px;padding:18px 22px 20px 0;border-right:1px solid var(--fab-line)}.fab-about-view__grid article+article{padding-left:22px}.fab-about-view__grid article:last-child{border-right:0}.fab-about-view__grid span{font:700 8px/1 var(--body);color:#999}.fab-about-view__grid h3{margin:70px 0 12px;font:680 30px/1 var(--ui);letter-spacing:-.04em}.fab-about-view__grid p{margin:0;color:var(--fab-muted);font-size:13px}.fab-about-quote{padding:90px var(--page);display:grid;grid-template-columns:.25fr 1fr;gap:7vw;border-top:1px solid var(--fab-line)}.fab-about-quote small{font:700 9px/1 var(--body)}.fab-about-quote blockquote{grid-column:2;margin:0;font:650 clamp(44px,5.5vw,92px)/.95 var(--ui);letter-spacing:-.065em}.fab-about-quote>span{grid-column:2;color:var(--fab-muted);font-size:12px}

/* Contact */
.fab-contact-page{padding-bottom:8px}.fab-contact-hero{min-height:calc(100svh - 60px);padding:72px var(--page) 82px;display:grid;grid-template-columns:.72fr 1fr;gap:7vw;align-items:start}.fab-contact-hero__intro{padding-top:5vh}.fab-contact-hero__intro>span{font:700 9px/1 var(--body)}.fab-contact-hero__intro h1{margin:18px 0 24px;font:760 clamp(82px,10vw,164px)/.76 var(--ui);letter-spacing:-.085em}.fab-contact-hero__intro>p{max-width:480px;color:var(--fab-muted);font-size:15px;line-height:1.5}.fab-contact-direct{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;font:650 10px/1 var(--body)}.fab-contact-direct a{border-bottom:1px solid var(--fab-ink);padding-bottom:7px}
.fab-contact-form{padding:24px;border-radius:20px;background:#0a0a0a;color:#fff}.fab-contact-form__top{display:flex;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--fab-dark-line);font:700 9px/1 var(--body)}.fab-intent{margin:26px 0 22px;padding:0;border:0}.fab-intent legend,.fab-message>span,.fab-contact-fields label>span{display:block;margin-bottom:10px;font:700 9px/1 var(--body);color:#aaa}.fab-contact-form .form-intent{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.fab-contact-form .form-intent button{min-height:42px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#151515;color:#fff;font:650 9px/1 var(--body)}.fab-contact-form .form-intent button.is-active{background:#fff;color:#090909}.fab-message{display:block}.fab-message textarea{width:100%;min-height:190px;padding:16px;border:1px solid var(--fab-dark-line);border-radius:12px;background:#111;color:#fff;resize:vertical;font:500 17px/1.45 var(--body)}.fab-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.fab-contact-fields label{display:block;padding:12px;border:1px solid var(--fab-dark-line);border-radius:10px;background:#111}.fab-contact-fields input,.fab-contact-fields select{width:100%;border:0;outline:0;background:transparent;color:#fff}.fab-contact-fields select option{color:#090909}.fab-contact-more{margin-top:10px;border-top:1px solid var(--fab-dark-line);padding-top:14px}.fab-contact-more summary{cursor:pointer;font:650 10px/1 var(--body)}.fab-contact-more summary span{color:#888}.fab-contact-submit{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;margin-top:24px}.fab-contact-submit p{margin:0;color:#888;font-size:10px;max-width:360px}.fab-contact-submit a{text-decoration:underline}.fab-contact-submit button{border:0;border-radius:999px;padding:13px 18px;background:#fff;color:#090909;font:700 10px/1 var(--body);text-transform:uppercase}.fab-contact-submit .form-status{grid-column:1/-1}

/* Project */
.fab-project-page{padding-bottom:8px}.fab-project-title{padding:88px var(--page) 52px;display:grid;grid-template-columns:.18fr 1fr .38fr;gap:4vw;align-items:end;border-bottom:1px solid var(--fab-line)}.fab-project-title>a{align-self:start;font:650 10px/1 var(--body)}.fab-project-title span{font:700 9px/1 var(--body)}.fab-project-title h1{margin:12px 0 0;font:760 clamp(72px,9.8vw,160px)/.75 var(--ui);letter-spacing:-.08em}.fab-project-title>p{margin:0;color:var(--fab-muted);font-size:14px;line-height:1.5}.fab-project-film{padding:40px var(--page) 100px}.fab-project-film .project-player{aspect-ratio:16/8.6;border-radius:18px;overflow:hidden}.fab-project-film .external-media__gate{color:#fff}.fab-project-film .external-media__gate h2{font-family:var(--ui);font-weight:720;letter-spacing:-.06em}.fab-project-film .hold-confirm{position:relative;min-width:170px;padding:13px 16px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:#fff;color:#090909;font:700 9px/1 var(--body)}.fab-project-meta-head{display:flex;justify-content:space-between;padding:18px 0 10px;font:700 9px/1 var(--body)}.fab-project-film .project-meta-list{display:grid;grid-template-columns:repeat(6,1fr);margin:0;border-top:1px solid var(--fab-line);border-left:1px solid var(--fab-line)}.fab-project-film .project-meta-list>div{min-height:104px;padding:14px;border-right:1px solid var(--fab-line);border-bottom:1px solid var(--fab-line)}.fab-project-film .project-meta-list dt{font:700 8px/1 var(--body);color:#999;text-transform:uppercase}.fab-project-film .project-meta-list dd{margin:32px 0 0;font:650 12px/1.25 var(--body)}
.fab-project-story{padding:90px var(--page) 100px;border-top:1px solid var(--fab-line)}.fab-project-story__statement{display:grid;grid-template-columns:.3fr 1fr;gap:6vw;margin:90px 0 56px}.fab-project-story__statement span{font:700 9px/1 var(--body)}.fab-project-story__statement h3{margin:0;font:720 clamp(54px,6.5vw,108px)/.86 var(--ui);letter-spacing:-.07em}.fab-project-decisions{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--fab-line)}.fab-project-decisions article{min-height:290px;padding:18px 22px 22px 0;border-right:1px solid var(--fab-line)}.fab-project-decisions article+article{padding-left:22px}.fab-project-decisions article:last-child{border-right:0}.fab-project-decisions span{font:700 8px/1 var(--body);color:#999}.fab-project-decisions h3{margin:80px 0 12px;font:670 30px/1 var(--ui);letter-spacing:-.04em}.fab-project-decisions p{margin:0;color:var(--fab-muted);font-size:13px;line-height:1.55}.fab-project-next{margin:8px;padding:52px 48px;border-radius:24px;background:#090909;color:#fff}.fab-project-next header{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.fab-project-next header h2{margin:0;font:720 clamp(54px,6vw,100px)/.82 var(--ui);letter-spacing:-.07em}.fab-project-next>a{display:grid;grid-template-columns:60px 1fr auto;align-items:center;padding:22px 0;border-top:1px solid var(--fab-dark-line)}.fab-project-next>a strong{font:650 clamp(22px,2.6vw,40px)/1 var(--ui);letter-spacing:-.04em}.fab-project-next>a b{font-size:22px}

/* Journal & legal are pulled into the same language. */
.page-journal main,.page-legal main{padding-top:52px;background:var(--fab-bg);color:var(--fab-ink)}
.page-journal .journal-hero{min-height:430px;padding:96px var(--page) 48px;background:transparent;color:var(--fab-ink);border-bottom:1px solid var(--fab-line)}.page-journal .journal-hero h1{margin:20px 0;font:740 clamp(72px,9vw,150px)/.78 var(--ui);letter-spacing:-.08em}.page-journal .journal-hero h1 em{font-style:normal;color:var(--fab-ink)}.page-journal .journal-hero p{color:var(--fab-muted);max-width:520px}.page-journal .journal-stack{padding:50px var(--page) 90px;background:transparent}.page-journal .journal-stack article{display:grid;grid-template-columns:70px .3fr 1fr .55fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--fab-line);color:var(--fab-ink)}.page-journal .journal-stack h2{margin:0;font:680 clamp(28px,3vw,52px)/.95 var(--ui);letter-spacing:-.05em}.page-journal .journal-stack p{margin:0;color:var(--fab-muted);font-size:13px}.page-journal .journal-bridge{margin:8px;padding:52px 48px;background:#090909;color:#fff;border-radius:24px}
.page-legal .legal-page-shell{padding:96px var(--page) 90px;display:grid;grid-template-columns:210px minmax(0,860px);gap:6vw;justify-content:center}.page-legal .legal-tabs{position:sticky;top:84px;height:max-content;display:flex;flex-direction:column;border:1px solid var(--fab-line);border-radius:12px;overflow:hidden;background:var(--fab-card)}.page-legal .legal-tabs a{padding:12px;border-bottom:1px solid var(--fab-line);font:650 10px/1 var(--body)}.page-legal .legal-tabs a:last-child{border-bottom:0}.page-legal .legal-content{padding:0;background:transparent;color:var(--fab-ink);box-shadow:none}.page-legal .legal-content h1{margin:18px 0 70px;font:740 clamp(58px,7vw,104px)/.84 var(--ui);letter-spacing:-.07em}.page-legal .legal-content h2{margin:46px 0 12px;font:680 24px/1 var(--ui)}.page-legal .legal-content p,.page-legal .legal-content li{color:#54544f;font-size:14px;line-height:1.65}.page-legal .legal-content a{text-decoration:underline}
.page-404 main{padding-top:52px}.page-404 .not-found{background:var(--fab-bg);color:var(--fab-ink)}

/* Vertical TOC stays left but visually belongs to the system. */
.page-fabrica .line-toc{left:14px;background:rgba(246,246,243,.92);color:var(--fab-ink);border:1px solid var(--fab-line);box-shadow:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.page-fabrica .line-toc__line i{background:var(--fab-ink)}

/* Responsive */
@media(max-width:980px){
  .site-header.fab-header{grid-template-columns:1fr auto}.fab-nav{display:none}.fab-menu-button{display:flex;grid-column:2}.fab-brand{grid-column:1}
  .fab-hero{min-height:calc(100svh - 68px)}.fab-hero__wordmark{top:8vh;left:18px;font-size:clamp(66px,14vw,120px)}.fab-hero__wordmark small{display:block;position:absolute;left:4px;top:calc(100% + 18px);margin:0;font-size:18px}.fab-hero__services{right:22px;top:36vh}.fab-hero__statement{left:22px;bottom:28px;width:min(360px,50vw)}.fab-hero__contact{right:18px;bottom:18px}.fab-hero__copyright{display:none}
  .fab-section-heading,.fab-page-title,.fab-proof,.fab-contact-hero,.fab-about-quote{grid-template-columns:1fr;gap:28px}.fab-page-title{min-height:330px}.fab-page-title p{max-width:560px}
  .fab-service-row{grid-template-columns:52px 1fr 180px 22px}.fab-service-row ul{display:none}.fab-service-row figure{width:180px}.fab-proof .animated-stats__track,.fab-about-stats .animated-stats__track{grid-template-columns:repeat(2,1fr)}
  .fab-service-section__main{grid-template-columns:1fr .42fr}.fab-project-film .project-meta-list{grid-template-columns:repeat(3,1fr)}
  .fab-contact-band{grid-template-columns:1fr auto}.fab-contact-band p{grid-column:1}.fab-contact-band>a{grid-column:2;grid-row:1/3;align-self:center}
}

@media(max-width:720px){
  :root{--page:16px}.site-header.fab-header{height:56px;padding:0 16px}.page-fabrica main,.page-journal main,.page-legal main{padding-top:56px}
  body::after{opacity:.04}
  .fab-preloader__mark{font-size:16vw}.fab-preloader__meta{left:16px;right:16px;bottom:18px}.fab-preloader__meta span{max-width:190px}
  .fab-hero{margin:6px;border-radius:18px;min-height:calc(100svh - 68px)}.fab-hero__wordmark{top:7vh;left:14px;font-size:19vw;letter-spacing:-.09em}.fab-hero__wordmark small{font-size:14px;top:calc(100% + 12px)}.fab-hero__services{top:31vh;right:16px;font-size:9px;line-height:1.6}.fab-hero__statement{left:16px;right:16px;bottom:104px;width:auto;font-size:11px;max-width:310px}.fab-hero__contact{left:14px;right:14px;bottom:14px;grid-template-columns:42px 1fr auto}.fab-hero__avatar{width:42px;height:42px}.fab-cross{display:none}
  .fab-clients{padding:30px 12px 54px}.fab-client-grid{grid-template-columns:1fr 1fr}.fab-client-grid>div{border-bottom:1px solid var(--fab-line)}.fab-client-grid>div:nth-child(2){border-right:0}.fab-client-grid>div:nth-last-child(-n+2){border-bottom:0}
  .fab-projects,.fab-work-page,.fab-work-collabs,.fab-services,.fab-about-view,.fab-project-story{padding-left:16px;padding-right:16px}.fab-section-heading h2{font-size:18vw}.fab-project-grid,.fab-work-grid{grid-template-columns:1fr;gap:26px}.fab-project-card__meta{grid-template-columns:1fr auto}.fab-project-card__meta i{grid-column:1/-1;margin-top:-8px}.fab-project-card figure{aspect-ratio:1.28}
  .fab-proof{padding:62px 16px}.fab-proof__intro h2{font-size:13vw}.fab-proof .animated-stats__track,.fab-about-stats .animated-stats__track{grid-template-columns:1fr 1fr}.fab-proof [data-stat-card],.fab-about-stats [data-stat-card]{min-height:132px;padding:14px}.fab-proof [data-stat-card] strong,.fab-about-stats [data-stat-card] strong{font-size:11vw}
  .fab-service-row{grid-template-columns:38px 1fr 22px;gap:12px;min-height:150px}.fab-service-row figure,.fab-service-row ul{display:none}.fab-service-row h3{font-size:8.5vw}.fab-service-row p{font-size:12px}.fab-service-row:hover{padding-left:4px;padding-right:4px;background:transparent}
  .fab-process{margin:6px;padding:54px 16px;border-radius:18px}.fab-process__head{display:block}.fab-process__head h2{font-size:17vw;margin:22px 0}.fab-process__head p{max-width:100%}.fab-process__visual{width:100%;margin:42px 0}.fab-process__steps{grid-template-columns:1fr}.fab-process__steps article,.fab-process__steps article:nth-child(2),.fab-process__steps article:last-child{min-height:130px;padding:14px 0;border-right:0;border-bottom:1px solid var(--fab-dark-line)}.fab-process__steps article:last-child{border-bottom:0}.fab-process__steps strong{margin:28px 0 8px}
  .fab-testimonials{padding:62px 16px}.fab-testimonials .focus-testimonials__stream{grid-template-columns:1fr}.fab-testimonials .focus-testimonials__stream>button{min-height:180px;border-right:0}.fab-testimonials .focus-testimonials__stream>button span{font-size:8vw}
  .page-fabrica .faq-section{padding:62px 16px;grid-template-columns:1fr;gap:28px}.page-fabrica .faq-section__head h2{font-size:12vw}
  .fab-contact-band{margin:6px;padding:38px 20px;display:block;border-radius:18px}.fab-contact-band h2{font-size:15vw}.fab-contact-band p{margin:18px 0 26px}.fab-contact-band>a{display:inline-flex}
  .fab-footer{padding:52px 16px 18px}.fab-footer__brand{display:block;padding-bottom:38px}.fab-footer__brand>a{font-size:18vw}.fab-footer__brand p{margin-top:20px}.fab-footer__grid{grid-template-columns:1fr 1fr;gap:32px}.fab-footer__bottom{gap:16px;flex-direction:column}
  .fab-page-title{min-height:280px;padding:64px 16px 36px}.fab-page-title h1{font-size:20vw}.fab-page-title span{top:-10px}
  .fab-work-grid{padding:36px 16px 64px}.fab-work-page .video-showcase{margin:6px;border-radius:18px;padding:52px 0 64px}.fab-work-page .video-showcase__head{padding:0 16px}.fab-work-collabs{padding-top:62px}
  .fab-services-index{margin:24px 12px 50px;grid-template-columns:1fr}.fab-services-index a{min-height:92px;border-right:0;border-bottom:1px solid var(--fab-line)}.fab-services-index a:last-child{border-bottom:0}.fab-service-section{padding:58px 16px 70px}.fab-service-section--dark{margin:6px;border-radius:18px;padding:58px 16px 70px}.fab-service-section__main{grid-template-columns:1fr;gap:22px}.fab-service-section__main h2{font-size:15vw}.fab-service-section__main ul{display:flex;gap:8px;flex-wrap:wrap;font-size:9px}.fab-service-section__main ul li{padding:7px 9px;border:1px solid currentColor;border-radius:999px}.fab-service-media{min-height:360px}.fab-service-media>div{left:16px;right:16px;bottom:16px;display:block}.fab-service-media strong{display:block;margin-top:8px;font-size:7vw}.fab-service-points{grid-template-columns:1fr;margin:36px 0}.fab-service-points article,.fab-service-points article+article{min-height:150px;padding:14px 0;border-right:0;border-bottom:1px solid var(--fab-line)}.fab-service-section--dark .fab-service-points article{border-color:var(--fab-dark-line)}.fab-service-points h3{margin:30px 0 8px}.fab-quote-card{grid-template-columns:1fr;padding:22px;gap:20px}.fab-quote-card blockquote{font-size:8vw}
  .fab-about-intro{padding:52px 16px 70px;grid-template-columns:1fr;gap:34px}.fab-about-intro__portrait{width:min(84vw,420px);margin:auto}.fab-about-intro__copy{padding-top:0}.fab-about-intro__copy h2{font-size:14vw}.fab-about-stats{padding:0 16px 62px}.fab-about-view__grid{grid-template-columns:1fr}.fab-about-view__grid article,.fab-about-view__grid article+article{min-height:170px;padding:14px 0;border-right:0;border-bottom:1px solid var(--fab-line)}.fab-about-view__grid h3{margin:36px 0 10px}.fab-about-quote{padding:62px 16px}.fab-about-quote blockquote{grid-column:1;font-size:11vw}.fab-about-quote>span{grid-column:1}
  .fab-contact-hero{padding:52px 16px 70px;grid-template-columns:1fr}.fab-contact-hero__intro{padding-top:0}.fab-contact-hero__intro h1{font-size:20vw}.fab-contact-form{padding:16px}.fab-contact-form .form-intent{grid-template-columns:1fr 1fr}.fab-message textarea{min-height:150px}.fab-contact-fields{grid-template-columns:1fr}.fab-contact-submit{grid-template-columns:1fr}.fab-contact-submit button{width:100%;margin-top:8px}
  .fab-project-title{padding:66px 16px 34px;grid-template-columns:1fr;gap:18px}.fab-project-title>a{margin-bottom:12px}.fab-project-title h1{font-size:17vw}.fab-project-film{padding:24px 12px 64px}.fab-project-film .project-player{aspect-ratio:16/10;border-radius:14px}.fab-project-film .project-meta-list{grid-template-columns:1fr 1fr}.fab-project-story__statement{grid-template-columns:1fr;gap:18px;margin:58px 0 36px}.fab-project-story__statement h3{font-size:13vw}.fab-project-decisions{grid-template-columns:1fr}.fab-project-decisions article,.fab-project-decisions article+article{min-height:180px;padding:14px 0;border-right:0;border-bottom:1px solid var(--fab-line)}.fab-project-decisions h3{margin:40px 0 10px}.fab-project-next{margin:6px;padding:38px 18px;border-radius:18px}.fab-project-next header{display:block}.fab-project-next header h2{font-size:14vw;margin-top:10px}.fab-project-next>a{grid-template-columns:38px 1fr auto}.fab-project-next>a strong{font-size:6vw}
  .page-journal .journal-hero{min-height:300px;padding:64px 16px 34px}.page-journal .journal-hero h1{font-size:18vw}.page-journal .journal-stack{padding:30px 16px 64px}.page-journal .journal-stack article{grid-template-columns:38px 1fr;gap:16px}.page-journal .journal-stack article small{grid-column:2}.page-journal .journal-stack h2{grid-column:2;font-size:8vw}.page-journal .journal-stack p{grid-column:2}.page-journal .journal-bridge{margin:6px;padding:34px 18px}
  .page-legal .legal-page-shell{padding:70px 16px 64px;display:block}.page-legal .legal-tabs{position:static;display:flex;flex-direction:row;overflow-x:auto;margin-bottom:36px}.page-legal .legal-tabs a{flex:0 0 auto;border-bottom:0;border-right:1px solid var(--fab-line)}.page-legal .legal-content h1{font-size:14vw;margin-bottom:50px}.page-fabrica .line-toc{display:none}
}

@media(prefers-reduced-motion:reduce){.fab-hero__media>img{animation:none}.fab-preloader__line{animation:none}.brand-preloader.fab-preloader{animation:none}}

/* =========================================================
   V14 — FABRICA STRUCTURE × NOLAN ARC DA
   Fabrica keeps the information architecture and spacing grammar.
   Nolan Arc owns the palette, typography, glass depth and signature components.
   ========================================================= */

:root{
  --fab-bg:var(--paper);
  --fab-card:#f7f0e7;
  --fab-ink:var(--ink);
  --fab-muted:#776d63;
  --fab-line:rgba(8,7,6,.13);
  --fab-dark-line:rgba(240,235,226,.15);
  --fab-radius:24px;
  --fab-radius-lg:36px;
}

body.page-fabrica,
body.page-legal,
body.page-journal,
body.page-404{background:var(--paper);color:var(--ink)}
body::after{opacity:.07;mix-blend-mode:multiply}

/* Typography: Yrsa = voice / image, Syne = structure / UI, DM Sans = reading. */
.fab-hero__wordmark,
.fab-section-heading h2,
.fab-page-title h1,
.fab-proof__intro h2,
.fab-service-section__main h2,
.fab-about-intro__copy h2,
.fab-project-title h1,
.fab-project-story__statement h3,
.fab-contact-band h2,
.fab-about-quote blockquote,
.fab-quote-card blockquote{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}
.fab-hero__wordmark{letter-spacing:-.055em}
.fab-section-heading h2,.fab-page-title h1{line-height:.82}
.fab-section-meta,.fab-dot-label,.fab-project-card__meta,.fab-service-row>span,.fab-service-section__meta,.fab-nav__link,.line-toc,.eyebrow{font-family:var(--ui)}
.fab-service-row h3,.fab-service-points h3,.fab-about-view__grid h3,.fab-process__steps strong{font-family:var(--ui);letter-spacing:-.035em}

/* Header returns to the Nolan Arc floating glass language. */
.site-header.fab-header,
.site-header.fab-header.is-scrolled{
  top:10px;left:14px;width:calc(100% - 28px);height:62px;padding:0 20px;
  border:1px solid rgba(240,235,226,.12);border-radius:20px;
  background:rgba(10,9,8,.72);color:var(--paper);
  box-shadow:0 14px 48px rgba(0,0,0,.24);
  backdrop-filter:blur(24px) saturate(1.18);-webkit-backdrop-filter:blur(24px) saturate(1.18)
}
.fab-brand{font:500 23px/1 var(--serif);color:var(--paper)}
.fab-brand b{color:var(--ember-soft)}
.fab-nav__link,.fab-nav__contact{color:var(--paper);font-family:var(--ui);text-transform:uppercase;letter-spacing:.08em;opacity:.72}
.fab-nav__link:hover,.fab-nav__link.is-active{opacity:1}
.fab-nav__link::after{background:var(--ember-soft)}
.fab-menu-button{color:var(--paper);font-family:var(--ui)}
body.menu-open .site-header.fab-header{background:rgba(8,7,6,.86)!important;color:var(--paper)!important;border-color:rgba(240,235,226,.12)!important;backdrop-filter:blur(24px)!important}

/* Mobile menu: same identity as desktop, not an unrelated light canvas. */
.fab-mobile-menu{background:radial-gradient(circle at 82% 9%,rgba(204,70,12,.19),transparent 28%),rgba(8,7,6,.95);color:var(--paper);backdrop-filter:blur(28px) saturate(1.15);-webkit-backdrop-filter:blur(28px) saturate(1.15)}
.fab-mobile-menu__inner>a{color:var(--paper);border-color:rgba(240,235,226,.12);font:500 clamp(44px,14vw,76px)/.92 var(--serif);letter-spacing:-.035em}
.fab-mobile-menu__inner small{font-family:var(--ui);color:var(--ember-soft)}
.fab-mobile-menu .mobile-menu__meta{color:rgba(240,235,226,.62)}

/* Mobile dock: a component the user already validated. */
.mobile-tabs{display:none}

/* Hero keeps Fabrica composition, but Nolan Arc owns its surface and typography. */
.fab-hero{background:var(--ink);border-radius:34px;box-shadow:var(--shadow)}
.fab-hero__media>img{filter:saturate(.55) contrast(1.08) brightness(.58)}
.fab-hero__veil{background:linear-gradient(180deg,rgba(8,7,6,.08),rgba(8,7,6,.2) 48%,rgba(8,7,6,.78)),radial-gradient(circle at 72% 28%,rgba(233,119,54,.14),transparent 31%),linear-gradient(90deg,rgba(8,7,6,.5),transparent 54%)}
.fab-hero .gradient-motion-bg{opacity:.46;mix-blend-mode:screen}
.fab-hero__wordmark{font-weight:500;color:var(--paper)}
.fab-hero__wordmark b{font-weight:500;color:var(--ember-soft)}
.fab-hero__wordmark small{font-family:var(--ui);font-weight:500;letter-spacing:.02em;text-transform:uppercase}
.fab-hero__services{font-family:var(--ui);text-transform:uppercase;letter-spacing:.08em;color:rgba(240,235,226,.72)}
.fab-hero__statement{font-size:13px;color:rgba(240,235,226,.82)}
.fab-hero__contact{border:1px solid rgba(240,235,226,.18);border-radius:20px;background:rgba(16,13,11,.66);color:var(--paper);box-shadow:0 18px 52px rgba(0,0,0,.28);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.fab-hero__avatar{border-radius:14px;background:rgba(240,235,226,.11);color:var(--paper);font-family:var(--serif)}
.fab-hero__contact small{color:rgba(240,235,226,.56)}.fab-hero__contact a{background:var(--paper);color:var(--ink)}

/* Paper sections stay warm; cards carry rounded / glass-like depth instead of hard SaaS cells. */
.page-fabrica main{background:var(--paper);color:var(--ink)}
.fab-client-grid{border-color:rgba(8,7,6,.1);border-radius:26px;background:rgba(255,255,255,.26);box-shadow:0 20px 60px rgba(70,48,34,.08);backdrop-filter:blur(10px)}
.fab-client-grid>div{border-color:rgba(8,7,6,.09)}
.fab-client-grid strong{font-family:var(--ui);font-weight:600}
.fab-project-card figure{border-radius:28px;box-shadow:0 20px 58px rgba(73,49,31,.1)}
.fab-project-card figure>span{background:rgba(8,7,6,.72);color:var(--paper);border:1px solid rgba(240,235,226,.18);backdrop-filter:blur(16px)}
.fab-service-row{border-color:rgba(8,7,6,.11);border-radius:22px;margin:6px 0;padding-left:18px;padding-right:18px}
.fab-service-row:hover{background:rgba(255,255,255,.34);box-shadow:0 18px 58px rgba(73,49,31,.07)}
.fab-service-row figure{border-radius:20px}
.fab-arrow-link{border-color:var(--ember);font-family:var(--ui)}

/* Proof + Animated Stats Pro: preserve scroll animation and make the module unmistakably Nolan Arc. */
.fab-proof{border-color:rgba(8,7,6,.11)}
.fab-proof .animated-stats,.fab-about-stats .animated-stats{border:1px solid rgba(8,7,6,.1);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.52),rgba(255,255,255,.18));box-shadow:0 24px 68px rgba(73,49,31,.09);backdrop-filter:blur(16px)}
.fab-proof .animated-stats__track,.fab-about-stats .animated-stats__track{border:0}
.fab-proof [data-stat-card],.fab-about-stats [data-stat-card]{border-color:rgba(8,7,6,.09)}
.fab-proof [data-stat-card] strong,.fab-about-stats [data-stat-card] strong{font-family:var(--serif);font-weight:500;letter-spacing:-.04em}
.fab-proof [data-stat-card] strong span,.fab-about-stats [data-stat-card] strong span{color:var(--ember)}

/* Process / Glass Showcase stays the cinematic dark room of the system. */
.fab-process{background:radial-gradient(circle at 70% 20%,rgba(204,70,12,.11),transparent 30%),var(--ink);border-radius:38px;color:var(--paper);box-shadow:var(--shadow)}
.fab-process__head h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}
.fab-process__steps strong{color:var(--paper)}

/* Focus Testimonials returns to the fluid component language instead of Fabrica grid cards. */
.fab-testimonials{padding:clamp(78px,8vw,124px) var(--page);background:var(--ink);color:var(--paper)}
.fab-testimonials .fab-section-heading{color:var(--paper)}
.fab-testimonials .fab-section-heading>p{color:rgba(240,235,226,.58)}
.fab-testimonials .focus-testimonials{padding:0;background:transparent;color:var(--paper)}
.fab-testimonials .focus-testimonials__stream{display:block;max-width:1380px;border:0;font:400 clamp(34px,4.2vw,66px)/1.08 var(--serif);letter-spacing:-.025em}
.fab-testimonials .focus-testimonials__stream>button{display:inline!important;min-height:0;padding:5px 5px;border:0!important;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;cursor:default;opacity:1;transition:opacity .32s var(--ease),filter .32s var(--ease),transform .32s var(--ease)}
.fab-testimonials .focus-testimonials__stream>button span{font:inherit;letter-spacing:inherit}
.fab-testimonials .focus-testimonials__stream.has-focus>button:not(.is-focused){opacity:.2!important;filter:blur(2.5px)!important}
.fab-testimonials .focus-testimonials__stream>button.is-focused{opacity:1!important;filter:none!important;transform:translateY(-2px)}
.fab-testimonials .focus-testimonials__author{display:block;margin:8px 0 20px;color:var(--ember-soft);font:650 9px/1.3 var(--ui);letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity .25s}
.fab-testimonials .focus-testimonials__stream>button.is-focused .focus-testimonials__author{opacity:1}
.fab-testimonials .focus-testimonials__sep{display:inline!important;color:rgba(240,235,226,.18);padding:0 7px}
.fab-testimonials .focus-testimonials__actions{display:flex!important;justify-content:center;margin-top:38px}.fab-testimonials .focus-testimonials__actions button{border:1px solid rgba(240,235,226,.14);border-radius:999px;padding:13px 18px;background:rgba(255,255,255,.05);color:var(--paper);font:700 9px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase}

/* Services and project pages use the same warm-paper / dark-room cadence. */
.fab-service-section{background:var(--paper)}
.fab-service-section--dark{background:radial-gradient(circle at 76% 14%,rgba(204,70,12,.1),transparent 28%),var(--ink);color:var(--paper);border-radius:38px;margin:8px}
.fab-service-media{border-radius:30px}.fab-service-points article{border-color:rgba(8,7,6,.1)}
.fab-service-section--dark .fab-service-points article{border-color:rgba(240,235,226,.12)}
.fab-quote-card{border-radius:28px;background:rgba(255,255,255,.28);box-shadow:0 20px 60px rgba(73,49,31,.07)}
.fab-service-section--dark .fab-quote-card{background:rgba(255,255,255,.055);border:1px solid rgba(240,235,226,.1)}
.fab-project-film .project-player{border-radius:30px;box-shadow:0 30px 90px rgba(49,30,19,.15)}
.fab-project-next{border-radius:34px}

/* About: personal/editorial rather than agency-neutral. */
.fab-about-intro__portrait{border-radius:34px;overflow:hidden;box-shadow:0 26px 80px rgba(64,42,27,.15)}
.fab-about-view__grid article{border-color:rgba(8,7,6,.1)}
.fab-about-quote{background:var(--ink);color:var(--paper);border-radius:38px;margin:8px}
.fab-about-quote small,.fab-about-quote>span{color:rgba(240,235,226,.58)}
.fab-about-quote blockquote{color:var(--paper)}

/* Contact: V11 composer restored on top of the Fabrica information architecture. */
.page-contact.page-fabrica main{padding-top:0;background:linear-gradient(180deg,#d9d1c8,#efe9e0)}
.page-contact .contact-composer{padding-top:calc(82px + clamp(42px,6vh,86px))}
.page-contact .faq-section{background:linear-gradient(180deg,#efe9e0,#e7ddd1)}

/* Footer follows the warm dark identity. */
.fab-footer{background:var(--ink);color:var(--paper)}
.fab-footer__brand>a{font-family:var(--serif);font-weight:500}.fab-footer__brand>a span{color:var(--ember-soft)}
.fab-footer small,.fab-footer__brand p,.fab-footer__bottom{color:rgba(240,235,226,.55)}

/* Vertical TOC remains a signature glass navigation on desktop. */
.page-fabrica .line-toc{left:14px;background:rgba(12,10,9,.72);color:var(--paper);border:1px solid rgba(240,235,226,.12);box-shadow:0 18px 56px rgba(0,0,0,.24);backdrop-filter:blur(20px) saturate(1.15);-webkit-backdrop-filter:blur(20px) saturate(1.15)}
.page-fabrica .line-toc__line i{background:var(--ember-soft)}

/* Legal pages: same typography and palette, quieter motion. */
.page-legal .legal-content h1,.page-legal .legal-content h2{font-family:var(--serif)}
.page-legal .legal-tabs{border-radius:24px;overflow:hidden;background:rgba(255,255,255,.28)}

@media(max-width:980px){
  .site-header.fab-header,.site-header.fab-header.is-scrolled{top:8px;left:10px;width:calc(100% - 20px);height:58px;padding:0 14px;border-radius:18px;grid-template-columns:1fr auto}
  .fab-menu-button{display:flex;grid-column:2;justify-self:end}
  .fab-brand{grid-column:1}
  .fab-mobile-menu{padding-top:92px;padding-bottom:104px}
}

@media(max-width:720px){
  body{padding-bottom:82px}
  :root{--page:16px}
  .site-header.fab-header,.site-header.fab-header.is-scrolled{height:56px}
  .fab-brand{font-size:21px}.fab-menu-button{padding-right:2px}
  .page-fabrica main,.page-journal main,.page-legal main{padding-top:74px}
  .fab-hero{margin:8px;border-radius:24px;min-height:calc(100svh - 96px)}
  .fab-hero__wordmark{font-size:18vw;top:8vh;left:16px;letter-spacing:-.055em}
  .fab-hero__wordmark small{font-family:var(--ui);font-size:12px;letter-spacing:.08em}
  .fab-hero__services{top:30vh;right:18px;font-size:8px}
  .fab-hero__statement{bottom:112px;font-size:12px;line-height:1.45}
  .fab-hero__contact{left:14px;right:14px;bottom:14px;border-radius:18px}
  .fab-section-heading h2,.fab-page-title h1{font-family:var(--serif);font-weight:500;letter-spacing:-.045em}
  .fab-section-heading h2{font-size:17vw}.fab-page-title h1{font-size:19vw}
  .fab-project-card figure{border-radius:24px}
  .fab-service-row{border-radius:20px;padding-left:10px;padding-right:10px}
  .fab-process,.fab-service-section--dark,.fab-about-quote{border-radius:26px;margin:8px}
  .fab-testimonials{padding:64px 16px}.fab-testimonials .focus-testimonials__stream{font-size:9vw;line-height:1.13}.fab-testimonials .focus-testimonials__author{font-size:8px}
  .page-contact .contact-composer{padding-top:92px;padding-left:12px;padding-right:12px;padding-bottom:48px}.page-contact .contact-composer__intro h1{font-size:13vw}.page-contact .contact-form{border-radius:28px}
  .page-contact .faq-section{padding-bottom:104px}
  .fab-footer{padding-bottom:104px}
  .page-fabrica .line-toc{display:none}

  .mobile-tabs{position:fixed;z-index:195;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));height:64px;padding:6px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(240,235,226,.15);border-radius:22px;background:rgba(12,10,9,.78);box-shadow:0 18px 55px rgba(0,0,0,.42);backdrop-filter:blur(24px) saturate(1.2);-webkit-backdrop-filter:blur(24px) saturate(1.2)}
  .mobile-tabs a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px;color:rgba(240,235,226,.52);transition:background .25s,color .25s,transform .25s}
  .mobile-tabs a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
  .mobile-tabs a small{font:700 8px/1 var(--ui);letter-spacing:.04em;white-space:nowrap}
  .mobile-tabs a.is-active{background:rgba(240,235,226,.1);color:var(--paper)}.mobile-tabs a.is-active svg{color:var(--ember-soft)}.mobile-tabs a:active{transform:scale(.97)}
}

@media(max-width:430px){
  .fab-hero__services{display:none}
  .fab-hero__statement{max-width:260px}
  .fab-client-grid{grid-template-columns:1fr 1fr}
  .fab-proof .animated-stats__track,.fab-about-stats .animated-stats__track{grid-template-columns:1fr}.fab-proof [data-stat-card],.fab-about-stats [data-stat-card]{min-height:112px}
  .contact-fields{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){.fab-testimonials .focus-testimonials__stream>button{transition:none}.mobile-tabs a{transition:none}}

/* ========================================================================== */
/* V15 — Fabrica structure × Nolan Arc system polish                          */
/* ========================================================================== */

/* Minimal branded preloader: entrance → hold → fade, no counter or fake load. */
.logo-preloader{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;background:var(--ink);color:var(--paper);overflow:hidden;transition:opacity .48s var(--ease),visibility .48s var(--ease);animation:v15PreloaderFailSafe 1.35s linear forwards}
.logo-preloader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.logo-preloader__grain{position:absolute;inset:-20%;opacity:.13;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");animation:v15Grain .22s steps(2) infinite}
.logo-preloader__halo{position:absolute;width:min(560px,72vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(233,119,54,.12),rgba(240,235,226,.055) 34%,transparent 70%);filter:blur(18px);opacity:0;transform:scale(.78);animation:v15LoaderHalo .7s var(--ease) .03s forwards}
.logo-preloader__mark{position:relative;display:flex;align-items:baseline;gap:.06em;font:500 clamp(58px,8vw,132px)/.88 var(--serif);letter-spacing:-.035em;opacity:0;filter:blur(8px);transform:translateY(24px) scale(.965);animation:v15LoaderMark .62s var(--ease) .06s forwards}
.logo-preloader__mark b{font-weight:500;color:var(--ember-soft)}
@keyframes v15LoaderMark{to{opacity:1;filter:none;transform:none}}
@keyframes v15LoaderHalo{to{opacity:1;transform:scale(1)}}
@keyframes v15Grain{50%{transform:translate3d(1.5%,-1%,0)}}
@keyframes v15PreloaderFailSafe{0%,72%{opacity:1;visibility:visible;pointer-events:auto}99%{opacity:0;visibility:visible;pointer-events:none}100%{opacity:0;visibility:hidden;pointer-events:none}}

/* Custom cursor — desktop/fine pointer only. */
.custom-cursor{display:none;position:fixed;z-index:9998;left:0;top:0;width:22px;height:22px;border-radius:7px;background:var(--ember-soft);border:1px solid var(--ember-soft);pointer-events:none;transform:translate3d(-100px,-100px,0);transition:width .24s var(--ease),height .24s var(--ease),border-radius .24s var(--ease),background .24s,border-color .24s,opacity .2s;mix-blend-mode:normal;will-change:transform}
.custom-cursor i{position:absolute;inset:5px;border-radius:3px;border:1px solid rgba(240,235,226,.48);opacity:.46;transition:opacity .2s}
.has-custom-cursor,.has-custom-cursor a,.has-custom-cursor button,.has-custom-cursor input,.has-custom-cursor textarea,.has-custom-cursor select,.has-custom-cursor summary{cursor:none!important}
.has-custom-cursor .custom-cursor{display:block}
.custom-cursor.is-interactive{width:34px;height:34px;border-radius:11px;background:rgba(233,119,54,.04);border-color:rgba(233,119,54,.9)}
.custom-cursor.is-interactive i{opacity:0}
.custom-cursor.is-pressed{width:18px;height:18px;border-radius:6px}

/* Fabrica-like motion is more visible, but still compositional rather than decorative. */
.reveal-enabled .motion-reveal,.reveal-enabled .work-entry,.reveal-enabled .satellite-link,.reveal-enabled .note-card{opacity:0;transform:translateY(46px) scale(.992);filter:blur(7px)}
.reveal-enabled .motion-reveal.is-revealed,.reveal-enabled .work-entry.is-revealed,.reveal-enabled .satellite-link.is-revealed,.reveal-enabled .note-card.is-revealed{opacity:1;transform:none;filter:none;transition:opacity .88s var(--ease),transform 1s var(--ease),filter .72s var(--ease)}
.fab-project-card figure img,.fab-service-media>img,.fab-service-row figure img,.fab-about-intro__portrait img{transition:transform 1.1s var(--ease),filter .8s var(--ease)}
.fab-project-card:hover figure img,.fab-service-row:hover figure img{transform:scale(1.035)}
.fab-service-media:hover>img{transform:scale(1.025)}

/* Proof: right grid follows its content instead of stretching to the left column height. */
.fab-proof{align-items:start;grid-template-columns:minmax(300px,.46fr) minmax(560px,1fr);gap:clamp(44px,6vw,96px)}
.fab-proof__intro{align-self:start}
.fab-proof .animated-stats{align-self:start;height:auto;min-height:0}
.fab-proof .animated-stats__track{height:auto;align-content:start}
.fab-proof [data-stat-card]{min-height:156px}
.fab-proof__intro h2{font-size:clamp(52px,5vw,86px);line-height:.93}

/* Production ecosystem: tool brands, explicitly not client logos. */
.brand-ecosystem{padding:clamp(72px,8vw,120px) var(--page);background:#e9e4dc;color:var(--ink);border-top:1px solid rgba(8,7,6,.1)}
.brand-ecosystem__head{display:grid;grid-template-columns:.36fr .82fr .72fr;gap:clamp(24px,4vw,64px);align-items:start;margin-bottom:clamp(42px,5vw,76px)}
.brand-ecosystem__head h2{margin:0;font:500 clamp(42px,4.8vw,78px)/.92 var(--serif);letter-spacing:-.04em}
.brand-ecosystem__head p{margin:0;max-width:500px;color:rgba(8,7,6,.58);font-size:14px;line-height:1.6}
.brand-ecosystem__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
.brand-ecosystem__grid>div{aspect-ratio:1.38;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border-radius:24px;background:rgba(255,255,255,.64);border:1px solid rgba(8,7,6,.055);box-shadow:0 14px 34px rgba(73,49,31,.04);transition:transform .5s var(--ease),background .35s,box-shadow .5s var(--ease)}
.brand-ecosystem__grid>div:hover{transform:translateY(-7px);background:#fff;box-shadow:0 24px 54px rgba(73,49,31,.09)}
.brand-ecosystem__grid strong{font:700 clamp(16px,1.6vw,26px)/1 var(--ui);letter-spacing:-.045em;color:#0c0b0a}
.brand-ecosystem__grid small{font:650 8px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:rgba(8,7,6,.42)}

/* Services: contain each chapter; no giant headline can collide with project media. */
.fab-service-section{overflow:clip;isolation:isolate}
.fab-service-section__main{grid-template-columns:minmax(0,1fr) minmax(160px,.25fr);gap:clamp(38px,7vw,110px);align-items:start;margin-bottom:clamp(36px,5vw,62px)}
.fab-service-section__main>div{min-width:0;max-width:920px}
.fab-service-section__main h2{max-width:13ch;margin:0 0 20px;font:500 clamp(50px,5.35vw,90px)/.92 var(--serif);letter-spacing:-.045em;overflow-wrap:normal;text-wrap:balance}
.fab-service-section__main p{max-width:650px;font-size:15px;line-height:1.62}
.fab-service-section__main ul{align-self:start;padding-top:8px}
.fab-service-media{position:relative;z-index:1;overflow:hidden;min-height:clamp(440px,56vw,760px)}
.fab-service-media--project{display:block}
.fab-service-media>div{max-width:min(760px,calc(100% - 64px))}
.fab-service-media strong{font-family:var(--serif);font-weight:500;line-height:1}
.fab-service-points{position:relative;z-index:2}

/* Testimonials: real rows with reserved author space; no absolute badge/text collision. */
.fab-testimonials .focus-testimonials__stream{display:grid!important;grid-template-columns:1fr!important;max-width:1460px;margin:0 auto;border-top:1px solid rgba(240,235,226,.16);font:inherit!important}
.fab-testimonials .focus-testimonials__stream>button{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,270px);align-items:end;gap:36px;width:100%;min-height:0;padding:clamp(24px,3vw,44px) 0;border:0!important;border-bottom:1px solid rgba(240,235,226,.13)!important;background:transparent;color:var(--paper);text-align:left;cursor:pointer!important;opacity:1;filter:none;transform:none;transition:opacity .35s var(--ease),filter .35s var(--ease),padding .45s var(--ease)}
.fab-testimonials .focus-testimonials__stream>button span{display:block;max-width:1120px;font:400 clamp(32px,4vw,62px)/1.06 var(--serif)!important;letter-spacing:-.028em!important}
.fab-testimonials .focus-testimonials__author{position:static!important;display:flex!important;flex-direction:column;gap:5px;width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;font:650 10px/1.2 var(--ui);letter-spacing:.07em;text-transform:uppercase;color:var(--ember-soft);opacity:.72!important;transform:none!important;pointer-events:none}
.fab-testimonials .focus-testimonials__author i{font-style:normal;color:rgba(240,235,226,.48);font-size:8px}
.fab-testimonials .focus-testimonials.is-focusing .focus-testimonials__stream>button:not(.is-focused){opacity:.22!important;filter:blur(2px)!important}
.fab-testimonials .focus-testimonials__stream>button.is-focused{opacity:1!important;filter:none!important;padding-left:14px}
.fab-testimonials .focus-testimonials__sep{display:none!important}

/* FAQ: large left title + rounded accordion cards on the right, inspired by the chosen reference. */
.page-fabrica .faq-section,.page-contact .faq-section{display:grid;grid-template-columns:minmax(280px,.55fr) minmax(520px,1fr);gap:clamp(44px,7vw,120px);align-items:start;padding:clamp(78px,9vw,132px) var(--page);background:#ece9e4;color:var(--ink);border-radius:0}
.page-fabrica .faq-section__head,.page-contact .faq-section__head{position:sticky;top:110px;display:block;max-width:none;margin:0}
.page-fabrica .faq-section__head .eyebrow,.page-contact .faq-section__head .eyebrow{display:none}
.page-fabrica .faq-section__head h2,.page-contact .faq-section__head h2{max-width:none;margin:0;font:500 clamp(86px,10vw,164px)/.78 var(--ui);letter-spacing:-.08em}
.page-fabrica .faq-section__head h2::first-letter,.page-contact .faq-section__head h2::first-letter{letter-spacing:-.12em}
.page-fabrica .faq-section__head p,.page-contact .faq-section__head p{grid-column:auto;max-width:390px;margin:34px 0 0;color:rgba(8,7,6,.58);font-size:15px;line-height:1.55}
.page-fabrica .faq-list,.page-contact .faq-list{display:grid;gap:7px;max-width:none;margin:0;border:0}
.page-fabrica .faq-item,.page-contact .faq-item{overflow:hidden;border:1px solid rgba(8,7,6,.045);border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(47,38,31,.025);transition:box-shadow .35s var(--ease),transform .35s var(--ease),background .3s}
.page-fabrica .faq-item:hover,.page-contact .faq-item:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(47,38,31,.07);background:#fff}
.page-fabrica .faq-item button,.page-contact .faq-item button{min-height:84px;padding:22px 24px 22px 28px;grid-template-columns:1fr 32px;gap:22px;font:600 clamp(18px,1.45vw,25px)/1.18 var(--body);letter-spacing:-.025em}
.page-fabrica .faq-item button i,.page-contact .faq-item button i{width:25px;height:25px;border:0;background:var(--ink);color:var(--paper)}
.page-fabrica .faq-item button i::before,.page-fabrica .faq-item button i::after,.page-contact .faq-item button i::before,.page-contact .faq-item button i::after{background:var(--paper)}
.page-fabrica .faq-answer p,.page-contact .faq-answer p{max-width:720px;padding:0 76px 28px 28px;color:rgba(8,7,6,.6);font-size:14px;line-height:1.65}

/* Pricing: one concrete B2C offer, dark/grain/video-like visual cadence. */
.home-pricing{position:relative;margin:8px;min-height:760px;padding:clamp(62px,7vw,104px);overflow:hidden;border-radius:38px;background:var(--ink);color:var(--paper);isolation:isolate;box-shadow:0 32px 96px rgba(49,31,19,.18)}
.home-pricing__backdrop{position:absolute;z-index:-2;inset:0;overflow:hidden}
.home-pricing__backdrop img{width:100%;height:100%;object-fit:cover;filter:saturate(.48) contrast(1.1) brightness(.34);transform:scale(1.06);animation:v15PricingDrift 16s ease-in-out infinite alternate}
.home-pricing__backdrop::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,7,6,.94) 0%,rgba(8,7,6,.75) 48%,rgba(8,7,6,.35)),radial-gradient(circle at 77% 27%,rgba(204,70,12,.2),transparent 36%)}
.home-pricing__backdrop i{position:absolute;z-index:2;inset:-20%;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");mix-blend-mode:soft-light;animation:v15Grain .28s steps(2) infinite}
@keyframes v15PricingDrift{to{transform:scale(1.13) translate3d(-1.5%,1%,0)}}
.home-pricing__top{max-width:930px}
.home-pricing__top h2{margin:22px 0 18px;font:500 clamp(64px,7.8vw,126px)/.82 var(--serif);letter-spacing:-.05em}
.home-pricing__top h2 em{display:block;font-style:italic;color:var(--ember-soft)}
.home-pricing__top>p{max-width:620px;color:rgba(240,235,226,.66);font-size:15px;line-height:1.62}
.home-pricing__offer{position:absolute;left:clamp(40px,7vw,104px);right:clamp(40px,7vw,104px);bottom:clamp(40px,6vw,82px);display:grid;grid-template-columns:.66fr 1.35fr auto;gap:0;align-items:stretch;border:1px solid rgba(240,235,226,.16);border-radius:26px;background:rgba(8,7,6,.62);backdrop-filter:blur(22px) saturate(1.12);-webkit-backdrop-filter:blur(22px) saturate(1.12);overflow:hidden}
.home-pricing__price{padding:26px;display:grid;align-content:center;border-right:1px solid rgba(240,235,226,.12)}
.home-pricing__price small,.home-pricing__price span{font:650 8px/1.2 var(--ui);letter-spacing:.09em;text-transform:uppercase;color:rgba(240,235,226,.48)}
.home-pricing__price strong{margin:10px 0 6px;font:500 clamp(44px,4.2vw,76px)/.82 var(--serif)}
.home-pricing__offer ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr)}
.home-pricing__offer li{padding:26px 20px;display:flex;flex-direction:column;justify-content:center;gap:8px;border-right:1px solid rgba(240,235,226,.11)}
.home-pricing__offer li b{font:600 17px/1 var(--ui)}.home-pricing__offer li span{font-size:11px;color:rgba(240,235,226,.52)}
.glassy-pricing-cta{min-width:210px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:rgba(240,235,226,.95);color:var(--ink);font:700 10px/1.15 var(--ui);letter-spacing:.07em;text-transform:uppercase;transition:background .3s,transform .35s var(--ease)}
.glassy-pricing-cta:hover{background:#fff;transform:translateX(-3px)}

/* About and Services intentionally do different jobs. */
.fab-about-intro__copy .fab-arrow-link{margin-top:28px}
.fab-about-view__grid article{min-height:280px}
.fab-about-view__grid p{font-size:14px;line-height:1.6}
.fab-contact-band__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fab-contact-band__actions>a{display:inline-flex!important;width:auto!important;border:1px solid rgba(8,7,6,.12);border-radius:999px;padding:13px 17px}

@media(max-width:1180px){
  .fab-proof{grid-template-columns:1fr;gap:42px}.fab-proof__intro{max-width:760px}.fab-proof .animated-stats{max-width:100%}
  .brand-ecosystem__head{grid-template-columns:1fr 1.2fr}.brand-ecosystem__head p{grid-column:2}.brand-ecosystem__grid{grid-template-columns:repeat(3,1fr)}
  .home-pricing__offer{grid-template-columns:.7fr 1.3fr}.glassy-pricing-cta{grid-column:1/-1;min-height:64px}.home-pricing__offer ul li:last-child{border-right:0}
}

@media(max-width:820px){
  .brand-ecosystem__head{grid-template-columns:1fr;gap:18px}.brand-ecosystem__head p{grid-column:auto}.brand-ecosystem__grid{grid-template-columns:repeat(2,1fr)}.brand-ecosystem__grid>div{min-height:130px}
  .fab-service-section__main{grid-template-columns:1fr;gap:22px}.fab-service-section__main h2{font-size:clamp(50px,11vw,76px);max-width:10ch}.fab-service-section__main ul{display:flex;flex-wrap:wrap;gap:7px}.fab-service-section__main ul li{padding:7px 10px;border:1px solid currentColor;border-radius:999px;line-height:1}
  .fab-testimonials .focus-testimonials__stream>button{grid-template-columns:1fr;gap:18px}.fab-testimonials .focus-testimonials__author{opacity:1!important}
  .page-fabrica .faq-section,.page-contact .faq-section{grid-template-columns:1fr;gap:32px}.page-fabrica .faq-section__head,.page-contact .faq-section__head{position:static}.page-fabrica .faq-section__head h2,.page-contact .faq-section__head h2{font-size:clamp(72px,18vw,112px)}.page-fabrica .faq-section__head p,.page-contact .faq-section__head p{margin-top:20px}
  .home-pricing{min-height:880px;padding:58px 22px}.home-pricing__top h2{font-size:clamp(62px,15vw,96px)}.home-pricing__offer{left:22px;right:22px;bottom:22px;grid-template-columns:1fr}.home-pricing__price{border-right:0;border-bottom:1px solid rgba(240,235,226,.12)}.home-pricing__offer ul{grid-template-columns:1fr}.home-pricing__offer li{min-height:70px;padding:16px 20px;border-right:0;border-bottom:1px solid rgba(240,235,226,.1)}.glassy-pricing-cta{grid-column:auto}
}

@media(max-width:720px){
  .has-custom-cursor,.has-custom-cursor a,.has-custom-cursor button,.has-custom-cursor input,.has-custom-cursor textarea,.has-custom-cursor select,.has-custom-cursor summary{cursor:auto!important}.custom-cursor{display:none!important}
  .fab-proof{padding:58px 16px}.fab-proof__intro h2{font-size:13.5vw}.fab-proof [data-stat-card]{min-height:118px}
  .brand-ecosystem{padding:64px 16px}.brand-ecosystem__head h2{font-size:12vw}.brand-ecosystem__grid>div{border-radius:20px}.brand-ecosystem__grid strong{font-size:17px}
  .fab-testimonials .focus-testimonials__stream>button{padding:26px 0}.fab-testimonials .focus-testimonials__stream>button span{font-size:9vw!important;line-height:1.08!important}.fab-testimonials .focus-testimonials__stream>button.is-focused{padding-left:0}
  .page-fabrica .faq-section,.page-contact .faq-section{padding:64px 16px 104px}.page-fabrica .faq-item,.page-contact .faq-item{border-radius:18px}.page-fabrica .faq-item button,.page-contact .faq-item button{min-height:70px;padding:18px 16px 18px 18px;font-size:16px}.page-fabrica .faq-answer p,.page-contact .faq-answer p{padding:0 52px 20px 18px;font-size:13px}
  .home-pricing{margin:8px;border-radius:28px;min-height:850px}.home-pricing__top>p{font-size:14px}.home-pricing__offer{border-radius:20px}
  .fab-about-intro__portrait{aspect-ratio:4/5;max-height:72svh}.fab-about-intro__copy h2{font-size:13vw}
}

@media(prefers-reduced-motion:reduce){
  .logo-preloader__grain,.logo-preloader__halo,.logo-preloader__mark,.home-pricing__backdrop img,.home-pricing__backdrop i{animation:none!important}
  .logo-preloader__mark{opacity:1;filter:none;transform:none}.logo-preloader__halo{opacity:.55;transform:none}
  .reveal-enabled .motion-reveal,.reveal-enabled .motion-reveal.is-revealed{opacity:1;transform:none;filter:none;transition:none}
}

/* ========================================================================== 
   V16 — LOCKED IA: Work first, proof, 3 dimensions, journey, tools, pricing,
   testimonials, FAQ, quick contact. Fabrica structure × Nolan Arc DA.
   ========================================================================== */

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.page-v16{background:var(--paper);color:var(--ink)}
.page-v16 .site-footer{background:var(--ink);color:var(--paper)}

/* HERO — visual first, no duplicated giant wordmark */
.v16-hero{position:relative;min-height:calc(100svh - 16px);margin:8px;border-radius:32px;overflow:hidden;background:var(--ink);color:var(--paper);isolation:isolate}
.v16-hero__media{position:absolute;z-index:-2;inset:0;overflow:hidden}.v16-hero__media>img{width:100%;height:100%;object-fit:cover;filter:grayscale(.75) saturate(.55) contrast(1.08) brightness(.54);transform:scale(1.04);animation:v16HeroFloat 16s var(--ease2) infinite alternate}.v16-hero__media--video .v16-hero__poster{position:absolute;z-index:0;inset:0;animation:none}.v16-hero__video{position:absolute;z-index:1;left:50%;top:50%;width:max(100vw,177.78vh);height:max(56.25vw,100vh);min-width:100%;min-height:100%;border:0;pointer-events:none;transform:translate(-50%,-50%) scale(1.035);filter:saturate(.82) contrast(1.05) brightness(.78)}.v16-hero__veil{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(8,7,6,.58),rgba(8,7,6,.08) 52%,rgba(8,7,6,.68)),linear-gradient(180deg,rgba(8,7,6,.08),rgba(8,7,6,.52))}.v16-hero__media>.gradient-motion-bg{z-index:3!important;mix-blend-mode:screen}
.v16-hero__roles{position:absolute;right:clamp(28px,4vw,76px);top:18%;display:flex;flex-direction:column;align-items:flex-end;gap:8px;font:650 clamp(16px,1.45vw,24px)/1.1 var(--ui);letter-spacing:-.03em}.v16-hero__roles span{padding:9px 12px;border-radius:999px;background:rgba(8,7,6,.3);backdrop-filter:blur(12px);border:1px solid rgba(240,235,226,.11)}
.v16-hero__actions{position:absolute;left:clamp(28px,4vw,76px);bottom:clamp(34px,5vw,72px);display:flex;gap:10px;flex-wrap:wrap}.v16-hero__actions a{display:inline-flex;align-items:center;gap:22px;padding:14px 18px;border:1px solid rgba(240,235,226,.18);border-radius:999px;background:rgba(8,7,6,.34);backdrop-filter:blur(18px);font:700 9px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;transition:transform .35s var(--ease),background .35s}.v16-hero__actions a:hover{transform:translateY(-3px);background:rgba(240,235,226,.12)}
.v16-hero__copyright{position:absolute;right:clamp(28px,4vw,76px);bottom:clamp(38px,5vw,76px);font:650 8px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:rgba(240,235,226,.54)}
@keyframes v16HeroFloat{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.085) translate3d(-1.2%,.6%,0)}}

/* WORK / proof */
.v16-work-preview{padding-top:84px}.v16-proof{padding:clamp(72px,8vw,120px) var(--page);background:#ebe5dc;color:var(--ink)}
.v16-proof__head{max-width:980px;margin-bottom:34px;display:grid;grid-template-columns:.3fr 1fr;gap:40px;align-items:start}.v16-proof__head h2{margin:0;font:500 clamp(44px,5vw,82px)/.92 var(--serif);letter-spacing:-.04em}
.v16-proof .animated-stats{margin:0;background:rgba(255,255,255,.44);border:1px solid rgba(8,7,6,.08);border-radius:30px;overflow:hidden}.v16-proof .animated-stats__track{grid-template-columns:repeat(4,minmax(0,1fr))}.v16-proof [data-stat-card]{min-height:220px;padding:24px;border-right:1px solid rgba(8,7,6,.08);display:flex;flex-direction:column;justify-content:space-between;color:var(--ink)}.v16-proof [data-stat-card]:last-child{border-right:0}.v16-proof [data-stat-card] strong{font:500 clamp(48px,5.2vw,86px)/.82 var(--serif);letter-spacing:-.05em;color:var(--ink)}.v16-proof [data-stat-card] small{max-width:180px;font:650 9px/1.25 var(--ui);letter-spacing:.05em;text-transform:uppercase;color:rgba(8,7,6,.5)}.v16-proof__note{max-width:720px;margin:18px 0 0 auto;color:rgba(8,7,6,.54);font-size:12px;line-height:1.55}

/* THREE DIMENSIONS */
.v16-dimensions{padding:clamp(76px,8vw,122px) var(--page);background:var(--paper);color:var(--ink)}.v16-dimensions .fab-section-heading h2 em{font-family:var(--serif);font-style:italic;color:var(--ember);font-weight:400}
.v16-dimensions__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:40px}.v16-dimension{min-height:470px;padding:28px;border-radius:30px;background:#fff;border:1px solid rgba(8,7,6,.06);display:flex;flex-direction:column;box-shadow:0 22px 60px rgba(70,50,35,.06);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}.v16-dimension:hover{transform:translateY(-7px);box-shadow:0 30px 76px rgba(70,50,35,.11)}.v16-dimension>span{font:700 9px/1 var(--ui);color:var(--ember)}.v16-dimension h3{margin:42px 0 16px;font:500 clamp(36px,3.1vw,56px)/.9 var(--serif);letter-spacing:-.035em}.v16-dimension p{margin:0;color:rgba(8,7,6,.64);line-height:1.65}.v16-dimension>strong{margin-top:auto;padding-top:28px;font:600 14px/1.45 var(--body)}.v16-dimension>a{margin-top:22px;align-self:flex-start;font:700 9px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--ember);padding-bottom:8px}

/* JOURNEY — clear split, scroll-driven actor */
.v16-journey{height:260vh;background:var(--ink);color:var(--paper);position:relative}.v16-journey__sticky{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:minmax(320px,.78fr) minmax(460px,1.22fr);align-items:center;gap:5vw;padding:calc(var(--header) + 36px) var(--page) 42px;overflow:hidden}.v16-journey__copy{position:relative;z-index:4;min-width:0}.v16-journey__steps{position:relative;min-height:390px;margin-top:34px}.v16-journey__steps article{position:absolute;inset:0 auto auto 0;max-width:620px;opacity:0;transform:translate3d(0,34px,0);filter:blur(7px);pointer-events:none;transition:opacity .48s var(--ease),transform .58s var(--ease),filter .5s var(--ease)}.v16-journey__steps article.is-active{opacity:1;transform:none;filter:none}.v16-journey__steps small{font:700 9px/1 var(--ui);color:var(--ember-soft)}.v16-journey__steps h2{margin:16px 0 18px;font:500 clamp(64px,7vw,118px)/.8 var(--serif);letter-spacing:-.055em}.v16-journey__steps p{max-width:470px;margin:0;color:rgba(240,235,226,.62);font-size:16px;line-height:1.6}.v16-journey__visual{position:relative;width:min(720px,52vw);justify-self:center;transform:translate3d(calc(var(--journey-x,0)*1vw),calc(var(--journey-y,0)*1vh),0) rotate(var(--journey-rot,0deg)) scale(var(--journey-scale,.95));transition:filter .18s linear;will-change:transform}.v16-journey__visual .glass-showcase__shell{border-radius:34px;box-shadow:0 40px 140px rgba(0,0,0,.55),0 0 80px rgba(204,70,12,calc(var(--journey-energy,.2)*.18))}.v16-journey__count{position:absolute;right:12px;bottom:-28px;font:700 9px/1 var(--ui);letter-spacing:.12em;color:rgba(240,235,226,.48)}

/* TOOL LOGOS */
.v16-logo-grid .v16-logo-card{position:relative;overflow:hidden}.v16-logo-media{width:72%;height:58px;display:grid;place-items:center;position:relative}.v16-logo-card img{max-width:100%;max-height:50px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) brightness(.18);opacity:.92;transition:filter .35s var(--ease),transform .45s var(--ease),opacity .35s}.v16-logo-media>b{display:none;font:800 clamp(18px,1.8vw,28px)/1 var(--ui);letter-spacing:-.05em;color:#161412}.v16-logo-media>b.is-visible{display:block}.v16-logo-card:hover img{filter:grayscale(1) sepia(1) saturate(9) hue-rotate(344deg) brightness(.9);transform:scale(1.045);opacity:1}.v16-logo-card.is-smallrig .v16-logo-media{width:76%;height:52px}.v16-logo-card.is-smallrig img{max-height:48px}.v16-logo-card.is-pgytech .v16-logo-media{width:78%;height:52px;overflow:hidden}.v16-logo-card.is-pgytech img{width:190px;max-width:100%;max-height:none;height:auto;object-position:center}.v16-logo-card .v16-wordmark{font:800 clamp(20px,2vw,32px)/1 var(--ui);letter-spacing:-.05em;color:#161412;transition:color .35s,transform .45s var(--ease)}.v16-logo-card:hover .v16-wordmark{color:var(--ember);transform:scale(1.06)}

/* PRICING SWITCHER */
.v16-pricing{min-height:780px;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(520px,1.18fr);gap:5vw;align-items:center}.v16-pricing__intro{position:relative;z-index:2;align-self:start}.v16-pricing__intro h2{margin:22px 0 20px;font:500 clamp(58px,6.7vw,112px)/.82 var(--serif);letter-spacing:-.05em}.v16-pricing__intro h2 em{display:block;font-style:italic;color:var(--ember-soft)}.v16-pricing__intro p{max-width:600px;color:rgba(240,235,226,.64);line-height:1.62}.v16-pricing__tabs{position:absolute;z-index:4;left:clamp(62px,7vw,108px);bottom:56px;display:flex;gap:8px;padding:6px;border-radius:999px;background:rgba(240,235,226,.08);border:1px solid rgba(240,235,226,.11);backdrop-filter:blur(18px)}.v16-pricing__tabs button{border:0;border-radius:999px;background:transparent;color:rgba(240,235,226,.58);padding:11px 14px;font:700 8px/1 var(--ui);letter-spacing:.07em;text-transform:uppercase}.v16-pricing__tabs button[aria-selected="true"]{background:var(--paper);color:var(--ink)}.v16-pricing__panels{position:relative;z-index:3}.v16-pricing__panels article{min-height:430px;padding:34px;border:1px solid rgba(240,235,226,.15);border-radius:32px;background:rgba(8,7,6,.58);backdrop-filter:blur(24px) saturate(1.12);display:flex;flex-direction:column;animation:v16PanelIn .5s var(--ease)}.v16-pricing__panels article>small{font:700 9px/1 var(--ui);letter-spacing:.09em;text-transform:uppercase;color:var(--ember-soft)}.v16-pricing__panels article>strong{margin:42px 0 24px;font:500 clamp(48px,5.4vw,92px)/.84 var(--serif);letter-spacing:-.05em}.v16-pricing__panels article>p{max-width:580px;color:rgba(240,235,226,.68);font-size:15px;line-height:1.65}.v16-pricing__panels ul{margin:0 0 30px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(240,235,226,.12)}.v16-pricing__panels li{padding:20px 0;border-bottom:1px solid rgba(240,235,226,.12);display:flex;flex-direction:column;gap:6px}.v16-pricing__panels li b{font:650 15px/1 var(--ui)}.v16-pricing__panels li span{font-size:11px;color:rgba(240,235,226,.52)}.v16-pricing__panels article>a{margin-top:auto;align-self:flex-start;padding:13px 18px;border-radius:999px;background:var(--paper);color:var(--ink);font:700 9px/1 var(--ui);letter-spacing:.07em;text-transform:uppercase}.v16-pricing__panels article[hidden]{display:none!important}@keyframes v16PanelIn{from{opacity:0;transform:translateY(18px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}

/* TESTIMONIAL BENTO */
.v16-testimonials{padding:clamp(78px,8vw,126px) var(--page);background:var(--ink);color:var(--paper)}.v16-testimonials .fab-section-heading{margin-bottom:42px}.v16-testimonial-bento{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:auto auto;gap:12px}.v16-testimonial-bento article{min-height:260px;padding:28px;border:1px solid rgba(240,235,226,.1);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));display:flex;flex-direction:column}.v16-testimonial-bento article.is-featured{grid-row:1/3;min-height:532px}.v16-stars{font:700 12px/1 var(--ui);letter-spacing:.18em;color:var(--ember-soft)}.v16-testimonial-bento blockquote{margin:auto 0 28px;font:400 clamp(28px,3.1vw,54px)/1.08 var(--serif);letter-spacing:-.025em}.v16-testimonial-bento article.is-featured blockquote{font-size:clamp(40px,4.8vw,78px)}.v16-testimonial-bento footer{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:rgba(240,235,226,.52)}.v16-testimonial-bento footer strong{color:var(--paper)}
@media(hover:hover) and (pointer:fine){.v16-testimonial-bento:has(article:hover) article:not(:hover),.v16-testimonial-bento:focus-within article:not(:focus){opacity:.26;filter:blur(3.2px);transform:scale(.987)}.v16-testimonial-bento article{transition:opacity .36s var(--ease),filter .36s var(--ease),transform .42s var(--ease),border-color .32s var(--ease),box-shadow .42s var(--ease)}.v16-testimonial-bento article:hover,.v16-testimonial-bento article:focus{opacity:1;filter:none;transform:translateY(-4px) scale(1.006);border-color:rgba(233,119,54,.27);box-shadow:0 28px 72px rgba(0,0,0,.25),0 0 0 1px rgba(233,119,54,.055);outline:none}}

/* QUICK CONTACT */
.v16-quick-contact{position:relative;display:grid;grid-template-columns:minmax(340px,.76fr) minmax(520px,1.24fr);gap:clamp(30px,6vw,100px);padding:clamp(70px,8vw,126px) var(--page);background:var(--ink);color:var(--paper);overflow:hidden}.v16-quick-contact__form{position:relative;z-index:3;padding:28px;border-radius:30px;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;gap:16px;box-shadow:0 34px 100px rgba(0,0,0,.26)}.v16-quick-contact__form>small{font:700 10px/1 var(--ui);letter-spacing:.08em}.v16-quick-contact__form h2{margin:6px 0 18px;font:500 clamp(40px,4.2vw,68px)/.9 var(--serif)}.v16-quick-contact__form label{display:flex;flex-direction:column;gap:7px}.v16-quick-contact__form label>span{font:700 9px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase}.v16-quick-contact__form input,.v16-quick-contact__form textarea{width:100%;border:1px solid rgba(8,7,6,.07);border-radius:16px;background:#e8e3dc;padding:14px 15px;outline:none}.v16-quick-contact__form textarea{resize:vertical;min-height:126px}.v16-quick-contact__form button{margin-top:4px;min-height:52px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font:700 10px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase}.v16-quick-contact__copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;min-height:560px}.v16-quick-contact__copy>.gradient-motion-bg{z-index:-1;opacity:.72}.v16-quick-contact__copy h2{margin:22px 0 16px;font:500 clamp(78px,9vw,156px)/.76 var(--serif);letter-spacing:-.06em}.v16-quick-contact__copy>p{max-width:560px;color:rgba(240,235,226,.7);font-size:18px}.v16-contact-points{margin:50px 0 40px;display:grid;grid-template-columns:repeat(2,1fr);gap:30px;border-top:1px solid rgba(240,235,226,.12);padding-top:28px}.v16-contact-points div{display:flex;flex-direction:column;gap:8px}.v16-contact-points strong{font:650 13px/1.25 var(--ui)}.v16-contact-points span{color:rgba(240,235,226,.5);font-size:12px;line-height:1.5}.v16-nolan-card{display:flex;align-items:center;gap:10px;padding:8px;width:max-content;max-width:100%;border-radius:18px;background:var(--paper);color:var(--ink)}.v16-nolan-card__photo{width:72px;height:72px;border-radius:12px;overflow:hidden;background:#d9d1c7}.v16-nolan-card__photo img{width:100%;height:100%;object-fit:cover}.v16-nolan-card>div:last-child{display:grid;gap:3px;padding-right:12px}.v16-nolan-card strong{font:700 13px/1.1 var(--ui)}.v16-nolan-card span{font-size:10px;color:rgba(8,7,6,.5)}.v16-nolan-card a{margin-top:5px;font:700 9px/1 var(--ui);text-decoration:underline;text-underline-offset:4px}

/* WORK expertise switcher */
.v16-expertise-switcher{margin:60px var(--page) 100px;padding:clamp(34px,5vw,70px);border-radius:34px;background:#ebe5dc;color:var(--ink)}.v16-expertise-switcher>header{display:grid;grid-template-columns:.35fr 1fr;gap:40px;align-items:end}.v16-expertise-switcher>header h2{margin:0;font:500 clamp(48px,5.3vw,86px)/.9 var(--serif);letter-spacing:-.04em}.v16-expertise-tabs{display:flex;gap:8px;margin:38px 0 16px;padding:6px;border-radius:999px;background:rgba(8,7,6,.06);width:max-content;max-width:100%}.v16-expertise-tabs button{border:0;border-radius:999px;background:transparent;padding:12px 16px;font:700 9px/1 var(--ui);letter-spacing:.04em}.v16-expertise-tabs button span{margin-right:8px;color:var(--ember)}.v16-expertise-tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper)}.v16-expertise-panels{min-height:300px}.v16-expertise-panels article{padding:34px;border-radius:26px;background:rgba(255,255,255,.65);animation:v16PanelIn .45s var(--ease)}.v16-expertise-panels article small{font:700 9px/1 var(--ui);color:var(--ember);text-transform:uppercase}.v16-expertise-panels h3{max-width:900px;margin:20px 0;font:500 clamp(42px,4.7vw,78px)/.92 var(--serif)}.v16-expertise-panels p{max-width:760px;color:rgba(8,7,6,.62);font-size:15px;line-height:1.65}.v16-expertise-panels strong{display:block;max-width:760px;margin:22px 0;font-size:14px}.v16-expertise-panels a{font:700 9px/1 var(--ui);text-transform:uppercase;border-bottom:1px solid var(--ember);padding-bottom:7px}

/* SERVICES — one panel at a time */
.v16-services-page{background:var(--paper);color:var(--ink)}.v16-service-switcher{padding:0 var(--page) clamp(80px,9vw,140px)}.v16-service-switcher__tabs{position:sticky;z-index:30;top:82px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:6px;margin:0 0 28px;border-radius:24px;background:rgba(240,235,226,.82);border:1px solid rgba(8,7,6,.08);backdrop-filter:blur(22px)}.v16-service-switcher__tabs button{min-height:70px;border:0;border-radius:18px;background:transparent;color:rgba(8,7,6,.48);text-align:left;padding:14px 18px}.v16-service-switcher__tabs button span{display:block;font:700 8px/1 var(--ui);color:var(--ember)}.v16-service-switcher__tabs button strong{font:600 clamp(14px,1.25vw,20px)/1 var(--ui)}.v16-service-switcher__tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper)}.v16-service-switcher__panels>article{min-height:720px;display:grid;grid-template-columns:minmax(320px,.85fr) minmax(480px,1.15fr);gap:5vw;align-items:stretch;padding:clamp(34px,5vw,72px);border-radius:38px;background:var(--ink);color:var(--paper);animation:v16PanelIn .55s var(--ease)}.v16-service-switcher__panels figure{margin:0;min-height:560px;border-radius:30px;overflow:hidden}.v16-service-switcher__panels figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.05)}.v16-service-copy{display:flex;flex-direction:column;justify-content:center}.v16-service-copy h2{margin:22px 0;font:500 clamp(56px,6.4vw,106px)/.82 var(--serif);letter-spacing:-.055em}.v16-service-copy p{max-width:660px;color:rgba(240,235,226,.62);font-size:16px;line-height:1.7}.v16-service-copy>strong{display:block;max-width:660px;margin:24px 0;font-size:15px;line-height:1.55}.v16-service-copy>a{align-self:flex-start;margin-top:16px;padding:13px 18px;border-radius:999px;background:var(--paper);color:var(--ink);font:700 9px/1 var(--ui);text-transform:uppercase}.v16-combined-expertise{padding:clamp(80px,9vw,140px) var(--page);background:#e8e0d6}.v16-combined-expertise>h2{max-width:1100px;margin:24px 0 50px;font:500 clamp(54px,6vw,98px)/.86 var(--serif);letter-spacing:-.05em}.v16-combined-expertise h2 em{font-style:italic;color:var(--ember)}.v16-combined-expertise>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v16-combined-expertise article{min-height:250px;padding:24px;border-radius:26px;background:#fff}.v16-combined-expertise article>span{font:700 9px/1 var(--ui);color:var(--ember)}.v16-combined-expertise article strong{display:block;margin:42px 0 12px;font:500 28px/1 var(--serif)}.v16-combined-expertise article p{color:rgba(8,7,6,.6);font-size:13px;line-height:1.6}

/* ABOUT */
.v16-about-page{background:var(--paper);color:var(--ink)}.v16-about-hero{min-height:100svh;padding:calc(var(--header) + 60px) var(--page) 60px;display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:center}.v16-about-hero figure{margin:0;aspect-ratio:4/5;max-height:78svh;border-radius:34px;overflow:hidden;background:#d8d0c5}.v16-about-hero figure img{width:100%;height:100%;object-fit:cover}.v16-about-hero h1{margin:18px 0 24px;font:500 clamp(92px,11vw,182px)/.72 var(--serif);letter-spacing:-.06em}.v16-about-hero p{max-width:660px;color:rgba(8,7,6,.62);font-size:18px;line-height:1.65}.v16-about-story,.v16-about-workstyle{padding:clamp(80px,9vw,140px) var(--page);display:grid;grid-template-columns:.45fr 1fr;gap:7vw}.v16-about-story h2,.v16-about-workstyle h2{grid-column:2;margin:0;font:500 clamp(64px,7vw,118px)/.82 var(--serif)}.v16-about-story p{grid-column:2;max-width:780px;margin:18px 0 0;font-size:17px;line-height:1.72;color:rgba(8,7,6,.64)}.v16-about-why{padding:clamp(72px,8vw,120px) var(--page);background:var(--ink);color:var(--paper)}.v16-about-why>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:40px}.v16-about-why article{min-height:280px;padding:28px;border-radius:28px;background:rgba(255,255,255,.055);border:1px solid rgba(240,235,226,.1)}.v16-about-why article span{font:700 9px/1 var(--ui);color:var(--ember-soft)}.v16-about-why h3{margin:54px 0 14px;font:500 clamp(34px,3vw,54px)/.9 var(--serif)}.v16-about-why p{color:rgba(240,235,226,.62);line-height:1.62}.v16-about-workstyle{background:#e7ded2}.v16-about-workstyle>div{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:26px}.v16-about-workstyle p{margin:0;font-size:16px;line-height:1.7;color:rgba(8,7,6,.65)}

/* CONTACT split */
.v16-contact-page{background:var(--ink);color:var(--paper);padding-top:calc(var(--header) + 24px)}.v16-contact-split{min-height:calc(100svh - var(--header));display:grid;grid-template-columns:minmax(380px,.74fr) minmax(560px,1.26fr);gap:5vw;padding:40px var(--page) 84px;align-items:center}.v16-contact-card{padding:30px;border-radius:30px;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;gap:15px}.v16-contact-card>small{font:700 10px/1 var(--ui)}.v16-contact-card h1{margin:5px 0 20px;font:500 clamp(46px,4.8vw,78px)/.88 var(--serif)}.v16-contact-card label{display:flex;flex-direction:column;gap:7px}.v16-contact-card label>span{font:700 9px/1 var(--ui);text-transform:uppercase;letter-spacing:.06em}.v16-contact-card input,.v16-contact-card textarea,.v16-contact-card select{width:100%;border:1px solid rgba(8,7,6,.07);border-radius:16px;background:#e8e3dc;padding:14px 15px;outline:none}.v16-contact-card details{padding:2px 0}.v16-contact-card summary{cursor:pointer;font:700 9px/1 var(--ui);text-transform:uppercase}.v16-contact-card summary span{opacity:.5}.v16-contact-card details>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.v16-contact-card details label:last-child{grid-column:1/-1}.v16-contact-card>button{min-height:52px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font:700 10px/1 var(--ui);text-transform:uppercase}.v16-contact-privacy{margin:0;color:rgba(8,7,6,.48);font-size:10px}.v16-contact-story{position:relative;overflow:hidden;min-height:680px;padding:48px;border-radius:36px;display:flex;flex-direction:column;justify-content:center}.v16-contact-story>.gradient-motion-bg{z-index:-2}.v16-contact-story::before{content:'';position:absolute;z-index:-1;inset:0;background:rgba(8,7,6,.52);backdrop-filter:blur(14px)}.v16-contact-story h2{margin:18px 0;font:500 clamp(90px,10vw,170px)/.72 var(--serif);letter-spacing:-.06em}.v16-contact-story>p{max-width:620px;color:rgba(240,235,226,.68);font-size:18px}.v16-contact-story__points{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:50px 0;border-top:1px solid rgba(240,235,226,.13);padding-top:30px}.v16-contact-story__points strong{font:650 13px/1.2 var(--ui)}.v16-contact-story__points p{color:rgba(240,235,226,.5);font-size:12px;line-height:1.55}.v16-nolan-card--contact{margin-top:auto}

/* Performance safety: preserve appearance, avoid unnecessary offscreen work */
.v16-dimensions,.v16-ecosystem,.v16-testimonials,.v16-combined-expertise,.v16-about-why,.v16-about-workstyle{content-visibility:auto;contain-intrinsic-size:900px}

@media(max-width:1100px){
  .v16-proof .animated-stats__track{grid-template-columns:repeat(2,1fr)}.v16-proof [data-stat-card]:nth-child(2){border-right:0}.v16-proof [data-stat-card]:nth-child(n+3){border-top:1px solid rgba(8,7,6,.08)}
  .v16-dimensions__grid{grid-template-columns:1fr 1fr}.v16-dimension:last-child{grid-column:1/-1;min-height:360px}
  .v16-pricing{grid-template-columns:1fr;gap:28px}.v16-pricing__tabs{position:static;margin-top:20px}.v16-pricing__panels article{min-height:360px}
  .v16-quick-contact,.v16-contact-split{grid-template-columns:1fr}.v16-quick-contact__copy,.v16-contact-story{min-height:540px}.v16-contact-split{padding-top:24px}
  .v16-service-switcher__panels>article{grid-template-columns:1fr}.v16-service-switcher__panels figure{min-height:420px}
  .v16-about-hero{grid-template-columns:.9fr 1.1fr}.v16-about-story,.v16-about-workstyle{grid-template-columns:1fr}.v16-about-story h2,.v16-about-story p,.v16-about-workstyle h2,.v16-about-workstyle>div{grid-column:auto}
}

@media(max-width:760px){
  .v16-hero{min-height:92svh;border-radius:24px}.v16-hero__roles{top:24%;right:18px;left:18px;align-items:flex-start}.v16-hero__roles span{font-size:15px}.v16-hero__actions{left:18px;right:18px;bottom:78px}.v16-hero__copyright{display:none}
  .v16-proof{padding:64px 16px}.v16-proof__head{grid-template-columns:1fr;gap:16px}.v16-proof__head h2{font-size:12vw}.v16-proof .animated-stats__track{grid-template-columns:1fr 1fr}.v16-proof [data-stat-card]{min-height:128px;padding:16px}.v16-proof [data-stat-card] strong{font-size:11vw}.v16-proof__note{font-size:11px}
  .v16-dimensions{padding:64px 16px}.v16-dimensions__grid{grid-template-columns:1fr}.v16-dimension,.v16-dimension:last-child{grid-column:auto;min-height:360px;border-radius:24px}.v16-dimension h3{font-size:11vw}
  .v16-journey{height:230vh}.v16-journey__sticky{grid-template-columns:1fr;padding:calc(var(--header) + 22px) 16px 86px;align-content:center}.v16-journey__steps{min-height:300px}.v16-journey__steps h2{font-size:16vw}.v16-journey__visual{width:76vw;max-width:420px;margin-top:-20px;justify-self:end}.v16-journey__steps p{font-size:14px}
  .v16-logo-grid{grid-template-columns:repeat(2,1fr)}.v16-logo-card img{max-width:62%;max-height:38px}
  .v16-pricing{min-height:auto;padding:64px 18px 28px}.v16-pricing__intro h2{font-size:15vw}.v16-pricing__tabs{width:100%;overflow:auto;scrollbar-width:none}.v16-pricing__tabs button{white-space:nowrap}.v16-pricing__panels article{min-height:430px;padding:24px;border-radius:24px}.v16-pricing__panels article>strong{font-size:13vw}.v16-pricing__panels ul{grid-template-columns:1fr}
  .v16-testimonials{padding:64px 16px}.v16-testimonial-bento{grid-template-columns:1fr;grid-template-rows:auto}.v16-testimonial-bento article,.v16-testimonial-bento article.is-featured{grid-row:auto;min-height:280px}.v16-testimonial-bento article.is-featured blockquote,.v16-testimonial-bento blockquote{font-size:9vw}.v16-testimonial-bento footer{flex-direction:column}
  .v16-quick-contact{grid-template-columns:1fr;padding:64px 16px 104px}.v16-quick-contact__form{padding:18px;border-radius:24px}.v16-quick-contact__copy{min-height:520px}.v16-quick-contact__copy h2{font-size:22vw}.v16-contact-points{grid-template-columns:1fr}.v16-nolan-card{width:100%}
  .v16-expertise-switcher{margin:42px 8px 86px;padding:22px;border-radius:28px}.v16-expertise-switcher>header{grid-template-columns:1fr;gap:14px}.v16-expertise-switcher>header h2{font-size:12vw}.v16-expertise-tabs{width:100%;overflow:auto;scrollbar-width:none}.v16-expertise-tabs button{white-space:nowrap}.v16-expertise-panels{min-height:410px}.v16-expertise-panels article{padding:22px}.v16-expertise-panels h3{font-size:11.5vw}
  .v16-service-switcher{padding:0 8px 76px}.v16-service-switcher__tabs{top:72px;grid-template-columns:1fr;padding:5px;border-radius:20px}.v16-service-switcher__tabs button{min-height:50px;padding:10px 14px}.v16-service-switcher__panels>article{min-height:0;padding:22px;border-radius:28px}.v16-service-copy h2{font-size:14vw}.v16-service-copy p{font-size:14px}.v16-service-switcher__panels figure{min-height:330px;border-radius:22px}.v16-combined-expertise{padding:64px 16px}.v16-combined-expertise>h2{font-size:13vw}.v16-combined-expertise>div{grid-template-columns:1fr}.v16-combined-expertise article{min-height:210px}
  .v16-about-hero{grid-template-columns:1fr;padding:calc(var(--header) + 34px) 16px 54px}.v16-about-hero figure{max-height:64svh}.v16-about-hero h1{font-size:23vw}.v16-about-hero p{font-size:15px}.v16-about-story,.v16-about-workstyle{padding:64px 16px;gap:18px}.v16-about-story h2,.v16-about-workstyle h2{font-size:15vw}.v16-about-story p{font-size:15px}.v16-about-why{padding:64px 16px}.v16-about-why>div{grid-template-columns:1fr}.v16-about-why article{min-height:220px}.v16-about-workstyle>div{grid-template-columns:1fr}
  .v16-contact-page{padding-top:var(--header)}.v16-contact-split{padding:12px 12px 80px;gap:18px}.v16-contact-card{padding:18px;border-radius:24px}.v16-contact-card h1{font-size:12vw}.v16-contact-card details>div{grid-template-columns:1fr}.v16-contact-card details label:last-child{grid-column:auto}.v16-contact-story{min-height:560px;padding:24px;border-radius:28px}.v16-contact-story h2{font-size:24vw}.v16-contact-story__points{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){.v16-hero__media>img{animation:none!important}.v16-hero__video{display:none!important}.v16-pricing__panels article,.v16-expertise-panels article,.v16-service-switcher__panels>article{animation:none!important}.v16-journey__visual{transform:none!important}.v16-journey__steps article{transition:none!important}}


/* V17 — restore signature interactions, centered proof, richer About, V15 Contact */
.page-home .v16-proof__head{max-width:900px;margin:0 auto 38px;display:block;text-align:center}
.page-home .v16-proof__head .fab-dot-label{display:inline-flex;margin-bottom:16px}
.page-home .v16-proof__head h2{max-width:820px;margin:0 auto;font-size:clamp(44px,4.8vw,78px)}
.page-home .v16-proof .animated-stats{width:min(1180px,100%);margin:0 auto}
.page-home .v16-proof [data-stat-card]{align-items:center;text-align:center;justify-content:center;gap:34px;min-height:205px}
.page-home .v16-proof [data-stat-card] small{max-width:190px;text-align:center}
.page-home .v16-proof__note{max-width:760px;margin:18px auto 0;text-align:center}

.v17-testimonials{background:var(--ink);color:var(--paper)}
.v17-testimonials .focus-testimonials{padding:clamp(84px,8vw,132px) var(--page)}
.v17-testimonials .focus-testimonials__head{margin-bottom:56px}
.v17-testimonials .focus-testimonials__stream{max-width:1460px}
.v17-testimonials .focus-testimonials__stream button{display:inline;line-height:1.12}
.v17-testimonials .focus-testimonials__stream button+button::before{content:' / ';color:rgba(240,235,226,.18);font-style:italic;margin:0 .16em}
.v17-testimonials .focus-testimonials.is-focusing .focus-testimonials__stream button:not(.is-focused){opacity:.16;filter:blur(4px);transform:scale(.985)}
.v17-testimonials .focus-testimonials__stream button.is-focused{opacity:1;filter:none;transform:translateY(-3px) scale(1.015)}

.v17-journey{height:188vh;background:var(--ink);color:var(--paper);border-radius:42px 42px 0 0;overflow:clip;position:relative;z-index:3;margin-top:-1px}
.v17-journey .journey__sticky{position:sticky;top:0;height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.v17-journey .journey__counter{position:absolute;z-index:9;top:calc(var(--header) + 24px);left:var(--page);display:flex;flex-direction:column;gap:7px;font:650 9px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase}.v17-journey .journey__counter b{font-weight:600;color:var(--muted)}
.v17-journey .journey__stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.v17-journey .journey__object{position:absolute;z-index:2;left:50%;top:50%;width:min(39vw,570px);aspect-ratio:1;display:grid;place-items:center;transform:translate3d(calc(-50% + var(--journey-shift,0)*1vw),calc(-50% + var(--journey-y,0)*1vh),0) scale(calc(.88 + var(--p,0)*.04)) rotate(var(--journey-rot,0deg));will-change:transform}
.v17-journey .journey__object .glass-showcase{width:82%;aspect-ratio:4/5}
.v17-journey .journey__halo{position:absolute;inset:-7%;border-radius:50%;background:radial-gradient(circle,rgba(204,70,12,.28),rgba(204,70,12,.045) 44%,transparent 70%);filter:blur(27px);opacity:calc(.56 + var(--journey-energy,.35)*.3);animation:journeyHaloV17 5.5s ease-in-out infinite alternate}
.v17-journey .journey__ring{position:absolute;z-index:7;inset:7%;border:1px solid rgba(240,235,226,.13);border-right-color:var(--ember-soft);border-bottom-color:rgba(233,119,54,.35);border-radius:50%;transform:rotate(var(--journey-ring,0deg)) scale(calc(.98 + var(--p,0)*.025));box-shadow:0 0 40px rgba(204,70,12,.05)}
.v17-journey .journey-copy{position:absolute;z-index:5;width:min(34vw,520px);opacity:0;pointer-events:none;filter:blur(6px);transform:translateY(24px) scale(.98);transition:opacity .42s,transform .62s var(--ease),filter .5s var(--ease)}
.v17-journey .journey-copy.is-active{opacity:1;filter:none;transform:none}
.v17-journey .journey-copy:nth-of-type(1){left:6vw;top:24vh}.v17-journey .journey-copy:nth-of-type(2){right:6vw;top:30vh}.v17-journey .journey-copy:nth-of-type(3){left:7vw;bottom:12vh}
.v17-journey .journey-copy small{font:700 9px/1 var(--ui);letter-spacing:.13em;color:var(--ember-soft)}
.v17-journey .journey-copy h2{margin:13px 0 14px;font:400 clamp(38px,4.4vw,72px)/.94 var(--serif);letter-spacing:-.03em}.v17-journey .journey-copy h2 em{font-style:italic;color:var(--ember-soft)}
.v17-journey .journey-copy p{max-width:430px;margin:0;color:rgba(240,235,226,.72);line-height:1.6}
@keyframes journeyHaloV17{from{transform:scale(.94);opacity:.48}to{transform:scale(1.04);opacity:.82}}

.video-slide.is-image-only .video-slide__copy{pointer-events:none}.video-slide__credit{display:inline-flex;padding:8px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(8,7,6,.42);font:650 7px/1 var(--ui);letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.78);backdrop-filter:blur(12px)}

.v17-about-page{background:var(--paper);color:var(--ink)}
.v17-about-hero{min-height:100svh;padding:calc(var(--header) + 44px) var(--page) 70px;display:grid;grid-template-columns:minmax(340px,.82fr) minmax(560px,1.18fr);gap:6vw;align-items:center}
.v17-about-portrait{margin:0;aspect-ratio:4/5;max-height:78svh;border-radius:38px;overflow:hidden;background:#d8d0c5;box-shadow:0 38px 100px rgba(73,49,31,.13)}.v17-about-portrait img{width:100%;height:100%;object-fit:cover}
.v17-about-hero__copy h1{margin:18px 0 28px;font:500 clamp(70px,7.6vw,132px)/.82 var(--serif);letter-spacing:-.055em}.v17-about-hero__copy h1 em{font-style:italic;color:var(--ember)}
.v17-about-hero__copy>p{max-width:720px;font-size:19px;line-height:1.66;color:rgba(8,7,6,.62)}.v17-about-hero__links{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.v17-about-hero__links a{padding:12px 16px;border:1px solid rgba(8,7,6,.1);border-radius:999px;font:700 9px/1 var(--ui);text-transform:uppercase}.v17-about-hero__links a:first-child{background:var(--ink);color:var(--paper)}
.v17-about-origin{padding:clamp(90px,9vw,150px) var(--page);display:grid;grid-template-columns:.35fr 1fr;gap:7vw;background:#e9e1d6}.v17-about-origin>div h2{max-width:980px;margin:0 0 24px;font:500 clamp(54px,6vw,102px)/.86 var(--serif);letter-spacing:-.05em}.v17-about-origin>div p{max-width:760px;margin:0;font-size:17px;line-height:1.75;color:rgba(8,7,6,.64)}
.v17-about-turn{padding:clamp(88px,9vw,150px) var(--page);display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;background:var(--ink);color:var(--paper)}.v17-about-turn__statement small{font:700 9px/1 var(--ui);color:var(--ember-soft);text-transform:uppercase;letter-spacing:.1em}.v17-about-turn__statement h2{max-width:900px;margin:24px 0 0;font:400 clamp(60px,7vw,116px)/.82 var(--serif);letter-spacing:-.05em}.v17-about-turn__statement h2 em{color:var(--ember-soft);font-style:italic}.v17-about-turn__copy{align-self:end;display:grid;gap:18px}.v17-about-turn__copy p{margin:0;color:rgba(240,235,226,.62);font-size:16px;line-height:1.72}
.v17-about-lenses{padding:clamp(86px,9vw,142px) var(--page);background:var(--paper)}.v17-about-lenses__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px}.v17-about-lenses__grid article{min-height:310px;padding:28px;border-radius:30px;background:#fff;border:1px solid rgba(8,7,6,.06);display:flex;flex-direction:column}.v17-about-lenses__grid article>span{font:700 9px/1 var(--ui);color:var(--ember)}.v17-about-lenses__grid h3{margin:auto 0 16px;font:500 clamp(34px,3.1vw,54px)/.9 var(--serif)}.v17-about-lenses__grid p{margin:0;color:rgba(8,7,6,.6);line-height:1.62}
.v17-about-curiosity{padding:clamp(88px,9vw,150px) var(--page);display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;background:#e7ded2}.v17-about-curiosity>div:first-child h2{margin:22px 0 0;font:500 clamp(56px,6vw,100px)/.85 var(--serif);letter-spacing:-.05em}.v17-about-curiosity__bento{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v17-about-curiosity__bento article{min-height:210px;padding:24px;border-radius:26px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.8)}.v17-about-curiosity__bento strong{display:block;margin-bottom:32px;font:500 28px/1 var(--serif)}.v17-about-curiosity__bento p{margin:0;color:rgba(8,7,6,.62);font-size:14px;line-height:1.62}
.v17-about-workstyle{padding:clamp(90px,9vw,150px) var(--page);background:var(--paper);display:grid;grid-template-columns:.35fr 1fr;gap:7vw}.v17-about-workstyle h2{grid-column:2;margin:0;font:500 clamp(58px,6.4vw,108px)/.84 var(--serif);letter-spacing:-.05em}.v17-about-workstyle>div{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:24px}.v17-about-workstyle p{margin:0;color:rgba(8,7,6,.64);font-size:16px;line-height:1.72}.v17-about-proof{padding:clamp(90px,9vw,150px) var(--page);background:var(--ink);color:var(--paper)}.v17-about-proof small{font:700 9px/1 var(--ui);color:var(--ember-soft);text-transform:uppercase}.v17-about-proof blockquote{max-width:1320px;margin:32px 0 20px;font:400 clamp(48px,6vw,96px)/.92 var(--serif);letter-spacing:-.035em}.v17-about-proof>span{color:rgba(240,235,226,.5);font-size:13px}

/* Restore the V15 contact composer rather than duplicating the Home quick-contact layout. */
.v17-contact-page{background:var(--paper);color:var(--ink)}
.page-contact.page-v17 .faq-section{margin-top:0}

@media(max-width:900px){
  .page-home .v16-proof__head{text-align:left;margin-left:0}.page-home .v16-proof__note{text-align:left;margin-left:0}
  .v17-about-hero{grid-template-columns:1fr;gap:30px}.v17-about-portrait{max-height:68svh;max-width:560px}.v17-about-origin,.v17-about-turn,.v17-about-curiosity,.v17-about-workstyle{grid-template-columns:1fr}.v17-about-origin>div,.v17-about-workstyle h2,.v17-about-workstyle>div{grid-column:auto}.v17-about-lenses__grid{grid-template-columns:1fr}.v17-about-curiosity__bento{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .v17-testimonials .focus-testimonials__stream button{display:block}.v17-testimonials .focus-testimonials__stream button+button::before{display:none}.v17-testimonials .focus-testimonials.is-focusing .focus-testimonials__stream button:not(.is-focused){opacity:1;filter:none;transform:none}
  .v17-journey{height:178vh;border-radius:28px 28px 0 0}.v17-journey .journey__counter{top:78px;left:18px}.v17-journey .journey__object{width:76vw;top:40%}.v17-journey .journey-copy{left:18px!important;right:18px!important;top:auto!important;bottom:8vh!important;width:auto}.v17-journey .journey-copy h2{font-size:11.5vw}.v17-journey .journey-copy p{font-size:14px}.v17-journey .journey__object .glass-showcase{width:86%}
  .v17-about-hero{padding:calc(var(--header) + 26px) 16px 56px}.v17-about-hero__copy h1{font-size:17vw}.v17-about-hero__copy>p{font-size:15px}.v17-about-origin,.v17-about-turn,.v17-about-lenses,.v17-about-curiosity,.v17-about-workstyle,.v17-about-proof{padding:64px 16px}.v17-about-origin>div h2,.v17-about-turn__statement h2,.v17-about-curiosity>div:first-child h2,.v17-about-workstyle h2{font-size:14vw}.v17-about-curiosity__bento,.v17-about-workstyle>div{grid-template-columns:1fr}.v17-about-lenses__grid article{min-height:220px}.v17-about-proof blockquote{font-size:11vw}
}
@media(prefers-reduced-motion:reduce){.v17-journey .journey__object,.v17-journey .journey__ring{transform:none!important}.v17-journey .journey__halo{animation:none!important}}

/* ========================================================================== 
   V19 — presentation polish + stability pass
   ========================================================================== */

/* Hero video: the iframe is mounted after first paint and fades over the poster. */
.v16-hero__video{opacity:0;transition:opacity .55s var(--ease)}
.v16-hero__media.is-video-ready .v16-hero__video{opacity:1}

/* Three dimensions — more editorial, visually distinctive, still fully readable. */
.v19-dimensions__grid{gap:14px;align-items:stretch}
.v19-dimension{position:relative;min-height:590px;padding:0;display:grid;grid-template-rows:190px 1fr;overflow:hidden;border-radius:32px;background:#fff;border:1px solid rgba(8,7,6,.065);box-shadow:0 20px 58px rgba(58,43,32,.075);isolation:isolate;transition:transform .42s var(--ease),box-shadow .42s var(--ease),border-color .32s var(--ease)}
.v19-dimension::after{content:'';position:absolute;inset:0;z-index:5;border-radius:inherit;pointer-events:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.v19-dimension__visual{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;padding:20px 22px;background:radial-gradient(circle at 78% 30%,rgba(233,119,54,.36),transparent 28%),linear-gradient(135deg,#17120f,#080706 72%);color:var(--paper)}
.v19-dimension:nth-child(2) .v19-dimension__visual{background:radial-gradient(circle at 22% 74%,rgba(233,119,54,.42),transparent 29%),linear-gradient(135deg,#28170f,#080706 74%)}
.v19-dimension:nth-child(3) .v19-dimension__visual{background:radial-gradient(circle at 72% 70%,rgba(204,70,12,.48),transparent 31%),linear-gradient(135deg,#0b0a09,#24130d 100%)}
.v19-dimension__visual>span{position:relative;z-index:3;align-self:flex-start;font:700 9px/1 var(--ui);letter-spacing:.11em;color:var(--ember-soft)}
.v19-dimension__visual>b{position:relative;z-index:2;margin:-13px -4px -22px 0;font:500 clamp(92px,8.2vw,148px)/.72 var(--serif);letter-spacing:-.09em;color:rgba(240,235,226,.94);transform-origin:bottom right;transition:transform .55s var(--ease),color .4s var(--ease)}
.v19-dimension__visual>i{position:absolute;left:22px;right:22px;bottom:24px;height:1px;background:linear-gradient(90deg,var(--ember-soft),rgba(240,235,226,.22) 34%,transparent 78%);transform-origin:left center;transition:transform .55s var(--ease)}
.v19-dimension__visual::after{content:'';position:absolute;width:190px;height:190px;right:-52px;top:-62px;border:1px solid rgba(240,235,226,.13);border-radius:50%;box-shadow:0 0 0 28px rgba(240,235,226,.025),0 0 0 58px rgba(240,235,226,.018);transition:transform .7s var(--ease)}
.v19-dimension__body{min-width:0;padding:26px 28px 28px;display:flex;flex-direction:column}
.v19-dimension__label{display:flex;align-items:center;gap:10px;margin-bottom:20px}.v19-dimension__label>span{display:none}.v19-dimension__label small{font:750 9px/1 var(--ui);letter-spacing:.11em;text-transform:uppercase;color:var(--ember)}
.v19-dimension h3{margin:0 0 18px;max-width:13ch;font:500 clamp(32px,2.55vw,48px)/.94 var(--serif);letter-spacing:-.035em}
.v19-dimension>p{display:none}.v19-dimension__body>p{margin:0;color:rgba(8,7,6,.6);font-size:13.5px;line-height:1.62}
.v19-dimension__impact{margin-top:auto;padding-top:24px;border-top:1px solid rgba(8,7,6,.08)}
.v19-dimension__impact small{display:block;margin-bottom:8px;font:700 8px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:rgba(8,7,6,.42)}
.v19-dimension__impact strong{display:block;padding:0;font:650 13px/1.46 var(--body);color:var(--ink)}
.v19-dimension>a{margin:18px 0 0!important;padding:0!important;border:0!important;display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;font:750 9px/1 var(--ui)!important;letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}
.v19-dimension>a b{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--paper);font:500 15px/1 var(--ui);transition:transform .35s var(--ease),background .35s var(--ease)}
@media(hover:hover) and (pointer:fine){
  .v19-dimension:hover{transform:translateY(-7px);border-color:rgba(204,70,12,.15);box-shadow:0 30px 82px rgba(58,43,32,.13)}
  .v19-dimension:hover .v19-dimension__visual>b{transform:translate3d(-5px,-4px,0) scale(1.055);color:#fff}
  .v19-dimension:hover .v19-dimension__visual>i{transform:scaleX(1.1)}
  .v19-dimension:hover .v19-dimension__visual::after{transform:translate3d(-10px,10px,0) scale(1.08)}
  .v19-dimension>a:hover b{transform:translate3d(3px,-3px,0);background:var(--ember)}
}

/* Tool logos: one shared visual box, then brand-specific optical correction. */
.v16-logo-grid .v16-logo-card{padding:18px 12px}
.v16-logo-grid .v16-logo-media{width:190px;max-width:72%;height:58px;display:grid;place-items:center;overflow:visible}
.v16-logo-grid .v16-logo-card img{display:block;max-width:100%;max-height:46px;width:auto;height:auto;object-fit:contain;object-position:center}
.v16-logo-card.is-sony .v16-logo-media{width:190px;height:58px}
.v16-logo-card.is-sony img{max-width:50%;max-height:28px}
.v16-logo-card.is-smallrig .v16-logo-media{width:190px;height:58px}
.v16-logo-card.is-smallrig img{max-width:88%;max-height:44px}
.v16-logo-card.is-pgytech .v16-logo-media{width:190px;height:58px;overflow:visible}
.v16-logo-card.is-pgytech img{width:100%;max-width:100%;max-height:54px;height:auto;object-fit:contain;filter:none;opacity:.94}
.v16-logo-card.is-pgytech:hover img{filter:none;transform:scale(1.035);opacity:1}

/* Stability: preserve the look but remove full-area repaint loops and expensive entrance blur. */
.home-pricing__backdrop i{animation:none!important}
.reveal-enabled .motion-reveal,.reveal-enabled .work-entry,.reveal-enabled .satellite-link,.reveal-enabled .note-card{filter:none!important}
.reveal-enabled .motion-reveal.is-revealed,.reveal-enabled .work-entry.is-revealed,.reveal-enabled .satellite-link.is-revealed,.reveal-enabled .note-card.is-revealed{filter:none!important;transition:opacity .62s var(--ease),transform .62s var(--ease)}

@media(max-width:1100px){
  .v19-dimension{min-height:550px}
  .v19-dimension:last-child{grid-column:1/-1;grid-template-columns:220px 1fr;grid-template-rows:1fr;min-height:380px}
  .v19-dimension:last-child .v19-dimension__visual{min-height:100%}
  .v19-dimension:last-child .v19-dimension__body{padding:30px}
}

@media(max-width:900px){
  .glass-showcase__webgl{display:none!important}
  .site-header.is-scrolled,.v16-pricing__tabs,.v16-pricing__panels article,.v16-hero__roles span{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

@media(max-width:760px){
  .v19-dimensions__grid{grid-template-columns:1fr!important;gap:12px}
  .v19-dimension,.v19-dimension:last-child{grid-column:auto;grid-template-columns:1fr;grid-template-rows:150px 1fr;min-height:510px;border-radius:26px}
  .v19-dimension:last-child .v19-dimension__visual{min-height:0}
  .v19-dimension__visual{padding:17px 18px}.v19-dimension__visual>b{font-size:104px}.v19-dimension__visual>i{left:18px;right:18px;bottom:20px}
  .v19-dimension__body,.v19-dimension:last-child .v19-dimension__body{padding:22px}
  .v19-dimension h3{font-size:10.5vw;max-width:14ch}
  .v16-logo-grid .v16-logo-media{width:150px;max-width:72%;height:48px}
  .v16-logo-card.is-sony img{max-width:50%;max-height:22px}
  .v16-logo-card.is-smallrig img{max-width:88%;max-height:34px}
  .v16-logo-card.is-pgytech img{max-height:44px}
}

@media(prefers-reduced-motion:reduce){
  .v16-hero__video{display:none!important}
  .v19-dimension,.v19-dimension__visual>b,.v19-dimension__visual>i,.v19-dimension__visual::after,.v19-dimension>a b{transition:none!important}
}

/* V20 — conversion copy, accessibility, privacy and performance polish. */
.v20-hero__line{position:absolute;left:clamp(28px,4vw,76px);top:clamp(30%,34vh,40%);z-index:5;margin:0;max-width:12ch;color:rgba(240,235,226,.92);font:400 clamp(34px,4.3vw,72px)/.92 var(--serif);letter-spacing:-.045em;text-wrap:balance}.v20-hero__line strong{font-weight:500;color:#fff}
.v20-ecosystem--breather{padding-top:clamp(96px,11vw,180px);padding-bottom:clamp(96px,11vw,180px)}.v20-ecosystem--breather .brand-ecosystem__grid{max-width:1680px;margin-inline:auto}.v20-ecosystem--breather .brand-ecosystem__grid>div{box-shadow:0 10px 28px rgba(73,49,31,.028)}
.external-media__privacy{max-width:530px;margin:16px auto 0;color:rgba(255,255,255,.65);font-size:10px;line-height:1.45}.external-media__privacy a{text-decoration:underline;text-underline-offset:2px}
.footer-cookie-link{padding:0;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}
.cookie-consent{position:fixed;z-index:1200;left:50%;bottom:max(18px,env(safe-area-inset-bottom));width:min(760px,calc(100vw - 28px));transform:translate(-50%,18px);opacity:0;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:18px 20px;border:1px solid rgba(240,235,226,.14);border-radius:22px;background:rgba(8,7,6,.92);backdrop-filter:blur(20px);color:var(--paper);box-shadow:0 24px 80px rgba(0,0,0,.3);transition:opacity .22s ease,transform .22s ease}.cookie-consent[hidden]{display:none}.cookie-consent.is-visible{opacity:1;transform:translate(-50%,0)}.cookie-consent strong{font:700 10px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase}.cookie-consent p{margin:8px 0 0;max-width:52ch;color:rgba(240,235,226,.64);font-size:11px;line-height:1.45}.cookie-consent__actions{display:flex;gap:8px}.cookie-consent__actions button{padding:11px 13px;border:1px solid rgba(240,235,226,.2);border-radius:999px;background:transparent;color:var(--paper);font:700 8px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
/* More off-screen sections can skip layout/paint work without changing rendered appearance. */
.faq-section,.quick-contact,.v16-proof,.fab-projects,.v16-combined-expertise{content-visibility:auto;contain-intrinsic-size:800px}
@media(max-width:760px){.v20-hero__line{left:18px;right:18px;top:auto;bottom:174px;max-width:13ch;font-size:clamp(34px,11vw,52px)}.v20-ecosystem--breather{padding-top:88px;padding-bottom:88px}.cookie-consent{grid-template-columns:1fr;gap:14px;padding:16px}.cookie-consent__actions{display:grid;grid-template-columns:1fr 1fr}.cookie-consent__actions button{min-height:44px}.external-media__privacy{font-size:9px}}
@media(prefers-reduced-motion:reduce){.cookie-consent{transition:none}.v20-hero__line{transform:none}}

/* ========================================================================== 
   MOBILE DISPLAY HOTFIX — layout only
   Prevents the three mobile collisions reported on the home page without
   changing the desktop composition or the visual system.
   ========================================================================== */
@media(max-width:760px){
  /* The floating header must fully mask content that scrolls underneath it. */
  .site-header.fab-header,
  .site-header.fab-header.is-scrolled{
    background:rgba(10,9,8,.97)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  /* HERO: use normal vertical flow on mobile instead of three independent
     absolute layers. This keeps roles, statement and CTAs impossible to overlap. */
  .page-home .v16-hero{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-height:max(720px,calc(100svh - 96px));
    padding:clamp(116px,16svh,148px) 18px 78px;
  }
  .page-home .v16-hero__roles{
    position:static;
    inset:auto;
    width:100%;
    flex:0 0 auto;
    align-items:flex-start;
    gap:8px;
  }
  .page-home .v16-hero__roles span{
    font-size:15px;
  }
  .page-home .v20-hero__line{
    position:static;
    inset:auto;
    flex:0 0 auto;
    width:min(100%,14ch);
    max-width:14ch;
    margin:clamp(30px,5.5svh,50px) 0 0;
    font-size:clamp(34px,9.8vw,44px);
    line-height:.94;
    text-wrap:balance;
  }
  .page-home .v16-hero__actions{
    position:static;
    inset:auto;
    width:100%;
    margin-top:auto;
    padding-top:clamp(30px,5svh,46px);
    flex:0 0 auto;
  }

  /* JOURNEY: reserve a top visual zone and a lower copy zone. The active text
     no longer crosses the showcase image on short/tall mobile viewports. */
  .page-home .v17-journey .journey__object{
    width:min(68vw,270px);
    top:30%;
  }
  .page-home .v17-journey .journey__object .glass-showcase{
    width:84%;
  }
  .page-home .v17-journey .journey-copy,
  .page-home .v17-journey .journey-copy:nth-of-type(1),
  .page-home .v17-journey .journey-copy:nth-of-type(2),
  .page-home .v17-journey .journey-copy:nth-of-type(3){
    left:18px!important;
    right:18px!important;
    top:56%!important;
    bottom:auto!important;
    width:auto;
  }
  .page-home .v17-journey .journey-copy h2{
    margin-top:12px;
    margin-bottom:14px;
    max-width:10ch;
    font-size:clamp(38px,10.5vw,44px);
    line-height:.94;
  }
  .page-home .v17-journey .journey-copy p{
    max-width:34ch;
    font-size:14px;
  }

  /* ECOSYSTEM: cards keep a real gutter on narrow screens. */
  .page-home .brand-ecosystem__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:16px;
    row-gap:16px;
    padding-inline:2px;
  }
  .page-home .brand-ecosystem__grid>div{
    min-width:0;
  }
}
