:root{--slate:#3b4a5a;--slate-deep:#2c3845;--bronze:#8a6a3b;--bronze-light:#c9a36a;--bone:#ece6d6;--stone:#eae4d4;--white:#fff;--ink:#111;--paper:#f4f1ea;--muted:#6b6b6b;--rule:#d9d4c7;--font-display:"Fraunces", Georgia, serif;--font-body:"Inter Tight", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--tracking-label:.3em;--tracking-button:.14em;--tracking-small:.12em;--content-width:1120px;--measure:62ch;--space-section:clamp(4rem, 10vw, 7rem)}*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,ul{margin:0}img,svg{max-width:100%;display:block}html{scroll-padding-top:2rem}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.6}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;color:var(--slate);font-weight:400;line-height:1.1}h1{font-size:clamp(2.5rem,1.2rem + 5.2vw,4.5rem)}h2{font-size:clamp(1.75rem,1.3rem + 1.8vw,2.5rem)}h3{font-size:1.375rem}a{color:inherit}:focus-visible{outline:2px solid var(--slate);outline-offset:2px}.reverse :focus-visible{outline-color:var(--bone)}::selection{background:var(--slate);color:var(--bone)}.apos{color:var(--bronze);font-style:normal}.reverse .apos{color:var(--bronze-light)}.kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--slate);font-size:.6875rem;font-weight:500}.btn{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-button);white-space:nowrap;border:1px solid var(--slate);border-radius:2px;padding:.875rem 1.375rem;font-size:.6875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-block}.btn-solid{background:var(--slate);color:var(--bone)}.btn-solid:hover{background:var(--slate-deep);border-color:var(--slate-deep)}.btn-ghost{color:var(--slate);background:0 0}.btn-ghost:hover{background:var(--slate);color:var(--bone)}.wrap{max-width:var(--content-width);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}.skip-link{z-index:10;background:var(--slate);color:var(--bone);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-small);border-radius:2px;padding:.75rem 1rem;font-size:.6875rem;text-decoration:none;position:absolute;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.mark .pane{stroke:var(--bronze)}.reverse .mark .pane{stroke:var(--bronze-light)}.site-header{background:var(--stone);color:var(--slate)}.site-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem;display:flex}.lockup{align-items:center;gap:.75rem;text-decoration:none;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-.02em;color:var(--slate);font-size:1.5rem;font-weight:400}.hero{background:var(--stone);padding-block:var(--space-section)}.hero h1{max-width:18ch;margin-block:1.25rem 1.5rem}.lede{max-width:52ch;font-size:clamp(1.0625rem,1rem + .5vw,1.25rem);font-weight:300}.cta-row{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.services,.about,.contact{border-top:1px solid var(--rule);padding-block:var(--space-section)}.services h2,.about h2,.contact h2{margin-block:.75rem 0}.services{background:var(--paper)}.cards{grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1.25rem;margin-top:2.5rem;display:grid}.card{background:var(--white);border:1px solid var(--rule);border-radius:2px;padding:1.75rem}.card-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-small);color:var(--slate);font-size:.6875rem;font-weight:500}.card-num{color:var(--bronze)}.card h3{margin-block:.875rem .75rem}.card p:last-child{color:var(--ink)}.about{background:var(--stone)}.about-grid{grid-template-columns:1fr 1.4fr;gap:clamp(1.5rem,5vw,4rem);display:grid}.about h2{max-width:14ch}.about-body{max-width:var(--measure)}.points{gap:.625rem;margin-top:1.75rem;padding:0;list-style:none;display:grid}.points li{padding-left:1.5rem;position:relative}.points li:before{content:"";background:var(--bronze);width:.875rem;height:1px;position:absolute;top:.7em;left:0}@media (width<=44rem){.about-grid{grid-template-columns:1fr}}.contact{background:var(--paper)}.contact-tel{margin-top:2rem}.contact-tel a{font-family:var(--font-display);letter-spacing:-.02em;color:var(--slate);font-size:clamp(2rem,1.2rem + 3.5vw,3.5rem);line-height:1.1;text-decoration:none}.contact-tel a:hover{color:var(--slate-deep);text-decoration:underline;-webkit-text-decoration-color:var(--bronze);text-decoration-color:var(--bronze);text-underline-offset:.15em;text-decoration-thickness:2px}.contact-meta{overflow-wrap:anywhere;gap:.375rem;margin-top:1.75rem;font-size:.9375rem;display:grid}.contact-meta a{color:var(--slate)}.contact-area{color:var(--muted)}.site-footer{background:var(--slate-deep);color:var(--bone);padding-block:3.5rem}.footer-grid{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.footer-lockup{align-items:flex-start;gap:1.125rem;display:flex}.footer-wordmark{color:var(--bone);margin-bottom:.625rem}.footer-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--bone);font-size:.625rem;font-weight:400;line-height:1.9}.footer-meta{text-align:right}.footer-tel{font-family:var(--font-mono);letter-spacing:var(--tracking-small);color:var(--bone);font-size:.8125rem;font-weight:500;text-decoration:none}.footer-tel:hover{text-decoration:underline;-webkit-text-decoration-color:var(--bronze-light);text-decoration-color:var(--bronze-light)}.footer-copy{color:var(--bronze-light);margin-top:.75rem;font-size:.8125rem}@media (width<=44rem){.footer-meta{text-align:left}}.error-page{background:var(--stone);color:var(--slate);place-items:center;min-height:100svh;display:grid}.error-main{justify-items:start;gap:1.25rem;max-width:34rem;padding:clamp(1.25rem,4vw,3rem);display:grid}.error-main h1{font-size:clamp(2.25rem,1.5rem + 3vw,3.5rem)}.error-main .btn{margin-top:.5rem}.error-main .lede{color:var(--ink)}
