/* Common pages only: leave individual site articles on their existing layout. */
@media(max-width:600px){
 body{font-size:14px}
 .container{padding-left:18px;padding-right:18px}
 .header-inner{height:64px;gap:12px}
 .brand{font-size:17px;letter-spacing:-.5px}.brand small{font-size:9px}
 .header-nav{top:64px;padding:10px 18px 18px;max-height:calc(100dvh - 64px);overflow-y:auto}
 .header-nav a{min-height:48px;display:flex;align-items:center;font-size:14px;border-bottom:1px solid #edf1f5}
 .menu-button{font-size:11px;border-radius:8px;background:#f1f6fc}
 .home-page .hero-copy{padding-top:26px;padding-bottom:8px}
 .home-page .hero-kicker{font-size:11px;letter-spacing:0}
 .home-page .hero h1{font-size:28px;letter-spacing:-1px;margin:14px 0}
 .home-page .hero h1 .hero-main{font-size:clamp(24px,7.5vw,34px)!important;white-space:normal;line-height:1.4;overflow-wrap:anywhere}
 .home-page .hero-copy p{font-size:14px;line-height:1.85}
 .home-page .hero-bottom{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px}
 .home-page .hero-link{min-height:50px;width:100%;font-size:14px;padding:13px 18px;border-radius:8px}
 .home-page .hero-compare{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:13px}
 .home-page .hero-label{max-width:calc(100% - 18px);font-size:11px;white-space:normal}
 .home-page .section-top h2{font-size:23px;line-height:1.5}
 .home-page .offer-grid p,.home-page .site-copy p,.home-page .comment-box p,.home-page .guide-steps p{font-size:14px;line-height:1.85}
 .home-page .offer-grid a{font-size:13px;min-height:44px}
 .home-page .card-actions .btn{min-height:50px;font-size:14px;border-radius:8px}
 .home-page .purpose-grid{grid-template-columns:1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden}
 .home-page .purpose{display:grid;grid-template-columns:32px 1fr;column-gap:12px;text-align:left;padding:16px;border:0;min-height:82px}
 .home-page .purpose+.purpose{border-top:1px solid var(--line)}
 .home-page .purpose .number{grid-row:1/3;font-size:23px;align-self:center}
 .home-page .purpose b{font-size:14px;line-height:1.6}.home-page .purpose b br{display:none}
 .home-page .purpose small{font-size:12px;grid-column:2}
 .home-page .search-box input{font-size:16px;min-height:48px}
 .home-page .search-box:focus-within{outline:2px solid var(--blue);outline-offset:2px}
 .home-page summary{font-size:14px;line-height:1.7;min-height:56px;padding-top:15px;padding-bottom:15px}
 .home-page details p{font-size:14px;line-height:1.9}
 .home-page .directory-item>a{font-size:13px;min-height:44px;display:flex;align-items:center;white-space:nowrap}
 .home-page .mobile-sticky{gap:12px}.home-page .mobile-sticky a{min-height:44px;display:flex;align-items:center;font-size:13px}
 .compare-heading h1{font-size:28px;line-height:1.45}
 .compare-option b{font-size:14px}.compare-option small{font-size:12px}
 .compare-advice a,.compare-return a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
 .footer-links{gap:4px 18px}.footer-links a,.footer-links button{font-size:12px}
}
@media(max-width:360px){.brand{font-size:15px}.brand-icon{width:30px;height:36px}.home-page .hero-kicker:before{width:14px}.home-page .hero-kicker{font-size:10px}.home-page .mobile-sticky span{max-width:110px}}

.guide-read-more{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:14px;color:var(--blue);font-weight:800;font-size:13px;border:1px solid #d4e3ed;background:#fff;border-radius:8px;padding:10px 16px}
@media(max-width:600px){.home-page .criteria-line{display:none}.home-page .guide-steps p{margin-bottom:0}.home-page .guide-talk{margin-top:12px}.home-page .home-closing{gap:16px}.home-page .home-closing .btn{min-height:48px}.home-page:has(#site-search:focus) .mobile-sticky{display:none}}

/* An article entry remains reachable before readers scroll the long table. */
.compare-header-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:10px;padding:6px 12px;border:1px solid currentColor;border-radius:7px;color:var(--blue,#006be6);background:#fff;font-size:13px;text-decoration:none}
.compare-header-link:hover{text-decoration:underline}
.compare-header-link:focus-visible{outline:3px solid #006be6;outline-offset:3px}

.compare-cost-note{margin:0 0 18px;padding:16px 20px;border-left:3px solid #006be6;border-radius:0 8px 8px 0;background:#f1f7ff;color:#243e54}
.compare-cost-note b{font-size:14px;line-height:1.7}
.compare-cost-note p{margin:5px 0 0;font-size:13px;line-height:1.9}
@media(max-width:600px){.compare-cost-note{padding:14px 16px}.compare-cost-note p{font-size:14px}}

/* Read each comparison point without horizontal swiping on narrow screens. */
@media(max-width:600px){
 .comparison-page #select-all{min-height:44px;padding:8px 10px;font-size:13px}
 .comparison-page .control-heading{gap:8px}
 .comparison-page .control-bottom span{font-size:12px}
 .comparison-page .scroll-hint{font-size:12px;line-height:1.7}
 .comparison-page .table-scroll{overflow:visible;border:0;background:transparent}
 .comparison-page .comparison-table{display:block;min-width:0;font-size:14px}
 .comparison-page .comparison-table thead,.comparison-page .comparison-table tbody,.comparison-page .comparison-table tfoot{display:block}
 .comparison-page .comparison-table thead tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
 .comparison-page .comparison-table thead th:first-child{display:none}
 .comparison-page .comparison-table thead th{display:block;border:1px solid var(--line);border-radius:10px;padding:14px 10px}
 .comparison-page .comparison-table thead small{font-size:12px}
 .comparison-page .comparison-table .compare-header-link{font-size:12px;padding:6px 8px}
 .comparison-page .comparison-table tbody tr,.comparison-page .comparison-table tfoot tr{display:block;margin-bottom:14px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
 .comparison-page .comparison-table tbody th,.comparison-page .comparison-table tfoot th{display:block;position:static;box-shadow:none;border:0;padding:12px 14px;font-size:14px;background:#eaf1f8;color:#243e54}
 .comparison-page .comparison-table td{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;border:0;padding:14px;font-size:14px;overflow-wrap:anywhere}
 .comparison-page .comparison-table td+td{border-top:1px solid var(--line)}
 .comparison-page .comparison-table td::before{content:attr(data-site);font-size:12px;font-weight:800;color:#243e54;align-self:start}
 .comparison-page .comparison-table td strong,.comparison-page .comparison-table .pending{font-size:14px}
 .comparison-page .comparison-table tfoot a{min-height:44px;font-size:13px}
}
@media(max-width:360px){
 .comparison-page .comparison-table td{grid-template-columns:minmax(0,1fr);gap:5px}
 .comparison-page .comparison-table thead tr{grid-template-columns:minmax(0,1fr)}
 .comparison-page .comparison-table thead small{margin-bottom:4px}
}

.directory-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.directory-filters button{border:1px solid #c4d3e1;border-radius:8px;background:white;padding:9px 14px;min-height:44px;font-size:13px;font-weight:700;color:#38556d}
.directory-filters button[aria-pressed="true"]{border-color:var(--blue);background:#eaf3ff;color:#004fae;box-shadow:inset 0 0 0 1px var(--blue)}
@media(max-width:600px){
 .home-page #directory>.section-top{display:block}
 .home-page #directory #reset{min-height:44px;margin-top:10px;padding:8px 14px;font-size:13px;border:1px solid #c4d3e1;border-radius:8px;background:#fff}
 .home-page .directory-filters{gap:8px}
 .home-page .directory-filters button{flex:1 1 auto;padding:9px 10px}
 .home-page #filter-status{font-size:13px;line-height:1.8;color:#40566a}
 .home-page .directory-empty{font-size:14px;line-height:1.9}
 .home-page #faq h2{font-size:23px;line-height:1.5;text-wrap:balance}
}
@media(max-width:600px){.home-page #directory>.section-top p{font-size:14px;line-height:1.85}}

/* Current location is shared by desktop and mobile navigation. */
body:has(script[src="navigation-enhancements.js"]) .header-nav a:first-child{color:inherit}
body:has(script[src="navigation-enhancements.js"]) .header-nav a:first-child:after{display:none}
body:has(script[src="navigation-enhancements.js"]) .header-nav a[aria-current]{color:var(--blue)}
body:has(script[src="navigation-enhancements.js"]) .header-nav a[aria-current]:after{content:'';display:block;height:3px;background:var(--blue);position:absolute;bottom:-18px;left:0;right:0}
@media(max-width:600px){
 body:has(script[src="navigation-enhancements.js"]) .header-nav a[aria-current]{background:#eef5ff;border-radius:6px;padding-left:12px}
 body:has(script[src="navigation-enhancements.js"]) .header-nav a[aria-current]:after{display:none}
 .home-page .mobile-sticky.destination-visible,.home-page:has(.menu-button[aria-expanded="true"]) .mobile-sticky,.home-page:has(dialog[open]) .mobile-sticky{display:none}
}
/* Four-site catalog and newly added site profiles. */
.compare-grid:has(>.compare-item:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
.additional-cover{width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:12px;background:#edf2f6;margin-top:24px}
.common-heading .source-date{font-size:12px;color:#52667a}
.additional-site-page .service-table dt{width:auto}
.additional-site-page #sources a{color:var(--blue);text-decoration:underline}
@media(min-width:601px){.comparison-table:has(thead th:nth-child(5)){min-width:1185px}}
@media(max-width:600px){.additional-site-page .service-table>div{display:block}.additional-site-page .service-table dt,.additional-site-page .service-table dd{width:100%;margin:0;padding:10px 0;font-size:14px}.additional-site-page .common-heading h1{font-size:27px}}

/* Directory lives on its own page; purpose links keep their card layout. */
.purpose-grid a.purpose{display:block;text-decoration:none;color:inherit}
.common-page #directory{margin-top:28px}

/* Short editorial headline: preserve phrases at narrow widths. */
.home-page .hero h1>span{display:block;white-space:nowrap}
.home-page .hero h1 .hero-main{font-size:clamp(28px,3.8vw,48px)!important;letter-spacing:-.04em;white-space:nowrap;overflow-wrap:normal}
@media(max-width:600px){.home-page .hero h1{font-size:clamp(27px,8vw,38px);line-height:1.45}.home-page .hero h1 .hero-main{font-size:clamp(27px,7.8vw,38px)!important}.home-page .hero-kicker{letter-spacing:.04em;font-size:11px}}

.evidence-brief{margin:28px 0;padding:24px;border:1px solid #cbdce6;border-left:4px solid #0068e9;background:#f5fafc;border-radius:8px}
.evidence-brief h2{font-size:21px;line-height:1.6;margin:10px 0 18px;letter-spacing:0}
.evidence-brief dl{margin:0}.evidence-brief dl>div+div{margin-top:14px;padding-top:14px;border-top:1px solid #dce5eb}
.evidence-brief dt{font-size:12px;font-weight:700;color:#37566b;margin-bottom:5px}.evidence-brief dd{margin:0;font-size:14px;line-height:1.85}
.evidence-brief>a{display:inline-block;margin-top:18px;color:#0068c9;font-size:13px;font-weight:700;line-height:1.7}
@media(max-width:600px){.evidence-brief{padding:18px;margin:22px 0}.evidence-brief h2{font-size:18px}.evidence-brief dd{font-size:13px}}
.feature-block>.feature-index{white-space:nowrap;flex-shrink:0;min-width:30px}

@media (max-width: 600px) {
  #list .directory-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .35rem;
  }
  #list .directory-item > a {
    justify-self: start;
    text-align: left;
    white-space: nowrap;
  }
}

/* A name index above the reports, with thumbnails reserved for the reports themselves. */
.home-name-index .compare-grid {display:flex;flex-wrap:wrap;gap:.5rem}
.home-name-index .compare-item {width:auto;min-width:0;padding:0}
.home-name-index .compare-item a {display:block;min-height:44px;padding:.7rem 1rem;white-space:nowrap}
