/* ============================================================
   DESIGN 1 — Full CSS (Tailwind v4 base + custom)
   ============================================================ */
*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}
html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-tap-highlight-color:transparent}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}
img,video{max-width:100%;height:auto}
button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;color:inherit;opacity:1;background-color:transparent;border-radius:0}
ol,ul,menu{list-style:none}

/* ---------- Design Tokens ---------- */
:root{
  --ink:#080808;
  --paper:#f5f0e4;
  --lime:#C9A84C;
  --grey:#8a8578;
  --line:#08080820;
  --darkline:#f5f0e428;
  --pad:clamp(1.25rem,3vw,3.75rem);
  --section:clamp(6rem,12vw,12rem);
  --display:'Archivo Black','Barlow Condensed',"Arial Narrow",Impact,sans-serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --z-header:20;
  --z-menu:40;
  --z-loader:60;
  --z-cursor:70;
}
html{scroll-behavior:smooth;background:var(--ink);font-synthesis-weight:none;-webkit-font-synthesis:none}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:16px;overflow-x:hidden}
button,input,textarea,select{font:inherit}
button,a{color:inherit}
button{cursor:pointer}
::selection{background:var(--lime);color:var(--ink)}
.skip{background:var(--lime);z-index:100;padding:.8rem 1rem;position:fixed;top:-4rem;left:1rem}
.skip:focus{top:1rem}

