
:root{
  --black:#0a0a0a;
  --near:#111110;
  --near2:#161614;
  --gold:#C9A84C;
  --gold2:#E5C97E;
  --golddim:rgba(201,168,76,0.12);
  --goldline:rgba(201,168,76,0.2);
  --cream:#F2EEE6;
  --c80:rgba(242,238,230,0.82);
  --c60:rgba(242,238,230,0.62);
  --c40:rgba(242,238,230,0.42);
  --c08:rgba(242,238,230,0.08);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--cream);font-family:'Josefin Sans',sans-serif;font-weight:300;letter-spacing:.03em;cursor:none;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.018;pointer-events:none;z-index:9999;will-change:auto;contain:strict}

/* CURSOR */
.cur{position:fixed;width:7px;height:7px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:99999;transition:width .22s,height .22s;will-change:transform}
.cur-ring{position:fixed;width:34px;height:34px;border:1px solid rgba(201,168,76,.45);border-radius:50%;pointer-events:none;z-index:99998;transition:width .3s,height .3s,border-color .3s,background .3s;will-change:transform}
@media(hover:none){.cur,.cur-ring{display:none}body{cursor:auto}}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:20px 64px;display:flex;align-items:center;justify-content:space-between;transition:all .5s ease}
nav.scrolled{background:rgba(10,10,10,.985);padding:10px 64px;border-bottom:1px solid var(--goldline)}
.nav-logo{display:flex;align-items:center;text-decoration:none;cursor:none}
.nav-logo img{height:60px;object-fit:contain}
.nav-links{display:flex;list-style:none}
.nav-links a{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c60);text-decoration:none;transition:color .3s;padding:8px 17px;position:relative;cursor:none;font-weight:300}
.nav-links a::after{content:'';position:absolute;bottom:2px;left:17px;right:17px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.nav-links a:hover,.nav-links a.active{color:var(--cream)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-cta{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);padding:11px 26px;text-decoration:none;transition:all .3s;cursor:none;font-weight:400}
.nav-cta:hover{background:var(--gold);color:var(--black)}

/* PAGES */
.page{display:none;min-height:100vh}
.page.active{display:block;animation:pgIn .5s ease}
@keyframes pgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* REUSABLE */
.s-label{font-size:.66rem;letter-spacing:.36em;text-transform:uppercase;color:var(--gold);font-weight:400}
.s-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.3rem,4vw,4rem);font-weight:300;line-height:1.12;color:var(--cream)}
.s-title em{font-style:italic;color:var(--gold)}
.s-body{font-size:.85rem;letter-spacing:.03em;color:var(--c80);line-height:2.2;font-weight:300}
.btn-gold{display:inline-flex;align-items:center;gap:12px;background:var(--gold);color:#0a0a0a;padding:16px 42px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;font-family:'Josefin Sans',sans-serif;text-decoration:none;transition:background .3s;border:none;cursor:none;white-space:nowrap}
.btn-gold:hover{background:var(--gold2)}
.btn-ghost{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c60);text-decoration:none;transition:color .3s;display:inline-flex;align-items:center;gap:10px;cursor:none;font-weight:300}
.btn-ghost:hover{color:var(--cream)}
.wrap{max-width:1160px;margin:0 auto;padding:0 64px}

/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.reveal.vis{opacity:1;transform:none}
.rd1{transition-delay:.1s}.rd2{transition-delay:.22s}.rd3{transition-delay:.34s}.rd4{transition-delay:.48s}

/* TICKER */
.ticker-wrap{overflow:hidden;border-top:1px solid var(--goldline);border-bottom:1px solid var(--goldline);padding:16px 0;background:var(--near)}
.ticker-track{display:flex;animation:tick 30s linear infinite;white-space:nowrap}
.t-item{display:flex;align-items:center;gap:26px;padding-right:26px;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--c60);flex-shrink:0;font-weight:300}
.t-dot{width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* MARQUEE */
.marquee-wrap{overflow:hidden;padding:56px 0;background:var(--near)}
.marquee-track{display:flex;animation:tick 38s linear infinite;white-space:nowrap}
.m-item{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,2.7vw,2.6rem);font-weight:300;font-style:italic;color:rgba(242,238,230,.16);padding-right:56px;flex-shrink:0}
.m-gold{color:rgba(201,168,76,.35);font-style:normal;font-size:.42em;letter-spacing:.3em;vertical-align:middle;padding:0 24px}

/* ═══ HERO (no image — pure design) ═══ */
.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 64px 90px;overflow:hidden}
.hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 55% 60% at 72% 30%,rgba(201,168,76,.09) 0%,transparent 65%),radial-gradient(ellipse 45% 50% at 15% 85%,rgba(201,168,76,.05) 0%,transparent 60%)}
.hero-diag{position:absolute;width:1px;height:150%;background:linear-gradient(to bottom,transparent,rgba(201,168,76,.35),transparent);transform-origin:center}
.hd1{top:-25%;right:16%;transform:rotate(28deg)}
.hd2{top:-25%;right:12%;transform:rotate(28deg);opacity:.5}
.hd3{top:-25%;left:10%;transform:rotate(-24deg);opacity:.4}
.hero-mono{position:absolute;top:50%;right:6%;transform:translateY(-50%);font-family:'Cormorant Garamond',serif;font-size:32rem;color:rgba(201,168,76,.04);line-height:1;font-weight:300;user-select:none;pointer-events:none}
.hero-content{position:relative;z-index:2;max-width:1160px;margin:0 auto;width:100%}
.hero-badge{display:inline-flex;align-items:center;gap:12px;font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);margin-bottom:32px;opacity:0;animation:up .8s .2s forwards;font-weight:400}
.hero-badge::before{content:'';width:32px;height:1px;background:var(--gold)}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3.4rem,7.5vw,7.6rem);font-weight:300;line-height:1.05;max-width:900px;opacity:0;animation:up 1s .4s forwards;color:var(--cream)}
.hero-h1 em{font-style:italic;color:var(--gold)}
.hero-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1rem,1.6vw,1.35rem);color:var(--gold2);margin-top:30px;opacity:0;animation:up .9s .7s forwards;font-weight:300}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:52px;opacity:0;animation:up .9s .9s forwards;gap:40px;flex-wrap:wrap}
.hero-sub{font-size:.72rem;letter-spacing:.14em;color:var(--c60);text-transform:uppercase;line-height:2.4;font-weight:300}
.hero-acts{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
@keyframes up{to{opacity:1;transform:none}}

/* MANIFESTO */
.manifesto-grid{display:grid;grid-template-columns:1fr 2fr;gap:70px;align-items:start}
.mq-mark{font-family:'Cormorant Garamond',serif;font-size:8rem;color:rgba(201,168,76,.18);line-height:.7;font-weight:300;margin-top:16px}
.manifesto-text{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3.2vw,3rem);font-weight:300;line-height:1.3;color:var(--cream)}
.manifesto-text em{font-style:italic;color:var(--gold)}
.manifesto-body{margin-top:34px;font-size:.85rem;line-height:2.3;color:var(--c80);border-left:1px solid var(--gold);padding-left:28px;max-width:560px;font-weight:300}

