/* Contemporary Media 1.1: original, image-independent editorial interface. */
:root{--ink:#151d29;--navy:#102c47;--blue:#164a76;--muted:#687480;--line:#e1e5e9;--wash:#f5f7f8;--max:1320px}
body{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.75}
.container{width:min(calc(100% - 64px),var(--max))}
a:hover{color:#185d91}
.site-header{border-bottom:0;background:#fff;z-index:40}
.topline{background:#f6f7f8;border-bottom:1px solid var(--line);color:#6c7781}
.topline__inner{height:34px;display:flex;align-items:center;gap:18px;font-size:10px;font-weight:700;letter-spacing:.07em}
.topline__inner time{margin-right:auto;font-weight:500;letter-spacing:0}
.topline__links{display:flex;gap:20px}.topline__links a{color:#53616e}
.header-row{min-height:98px;justify-content:space-between;gap:20px}
.brand>a{gap:13px}.brand-mark{width:52px;height:52px;border-radius:0;background:#102c47;font-size:32px;letter-spacing:-.1em}
.brand-mark span{color:#9ac7ed}.brand-name{font-size:clamp(20px,2.35vw,32px);max-width:530px;line-height:1.15;letter-spacing:-.045em}
.brand-name small{display:block;color:#7b858d;font-size:9px;letter-spacing:.22em;font-weight:700;margin-top:7px}
.site-logo{max-height:64px}
.header-search{border:1px solid #d9dfe4;border-radius:0;max-width:305px;width:305px;min-width:160px;margin-left:auto}
.header-search input{font-size:12px;padding:11px 13px}.header-search button{padding:12px 16px;line-height:1.75}
.topicbar{background:#112e49;color:#fff}
.topicbar__inner{display:flex;align-items:stretch;justify-content:space-between;gap:14px;min-height:46px}
.site-nav{min-width:0;display:flex;align-items:stretch}
.nav-links{display:flex;flex-wrap:nowrap;gap:0;align-items:stretch}
.nav-links>li{display:flex;align-items:stretch}
.nav-links>li>a{color:#e9f0f6;font-size:12px;letter-spacing:.02em;padding:13px 16px;display:flex;align-items:center;position:relative}
.nav-links>li:first-child>a{padding-left:0}.nav-links>li>a:hover,.nav-links>li>a:focus-visible{color:#fff;background:rgba(255,255,255,.1);text-decoration:none}
.nav-links .sub-menu{top:100%;z-index:10;background:#fff;border-color:var(--line);box-shadow:0 15px 30px rgba(0,0,0,.08)}
.nav-links .sub-menu a{color:var(--ink)}
.topicbar__all{font-size:11px;color:#e0eef8;display:flex;align-items:center;white-space:nowrap;border-left:1px solid #486176;padding-left:18px;font-weight:700}
.topicbar__all:hover{color:#fff}
.menu-toggle{display:none;align-items:center;gap:8px;border:1px solid #d9dfe4;border-radius:0;padding:10px 12px;background:#fff;font-size:11px}
.menu-toggle__icon{display:grid;gap:4px}.menu-toggle__icon i{display:block;width:17px;height:2px;background:#14344f}
.magazine-intro{display:flex;align-items:end;justify-content:space-between;gap:25px;padding:35px 0 24px}
.magazine-intro__label{display:block;color:#1a577f;font-size:10px;font-weight:850;letter-spacing:.14em}
.magazine-intro__label span{padding:0 8px;color:#aeb9c1}
.magazine-intro h1{font-size:clamp(20px,2.35vw,29px);margin:8px 0 5px;letter-spacing:-.03em;line-height:1.35}
.magazine-intro p{font-size:12px;color:var(--muted);margin:0}
.magazine-intro__archive{font-size:12px;font-weight:700;white-space:nowrap}
.magazine-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.83fr) minmax(225px,.72fr);gap:26px;border-top:3px solid #102c47;border-bottom:1px solid var(--line);padding:19px 0 31px;align-items:stretch}
.magazine-hero>*{min-width:0}
.magazine-eyebrow{font-size:10px;font-weight:850;letter-spacing:.13em;color:#174e78;margin-bottom:16px;display:flex;align-items:center;gap:7px;text-transform:uppercase;line-height:1.5}
.magazine-eyebrow span:last-child{font-size:11px;letter-spacing:0;color:var(--muted);font-weight:600;margin-left:auto}
.magazine-dot{width:7px;height:7px;background:#1c6294;display:inline-block;flex:none}
.magazine-lead__image{display:block;aspect-ratio:1.66;overflow:hidden;background:#edf1f4}
.magazine-lead__image img,.magazine-headline__image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .22s}
.magazine-lead__image:hover img,.magazine-headline__image:hover img{transform:scale(1.025)}
.magazine-image-fallback{display:grid;place-items:center;width:100%;height:100%;background:#e5ecf1;color:#8097a7;font-weight:900;letter-spacing:.14em;font-size:12px}
.magazine-lead__image .magazine-image-fallback{background:#dce7ef;font-size:15px}
.magazine-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:10px;color:#7b858e;line-height:1.45}
.magazine-meta .magazine-category-label{font-weight:800;color:#1f648e}
.magazine-lead .magazine-meta{margin:17px 0 9px}
.magazine-lead h2{font-size:clamp(20px,2.15vw,28px);line-height:1.46;margin:0 0 13px;font-weight:850;letter-spacing:-.035em}
.magazine-lead h2 a,.magazine-headline h3 a,.ranking-list a{color:var(--ink)}
.magazine-lead p{font-size:12px;color:#5d6a77;line-height:1.8;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lead-empty{padding:35px;background:var(--wash);color:var(--muted);min-height:220px;display:flex;flex-direction:column;justify-content:center}.lead-empty p{margin:0 0 8px;font-size:13px}
.headline-column{border-left:1px solid var(--line);padding-left:25px}
.magazine-headline{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:start;min-width:0}
.headline-column .magazine-headline:first-of-type{padding-top:0}
.magazine-headline__image{display:block;aspect-ratio:1.2;background:var(--wash);overflow:hidden}
.magazine-headline .magazine-image-fallback{font-size:8px;letter-spacing:.1em}
.magazine-headline__text{min-width:0}
.magazine-headline h3{font-size:13px;line-height:1.55;letter-spacing:-.025em;margin:7px 0 0;font-weight:800;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.magazine-text-link{display:inline-block;font-size:12px;font-weight:800;padding-top:17px}
.magazine-empty{font-size:12px;color:var(--muted);padding:14px 0;margin:0}
.breaking-column{background:#102c47;color:#fff;padding:19px 20px;display:flex;flex-direction:column}
.magazine-eyebrow--light{color:#b6d3e8;border-bottom:1px solid #395268;padding-bottom:14px;margin-bottom:0}
.magazine-eyebrow--light .magazine-dot{background:#82b9e0}
.magazine-eyebrow--light span:last-child{color:#c9d9e5}
.breaking-list{list-style:none;padding:0;margin:0}.breaking-list li{border-bottom:1px solid #345069;padding:16px 0}
.breaking-list time{display:block;color:#9cc2df;font-size:10px;letter-spacing:.03em;margin-bottom:7px}
.breaking-list a{display:block;color:#fff;font-size:12px;font-weight:750;line-height:1.65}
.breaking-list a:hover{color:#b7ddf8}
.breaking-more{display:block;color:#dcebf5;font-size:11px;font-weight:800;padding-top:16px;margin-top:auto}
.magazine-empty--dark{color:#c5d5df}
.magazine-body{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:44px;align-items:start;padding:13px 0 68px}
.magazine-main,.magazine-rail{min-width:0}
.magazine-body .section{padding:30px 0 23px}
.magazine-heading{border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:23px;align-items:end}
.magazine-heading h2{font-size:23px;line-height:1.3;font-weight:850;letter-spacing:-.04em}
.magazine-heading .eyebrow{margin-bottom:5px;font-size:10px}
.magazine-heading>a{font-size:11px}
.magazine-latest .story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 18px}
.magazine-latest .story-card{display:grid;grid-template-columns:42% minmax(0,1fr);gap:13px;border-bottom:1px solid var(--line);padding-bottom:19px}
.magazine-latest .story-card .card-cover{aspect-ratio:1.28}
.magazine-latest .story-card .card-body{padding:0}
.magazine-latest .story-card h3{font-size:14px;line-height:1.55;margin:7px 0 5px}
.magazine-latest .story-card p{display:none}
.magazine-latest .story-meta{font-size:10px;margin:0}
.magazine-rail{padding-top:30px}
.rail-widget{margin-bottom:29px;border-top:3px solid var(--ink);padding-top:15px}
.rail-title{display:flex;align-items:center;gap:11px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.rail-title>span{font-family:Georgia,serif;color:#b5c8d7;font-size:33px;line-height:1}
.rail-title p{color:#2b648b;font-size:9px;font-weight:800;letter-spacing:.11em;margin:0 0 3px}
.rail-title h2{font-size:16px;font-weight:850;margin:0}
.ranking-list{list-style:none;padding:0;margin:0}
.ranking-list li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;border-bottom:1px solid var(--line);padding:16px 0}
.ranking-list__number{font-family:Georgia,serif;color:#164a76;font-size:23px;font-weight:700;line-height:1.2}
.ranking-list__body>a{font-size:13px;font-weight:800;line-height:1.65;display:block;margin-top:5px}
.magazine-rail .advertisement{margin:0 0 29px;background:#f5f7f8}
.magazine-rail .magazine-headline{grid-template-columns:85px minmax(0,1fr)}
.rail-about{background:#f2f5f7;padding:19px;border:0}
.rail-about h2{font-size:20px;margin-bottom:8px}
.rail-about>p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted)}
.magazine-category{margin-bottom:26px}
.magazine-category__heading{display:flex;justify-content:space-between;align-items:center;border-left:4px solid #164a76;padding:1px 0 1px 12px;margin-bottom:15px}
.magazine-category__heading h3{font-size:17px;margin:0}
.magazine-category__heading>a{font-size:11px;font-weight:700}
.magazine-category .story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.magazine-category .story-card{display:grid;grid-template-columns:37% minmax(0,1fr);gap:12px;align-items:start}
.magazine-category .card-cover{aspect-ratio:1.38}
.magazine-category .card-body{padding-top:0}
.magazine-category .story-card h3{font-size:13px;margin:7px 0 0}
.magazine-category .story-card p{display:none}
.magazine-category .story-meta{font-size:10px;margin:0}
.magazine-news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.magazine-news-list .magazine-headline{grid-template-columns:86px minmax(0,1fr)}
.sponsored-note{font-size:12px;color:var(--muted)}
.magazine-sponsored .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
/* Consistent editorial rhythm on archives, search, and individual articles. */
.page-shell>.section-heading{padding-bottom:18px;margin-bottom:28px}
.page-shell>.section-heading h1{font-size:clamp(25px,3vw,36px)}
.page-shell>.story-grid .story-card h3{font-size:17px}
.page-shell>.story-grid .story-card .card-cover{aspect-ratio:1.56}
.article-layout{grid-template-columns:minmax(0,1fr) 290px;gap:45px}
.article-header h1{font-size:clamp(27px,3.2vw,42px);line-height:1.42;letter-spacing:-.035em}
.article-image img{width:100%;max-height:620px;object-fit:cover}
.article-sidebar .sidebar-widget{border-top:3px solid var(--navy);border-bottom:1px solid var(--line);border-left:0;border-right:0;padding:17px 0}
.article-sidebar .sidebar-widget h2{font-size:17px}
.entry-content{font-size:16px;line-height:2}
@media(max-width:1180px){
 .magazine-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px}
 .breaking-column{grid-column:1/-1}
 .breaking-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}
 .breaking-list li{padding:11px 0}
 .magazine-body{gap:25px;grid-template-columns:minmax(0,1fr) 260px}
 .magazine-latest .story-grid{grid-template-columns:1fr}
 .nav-links>li>a{padding-inline:12px}
}
@media(max-width:850px){
 .container{width:min(calc(100% - 34px),var(--max))}
 .topline__links{display:none}
 .header-row{min-height:72px;flex-wrap:nowrap;padding:11px 0;gap:10px}
 .brand{flex:1;min-width:0}.brand-mark{width:39px;height:39px;font-size:25px}
 .brand-name{font-size:clamp(16px,3.3vw,25px);max-width:none;overflow-wrap:anywhere}
 .brand-name small{font-size:7px;margin-top:4px}
 .header-search{display:none}
 .menu-toggle{display:flex;flex:none}
 .topicbar__inner{display:block;min-height:0;position:relative}
 .topicbar__all{display:none}
 .site-nav{display:block;position:relative;width:100%;order:0;flex:initial}
 .site-nav[hidden]{display:none!important}
 .site-nav .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px 0;border-top:0}
 .site-nav .nav-links>li{display:block;border-bottom:1px solid #36526a}
 .site-nav .nav-links>li>a{padding:13px 4px;color:#fff}
 .nav-links .sub-menu{position:static;display:block;box-shadow:none;background:#213e57;border:0;margin:0;padding:0 0 8px 13px}
 .nav-links .sub-menu a{color:#fff}
 .magazine-hero{grid-template-columns:1fr 1fr}
 .lead-story{grid-column:1/-1}
 .headline-column{border-left:0;padding-left:0}
 .breaking-column{grid-column:2;padding:17px}
 .breaking-list{display:block}
 .magazine-body{grid-template-columns:1fr}
 .magazine-rail{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:0}
 .magazine-rail .advertisement{grid-column:1/-1;margin:0}
 .magazine-rail .rail-widget{margin-bottom:0}
 .magazine-latest .story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:590px){
 .topline__inner{height:29px;font-size:9px}
 .magazine-intro{padding:23px 0 18px;gap:10px}
 .magazine-intro h1{font-size:21px}
 .magazine-intro__archive{display:none}
 .magazine-hero{display:block;padding:16px 0 22px}
 .magazine-lead h2{font-size:22px}
 .headline-column{margin-top:25px}
 .headline-column .magazine-headline{grid-template-columns:105px minmax(0,1fr)}
 .breaking-column{margin-top:22px}
 .magazine-body{padding-top:5px;gap:4px}
 .magazine-body .section{padding:25px 0 16px}
 .magazine-heading h2{font-size:20px}
 .magazine-latest .story-grid,.magazine-category .story-grid,.magazine-news-list,.magazine-sponsored .story-grid{grid-template-columns:1fr}
 .magazine-latest .story-card{grid-template-columns:37% minmax(0,1fr);gap:12px}
 .magazine-latest .story-card h3{font-size:15px}
 .magazine-category .story-card{grid-template-columns:35% minmax(0,1fr)}
 .magazine-rail{display:block}
 .magazine-rail .rail-widget{margin-bottom:26px}
 .magazine-lead__image{aspect-ratio:1.56}
 .article-layout{display:block}
 .magazine-news-list .magazine-headline{grid-template-columns:92px minmax(0,1fr)}
 .menu-toggle{font-size:10px;padding:8px}
 .brand>a{gap:9px}
}
.magazine-archive>.magazine-body{padding-top:0}
.magazine-listing .story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 18px}
.magazine-listing .story-card{border-bottom:1px solid var(--line);padding-bottom:18px}
.magazine-listing .story-card .card-cover{aspect-ratio:1.62}
.magazine-listing .story-card h3{font-size:16px;line-height:1.5}
.magazine-listing .story-card p{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.magazine-listing .magazine-rail{padding-top:0}
@media(max-width:850px){.magazine-listing .magazine-rail{padding-top:10px}}
@media(max-width:590px){.magazine-listing .story-grid{grid-template-columns:1fr}.magazine-listing .story-card{display:grid;grid-template-columns:38% minmax(0,1fr);gap:12px}.magazine-listing .story-card .card-cover{aspect-ratio:1.3}.magazine-listing .story-card .card-body{padding-top:0}.magazine-listing .story-card p{display:none}}
