/* V302 — homepage and directory only. Existing routing and interactive hooks retained. */
body.hb302-public{--hb302-ink:#173e43;--hb302-muted:#526b70;--hb302-line:#d9e5e2;--hb302-teal:#087f73;background:#f4f7f5}
.hb302-public .main-content{min-width:0}
.hb302-intro{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(290px,1fr);gap:40px;align-items:center;padding:42px 0 44px;margin-bottom:24px;border-bottom:1px solid var(--hb302-line);color:var(--hb302-ink)}
.hb302-eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;color:#087568;margin-bottom:16px}
.hb302-intro h1{font:750 clamp(32px,3.7vw,52px)/1.1 system-ui,sans-serif!important;letter-spacing:-.045em;margin:0 0 22px!important;color:var(--hb302-ink)!important}
.hb302-intro h1 em{font-style:normal;color:#087f73}
.hb302-intro-copy>p{font-size:16px;line-height:1.75;color:var(--hb302-muted);max-width:610px;margin:0 0 24px}
.hb302-primary,.hb302-secondary{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:46px;padding:12px 18px;box-sizing:border-box;border-radius:8px;font-size:14px;font-weight:750;text-decoration:none!important}
.hb302-primary{background:#087f73;color:#fff!important;margin:0 8px 10px 0}.hb302-primary:hover{background:#06665c}
.hb302-secondary{color:#173e43!important;background:#e6eeea}
.hb302-counts{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px;font-size:12px;color:var(--hb302-muted)}
.hb302-counts strong{display:block;font-size:24px;line-height:1.4;color:var(--hb302-ink)}
.hb302-start{background:#fff;border:1px solid var(--hb302-line);border-radius:18px;padding:24px;box-shadow:0 16px 36px rgba(23,62,67,.06)}
.hb302-start>a{display:flex;align-items:center;gap:14px;padding:20px 0;border-bottom:1px solid #e4ece9;color:var(--hb302-ink);text-decoration:none}
.hb302-start>a>span:nth-child(2){flex:1;min-width:0}.hb302-start strong{display:block;font-size:17px}.hb302-start small{display:block;margin-top:5px;font-size:12px;line-height:1.5;color:var(--hb302-muted)}
.hb302-step{font-size:12px;color:#087f73;font-weight:800;background:#e8f4ef;width:34px;height:34px;display:grid;place-items:center;border-radius:50%}
.hb302-start>p{font-size:12px;line-height:1.7;color:var(--hb302-muted);margin:18px 0 0}.hb302-start>p a{color:#087568;font-weight:750}
.hb302-public .hb-new-home .hb-section-head h2{font-size:clamp(24px,2.6vw,34px);letter-spacing:-.035em;line-height:1.2}
.hb302-public .hb-new-home .hb29621-pulse .hb-section-head h2{margin:8px 0;color:#173e43}
.hb302-public .hb-new-home .hb-site-card,.hb302-public .hb-new-home .hb-panel{border-radius:14px;box-shadow:none}
.hb302-public .hb-directory-toolbar{padding:28px!important;background:#e8f1ed!important;border:1px solid var(--hb302-line)!important;border-radius:16px!important;box-shadow:none!important}
.hb302-public .hb-directory-heading h1{font-size:clamp(28px,3vw,42px)!important;letter-spacing:-.04em;color:var(--hb302-ink)!important}
.hb302-public .hb-directory-heading p{font-size:14px!important;line-height:1.7;color:var(--hb302-muted)!important}
.hb302-public .hb-dir-kicker{color:#087568!important;letter-spacing:.12em}
.hb302-public .hb-directory-controls a{background:#fff!important;color:#173e43!important;border:1px solid #c9dcd5!important;min-height:44px;display:inline-flex;align-items:center}
.hb302-public .hb-result-count{color:#173e43!important;background:#fff!important}
.hb302-public .hb29511-discovery{background:#fff!important;border:1px solid var(--hb302-line)!important;border-radius:14px!important;box-shadow:none!important;margin-top:20px}
.hb302-public .hb29511-search-line input{min-height:48px!important;background:#f7faf8!important;border-color:#b5cdc4!important;font-size:14px!important}
.hb302-public .hb29511-search-line button{min-height:48px!important;background:#087f73!important;color:white!important;border-color:#087f73!important}
.hb302-public .hb-directory-filters{gap:8px!important;flex-wrap:wrap!important}
.hb302-public .hb-directory-filters a{min-height:42px;display:inline-flex;align-items:center;background:#fff!important;border:1px solid var(--hb302-line)!important;color:#355b5a!important;border-radius:8px!important}
.hb302-public .hb-directory-filters a.active{background:#173e43!important;color:#fff!important}
.hb302-public .hb2991-directory-toolbar{background:transparent!important;border:0!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}
.hb302-public .hb2994-discovery{background:#fff!important;border:1px solid var(--hb302-line)!important;border-radius:12px!important;box-shadow:none!important}
.hb302-public .hb2994-filter-buttons button{min-height:42px;background:#f1f6f3;border-color:#d0e0d9;color:#345c55}
.hb302-public .hb2994-filter-buttons button[aria-pressed=true]{background:#173e43;color:#fff;border-color:#173e43}
.hb302-public .hb-directory-grid:not(.hb2991-compact){gap:18px!important}
.hb302-public .hb-dir-card{background:#fff!important;border:1px solid var(--hb302-line)!important;border-radius:14px!important;box-shadow:0 4px 14px rgba(23,62,67,.035)!important;padding:20px!important;min-width:0}
.hb302-public .hb-dir-card:hover{border-color:#6aaa97!important;transform:none!important}
.hb302-public .hb-dir-title>a{font-size:18px!important;color:#173e43!important;overflow-wrap:anywhere}
.hb302-public .hb-dir-rank{background:#ecf3ef!important;color:#44645b!important}
.hb302-summary{font-size:13px;line-height:1.65;color:#526b70;margin:16px 0;overflow-wrap:anywhere}
.hb302-public .hb-dir-stats{background:#f4f8f5!important;border-color:#e0ebe5!important;border-radius:10px!important}
.hb302-public .hb-dir-info{border-color:#e4ece7!important}.hb302-public .hb-dir-info strong{color:#224e45!important}
.hb302-public .hb-dir-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hb302-public .hb-dir-actions a{min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px!important}
.hb302-public .hb-dir-actions .hb2997-save{grid-column:1/-1;width:100%;min-height:40px;margin:0}
.hb302-public .hb-dir-actions a.primary{background:#087f73!important;color:#fff!important;box-shadow:none!important}
.hb302-public .hb29511-card-compare{background:transparent!important;border-top:1px solid #e4ece7!important;padding-top:12px!important}
.hb302-public .hb29511-compare-toggle{min-height:42px;color:#087568!important}
.hb302-public .hb-dir-vote-form button{min-height:36px}
.hb302-public :is(.hb302-intro,.hb-directory-shell) :is(a,button,input,select):focus-visible{outline:3px solid #c17716!important;outline-offset:3px}
@media(max-width:900px){.hb302-intro{grid-template-columns:1fr;gap:28px;padding-top:24px}.hb302-start{padding:20px}.hb302-start>a{padding:16px 0}}
@media(max-width:600px){.hb302-intro{padding-top:12px;margin-bottom:12px}.hb302-intro h1{font-size:34px!important}.hb302-intro-copy>p{font-size:15px}.hb302-primary,.hb302-secondary{display:flex;width:100%;margin:0 0 10px}.hb302-counts{gap:16px;justify-content:space-between}.hb302-counts span{font-size:11px}.hb302-start strong{font-size:16px}.hb302-public .hb-directory-toolbar{padding:20px!important}.hb302-public .hb-dir-card{padding:16px!important}.hb302-public .hb29511-search-line{flex-direction:column}.hb302-public .hb29511-search-line button{width:100%}.hb302-public .hb2994-sort-label{min-width:0}.hb302-public .hb2994-filter-search{min-width:0}.hb302-public .hb-dir-info{gap:8px}}
@media(prefers-reduced-motion:reduce){.hb302-public *{scroll-behavior:auto!important}}
/* Theme Manager palettes apply to the introduction; section surfaces take precedence. */
.hb302-public .hb-new-home{--intro-ink:#173e43;--intro-muted:#526b70;--intro-accent:#087f73}
.hb302-public .hb2963-navy{--intro-ink:#193c60;--intro-muted:#48627c;--intro-accent:#245d90}
.hb302-public .hb2963-ocean{--intro-ink:#083c50;--intro-muted:#366878;--intro-accent:#087f8c}
.hb302-public .hb2963-midnight{--intro-ink:#eaf1fc;--intro-muted:#d1e2f6;--intro-accent:#f0d68b}
.hb302-public .hb2963-midnight .hb302-intro[data-hb-surface="none"]{background:#111e39;border-radius:18px;padding:30px}
.hb302-public .hb302-intro[data-hb-surface="mist"]{--intro-ink:#193c60;--intro-muted:#48627c;--intro-accent:#245d90}
.hb302-public .hb302-intro[data-hb-surface="gold"]{--intro-ink:#4b3b24;--intro-muted:#695334;--intro-accent:#805612}
.hb302-public .hb302-intro[data-hb-surface="midnight"]{--intro-ink:#eaf1fc;--intro-muted:#d1e2f6;--intro-accent:#f0d68b}
.hb302-public .hb302-intro h1,.hb302-public .hb302-counts strong{color:var(--intro-ink)!important}
.hb302-public .hb302-intro-copy>p,.hb302-public .hb302-counts{color:var(--intro-muted)!important}
.hb302-public .hb302-intro h1 em,.hb302-public .hb302-intro-copy>.hb302-eyebrow{color:var(--intro-accent)!important}
.hb302-public .hb302-intro .hb302-primary{background:#173e43!important;color:#fff!important}
body.hb2962-home .hb-new-home .hb302-intro .hb302-secondary{background:#e6eeea;color:#173e43!important}
body.hb2962-home .hb-new-home .hb302-intro .hb302-start a{color:#173e43!important}
