:root{
  --ink:#0b0b0a;
  --ink-2:#151714;
  --paper:#f2efe6;
  --paper-2:#e7e1d5;
  --acid:#c9ff43;
  --acid-soft:#e1ff95;
  --sand:#d9c7af;
  --text:#11120f;
  --muted:#777a72;
  --line:rgba(17,18,15,.16);
  --line-dark:rgba(255,255,255,.16);
  --max:1440px;
  --gutter:clamp(20px,3.2vw,52px);
  --nav-h:76px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
html,body{margin:0;padding:0;overflow-x:hidden}
body{font-family:"Manrope","Segoe UI",Arial,sans-serif;background:var(--paper);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img,svg{display:block;max-width:100%}
.container{width:min(calc(100% - (var(--gutter) * 2)),var(--max));margin-inline:auto}
.display{font-size:clamp(3.3rem,7.4vw,8.1rem);line-height:.88;letter-spacing:-.072em;font-weight:760;margin:0;text-wrap:balance}
.h1{font-size:clamp(3rem,6vw,6.6rem);line-height:.92;letter-spacing:-.067em;font-weight:750;margin:0}
.h2{font-size:clamp(2.2rem,4.7vw,5.2rem);line-height:.94;letter-spacing:-.058em;font-weight:720;margin:0;text-wrap:balance}
.h3{font-size:clamp(1.5rem,2.5vw,2.7rem);line-height:1;letter-spacing:-.045em;font-weight:700;margin:0}
.serif{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.035em}
.lead{font-size:clamp(1.02rem,1.35vw,1.25rem);line-height:1.66;letter-spacing:-.018em}
.copy{font-size:1rem;line-height:1.75;letter-spacing:-.01em}
.micro{font-size:.72rem;line-height:1.25;text-transform:uppercase;letter-spacing:.16em;font-weight:750}
.muted{color:var(--muted)}
.acid-text{color:var(--acid)}
.rule{height:1px;background:var(--line)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;border-radius:999px;border:1px solid currentColor;font-size:.9rem;font-weight:700;transition:transform .25s var(--ease),background .25s,color .25s}
.btn:hover{transform:translateY(-2px)}
.btn.acid{background:var(--acid);border-color:var(--acid);color:var(--ink)}
.btn.ink{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn.paper{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.btn.ghost{background:transparent}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;height:var(--nav-h);z-index:80;color:var(--paper);transition:color .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease);border-bottom:1px solid transparent}
.nav::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,10,.78),rgba(11,11,10,.24),transparent);opacity:1;pointer-events:none;transition:opacity .35s}
.nav.is-solid::before{background:rgba(11,11,10,.93);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line-dark)}
.nav.is-light{color:var(--ink)}
.nav.is-light::before{background:rgba(242,239,230,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:1}
.wordmark{display:flex;align-items:center;gap:8px;font-size:1.02rem;font-weight:800;letter-spacing:-.045em}
.wordmark i{width:9px;height:9px;border-radius:50%;background:var(--acid);flex:none}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a{font-size:.88rem;font-weight:650;opacity:.84;transition:opacity .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{opacity:1}
.nav-cta{font-size:.86rem;font-weight:750;border:1px solid currentColor;border-radius:999px;padding:10px 14px;white-space:nowrap}
.menu-btn{display:none;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;padding:9px 13px}
.mobile-menu{position:fixed;inset:0;z-index:75;background:var(--acid);color:var(--ink);padding:calc(var(--nav-h) + 34px) var(--gutter) 28px;display:flex;flex-direction:column;justify-content:flex-end;gap:0;transform:translateY(-102%);transition:transform .55s cubic-bezier(.83,0,.17,1)}
body.menu-open .mobile-menu{transform:none}
.mobile-menu a{font-size:clamp(2.5rem,12vw,5rem);line-height:.95;letter-spacing:-.065em;font-weight:780;padding:12px 0;border-bottom:1px solid rgba(11,11,10,.2)}
.progress{position:fixed;left:0;top:0;z-index:100;width:0;height:3px;background:var(--acid);pointer-events:none}
.page-wipe{position:fixed;inset:0;z-index:120;background:var(--acid);transform:translateY(102%);pointer-events:none}
.page-wipe.active{animation:pagewipe .72s cubic-bezier(.83,0,.17,1)}
@keyframes pagewipe{0%{transform:translateY(102%)}45%{transform:translateY(0)}58%{transform:translateY(0)}100%{transform:translateY(-102%)}}

/* REVEAL SYSTEM */
[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
[data-reveal].is-in{opacity:1;transform:none}
.line-mask{display:block;overflow:hidden;padding-bottom:.055em;margin-bottom:-.055em}
.line-mask>span{display:block;animation:heroLine .92s var(--ease) both}
.line-mask:nth-child(2)>span{animation-delay:.08s}
.line-mask:nth-child(3)>span{animation-delay:.16s}
.line-mask:nth-child(4)>span{animation-delay:.24s}
@keyframes heroLine{from{transform:translateY(108%)}to{transform:none}}
.media-reveal{clip-path:inset(8% 0 8% 0 round 18px);transform:scale(1.025);transition:clip-path 1s var(--ease),transform 1.2s var(--ease)}
.media-reveal.is-in{clip-path:inset(0 0 0 0 round 0);transform:scale(1)}

/* HERO */
.hero{min-height:100svh;background:var(--ink);color:var(--paper);padding:calc(var(--nav-h) + clamp(64px,9vh,110px)) 0 clamp(34px,5vh,60px);display:flex;align-items:flex-end;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 83% 25%,rgba(201,255,67,.14),transparent 19%),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:auto,64px 64px,64px 64px;mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.3));opacity:.55}
.hero-signal{position:absolute;right:clamp(-90px,-4vw,-20px);top:22%;width:clamp(160px,20vw,340px);aspect-ratio:1;border-radius:50%;background:var(--acid);box-shadow:0 0 0 clamp(18px,3vw,44px) rgba(201,255,67,.045);will-change:transform}
.hero-signal::after{content:"";position:absolute;width:28%;aspect-ratio:1;border-radius:50%;background:var(--paper);right:12%;top:12%}
.hero-inner{position:relative;z-index:2;width:100%}
.hero-kicker{display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line-dark);padding-top:14px;margin-bottom:clamp(30px,5vh,58px);color:#bebeb8}
.hero-title{max-width:1180px;position:relative}
.hero-title .serif{color:var(--acid)}
.hero-bottom{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:end;margin-top:clamp(34px,6vh,64px)}
.hero-bottom .lead{max-width:720px;margin:0;color:#d4d4cf}
.hero-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.hero-index{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line-dark);margin-top:clamp(34px,5vh,52px);padding-top:14px;color:#aaa9a4}
.hero-index span{white-space:nowrap}

/* INTRO */
.intro{background:var(--paper);padding:clamp(100px,12vw,170px) 0}
.split{display:grid;grid-template-columns:.32fr .68fr;gap:clamp(28px,5vw,70px)}
.intro .h2{max-width:1120px}
.intro .lead{max-width:780px;margin:30px 0 0}

/* CASE STORYTELLING */
.work{background:var(--paper);padding:0 0 clamp(110px,10vw,160px)}
.work-head{padding:0 0 54px;display:grid;grid-template-columns:.55fr .45fr;gap:40px;align-items:end}
.work-head .lead{margin:0;max-width:600px;justify-self:end}
.case{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:clamp(26px,5vw,72px);align-items:start;padding:0 0 clamp(120px,13vw,190px)}
.case:last-child{padding-bottom:0}
.case-media-wrap{position:sticky;top:calc(var(--nav-h) + 26px);height:calc(100svh - var(--nav-h) - 52px);min-height:560px;overflow:hidden;border-radius:3px;background:#ddd;align-self:start}
.case-media{position:absolute;inset:-6%;width:112%;height:112%;object-fit:cover;will-change:transform;filter:saturate(.94) contrast(1.02)}
.case-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.38))}
.case-badge{position:absolute;left:22px;top:22px;background:var(--paper);color:var(--ink);padding:9px 12px;border-radius:999px;z-index:2}
.case-live{position:absolute;right:22px;bottom:22px;background:var(--acid);color:var(--ink);padding:12px 15px;border-radius:999px;font-size:.82rem;font-weight:800;z-index:2}
.case-copy{padding-top:clamp(12px,4vh,60px);min-height:calc(100svh - var(--nav-h) - 52px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.case-copy .micro{color:var(--muted)}
.case-copy .h2{margin:18px 0 28px}
.case-copy .lead{max-width:590px;margin:0 0 28px}
.case-facts{width:100%;border-top:1px solid var(--line);margin:24px 0 32px}
.case-fact{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}
.case-fact strong{font-size:.84rem;text-transform:uppercase;letter-spacing:.1em}
.case-fact span{font-size:.94rem;color:#55574f;line-height:1.55}
.case-commerce{background:var(--acid);padding:clamp(90px,10vw,150px) 0;margin-bottom:0}
.case-commerce .case{padding:0}
.case-commerce .case-media-wrap{background:var(--ink);color:var(--paper)}
.commerce-art{position:absolute;inset:0;padding:clamp(24px,4vw,58px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.commerce-word{font-size:clamp(4rem,10vw,10rem);line-height:.78;letter-spacing:-.09em;font-weight:800;text-transform:uppercase}
.commerce-object{position:absolute;width:26%;height:62%;left:51%;top:22%;background:linear-gradient(180deg,#f1efe7,#9e9e94);border-radius:48% 48% 22% 22% / 22% 22% 12% 12%;box-shadow:0 40px 100px rgba(0,0,0,.32);transform:rotate(7deg)}
.commerce-object::after{content:"NOVA";position:absolute;left:50%;bottom:18%;transform:translateX(-50%) rotate(-90deg);font-size:.78rem;letter-spacing:.32em;color:#111}
.commerce-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;position:relative;z-index:2}
.commerce-bottom .price{font-size:clamp(2.3rem,5vw,5rem);font-weight:800;letter-spacing:-.07em}
.case-commerce .case-copy .micro,.case-commerce .case-fact span{color:#33362d}
.case-commerce .case-facts,.case-commerce .case-fact{border-color:rgba(11,11,10,.2)}
.case-local{background:var(--ink);color:var(--paper);padding:clamp(100px,11vw,160px) 0;margin-bottom:0}
.case-local .case{padding:0}
.case-local .case-copy .micro,.case-local .case-fact span{color:#b5b5af}
.case-local .case-facts,.case-local .case-fact{border-color:var(--line-dark)}
.local-art{position:absolute;inset:0;background:var(--paper);color:var(--ink);padding:clamp(24px,4vw,54px);display:grid;grid-template-rows:auto 1fr auto;gap:30px}
.local-top{display:flex;justify-content:space-between;gap:18px}
.local-title{font-size:clamp(4rem,9vw,9rem);line-height:.8;letter-spacing:-.085em;font-weight:800;align-self:center}
.local-stages{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.local-stage{min-height:130px;padding:14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.local-stage.acid{background:var(--acid)}
.local-stage strong{font-size:1.05rem}

/* CAPABILITIES */
.capabilities{padding:clamp(110px,12vw,170px) 0;background:var(--paper)}
.cap-head{display:grid;grid-template-columns:.32fr .68fr;gap:40px;margin-bottom:46px}
.cap-list{border-top:1px solid var(--line)}
.cap-row{display:grid;grid-template-columns:100px minmax(260px,.72fr) 1fr 60px;gap:24px;align-items:start;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .3s var(--ease),background .3s}
.cap-row:hover{padding-left:12px;padding-right:12px;background:rgba(255,255,255,.28)}
.cap-row h3{font-size:clamp(1.5rem,2.5vw,2.5rem);line-height:1;letter-spacing:-.048em;margin:0}
.cap-row p{margin:0;max-width:660px;line-height:1.68;color:#4f514a}
.cap-row .arr{font-size:1.45rem;justify-self:end;color:var(--ink)}

/* STANDARD */
.standard{background:var(--sand);padding:clamp(100px,11vw,160px) 0}
.standard .h2{max-width:1100px}
.standard .lead{max-width:760px;margin:30px 0 0}
.value-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:56px;border-top:1px solid rgba(11,11,10,.2);border-left:1px solid rgba(11,11,10,.2)}
.value{min-height:330px;padding:28px;border-right:1px solid rgba(11,11,10,.2);border-bottom:1px solid rgba(11,11,10,.2);display:flex;flex-direction:column;justify-content:space-between}
.value:nth-child(2){background:var(--acid)}
.value h3{font-size:clamp(2rem,3.2vw,3.2rem);line-height:.96;letter-spacing:-.055em;margin:0;max-width:530px}
.value p{margin:22px 0 0;max-width:570px;line-height:1.7}

/* PROCESS */
.process{background:var(--ink);color:var(--paper);padding:clamp(110px,12vw,170px) 0}
.process-grid{display:grid;grid-template-columns:.32fr .68fr;gap:40px}
.steps{border-top:1px solid var(--line-dark)}
.step{display:grid;grid-template-columns:100px minmax(220px,.7fr) 1fr;gap:24px;padding:25px 0;border-bottom:1px solid var(--line-dark)}
.step .micro{color:var(--acid)}
.step h3{margin:0;font-size:clamp(1.45rem,2.2vw,2.2rem);letter-spacing:-.045em}
.step p{margin:0;color:#b9b9b3;line-height:1.68}

/* CTA/FOOTER */
.cta{background:var(--acid);color:var(--ink);padding:clamp(100px,11vw,160px) 0}
.cta-grid{display:grid;grid-template-columns:.32fr .68fr;gap:40px}
.cta .lead{max-width:700px;margin:30px 0 0}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.footer{background:var(--ink);color:var(--paper);padding:56px 0 26px}
.footer-top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:30px;padding-bottom:38px;border-bottom:1px solid var(--line-dark)}
.footer h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#999994;margin:0 0 14px}
.footer a{display:block;padding:6px 0;color:#d5d5d0}
.footer-bottom{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:20px;color:#8f8f8a;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}

/* PAGE HERO */
.page-hero{min-height:72svh;background:var(--ink);color:var(--paper);padding:calc(var(--nav-h) + 100px) 0 70px;display:flex;align-items:flex-end;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-6vw;bottom:-15vw;width:36vw;aspect-ratio:1;border-radius:50%;background:var(--acid)}
.page-hero .container{position:relative;z-index:2}
.page-hero .lead{max-width:760px;margin:28px 0 0;color:#cfcfc9}

/* EUROPE ACQUISITION HERO — keep the lime signal away from the lime editorial line. */
.europe-hero::after{right:-24vw;bottom:-17vw;width:40vw}
.europe-hero .h1{max-width:min(1180px,86vw)}
.europe-hero .h1 .acid-text{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone}
@media(max-width:1100px){
  .europe-hero::after{right:-28vw;bottom:-12vw;width:50vw;opacity:.92}
  .europe-hero .h1{max-width:92%}
}
@media(max-width:720px){
  .europe-hero::after{right:-50vw;bottom:-34vw;width:84vw;opacity:.72}
  .europe-hero .h1{max-width:100%}
  .europe-hero .h1 .acid-text{display:block;max-width:92%;line-height:.98}
}
.page-main{padding:clamp(90px,10vw,140px) 0;background:var(--paper)}

/* SERVICES PAGE */
.service-block{display:grid;grid-template-columns:110px .75fr 1.25fr;gap:30px;padding:34px 0;border-top:1px solid var(--line)}
.service-block:last-child{border-bottom:1px solid var(--line)}
.service-block h2{font-size:clamp(2rem,3.3vw,3.6rem);line-height:.95;letter-spacing:-.055em;margin:0}
.service-block p{margin:0;color:#4f514a;line-height:1.75}
.deliverables{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.deliverables span{border:1px solid var(--line);border-radius:999px;padding:9px 11px;font-size:.82rem}

/* WORK PAGE */
.work-list{display:grid;gap:90px}
.work-card{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}
.work-card:nth-child(even){grid-template-columns:.95fr 1.05fr}.work-card:nth-child(even) .work-card-media{order:2}
.work-card-media{aspect-ratio:4/3;overflow:hidden;background:#ddd;position:relative}
.work-card-media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.work-card:hover img{transform:scale(1.035)}
.work-card-copy h2{font-size:clamp(2.5rem,4.7vw,5.2rem);line-height:.9;letter-spacing:-.065em;margin:14px 0 22px}
.work-card-copy p{max-width:650px;line-height:1.75;color:#4e5049}
.work-tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.work-tags span{border:1px solid var(--line);padding:8px 10px;border-radius:999px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.concept-visual{height:100%;width:100%;display:flex;flex-direction:column;justify-content:space-between;padding:28px;background:var(--acid)}
.concept-visual.dark{background:var(--ink);color:var(--paper)}
.concept-visual .big{font-size:clamp(4rem,8vw,8rem);line-height:.8;letter-spacing:-.08em;font-weight:800}

/* STUDIO */
.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.studio-card{border:1px solid var(--line);padding:30px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.2)}
.studio-card:nth-child(2){background:var(--acid)}
.studio-card h3{font-size:clamp(2rem,3.1vw,3.2rem);line-height:.96;letter-spacing:-.055em;margin:0}
.studio-card p{max-width:560px;line-height:1.75;margin:24px 0 0}
.studio-values{margin-top:80px;border-top:1px solid var(--line)}
.studio-value{display:grid;grid-template-columns:100px .7fr 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}
.studio-value h3{margin:0;font-size:1.5rem;letter-spacing:-.04em}.studio-value p{margin:0;color:#55574f;line-height:1.7}

/* FORM */
.form-shell{display:grid;grid-template-columns:.78fr 1.22fr;gap:46px;align-items:start}
.intake-aside{position:sticky;top:calc(var(--nav-h) + 30px)}
.intake-aside .h2{font-size:clamp(2.4rem,4vw,4.6rem)}
.intake-aside .lead{margin:25px 0 0;color:#4f514a}
.intake-list{margin-top:32px;border-top:1px solid var(--line)}
.intake-list div{display:grid;grid-template-columns:55px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}
.form-card{border:1px solid var(--line);background:#f8f5ed;padding:clamp(22px,3vw,36px)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:8px}.field.full{grid-column:1/-1}
label{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;font-weight:750}
input,select,textarea{width:100%;border:0;border-bottom:1px solid rgba(11,11,10,.28);background:transparent;color:var(--ink);border-radius:0;padding:13px 2px;outline:none}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{border-bottom-color:var(--ink)}
.form-actions{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-top:28px}.small{font-size:.84rem;color:#696b64;line-height:1.65;max-width:500px}

/* SECTORS */
.sector-index{background:var(--paper);padding:clamp(90px,10vw,140px) 0}
.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sector-card{border:1px solid var(--line);min-height:270px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.18);transition:transform .3s var(--ease),background .3s}
.sector-card:hover{transform:translateY(-4px);background:#fff}.sector-card:nth-child(4n+2){background:var(--acid)}.sector-card h3{font-size:1.7rem;line-height:1;letter-spacing:-.048em;margin:16px 0 12px}.sector-card p{margin:0;color:#56584f;line-height:1.62}.sector-card .arr{font-size:1.5rem}
.sector-hero{min-height:70svh;background:var(--ink);color:var(--paper);padding:calc(var(--nav-h) + 100px) 0 70px;display:flex;align-items:flex-end}.sector-hero .lead{max-width:790px;color:#cecec8;margin:26px 0 0}.sector-hero .display{max-width:1220px}
.sector-promise{background:var(--acid);padding:clamp(80px,9vw,130px) 0}.sector-promise .h2{max-width:1100px;margin-top:18px}
.sector-details{background:var(--paper);padding:clamp(90px,10vw,140px) 0}.sector-details-grid{display:grid;grid-template-columns:.3fr .7fr;gap:40px}.sector-points{border-top:1px solid var(--line)}.sector-point{display:grid;grid-template-columns:80px .72fr 1.28fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.sector-point h3{margin:0;font-size:1.45rem;letter-spacing:-.04em}.sector-point p{margin:0;color:#55574f;line-height:1.68}

/* PRIVACY */
.privacy{padding:calc(var(--nav-h) + 90px) 0 100px;background:var(--paper)}.privacy article{max-width:880px}.privacy h1{font-size:clamp(3rem,7vw,7rem);line-height:.9;letter-spacing:-.065em;margin:0 0 44px}.privacy h2{font-size:1.6rem;margin:34px 0 10px}.privacy p,.privacy li{line-height:1.76}.privacy ul{padding-left:20px}

/* ACCESSIBILITY */
:focus-visible{outline:3px solid var(--acid);outline-offset:4px}.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}

@media(max-width:1100px){
  .case{grid-template-columns:1fr;gap:28px}.case-media-wrap{position:relative;top:auto;height:auto;min-height:0;aspect-ratio:16/10}.case-copy{min-height:0;padding-top:0}.work-head{grid-template-columns:1fr}.work-head .lead{justify-self:start}.cap-head,.split,.process-grid,.cta-grid{grid-template-columns:1fr}.cap-row{grid-template-columns:82px .8fr 1.2fr 50px}.value-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1.3fr 1fr 1fr}.footer-top>div:last-child{display:none}.work-card,.work-card:nth-child(even){grid-template-columns:1fr}.work-card:nth-child(even) .work-card-media{order:0}.form-shell{grid-template-columns:1fr}.intake-aside{position:relative;top:auto}.sector-grid{grid-template-columns:repeat(2,1fr)}.sector-details-grid{grid-template-columns:1fr}.studio-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  :root{--nav-h:68px;--gutter:20px}.nav-links,.nav-cta{display:none}.menu-btn{display:block}.display{font-size:clamp(3.15rem,15vw,5.1rem)}.h1{font-size:clamp(2.7rem,13vw,4.6rem)}.h2{font-size:clamp(2.2rem,11vw,3.7rem)}.hero{min-height:auto;padding-top:calc(var(--nav-h) + 70px)}.hero-signal{width:160px;right:-80px;top:26%}.hero-kicker{flex-direction:column;align-items:flex-start;margin-bottom:32px}.hero-bottom{grid-template-columns:1fr;gap:24px;margin-top:34px}.hero-actions{justify-content:flex-start}.hero-index{overflow:hidden;gap:14px}.intro,.capabilities{padding:86px 0}.split,.cap-head{gap:24px}.case{padding-bottom:96px}.case-media-wrap{aspect-ratio:4/5}.case-copy .h2{margin:15px 0 22px}.case-fact{grid-template-columns:90px 1fr}.case-commerce,.case-local{padding:84px 0;margin-bottom:0}.commerce-art,.local-art{padding:22px}.commerce-object{width:36%;height:55%;left:52%;top:25%}.local-stages{grid-template-columns:1fr 1fr}.local-stage{min-height:100px}.cap-row{grid-template-columns:56px 1fr 36px;gap:14px}.cap-row p{grid-column:2/4}.cap-row .arr{grid-column:3;grid-row:1}.standard,.process,.cta{padding:84px 0}.process-grid,.cta-grid{gap:26px}.step{grid-template-columns:58px 1fr;gap:14px}.step p{grid-column:2}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.page-hero,.sector-hero{min-height:62svh;padding-top:calc(var(--nav-h) + 80px)}.page-main,.sector-index,.sector-details{padding:78px 0}.service-block{grid-template-columns:1fr;gap:12px;padding:28px 0}.work-list{gap:70px}.work-card-media{aspect-ratio:4/5}.studio-value{grid-template-columns:60px 1fr;gap:14px}.studio-value p{grid-column:2}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.sector-grid{grid-template-columns:1fr}.sector-point{grid-template-columns:1fr;gap:8px}.footer-bottom{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.line-mask>span{transform:none!important}[data-reveal]{opacity:1!important;transform:none!important}.media-reveal{clip-path:none!important;transform:none!important}}

section[id]{scroll-margin-top:var(--nav-h)}

/* =========================================================
   V8 — AWARD-CRAFT LAYER
   Native view transitions, scroll timelines, realtime signal,
   spotlight interactions and performance-safe motion.
   ========================================================= */
@view-transition { navigation: auto; }
.wordmark { view-transition-name: nova-wordmark; }
main { view-transition-name: nova-main; }
::view-transition-old(nova-main){animation:v8-out .34s cubic-bezier(.76,0,.24,1) both}
::view-transition-new(nova-main){animation:v8-in .54s cubic-bezier(.22,1,.36,1) both}
::view-transition-old(nova-wordmark),::view-transition-new(nova-wordmark){animation-duration:.42s}
@keyframes v8-out{to{opacity:0;transform:translateY(-18px) scale(.992);filter:blur(7px)}}
@keyframes v8-in{from{opacity:0;transform:translateY(22px) scale(.994);filter:blur(9px)}to{opacity:1;transform:none;filter:none}}

.hero{isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.18;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='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.signal-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:.92;mix-blend-mode:screen}
.hero-signal{z-index:1;transition:opacity .7s var(--ease),filter .7s var(--ease)}
.hero.webgl-ready .hero-signal{opacity:.16;filter:blur(16px)}
.hero-inner{z-index:3}
.hero-coordinate{position:absolute;right:var(--gutter);bottom:26px;z-index:4;display:flex;gap:18px;color:#8e9089;writing-mode:vertical-rl;transform:rotate(180deg);pointer-events:none}
.hero-coordinate span:last-child{color:var(--acid)}
.kinetic-word{display:inline-block;transform-origin:left center;will-change:transform,letter-spacing}

/* More directional, less generic static frames */
.case-media-wrap{--spot-x:50%;--spot-y:50%;--spot-a:0;box-shadow:0 28px 80px rgba(17,18,15,.09);transition:box-shadow .45s var(--ease),transform .45s var(--ease)}
.case-media-wrap::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle 28rem at var(--spot-x) var(--spot-y),rgba(255,255,255,.24),rgba(255,255,255,.04) 25%,transparent 60%);opacity:var(--spot-a);transition:opacity .3s ease;mix-blend-mode:soft-light}
.case-media-wrap:hover{box-shadow:0 36px 100px rgba(17,18,15,.15)}
.case-local .case-media-wrap::after,.case-commerce .case-media-wrap::after{background:radial-gradient(circle 30rem at var(--spot-x) var(--spot-y),rgba(201,255,67,.22),transparent 62%);mix-blend-mode:screen}
.case-badge,.case-live{z-index:3}

/* subtle editorial metadata rail */
.case-copy::before{content:"";display:block;width:42px;height:3px;background:currentColor;margin-bottom:clamp(24px,4vh,46px);opacity:.16}
.case-commerce .case-copy::before{background:var(--ink);opacity:.28}
.case-local .case-copy::before{background:var(--acid);opacity:1}

/* Capability rows behave like a continuous instrument, not cards */
.cap-row{position:relative;overflow:hidden;isolation:isolate}
.cap-row::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--acid);transform:scaleY(0);transform-origin:bottom;transition:transform .48s var(--ease)}
.cap-row:hover::before{transform:scaleY(1)}
.cap-row:hover .micro,.cap-row:hover p{color:rgba(11,11,10,.7)}
.cap-row:hover .arr{transform:translate(5px,-5px)}
.cap-row .arr{transition:transform .38s var(--ease)}

/* Pointer-following project cursor — desktop only */
.project-cursor{position:fixed;left:0;top:0;z-index:110;width:82px;height:82px;border-radius:50%;background:var(--acid);color:var(--ink);display:grid;place-items:center;text-align:center;font-size:.66rem;line-height:1.05;letter-spacing:.12em;text-transform:uppercase;font-weight:800;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.65);transition:opacity .2s,transform .22s var(--ease);box-shadow:0 12px 40px rgba(0,0,0,.18)}
.project-cursor.is-on{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* richer button behavior without gimmick */
.btn{position:relative;overflow:hidden;will-change:transform}
.btn::after{content:"";position:absolute;inset:-1px;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.38) 48%,transparent 72%);transform:translateX(-140%);transition:transform .62s var(--ease);pointer-events:none}
.btn:hover::after{transform:translateX(140%)}
.btn.ink::after{background:linear-gradient(110deg,transparent 20%,rgba(201,255,67,.28) 48%,transparent 72%)}

/* 2026 browser-native scroll choreography; safe fallback remains existing IO */
@supports (animation-timeline: view()) {
  .intro .h2,.standard .h2,.cap-head .h2{animation:v8-type-in linear both;animation-timeline:view();animation-range:entry 0% cover 42%}
  .case-media{animation:v8-media-breathe linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  .case-copy{animation:v8-copy-drift linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
  .cap-row{animation:v8-row-in linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
  @keyframes v8-type-in{from{opacity:.25;transform:translateY(46px);letter-spacing:-.075em}to{opacity:1;transform:none;letter-spacing:-.058em}}
  @keyframes v8-media-breathe{0%{scale:1.08}45%{scale:1.015}100%{scale:1.06}}
  @keyframes v8-copy-drift{from{transform:translateY(46px);opacity:.35}to{transform:none;opacity:1}}
  @keyframes v8-row-in{from{opacity:.3;transform:translateY(22px)}to{opacity:1;transform:none}}
  .kinetic-word{animation:v8-kinetic-word linear both;animation-timeline:scroll(root block);animation-range:0 36vh}
  @keyframes v8-kinetic-word{from{transform:skewX(0deg) translateX(0);letter-spacing:-.035em}to{transform:skewX(-5deg) translateX(.035em);letter-spacing:-.075em}}
}

/* smoother page entry after native cross-document transition */
@supports (view-transition-name: nova-main){.page-wipe{display:none}}

@media (pointer:fine){.case-media-wrap{cursor:none}}
@media (max-width:760px){
  .signal-canvas{opacity:.65}
  .hero-coordinate{display:none}
  .project-cursor{display:none!important}
  .case-media-wrap::after{display:none}
}
@media(prefers-reduced-motion:reduce){
  .signal-canvas{display:none!important}
  .hero-signal{opacity:1!important;filter:none!important}
  .project-cursor{display:none!important}
  ::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

/* =========================================================
   V9 — SIGNATURE MOMENTS / SONIC LAYER
   Same V8 world, deliberately exaggerated in a few places.
   ========================================================= */

/* branded sonic console ------------------------------------------------ */
.sound-console{position:fixed;left:clamp(14px,2vw,28px);bottom:clamp(14px,2vw,26px);z-index:96;display:flex;align-items:center;gap:11px;min-height:45px;padding:8px 13px 8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(11,11,10,.82);color:var(--paper);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 15px 45px rgba(0,0,0,.18);cursor:pointer;transition:background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);user-select:none}
.sound-console:hover{transform:translateY(-2px);border-color:rgba(201,255,67,.48)}
.sound-console[aria-pressed="true"]{background:rgba(11,11,10,.94);border-color:rgba(201,255,67,.5)}
.sound-orb{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(201,255,67,.1);border:1px solid rgba(201,255,67,.28);position:relative;overflow:hidden}
.sound-orb::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--acid);box-shadow:0 0 0 0 rgba(201,255,67,.5);transition:box-shadow .35s}
.sound-console[aria-pressed="true"] .sound-orb::before{box-shadow:0 0 0 8px rgba(201,255,67,.08),0 0 18px rgba(201,255,67,.55)}
.sound-meta{display:grid;gap:2px;text-align:left}.sound-meta strong{font-size:.67rem;line-height:1;text-transform:uppercase;letter-spacing:.14em}.sound-meta span{font-size:.58rem;line-height:1;color:#969990;text-transform:uppercase;letter-spacing:.13em}
.sound-bars{display:flex;align-items:center;gap:2px;height:20px;margin-left:2px}.sound-bars i{display:block;width:2px;height:5px;border-radius:999px;background:var(--acid);transform-origin:center;opacity:.45}.sound-console[aria-pressed="true"] .sound-bars i{animation:sonicBars .85s ease-in-out infinite alternate;opacity:1}.sound-bars i:nth-child(2){animation-delay:-.38s!important}.sound-bars i:nth-child(3){animation-delay:-.61s!important}.sound-bars i:nth-child(4){animation-delay:-.17s!important}.sound-bars i:nth-child(5){animation-delay:-.48s!important}
@keyframes sonicBars{0%{height:4px}35%{height:15px}70%{height:8px}100%{height:19px}}

/* hero responds subtly when the custom soundtrack is active */
body.sound-on .hero-signal{filter:saturate(1.08) brightness(1.06)}
body.sound-on .wordmark i{box-shadow:0 0 0 7px rgba(201,255,67,.07),0 0 18px rgba(201,255,67,.35)}

/* full-screen signature choreography ---------------------------------- */
.nova-moment{height:360svh;position:relative;background:var(--ink);color:var(--paper);isolation:isolate}
.nova-moment-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--ink);display:grid;align-items:center;isolation:isolate}
.nova-moment-sticky::after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:clamp(44px,5vw,78px) clamp(44px,5vw,78px);mask-image:linear-gradient(180deg,transparent,rgba(0,0,0,.7) 18%,rgba(0,0,0,.7) 82%,transparent);mix-blend-mode:soft-light;opacity:.5}
.moment-iris,.moment-eclipse{position:absolute;left:50%;top:50%;width:140vmax;height:140vmax;border-radius:50%;transform:translate(-50%,-50%) scale(.008);transition:transform 1s cubic-bezier(.76,0,.24,1);pointer-events:none}
.moment-iris{z-index:1;background:var(--acid);box-shadow:0 0 140px rgba(201,255,67,.24)}
.moment-eclipse{z-index:2;background:var(--ink);transition-delay:.04s}
.nova-moment[data-phase="1"] .moment-iris,.nova-moment[data-phase="2"] .moment-iris,.nova-moment[data-phase="3"] .moment-iris{transform:translate(-50%,-50%) scale(1)}
.nova-moment[data-phase="3"] .moment-eclipse{transform:translate(-50%,-50%) scale(1)}
.moment-orbit{position:absolute;left:50%;top:50%;z-index:4;border:1px solid rgba(255,255,255,.13);border-radius:50%;pointer-events:none;transition:border-color .6s,opacity .6s;animation:momentOrbit 18s linear infinite}
.orbit-a{width:64vmin;height:64vmin;transform:translate(-50%,-50%) rotate(18deg)}
.orbit-b{width:88vmin;height:38vmin;transform:translate(-50%,-50%) rotate(-22deg);animation-duration:26s;animation-direction:reverse}
.nova-moment[data-phase="1"] .moment-orbit,.nova-moment[data-phase="2"] .moment-orbit{border-color:rgba(11,11,10,.18)}
@keyframes momentOrbit{to{rotate:1turn}}
.moment-layout{position:relative;z-index:10;min-height:100svh;display:grid;grid-template-rows:auto 1fr auto;padding-top:calc(var(--nav-h) + 26px);padding-bottom:34px}
.moment-kicker{display:flex;justify-content:space-between;gap:20px;transition:color .5s}
.nova-moment[data-phase="1"] .moment-kicker,.nova-moment[data-phase="2"] .moment-kicker{color:rgba(11,11,10,.64)}
.moment-stage{position:relative;display:grid;place-items:center;min-height:0;perspective:1100px}
.moment-word{position:absolute;inset:auto;font-size:clamp(5rem,15.4vw,14.6rem);line-height:.76;letter-spacing:-.085em;font-weight:800;white-space:nowrap;opacity:0;transform:translateY(42%) rotateX(-32deg) scale(.88);filter:blur(16px);transition:opacity .72s var(--ease),transform .85s cubic-bezier(.16,1,.3,1),filter .72s var(--ease),color .45s;will-change:transform,opacity,filter}
.moment-word.serif{font-weight:400;letter-spacing:-.065em}
.moment-word.is-active{opacity:1;transform:translateY(0) rotateX(0) scale(1);filter:blur(0)}
.nova-moment[data-phase="1"] .moment-word,.nova-moment[data-phase="2"] .moment-word{color:var(--ink)}
.moment-copy{width:min(680px,70vw);justify-self:end;position:relative;min-height:74px;transition:color .5s}
.moment-copy p{position:absolute;right:0;bottom:0;margin:0;font-size:clamp(1rem,1.45vw,1.25rem);line-height:1.58;letter-spacing:-.025em;opacity:0;transform:translateY(18px);transition:opacity .5s var(--ease),transform .65s var(--ease);text-align:right}
.moment-copy p.is-active{opacity:1;transform:none}
.nova-moment[data-phase="1"] .moment-copy,.nova-moment[data-phase="2"] .moment-copy{color:var(--ink)}
.moment-meter{position:absolute;left:var(--gutter);bottom:34px;width:min(290px,24vw);height:2px;background:rgba(255,255,255,.15);overflow:hidden}
.moment-meter i{display:block;width:100%;height:100%;background:var(--acid);transform-origin:left;transform:scaleX(var(--moment-p,0))}
.nova-moment[data-phase="1"] .moment-meter,.nova-moment[data-phase="2"] .moment-meter{background:rgba(11,11,10,.18)}.nova-moment[data-phase="1"] .moment-meter i,.nova-moment[data-phase="2"] .moment-meter i{background:var(--ink)}
.moment-caption{position:absolute;z-index:11;right:var(--gutter);bottom:28px;display:flex;gap:20px;color:#888b84}.nova-moment[data-phase="1"] .moment-caption,.nova-moment[data-phase="2"] .moment-caption{color:rgba(11,11,10,.55)}

/* micro 'impossible' flash when the brand mark is touched -------------- */
.brand-pulse{position:fixed;z-index:79;pointer-events:none;width:12px;height:12px;border-radius:50%;background:var(--acid);transform:translate(-50%,-50%) scale(0);opacity:0;mix-blend-mode:difference}
.brand-pulse.fire{animation:brandPulse .9s cubic-bezier(.22,1,.36,1)}
@keyframes brandPulse{0%{opacity:.9;transform:translate(-50%,-50%) scale(0)}45%{opacity:.45;transform:translate(-50%,-50%) scale(40)}100%{opacity:0;transform:translate(-50%,-50%) scale(75)}}

/* stronger page-wipe after V9 interaction, fallback only */
.page-wipe::after{content:"NOVA / 11";position:absolute;right:var(--gutter);bottom:30px;color:var(--ink);font-size:.7rem;font-weight:800;letter-spacing:.16em}

@media(max-width:760px){
  .sound-console{left:12px;bottom:12px;min-height:42px;padding:7px 10px 7px 8px}.sound-meta span{display:none}.sound-bars{display:none}
  .nova-moment{height:300svh}.moment-layout{padding-top:calc(var(--nav-h) + 20px);padding-bottom:24px}.moment-word{font-size:clamp(4.3rem,22vw,7.4rem);white-space:normal;text-align:center;line-height:.8}.moment-copy{width:100%;min-height:110px}.moment-copy p{text-align:left;font-size:1rem}.moment-meter{left:var(--gutter);bottom:22px;width:30vw}.moment-caption{display:none}.orbit-a{width:78vmin;height:78vmin}.orbit-b{width:104vmin;height:48vmin}
}
@media(prefers-reduced-motion:reduce){
  .nova-moment{height:auto}.nova-moment-sticky{position:relative;min-height:90svh}.moment-iris,.moment-eclipse,.moment-orbit{display:none}.moment-word{display:none!important}.moment-word:first-child{display:block!important;opacity:1!important;position:relative!important;transform:none!important;filter:none!important}.moment-copy p{display:none!important}.moment-copy p:first-child{display:block!important;opacity:1!important;position:relative!important;transform:none!important}.sound-bars i{animation:none!important}
}

/* =========================================================
   V9.1 — HORIZONTAL SIGNATURE DIRECTOR
   Vertical input, horizontal cinematic storytelling.
   ========================================================= */
html,body{overflow-x:clip}
main{overflow:visible}

.nova-moment{height:430svh;position:relative;background:var(--ink);color:var(--paper);isolation:isolate;overflow:visible}
.nova-moment-sticky{position:sticky;top:0;height:100svh;overflow:clip;background:var(--ink);display:block;isolation:isolate;contain:paint}
.nova-moment-sticky::after{content:"";position:absolute;inset:0;z-index:20;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:clamp(54px,6vw,92px) clamp(54px,6vw,92px);mix-blend-mode:soft-light;opacity:.36;mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent)}
.moment-ambient{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.moment-ambient i{position:absolute;border:1px solid rgba(201,255,67,.16);border-radius:50%;will-change:transform}
.moment-ambient i:nth-child(1){width:72vmin;height:72vmin;left:-18vmin;top:14vmin;animation:momentFloatA 16s linear infinite}
.moment-ambient i:nth-child(2){width:48vmin;height:92vmin;right:-10vmin;top:-10vmin;transform:rotate(28deg);animation:momentFloatB 22s linear infinite reverse}
.moment-ambient i:nth-child(3){width:18vmin;height:18vmin;right:20vw;bottom:12vh;background:radial-gradient(circle,var(--acid) 0 3%,transparent 4%);border-color:rgba(255,255,255,.08);animation:momentFloatA 10s ease-in-out infinite alternate}
@keyframes momentFloatA{50%{transform:translate3d(5vw,-3vh,0) rotate(18deg)}100%{transform:translate3d(0,0,0) rotate(1turn)}}
@keyframes momentFloatB{50%{transform:translate3d(-4vw,6vh,0) rotate(190deg)}100%{transform:translate3d(0,0,0) rotate(388deg)}}

.moment-track{position:relative;z-index:5;height:100%;display:flex;flex-wrap:nowrap;width:max-content;transform:translate3d(0,0,0);will-change:transform;backface-visibility:hidden}
.moment-panel{position:relative;flex:0 0 100vw;width:100vw;height:100svh;overflow:hidden;display:flex;align-items:stretch}
.moment-panel::before{content:"";position:absolute;inset:auto auto -32vmin -18vmin;width:72vmin;height:72vmin;border-radius:50%;border:1px solid currentColor;opacity:.09;transform:rotate(-12deg)}
.moment-panel::after{content:"";position:absolute;right:-14vmin;top:-26vmin;width:68vmin;height:68vmin;border-radius:50%;border:1px solid currentColor;opacity:.08}
.moment-panel-dark{background:#0b0b0a;color:var(--paper)}
.moment-panel-acid{background:var(--acid);color:var(--ink)}
.moment-panel-paper{background:var(--paper);color:var(--ink)}
.moment-panel-final{background:var(--ink);color:var(--paper)}
.moment-panel-final::before{background:var(--acid);border:0;opacity:.88;width:38vmin;height:38vmin;left:auto;right:-7vmin;bottom:-12vmin;box-shadow:0 0 130px rgba(201,255,67,.12)}

.moment-panel-inner{height:100%;padding-top:calc(var(--nav-h) + 30px);padding-bottom:28px;display:grid;grid-template-rows:auto 1fr auto;position:relative;z-index:2}
.moment-panel-top,.moment-panel-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;opacity:.58}
.moment-panel-main{align-self:center;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:clamp(36px,7vw,120px);align-items:end}
.moment-panel-word{font-size:clamp(5rem,15vw,14.4rem);line-height:.76;letter-spacing:-.09em;font-weight:800;white-space:nowrap;transform:translate3d(var(--panel-word-x,0),0,0) rotate(var(--panel-word-r,0deg));will-change:transform;transition:filter .3s}
.moment-panel-word.serif{font-weight:400;letter-spacing:-.065em}
.moment-panel-main p{margin:0 0 .2em;font-size:clamp(1.02rem,1.5vw,1.32rem);line-height:1.55;letter-spacing:-.026em;max-width:610px;justify-self:end}
.moment-panel-acid .moment-panel-top,.moment-panel-acid .moment-panel-bottom,.moment-panel-paper .moment-panel-top,.moment-panel-paper .moment-panel-bottom{opacity:.48}

.moment-fixed-ui{position:absolute;inset:0;z-index:30;pointer-events:none}
.moment-meter{position:absolute;left:var(--gutter);bottom:26px;width:min(310px,24vw);height:2px;background:rgba(255,255,255,.18);overflow:hidden;mix-blend-mode:difference}
.moment-meter i{display:block;width:100%;height:100%;background:#fff;transform-origin:left;transform:scaleX(var(--moment-p,0));will-change:transform}
.moment-caption{position:absolute;right:var(--gutter);bottom:22px;display:flex;align-items:center;gap:24px;color:#fff;mix-blend-mode:difference}

/* subtle speed lines during the lateral passage */
.nova-moment.is-moving .moment-panel-word{filter:blur(var(--moment-blur,0px))}

@media(max-width:900px){
  .moment-panel-inner{padding-top:calc(var(--nav-h) + 22px);padding-bottom:22px}
  .moment-panel-main{grid-template-columns:1fr;gap:28px;align-content:center}
  .moment-panel-word{font-size:clamp(4.5rem,18vw,9rem);white-space:normal;line-height:.8}
  .moment-panel-main p{justify-self:start;max-width:650px}
  .moment-caption span:last-child{display:none}
  .moment-meter{width:36vw}
}
@media(max-width:620px){
  .nova-moment{height:390svh}
  .moment-panel-inner{padding-top:calc(var(--nav-h) + 18px);padding-bottom:78px}
  .moment-panel-main{align-self:center;gap:22px}
  .moment-panel-word{font-size:clamp(4.1rem,22vw,7.3rem)}
  .moment-panel-main p{font-size:1rem;line-height:1.58;max-width:90%}
  .moment-panel-bottom{display:none}
  .moment-meter{left:var(--gutter);bottom:64px;width:42vw}
  .moment-caption{right:var(--gutter);bottom:60px}
  .moment-ambient i:nth-child(1){width:94vmin;height:94vmin}.moment-ambient i:nth-child(2){width:72vmin;height:116vmin}
}
@media(prefers-reduced-motion:reduce){
  .nova-moment{height:auto!important}
  .nova-moment-sticky{position:relative;height:auto;overflow:visible}
  .moment-track{display:block!important;width:100%!important;transform:none!important}
  .moment-panel{width:100%;height:auto;min-height:78svh}
  .moment-panel-inner{min-height:78svh}
  .moment-fixed-ui,.moment-ambient{display:none!important}
}

/* ============================== V10 / APEX ============================== */

/* SKIP LINK */
.skip-link{position:fixed;left:14px;top:-60px;z-index:300;background:var(--acid);color:var(--ink);padding:12px 18px;border-radius:999px;font-size:.85rem;font-weight:800;transition:top .25s var(--ease)}
.skip-link:focus{top:14px}

/* PRELOADER — one orchestrated entrance, once per session (home) */
.preloader{position:fixed;inset:0;z-index:220;background:var(--ink);color:var(--paper);display:none;flex-direction:column;justify-content:space-between;padding:clamp(22px,4vw,48px) var(--gutter)}
html.is-loading .preloader{display:flex}
html.is-loading{overflow:hidden}
.preloader.is-done{transform:translateY(-102%);transition:transform .72s cubic-bezier(.83,0,.17,1)}
.preloader-top{display:flex;justify-content:space-between;align-items:center;color:#8e9089}
.preloader-mark{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:-.045em;color:var(--paper)}
.preloader-mark i{width:9px;height:9px;border-radius:50%;background:var(--acid)}
.preloader-count{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:clamp(4.6rem,15vw,12rem);line-height:.85;letter-spacing:-.05em;color:var(--acid);align-self:flex-end;font-variant-numeric:tabular-nums}
.preloader-bar{display:block;height:2px;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden;margin-top:clamp(16px,3vh,28px)}
.preloader-bar i{display:block;height:100%;width:0;background:var(--acid)}
html.is-loading .line-mask>span{animation-play-state:paused}
html:not(.is-loading) .line-mask>span{animation-play-state:running}

/* ORIGIN — the studio's root story */
.origin{background:var(--ink);color:var(--paper);padding:clamp(100px,12vw,180px) 0;position:relative;overflow:hidden}
.origin::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 14% 88%,rgba(201,255,67,.09),transparent 34%);pointer-events:none}
.origin .h2{max-width:1180px}
.origin .lead{max-width:820px;margin:30px 0 0;color:#c9c9c3}
.origin-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border-block:1px solid var(--line-dark);margin-top:clamp(44px,6vw,72px)}
.origin-fact{background:var(--ink);padding:26px 26px 30px 0;display:flex;flex-direction:column;gap:12px}
.origin-fact+.origin-fact{padding-left:26px}
.origin-fact .micro{color:#8e9089}
.origin-fact p{margin:0;color:#d4d4cf;font-size:.98rem;line-height:1.6;letter-spacing:-.012em;max-width:34ch}
.origin-actions{margin-top:clamp(30px,4vw,46px)}
.origin .btn.ghost{color:var(--paper)}
.origin .btn.ghost:hover{background:rgba(255,255,255,.06)}

/* PROOF — honest facts + infrastructure, no borrowed logos */
.proof{margin-top:clamp(56px,7vw,92px);border-top:1px solid var(--line);padding-top:clamp(30px,4vw,44px);display:grid;gap:26px}
.proof-row{display:grid;grid-template-columns:.32fr .68fr;gap:clamp(28px,5vw,70px);align-items:start}
.proof-row .micro{color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{border:1px solid var(--line);border-radius:999px;padding:10px 16px;font-size:.86rem;font-weight:650;letter-spacing:-.012em;color:var(--text);background:transparent;transition:border-color .25s,background .25s}
.chip:hover{border-color:var(--ink)}
.chip.solid{background:var(--ink);border-color:var(--ink);color:var(--paper)}

/* MARQUEE — one slow signal band */
.marquee{background:var(--ink);color:var(--paper);overflow:hidden;padding:clamp(26px,3.4vw,44px) 0;border-block:1px solid var(--line-dark)}
.marquee-track{display:flex;width:max-content;gap:0;animation:marquee 34s linear infinite;will-change:transform}
.marquee-seq{display:flex;align-items:center;white-space:nowrap;font-size:clamp(1.9rem,4.6vw,4rem);line-height:1;letter-spacing:-.055em;font-weight:760;padding-right:.6em}
.marquee-seq em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em}
.marquee-seq i{font-style:normal;color:var(--acid);padding:0 .5em;font-weight:400}
@keyframes marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion: reduce){.marquee-track{animation:none}}

/* IMAGE FALLBACK — never show a broken case */
.img-fallback{background:linear-gradient(150deg,#1a1b17,#2c2e26 55%,#191a15)!important;display:flex;align-items:flex-end}
.img-fallback::after{content:attr(data-fallback);font-size:clamp(2rem,4.6vw,4.4rem);line-height:.92;letter-spacing:-.06em;font-weight:760;color:var(--paper);padding:26px;opacity:.9}

/* COMMITMENTS */
.commitments{background:var(--paper);padding:0 0 clamp(90px,10vw,140px)}
.commitments-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.commitment{background:var(--paper);padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;gap:14px}
.commitment .micro{color:var(--muted)}
.commitment h3{margin:0;font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.2;letter-spacing:-.035em;font-weight:720}
.commitment p{margin:0;color:var(--muted);font-size:.96rem;line-height:1.6;letter-spacing:-.012em}

/* FAQ */
.faq{background:var(--paper);padding:0 0 clamp(100px,11vw,160px)}
.faq-head{display:grid;grid-template-columns:.32fr .68fr;gap:clamp(28px,5vw,70px);margin-bottom:clamp(30px,4vw,48px)}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:clamp(20px,2.6vw,30px) 0;font-size:clamp(1.15rem,1.9vw,1.65rem);letter-spacing:-.035em;font-weight:700}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-family:"Instrument Serif",Georgia,serif;font-size:1.6em;font-weight:400;line-height:1;transition:transform .35s var(--ease);flex:none}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:hover{color:#3c3e37}
.faq-body{padding:0 0 clamp(22px,2.8vw,32px);max-width:760px}
.faq-body p{margin:0;color:#4a4c45;font-size:1rem;line-height:1.7;letter-spacing:-.012em}

/* FOOTER CLOCK */
.footer-bottom [data-local-time]{color:var(--acid);font-variant-numeric:tabular-nums}

/* RESPONSIVE / V10 */
@media (max-width: 960px){
  .origin-facts{grid-template-columns:1fr}
  .origin-fact,.origin-fact+.origin-fact{padding:22px 0}
  .proof-row,.faq-head{grid-template-columns:1fr;gap:16px}
  .commitments-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion: reduce){
  .preloader{display:none!important}
}

/* =========================================================
   V11 — DOMAIN LAUNCH / CONTENT + SEARCH + QUANT
   ========================================================= */

/* production overlap hardening from V9.2 */
@media(min-width:761px){
  .hero-actions{padding-right:72px}
  .hero-coordinate{right:8px;bottom:92px}
}

/* signature panel rings: independent motion, never overwritten by track transform */
.moment-panel::before{
  transform:translate3d(0,0,0) rotate(-12deg);
  transform-origin:center;
  animation:v11PanelRingA 26s linear infinite;
  will-change:transform,opacity;
}
.moment-panel::after{
  transform:translate3d(0,0,0) rotate(8deg);
  transform-origin:center;
  animation:v11PanelRingB 34s linear infinite reverse;
  will-change:transform,opacity;
}
@keyframes v11PanelRingA{
  0%{transform:translate3d(0,0,0) rotate(-12deg);opacity:.075}
  50%{transform:translate3d(1.2vw,-1.4vh,0) rotate(168deg);opacity:.125}
  100%{transform:translate3d(0,0,0) rotate(348deg);opacity:.075}
}
@keyframes v11PanelRingB{
  0%{transform:translate3d(0,0,0) rotate(8deg);opacity:.065}
  50%{transform:translate3d(-1.1vw,1.5vh,0) rotate(-172deg);opacity:.11}
  100%{transform:translate3d(0,0,0) rotate(-352deg);opacity:.065}
}
.moment-caption{right:calc(var(--gutter) + 20px);bottom:30px}

/* Quant proof embedded in Origin */
.quant-proof{margin-top:clamp(42px,6vw,78px);padding-top:24px;border-top:1px solid var(--line-dark);position:relative;z-index:2}
.quant-proof>.micro{color:#8e9089;margin-bottom:18px}
.quant-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line-dark)}
.quant-proof-grid>div{padding:24px 22px 26px 0;min-height:132px}
.quant-proof-grid>div+div{border-left:1px solid var(--line-dark);padding-left:22px}
.quant-proof-grid strong{display:block;font-size:1rem;letter-spacing:-.025em;margin-bottom:10px;color:var(--paper)}
.quant-proof-grid span{display:block;color:#a9aaa3;font-size:.88rem;line-height:1.55}
.origin-actions{display:flex;gap:12px;flex-wrap:wrap}

/* Insights home */
.insights-home{background:var(--paper);color:var(--ink);padding:clamp(100px,11vw,170px) 0;border-top:1px solid var(--line-light)}
.insights-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.52fr);gap:clamp(36px,7vw,110px);align-items:end;margin-bottom:clamp(48px,7vw,86px)}
.insights-head .lead{margin:0}
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line-light)}
.insight-card{display:flex;min-height:310px;flex-direction:column;padding:28px 28px 28px 0;transition:background .28s,color .28s,padding .28s}
.insight-card+.insight-card{border-left:1px solid var(--line-light);padding-left:28px}
.insight-card:hover{background:var(--acid);padding-inline:28px}
.insight-card .micro{opacity:.58;margin-bottom:auto}
.insight-card h3{font-size:clamp(1.45rem,2.4vw,2.05rem);line-height:1.04;letter-spacing:-.052em;margin:34px 0 16px;max-width:16ch}
.insight-card p{font-size:.95rem;line-height:1.62;max-width:36ch;margin:0 0 26px;color:#585a55}
.insight-card:hover p{color:#1d1e1a}
.insight-card>span:last-child{font-size:.83rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.text-link{display:inline-block;margin-top:28px;font-weight:750;border-bottom:1px solid currentColor;padding-bottom:4px}

/* Quant / search service page visual systems */
.quant-hero,.search-hero{min-height:88svh;padding-top:calc(var(--nav-h) + 90px);padding-bottom:70px;background:var(--ink);color:var(--paper);position:relative;overflow:hidden;display:flex;align-items:flex-end}
.quant-hero::before,.search-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(180deg,transparent 0,black 18%,black 86%,transparent)}
.quant-hero::after{content:"";position:absolute;right:-12vmin;top:18%;width:52vmin;height:52vmin;border:1px solid rgba(201,255,67,.27);border-radius:50%;box-shadow:0 0 120px rgba(201,255,67,.08);animation:v11PanelRingA 24s linear infinite}
.search-hero::after{content:"?";position:absolute;right:2vw;top:10%;font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:min(54vw,50rem);line-height:.72;color:rgba(201,255,67,.09);transform:rotate(-8deg)}
.quant-hero .container,.search-hero .container{position:relative;z-index:2}
.quant-hero .h1,.search-hero .h1{max-width:1180px;margin-top:18px}
.quant-hero .lead,.search-hero .lead{max-width:780px;margin-top:28px;color:#c8c9c2}
.capability-band{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}
.capability-band span{padding:9px 13px;border:1px solid rgba(255,255,255,.17);border-radius:999px;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}
.content-section{padding:clamp(90px,10vw,150px) 0;background:var(--paper);color:var(--ink);border-top:1px solid var(--line-light)}
.content-section.dark{background:var(--ink);color:var(--paper);border-color:var(--line-dark)}
.content-grid{display:grid;grid-template-columns:.32fr .68fr;gap:clamp(28px,7vw,110px);align-items:start}
.content-body{max-width:900px}
.content-body>.h2{margin-bottom:26px}
.content-body>.lead{max-width:760px;margin-bottom:38px}
.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);border-block:1px solid currentColor;border-color:rgba(11,11,10,.15)}
.dark .feature-grid{border-color:rgba(255,255,255,.14)}
.feature{padding:26px 28px 30px 0;border-bottom:1px solid rgba(11,11,10,.12)}
.feature:nth-child(even){padding-left:28px;border-left:1px solid rgba(11,11,10,.12)}
.dark .feature{border-color:rgba(255,255,255,.12)}
.feature h3{font-size:1.22rem;letter-spacing:-.035em;margin:0 0 10px}
.feature p{margin:0;line-height:1.62;color:#63655f;font-size:.94rem}
.dark .feature p{color:#b0b1aa}
.answer-box{padding:26px 28px;border-left:3px solid var(--acid);background:rgba(201,255,67,.09);margin:32px 0;font-size:1.08rem;line-height:1.7}
.search-stack{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-light);border-block:1px solid var(--line-light);margin-top:42px}
.search-stack article{background:var(--paper);padding:28px;min-height:250px}
.search-stack .micro{color:#787a74}.search-stack h3{font-size:1.4rem;letter-spacing:-.04em;margin:40px 0 12px}.search-stack p{margin:0;color:#666862;line-height:1.62;font-size:.92rem}
.trademark-note{font-size:.75rem;color:#777a74;line-height:1.6;margin-top:24px}

/* FAQ / answer-engine friendly human content */
.faq-list{border-top:1px solid var(--line-light);margin-top:36px}
.faq-list details{border-bottom:1px solid var(--line-light);padding:0}
.faq-list summary{cursor:pointer;list-style:none;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:700;letter-spacing:-.035em;padding:24px 42px 24px 0;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:6px;top:20px;font-size:1.5rem;font-weight:400}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{max-width:820px;margin:0;padding:0 0 26px;color:#5e605b;line-height:1.72}
.dark .faq-list{border-color:var(--line-dark)}.dark .faq-list details{border-color:var(--line-dark)}.dark .faq-list details p{color:#b2b3ac}

/* Insights / authority hub */
.insights-page{background:var(--paper);color:var(--ink);padding:clamp(100px,11vw,170px) 0}
.insights-page-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line-light)}
.insights-page-grid .insight-card{border-bottom:1px solid var(--line-light);min-height:330px}
.insights-page-grid .insight-card:nth-child(even){border-left:1px solid var(--line-light);padding-left:28px}
.article-hero{padding:calc(var(--nav-h) + 90px) 0 80px;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line-light)}
.article-hero .h1{max-width:1150px;margin:22px 0 24px}
.article-meta{display:flex;gap:18px;flex-wrap:wrap;color:#686a64}
.article-layout{display:grid;grid-template-columns:minmax(210px,.27fr) minmax(0,.73fr);gap:clamp(32px,7vw,110px);padding:clamp(80px,9vw,130px) 0}
.article-toc{position:sticky;top:calc(var(--nav-h) + 30px);align-self:start;border-top:1px solid var(--line-light);padding-top:18px}
.article-toc a{display:block;padding:8px 0;color:#686a64;font-size:.88rem}.article-toc a:hover{color:var(--ink)}
.article-body{max-width:850px}
.article-body h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1;letter-spacing:-.055em;margin:2.1em 0 .6em}
.article-body h3{font-size:1.4rem;letter-spacing:-.035em;margin:1.7em 0 .55em}
.article-body p,.article-body li{font-size:1.06rem;line-height:1.78;color:#3f413c}
.article-body ul,.article-body ol{padding-left:1.2em}
.article-body table{width:100%;border-collapse:collapse;margin:30px 0;font-size:.94rem}
.article-body th,.article-body td{text-align:left;vertical-align:top;padding:14px 12px;border-bottom:1px solid var(--line-light)}
.article-body th{font-size:.75rem;text-transform:uppercase;letter-spacing:.09em}
.article-source{padding:18px 0;border-top:1px solid var(--line-light);font-size:.84rem;color:#686a64}
.article-source a{text-decoration:underline;text-underline-offset:3px}

@media(max-width:900px){
  .quant-proof-grid{grid-template-columns:1fr 1fr}.quant-proof-grid>div:nth-child(3){border-left:0}.insights-head,.content-grid,.article-layout{grid-template-columns:1fr}.insight-grid{grid-template-columns:1fr}.insight-card+.insight-card{border-left:0;border-top:1px solid var(--line-light);padding-left:0}.insight-card:hover{padding-inline:20px}.search-stack{grid-template-columns:1fr 1fr}.article-toc{position:relative;top:auto}.insights-page-grid{grid-template-columns:1fr}.insights-page-grid .insight-card:nth-child(even){border-left:0;padding-left:0}.feature-grid{grid-template-columns:1fr}.feature:nth-child(even){padding-left:0;border-left:0}
}
@media(max-width:620px){
  .quant-proof-grid,.search-stack{grid-template-columns:1fr}.quant-proof-grid>div,.quant-proof-grid>div+div{padding:20px 0;border-left:0;border-top:1px solid var(--line-dark)}.quant-proof-grid>div:first-child{border-top:0}.quant-hero,.search-hero{min-height:76svh}.article-body p,.article-body li{font-size:1rem}.article-hero{padding-top:calc(var(--nav-h) + 70px)}
}
@media(prefers-reduced-motion:reduce){.moment-panel::before,.moment-panel::after,.quant-hero::after{animation:none!important}}

/* V11.1 — credibility / ecosystems / Ritivo proof */
.ecosystems{background:var(--ink);color:var(--paper);padding:clamp(100px,11vw,160px) 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.ecosystems-head{display:grid;grid-template-columns:.32fr .68fr;gap:clamp(28px,5vw,72px);align-items:start}
.ecosystems .lead{color:#b9bab3;max-width:800px;margin-top:26px}
.logo-wall{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12);margin-top:clamp(48px,7vw,86px)}
.logo-tile{min-height:180px;padding:26px;display:grid;grid-template-rows:54px auto auto;align-content:center;gap:9px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.018);transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}
.logo-tile:hover{background:var(--acid);color:var(--ink);transform:translateY(-2px)}
.logo-tile img{width:38px;height:38px;object-fit:contain;filter:invert(1);opacity:.94;transition:filter .35s ease,transform .35s var(--ease)}
.logo-tile:hover img{filter:none;transform:scale(1.06)}
.logo-tile span{font-size:1.18rem;font-weight:750;letter-spacing:-.03em}
.logo-tile small{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#888b84}.logo-tile:hover small{color:#31352c}
.logo-tile-word b{font-size:2rem;line-height:1;letter-spacing:-.06em;color:var(--acid)}.logo-tile-word:hover b{color:var(--ink)}
.ecosystem-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.12);margin-top:42px;border:1px solid rgba(255,255,255,.12)}
.ecosystem-proof>div{background:var(--ink);padding:30px;min-height:230px;display:flex;flex-direction:column;align-items:flex-start}
.ecosystem-proof strong{display:block;font-size:clamp(1.7rem,2.5vw,2.6rem);letter-spacing:-.055em;margin:14px 0 12px}
.ecosystem-proof p{color:#aaa9a4;line-height:1.7;margin:0 0 20px}.ecosystem-proof a{margin-top:auto;color:var(--acid);font-weight:700}
.ecosystem-disclaimer{color:#777a73;margin:20px 0 0;max-width:1080px;line-height:1.7}
.ritivo-media{background:#151515!important;color:var(--paper)}
.ritivo-art{height:100%;min-height:560px;position:relative;overflow:hidden;padding:30px;background:radial-gradient(circle at 72% 28%,rgba(201,255,67,.23),transparent 24%),linear-gradient(145deg,#0b0b0a 0%,#141510 50%,#090909 100%);color:var(--paper);isolation:isolate}
.ritivo-art::before{content:"";position:absolute;inset:-16% -10%;background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 92%);z-index:-1}
.ritivo-top,.ritivo-bottom{display:flex;justify-content:space-between;gap:20px;position:relative;z-index:3}.ritivo-bottom{position:absolute;left:30px;right:30px;bottom:26px;align-items:center}.ritivo-bottom .case-live{position:static}
.ritivo-word{position:absolute;left:5%;top:11%;font-size:clamp(5.2rem,12vw,12rem);font-weight:800;letter-spacing:-.085em;line-height:.8;z-index:1}.ritivo-word span{color:var(--acid)}
.ritivo-orbit{position:absolute;right:-8%;top:5%;width:56%;aspect-ratio:1;border:1px solid rgba(201,255,67,.22);border-radius:50%;animation:ritivoOrbit 18s linear infinite}.ritivo-orbit i{position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%}.ritivo-orbit i:nth-child(1){inset:12%}.ritivo-orbit i:nth-child(2){inset:26%;animation:ritivoOrbit 12s linear infinite reverse}.ritivo-orbit i:nth-child(3){width:16px;height:16px;background:var(--acid);border:0;top:12%;left:45%;box-shadow:0 0 40px rgba(201,255,67,.65)}
.ritivo-ui{position:absolute;left:7%;right:7%;bottom:12%;display:flex;justify-content:space-between;align-items:end;z-index:2}.ritivo-phone{width:min(46%,410px);min-height:290px;border:1px solid rgba(255,255,255,.16);border-radius:34px;padding:28px;background:rgba(8,8,8,.72);backdrop-filter:blur(14px);display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 35px 90px rgba(0,0,0,.3)}.ritivo-phone strong{font-size:clamp(2rem,4vw,4.1rem);letter-spacing:-.065em;line-height:.9;margin:16px 0}.ritivo-phone small{color:#aeb0a9;line-height:1.6}.ritivo-signal{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:var(--acid);color:var(--ink);font-size:4.8rem;font-weight:800;letter-spacing:-.08em;box-shadow:0 0 0 18px rgba(201,255,67,.08),0 0 100px rgba(201,255,67,.2);animation:ritivoPulse 4.8s ease-in-out infinite}
.work-ritivo-art{min-height:100%;height:100%;padding:24px}.work-ritivo-art .ritivo-word{font-size:clamp(4.2rem,8vw,8rem)}.work-ritivo-art .ritivo-phone{min-height:220px}.work-ritivo-art .ritivo-signal{width:100px;height:100px;font-size:3.2rem}.work-ritivo-art .ritivo-bottom{display:none}
@keyframes ritivoOrbit{to{transform:rotate(360deg)}}
@keyframes ritivoPulse{50%{transform:scale(1.05);box-shadow:0 0 0 28px rgba(201,255,67,.05),0 0 130px rgba(201,255,67,.28)}}
@media(max-width:960px){.ecosystems-head{grid-template-columns:1fr}.logo-wall{grid-template-columns:repeat(2,1fr)}.ecosystem-proof{grid-template-columns:1fr}.ritivo-word{font-size:clamp(5rem,18vw,9rem)}.ritivo-ui{bottom:15%}}
@media(max-width:620px){.logo-wall{grid-template-columns:1fr 1fr}.logo-tile{min-height:148px;padding:20px}.ritivo-art{min-height:620px;padding:22px}.ritivo-top{flex-direction:column}.ritivo-ui{left:22px;right:22px;bottom:12%;align-items:flex-end}.ritivo-phone{width:70%;min-height:250px;padding:20px}.ritivo-signal{width:84px;height:84px;font-size:2.6rem}.ritivo-bottom{left:22px;right:22px}.ritivo-bottom>span{display:none}.ritivo-word{top:20%}.ecosystem-proof>div{min-height:0}}
@media(prefers-reduced-motion:reduce){.ritivo-orbit,.ritivo-orbit i,.ritivo-signal{animation:none!important}}

/* V11.2 — PRESTIGE / PRODUCT THEATRE / SELF-HOSTED ECOSYSTEMS */
.ritivo-stage{
  --rt-x:0px;--rt-y:0px;--rt-rx:0deg;--rt-ry:0deg;
  position:relative;height:100%;min-height:560px;overflow:hidden;isolation:isolate;
  background:#160C28;color:#F8F3EB;perspective:1200px;
}
.ritivo-stage-grid{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(248,243,235,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(248,243,235,.055) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(180deg,rgba(0,0,0,.75),transparent 92%)}
.ritivo-stage-light{position:absolute;z-index:-1;width:58%;aspect-ratio:1;right:-12%;top:-14%;border-radius:46% 54% 62% 38%/42% 38% 62% 58%;background:radial-gradient(circle at 42% 42%,rgba(210,255,71,.72) 0 4%,rgba(109,91,255,.5) 23%,rgba(255,74,53,.22) 42%,transparent 68%);filter:blur(34px);opacity:.78;animation:ritivoMorph 14s ease-in-out infinite alternate;transform:translate3d(var(--rt-x),var(--rt-y),0)}
.ritivo-campaign{position:absolute;right:-8%;top:0;width:62%;height:100%;object-fit:cover;object-position:66% center;z-index:0;filter:saturate(.92) contrast(1.03);transform:scale(1.035) translate3d(calc(var(--rt-x)*-.22),calc(var(--rt-y)*-.18),0);transition:transform .8s var(--ease),filter .8s ease}
.ritivo-stage:hover .ritivo-campaign{transform:scale(1.065) translate3d(calc(var(--rt-x)*-.22),calc(var(--rt-y)*-.18),0);filter:saturate(1.04) contrast(1.05)}
.ritivo-image-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#160C28 0%,rgba(22,12,40,.97) 30%,rgba(22,12,40,.74) 48%,rgba(22,12,40,.2) 70%,rgba(22,12,40,.08) 100%),linear-gradient(180deg,rgba(22,12,40,.18),transparent 46%,rgba(22,12,40,.65));pointer-events:none}
.ritivo-sweep{position:absolute;inset:-20% -55%;z-index:2;pointer-events:none;background:linear-gradient(112deg,transparent 42%,rgba(248,243,235,.04) 46%,rgba(210,255,71,.18) 49%,rgba(255,74,53,.12) 51%,rgba(109,91,255,.1) 53%,transparent 58%);transform:translateX(-38%) rotate(2deg);animation:ritivoSweep 7.8s cubic-bezier(.65,0,.35,1) infinite}
.ritivo-stage-head{position:absolute;left:28px;right:28px;top:26px;z-index:7;display:flex;justify-content:space-between;gap:20px;color:rgba(248,243,235,.82)}
.ritivo-stage-wordmark{position:absolute;left:5%;top:12%;z-index:5;width:min(46%,390px);height:auto;transform:translate3d(calc(var(--rt-x)*.3),calc(var(--rt-y)*.24),0);filter:drop-shadow(0 18px 42px rgba(0,0,0,.22))}
.ritivo-stack{position:absolute;z-index:6;right:6%;top:22%;width:min(38%,330px);height:310px;transform-style:preserve-3d;transform:rotateX(var(--rt-rx)) rotateY(var(--rt-ry));transition:transform .18s ease-out}
.ritivo-stack-card{position:absolute;left:0;right:0;min-height:142px;padding:18px 20px;border:1px solid rgba(248,243,235,.22);border-radius:22px;background:linear-gradient(145deg,rgba(248,243,235,.16),rgba(248,243,235,.055));backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 26px 70px rgba(5,2,12,.32);display:flex;flex-direction:column;justify-content:flex-end;transform-origin:50% 90%;overflow:hidden}
.ritivo-stack-card::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.13),transparent 62%);transform:translateX(-130%);animation:ritivoCardSheen 6.5s ease-in-out infinite}
.ritivo-stack-card span{position:absolute;top:16px;right:18px;font-size:.7rem;letter-spacing:.16em;color:rgba(248,243,235,.5)}
.ritivo-stack-card strong{font-size:1.42rem;letter-spacing:-.045em}.ritivo-stack-card small{margin-top:5px;color:rgba(248,243,235,.68)}
.ritivo-stack-card.card-app{top:0;transform:translate3d(0,0,70px) rotate(-3deg);background:linear-gradient(145deg,rgba(109,91,255,.34),rgba(248,243,235,.07))}
.ritivo-stack-card.card-pro{top:74px;transform:translate3d(-24px,0,34px) rotate(2deg);background:linear-gradient(145deg,rgba(255,74,53,.27),rgba(248,243,235,.06))}
.ritivo-stack-card.card-pay{top:148px;transform:translate3d(12px,0,8px) rotate(-1deg);background:linear-gradient(145deg,rgba(210,255,71,.2),rgba(248,243,235,.05))}
.ritivo-deploy-console{position:absolute;left:5%;bottom:12%;z-index:8;width:min(52%,510px);padding:18px;border:1px solid rgba(248,243,235,.16);border-radius:20px;background:rgba(12,7,22,.74);backdrop-filter:blur(20px);box-shadow:0 34px 90px rgba(0,0,0,.3);transform:translate3d(calc(var(--rt-x)*.14),calc(var(--rt-y)*.12),0)}
.ritivo-console-top{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(248,243,235,.11);color:rgba(248,243,235,.72)}
.ritivo-console-top img{width:34px;height:34px;border-radius:9px}
.ritivo-console-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;padding-top:14px}.ritivo-console-grid>div{display:grid;gap:5px}.ritivo-console-grid span{font-size:.63rem;letter-spacing:.14em;color:rgba(248,243,235,.4)}.ritivo-console-grid strong{font-size:.78rem;line-height:1.45;letter-spacing:.04em}.ritivo-console-grid i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#D2FF47;box-shadow:0 0 18px rgba(210,255,71,.7);margin-right:6px;animation:ritivoLive 1.8s ease-in-out infinite}
.ritivo-stage-foot{position:absolute;left:28px;right:28px;bottom:24px;z-index:9;display:flex;justify-content:space-between;align-items:center;gap:20px}.ritivo-stage-foot .case-live{position:static;background:#D2FF47;color:#160C28;border-color:#D2FF47}.ritivo-stage-foot .micro{color:rgba(248,243,235,.6)}
.work-ritivo-stage{min-height:100%;height:100%}.work-ritivo-stage .ritivo-campaign{width:72%;right:-20%;object-position:56% center}.work-ritivo-stage .ritivo-stage-wordmark{width:min(52%,300px)}.work-ritivo-stage .ritivo-stack{right:5%;top:24%;width:min(46%,270px);height:270px}.work-ritivo-stage .ritivo-stack-card{min-height:112px;padding:14px 16px}.work-ritivo-stage .ritivo-stack-card.card-pro{top:58px}.work-ritivo-stage .ritivo-stack-card.card-pay{top:116px}.work-ritivo-stage .ritivo-deploy-console{display:none}
@keyframes ritivoSweep{0%,18%{transform:translateX(-38%) rotate(2deg);opacity:0}30%{opacity:1}64%{opacity:.9}80%,100%{transform:translateX(48%) rotate(2deg);opacity:0}}
@keyframes ritivoMorph{0%{transform:translate3d(var(--rt-x),var(--rt-y),0) rotate(0deg) scale(.94);border-radius:46% 54% 62% 38%/42% 38% 62% 58%}50%{transform:translate3d(var(--rt-x),var(--rt-y),0) rotate(18deg) scale(1.08);border-radius:58% 42% 38% 62%/50% 62% 38% 50%}100%{transform:translate3d(var(--rt-x),var(--rt-y),0) rotate(-8deg) scale(.98);border-radius:37% 63% 54% 46%/60% 44% 56% 40%}}
@keyframes ritivoCardSheen{0%,55%{transform:translateX(-130%)}75%,100%{transform:translateX(145%)}}
@keyframes ritivoLive{50%{opacity:.35;transform:scale(.75)}}

/* ecosystem index — local brand assets, original colors */
.ecosystem-index{margin-top:clamp(48px,7vw,86px);border-top:1px solid rgba(255,255,255,.14)}
.ecosystem-group{display:grid;grid-template-columns:minmax(190px,.27fr) minmax(0,.73fr);gap:clamp(22px,4vw,54px);padding:28px 0;border-bottom:1px solid rgba(255,255,255,.14);align-items:start}
.ecosystem-group-copy{position:sticky;top:calc(var(--nav-h) + 24px);padding-top:8px}.ecosystem-group-copy p{margin:10px 0 0;max-width:230px;color:#7f827b;font-size:.88rem;line-height:1.55}
.ecosystem-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ecosystem-logo{min-height:118px;padding:15px;border-radius:2px;background:#f4f1e8;color:#11120f;border:1px solid rgba(255,255,255,.02);display:flex;flex-direction:column;justify-content:space-between;gap:10px;transition:transform .35s var(--ease),background .35s ease,box-shadow .35s ease;overflow:hidden;position:relative}
.ecosystem-logo::after{content:"";position:absolute;inset:0;border:1px solid rgba(17,18,15,.08);pointer-events:none}
.ecosystem-logo:hover{transform:translateY(-4px);background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.18)}
.ecosystem-logo img{width:100%;height:62px;object-fit:contain;object-position:left center;filter:none!important;opacity:1!important;mix-blend-mode:multiply;transition:transform .35s var(--ease)}
.ecosystem-logo:hover img{transform:scale(1.035)}
.ecosystem-logo span{font-size:.76rem;font-weight:700;letter-spacing:.03em;color:#474a43;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ecosystems .ecosystem-proof{margin-top:56px}

@media(max-width:1100px){.ecosystem-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.ritivo-stack{right:3%;width:min(40%,300px)}.ritivo-deploy-console{width:min(56%,470px)}}
@media(max-width:900px){.ritivo-stage{min-height:680px}.ritivo-campaign{width:76%;right:-24%}.ritivo-stage-wordmark{width:min(58%,360px);top:13%}.ritivo-stack{top:32%;right:5%;width:42%;}.ritivo-deploy-console{left:22px;width:62%;bottom:11%}.ecosystem-group{grid-template-columns:1fr}.ecosystem-group-copy{position:relative;top:auto}.ecosystem-group-copy p{max-width:620px}.ecosystem-logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.ritivo-stage{min-height:700px}.ritivo-stage-head{left:20px;right:20px;top:20px}.ritivo-stage-head span:last-child{display:none}.ritivo-campaign{width:100%;height:46%;right:0;top:auto;bottom:0;object-position:67% center}.ritivo-image-shade{background:linear-gradient(180deg,#160C28 0%,rgba(22,12,40,.96) 40%,rgba(22,12,40,.55) 70%,rgba(22,12,40,.12) 100%)}.ritivo-stage-wordmark{left:20px;top:12%;width:72%}.ritivo-stack{top:28%;right:18px;width:56%;height:240px}.ritivo-stack-card{min-height:102px;padding:13px 14px;border-radius:16px}.ritivo-stack-card.card-pro{top:52px}.ritivo-stack-card.card-pay{top:104px}.ritivo-deploy-console{left:20px;right:20px;width:auto;bottom:9%;padding:14px}.ritivo-console-grid{grid-template-columns:1fr 1fr;gap:10px}.ritivo-console-grid>div:nth-child(n+3){display:none}.ritivo-stage-foot{left:20px;right:20px;bottom:18px}.ritivo-stage-foot .micro{display:none}.work-ritivo-stage{min-height:620px}.work-ritivo-stage .ritivo-campaign{height:50%;width:100%;right:0}.work-ritivo-stage .ritivo-stack{top:31%;width:58%}.ecosystem-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ecosystem-logo{min-height:104px;padding:12px}.ecosystem-logo img{height:54px}.ecosystems .ecosystem-proof{margin-top:34px}}
@media(prefers-reduced-motion:reduce){.ritivo-stage-light,.ritivo-sweep,.ritivo-stack-card::before,.ritivo-console-grid i{animation:none!important}.ritivo-stack{transform:none!important}}


/* =========================================================
   V11.3 — MOBILE PRECISION PASS
   Mobile is a first-class art-directed surface, not a scaled desktop.
   Desktop rules above remain intentionally untouched.
   ========================================================= */
.mobile-break{display:none}

@keyframes novaMobileAurora{
  0%{transform:translate3d(0,-1vh,0) rotate(-10deg) scale(.94);border-radius:44% 56% 62% 38%/40% 46% 54% 60%;opacity:.72;filter:blur(18px) saturate(1.04)}
  24%{transform:translate3d(-8vw,5vh,0) rotate(-2deg) scale(1.02);border-radius:58% 42% 46% 54%/52% 39% 61% 48%;opacity:.86;filter:blur(22px) saturate(1.14)}
  52%{transform:translate3d(5vw,-4vh,0) rotate(9deg) scale(1.09);border-radius:41% 59% 55% 45%/37% 59% 41% 63%;opacity:.76;filter:blur(25px) saturate(1.2)}
  78%{transform:translate3d(-4vw,7vh,0) rotate(17deg) scale(.99);border-radius:55% 45% 41% 59%/62% 43% 57% 38%;opacity:.91;filter:blur(20px) saturate(1.1)}
  100%{transform:translate3d(7vw,1vh,0) rotate(25deg) scale(1.07);border-radius:48% 52% 60% 40%/46% 62% 38% 54%;opacity:.80;filter:blur(24px) saturate(1.18)}
}
@keyframes novaMobileAuroraHalo{
  0%{transform:translate3d(-7%,4%,0) scale(.88) rotate(0deg);opacity:.18}
  50%{transform:translate3d(11%,-8%,0) scale(1.14) rotate(18deg);opacity:.48}
  100%{transform:translate3d(-2%,10%,0) scale(.96) rotate(34deg);opacity:.26}
}
@keyframes novaMobileAuroraCore{
  0%{transform:translate3d(-8%,7%,0) scale(.82);opacity:.50}
  50%{transform:translate3d(17%,-11%,0) scale(1.18);opacity:.92}
  100%{transform:translate3d(4%,13%,0) scale(.94);opacity:.64}
}
@keyframes novaMobileAuroraReduced{
  0%,100%{opacity:.62;filter:blur(21px) saturate(1.03)}
  50%{opacity:.82;filter:blur(25px) saturate(1.16)}
}
@keyframes novaMobileAuroraReducedHalo{
  0%,100%{opacity:.16}
  50%{opacity:.38}
}

@media(max-width:760px){
  html{scroll-padding-top:calc(var(--nav-h) + 12px)}
  body{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .nav{height:var(--nav-h)}
  .nav-inner{height:var(--nav-h)}
  .wordmark{font-size:.98rem}
  .menu-btn{min-width:78px;min-height:44px;padding:0 17px;border-color:rgba(255,255,255,.74);background:rgba(11,11,10,.34);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .nav.is-light .menu-btn{background:rgba(244,241,232,.64)}

  .hero{min-height:100dvh;padding:calc(var(--nav-h) + 38px) 0 calc(28px + env(safe-area-inset-bottom));align-items:flex-end}
  .hero::before{opacity:.48;background-size:auto,46px 46px,46px 46px}
  .hero::after{opacity:.12}
  .hero-signal{
    width:106vmax;height:106vmax;aspect-ratio:auto;right:-56vmax;top:-8%;
    overflow:visible;
    background:
      radial-gradient(circle at 37% 43%,rgba(248,243,235,.96) 0 3.5%,rgba(201,255,67,.88) 8%,rgba(201,255,67,.43) 23%,rgba(201,255,67,.13) 44%,transparent 68%),
      radial-gradient(ellipse at 57% 63%,rgba(201,255,67,.23) 0 15%,rgba(201,255,67,.08) 34%,transparent 61%);
    box-shadow:none;opacity:.82!important;
    animation:novaMobileAurora 12s cubic-bezier(.42,.02,.3,1) infinite alternate;
    will-change:transform,border-radius,opacity,filter;
    transform-origin:42% 48%;
  }
  .hero-signal::before{
    content:"";position:absolute;inset:8% 5% 10% 6%;border-radius:44% 56% 61% 39%/46% 37% 63% 54%;
    background:
      radial-gradient(ellipse at 44% 48%,rgba(248,243,235,.20) 0 7%,rgba(201,255,67,.22) 15%,transparent 47%),
      conic-gradient(from 210deg at 43% 49%,transparent 0 18%,rgba(201,255,67,.18) 26%,rgba(248,243,235,.17) 33%,transparent 43% 100%);
    filter:blur(34px);mix-blend-mode:screen;opacity:.30;
    animation:novaMobileAuroraHalo 8.4s ease-in-out infinite alternate;
    will-change:transform,opacity;
  }
  .hero.webgl-ready .hero-signal{opacity:.70!important}
  .hero-signal::after{
    width:16%;right:30%;top:28%;background:rgba(248,243,235,.90);filter:blur(16px);opacity:.72;
    animation:novaMobileAuroraCore 7.2s ease-in-out infinite alternate;
    will-change:transform,opacity;
  }
  .signal-canvas{opacity:.78;mix-blend-mode:screen}
  .hero-inner{padding-top:8px}
  .hero-kicker{gap:6px;margin-bottom:26px;padding-top:12px;font-size:.62rem;line-height:1.55;letter-spacing:.13em}
  .hero-kicker span:last-child{color:#8f9189}
  .hero-title{max-width:100%;font-size:clamp(3.12rem,15.7vw,4.92rem);line-height:.80;letter-spacing:-.072em}
  .hero-title .line-mask{overflow:visible}
  .hero-title .line-mask+.line-mask{margin-top:.045em}
  .hero-title .serif{display:inline-block;font-size:1.04em;line-height:.84;letter-spacing:-.065em;margin-top:.035em}
  .mobile-break{display:block}
  .hero-bottom{gap:16px;margin-top:24px}
  .hero-bottom .lead{font-size:clamp(.98rem,4.15vw,1.07rem);line-height:1.58;letter-spacing:-.022em;max-width:34rem;color:#d8d8d2}
  .hero-actions{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);width:100%;gap:10px}
  .hero-actions .btn{justify-content:center;min-height:54px;padding:0 14px;white-space:nowrap;font-size:.88rem}
  .hero-index{display:flex;flex-wrap:nowrap;gap:18px;margin-top:26px;padding-top:12px;padding-right:42px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 0,#000 88%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,#000 0,#000 88%,transparent 100%)}
  .hero-index::-webkit-scrollbar{display:none}
  .hero-index span{font-size:.61rem;letter-spacing:.11em}

  /* the sonic controller becomes a compact instrument instead of a content blocker */
  .sound-console{
    left:12px;bottom:calc(12px + env(safe-area-inset-bottom));
    width:44px;height:44px;min-height:44px;padding:0;gap:0;justify-content:center;
    border-color:rgba(255,255,255,.16);background:rgba(11,11,10,.72);
    box-shadow:0 10px 30px rgba(0,0,0,.20);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
  }
  .sound-orb{width:29px;height:29px;flex:none;background:rgba(201,255,67,.075)}
  .sound-meta,.sound-bars{display:none!important}
  .sound-console[aria-pressed="true"]{border-color:rgba(201,255,67,.48);background:rgba(11,11,10,.88)}
  .sound-console[aria-pressed="true"] .sound-orb{box-shadow:0 0 0 6px rgba(201,255,67,.055),0 0 22px rgba(201,255,67,.18)}

  /* horizontal signature: stable on Safari/Instagram in-app browser */
  .nova-moment-sticky,.moment-panel{height:100dvh}
  .moment-panel-inner{padding-top:calc(var(--nav-h) + 18px);padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  .moment-panel-main{align-self:center;gap:18px}
  .moment-panel-word{font-size:clamp(3.55rem,16.2vw,5.6rem);line-height:.82;letter-spacing:-.068em;max-width:94vw}
  .moment-panel-main p{font-size:.96rem;line-height:1.58;max-width:84%;letter-spacing:-.018em}
  .moment-panel-top{font-size:.57rem;letter-spacing:.12em}
  .moment-meter{bottom:calc(60px + env(safe-area-inset-bottom));width:39vw}
  .moment-caption{bottom:calc(56px + env(safe-area-inset-bottom));font-size:.55rem}

  /* editorial rhythm after the hero */
  .intro{padding:78px 0 88px}
  .intro .split{gap:30px}
  .intro .h2{font-size:clamp(2.55rem,11.9vw,4rem);line-height:.91;letter-spacing:-.064em}
  .intro .lead{font-size:1.01rem;line-height:1.66;letter-spacing:-.018em}
}

@media(max-width:370px){
  .hero-title{font-size:clamp(3rem,15.8vw,4.45rem)}
  .hero-actions{grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
}

@media(prefers-reduced-motion:reduce){
  /* Accessibility: keep large spatial motion reduced, but preserve a gentle
     light-breath so the hero never degrades into a dead wallpaper. */
  @media(max-width:760px){
    .hero-signal{
      animation:novaMobileAuroraReduced 8s ease-in-out infinite!important;
      transform:none!important;border-radius:50%!important;
      opacity:.72!important;
    }
    .hero-signal::before{animation:novaMobileAuroraReducedHalo 9s ease-in-out infinite!important;transform:none!important}
    .hero-signal::after{animation:novaMobileAuroraReducedHalo 7s ease-in-out infinite!important;transform:none!important}
  }
}


/* =========================================================
   V11.6 — MOBILE CONTROLLED IMPACT
   Black remains dominant. The first 3–5 seconds carry a visible
   cinematic signal without washing the whole hero in lime.
   Mobile navigation is sticky so it is visible from first paint.
   Desktop remains untouched.
   ========================================================= */

.tr-caps{text-transform:none!important;font-variant-caps:normal!important}

@keyframes novaControlledEntrance{
  0%{
    transform:translate3d(16vw,-5vh,0) rotate(-14deg) scale(.76);
    border-radius:58% 42% 51% 49%/40% 57% 43% 60%;
    opacity:.24;filter:blur(34px) saturate(1.05) brightness(.92)
  }
  34%{
    transform:translate3d(-2vw,2vh,0) rotate(-3deg) scale(1.03);
    border-radius:44% 56% 62% 38%/55% 39% 61% 45%;
    opacity:.78;filter:blur(20px) saturate(1.24) brightness(1.06)
  }
  64%{
    transform:translate3d(3vw,-2vh,0) rotate(7deg) scale(.96);
    opacity:.63;filter:blur(24px) saturate(1.17) brightness(1.01)
  }
  100%{
    transform:translate3d(-1vw,1vh,0) rotate(13deg) scale(1.01);
    border-radius:51% 49% 43% 57%/46% 62% 38% 54%;
    opacity:.68;filter:blur(22px) saturate(1.20) brightness(1.02)
  }
}
@keyframes novaControlledDrift{
  0%{transform:translate3d(-1vw,1vh,0) rotate(13deg) scale(1.01);opacity:.66;filter:blur(22px) saturate(1.18)}
  50%{transform:translate3d(-7vw,5vh,0) rotate(4deg) scale(1.07);opacity:.75;filter:blur(18px) saturate(1.28)}
  100%{transform:translate3d(4vw,-4vh,0) rotate(-8deg) scale(.97);opacity:.60;filter:blur(27px) saturate(1.13)}
}
@keyframes novaRibbonPass{
  0%,5%{transform:translate3d(52vw,34vh,0) rotate(-28deg) scaleX(.5);opacity:0}
  12%{opacity:.05}
  20%{opacity:.78}
  34%{transform:translate3d(-24vw,-12vh,0) rotate(-28deg) scaleX(1.08);opacity:.38}
  46%,100%{transform:translate3d(-72vw,-38vh,0) rotate(-28deg) scaleX(1.3);opacity:0}
}
@keyframes novaPrismBreath{
  0%{transform:translate3d(8vw,4vh,0) scale(.84) rotate(-8deg);opacity:.04}
  35%{transform:translate3d(-2vw,-2vh,0) scale(1.04) rotate(5deg);opacity:.24}
  100%{transform:translate3d(5vw,5vh,0) scale(.94) rotate(15deg);opacity:.12}
}
@keyframes novaCoreSpark{
  0%{transform:scale(.58);opacity:.15;filter:blur(20px)}
  28%{transform:scale(1.18);opacity:.92;filter:blur(8px)}
  58%{transform:scale(.92);opacity:.55;filter:blur(13px)}
  100%{transform:scale(1);opacity:.66;filter:blur(12px)}
}

@media(max-width:760px){
  .nav{
    position:sticky!important;top:0!important;
    height:var(--nav-h)!important;
    z-index:110!important;
    background:rgba(11,11,10,.86)!important;
    backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(255,255,255,.11)!important
  }
  .nav::before{opacity:0!important}
  .nav.is-light{
    background:rgba(242,239,230,.92)!important;
    border-bottom-color:rgba(17,18,15,.13)!important
  }
  .nav-inner{height:var(--nav-h)!important}
  .wordmark,.menu-btn{opacity:1!important;visibility:visible!important}
  .menu-btn{display:block!important}

  .hero{
    min-height:calc(100dvh - var(--nav-h))!important;
    padding:34px 0 calc(24px + env(safe-area-inset-bottom))!important;
    align-items:flex-end!important;
    background:#0b0b0a!important
  }
  .hero::before{opacity:.43!important;background-size:auto,46px 46px,46px 46px!important}
  .hero::after{opacity:.08!important}

  .hero-signal{
    width:88vmax!important;height:88vmax!important;aspect-ratio:auto!important;
    right:-44vmax!important;top:-2%!important;
    overflow:visible!important;
    background:
      radial-gradient(circle at 39% 43%,
        rgba(255,251,242,.96) 0 2.2%,
        rgba(222,255,116,.88) 5.8%,
        rgba(201,255,47,.52) 14%,
        rgba(201,255,47,.22) 28%,
        rgba(201,255,47,.065) 45%,
        transparent 61%),
      radial-gradient(ellipse at 55% 63%,
        rgba(201,255,47,.16) 0 13%,
        rgba(201,255,47,.045) 31%,
        transparent 55%)!important;
    box-shadow:none!important;
    opacity:.68!important;
    animation:
      novaControlledEntrance 3.15s cubic-bezier(.16,1,.3,1) 1 both,
      novaControlledDrift 6.1s ease-in-out 3.15s infinite alternate!important;
    transform-origin:42% 48%!important;
    will-change:transform,border-radius,opacity,filter
  }
  .hero.webgl-ready .hero-signal{opacity:.58!important}

  .hero-signal::before{
    content:"";position:absolute!important;inset:9% 4% 10% 7%!important;
    border-radius:48% 52% 61% 39%/44% 38% 62% 56%!important;
    background:
      conic-gradient(from 205deg at 43% 49%,
        transparent 0 20%,
        rgba(201,255,47,.10) 25%,
        rgba(255,247,232,.18) 31%,
        rgba(201,255,47,.09) 36%,
        transparent 44% 100%)!important;
    filter:blur(28px)!important;
    mix-blend-mode:screen!important;
    opacity:.22!important;
    animation:novaPrismBreath 5.4s ease-in-out infinite alternate!important
  }
  .hero-signal::after{
    width:13%!important;right:31%!important;top:29%!important;
    background:rgba(255,250,239,.94)!important;
    box-shadow:0 0 20px rgba(255,255,255,.48),0 0 48px rgba(201,255,47,.36)!important;
    opacity:.62!important;
    animation:novaCoreSpark 2.6s cubic-bezier(.16,1,.3,1) 1 both,
              novaMobileAuroraCore 4.8s ease-in-out 2.6s infinite alternate!important
  }

  .hero-prism{
    position:absolute!important;z-index:1!important;pointer-events:none!important;
    right:-15vw!important;top:21%!important;width:56vw!important;height:56vw!important;
    border-radius:50%!important;
    background:conic-gradient(from 135deg,
      transparent 0 15%,rgba(201,255,47,.10) 22%,
      rgba(255,249,237,.18) 29%,transparent 39% 100%)!important;
    filter:blur(22px)!important;mix-blend-mode:screen!important;opacity:.16!important;
    animation:novaPrismBreath 5.8s ease-in-out infinite alternate!important
  }
  .hero-sweep{
    position:absolute!important;z-index:2!important;pointer-events:none!important;
    right:-42vw!important;top:31%!important;width:78vw!important;height:7vw!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,
      transparent 0%,rgba(201,255,47,.03) 16%,
      rgba(201,255,47,.46) 42%,rgba(255,253,246,.84) 50%,
      rgba(201,255,47,.30) 58%,transparent 82%)!important;
    filter:blur(6px)!important;mix-blend-mode:screen!important;
    box-shadow:0 0 26px rgba(201,255,47,.14)!important;
    animation:novaRibbonPass 8.6s cubic-bezier(.22,1,.36,1) .16s infinite!important;
    will-change:transform,opacity
  }

  .signal-canvas{opacity:.72!important;filter:saturate(1.06) contrast(1.02)!important}

  .hero-inner{padding-top:0!important}
  .hero-kicker{margin-bottom:24px!important;padding-top:10px!important}
  .hero-title{font-size:clamp(3.05rem,15.25vw,4.78rem)!important;line-height:.805!important}
  .hero-bottom{margin-top:22px!important}
  .hero-bottom .lead{font-size:clamp(.97rem,4.08vw,1.055rem)!important;line-height:1.56!important}

  body .sound-console{
    width:46px!important;max-width:46px!important;min-width:46px!important;
    height:46px!important;min-height:46px!important;padding:0!important;gap:0!important;
    overflow:hidden!important;justify-content:center!important;border-radius:999px!important;
    left:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important
  }
  body .sound-console .sound-meta,
  body .sound-console .sound-bars{display:none!important;width:0!important;max-width:0!important;overflow:hidden!important;opacity:0!important}
  body .sound-console .sound-orb{width:30px!important;height:30px!important;margin:0!important}
}

@media(prefers-reduced-motion:reduce) and (max-width:760px){
  .hero-sweep{display:none!important}
  .hero-prism{animation:novaMobileAuroraReducedHalo 7.2s ease-in-out infinite!important}
  .hero-signal{animation:novaMobileAuroraReduced 6.2s ease-in-out infinite!important;transform:none!important;opacity:.58!important}
}


/* =========================================================
   V11.8 — MOBILE BEHAVIOR RESTORE
   Preserve V11.6 controlled aurora while restoring the original
   pinned horizontal director and editorial scroll-tone behavior.
   ========================================================= */
@media(max-width:760px){
  html,body{overflow-x:clip!important}
  body{overflow-y:visible!important}
  .nav{position:fixed!important;inset:0 0 auto 0!important;top:0!important;z-index:140!important;transform:none!important;opacity:1!important;visibility:visible!important;background:linear-gradient(180deg,rgba(11,11,10,.58),rgba(11,11,10,.16) 68%,transparent)!important;border-bottom-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .nav::before{opacity:0!important}
  .nav.is-solid{background:rgba(11,11,10,.78)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;backdrop-filter:blur(16px) saturate(1.06)!important;-webkit-backdrop-filter:blur(16px) saturate(1.06)!important}
  .nav.is-light{color:var(--ink)!important;background:rgba(242,239,230,.90)!important;border-bottom:1px solid rgba(17,18,15,.10)!important;backdrop-filter:blur(16px) saturate(1.02)!important;-webkit-backdrop-filter:blur(16px) saturate(1.02)!important}
  .nav-inner{height:var(--nav-h)!important;min-height:var(--nav-h)!important}
  .wordmark,.menu-btn{opacity:1!important;visibility:visible!important;transform:none!important}
  .menu-btn{display:block!important}
  .hero{min-height:100dvh!important;padding-top:calc(var(--nav-h) + 34px)!important}
  .nova-moment{position:relative!important;overflow:visible!important;isolation:isolate!important}
  .nova-moment-sticky{position:-webkit-sticky!important;position:sticky!important;top:0!important;height:100dvh!important;min-height:100dvh!important;overflow:clip!important;display:block!important;contain:paint!important}
  .moment-track{height:100%!important;display:flex!important;flex-wrap:nowrap!important;width:max-content!important}
  .moment-panel{flex:0 0 100vw!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important}
  .intro .h2,.cap-head .h2,.standard .h2{animation:none!important;opacity:var(--nova-head-opacity,.27)!important;transform:translate3d(0,var(--nova-head-y,30px),0)!important;will-change:opacity,transform!important;transition:none!important}
}
@media(prefers-reduced-motion:reduce) and (max-width:760px){.intro .h2,.cap-head .h2,.standard .h2{opacity:1!important;transform:none!important}}

/* =========================================================
   V11.9 — MOBILE TYPE & NAV POLISH
   Preserve V11.8 scroll choreography. Remove hard separator lines
   from adaptive mobile nav and give large editorial type more optical
   breathing room so punctuation/italic glyphs never collide.
   ========================================================= */
@media(max-width:760px){
  /* Adaptive header should feel like a material change, not a boxed bar. */
  .nav{
    border-bottom:0!important;
    box-shadow:none!important;
    transition:color .38s var(--ease),background .38s var(--ease),backdrop-filter .38s var(--ease),-webkit-backdrop-filter .38s var(--ease),box-shadow .38s var(--ease)!important
  }
  .nav.is-solid{
    border-bottom:0!important;
    background:rgba(11,11,10,.74)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.055)!important;
    backdrop-filter:blur(18px) saturate(1.05)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.05)!important
  }
  .nav.is-light{
    border-bottom:0!important;
    background:rgba(242,239,230,.88)!important;
    box-shadow:0 12px 34px rgba(17,18,15,.035)!important;
    backdrop-filter:blur(18px) saturate(1.02)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.02)!important
  }

  /* Mobile optical typesetting. Negative tracking is intentionally eased
     on display sizes; sub-1 line-height is kept, but with enough leading for
     commas, periods, question marks and Instrument Serif overshoots. */
  .display,.h1,.h2,.h3,.hero-title,.moment-panel-word{
    font-kerning:normal;
    font-variant-ligatures:common-ligatures contextual;
    text-rendering:geometricPrecision;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none
  }
  .h1{
    line-height:.965!important;
    letter-spacing:-.052em!important
  }
  .h2{
    line-height:.975!important;
    letter-spacing:-.048em!important
  }
  .h3{
    line-height:1.055!important;
    letter-spacing:-.036em!important
  }
  .intro .h2,.cap-head .h2,.standard .h2,.insights-head .h2,.cta .h2,.faq-head .h2,.page-main .h2,.commitments .h2{
    line-height:.985!important;
    letter-spacing:-.047em!important
  }
  .serif{
    letter-spacing:-.022em!important;
    line-height:1!important
  }
  .h1 .serif,.h2 .serif,.display .serif{
    display:inline;
    padding-inline-end:.045em;
    margin-inline-end:.008em;
    vertical-align:-.015em;
    -webkit-box-decoration-break:clone;
    box-decoration-break:clone
  }

  /* Keep the flagship hero aggressive; only add an optical punctuation safe zone. */
  .hero-title{
    letter-spacing:-.068em!important;
    line-height:.82!important
  }
  .hero-title .serif{
    line-height:.91!important;
    padding-inline-end:.055em!important;
    padding-bottom:.025em
  }

  /* Horizontal signature words need the same punctuation breathing room without
     changing V11.8's sticky/pinned behavior. */
  .moment-panel-word{
    line-height:.84!important;
    letter-spacing:-.060em!important;
    padding-inline-end:.055em
  }
  .moment-panel-word.serif{
    letter-spacing:-.038em!important
  }
}

/* =========================================================
   V11.10 — MOBILE FIRST-FRAME NAV + NOVA DIRECTIONAL MARK
   - Make the mobile nav part of the document's first paint so iOS browser
     chrome cannot temporarily cover it; keep the same adaptive blur behavior.
   - Replace platform-dependent ↗ emoji rendering with a studio-owned,
     geometric directional mark that inherits currentColor.
   ========================================================= */

/* Brand-owned directional mark: thin, geometric, no emoji font fallback. */
.nova-arrow{
  display:inline-block;
  width:1em;
  height:1em;
  flex:0 0 auto;
  margin-inline-start:.16em;
  vertical-align:-.11em;
  position:relative;
  transform:translate3d(0,0,0);
  transition:transform .34s var(--ease),opacity .34s var(--ease)
}
.nova-arrow::before{
  content:"";
  position:absolute;
  inset:0;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.75 12.25 12.25 3.75M7.25 3.75h5v5' fill='none' stroke='black' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.75 12.25 12.25 3.75M7.25 3.75h5v5' fill='none' stroke='black' stroke-width='1.45' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat
}
a:hover .nova-arrow,button:hover .nova-arrow{transform:translate3d(2px,-2px,0)}
.btn .nova-arrow{width:15px;height:15px;margin-inline-start:2px;vertical-align:-2px}
.nav-cta .nova-arrow,.text-link .nova-arrow{width:13px;height:13px}
.arr .nova-arrow{width:18px;height:18px;margin:0;vertical-align:0}
.cap-row:hover .arr .nova-arrow{transform:translate3d(3px,-3px,0)}

@media(max-width:760px){
  /* A sticky overlay participates in the first document paint. Unlike fixed,
     it remains visible while the iOS/Chrome address bar is expanded. The
     negative bottom margin keeps the hero visually underneath it. */
  .nav{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:0!important;
    inset:auto!important;
    width:100%!important;
    margin-bottom:calc(-1 * var(--nav-h))!important;
    z-index:140!important;
    transform:translateZ(0)!important;
    -webkit-transform:translateZ(0)!important;
    opacity:1!important;
    visibility:visible!important
  }
  .nav-inner{height:var(--nav-h)!important;min-height:var(--nav-h)!important}
  .wordmark,.menu-btn{opacity:1!important;visibility:visible!important;transform:none!important}
  .hero{padding-top:calc(var(--nav-h) + 34px)!important}

  /* Touch UI: the mark stays intentionally restrained and never becomes a
     second badge inside an already pill-shaped CTA. */
  .btn .nova-arrow{width:14px;height:14px;margin-inline-start:1px}
  .nav-cta .nova-arrow{width:12px;height:12px}
}

/* =========================================================
   V11.11 — UNIFIED WEB + MOBILE POLISH
   First-frame-safe mobile nav, official Instagram social layer,
   desktop optical typography and a restrained living signal field.
   ========================================================= */

/* Instagram is a real brand touchpoint, not another text link. */
.footer-instagram{
  display:flex!important;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  padding:5px 0 9px!important;
  margin:0 0 2px;
  color:var(--paper)!important
}
.footer-instagram img{
  width:22px;
  height:22px;
  flex:0 0 22px;
  object-fit:contain
}
.footer-instagram>span{display:flex;flex-direction:column;gap:1px;min-width:0}
.footer-instagram strong{font-size:.82rem;line-height:1.15;font-weight:720;letter-spacing:-.018em;color:#f0f0eb}
.footer-instagram small{font-size:.68rem;line-height:1.2;color:#858780;letter-spacing:.015em}
.footer-instagram{transition:opacity .25s var(--ease),transform .25s var(--ease)}
.footer-instagram:hover{opacity:1;transform:translateX(2px)}

/* Desktop: carry the mobile optical discipline back into the flagship surface. */
@media(min-width:761px){
  .display,.h1,.h2,.h3,.moment-panel-word{
    font-kerning:normal;
    font-variant-ligatures:common-ligatures contextual;
    text-rendering:geometricPrecision;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none
  }
  .display{line-height:.90;letter-spacing:-.066em}
  .h1{line-height:.95;letter-spacing:-.058em}
  .h2{line-height:.965;letter-spacing:-.050em}
  .h3{line-height:1.03;letter-spacing:-.038em}
  .serif{line-height:1;letter-spacing:-.028em}
  .h1 .serif,.h2 .serif,.display .serif{
    display:inline;
    padding-inline-end:.038em;
    margin-inline-end:.006em;
    vertical-align:-.012em;
    -webkit-box-decoration-break:clone;
    box-decoration-break:clone
  }
  .hero-title{line-height:.89;letter-spacing:-.065em}
  .hero-title .serif{padding-inline-end:.048em;line-height:.96}
  .moment-panel-word{line-height:.86;letter-spacing:-.062em;padding-inline-end:.045em}
  .moment-panel-word.serif{letter-spacing:-.034em}

  /* The header changes material, not outline, as it crosses sections. */
  .nav.is-solid::before{
    border-bottom:0!important;
    box-shadow:0 12px 38px rgba(0,0,0,.055)
  }
  .nav.is-light::before{
    border-bottom:0!important;
    box-shadow:0 12px 38px rgba(17,18,15,.035)
  }

  /* Restrained desktop living field: a trace of the mobile cinematic signal,
     kept on the right so typography remains the authority. */
  .hero-prism{
    position:absolute;
    z-index:0;
    pointer-events:none;
    right:-10vw;
    top:-8vh;
    width:min(62vw,920px);
    height:min(96vh,900px);
    border-radius:46% 54% 58% 42%/46% 43% 57% 54%;
    background:
      radial-gradient(circle at 48% 52%,rgba(242,239,230,.22) 0 7%,rgba(201,255,67,.16) 15%,rgba(201,255,67,.07) 34%,transparent 66%);
    filter:blur(22px) saturate(1.08);
    mix-blend-mode:screen;
    opacity:.54;
    transform:rotate(-10deg) scale(.96);
    animation:novaDesktopField 14s ease-in-out infinite alternate;
    will-change:transform,opacity
  }
  .hero-sweep{
    position:absolute;
    z-index:0;
    pointer-events:none;
    right:2vw;
    top:-30vh;
    width:22vw;
    min-width:260px;
    height:150vh;
    background:linear-gradient(112deg,transparent 20%,rgba(242,239,230,.035) 39%,rgba(201,255,67,.085) 48%,rgba(242,239,230,.025) 57%,transparent 76%);
    filter:blur(14px);
    opacity:.28;
    transform:translate3d(18vw,0,0) rotate(7deg);
    animation:novaDesktopSweep 10.5s cubic-bezier(.22,1,.36,1) infinite;
    will-change:transform,opacity
  }
}
@keyframes novaDesktopField{
  0%{transform:translate3d(3vw,-1.5vh,0) rotate(-12deg) scale(.94);opacity:.40}
  48%{transform:translate3d(-1vw,2vh,0) rotate(-5deg) scale(1.035);opacity:.60}
  100%{transform:translate3d(-4vw,-1vh,0) rotate(2deg) scale(.99);opacity:.48}
}
@keyframes novaDesktopSweep{
  0%,18%{transform:translate3d(22vw,0,0) rotate(7deg);opacity:0}
  32%{opacity:.30}
  52%{transform:translate3d(-34vw,0,0) rotate(7deg);opacity:.18}
  60%,100%{transform:translate3d(-42vw,0,0) rotate(7deg);opacity:0}
}

@media(max-width:760px){
  /* Absolute at document origin is the most reliable first paint under the
     expanded Safari/Chrome URL bar. Once the user scrolls, JS adds is-docked
     and the exact same header becomes the fixed adaptive glass layer. */
  .nav{
    position:absolute!important;
    inset:0 0 auto 0!important;
    top:0!important;
    width:100%!important;
    margin-bottom:0!important;
    z-index:140!important;
    transform:none!important;
    -webkit-transform:none!important;
    opacity:1!important;
    visibility:visible!important
  }
  .nav.is-docked{position:fixed!important;inset:0 0 auto 0!important;top:0!important}
  .nav-inner{height:var(--nav-h)!important;min-height:var(--nav-h)!important}
  .wordmark,.menu-btn{opacity:1!important;visibility:visible!important;transform:none!important}

  /* Menu inherits the Nova acid field, while the official Instagram glyph
     sits above the navigation stack as a deliberate social signature. */
  .mobile-menu{padding-top:calc(var(--nav-h) + 112px)!important}
  .mobile-social{
    position:absolute!important;
    top:calc(var(--nav-h) + 22px)!important;
    left:var(--gutter)!important;
    right:var(--gutter)!important;
    width:auto!important;
    display:grid!important;
    grid-template-columns:44px 1fr 18px!important;
    align-items:center!important;
    gap:13px!important;
    padding:0 0 20px!important;
    margin:0!important;
    border:0!important;
    border-bottom:1px solid rgba(11,11,10,.18)!important;
    font-size:inherit!important;
    line-height:1!important;
    letter-spacing:0!important;
    font-weight:inherit!important
  }
  .mobile-social-icon{
    width:44px;height:44px;border-radius:13px;overflow:hidden;
    background:#0b0b0a;box-shadow:0 8px 26px rgba(11,11,10,.10)
  }
  .mobile-social-icon img{width:100%;height:100%;object-fit:contain}
  .mobile-social-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
  .mobile-social-copy small{font-size:.58rem;line-height:1;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:rgba(11,11,10,.52)}
  .mobile-social-copy strong{font-size:1rem;line-height:1.1;letter-spacing:-.03em;font-weight:760;color:var(--ink)}
  .mobile-social-arrow{width:17px!important;height:17px!important;margin:0!important;justify-self:end}
  .mobile-menu>a:not(.mobile-social){position:relative;z-index:1}

  body.menu-open .nav{
    color:var(--ink)!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important
  }
  body.menu-open .menu-btn{background:rgba(242,239,230,.28)!important;border-color:rgba(11,11,10,.68)!important}
}

@media(prefers-reduced-motion:reduce){
  .hero-prism,.hero-sweep{animation:none!important}
}

/* =========================================================
   V11.12 — FIRST-FRAME LOCK / SONIC NAV / GRAND FINALE
   One stable header positioning model, a compact sonic instrument,
   and a monumental closing surface that gives the site a true ending.
   ========================================================= */

/* Right-side controls are treated as one instrument cluster. */
.nav-actions{display:flex;align-items:center;gap:10px;justify-self:end}
.nav-sound{
  order:2;
  position:relative;
  width:38px;height:38px;min-width:38px;min-height:38px;
  border:1px solid color-mix(in srgb,currentColor 52%,transparent);
  border-radius:999px;
  padding:0;
  background:color-mix(in srgb,var(--ink) 22%,transparent);
  color:inherit;
  display:grid;place-items:center;
  cursor:pointer;
  transition:transform .28s var(--ease),background .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease)
}
.nav-sound:hover{transform:translateY(-1px);border-color:currentColor}
.nav-sound-core{width:16px;height:15px;display:flex;align-items:center;justify-content:center;gap:2px;position:relative}
.nav-sound-core i{display:block;width:2px;border-radius:2px;background:currentColor;opacity:.84;transform-origin:center;transition:height .24s var(--ease),opacity .24s var(--ease)}
.nav-sound-core i:nth-child(1){height:5px}.nav-sound-core i:nth-child(2){height:11px}.nav-sound-core i:nth-child(3){height:7px}
.nav-sound::after{content:"";position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:var(--acid);box-shadow:0 0 12px rgba(201,255,67,.30);opacity:.74;transition:opacity .25s,transform .25s}
.sound-on .nav-sound{border-color:rgba(201,255,67,.54);box-shadow:0 0 0 5px rgba(201,255,67,.045),0 8px 24px rgba(0,0,0,.08)}
.sound-on .nav-sound::after{opacity:1;transform:scale(1.12)}
.sound-on .nav-sound-core i{animation:novaSonicBars .82s ease-in-out infinite alternate}
.sound-on .nav-sound-core i:nth-child(2){animation-delay:-.34s}.sound-on .nav-sound-core i:nth-child(3){animation-delay:-.58s}
.sound-ready:not(.sound-on) .nav-sound::after{animation:novaSoundReady 1.8s ease-in-out infinite}
.nav-sound-tip{
  position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) translateX(4px);
  padding:5px 7px;border-radius:6px;background:rgba(11,11,10,.86);color:#efefe9;
  font-size:.54rem;font-weight:800;letter-spacing:.13em;line-height:1;opacity:0;pointer-events:none;
  transition:opacity .2s,transform .2s;white-space:nowrap;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)
}
.nav-sound:hover .nav-sound-tip{opacity:.74;transform:translateY(-50%) translateX(0)}
.nav-cta{order:1}.menu-btn{order:3}
@keyframes novaSonicBars{0%{transform:scaleY(.56);opacity:.62}100%{transform:scaleY(1.18);opacity:1}}
@keyframes novaSoundReady{0%,100%{opacity:.42;box-shadow:0 0 0 rgba(201,255,67,0)}50%{opacity:1;box-shadow:0 0 14px rgba(201,255,67,.42)}}

@media(min-width:761px){
  .nav-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;justify-content:initial}
  .wordmark{justify-self:start}.nav-links{justify-self:center}.nav-actions{justify-self:end}
  .nav-sound{order:2}.nav-cta{order:1}.menu-btn{display:none!important}
  .nav.is-light .nav-sound{background:rgba(242,239,230,.28)}
}

@media(max-width:760px){
  /* Final positioning model: fixed from the very first paint. V11.8 proved
     this is the stable Safari/Chrome path; there is no absolute/sticky switch. */
  .nav,.nav.is-docked{
    position:fixed!important;
    inset:0 0 auto 0!important;
    top:0!important;
    width:100%!important;
    height:var(--nav-h)!important;
    margin:0!important;
    z-index:160!important;
    opacity:1!important;
    visibility:visible!important;
    transform:translate3d(0,0,0)!important;
    -webkit-transform:translate3d(0,0,0)!important;
    background:linear-gradient(180deg,rgba(11,11,10,.62),rgba(11,11,10,.14) 72%,transparent)!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important
  }
  .nav.is-solid{
    background:rgba(11,11,10,.74)!important;
    box-shadow:0 12px 34px rgba(0,0,0,.055)!important;
    backdrop-filter:blur(18px) saturate(1.05)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.05)!important
  }
  .nav.is-light{
    color:var(--ink)!important;
    background:rgba(242,239,230,.88)!important;
    box-shadow:0 12px 34px rgba(17,18,15,.035)!important;
    backdrop-filter:blur(18px) saturate(1.02)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.02)!important
  }
  .nav-inner{display:flex!important;align-items:center!important;justify-content:flex-start!important;height:var(--nav-h)!important;min-height:var(--nav-h)!important}
  .wordmark{margin-right:auto}.nav-actions{gap:8px;margin-left:auto}.nav-cta{display:none!important}.nav-sound{order:1;width:40px;height:40px;min-width:40px;min-height:40px;background:rgba(11,11,10,.28)}.menu-btn{order:2;margin:0!important}
  .nav-sound-tip{display:none}
  .nav.is-light .nav-sound{background:rgba(242,239,230,.40)}
  body.menu-open .nav-sound{color:var(--ink)!important;border-color:rgba(11,11,10,.54)!important;background:rgba(242,239,230,.20)!important}
  body.menu-open .nav-sound::after{background:var(--ink);box-shadow:none}
  .hero{padding-top:calc(var(--nav-h) + 34px)!important}

  /* The old floating sonic orb is intentionally retired. */
  body>.sound-console{display:none!important}
}

/* ----------------------------- GRAND FINALE ----------------------------- */
.footer{padding:0 0 26px;position:relative;overflow:hidden;isolation:isolate;background:#090a08}
.footer-monument{
  position:relative;overflow:hidden;isolation:isolate;
  min-height:min(880px,82svh);
  display:flex;align-items:stretch;
  border-bottom:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    radial-gradient(ellipse at 88% 52%,rgba(201,255,67,.12),transparent 34%),
    #090a08;
  background-size:76px 76px,76px 76px,auto,auto
}
.footer-monument::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  width:72vw;height:140%;right:-34vw;top:-18%;
  background:radial-gradient(ellipse at 36% 48%,rgba(242,239,230,.50) 0 2.5%,rgba(201,255,67,.22) 7%,rgba(201,255,67,.075) 25%,transparent 56%);
  filter:blur(20px);mix-blend-mode:screen;opacity:.58;
  animation:novaFooterField 11s ease-in-out infinite alternate;will-change:transform,opacity
}
.footer-monument::after{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent 0,var(--acid) 17%,rgba(242,239,230,.9) 51%,var(--acid) 82%,transparent 100%);
  transform:translateX(-82%);opacity:.62;
  animation:novaFooterHorizon 8.5s cubic-bezier(.22,1,.36,1) infinite
}
.footer-monument-inner{position:relative;z-index:3;display:flex;flex-direction:column;width:100%;padding:clamp(84px,9vw,138px) 0 clamp(34px,4vw,60px)}
.footer-monument-meta{display:flex;justify-content:space-between;gap:20px;color:#7f817a;font-size:.64rem;line-height:1.2;font-weight:760;letter-spacing:.16em;text-transform:uppercase}
.footer-monument-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(42px,8vw,128px);align-items:end;margin-top:auto;margin-bottom:auto;padding:clamp(60px,8vh,96px) 0}
.footer-monument h2{margin:0;max-width:980px;color:#f1efe8;font-size:clamp(4.2rem,7.5vw,8.7rem);line-height:.84;letter-spacing:-.072em;font-weight:760;text-wrap:balance}
.footer-monument h2 em{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-style:italic;color:var(--acid);letter-spacing:-.042em;white-space:nowrap}
.footer-monument-side{align-self:end;max-width:430px;padding-bottom:.45em}
.footer-monument-side p{margin:0 0 30px;color:#a9aaa4;font-size:clamp(.98rem,1.25vw,1.16rem);line-height:1.68;letter-spacing:-.018em}
.footer-monument-cta{display:inline-flex!important;align-items:center!important;gap:10px!important;width:max-content!important;padding:14px 18px!important;border:1px solid rgba(242,239,230,.54)!important;border-radius:999px!important;color:#f1efe8!important;font-size:.88rem!important;font-weight:760!important;transition:background .25s,color .25s,transform .25s!important}
.footer-monument-cta:hover{background:var(--acid)!important;color:var(--ink)!important;border-color:var(--acid)!important;transform:translateY(-2px)}
.footer-signature{font-size:clamp(4rem,10.6vw,12.8rem);line-height:.72;letter-spacing:-.082em;font-weight:800;color:transparent;-webkit-text-stroke:1px rgba(242,239,230,.09);white-space:nowrap;transform:translateX(-.03em);user-select:none}

/* A vertical architectural light-fold — deliberately not another orbit/ring. */
.footer-aperture{position:absolute;z-index:1;right:-5vw;top:4%;width:min(36vw,540px);height:92%;pointer-events:none;transform:skewX(-4deg);opacity:.78}
.footer-aperture>i{position:absolute;inset:0;border-radius:52% 48% 48% 52%/8% 8% 92% 92%;transform-origin:center;background:linear-gradient(90deg,transparent 0,rgba(201,255,67,.025) 34%,rgba(201,255,67,.22) 50%,rgba(242,239,230,.24) 53%,rgba(201,255,67,.08) 57%,transparent 72%);filter:blur(5px)}
.footer-aperture>i:nth-child(1){transform:translateX(-18%) scaleX(.72);opacity:.30}
.footer-aperture>i:nth-child(2){transform:translateX(0) scaleX(.45);opacity:.58;filter:blur(10px)}
.footer-aperture>i:nth-child(3){transform:translateX(14%) scaleX(.18);opacity:.94;filter:blur(16px);animation:novaFooterSlit 6.8s ease-in-out infinite alternate}

.footer>.container{position:relative;z-index:3;padding-top:52px}
.footer-top{padding-bottom:46px}
.footer-bottom{padding-top:22px}

@keyframes novaFooterField{0%{transform:translate3d(4vw,-2vh,0) scale(.94);opacity:.40}50%{transform:translate3d(-2vw,3vh,0) scale(1.04);opacity:.66}100%{transform:translate3d(-5vw,-1vh,0) scale(.98);opacity:.52}}
@keyframes novaFooterHorizon{0%,12%{transform:translateX(-86%);opacity:0}26%{opacity:.72}55%{transform:translateX(0);opacity:.42}70%,100%{transform:translateX(86%);opacity:0}}
@keyframes novaFooterSlit{0%{transform:translateX(13%) scaleX(.13);opacity:.54}100%{transform:translateX(7%) scaleX(.25);opacity:1}}

@media(max-width:760px){
  .footer-monument{min-height:76svh;background-size:48px 48px,48px 48px,auto,auto}
  .footer-monument-inner{padding:76px 0 30px}
  .footer-monument-meta{font-size:.55rem;letter-spacing:.13em}
  .footer-monument-meta span:last-child{display:none}
  .footer-monument-grid{grid-template-columns:1fr;gap:34px;padding:64px 0 54px;margin:auto 0}
  .footer-monument h2{font-size:clamp(3.55rem,15.1vw,5.25rem);line-height:.86;letter-spacing:-.066em;max-width:96%}
  .footer-monument h2 em{display:inline-block;white-space:normal;line-height:.92;padding-right:.05em}
  .footer-monument-side{max-width:92%}
  .footer-monument-side p{font-size:.99rem;line-height:1.64;margin-bottom:24px}
  .footer-monument-cta{min-height:48px;padding:12px 16px!important}
  .footer-signature{font-size:17vw;-webkit-text-stroke:1px rgba(242,239,230,.08);transform:translateX(-.04em)}
  .footer-aperture{right:-44vw;top:8%;width:104vw;height:88%;opacity:.54}
  .footer-monument::before{width:130vw;height:120%;right:-78vw;top:-10%;opacity:.48}
  .footer>.container{padding-top:42px}
  .footer-top{gap:34px 22px;padding-bottom:38px}
  .footer-bottom{padding-bottom:10px}
}

@media(prefers-reduced-motion:reduce){
  .nav-sound-core i,.sound-ready .nav-sound::after,.footer-monument::before,.footer-monument::after,.footer-aperture>i:nth-child(3){animation:none!important}
}

/* =========================================================
   V11.14 — LIVING SIGNAL / OPERATING FIELD
   Rebuilt from first principles after visual review. Motion is autonomous,
   pointer influence is damped, and the process section is a continuous
   scroll-synchronised signal path rather than a decorative diagram.
   ========================================================= */

/* ---------------------------- Living Signal --------------------------- */
.hero[data-nova-aurora]{--nova-energy:0;isolation:isolate}
.hero[data-nova-aurora] .signal-canvas{
  opacity:.88;
  filter:saturate(1.04) contrast(1.04);
  mix-blend-mode:screen;
  z-index:1
}
.hero[data-nova-aurora]:not(.webgl-ready) .hero-signal{opacity:.42!important}
.hero[data-nova-aurora]:not(.webgl-ready) .hero-prism{opacity:.36!important}
.hero[data-nova-aurora].webgl-ready .hero-signal{opacity:.045!important;filter:blur(34px) saturate(1.01)!important}
.hero[data-nova-aurora].webgl-ready .hero-prism{opacity:.075!important;filter:blur(38px) saturate(1.01)!important}
.hero[data-nova-aurora].webgl-ready .hero-sweep{opacity:.035!important}
.hero[data-nova-aurora] .hero-coordinate{opacity:.56;mix-blend-mode:screen}
.hero[data-nova-aurora]::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background:
    radial-gradient(ellipse at 78% 42%,rgba(201,255,47,.025),transparent 34%),
    linear-gradient(90deg,rgba(9,10,8,.14),transparent 42%,rgba(9,10,8,.03));
  mix-blend-mode:screen
}

/* ---------------------- Controlled project depth ---------------------- */
[data-living-object]{--lo-x:0px;--lo-y:0px;--lo-rx:0deg;--lo-ry:0deg;--lo-energy:0;transform-style:preserve-3d;perspective:1500px}
[data-living-object] [data-depth]{--depth:1;transform:translate3d(calc(var(--lo-x) * var(--depth)),calc(var(--lo-y) * var(--depth)),calc(7px * var(--depth)));transition:transform .95s cubic-bezier(.16,1,.3,1);will-change:transform}
[data-living-object] [data-depth="0.28"]{--depth:.28}[data-living-object] [data-depth="0.30"]{--depth:.30}[data-living-object] [data-depth="0.42"]{--depth:.42}[data-living-object] [data-depth="0.45"]{--depth:.45}[data-living-object] [data-depth="0.62"]{--depth:.62}[data-living-object] [data-depth="0.68"]{--depth:.68}[data-living-object] [data-depth="0.90"]{--depth:.90}
.case-media-wrap:has([data-living-object]),.work-card-media[data-living-object]{overflow:hidden;isolation:isolate}
.case-media-wrap:has([data-living-object])::before,.work-card-media[data-living-object]::before{content:"";position:absolute;inset:-25%;z-index:7;pointer-events:none;background:radial-gradient(circle at calc(50% + var(--lo-x)) calc(48% + var(--lo-y)),rgba(242,239,230,calc(.025 + var(--lo-energy)*.055)),transparent 29%);mix-blend-mode:screen}
.work-card-media[data-living-object] .concept-visual,.ritivo-stage[data-living-object],.commerce-art[data-living-object],.local-art[data-living-object]{transform:rotateX(var(--lo-rx)) rotateY(var(--lo-ry)) scale(1.006);transition:transform .95s cubic-bezier(.16,1,.3,1)}

/* ----------------------- Production infrastructure -------------------- */
.infra-rail{position:relative;background:#090a08;color:var(--paper);padding:26px 0 28px;border-top:1px solid rgba(255,255,255,.075);border-bottom:1px solid rgba(255,255,255,.075);overflow:hidden;isolation:isolate}
.infra-rail::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 10%,rgba(201,255,47,.028) 28%,transparent 48% 100%);transform:translateX(-42%);animation:novaInfraLight 13s cubic-bezier(.16,1,.3,1) infinite;pointer-events:none}
.infra-rail-meta{position:relative;z-index:2;display:flex;justify-content:space-between;gap:24px;color:#73766f;margin-bottom:17px}
.infra-rail-mask{position:relative;z-index:2;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.infra-rail-track{display:flex;width:max-content;animation:novaInfraRail 42s linear infinite;will-change:transform}
.infra-seq{display:flex;align-items:center;flex:none}
.infra-item{display:flex;align-items:center;gap:10px;padding:4px 23px 4px 0;margin-right:23px;color:#babcb5;font-size:.80rem;letter-spacing:.018em;white-space:nowrap;transition:color .35s,transform .35s}
.infra-item img{width:24px;height:24px;object-fit:contain;filter:grayscale(1) brightness(1.48);opacity:.70;mix-blend-mode:screen;transition:filter .35s,opacity .35s}
.infra-item b{font-weight:650}.infra-item i{font-style:normal;color:var(--acid);font-size:.9rem;opacity:.72}
.infra-item:hover{color:#f0f0eb;transform:translateY(-1px)}.infra-item:hover img{filter:grayscale(.15) brightness(1.15);opacity:.96}
.infra-rail:hover .infra-rail-track{animation-play-state:paused}
@keyframes novaInfraRail{to{transform:translateX(-50%)}}
@keyframes novaInfraLight{0%,12%{transform:translateX(-55%);opacity:0}30%{opacity:1}62%{transform:translateX(70%);opacity:.65}72%,100%{transform:translateX(90%);opacity:0}}

/* ------------------------- Nova Operating Field ----------------------- */
.process-film{position:relative;padding:clamp(112px,10vw,170px) 0 clamp(124px,12vw,190px);background:#090a08;color:var(--paper);overflow:clip;isolation:isolate}
.process-film::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 14% 46%,rgba(201,255,47,.045),transparent 28%),radial-gradient(ellipse at 88% 82%,rgba(242,239,230,.026),transparent 24%)}
.process-film-head{position:relative;z-index:2;display:grid;grid-template-columns:.28fr .72fr;gap:40px;align-items:start;margin-bottom:clamp(70px,8vw,118px)}
.process-film-head .lead{max-width:760px;color:#a9aaa4;margin-top:24px}
.process-film-stage{position:relative;z-index:2;display:grid;grid-template-columns:minmax(430px,.88fr) minmax(440px,1.12fr);gap:clamp(58px,7vw,116px);align-items:start}
.process-film-visual{--flow:0;position:sticky;top:calc(var(--nav-h) + 6vh);height:min(72vh,720px);min-height:560px;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,rgba(14,15,12,.76),rgba(8,9,7,.94));border:1px solid rgba(242,239,230,.075);box-shadow:0 36px 90px rgba(0,0,0,.22)}
.process-film-grid{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(ellipse at center,#000 18%,rgba(0,0,0,.78) 58%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse at center,#000 18%,rgba(0,0,0,.78) 58%,transparent 100%)}
.process-film-visual::before{content:"";position:absolute;width:48%;aspect-ratio:1;left:26%;top:27%;border-radius:50%;background:radial-gradient(circle,rgba(201,255,47,.08),rgba(201,255,47,.025) 32%,transparent 68%);filter:blur(24px);transform:translate3d(calc((var(--flow) - .5)*5%),calc((.5 - var(--flow))*3%),0);pointer-events:none}
.process-film-meta{position:absolute;z-index:4;left:26px;right:26px;top:24px;display:flex;justify-content:space-between;gap:18px;color:#73766f}.process-film-meta span:last-child{color:#a8aaa2}
.process-film-ghost{position:absolute;z-index:0;right:-.03em;bottom:-.18em;font-size:clamp(13rem,24vw,24rem);line-height:.72;font-weight:800;letter-spacing:-.09em;color:rgba(242,239,230,.021);font-variant-numeric:tabular-nums;pointer-events:none;transition:opacity .55s}
.process-film-svg{position:absolute;inset:58px 20px 42px;width:calc(100% - 40px);height:calc(100% - 100px);overflow:visible}
.process-film-coordinates path{fill:none;stroke:rgba(242,239,230,.047);stroke-width:1}.process-film-coordinates circle{fill:rgba(201,255,47,.22)}
.process-film-echo{fill:none;stroke:rgba(242,239,230,.055);stroke-width:1}.process-film-echo.echo-a{transform:translate(7px,-4px)}.process-film-echo.echo-b{transform:translate(-7px,5px);stroke:rgba(201,255,47,.055)}
.process-film-track{fill:none;stroke:rgba(242,239,230,.12);stroke-width:1.15;stroke-linecap:round}
.process-film-active{fill:none;stroke:url(#novaFlowGradient);stroke-width:2.2;stroke-linecap:round;filter:url(#novaFlowGlow);will-change:stroke-dashoffset}
.process-film-head-bloom{opacity:.48;filter:url(#novaFlowGlow)}.process-film-head-core{fill:#f6f4eb;filter:url(#novaFlowGlow)}.process-film-head-ring{fill:none;stroke:rgba(201,255,47,.74);stroke-width:1;stroke-dasharray:4 5;transform-box:fill-box;transform-origin:center;animation:novaHeadOrbit 8s linear infinite}
.process-film-labels g{opacity:.27;transition:opacity .5s,transform .6s cubic-bezier(.16,1,.3,1)}.process-film-labels g.is-active{opacity:1}.process-film-labels text{fill:#d9dad4;font:700 17px Manrope,sans-serif;letter-spacing:-.02em}.process-film-labels text:first-child{fill:#c7ff2f;font-size:11px;letter-spacing:.12em}.process-film-labels .sub{fill:#767970;font-size:8px;letter-spacing:.16em;font-weight:700}
.process-film-caption{position:absolute;z-index:4;left:26px;right:26px;bottom:21px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;color:#747770;font-size:.55rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.process-film-caption i{height:1px;background:linear-gradient(90deg,rgba(201,255,47,.58),rgba(242,239,230,.12),transparent)}.process-film-caption span:first-child{color:#c5c7c0}
@keyframes novaHeadOrbit{to{transform:rotate(360deg)}}

.process-film-steps{position:relative}
.process-film-step{--step-focus:.55;min-height:60vh;padding:clamp(52px,7vh,84px) 0;border-top:1px solid rgba(242,239,230,.105);display:flex;flex-direction:column;justify-content:center;opacity:var(--step-focus);transform:translate3d(0,calc((1 - var(--step-focus))*18px),0);transition:opacity .18s linear,transform .18s linear;filter:none!important;will-change:opacity,transform}
.process-film-step:last-child{border-bottom:1px solid rgba(242,239,230,.105)}
.process-film-step>.micro{color:var(--acid);margin-bottom:22px;opacity:calc(.62 + var(--step-focus)*.38)}
.process-film-step h3{font-size:clamp(3.25rem,5.6vw,6.2rem);line-height:.86;letter-spacing:-.069em;margin:0 0 25px;max-width:780px;font-weight:760;color:#f0eee7;opacity:calc(.74 + var(--step-focus)*.26)}
.process-film-step h3 em{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-style:italic;color:var(--acid);letter-spacing:-.035em}
.process-film-step p{max-width:690px;color:#a3a59e;font-size:clamp(1rem,1.18vw,1.15rem);line-height:1.72;margin:0;opacity:calc(.72 + var(--step-focus)*.28)}
.process-film-step.is-active{--step-focus:1!important}

@media(max-width:960px){
  .process-film-head{grid-template-columns:1fr;gap:22px}.process-film-stage{grid-template-columns:1fr;gap:48px}
  .process-film-visual{position:relative;top:auto;height:min(72vw,620px);min-height:470px}
  .process-film-step{min-height:auto;padding:72px 0;opacity:1!important;transform:none!important}
}
@media(max-width:760px){
  .hero[data-nova-aurora] .signal-canvas{opacity:.74;filter:saturate(1.02) contrast(1.025)}
  .hero[data-nova-aurora].webgl-ready .hero-prism{opacity:.05!important}.hero[data-nova-aurora].webgl-ready .hero-sweep{opacity:.02!important}
  [data-living-object],[data-living-object] [data-depth],.work-card-media[data-living-object] .concept-visual,.ritivo-stage[data-living-object],.commerce-art[data-living-object],.local-art[data-living-object]{transform:none!important}
  .case-media-wrap:has([data-living-object])::before,.work-card-media[data-living-object]::before{display:none}
  .infra-rail{padding:19px 0 21px}.infra-rail-meta{font-size:.52rem}.infra-rail-meta span:last-child{display:none}.infra-item{font-size:.73rem;margin-right:14px;padding-right:14px}.infra-item img{width:21px;height:21px}.infra-rail-track{animation-duration:34s}
  .process-film{padding:90px 0 108px}.process-film-head{margin-bottom:48px}.process-film-stage{gap:40px}
  .process-film-visual{height:104vw;min-height:0;max-height:520px;border-color:rgba(242,239,230,.09)}
  .process-film-svg{inset:58px 10px 42px;width:calc(100% - 20px);height:calc(100% - 100px)}
  .process-film-meta{left:18px;right:18px;font-size:.48rem}.process-film-meta span:first-child{max-width:54%}
  .process-film-caption{left:18px;right:18px;bottom:18px;gap:10px;font-size:.48rem}.process-film-caption span:last-child{display:none}
  .process-film-ghost{font-size:54vw;right:-.08em;bottom:-.13em}
  .process-film-labels text{font-size:15px}.process-film-labels .sub{font-size:7px}
  .process-film-step{padding:58px 0;border-color:rgba(242,239,230,.11);opacity:1!important;transform:none!important}
  .process-film-step h3{font-size:clamp(2.85rem,12.6vw,4.4rem);line-height:.88}.process-film-step p{font-size:.99rem;line-height:1.66;color:#aaaCA5;opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .infra-rail-track,.infra-rail::before,.process-film-head-ring{animation:none!important}
  [data-living-object],[data-living-object] [data-depth]{transform:none!important}
  .process-film-step{opacity:1!important;transform:none!important}
}

/* =========================================================
   V11.15 — MOBILE PRODUCT + VISIBILITY ENGINE
   Product theatre, mobile pillar and final closing polish.
   ========================================================= */

/* ------------------------- Mobile products / home ------------------------- */
.mobile-products{position:relative;background:var(--paper);color:var(--ink);padding:clamp(105px,12vw,178px) 0;border-bottom:1px solid var(--line);overflow:hidden}
.mobile-products::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 0 56%,rgba(201,255,67,.055) 76%,transparent 100%)}
.mobile-products-head{display:grid;grid-template-columns:.32fr .68fr;gap:clamp(28px,5vw,72px);align-items:start;position:relative;z-index:2}
.mobile-products-head .lead{max-width:820px;margin-top:26px;color:#53554f}
.mobile-products-stage{position:relative;z-index:2;display:grid;grid-template-columns:minmax(280px,.86fr) minmax(460px,1.14fr);min-height:650px;margin-top:clamp(52px,7vw,88px);overflow:hidden;background:#090b09;color:#f1efe8;border:1px solid rgba(11,11,10,.16);box-shadow:0 28px 80px rgba(11,11,10,.12)}
.mobile-products-stage::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.mobile-products-copy{position:relative;z-index:5;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(34px,5vw,76px);border-right:1px solid rgba(255,255,255,.10)}
.mobile-products-copy h3{margin:16px 0 24px;max-width:620px;font-size:clamp(3rem,5.25vw,6rem);line-height:.88;letter-spacing:-.066em}
.mobile-products-copy h3 em{font-family:"Instrument Serif",Georgia,serif;font-weight:400;color:var(--acid);letter-spacing:-.036em}
.mobile-products-copy p{max-width:560px;margin:0;color:#aeb0aa;font-size:clamp(.98rem,1.25vw,1.14rem);line-height:1.7}
.mobile-stack-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:30px;color:#7f817b;font-size:.66rem;font-weight:740;letter-spacing:.13em;text-transform:uppercase}
.mobile-stack-line i{width:3px;height:3px;border-radius:50%;background:var(--acid);opacity:.72}
.mobile-products-theatre{position:relative;min-height:650px;overflow:hidden;background:radial-gradient(circle at 68% 48%,rgba(201,255,67,.11),transparent 26%),radial-gradient(circle at 76% 30%,rgba(111,84,255,.15),transparent 24%),#0c0e0c}
.mp-grid{position:absolute;inset:-10%;opacity:.44;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;transform:perspective(800px) rotateX(62deg) translateY(34%);transform-origin:center bottom}
.mp-aura{position:absolute;width:440px;height:440px;left:48%;top:46%;transform:translate(-50%,-50%);border:1px solid rgba(201,255,67,.18);border-radius:50%;box-shadow:0 0 0 46px rgba(201,255,67,.025),0 0 0 92px rgba(201,255,67,.014);animation:mpAura 8s ease-in-out infinite alternate}
.mp-phone{position:absolute;width:236px;height:486px;padding:8px;background:#020302;border:1px solid rgba(255,255,255,.18);border-radius:38px;box-shadow:0 44px 80px rgba(0,0,0,.52);transform-style:preserve-3d;overflow:hidden}
.mp-phone-screen{position:relative;width:100%;height:100%;border-radius:31px;overflow:hidden;background:linear-gradient(165deg,#321354 0%,#200d37 52%,#10071d 100%);padding:22px;color:#f8f3eb}
.mp-phone-back{left:24%;top:15%;transform:rotate(-10deg) translateZ(-20px);opacity:.46;filter:saturate(.8)}
.mp-phone-front{left:47%;top:10%;transform:rotate(7deg);z-index:3;animation:mpDeviceFloat 7s ease-in-out infinite alternate}
.mp-phone-notch{position:absolute;z-index:8;width:88px;height:21px;top:15px;left:50%;transform:translateX(-50%);border-radius:999px;background:#020302}
.mp-status{display:flex;justify-content:space-between;align-items:center;margin:5px 3px 42px;font-size:.52rem;letter-spacing:.06em;opacity:.78}
.mp-app-icon{display:block;width:84px;height:84px;margin:0 auto 16px;border-radius:22px;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.mp-phone-screen.front>strong{display:block;text-align:center;font-size:2rem;letter-spacing:-.055em}
.mp-phone-screen.front>small{display:block;text-align:center;margin-top:4px;color:#b7a8cb;font-size:.62rem;letter-spacing:.11em;text-transform:uppercase}
.mp-ui-row{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;margin-top:18px;padding:13px 12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.055);backdrop-filter:blur(10px);font-size:.72rem}
.mp-ui-row i{width:8px;height:8px;border-radius:50%;background:#ff4a35;box-shadow:0 0 14px rgba(255,74,53,.36)}
.mp-ui-row:nth-of-type(2) i{background:var(--acid);box-shadow:0 0 14px rgba(201,255,67,.35)}
.mp-ui-row b{font-size:.84rem;color:var(--acid)}
.mp-mini-top{font-size:.55rem;letter-spacing:.16em;color:#bcaed0;margin-top:24px}
.mp-mini-card{height:118px;margin-top:52px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(201,255,67,.06))}
.mp-mini-card.short{height:76px;margin-top:12px}
.mp-mini-pulse{position:absolute;width:96px;height:96px;border-radius:50%;right:-28px;bottom:26px;border:1px solid rgba(201,255,67,.32);box-shadow:0 0 0 22px rgba(201,255,67,.03)}
.mp-platforms{position:absolute;z-index:6;right:28px;bottom:28px;display:grid;gap:10px;width:min(280px,42%)}
.mp-platform{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:12px 14px;background:rgba(242,239,230,.94);color:#11120f;border:1px solid rgba(255,255,255,.24);box-shadow:0 18px 48px rgba(0,0,0,.16);backdrop-filter:blur(16px)}
.mp-platform img{width:36px;height:36px;object-fit:contain}
.mp-platform span{display:flex;flex-direction:column;gap:3px;min-width:0}
.mp-platform small{font-size:.48rem;letter-spacing:.15em;color:#74766f;font-weight:800}
.mp-platform strong{font-size:.78rem;letter-spacing:-.02em;white-space:nowrap}
.mobile-products-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:34px}
.mobile-products-grid article{min-height:280px;padding:30px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.mobile-products-grid article h3{margin:36px 0 16px;font-size:clamp(1.45rem,2vw,2.15rem);line-height:1.04;letter-spacing:-.048em}
.mobile-products-grid article p{margin-top:auto;color:#5c5e58;line-height:1.65;font-size:.91rem}
.mobile-products-foot{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}
.mobile-products-foot>div:first-child{display:flex;flex-direction:column;gap:7px}.mobile-products-foot strong{font-size:.9rem;letter-spacing:-.02em}.mobile-products-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@keyframes mpAura{0%{transform:translate(-50%,-50%) scale(.94);opacity:.55}100%{transform:translate(-50%,-50%) scale(1.06);opacity:1}}
@keyframes mpDeviceFloat{0%{transform:rotate(7deg) translate3d(0,6px,0)}100%{transform:rotate(5.6deg) translate3d(-5px,-8px,0)}}

/* ----------------------------- Mobile pillar ----------------------------- */
.mobile-service-hero{overflow:hidden}
.mobile-service-hero-grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(420px,1.04fr);gap:clamp(44px,7vw,100px);align-items:center}
.mobile-service-hero .lead{max-width:740px}.mobile-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.mobile-pillar-visual{position:relative;min-height:520px;isolation:isolate}
.mp-pillar-orbit{position:absolute;width:460px;height:460px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(201,255,67,.20);border-radius:50%;box-shadow:0 0 0 52px rgba(201,255,67,.025),0 0 0 106px rgba(255,255,255,.015);animation:mpPillarOrbit 11s ease-in-out infinite alternate}
.mp-pillar-device{position:absolute;z-index:3;width:250px;height:500px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(5deg);padding:64px 24px 24px;border:1px solid rgba(255,255,255,.20);border-radius:40px;background:linear-gradient(160deg,#321354 0,#1c0c31 55%,#0f071b 100%);box-shadow:0 50px 100px rgba(0,0,0,.38);text-align:center;color:#f8f3eb}
.mp-pillar-device::before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.06);border-radius:32px;pointer-events:none}.mp-pillar-device .mp-phone-notch{top:14px}
.mp-pillar-device>img{width:94px;height:94px;border-radius:25px;margin-top:26px}.mp-pillar-device>strong{display:block;font-size:2.2rem;margin-top:16px;letter-spacing:-.06em}.mp-pillar-device>small{display:block;margin-top:5px;color:#baa9cc;font-size:.55rem;letter-spacing:.14em}
.mp-pillar-lines{display:grid;gap:12px;margin-top:54px}.mp-pillar-lines i{height:46px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04)}.mp-pillar-lines i:nth-child(2){width:78%}.mp-pillar-lines i:nth-child(3){width:58%}
.mp-pillar-platform{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 13px;background:#f1efe8;color:#11120f;border:1px solid rgba(255,255,255,.25);box-shadow:0 18px 46px rgba(0,0,0,.22);font-size:.75rem;font-weight:780}.mp-pillar-platform img{width:32px;height:32px;object-fit:contain}.mp-pillar-platform.p1{left:8%;top:28%}.mp-pillar-platform.p2{right:3%;bottom:22%}
.mobile-pillar-main .answer-box{max-width:900px;margin:0 auto 8px}.mobile-architecture-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12);margin-top:48px}.content-section:not(.dark) .mobile-architecture-grid{border-color:var(--line)}
.mobile-architecture-grid article{min-height:250px;padding:28px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column}.content-section:not(.dark) .mobile-architecture-grid article{border-color:var(--line)}
.mobile-architecture-grid h3{margin:36px 0 14px;font-size:clamp(1.5rem,2.2vw,2.35rem);letter-spacing:-.052em;line-height:1.02}.mobile-architecture-grid p{margin-top:auto;color:#aaaca6;line-height:1.64}.content-section:not(.dark) .mobile-architecture-grid p{color:#5a5c56}
.mobile-tech-stack{border-top:1px solid var(--line)}.mobile-tech-stack>div{display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}.mobile-tech-stack span{font-size:.62rem;letter-spacing:.12em;color:#777a72}.mobile-tech-stack strong{font-size:1.02rem}.mobile-tech-stack small{font-size:.72rem;color:#767871;letter-spacing:.04em;text-align:right}
.mobile-proof-ritivo{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:end;margin-top:54px;padding:34px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.mobile-proof-ritivo>div{display:flex;align-items:center;gap:22px}.mobile-proof-ritivo img{width:92px;height:92px;border-radius:24px}.mobile-proof-ritivo strong{display:block;font-size:2rem;letter-spacing:-.05em}.mobile-proof-ritivo span{display:block;margin-top:5px;color:#92958e;font-size:.65rem;letter-spacing:.10em;text-transform:uppercase}.mobile-proof-ritivo p{margin:0;color:#b6b8b1;font-size:1.02rem;line-height:1.72}
@keyframes mpPillarOrbit{0%{transform:translate(-50%,-50%) scale(.92) rotate(-4deg);opacity:.55}100%{transform:translate(-50%,-50%) scale(1.07) rotate(5deg);opacity:1}}

/* ----------------------------- Closing polish ----------------------------- */
.footer-monument-inner{padding-bottom:clamp(48px,5vw,78px)}
.footer-signature{opacity:.72;transform:translate(-.02em,clamp(10px,1.8vw,24px));-webkit-text-stroke:1px rgba(242,239,230,.075)}
.footer>.container{border-top:1px solid rgba(255,255,255,.035)}

@media(max-width:1040px){
  .mobile-products-stage{grid-template-columns:1fr;min-height:0}.mobile-products-copy{min-height:420px;border-right:0;border-bottom:1px solid rgba(255,255,255,.10)}.mobile-products-theatre{min-height:610px}.mobile-products-grid{grid-template-columns:repeat(2,1fr)}
  .mobile-service-hero-grid{grid-template-columns:1fr;gap:28px}.mobile-pillar-visual{min-height:540px}.mobile-architecture-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .mobile-products{padding:86px 0}.mobile-products-head{grid-template-columns:1fr;gap:24px}.mobile-products-head .lead{margin-top:18px}.mobile-products-stage{margin-top:42px}.mobile-products-copy{min-height:365px;padding:28px 22px}.mobile-products-copy h3{font-size:clamp(3rem,14vw,4.5rem);max-width:95%}.mobile-products-copy p{font-size:.96rem}.mobile-stack-line{gap:7px;font-size:.56rem}.mobile-products-theatre{min-height:560px}.mp-aura{width:330px;height:330px;left:58%}.mp-phone{width:188px;height:390px;border-radius:31px}.mp-phone-screen{border-radius:24px;padding:18px}.mp-phone-front{left:44%;top:8%}.mp-phone-back{left:9%;top:17%}.mp-phone-notch{width:70px;height:17px;top:13px}.mp-status{margin-bottom:30px}.mp-app-icon{width:68px;height:68px;border-radius:18px}.mp-phone-screen.front>strong{font-size:1.65rem}.mp-ui-row{margin-top:12px;padding:10px 9px;font-size:.61rem}.mp-platforms{right:14px;bottom:14px;width:220px}.mp-platform{grid-template-columns:34px 1fr;gap:9px;padding:9px 10px}.mp-platform img{width:30px;height:30px}.mp-platform strong{font-size:.68rem}.mobile-products-grid{grid-template-columns:1fr;margin-top:22px}.mobile-products-grid article{min-height:220px;padding:24px 20px}.mobile-products-grid article h3{margin:26px 0 12px}.mobile-products-foot{align-items:flex-start;flex-direction:column}.mobile-products-actions{justify-content:flex-start;width:100%}.mobile-products-actions .btn{flex:1 1 auto;justify-content:center}
  .mobile-service-hero-grid{grid-template-columns:1fr}.mobile-pillar-visual{min-height:500px;margin-top:16px}.mp-pillar-orbit{width:330px;height:330px}.mp-pillar-device{width:205px;height:414px;border-radius:34px;padding:54px 18px 18px}.mp-pillar-device>img{width:76px;height:76px}.mp-pillar-device>strong{font-size:1.8rem}.mp-pillar-lines{margin-top:38px}.mp-pillar-lines i{height:36px}.mp-pillar-platform.p1{left:0;top:24%}.mp-pillar-platform.p2{right:0;bottom:18%}.mp-pillar-platform{padding:8px 10px;font-size:.66rem}.mp-pillar-platform img{width:27px;height:27px}.mobile-architecture-grid{grid-template-columns:1fr}.mobile-architecture-grid article{min-height:210px;padding:24px 20px}.mobile-tech-stack>div{grid-template-columns:38px 1fr}.mobile-tech-stack small{grid-column:2;text-align:left}.mobile-proof-ritivo{grid-template-columns:1fr;gap:28px}.mobile-proof-ritivo img{width:76px;height:76px}
  .footer-monument-inner{padding-bottom:40px}.footer-signature{font-size:15.6vw;opacity:.54;transform:translate(-.05em,18px)}
}
@media(prefers-reduced-motion:reduce){.mp-aura,.mp-phone-front,.mp-pillar-orbit{animation:none!important}}


/* =========================================================
   V11.15.1 — iOS MOBILE PRODUCT COMPOSITING LOCK
   Safari could temporarily drop the dark stage layer while a transformed
   reveal container and backdrop-filter descendants were being composited.
   Keep the stage on one stable paint layer and give both halves an explicit
   dark surface so there is never a paper/white flash during scroll.
   ========================================================= */
@media(max-width:760px){
  .mobile-products-stage{
    background:#090b09!important;
    isolation:isolate!important;
    contain:paint!important;
    -webkit-transform:translate3d(0,0,0)!important;
    transform:translate3d(0,0,0)!important;
    -webkit-backface-visibility:hidden!important;
    backface-visibility:hidden!important
  }
  .mobile-products-stage[data-reveal],
  .mobile-products-stage[data-reveal].is-in{
    opacity:1!important;
    -webkit-transform:translate3d(0,0,0)!important;
    transform:translate3d(0,0,0)!important;
    transition:none!important
  }
  .mobile-products-copy{
    background:#090b09!important;
    -webkit-transform:translate3d(0,0,0);
    transform:translate3d(0,0,0);
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden
  }
  .mobile-products-theatre{
    background:radial-gradient(circle at 68% 48%,rgba(201,255,67,.11),transparent 26%),radial-gradient(circle at 76% 30%,rgba(111,84,255,.15),transparent 24%),#0c0e0c!important;
    -webkit-transform:translate3d(0,0,0);
    transform:translate3d(0,0,0);
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden
  }
  .mobile-products-theatre .mp-ui-row,
  .mobile-products-theatre .mp-platform{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important
  }
  .mobile-products-theatre .mp-ui-row{background:rgba(255,255,255,.07)!important}
  .mobile-products-theatre .mp-platform{background:#f2efe6!important}
}


/* =========================================================
   V11.15.3 — MOBILE HERO KINETIC RESTORE
   Native scroll-timeline support is inconsistent in mobile Safari / in-app
   browsers. On mobile, JS owns the hero serif transform so "hissedilir."
   remains physically coupled to scroll exactly like the desktop signal.
   ========================================================= */
@media(max-width:760px), (pointer:coarse){
  .hero .kinetic-word{
    animation:none!important;
    transform-origin:left center!important;
    will-change:transform!important;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
    transform:translate3d(0,0,0) skewX(0deg) scaleX(1);
  }
}

/* SEO 03 — visible topic clusters; editorial links, not card spam. */
.sector-cluster-link{display:block;color:inherit;position:relative;transition:padding .3s var(--ease),background .3s var(--ease)}
.sector-cluster-link .micro{display:block;margin-top:18px;color:var(--muted);font-size:.62rem}
.sector-cluster-link:hover{background:rgba(201,255,67,.08);padding-inline:20px}

/* =========================================================
   V11.18 — VISUAL FIELD / EDITORIAL INTEGRATION
   User-supplied System by Nova art is treated as brand material,
   not gallery content. This layer preserves the existing motion
   language while adding cinematic, device-aware visual fields.
   ========================================================= */

/* Turkish glyph safe-zone: preserve the masked reveal without clipping
   cedillas, dotted I glyphs or Instrument Serif overshoots. */
.hero-title .line-mask{
  padding-top:.105em!important;
  padding-bottom:.205em!important;
  margin-top:-.105em!important;
  margin-bottom:-.175em!important;
}
.hero-title .line-mask>span{padding-inline:.012em .035em}
.hero-title .tr-caps{display:inline-block;padding-bottom:.035em}

/* Soft content guard. It deters casual copying while leaving forms,
   focus navigation and assistive technologies functional. */
body.nova-content-guard{-webkit-touch-callout:none}
body.nova-content-guard main,
body.nova-content-guard header,
body.nova-content-guard footer,
body.nova-content-guard .mobile-menu{
  -webkit-user-select:none;
  user-select:none;
}
body.nova-content-guard input,
body.nova-content-guard textarea,
body.nova-content-guard select,
body.nova-content-guard [contenteditable="true"],
body.nova-content-guard pre,
body.nova-content-guard code{
  -webkit-user-select:text!important;
  user-select:text!important;
}
body.nova-content-guard img{user-drag:none;-webkit-user-drag:none}

/* Shared editorial image behavior */
[data-editorial-parallax]{--editorial-y:0px;position:relative;overflow:hidden}
[data-editorial-parallax] img{
  width:100%;height:100%;object-fit:cover;
  transform:translate3d(0,var(--editorial-y),0) scale(1.035);
  transition:filter .7s var(--ease),opacity .7s var(--ease);
  will-change:transform;
}

/* HOMEPAGE / VISUAL MANIFESTO */
.nova-visual-manifesto{
  background:var(--ink);color:var(--paper);
  padding:clamp(54px,6vw,88px) 0 clamp(110px,11vw,170px);
  position:relative;overflow:hidden;isolation:isolate;
}
.nova-visual-manifesto::before{
  content:"";position:absolute;inset:auto -16vw 4% auto;width:42vw;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(201,255,67,.11),transparent 67%);filter:blur(16px);pointer-events:none
}
.nova-visual-manifesto-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:clamp(34px,4vw,60px);color:#aaa9a4}
.nova-visual-manifesto-head p{margin:0}
.nova-visual-manifesto-stage{width:min(94vw,1540px);margin-inline:auto;position:relative;min-height:clamp(610px,64vw,980px)}
.nova-visual-frame{margin:0;position:absolute;background:#050505;box-shadow:0 44px 110px rgba(0,0,0,.34)}
.nova-visual-frame::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.09);pointer-events:none}
.nova-visual-frame--good{left:0;top:0;width:min(45vw,690px);aspect-ratio:4/3;z-index:2}
.nova-visual-frame--portal{right:0;bottom:0;width:min(58vw,900px);aspect-ratio:4/3;z-index:1}
.nova-visual-frame--good img{filter:contrast(1.03)}
.nova-visual-frame--portal img{filter:saturate(1.04) contrast(1.04)}
.nova-visual-manifesto-line{position:absolute;left:42%;top:17%;width:1px;height:58%;background:linear-gradient(180deg,transparent,var(--acid),transparent);z-index:4;box-shadow:0 0 18px rgba(201,255,67,.28)}

/* HOMEPAGE / MOBILE PRODUCT OBJECT */
.nova-mobile-object{background:var(--ink);color:var(--paper);padding:clamp(100px,11vw,170px) 0;overflow:hidden;position:relative;isolation:isolate}
.nova-mobile-object::after{content:"";position:absolute;right:-14vw;top:14%;width:42vw;aspect-ratio:1;border-radius:50%;background:rgba(201,255,67,.06);filter:blur(60px);pointer-events:none}
.nova-mobile-object-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(380px,.62fr);gap:clamp(54px,8vw,130px);align-items:center}
.nova-mobile-object-copy{max-width:720px}
.nova-mobile-object-copy .h2{margin:18px 0 26px}
.nova-mobile-object-copy .lead{color:#c9c9c3;max-width:650px}
.nova-mobile-object-media{margin:0;aspect-ratio:4/5;max-height:860px;min-height:560px;border-radius:2px;box-shadow:0 50px 120px rgba(0,0,0,.45)}
.nova-mobile-object-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(0,0,0,.26));pointer-events:none}
.nova-mobile-object-index{position:absolute;left:22px;bottom:20px;z-index:2;color:rgba(242,239,230,.72)}

/* HOMEPAGE / DIFFERENCE */
.nova-contrast-story{background:#080908;color:var(--paper);padding:clamp(110px,12vw,190px) 0;overflow:hidden}
.nova-contrast-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(330px,.52fr);gap:clamp(48px,9vw,150px);align-items:center}
.nova-contrast-copy{max-width:760px}
.nova-contrast-copy .h2{font-size:clamp(3rem,6.3vw,7rem);line-height:.88;margin:18px 0 30px}
.nova-contrast-copy .lead{color:#c1c2bb;max-width:650px}
.nova-contrast-media{margin:0;aspect-ratio:4/5;max-height:850px;justify-self:end;width:min(100%,540px);box-shadow:0 46px 120px rgba(0,0,0,.4)}
.nova-contrast-media::before{content:"";position:absolute;left:-36px;bottom:11%;width:72px;aspect-ratio:1;border-radius:50%;background:var(--acid);z-index:3;box-shadow:0 0 42px rgba(201,255,67,.22)}

/* STUDIO / THRESHOLD */
.studio-threshold{background:var(--ink);color:var(--paper);position:relative;min-height:min(76vw,920px);overflow:hidden}
.studio-threshold-media{position:absolute;inset:0;margin:0}
.studio-threshold-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,10,.14),rgba(11,11,10,.04) 48%,rgba(11,11,10,.46));pointer-events:none}
.studio-threshold-caption{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);display:flex;justify-content:space-between;gap:24px;color:rgba(242,239,230,.68);z-index:2}

/* STUDIO / FOUNDER */
.studio-founder{background:#090a09;color:var(--paper);padding:clamp(110px,12vw,190px) 0;position:relative;overflow:hidden;isolation:isolate}
.studio-founder-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,.62fr);gap:clamp(60px,9vw,150px);align-items:center;position:relative;z-index:2}
.studio-founder-copy{max-width:760px}
.studio-founder-copy .h2{font-size:clamp(3rem,5.7vw,6.4rem);line-height:.9;margin:18px 0 30px}
.studio-founder-copy .lead{color:#d0d0ca}
.studio-founder-copy .copy{color:#9fa19a;max-width:640px;margin-top:22px}
.studio-founder-meta{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid var(--line-dark);padding-top:16px;margin-top:38px;color:#9b9d95}
.studio-founder-portrait{margin:0;aspect-ratio:1;justify-self:end;width:min(100%,560px);opacity:.83;filter:saturate(.82);position:relative}
.studio-founder-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,10,9,.38),transparent 42%),linear-gradient(0deg,rgba(9,10,9,.18),transparent 35%);pointer-events:none}
.studio-founder-portrait figcaption{position:absolute;right:18px;bottom:16px;z-index:2;color:rgba(242,239,230,.58);text-align:right}
.studio-founder-signal{position:absolute;right:-8vw;top:8%;width:38vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(201,255,67,.13),transparent 68%);filter:blur(20px);z-index:1}

/* WEB / ART DIRECTION */
.web-art-direction{background:var(--ink);color:var(--paper);padding:clamp(105px,11vw,180px) 0;overflow:hidden}
.web-art-direction-grid{display:grid;grid-template-columns:minmax(340px,.58fr) minmax(0,.9fr);gap:clamp(55px,9vw,150px);align-items:center}
.web-art-direction-media{margin:0;aspect-ratio:4/5;width:min(100%,560px);box-shadow:0 40px 110px rgba(0,0,0,.42)}
.web-art-direction-copy{max-width:760px}
.web-art-direction-copy .h2{font-size:clamp(3rem,5.7vw,6.2rem);line-height:.9;margin:18px 0 30px}
.web-art-direction-copy .lead{color:#cecec8}.web-art-direction-copy .copy{color:#9fa19a;max-width:650px;margin-top:22px}

/* SYSTEMS / VISUAL FIELD */
.systems-visual-field{height:min(72vw,900px);min-height:560px;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.systems-visual-media{position:absolute;inset:0;margin:0}
.systems-visual-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,10,.36),transparent 55%),linear-gradient(0deg,rgba(11,11,10,.22),transparent 40%);pointer-events:none}
.systems-visual-copy{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:2;display:flex;justify-content:space-between;gap:24px;color:rgba(242,239,230,.68)}
.systems-visual-copy p{margin:0}

/* EUROPE / GLOBAL HORIZON */
.europe-hero{isolation:isolate}
.europe-hero::after{display:none!important}
.europe-hero .container{z-index:3}
.europe-hero .h1{max-width:min(1000px,68vw);position:relative;z-index:3;text-shadow:0 2px 24px rgba(0,0,0,.12)}
.europe-hero .lead{max-width:690px;position:relative;z-index:3}
.europe-orbit{position:absolute;right:-16vw;top:6%;width:min(82vw,1280px);height:94%;margin:0;z-index:1;opacity:.87;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0,#000 25%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 25%,#000 100%)}
.europe-orbit img{object-fit:cover;object-position:center right;filter:saturate(.92) contrast(1.03)}
.europe-hero::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(11,11,10,.98) 0,rgba(11,11,10,.90) 37%,rgba(11,11,10,.40) 66%,rgba(11,11,10,.08) 100%);pointer-events:none}

@media(max-width:1100px){
  .nova-visual-manifesto-stage{min-height:72vw}
  .nova-mobile-object-grid,.studio-founder-grid,.web-art-direction-grid{gap:54px}
  .europe-hero .h1{max-width:78vw}
  .europe-orbit{right:-30vw;width:100vw;opacity:.76}
}

@media(max-width:760px){
  /* Keep the mask animation, but allow even more optical room for Turkish glyphs. */
  .hero-title .line-mask{padding-top:.13em!important;padding-bottom:.24em!important;margin-top:-.13em!important;margin-bottom:-.19em!important;overflow:hidden!important}
  .hero-title{line-height:.84!important}
  .hero-title .serif{line-height:.96!important;padding-bottom:.06em!important}

  .nova-visual-manifesto{padding:46px 0 94px}
  .nova-visual-manifesto-head{align-items:flex-start;flex-direction:column;margin-bottom:26px}
  .nova-visual-manifesto-stage{width:100%;min-height:128vw}
  .nova-visual-frame--good{left:var(--gutter);top:0;width:78vw}
  .nova-visual-frame--portal{right:var(--gutter);bottom:0;width:84vw}
  .nova-visual-manifesto-line{left:21%;top:44%;height:29%}

  .nova-mobile-object{padding:92px 0}
  .nova-mobile-object-grid{grid-template-columns:1fr;gap:44px}
  .nova-mobile-object-media{width:84vw;justify-self:end;min-height:0;max-height:none}
  .nova-mobile-object-copy .h2{font-size:clamp(2.65rem,12vw,4rem);line-height:.92}

  .nova-contrast-story{padding:92px 0}
  .nova-contrast-grid{grid-template-columns:1fr;gap:42px}
  .nova-contrast-copy .h2{font-size:clamp(3rem,14vw,4.6rem);line-height:.88}
  .nova-contrast-media{justify-self:end;width:78vw}
  .nova-contrast-media::before{left:-24px;width:48px}

  .studio-threshold{min-height:72svh}
  .studio-threshold-media img{object-position:57% center}
  .studio-threshold-caption{bottom:18px;flex-direction:column;gap:7px}
  .studio-threshold-caption span:last-child{opacity:.62}

  .studio-founder{padding:94px 0}
  .studio-founder-grid{grid-template-columns:1fr;gap:46px}
  .studio-founder-copy .h2{font-size:clamp(2.8rem,13vw,4.4rem)}
  .studio-founder-portrait{width:82vw;justify-self:end;opacity:.78}
  .studio-founder-meta{gap:10px;flex-direction:column}
  .studio-founder-signal{width:92vw;right:-38vw;top:42%}

  .web-art-direction{padding:92px 0}
  .web-art-direction-grid{grid-template-columns:1fr;gap:46px}
  .web-art-direction-media{width:82vw;justify-self:start}
  .web-art-direction-copy .h2{font-size:clamp(2.8rem,13vw,4.4rem)}

  .systems-visual-field{height:72svh;min-height:540px}
  .systems-visual-media img{object-position:58% center}
  .systems-visual-copy{bottom:18px;flex-direction:column;gap:6px}

  .europe-hero{min-height:78svh;padding-bottom:46px}
  .europe-hero .h1{max-width:100%;font-size:clamp(3.1rem,14vw,4.9rem);line-height:.91;position:relative;z-index:4}
  .europe-hero .h1 .acid-text{max-width:100%;line-height:1.02}
  .europe-hero .lead{max-width:94%;position:relative;z-index:4}
  .europe-orbit{right:-58vw;top:34%;width:155vw;height:68%;opacity:.62;mask-image:linear-gradient(180deg,transparent 0,#000 23%,#000 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 23%,#000 100%)}
  .europe-hero::before{background:linear-gradient(180deg,rgba(11,11,10,.99) 0,rgba(11,11,10,.94) 52%,rgba(11,11,10,.38) 78%,rgba(11,11,10,.10) 100%)}
}

@media(prefers-reduced-motion:reduce){
  [data-editorial-parallax] img{transform:none!important}
}
.nova-visual-frame--card{left:34%;bottom:7%;width:min(25vw,390px);aspect-ratio:4/3;z-index:5;transform:rotate(-3.5deg);box-shadow:0 34px 90px rgba(0,0,0,.48)}
.nova-visual-frame--card img{filter:contrast(1.05) saturate(.96)}
@media(max-width:760px){.nova-visual-frame--card{left:8%;bottom:8%;width:48vw;transform:rotate(-4.5deg)}}
/* Founder portrait remains a quiet authority layer, never the page's hero. */
.studio-founder-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.52fr)}
.studio-founder-portrait{opacity:.62;filter:saturate(.68) contrast(1.03);width:min(100%,510px);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%)}
@media(max-width:760px){.studio-founder-grid{grid-template-columns:1fr}.studio-founder-portrait{width:72vw;opacity:.56;justify-self:end;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.18) 0,#000 18%,#000 100%);mask-image:linear-gradient(180deg,rgba(0,0,0,.18) 0,#000 18%,#000 100%)}}

/* =========================================================
   V11.19 — ART-DIRECTED VISUAL INTEGRATION
   Rebuilds the V11.18 image placements as spatial brand scenes.
   Images bleed into the layout, typography can cross the image edge,
   and every scene has a deliberate optical hierarchy.
   ========================================================= */

/* 1 / HOME — BRAND FIELD: one spatial composition, not a collage. */
.nova-visual-manifesto{
  padding:0!important;
  min-height:clamp(780px,82vw,1120px);
  background:#050605;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.nova-visual-manifesto::before{
  inset:-18% -10% auto auto!important;
  width:62vw!important;
  background:radial-gradient(circle,rgba(201,255,67,.10),transparent 64%)!important;
  filter:blur(40px)!important;
  z-index:0;
}
.nova-visual-manifesto::after{
  content:"";
  position:absolute;inset:0;pointer-events:none;z-index:8;
  background:
    linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 84%,transparent 100%);
  opacity:.46;
}
.nova-visual-manifesto-head{
  position:absolute;z-index:10;left:50%;top:46px;transform:translateX(-50%);
  width:min(calc(100% - 2*var(--gutter)),var(--max));
  margin:0!important;color:rgba(242,239,230,.62)!important;
}
.nova-visual-manifesto-stage{
  width:100%!important;max-width:none!important;margin:0!important;
  min-height:clamp(780px,82vw,1120px)!important;
  height:100%;position:relative;
}
.nova-visual-frame{box-shadow:none!important;background:transparent!important}
.nova-visual-frame::after{display:none!important}
.nova-visual-frame--portal{
  right:-4vw!important;left:auto!important;top:0!important;bottom:auto!important;
  width:74vw!important;height:100%!important;aspect-ratio:auto!important;z-index:1!important;
  clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 19%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 19%,#000 100%);
}
.nova-visual-frame--portal img{
  object-position:61% center!important;
  filter:saturate(.98) contrast(1.06) brightness(.92)!important;
  transform:translate3d(0,var(--editorial-y),0) scale(1.08)!important;
}
.nova-visual-frame--portal::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,#050605 0,rgba(5,6,5,.82) 12%,transparent 42%),linear-gradient(180deg,rgba(5,6,5,.38),transparent 28%,transparent 76%,rgba(5,6,5,.46));
}
.nova-visual-frame--good{
  left:max(var(--gutter),6vw)!important;top:16%!important;
  width:min(31vw,470px)!important;height:62%!important;aspect-ratio:auto!important;z-index:5!important;
  clip-path:polygon(0 0,100% 0,88% 100%,0 100%);
  filter:drop-shadow(0 30px 80px rgba(0,0,0,.38));
}
.nova-visual-frame--good img{
  object-fit:cover!important;object-position:48% center!important;
  filter:contrast(1.09) brightness(.89)!important;
  transform:translate3d(0,var(--editorial-y),0) scale(1.10)!important;
}
.nova-visual-frame--good::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  border:1px solid rgba(242,239,230,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 42%);
}
.nova-visual-frame--card{
  left:31.2%!important;bottom:11%!important;width:min(20vw,300px)!important;
  aspect-ratio:4/3!important;z-index:7!important;transform:rotate(-5deg)!important;
  filter:drop-shadow(0 34px 58px rgba(0,0,0,.62));
  clip-path:polygon(2% 0,100% 6%,96% 100%,0 94%);
}
.nova-visual-frame--card img{
  filter:contrast(1.08) saturate(.95) brightness(.88)!important;
  transform:translate3d(0,var(--editorial-y),0) scale(1.06)!important;
}
.nova-visual-manifesto-line{
  left:35.5%!important;top:8%!important;height:84%!important;z-index:6!important;
  opacity:.72;box-shadow:0 0 34px rgba(201,255,67,.20)!important;
}
.nova-visual-manifesto-stage::before{
  content:"SYSTEM / BY / NOVA";
  position:absolute;left:calc(max(var(--gutter),6vw) + min(31vw,470px) + 4vw);top:19%;z-index:6;
  color:rgba(242,239,230,.36);font:600 clamp(.58rem,.72vw,.72rem)/1.8 var(--sans);
  letter-spacing:.34em;white-space:pre-line;pointer-events:none;
}
.nova-visual-manifesto-stage::after{
  content:"GOOD IS NOT ENOUGH.";
  position:absolute;left:38%;bottom:10%;z-index:6;
  color:rgba(242,239,230,.84);font:500 clamp(1.2rem,2.4vw,2.5rem)/1 var(--sans);
  letter-spacing:-.045em;pointer-events:none;
}

/* 2 / HOME — PRODUCT OBJECT: image becomes the environment. */
.nova-mobile-object{
  padding:0!important;min-height:clamp(760px,86vh,980px);background:#070807!important;
}
.nova-mobile-object::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,#070807 0,#070807 42%,rgba(7,8,7,.86) 52%,rgba(7,8,7,.15) 72%,transparent 100%);
}
.nova-mobile-object::after{right:-5vw!important;top:4%!important;width:58vw!important;opacity:.9}
.nova-mobile-object-grid{
  min-height:clamp(760px,86vh,980px);display:block!important;position:relative;z-index:2;
}
.nova-mobile-object-copy{
  position:relative;z-index:4;width:min(58%,760px);padding-top:clamp(150px,18vh,210px);
}
.nova-mobile-object-copy .h2{font-size:clamp(3.4rem,6.3vw,7.2rem)!important;line-height:.88!important;letter-spacing:-.065em}
.nova-mobile-object-copy .lead{max-width:590px!important}
.nova-mobile-object-media{
  position:absolute!important;right:-8vw;top:0;width:66vw!important;height:100%!important;
  max-height:none!important;min-height:0!important;aspect-ratio:auto!important;box-shadow:none!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 21%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 21%,#000 100%);
}
.nova-mobile-object-media img{object-position:center 47%!important;transform:translate3d(0,var(--editorial-y),0) scale(1.08)!important}
.nova-mobile-object-media::after{background:linear-gradient(90deg,rgba(7,8,7,.42),transparent 28%),linear-gradient(180deg,rgba(7,8,7,.08),transparent 54%,rgba(7,8,7,.32))!important}
.nova-mobile-object-index{left:auto!important;right:6vw!important;bottom:34px!important;letter-spacing:.25em;color:rgba(242,239,230,.58)!important}
.nova-mobile-object-grid::after{
  content:"OBJECT / 04";position:absolute;right:1vw;top:14%;z-index:4;
  writing-mode:vertical-rl;color:rgba(242,239,230,.28);font:600 .63rem/1 var(--sans);letter-spacing:.28em;
}

/* 3 / HOME — DIFFERENCE: full bleed evidence field, no card framing. */
.nova-contrast-story{
  position:relative;padding:0!important;min-height:clamp(760px,92vh,980px);background:#060706!important;isolation:isolate;
}
.nova-contrast-story::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,#060706 0,#060706 36%,rgba(6,7,6,.90) 48%,rgba(6,7,6,.18) 72%,transparent 100%);
}
.nova-contrast-grid{display:block!important;min-height:clamp(760px,92vh,980px);position:relative;z-index:3}
.nova-contrast-copy{position:relative;z-index:5;width:min(58%,760px);padding-top:clamp(150px,20vh,230px)}
.nova-contrast-copy .h2{font-size:clamp(3.5rem,7vw,7.6rem)!important;line-height:.84!important;letter-spacing:-.065em!important}
.nova-contrast-copy .lead{max-width:560px!important}
.nova-contrast-media{
  position:absolute!important;right:-4vw;top:0;width:65vw!important;height:100%!important;
  max-height:none!important;aspect-ratio:auto!important;box-shadow:none!important;z-index:1;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 26%,#000 100%);
}
.nova-contrast-media img{object-position:57% center!important;transform:translate3d(0,var(--editorial-y),0) scale(1.07)!important;filter:contrast(1.05) brightness(.88)}
.nova-contrast-media::before{left:auto!important;right:11%!important;bottom:12%!important;width:clamp(42px,4vw,68px)!important;z-index:4!important}
.nova-contrast-story::after{
  content:"RESULT / 08";position:absolute;right:var(--gutter);top:13%;z-index:5;color:rgba(242,239,230,.32);
  font:600 .62rem/1 var(--sans);letter-spacing:.30em;
}

/* 4 / PREMIUM WEB — portrait becomes a living brand surface. */
.web-art-direction{
  padding:0!important;min-height:clamp(780px,92vh,1040px);position:relative;background:#060706!important;isolation:isolate;
}
.web-art-direction::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,#060706 0,#060706 40%,rgba(6,7,6,.86) 54%,rgba(6,7,6,.12) 80%,transparent 100%);
}
.web-art-direction::after{
  content:"PERCEPTION / VALUE / TRUST";position:absolute;right:3vw;top:12%;z-index:5;color:rgba(242,239,230,.33);
  font:600 .62rem/1 var(--sans);letter-spacing:.30em;writing-mode:vertical-rl;
}
.web-art-direction-grid{display:block!important;min-height:clamp(780px,92vh,1040px);position:relative}
.web-art-direction-media{
  position:absolute!important;right:-3vw;top:0;width:62vw!important;height:100%!important;aspect-ratio:auto!important;
  box-shadow:none!important;z-index:1;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 23%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 23%,#000 100%);
}
.web-art-direction-media img{object-position:50% center!important;transform:translate3d(0,var(--editorial-y),0) scale(1.06)!important;filter:saturate(.95) contrast(1.04) brightness(.92)}
.web-art-direction-copy{
  position:relative;z-index:5;width:min(63%,870px);padding-top:clamp(150px,19vh,220px);
}
.web-art-direction-copy .h2{font-size:clamp(3.8rem,7vw,7.7rem)!important;line-height:.84!important;letter-spacing:-.07em!important;margin-bottom:34px!important}
.web-art-direction-copy .lead{max-width:610px!important}.web-art-direction-copy .copy{max-width:580px!important}
.web-art-direction-copy .acid-text{filter:drop-shadow(0 0 18px rgba(201,255,67,.08))}

/* 5 / STUDIO — founder as a quiet atmospheric layer, not a portrait card. */
.studio-founder{
  padding:0!important;min-height:clamp(790px,92vh,1040px);background:#070807!important;position:relative;isolation:isolate;
}
.studio-founder::before{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,#070807 0,#070807 48%,rgba(7,8,7,.92) 58%,rgba(7,8,7,.26) 78%,transparent 100%);
}
.studio-founder::after{
  content:"FOUNDER-LED";position:absolute;right:-.02em;bottom:-.12em;z-index:1;
  color:rgba(242,239,230,.022);font:800 clamp(8rem,19vw,22rem)/.74 var(--sans);letter-spacing:-.08em;white-space:nowrap;pointer-events:none;
}
.studio-founder-grid{display:block!important;min-height:clamp(790px,92vh,1040px);position:relative;z-index:3}
.studio-founder-copy{
  position:relative;z-index:5;width:min(62%,800px);padding-top:clamp(150px,18vh,210px);max-width:none!important;
}
.studio-founder-copy .h2{font-size:clamp(3.7rem,6.8vw,7.3rem)!important;line-height:.86!important;letter-spacing:-.065em!important}
.studio-founder-copy .lead{max-width:690px}.studio-founder-copy .copy{max-width:610px!important}
.studio-founder-meta{max-width:690px!important}
.studio-founder-portrait{
  position:absolute!important;right:-3vw;top:0;width:52vw!important;height:100%!important;aspect-ratio:auto!important;
  margin:0!important;opacity:.63!important;filter:saturate(.56) contrast(1.08) brightness(.82)!important;z-index:1;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%,#000 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0,#000 26%,#000 100%)!important;
}
.studio-founder-portrait img{object-position:50% center!important;transform:translate3d(0,var(--editorial-y),0) scale(1.08)!important}
.studio-founder-portrait::after{background:linear-gradient(90deg,rgba(7,8,7,.58),transparent 36%),linear-gradient(0deg,rgba(7,8,7,.34),transparent 42%,rgba(7,8,7,.08))!important}
.studio-founder-portrait figcaption{right:5vw!important;bottom:34px!important;color:rgba(242,239,230,.36)!important;letter-spacing:.24em}
.studio-founder-signal{right:2vw!important;top:12%!important;width:32vw!important;opacity:.6!important;filter:blur(42px)!important;z-index:0!important}

/* 6 / SYSTEMS — keep full bleed, make the copy feel embedded. */
.systems-visual-field{min-height:680px!important;height:min(78vw,980px)!important}
.systems-visual-media img{transform:translate3d(0,var(--editorial-y),0) scale(1.055)!important;filter:contrast(1.06) brightness(.90)}
.systems-visual-media::after{background:linear-gradient(90deg,rgba(11,11,10,.80) 0,rgba(11,11,10,.28) 36%,transparent 68%),linear-gradient(0deg,rgba(11,11,10,.48),transparent 42%)!important}
.systems-visual-copy{bottom:42px!important;align-items:flex-end!important}
.systems-visual-copy span:first-child{font-size:clamp(.72rem,1vw,.92rem);color:rgba(242,239,230,.88);letter-spacing:.28em}
.systems-visual-copy p{color:rgba(242,239,230,.45);letter-spacing:.24em}
.systems-visual-field::after{content:"CONTROL IS A DESIGN MATERIAL.";position:absolute;left:var(--gutter);top:14%;z-index:3;color:rgba(242,239,230,.34);font:600 .62rem/1 var(--sans);letter-spacing:.30em}

/* Scene reveal: one restrained entrance per visual field. */
@media(prefers-reduced-motion:no-preference){
  .nova-visual-manifesto .nova-visual-frame--portal,
  .nova-mobile-object-media,.nova-contrast-media,.web-art-direction-media,.studio-founder-portrait{
    opacity:.82;transition:clip-path 1.15s var(--ease),opacity .9s var(--ease),filter .9s var(--ease),transform 1.15s var(--ease);
  }
  .nova-visual-manifesto.is-visual-active .nova-visual-frame--portal,
  .nova-mobile-object.is-visual-active .nova-mobile-object-media,
  .nova-contrast-story.is-visual-active .nova-contrast-media,
  .web-art-direction.is-visual-active .web-art-direction-media,
  .studio-founder.is-visual-active .studio-founder-portrait{opacity:1}
  .nova-visual-frame--good{transform:translate3d(-18px,28px,0)}
  .nova-visual-manifesto.is-visual-active .nova-visual-frame--good{transform:translate3d(0,0,0);transition:transform 1s var(--ease)}
  .nova-visual-frame--card{transform:translate3d(18px,30px,0) rotate(-5deg)!important}
  .nova-visual-manifesto.is-visual-active .nova-visual-frame--card{transform:translate3d(0,0,0) rotate(-5deg)!important;transition:transform 1.1s .12s var(--ease)}
}

@media(max-width:1100px){
  .nova-visual-manifesto{min-height:860px}.nova-visual-manifesto-stage{min-height:860px!important}
  .nova-visual-frame--good{width:36vw!important;height:58%!important}
  .nova-visual-frame--card{left:34%!important;width:24vw!important}
  .nova-mobile-object-copy,.nova-contrast-copy,.web-art-direction-copy,.studio-founder-copy{width:60%}
  .web-art-direction-media{width:66vw!important}
  .studio-founder-portrait{width:57vw!important}
}

@media(max-width:760px){
  .nova-visual-manifesto{min-height:960px!important;padding:0!important}
  .nova-visual-manifesto-head{top:28px!important;left:var(--gutter)!important;transform:none!important;width:calc(100% - 2*var(--gutter))!important}
  .nova-visual-manifesto-head p{display:none}
  .nova-visual-manifesto-stage{min-height:960px!important}
  .nova-visual-frame--portal{right:-42vw!important;top:24%!important;width:132vw!important;height:76%!important;clip-path:none!important;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 100%);mask-image:linear-gradient(180deg,transparent 0,#000 18%,#000 100%)}
  .nova-visual-frame--good{left:var(--gutter)!important;top:10%!important;width:72vw!important;height:42%!important;clip-path:polygon(0 0,100% 0,90% 100%,0 100%)!important}
  .nova-visual-frame--card{left:auto!important;right:8vw!important;bottom:11%!important;width:47vw!important}
  .nova-visual-manifesto-line{left:77%!important;top:13%!important;height:32%!important}
  .nova-visual-manifesto-stage::before{left:auto;right:7vw;top:13%;font-size:.55rem;text-align:right}
  .nova-visual-manifesto-stage::after{left:var(--gutter);bottom:4.5%;font-size:1.25rem}

  .nova-mobile-object{min-height:auto!important;padding:90px 0 0!important}
  .nova-mobile-object::before{background:linear-gradient(180deg,#070807 0,#070807 46%,rgba(7,8,7,.82) 58%,transparent 84%)}
  .nova-mobile-object-grid{min-height:auto!important;padding-bottom:0!important}
  .nova-mobile-object-copy{width:100%!important;padding-top:0!important;padding-bottom:44px}
  .nova-mobile-object-copy .h2{font-size:clamp(3rem,13vw,4.6rem)!important}
  .nova-mobile-object-media{position:relative!important;right:auto!important;top:auto!important;width:calc(100% + 2*var(--gutter))!important;height:72svh!important;margin-left:calc(-1*var(--gutter))!important;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 13%,#000 100%);mask-image:linear-gradient(180deg,transparent 0,#000 13%,#000 100%)}
  .nova-mobile-object-index{right:var(--gutter)!important;bottom:18px!important}
  .nova-mobile-object-grid::after{display:none}

  .nova-contrast-story{min-height:auto!important;padding:90px 0 0!important}
  .nova-contrast-story::before{background:linear-gradient(180deg,#060706 0,#060706 42%,rgba(6,7,6,.86) 55%,transparent 82%)}
  .nova-contrast-grid{min-height:auto!important}
  .nova-contrast-copy{width:100%!important;padding-top:0!important;padding-bottom:38px}
  .nova-contrast-copy .h2{font-size:clamp(3.15rem,14vw,5rem)!important}
  .nova-contrast-media{position:relative!important;right:auto!important;top:auto!important;width:calc(100% + 2*var(--gutter))!important;height:74svh!important;margin-left:calc(-1*var(--gutter))!important;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 100%);mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 100%)}
  .nova-contrast-media::before{right:var(--gutter)!important;bottom:11%!important}
  .nova-contrast-story::after{top:auto;bottom:22px;right:var(--gutter)}

  .web-art-direction{min-height:auto!important;padding:0 0 88px!important}
  .web-art-direction::before{background:linear-gradient(180deg,rgba(6,7,6,.02) 0,rgba(6,7,6,.16) 39%,#060706 69%,#060706 100%)}
  .web-art-direction-grid{min-height:auto!important;padding-top:0!important}
  .web-art-direction-media{position:relative!important;right:auto!important;top:auto!important;width:calc(100% + 2*var(--gutter))!important;height:72svh!important;margin-left:calc(-1*var(--gutter))!important;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 79%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 79%,transparent 100%)}
  .web-art-direction-copy{width:100%!important;padding-top:0!important;margin-top:-13svh!important}
  .web-art-direction-copy .h2{font-size:clamp(3.15rem,14vw,5rem)!important;text-shadow:0 4px 24px rgba(0,0,0,.56)}
  .web-art-direction::after{display:none}

  .studio-founder{min-height:auto!important;padding:92px 0 0!important}
  .studio-founder::before{background:linear-gradient(180deg,#070807 0,#070807 47%,rgba(7,8,7,.80) 62%,transparent 88%)}
  .studio-founder-grid{min-height:auto!important}
  .studio-founder-copy{width:100%!important;padding-top:0!important;padding-bottom:18px}
  .studio-founder-copy .h2{font-size:clamp(3.1rem,14vw,5rem)!important}
  .studio-founder-portrait{position:relative!important;right:auto!important;top:auto!important;width:calc(100% + 2*var(--gutter))!important;height:72svh!important;margin-left:calc(-1*var(--gutter))!important;opacity:.55!important;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 100%)!important;mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 100%)!important}
  .studio-founder-portrait figcaption{right:var(--gutter)!important;bottom:20px!important}
  .studio-founder-signal{width:100vw!important;right:-48vw!important;top:56%!important}
  .studio-founder::after{font-size:30vw;bottom:2%}

  .systems-visual-field{height:72svh!important;min-height:560px!important}
  .systems-visual-field::after{top:11%;left:var(--gutter);max-width:210px;line-height:1.5}
}

/* V11.19.1 optical refinement — manifesto safe composition */
.nova-visual-frame--good{
  top:20%!important;width:min(34vw,520px)!important;height:auto!important;aspect-ratio:4/3!important;
  clip-path:polygon(0 0,100% 0,94% 100%,0 100%)!important;
}
.nova-visual-frame--good img{object-fit:cover!important;object-position:center!important;transform:translate3d(0,var(--editorial-y),0) scale(1.035)!important}
.nova-visual-frame--portal{right:-2vw!important;width:70vw!important}
.nova-visual-frame--portal img{object-position:78% center!important}
.nova-visual-frame--card{left:29.5%!important;bottom:10%!important;width:min(17vw,255px)!important}
.nova-visual-manifesto-line{left:37%!important}
.nova-visual-manifesto-stage::before{left:39%!important;top:21%!important}
.nova-visual-manifesto-stage::after{content:"IDEAS → SYSTEMS → IMPACT"!important;left:max(var(--gutter),6vw)!important;bottom:8%!important;font-size:clamp(.62rem,.8vw,.78rem)!important;letter-spacing:.28em!important;color:rgba(242,239,230,.40)!important}
@media(max-width:760px){
  .nova-visual-frame--good{top:11%!important;width:78vw!important;height:auto!important;aspect-ratio:4/3!important}
  .nova-visual-frame--portal{right:-48vw!important;top:35%!important;width:142vw!important;height:65%!important}
  .nova-visual-frame--card{left:auto!important;right:8vw!important;bottom:8%!important;width:43vw!important}
  .nova-visual-manifesto-line{left:82%!important;top:14%!important;height:29%!important}
  .nova-visual-manifesto-stage::before{left:auto!important;right:5vw!important;top:14%!important}
  .nova-visual-manifesto-stage::after{left:var(--gutter)!important;bottom:3.2%!important}
}

/* V11.19.2 cleanup — suppress text baked into source art where HTML already carries the brand message. */
.nova-visual-frame--portal{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,transparent 15%,#000 38%,#000 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0,transparent 15%,#000 38%,#000 100%)!important;
}
.nova-contrast-media::before{display:none!important}
.web-art-direction::after{display:none!important}
.web-art-direction-media::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,rgba(6,7,6,.92) 0,rgba(6,7,6,.52) 24%,rgba(6,7,6,.08) 48%,transparent 64%),linear-gradient(180deg,transparent 58%,rgba(6,7,6,.20) 78%,rgba(6,7,6,.58) 100%);
}
.studio-founder-portrait img{object-position:34% center!important}
.studio-founder-portrait::after{
  background:linear-gradient(90deg,rgba(7,8,7,.62) 0,transparent 35%),linear-gradient(270deg,rgba(7,8,7,.72) 0,transparent 18%),linear-gradient(0deg,rgba(7,8,7,.36),transparent 43%,rgba(7,8,7,.08))!important;
}
.systems-visual-media::after{
  background:linear-gradient(90deg,#0b0b0a 0,rgba(11,11,10,.94) 21%,rgba(11,11,10,.34) 43%,transparent 66%),linear-gradient(0deg,rgba(11,11,10,.48),transparent 42%)!important;
}
@media(max-width:760px){
  .nova-visual-frame--portal{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 100%)!important;mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 100%)!important}
  .web-art-direction-media::after{background:linear-gradient(180deg,transparent 0,transparent 46%,rgba(6,7,6,.56) 63%,#060706 84%,#060706 100%)!important}
  .studio-founder-portrait img{object-position:31% center!important}
  .studio-founder-portrait::after{background:linear-gradient(180deg,transparent 0,transparent 58%,rgba(7,8,7,.22) 77%,#070807 100%),linear-gradient(270deg,rgba(7,8,7,.80) 0,transparent 22%)!important}
}

/* V11.19.3 source-art crop discipline */
.nova-visual-frame--portal::before{
  background:linear-gradient(90deg,#050605 0,#050605 39%,rgba(5,6,5,.90) 49%,rgba(5,6,5,.24) 62%,transparent 72%),linear-gradient(180deg,rgba(5,6,5,.28),transparent 28%,transparent 76%,rgba(5,6,5,.46))!important;
}
.web-art-direction-media img{
  transform:translate3d(0,var(--editorial-y),0) scale(1.19)!important;
  transform-origin:72% 46%!important;
}
.web-art-direction-media::after{
  background:linear-gradient(90deg,rgba(6,7,6,.98) 0,rgba(6,7,6,.72) 26%,rgba(6,7,6,.18) 46%,transparent 58%),linear-gradient(180deg,transparent 58%,rgba(6,7,6,.26) 78%,rgba(6,7,6,.62) 100%)!important;
}
.studio-founder-portrait img{transform:translate3d(0,var(--editorial-y),0) scale(1.14)!important;transform-origin:34% center!important}
.systems-visual-media::after{background:linear-gradient(90deg,#0b0b0a 0,#0b0b0a 28%,rgba(11,11,10,.82) 38%,rgba(11,11,10,.20) 54%,transparent 68%),linear-gradient(0deg,rgba(11,11,10,.48),transparent 42%)!important}
@media(max-width:760px){
  .web-art-direction-media img{transform:translate3d(0,var(--editorial-y),0) scale(1.13)!important;transform-origin:68% 40%!important}
  .studio-founder-portrait img{transform:translate3d(0,var(--editorial-y),0) scale(1.10)!important;transform-origin:29% center!important}
}

/* ========================================================================== */
/* V11.20.0 — VISUAL REFINEMENT / CLEAN SOURCE ART                            */
/* Raster typography is removed from active responsive sources.               */
/* ========================================================================== */

/* Transition discipline: no large empty ivory tails before dark art scenes. */
.standard.standard-transition{padding-bottom:clamp(34px,4vw,58px)!important}
.standard.standard-transition + .nova-contrast-story{margin-top:-1px!important;box-shadow:0 -1px 0 #060706}
.studio-context{padding-bottom:clamp(34px,4vw,54px)!important}
.studio-context + .studio-founder{margin-top:-1px!important;box-shadow:0 -1px 0 #070807}

/* HOME / DIFFERENCE — live HTML owns the message; image is motion/evidence. */
.nova-contrast-story{min-height:clamp(720px,86vh,900px)!important;background:#060706!important}
.nova-contrast-story::before{background:linear-gradient(90deg,#060706 0,#060706 45%,rgba(6,7,6,.97) 51%,rgba(6,7,6,.58) 63%,rgba(6,7,6,.05) 82%,transparent 100%)!important}
.nova-contrast-grid{min-height:clamp(720px,86vh,900px)!important}
.nova-contrast-copy{width:min(47%,700px)!important;padding-top:clamp(132px,16vh,178px)!important}
.nova-contrast-copy .h2{font-size:clamp(3.35rem,5.9vw,6.35rem)!important;line-height:.87!important;letter-spacing:-.061em!important}
.nova-contrast-copy .lead{max-width:535px!important}
.nova-contrast-media{right:0!important;top:0!important;width:52vw!important;height:100%!important;overflow:hidden!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 20%,#000 100%)!important}
.nova-contrast-media img{object-fit:cover!important;object-position:50% center!important;transform:translate3d(0,var(--editorial-y),0) scale(1.018)!important;filter:contrast(1.05) brightness(.76)!important}
.nova-contrast-media::before{display:none!important}
.nova-contrast-story::after{right:2.6vw!important;top:12%!important}

/* PREMIUM WEB / ART DIRECTION — face and type share protected negative space. */
.web-art-direction{min-height:clamp(740px,88vh,940px)!important;background:#060706!important}
.web-art-direction::before{background:linear-gradient(90deg,#060706 0,#060706 43%,rgba(6,7,6,.97) 50%,rgba(6,7,6,.50) 63%,rgba(6,7,6,.03) 84%,transparent 100%)!important}
.web-art-direction-grid{min-height:clamp(740px,88vh,940px)!important}
.web-art-direction-copy{width:min(49%,710px)!important;padding-top:clamp(132px,16vh,178px)!important}
.web-art-direction-copy .h2{font-size:clamp(3.35rem,5.7vw,6.15rem)!important;line-height:.87!important;letter-spacing:-.062em!important}
.web-art-direction-media{right:-1vw!important;top:0!important;width:53vw!important;height:100%!important;overflow:hidden!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 19%,#000 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 19%,#000 100%)!important}
.web-art-direction-media img{object-fit:cover!important;object-position:52% 43%!important;transform:translate3d(0,var(--editorial-y),0) scale(1.025)!important;transform-origin:center!important;filter:saturate(.90) contrast(1.07) brightness(.76)!important}
.web-art-direction-media::after{background:linear-gradient(90deg,rgba(6,7,6,.78) 0,rgba(6,7,6,.18) 29%,transparent 52%),linear-gradient(180deg,rgba(6,7,6,.08),transparent 50%,rgba(6,7,6,.34) 100%)!important}
.web-art-direction::after{display:none!important}

/* STUDIO / FOUNDER — silent authority, not a personal-brand hero. */
.studio-founder{min-height:clamp(720px,86vh,900px)!important;background:#070807!important}
.studio-founder::before{background:linear-gradient(90deg,#070807 0,#070807 54%,rgba(7,8,7,.98) 59%,rgba(7,8,7,.76) 69%,rgba(7,8,7,.12) 88%,transparent 100%)!important}
.studio-founder-grid{min-height:clamp(720px,86vh,900px)!important}
.studio-founder-copy{width:min(56%,760px)!important;padding-top:clamp(126px,15vh,168px)!important}
.studio-founder-copy .h2{font-size:clamp(3.25rem,5.4vw,5.85rem)!important;line-height:.89!important;letter-spacing:-.058em!important}
.studio-founder-portrait{right:2vw!important;top:2%!important;width:40vw!important;height:96%!important;opacity:.34!important;overflow:hidden!important;filter:saturate(.34) contrast(1.08) brightness(.68)!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 31%,#000 88%,transparent 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 31%,#000 88%,transparent 100%)!important}
.studio-founder-portrait img{object-fit:cover!important;object-position:50% 34%!important;transform:translate3d(0,var(--editorial-y),0) scale(1.018)!important;transform-origin:center!important}
.studio-founder-portrait::after{background:linear-gradient(90deg,rgba(7,8,7,.76),transparent 42%),linear-gradient(180deg,rgba(7,8,7,.12),transparent 54%,rgba(7,8,7,.48) 100%)!important}
.studio-founder-portrait figcaption{display:none!important}
.studio-founder-signal{opacity:.42!important;right:-16vw!important}
.studio-founder::after{opacity:.72}

/* BUSINESS SYSTEMS / AI — object becomes a control field, not a poster. */
.systems-visual-field{height:min(62vw,780px)!important;min-height:570px!important;background:#0b0b0a!important;isolation:isolate}
.systems-visual-media{left:auto!important;right:-1vw!important;top:0!important;width:72vw!important;height:100%!important;overflow:hidden!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 100%)!important}
.systems-visual-media img{object-fit:cover!important;object-position:51% center!important;transform:translate3d(0,var(--editorial-y),0) scale(1.018)!important;filter:saturate(.94) contrast(1.08) brightness(.84)!important}
.systems-visual-media::after{background:linear-gradient(90deg,rgba(11,11,10,.68) 0,rgba(11,11,10,.14) 31%,transparent 55%),linear-gradient(180deg,rgba(11,11,10,.08),transparent 60%,rgba(11,11,10,.40) 100%)!important}
.systems-visual-field::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#0b0b0a 0,#0b0b0a 24%,rgba(11,11,10,.80) 36%,rgba(11,11,10,.06) 62%,transparent 100%)}
.systems-visual-field::after{z-index:4!important;color:rgba(242,239,230,.42)!important}
.systems-visual-copy{z-index:4!important;bottom:28px!important;color:rgba(242,239,230,.62)!important}
.systems-visual-copy::before{content:"";position:absolute;left:0;bottom:48px;width:clamp(120px,18vw,280px);height:1px;background:linear-gradient(90deg,var(--acid),rgba(201,255,67,0));box-shadow:0 0 20px rgba(201,255,67,.18)}

/* EUROPE — clean horizon, protected live headline, no buried wordmark. */
.page-hero.europe-hero{min-height:clamp(660px,76vh,790px)!important;display:flex;align-items:center;overflow:hidden!important;background:#0b0b0a!important}
.europe-hero .container{padding-top:88px!important;padding-bottom:66px!important}
.europe-hero .h1{max-width:min(850px,58vw)!important}
.europe-hero .h1 .acid-text{display:block!important;max-width:820px!important;line-height:.95!important}
.europe-hero .lead{max-width:640px!important}
.europe-orbit{right:-1vw!important;top:0!important;width:64vw!important;height:100%!important;opacity:.94!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 24%,#000 100%)!important}
.europe-orbit img{object-fit:cover!important;object-position:55% center!important;transform:translate3d(0,var(--editorial-y),0) scale(1.015)!important;filter:saturate(.92) contrast(1.06) brightness(.90)!important}
.europe-hero::before{background:linear-gradient(90deg,#0b0b0a 0,#0b0b0a 40%,rgba(11,11,10,.94) 49%,rgba(11,11,10,.42) 67%,rgba(11,11,10,.04) 88%,transparent 100%)!important}

@media(max-width:1180px){
  .nova-contrast-copy,.web-art-direction-copy{width:min(52%,630px)!important}
  .nova-contrast-media,.web-art-direction-media{width:58vw!important}
  .studio-founder-copy{width:min(59%,660px)!important}
  .studio-founder-portrait{width:42vw!important;right:-1vw!important}
  .europe-hero .h1{max-width:66vw!important}
  .europe-orbit{right:-10vw!important;width:75vw!important}
}

@media(max-width:760px){
  .standard.standard-transition{padding-bottom:28px!important}
  .studio-context{padding-bottom:28px!important}

  .nova-contrast-story{padding:82px 0 0!important;min-height:auto!important}
  .nova-contrast-story::before{background:linear-gradient(180deg,#060706 0,#060706 37%,rgba(6,7,6,.88) 53%,rgba(6,7,6,.14) 75%,transparent 100%)!important}
  .nova-contrast-grid{min-height:auto!important}
  .nova-contrast-copy{width:100%!important;padding-top:0!important;padding-bottom:30px!important}
  .nova-contrast-copy .h2{font-size:clamp(2.9rem,13.3vw,4.55rem)!important;line-height:.9!important}
  .nova-contrast-media{position:relative!important;right:auto!important;width:calc(100% + 2*var(--gutter))!important;height:64svh!important;margin-left:calc(-1*var(--gutter))!important;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 100%)!important;mask-image:linear-gradient(180deg,transparent 0,#000 9%,#000 100%)!important}
  .nova-contrast-media img{object-position:52% center!important;filter:contrast(1.07) brightness(.74)!important}

  .web-art-direction{padding:0 0 76px!important;min-height:auto!important}
  .web-art-direction::before{background:linear-gradient(180deg,rgba(6,7,6,.03) 0,rgba(6,7,6,.12) 40%,#060706 75%,#060706 100%)!important}
  .web-art-direction-grid{min-height:auto!important}
  .web-art-direction-media{position:relative!important;right:auto!important;width:calc(100% + 2*var(--gutter))!important;height:55svh!important;margin-left:calc(-1*var(--gutter))!important;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 70%,transparent 100%)!important;mask-image:linear-gradient(180deg,#000 0,#000 70%,transparent 100%)!important}
  .web-art-direction-media img{object-position:53% 42%!important;transform:translate3d(0,var(--editorial-y),0) scale(1.02)!important}
  .web-art-direction-copy{width:100%!important;padding-top:0!important;margin-top:-5svh!important}
  .web-art-direction-copy .h2{font-size:clamp(2.9rem,13.2vw,4.5rem)!important;line-height:.9!important}

  .studio-founder{padding:82px 0 0!important;min-height:auto!important}
  .studio-founder::before{background:linear-gradient(180deg,#070807 0,#070807 46%,rgba(7,8,7,.90) 60%,rgba(7,8,7,.10) 82%,transparent 100%)!important}
  .studio-founder-grid{min-height:auto!important}
  .studio-founder-copy{width:100%!important;padding-top:0!important;padding-bottom:16px!important}
  .studio-founder-copy .h2{font-size:clamp(2.9rem,13vw,4.45rem)!important;line-height:.91!important}
  .studio-founder-portrait{position:relative!important;right:auto!important;top:auto!important;width:calc(100% + 2*var(--gutter))!important;height:54svh!important;margin-left:calc(-1*var(--gutter))!important;opacity:.30!important;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 13%,#000 86%,transparent 100%)!important;mask-image:linear-gradient(180deg,transparent 0,#000 13%,#000 86%,transparent 100%)!important}
  .studio-founder-portrait img{object-position:50% 30%!important}
  .studio-founder::after{font-size:28vw;bottom:3%}

  .systems-visual-field{height:62svh!important;min-height:520px!important}
  .systems-visual-media{right:-27vw!important;width:118vw!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 17%,#000 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 17%,#000 100%)!important}
  .systems-visual-field::before{background:linear-gradient(90deg,#0b0b0a 0,rgba(11,11,10,.82) 25%,rgba(11,11,10,.18) 56%,transparent 100%)!important}
  .systems-visual-copy::before{bottom:43px;width:120px}

  .page-hero.europe-hero{min-height:700px!important;align-items:flex-start!important}
  .europe-hero .container{padding-top:116px!important;padding-bottom:58px!important}
  .europe-hero .h1{max-width:100%!important;font-size:clamp(3rem,12.7vw,4.45rem)!important}
  .europe-hero .h1 .acid-text{max-width:100%!important}
  .europe-orbit{right:-72vw!important;top:-1%!important;width:146vw!important;height:79%!important;opacity:.68!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 31%,#000 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 31%,#000 100%)!important}
  .europe-hero::before{background:linear-gradient(180deg,rgba(11,11,10,.52) 0,rgba(11,11,10,.78) 42%,#0b0b0a 76%,#0b0b0a 100%)!important}
}

/* ===================== V11.25 / PRIVACY-FIRST MEASUREMENT ===================== */
.nova-consent{
  position:fixed;
  left:max(14px,env(safe-area-inset-left));
  right:max(14px,env(safe-area-inset-right));
  bottom:max(14px,env(safe-area-inset-bottom));
  z-index:9999;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:22px;
  align-items:end;
  width:min(920px,calc(100vw - 28px));
  margin:0 auto;
  padding:18px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(8,9,8,.94);
  color:#f2efe6;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.nova-consent-copy{max-width:670px}
.nova-consent-copy .micro{display:block;color:#c9ff43;margin-bottom:8px}
.nova-consent-copy p{margin:0;color:#c7c8c2;font-size:.92rem;line-height:1.55}
.nova-consent-copy a{display:inline-block;margin-top:8px;color:#f2efe6;font-size:.78rem;text-decoration:underline;text-underline-offset:3px}
.nova-consent-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.nova-consent .btn{white-space:nowrap}
.footer-consent-settings{appearance:none;border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer}
.footer-consent-settings:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
  .nova-consent{grid-template-columns:1fr;gap:14px;padding:16px;bottom:max(10px,env(safe-area-inset-bottom));left:10px;right:10px;width:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:#0b0b0a}
  .nova-consent-actions{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}
  .nova-consent .btn{width:100%;min-height:44px;padding-inline:12px;font-size:.72rem}
}
