:root{--ink:#4a4e54;--ink-dark:#2f3236;--muted:#6b6f74;--line:#e4e4e2;--bg:#fff;--bg-subtle:#f6f6f5;--max:68rem;--header-h:4.5rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{color:var(--ink);background:var(--bg);flex-direction:column;min-height:100vh;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:1.05rem;line-height:1.65;display:flex}img{max-width:100%;height:auto;display:block}a{color:var(--ink-dark);text-underline-offset:.18em}a:hover{color:var(--ink)}.skip-link{background:var(--ink-dark);color:#fff;z-index:100;padding:.5rem .75rem;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.wrap{width:min(100% - 2.5rem, var(--max));margin-inline:auto}header.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.header-inner{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.brand{color:var(--ink-dark);align-items:center;gap:.85rem;text-decoration:none;display:flex}.brand img{width:auto;height:2.35rem}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text strong{letter-spacing:.02em;font-weight:650}.brand-text span{color:var(--muted);font-size:.78rem}.nav-toggle{opacity:0;pointer-events:none;position:absolute}.nav-toggle-label{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);padding:.4rem .7rem;font-size:.85rem;display:none}nav.primary{gap:1.6rem;display:flex}nav.primary a{color:var(--ink);font-size:.95rem;text-decoration:none}nav.primary a[aria-current=page]{color:var(--ink-dark);text-decoration:underline}main{flex:1}.hero{text-align:center;padding:4.5rem 0 3.5rem}.hero .lockup{width:min(22rem,100%);margin:0 auto 2rem}.hero h1{color:var(--ink-dark);letter-spacing:-.02em;margin:0 0 .85rem;font-size:clamp(1.6rem,3vw,2.15rem);font-weight:600;line-height:1.25}.lede{max-width:38rem;color:var(--muted);margin:0 auto;font-size:1.12rem}.section{padding:3rem 0}.section-muted{background:var(--bg-subtle);border-block:1px solid var(--line)}.section h1,.section h2,.page-title{color:var(--ink-dark);letter-spacing:-.02em;font-weight:650}.page-title{margin:0 0 1rem;font-size:clamp(1.7rem,3vw,2.2rem)}.kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 .6rem;font-size:.75rem}.cards{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem;display:grid}.card{border:1px solid var(--line);background:var(--bg);padding:1.5rem 1.4rem 1.35rem}.card h2,.card h3{color:var(--ink-dark);margin:0 0 .6rem;font-size:1.15rem}.card p{color:var(--muted);margin:0;font-size:.98rem}.cta-row{flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:2.25rem;display:flex}.btn{border:1px solid var(--ink-dark);color:#fff;background:var(--ink-dark);padding:.7rem 1.2rem;font-size:.95rem;text-decoration:none;display:inline-block}.btn:hover{background:var(--ink);color:#fff}.btn-ghost{color:var(--ink-dark);background:0 0}.btn-ghost:hover{background:var(--bg-subtle);color:var(--ink-dark)}.prose{max-width:42rem}.prose p{color:var(--ink);margin:0 0 1rem}.prose h2{margin:2rem 0 .7rem;font-size:1.25rem}.service-block{border-bottom:1px solid var(--line);padding:1.75rem 0}.service-block:last-child{border-bottom:0}.service-block h2{margin:0 0 .6rem;font-size:1.3rem}.service-block p{max-width:42rem;color:var(--muted);margin:0}.contact-grid{grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem;display:grid}.contact-card{border:1px solid var(--line);background:var(--bg);padding:1.5rem}.contact-card h2{margin:0 0 .75rem;font-size:1.05rem}.contact-card p,.contact-card address{color:var(--muted);margin:0;font-style:normal}footer.site-footer{border-top:1px solid var(--line);background:var(--bg-subtle);color:var(--muted);margin-top:auto;padding:2.25rem 0;font-size:.92rem}.footer-inner{gap:.45rem;display:grid}.footer-inner strong{color:var(--ink-dark);font-weight:650}.footer-links{gap:1.25rem;margin-top:.6rem;display:flex}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover{text-decoration:underline}@media (width<=800px){.cards,.contact-grid{grid-template-columns:1fr}.nav-toggle-label{display:inline-block}nav.primary{left:0;right:0;top:var(--header-h);background:var(--bg);border-bottom:1px solid var(--line);z-index:10;flex-direction:column;gap:.85rem;padding:.75rem 1.25rem 1rem;display:none;position:absolute}header.site-header{position:relative}.nav-toggle:checked~nav.primary{display:flex}}
