:root{--navy:#17243b;--navy-2:#243653;--orange:#bd452f;--paper:#fff;--canvas:#f4f6f8;--ink:#1d2735;--muted:#627083;--line:#d8dee6;--soft:#eef1f4;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.72}a{color:inherit}button,input{font:inherit}.global-header{min-height:68px;padding:0 max(20px,calc((100% - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--navy);color:#fff}.global-brand{font-size:1.45rem;font-weight:800;text-decoration:none}.global-header nav{display:flex;gap:22px;flex-wrap:wrap}.global-header nav a{text-decoration:none;font-size:.92rem}.hub-hero,.theme-directory,.catalog-theme,.ranking-page,.document-page,.not-found{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.hub-hero{padding:76px 0 52px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:30px 70px;align-items:end}.section-label{margin:0 0 8px;color:var(--orange);font-weight:800;font-size:.82rem;letter-spacing:.08em}.hub-hero h1{grid-column:1;margin:0;font-size:clamp(2.25rem,5vw,4.4rem);line-height:1.12;letter-spacing:-.035em}.hub-hero>p:not(.section-label):not(.search-result){grid-column:1;margin:20px 0 0;color:var(--muted);font-size:1.05rem}.theme-search{grid-column:2;grid-row:1/4;background:var(--paper);border:1px solid var(--line);padding:24px}.theme-search label{display:block;font-weight:800;margin-bottom:10px}.theme-search div{display:flex}.theme-search input{min-width:0;flex:1;border:1px solid var(--line);padding:11px 12px}.theme-search button{border:0;background:var(--orange);color:#fff;font-weight:800;padding:0 20px;cursor:pointer}.search-result{grid-column:2;margin:0;color:var(--muted)}.theme-directory{background:var(--paper);border-top:4px solid var(--navy);padding:34px 36px 48px;margin-bottom:70px}.theme-directory>header{display:flex;justify-content:space-between;align-items:end;gap:24px;border-bottom:1px solid var(--line);padding-bottom:20px}.theme-directory h2{margin:0;font-size:1.7rem}.theme-directory header p{margin:0;color:var(--muted)}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:38px}.theme-card{padding:28px 0;border-bottom:1px solid var(--line)}.theme-card__count{font-size:.8rem;color:var(--orange);font-weight:800}.theme-card h2{font-size:1.3rem;line-height:1.4;margin:4px 0}.theme-card h2 a{text-decoration-color:var(--orange);text-underline-offset:5px}.theme-card p{margin:8px 0;color:var(--muted)}.breadcrumb{padding:24px 0 16px;display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.catalog-intro,.ranking-intro{background:var(--paper);border-top:4px solid var(--navy);padding:clamp(28px,5vw,58px);margin-bottom:34px}.catalog-intro h1,.ranking-intro h1,.document-page h1{margin:0;font-size:clamp(2rem,4.2vw,3.6rem);line-height:1.18;letter-spacing:-.025em}.catalog-intro>p:not(.section-label),.ranking-intro>p:not(.section-label){max-width:800px}.source-note{color:var(--muted);font-size:.9rem}.shelf-list{display:grid;gap:30px;margin-bottom:40px}.product-shelf{background:var(--paper);border-top:1px solid var(--navy);padding:26px 24px 20px}.product-shelf>header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.product-shelf h2{font-size:1.3rem;margin:0}.shelf-more{font-weight:800;text-decoration-color:var(--orange);text-underline-offset:5px}.shelf-frame{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center}.shelf-control{width:38px;height:44px;border:1px solid var(--line);background:#fff;color:var(--navy);cursor:pointer}.shelf-viewport{overflow:hidden;scroll-behavior:smooth}.shelf-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);gap:16px}.product-card{min-width:0;padding:15px;border:1px solid var(--line);display:flex;flex-direction:column;background:#fff}.product-brand{font-size:.77rem;color:var(--muted);margin:10px 0 2px}.product-card h3{font-size:.98rem;line-height:1.45;margin:0}.product-card>p:not(.product-brand):not(.product-score){font-size:.82rem;line-height:1.55;color:var(--muted);margin:8px 0}.product-score{margin:auto 0 10px;padding-top:10px;display:flex;align-items:baseline;gap:4px;border-top:1px solid var(--line);font-size:.74rem}.product-score strong{font-size:1.35rem;color:var(--orange)}.product-score small{color:var(--muted)}.product-link{display:block;background:var(--navy);color:#fff;text-align:center;text-decoration:none;padding:9px 8px;font-size:.8rem;font-weight:800}.criteria-box{background:#fff;padding:28px;margin-bottom:32px}.criteria-box>header{display:flex;justify-content:space-between;gap:20px;align-items:center}.criteria-box h2{margin:0}.criteria-box ol{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:0;list-style:none}.criteria-box li{border-top:3px solid var(--navy);padding-top:12px}.criteria-box li>span{float:right;color:var(--orange);font-weight:800}.criteria-box li p{clear:both;font-size:.86rem;color:var(--muted)}.ranking-list{display:grid;gap:26px;margin-bottom:70px}.ranking-item{background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:82px minmax(0,1fr) 245px}.ranking-number{background:var(--navy);color:#fff;padding:22px 10px;text-align:center;font-weight:900}.ranking-main{padding:24px 26px}.ranking-main h2{margin:0;font-size:1.35rem}.ranking-main>p{margin:8px 0}.fact-list{padding-left:20px;color:var(--muted);font-size:.9rem}.ranking-main .product-link{max-width:280px}.ranking-main .product-link{display:block;margin-top:0;padding:10px 18px}.score-panel{padding:22px;border-left:1px solid var(--line);background:#fafbfc}.score-panel>p{margin:0 0 12px;display:flex;align-items:baseline;gap:4px}.score-panel>p span{display:block;margin-right:auto;font-size:.8rem}.score-panel>p strong{font-size:2rem;color:var(--orange)}.score-panel ul{list-style:none;padding:0;margin:0}.score-panel li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:.78rem}.document-page{padding-top:42px}.document-page>article{max-width:860px;margin:0 auto 70px;background:#fff;border-top:4px solid var(--navy);padding:clamp(26px,5vw,62px)}.document-page header{padding-bottom:24px;border-bottom:1px solid var(--line)}.document-page section{padding:28px 0;border-bottom:1px solid var(--line)}.updated-at{color:var(--muted);font-size:.9rem;margin-top:30px}.not-found{padding:110px 0;min-height:55vh}.global-footer{background:var(--navy);color:#fff}.global-footer__inner{width:min(var(--max),calc(100% - 40px));margin:auto;padding:34px 0}.global-footer__inner>p:first-child{display:flex;gap:18px;align-items:baseline}.global-footer__inner p{margin:8px 0}.global-footer__inner span,.global-footer__inner>p:last-child{color:#c9d1dc;font-size:.88rem}.global-footer nav{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0}.global-footer a{text-underline-offset:4px}[hidden]{display:none!important}@media(max-width:900px){.hub-hero{grid-template-columns:1fr}.theme-search,.search-result{grid-column:1;grid-row:auto}.shelf-track{grid-auto-columns:calc((100% - 16px)/2)}.criteria-box ol{grid-template-columns:repeat(2,1fr)}.ranking-item{grid-template-columns:68px 1fr}.score-panel{grid-column:2;border-left:0;border-top:1px solid var(--line)}.global-header{align-items:flex-start;padding-block:16px}}@media(max-width:620px){.global-header{display:block}.global-header nav{margin-top:10px;gap:13px}.hub-hero,.theme-directory,.catalog-theme,.ranking-page,.document-page,.not-found{width:min(100% - 24px,var(--max))}.hub-hero{padding-top:44px}.hub-hero h1{font-size:2.35rem}.theme-directory{padding:24px 18px}.theme-directory>header{display:block}.theme-grid{grid-template-columns:1fr}.theme-search div{display:block}.theme-search button{width:100%;padding:10px;margin-top:8px}.product-shelf{padding-inline:10px}.shelf-frame{grid-template-columns:34px minmax(0,1fr) 34px}.shelf-control{width:32px}.shelf-track{grid-auto-columns:calc((100% - 12px)/2);gap:12px}.product-card{padding:10px}.criteria-box ol{grid-template-columns:1fr}.ranking-item{grid-template-columns:1fr}.ranking-number{text-align:left;padding:10px 18px}.score-panel{grid-column:1}.ranking-main{padding:20px}.global-footer__inner{width:calc(100% - 24px)}}@media(max-width:480px){.shelf-track{grid-auto-columns:100%}}
.decision-guide{margin-bottom:34px;padding:28px}.decision-theme>.catalog-intro,.decision-theme>.ranking-intro{padding:24px;margin-bottom:24px}.decision-theme>.catalog-intro h1,.decision-theme>.ranking-intro h1{font-size:clamp(1.45rem,3vw,2.3rem)}.decision-guide>h2{margin-top:0}.decision-options{display:flex;flex-wrap:wrap;gap:10px}.decision-options button{min-height:44px;padding:10px 16px;border:1px solid var(--navy);background:var(--paper);color:var(--navy);font:inherit;cursor:pointer}.decision-options button[aria-pressed="true"]{background:var(--navy);color:#fff}.decision-options button:disabled{cursor:default;opacity:.65}.decision-guide :focus-visible{outline:3px solid var(--orange);outline-offset:3px}.decision-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.decision-guide .decision-card{padding:22px;gap:10px}.decision-guide .decision-card h3{font-size:1.15rem;line-height:1.55}.decision-card .product-brand{margin:0}.decision-guide .decision-card>p{display:block!important;margin:0!important;font-size:.94rem!important;line-height:1.7!important;color:var(--ink)!important}.decision-card .decision-name{font-weight:700}.decision-facts{margin:4px 0;display:grid;gap:7px}.decision-facts>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:6px}.decision-facts dt{color:var(--muted)}.decision-facts dd{margin:0;text-align:right;font-weight:650}.decision-card .decision-caution{border-left:3px solid var(--line);padding-left:12px}.decision-card .product-link{margin-top:auto;min-height:44px;font-size:.94rem;padding:12px 8px}.decision-card details{font-size:.9rem}.decision-card summary{cursor:pointer;min-height:44px;display:list-item;padding:9px 0}.decision-guide [hidden]{display:none!important}.decision-guide .comparison-table{margin:30px 0 0;padding:0;border:0}.decision-guide table th:first-child{position:sticky;left:0;background:var(--paper);min-width:170px;max-width:220px;z-index:1}.decision-guide td{min-width:95px}.decision-guide td:last-child{min-width:230px}.decision-figure{margin:30px 0 0}.decision-figure figcaption{font-size:1.2rem;font-weight:700}.decision-figure>p{font-size:.9rem;color:var(--muted)}.decision-bar{display:grid;grid-template-columns:minmax(130px,1fr) minmax(70px,2fr) 75px;align-items:center;gap:12px;margin:12px 0;font-size:.9rem}.decision-bar__track{border-left:1px solid var(--navy);height:18px}.decision-bar__track>span{display:block;height:100%;background:var(--navy)}.decision-bar strong{text-align:right}.decision-guide,.decision-card{min-width:0}.decision-guide #decision-comparison,.decision-card{scroll-margin-top:20px}.decision-guide p,.decision-card,.decision-bar>span{overflow-wrap:anywhere}
@media(max-width:900px){.decision-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.decision-cards{grid-template-columns:minmax(0,1fr)}.decision-guide{padding:20px 16px}.decision-guide .decision-card{padding:18px}.decision-options{gap:8px}.decision-options button{flex:1 1 115px;padding:10px}.decision-bar{grid-template-columns:minmax(0,1fr) 75px;gap:4px 8px}.decision-bar>span{grid-column:1/-1}.decision-guide table th:first-child{min-width:125px;max-width:155px}.decision-description{font-size:.95rem}}

.editorial-theme{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}.editorial-theme>.breadcrumb,.editorial-theme>.editorial-intro{width:100%;margin-bottom:0}.editorial-panel,.research-note,.editorial-callout,.editorial-products{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.editorial-panel>header,.editorial-products>header{padding:22px 26px;background:var(--navy);color:#fff}.editorial-panel>header h2,.editorial-products>header h2{margin:0;color:#fff;font-size:1.45rem}.editorial-panel>header p{margin:7px 0 0;color:#eee}.quick-picks__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}.quick-pick{padding:24px;background:#fff}.quick-pick h3{margin:5px 0 9px}.quick-pick p{margin:0 0 10px}.quick-pick ul{margin:12px 0 0;padding-left:1.2rem}.quick-pick__label{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--soft);color:var(--orange);font-weight:800;font-size:.88rem}.chooser form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:24px}.chooser label{font-weight:700}.chooser select,.chooser input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.chooser button{grid-column:1/-1;padding:12px;border:0;border-radius:var(--radius-sm);background:var(--orange);color:#fff;font-weight:800;cursor:pointer}.chooser__result{margin:0 24px 24px;padding:18px 20px;border-left:4px solid var(--orange);background:var(--soft)}.chooser__result h3,.chooser__result p{margin-top:0}.selection-guide__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line)}.selection-guide__grid>section{padding:24px;background:#fff}.selection-guide__grid h3{margin-top:0}.editorial-comparison{margin-bottom:0}.editorial-products>header{margin-bottom:20px}.editorial-products .shelf-list{margin:0 0 20px}.faq details{padding:18px 24px;border-top:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:800}.faq details p{margin-bottom:0}.research-note{padding:24px 28px;border-left:5px solid var(--orange)}.research-note h2{margin-top:0;font-size:1.2rem}.research-note p{margin-bottom:0}.editorial-callout{padding:22px 26px;border-left:5px solid var(--orange)}.status-notice{display:inline-block;padding:8px 13px;border-radius:var(--radius-sm);background:#f7e4df;color:#813321;font-weight:900}.panasonic-guide .comparison-table{padding:0;margin:28px 0}.panasonic-guide .comparison-table h2{margin:0}.panasonic-guide .comparison-table__scroll{overflow:auto}.panasonic-guide table{width:100%;border-collapse:collapse}.panasonic-guide th,.panasonic-guide td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
@media(max-width:900px){.chooser form{grid-template-columns:repeat(2,minmax(0,1fr))}.chooser button{grid-column:1/-1}}
@media(max-width:620px){.quick-picks__grid,.selection-guide__grid{grid-template-columns:1fr}.editorial-panel>header,.editorial-products>header{padding:18px}.quick-pick,.selection-guide__grid>section{padding:18px}.chooser form{grid-template-columns:1fr;padding:18px}.chooser__result{margin:0 18px 18px}.research-note{padding:20px}}
.theme-card__visual{display:block;aspect-ratio:16/9;margin:0 0 18px;overflow:hidden;border:1px solid var(--line);background:var(--soft)}
.theme-card__visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 54%}
.shelf-control:disabled{opacity:.42;cursor:not-allowed}
.facts-title{margin:18px 0 4px;font-size:.95rem}
.product-card{padding:16px;min-height:330px;border-top:3px solid var(--navy)}
.product-card .product-brand{margin:0 0 4px}
.product-identity-label{margin:0 0 3px!important;color:var(--orange)!important;font-size:.68rem!important;font-weight:800;letter-spacing:.04em}
.product-card h3{font-size:1.02rem;line-height:1.45;margin:0 0 12px}
.product-model{margin:0 0 9px!important;color:var(--ink)!important;font-size:.78rem!important;line-height:1.45!important}
.product-model span{display:block;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.04em}
.product-model strong{font-weight:700}
.product-purpose,.product-spec{margin:0 0 9px!important;color:var(--ink)!important;font-size:.78rem!important;line-height:1.55!important}
.product-purpose span,.product-spec span{display:block;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.04em}
.product-card .product-score{margin:auto 0 10px}
.product-card .product-link{margin-top:0}
.ranking-main .product-brand{margin:0 0 4px}
.ranking-main .product-purpose{max-width:680px;margin:10px 0 0!important}
.ranking-quick-score{display:flex;align-items:baseline;gap:4px;max-width:280px;margin:14px 0 8px!important;padding-top:9px;border-top:1px solid var(--line);font-size:.74rem}
.ranking-quick-score strong{font-size:1.55rem;color:var(--orange)}
.ranking-quick-score small{color:var(--muted)}
.ranking-main .product-link{max-width:280px;margin:0 0 18px}
.score-panel h3{margin:0 0 12px;font-size:.85rem}
.ranking-item--scored{grid-template-columns:minmax(0,1fr) 245px}
.ranking-item--comparison{grid-template-columns:1fr}
.brand-comparison-list{padding-left:1.25rem}
.brand-comparison-list li{margin:16px 0}
.brand-comparison-list p{margin:4px 0;color:var(--muted)}
.brand-product-list{display:grid;gap:18px;list-style:none;padding:0}
.brand-product-list li{border-left:3px solid var(--line);padding-left:16px}
.brand-product-list h3{margin:0 0 8px;font-size:1.05rem}
.brand-product-list p{margin:6px 0}
[data-brand-publisher]+[data-brand-publisher]::before{content:"、"}
.brand-context{margin-top:48px;padding-top:12px;border-top:3px solid var(--navy)}
.brand-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.brand-context-takeaway{padding:18px;border:1px solid var(--line);background:#fff}
.brand-context-takeaway h3{margin:0 0 10px;font-size:1rem;line-height:1.55}
.brand-context-takeaway p{margin:8px 0}
.brand-context-takeaway .context-citation{margin-top:14px;color:var(--muted);font-size:.78rem;line-height:1.65}
@media(max-width:720px){.brand-context-grid{grid-template-columns:1fr}}
@media(max-width:900px){.ranking-item--scored{grid-template-columns:1fr}.ranking-item--scored .score-panel{grid-column:1}}
@media(max-width:620px){.theme-card__visual{margin-bottom:14px}.product-card>.product-identity-label,.product-card>.product-model,.product-card>.product-purpose,.product-card>.product-spec{display:block!important}.product-card{min-height:330px}}
.product-card{padding:0}
.product-card__link{display:flex;flex:1;flex-direction:column;min-width:0;padding:16px;color:inherit;text-decoration:none}
.product-card__link:hover{background:#fbfcfe}
.product-card__link:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
@media(max-width:620px){.product-card__link{padding:10px}.product-card__link>.product-identity-label,.product-card__link>.product-model,.product-card__link>.product-purpose,.product-card__link>.product-spec{display:block!important}}
.comparison-table{background:var(--paper);padding:26px 24px 22px;margin-bottom:32px}
.comparison-table h2,.comparison-table h3{margin:0 0 16px;font-size:1.3rem}
.comparison-table__scroll{overflow-x:auto}
.comparison-table__scroll:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.comparison-table table{width:100%;border-collapse:collapse;font-size:.84rem;line-height:1.6}
.comparison-table th,.comparison-table td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.comparison-table thead th{background:var(--soft);color:var(--navy);font-size:.76rem;letter-spacing:.03em;white-space:nowrap;border-bottom:2px solid var(--navy)}
.comparison-table tbody th{font-weight:700;color:var(--ink);min-width:190px}
.comparison-table tbody td{color:var(--muted)}
.comparison-table tbody tr:last-child th,.comparison-table tbody tr:last-child td{border-bottom:0}
.comparison-table td:nth-child(3){white-space:nowrap}
.comparison-table td:last-child{min-width:230px}
@media(max-width:620px){.comparison-table{padding:20px 14px 16px}.comparison-table table{font-size:.8rem}.comparison-table tbody th{min-width:150px}}
/* Softening layer: the catalog reads as machine output when every surface is a
   right-angled 1px box, so round the surfaces, lift the interactive ones, and
   warm the canvas a little. Accent stays #bd452f to keep WCAG AA on both. */
:root{--radius:10px;--radius-sm:6px;--canvas:#f5f5f4;--soft:#eef0f2;--shadow:0 1px 2px rgba(23,36,59,.05),0 6px 16px -9px rgba(23,36,59,.16);--shadow-lift:0 2px 5px rgba(23,36,59,.07),0 16px 30px -14px rgba(23,36,59,.24)}
.theme-directory,.catalog-intro,.ranking-intro,.criteria-box,.comparison-table,.product-shelf,.theme-search,.document-page>article{border-radius:var(--radius);box-shadow:var(--shadow)}
.theme-card__visual,.brand-context-takeaway{border-radius:var(--radius-sm)}
.product-card,.ranking-item{border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.product-card{transition:box-shadow .18s ease,transform .18s ease}
.product-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.product-card__link{border-radius:inherit}
.product-card__link:hover{background:#fbfbfa}
.product-link,.theme-search button,.theme-search input,.shelf-control{border-radius:var(--radius-sm)}
.product-link{transition:background-color .18s ease}
.product-link:hover{background:var(--navy-2)}
.theme-search button{transition:opacity .18s ease}
.theme-search button:hover{opacity:.88}
.shelf-control{transition:background-color .18s ease,border-color .18s ease}
.shelf-control:not(:disabled):hover{background:var(--soft);border-color:var(--navy)}
.global-header nav a,.global-footer a{transition:opacity .18s ease}
.global-header nav a:hover,.global-footer a:hover{opacity:.75}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.product-card:hover{transform:none}}
.related-themes{background:var(--paper);padding:26px 24px 22px;margin-bottom:70px;border-radius:var(--radius);box-shadow:var(--shadow)}
.related-themes h2{margin:0 0 16px;font-size:1.3rem}
.related-themes ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 32px;list-style:none;padding:0;margin:0}
.related-themes li{border-top:1px solid var(--line);padding-top:14px}
.related-themes a{font-weight:700;text-decoration-color:var(--orange);text-underline-offset:4px}
.related-themes p{margin:6px 0 0;color:var(--muted);font-size:.85rem;line-height:1.6}
@media(max-width:620px){.related-themes{padding:20px 16px 16px}.related-themes ul{grid-template-columns:1fr;gap:14px}}
/* Brand pages listed the same attributes as bold-text-and-colon. Give them
   the label column the comparison cards use, so one product reads the same
   way wherever it appears. */
.brand-product-list li{min-width:0;border-left:0;padding:22px 24px;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow)}
.brand-product-list h3{font-size:1.18rem;line-height:1.55;margin:0 0 12px}
.brand-product-list .product-model,.brand-product-list .product-spec,.brand-product-list .product-fields{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:14px;padding:10px 0;margin:0;border-top:1px dotted var(--line);font-size:.98rem;line-height:1.8;color:var(--ink)}
.brand-product-list .product-model span,.brand-product-list .product-spec span,.brand-product-list .product-fields span{display:block;color:var(--muted);font-size:.94rem;font-weight:700;letter-spacing:.02em}
@media(max-width:620px){.brand-product-list li{padding:18px 16px}.brand-product-list .product-model,.brand-product-list .product-spec,.brand-product-list .product-fields{grid-template-columns:minmax(0,1fr);gap:2px}}
/* Top page: search, image shelves, then category navigation. */
.hub-body{--max:1040px}
.hub-body .hub-hero{display:block;padding:46px 0 28px;text-align:center}
.hub-body .hub-hero h1{font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.5;letter-spacing:0}
.hub-body .theme-search{max-width:640px;margin:22px auto 0;padding:0;border:0;background:transparent;box-shadow:none}
.hub-body .theme-search label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hub-body .theme-search div{display:flex;gap:8px}
.hub-body .theme-search input{background:#fff}
.hub-body .theme-search button{width:auto;margin:0;padding:0 24px;min-height:48px}
.hub-body .search-result{margin:12px 0 0;font-size:1rem}
.hub-body .search-result:empty{display:none}
.theme-group,.group-jump{width:min(var(--max),calc(100% - 40px));margin:0 auto 28px;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);scroll-margin-top:20px}
.theme-group>header{padding:20px 28px 8px}
.theme-group>header h2,.group-jump h2{margin:0;font-size:1.3rem}
.theme-group .shelf-frame{grid-template-columns:44px minmax(0,1fr) 44px;padding:12px 16px 24px}
.theme-group .shelf-control{width:44px;min-height:44px;visibility:hidden}
.theme-group .shelf-viewport{overflow-x:auto;scroll-behavior:auto}
.theme-group[data-shelf-ready] .shelf-control{visibility:visible}
.theme-group[data-shelf-ready] .shelf-viewport{overflow-x:hidden}
.theme-group .theme-card{min-width:0;padding:6px;border:0}
.theme-group .theme-card__visual{margin:0 0 12px;border:0}
.theme-group .theme-card h3{margin:0;font-size:1rem;line-height:1.65;font-weight:700;text-wrap:wrap;word-break:normal;overflow-wrap:normal}
.theme-group .theme-card h3 a{text-decoration:none}
.theme-group .theme-card a:hover{text-decoration:underline;text-underline-offset:4px}
.hub-body :where(a,button,input,[tabindex]):focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.group-jump{padding:24px 28px;margin-bottom:48px}
.group-jump ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;list-style:none;padding:0;margin:16px 0 0}
.group-jump a{display:block;min-height:44px;padding:10px 0;font-size:1rem;text-underline-offset:4px}
@media(max-width:620px){.hub-body .hub-hero{padding-top:32px}.hub-body .theme-search button{padding:0 18px}.theme-group,.group-jump{width:min(100% - 24px,var(--max))}.theme-group>header{padding:16px 16px 6px}.theme-group .shelf-frame{padding:10px 0 18px}.group-jump{padding:20px 16px}.group-jump ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}}
/* Readability treatment B. The sheet above ran its secondary text at .68-.9rem,
   roughly 11-14px, which is small for Japanese, and separated everything with
   1px rules. This layer raises the small sizes, softens the near-black navy,
   and replaces rules with surfaces. Accent stays #bd452f for its verified AA
   contrast on both white and the light ground. */
:root{--navy:#4a443f;--navy-2:#5a534d;--ink:#2b2724;--muted:#6d655d;--canvas:#f6f4f1;--line:#e6e1da;--soft:#efebe5;--orange:#a8402b}
body{font-size:17px;line-height:1.85}
:where(h1){text-wrap:balance;word-break:auto-phrase;overflow-wrap:anywhere}
:where(h2){text-wrap:balance;word-break:normal;overflow-wrap:anywhere}
:where(h3){text-wrap:balance;word-break:normal;overflow-wrap:anywhere}
:where(p,li,summary,dt,dd){text-wrap:pretty;word-break:auto-phrase}
.heading-part{display:inline-block}
.global-header{min-height:72px}
.global-brand{font-size:1.5rem}
.global-header nav a{font-size:1rem}
/* Section headings become a solid band, so structure reads without rules. */
.product-shelf,.criteria-box,.comparison-table,.related-themes,.theme-directory{padding:0;overflow:hidden}
.product-shelf>header,.criteria-box>header,.comparison-table>h2,.comparison-table>h3,.related-themes>h2,.theme-directory>header{margin:0;padding:16px 24px;background:var(--navy);color:#fff;border-radius:var(--radius) var(--radius) 0 0;border-bottom:0}
.product-shelf>header h2,.criteria-box>header h2,.comparison-table>h2,.comparison-table>h3,.related-themes>h2,.theme-directory>header h2{font-size:1.28rem;color:#fff;border:0}
.theme-directory>header p,.theme-directory>header .section-label{color:#e7e1da}
.theme-grid{padding:8px 30px 30px}
.criteria-box>header a,.product-shelf>header .shelf-more{color:#fff;text-decoration-color:rgba(255,255,255,.6)}
.product-shelf .shelf-frame{padding:20px 18px 22px}
.criteria-box ol{padding:24px}
.comparison-table__scroll{padding:0 4px 8px}
.related-themes ul{padding:22px 24px 26px}
.criteria-box li p,.related-themes p,.theme-directory header p,.shelf-more{font-size:1rem}
/* Card interiors: label and value side by side where the card is wide enough. */
.product-card{min-height:376px}
.product-card__link{padding:20px}
.product-brand,.ranking-main .product-brand{font-size:.95rem}
.product-identity-label{font-size:.82rem!important}
.product-card h3{font-size:1.12rem;line-height:1.55;margin-bottom:14px}
.product-model,.product-purpose,.product-spec,.product-caution{font-size:.98rem!important;line-height:1.8!important;margin:0 0 11px!important}
.product-model span,.product-purpose span,.product-spec span,.product-caution span{font-size:.86rem;letter-spacing:.02em}
.product-link{font-size:.98rem;padding:12px 10px;border-radius:8px}
.ranking-item{border:0}
.ranking-main{padding:26px 28px}
.ranking-main h2{font-size:1.32rem;line-height:1.5}
.ranking-main .product-model,.ranking-main .product-purpose,.ranking-main .product-spec,.ranking-main .product-caution{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:14px;padding:10px 0;margin:0!important;border-top:1px dotted var(--line)}
.ranking-main .product-model span,.ranking-main .product-purpose span,.ranking-main .product-spec span,.ranking-main .product-caution span{font-size:.94rem;font-weight:700;margin:0}
.ranking-main>p,.fact-list,.facts-title{font-size:1rem}
.ranking-main .product-link{max-width:320px;padding:13px 26px;margin:20px 0 0}
.comparison-table table{font-size:.98rem;line-height:1.75}
.comparison-table thead th{font-size:.9rem}
.comparison-table th,.comparison-table td{padding:14px 16px}
.brand-product-list p,.brand-comparison-list p,.brand-context-takeaway p,.document-page p{font-size:1rem}
.theme-card h2{font-size:1.4rem}
.theme-card p{font-size:1.02rem}
.hub-hero>p:not(.section-label):not(.search-result){font-size:1.14rem}
.section-label{font-size:.88rem}
.source-note,.updated-at,.context-citation{font-size:.95rem!important}
.global-footer__inner span,.global-footer__inner>p:last-child{font-size:.98rem}
@media(max-width:900px){.ranking-main .product-model,.ranking-main .product-purpose,.ranking-main .product-spec,.ranking-main .product-caution{grid-template-columns:7rem minmax(0,1fr);gap:10px}}
@media(max-width:620px){.product-shelf>header,.criteria-box>header,.comparison-table>h2,.comparison-table>h3,.related-themes>h2{padding:14px 16px}.product-shelf .shelf-frame{padding:16px 8px 18px}.criteria-box ol,.related-themes ul{padding:18px 16px}.ranking-main{padding:22px 18px}.ranking-main .product-model,.ranking-main .product-purpose,.ranking-main .product-spec,.ranking-main .product-caution{grid-template-columns:minmax(0,1fr);gap:2px}.ranking-main .product-model span,.ranking-main .product-purpose span,.ranking-main .product-spec span,.ranking-main .product-caution span{color:var(--muted)}.product-card{min-height:392px}}
.editorial-intro__scope{margin-top:12px}
.selection-guide__body{padding:24px}
.selection-guide__body p:first-child{margin-top:0}
.selection-guide__body>ul:last-child{margin-bottom:0}
.comparison-table__note{margin:14px 16px 4px;color:var(--muted)}
@media(max-width:620px){.selection-guide__body{padding:18px}}
@media(max-width:620px){.catalog-intro h1,.ranking-intro h1{font-size:clamp(1.45rem,6vw,1.75rem)}.document-page>article{padding:24px 18px}.document-page h1{font-size:clamp(1.35rem,5.7vw,2rem)}.heading-part{display:block}}
.chooser--three form{grid-template-columns:repeat(3,minmax(0,1fr))}
.chooser--three select,.chooser--three button{min-height:44px}
@media(max-width:620px){.chooser--three form{grid-template-columns:1fr}}

[data-shelf-layout="grid"] .shelf-control{display:none}
[data-shelf-layout="grid"] .shelf-frame{display:block}
[data-shelf-layout="grid"] .shelf-viewport{overflow:visible}
[data-shelf-layout="grid"] .shelf-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-columns:auto;grid-auto-flow:row;gap:20px;transform:none!important}
[data-shelf-layout="grid"] .product-card{min-width:0;min-height:0;scroll-margin-top:24px}
[data-shelf-layout="grid"] .product-card[hidden]{display:none}
[data-shelf-layout="grid"] .product-card__link{min-height:0}
[data-shelf-layout="grid"] .product-purpose,[data-shelf-layout="grid"] .product-spec{display:block!important}
.mat-layout{margin:0;padding:16px 16px 8px;border-bottom:1px solid var(--line);background:#fff}
.mat-layout svg{display:block;width:100%;height:220px}
.mat-layout figcaption{font-size:.94rem;text-align:center;color:var(--ink)}
.mat-person-settings{grid-column:1/-1}.mat-person-settings summary{cursor:pointer;font-weight:700}
.mat-person-settings label{display:inline-block;max-width:210px;margin:8px 16px 8px 0}
.chooser .mat-reset{background:#fff;color:var(--navy);border:1px solid var(--navy)}
@media(max-width:900px){[data-shelf-layout="grid"] .shelf-track{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){[data-shelf-layout="grid"] .shelf-track{grid-template-columns:1fr}.mat-layout svg{height:240px}}

.article-advertising-notice{grid-column:1/-1;margin:.75rem 0 1rem;font-size:.9rem;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
.article-advertising-notice a{margin-inline-start:.5em;color:var(--ink);text-decoration:underline;text-underline-offset:.2em}
.article-advertising-notice a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}

