
:root{
  --navy:#0b3156;--navy-deep:#071f38;--blue:#285f8d;--ink:#18232d;--muted:#667785;
  --line:#dbe3e8;--mist:#f5f7f8;--sky:#edf3f7;--white:#fff;--wine:#7a3138;
  --max:1160px;--shadow:0 18px 55px rgba(7,31,56,.08)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;line-height:1.8;letter-spacing:.015em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.skip{position:fixed;left:8px;top:-90px;background:#fff;padding:8px 12px;z-index:999}.skip:focus{top:8px}.serif{font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif}.kicker{margin:0 0 13px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.18em}.section{padding:96px 0}.section.mist{background:var(--mist)}.section.dark{background:var(--navy-deep);color:#fff}.more{margin-top:32px;text-align:center}
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(11,49,86,.09)}.header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;flex-direction:column;line-height:1}.brand strong{color:var(--navy);font-size:23px;letter-spacing:.035em}.brand small{margin-top:7px;color:var(--muted);font-size:8px;letter-spacing:.2em}.global-nav{display:flex;align-items:center;gap:22px;font-size:12px;font-weight:700}.global-nav a{position:relative}.global-nav a:not(.contact-link):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--navy);transition:.2s}.global-nav a:hover:after,.global-nav a[aria-current="page"]:after{right:0}.contact-link{background:var(--navy);color:#fff;padding:10px 15px}.menu{display:none;border:0;background:none;color:var(--navy);font-weight:800}
.hero{background:linear-gradient(115deg,#fbfcfd 0 59%,#eaf1f5 59% 100%);overflow:hidden}.hero-grid{min-height:660px;display:grid;grid-template-columns:1.03fr .97fr}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px 76px 64px 0}.hero-party{margin:0 0 20px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.08em}.hero h1{margin:0;color:var(--navy-deep);font-size:clamp(54px,6vw,82px);line-height:1.02;letter-spacing:-.045em}.hero-en{margin:10px 0 26px;color:#93a4b2;font-size:10px;font-weight:800;letter-spacing:.22em}.hero-tagline{position:relative;margin:0;padding-top:22px;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(29px,3.1vw,40px);font-weight:700;line-height:1.45}.hero-tagline:before{content:"";position:absolute;left:0;top:0;width:34px;height:2px;background:var(--wine)}.hero-lead{margin:20px 0 0;color:#455a6b;font-size:15px;max-width:590px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-meta{display:flex;flex-wrap:wrap;gap:7px 15px;margin-top:27px;padding-top:19px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700}.hero-photo{height:660px;background:#fff;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 14%}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border:1px solid var(--navy);font-size:12px;font-weight:800;transition:.2s}.btn.primary{background:var(--navy);color:#fff}.btn.primary:hover{background:var(--blue);border-color:var(--blue)}.btn.secondary{color:var(--navy);background:transparent}.btn.secondary:hover{background:var(--sky)}.btn.white{background:#fff;border-color:#fff;color:var(--navy)}.btn.white:hover{background:var(--sky)}
.news-ticker{display:block;border-bottom:1px solid var(--line);background:#fff}.ticker-inner{min-height:72px;display:grid;grid-template-columns:145px 1fr 20px;align-items:center;gap:18px}.ticker-label{color:var(--blue);font-size:9px;font-weight:900;letter-spacing:.14em}.ticker-title{color:var(--navy);font-size:13px;font-weight:700}.ticker-arrow{color:var(--blue)}
.heading-row{display:grid;grid-template-columns:1fr 380px;gap:68px;align-items:end;margin-bottom:48px}.heading-row h2,.side-heading h2{margin:0;color:var(--navy-deep);font-size:clamp(36px,4.6vw,58px);line-height:1.2;letter-spacing:-.03em}.dark .heading-row h2{color:#fff}.heading-row>p{margin:0;color:var(--muted);font-size:13px}.dark .heading-row>p{color:#b9c7d1}
.intro-grid{display:grid;grid-template-columns:290px 1fr;gap:82px}.side-heading{align-self:start;position:sticky;top:108px}.intro-copy>.lead{margin:0 0 26px;color:var(--navy);font-size:clamp(25px,3vw,36px);font-weight:800;line-height:1.5}.intro-copy>p{margin:0 0 18px;color:#465a69;font-size:14px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:36px;background:var(--line);border:1px solid var(--line)}.experience-card{background:#fff;padding:28px 25px;min-height:255px}.experience-card small{color:#8da6ba;font-size:9px;font-weight:900;letter-spacing:.14em}.experience-card h3{margin:22px 0 10px;color:var(--navy);font-size:19px}.experience-card p{margin:0;color:var(--muted);font-size:12px}.facts{display:grid;grid-template-columns:repeat(2,1fr);margin-top:30px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.fact{padding:17px 19px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.fact small{display:block;margin-bottom:4px;color:var(--muted);font-size:9px}.fact strong{color:var(--navy);font-size:13px}
.principles{background:#fff}.principle-lead{max-width:820px;margin:0 0 38px;color:#415667;font-size:15px}.value-list{border-top:1px solid var(--line)}.value-row{display:grid;grid-template-columns:85px 265px 1fr;gap:28px;align-items:start;padding:23px 8px;border-bottom:1px solid var(--line)}.value-row .n{color:#8fa8bb;font-size:9px;font-weight:900;letter-spacing:.15em}.value-row h3{margin:0;color:var(--navy);font-size:17px}.value-row p{margin:0;color:var(--muted);font-size:12px}
.focus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.focus-card{min-height:245px;padding:27px 24px;background:#fff;border:1px solid var(--line)}.focus-card small{color:#8fa7b9;font-size:9px;font-weight:900;letter-spacing:.11em}.focus-card h3{margin:21px 0 10px;color:var(--navy);font-size:18px;line-height:1.45}.focus-card p{margin:0;color:var(--muted);font-size:12px}.focus-detail .focus-card{min-height:290px}.section-subhead{margin:68px 0 28px}.section-subhead h2{margin:0;color:var(--navy-deep);font-size:clamp(30px,4vw,43px)}
.activity-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:275px 275px;gap:13px}.activity-grid figure,.gallery-grid figure{position:relative;margin:0;overflow:hidden}.activity-grid figure:first-child{grid-row:span 2}.activity-grid img,.gallery-grid img{width:100%;height:100%;object-fit:cover}.activity-grid figure:after,.gallery-grid figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(3,14,25,.72))}.activity-grid figcaption,.gallery-grid figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:34px 21px 18px}.activity-grid strong,.gallery-grid strong{display:block;color:#fff;font-size:16px}.activity-grid span,.gallery-grid span{color:#d5e0e8;font-size:9px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gallery-grid figure{height:300px}.activity-copy h2{margin:50px 0 15px;padding-bottom:9px;border-bottom:1px solid var(--line);color:var(--navy);font-size:26px}.activity-copy h2:first-child{margin-top:0}.activity-copy p{color:#465a69;font-size:14px}
.news-list{border-top:1px solid var(--line)}.news-item{display:grid;grid-template-columns:104px 88px 1fr 20px;gap:20px;align-items:center;padding:23px 10px;border-bottom:1px solid var(--line);transition:.2s}.news-item:hover{padding-left:17px;background:var(--mist)}.news-item time{color:var(--muted);font-size:10px}.badge{padding:3px 6px;border:1px solid #b9cbd8;color:var(--blue);font-size:9px;text-align:center}.news-item h3{margin:0;color:var(--navy);font-size:15px;line-height:1.55}.news-item i{color:var(--blue);font-style:normal}.news-intro{display:grid;grid-template-columns:180px 1fr;gap:30px;margin-bottom:32px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.news-intro strong{color:var(--navy);font-size:13px}.news-intro p{margin:0;color:var(--muted);font-size:12px}
.profile-strip{background:var(--sky);border-block:1px solid #d7e3eb}.profile-strip-inner{display:grid;grid-template-columns:170px 1fr 210px;gap:38px;align-items:center;padding:34px 0}.profile-strip .portrait{width:150px;height:150px;overflow:hidden;border-radius:50%;background:#fff}.profile-strip .portrait img{width:100%;height:100%;object-fit:cover;object-position:center 15%}.profile-strip h2{margin:0 0 8px;color:var(--navy);font-size:27px}.profile-strip p{margin:0;color:var(--muted);font-size:12px}.profile-strip .btn{width:100%}
.voice{padding:0 0 94px}.voice-box{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:58px 64px;background:var(--navy);color:#fff}.voice-box h2{margin:0;font-size:clamp(36px,4.5vw,54px);line-height:1.2}.voice-box p{margin:0 0 22px;color:#d7e2ea;font-size:13px}.social{background:var(--mist)}.social-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px}.social h2{margin:0;color:var(--navy);font-size:clamp(32px,4vw,48px)}.social-links{border-top:1px solid var(--line)}.social-links a{display:grid;grid-template-columns:105px 1fr 18px;gap:15px;align-items:center;padding:18px 6px;border-bottom:1px solid var(--line)}.social-links span{color:var(--muted);font-size:10px}.social-links strong{color:var(--navy);font-size:13px}.social-links i{color:var(--blue);font-style:normal}
.page-hero{padding:72px 0 58px;background:var(--mist);border-bottom:1px solid var(--line)}.page-hero h1{margin:0;color:var(--navy-deep);font-size:clamp(44px,5.7vw,72px);line-height:1.12;letter-spacing:-.04em}.page-hero p:last-child{max-width:700px;margin:22px 0 0;color:var(--muted);font-size:14px}.content-narrow{max-width:820px;margin-inline:auto}.profile-layout{display:grid;grid-template-columns:255px 1fr;gap:66px;align-items:start}.profile-photo-card{position:sticky;top:106px;margin:0;background:var(--mist);border:1px solid var(--line)}.profile-photo-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}.profile-photo-card p{margin:0;padding:17px 19px}.profile-photo-card strong{display:block;color:var(--navy);font-size:20px}.profile-photo-card span{display:block;margin-top:3px;color:var(--muted);font-size:9px;letter-spacing:.14em}.profile-main h2,.content-narrow h2{margin:50px 0 16px;color:var(--navy);font-size:27px}.profile-main h2:first-child,.content-narrow h2:first-child{margin-top:0}.profile-main p,.content-narrow p{color:#465a69;font-size:14px}.bio-table{width:100%;margin-top:25px;border-collapse:collapse}.bio-table th,.bio-table td{padding:14px 11px;border-top:1px solid var(--line);text-align:left;vertical-align:top}.bio-table th{width:165px;color:var(--muted);font-size:10px}.bio-table td{color:#405363;font-size:13px}.credential-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.credential{padding:17px 18px;border:1px solid var(--line)}.credential small{display:block;color:var(--muted);font-size:9px}.credential strong{color:var(--navy);font-size:13px}.timeline-simple{margin-top:20px;border-left:2px solid #c6d5df}.timeline-simple article{position:relative;padding:0 0 28px 28px}.timeline-simple article:before{content:"";position:absolute;left:-7px;top:8px;width:10px;height:10px;border:2px solid var(--navy);border-radius:50%;background:#fff}.timeline-simple small{color:var(--blue);font-size:9px;font-weight:900;letter-spacing:.12em}.timeline-simple h3{margin:3px 0 5px;color:var(--navy);font-size:16px}.timeline-simple p{margin:0;font-size:12px}
.site-footer{padding:56px 0 29px;background:#06192b;color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:65px}.footer-brand strong{color:#fff}.footer-brand small{color:#8295a5}.footer-grid>div:first-child>p{color:#aebdc8;font-size:11px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;align-content:start;color:#c5d0d8;font-size:10px}.copyright{grid-column:1/-1;margin:10px 0 0;padding-top:19px;border-top:1px solid rgba(255,255,255,.1);color:#758897!important;font-size:8px!important;letter-spacing:.12em}
@media(max-width:920px){.container{width:min(calc(100% - 32px),var(--max))}.menu{display:block}.global-nav{display:none;position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:16px 22px 24px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.global-nav.open{display:flex}.global-nav a{padding:11px 0}.contact-link{margin-top:8px;text-align:center}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:62px 0 46px}.hero-photo{height:540px;margin-inline:-16px}.heading-row{grid-template-columns:1fr;gap:18px}.intro-grid{grid-template-columns:1fr;gap:34px}.side-heading{position:static}.experience-grid{grid-template-columns:1fr}.experience-card{min-height:0}.focus-grid{grid-template-columns:1fr 1fr}.value-row{grid-template-columns:70px 210px 1fr}.activity-grid{grid-template-columns:1fr 1fr;grid-template-rows:410px 245px}.activity-grid figure:first-child{grid-column:span 2;grid-row:auto}.gallery-grid{grid-template-columns:1fr 1fr}.profile-strip-inner{grid-template-columns:145px 1fr}.profile-strip .portrait{width:135px;height:135px}.profile-strip .btn{grid-column:1/-1;width:auto;justify-self:start}.voice-box{grid-template-columns:1fr;gap:24px}.social-wrap{grid-template-columns:1fr;gap:28px}.profile-layout{grid-template-columns:200px 1fr;gap:38px}.profile-photo-card{position:static}}
@media(max-width:620px){.header-inner{min-height:66px}.global-nav{top:66px}.brand strong{font-size:20px}.section{padding:72px 0}.hero{background:linear-gradient(180deg,#fbfcfd 0 57%,#eaf1f5 57% 100%)}.hero h1{font-size:54px}.hero-tagline{font-size:29px}.hero-lead{font-size:14px}.hero-photo{height:470px}.hero-actions{display:grid}.btn{width:100%}.ticker-inner{grid-template-columns:1fr 18px;gap:8px;padding:13px 0}.ticker-label{grid-column:1/-1}.heading-row{margin-bottom:34px}.facts{grid-template-columns:1fr}.value-row{grid-template-columns:1fr;gap:7px;padding:19px 4px}.focus-grid{grid-template-columns:1fr}.activity-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,315px)}.activity-grid figure:first-child{grid-column:auto}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure{height:310px}.news-item{grid-template-columns:1fr 70px;gap:6px 10px}.news-item time{grid-column:1}.news-item .badge{grid-column:2;grid-row:1}.news-item h3{grid-column:1/-1}.news-item i{display:none}.news-intro{grid-template-columns:1fr;gap:5px}.profile-strip-inner{grid-template-columns:1fr;text-align:center}.profile-strip .portrait{margin:auto}.profile-strip .btn{justify-self:stretch}.voice{padding-bottom:72px}.voice-box{padding:38px 23px}.social-links a{grid-template-columns:80px 1fr 16px}.footer-grid{grid-template-columns:1fr;gap:30px}.copyright{grid-column:1}.profile-layout{grid-template-columns:1fr}.profile-photo-card{max-width:315px;margin:0 auto 8px}.credential-grid{grid-template-columns:1fr}.bio-table th{width:100px}}

/* consolidated structure */
.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pillar-card{position:relative;min-height:285px;padding:30px 25px 26px;background:#fff;border:1px solid var(--line);overflow:hidden}.pillar-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--pillar,#285f8d)}.pillar-card small{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.11em}.pillar-card h3{margin:22px 0 12px;color:var(--navy);font-size:22px;line-height:1.35}.pillar-card p{margin:0;color:var(--muted);font-size:12px}.pillar-card.support{--pillar:#2d6f9f}.pillar-card.children{--pillar:#a84c64}.pillar-card.safety{--pillar:#b97b2d}.pillar-card.community{--pillar:#3e7f67}.pillar-list{margin:16px 0 0;padding:0;list-style:none}.pillar-list li{position:relative;margin:9px 0;padding-left:15px;color:#566b7a;font-size:11px;line-height:1.65}.pillar-list li:before{content:"";position:absolute;left:0;top:.78em;width:5px;height:5px;border-radius:50%;background:var(--pillar,#285f8d)}
.local-issues{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.local-issue{padding:25px 24px;border:1px solid var(--line);background:#fff}.local-issue small{display:block;color:#8aa4b8;font-size:9px;font-weight:900;letter-spacing:.12em}.local-issue h3{margin:12px 0 8px;color:var(--navy);font-size:18px}.local-issue p{margin:0;color:var(--muted);font-size:12px}.section-note{max-width:780px;margin:0;color:#465a69;font-size:14px}.compact-profile{display:grid;grid-template-columns:210px 1fr;gap:46px;align-items:start}.compact-profile .portrait-card{margin:0;border:1px solid var(--line);background:var(--mist)}.compact-profile .portrait-card img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}.compact-profile .portrait-card figcaption{padding:14px 16px}.compact-profile .portrait-card strong{display:block;color:var(--navy);font-size:18px}.compact-profile .portrait-card span{display:block;color:var(--muted);font-size:9px}.inline-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.inline-tags span{padding:5px 9px;background:var(--mist);border:1px solid var(--line);color:#526777;font-size:9px;font-weight:700}.activity-news{margin-top:66px}.activity-news .heading-row{margin-bottom:30px}.activity-social{margin-top:60px;padding-top:38px;border-top:1px solid var(--line)}.activity-social h2{margin:0 0 20px;color:var(--navy);font-size:28px}.activity-social .social-links{max-width:760px}
@media(max-width:920px){.pillar-grid{grid-template-columns:1fr 1fr}.compact-profile{grid-template-columns:180px 1fr}.local-issues{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.pillar-grid{grid-template-columns:1fr}.pillar-card{min-height:0}.compact-profile{grid-template-columns:1fr}.compact-profile .portrait-card{max-width:310px}.local-issues{grid-template-columns:1fr}}

.topic-band{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.topic-band span{padding:8px 12px;border:1px solid var(--line);background:#fff;color:#526777;font-size:10px;font-weight:800;letter-spacing:.03em}

/* Latest articles / Election.com */
.latest-articles{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0 38px}.latest-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:14px}.latest-head .kicker{margin:0 0 5px}.latest-head h2{margin:0;color:var(--navy-deep);font-size:26px;line-height:1.25}.latest-all{flex:0 0 auto;color:var(--blue);font-size:11px;font-weight:800}.latest-all:hover{text-decoration:underline}.latest-list{border-top:1px solid var(--line)}.latest-item{display:grid;grid-template-columns:92px 68px 1fr 18px;gap:15px;align-items:center;padding:13px 6px;border-bottom:1px solid var(--line);transition:background .18s,padding .18s}.latest-item:hover{background:var(--mist);padding-left:12px}.latest-item time{color:var(--muted);font-size:9px}.latest-category{display:inline-block;padding:2px 5px;border:1px solid #bfd0dc;color:var(--blue);font-size:8px;font-weight:800;text-align:center}.latest-item strong{color:var(--navy);font-size:13px;line-height:1.45}.latest-item i{color:var(--blue);font-style:normal}.latest-articles+.section{border-top:0}
@media(max-width:620px){.latest-articles{padding:26px 0 30px}.latest-head{align-items:flex-start}.latest-head h2{font-size:22px}.latest-all{margin-top:3px}.latest-item{grid-template-columns:1fr 58px;gap:5px 10px;padding:12px 3px}.latest-item time{grid-column:1}.latest-category{grid-column:2;grid-row:1}.latest-item strong{grid-column:1/-1;font-size:12px}.latest-item i{display:none}}

/* ===============================
   HOME v2 — editorial, restrained
   =============================== */
.home-hero{background:#f8fafb;border-bottom:1px solid var(--line)}
.home-hero-grid{min-height:680px;display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch}
.home-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:74px 78px 68px 0}
.home-role{margin:0 0 22px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.08em}
.home-hero h1{margin:0;color:var(--navy-deep);font-size:clamp(58px,6.2vw,86px);line-height:.98;letter-spacing:-.05em}
.home-en{margin:10px 0 34px;color:#98a7b3;font-size:9px;font-weight:800;letter-spacing:.25em}
.home-tagline-wrap{position:relative;padding-top:23px}
.home-tagline-wrap:before{content:"";position:absolute;left:0;top:0;width:38px;height:2px;background:var(--wine)}
.home-tagline{margin:0;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;font-size:clamp(30px,3.2vw,43px);font-weight:700;line-height:1.35}
.home-subcopy{margin:17px 0 0;color:#506271;font-size:15px;line-height:1.85}
.home-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.home-roles{margin:26px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:700}
.home-hero-photo{margin:0;overflow:hidden;background:#edf2f5}
.home-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 9%}

.home-latest{padding:46px 0 54px;background:#fff;border-bottom:1px solid var(--line)}
.home-section-head{display:grid;grid-template-columns:1fr 390px;gap:70px;align-items:end;margin-bottom:34px}
.home-section-head.compact{margin-bottom:22px}
.home-section-head h2{margin:0;color:var(--navy-deep);font-size:clamp(34px,4vw,50px);line-height:1.18;letter-spacing:-.03em}
.home-section-head>p,.head-note p{margin:0;color:var(--muted);font-size:12px}
.head-note{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.head-note a{color:var(--blue);font-size:11px;font-weight:800}
.article-board{display:grid;grid-template-columns:.95fr 1.05fr;border:1px solid var(--line);background:#fff}
.article-feature{display:flex;flex-direction:column;justify-content:flex-end;min-height:330px;padding:34px;border-right:1px solid var(--line);background:linear-gradient(150deg,#f7fafc,#eef4f7);transition:.2s}
.article-feature:hover{background:#eaf1f5}
.article-meta{display:flex;gap:8px;align-items:center;margin-bottom:17px}.article-meta time{color:var(--muted);font-size:9px}.article-meta span{padding:2px 6px;border:1px solid #bfd0dc;color:var(--blue);font-size:8px;font-weight:800}
.article-feature strong{color:var(--navy);font-size:24px;line-height:1.45}
.article-feature p{margin:14px 0 20px;color:var(--muted);font-size:11px;max-width:90%}
.article-feature i{color:var(--blue);font-size:10px;font-style:normal;font-weight:800}
.article-stack{display:grid;grid-template-rows:repeat(4,1fr)}
.article-row{display:grid;grid-template-columns:52px 60px 1fr 18px;gap:12px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);transition:.2s}
.article-row:last-child{border-bottom:0}.article-row:hover{background:var(--mist)}
.article-row time{color:var(--muted);font-size:9px}.article-row span{padding:2px 4px;border:1px solid #bfd0dc;color:var(--blue);font-size:8px;text-align:center}.article-row strong{color:var(--navy);font-size:12px;line-height:1.55}.article-row i{color:var(--blue);font-style:normal}

.home-about{background:#fff}
.home-about-grid{display:grid;grid-template-columns:360px 1fr;gap:100px;align-items:start}
.home-about-title h2{margin:0;color:var(--navy-deep);font-size:clamp(40px,5vw,62px);line-height:1.22;letter-spacing:-.04em}
.home-about-lead{margin:0 0 25px!important;color:var(--navy)!important;font-size:clamp(23px,2.7vw,34px)!important;font-weight:800;line-height:1.5}
.home-about-copy>p{margin:0 0 18px;color:#465a69;font-size:14px}
.home-career-line{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:32px 0 25px;background:var(--line);border:1px solid var(--line)}
.home-career-line span{display:flex;flex-direction:column;gap:8px;padding:18px 16px;background:#fff;color:var(--navy);font-size:11px;font-weight:800}.home-career-line b{color:#90a7b8;font-size:9px;letter-spacing:.1em}
.text-link{display:inline-block;color:var(--blue);font-size:11px;font-weight:800;border-bottom:1px solid #b8cbd9;padding-bottom:2px}

.home-focus{background:var(--mist)}
.home-focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.home-focus-grid article{min-height:245px;padding:28px 24px;background:#fff}
.home-focus-grid span{color:#8ca5b8;font-size:9px;font-weight:900;letter-spacing:.12em}
.home-focus-grid h3{margin:20px 0 12px;color:var(--navy);font-size:20px;line-height:1.4}
.home-focus-grid p{margin:0;color:var(--muted);font-size:11px}
.home-focus-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:28px}
.home-focus-bottom p{margin:0;color:#536675;font-size:12px}

.home-activity{background:var(--navy-deep);color:#fff}
.home-section-head.light h2{color:#fff}.home-section-head.light>p{color:#b9c6d0}.home-section-head.light .kicker{color:#a9c6d9}
.home-activity-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:260px 260px;gap:12px}
.home-photo{position:relative;overflow:hidden;display:block}.home-photo.large{grid-row:span 2}.home-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.home-photo:hover img{transform:scale(1.02)}
.home-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,17,29,.78))}
.home-photo span{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:34px 23px 20px}.home-photo strong{display:block;font-size:16px}.home-photo small{display:block;margin-top:2px;color:#d4dfe7;font-size:9px}
.home-activity-link{text-align:center;margin-top:28px}

.home-voice{padding:74px 0;background:#fff}
.home-voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}
.home-voice h2{margin:0;color:var(--navy-deep);font-size:clamp(38px,4.5vw,58px);line-height:1.18;letter-spacing:-.03em}.home-voice-grid>div:last-child p{margin:0 0 22px;color:var(--muted);font-size:13px}

@media(max-width:920px){
  .home-hero-grid{grid-template-columns:1fr}.home-hero-copy{padding:58px 0 44px}.home-hero-photo{height:560px;margin-inline:-16px}
  .home-section-head{grid-template-columns:1fr;gap:14px}.article-board{grid-template-columns:1fr}.article-feature{border-right:0;border-bottom:1px solid var(--line);min-height:280px}
  .home-about-grid{grid-template-columns:1fr;gap:36px}.home-career-line{grid-template-columns:1fr 1fr}.home-focus-grid{grid-template-columns:1fr 1fr}
  .home-activity-grid{grid-template-columns:1fr 1fr;grid-template-rows:420px 240px}.home-photo.large{grid-column:span 2;grid-row:auto}
  .home-voice-grid{grid-template-columns:1fr;gap:26px}
}
@media(max-width:620px){
  .home-hero h1{font-size:56px}.home-tagline{font-size:30px}.home-subcopy{font-size:14px}.home-roles{line-height:1.8}.home-hero-photo{height:480px}
  .home-latest{padding:34px 0 40px}.home-section-head h2{font-size:34px}.article-feature{min-height:245px;padding:25px}.article-feature strong{font-size:20px}.article-feature p{max-width:none}
  .article-row{grid-template-columns:48px 54px 1fr;gap:8px;padding:14px 12px}.article-row i{display:none}.article-row strong{font-size:11px}
  .home-career-line{grid-template-columns:1fr 1fr}.home-focus-grid{grid-template-columns:1fr}.home-focus-grid article{min-height:0}.home-focus-bottom{flex-direction:column;align-items:stretch}.home-focus-bottom .btn{width:100%}
  .home-activity-grid{grid-template-columns:1fr;grid-template-rows:330px 280px 280px}.home-photo.large{grid-column:auto}.home-activity-link .btn{width:100%}
}

/* profile/activity refinement */
.profile-name-yomi{margin:0 0 7px!important;color:var(--muted)!important;font-size:11px!important;letter-spacing:.12em}
.profile-opening .profile-main .lead{margin-top:0;color:var(--navy);font-size:20px;line-height:1.65;font-weight:700}
.profile-timeline{max-width:900px}
.profile-timeline article{padding-bottom:34px}
.profile-timeline h3{font-size:18px}
.profile-timeline p{max-width:780px;font-size:13px;line-height:1.85}
.profile-origin .intro-copy p:first-child{color:var(--navy);font-size:22px;font-weight:800}
.current-profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.current-profile-grid article{padding:26px 25px;border:1px solid var(--line);background:#fff}
.current-profile-grid small{display:block;color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.14em}
.current-profile-grid h3{margin:8px 0 10px;color:var(--navy);font-size:20px}
.current-profile-grid p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}
.qualification-strip{display:flex;flex-wrap:wrap;gap:0;margin-top:20px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.qualification-strip span{padding:12px 15px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;color:#536777;font-size:10px}
.qualification-strip span:first-child{color:var(--navy)}
.profile-personal{display:flex;gap:20px;align-items:center;margin-top:18px;color:var(--muted);font-size:11px}.profile-personal strong{color:var(--navy);font-size:13px}
.profile-next{padding:54px 0;background:#fff;border-top:1px solid var(--line)}
.profile-next-inner{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}.profile-next h2{margin:0;color:var(--navy);font-size:34px}.profile-next p:not(.kicker){margin:8px 0 0;color:var(--muted);font-size:12px}
.activity-current-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.activity-current-grid article{position:relative;padding:30px 28px;border:1px solid var(--line);min-height:220px;background:#fff}
.activity-current-grid article>span{display:block;color:#98afc1;font-size:10px;font-weight:900;letter-spacing:.14em}
.activity-current-grid h3{margin:22px 0 11px;color:var(--navy);font-size:22px}.activity-current-grid p{margin:0;color:var(--muted);font-size:12px;line-height:1.85}.activity-current-grid a{display:inline-block;margin-top:15px;color:var(--blue);font-size:11px;font-weight:800}
.activity-photo-section .heading-row{margin-bottom:34px}.activity-gallery{grid-template-columns:1.25fr .875fr .875fr}.activity-gallery figure{height:350px}.activity-gallery figure:first-child{height:350px}
.activity-news{margin-top:0}.head-note p{margin:0 0 7px;color:var(--muted);font-size:12px}.head-note a{color:var(--blue);font-size:11px;font-weight:800}
.activity-social{display:grid;grid-template-columns:300px 1fr;gap:60px;align-items:start}.activity-social h2{margin:0;color:var(--navy);font-size:30px}.social-note{margin:9px 0 0;color:var(--muted);font-size:12px}
@media(max-width:920px){.current-profile-grid,.activity-current-grid{grid-template-columns:1fr 1fr}.activity-social{grid-template-columns:1fr;gap:24px}.profile-next-inner{grid-template-columns:1fr;gap:20px}.activity-gallery{grid-template-columns:1fr 1fr}.activity-gallery figure:first-child{grid-column:1/-1}}
@media(max-width:620px){.current-profile-grid,.activity-current-grid{grid-template-columns:1fr}.qualification-strip span{width:100%}.profile-next h2{font-size:28px}.activity-gallery{grid-template-columns:1fr}.activity-gallery figure,.activity-gallery figure:first-child{grid-column:auto;height:300px}.profile-origin .intro-copy p:first-child{font-size:19px}}


/* Compact policy overview */
.focus-first-head{margin-top:0}
.focus-compact .focus-card{min-height:250px}
.focus-secondary{margin-top:70px}
.focus-lines{border-top:1px solid var(--line)}
.focus-lines article{display:grid;grid-template-columns:210px 1fr;gap:32px;padding:19px 4px;border-bottom:1px solid var(--line);align-items:start}
.focus-lines strong{color:var(--navy);font-size:14px}
.focus-lines span{color:var(--muted);font-size:12px}
.policy-stance{display:grid;grid-template-columns:300px 1fr;gap:60px;margin-top:72px;padding:38px 0;border-top:2px solid var(--navy);border-bottom:1px solid var(--line);align-items:start}
.policy-stance h2{margin:0;color:var(--navy-deep);font-size:30px;line-height:1.4}
.policy-stance>p{margin:24px 0 0;color:#465a69;font-size:14px}
.go2senkyo-cta{padding:70px 0;background:var(--mist);border-top:1px solid var(--line)}
.go2senkyo-cta-inner{display:grid;grid-template-columns:1fr 300px;gap:80px;align-items:center}
.go2senkyo-cta h2{margin:0 0 14px;color:var(--navy-deep);font-size:clamp(30px,4vw,46px);line-height:1.3}
.go2senkyo-cta p:not(.kicker){max-width:720px;margin:0;color:var(--muted);font-size:13px}
.go2senkyo-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.home-focus-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.home-focus-actions .text-link{font-size:11px}
@media(max-width:920px){
  .policy-stance{grid-template-columns:1fr;gap:12px}
  .policy-stance>p{margin-top:0}
  .go2senkyo-cta-inner{grid-template-columns:1fr;gap:30px}
}
@media(max-width:620px){
  .focus-lines article{grid-template-columns:1fr;gap:4px;padding:16px 2px}
  .policy-stance{margin-top:54px;padding:30px 0}
  .policy-stance h2{font-size:25px}
  .go2senkyo-cta{padding:54px 0}
  .go2senkyo-actions .btn{width:100%}
  .home-focus-actions{display:grid;grid-template-columns:1fr;width:100%;gap:12px}
}

/* Profile v2 - cleaner, less repetitive */
.profile-page-hero{padding-bottom:50px}
.profile-opening-v2{padding-top:82px;padding-bottom:84px}
.profile-v2-grid{grid-template-columns:235px minmax(0,1fr);gap:58px}
.profile-v2-grid .profile-main{max-width:790px}
.profile-v2-grid .profile-main>p:not(.profile-name-yomi):not(.lead){max-width:760px}
.profile-data{margin:31px 0 0;border-top:1px solid var(--line)}
.profile-data>div{display:grid;grid-template-columns:105px 1fr;gap:22px;padding:12px 0;border-bottom:1px solid var(--line)}
.profile-data dt{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em}
.profile-data dd{margin:0;color:#405463;font-size:12px}
.profile-heading-tight{margin-bottom:40px}
.journey-list{border-top:1px solid var(--line)}
.journey-list article{display:grid;grid-template-columns:54px 1fr;gap:22px;padding:25px 0;border-bottom:1px solid var(--line)}
.journey-list article>span{padding-top:2px;color:#a2b7c7;font-size:11px;font-weight:900;letter-spacing:.08em}
.journey-list small{display:block;color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.12em}
.journey-list h3{margin:3px 0 7px;color:var(--navy);font-size:18px}
.journey-list p{max-width:850px;margin:0;color:var(--muted);font-size:12px;line-height:1.8}
.profile-origin-v2{padding-top:90px;padding-bottom:90px}
.origin-panel{display:grid;grid-template-columns:310px 1fr;gap:75px;padding:44px 0;border-top:2px solid var(--navy);border-bottom:1px solid var(--line)}
.origin-heading h2{margin:0;color:var(--navy-deep);font-size:35px;line-height:1.35}
.origin-copy{max-width:760px}
.origin-copy .origin-lead{margin:0 0 18px;color:var(--navy);font-size:23px;font-weight:800;line-height:1.55}
.origin-copy p:not(.origin-lead){margin:0 0 16px;color:#475b6b;font-size:13px;line-height:1.9}
.profile-now-v2{padding-top:86px;padding-bottom:92px;background:var(--mist)}
.now-lines{border-top:1px solid var(--line)}
.now-lines article{display:grid;grid-template-columns:265px 1fr;gap:38px;padding:17px 3px;border-bottom:1px solid var(--line);background:transparent}
.now-lines strong{color:var(--navy);font-size:13px}
.now-lines span{color:var(--muted);font-size:11px;line-height:1.75}
.profile-next-v2{background:#fff}
.profile-next-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
@media(max-width:920px){
  .profile-v2-grid{grid-template-columns:190px 1fr;gap:38px}
  .origin-panel{grid-template-columns:1fr;gap:22px}
  .now-lines article{grid-template-columns:220px 1fr;gap:25px}
}
@media(max-width:620px){
  .profile-opening-v2{padding-top:62px;padding-bottom:66px}
  .profile-v2-grid{grid-template-columns:1fr}
  .profile-v2-grid .portrait-card{max-width:280px;margin:0 auto}
  .profile-data>div{grid-template-columns:78px 1fr;gap:14px}
  .journey-list article{grid-template-columns:36px 1fr;gap:13px;padding:20px 0}
  .origin-panel{padding:34px 0}
  .origin-heading h2{font-size:29px}
  .origin-copy .origin-lead{font-size:20px}
  .now-lines article{grid-template-columns:1fr;gap:4px;padding:15px 2px}
  .profile-next-actions{width:100%}
  .profile-next-actions .btn{width:100%}
}

/* Simplified activity page */
.activity-social-simple{display:grid;grid-template-columns:320px 1fr;gap:70px;align-items:start}
.activity-social-simple h2{margin:0;color:var(--navy);font-size:30px;line-height:1.35}
.social-section{background:var(--mist);border-top:1px solid var(--line)}
@media(max-width:920px){.activity-social-simple{grid-template-columns:1fr;gap:24px}}


/* Home overview: integrate profile and focus */
.home-overview{background:#fff}
.home-overview-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:start}
.home-overview-profile{padding-right:24px}
.home-overview-profile h2,
.home-overview-focus h2{margin:0 0 28px;color:var(--navy-deep);font-size:clamp(34px,4vw,52px);line-height:1.25;letter-spacing:-.03em}
.home-overview-profile p:not(.kicker){margin:0 0 20px;color:#4a5d6d;font-size:14px}
.home-overview-profile .overview-lead{color:var(--navy);font-size:20px;font-weight:750;line-height:1.75}
.home-overview-profile .text-link{display:inline-block;margin-top:8px}
.home-overview-focus{border-left:1px solid var(--line);padding-left:70px}
.overview-focus-list{border-top:1px solid var(--line)}
.overview-focus-list a{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);transition:.2s ease}
.overview-focus-list a:hover{padding-left:8px;background:linear-gradient(90deg,var(--mist),transparent)}
.overview-focus-list span{color:#9bb1c2;font-size:10px;font-weight:800;letter-spacing:.12em;padding-top:3px}
.overview-focus-list strong{display:block;color:var(--navy);font-size:16px}
.overview-focus-list small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.7}
.overview-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:28px}
.overview-links .text-link{font-size:11px}
@media(max-width:920px){
  .home-overview-grid{grid-template-columns:1fr;gap:54px}
  .home-overview-profile{padding-right:0}
  .home-overview-focus{border-left:0;border-top:1px solid var(--line);padding:48px 0 0}
}
@media(max-width:620px){
  .home-overview-profile .overview-lead{font-size:18px}
  .overview-links{display:grid;grid-template-columns:1fr;gap:13px}
  .overview-links .btn{width:100%}
}


/* Quieter Japanese section labels on the homepage */
.section-label{
  margin:0 0 12px;
  color:var(--blue);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}
.home-hero-actions .btn.secondary{
  background:#fff;
}
.home-overview-profile .overview-lead{
  font-weight:700;
}
.home-activity .section-label{
  color:#b6ccdc;
}
.home-voice .section-label{
  color:var(--blue);
}

/* v8: hero proportion and first-view refinement */
.home-hero{
  background:linear-gradient(90deg,#fbfcfd 0 58%,#f2f5f7 58% 100%);
}
.home-hero-grid{
  min-height:610px;
  grid-template-columns:1.06fr .94fr;
}
.home-hero-copy{
  padding:68px 64px 62px 0;
}
.home-role{
  margin-bottom:16px;
  font-size:10px;
  letter-spacing:.06em;
}
.home-hero h1{
  font-size:clamp(54px,5.6vw,76px);
  line-height:1;
  letter-spacing:-.045em;
}
.home-tagline-wrap{
  margin-top:27px;
  padding-top:20px;
}
.home-tagline-wrap:before{
  width:42px;
  height:2px;
}
.home-tagline{
  font-size:clamp(29px,2.85vw,39px);
  line-height:1.4;
}
.home-subcopy{
  max-width:520px;
  margin-top:15px;
  font-size:14px;
  line-height:1.85;
}
.home-hero-actions{
  margin-top:26px;
}
.home-hero-photo{
  position:relative;
  border-left:1px solid rgba(12,49,86,.08);
  background:#f4f6f8;
}
.home-hero-photo img{
  object-position:56% 9%;
}
.home-latest{
  padding-top:72px;
}
@media(max-width:920px){
  .home-hero{
    background:#fbfcfd;
  }
  .home-hero-grid{
    min-height:auto;
  }
  .home-hero-copy{
    padding:52px 0 38px;
  }
  .home-hero-photo{
    height:520px;
    margin-inline:-16px;
    border-left:0;
    border-top:1px solid rgba(12,49,86,.08);
  }
  .home-hero-photo img{
    object-position:55% 8%;
  }
}
@media(max-width:620px){
  .home-hero-copy{
    padding-top:44px;
  }
  .home-role{
    margin-bottom:12px;
  }
  .home-hero h1{
    font-size:49px;
  }
  .home-tagline-wrap{
    margin-top:22px;
  }
  .home-tagline{
    font-size:27px;
  }
  .home-subcopy{
    font-size:13px;
    line-height:1.8;
  }
  .home-hero-actions{
    margin-top:22px;
  }
  .home-hero-photo{
    height:430px;
  }
  .home-latest{
    padding-top:58px;
  }
}

/* v9: compact latest-article list */
.home-latest{padding:58px 0 62px}
.home-section-head.compact{margin-bottom:18px}
.article-list-compact{border-top:2px solid var(--navy)}
.article-line{
  display:grid;grid-template-columns:96px 72px 1fr 18px;gap:16px;align-items:center;
  padding:17px 8px;border-bottom:1px solid var(--line);transition:background .18s,padding .18s
}
.article-line:hover{background:var(--mist);padding-left:14px}
.article-line time{color:var(--muted);font-size:10px}
.article-line span{
  justify-self:start;min-width:54px;padding:2px 7px;border:1px solid #bfd0dc;
  color:var(--blue);font-size:8px;text-align:center
}
.article-line strong{color:var(--navy);font-size:13px;line-height:1.55}
.article-line i{color:var(--blue);font-style:normal;font-size:13px}
.article-line-latest{background:#f8fafb}
.article-line-latest strong{font-size:14px}
@media(max-width:620px){
  .home-latest{padding:48px 0 50px}
  .article-line{grid-template-columns:70px 58px 1fr;gap:8px;padding:14px 4px}
  .article-line i{display:none}
  .article-line time{font-size:9px}
  .article-line span{min-width:48px;font-size:7px;padding:2px 4px}
  .article-line strong,.article-line-latest strong{font-size:11px}
}

/* v10: content density and hierarchy */
.overview-meta{color:var(--muted)!important;font-size:11px!important;margin-top:-2px!important}
.light-label{color:#b8ccd9}
.activity-destinations{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.activity-destinations h2{margin:0 0 14px;color:var(--navy-deep);font-size:clamp(28px,3vw,40px);line-height:1.35}
.activity-destinations p:not(.section-label){color:var(--muted);font-size:13px;max-width:560px}
.activity-destinations .btn{margin-top:18px}
@media(max-width:920px){.activity-destinations{grid-template-columns:1fr;gap:54px}}

/* v11: identity hierarchy — reporter + Shinto first, welfare as origin */
.home-origin-note{
  margin:30px 0 22px;
  padding:20px 22px;
  border-left:3px solid #8c2633;
  background:#f8f9fa;
}
.home-origin-note strong{
  display:block;
  margin-bottom:7px;
  color:var(--navy);
  font-size:13px;
}
.home-origin-note p{
  margin:0 !important;
  color:#596b79 !important;
  font-size:12px !important;
  line-height:1.85;
}
@media(max-width:620px){
  .home-origin-note{
    margin:24px 0 19px;
    padding:17px 18px;
  }
}

/* v12: separate hero text from photo clearly */
.home-hero{
  background:#f6f8fa;
}
.home-hero-grid{
  min-height:620px;
  display:grid;
  grid-template-columns:minmax(0, 520px) minmax(0, 1fr);
  gap:44px;
  align-items:stretch;
}
.home-hero-copy{
  position:relative;
  z-index:2;
  padding:56px 0 56px;
}
.home-hero-copy-inner{
  background:#fff;
  border:1px solid rgba(12,49,86,.08);
  box-shadow:0 18px 48px rgba(12,49,86,.06);
  padding:40px 38px 34px;
}
.home-role{
  margin-bottom:14px;
}
.home-hero h1{
  font-size:clamp(54px,5.5vw,78px);
}
.home-tagline-wrap{
  margin-top:22px;
  padding-top:18px;
}
.home-subcopy{
  margin-top:14px;
  max-width:none;
}
.home-hero-photo{
  margin:0;
  min-width:0;
  background:#e9eef2;
  border:1px solid rgba(12,49,86,.08);
  overflow:hidden;
}
.home-hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 10%;
}
@media(max-width:920px){
  .home-hero-grid{
    grid-template-columns:1fr;
    gap:24px;
    min-height:auto;
  }
  .home-hero-copy{
    padding:42px 0 0;
  }
  .home-hero-copy-inner{
    padding:30px 24px 26px;
  }
  .home-hero-photo{
    height:520px;
    margin:0;
  }
}
@media(max-width:620px){
  .home-hero-copy{
    padding-top:34px;
  }
  .home-hero-copy-inner{
    padding:24px 20px 22px;
  }
  .home-hero h1{
    font-size:50px;
  }
  .home-tagline{
    font-size:28px;
  }
  .home-subcopy{
    font-size:13px;
    line-height:1.8;
  }
  .home-hero-actions{
    margin-top:20px;
  }
  .home-hero-photo{
    height:410px;
  }
}

/* v13: reduce politician-photo feel in activity areas */
.revised-activity-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  grid-template-rows:1fr 1fr;
  gap:12px;
}
.revised-activity-grid .home-photo.large{
  grid-row:span 2;
  min-height:420px;
}
.activity-info-card{
  background:#fff;
  border:1px solid rgba(255,255,255,.18);
  padding:26px 24px 24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.activity-info-card small,
.activity-note-card small{
  display:block;
  margin-bottom:8px;
  color:#9fb8ca;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.activity-info-card h3,
.activity-note-card h3{
  margin:0 0 14px;
  color:#fff;
  font-size:21px;
  line-height:1.45;
}
.activity-info-card ul{
  margin:0;
  padding-left:18px;
  color:#d4e0e8;
  font-size:12px;
  line-height:1.9;
}
.activity-info-card li{margin:0 0 6px}
.activity-showcase-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  grid-template-rows:1fr 1fr;
  gap:12px;
}
.activity-main-photo{
  position:relative;
  margin:0;
  grid-row:span 2;
  min-height:470px;
  overflow:hidden;
}
.activity-main-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.activity-main-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 34%,rgba(3,14,25,.76));
}
.activity-main-photo figcaption{
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  bottom:0;
  padding:34px 21px 18px;
}
.activity-main-photo strong{
  display:block;
  color:#fff;
  font-size:16px;
}
.activity-main-photo span{
  color:#d5e0e8;
  font-size:9px;
}
.activity-note-card{
  border:1px solid rgba(255,255,255,.15);
  padding:28px 26px;
  background:rgba(255,255,255,.03);
}
.activity-note-card p{
  margin:0;
  color:#d5e0e8;
  font-size:13px;
  line-height:1.9;
}
@media(max-width:920px){
  .revised-activity-grid,
  .activity-showcase-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
  }
  .revised-activity-grid .home-photo.large,
  .activity-main-photo{
    grid-row:auto;
    min-height:360px;
  }
}
@media(max-width:620px){
  .revised-activity-grid .home-photo.large,
  .activity-main-photo{
    min-height:300px;
  }
  .activity-info-card,
  .activity-note-card{
    padding:22px 18px;
  }
  .activity-info-card h3,
  .activity-note-card h3{
    font-size:18px;
  }
}



/* v14: note-based profile refinements */
.profile-values{
  background:#f5f7f8;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.profile-values h2{
  margin:0 0 16px;
  color:var(--navy-deep);
  font-size:clamp(28px,3.7vw,42px);
  line-height:1.4;
}
.profile-values p:last-child{
  margin:0;
  color:#4d6070;
  font-size:14px;
  line-height:1.95;
}

/* v15: activity photos from Note article */
.home-story-gallery{
  display:grid;
  grid-template-columns:1.25fr .75fr .75fr;
  grid-template-rows:245px 245px;
  gap:12px;
}
.story-photo{
  position:relative;
  display:block;
  overflow:hidden;
  min-width:0;
}
.story-photo-main{grid-row:span 2}
.story-photo:nth-child(4){grid-column:2 / span 2}
.story-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.story-photo:hover img{transform:scale(1.025)}
.story-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 38%,rgba(4,17,29,.8));
}
.story-photo span{
  position:absolute;
  z-index:2;
  left:0;right:0;bottom:0;
  padding:32px 22px 18px;
}
.story-photo strong{display:block;color:#fff;font-size:16px}
.story-photo small{display:block;margin-top:3px;color:#d3dfe7;font-size:9px}

.profile-photo-story{padding-top:0}
.profile-photo-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.profile-photo-pair figure{
  position:relative;
  height:360px;
  margin:0;
  overflow:hidden;
  background:#e8edf1;
}
.profile-photo-pair img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.profile-photo-pair figure:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 42%,rgba(3,14,25,.76));
}
.profile-photo-pair figcaption{
  position:absolute;
  z-index:2;
  left:0;right:0;bottom:0;
  padding:30px 22px 18px;
}
.profile-photo-pair strong{display:block;color:#fff;font-size:16px}
.profile-photo-pair span{color:#d5e0e8;font-size:9px}

.activity-story-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:260px;
  gap:12px;
}
.activity-story-grid figure{
  position:relative;
  margin:0;
  overflow:hidden;
  min-width:0;
}
.activity-story-large{grid-row:span 2}
.activity-story-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.activity-story-grid figure:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 36%,rgba(3,14,25,.8));
}
.activity-story-grid figcaption{
  position:absolute;
  z-index:2;
  left:0;right:0;bottom:0;
  padding:28px 19px 16px;
}
.activity-story-grid strong{display:block;color:#fff;font-size:15px}
.activity-story-grid span{color:#d5e0e8;font-size:9px}
.note-link{display:inline-block;margin-top:16px}

@media(max-width:920px){
  .home-story-gallery{
    grid-template-columns:1fr 1fr;
    grid-template-rows:360px 240px 240px;
  }
  .story-photo-main{grid-column:span 2;grid-row:auto}
  .story-photo:nth-child(4){grid-column:auto}
  .activity-story-grid{grid-template-columns:1fr 1fr;grid-auto-rows:270px}
  .activity-story-large{grid-row:auto}
}
@media(max-width:620px){
  .home-story-gallery{
    grid-template-columns:1fr;
    grid-template-rows:repeat(4,300px);
  }
  .story-photo-main{grid-column:auto}
  .profile-photo-pair{grid-template-columns:1fr}
  .profile-photo-pair figure{height:300px}
  .activity-story-grid{grid-template-columns:1fr;grid-auto-rows:300px}
}

/* v17: local uploaded photos */
.home-story-gallery .story-photo-main img{object-position:center 42%}
.home-story-gallery .story-photo:nth-child(2) img{object-position:center 50%}
.home-story-gallery .story-photo:nth-child(3) img{object-position:center 50%}
.home-story-gallery .story-photo:nth-child(4) img{object-position:center 43%}
.profile-photo-pair figure:first-child img{object-position:center 50%}
.profile-photo-pair figure:last-child img{object-position:center 45%}
.local-photo-grid figure:nth-child(1) img{object-position:center 43%}
.local-photo-grid figure:nth-child(2) img{object-position:center 50%}
.local-photo-grid figure:nth-child(3) img{object-position:center 50%}
.local-photo-grid figure:nth-child(4) img{object-position:center 46%}
.local-photo-grid figure:nth-child(5) img{object-position:center 42%}
.local-photo-grid figure:nth-child(6) img{object-position:center 45%}
.local-photo-grid figure:nth-child(7) img{object-position:center 45%}

/* v20: substantial policy page */
.policy-page{background:#fff}
.policy-intro-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:70px;
  align-items:start;
  padding-bottom:52px;
  border-bottom:1px solid var(--line);
}
.policy-intro-grid h2{
  margin:0;
  color:var(--navy-deep);
  font-size:clamp(34px,4.4vw,52px);
  line-height:1.25;
}
.policy-intro-grid>p{
  margin:0;
  color:#4a5d6d;
  font-size:14px;
  line-height:1.95;
}
.policy-detail-list{margin-top:10px}
.policy-detail{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:70px;
  padding:58px 0;
  border-bottom:1px solid var(--line);
}
.policy-detail-head{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:14px;
  align-items:start;
}
.policy-detail-head>span{
  color:#8ea5b6;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  padding-top:5px;
}
.policy-kicker{
  margin:0 0 8px;
  color:var(--blue);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.policy-detail h2{
  margin:0;
  color:var(--navy-deep);
  font-size:26px;
  line-height:1.48;
}
.policy-detail-main{min-width:0}
.policy-lead{
  margin:0 0 24px;
  color:#465a69;
  font-size:14px;
  line-height:1.95;
}
.policy-points{
  padding:25px 28px;
  background:#f6f8fa;
  border-top:2px solid var(--navy);
}
.policy-points h3{
  margin:0 0 12px;
  color:var(--navy);
  font-size:13px;
}
.policy-points ul{margin:0;padding:0;list-style:none}
.policy-points li{
  position:relative;
  padding:11px 0 11px 17px;
  border-top:1px solid #dfe6eb;
  color:#4a5c69;
  font-size:12px;
  line-height:1.75;
}
.policy-points li:first-child{border-top:0}
.policy-points li:before{
  content:"";
  position:absolute;
  left:0;
  top:19px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--blue);
}
.policy-points strong{color:var(--navy-deep);font-size:12px}
.policy-detail-last{border-bottom:0}

@media(max-width:920px){
  .policy-intro-grid{grid-template-columns:1fr;gap:22px}
  .policy-detail{grid-template-columns:1fr;gap:22px}
}
@media(max-width:620px){
  .policy-detail{padding:44px 0}
  .policy-detail-head{grid-template-columns:35px 1fr;gap:10px}
  .policy-detail h2{font-size:21px}
  .policy-lead{font-size:13px}
  .policy-points{padding:20px 18px}
  .policy-points li{font-size:11px}
}

/* v22: five core policy themes */
.cross-policy-box{
  margin-top:36px;
  padding:34px 38px;
  background:#f6f8fa;
  border-top:2px solid var(--navy);
}
.cross-policy-box h2{
  margin:0 0 14px;
  color:var(--navy-deep);
  font-size:24px;
  line-height:1.5;
}
.cross-policy-box p:last-child{
  margin:0;
  color:#4a5c69;
  font-size:13px;
  line-height:1.9;
}
@media(max-width:620px){
  .cross-policy-box{padding:25px 20px}
  .cross-policy-box h2{font-size:20px}
}

/* v25: readability / larger type */
body{
  font-size:16px;
}

/* Header / navigation */
.global-nav a{
  font-size:13px;
}
.brand small{
  font-size:10px;
}

/* Hero and section copy */
.home-subcopy{
  font-size:16px;
}
.page-hero p:last-child{
  font-size:15px;
}
.home-section-head p,
.heading-row>p,
.head-note p{
  font-size:13px;
}

/* Article list */
.article-line time{
  font-size:11px;
}
.article-line span{
  font-size:10px;
}
.article-line strong{
  font-size:15px;
}
.article-line-latest strong{
  font-size:16px;
}

/* Homepage profile / policies */
.home-overview-profile>p,
.home-overview-focus>p{
  font-size:15px;
  line-height:1.9;
}
.overview-focus-list span{
  font-size:11px;
}
.overview-focus-list strong{
  font-size:17px;
}
.overview-focus-list small{
  font-size:12px;
  line-height:1.6;
}
.home-origin-note strong{
  font-size:14px;
}
.home-origin-note p{
  font-size:13px !important;
}

/* Profile page */
.profile-main p,
.content-narrow p{
  font-size:15px;
  line-height:1.9;
}
.bio-table th{
  font-size:11px;
}
.bio-table td{
  font-size:14px;
}
.credential small,
.timeline-simple small{
  font-size:10px;
}
.credential strong{
  font-size:14px;
}
.timeline-simple h3{
  font-size:17px;
}
.timeline-simple p{
  font-size:13px;
}

/* Policy page */
.policy-intro-grid>p{
  font-size:15px;
}
.policy-kicker{
  font-size:11px;
}
.policy-lead{
  font-size:15px;
  line-height:1.9;
}
.policy-points h3{
  font-size:14px;
}
.policy-points li{
  font-size:14px;
  line-height:1.8;
}
.policy-points strong{
  font-size:14px;
}
.cross-policy-box p:last-child{
  font-size:14px;
}

/* Photo captions / activity */
.story-photo small,
.activity-story-grid span,
.profile-photo-pair span{
  font-size:11px;
}
.story-photo strong,
.activity-story-grid strong,
.profile-photo-pair strong{
  font-size:17px;
}
.social-note{
  font-size:13px;
}
.social-links a{
  font-size:13px;
}

/* Footer */
.footer-grid>div:first-child>p{
  font-size:12px;
}
.footer-links{
  font-size:12px;
}
.copyright{
  font-size:10px !important;
}

/* Buttons and text links */
.btn{
  font-size:13px;
}
.text-link,
.head-note a{
  font-size:12px;
}

@media(max-width:620px){
  body{
    font-size:16px;
  }
  .home-subcopy{
    font-size:15px;
  }
  .article-line time{
    font-size:10px;
  }
  .article-line span{
    font-size:9px;
  }
  .article-line strong,
  .article-line-latest strong{
    font-size:14px;
  }
  .profile-main p,
  .content-narrow p,
  .policy-lead{
    font-size:15px;
  }
  .policy-points li{
    font-size:13px;
  }
  .overview-focus-list small{
    font-size:12px;
  }
}

/* v26: streamlined profile copy */
.profile-opening-v2 .profile-main .lead{
  margin-bottom:24px;
}
.profile-journey-v2 .journey-list article:last-child{
  padding-bottom:0;
}
.profile-now-v2 .profile-heading-tight{
  margin-bottom:24px;
}

/* v27: four-panel policy visuals */
.policy-comic{
  margin:0 0 26px;
  border:1px solid var(--line);
  background:#fff;
  overflow:hidden;
}
.policy-comic img{
  width:100%;
  height:auto;
  display:block;
}
.policy-comic figcaption{
  margin:0;
  padding:10px 14px;
  color:#718391;
  background:#f8fafb;
  border-top:1px solid var(--line);
  font-size:11px;
  line-height:1.55;
}
@media(max-width:620px){
  .policy-comic{
    margin-bottom:22px;
  }
  .policy-comic figcaption{
    font-size:10px;
    padding:9px 11px;
  }
}

/* v28: larger, more comfortable reading size */
body{
  font-size:17px;
  line-height:1.85;
}

/* header / nav */
.global-nav a{
  font-size:14px;
}
.brand small{
  font-size:11px;
}

/* hero / section intros */
.home-subcopy{
  font-size:17px;
  line-height:1.85;
}
.page-hero p:last-child{
  font-size:16px;
  line-height:1.85;
}
.home-section-head p,
.heading-row>p,
.head-note p{
  font-size:14px;
  line-height:1.8;
}

/* latest articles */
.article-line time{
  font-size:12px;
}
.article-line span{
  font-size:11px;
}
.article-line strong{
  font-size:16px;
  line-height:1.6;
}
.article-line-latest strong{
  font-size:17px;
}

/* homepage profile / policy summary */
.home-overview-profile>p,
.home-overview-focus>p{
  font-size:16px;
  line-height:1.9;
}
.overview-focus-list span{
  font-size:12px;
}
.overview-focus-list strong{
  font-size:18px;
}
.overview-focus-list small{
  font-size:13px;
  line-height:1.65;
}
.home-origin-note strong{
  font-size:15px;
}
.home-origin-note p{
  font-size:14px !important;
}

/* profile */
.profile-main p,
.content-narrow p{
  font-size:16px;
  line-height:1.9;
}
.profile-name-yomi{
  font-size:13px !important;
}
.profile-data dt{
  font-size:12px;
}
.profile-data dd{
  font-size:15px;
}
.bio-table th{
  font-size:12px;
}
.bio-table td{
  font-size:15px;
}
.journey-list small,
.credential small,
.timeline-simple small{
  font-size:11px;
}
.journey-list h3,
.timeline-simple h3{
  font-size:18px;
}
.journey-list p,
.timeline-simple p{
  font-size:15px;
  line-height:1.85;
}
.now-lines strong{
  font-size:16px;
}
.now-lines span{
  font-size:14px;
  line-height:1.75;
}

/* policy */
.policy-intro-grid>p{
  font-size:16px;
  line-height:1.9;
}
.policy-kicker{
  font-size:12px;
}
.policy-lead{
  font-size:16px;
  line-height:1.9;
}
.policy-points h3{
  font-size:15px;
}
.policy-points li{
  font-size:15px;
  line-height:1.8;
}
.policy-points strong{
  font-size:15px;
}
.cross-policy-box p:last-child{
  font-size:15px;
  line-height:1.85;
}
.policy-comic figcaption{
  font-size:12px;
}

/* activity */
.story-photo small,
.activity-story-grid span,
.profile-photo-pair span{
  font-size:12px;
}
.story-photo strong,
.activity-story-grid strong,
.profile-photo-pair strong{
  font-size:18px;
}
.social-note{
  font-size:14px;
}
.social-links a{
  font-size:14px;
}

/* controls and footer */
.btn{
  font-size:14px;
}
.text-link,
.head-note a{
  font-size:13px;
}
.footer-grid>div:first-child>p{
  font-size:13px;
}
.footer-links{
  font-size:13px;
}
.copyright{
  font-size:11px !important;
}

@media(max-width:620px){
  body{
    font-size:16px;
  }
  .global-nav a{
    font-size:14px;
  }
  .home-subcopy,
  .page-hero p:last-child{
    font-size:16px;
  }
  .article-line time{
    font-size:10px;
  }
  .article-line span{
    font-size:10px;
  }
  .article-line strong,
  .article-line-latest strong{
    font-size:15px;
  }
  .profile-main p,
  .content-narrow p,
  .policy-lead{
    font-size:16px;
  }
  .journey-list p,
  .timeline-simple p{
    font-size:14px;
  }
  .policy-points li{
    font-size:14px;
  }
  .policy-points strong{
    font-size:14px;
  }
  .overview-focus-list strong{
    font-size:17px;
  }
  .overview-focus-list small{
    font-size:13px;
  }
  .policy-comic figcaption{
    font-size:11px;
  }
}

/* v29: civic / public activity moved forward */
.civic-activity-section{
  background:#fff;
}
.civic-activity-grid{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:70px;
  align-items:center;
}
.civic-activity-photo{
  margin:0;
  background:#eef2f5;
  overflow:hidden;
}
.civic-activity-photo img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.civic-activity-copy h2{
  margin:0 0 18px;
  color:var(--navy-deep);
  font-size:clamp(30px,3.6vw,46px);
  line-height:1.35;
}
.civic-activity-copy>p:not(.section-label){
  margin:0 0 28px;
  color:#465a69;
  font-size:16px;
  line-height:1.9;
}
.civic-role-list{
  border-top:1px solid var(--line);
}
.civic-role-list>div{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:22px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
}
.civic-role-list strong{
  color:var(--navy-deep);
  font-size:15px;
}
.civic-role-list span{
  color:#536675;
  font-size:14px;
  line-height:1.75;
}

@media(max-width:920px){
  .civic-activity-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
}
@media(max-width:620px){
  .civic-activity-copy h2{
    font-size:26px;
  }
  .civic-activity-copy>p:not(.section-label){
    font-size:15px;
  }
  .civic-role-list>div{
    grid-template-columns:1fr;
    gap:5px;
    padding:15px 0;
  }
  .civic-role-list strong{
    font-size:15px;
  }
  .civic-role-list span{
    font-size:14px;
  }
}

/* v31: childhood and expanded activity photography */
.profile-childhood{
  background:#fff;
}
.childhood-grid{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:64px;
  align-items:center;
}
.childhood-photo{
  margin:0;
  background:#f2f3f4;
  overflow:hidden;
}
.childhood-photo img{
  width:100%;
  max-height:680px;
  object-fit:cover;
  object-position:center 37%;
}
.childhood-copy h2{
  margin:0 0 18px;
  color:var(--navy-deep);
  font-size:clamp(30px,3.6vw,46px);
  line-height:1.35;
}
.childhood-copy p:last-child{
  margin:0;
  color:#465a69;
  font-size:16px;
  line-height:1.9;
}
@media(max-width:920px){
  .childhood-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .childhood-photo img{
    max-height:none;
  }
}

/* v33: expanded activity photography */
.local-photo-grid figure{
  min-height:0;
}
.local-photo-grid figure img{
  object-position:center;
}
.local-photo-grid figure:nth-child(3) img,
.local-photo-grid figure:nth-child(5) img{
  object-position:center 25%;
}

/* v34: public collaboration section */
.public-collab-section{
  background:#f7f9fb;
  border-top:1px solid var(--line);
}
.public-collab-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:18px;
}
.public-collab-grid figure{
  position:relative;
  margin:0;
  min-height:420px;
  overflow:hidden;
  background:#e8edf1;
}
.public-collab-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.public-collab-grid figure:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:45%;
  background:linear-gradient(180deg,transparent,rgba(4,27,49,.82));
  pointer-events:none;
}
.public-collab-grid figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:24px 26px;
  color:#fff;
}
.public-collab-grid figcaption strong{
  display:block;
  font-size:18px;
  line-height:1.45;
}
.public-collab-grid figcaption span{
  display:block;
  margin-top:5px;
  color:#d9e4eb;
  font-size:12px;
}
@media(max-width:820px){
  .public-collab-grid{
    grid-template-columns:1fr;
  }
  .public-collab-grid figure{
    min-height:330px;
  }
}

/* v35: exact captions and uncropped people */
.public-collab-grid figure{
  height:440px;
  min-height:0;
  background:#0b2740;
}
.public-collab-grid img{
  object-fit:contain;
  object-position:center;
}
.public-collab-grid figure:after{
  height:34%;
}
.public-collab-grid figcaption{
  background:linear-gradient(180deg,transparent,rgba(3,20,35,.88));
}

.local-photo-grid .portrait-safe{
  background:#071d31;
}
.local-photo-grid .portrait-safe img{
  object-fit:contain !important;
  object-position:center !important;
}
.local-photo-grid .portrait-safe:after{
  background:linear-gradient(180deg,transparent 45%,rgba(3,14,25,.9));
}

@media(max-width:820px){
  .public-collab-grid figure{
    height:390px;
  }
}
@media(max-width:620px){
  .public-collab-grid figure{
    height:360px;
  }
}

/* v46: affiliations */
.affiliation-section{
  background:#fff;
  border-top:1px solid var(--line);
}
.affiliation-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.affiliation-list article{
  padding:24px 22px;
  border:1px solid var(--line);
  background:#f8fafb;
}
.affiliation-list strong{
  display:block;
  color:var(--navy-deep);
  font-size:17px;
}
.affiliation-list span{
  display:block;
  margin-top:5px;
  color:#5c6f7d;
  font-size:13px;
}
@media(max-width:760px){
  .affiliation-list{
    grid-template-columns:1fr;
  }
}

.cross-policy-list{
  margin:22px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.cross-policy-list li{
  position:relative;
  padding-left:1.2em;
  line-height:1.8;
}
.cross-policy-list li::before{
  content:"・";
  position:absolute;
  left:0;
  top:0;
}

/* v60: readability adjustments */
html{
  font-size:18px;
}
body{
  font-size:18px;
  line-height:1.8;
}
p,
li,
dd{
  font-size:17px;
}
.hero-copy p,
.overview-lead,
.policy-lead,
.heading-row > p,
.profile-origin-copy p,
.profile-current-card p{
  font-size:17px;
  line-height:1.85;
}
.policy-points li{
  font-size:16px;
  line-height:1.85;
}
.policy-points strong{
  font-size:16px;
}
.timeline p,
.profile-timeline p{
  font-size:16px;
  line-height:1.8;
}
.activity-card figcaption strong,
.photo-gallery figcaption strong{
  font-size:15px;
}
.activity-card figcaption span,
.photo-gallery figcaption span{
  font-size:13px;
}
.site-nav a{
  font-size:15px;
}
.footer,
.site-footer{
  font-size:14px;
}
@media(max-width:760px){
  body{
    font-size:17px;
  }
  p,
  li,
  dd{
    font-size:16px;
  }
  .hero-copy p,
  .overview-lead,
  .policy-lead,
  .heading-row > p,
  .profile-origin-copy p,
  .profile-current-card p{
    font-size:16px;
  }
  .policy-points li,
  .policy-points strong{
    font-size:15px;
  }
  .timeline p,
  .profile-timeline p{
    font-size:15px;
  }
  .site-nav a{
    font-size:16px;
  }
}

/* v61: larger typography */
body{
  font-size:19px;
  line-height:1.82;
}

p,
li,
dd{
  font-size:18px;
}

.hero-copy p,
.overview-lead,
.policy-lead,
.heading-row > p,
.profile-origin-copy p,
.profile-current-card p{
  font-size:18px;
  line-height:1.9;
}

.policy-points li{
  font-size:17px;
  line-height:1.9;
}

.policy-points strong{
  font-size:17px;
}

.timeline p,
.profile-timeline p{
  font-size:17px;
  line-height:1.85;
}

.profile-table dt,
.profile-table dd{
  font-size:16px;
}

.activity-card figcaption strong,
.photo-gallery figcaption strong{
  font-size:16px;
}

.activity-card figcaption span,
.photo-gallery figcaption span{
  font-size:14px;
  line-height:1.6;
}

.site-nav a{
  font-size:16px;
}

.footer,
.site-footer{
  font-size:15px;
}

@media(max-width:760px){
  body{
    font-size:18px;
  }

  p,
  li,
  dd{
    font-size:17px;
  }

  .hero-copy p,
  .overview-lead,
  .policy-lead,
  .heading-row > p,
  .profile-origin-copy p,
  .profile-current-card p{
    font-size:17px;
    line-height:1.9;
  }

  .policy-points li,
  .policy-points strong{
    font-size:16px;
  }

  .timeline p,
  .profile-timeline p{
    font-size:16px;
  }

  .profile-table dt,
  .profile-table dd{
    font-size:15px;
  }

  .activity-card figcaption strong,
  .photo-gallery figcaption strong{
    font-size:15px;
  }

  .activity-card figcaption span,
  .photo-gallery figcaption span{
    font-size:14px;
  }

  .site-nav a{
    font-size:17px;
  }
}

/* v62: LDP logo lockup */
.home-role-lockup{
  display:flex;
  align-items:center;
  gap:16px;
  margin:0 0 24px;
}
.home-party-logo{
  display:block;
  width:58px;
  height:auto;
  flex:0 0 auto;
}
.home-role-lockup .home-role{
  margin:0;
  color:var(--blue);
  font-size:17px;
  font-weight:800;
  line-height:1.55;
  letter-spacing:.04em;
}
@media(max-width:760px){
  .home-role-lockup{
    gap:12px;
    margin-bottom:20px;
  }
  .home-party-logo{
    width:50px;
  }
  .home-role-lockup .home-role{
    font-size:16px;
    line-height:1.5;
  }
}

/* v68: UX improvements */
.hero-actions-primary{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.hero-actions-primary .button{
  min-width:140px;
  text-align:center;
}

.policy-overview-compact{
  padding-top:18px;
  padding-bottom:22px;
}
.policy-overview-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
}
.policy-overview-grid a{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:18px 16px;
  border:1px solid var(--line);
  background:#fff;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
}
.policy-overview-grid a:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(15,35,55,.08);
}
.policy-overview-grid span{
  font-size:13px;
  color:var(--blue);
  font-weight:800;
}
.policy-overview-grid strong{
  color:var(--navy-deep);
  font-size:16px;
  line-height:1.45;
}
.policy-overview-grid small{
  color:#61717f;
  font-size:13px;
  line-height:1.55;
}
.policy-detail{
  scroll-margin-top:90px;
}


@media(max-width:1000px){
  .policy-overview-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:760px){
  .hero-actions-primary{
    display:grid;
    grid-template-columns:1fr;
  }
  .hero-actions-primary .button{
    width:100%;
  }
  .policy-overview-grid{
    grid-template-columns:1fr;
  }
  .policy-overview-grid a{
    padding:16px;
  }
}

/* v71: extra article list */
.article-more-block{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.article-more-label{
  margin:0 0 7px;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
}
.article-more-list{
  display:grid;
}
.article-more-list a{
  display:grid;
  grid-template-columns:86px 92px minmax(0,1fr) 20px;
  gap:12px;
  align-items:center;
  padding:10px 4px;
  border-bottom:1px solid var(--line);
  text-decoration:none;
}
.article-more-list a:hover{
  background:var(--mist);
  padding-left:10px;
}
.article-more-list time{
  color:var(--muted);
  font-size:12px;
}
.article-more-list strong{
  color:var(--navy);
  font-size:14px;
  line-height:1.5;
}
.article-more-list i{
  color:var(--blue);
  font-style:normal;
  font-size:13px;
}
@media(max-width:760px){
  .article-more-block{
    margin-top:14px;
  }
  .article-more-label{
    font-size:12px;
  }
  .article-more-list a{
    grid-template-columns:76px 1fr;
    gap:8px;
    padding:11px 4px;
  }
  .article-more-list time{
    font-size:11px;
  }
  .article-more-list strong{
    font-size:13px;
    line-height:1.55;
  }
  .article-more-list i{
    display:none;
  }
}

/* v72: automatic Go2Senkyo RSS */
.rss-feed-status{
  margin:0;
  padding:20px 8px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:14px;
}
.rss-feed-error a{
  color:var(--blue);
  font-weight:700;
}


/* v74: formal full-name presentation on profile page */
.profile-name-yomi{
  margin:0 0 10px !important;
  color:var(--navy-deep) !important;
  font-size:18px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  line-height:1.5 !important;
}
@media(max-width:760px){
  .profile-name-yomi{
    font-size:17px !important;
  }
}



/* v75: category labels on all 10 Go2Senkyo articles */
.article-more-category{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:3px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--navy);
  background:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
}
@media(max-width:760px){
  .article-more-list a{
    grid-template-columns:70px 84px minmax(0,1fr) !important;
  }
  .article-more-category{
    font-size:11px;
    padding:3px 6px;
  }
}


/* v79: search growth and internal links */
.breadcrumb{border-bottom:1px solid var(--line);background:#fff}
.breadcrumb .container{display:flex;align-items:center;gap:9px;min-height:42px;color:var(--muted);font-size:12px}
.breadcrumb a{color:var(--blue);font-weight:700;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}

.article-copy{min-width:0}
.article-copy strong{display:block}
.article-excerpt{display:block;margin-top:4px;color:var(--muted);font-size:13px;line-height:1.55;font-weight:400}

.policy-detail-link{margin:20px 0 0!important;text-align:right}
.policy-detail-link a{color:var(--blue);font-size:14px;font-weight:800;text-decoration:none}
.policy-detail-link a:hover{text-decoration:underline}

.policy-single-page{padding-top:54px}
.policy-single-page .policy-single-detail{margin-top:0}
.policy-single-page .policy-detail-head{display:none}
.policy-single-page .policy-detail-main{max-width:920px;margin-inline:auto}
.policy-source-links{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:920px;margin:36px auto 0;padding-top:24px;border-top:1px solid var(--line)}
.policy-related{max-width:920px;margin:68px auto 0;padding-top:38px;border-top:2px solid var(--navy)}
.policy-related h2{margin:5px 0 20px;color:var(--navy-deep);font-size:30px}
.policy-related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.policy-related-grid a{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center;padding:17px 18px;border:1px solid var(--line);background:#fff;text-decoration:none}
.policy-related-grid a:hover{background:var(--mist)}
.policy-related-grid span{color:var(--blue);font-size:12px;font-weight:900}
.policy-related-grid strong{color:var(--navy);font-size:16px}

.internal-link-box{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:34px 38px;border:1px solid var(--line);background:var(--mist)}
.internal-link-box h2{margin:4px 0 10px;color:var(--navy-deep);font-size:30px}
.internal-link-box p:not(.section-label){margin:0;color:var(--muted);font-size:16px;line-height:1.8}
.internal-link-actions{display:grid;gap:9px}
.internal-link-actions a{padding:12px 0;border-bottom:1px solid var(--line);color:var(--navy);font-size:15px;font-weight:800;text-decoration:none}
.internal-link-actions a:hover{color:var(--blue)}

.error-page{min-height:58vh;display:grid;align-items:center}
.error-card{max-width:760px;margin-inline:auto;text-align:center;padding:70px 28px}
.error-card .error-code{margin:0;color:var(--blue);font-size:16px;font-weight:900;letter-spacing:.18em}
.error-card h1{margin:12px 0 18px;color:var(--navy-deep);font-size:clamp(34px,5vw,58px)}
.error-card p{color:var(--muted);font-size:16px;line-height:1.8}
.error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}

@media(max-width:760px){
  .breadcrumb .container{min-height:38px;font-size:11px;overflow-x:auto;white-space:nowrap}
  .article-excerpt{display:none}
  .policy-source-links{align-items:stretch;flex-direction:column}
  .policy-related{margin-top:52px}
  .policy-related h2{font-size:26px}
  .policy-related-grid{grid-template-columns:1fr}
  .internal-link-box{grid-template-columns:1fr;gap:22px;padding:26px 22px}
  .internal-link-box h2{font-size:26px}
  .policy-detail-link{text-align:left}
}


/* v83: expanded policy detail pages */
.policy-expanded{
  display:block;
}
.policy-expanded-intro{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:34px;
  align-items:start;
  margin-top:28px;
  padding-top:26px;
  border-top:1px solid var(--line);
}
.policy-expanded-lead{
  margin:10px 0 0;
  font-size:18px;
  line-height:1.9;
  color:var(--ink);
}
.policy-comic-detail{
  margin:0;
}
.policy-expanded-section{
  margin-top:54px;
}
.policy-expanded-section > h2,
.policy-priority-box > h2{
  margin:6px 0 20px;
  font-size:clamp(24px,3vw,34px);
  line-height:1.35;
  color:var(--navy);
}
.policy-issue-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.policy-issue-card{
  padding:22px;
  border:1px solid var(--line);
  background:#fff;
}
.policy-issue-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:19px;
}
.policy-issue-card p{
  margin:0;
  font-size:16px;
  line-height:1.75;
}
.policy-action-list{
  display:grid;
  gap:14px;
}
.policy-action-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:18px;
  padding:22px 24px;
  border-top:1px solid var(--line);
  background:#fff;
}
.policy-action-card:last-child{
  border-bottom:1px solid var(--line);
}
.policy-action-card > span{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-weight:800;
  font-size:14px;
}
.policy-action-card h3{
  margin:0 0 7px;
  color:var(--navy);
  font-size:20px;
}
.policy-action-card p{
  margin:0;
  font-size:17px;
  line-height:1.8;
}
.policy-priority-box{
  margin-top:54px;
  padding:30px;
  background:var(--navy);
  color:#fff;
}
.policy-priority-box .section-label{
  color:#fff;
  opacity:.72;
}
.policy-priority-box h2{
  color:#fff;
}
.policy-priority-box ul{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:0;
  padding:0;
  list-style:none;
}
.policy-priority-box li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:16px;
  background:rgba(255,255,255,.08);
  font-size:17px;
  line-height:1.55;
}
.policy-priority-box li span{
  flex:0 0 auto;
  color:#fff;
  font-weight:900;
}
.policy-article-links{
  display:grid;
  gap:10px;
}
.policy-article-links a{
  display:grid;
  grid-template-columns:112px minmax(0,1fr) 22px;
  gap:14px;
  align-items:center;
  padding:16px 18px;
  border:1px solid var(--line);
  text-decoration:none;
  background:#fff;
}
.policy-article-links a:hover{
  background:var(--mist);
}
.policy-article-links span{
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.policy-article-links strong{
  color:var(--navy);
  font-size:16px;
  line-height:1.55;
}
.policy-article-links i{
  font-style:normal;
  color:var(--blue);
}
.policy-source-links{
  flex-wrap:wrap;
}
@media(max-width:820px){
  .policy-expanded-intro{
    grid-template-columns:1fr;
    gap:24px;
  }
  .policy-issue-grid{
    grid-template-columns:1fr;
  }
  .policy-priority-box ul{
    grid-template-columns:1fr;
  }
}
@media(max-width:600px){
  .policy-expanded-lead{
    font-size:17px;
  }
  .policy-expanded-section{
    margin-top:42px;
  }
  .policy-action-card{
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    padding:18px 14px;
  }
  .policy-action-card > span{
    width:38px;
    height:38px;
    font-size:12px;
  }
  .policy-action-card h3{
    font-size:18px;
  }
  .policy-action-card p{
    font-size:16px;
    line-height:1.75;
  }
  .policy-priority-box{
    margin-left:-18px;
    margin-right:-18px;
    padding:26px 18px;
  }
  .policy-article-links a{
    grid-template-columns:1fr 18px;
    gap:8px;
  }
  .policy-article-links a span{
    grid-column:1 / -1;
  }
}


/* v84: simpler policy detail pages */
.policy-single-hero .policy-hero-tagline{
  max-width:820px;
  margin-top:14px;
  font-family:var(--serif);
  font-size:clamp(24px,3.6vw,40px);
  line-height:1.45;
  color:var(--navy);
  font-weight:700;
}
.policy-detail-simple{
  max-width:900px;
  margin:0 auto;
}
.policy-simple-intro{
  margin-bottom:38px;
  padding-bottom:32px;
  border-bottom:1px solid var(--line);
}
.policy-simple-intro p{
  margin:0;
  font-size:19px;
  line-height:1.95;
  color:var(--ink);
}
.policy-point-list{
  display:grid;
  gap:0;
}
.policy-point{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:22px;
  padding:28px 0;
  border-bottom:1px solid var(--line);
}
.policy-point:first-child{
  border-top:1px solid var(--line);
}
.policy-point-number{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  color:var(--blue);
  font-size:20px;
  font-weight:900;
  letter-spacing:.04em;
  padding-top:3px;
}
.policy-point-body h2{
  margin:0 0 10px;
  color:var(--navy);
  font-size:clamp(22px,2.6vw,30px);
  line-height:1.45;
}
.policy-point-body p{
  margin:0;
  font-size:17px;
  line-height:1.85;
  color:var(--ink);
}
.policy-comic-wide{
  max-width:760px;
  margin:46px auto 0;
}
.policy-comic-wide img{
  width:100%;
  height:auto;
  display:block;
}
.policy-comic-wide figcaption{
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
  text-align:center;
}
.policy-three-keys{
  margin-top:46px;
  padding:28px 30px;
  background:var(--navy);
  color:#fff;
}
.policy-three-keys .section-label{
  color:#fff;
  opacity:.8;
  margin-bottom:14px;
}
.policy-three-keys ul{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}
.policy-three-keys li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-size:18px;
  line-height:1.6;
}
.policy-three-keys li span{
  flex:0 0 auto;
  font-weight:900;
}
.policy-related-posts{
  margin-top:46px;
}
.policy-related-posts .section-label{
  margin-bottom:12px;
}
@media(max-width:640px){
  .policy-single-hero .policy-hero-tagline{
    font-size:25px;
  }
  .policy-simple-intro p{
    font-size:17px;
    line-height:1.85;
  }
  .policy-point{
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    padding:23px 0;
  }
  .policy-point-number{
    font-size:15px;
    padding-top:5px;
  }
  .policy-point-body h2{
    font-size:20px;
  }
  .policy-point-body p{
    font-size:16px;
  }
  .policy-three-keys{
    margin-left:-18px;
    margin-right:-18px;
    padding:26px 18px;
  }
  .policy-three-keys li{
    font-size:16px;
  }
}

/* v85: child/economy policy comics replaced with cache-busted filenames */