/* SERVICES CARDS */
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--goldline)}
.srv-card{background:var(--near);padding:48px 36px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;transition:background .4s;cursor:none}
.srv-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--golddim),transparent 55%);opacity:0;transition:opacity .4s}
.srv-card:hover{background:var(--near2)}
.srv-card:hover::before{opacity:1}
.srv-num{font-family:'Cormorant Garamond',serif;font-size:.78rem;color:var(--gold);letter-spacing:.2em}
.srv-name{font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:400;color:var(--cream);line-height:1.15}
.srv-desc{font-size:.74rem;letter-spacing:.04em;line-height:2.1;color:var(--c60);flex:1;font-weight:300}
.srv-arr{font-size:.9rem;color:var(--gold);opacity:0;transform:translateX(-8px);transition:all .3s;align-self:flex-end}
.srv-card:hover .srv-arr{opacity:1;transform:none}

/* NUMBERS */
.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--goldline)}
.num-card{background:var(--near);padding:48px 34px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.num-card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s}
.num-card:hover::after{transform:scaleX(1)}
.num-n{font-family:'Cormorant Garamond',serif;font-size:4.2rem;color:var(--gold);font-weight:300;line-height:1}
.num-l{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--c60);font-weight:400}
.num-desc{font-size:.74rem;letter-spacing:.03em;color:var(--c60);line-height:2;margin-top:4px;font-weight:300}

/* WORK CARDS */
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.wcard{background:linear-gradient(135deg,#171715,#101010);border:1px solid var(--goldline);padding:42px 38px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;transition:border-color .35s;cursor:none}
.wcard::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .55s ease}
.wcard:hover{border-color:rgba(201,168,76,.5)}
.wcard:hover::after{width:100%}
.wc1{grid-column:1/8}.wc2{grid-column:8/13}.wc3{grid-column:1/5}.wc4{grid-column:5/13}
.wf1{grid-column:1/8}.wf2{grid-column:8/13}.wf3{grid-column:1/5}.wf4{grid-column:5/9}.wf5{grid-column:9/13}.wf6{grid-column:1/13}
.cs-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(201,168,76,.12);border:1px solid var(--goldline);padding:7px 15px;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);align-self:flex-start;font-weight:400}
.w-cat{font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:400}
.w-name{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:400;color:var(--cream);line-height:1.15}
.w-desc{font-size:.78rem;letter-spacing:.03em;color:var(--c80);line-height:2.2;max-width:460px;font-weight:300}
.w-result-block{padding:16px 18px;background:rgba(201,168,76,.08);border-left:2px solid var(--gold)}
.w-result-block p{font-size:.76rem;letter-spacing:.03em;color:var(--c80);line-height:2;font-style:italic}
.w-result-block strong{color:var(--gold2);font-weight:400}
.w-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.w-tag{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;border:1px solid rgba(201,168,76,.25);color:var(--c60);padding:6px 13px;font-weight:300}

/* PROCESS PREVIEW */
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--goldline)}
.p-step{background:var(--black);padding:48px 32px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden;transition:background .3s}
.p-step:hover{background:var(--near)}
.p-line{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform .45s}
.p-step:hover .p-line{transform:scaleX(1)}
.p-num{font-family:'Cormorant Garamond',serif;font-size:4.6rem;color:rgba(201,168,76,.14);line-height:1;font-weight:300;transition:color .3s}
.p-step:hover .p-num{color:rgba(201,168,76,.35)}
.p-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--cream)}
.p-desc{font-size:.74rem;letter-spacing:.03em;color:var(--c60);line-height:2.1;font-weight:300}

/* WHY */
.why-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}
.why-boxes{position:relative;height:440px}
.wb-main{position:absolute;top:0;left:0;width:70%;height:70%;background:linear-gradient(135deg,#1e1d12,#111110);border:1px solid rgba(201,168,76,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.wb-main-n{font-family:'Cormorant Garamond',serif;font-size:4.8rem;color:var(--gold);font-weight:300;line-height:1}
.wb-main-l{font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--c60);font-weight:400}
.wb-accent{position:absolute;bottom:0;right:0;width:52%;height:46%;background:linear-gradient(135deg,rgba(201,168,76,.14),rgba(201,168,76,.03));border:1px solid rgba(201,168,76,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.wb-accent-n{font-family:'Cormorant Garamond',serif;font-size:2.8rem;color:var(--gold);font-weight:300}
.wb-accent-l{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c60);text-align:center;font-weight:400}
.why-pt{display:flex;gap:22px;padding:22px 0;border-bottom:1px solid var(--c08);align-items:flex-start}
.why-pt:last-child{border-bottom:none}
.why-icon{width:36px;height:36px;border:1px solid rgba(201,168,76,.35);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.68rem;color:var(--gold)}
.why-pt h4{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;color:var(--cream);margin-bottom:6px}
.why-pt p{font-size:.75rem;letter-spacing:.03em;color:var(--c60);line-height:2;font-weight:300}

/* CTA */
.cta-section{padding:130px 0;background:var(--near);position:relative;overflow:hidden;text-align:center}
.cta-bg{position:absolute;inset:0;background:radial-gradient(ellipse 65% 65% at 50% 50%,rgba(201,168,76,.08) 0%,transparent 70%)}
.cta-inner{position:relative;z-index:1;max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:28px;padding:0 40px}
.cta-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,5vw,5rem);font-weight:300;line-height:1.08;color:var(--cream)}
.cta-title em{font-style:italic;color:var(--gold)}
.cta-body{font-size:.82rem;letter-spacing:.04em;color:var(--c80);line-height:2.3;max-width:480px;font-weight:300}
.cta-acts{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:center}
.cta-loc{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c40);display:flex;align-items:center;gap:8px}

