/* Presentation only. Product conditions, article text and search metadata stay in their source modules. */
:root{--ink:#24323b;--muted:#626d75;--blue:#225e80;--navy:#193e52;--line:#dfe5e7;--pale:#f4f6f6;--orange:#b85822;--sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,system-ui,sans-serif}
body{background:#fbfcfc;color:var(--ink);font-family:var(--sans);line-height:1.8;-webkit-font-smoothing:antialiased}
a{text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{color:#153d54}
:focus-visible{outline:3px solid #bd662a;outline-offset:4px}
.wrap{max-width:1392px;padding-left:32px;padding-right:32px}
.site-header{border-top:3px solid var(--navy);background:white;border-bottom:1px solid var(--line)}
.utility{border:0;padding:9px 0 0;font-size:11px;color:var(--muted)}
.masthead{min-height:79px}
.brand{color:var(--navy);font-size:28px;letter-spacing:-.03em;gap:11px}
.brand-guide{color:var(--ink)}
.brand-mark{width:34px;height:38px;font-size:25px;border-radius:3px;background:#bd662a}
.header-meta{font-size:12px;color:var(--muted)}
.header-meta strong{font-size:21px;color:var(--ink)}
.nav{border:0;background:white;gap:0}
.nav a,.nav a:nth-child(n){border:0;background:transparent;min-height:50px;padding:13px 8px;font-size:14px;color:#4b5d68;box-shadow:none}
.nav a.active,.nav a.active:hover{background:transparent;color:var(--navy);box-shadow:inset 0 -3px var(--navy)}
.nav a:hover{background:#f4f7f8;color:var(--navy)}
.page-main{padding-top:26px;padding-bottom:32px}
.site-columns{grid-template-columns:184px minmax(0,1fr);gap:32px}
.side-box{border:0;border-radius:0;background:transparent;margin-bottom:22px}
.side-box h2{background:none;border:0;padding:0 8px 8px;font-size:12px;color:#5b6870;letter-spacing:.02em}
.side-box a{padding:10px 8px;font-size:13px;gap:8px;color:#3b5360}
.side-box a:hover{background:#eff4f5;text-decoration:none;border-radius:4px}
.side-box li+li{border-color:#e8ecee}
.side-box .count{font-size:11px;white-space:nowrap;color:#6a757e}
.side-note{border:0;border-top:1px solid var(--line);background:transparent;padding:16px 8px;font-size:12px;color:var(--muted)}
.crumb{font-size:12px;color:#67747c;gap:8px;margin-bottom:23px;line-height:1.8}
.page-heading{background:transparent;border:0;padding:0;margin:0 0 28px}
.page-heading h1{color:var(--ink);font-size:clamp(25px,2.4vw,34px);line-height:1.6;letter-spacing:.005em}
.page-heading p{margin-top:14px;color:#586773;line-height:1.85}
.section{margin-top:36px;margin-bottom:36px}
.section-head,.box-heading{background:transparent;border:0;border-radius:0;padding:0 0 14px;margin:0 0 20px;border-bottom:1px solid var(--line);color:var(--ink);gap:14px}
.section-head h2,.box-heading{font-size:21px;line-height:1.6;color:var(--ink)}
.section-head>a{font-size:13px;flex-shrink:0}
.portal-panel{background:transparent;border:0;overflow:visible}
.portal-panel>.box-heading,.portal-panel>.section-head{border-bottom:1px solid var(--line)}
.portal-hero{grid-template-columns:minmax(0,1fr) 350px;gap:28px 40px;background:#f0f4f3;border:0;border-radius:7px;box-shadow:none;padding:40px 44px 28px;margin:0 0 36px;min-height:0}
.hero-kicker{font-size:13px;letter-spacing:.05em;color:#4c676c;margin:0 0 12px}
.portal-hero h1{font-size:clamp(32px,3.3vw,46px);line-height:1.4;letter-spacing:-.025em;color:var(--navy);margin:0 0 16px}
.portal-hero h1>span{display:block;background:none;color:inherit;padding:0;margin:0}
.hero-description{font-size:14px;font-weight:400;line-height:1.8;color:#4c6067}
.hero-links{gap:8px;margin-top:22px}
.hero-links a,.hero-links a:last-child{padding:7px 12px;font-size:12px;border:1px solid #c9d6d8;border-radius:4px;background:#fff;color:#345462}
.hero-links a:hover{background:#e7eeef;text-decoration:none}
.hero-artwork{position:relative;height:210px;isolation:isolate}
.hero-artwork img{position:absolute;width:205px;height:132px;object-fit:contain;filter:drop-shadow(0 9px 10px #173d521c)}
.hero-artwork img:nth-child(1){left:0;top:2px;transform:rotate(-8deg)}
.hero-artwork img:nth-child(2){right:0;top:20px;transform:rotate(8deg)}
.hero-artwork img:nth-child(3){left:74px;bottom:0}
.hero-criteria{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:0;border-top:1px solid #d3dfe0;padding:20px 0 0;margin:0;gap:28px}
.hero-criteria a,.hero-criteria a+a{border:0;padding:0}
.hero-criteria strong{font-size:14px;color:var(--navy)}
.hero-criteria span{font-size:12px;color:#5d6e73}
.home-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:28px}
.home-highlights>.section,.home-highlights>.info-box{margin:0;padding:18px 0 20px;background:transparent;border:0;border-top:2px solid #c6d3d8;border-radius:0}
.home-highlights h2{font-size:19px;line-height:1.65;margin:0 0 12px;color:var(--ink)}
.home-highlights p,.home-highlights li{font-size:13px;line-height:1.9;color:#5d6b75}
.home-highlights a{font-size:13px}
.home-highlights .section-head{display:block;padding:0;border:0;margin-bottom:12px}
.home-highlights .section-head a{display:inline-block;margin-top:2px}
.home-highlights ul{margin-bottom:0;padding-left:18px}
.money-entrance{padding:28px;background:#edf3f5;border:0;border-radius:6px;margin:0 0 36px}
.money-entrance .eyebrow{font-size:12px;color:#526b79}
.money-entrance h2{font-size:23px;line-height:1.6}
.category-section{margin-bottom:36px}
.category-links{padding:0;background:none;gap:12px}
.category-links>a{border:1px solid var(--line);border-radius:5px;padding:20px;min-height:104px;background:white;gap:14px}
.category-links>a:hover{background:#f4f8f8;text-decoration:none;border-color:#a3b8c0}
.category-links strong{font-size:15px;color:var(--ink)}
.category-links small{font-size:12px;line-height:1.7;color:var(--muted)}
.purpose-icon{width:38px;height:38px;flex-basis:38px}
.news-box{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;background:transparent;margin:34px 0}
.news-box h2{font-size:18px;padding:0 0 12px;color:var(--ink)}
.news-box ul{border:0;padding:0;background:transparent}
.news-box li{padding:12px 0;gap:18px}
.news-box li span{font-size:12px;color:#687780;font-variant-numeric:tabular-nums}
.featured-cards,.latest-cards{margin:0;gap:16px;border:0;border-radius:0;background:transparent;grid-template-columns:repeat(3,minmax(0,1fr))}
.featured-card,.featured-card+.featured-card,.featured-card:nth-child(n){padding:20px 16px;background:white;border:1px solid var(--line);border-radius:6px;text-align:left}
.featured-label{font-size:11px;color:#62727b}
.featured-card-link img{height:116px;margin:18px auto 20px}
.featured-card h3{font-size:15px;line-height:1.7;min-height:52px;color:var(--navy)}
.featured-fee{font-size:11px;margin:14px 0;color:#62727b}
.featured-fee strong{color:var(--ink);font-size:13px;font-weight:600}
.featured-detail{border:0;border-top:1px solid var(--line);padding:12px 0 0;background:transparent;color:var(--blue);font-size:12px;text-align:right}
.featured-image-credit{font-size:10px;color:#6a757d}
.featured-compare{padding:16px 0 0}
.latest-intro{margin:0 0 20px;font-size:13px;color:var(--muted)}
.finder{border:1px solid var(--line);border-radius:6px;background:white;padding:22px;gap:20px}
.control-label{font-size:12px;color:#5c6b75}
.chip{font-size:12px;padding:7px 12px;border-color:#cdd8dc;border-radius:4px;background:white}
.chip[aria-pressed=true],.chip[aria-current=page]{background:var(--navy);border-color:var(--navy);color:white}
.search{background:#fbfcfc;border-color:#c5d0d5;border-radius:4px;padding:10px 12px}
.results-heading{border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:18px;font-size:13px}
.catalog{gap:22px}
.product{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:white}
.product-heading{background:transparent;border-bottom:1px solid #edf0f2;padding:19px 24px;gap:14px}
.product h3{font-size:19px;line-height:1.6}
.category{font-size:11px;background:#f1f5f5;color:#56707b;border:0;border-radius:3px;white-space:normal}
.product-content{display:grid;grid-template-columns:170px minmax(0,1fr);padding:24px;gap:26px}
.card-image-frame{background:transparent;border:0}
.product-feature{font-size:15px;line-height:1.85}
.brand-label{color:#6d7781;font-size:11px}
.product-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;border:0}
.product-specs>div,.product-specs>div+div{display:block;border:0;background:#f5f7f7;border-radius:4px;padding:13px 14px}
.product-specs dt{border:0;background:none;font-size:11px;padding:0 0 6px;color:#64717a}
.product-specs dd{font-size:14px;font-weight:600;padding:0;color:var(--ink)}
.product-note{font-size:13px;line-height:1.85;margin:0;padding:0 24px;color:#5a6872}
.product-checked{font-size:11px;margin:10px 24px 18px}
.product-bottom{background:transparent;border-top:1px solid #edf0f2;padding:14px 24px;gap:12px}
.detail-button{border:1px solid #b8cbd2;border-radius:4px;background:white;color:var(--navy);font-size:13px;padding:8px 16px}
.detail-button:hover{background:#edf3f4}
.check{font-size:12px;min-height:32px}
.btn{border-radius:4px;background:var(--navy);border-color:var(--navy);font-size:14px;padding:11px 18px}
.btn.secondary{background:white;color:var(--navy);border-color:#bfced4}
.editorial-grid{border:0;gap:18px}
.editorial,.editorial+.editorial{border:0;border-top:2px solid #d7e0e4;background:transparent;padding:22px 0}
.editorial h3{font-size:17px;line-height:1.8;margin:12px 0}
.editorial p{font-size:13px;color:#60707a;line-height:1.85}
.meta{color:#667680;font-size:12px}
.date-line{font-size:12px;color:#6b7881;gap:8px 20px;line-height:1.8;flex-wrap:wrap}
.article-row{padding:22px 4px;border-color:var(--line)}
.article-row h2{font-size:18px;line-height:1.8}
.article-row p{font-size:13px;color:#61707a;line-height:1.9}
.compact-directory{position:static;max-height:none;overflow:visible;grid-column:1/-1;width:100%}
.directory-menu{border-bottom:1px solid var(--line);margin:0 0 8px;padding-bottom:12px}
.directory-menu>summary{cursor:pointer;font-size:12px;color:#536875;width:fit-content;margin-left:auto;padding:3px 0}
.directory-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-top:24px}
body[data-page-type=article] .site-columns,body[data-page-type=detail] .site-columns{grid-template-columns:minmax(0,1fr);gap:20px;max-width:1120px;margin:auto}
body[data-page-type=article] .article-heading{padding:0 0 20px;margin-bottom:24px;border-bottom:1px solid var(--line);background:none}
.article-category{font-size:12px;color:#496976;letter-spacing:.04em;margin-bottom:14px}
.article-heading h1{max-width:1000px;font-size:clamp(25px,2.5vw,35px);line-height:1.65;margin-bottom:20px}
.details-layout{grid-template-columns:minmax(0,1fr) 236px;gap:52px}
.reading{min-width:0;color:#34454f}
.reading p{font-size:16px;line-height:2.05;margin:20px 0}
.reading .intro{font-size:16px;line-height:1.95;margin:0 0 24px;color:#43545f}
.reading>section{margin-top:40px}
.reading h2{border:0;border-bottom:1px solid #d8e2e5;background:transparent;color:#213e4e;font-size:23px;padding:0 0 15px;margin:44px 0 24px;line-height:1.7}
.reading h3{font-size:18px;border:0;color:#2f4b59;padding:0;margin:30px 0 14px;line-height:1.8}
.reading li{line-height:1.95;margin:8px 0}
.reading .article-answer{background:transparent;border:0;border-top:2px solid #426575;border-bottom:1px solid var(--line);border-radius:0;padding:22px 0;margin:26px 0}
.reading .article-answer h2{font-size:21px;border:0;padding:0;margin:0 0 16px;color:#264e5d}
.reading .article-answer p{margin:14px 0;font-size:15px;line-height:1.95}
.reading .article-answer .source-note{font-size:12px;color:#5b727a}
.reading .article-answer .answer-detail{font-size:13px}
.reading .info-box{border:0;border-left:3px solid #bbcdd4;background:#f6f8f8;padding:16px 20px;border-radius:0;margin:24px 0}
.reading .info-box p{font-size:15px}
.reading .article-table{font-size:14px;line-height:1.85;margin:16px 0 10px}
.reading .article-table th,.reading .article-table td{padding:15px 16px;border-color:var(--line)}
.reading .article-table th{background:#edf2f3;color:#354e5c}
.reading .article-table td{background:white}
.table-scroll{border-radius:5px}
.details-layout>.aside-sticky{background:transparent;border:0;border-left:1px solid var(--line);border-radius:0;padding:0 0 0 24px}
.aside-sticky h2{font-size:13px;letter-spacing:.05em;color:#687b85;margin:0 0 16px}
.aside-sticky .article-toc{font-size:12px;padding-left:18px;margin:0 0 24px}
.article-toc li{padding:5px 0;line-height:1.9}
.article-toc a{color:#4b6573}
.aside-sticky p{font-size:13px;color:#5b6e78;line-height:1.9}
.aside-sticky .btn{font-size:12px}
.article-toc-mobile{border:1px solid var(--line);border-radius:5px;background:white;padding:17px 20px;margin:24px 0}
.article-toc-mobile summary{font-size:14px;color:#345464}
.facts{border-color:var(--line);border-radius:5px;overflow:hidden}
.fact dt{background:#f2f5f5;color:#5a6f79;font-size:13px;padding:16px}
.fact dd{padding:16px;font-size:15px;line-height:1.9}
.fact{border-color:var(--line)}
.card-overview{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start;margin:30px 0}
.card-visual{min-width:0}.card-visual .card-art-detail{width:100%;margin:0}.card-visual .card-image-frame{height:155px}.card-visual .image-source{font-size:11px;line-height:1.8;margin:14px 0;color:#667680}
.card-overview .facts{margin:0}.card-overview .fact{grid-template-columns:112px minmax(0,1fr)}.card-overview .fact dt,.card-overview .fact dd{padding:13px;font-size:13px}
.consumer-company{gap:26px;padding:26px 12px;border-color:var(--line)}
.consumer-article-brand{border-color:var(--line);border-radius:5px;padding:22px 24px}
.consumer-article-brand figcaption{font-size:16px}
.source-list{font-size:13px;line-height:1.9}
.footer{border-top:1px solid var(--line);background:#edf2f3;margin-top:48px;padding-top:36px}
.footer-brand{font-size:19px;color:var(--navy)}
.footer p,.footer-bottom{font-size:11px;color:#657680;line-height:1.9}
.footer-links{gap:12px 22px;font-size:12px}
.footer-top{margin-bottom:24px}
@media(min-width:1200px){.site-sidebar:not(.compact-directory){top:24px;max-height:calc(100dvh - 48px)}.details-layout>.aside-sticky{top:32px;max-height:calc(100dvh - 64px)}.featured-section .featured-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1199px){.wrap{padding-left:24px;padding-right:24px}.site-columns{grid-template-columns:168px minmax(0,1fr);gap:24px}.reading{max-width:780px}.details-layout{display:block}.reading+.aside-sticky{margin-top:32px;padding:22px;border:1px solid var(--line)}.featured-cards,.latest-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-hero{grid-template-columns:minmax(0,1fr) 280px;padding:32px;gap:24px}.hero-artwork{height:180px}.hero-artwork img{width:170px;height:110px}.hero-artwork img:nth-child(3){left:52px}.directory-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.home-highlights{grid-template-columns:1fr}}
@media(max-width:720px){
 .wrap{padding-left:18px;padding-right:18px}.utility{padding-top:8px;font-size:10px;gap:10px}.utility>span{max-width:65%}.masthead{min-height:65px}.brand{font-size:23px;gap:9px}.brand-mark{width:29px;height:33px;font-size:23px}.header-meta{display:none}
 .nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.nav a:nth-child(n){font-size:11px;line-height:1.5;min-height:44px;padding:12px 2px;border:0}.nav a.active{box-shadow:inset 0 -2px var(--navy)}
 .page-main{padding-top:20px}.site-columns{display:block}.site-sidebar:not(.compact-directory){display:none}.compact-directory{display:block;margin-bottom:22px}.directory-menu{padding-bottom:12px}.directory-menu>summary{font-size:11px}.directory-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.side-box a{font-size:12px;padding:10px 2px}.side-box h2{font-size:11px;padding-left:2px}.side-note{padding-left:2px}
 .crumb{font-size:10px;margin-bottom:22px;gap:6px}.page-heading{margin-bottom:24px}.page-heading h1,.article-heading h1{font-size:25px;line-height:1.65;letter-spacing:0}.page-heading p{font-size:14px}.article-heading h1{margin-bottom:18px}.article-category{font-size:11px;margin-bottom:10px}.date-line{font-size:10px;gap:5px 12px}
 .portal-hero{display:grid;grid-template-columns:minmax(0,1fr);padding:28px 22px 22px;gap:24px;margin-bottom:28px}.hero-kicker{font-size:11px;margin-bottom:12px}.portal-hero h1{font-size:clamp(21px,7vw,31px);line-height:1.4;margin-bottom:16px}.hero-description{font-size:13px;line-height:1.9}.hero-links{margin-top:20px;gap:7px}.hero-links a,.hero-links a:last-child{font-size:11px;padding:6px 9px}.hero-artwork{width:260px;max-width:100%;height:167px;margin:0 auto}.hero-artwork img{width:160px;height:103px}.hero-artwork img:nth-child(3){left:50px}.hero-criteria{padding-top:20px;gap:13px}.hero-criteria strong{font-size:12px}.hero-criteria span{font-size:10px;line-height:1.7}
 .home-highlights{gap:14px;margin-bottom:28px}.home-highlights>.section,.home-highlights>.info-box{padding:20px}.home-highlights h2{font-size:18px}.home-highlights p{font-size:13px}.money-entrance{padding:24px 20px;margin-bottom:30px}.money-entrance h2{font-size:21px}.money-entrance p{font-size:13px}
 .section{margin:30px 0}.section-head{gap:12px;align-items:flex-start;margin-bottom:18px;padding-bottom:14px;flex-wrap:wrap}.section-head h2,.box-heading{font-size:19px}.section-head>a{font-size:11px}.category-links{grid-template-columns:1fr;gap:10px}.category-links>a{min-height:86px;padding:17px 18px;gap:16px}.category-links strong{font-size:14px}.category-links small{font-size:12px}.purpose-icon{width:34px;flex-basis:34px}
 .news-box{padding:20px 0}.news-box li{padding:13px 0;gap:5px}.news-box li a{font-size:13px}.featured-cards,.latest-cards{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.featured-card,.featured-card:nth-child(n){padding:16px 12px}.featured-label{font-size:10px}.featured-card-link img{height:80px;margin:18px auto}.featured-card h3{font-size:13px;min-height:48px}.featured-fee strong{font-size:12px}.featured-detail{font-size:11px}.featured-compare{font-size:12px}.featured-image-credit{font-size:9px}
 .finder{padding:18px}.chip{font-size:11px;padding:7px 10px}.product-heading{padding:17px 18px;align-items:flex-start}.product h3{font-size:17px}.product-content{grid-template-columns:1fr;padding:20px 18px;gap:18px}.product-content>.card-artwork{max-width:220px;width:100%;margin:auto}.product-feature{font-size:14px}.product-specs{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.product-specs>div{padding:12px}.product-specs dd{font-size:13px}.product-note{padding:0 18px;font-size:12px}.product-checked{margin:12px 18px;font-size:10px}.product-bottom{padding:13px 18px}.detail-button{font-size:12px}.category{font-size:10px}.editorial-grid{gap:0}.editorial,.editorial+.editorial{padding:24px 0}.editorial h3{font-size:17px}.editorial p{font-size:13px}
 .reading p{font-size:16px;line-height:2;margin:20px 0}.reading .intro{font-size:15px;line-height:2;margin-bottom:26px}.reading h2{font-size:21px;line-height:1.75;margin:36px 0 22px;padding-bottom:14px}.reading h3{font-size:18px}.reading .article-answer{padding:22px 20px;margin:26px 0}.reading .article-answer h2{font-size:19px;line-height:1.75}.reading .article-answer p{font-size:14px}.reading .article-answer .source-note{font-size:11px}.reading .info-box{padding:18px}.reading .article-table{font-size:13px}.reading .article-table td,.reading .article-table th{padding:12px}.article-toc-mobile{padding:16px 18px}.article-toc-mobile ol{font-size:13px}.reading li{line-height:1.95}.fact dt{font-size:12px;padding:13px}.fact dd{font-size:14px;padding:13px}.consumer-article-brand{padding:18px 14px;gap:16px}.consumer-article-brand figcaption{font-size:14px}.consumer-company{padding:22px 0;gap:16px}.article-row h2{font-size:17px}.footer{margin-top:32px;padding-top:28px}.footer-links{gap:12px 18px}.footer-top{gap:20px}
}
@media(prefers-reduced-motion:no-preference){a,button{transition:background-color .15s,color .15s,border-color .15s}}
@media(max-width:720px){.card-overview{grid-template-columns:1fr;gap:22px;margin:26px 0}.card-visual{max-width:250px;margin:auto}.card-overview .fact{grid-template-columns:104px minmax(0,1fr)}}
/* Reading polish: use rules, not repeated filled panels, for editorial summaries. */
@media(max-width:720px){
 .home-highlights>.section,.home-highlights>.info-box{padding:18px 0 20px}
 .reading .article-answer{padding:20px 0}
 .reading .intro{line-height:1.95}
}

@media(max-width:360px){.nav a:nth-child(n){font-size:10px}.hero-artwork{min-width:0}}
