/* Afterimage — typography, space, and a quiet monochrome palette. */
:root{color-scheme:dark;--bg:#0b0b0b;--text:#e8e8e8;--muted:#ababab;--rule:#292929;--wordmark:#686868;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-synthesis:none;font-weight:400;scroll-behavior:smooth;scroll-padding-top:3rem}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
::selection{background:#dedede;color:#0b0b0b}
a{color:inherit;text-decoration:none;text-underline-offset:.3em}
a:hover{text-decoration:underline;text-decoration-thickness:1px}
a:focus-visible{outline:2px solid var(--text);outline-offset:7px;border-radius:1px}
a span{display:inline-block;transition:transform .2s ease}
a:hover span{transform:translate(2px,-2px)}
p,h1,h2,h3{margin:0;font-weight:400}
.wrap{width:min(100% - 10.5vw,1480px);margin-inline:auto}
.skip-link{position:fixed;z-index:10;top:1rem;left:1rem;padding:1rem;background:var(--text);color:var(--bg);transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.site-header{display:flex;justify-content:space-between;align-items:center;padding-block:2rem}
.brand{font-size:clamp(1.5rem,2.1vw,2rem);letter-spacing:-.055em;line-height:1}
.site-header nav{display:flex;align-items:center;gap:2.8rem;font-size:1rem}
.site-header nav a{display:inline-flex;align-items:center;min-height:44px;line-height:1.2;padding-block:.6rem}
.hero{display:grid;grid-template-columns:42% 58%;padding-top:clamp(2rem,5vh,4.5rem)}
.hero-message{grid-column:2;grid-row:1;max-width:48rem}
h1{font-size:clamp(2.3rem,3.75vw,4.25rem);line-height:1.14;letter-spacing:-.043em;text-wrap:balance}
.hero-message p{max-width:35rem;font-size:clamp(1.1rem,1.55vw,1.5rem);line-height:1.55;letter-spacing:-.015em;color:var(--muted);margin-top:1.8rem}
.text-link{display:inline-flex;align-items:center;gap:.55em;padding-block:.65rem;font-size:1.2rem}
.hero-contact{margin-top:1.1rem}
.service-nav{grid-column:1;grid-row:1;display:flex;align-items:flex-start;flex-direction:column;padding-top:.35rem;gap:.45rem}
.eyebrow{font-size:.95rem;line-height:1.6;color:var(--muted);letter-spacing:-.01em}
.service-nav .eyebrow{margin-bottom:.5rem}
.service-nav a{font-size:clamp(1.1rem,1.5vw,1.45rem);padding-block:.5rem;letter-spacing:-.02em}
.service-nav a span{font-size:.8em;margin-left:.2em}
.wordmark{grid-column:1/-1;font-size:clamp(5rem,21vw,23rem);font-weight:500;letter-spacing:-.065em;line-height:.94;color:var(--wordmark);margin-top:2rem;margin-left:-.012em;user-select:none;padding-bottom:2rem}
.section{display:grid;grid-template-columns:42% 58%;border-top:1px solid var(--rule);padding-block:5.5rem}
.section>.eyebrow{padding-top:.55rem}
.section-body{max-width:43rem}
h2{font-size:clamp(2rem,3vw,3.25rem);line-height:1.16;letter-spacing:-.035em}
.section-body>p,.service p{font-size:1.15rem;line-height:1.7;color:var(--muted);letter-spacing:-.012em;max-width:37rem;margin-top:1.5rem}
.section-body>p+p{margin-top:1rem}
.service{scroll-margin-top:4rem}
.service+.service{margin-top:3rem;padding-top:3rem;border-top:1px solid var(--rule)}
.service h3{font-size:1.65rem;letter-spacing:-.025em}
.service p{margin-top:1rem}
.contact{padding-block:5.5rem 6.5rem}
.email-link{font-size:clamp(1.3rem,2vw,1.8rem);margin-top:1.65rem;letter-spacing:-.02em;text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:#707070}
.email-link:hover{text-decoration-color:var(--text)}
.site-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);padding-block:1.8rem;color:var(--muted);font-size:.875rem;gap:1rem}
.site-footer a{padding-block:.5rem}
@media(min-width:1800px){.wordmark{font-size:23rem}}
@media(max-width:760px){
 :root{scroll-padding-top:2rem}
 .wrap{width:calc(100% - 3rem)}
 .site-header{padding-block:1.8rem}
 .site-header nav{gap:1.5rem;font-size:.95rem}
 .hero{grid-template-columns:1fr;padding-top:3.4rem}
 .hero-message{grid-column:1;grid-row:1}
 h1{font-size:clamp(2.15rem,6.9vw,3.3rem);line-height:1.16;letter-spacing:-.045em}
 .hero-message p{font-size:1.125rem;max-width:29rem;margin-top:1.3rem}
 .hero-contact{margin-top:1rem}
 .service-nav{grid-column:1;grid-row:2;margin-top:3rem;gap:.2rem}
 .service-nav a{font-size:1.1rem}
 .wordmark{grid-row:3;font-size:23vw;letter-spacing:-.067em;margin-top:3rem;padding-bottom:3rem}
 .section{grid-template-columns:1fr;padding-block:3rem;gap:1.8rem}
 .section>.eyebrow{padding-top:0}
 .section-body>p,.service p{font-size:1.0625rem;line-height:1.65}
 .service+.service{margin-top:2rem;padding-top:2rem}
 .contact{padding-bottom:4rem}
 .site-footer{flex-wrap:wrap;gap:.4rem 1rem;font-size:.8125rem;padding-block:1.5rem}
 .site-footer a{margin-left:auto}
}
@media(max-width:360px){.wrap{width:calc(100% - 2rem)}.site-header nav{gap:1rem}.site-footer span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}a span{transition:none}}