/* ABOUT */
.about-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;padding:160px 64px 80px;overflow:hidden}
.about-glow{position:absolute;inset:0;background:radial-gradient(ellipse 50% 55% at 78% 35%,rgba(201,168,76,.08) 0%,transparent 65%)}
.about-diag{position:absolute;width:1px;height:140%;background:linear-gradient(to bottom,transparent,rgba(201,168,76,.3),transparent)}
.ad1{top:-20%;right:20%;transform:rotate(26deg)}
.ad2{top:-20%;right:16%;transform:rotate(26deg);opacity:.5}
.about-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:76px;align-items:start}
.about-logo-box{width:100%;aspect-ratio:1;background:linear-gradient(135deg,#1c1b11,#111110);border:1px solid var(--goldline);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}
.about-logo-box::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(201,168,76,.1) 0%,transparent 70%)}
.about-logo-box img{width:62%;position:relative;z-index:1}
.about-badge{position:absolute;bottom:-16px;right:-16px;background:var(--gold);color:#0a0a0a;padding:20px 26px;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;text-align:center;line-height:2;font-weight:500}
.about-img-box{position:relative}
.about-pull{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:300;line-height:1.4;color:var(--cream)}
.about-pull em{font-style:italic;color:var(--gold)}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--goldline)}
.astat{background:var(--near);padding:26px 24px;display:flex;flex-direction:column;gap:6px}
.astat-n{font-family:'Cormorant Garamond',serif;font-size:2.4rem;color:var(--gold);font-weight:300;line-height:1}
.astat-l{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c60);font-weight:400}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--goldline)}
.v-card{background:var(--black);padding:46px 34px;display:flex;flex-direction:column;gap:14px;transition:background .3s}
.v-card:hover{background:var(--near)}
.v-ico{font-size:1.05rem;color:var(--gold)}
.v-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--cream)}
.v-text{font-size:.75rem;letter-spacing:.03em;color:var(--c60);line-height:2.15;font-weight:300}
.clients-list{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--goldline)}
.client-item{background:var(--near);padding:36px 28px;display:flex;flex-direction:column;gap:10px;transition:background .3s}
.client-item:hover{background:var(--near2)}
.client-ico{font-size:1.4rem}
.client-name{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:400;color:var(--cream);line-height:1.3}
.client-type{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--c60);line-height:1.9;font-weight:300}

/* SERVICES PAGE */
.srv-full-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--goldline)}
.sf-card{background:var(--near);padding:54px 46px;display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden;transition:background .4s}
.sf-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--golddim),transparent 55%);opacity:0;transition:opacity .4s}
.sf-card:hover{background:var(--near2)}
.sf-card:hover::before{opacity:1}
.sf-num{font-family:'Cormorant Garamond',serif;font-size:.78rem;color:var(--gold);letter-spacing:.2em}
.sf-name{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:400;color:var(--cream);line-height:1.12}
.sf-desc{font-size:.8rem;letter-spacing:.03em;line-height:2.25;color:var(--c80);font-weight:300}
.sf-items{display:flex;flex-direction:column}
.sf-item{font-size:.72rem;letter-spacing:.05em;color:var(--c60);padding:10px 0;border-bottom:1px solid var(--c08);display:flex;align-items:center;gap:12px;font-weight:300}
.sf-item::before{content:'→';color:var(--gold);flex-shrink:0}
.sf-ideal{margin-top:6px;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:400}
.pricing-note{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--goldline)}
.price-tier{background:var(--near);padding:44px 36px;display:flex;flex-direction:column;gap:14px}
.price-tier.featured{background:linear-gradient(135deg,#201e10,#111110);border-top:2px solid var(--gold)}
.price-tag{font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:400}
.price-name{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:400;color:var(--cream)}
.price-sub{font-size:.72rem;letter-spacing:.03em;color:var(--c60);line-height:2;font-weight:300}
.price-items{display:flex;flex-direction:column;gap:7px;margin-top:4px}
.price-item{font-size:.7rem;letter-spacing:.03em;color:var(--c60);display:flex;align-items:flex-start;gap:10px;line-height:1.9;font-weight:300}
.price-item::before{content:'✓';color:var(--gold);flex-shrink:0}
.price-cta{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);text-decoration:none;margin-top:auto;padding-top:16px;display:flex;align-items:center;gap:8px;transition:color .3s;cursor:none;font-weight:400}
.price-cta:hover{color:var(--gold2)}
.srv-cta-bar{display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--near);border:1px solid var(--goldline);padding:52px 48px}
.srv-cta-bar h3{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;margin-bottom:12px;color:var(--cream)}
.srv-cta-bar h3 em{font-style:italic;color:var(--gold)}
.srv-cta-bar p{font-size:.78rem;letter-spacing:.03em;color:var(--c80);line-height:2.2;max-width:520px;font-weight:300}

/* TARGET CLIENTS */
.target-clients{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--goldline)}
.tc-item{background:var(--near);padding:32px 26px;display:flex;flex-direction:column;gap:9px;transition:background .3s}
.tc-item:hover{background:var(--near2)}
.tc-ico{font-size:1.25rem}
.tc-name{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;color:var(--cream)}
.tc-sub{font-size:.64rem;letter-spacing:.1em;color:var(--c60);line-height:1.9;font-weight:300}

