:root{--navy:#102438;--ink:#102033;--lime:#d5f45b;--line:#a8b5c4;--muted:#64748b;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.85 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}figure,p,h1,h2,h3{margin:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #3681b0;outline-offset:5px}button{border:0;background:none}svg{display:block;overflow:hidden;width:100%;height:100%}.skip{position:fixed;top:-100px;left:16px;padding:8px 20px;background:var(--lime);z-index:10}.skip:focus{top:10px}.header{max-width:1440px;margin:auto;min-height:82px;padding:14px 4.4%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font:clamp(26px,3.2vw,43px)/1.2 Georgia,"Yu Mincho",serif;letter-spacing:-.05em;white-space:nowrap}.header nav{display:flex;gap:clamp(24px,4vw,62px);align-items:center}.nav-link{display:inline-block;position:relative;padding:9px 3px;font-size:14px;font-weight:700}.nav-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .18s}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:43.8% 56.2%;min-height:520px;background:var(--navy);color:white;overflow:hidden}.hero-copy{padding:48px 0 50px 10%;position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:.14em;white-space:nowrap;margin-bottom:28px}.eyebrow:after{content:"";display:inline-block;width:42px;height:1px;background:#ccd2dc;vertical-align:middle;margin-left:20px}.hero h1{font:500 clamp(44px,5.3vw,75px)/1.17 var(--serif);letter-spacing:.025em;white-space:nowrap}.hero-detail{font-size:14px;line-height:1.85;margin-top:26px}.lime-button{display:inline-flex;align-items:center;gap:24px;padding:11px 28px;background:var(--lime);color:var(--navy);font-weight:700;font-size:15px;margin-top:27px;border-radius:3px;transition:background .15s}.lime-button:hover{background:#e6ff8c}.hero-portrait{position:relative;min-width:0;overflow:hidden}.hero-portrait>.photo{height:100%;position:absolute;inset:0}.hero-portrait:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(0,14,28,.6));pointer-events:none}.hero-names{position:absolute;z-index:1;bottom:22px;left:9%;right:7%;display:flex;justify-content:center;align-items:center;color:white}.hero-names>span{padding:0 28px;white-space:nowrap}.hero-names>span+span{border-left:1px solid #c1c6cc}.hero-names strong{display:block;font:500 20px/1.6 var(--serif)}.hero-names small{font-size:10px;letter-spacing:.13em}.content{max-width:1320px;padding:0 44px;margin:auto}.editorial-row{display:grid;grid-template-columns:47.5% 1fr;gap:40px;padding:38px 0;scroll-margin-top:20px}.editorial-row+.editorial-row{border-top:1px solid var(--line)}.person{position:relative;min-height:470px;overflow:hidden;background:#e8edf0}.person>.photo{position:absolute;inset:0;height:100%;width:100%}.person-button{position:absolute;left:20px;bottom:20px;display:flex;gap:25px;align-items:center;color:white;background:rgba(16,36,56,.94);border:1px solid #fff;border-radius:2px;padding:12px 20px;font-size:14px}.person-button:hover{background:#203d56}.article-panel{display:flex;flex-direction:column;padding:1px 0 0}.author-line{display:flex;align-items:center;gap:26px;font:600 18px/1.6 var(--serif);margin-bottom:17px}.author-line:after{content:"";height:1px;background:var(--line);flex:1}.article-panel h2{font:600 clamp(28px,3.5vw,44px)/1.4 var(--serif);letter-spacing:.02em;margin-bottom:13px;white-space:nowrap}.intro{font-size:16px;line-height:1.85;margin-bottom:21px}.article-photo{aspect-ratio:3.35;height:auto}.sample-label{font:10px/1.2 var(--sans);letter-spacing:.12em;color:var(--muted);margin:10px 0 5px}.latest h3{font:600 23px/1.55 var(--serif);margin-bottom:3px}.latest>p:last-child{font-size:14px;line-height:1.8}.archive-link{display:flex;gap:22px;align-items:center;align-self:flex-start;border-bottom:3px solid var(--lime);padding:9px 0 4px;margin-top:auto;font-size:15px;font-weight:700;min-height:44px}.archive-link:hover{color:#4c6578}.sample-note{text-align:right;font-size:11px;color:var(--muted);margin-top:-17px}.development{padding:38px 0 45px}.section-heading{display:flex;gap:22px;align-items:center;margin-bottom:23px}.section-heading h2{font:600 35px/1.35 var(--serif);white-space:nowrap}.section-heading span{font-size:10px;letter-spacing:.1em;color:var(--muted);white-space:nowrap}.section-heading:after{content:"";height:1px;background:var(--line);flex:1}.radio{display:grid;grid-template-columns:57% 1fr;gap:40px;align-items:center}.radio-visual{aspect-ratio:2.195;border-radius:3px;overflow:hidden}.radio-title{display:flex;align-items:center;gap:24px;margin-bottom:11px}.radio-title:after{content:"";height:1px;background:var(--line);flex:1}.radio-title h3{font:600 44px/1.4 var(--serif);white-space:nowrap}.radio-lead{font-size:20px;font-weight:700}.radio-copy>p:not(.radio-lead):not(.muted){font-size:14px}.radio-actions{display:flex;gap:14px;margin-top:24px}.dark-button,.outline-button{padding:11px 17px;border:1px solid var(--navy);border-radius:3px;font-size:14px;white-space:nowrap;display:flex;gap:9px;align-items:center;justify-content:center}.dark-button{background:var(--navy);color:white}.outline-button:hover{background:#f0f4f7}.dark-button:hover{background:#28465c}.muted{font-size:11px;color:var(--muted);margin-top:13px}.footer{max-width:1440px;margin:auto;border-top:1px solid var(--line);display:flex;align-items:center;gap:25px;padding:24px 4.4%}.footer .brand{font-size:27px}.tagline{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:25px}.footer>p{font-size:10px;text-align:right;color:var(--muted);margin-left:auto}.ai-note{font-size:9px}dialog{border:1px solid var(--line);border-radius:4px;max-width:560px;width:calc(100% - 40px);padding:30px;color:var(--ink);box-shadow:0 20px 80px #10243840}dialog::backdrop{background:#1024389c;backdrop-filter:blur(3px)}dialog h2{font:600 29px/1.5 var(--serif);margin:10px 0 16px}dialog p{margin:12px 0}.dialog-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.1em}.dialog-head p{margin:0}.close{font-size:28px;min-width:44px;min-height:44px;line-height:1}.dialog-sub{font-size:11px;color:var(--muted);letter-spacing:.12em}
@media(min-width:1441px){.hero{min-height:620px}.hero-copy{padding-top:65px}.hero h1{font-size:78px}.editorial-row{gap:48px}.person{min-height:520px}.intro{margin-bottom:25px}.article-panel h2{font-size:44px}}
@media(max-width:1000px){.hero{min-height:460px}.hero-copy{padding-top:35px;padding-bottom:35px}.eyebrow{font-size:8px}.eyebrow:after{width:20px;margin-left:10px}.hero h1{font-size:clamp(41px,5.5vw,55px)}.hero-detail{font-size:12px}.hero-names>span{padding:0 14px}.hero-names strong{font-size:16px}.hero-names small{font-size:8px}.content{padding:0 30px}.editorial-row{gap:28px}.person{min-height:430px}.intro{font-size:14px}.article-panel h2{font-size:30px}.latest h3{font-size:19px}.latest>p:last-child{font-size:12px}.radio{gap:28px;grid-template-columns:54% 1fr}.radio-title h3{font-size:35px}.radio-lead{font-size:16px}.radio-copy>p:not(.radio-lead):not(.muted){font-size:12px}.radio-actions{gap:8px;margin-top:18px}.dark-button,.outline-button{font-size:11px;padding:9px 12px}.person-button{left:14px;bottom:15px;padding:10px 13px;font-size:12px}.radio-visual{aspect-ratio:1.8}.footer{gap:16px}.footer .brand{font-size:24px}}
@media(max-width:680px){html{scroll-padding-top:25px}.header{padding:18px 20px 12px;gap:15px;flex-wrap:wrap;justify-content:center}.header .brand{font-size:32px}.header nav{width:100%;gap:0;justify-content:space-between}.nav-link{font-size:12px;padding:8px 4px;min-height:40px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:30px 27px 34px}.eyebrow{font-size:9px;margin-bottom:20px}.eyebrow:after{width:35px}.hero h1{font-size:clamp(41px,10.8vw,65px);line-height:1.2}.hero-detail{font-size:13px;margin-top:20px}.lime-button{padding:10px 25px;font-size:14px;margin-top:22px}.hero-portrait{height:auto;aspect-ratio:1.5}.hero-names{left:5%;right:5%;bottom:17px}.hero-names strong{font-size:16px}.hero-names small{font-size:9px}.hero-names>span{padding:0 28px}.content{padding:0 20px}.editorial-row{grid-template-columns:1fr;padding:29px 0;gap:22px}.person{min-height:0;aspect-ratio:1.1}.person-button{left:14px;bottom:14px;min-height:44px;font-size:13px}.author-line{font-size:16px;margin-bottom:11px}.article-panel h2{font-size:29px;margin-bottom:11px}.intro{font-size:14px;margin-bottom:19px}.desktop-break{display:none}.latest h3{font-size:21px}.latest>p:last-child{font-size:13px}.archive-link{margin-top:16px;font-size:14px}.sample-note{margin-top:-6px;font-size:10px}.section-heading{gap:12px;margin-bottom:20px}.section-heading h2{font-size:27px}.section-heading span{font-size:8px}.development{padding-top:29px;padding-bottom:31px}.radio{grid-template-columns:1fr;gap:20px}.radio-visual{aspect-ratio:2.195}.radio-title h3{font-size:35px}.radio-lead{font-size:19px}.radio-copy>p:not(.radio-lead):not(.muted){font-size:13px}.radio-actions{gap:12px}.dark-button,.outline-button{font-size:13px;flex:1;min-height:45px}.footer{padding:23px 20px;flex-wrap:wrap;gap:14px}.footer .brand{font-size:25px}.tagline{font-size:10px;padding-left:14px}.footer>p{width:100%;text-align:left;margin:0}.article-photo{aspect-ratio:2.7}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Keep each mobile profile beside its latest article. */
@media(max-width:680px){
  .content{padding-inline:14px}
  .editorial-row{grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:14px;padding-block:24px;align-items:stretch}
  .person{min-height:0;aspect-ratio:auto}
  .person-button{left:6px;right:6px;bottom:8px;min-height:44px;padding:7px 4px;display:block;font-size:10px;line-height:1.5;text-align:center}
  .person-button span{display:inline-block;margin-left:4px}
  .article-panel{min-width:0}
  .author-line{font-size:12px;gap:10px;margin-bottom:6px}
  .article-panel h2{font-size:18px;line-height:1.5;white-space:normal;margin-bottom:8px}
  .intro{font-size:12px;line-height:1.75;margin-bottom:12px}
  .article-photo{aspect-ratio:2.3}
  .sample-label{font-size:8px;margin-block:7px 4px}
  .latest h3{font-size:15px;line-height:1.55;margin-bottom:4px}
  .latest>p:last-child{font-size:12px;line-height:1.75}
  .archive-link{font-size:12px;line-height:1.6;gap:6px;margin-top:12px;padding-top:8px;align-self:stretch;justify-content:space-between;text-align:left}
  .archive-link span{flex-shrink:0}
}


/* Reference-based character photos and compact development banner. */
img.photo{display:block;width:100%;object-fit:cover;object-position:center 30%}
.hero-portrait>img.photo{object-position:center center}
.radio-banner{position:relative;display:grid;grid-template-columns:1fr 230px;min-height:180px;max-width:900px;margin:0 auto;background:var(--navy);color:white;overflow:hidden;border-radius:3px}
.radio-banner-copy{padding:23px 30px;position:relative;z-index:1}
.radio-kicker{font-size:9px;letter-spacing:.16em;color:#c9d5dd;margin-bottom:5px}
.radio-banner h3{font:600 32px/1.5 var(--serif)}
.radio-banner-copy>p:last-of-type{font-size:13px;margin-top:3px}
.development-badge{display:inline-block;background:var(--lime);color:var(--navy);font-size:10px;font-weight:700;padding:1px 12px;margin-top:11px;border-radius:2px}
.radio-banner-visual{position:relative;min-width:0;overflow:hidden}
.radio-banner-visual svg{position:absolute;inset:0}
.radio-banner-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy),transparent 30%)}
.news-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:30px}
.news-card{display:block;border:1px solid #d4dce2;border-radius:3px;overflow:hidden;transition:box-shadow .18s}
.news-card:hover{box-shadow:0 7px 22px #10243820}
.news-card>img{display:block;width:100%;height:auto;aspect-ratio:1.9;object-fit:cover;object-position:center}
.news-card-copy{padding:16px 20px 19px}
.news-kicker{font-size:9px;letter-spacing:.13em;color:var(--muted);margin-bottom:4px}
.news-card h3{display:flex;justify-content:space-between;gap:10px;font:600 21px/1.6 var(--serif)}
.news-card h3 span{font:16px var(--sans);padding-top:6px}
.news-card-copy>p:last-child{font-size:12px;margin-top:5px}
@media(max-width:680px){
 .radio-banner{grid-template-columns:minmax(0,1fr) 100px;min-height:133px}
 .radio-banner-copy{padding:16px 0 16px 18px}
 .radio-kicker{font-size:7px;letter-spacing:.06em;margin-bottom:5px}
 .radio-banner h3{font-size:24px}
 .radio-banner-copy>p:last-of-type{font-size:11px}
 .development-badge{font-size:9px;margin-top:7px}
 .news-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:23px}
 .news-card-copy{padding:10px 9px 12px}.news-card{min-width:0}.news-kicker{font-size:7px;letter-spacing:.04em}.news-card-copy>p:last-child{font-size:10px;line-height:1.7}
 .news-card h3{font-size:14px;line-height:1.6;gap:4px;overflow-wrap:anywhere}.news-card h3 span{font-size:12px;padding-top:3px;flex-shrink:0}
}

