*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;font-family:var(--typography-body, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);font-size:1rem;line-height:1.65;color:var(--color-base-ink, #111827);background-color:var(--color-base-paper, #ffffff);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--typography-display, Georgia, "Times New Roman", serif);line-height:1.15;font-weight:700;letter-spacing:-.01em;text-wrap:balance}p{text-wrap:pretty}a{color:var(--color-brand-primary, #475569);text-decoration-thickness:.08em;text-underline-offset:.15em}a:hover{color:var(--color-brand-secondary, #94a3b8)}ul,ol{padding-inline-start:1.25rem}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--color-brand-primary, #475569);outline-offset:2px}::selection{background:var(--color-brand-primary, #475569);color:var(--color-base-paper, #ffffff)}.container{width:100%;max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.section{padding-block:clamp(3.5rem,8vw,6.5rem)}.section--tinted{background-color:#f8fafc}.section-title{font-size:clamp(1.75rem,1.25rem + 2vw,2.5rem);margin-bottom:.75rem}.section-lede{max-width:48rem;margin-bottom:2.5rem;font-size:clamp(1.05rem,1rem + .25vw,1.2rem)}.site-header{position:sticky;top:0;z-index:20;background-color:var(--color-base-paper, #ffffff);border-bottom:1px solid rgba(17,24,39,.08)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem}.brand{font-family:var(--typography-display, Georgia, "Times New Roman", serif);font-size:1.15rem;font-weight:700;color:var(--color-base-ink, #111827);text-decoration:none}.nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;align-items:center}.nav-link{font-size:.95rem;color:var(--color-base-ink, #111827);text-decoration:none;padding-block:.25rem}.nav-link:hover{color:var(--color-brand-primary, #475569)}.btn{display:inline-block;padding:.7rem 1.4rem;border-radius:.375rem;border:1px solid transparent;font-weight:600;font-size:.98rem;line-height:1.4;text-decoration:none;cursor:pointer;transition:opacity var(--duration-fast, .15s) ease}.btn:hover{opacity:.85}.btn--primary{background-color:var(--color-brand-primary, #475569);color:var(--color-base-paper, #ffffff)}.btn--outline{background-color:transparent;border-color:var(--color-brand-primary, #475569);color:var(--color-brand-primary, #475569)}.hero{padding-block:clamp(4rem,11vh,7.5rem)}.hero-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:600;color:var(--color-brand-secondary, #94a3b8);margin-bottom:1.25rem}.hero-title{font-size:clamp(2.1rem,1.3rem + 3.6vw,3.6rem);max-width:22ch;margin-bottom:1.25rem}.hero-lede{max-width:46rem;font-size:clamp(1.05rem,1rem + .3vw,1.25rem);margin-bottom:2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.services-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.5rem}.service-card{border:1px solid rgba(17,24,39,.08);border-radius:.5rem;padding:1.75rem;background-color:var(--color-base-paper, #ffffff);box-shadow:var(--shadow-card, 0 1px 3px rgba(0, 0, 0, .12));transition:transform var(--duration-fast, .15s) ease,box-shadow var(--duration-fast, .15s) ease}.service-card:hover{transform:translateY(-2px)}.service-card h3{font-size:1.2rem;margin-bottom:.5rem}.service-card p{font-size:.95rem}.cta-band{background-color:var(--color-brand-primary, #475569);color:var(--color-base-paper, #ffffff);padding-block:clamp(3rem,7vw,5rem);text-align:center}.cta-band .btn--primary{background-color:var(--color-base-paper, #ffffff);color:var(--color-brand-primary, #475569)}.cta-band .btn--outline{border-color:var(--color-base-paper, #ffffff);color:var(--color-base-paper, #ffffff)}.contact-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:1.5rem}.site-footer{border-top:1px solid rgba(17,24,39,.08);padding-block:2.5rem;font-size:.9rem}.footer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.footer-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:1.25rem}.prose{max-width:46rem}.prose h2{font-size:1.4rem;margin-top:2.5rem;margin-bottom:.75rem}.prose h3{font-size:1.1rem;margin-top:1.75rem;margin-bottom:.5rem}.prose p,.prose li{margin-bottom:.9rem}.prose ul,.prose ol{margin-bottom:1.1rem}.notfound{display:grid;place-content:center;min-height:60vh;text-align:center;gap:1rem}.lb-banner{position:fixed;inset-inline:auto 1rem;bottom:1rem;left:1rem;max-width:26rem;z-index:60;background-color:var(--color-base-paper, #ffffff);color:var(--color-base-ink, #111827);border:1px solid rgba(17,24,39,.12);border-radius:.5rem;box-shadow:0 4px 20px #0000002e;padding:1.25rem;font-size:.92rem}.lb-banner-title{font-family:var(--typography-display, Georgia, "Times New Roman", serif);font-weight:700;margin-bottom:.4rem}.lb-banner p{margin-bottom:1rem}.lb-banner-actions{display:flex;flex-wrap:wrap;gap:.6rem}.lb-banner .btn{padding:.55rem 1.1rem;font-size:.92rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important}}