/* PROCESS PAGE */
.proc-full{display:flex;flex-direction:column;gap:1px;background:var(--goldline)}
.pf-step{background:var(--black);display:grid;grid-template-columns:180px 1.2fr 1fr;transition:background .3s}
.pf-step:hover{background:var(--near)}
.pf-num-col{padding:50px 42px;border-right:1px solid var(--goldline);display:flex;flex-direction:column;gap:8px}
.pf-big-n{font-family:'Cormorant Garamond',serif;font-size:3.8rem;color:rgba(201,168,76,.3);font-weight:300;line-height:1;transition:color .3s}
.pf-step:hover .pf-big-n{color:rgba(201,168,76,.6)}
.pf-step-label{font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:400}
.pf-main-col{padding:50px 42px;border-right:1px solid var(--goldline)}
.pf-step-title{font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:400;color:var(--cream);margin-bottom:16px}
.pf-step-body{font-size:.8rem;letter-spacing:.03em;color:var(--c80);line-height:2.25;font-weight:300}
.pf-detail-col{padding:50px 42px;display:flex;flex-direction:column}
.pf-detail-item{font-size:.7rem;letter-spacing:.05em;color:var(--c60);padding:9px 0;border-bottom:1px solid var(--c08);display:flex;gap:12px;align-items:center;font-weight:300}
.pf-detail-item::before{content:'→';color:var(--gold);flex-shrink:0}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:56px;align-items:start}
.c-block{padding:26px 0;border-bottom:1px solid var(--c08)}
.c-block:first-child{padding-top:0}
.c-label{font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-weight:400}
.c-val{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--cream);text-decoration:none;transition:color .3s;display:block;cursor:none}
a.c-val:hover{color:var(--gold)}
.c-sub{font-size:.74rem;letter-spacing:.03em;color:var(--c60);line-height:2.1;margin-top:7px;font-weight:300}
.contact-form-area{background:var(--near);border:1px solid var(--goldline);padding:50px 44px;display:flex;flex-direction:column;gap:22px}
.form-title{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:300;color:var(--cream)}
.form-title em{font-style:italic;color:var(--gold)}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-label{font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--c60);font-weight:400}
.form-input,.form-textarea,.form-select{background:transparent;border:none;border-bottom:1px solid var(--goldline);color:var(--cream);font-family:'Josefin Sans',sans-serif;font-size:.8rem;letter-spacing:.03em;padding:11px 0;outline:none;transition:border-color .3s;width:100%;font-weight:300}
.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--gold)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--c40)}
.form-textarea{resize:none;height:92px}
.form-select option{background:var(--near);color:var(--cream)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.form-submit{display:inline-flex;align-items:center;gap:14px;background:var(--gold);color:#0a0a0a;padding:16px 42px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;font-family:'Josefin Sans',sans-serif;border:none;cursor:none;transition:background .3s;align-self:flex-start;margin-top:4px}
.form-submit:hover{background:var(--gold2)}
.contact-note{font-size:.64rem;letter-spacing:.05em;color:var(--c40);font-weight:300}
.map-bar{display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--near);border:1px solid var(--goldline);padding:44px 48px;margin-top:56px}
.map-bar strong{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;color:var(--gold);display:block;margin-bottom:8px}
.map-bar p{font-size:.76rem;letter-spacing:.03em;color:var(--c80);line-height:2.2;max-width:580px;font-weight:300}
.map-bar-acts{display:flex;gap:14px;flex-shrink:0;flex-wrap:wrap}

/* FOOTER */
footer{padding:44px 64px;border-top:1px solid var(--goldline);display:flex;align-items:center;justify-content:space-between;background:var(--near);gap:32px}
.f-logo img{height:56px;object-fit:contain;opacity:.9;transition:opacity .3s;cursor:none}
.f-logo img:hover{opacity:1}
.f-links{display:flex;gap:22px;list-style:none;flex-wrap:wrap}
.f-links a{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c60);text-decoration:none;transition:color .3s;cursor:none;font-weight:300}
.f-links a:hover{color:var(--gold)}
.f-copy{font-size:.6rem;letter-spacing:.12em;color:var(--c40);text-align:right;line-height:2.1}
.f-copy span{color:var(--gold)}

/* MOBILE */
@media(max-width:960px){
  nav{padding:16px 24px}
  nav.scrolled{padding:12px 24px}
  .nav-links,.nav-cta{display:none}
  .hero{padding:110px 24px 70px}
  .hero-mono{font-size:16rem;right:-8%}
  .wrap{padding:0 24px}
  .about-hero{padding:130px 24px 60px}
  .manifesto-grid,.about-grid,.why-grid,.contact-grid{grid-template-columns:1fr;gap:44px}
  .why-boxes{height:320px}
  .srv-grid,.values-grid,.proc-grid,.srv-full-grid,.clients-list,.target-clients,.numbers-grid,.pricing-note{grid-template-columns:1fr}
  .work-grid{grid-template-columns:1fr}
  .wcard,.wc1,.wc2,.wc3,.wc4,.wf1,.wf2,.wf3,.wf4,.wf5,.wf6{grid-column:1/-1}
  .pf-step{grid-template-columns:1fr}
  .pf-num-col,.pf-main-col{border-right:none;border-bottom:1px solid var(--goldline)}
  .srv-cta-bar,.map-bar{flex-direction:column;align-items:flex-start;gap:28px}
  footer{flex-direction:column;gap:20px;text-align:center;padding:36px 24px}
  .f-copy{text-align:center}
  .f-links{justify-content:center}
  .form-row{grid-template-columns:1fr}
  .mq-mark{display:none}
}

