body{font-size:16px;line-height:1.75;min-width:0}h1,h2,h3{overflow-wrap:anywhere}h1{line-height:1.4}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #155db5;outline-offset:4px}a:hover{text-decoration:underline}.skip-link{position:absolute;top:-100px;background:white;padding:12px;z-index:100}.skip-link:focus{top:0}.factory-nav{display:flex;gap:24px;font-size:14px;font-weight:700}.disclosure{font-size:14px;color:#57515b;padding-block:14px}.hero-grid.without-image{grid-template-columns:1fr;min-height:430px}.without-image .hero-copy{max-width:900px}.search-panel{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.search-panel label span,.eyebrow,.section-kicker{font-size:14px}.hero-art::before{background:var(--pink-soft)}.hero-art img{object-fit:contain}.ranking-card{display:flex;flex-direction:column;gap:14px;min-width:0;border-radius:var(--radius);padding:32px 24px}.ranking-card .rank-number{position:static;align-self:flex-start}.ranking-card h3{font-size:22px}.ranking-card .rank-feature{min-height:0}.ranking-card .button{margin-top:auto}.rank-specs div{gap:12px}.rank-specs dd{overflow-wrap:anywhere}.method{max-width:760px;margin:0 auto 30px;color:#57515b}.detail-grid,.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.guide-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:white}.guide-card :is(h2,h3){font-size:19px;margin:12px 0}.guide-card p{font-size:16px}.guide-card .metadata,.metadata{font-size:14px;color:#57515b}.guide-card a,.sources a,.article-body nav a{text-decoration:underline;text-underline-offset:4px}.articles-section,.faq-section{background:var(--pink-soft)}.more{text-align:center;margin-top:32px}.points{padding-left:20px;list-style:disc}.sources{font-size:14px}.results-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:32px 0}.results-toolbar select{padding:10px;border:1px solid var(--line);background:white;border-radius:8px;max-width:100%}.article-body{max-width:800px}.article-body h1{font-size:32px}.article-body h2{font-size:24px;margin-bottom:20px}.article-body section{margin:48px 0}.article-body p,.article-body nav{margin:22px 0}.article-body ul{list-style:disc;padding-left:24px}.draft-notice{padding:18px;background:#fff4d6;border-left:4px solid #986100}.faq-item summary{cursor:pointer;font-weight:700;padding:24px}.faq-item p{padding:0 24px 24px}.factory-footer{padding-block:56px;color:#57515b;font-size:14px}.factory-footer>a{font-weight:700}.factory-footer p{margin:16px 0}.service-image{aspect-ratio:1;object-fit:contain;max-width:240px}.layout-editorial .hero{border-top:6px solid var(--pink);background:var(--pink-soft)}.layout-editorial .hero h1{font-family:serif}.layout-editorial .guide-card{border:0;border-top:3px solid var(--pink);border-radius:0}.layout-editorial .ranking-card{box-shadow:none}.section{padding-block:72px}.ranking-comparison{align-items:stretch}[hidden]{display:none!important}@media(max-width:900px){.detail-grid,.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner{gap:16px}.brand{font-size:20px}}@media(max-width:600px){.site-header{height:auto;min-height:76px}.header-inner{flex-wrap:wrap;padding-block:16px}.factory-nav{gap:20px}.hero h1{font-size:32px}.hero-grid{min-height:0}.detail-grid,.guide-grid{grid-template-columns:1fr}.section{padding-block:56px;margin-block:0}.section+.section{margin-top:48px}.hero-copy{padding-block:36px}.article-body h1{font-size:28px}.ranking-card{padding:24px}.results-toolbar{flex-wrap:wrap}.search-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.search-submit{grid-column:1/-1}.hero-art{max-height:340px}.hero-art img{max-height:330px}.hero-art::before{width:300px;height:300px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Keep variable-length content and filters in normal flow on narrow screens. */
.search-panel{position:static;margin-top:32px}.search-panel select{font-size:16px;border-color:#a89fac}.button-outline{border-color:var(--pink)}
@media(max-width:767px){.hero-copy{min-height:0;padding:36px 0}.hero h1,.hero-lead{width:100%}.hero h1{font-size:30px}.hero-lead{font-size:16px}.eyebrow{display:block;margin-bottom:14px}.hero-art{position:relative;top:auto;left:auto;right:auto;width:100%;height:260px;align-items:center;justify-content:center;margin-bottom:32px}.hero-art::before{top:auto;left:auto;width:240px;height:240px}.hero-art img{width:240px;max-width:100%;height:260px;max-height:260px}.search-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.search-panel label span{font-size:14px}.search-panel select{font-size:16px}.search-submit{grid-column:1/-1}.hero-grid.without-image{min-height:0}}
.rank-feature{font-size:16px;color:#57515b}.rank-specs dt{font-size:14px}.ranking-card .rank-number{color:#965800}
/* Classic/editorial: keep the illustration with the headline at every width. */
.layout-classic .hero{border-top:6px solid transparent}
:is(.layout-classic,.layout-editorial) .hero-grid{min-height:440px}
:is(.layout-classic,.layout-editorial) .hero-search{padding-bottom:36px}
:is(.layout-classic,.layout-editorial) .hero-search .search-panel{margin-top:0}
:is(.layout-classic,.layout-editorial) .hero-art::before{display:none}
@media(max-width:767px){
 :is(.layout-classic,.layout-editorial) .hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:12px;min-height:300px;align-items:center}
 :is(.layout-classic,.layout-editorial) .hero-grid.without-image{grid-template-columns:1fr;min-height:200px}
 :is(.layout-classic,.layout-editorial) .hero-copy{padding:22px 0}
 :is(.layout-classic,.layout-editorial) .hero h1{font-size:25px;line-height:1.5;letter-spacing:-.035em;margin-top:8px}
 :is(.layout-classic,.layout-editorial) .hero-lead{font-size:14px;line-height:1.7;margin-top:12px}
 :is(.layout-classic,.layout-editorial) .hero-art{position:static;width:100%;height:230px;margin:0;align-self:center}
 :is(.layout-classic,.layout-editorial) .hero-art img{width:100%;height:230px;max-height:230px;object-fit:contain}
 :is(.layout-classic,.layout-editorial) .eyebrow{font-size:12px;letter-spacing:0;margin-bottom:0}
 :is(.layout-classic,.layout-editorial) .hero-search{padding-bottom:28px}
}
@media(max-width:767px){
 :is(.layout-classic,.layout-editorial) .hero-grid{min-height:270px}
 :is(.layout-classic,.layout-editorial) .hero h1{font-size:24px;text-wrap:balance}
}
