@font-face{font-family:'Newsreader';font-style:normal;font-weight:300;font-display:swap;src:url(/assets/fonts/newsreader-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:300;font-display:swap;src:url(/assets/fonts/newsreader-latin-300-italic.woff2) format('woff2')}
:root{--serif:'Newsreader',Georgia,serif}
#grain{animation:none!important;transform:none!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:auto!important;height:auto!important;opacity:.04}
.hero-hl,.lead,.pull-headline,#offer h2,#contact h2,.svc-title,.cta-lead{font-weight:300;letter-spacing:-.012em}
.hero-hl{font-size:clamp(2.6rem,5.6vw,5.8rem);line-height:1.06}
.lead{font-size:clamp(1.8rem,3vw,3rem);line-height:1.18}
.pull-headline{font-size:clamp(1.8rem,3.3vw,3.3rem)}
#offer h2{font-size:clamp(2.3rem,4.8vw,4.8rem)}
#contact h2{font-size:clamp(2.4rem,5vw,5rem)}
.svc-title{font-size:1.9rem}
.ghost-word{bottom:-.16em;font-size:clamp(7rem,22vw,22rem);opacity:.05;font-weight:300}
.ghost-word .g-sid{filter:none;animation:none;position:relative;display:inline-block}
.ghost-word .g-sid::before,.ghost-word .g-sid::after{content:attr(data-t);position:absolute;left:0;top:0;opacity:0}
.ghost-word .g-sid::before{animation:ea 7s steps(1) infinite}.ghost-word .g-sid::after{animation:eb 7s steps(1) infinite}
@keyframes ea{0%,8%,100%{opacity:0}1%{opacity:1;transform:translate(-.03em,0);clip-path:inset(15% 0 60% 0)}3%{opacity:1;transform:translate(.025em,0);clip-path:inset(45% 0 35% 0)}5%{opacity:1;transform:translate(-.015em,0);clip-path:inset(72% 0 8% 0)}}
@keyframes eb{0%,9%,100%{opacity:0}2%{opacity:1;transform:translate(.03em,0);clip-path:inset(30% 0 48% 0)}4%{opacity:1;transform:translate(-.025em,0);clip-path:inset(58% 0 22% 0)}6%{opacity:1;transform:translate(.012em,0);clip-path:inset(5% 0 80% 0)}}
.page-hero{min-height:82vh}.page-hero .hero-hl{font-size:clamp(2.4rem,4.7vw,4.9rem)}
.viz{margin:0 0 0 auto;max-width:540px;width:100%;border:1px solid var(--w10);background:rgba(255,255,255,.025)}
.vz-h{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.2rem;border-bottom:1px solid var(--w10);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--w55)}
.vz-h i{font-style:normal;opacity:.7}.vz-b{padding:1.2rem}
.you{animation:you 9s cubic-bezier(.5,0,.2,1) infinite}
@keyframes you{0%{transform:translate(0,0);opacity:0}6%,10%{transform:translate(0,0);opacity:1}52%,88%{transform:translate(225px,-146px);opacity:1}95%,100%{transform:translate(225px,-146px);opacity:0}}
.trail{animation:trail 9s cubic-bezier(.5,0,.2,1) infinite}
@keyframes trail{0%,10%{stroke-dashoffset:268;opacity:1}52%,88%{stroke-dashoffset:0;opacity:1}95%,100%{stroke-dashoffset:0;opacity:0}}
.gap{animation:gapp 9s linear infinite}@keyframes gapp{0%,50%{stroke-opacity:.35}58%,88%{stroke-opacity:1}96%,100%{stroke-opacity:.35}}
.flow,.audit{list-style:none;margin:0;padding:0}
.flow li{position:relative;display:grid;grid-template-columns:18px 1fr auto;gap:1rem;align-items:center;padding:.95rem 1.1rem;border:1px solid var(--w10);margin-bottom:.9rem}
.flow li:last-child{margin-bottom:0}.flow li:last-child::after{display:none}
.flow li::after{content:'';position:absolute;left:calc(1.1rem + 8px);top:100%;width:1px;height:.9rem;background:var(--w25)}
.flow b{width:16px;height:16px;border-radius:50%;border:1px solid var(--w25);display:block}
.flow h4{margin:0;font-family:var(--serif);font-weight:300;font-size:1.3rem;line-height:1.2}
.flow p{margin:.15rem 0 0;font-size:.82rem;color:var(--w55)}
.flow em{font-style:normal;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--w55)}
.audit li{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem;border:1px solid var(--w10);margin-bottom:.7rem}
.audit li span:first-child{font-family:var(--serif);font-weight:300;font-size:1.3rem}
.chip{position:relative;width:5rem;height:1.6rem;display:block}
.chip i{position:absolute;right:0;top:0;font-style:normal;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;padding:.3rem .6rem;border:1px solid var(--w25);opacity:0}
.chip .cw{border-color:transparent;color:var(--w55)}.chip .cb{border-style:dashed;border-color:#fff}.chip .cf{background:#fff;color:#000;border-color:#fff}
.sum{margin:1rem 0 0;font-size:.82rem;color:var(--w55);opacity:0}
.bb{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;grid-template-rows:150px 120px 100px;gap:.8rem}
.bb>div{position:relative;border:1px solid var(--w10);padding:.9rem 1rem;overflow:hidden;animation:hl 9s linear infinite;animation-delay:calc(var(--i)*1.5s)}
@keyframes hl{0%,100%{border-color:var(--w10)}6%,16%{border-color:var(--w55)}22%{border-color:var(--w10)}}
.bb small{position:absolute;left:1rem;bottom:.7rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--w55)}
.t1{grid-column:1/3}.t2{grid-column:3;grid-row:1/3}.t3{grid-column:1;grid-row:2}.t4{grid-column:2;grid-row:2}.t5{grid-column:1/4;grid-row:3}
.viz .mk{position:absolute;left:50%;top:42%;width:44px;height:44px;transform:translate(-50%,-50%)}
.aa{font-family:var(--serif);font-size:4.6rem;line-height:1;font-weight:300;display:block}
.av{width:22px;height:22px;border-radius:50%;border:1px solid var(--w55);margin-bottom:.8rem}.sq{margin-top:.8rem;height:70px;border:1px solid var(--w25)}
.ln{height:6px;background:var(--w25);margin:.45rem 0}.w80{width:80%}.w60{width:60%}.w40{width:40%}
.sw{display:flex;gap:.4rem;height:55%}.sw i{flex:1;border:1px solid var(--w25)}.sw i:nth-child(1){background:#000}.sw i:nth-child(2){background:rgba(255,255,255,.25)}.sw i:nth-child(3){background:rgba(255,255,255,.6)}.sw i:nth-child(4){background:#fff}
.ad{display:flex;justify-content:space-between;align-items:center;gap:1rem}.ad>div{flex:1}.ad span{border:1px solid #fff;padding:.4rem .9rem;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:900px){.page-hero{min-height:0}.viz{margin:0 auto;max-width:520px}}
@media(max-width:640px){.hero-hl{font-size:clamp(2.3rem,10.5vw,3.4rem)}.svc-title{font-size:1.7rem}.vz-b{padding:.9rem}.flow li{padding:.8rem .9rem}.flow h4,.audit li span:first-child{font-size:1.15rem}.bb{grid-template-rows:130px 110px 90px}.aa{font-size:3.8rem}}
body{overflow-x:clip}footer{flex-wrap:wrap;gap:1.4rem}.f-links{flex-wrap:wrap;gap:.7rem 1.4rem;max-width:100%}
@media(max-width:900px){footer{flex-direction:column;align-items:flex-start}.f-links{width:100%}}
@media(prefers-reduced-motion:reduce){.viz *,.ghost-word *{animation:none!important}.you{opacity:1;transform:translate(225px,-146px)}.trail{stroke-dashoffset:0}.gap{stroke-opacity:1}.audit .co,.audit .cf,.sum{opacity:1}.flow b{background:#fff}}
@keyframes fa0{0%,9%{border-color:var(--w10);background:transparent}10%,24%{border-color:#fff;background:rgba(255,255,255,.07)}28%,92%{border-color:var(--w25);background:transparent}96%,100%{border-color:var(--w10);background:transparent}}
@keyframes fb0{0%,10%{background:transparent;border-color:var(--w25)}14%,92%{background:#fff;border-color:#fff}96%,100%{background:transparent;border-color:var(--w25)}}
.flow li:nth-child(1){animation:fa0 9s linear infinite}.flow li:nth-child(1) b{animation:fb0 9s linear infinite}
@keyframes fa1{0%,27%{border-color:var(--w10);background:transparent}28%,42%{border-color:#fff;background:rgba(255,255,255,.07)}46%,92%{border-color:var(--w25);background:transparent}96%,100%{border-color:var(--w10);background:transparent}}
@keyframes fb1{0%,28%{background:transparent;border-color:var(--w25)}32%,92%{background:#fff;border-color:#fff}96%,100%{background:transparent;border-color:var(--w25)}}
.flow li:nth-child(2){animation:fa1 9s linear infinite}.flow li:nth-child(2) b{animation:fb1 9s linear infinite}
@keyframes fa2{0%,45%{border-color:var(--w10);background:transparent}46%,60%{border-color:#fff;background:rgba(255,255,255,.07)}64%,92%{border-color:var(--w25);background:transparent}96%,100%{border-color:var(--w10);background:transparent}}
@keyframes fb2{0%,46%{background:transparent;border-color:var(--w25)}50%,92%{background:#fff;border-color:#fff}96%,100%{background:transparent;border-color:var(--w25)}}
.flow li:nth-child(3){animation:fa2 9s linear infinite}.flow li:nth-child(3) b{animation:fb2 9s linear infinite}
@keyframes fa3{0%,63%{border-color:var(--w10);background:transparent}64%,78%{border-color:#fff;background:rgba(255,255,255,.07)}82%,92%{border-color:var(--w25);background:transparent}96%,100%{border-color:var(--w10);background:transparent}}
@keyframes fb3{0%,64%{background:transparent;border-color:var(--w25)}68%,92%{background:#fff;border-color:#fff}96%,100%{background:transparent;border-color:var(--w25)}}
.flow li:nth-child(4){animation:fa3 9s linear infinite}.flow li:nth-child(4) b{animation:fb3 9s linear infinite}
@keyframes ra0{0%,7%{background:transparent;border-color:var(--w10)}8%,18%{background:rgba(255,255,255,.07);border-color:#fff}20%,100%{background:transparent;border-color:var(--w10)}}
@keyframes v0_160{0%,16%{opacity:1}16.1%,100%{opacity:0}}
.audit li:nth-child(1){animation:ra0 10s linear infinite}.audit li:nth-child(1) .cw{animation:v0_160 10s linear infinite}
@keyframes v160_940{0%,15.9%{opacity:0}16%,94%{opacity:1}94.1%,100%{opacity:0}}
.audit li:nth-child(1) .co{animation:v160_940 10s linear infinite}
@keyframes ra1{0%,20%{background:transparent;border-color:var(--w10)}21%,31%{background:rgba(255,255,255,.07);border-color:#fff}33%,100%{background:transparent;border-color:var(--w10)}}
@keyframes v0_290{0%,29%{opacity:1}29.1%,100%{opacity:0}}
.audit li:nth-child(2){animation:ra1 10s linear infinite}.audit li:nth-child(2) .cw{animation:v0_290 10s linear infinite}
@keyframes v290_940{0%,28.9%{opacity:0}29%,94%{opacity:1}94.1%,100%{opacity:0}}
.audit li:nth-child(2) .co{animation:v290_940 10s linear infinite}
@keyframes ra2{0%,33%{background:transparent;border-color:var(--w10)}34%,44%{background:rgba(255,255,255,.07);border-color:#fff}46%,100%{background:transparent;border-color:var(--w10)}}
@keyframes v0_420{0%,42%{opacity:1}42.1%,100%{opacity:0}}
.audit li:nth-child(3){animation:ra2 10s linear infinite}.audit li:nth-child(3) .cw{animation:v0_420 10s linear infinite}
@keyframes v420_940{0%,41.9%{opacity:0}42%,94%{opacity:1}94.1%,100%{opacity:0}}
.audit li:nth-child(3) .co{animation:v420_940 10s linear infinite}
@keyframes ra3{0%,46%{background:transparent;border-color:var(--w10)}47%,57%{background:rgba(255,255,255,.07);border-color:#fff}59%,100%{background:transparent;border-color:var(--w10)}}
@keyframes v0_550{0%,55%{opacity:1}55.1%,100%{opacity:0}}
.audit li:nth-child(4){animation:ra3 10s linear infinite}.audit li:nth-child(4) .cw{animation:v0_550 10s linear infinite}
@keyframes v550_780{0%,54.9%{opacity:0}55%,78%{opacity:1}78.1%,100%{opacity:0}}
@keyframes v780_940{0%,77.9%{opacity:0}78%,94%{opacity:1}94.1%,100%{opacity:0}}
.audit li:nth-child(4) .cb{animation:v550_780 10s linear infinite}.audit li:nth-child(4) .cf{animation:v780_940 10s linear infinite}
@keyframes ra4{0%,59%{background:transparent;border-color:var(--w10)}60%,70%{background:rgba(255,255,255,.07);border-color:#fff}72%,100%{background:transparent;border-color:var(--w10)}}
@keyframes v0_680{0%,68%{opacity:1}68.1%,100%{opacity:0}}
.audit li:nth-child(5){animation:ra4 10s linear infinite}.audit li:nth-child(5) .cw{animation:v0_680 10s linear infinite}
@keyframes v680_940{0%,67.9%{opacity:0}68%,94%{opacity:1}94.1%,100%{opacity:0}}
.audit li:nth-child(5) .co{animation:v680_940 10s linear infinite}
@keyframes v800_940{0%,79.9%{opacity:0}80%,94%{opacity:1}94.1%,100%{opacity:0}}
.audit .sum{animation:v800_940 10s linear infinite}
.legal-hero{padding:10rem 4rem 2rem}
.legal-hero .hero-hl{font-size:clamp(2.4rem,4.6vw,4.6rem);margin:1rem 0}
.legal-hero .sub{color:var(--w55);font-size:1rem;margin:0}
.legal{padding-top:2rem}.legal-body{max-width:760px}
.legal-body .intro{font-family:var(--serif);font-size:1.45rem;line-height:1.5;font-weight:300;color:#fff;margin:0 0 1rem}
.legal-body h2{font-family:var(--serif);font-weight:300;font-size:1.7rem;margin:2.8rem 0 .8rem;scroll-margin-top:6rem}
.legal-body p,.legal-body li{font-size:1rem;line-height:1.85;color:var(--w55);margin:0 0 1rem}
.legal-body ul{padding-left:1.2rem;margin:0 0 1rem}.legal-body strong{color:#fff;font-weight:500}
.ulink{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--w25)}.ulink:hover{text-decoration-color:#fff}
.socials{border-top:1px solid var(--w10);padding:3.2rem 4rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.socials .s-label{margin:0}
.soc{display:inline-flex;align-items:center;gap:1rem;color:#fff;text-decoration:none;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2.2rem);font-weight:300}
.soc svg{width:26px;height:26px}.soc i{font-style:normal;font-size:1.1rem;opacity:.6;transition:transform .25s,opacity .25s}.soc:hover i{transform:translate(3px,-3px);opacity:1}
.f-legal{display:inline-flex;gap:1.2rem;margin-left:1.4rem}.f-legal a{color:inherit;text-decoration:none;opacity:.8}.f-legal a:hover{opacity:1;text-decoration:underline}
#contact .form-note{font-size:.82rem;line-height:1.6;color:var(--w55);text-align:center;margin:1.4rem auto 0;max-width:430px}
@media(max-width:900px){.legal-hero{padding:8rem 1.5rem 1.5rem}.socials{padding:2.4rem 1.5rem;flex-direction:column;align-items:flex-start;gap:1rem}.f-legal{margin:.5rem 0 0;display:flex}}
@media(min-width:1440px){.legal-hero,.socials{padding-left:max(4rem,calc((100vw - 1440px)/2 + 4rem));padding-right:max(4rem,calc((100vw - 1440px)/2 + 4rem))}}
.socials{justify-content:center;padding:2.6rem 1.5rem}
.soc{width:54px;height:54px;border:1px solid var(--w25);border-radius:50%;justify-content:center;gap:0;transition:background .25s,color .25s,border-color .25s}
.soc svg{width:22px;height:22px}.soc:hover{background:#fff;color:#000;border-color:#fff}
.hero-eyebrow.slogan,.cta-pre.slogan{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.6rem,2.4vw,2.2rem);letter-spacing:0;text-transform:none;color:#fff}
@media(max-width:900px){.socials{align-items:center}}
#contact .cta-pre.slogan{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(1.8rem,2.6vw,2.4rem);letter-spacing:0;text-transform:none;color:#fff;margin:0 0 1.6rem}
/* Typography: Gucci-style. --serif now means the heading sans (Jost); --accent is the serif kept for signature moments */
@font-face{font-family:'Jost';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/jost-latin-wght-normal.woff2) format('woff2')}
:root{--sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;--serif:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;--accent:'Newsreader',Georgia,serif}
body{font-family:var(--sans);font-weight:400;letter-spacing:.01em}
.hero-hl,.lead,.pull-headline,#offer h2,#contact h2,.svc-title,.cta-lead,.legal-body h2,.legal-body .intro{font-weight:300;letter-spacing:-.015em}
.hero-hl em,.lead em,#offer h2 em,#contact h2 em,.pull-headline,.pull-headline span,.cta-lead,.svc-num,#form-success h3{font-style:normal}
.hero-hl{font-size:clamp(2.4rem,5vw,5.2rem);line-height:1.06}
.page-hero .hero-hl{font-size:clamp(2.2rem,4.2vw,4.4rem)}
.legal-hero .hero-hl{font-size:clamp(2.2rem,4.2vw,4.2rem)}
.lead{font-size:clamp(1.7rem,2.7vw,2.7rem);line-height:1.2}
.pull-headline{font-size:clamp(1.7rem,3vw,3rem)}
#offer h2{font-size:clamp(2.1rem,4.4vw,4.4rem)}
#contact h2{font-size:clamp(2.2rem,4.6vw,4.6rem)}
.svc-title{font-size:1.7rem}.svc-num{font-size:.8rem;letter-spacing:.18em}
.cta-lead{font-size:clamp(1.15rem,1.8vw,1.5rem);line-height:1.5}
.legal-body .intro{font-size:1.3rem}.legal-body h2{font-size:1.5rem}
.flow h4,.audit li span:first-child{font-size:1.15rem}.aa{font-size:4rem}
.hero-eyebrow.slogan,.cta-pre.slogan,#contact .cta-pre.slogan,.ghost-word,.hero-ghost{font-family:var(--accent)}
.hero-eyebrow.slogan,.cta-pre.slogan,#contact .cta-pre.slogan{font-style:italic}
.socials{justify-content:flex-end}
@media(max-width:900px){.socials{align-items:flex-end}}
#grain{display:none!important}
.hero-sub{font-size:1.18rem}.copy p{font-size:1.12rem}.svc-desc{font-size:1.08rem}#contact p{font-size:1.1rem}
.legal-body p,.legal-body li{font-size:1.08rem}.page-hero .sub{font-size:1.2rem}
.flow p{font-size:.9rem}#contact .form-note{font-size:.88rem}.form-field input,.form-field textarea{font-size:1.05rem}
@media(max-width:640px){.hero-hl{font-size:clamp(2.2rem,10vw,3.2rem)}.svc-title{font-size:1.55rem}}
/* Accent: deeper crimson. One job: the primary action, plus black-hole haze, focus and selection. */
:root{--cr:#b3122e;--cr-hi:#c8102e;--cr-d:#9b111e}
.btn:not(.btn-outline){background:transparent;border-color:rgba(255,255,255,.7);color:#fff}

.btn:disabled{opacity:.6;cursor:not-allowed}
.form-field input:focus,.form-field textarea:focus{border-bottom-color:var(--cr-hi)}
#progress{background:var(--cr)}
::selection{background:var(--cr);color:#fff}
:focus-visible{outline:2px solid var(--cr-hi);outline-offset:4px}

html{background:#000}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:1rem;top:-5rem;z-index:2000;background:#fff;color:#000;padding:.8rem 1.2rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:top .2s}.skip:focus{top:1rem}
.nav-links a{white-space:nowrap}
@media(max-width:1000px){.nav-links{display:none}.hamburger{display:flex}}
#form-success:focus{outline:none}

/* Buttons: clear outline at rest; dark crimson glass on hover, keyboard focus and press */
.btn,.nav-links li:last-child a,.soc{transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,color .35s ease}
@media (hover:none){.btn:hover{background:transparent}.btn:not(.btn-outline):hover{color:#fff}.btn-outline:hover{color:var(--w55)}.nav-links li:last-child a:hover,.soc:hover{background:transparent;color:#fff}}
.btn:focus-visible,.nav-links li:last-child a:focus-visible,.soc:focus-visible{background:rgba(150,14,34,.34);border-color:rgba(255,255,255,.55);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.35),0 0 26px rgba(179,18,46,.28)}
@media (hover:hover){.btn:hover,.nav-links li:last-child a:hover,.soc:hover{background:rgba(150,14,34,.34);border-color:rgba(255,255,255,.55);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.35),0 0 26px rgba(179,18,46,.28)}}
.btn:active,.nav-links li:last-child a:active,.soc:active{background:rgba(170,16,40,.5);border-color:rgba(255,255,255,.6);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 30px rgba(179,18,46,.4)}
.btn:disabled,.btn:disabled:hover{background:transparent;box-shadow:none;opacity:.6}