/* ═══ MOTION SYSTEM ═══ */
#preloader{position:fixed;inset:0;background:#0a0a0a;z-index:100000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;transition:transform 1s cubic-bezier(.77,0,.18,1);will-change:transform}
#preloader.done{transform:translateY(-101%)}
#preloader img{height:66px;opacity:0;transform:scale(.92);animation:preLogo 1s cubic-bezier(.19,1,.22,1) .15s forwards}
@keyframes preLogo{to{opacity:1;transform:scale(1)}}
.pre-line{width:180px;height:1px;background:rgba(201,168,76,.15);overflow:hidden}
.pre-line span{display:block;height:100%;background:linear-gradient(90deg,#C9A84C,#E5C97E);transform:scaleX(0);transform-origin:left;animation:preLine 1.05s cubic-bezier(.77,0,.18,1) .35s forwards}
@keyframes preLine{to{transform:scaleX(1)}}
.pre-tag{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:.85rem;color:rgba(201,168,76,.55);letter-spacing:.14em;opacity:0;animation:preLogo .9s ease .6s forwards}
#curtain{position:fixed;inset:0;background:linear-gradient(180deg,#0d0d0c,#0a0a0a);z-index:99000;transform:scaleY(0);transform-origin:bottom;pointer-events:none;border-top:1px solid rgba(201,168,76,.4)}
#curtain.on{transform:scaleY(1);transition:transform .5s cubic-bezier(.77,0,.18,1)}
#curtain.off{transform-origin:top;transform:scaleY(0);transition:transform .55s cubic-bezier(.77,0,.18,1)}
#sprog{position:fixed;top:0;left:0;right:0;height:2px;z-index:100001;pointer-events:none}
#sprog span{display:block;height:100%;background:linear-gradient(90deg,#C9A84C,#E5C97E);transform:scaleX(0);transform-origin:left;box-shadow:0 0 12px rgba(201,168,76,.5)}
.orb{position:fixed;border-radius:50%;pointer-events:none;z-index:2;transform:translateZ(0)}
.orb1{width:620px;height:620px;background:radial-gradient(circle,rgba(201,168,76,.075) 0%,rgba(201,168,76,.03) 42%,transparent 70%);top:-180px;right:-160px}
.orb2{width:520px;height:520px;background:radial-gradient(circle,rgba(201,168,76,.055) 0%,rgba(201,168,76,.02) 42%,transparent 70%);bottom:-200px;left:-180px}
@keyframes orbA{from{transform:translate(0,0)}to{transform:translate(-120px,140px)}}
@keyframes orbB{from{transform:translate(0,0)}to{transform:translate(160px,-120px)}}
nav{will-change:transform}
nav.hide{transform:translateY(-105%)}
.hero-diag{background:linear-gradient(to bottom,transparent 0%,rgba(201,168,76,.06) 30%,rgba(201,168,76,.75) 50%,rgba(201,168,76,.06) 70%,transparent 100%);background-size:100% 320%;animation:streak 8s cubic-bezier(.45,0,.55,1) infinite}
.hd2{animation-delay:2.6s}
.hd3{animation-delay:5s}
@keyframes streak{0%{background-position:0 320%}100%{background-position:0 -320%}}
.hero-mono,.hero-glow{will-change:transform}
#heroFx{position:absolute;inset:0;pointer-events:none;z-index:1}
.hero-content{z-index:3}
.hero-badge{animation-delay:1.45s}
.hero-h1{opacity:1;animation:none}
.hero-tagline{animation-delay:2.05s}
.hero-bottom{animation-delay:2.25s}
.scroll-ind{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;animation:up .9s ease 2.7s forwards;transition:opacity .5s}
.scroll-ind.gone{opacity:0!important;pointer-events:none}
.si-txt{font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;color:rgba(242,238,230,.4)}
.si-line{width:1px;height:52px;background:rgba(201,168,76,.2);position:relative;overflow:hidden;display:block}
.si-dot{position:absolute;left:0;top:0;width:1px;height:16px;background:#C9A84C;animation:siDrop 1.9s cubic-bezier(.77,0,.18,1) infinite}
@keyframes siDrop{0%{transform:translateY(-18px)}70%,100%{transform:translateY(56px)}}
.l-mask{display:block;overflow:hidden}
.l-inner{display:block;transform:translateY(112%);transition:transform 1.15s cubic-bezier(.19,1,.22,1)}
.split-vis .l-inner{transform:translateY(0)}
.srv-grid>.reveal:nth-child(3n+1){transform:translate(-42px,26px)}
.srv-grid>.reveal:nth-child(3n+2){transform:translateY(46px)}
.srv-grid>.reveal:nth-child(3n){transform:translate(42px,26px)}
.values-grid>.reveal:nth-child(3n+1){transform:translate(-42px,26px)}
.values-grid>.reveal:nth-child(3n){transform:translate(42px,26px)}
.work-grid>.reveal:nth-child(odd){transform:translate(-40px,30px)}
.work-grid>.reveal:nth-child(even){transform:translate(40px,30px)}
.pricing-note>.reveal:nth-child(1){transform:translate(-40px,26px)}
.pricing-note>.reveal:nth-child(3){transform:translate(40px,26px)}
.srv-grid>.reveal.vis,.values-grid>.reveal.vis,.work-grid>.reveal.vis,.pricing-note>.reveal.vis{transform:none}
.wcard,.srv-card,.sf-card,.price-tier,.v-card,.num-card{transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .35s,background .4s;will-change:transform}
.wcard{--mx:50%;--my:50%}
.wcard::before{content:'';position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(201,168,76,.09),transparent 65%);opacity:0;transition:opacity .4s;pointer-events:none}
.wcard:hover::before{opacity:1}
.btn-gold,.form-submit,.nav-cta{position:relative;overflow:hidden;will-change:transform;transition:background .3s,box-shadow .4s,transform .25s cubic-bezier(.22,1,.36,1)}
.btn-gold:hover,.form-submit:hover{box-shadow:0 8px 34px rgba(201,168,76,.28)}
.ripple{position:absolute;border-radius:50%;background:rgba(255,248,225,.45);transform:scale(0);animation:rip .65s ease-out forwards;pointer-events:none}
@keyframes rip{to{transform:scale(3.2);opacity:0}}
.form-group{position:relative}
.form-input,.form-textarea,.form-select{background-image:linear-gradient(90deg,#C9A84C,#E5C97E);background-size:0% 1px;background-repeat:no-repeat;background-position:left bottom;transition:border-color .3s,background-size .5s cubic-bezier(.22,1,.36,1)}
.form-input:focus,.form-textarea:focus,.form-select:focus{background-size:100% 1px}
.form-label{transition:color .3s}
.form-group:focus-within .form-label{color:#C9A84C}
.pf-step{position:relative}
.pf-step::before{content:'';position:absolute;left:0;top:0;width:2px;height:100%;background:linear-gradient(180deg,#C9A84C,transparent);transform:scaleY(0);transform-origin:top;transition:transform 1.1s cubic-bezier(.22,1,.36,1) .2s}
.pf-step.vis::before{transform:scaleY(1)}
.num-n.counting,.astat-n.counting,.wb-main-n.counting,.wb-accent-n.counting{text-shadow:0 0 26px rgba(201,168,76,.45)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  #preloader{display:none}
  .reveal{opacity:1;transform:none}
  .l-inner{transform:none}
}
@media(max-width:960px){.orb{display:none}.scroll-ind{left:24px;transform:none}}


/* ═══ V3: FLUID TYPE + CONTRAST + WOW ═══ */

/* AUTO-SCALING ROOT — every rem on the site now scales with the device */
html{font-size:clamp(15px, 0.42vw + 10px, 19px)}

/* CONTRAST REPAIR — brighter tokens, easier on the eyes */
:root{
  --c80:rgba(242,238,230,.92);
  --c60:rgba(242,238,230,.76);
  --c40:rgba(242,238,230,.58);
  --goldline:rgba(201,168,76,.26);
}
::selection{background:#C9A84C;color:#0a0a0a}
::-webkit-scrollbar{width:9px}
::-webkit-scrollbar-track{background:#0a0a0a}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#C9A84C,#8a7233);border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:#E5C97E}

/* TYPE SCALE LIFT — bigger, brighter, readable */
.s-label{font-size:.78rem}
.nav-links a{font-size:.75rem}
.nav-cta{font-size:.72rem}
.btn-gold,.form-submit{font-size:.78rem}
.btn-ghost{font-size:.76rem}
.hero-sub{font-size:.82rem;color:var(--c80)}
.hero-tagline{font-size:clamp(1.15rem,1.8vw,1.5rem)}
.t-item{font-size:.74rem;color:var(--c60)}
.m-item{color:rgba(242,238,230,.22)}
.manifesto-body{font-size:.98rem;color:var(--c80)}
.s-body{font-size:1rem;line-height:2.15;color:var(--c80)}
.srv-desc{font-size:.86rem;line-height:2;color:var(--c60)}
.srv-name{font-size:1.75rem}
.num-desc{font-size:.85rem;color:var(--c60)}
.num-l{font-size:.74rem}
.w-desc{font-size:.9rem;color:var(--c80)}
.w-cat{font-size:.7rem}
.w-name{font-size:2rem}
.w-tag{font-size:.66rem;color:var(--c60)}
.w-result-block p{font-size:.86rem;color:var(--c80)}
.cs-badge{font-size:.68rem}
.p-desc{font-size:.85rem;color:var(--c60)}
.p-title{font-size:1.4rem}
.why-pt p{font-size:.86rem;color:var(--c60)}
.why-pt h4{font-size:1.25rem}
.wb-main-l,.wb-accent-l{font-size:.7rem}
.cta-body{font-size:.95rem;color:var(--c80)}
.cta-loc{font-size:.74rem;color:var(--c60)}
.v-text{font-size:.86rem;color:var(--c60)}
.v-title{font-size:1.4rem}
.client-name{font-size:1.25rem}
.client-type{font-size:.72rem}
.astat-l{font-size:.68rem}
.about-pull{font-size:clamp(1.75rem,2.8vw,2.5rem)}
.sf-desc{font-size:.92rem}
.sf-item{font-size:.84rem;color:var(--c60)}
.sf-ideal{font-size:.74rem}
.sf-name{font-size:2.1rem}
.price-sub{font-size:.84rem;color:var(--c60)}
.price-item{font-size:.82rem;color:var(--c60)}
.price-name{font-size:1.65rem}
.price-tag{font-size:.7rem}
.price-cta{font-size:.76rem}
.srv-cta-bar p{font-size:.9rem;color:var(--c80)}
.tc-name{font-size:1.2rem}
.tc-sub{font-size:.74rem}
.pf-step-body{font-size:.92rem}
.pf-detail-item{font-size:.82rem;color:var(--c60)}
.pf-step-title{font-size:1.75rem}
.pf-step-label{font-size:.7rem}
.pf-big-n{font-size:4.2rem}
.c-label{font-size:.72rem}
.c-val{font-size:1.45rem}
.c-sub{font-size:.86rem;color:var(--c60)}
.form-label{font-size:.7rem}
.form-input,.form-textarea,.form-select{font-size:.95rem}
.form-title{font-size:1.9rem}
.contact-note{font-size:.76rem;color:var(--c40)}
.map-bar p{font-size:.88rem;color:var(--c80)}
.f-links a{font-size:.72rem}
.f-copy{font-size:.72rem;color:var(--c40);line-height:2.2}
.si-txt{font-size:.66rem}
.pre-tag{font-size:1rem}

/* ═══ NEW WOW LAYERS ═══ */

/* Preloader percentage */
.pre-pct{font-size:.74rem;letter-spacing:.34em;color:rgba(201,168,76,.65);font-weight:300}

/* Shimmering gold word in hero */
.hero-h1 em.shine{background:linear-gradient(110deg,#C9A84C 25%,#F7E7B8 50%,#C9A84C 75%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 3.4s ease-in-out infinite}
@keyframes shimmer{0%,100%{background-position:0% 0}50%{background-position:100% 0}}

/* Rotating gold ring behind the hero monogram */
.hero-ring{position:absolute;top:50%;right:4%;transform:translateY(-50%);width:30rem;height:30rem;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 72%,rgba(201,168,76,.55) 86%,transparent 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));animation:spin 16s linear infinite;pointer-events:none;z-index:0}
.hero-ring::after{content:'';position:absolute;inset:2.2rem;border-radius:50%;background:conic-gradient(from 180deg,transparent 0 78%,rgba(201,168,76,.3) 90%,transparent 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 1px),#000 calc(100% - 1px));animation:spinR 22s linear infinite}
@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}
@keyframes spinR{to{transform:rotate(-360deg)}}

/* Cinematic light beam drifting across CTA sections */
.cta-section::after{content:'';position:absolute;inset:-60% -30%;background:linear-gradient(115deg,transparent 44%,rgba(201,168,76,.055) 50%,transparent 56%);animation:beam 9s ease-in-out infinite;pointer-events:none}
@keyframes beam{0%,100%{transform:translateX(-22%)}50%{transform:translateX(22%)}}

/* Gold shine sweep across gold buttons on hover */
.btn-gold::after,.form-submit::after{content:'';position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,252,240,.5),transparent);transform:skewX(-20deg);transition:left .6s cubic-bezier(.22,1,.36,1);pointer-events:none}
.btn-gold:hover::after,.form-submit:hover::after{left:130%}

/* Animated tracing border on work cards */
.wcard{background-clip:padding-box}
.wcard:hover{box-shadow:0 18px 50px rgba(0,0,0,.5),0 0 0 1px rgba(201,168,76,.35)}
.srv-card:hover,.sf-card:hover{box-shadow:inset 0 1px 0 rgba(201,168,76,.4)}

/* Ticker + marquee pause on hover */
.ticker-wrap:hover .ticker-track,.marquee-wrap:hover .marquee-track{animation-play-state:paused}
.t-item{transition:color .3s}
.t-item:hover{color:#E5C97E}

/* Cursor: expands softly over headlines */
.cur-ring.txt{width:64px!important;height:64px!important;border-color:rgba(201,168,76,.25);background:rgba(201,168,76,.05)}

/* ═══ MOBILE MENU ═══ */
.burger{display:none;flex-direction:column;justify-content:center;gap:6px;width:34px;height:34px;cursor:pointer;position:relative;z-index:1002}
.burger span{display:block;width:26px;height:1.5px;background:var(--cream);transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .3s;transform-origin:center}
.burger.x span:nth-child(1){transform:translateY(3.8px) rotate(45deg)}
.burger.x span:nth-child(2){transform:translateY(-3.8px) rotate(-45deg)}
#mmenu{position:fixed;inset:0;background:rgba(8,8,8,.99);z-index:950;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s ease}
#mmenu.on{opacity:1;pointer-events:auto}
.mm-inner{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.mm-inner>a{font-family:'Cormorant Garamond',serif;font-size:2.3rem;font-weight:300;color:var(--cream);text-decoration:none;padding:8px 20px;transition:color .3s,transform .6s cubic-bezier(.22,1,.36,1),opacity .6s;opacity:0;transform:translateY(26px)}
#mmenu.on .mm-inner>a{opacity:1;transform:none}
#mmenu.on .mm-inner>a:nth-child(1){transition-delay:.08s}
#mmenu.on .mm-inner>a:nth-child(2){transition-delay:.15s}
#mmenu.on .mm-inner>a:nth-child(3){transition-delay:.22s}
#mmenu.on .mm-inner>a:nth-child(4){transition-delay:.29s}
#mmenu.on .mm-inner>a:nth-child(5){transition-delay:.36s}
#mmenu.on .mm-inner>a:nth-child(6){transition-delay:.43s}
.mm-inner>a:hover{color:#E5C97E}
.mm-foot{margin-top:34px;display:flex;flex-direction:column;gap:14px;opacity:0;transition:opacity .6s .55s}
#mmenu.on .mm-foot{opacity:1}
.mm-foot a{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c60);text-decoration:none}
.mm-foot a:first-child{color:#C9A84C}

@media(max-width:960px){
  .burger{display:flex}
  html{font-size:15.5px}
  .hero-ring{width:17rem;height:17rem;right:-18%}
  .hero-h1{font-size:clamp(2.9rem,11.5vw,4.4rem)}
  .cta-section::after{display:none}
}


/* ═══ V5: LARGER, CLEARER TYPE ACROSS THE SITE ═══ */
html{font-size:clamp(16px, 0.46vw + 11px, 20px)}
:root{
  --c80:rgba(242,238,230,.95);
  --c60:rgba(242,238,230,.82);
  --c40:rgba(242,238,230,.64);
}
.s-label{font-size:.82rem;letter-spacing:.32em}
.nav-links a{font-size:.8rem}
.nav-cta{font-size:.76rem}
.btn-gold,.form-submit{font-size:.82rem}
.btn-ghost{font-size:.8rem}
.hero-sub{font-size:.9rem;color:var(--c80);line-height:2.5}
.hero-tagline{font-size:clamp(1.2rem,1.9vw,1.55rem)}
.t-item{font-size:.78rem;color:var(--c60)}
.manifesto-body{font-size:1.05rem;color:var(--c80);line-height:2.35}
.s-body{font-size:1.06rem;line-height:2.2;color:var(--c80)}
.srv-desc{font-size:.92rem;line-height:2.05;color:var(--c60)}
.srv-name{font-size:1.85rem}
.srv-num{font-size:.85rem}
.num-desc{font-size:.9rem;color:var(--c60);line-height:2.05}
.num-l{font-size:.8rem}
.num-n{font-size:4.6rem}
.w-desc{font-size:.95rem;color:var(--c80);line-height:2.25}
.w-cat{font-size:.74rem;letter-spacing:.3em}
.w-name{font-size:2.05rem}
.w-tag{font-size:.7rem;color:var(--c60)}
.w-result-block p{font-size:.9rem;color:var(--c80)}
.cs-badge{font-size:.72rem}
.p-desc{font-size:.9rem;color:var(--c60);line-height:2.15}
.p-title{font-size:1.45rem}
.p-num{font-size:4.8rem}
.why-pt p{font-size:.92rem;color:var(--c60);line-height:2.05}
.why-pt h4{font-size:1.3rem}
.wb-main-l,.wb-accent-l{font-size:.74rem}
.wb-main-n{font-size:5rem}
.cta-body{font-size:1rem;color:var(--c80);line-height:2.3}
.cta-loc{font-size:.78rem;color:var(--c60)}
.v-text{font-size:.92rem;color:var(--c60);line-height:2.15}
.v-title{font-size:1.45rem}
.client-name{font-size:1.3rem}
.client-type{font-size:.76rem}
.astat-l{font-size:.72rem}
.astat-n{font-size:2.6rem}
.about-pull{font-size:clamp(1.85rem,2.9vw,2.6rem)}
.sf-desc{font-size:.98rem;line-height:2.3}
.sf-item{font-size:.9rem;color:var(--c60)}
.sf-ideal{font-size:.78rem}
.sf-name{font-size:2.2rem}
.price-sub{font-size:.9rem;color:var(--c60)}
.price-item{font-size:.88rem;color:var(--c60)}
.price-name{font-size:1.7rem}
.price-tag{font-size:.74rem}
.price-cta{font-size:.8rem}
.srv-cta-bar p{font-size:.96rem;color:var(--c80)}
.srv-cta-bar h3{font-size:2.1rem}
.tc-name{font-size:1.25rem}
.tc-sub{font-size:.78rem;color:var(--c60)}
.pf-step-body{font-size:.98rem;line-height:2.3}
.pf-detail-item{font-size:.88rem;color:var(--c60)}
.pf-step-title{font-size:1.85rem}
.pf-step-label{font-size:.74rem}
.pf-big-n{font-size:4.4rem}
.c-label{font-size:.76rem}
.c-val{font-size:1.5rem}
.c-sub{font-size:.92rem;color:var(--c60)}
.form-label{font-size:.74rem}
.form-input,.form-textarea,.form-select{font-size:1rem}
.form-title{font-size:2rem}
.contact-note{font-size:.82rem;color:var(--c40)}
.map-bar p{font-size:.94rem;color:var(--c80)}
.map-bar strong{font-size:1.3rem}
.f-links a{font-size:.78rem}
.f-copy{font-size:.78rem;color:var(--c40);line-height:2.3}
.hero-badge{font-size:.72rem;letter-spacing:.3em}
.pre-tag{font-size:1.05rem}

/* ═══ SERVICE VECTOR ICONS ═══ */
.srv-ico{width:52px;height:52px;margin-bottom:6px;color:#C9A84C;stroke:#C9A84C;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.srv-card:hover .srv-ico{transform:translateY(-4px) scale(1.08)}
.sf-ico{width:60px;height:60px;margin-bottom:10px;color:#C9A84C;stroke:#C9A84C;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.sf-card:hover .sf-ico{transform:translateY(-4px) scale(1.06)}

/* ═══ PORTFOLIO CLIENT CARDS ═══ */
.pf-clients{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.client-card{position:relative;background:linear-gradient(150deg,#161614 0%,#0e0e0d 100%);border:1px solid var(--goldline);padding:40px 40px 34px;display:flex;flex-direction:column;gap:20px;overflow:hidden;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .35s,box-shadow .4s;cursor:none;text-decoration:none}
.client-card::before{content:'';position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(201,168,76,.08),transparent 62%);opacity:0;transition:opacity .4s;pointer-events:none}
.client-card:hover{border-color:rgba(201,168,76,.5);box-shadow:0 20px 60px rgba(0,0,0,.55)}
.client-card:hover::before{opacity:1}
.cc-logo-wrap{height:150px;display:flex;align-items:center;justify-content:flex-start;border-bottom:1px solid var(--c08);padding-bottom:24px}
.cc-logo-wrap img{max-height:128px;max-width:88%;object-fit:contain;opacity:.97}
.cc-cat{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:#C9A84C;font-weight:400}
.cc-name{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:400;color:var(--cream);line-height:1.15}
.cc-desc{font-size:.9rem;letter-spacing:.02em;color:var(--c60);line-height:2.15;flex:1}
.cc-foot{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--c08)}
.cc-url{font-size:.82rem;letter-spacing:.06em;color:var(--c80);font-family:'Cormorant Garamond',serif;font-style:italic}
.cc-visit{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#C9A84C;display:flex;align-items:center;gap:7px;transition:gap .3s}
.client-card:hover .cc-visit{gap:12px}
.cc-tags{display:flex;gap:7px;flex-wrap:wrap}
.cc-tag{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;border:1px solid rgba(201,168,76,.24);color:var(--c60);padding:5px 12px}
@media(max-width:960px){
  html{font-size:16px}
  .nav-logo img{height:48px}
  .f-logo img{height:46px}
  .pf-clients{grid-template-columns:1fr}
  .cc-logo-wrap img{max-width:82%;max-height:112px}
}


/* ═══ V6: SCROLL PERFORMANCE ═══ */
/* Chrome/Android repaint far more aggressively than Safari. These rules stop
   full-page recomposites while scrolling. */

.cur.big{width:13px;height:13px}
.cur-ring.big{width:52px;height:52px}

/* Contain paint work to each section so scrolling only repaints what changed */
.srv-grid,.work-grid,.pf-clients,.values-grid,.proc-grid,.numbers-grid,
.target-clients,.clients-list,.srv-full-grid,.pricing-note{contain:layout paint}

/* Promote only what actually animates; drop the rest so the GPU isn't holding
   dozens of layers (a common cause of the "30Hz" feel on mobile) */
.wcard,.srv-card,.sf-card,.price-tier,.v-card,.num-card,.client-card{will-change:auto}
.reveal{will-change:auto}
.reveal:not(.vis){will-change:opacity,transform}

/* Ticker/marquee: GPU transform only, and pause when off-screen */
.ticker-track,.marquee-track{will-change:transform;backface-visibility:hidden}

/* Images decode off the main thread */
img{content-visibility:visible}

/* ── MOBILE: strip everything expensive ── */
@media (max-width:960px){
  .orb{display:none!important}
  #goldGL,#heroFx{display:none!important}
  .cur,.cur-ring{display:none!important}
  body{cursor:auto}
  body::after{display:none}                 /* grain off on mobile */
  .hero-ring{animation:none;opacity:.5}
  .hero-diag{animation:none}
  .cta-section::after{display:none}
  .m-item{animation-duration:60s}
  nav,nav.scrolled{backdrop-filter:none!important}
  .wcard:hover,.client-card:hover{box-shadow:none}
  /* shorter, simpler reveals */
  .reveal{transition-duration:.55s;transform:translateY(18px)}
  .srv-grid>.reveal,.values-grid>.reveal,.work-grid>.reveal,.pricing-note>.reveal{transform:translateY(18px)}
}

/* ── Low-power / reduced motion: full stop ── */
@media (prefers-reduced-motion:reduce){
  .ticker-track,.marquee-track,.hero-diag,.hero-ring,.orb{animation:none!important}
}

/* Client logo sizing — larger, clearly visible white marks */
.cc-logo-wrap img{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.client-card:hover .cc-logo-wrap img{transform:scale(1.04)}
.home-logo-well{height:96px;display:flex;align-items:center;margin-bottom:10px}
.home-logo-well img{max-height:88px;max-width:290px;object-fit:contain;opacity:.97}
@media(max-width:960px){
  .cc-logo-wrap{height:132px}
  .cc-logo-wrap img{max-height:112px;max-width:82%}
  .home-logo-well{height:84px}
  .home-logo-well img{max-height:76px;max-width:230px}
}

.hero-h1 /* why-point headings: h4 -> h3, identical styling */
.why-h{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--cream);margin-bottom:6px}

/* Portfolio now shows three clients — rebalance so no empty cell remains.
   Self-adjusting: reverts to the original 2x2 layout if a fourth is added. */
.wc1{grid-column:1/5}
.wc2{grid-column:5/9}
.wc3{grid-column:9/13}
.pf-clients .client-card:last-child:nth-child(odd){grid-column:1/-1}
.pf-clients .client-card:last-child:nth-child(odd) .cc-desc{max-width:640px}
@media(max-width:960px){
  .wc3{grid-column:1/-1}
  .pf-clients .client-card:last-child:nth-child(odd){grid-column:1/-1}
}

/* Three-client grid: tighten type so nothing wraps awkwardly at 1/3 width */
.work-grid .wcard{padding:38px 30px}
.work-grid .w-cat{letter-spacing:.2em;font-size:.68rem;line-height:1.9}
.work-grid .w-name{font-size:1.6rem;line-height:1.18}
.work-grid .w-desc{font-size:.9rem;max-width:none}
.work-grid .w-tag{font-size:.64rem;letter-spacing:.14em;white-space:nowrap}
@media(max-width:960px){
  .work-grid .wcard{padding:34px 26px}
  .work-grid .w-name{font-size:1.75rem}
}

/* ═══ V9: CHROME SCROLL HARDENING ═══
   Chrome repaints far more eagerly than Safari. Once the hero is off-screen we
   stop every hero animation, so scrolling the rest of the page costs nothing. */
.hero-idle .hero-diag{animation-play-state:paused!important}
.hero-idle .hero-ring{animation-play-state:paused!important}
.hero-idle .hero-ring::after{animation-play-state:paused!important}
.hero-idle #goldGL,.hero-idle #heroFx{visibility:hidden}

/* Tickers only animate while visible */
.off .ticker-track,.off .marquee-track{animation-play-state:paused!important}

/* The rotating ring uses conic-gradient + mask, which is expensive to repaint
   in Chrome. Isolate it so it can never invalidate the rest of the page. */
.hero-ring{contain:strict;will-change:transform}
.hero-diag{contain:strict}

/* Film grain: a fixed full-viewport layer repaints on every scroll frame in
   Chrome. Pin it to its own layer so it is composited once. */
body::after{transform:translateZ(0);will-change:transform}

/* Section isolation so a repaint in one band never cascades */
.qa-wrap,.ticker-wrap,.marquee-wrap,.cta-section,footer{contain:layout paint}

/* ═══ V10: eliminate fixed-layer repaint cost in Chrome ═══
   Both the grain and the ambient orbs are position:fixed full-viewport layers.
   Chrome repaints them on every scroll frame unless they are promoted to their
   own composited layer and their paint is contained. */

/* Grain: tile a small texture instead of rasterising one viewport-sized SVG,
   and pin it to its own GPU layer. */
body::after{
  background-size:170px 170px;
  background-repeat:repeat;
  transform:translateZ(0);
  will-change:transform;
  contain:strict;
}

/* Ambient orbs: own layer, contained paint */
.orb{
  transform:translateZ(0);
  will-change:transform;
  contain:strict;
  backface-visibility:hidden;
}
