@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,700&family=Source+Sans+3:wght@400;600;700&display=swap";:root{--bg: #f7f3eb;--bg-elev: #fffdf8;--bg-muted: #efe8db;--ink: #1c1914;--ink-soft: #4a453c;--muted: #6b6458;--line: #e2d8c6;--accent: #c45c26;--accent-hover: #a34a1c;--accent-soft: #f3e0d2;--ok: #2f6b4f;--ok-soft: #e4f0e9;--warn: #8a6d1d;--warn-soft: #f5efd6;--danger: #9b2c2c;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(28, 25, 20, .06), 0 8px 24px rgba(28, 25, 20, .06);--max: 72rem;--font: "Source Sans 3", system-ui, -apple-system, sans-serif;--display: "Fraunces", Georgia, "Times New Roman", serif;--tap: 44px}*,*:before,*:after{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.55;font-size:1.05rem;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.15em}a:hover{color:var(--accent-hover)}.wrap{width:min(100% - 2rem,var(--max));margin-inline:auto}.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-header .inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.75rem;padding:.55rem 0}.brand{font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em;line-height:1.15}.brand span{color:var(--accent);font-weight:500}.brand small{display:block;font-family:var(--font);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:.1rem}.nav-main{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .15rem}.nav-main a{color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:.95rem;padding:.55rem .75rem;border-radius:999px;min-height:var(--tap);display:inline-flex;align-items:center}.nav-main a:hover,.nav-main a[aria-current=page]{background:var(--bg-muted);color:var(--ink)}.nav-main a.nav-cta{background:var(--accent);color:#fff;margin-left:.25rem}.nav-main a.nav-cta:hover{background:var(--accent-hover);color:#fff}.hero{padding:2.75rem 0 1.75rem}.hero.compact{padding:1.75rem 0 1rem}.hero h1,.prose h1{font-family:var(--display);font-weight:700;font-size:clamp(2rem,5vw,3.15rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 .85rem;text-wrap:pretty;color:var(--ink)}.hero .lede,.lede{font-size:1.2rem;color:var(--ink-soft);max-width:36rem;margin:0 0 1.25rem;text-wrap:pretty}.eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--tap);padding:.7rem 1.2rem;border-radius:999px;border:0;background:var(--accent);color:#fff!important;font:inherit;font-weight:700;text-decoration:none!important;cursor:pointer;box-shadow:var(--shadow);transition:background .15s ease,transform .15s ease}.btn:hover{background:var(--accent-hover);color:#fff!important}.btn:active{transform:translateY(1px)}.btn.secondary{background:var(--bg-elev);color:var(--ink)!important;border:1px solid var(--line);box-shadow:none}.btn.secondary:hover{background:var(--bg-muted);color:var(--ink)!important}.btn.ghost{background:transparent;color:var(--ink-soft)!important;box-shadow:none;border:1px solid transparent}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr))}.card{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.25rem;box-shadow:var(--shadow)}.card h2,.card h3{font-family:var(--display);font-size:1.2rem;margin:0 0 .35rem;letter-spacing:-.02em}.card h2 a,.card h3 a{color:var(--ink);text-decoration:none}.card h2 a:hover,.card h3 a:hover{color:var(--accent)}.card p{margin:.35rem 0 0;color:var(--ink-soft)}.card.featured{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:linear-gradient(180deg,#fffaf3 0%,var(--bg-elev) 100%)}.meta{color:var(--muted);font-size:.92rem}.pill{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.28rem .55rem;border-radius:999px;background:var(--bg-muted);color:var(--ink-soft);margin-right:.35rem}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.accent{background:var(--accent-soft);color:var(--accent-hover)}.prose{max-width:42rem;padding:1.5rem 0 3.5rem}.prose h1{font-size:clamp(1.85rem,4vw,2.6rem)}.prose h2{font-family:var(--display);font-size:1.35rem;margin:1.75rem 0 .5rem;letter-spacing:-.02em}.prose h3{font-size:1.05rem;margin:1.25rem 0 .35rem}.prose p,.prose li{color:var(--ink-soft)}.prose ul{padding-left:1.15rem}.prose li{margin:.45rem 0}.listing-list{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.75rem}.listing-list li{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.95rem 1.05rem;margin:0;box-shadow:var(--shadow)}.listing-list a.name{font-weight:700;color:var(--ink);text-decoration:none;font-size:1.05rem}.listing-list a.name:hover{color:var(--accent)}.hat-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr))}.hat-card{cursor:pointer;display:flex;gap:.75rem;align-items:flex-start;min-height:var(--tap);user-select:none;transition:border-color .15s ease,background .15s ease}.hat-card input{width:1.15rem;height:1.15rem;margin-top:.2rem;accent-color:var(--accent);flex-shrink:0}.hat-card:has(input:checked){border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--accent-soft)}.hat-card span{color:var(--ink);font-weight:600;line-height:1.35}label.field{display:block;font-size:.88rem;font-weight:700;margin:1rem 0 .35rem;color:var(--ink)}input,select,textarea{width:100%;max-width:28rem;min-height:var(--tap);padding:.7rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);font:inherit}textarea{min-height:7.5rem;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-color:var(--accent)}button[type=submit]{margin-top:1.25rem}.note{color:var(--muted);font-size:.95rem;max-width:36rem}.callout{background:var(--bg-elev);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius-sm);padding:1rem 1.1rem;margin:1.25rem 0;box-shadow:none}.callout p{margin:0;color:var(--ink-soft)}.hub-section{padding:0 0 3rem}.hub-section h2{font-family:var(--display);font-size:1.4rem;margin:0 0 .85rem}.service-chip{display:flex;flex-direction:column;gap:.25rem;min-height:5.5rem;text-decoration:none;color:inherit}.service-chip .count{font-size:.85rem;color:var(--muted);font-weight:600}.service-chip.empty{opacity:.72}.service-chip:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.result-panel{margin-top:2rem;padding:1.5rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:linear-gradient(165deg,#fff8f1 0%,var(--bg-elev) 55%);box-shadow:var(--shadow);max-width:36rem}.result-panel h2{font-family:var(--display);font-size:2rem;margin:.25rem 0 .5rem;letter-spacing:-.03em}.result-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.15rem}.site-footer{border-top:1px solid var(--line);background:var(--bg-muted);padding:2.25rem 0 2.75rem;color:var(--muted);font-size:.95rem;margin-top:1rem}.site-footer strong{color:var(--ink);font-family:var(--display)}.site-footer .foot-grid{display:grid;gap:1.25rem;grid-template-columns:1.4fr 1fr}.site-footer a{color:var(--ink-soft)}.site-footer nav{display:flex;flex-direction:column;gap:.45rem}@media(max-width:720px){.site-footer .foot-grid{grid-template-columns:1fr}.nav-main a:not(.nav-cta){padding:.5rem .55rem;font-size:.88rem}.hero{padding-top:1.75rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}.skip-link{position:absolute;left:-999px;top:.5rem;background:var(--accent);color:#fff;padding:.5rem .85rem;border-radius:8px;z-index:100}.skip-link:focus{left:.75rem}
