/* Homepage refresh: search first, clear comparisons, existing brand palette. */
body[data-page="home"] .hero { padding: 64px 0; background: #0f1f33; }
.home-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:center; }
body[data-page="home"] .hero h1 { font-size:clamp(2.6rem,4.6vw,4rem); line-height:1.08; letter-spacing:-.045em; }
.home-hero-copy .sub { font-size:1.05rem; max-width:490px; line-height:1.7; }
.home-hero-copy .hero-eyebrow { font-size:.68rem; letter-spacing:.14em; }
.home-hero-copy .hero-popular { gap:8px; max-width:500px; }
.home-hero-copy .hero-popular>span { width:100%; }
.home-hero-copy .hero-stats { display:grid; grid-template-columns:repeat(3,1fr); margin-top:28px; }
.home-hero-copy .stat { padding:0 16px; }
.home-hero-copy .stat:first-child { padding-left:0; }
.home-hero-copy .stat:nth-child(3) { border:0; }
.home-hero-copy .stat:last-child { display:none; }
.home-hero-copy .stat b { font-size:1.35rem; }
.home-hero-copy .stat span { font-size:.75rem; }
.search-box { background:#fff; border-radius:20px; padding:32px; color:var(--ink); border-top:5px solid var(--amber); }
.search-box .kicker { color:#9a3412; margin:0 0 10px; }
.search-box h2 { font-size:1.6rem; letter-spacing:-.04em; max-width:300px; }
.search-box>p:not(.kicker) { color:var(--slate); font-size:.9rem; }
.search-box .search-panel { display:grid; grid-template-columns:1fr 1fr; margin:24px 0 0; padding:0; gap:18px 12px; border:0; border-radius:0; box-shadow:none; background:none; }
.search-field { min-width:0; display:flex; flex-direction:column; gap:7px; color:var(--navy); font-size:.78rem; font-weight:700; }
.search-location,.search-box .search-btn { grid-column:1/-1; }
.search-box .search-panel input,.search-box .search-panel select { width:100%; min-width:0; height:50px; flex:none; padding:12px; font-size:16px; border:1px solid #d8dfe5; border-radius:8px; color:var(--ink); background:#f8fafb; }
.search-box .search-btn { min-height:52px; background:var(--amber); color:var(--navy); border-radius:8px; font-size:1rem; }
.search-box .search-btn:hover { background:#fbbf24; }
.search-box .search-note { text-align:center; font-size:.75rem!important; margin:16px 0 0; }
body[data-page="home"] .trust-rail { padding:0; background:#fff; border-bottom:1px solid var(--line); }
body[data-page="home"] .trust-rail-inner { border:0; border-radius:0; box-shadow:none; }
body[data-page="home"] #directory { padding:60px 0; }
body[data-page="home"] #directory .section-head { margin-bottom:22px; }
body[data-page="home"] #directory .section-head h2 { font-size:clamp(1.8rem,3vw,2.4rem); }
.directory-tools { background:transparent; border:0; border-bottom:1px solid #d8dfe5; border-radius:0; padding:0 0 18px; }
.directory-tools .directory-sort { margin-left:auto; }
.compare-hint { font-size:.85rem; color:var(--slate); margin:20px 0; }
body[data-page="home"] .card { border-radius:12px; padding:22px; gap:12px; }
body[data-page="home"] .card:hover { transform:none; }
body[data-page="home"] .card[data-id] .badge.score { display:none; }
.compare-toggle { display:block; width:100%; border:1px solid #cbd5e1; border-radius:7px; color:var(--navy); background:#fff; min-height:44px; font-family:inherit; font-size:.85rem; font-weight:600; cursor:pointer; }
.compare-toggle:hover { background:#f0f4f7; }
.compare-toggle[aria-pressed="true"] { background:#eaf3ef; border-color:#277552; color:#185437; }
.compare-toggle:disabled { opacity:.55; cursor:not-allowed; }
.compare-tray { position:fixed; bottom:0; left:0; right:0; z-index:65; background:var(--navy); color:white; border-top:1px solid #ffffff30; padding:14px 0 calc(14px + env(safe-area-inset-bottom)); box-shadow:0 -8px 30px #0f1f3320; }
.compare-tray .wrap { display:flex; align-items:center; gap:12px; }
.compare-tray .wrap>div { margin-right:auto; }
.compare-tray span { display:block; font-size:.75rem; color:#cbd5e1; }
.compare-tray .btn-ghost { color:#fff; border-color:#748091; background:transparent; }
body.has-comparison { padding-bottom:var(--comparison-height, 220px); }
#compare-dialog { border:0; border-radius:18px; padding:28px; width:min(1000px,calc(100% - 28px)); max-height:85dvh; color:var(--ink); box-shadow:0 20px 70px #0004; }
#compare-dialog::backdrop { background:#0f1f33b3; backdrop-filter:blur(3px); }
body:has(#compare-dialog[open]) { overflow:hidden; }
.compare-dialog-head { display:flex; align-items:flex-start; gap:16px; justify-content:space-between; }
.compare-dialog-head h2 { font-size:1.6rem; }
#compare-content { overflow-x:auto; }
.comparison-table { width:100%; border-collapse:collapse; font-size:.88rem; }
.comparison-table th,.comparison-table td { padding:16px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; min-width:190px; }
.comparison-table th[scope="row"] { min-width:115px; width:125px; background:#f5f7f8; }
.comparison-table thead th { background:#f5f7f8; }
.comparison-table a:not(.btn) { color:#9a3412; text-decoration:underline; text-underline-offset:3px; }
.comparison-table .btn { margin-top:8px; }
@media(max-width:1000px) { .home-hero-grid { gap:32px; } .search-box { padding:24px; } }
@media(max-width:760px) {
 .home-hero-grid { grid-template-columns:1fr; gap:28px; }
 body[data-page="home"] .hero { padding:36px 0; }
 body[data-page="home"] .hero h1 { font-size:2.65rem; }
 .home-hero-copy .hero-stats { display:none; }
 .home-hero-copy .hero-popular { display:none; }
 .home-hero-copy .sub { margin-bottom:0; }
 .search-box h2 { max-width:none; font-size:1.45rem; }
 body[data-page="home"] .trust-rail-inner { grid-template-columns:1fr; }
 body[data-page="home"] .trust-point { padding:16px 0; }
 body[data-page="home"] .trust-point+.trust-point { border-left:0; border-top:1px solid var(--line); }
 body[data-page="home"] #directory { padding:36px 0; }
 .directory-tools .directory-sort { margin-left:0; flex:1 1 auto; }
 .directory-tools { gap:10px; }
 .compare-tray .wrap { flex-wrap:wrap; gap:8px; }
 .compare-tray .wrap>div { flex:1; }
 .compare-tray strong { font-size:.85rem; }
 .compare-tray .btn { padding:10px; font-size:.8rem; }
 .compare-tray span { display:none; }
 #compare-dialog { padding:20px; }
}
@media(prefers-reduced-motion:reduce) { .compare-toggle { transition:none; } }
@media(max-width:760px) {
 .search-box>p:not(.kicker):not(.search-note) { display:none; }
 .search-box { padding:22px; }
 .search-box .search-panel { margin-top:20px; }
 body[data-page="home"] .hero h1 { font-size:2.4rem; }
}
.comparison-table thead th:first-child { min-width:100px; width:100px; }
.comparison-table th[scope="row"] { min-width:100px; width:100px; }
.comparison-scroll-hint { display:none; }
@media(max-width:760px) { .comparison-scroll-hint { display:block; font-size:.8rem; color:var(--slate); } }

.compare-tray .comparison-selections { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.comparison-remove { max-width:100%; min-height:44px; padding:8px 12px; border:1px solid #748091; border-radius:8px; background:#ffffff10; color:white; font:inherit; font-size:.8rem; cursor:pointer; overflow-wrap:anywhere; text-align:left; }
.comparison-remove:hover { background:#ffffff25; }
.comparison-remove:focus-visible { outline:3px solid var(--amber); outline-offset:2px; }