/* ---------- Preloader ---------- */
.preloader{z-index:var(--z-loader);color:var(--paper);clip-path:inset(0);background:#080808;place-content:center;transition:clip-path .9s cubic-bezier(.76,0,.24,1),visibility .9s;display:grid;position:fixed;inset:0}
.preloader.is-gone{clip-path:inset(0 0 100%);visibility:hidden}
.preloader-mark{font:900 clamp(2.4rem,5vw,5rem)/.95 var(--display);letter-spacing:-.02em}
.preloader-mark span,.wordmark>span,.footer-brand span{color:var(--lime);vertical-align:top;margin-left:.15em;font-size:.35em}
.preloader-line{background:#fff3;height:1px;margin:1.8rem 0 1rem;overflow:hidden}
.preloader-line i{background:var(--lime);height:100%;animation:1.35s cubic-bezier(.65,0,.35,1) both load;display:block}
.preloader small{letter-spacing:.24em;color:#9a9080;font-size:.64rem}
@keyframes load{0%{transform:translate(-100%)}to{transform:translate(0)}}

/* ---------- Custom Cursor ---------- */
.cursor{z-index:var(--z-cursor);background:var(--lime);pointer-events:none;width:12px;height:12px;font:800 0 var(--sans);transform-origin:50%;mix-blend-mode:difference;border-radius:50%;place-items:center;transition:width .35s,height .35s,font-size .35s,margin .35s;display:grid;position:fixed;top:0;left:0}
.cursor.is-active{mix-blend-mode:normal;width:76px;height:76px;color:var(--ink);margin:-32px 0 0 -32px;font-size:.65rem}
@media (pointer:coarse){.cursor{display:none}}

/* ---------- Header ---------- */
.header{z-index:var(--z-header);height:88px;padding:0 var(--pad);color:var(--paper);mix-blend-mode:difference;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed;top:0;left:0;right:0}
.wordmark{text-align:left;font:900 1.14rem/.78 var(--display);letter-spacing:-.055em;background:0 0;border:0;padding:0}
.wordmark small{font:600 .45rem/1 var(--sans);letter-spacing:.35em;margin-top:.35rem;display:block}
.header nav{gap:1.8rem;display:flex}
.header nav button,.talk-link,.menu-button{color:inherit;letter-spacing:.11em;text-transform:uppercase;background:0 0;border:0;padding:.6rem 0;font-size:.66rem;font-weight:700;position:relative}
.header nav button:after{content:"";transform-origin:0;background:currentColor;height:1px;transition:transform .35s;position:absolute;bottom:.15rem;left:0;right:0;transform:scaleX(0)}
.header nav button:hover:after,.header nav button.active:after{transform:scaleX(1)}
.talk-link{justify-self:end}
.talk-link span{color:var(--lime);margin-left:.45rem;font-size:1rem}
.menu-button{justify-self:end;display:none}
.menu-button i{background:currentColor;width:22px;height:1px;margin:0 0 .2rem .4rem;display:inline-block}

/* ---------- Mobile Menu ---------- */
.mobile-menu{z-index:var(--z-menu);background:var(--lime);color:var(--ink);padding:var(--pad);clip-path:inset(0 0 100%);visibility:hidden;flex-direction:column;justify-content:center;transition:clip-path .75s cubic-bezier(.76,0,.24,1);display:flex;position:fixed;inset:0}
.mobile-menu.open{clip-path:inset(0);visibility:visible}
.menu-close{right:var(--pad);letter-spacing:.12em;background:0;border:0;font-size:.7rem;font-weight:800;position:absolute;top:2rem}
.mobile-links{flex-direction:column;display:flex}
.mobile-links button{font:900 clamp(3rem,12vw,6rem)/1 var(--display);letter-spacing:-.02em;text-transform:uppercase;text-align:left;opacity:0;background:0;border:0;border-bottom:1px solid #00000025;align-items:baseline;gap:1.5rem;padding:.2em 0;transition:transform .5s,opacity .5s;display:flex;transform:translateY(30px)}
.mobile-menu.open .mobile-links button{opacity:1;transform:none}
.mobile-links span{font:600 .6rem var(--sans);letter-spacing:.12em}
.mobile-meta{flex-wrap:wrap;gap:2rem;margin-top:3rem;font-size:.72rem;display:flex}
.mobile-meta a{text-decoration:none}

/* ---------- HERO ---------- */
.hero{height:100svh;min-height:690px;color:var(--paper);background:#080808;position:relative;overflow:hidden}
/* Removed ::after pseudo — Three.js canvas replaces the radial gradient overlay */
.hero-noise{opacity:.3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");position:absolute;inset:0;z-index:1}
.hero-content{z-index:3;height:100%;padding:clamp(7rem,14vh,10rem) var(--pad) 2.25rem;flex-direction:column;display:flex;position:relative}
.eyebrow{letter-spacing:.22em;color:#9a9080;margin:0 0 auto;font-size:.66rem}
.hero h1{font:950 clamp(4.3rem,11.7vw,12.4rem)/.85 var(--display);letter-spacing:-.015em;text-transform:uppercase;margin:0}
.hero-line{display:block;overflow:hidden}
.hero-line i{font-style:normal;transition:transform 1.15s cubic-bezier(.16,1,.3,1);display:block;transform:translateY(115%)}
.hero-content.ready .hero-line i{transform:none}
.hero-content.ready .hero-line:nth-child(2) i{transition-delay:90ms}
.hero-content.ready .hero-line:nth-child(3) i{transition-delay:.18s}
.hero-line.outline i{color:transparent;-webkit-text-stroke:1.5px var(--paper)}
.hero-line.last{align-items:flex-end;display:flex}
.hero-line.last b{font:400 clamp(3rem,8vw,9rem)/.7 var(--sans);color:var(--lime);margin-left:auto;transition:transform .5s;transform:rotate(0)}
.hero-line.last:hover b{transform:rotate(45deg)}
.hero-bottom{justify-content:space-between;align-items:flex-end;margin-top:2rem;font-size:clamp(.85rem,1.1vw,1.05rem);line-height:1.45;display:flex}
.hero-bottom button{color:#9a9080;letter-spacing:.15em;background:0;border:0;font-size:.62rem}
.hero-bottom button span{color:var(--lime);margin-left:.5rem;font-size:1.2rem}

/* Three.js canvas container — replaces .orbit-a / .orbit-b */
.hero__canvas{position:absolute;inset:0;z-index:2}
/* Subtle atmospheric glow to blend 3D with hero content */
.hero__glow{position:absolute;z-index:2;inset:0;pointer-events:none;
  background:radial-gradient(44% 46% at 76% 30%,rgba(201,168,76,0.10),transparent 66%),
             radial-gradient(90% 72% at 28% 112%,rgba(8,8,8,0.92),transparent 60%)}

/* ---------- Section Tops ---------- */
.section-top{border-top:1px solid var(--line);letter-spacing:.18em;justify-content:space-between;padding-top:1rem;font-size:.58rem;font-weight:700;display:flex}
.section-top.light{border-color:var(--darkline)}

/* ---------- Statement (About) ---------- */
.statement,.services,.why,.contact-form-section{padding:var(--section) var(--pad)}
.statement h2{font:900 clamp(3.2rem,7.7vw,8rem)/.95 var(--display);letter-spacing:-.02em;margin:5rem 0 0}
.statement h2 em{color:transparent;-webkit-text-stroke:2.5px var(--ink);font-style:normal}
.manifesto{font:700 clamp(1.35rem,3vw,2.3rem)/1.4 var(--display);letter-spacing:-.02em;max-width:1050px;margin:clamp(4rem,8vw,7rem) 0 0}
.manifesto .highlight{color:var(--lime);font-style:italic}
.manifesto .dim{color:var(--grey)}
.meta-row{grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:clamp(4rem,8vw,7rem);border-top:1px solid var(--line);padding-top:2.5rem;display:grid}
.meta-row strong{font:900 clamp(1.4rem,2.8vw,2.4rem)/1 var(--display);letter-spacing:-.04em;display:block;margin-bottom:.5rem}
.meta-row span{font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.services h2,.why h2,.contact-grid h2{font:900 clamp(3.2rem,7.7vw,8rem)/.95 var(--display);letter-spacing:-.02em;margin:0}
.services h2 em,.why h2 em,.contact-grid h2 em{color:transparent;-webkit-text-stroke:2.5px var(--ink);font-style:normal}
.work>h2 em,.cta h2 em{color:transparent;-webkit-text-stroke:2.5px var(--paper);font-style:normal}
.project-copy button{letter-spacing:.12em;font-size:.67rem;font-weight:800;text-decoration:none}
.project-copy button span{color:#C9A84C;margin-left:.4rem}

/* ---------- Work ---------- */
.work,.approach{background:var(--ink);color:var(--paper);padding:var(--section) var(--pad)}
.work>h2{font:900 clamp(4rem,11vw,11rem)/.9 var(--display);letter-spacing:-.015em;margin:3rem 0 5rem}
.work-list{flex-direction:column;gap:clamp(4rem,8vw,8rem);display:flex}
.project{grid-template-columns:minmax(0,1.65fr) minmax(270px,.65fr);align-items:end;gap:clamp(2rem,6vw,7rem);display:grid}
.project:nth-child(2n){grid-template-columns:minmax(270px,.65fr) minmax(0,1.65fr)}
.project:nth-child(2n) .project-visual{order:2}
.project-visual{background:#141412;height:min(45vw,520px);position:relative;overflow:hidden}
.project-art{justify-content:center;align-items:center;display:flex;position:absolute;inset:-10%}
.project-art:before,.project-art:after{content:"";position:absolute}
.project-art>span{letter-spacing:.18em;font-size:.58rem;position:absolute;top:14%;left:12%}
.project-art strong{font:950 clamp(7rem,22vw,22rem)/1 var(--display);letter-spacing:-.1em;color:#ffffffed;mix-blend-mode:overlay}
.clinic{background:#1a2826}
.clinic .project-art:before{aspect-ratio:1;background:var(--lime);border-radius:50%;width:42%}
.clinic .project-art:after{background:#C9A84C40;width:1px;height:90%;transform:rotate(35deg)}
.garage{background:#2a100a}
.garage .project-art:before{border:2px solid #C9A84C30;inset:20% 6%;transform:skew(-12deg)}
.garage .project-art:after{background:var(--lime);width:55%;height:8%;transform:rotate(-28deg)}
.property{background:#1a241a}
.property .project-art{background:repeating-linear-gradient(90deg,transparent 0 12%,#C9A84C12 12% 12.3%),repeating-linear-gradient(0deg,transparent 0 15%,#C9A84C10 15% 15.3%)}
.property .project-art:before{background:var(--lime);clip-path:polygon(0 22%,100% 0,100% 100%,0 80%);width:34%;height:70%}
.rozi{background:#2a2010}
.rozi .project-art:before{border:clamp(1rem,3vw,3rem) solid #C9A84C40;border-radius:50%;width:55%;height:55%}
.rozi .project-art:after{background:var(--paper);border-radius:50%;width:28%;height:28%}
.yiwu{background:#101a26}
.yiwu .project-art:before{background:var(--lime);width:60%;height:7%;transform:rotate(18deg)}
.yiwu .project-art:after{border:2px solid #C9A84C35;border-radius:50%;width:44%;height:44%}
.project-copy>span{color:var(--grey);letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.4rem;font-size:.58rem;display:block}
.project-copy h3{font:900 clamp(2rem,3.5vw,3.8rem)/1 var(--display);letter-spacing:-.02em;margin:0 0 1.2rem}
.project-copy p{color:#b0a998;max-width:33rem;font-size:1rem;line-height:1.55}
.project-copy button,.project-copy .project-visit{border:0;border-bottom:1px solid var(--darkline);color:var(--paper);background:0;margin-top:1rem;padding:.8rem 0;letter-spacing:.12em;font-size:.67rem;font-weight:800;text-decoration:none;display:inline-block}
.project-copy .project-visit{color:var(--lime);border-bottom-color:#C9A84C60}
.project-copy .project-visit span{color:var(--lime);margin-left:.4rem}

/* ---------- Services ---------- */
.services-head{grid-template-columns:2fr 1fr;gap:8vw;margin:5rem 0 8rem;display:grid}
.services-head p{align-self:end;max-width:28rem;font-size:1.1rem;line-height:1.55}
.service-list article{border-top:1px solid var(--line);grid-template-columns:60px minmax(220px,.9fr) 1.3fr .9fr 30px;align-items:center;gap:2rem;padding:2rem 0;transition:background .35s,padding .35s;display:grid}
.service-list article:last-child{border-bottom:1px solid var(--line)}
.service-list article:hover{background:var(--lime);padding-left:1.25rem;padding-right:1.25rem}
.service-list article:focus-visible{background:var(--lime);outline:2px solid var(--ink);outline-offset:-2px;padding-left:1.25rem;padding-right:1.25rem}
.service-list article>span{font-size:.6rem}
.service-list h3{font:850 clamp(1.8rem,3vw,3.4rem)/1.05 var(--display);letter-spacing:-.015em;margin:0}
.service-list p{margin:0;line-height:1.5}
.service-list small{letter-spacing:.09em;font-size:.58rem;line-height:1.5}
.service-list i{font-size:2rem;font-style:normal;font-weight:300}

/* ---------- Approach ---------- */
.approach-title{grid-template-columns:1.2fr .8fr;align-items:end;gap:clamp(3rem,6vw,8vw);margin:6rem 0 9rem;display:grid}
.approach h2{font:900 clamp(4.5rem,11vw,11rem)/.9 var(--display);letter-spacing:-.015em;margin:0;overflow:visible}
.approach h2 em{color:transparent;-webkit-text-stroke:2.5px var(--paper);font-style:normal}
.approach-title p{color:#b0a998;font-size:1.1rem;line-height:1.55;min-width:0}
.approach ol{margin:0;padding:0;list-style:none}
.approach li{border-top:1px solid var(--darkline);grid-template-columns:80px .8fr 1.2fr;gap:2rem;padding:2rem 0;display:grid}
.approach li:last-child{border-bottom:1px solid var(--darkline)}
.approach li>span{font-size:.58rem}
.approach li h3{font:850 clamp(2rem,4vw,4.5rem)/1.05 var(--display);letter-spacing:-.015em;margin:0}
.approach li p{color:#a09a8e;max-width:32rem;margin:.5rem 0;line-height:1.5}

/* ---------- Marquee ---------- */
.marquee{background:var(--lime);padding:2.2rem 0;overflow:hidden}
.marquee>div{width:max-content;animation:38s linear infinite marquee;display:flex;will-change:transform;transform:translateZ(0)}
.marquee .reverse{border-top:1px solid #00000025;margin-top:1rem;padding-top:1rem;animation-direction:reverse}
.marquee span{font:900 clamp(2.4rem,5vw,5.5rem)/1 var(--display);letter-spacing:-.02em;white-space:nowrap;margin-right:1.5rem}
.marquee b{font-weight:300}
@keyframes marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-33.333%,0,0)}}

/* ---------- Why ---------- */
.why>h2{margin:6rem 0}
.why-grid{grid-template-columns:1fr 1.4fr;gap:10vw;display:grid}
.why-grid>p{margin:0;font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.45}
.why-grid>div{flex-direction:column;display:flex}
.why-grid span{font:800 clamp(1.3rem,2.5vw,2.7rem)/1.1 var(--display);letter-spacing:-.01em;border-top:1px solid var(--line);padding:1rem 0}
.why-grid span:last-child{border-bottom:1px solid var(--line)}

/* ---------- Promise ---------- */
.promise{background:var(--ink);color:var(--paper);padding:var(--section) var(--pad)}
.promise h2{font:900 clamp(3.2rem,7.7vw,8rem)/.95 var(--display);letter-spacing:-.02em;margin:5rem 0 0}
.promise h2 em{color:transparent;-webkit-text-stroke:2.5px var(--paper);font-style:normal}
.promise-grid{grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,3rem);margin-top:clamp(4rem,8vw,7rem);display:grid}
.promise-card{border:1px solid var(--darkline);padding:clamp(1.8rem,3vw,2.5rem);display:flex;flex-direction:column;gap:1rem}
.promise-card .promise-num{font:800 clamp(2rem,3.5vw,3.5rem)/1 var(--display);letter-spacing:-.04em;color:var(--lime)}
.promise-card h3{font:800 clamp(1rem,1.4vw,1.2rem)/1.15 var(--display);letter-spacing:-.02em;text-transform:uppercase}
.promise-card p{color:#9a9080;font-size:.82rem;line-height:1.55}

/* ---------- CTA ---------- */
.cta{min-height:92svh;color:var(--paper);padding:var(--section) var(--pad);background:#0a0a08;flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}
.cta>span{letter-spacing:.17em;color:#9a9080;z-index:2;font-size:.62rem;position:relative}
.cta h2{font:900 clamp(4rem,12vw,12rem)/.9 var(--display);letter-spacing:-.015em;z-index:2;margin:4rem 0;position:relative}
.cta h2 em{-webkit-text-stroke-color:var(--lime)}
.cta-button{z-index:2;aspect-ratio:1;text-align:center;letter-spacing:.1em;border:1px solid #ffffff59;border-radius:50%;place-content:center;align-self:flex-start;width:clamp(150px,13vw,210px);font-size:.62rem;font-weight:800;text-decoration:none;transition:background .35s,color .35s,transform .35s;display:grid;position:relative}
.cta-button:hover{background:var(--lime);color:var(--ink);transform:rotate(-8deg)}
.cta-button span{font-size:1.2rem}
.cta-ring{aspect-ratio:1;border:1px solid #C9A84C1f;border-radius:50%;width:65vw;position:absolute;top:-20%;right:-25vw;box-shadow:0 0 0 8vw #C9A84C08,0 0 0 16vw #C9A84C05}

/* ---------- Contact Form ---------- */
.contact-grid{grid-template-columns:.75fr 1.25fr;gap:10vw;margin-top:6rem;display:grid}
.contact-grid>div{flex-direction:column;align-items:flex-start;display:flex}
.contact-grid p{color:#6a665c;margin:4rem 0 2rem;line-height:1.6}
.contact-grid a{border-bottom:1px solid var(--line);margin:.25rem 0;font-size:.85rem;text-decoration:none}
form{grid-template-columns:1fr 1fr;gap:2.5rem 2rem;display:grid}
form label{text-transform:uppercase;letter-spacing:.14em;flex-direction:column;font-size:.6rem;display:flex}
form input,form textarea,form select{border:0;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;border-radius:0;outline:none;padding:.8rem 0}
form input:focus,form textarea:focus,form select:focus{border-color:#C9A84C}
form .full{grid-column:1/-1}
form button{background:var(--ink);color:var(--paper);letter-spacing:.12em;border:0;grid-column:1/-1;justify-self:start;padding:1.1rem 1.4rem;font-size:.65rem;font-weight:800}
form button span{color:var(--lime);margin-left:1rem}
form>small{color:#6a665c;grid-column:1/-1}

/* ---------- Free Audit ---------- */
.audit{background:var(--ink);color:var(--paper);padding:var(--section) var(--pad)}
.audit-intro{grid-template-columns:1.5fr 1fr;gap:8vw;margin:5rem 0 4rem;display:grid}
.audit h2{font:900 clamp(2.8rem,6.5vw,6.5rem)/.95 var(--display);letter-spacing:-.02em;margin:0}
.audit h2 em{color:var(--lime);font-style:italic;-webkit-text-stroke:0}
.audit-intro>p{align-self:end;color:#b0a998;max-width:32rem;font-size:1.05rem;line-height:1.6}

/* Steps (sits before the form) */
.audit-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;border-top:1px solid var(--darkline);border-bottom:1px solid var(--darkline);padding:2.5rem 0;margin-bottom:3rem}
.audit-step b{display:block;font:900 1.1rem var(--display);margin-bottom:.5rem}
.audit-step p{margin:0;font-size:.82rem;color:#8a8578;line-height:1.5}

/* Form */
.audit-box{background:#141412;border:1px solid var(--darkline);border-radius:16px;padding:clamp(1.75rem,3vw,2.75rem);margin-bottom:3rem}
.audit-box form{grid-template-columns:1fr 1fr;gap:1.25rem 1.5rem;display:grid}
.audit-field{flex-direction:column;gap:.55rem;display:flex}
.audit-field-url{grid-column:1/-1}
.audit-field label{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a8578}
.audit-field input{background:#1c1c18;border:1px solid var(--darkline);border-radius:10px;color:var(--paper);padding:.95rem 1.1rem;font-size:.95rem;transition:border-color .25s,box-shadow .25s}
.audit-field input::placeholder{color:#5a564c}
.audit-field input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px rgba(201,168,76,.16)}
.audit-field input:-webkit-autofill,
.audit-field input:-webkit-autofill:hover,
.audit-field input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--paper);
  -webkit-box-shadow:0 0 0 1000px #1c1c18 inset;
  box-shadow:0 0 0 1000px #1c1c18 inset;
  caret-color:var(--paper);
  transition:background-color 5000s ease-in-out 0s;
}
.audit-box .audit-submit{grid-column:1/-1;background:var(--lime);color:var(--ink);border:0;border-radius:10px;padding:1.1rem 1.6rem;font-weight:800;font-size:.74rem;letter-spacing:.12em;justify-content:center;align-items:center;gap:.6rem;margin-top:.35rem;transition:background .25s,transform .25s,opacity .25s;display:flex}
.audit-box .audit-submit:hover:not(:disabled){background:#dbb86a;transform:translateY(-1px)}
.audit-box .audit-submit span{color:var(--ink);margin-left:0}
.audit-box .audit-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}
.audit-note{color:#6a665c;font-size:.62rem;letter-spacing:.1em;text-align:center;margin-top:1.25rem;transition:opacity .2s}

/* Loading state */
.audit-loading{margin-top:1.4rem;text-align:center}
.audit-loading-bar{height:3px;background:#26261f;border-radius:3px;overflow:hidden;position:relative;max-width:280px;margin:0 auto .8rem}
.audit-loading-fill{position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--lime),transparent);animation:auditLoadingSweep 1.3s ease-in-out infinite}
@keyframes auditLoadingSweep{0%{left:-40%}100%{left:100%}}
.audit-loading-text{font-size:.62rem;letter-spacing:.1em;color:#8a8578;text-transform:uppercase;transition:opacity .3s}
.audit-loading-text.is-swapping{opacity:0}

/* Report */
.audit-report{margin-bottom:3rem}
.audit-report.is-visible{animation:auditReveal .7s cubic-bezier(.16,1,.3,1) both}
@keyframes auditReveal{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.audit-report-top{grid-template-columns:auto 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;background:#141412;border:1px solid var(--darkline);border-radius:16px;padding:clamp(2rem,4vw,3.5rem);margin-bottom:1.5rem;display:grid}
.audit-score-hero{width:180px;flex-direction:column;align-items:center;text-align:center;display:flex}
.audit-ring-wrap{width:180px;height:180px;position:relative}
.audit-ring-svg{width:180px;height:180px;transform:rotate(-90deg);position:absolute;inset:0}
.audit-ring-track{fill:none;stroke:#26261f;stroke-width:10}
.audit-ring-fill{fill:none;stroke:var(--lime);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.16,1,.3,1),stroke 1.2s;filter:drop-shadow(0 0 10px currentColor)}
.audit-score-hero-center{position:absolute;inset:0;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;display:flex}
.audit-score-hero-num{font:900 clamp(2.3rem,4vw,3.1rem) var(--display);letter-spacing:-.03em}
.audit-score-hero-num small{font-size:.4em;color:#8a8578;font-weight:700;margin-left:.15em}
.audit-score-hero-label{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:#8a8578;white-space:nowrap}
.audit-score-hero-url{margin-top:1.5rem;font-size:.66rem;color:var(--lime);letter-spacing:.03em;word-break:break-all;max-width:200px}
.audit-verdict{align-items:center;gap:.55rem;margin-top:1.1rem;max-width:210px;opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease;display:flex}
.audit-verdict.is-shown{opacity:1;transform:none}
.audit-verdict-icon{width:22px;height:22px;flex:none;transform:scale(.5);transition:transform .5s cubic-bezier(.34,1.56,.64,1) .1s}
.audit-verdict.is-shown .audit-verdict-icon{transform:scale(1)}
.audit-verdict-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.audit-verdict-text{font-size:.76rem;color:#b0a998;line-height:1.4;text-align:left}
.audit-radar-wrap{justify-content:center;display:flex}
.audit-radar-svg{width:100%;max-width:320px;height:auto}
.audit-radar-grid{fill:none;stroke:var(--darkline);stroke-width:1}
.audit-radar-axis{stroke:var(--darkline);stroke-width:1}
.audit-radar-shape{fill:rgba(201,168,76,.18);stroke:var(--lime);stroke-width:2;stroke-linejoin:round}
.audit-radar-dot{fill:var(--lime)}
.audit-radar-label{font-size:9px;letter-spacing:.04em;fill:#b0a998}

.audit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-bottom:1.5rem}
.audit-cell{background:#141412;border:1px solid var(--darkline);border-radius:16px;padding:2rem 1.4rem;flex-direction:column;align-items:center;text-align:center;gap:.9rem;display:flex;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .35s,box-shadow .35s}
.audit-cell:hover{transform:translateY(-4px);border-color:#C9A84C60;box-shadow:0 16px 36px -16px rgba(201,168,76,.3)}
.audit-report.is-visible .audit-cell{animation:auditCellIn .65s cubic-bezier(.16,1,.3,1) both}
.audit-report.is-visible .audit-cell:nth-child(1){animation-delay:.08s}
.audit-report.is-visible .audit-cell:nth-child(2){animation-delay:.16s}
.audit-report.is-visible .audit-cell:nth-child(3){animation-delay:.24s}
.audit-report.is-visible .audit-cell:nth-child(4){animation-delay:.32s}
@keyframes auditCellIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.audit-cell-icon{width:26px;height:26px;color:#6a665c;transition:color .35s}
.audit-cell:hover .audit-cell-icon{color:var(--lime)}
.audit-cell-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.audit-cell-ring{width:96px;height:96px;position:relative}
.audit-cell-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.audit-cell-ring .track{fill:none;stroke:#26261f;stroke-width:7}
.audit-cell-ring .fill{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.16,1,.3,1),stroke 1.1s;filter:drop-shadow(0 0 6px currentColor)}
.audit-cell-ring-num{inset:0;justify-content:center;align-items:center;font:900 1.3rem var(--display);position:absolute;display:flex}
.ring-good{stroke:#7FB98A;color:#7FB98A}
.ring-warn{stroke:#E0A94E;color:#E0A94E}
.ring-bad{stroke:#C8734A;color:#C8734A}
.audit-cell-name{font-size:.78rem;font-weight:700;letter-spacing:.01em}
.audit-cell p{margin:0;font-size:.78rem;color:#8a8578;line-height:1.5}

.audit-fixes{background:#141412;border:1px solid var(--darkline);border-radius:14px;padding:2rem 2rem .8rem;margin-bottom:1.5rem}
.audit-fixes h3{font:700 .58rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin:0 0 1.5rem}
.audit-fix{display:flex;gap:1rem;padding-bottom:1.4rem;margin-bottom:1.4rem;border-bottom:1px solid var(--darkline)}
.audit-fix:last-child{border-bottom:none;margin-bottom:0}
.audit-fix-num{font:900 1.3rem var(--display);color:#8a7a4a;flex:none;width:1.8rem}
.audit-fix b{display:block;font-size:.88rem;margin-bottom:.3rem}
.audit-fix-tag{font-size:.52rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:#C8734A;padding:2px 6px;border-radius:3px;margin-left:.5rem;vertical-align:2px}
.audit-fix p{margin:0;font-size:.82rem;color:#8a8578;line-height:1.5}
.audit-cta-strip{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:2rem 2.2rem;border:1px solid #C9A84C40;border-radius:14px;background:linear-gradient(135deg,rgba(201,168,76,0.06),transparent)}
.audit-cta-strip p{margin:0;font-size:.9rem;max-width:40ch}
.audit-cta-strip p b{color:var(--lime)}
.audit-cta-link{background:0;color:var(--lime);border:1px solid var(--lime);border-radius:9px;padding:.75rem 1.4rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-decoration:none;white-space:nowrap;transition:background .25s,color .25s}
.audit-cta-link:hover{background:var(--lime);color:var(--ink)}
@media (max-width:1023px){
  .audit-intro{grid-template-columns:1fr}
  .audit-intro>p{max-width:100%}
  .audit-steps{grid-template-columns:repeat(2,1fr)}
  .audit-report-top{grid-template-columns:1fr;justify-items:center;text-align:center}
  .audit-verdict{justify-content:center}
  .audit-verdict-text{text-align:center}
  .audit-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .audit-steps{grid-template-columns:1fr}
  .audit-box form{grid-template-columns:1fr}
  .audit-grid{grid-template-columns:1fr}
  .audit-cta-strip{flex-direction:column;text-align:center}
  .audit h2{font-size:clamp(2.5rem,12vw,4rem)}
}

/* ---------- Footer ---------- */
footer{background:var(--ink);color:var(--paper);padding:5rem var(--pad) 2rem}
.footer-brand{font:950 clamp(4rem,13vw,13.5rem)/.9 var(--display);letter-spacing:-.02em}
.footer-brand small{font:700 clamp(.9rem,1.8vw,1.8rem)/1 var(--sans);letter-spacing:.62em;text-transform:uppercase;display:block;margin-top:.6rem}
.footer-grid{border-top:1px solid var(--darkline);letter-spacing:.12em;grid-template-columns:1fr auto;gap:4rem;margin-top:5rem;padding-top:1.5rem;font-size:.58rem;display:grid}
.footer-grid div{gap:1.5rem;display:flex}
.footer-grid a{text-decoration:none}
.footer-grid small{color:#5a5750;grid-column:1/-1}
.footer-legal{grid-column:1/-1;gap:1.5rem;color:#5a5750;margin-top:1rem;display:flex}
.footer-legal a{color:#5a5750;text-decoration:none}
.footer-legal a:hover{color:var(--paper)}

/* ---------- Scroll Reveal ---------- */
[data-reveal]{opacity:0;transform:translateY(70px)}

/* ---------- Responsive ---------- */
@media (max-width:1023px){
  .header nav,.talk-link{display:none}
  .header{grid-template-columns:1fr 1fr}
  .menu-button{display:block}
  .cursor{display:none}
  .services-head,.project,.project:nth-child(2n),.approach-title,.why-grid,.contact-grid{grid-template-columns:1fr}
  .meta-row{grid-template-columns:repeat(2,1fr)}
  .project:nth-child(2n) .project-visual{order:0}
  .project-copy{max-width:38rem}
  .service-list article{grid-template-columns:44px 1fr 30px}
  .service-list article p,.service-list article small{grid-column:2/-1}
  .approach-title{gap:4rem}
  .approach-title p{max-width:30rem;margin-left:auto}
  .promise-grid{grid-template-columns:repeat(2,1fr)}
  .footer-brand{font-size:13vw}
}
@media (max-width:640px){
  :root{--pad:1.15rem;--section:6rem}
  .header{height:70px}
  .hero{min-height:620px}
  .hero-content{padding-top:7rem}
  .eyebrow{font-size:.52rem}
  .hero h1{font-size:clamp(2.4rem,13vw,4.4rem);line-height:.95;letter-spacing:-.03em}
  .hero-line.last b{display:none}
  .hero-bottom{align-items:flex-end}
  .hero-bottom p{font-size:.78rem}
  .hero-bottom button{writing-mode:vertical-rl}
  .section-top span:last-child{display:none}
  .manifesto{margin-top:4rem}
  .meta-row{grid-template-columns:1fr 1fr;gap:1.5rem}
  .statement h2,.services h2,.why h2,.contact-grid h2{font-size:clamp(2rem,9vw,3.5rem);line-height:.95;letter-spacing:-.02em}
  .work>h2{margin:3rem 0 4rem;font-size:13vw;line-height:.95;letter-spacing:-.03em}
  .work-list{gap:5rem}
  .project-visual{height:80vw}
  .project-copy h3{font-size:10vw}
  .services-head{margin:4rem 0 5rem}
  .service-list article{gap:1rem;padding:1.5rem 0}
  .service-list article p{font-size:.88rem}
  .approach h2{font-size:13vw;max-width:100%;line-height:.95;letter-spacing:-.03em}
  .approach li{grid-template-columns:36px 1fr;gap:1rem}
  .approach li p{grid-column:2}
  .marquee{padding:1.4rem 0}
  .why-grid{gap:4rem}
  .promise h2{font-size:clamp(2rem,9vw,3.5rem);line-height:.95;letter-spacing:-.02em}
  .promise-grid{grid-template-columns:1fr}
  .cta{min-height:80svh}
  .cta h2{font-size:13vw;line-height:.95;letter-spacing:-.03em}
  .cta-button{width:145px}
  form{grid-template-columns:1fr}
  form .full,form button,form>small{grid-column:1}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .footer-grid div{flex-wrap:wrap}
  .footer-grid small{grid-column:1}
  .footer-brand{font-size:11vw;line-height:.95;letter-spacing:-.03em}
  .mobile-meta{flex-direction:column;gap:.75rem}
  .approach-title p{width:100%;margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  .preloader{display:none}
  .hero-line i{transform:none}
  .marquee>div{animation:none}
  .cursor{display:none}
  [data-reveal]{opacity:1!important;transform:none!important}
}
main{overflow:clip}
