:root{--ink: #0f1419;--ink-soft: #3b4554;--paper: #fafaf7;--paper-warm: #f3eee4;--line: #e5e0d3;--accent: #1f4d3f;--accent-hover: #163a2f}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}.container{max-width:1080px;margin:0 auto;padding:0 24px}h1,h2{font-family:ui-serif,Georgia,Times New Roman,serif;font-weight:600;letter-spacing:-.01em;color:var(--ink)}h1{font-size:clamp(2.25rem,5vw,3.75rem);line-height:1.08;margin:0 0 1.25rem}h2{font-size:clamp(1.5rem,3vw,2.25rem);margin:0 0 2rem}.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.header-row{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{font-family:ui-serif,Georgia,serif;font-size:1.25rem;font-weight:600;color:var(--ink);text-decoration:none}.brand-co{color:var(--ink-soft);font-weight:400;margin-left:.25em}.site-header nav a{color:var(--ink-soft);margin-left:1.5rem;font-size:.95rem}.site-header nav a:hover{color:var(--accent);text-decoration:none}.site-header nav a.nav-cta{background:var(--accent);color:#fff;padding:.45rem 1rem;border-radius:5px;font-weight:500}.site-header nav a.nav-cta:hover{background:var(--accent-hover);color:#fff}.nav-toggle{display:none;background:transparent;border:0;padding:.5rem;cursor:pointer;width:40px;height:40px;flex-direction:column;justify-content:center;gap:5px}.nav-toggle span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:640px){.nav-toggle{display:flex}.site-header nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:.75rem 24px 1.25rem;gap:.25rem}.site-header nav.open{display:flex}.site-header nav a{margin-left:0;padding:.6rem 0;font-size:1rem}.site-header nav a.nav-cta{margin-top:.5rem;text-align:center;padding:.7rem 1rem}}.hero{padding:6rem 0 5rem;background:linear-gradient(180deg,var(--paper) 0%,var(--paper-warm) 100%);border-bottom:1px solid var(--line)}.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.18em;color:var(--ink-soft);margin:0 0 1rem}.lede{font-size:1.15rem;max-width:640px;color:var(--ink-soft);margin:0 0 2rem}.cta{display:inline-block;background:var(--accent);color:#fff;padding:.85rem 1.5rem;border-radius:6px;font-weight:500;font-size:.98rem}.cta:hover{background:var(--accent-hover);color:#fff;text-decoration:none}.businesses{padding:5rem 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.card{display:block;padding:2rem 1.75rem;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .15s}.card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #1f4d3f14;text-decoration:none}.card-name{font-family:ui-serif,Georgia,serif;font-size:1.45rem;font-weight:600;margin-bottom:.25rem}.card-full{font-size:.85rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.card-blurb{font-size:.97rem;color:var(--ink-soft);margin:0 0 1.5rem}.card-link{color:var(--accent);font-weight:500;font-size:.95rem}.contact{padding:5rem 0;background:var(--paper-warm);border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}.contact-label{text-transform:uppercase;font-size:.78rem;letter-spacing:.14em;color:var(--ink-soft);margin-bottom:.4rem}.contact p{margin:0}.site-footer{padding:2rem 0;border-top:1px solid var(--line);font-size:.9rem;color:var(--ink-soft)}.footer-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}@media(max-width:640px){html,body{font-size:16px}.container{padding:0 18px}.hero{padding:3.5rem 0 3rem}.lede{font-size:1.05rem}.businesses,.contact{padding:3rem 0}h2{margin:0 0 1.25rem}.card{padding:1.5rem 1.25rem}.cards{gap:1rem}}
