/* 酒井なつみ 公式サイト — 静的HTML / システムフォントのみ */
:root{--navy:#172b4d;
--navy-2:#24406e;
--ink:#273447;
--muted:#596575;
--line:#dde3e9;
--pink:#b83278;
--pink-logo:#d94f98;
--pink-tint:#fcf0f5;
--paper:#f5f7f9;
--white:#fff;
--blue:#326589;
--font-jp:"Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
--font-head:Meiryo,"Yu Gothic",YuGothic,"Hiragino Sans","Noto Sans JP",sans-serif;
--radius:12px;
--shadow:0 12px 32px rgba(23,43,77,.06)}

*{box-sizing:border-box}
html{scroll-behavior:smooth;
scroll-padding-top:110px}
body{margin:0;
background:var(--white);
color:var(--ink);
font-family:var(--font-jp);
font-size:17px;
line-height:1.95;
-webkit-text-size-adjust:100%}
img{max-width:100%;
height:auto;
display:block}
a{color:var(--navy);
text-underline-offset:5px;
text-decoration-thickness:1px}
button{font:inherit}
a,button,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);
outline-offset:5px;
border-radius:3px}
.skip{position:absolute;
left:-9999px;
top:8px;
background:#fff;
padding:8px 16px;
z-index:100}
.skip:focus{left:8px}
.wrap{max-width:1232px;
margin:0 auto;
padding-inline:40px}
.en{font-family:var(--font-jp);
font-size:14px;
line-height:1.6;
letter-spacing:.18em;
color:var(--navy);
margin:0 0 12px;
font-weight:700;
text-transform:uppercase}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);
color:var(--navy);
line-height:1.6;
margin:0;
letter-spacing:.04em;
font-weight:700;
overflow-wrap:anywhere}
h2{font-size:clamp(28px,3vw,38px);
margin-bottom:28px}
h3{font-size:21px}
section{padding-block:96px}
.lede{color:var(--muted);
margin:0 0 36px;
max-width:46rem}
p{overflow-wrap:anywhere}
.band{background:var(--paper)}

/* Header & navigation */
.site-header{position:sticky;
top:0;
z-index:50;
background:rgba(255,255,255,.97);
border-bottom:1px solid var(--line)}
.site-header .wrap{height:88px;
display:flex;
align-items:center;
justify-content:space-between;
gap:24px}
.brand{display:flex;
align-items:center;
gap:12px;
text-decoration:none;
color:var(--navy);
flex-shrink:0;
min-height:44px}
.brand img{width:38px;
height:auto}
.brand b{font-family:var(--font-head);
font-size:23px;
letter-spacing:.1em;
line-height:1.4;
white-space:nowrap}
.brand small{display:block;
font:500 14px/1.5 var(--font-jp);
letter-spacing:.14em;
color:var(--muted)}
.nav{display:flex;
align-items:center;
gap:22px;
font-size:14px;
font-weight:700;
letter-spacing:.01em}
.nav a{display:inline-flex;
align-items:center;
min-height:44px;
color:var(--navy);
text-decoration:none;
border-bottom:2px solid transparent;
white-space:nowrap}
.nav a:hover,.nav a[aria-current=page]{color:var(--navy);
border-bottom-color:var(--pink)}
.btn{display:inline-flex;
align-items:center;
justify-content:center;
gap:14px;
min-height:52px;
padding:12px 25px;
border:1px solid var(--pink);
border-radius:6px;
background:var(--pink);
color:#fff;
font:700 16px/1.7 var(--font-jp);
letter-spacing:.03em;
text-decoration:none;
cursor:pointer;
transition:background .2s,border-color .2s,transform .2s}
.btn:hover{background:#97255f;
border-color:#97255f;
transform:translateY(-2px)}
.btn-ghost{background:transparent;
color:var(--navy);
border-color:#a5afbc}
.btn-ghost:hover{background:var(--navy);
border-color:var(--navy);
color:#fff}
.btn-light{background:#fff;
color:var(--navy);
border-color:#fff}
.btn-light:hover{background:var(--pink-tint);
border-color:var(--pink-tint);
color:var(--navy)}
.nav .btn{min-height:44px;
padding:9px 17px;
font-size:14px;
color:#fff;
border:1px solid var(--pink)}
.menu-btn{display:none;
align-items:center;
justify-content:center;
min-width:48px;
min-height:48px;
background:#fff;
border:1px solid var(--line);
border-radius:6px;
color:var(--navy);
cursor:pointer}
.menu-btn svg{width:26px;
height:26px}

/* Hero: original photography, no filters or face overlays */
.hero{padding:0;
background:linear-gradient(105deg,#fff 30%,#fcf4f8 100%);
overflow:hidden}
.hero .wrap{display:grid;
grid-template-columns:1.15fr 1fr;
gap:72px;
align-items:center;
min-height:684px;
padding-top:48px;
padding-bottom:48px}
.hero .txt{padding-block:12px}
.badge{display:inline-block;
margin:0 0 28px;
padding:0 0 0 14px;
border-left:3px solid var(--pink-logo);
color:var(--navy);
font-size:14px;
font-weight:700;
letter-spacing:.07em;
line-height:1.7}
.hero .name{display:flex;
align-items:center;
gap:16px;
margin:0}
.hero .name .nm{font-family:var(--font-head);
font-weight:700;
color:var(--navy);
font-size:clamp(40px,4.8vw,64px);
letter-spacing:.06em;
line-height:1.3;
white-space:nowrap}
.hero .name small{display:block;
font:500 14px/1.6 var(--font-jp);
letter-spacing:.3em;
color:var(--navy);
margin-top:10px}
.hero .name .heart{width:60px;
height:auto;
flex:none}
.hero h1{font-size:clamp(32px,3.7vw,48px);
letter-spacing:.08em;
line-height:1.55;
margin:30px 0 20px}
.hero h1 br{display:none}
.hero h1 em{font-style:normal;
color:var(--pink)}
.hero .sub{font-size:17px;
line-height:2;
margin:0 0 30px;
max-width:29rem}
.hero .cta{display:flex;
flex-wrap:wrap;
gap:12px}
.hero .cta .btn{font-size:15px;
padding-inline:20px}
.portrait{position:relative;
isolation:isolate;
width:100%;
max-width:390px;
margin:0 22px 0 auto}
.portrait::before{content:"";
position:absolute;
inset:-16px -20px 70px 20px;
border:2px solid #e7a2c4;
border-radius:200px 200px 16px 16px;
z-index:-1}
.slides{position:relative;
aspect-ratio:2/3;
border-radius:200px 200px 12px 12px;
overflow:hidden;
background:#f5f5f5}
.slides img:not(.mark){position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
opacity:0;
transition:opacity .8s ease}
.slides img.on{opacity:1}
.slide-controls{display:flex;
justify-content:center;
align-items:center;
gap:12px;
margin-top:10px;
min-height:44px}
.dots{display:flex;
align-items:center;
gap:0}
.slide-dot{display:grid;
place-items:center;
width:44px;
height:44px;
background:none;
border:0;
cursor:pointer;
padding:0}
.slide-dot::before{content:"";
display:block;
width:7px;
height:7px;
border-radius:10px;
background:#b2a0ab;
transition:width .2s,background .2s}
.slide-dot[aria-current=true]::before{width:23px;
background:var(--pink)}
.slide-toggle{width:44px;
height:44px;
padding:0;
display:grid;
place-items:center;
border:1px solid #d8bfcc;
border-radius:50%;
background:transparent;
color:var(--navy);
font-size:15px;
cursor:pointer}
.slide-toggle:hover{background:var(--pink-tint)}

/* Figures & introduction */
.stats-strip{padding:0;
border-bottom:1px solid var(--line);
background:#fff}
.stats-strip .wrap{display:grid;
grid-template-columns:repeat(4,1fr);
padding-block:30px}
.stat{text-align:center;
border-left:1px solid var(--line);
padding:2px 14px}
.stat:first-child{border-left:0}
.stat b{display:block;
font:700 42px/1.3 var(--font-head);
color:var(--navy)}
.stat b small{font:500 16px/1.5 var(--font-jp);
margin-left:6px}
.stat span{display:block;
font-size:14px;
color:var(--muted);
margin-top:7px;
letter-spacing:.04em}
.greet .cols{display:grid;
grid-template-columns:1fr 1.15fr;
gap:72px;
align-items:center}
.greet figure{margin:0;
position:relative}
.greet figure img{width:100%;
aspect-ratio:4/3;
object-fit:cover;
object-position:50% 40%;
border-radius:var(--radius)}
.greet figure::after{content:"";
position:absolute;
inset:20px 20px -20px -20px;
border:1px solid #e4c6d5;
border-radius:var(--radius);
z-index:-1}
.greet p{margin:0 0 18px}
.greet .sign{font-family:var(--font-head);
font-size:23px;
text-align:right;
margin:26px 0 0}
.greet details summary{display:flex;
align-items:center;
gap:14px;
cursor:pointer;
color:var(--navy);
font-size:16px;
font-weight:700;
min-height:44px;
margin:0 0 12px;
list-style:none}
.greet details summary::-webkit-details-marker{display:none}
.greet details summary::after{content:"＋";
font-weight:400}
.greet details[open] summary::after{content:"−"}

/* News */
#news>.wrap{display:grid;
grid-template-columns:220px 1fr;
column-gap:56px;
align-items:start}
#news .section-heading{grid-column:1;
grid-row:1}
#news .news{grid-column:2;
grid-row:1}
#news .news-more{grid-column:2}
.news{list-style:none;
margin:0;
padding:0;
border-top:1px solid var(--navy)}
.news li{padding:28px 0;
border-bottom:1px solid #d5dde5;
display:grid;
grid-template-columns:68px 1fr;
gap:24px}
.news .tag{display:inline-block;
align-self:start;
text-align:center;
font-size:14px;
font-weight:700;
color:var(--navy);
background:#e7edf3;
padding:2px 12px;
border-radius:3px;
letter-spacing:.07em;
margin-top:5px}
.news .tag.p{background:#f7e2ee;
color:#9d2763}
.news h3{font-family:var(--font-head);
font-size:19px;
letter-spacing:.02em;
margin-bottom:9px}
.news p{margin:0;
font-size:16px;
color:var(--muted);
line-height:1.9}
.news a.more{display:inline-flex;
align-items:center;
min-height:44px;
margin-top:7px;
font-weight:700;
font-size:15px;
color:var(--navy);
text-decoration:none}
.news a.more::after{content:"↗";
margin-left:10px}
.news a.more:hover{text-decoration:underline}
#news .news:not(.open)>li:nth-child(n+4),#news .news>li[hidden]{display:none}
.news-more{justify-self:start;
margin:24px 0 0;
background:none;
border:1px solid #a5afbc;
color:var(--navy);
font:700 15px/1.6 var(--font-jp);
min-height:48px;
padding:11px 22px;
border-radius:6px;
cursor:pointer}
.news-more:hover{background:#fff}

/* Profile */
.profile .cols{display:grid;
grid-template-columns:.8fr 1.3fr;
gap:88px}
.profile .side{position:sticky;
top:120px;
align-self:start}
.profile .side img{width:100%;
aspect-ratio:3/4;
object-fit:cover;
object-position:50% 10%;
border-radius:var(--radius);
margin-bottom:24px}
.facts{background:var(--paper);
border-radius:var(--radius);
padding:16px 26px 24px;
margin:0}
.facts dt{font-size:14px;
letter-spacing:.1em;
color:var(--navy);
font-weight:700;
margin-top:14px}
.facts dd{margin:2px 0 0;
font-size:16px}
.tl{list-style:none;
margin:0;
padding:0 0 0 16px;
border-left:1px solid #ddc5d2}
.tl li{position:relative;
padding:0 0 26px 24px}
.tl li::before{content:"";
position:absolute;
left:-22px;
top:12px;
width:11px;
height:11px;
border-radius:50%;
background:#fff;
border:2px solid var(--pink-logo)}
.tl li.key::before{background:var(--pink-logo)}
.tl .y{display:block;
font:700 20px/1.6 var(--font-head);
color:var(--navy);
margin-bottom:4px}
.tl .t{display:block;
font-size:16px}
.tl .v{display:inline-block;
margin-left:8px;
font-size:14px;
color:var(--navy);
font-weight:700;
white-space:nowrap}

/* Policy & achievement cards */
.cards{list-style:none;
padding:0;
margin:0;
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:20px;
counter-reset:n}
.cards.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cards>li,.card{background:#fff;
border:1px solid var(--line);
border-radius:var(--radius);
padding:28px;
transition:border-color .2s,box-shadow .2s}
.cards>li:hover,.card:hover{border-color:#d3a8bd;
box-shadow:var(--shadow)}
.policy .cards>li:not(.tile),.achv .cards>li:not(.tile){counter-increment:n;
position:relative;
padding-top:28px}
.policy .cards>li:not(.tile)::before,.achv .cards>li:not(.tile)::before{content:counter(n,decimal-leading-zero);
font:400 30px/1.3 var(--font-head);
color:var(--pink);
display:block;
margin-bottom:26px}
.ico{width:42px;
height:42px;
display:block;
flex:none;
color:var(--pink)}
.ico.sm{display:inline-block;
width:34px;
height:34px;
vertical-align:middle;
margin-right:10px;
margin-top:-5px}
.policy .cards>li:not(.tile)>.ico,.achv .cards>li:not(.tile)>.ico{position:absolute;
right:24px;
top:25px}
.cards h3{font-size:21px;
line-height:1.65;
margin-bottom:14px;
letter-spacing:.02em}
.cards p{margin:0;
font-size:16px;
color:var(--muted);
line-height:1.9}
.section-cta{margin-top:32px}
.cards>li.tile{padding:0;
background:var(--navy);
border-color:var(--navy);
display:flex}
.cards>li.tile:hover{background:var(--navy-2)}
.cards>li.tile a{flex:1;
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
padding:28px;
color:#fff;
text-decoration:none;
font-weight:700;
font-size:18px;
line-height:1.8;
min-height:100px}
.ach-top{display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:1px;
margin:0 0 48px;
padding:0;
list-style:none;
background:#cbd7e6;
border:1px solid #cbd7e6;
border-radius:var(--radius);
overflow:hidden}
.ach-top li{background:var(--navy);
color:#fff;
padding:28px 18px;
text-align:center}
.ach-top b{display:block;
font:700 40px/1.3 var(--font-head)}
.ach-top b small{font:400 16px/1.5 var(--font-jp);
margin-left:5px}
.ach-top span{font-size:14px;
display:block;
margin-top:8px}
.hl{display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:32px;
margin-bottom:42px}
.hl>div{border-top:2px solid var(--pink-logo);
padding-top:24px}
.hl .hl-ico{width:40px;
height:40px;
margin-bottom:12px}
.hl h3{font-size:23px;
margin-bottom:16px}
.hl ul{margin:0;
padding-left:20px;
font-size:16px}
.hl li{margin:10px 0;
line-height:1.9}
.hl-note{font-size:14px;
color:var(--muted);
margin:-10px 0 48px}
.sub-h{font-size:25px;
margin:0 0 28px}
.dual{display:grid;
grid-template-columns:1fr 1fr;
gap:28px}
.link-card{position:relative;
display:flex;
flex-direction:column;
text-decoration:none;
color:inherit;
background:#fff;
border:1px solid var(--line);
border-radius:var(--radius);
padding:40px;
transition:border-color .2s,box-shadow .2s}
.link-card:hover{border-color:var(--pink);
box-shadow:var(--shadow)}
.link-card h3{font-size:29px;
margin-bottom:20px}
.link-card p{margin:0 0 20px;
color:var(--muted);
font-size:16px}
.link-card .en{font-size:14px;
color:var(--navy);
margin-bottom:12px}
.link-card .go{display:flex;
align-items:center;
justify-content:space-between;
padding-top:20px;
border-top:1px solid var(--line);
color:var(--navy);
font-size:16px;
font-weight:700;
margin-top:auto;
min-height:44px}
.link-card .go::after{content:"→";
font-size:24px}
.link-card .nums{display:flex;
gap:32px;
margin:0 0 20px}
.link-card .nums b{font:700 38px/1.3 var(--font-head);
color:var(--navy)}
.link-card .nums small{font-size:14px;
color:var(--muted);
margin-left:8px}

/* Support & contact */
.support{background:var(--navy);
color:#fff}
.support h2{color:#fff}
.support .en{color:#f5b9d8}
.support .lede{color:#e4eaf3}
.support-top{display:grid;
grid-template-columns:1.4fr 1fr;
gap:80px;
align-items:center;
margin-bottom:44px}
.support-top .lede{margin:0;
font-size:18px;
line-height:2}
.support-top figure{margin:0}
.support-top img{width:100%;
aspect-ratio:20/13;
object-fit:cover;
border-radius:var(--radius)}
.support .cards>li{background:#203758;
border:1px solid #52647f;
color:#fff;
display:flex;
flex-direction:column;
padding:30px}
.support .cards>li:hover{box-shadow:none;
border-color:#d49ab7}
.support .cards h3{color:#fff;
font-size:23px}
.support .cards p{color:#e4eaf3;
flex:1;
margin-bottom:28px}
.support .cards .num{font:400 24px/1.5 var(--font-head);
color:#f5b9d8;
display:block;
margin-bottom:20px}
.support .fine{font-size:14px;
color:#d5dfed;
margin:32px 0 0;
line-height:2}
.support .fine strong{color:#fff}
.contact .box{display:grid;
grid-template-columns:1.3fr 1fr;
gap:80px}
.contact .box>div+div{border-left:1px solid var(--line);
padding-left:64px}
.contact address{font-style:normal;
margin:0 0 20px;
font-size:16px}
.contact .office-name{font-size:19px}
.contact .tel{display:inline-flex;
align-items:center;
min-height:44px;
font:700 30px/1.5 var(--font-head);
text-decoration:none}
.contact p{margin:12px 0 24px}
.sns{display:flex;
flex-wrap:wrap;
gap:12px;
margin:0;
padding:0;
list-style:none}
.sns a{display:grid;
place-items:center;
width:48px;
height:48px;
border-radius:50%;
text-decoration:none;
transition:transform .2s}
.sns a:hover{transform:translateY(-3px)}
.sns svg{width:25px;
height:25px}
.site-footer{background:var(--paper);
border-top:1px solid var(--line);
padding:44px 0 32px;
font-size:14px;
color:var(--muted)}
.site-footer .wrap{display:flex;
flex-wrap:wrap;
gap:24px 40px;
justify-content:space-between;
align-items:center}
.site-footer .brand{display:inline-flex;
gap:12px}
.site-footer .brand img{width:34px}
.site-footer .brand small{font-size:12px}
.site-footer nav{display:flex;
gap:24px;
flex-wrap:wrap}
.site-footer nav a{display:inline-flex;
align-items:center;
font-size:16px;
min-height:44px;
color:var(--navy);
text-decoration:none}
.site-footer nav a:hover{text-decoration:underline}
.site-footer .wrap > small{flex-basis:100%;
font-size:14px;
line-height:1.9;
border-top:1px solid var(--line);
padding-top:24px}

/* Reading pages */
.page-hero{background:var(--pink-tint);
padding:46px 0 50px;
border-bottom:1px solid #f0dbe6}
.page-hero .crumb{font-size:14px;
color:var(--muted);
margin:0 0 20px}
.crumb a{display:inline-flex;
align-items:center;
min-height:44px;
color:var(--muted)}
.page-title{font-size:clamp(28px,3.5vw,42px);
line-height:1.6}
.page{max-width:900px;
margin:0 auto;
padding:42px 40px 96px}
.page .lead{font-size:19px;
color:var(--muted);
margin:0 0 24px}
.page p{margin:16px 0}
.sec{padding:42px 0;
max-width:none;
border-bottom:1px solid var(--line);
scroll-margin-top:110px}
.page .sec h2{font-size:27px;
padding:0 0 0 18px;
border-left:3px solid var(--pink-logo);
margin-bottom:24px}
.sec h3{margin:32px 0 12px;
font-size:22px;
color:var(--pink)}
.page .sec h2 .ico.sm{width:34px;
height:34px}
.sec h3 .ico.sm{width:30px;
height:30px}
.bullets{padding-left:24px;
margin:10px 0}
.bullets li{margin:14px 0;
padding-left:5px}
.bullets li::marker{color:var(--pink)}
.toc{background:var(--paper);
border:1px solid var(--line);
border-radius:var(--radius);
padding:24px 30px;
margin:28px 0 8px}
.toc ol{margin:0;
padding-left:24px}
.toc li{margin:2px 0;
padding-left:4px}
.toc a{display:inline-block;
min-height:44px;
padding:8px 0;
line-height:1.7}
.stats{padding-left:24px}
.stats li{margin-bottom:18px;
font-weight:700}
.stats small{display:block;
font-size:14px;
font-weight:400;
color:var(--muted)}
.intro{color:var(--muted);
margin:0 0 10px}
.closing{margin-top:40px!important;
padding:28px 32px;
background:var(--pink-tint);
border-radius:var(--radius);
font-family:var(--font-head);
line-height:2.1}
.intro-box{background:var(--paper);
border-radius:var(--radius);
padding:12px 30px}
.qh{margin-top:48px;
font-size:29px}
.q{color:var(--navy);
font-weight:700;
margin-top:32px!important;
padding:18px 24px;
background:var(--paper);
border-radius:6px;
border-left:3px solid var(--pink-logo)}
.note{font-size:14px;
color:var(--muted)}
.page-cta{margin-top:48px;
padding:32px;
background:var(--navy);
color:#fff;
border-radius:var(--radius);
text-align:center}
.page-cta p{margin:0 0 20px}

/* Responsive */
@media(min-width:981px) and (max-width:1190px){.nav{gap:14px}
.site-header .wrap{padding-inline:24px;
gap:12px}
.brand b{font-size:21px}
.brand small{font-size:14px}
.nav .btn{padding-inline:12px}
.hero .wrap{gap:32px}
.hero .name .nm{font-size:52px}
.hero .name .heart{width:48px}
.hero h1{font-size:40px}
.cards>li{padding:24px}
.policy .cards>li:not(.tile)>.ico{right:20px}
}

@media(max-width:980px){.site-header .wrap{height:76px}
.menu-btn{display:flex}
.nav{display:none;
position:absolute;
left:0;
right:0;
top:100%;
background:#fff;
border-bottom:1px solid var(--line);
flex-direction:column;
align-items:stretch;
gap:0;
padding:10px 32px 22px;
box-shadow:0 16px 25px rgba(23,43,77,.05);
max-height:calc(100dvh - 76px);
overflow-y:auto}
.nav.open{display:flex}
.nav a{padding:12px 0;
min-height:50px;
border-bottom:1px solid var(--line);
font-size:16px}
.nav .btn{margin-top:16px;
justify-content:center;
font-size:16px}
.hero .wrap{gap:36px;
min-height:0;
padding-block:54px;
grid-template-columns:1.15fr 1fr}
.hero .name .nm{font-size:43px}
.hero .name .heart{width:43px}
.hero h1{font-size:35px}
.hero h1 br{display:block}
.hero .sub{font-size:16px}
.hero .cta{flex-direction:column;
align-items:flex-start}
.portrait{margin-right:12px}
.portrait::before{inset:-12px -12px 70px 12px}
.greet .cols,.profile .cols{gap:40px}
.cards.c4{grid-template-columns:repeat(2,minmax(0,1fr))}
.hl{gap:24px}
.support-top{gap:40px}
.support .cards{grid-template-columns:1fr}
.support .cards>li{display:grid;
grid-template-columns:1fr 220px;
gap:0 28px}
.support .cards .num,.support .cards h3,.support .cards p{grid-column:1}
.support .cards .num{margin-bottom:8px}
.support .cards p{margin:0}
.support .cards .btn{grid-column:2;
grid-row:1 / span 3;
align-self:center}
.contact .box{gap:36px}
.contact .box>div+div{padding-left:32px}
#news>.wrap{grid-template-columns:160px 1fr;
column-gap:32px}
.link-card{padding:30px}
.site-footer .wrap{align-items:flex-start}
.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){html{scroll-padding-top:92px}
body{font-size:16px}
.wrap{padding-inline:24px}
.site-header .wrap{height:72px;
padding-inline:20px}
.brand img{width:32px}
.brand b{font-size:21px}
.brand small{font-size:14px;
letter-spacing:.1em}
.nav{max-height:calc(100dvh - 72px);
padding-inline:24px}
section{padding-block:64px}
h2{font-size:29px;
margin-bottom:24px}
.en{margin-bottom:9px}
.hero .wrap{grid-template-columns:1fr;
gap:34px;
padding-top:34px;
padding-bottom:14px}
.hero .txt{padding:0}
.badge{font-size:14px;
margin-bottom:20px}
.hero .name{gap:14px}
.hero .name .nm{font-size:clamp(39px,9.8vw,58px)}
.hero .name .heart{width:46px}
.hero .name small{font-size:14px;
margin-top:7px;
letter-spacing:.25em}
.hero h1{font-size:32px;
line-height:1.6;
margin:22px 0 14px;
letter-spacing:.06em}
.hero h1 br{display:none}
.hero .sub{font-size:16px;
line-height:1.9;
max-width:none;
margin-bottom:24px}
.hero .cta{display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
align-items:stretch}
.hero .cta .btn{font-size:14px;
letter-spacing:0;
min-height:52px;
padding:12px 9px;
gap:6px}
.portrait{max-width:310px;
width:calc(100% - 28px);
margin:10px auto 0}
.slides{aspect-ratio:4/5;
border-radius:155px 155px 10px 10px}
.slides img:not(.mark){object-position:center 28%}
.portrait::before{border-radius:170px 170px 12px 12px;
inset:-12px -14px 65px 14px}
.slide-controls{margin-top:5px}
.stats-strip .wrap{grid-template-columns:repeat(2,minmax(0,1fr));
padding-block:12px}
.stat{padding:18px 10px}
.stat:nth-child(3){border-left:0}
.stat:nth-child(n+3){border-top:1px solid var(--line)}
.stat b{font-size:36px}
.stat span{font-size:14px;
margin-top:3px}
.greet .cols{grid-template-columns:1fr;
gap:38px}
.greet figure{margin-left:10px;
margin-bottom:0}
.greet figure::after{inset:12px 12px -12px -12px}
.greet p{margin-bottom:16px}
.greet .sign{font-size:22px}
#news>.wrap{display:block}
.news{margin-top:28px}
.news li{grid-template-columns:1fr;
gap:8px;
padding:25px 0}
.news .tag{justify-self:start;
margin:0}
.news h3{font-size:18px;
line-height:1.8}
.news-more{margin-top:24px;
width:100%}
.profile .cols{grid-template-columns:1fr;
gap:40px}
.profile .side{position:static;
display:grid;
grid-template-columns:1fr;
gap:24px}
.profile .side img{width:100%;
max-width:280px;
margin:0 auto;
aspect-ratio:4/5}
.facts{padding:10px 24px 24px}
.tl{margin-left:5px}
.tl li{padding-left:20px}
.cards,.cards.c4{grid-template-columns:1fr;
gap:16px}
.cards>li{padding:26px}
.policy .cards>li:not(.tile),.achv .cards>li:not(.tile){padding:26px}
.cards h3{font-size:22px}
.policy .cards>li:not(.tile)::before,.achv .cards>li:not(.tile)::before{margin-bottom:22px}
.cards>li.tile a{min-height:100px;
padding:26px;
font-size:18px}
.ach-top{grid-template-columns:repeat(2,minmax(0,1fr));
margin-bottom:36px}
.ach-top li{padding:22px 10px}
.ach-top b{font-size:36px}
.ach-top span{font-size:14px}
.hl{grid-template-columns:1fr;
gap:28px;
margin-bottom:28px}
.hl>div{padding-top:22px}
.hl h3{font-size:24px}
.hl-note{margin:0 0 36px}
.sub-h{font-size:24px}
.dual{grid-template-columns:1fr;
gap:20px}
.link-card{padding:28px}
.link-card h3{font-size:27px}
.support-top{grid-template-columns:1fr;
gap:28px}
.support-top .lede{font-size:16px}
.support-top figure{max-width:420px}
.support .cards>li{display:flex;
padding:26px}
.support .cards .num{margin-bottom:12px}
.support .cards h3{font-size:23px}
.support .cards p{margin-bottom:24px}
.support .fine{font-size:14px}
.contact .box{grid-template-columns:1fr;
gap:40px}
.contact .box>div+div{border-left:0;
border-top:1px solid var(--line);
padding:32px 0 0}
.contact .tel{font-size:29px}
.contact p>a:not(.btn):not(.tel){font-size:15px;
overflow-wrap:anywhere}
.site-footer{padding:32px 0}
.site-footer .wrap{gap:24px}
.site-footer nav{display:grid;
grid-template-columns:1fr 1fr;
gap:8px 22px;
flex-basis:100%}
.site-footer .wrap > small{font-size:14px}
.page-hero{padding:24px 0 34px}
.page-hero .wrap{padding-inline:24px}
.page-hero .crumb{margin-bottom:12px}
.page-title{font-size:29px}
.page{padding:30px 24px 64px}
.page .lead{font-size:17px}
.toc{padding:18px 20px;
margin-top:24px}
.toc ol{padding-left:20px}
.toc a{font-size:16px}
.sec{padding:32px 0;
scroll-margin-top:90px}
.page .sec h2{font-size:23px;
padding-left:14px;
line-height:1.8}
.sec h3{font-size:21px}
.qh{font-size:25px}
.closing{padding:24px!important}
.intro-box{padding:10px 22px}
.q{padding:16px 18px}
.page-cta{padding:26px 22px}
.page-cta .btn{width:100%}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;
transition:none!important}
}

@media print{.site-header,.menu-btn,.slide-controls,.skip{display:none}
.hero,.support{background:#fff!important;
color:#000}
.support h2,.support .en,.support .lede,.support .cards h3,.support .cards p,.support .fine{color:#000}
.support .cards>li{background:#fff}
.profile .side{position:static}
section{break-inside:avoid;
padding-block:24px}
.btn{border-color:#777;
background:#fff;
color:#000}
}

@media(max-width:700px){.hero .cta .btn{padding-inline:8px}
}

@media(max-width:360px){.hero .cta{grid-template-columns:1fr}
.hero .cta .btn{font-size:16px}
.hero .name .heart{width:38px}
.hero .name{gap:10px}
.hero .name .nm{font-size:38px}
}


/* ── Edition 2: photography, generous typography, soft organic shapes ── */
:root{--pink:#b22d76;--pink-logo:#d94f98;--pink-tint:#f9edf3;--paper:#f4f2e9;--line:#deded7;--ink:#263744;--muted:#55616b;--radius:24px}
body{background:#fffcf7}h2{font-size:clamp(32px,4.5vw,50px);line-height:1.5}section{padding-block:110px}.wrap{max-width:1256px}.en{font-size:14px;letter-spacing:.2em}.section-heading{position:relative;isolation:isolate;margin-bottom:30px}.section-heading .en{margin-bottom:7px}.section-heading h2{margin:0}.section-heading::before{content:"";position:absolute;z-index:-1;left:-18px;top:-15px;width:74px;height:74px;background:#f1dfce;border-radius:48% 52% 60% 40% / 44% 41% 59% 56%;opacity:.55}.btn{border-radius:99px;min-height:56px;padding:14px 27px;letter-spacing:.04em}.btn-ghost{border-color:#bac5ca;background:#fff}.btn:hover{transform:translateY(-2px)}
/* Floating masthead leaves the main photograph uninterrupted. */
body#top .site-header{position:absolute;top:28px;left:0;width:100%;border:0;background:none;pointer-events:none}body#top .site-header .wrap{max-width:1440px;height:88px;align-items:flex-start;gap:24px;padding-inline:38px}body#top .site-header .brand,body#top .site-header .nav,body#top .site-header .menu-btn{pointer-events:auto}body#top .site-header .brand{background:#fff;padding:17px 24px;min-height:88px;box-shadow:0 5px 18px rgba(23,43,77,.07)}body#top .site-header .brand b{font-size:25px}body#top .site-header .brand img{width:37px}body#top .site-header .nav{margin-top:6px;background:#fff;padding:9px 16px 9px 24px;border-radius:99px;gap:19px;box-shadow:0 4px 18px rgba(23,43,77,.06)}body#top .site-header .nav a{font-size:14px}body#top .site-header .nav .btn{min-height:46px;padding:10px 19px}body:not(#top) .site-header{background:#fffcf7}
/* Hero: white typesetting slips across a full-size photographic canvas. */
.hero{position:relative;isolation:isolate;background:#f9f7f0;overflow:hidden;padding:0;min-height:850px}.hero .wrap{position:relative;display:block;max-width:1440px;min-height:850px;padding:168px 6% 130px}.hero .txt{position:relative;z-index:3;display:flex;flex-direction:column;align-items:flex-start;padding:0;width:550px;max-width:48%}.hero .badge{order:0;background:#fff;padding:8px 16px;border:0;border-left:4px solid var(--pink-logo);margin:0 0 18px;font-size:14px;letter-spacing:.04em}.hero h1{order:1;font-family:var(--font-head);font-size:clamp(54px,5.8vw,80px);line-height:1.35;letter-spacing:.03em;margin:0 0 24px;font-weight:800;white-space:nowrap;overflow:visible}.hero h1 br{display:block}.hero h1 span{background:#fff;padding:0 15px 5px;box-decoration-break:clone;-webkit-box-decoration-break:clone;display:inline-block}.hero h1 span+br+span{margin-left:30px;margin-top:7px}.hero h1 em{color:var(--pink)}.hero .name{order:2;display:flex;align-items:center;background:#fff;margin:0 0 13px;padding:7px 16px 10px;gap:18px}.hero .name .nm{font-size:48px;letter-spacing:.06em;line-height:1.3}.hero .name small{font-size:14px;color:var(--navy);letter-spacing:.26em;margin-top:3px}.hero .name .heart{width:49px}.hero .sub{order:3;background:#fff;padding:12px 16px;margin:0 0 20px;max-width:430px;font-size:16px;line-height:1.9}.hero .cta{order:4;gap:10px;display:flex;flex-direction:row;align-items:stretch}.hero .cta .btn{font-size:14px;padding:12px 20px;min-height:50px;gap:12px;white-space:nowrap}.hero .cta .btn-ghost{border-color:#fff}.hero .portrait{position:absolute;isolation:auto;inset:0 0 0 32%;max-width:none;margin:0;width:auto;z-index:0}.hero .portrait::before{display:none}.hero .slides{height:100%;width:100%;aspect-ratio:auto;border-radius:0;background:#eee}.hero .slides img:not(.mark){border-radius:0;object-fit:cover;object-position:50% 50%;transition:opacity 1s}.hero .slides img:nth-child(3){object-position:45% center}.hero .slides img:nth-child(4){object-position:50% 43%}.hero .slide-controls{position:absolute;right:42px;bottom:105px;background:#fff;border-radius:99px;gap:4px;padding:4px 8px;margin:0;z-index:4;box-shadow:0 4px 20px rgba(23,43,77,.08)}.hero .slide-toggle{border-color:#d8c1cf;margin-left:2px}.hero::before{content:"";position:absolute;left:-180px;top:200px;width:560px;height:640px;border:1px solid #e9d6df;border-radius:50%;transform:rotate(20deg);z-index:1;pointer-events:none}
/* The first navigation is visual, immediate, and local to this site. */
.discover{padding-block:28px 76px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px}.discover>a{display:flex;align-items:center;flex-direction:column;gap:18px;text-align:center;text-decoration:none;min-width:0;color:var(--navy)}.discover-photo{position:relative;display:block;width:168px;height:152px;border-radius:50% 45% 47% 40% / 45% 54% 42% 51%;background:#f5d9e8;transition:transform .25s}.discover>a:nth-child(2) .discover-photo{border-radius:42% 56% 45% 55% / 50% 43% 57% 49%;background:#dfebed}.discover>a:nth-child(3) .discover-photo{border-radius:52% 46% 40% 50% / 45% 54% 45% 52%;background:#f0e4c9}.discover>a:nth-child(4) .discover-photo{border-radius:40% 55% 50% 46% / 48% 42% 55% 51%;background:#e4e8f2}.discover-photo::after{content:"";position:absolute;inset:8px -9px -9px 9px;border:1px solid #c9a5b9;border-radius:inherit;z-index:-1}.discover-photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.discover>a:first-child .discover-photo img{object-position:50% 18%}.discover-text{display:block;font-size:19px;font-weight:700;line-height:1.6;position:relative;padding-right:24px}.discover-text small{display:block;font-size:14px;color:var(--navy);letter-spacing:.16em;margin-bottom:6px;font-weight:500}.discover-text i{position:absolute;right:0;bottom:2px;font:400 22px/1.5 sans-serif}.discover>a:hover .discover-photo{transform:translateY(-5px)}.discover>a:hover .discover-text{text-decoration:underline}
/* News: three organic panels with the full supplied information. */
#news{position:relative;background:#f2f5f1;padding:74px 0 82px;border-radius:70px 70px 0 0}#news>.wrap{display:block}#news .section-heading{text-align:center;margin-bottom:40px}#news .section-heading::before{left:calc(50% - 100px);background:#d4e6dc}#news .news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;border:0}#news .news li{display:block;border:0;padding:30px 28px;background:#fff;border-radius:26px 45px 24px 40px}#news .news li:nth-child(2){background:#f6e8ee;border-radius:44px 24px 44px 28px}#news .news li:nth-child(3){background:#f6efdb;border-radius:24px 45px 28px 45px}#news .news h3{font-size:20px;line-height:1.8;margin:16px 0 14px}#news .news p{font-size:16px;line-height:1.9}#news .news .tag{font-size:14px;border:1px solid #c3adbc;background:transparent;color:#81305a;padding:0 12px;border-radius:99px;line-height:1.8}.news a.more{font-size:15px}.news-more{display:block;margin:32px auto 0;background:#fff;padding:12px 28px;border-radius:99px;border-color:#acb8b1;min-height:50px}
/* Message / biography: editorial composition with an accessible chronology. */
.greet{position:relative;background:#f4f2e9;padding:110px 0 84px}.greet .cols{grid-template-columns:1fr 1fr;gap:84px;align-items:start}.greet figure{margin-top:55px}.greet figure img{aspect-ratio:4/5;object-fit:cover;object-position:53% center;border-radius:46% 46% 28px 28px}.greet figure::after{inset:20px -18px -18px 18px;background:none;border:1px solid #c2b5a2;border-radius:inherit}.greet .section-heading{margin-bottom:32px}.greet p{line-height:2.1}.greet .sign{font-size:27px}.stats-strip{border:0;background:#f4f2e9;padding:0 0 85px}.stats-strip .wrap{background:#fffcf7;border-radius:99px;padding:35px 40px;max-width:1176px}.stat{border-color:#ddd7cc}.stat b{font-size:50px}.stat b small{font-size:16px}.stat span{font-size:14px}.profile{padding-block:105px;background:#fff}.profile .cols{grid-template-columns:1fr 1.25fr;gap:84px;align-items:start}.profile .side{position:static;display:block}.profile .side>img{aspect-ratio:1/1;max-width:355px;border-radius:50% 45% 48% 42% / 48% 44% 55% 51%;object-position:50% 20%;margin:0 auto 30px}.facts{background:transparent;padding:4px 12px}.facts dt{margin-top:14px}.facts dd{border-bottom:1px solid var(--line);padding-bottom:12px}.profile-intro{font:700 24px/1.8 var(--font-head);color:var(--navy);margin:28px 0!important}.profile-scene{margin:0 0 28px}.profile-scene img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:80px 18px 80px 18px}.career{border-top:1px solid #cbbeb2;border-bottom:1px solid #cbbeb2;padding:5px 0}.career summary{list-style:none;min-height:60px;display:flex;align-items:center;justify-content:space-between;font-weight:700;color:var(--navy);cursor:pointer}.career summary::-webkit-details-marker{display:none}.career summary::after{content:"＋";font-size:25px;font-weight:400}.career[open] summary::after{content:"−"}.career .tl{margin:24px 0 16px 12px}.profile .btn{margin-top:16px}.photo-ribbon{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:22px;padding:0 32px 70px;background:#fff;align-items:center;overflow:hidden}.photo-ribbon img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:24px 75px 24px 75px}.photo-ribbon img:nth-child(2){border-radius:75px 24px 75px 24px;transform:translateY(24px)}
/* Policy becomes a numbered editorial list, with airy illustrations. */
.policy{background:#edf3f3;border-radius:80px 80px 0 0;padding-top:90px}.policy .section-heading{text-align:center;margin-bottom:22px}.policy .section-heading::before{left:calc(50% - 200px);background:#cee2e1}.policy .lede{text-align:center;margin:0 auto 48px}.policy .cards.c4{grid-template-columns:1fr 1fr;gap:0 54px}.policy .cards>li:not(.tile){background:none;border:0;border-top:1px solid #c4d4d4;border-radius:0;padding:30px 16px 32px 64px;min-height:215px;box-shadow:none;position:relative}.policy .cards>li:not(.tile)::before{position:absolute;left:0;top:28px;font-size:28px;color:#33666b;margin:0}.policy .cards>li:not(.tile)>.ico{position:static;float:right;width:60px;height:60px;color:#46777b;margin:0 0 12px 20px}.policy .cards h3{font-size:24px;line-height:1.8;letter-spacing:.015em;margin-bottom:13px}.policy .cards p{font-size:16px;line-height:1.9;color:#455962}.policy .cards>li.tile{border:1px solid #5c7e81;background:#fff;border-radius:24px;align-self:center;margin:20px 0 30px;min-height:130px}.policy .cards>li.tile a{color:#264d52;padding:28px 36px;font-size:22px}.policy .cards>li.tile:hover{background:#e0eeee}
/* Results: large round numbers and broad, clearly separated themes. */
.achv{background:#fffcf7}.achv .section-heading{text-align:center}.achv .section-heading::before{left:calc(50% - 160px);background:#f2dfe8}.achv .lede{margin:0 auto 48px;text-align:center}.ach-top{background:transparent;border:0;border-radius:0;gap:28px;margin-bottom:58px;overflow:visible}.ach-top li{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#f8e7ef;color:var(--navy);padding:20px}.ach-top li:nth-child(2){background:#e4efed}.ach-top li:nth-child(3){background:#f5eed9}.ach-top li:nth-child(4){background:#e9eaf4}.ach-top b{font-size:60px;line-height:1.2}.ach-top b small{font-size:18px}.ach-top span{font-size:15px}.hl{gap:28px}.hl>div{border:0;padding:30px;background:#fff;border-radius:20px}.hl>div:nth-child(2){background:#fcf0f5}.hl>div:nth-child(3){background:#f1f4ed}.hl .hl-ico{width:52px;height:52px}.hl h3{font-size:25px}.achv .sub-h{font-size:28px;margin-top:70px}.achv .cards{gap:0 42px;grid-template-columns:1fr 1fr}.achv .cards>li:not(.tile){background:none;border:0;border-top:1px solid #d8d2ca;border-radius:0;padding:30px 70px 32px 55px;box-shadow:none}.achv .cards>li:not(.tile)::before{position:absolute;left:0;top:26px;margin:0;font-size:28px}.achv .cards>li:not(.tile)>.ico{top:27px;right:10px;width:44px;height:44px}.achv .cards h3{font-size:22px;line-height:1.8}.achv .cards>li.tile{background:#f3e3eb;color:var(--navy);border:0;border-radius:70px;align-self:center;margin:20px 0;min-height:100px}.achv .cards>li.tile a{color:var(--navy);font-size:20px;padding:24px 32px}.achv .cards>li.tile:hover{background:#ead3df}
/* Two clear destinations, followed by a warm invitation to participate. */
#archive{background:#f4f2e9;padding-block:80px}.dual{gap:40px}.link-card{border:0;background:transparent;border-radius:0;padding:16px 24px 16px 0;box-shadow:none}.link-card+ .link-card{border-left:1px solid #c9c4b8;padding-left:40px}.link-card:hover{box-shadow:none}.link-card h3{font-size:36px}.link-card .nums b{font-size:50px}.link-card .go{border-top-color:#d0c8be}.support{position:relative;background:#f6e9ef;color:var(--ink);border-radius:0 0 100px 0;padding-top:100px}.support .section-heading{text-align:center}.support .section-heading::before{left:calc(50% - 110px);background:#eac6d9}.support h2,.support .cards h3{color:var(--navy)}.support .en{color:var(--navy)}.support-top{grid-template-columns:1fr 1fr;gap:70px;margin:36px 0 48px}.support-top .lede{font-size:18px;color:var(--ink)}.support-top img{border-radius:100px 20px 100px 20px}.support .cards{gap:24px}.support .cards>li{background:#fff;border:0;border-radius:24px;padding:30px}.support .cards h3{font-size:23px}.support .cards p{color:var(--muted);font-size:16px}.support .cards .num{color:var(--pink);font-size:27px}.support .cards .btn{background:var(--navy);border-color:var(--navy);color:#fff}.support .cards .btn:hover{background:#24456c}.support .fine,.support .fine strong{color:#594652}.contact{background:#fffcf7}.contact .box{gap:80px}.contact .box>div+div{border-left-color:#d8d2ca}.site-footer{background:#f4f2e9;padding:50px 0 38px}.site-footer .brand b{font-size:28px}.site-footer .wrap > small{border-top-color:#d8d2ca}.back-top{position:fixed;right:20px;bottom:20px;z-index:40;display:grid;place-items:center;min-width:48px;min-height:48px;border-radius:50%;background:#fff;border:1px solid #cbb5c1;color:var(--pink);font-size:25px;text-decoration:none;box-shadow:0 4px 15px #172b4d10}.back-top:hover{background:var(--pink-tint)}
/* Interior pages keep the same new visual language and unchanged URLs. */
.page-hero{background:#f4f2e9;border:0;padding:45px 0 64px;border-radius:0 0 80px 0}.page-title{font-size:clamp(30px,4.1vw,46px)}.page{background:#fffcf7}.toc{background:#edf3f3;border:0;border-radius:24px;padding:26px 32px}.page .sec{padding-block:48px}.page .sec h2{border-left:0;padding-left:0;font-size:29px}.page .sec h2 .ico{margin-right:14px}.closing{background:#f6e9ef;border-radius:36px 10px 36px 10px}.page-cta{background:#f6e9ef;border-radius:36px;color:var(--navy)}.page-cta .btn{background:var(--navy);border-color:var(--navy);color:#fff}.q{background:#f4f2e9;border-left-color:#d7a5c0}
@media(min-width:981px) and (max-width:1210px){body#top .site-header .wrap{padding-inline:24px;gap:20px}body#top .site-header .brand{padding:16px}.brand small{font-size:14px}body#top .site-header .brand b{font-size:22px}body#top .site-header .nav{gap:12px;padding-left:16px}body#top .site-header .nav a{font-size:14px}body#top .site-header .nav .btn{padding-inline:13px}.hero .wrap{padding-left:5%}.hero .txt{max-width:50%}.hero h1{font-size:64px}.hero .name .nm{font-size:43px}.hero .sub{max-width:390px}.hero .portrait{left:29%}.discover{gap:22px}.discover-text{font-size:18px}.greet .cols,.profile .cols{gap:50px}.ach-top{gap:20px}.ach-top b{font-size:50px}}
@media(max-width:980px){body#top .site-header{top:20px}body#top .site-header .wrap{height:76px;align-items:flex-start;padding-inline:24px}body#top .site-header .brand{min-height:76px;padding:12px 20px}body#top .site-header .brand b{font-size:23px}body#top .site-header .menu-btn{display:flex;margin-top:10px;width:52px;height:52px;border-radius:50%;border:0;box-shadow:0 5px 15px #172b4d14}body#top .site-header .nav{position:absolute;top:92px;left:24px;right:24px;margin:0;border-radius:24px;padding:16px 24px;max-height:calc(100dvh - 140px);box-shadow:0 12px 35px #172b4d22;gap:0}body#top .site-header .nav a{font-size:16px;min-height:48px}body#top .site-header .nav .btn{font-size:16px;margin-top:14px}.hero,.hero .wrap{min-height:810px}.hero .wrap{padding:170px 5% 125px}.hero .txt{max-width:55%;width:450px}.hero h1{font-size:60px}.hero .name .nm{font-size:39px}.hero .name .heart{width:40px}.hero .name{gap:12px}.hero .portrait{left:30%}.hero .sub{max-width:345px;font-size:16px}.hero .cta{flex-direction:column;align-items:flex-start}.hero .cta .btn{font-size:14px;min-height:48px}.hero .slide-controls{right:24px;bottom:110px}.discover{gap:20px;padding-block:20px 60px}.discover-photo{width:140px;height:130px}.discover-text{font-size:17px;padding-right:20px}.discover-text small{font-size:14px;letter-spacing:.07em}#news .news{gap:16px}#news .news li{padding:24px 20px}#news .news h3{font-size:18px}.greet .cols,.profile .cols{gap:40px}.greet figure{margin-top:60px}.stats-strip .wrap{margin-inline:30px;padding:28px 20px}.stat b{font-size:42px}.policy .cards.c4{gap:0 28px}.policy .cards h3{font-size:21px}.policy .cards>li:not(.tile){padding-left:48px}.policy .cards>li:not(.tile)>.ico{width:48px;height:48px;margin-left:10px}.ach-top{gap:14px}.ach-top b{font-size:45px}.ach-top span{font-size:14px}.support-top{gap:40px}.support .cards>li{display:flex}.support .cards p{margin-bottom:24px}.support .cards .btn{align-self:stretch}.contact .box{gap:36px}}
@media(max-width:700px){section{padding-block:70px}h2{font-size:34px}.section-heading{margin-bottom:26px}.section-heading::before{width:65px;height:65px}.wrap{padding-inline:24px}body#top .site-header{top:15px}body#top .site-header .wrap{height:72px;padding-inline:18px;gap:10px}body#top .site-header .brand{min-height:70px;padding:11px 15px;gap:9px}body#top .site-header .brand b{font-size:22px}body#top .site-header .brand small{font-size:14px;letter-spacing:.08em}body#top .site-header .brand img{width:30px}body#top .site-header .menu-btn{margin-top:6px;min-width:52px;min-height:52px}body#top .site-header .nav{top:82px;left:18px;right:18px;border-radius:20px;max-height:calc(100dvh - 125px)}.hero{min-height:0;padding-bottom:46px;background:#f4f2e9}.hero .wrap{padding:390px 22px 52px;min-height:0;display:block}.hero .txt{width:100%;max-width:none;display:flex;align-items:flex-start;gap:0}.hero .portrait{inset:0 0 auto 0;width:100%;height:440px;z-index:0}.hero .slides{height:440px}.hero .slides img:not(.mark){object-position:54% 35%}.hero .slides img:nth-child(3){object-position:45% 37%}.hero .slides img:nth-child(4){object-position:50% 40%}.hero .badge{font-size:14px;padding:7px 11px;margin:0 0 14px;line-height:1.6;letter-spacing:0}.hero h1{font-size:clamp(43px,10.8vw,60px);line-height:1.3;margin:0 0 17px;letter-spacing:.03em}.hero h1 span{padding:1px 12px 4px}.hero h1 span+br+span{margin-left:21px;margin-top:6px}.hero .name{padding:7px 12px 9px;gap:14px;margin-bottom:12px}.hero .name .nm{font-size:38px;line-height:1.3;letter-spacing:.05em}.hero .name .heart{width:40px}.hero .name small{font-size:14px;letter-spacing:.2em}.hero .sub{font-size:16px;line-height:1.9;padding:12px 14px;margin:0 0 18px;max-width:none}.hero .cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;align-items:stretch}.hero .cta .btn{min-height:52px;white-space:normal;font-size:14px;padding:11px 8px;letter-spacing:0}.hero .slide-controls{right:18px;bottom:62px;padding:0 4px;gap:0;background:#fff;box-shadow:none}.hero .slide-dot{width:32px;height:44px}.hero .slide-toggle{width:40px;height:40px;margin-left:0}.hero::before{display:none}.discover{grid-template-columns:1fr 1fr;padding:18px 24px 60px;gap:32px 20px}.discover>a{gap:15px}.discover-photo{width:134px;height:121px}.discover-text{font-size:16px;padding-right:19px;line-height:1.7}.discover-text small{font-size:14px;letter-spacing:.04em;margin-bottom:3px}.discover-text i{font-size:20px}#news{padding:60px 0;border-radius:36px 36px 0 0}#news .section-heading{margin-bottom:30px}#news .news{display:grid;grid-template-columns:1fr;gap:20px;margin-top:0}#news .news li{padding:26px;border-radius:26px 40px 26px 40px}#news .news li:nth-child(2){border-radius:40px 26px 40px 26px}#news .news h3{font-size:21px;margin-top:12px}#news .news p{font-size:16px}.news-more{width:auto;max-width:100%;padding-inline:27px}.greet{padding:70px 0 48px}.greet .cols{display:flex;flex-direction:column;gap:34px}.greet .cols>div{order:0}.greet figure{order:1;margin:0 10px 0 0;width:calc(100% - 10px)}.greet figure img{aspect-ratio:4/3;border-radius:60px 14px 60px 14px;object-position:50% center}.greet figure::after{border-radius:60px 14px 60px 14px;inset:12px -12px -12px 12px}.greet p{line-height:2.05}.stats-strip{padding:0 24px 60px}.stats-strip .wrap{margin:0;padding:16px 12px;border-radius:30px;grid-template-columns:1fr 1fr}.stat{padding:18px 8px}.stat b{font-size:40px}.stat span{font-size:14px}.profile{padding:70px 0}.profile .cols{display:flex;flex-direction:column;gap:36px}.profile .cols>div:not(.side){display:contents}.profile .section-heading{order:-2}.profile .side{order:0;display:block;width:100%}.profile .side>img{max-width:260px;aspect-ratio:1}.profile .facts{padding:0 5px}.profile-intro{order:-1;font-size:21px;margin:-18px 0 0!important}.profile-scene{order:1;margin:0}.profile-scene img{border-radius:60px 14px 60px 14px}.profile .profile-timeline{order:2;width:100%;margin-top:-8px}.profile .cols>div>p:last-child{order:3;margin:0}.profile .btn{margin-top:0}.photo-ribbon{grid-template-columns:1fr 1fr 1fr;gap:10px;padding:0 14px 55px}.photo-ribbon img{aspect-ratio:3/4;border-radius:30px 10px 30px 10px}.photo-ribbon img:nth-child(2){border-radius:10px 30px 10px 30px;transform:translateY(15px)}.policy{border-radius:40px 40px 0 0;padding:65px 0}.policy .section-heading{margin-bottom:20px}.policy .section-heading::before{left:calc(50% - 140px)}.policy .lede{font-size:16px;margin-bottom:35px}.policy .cards.c4{grid-template-columns:1fr;gap:0}.policy .cards>li:not(.tile){padding:26px 0 28px 48px;min-height:0}.policy .cards>li:not(.tile)::before{font-size:26px;top:25px}.policy .cards>li:not(.tile)>.ico{width:48px;height:48px;margin:0 0 12px 14px;position:static}.policy .cards h3{font-size:23px;line-height:1.8}.policy .cards p{font-size:16px}.policy .cards>li.tile{margin:20px 0 0;min-height:100px}.policy .cards>li.tile a{font-size:20px;padding:24px 28px}.achv{padding:70px 0}.achv .section-heading::before{left:calc(50% - 126px)}.achv .lede{font-size:16px;margin-bottom:30px}.ach-top{grid-template-columns:1fr 1fr;gap:18px;margin:0 0 38px}.ach-top li{padding:18px 8px;aspect-ratio:1}.ach-top b{font-size:48px}.ach-top b small{font-size:16px}.ach-top span{font-size:14px;margin-top:4px;letter-spacing:-.02em}.hl{gap:20px}.hl>div{padding:26px}.hl h3{font-size:25px}.achv .sub-h{font-size:25px;margin:48px 0 28px}.achv .cards{grid-template-columns:1fr;gap:0}.achv .cards>li:not(.tile){padding:26px 48px 28px 45px}.achv .cards>li:not(.tile)::before{top:25px;font-size:25px}.achv .cards>li:not(.tile)>.ico{width:35px;height:35px;top:28px;right:0}.achv .cards h3{font-size:22px}.achv .cards>li.tile{margin:24px 0 0}.achv .cards>li.tile a{font-size:19px;padding:22px 28px}#archive{padding-block:55px}.dual{gap:32px}.link-card,.link-card+.link-card{padding:0}.link-card+.link-card{border-left:0;border-top:1px solid #c9c4b8;padding-top:32px}.link-card h3{font-size:30px}.link-card .nums b{font-size:44px}.support{padding:65px 0;border-radius:0 0 60px 0}.support-top{grid-template-columns:1fr;gap:28px;margin-top:28px}.support-top .lede{font-size:16px;line-height:2}.support-top img{border-radius:60px 14px 60px 14px}.support .cards{gap:20px}.support .cards>li{padding:26px}.support .cards h3{font-size:23px}.support .fine{font-size:14px}.contact{padding:65px 0}.contact .box{gap:36px}.site-footer{padding:35px 0}.site-footer .brand b{font-size:26px}.back-top{right:12px;bottom:12px;width:44px;height:44px;min-width:44px;min-height:44px;font-size:22px}.page-hero{padding:24px 0 40px;border-radius:0 0 45px 0}.page-title{font-size:30px}.page .sec h2{font-size:24px;line-height:1.8}.page .sec{padding-block:34px}.toc{padding:20px}.page-cta{border-radius:26px}.closing{padding:24px!important}}
@media(max-width:360px){.hero .wrap{padding-inline:18px;padding-top:370px}.hero .portrait,.hero .slides{height:420px}.hero .badge{font-size:14px;padding-inline:8px}.hero h1{font-size:43px}.hero .name .nm{font-size:34px}.hero .name .heart{width:34px}.hero .name{gap:10px}.hero .cta{grid-template-columns:1fr}.hero .cta .btn{font-size:16px}.discover{gap:28px 14px;padding-inline:18px}.discover-photo{width:116px;height:109px}.discover-text{font-size:15px}.discover-text small{font-size:14px;letter-spacing:0}.ach-top span{font-size:14px}.ach-top b{font-size:42px}.policy .cards>li:not(.tile){padding-left:42px}.policy .cards h3{font-size:21px}.hero .slide-controls{right:12px}.hero .slide-dot{width:29px}.profile-intro{font-size:19px}}
@media(prefers-reduced-motion:reduce){.hero .slides img,.discover-photo,.btn{transition:none!important}}

/* Photograph edition: a clear identity and a single highlighted slogan. */
.hero .portrait{left:42%}
.hero-identity{order:2;display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:0 0 20px;max-width:100%}
.hero .hero-identity .badge{background:none;border:0;padding:0;margin:0;font-size:14px;line-height:1.7;color:var(--navy)}
.hero .hero-identity .name{background:none;padding:0;margin:0;gap:16px}
.hero .hero-identity .nm{line-height:1.3}
.hero .hero-identity .name small{margin-top:5px}
.hero .sub{background:none;padding:0;max-width:410px;margin-bottom:24px}
.hero .cta .btn-ghost{border-color:#a7b4bc}
.hero .slides img:not(.mark){object-position:var(--photo-focus,50% 40%)}
.discover>a:first-child .discover-photo img{object-position:50% 22%}
.discover>a:nth-child(3) .discover-photo img{object-position:54% 40%}
.greet figure img{object-position:52% 35%}
.profile .side>img{object-position:50% 20%}
.profile-scene{max-width:420px}
.profile-scene img{object-position:35% 55%}
@media(max-width:700px){.profile-scene{max-width:min(78vw, 360px)}}
.photo-stories{background:#fff;padding:0 0 90px}
.photo-stories .section-heading{text-align:center;margin:0 0 42px}
.photo-stories .section-heading::before{left:calc(50% - 220px);background:#e3ece7}
.photo-stories h2{font-size:clamp(28px,3.5vw,42px)}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px}
.story-grid figure{margin:0;min-width:0}
.story-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:42px 12px 42px 12px}
.story-grid figure:nth-child(even) img{border-radius:12px 42px 12px 42px}
.story-grid figure:nth-child(2) img{object-position:30% 58%}
.story-grid figure:nth-child(4) img{object-position:50% 62%}
.story-grid figcaption{font-size:16px;color:var(--navy);line-height:1.8;padding:14px 4px 0}
.results-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 0 45px}
.results-photos figure{margin:0;min-width:0}
.results-photos img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:18px;object-position:center}
.results-photos figcaption{font-size:16px;line-height:1.8;padding-top:12px;color:var(--navy)}
.reading-photo{margin:0 0 40px}
.reading-photo img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 38%;border-radius:42px 12px 42px 12px}
.reading-photo figcaption{font-size:14px;color:var(--muted);line-height:1.8;padding-top:12px}
.support-top img{object-position:42% top}
@media(min-width:981px) and (max-width:1210px){.hero .portrait{left:42%}.hero .sub{max-width:360px}.hero .txt{max-width:46%}.hero .hero-identity .nm{font-size:42px}.hero .hero-identity .heart{width:42px}}
@media(min-width:701px) and (max-width:980px){.hero .portrait{left:41%}.hero .txt{max-width:50%}.hero .sub{max-width:300px}.hero .hero-identity .nm{font-size:36px}.hero .hero-identity .heart{width:35px}.hero .hero-identity .badge{max-width:300px}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.hero .portrait{left:0}.hero-identity{gap:5px;margin-bottom:17px}.hero .hero-identity .name{gap:14px}.hero .hero-identity .badge{font-size:14px;letter-spacing:0}.hero .hero-identity .nm{font-size:38px}.hero .sub{max-width:none;padding:0;margin-bottom:22px}.hero .slides img:not(.mark){object-position:var(--mobile-focus,var(--photo-focus,50% 35%))}.photo-stories{padding:0 0 60px}.photo-stories .section-heading{margin-bottom:30px}.photo-stories .section-heading::before{left:calc(50% - 150px)}.photo-stories h2{font-size:28px}.story-grid{grid-template-columns:1fr;gap:28px}.story-grid img{aspect-ratio:4/3;border-radius:40px 12px 40px 12px}.story-grid figure:nth-child(even) img{border-radius:12px 40px 12px 40px}.story-grid figcaption{font-size:16px;padding-top:10px}.results-photos{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.results-photos img{aspect-ratio:3/2}.results-photos figcaption{padding-top:8px}.reading-photo{margin-bottom:30px}.reading-photo img{aspect-ratio:4/3;border-radius:30px 10px 30px 10px}.reading-photo figcaption{font-size:14px}.profile-scene img{object-position:30% 60%}}
@media(max-width:360px){.hero .hero-identity .nm{font-size:34px}.hero .hero-identity .heart{width:34px}.hero .hero-identity .name{gap:10px}.hero .hero-identity .badge{font-size:14px}.photo-stories h2{font-size:25px}}

/* Continuous activity-photo strip; scrolling also works without JavaScript. */
.photo-stories{padding:24px 0 38px;background:#fffcf7}
.photo-stories .marquee-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.photo-stories .section-heading{text-align:left;margin:0}
.photo-stories .section-heading::before{display:none}
.photo-stories h2{font-size:27px;line-height:1.7}
.photo-marquee{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#c9a2b6 transparent;padding-block:4px 14px}
.photo-marquee:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}
.marquee-track{display:flex;width:max-content}
.marquee-group{display:flex;flex:none;justify-content:space-around;gap:22px;min-width:100vw;padding-right:22px}
.marquee-group figure{flex:0 0 300px;width:300px;min-width:0;margin:0}
.marquee-group img{display:block;width:100%;height:212px;object-fit:cover;object-position:50% 38%;border-radius:16px}
.marquee-group figure:nth-child(7) img{object-position:50% 60%}
.marquee-group figure:nth-child(8) img{object-position:30% 60%}
.marquee-group figcaption{padding:12px 4px 0;font-size:16px;line-height:1.8;color:var(--navy)}
@media(max-width:700px){
 .photo-stories{padding:18px 0 30px}
 .photo-stories .marquee-heading{gap:14px;margin-bottom:20px}
 .photo-stories h2{font-size:23px}
 .marquee-group{gap:16px;padding-right:16px}
 .marquee-group figure{flex-basis:240px;width:240px}
 .marquee-group img{height:180px;border-radius:14px}
 .marquee-group figcaption{font-size:16px;padding-top:10px}
}

/* Requested caption, support-text, and masthead refinements. */
body#top .site-header .wrap{justify-content:flex-end}
#support .support-top{
  grid-template-columns:minmax(0,1fr) minmax(0,400px);
  max-width:1000px;
  gap:clamp(24px,4vw,52px);
  margin:24px 0 28px;
}
#support .support-top .lede{font-size:17px;line-height:1.8}
@media(max-width:700px){
  #support .support-top{grid-template-columns:1fr;gap:16px;margin:18px 0 24px}
  #support .support-top .lede{font-size:16px}
  #support .support-top figure{max-width:320px}
  .marquee-group figcaption{min-height:58px}
}

/* Photo signature: one identity, set directly on the activity photographs. */
.hero,.hero .wrap{min-height:800px}
.hero .wrap{max-width:none;padding:185px clamp(40px,6vw,140px) 135px}
.hero .txt{max-width:40%;width:510px}
.hero .sub{max-width:370px;margin-top:12px;margin-bottom:28px}
.hero .portrait{
  left:5%;
  --photo-fade:linear-gradient(to right,transparent,rgba(0,0,0,.18) 19%,rgba(0,0,0,.6) 37%,#000 53%);
}
.hero .portrait .slides,.hero .portrait::after{
  -webkit-mask-image:var(--photo-fade);
  mask-image:var(--photo-fade);
}
.hero .portrait::after{content:"";position:absolute;inset:42% 0 0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(13,30,49,.2) 25%,rgba(13,30,49,.83) 64%,rgba(13,30,49,.86) 100%)}
.hero .hero-identity{position:absolute;z-index:2;right:48px;bottom:168px;display:flex;align-items:flex-end;gap:9px;margin:0;max-width:calc(100% - 64px);text-align:right;color:#fff}
.hero .hero-identity .badge{font-size:15px;line-height:1.7;letter-spacing:.08em;color:#fff;max-width:none}
.hero .hero-identity .name{align-items:center;gap:18px;margin:0;padding:0;background:none;color:#fff}
.hero .hero-identity .nm{font-size:clamp(38px,4.2vw,62px);font-weight:700;line-height:1.2;letter-spacing:.08em;color:#fff}
.hero .hero-identity .name small{color:#fff;font-size:13px;letter-spacing:.3em;margin-top:11px;font-weight:500}
.hero .hero-identity .heart{width:44px;filter:none}
.hero .slide-controls{right:48px;bottom:100px}
.hero-wave{
  position:absolute;
  bottom:-1px;
  left:0;
  z-index:2;
  width:100%;
  height:clamp(40px,6vw,88px);
  color:var(--white);
  pointer-events:none;
}
.photo-stories .marquee-heading{margin-bottom:22px}
#contact .sns .note-link{background:#fff;color:#000;border-radius:50%;overflow:hidden}
#contact .sns .note-link img{display:block;width:48px;height:48px}
@media(min-width:701px) and (max-width:980px){
 .hero,.hero .wrap{min-height:740px}
 .hero .wrap{padding:160px 5% 120px}
 .hero h1{font-size:clamp(43px,6.1vw,58px)}
 .hero .txt{max-width:40%}
 .hero .hero-identity{right:28px;bottom:168px;max-width:calc(100% - 48px)}
 .hero .hero-identity .badge{font-size:13px;letter-spacing:.02em}
 .hero .hero-identity .nm{font-size:40px}
 .hero .hero-identity .heart{width:32px}
 .hero .hero-identity .name{gap:12px}
 .hero .slide-controls{right:28px}
}
@media(max-width:700px){
 .hero{min-height:0;padding-bottom:0}
 .hero .wrap{display:flex;flex-direction:column;gap:0;padding:0 0 68px;min-height:0}
 .hero .portrait{
   order:0;position:relative;inset:auto;width:100%;height:clamp(510px,135vw,620px);flex:none;
   --photo-fade:linear-gradient(to right,transparent,rgba(0,0,0,.2) 20%,rgba(0,0,0,.65) 43%,#000 65%);
 }
 .hero .slides{height:100%}
 .hero .txt{order:1;position:static;max-width:none;width:100%;padding:16px 24px 0}
 .hero h1{font-size:clamp(43px,10.8vw,60px);margin-bottom:18px}
 .hero .sub{max-width:none;margin:0 0 24px}
 .hero .hero-identity{right:24px;bottom:102px;max-width:calc(100% - 48px);gap:8px}
 .hero .hero-identity .badge{font-size:13px;letter-spacing:.02em}
 .hero .hero-identity .nm{font-size:clamp(34px,9.8vw,48px);letter-spacing:.07em}
 .hero .hero-identity .name small{font-size:12px;letter-spacing:.24em;margin-top:8px}
 .hero .hero-identity .name{gap:12px}
 .hero .hero-identity .heart{width:32px}
 .hero .slide-controls{right:24px;bottom:36px}
 .hero-wave{height:42px}
 .photo-stories .marquee-heading{margin-bottom:18px}
}
@media(max-width:360px){
 .hero .txt{padding-inline:18px}
 .hero .hero-identity{right:18px;max-width:calc(100% - 36px)}
 .hero .hero-identity .nm{font-size:34px}
 .hero .hero-identity .badge{font-size:12px}
 .hero .hero-identity .heart{width:28px}
 .hero .slide-controls{right:18px}
}

/* Open slogan typography with no background panels. */
.hero h1{font-size:clamp(60px,6.3vw,96px);line-height:1.3;letter-spacing:.025em}
.hero h1 span{background:none;padding:0;box-shadow:none;box-decoration-break:slice;-webkit-box-decoration-break:slice}
.hero h1 span+br+span{margin-left:0;margin-top:6px}
@media(min-width:701px) and (max-width:980px){.hero h1{font-size:clamp(47px,6.8vw,66px)}}
.hero h1,.hero .sub{text-shadow:0 0 16px rgba(255,255,255,.72)}
@media(max-width:700px){
 .hero h1{
   position:absolute;z-index:3;left:clamp(18px,6vw,40px);top:clamp(212px,58vw,270px);
   font-size:clamp(34px,8.7vw,52px);margin:0;
   text-shadow:0 0 14px #fff,0 0 28px rgba(255,255,255,.72);
 }
 .hero h1 span+br+span{margin-top:4px}
 .hero .sub{text-shadow:none}
}

/* District achievements: six restrained editorial panels. */
.page .bullets li[id]{scroll-margin-top:128px}
.local-results{margin-top:72px;padding-top:40px;border-top:1px solid #c9c9c7}
.local-results-heading{display:grid;grid-template-columns:.9fr 1.1fr;align-items:end;gap:40px;margin-bottom:32px}
.local-results-eyebrow{margin:0 0 15px;font-size:12px;font-weight:700;letter-spacing:.12em;color:#62666c}
.local-results-heading h3{font:600 clamp(30px,3vw,40px)/1.5 var(--font-head);letter-spacing:.015em;color:#192a3e}
.local-results-heading>p{margin:0 0 4px;color:var(--muted);font-size:15px;line-height:2}
.local-results-featured{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d9dcdf;border-top:2px solid #26374b;border-bottom:1px solid #d9dcdf;counter-reset:local-result}
.local-results-featured>li{min-width:0;display:flex;counter-increment:local-result}
.local-result-card{position:relative;width:100%;display:flex;flex-direction:column;padding:24px 26px 20px;border:0;border-radius:0;background:#fff;color:#192a3e;text-decoration:none;transition:background-color .2s}
.local-result-kicker{display:flex;align-items:baseline;gap:12px;min-height:25px;font-size:12px;font-weight:500;line-height:1.8;letter-spacing:.015em;color:#555f6a}
.local-result-kicker::before{content:counter(local-result,decimal-leading-zero);font:400 11px/1.6 Arial,sans-serif;letter-spacing:.08em;color:#8a9299;flex:none}
.local-result-card h4{display:flex;flex-wrap:wrap;align-items:baseline;min-height:100px;align-content:center;font:500 22px/1.15 var(--font-head);margin:11px 0 17px;letter-spacing:-.03em}
.local-result-card h4 strong{font:400 62px/1 Arial,"Helvetica Neue",sans-serif;letter-spacing:-.055em;margin-right:5px}
.local-result-card h4>span{flex-basis:100%;font-size:15px;line-height:1.7;font-weight:500;letter-spacing:.01em;margin-top:12px}
.local-result-card h4.local-result-word{font:600 27px/1.3 var(--font-head);letter-spacing:-.02em}
.local-result-card>p{margin:0 0 23px;color:#59636f;font-size:14px;line-height:1.95}
.local-result-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid #e6e8e9;font-size:11px;font-weight:500;line-height:1.8;color:#5e6975}
.local-result-footer i{font-style:normal;font-size:22px;font-weight:400;flex:none;color:#192a3e;transition:transform .2s}
.local-result-card:hover{background:#f4f5f5}
.local-result-card:hover .local-result-footer i{transform:translateX(3px)}
.local-result-card:focus-visible{outline-offset:-4px;border-radius:0}
.local-results-bottom{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:25px}
.local-results-bottom p{margin:0;font-size:13px;color:var(--muted)}
.local-results-bottom>a{display:flex;align-items:center;justify-content:space-between;gap:38px;min-height:48px;padding:10px 0;border-bottom:1px solid #26374b;border-radius:0;background:none;color:#192a3e;text-decoration:none;font-size:14px;font-weight:600}
.local-results-bottom>a:hover{color:var(--navy);border-color:var(--pink)}
@media(min-width:701px) and (max-width:980px){
 .local-results-heading{grid-template-columns:1fr;gap:22px}
 .local-results-featured{grid-template-columns:repeat(2,minmax(0,1fr))}
 .local-results-bottom{align-items:flex-start;flex-direction:column;gap:12px}
}
@media(max-width:700px){
 .local-results{margin-top:48px;padding-top:30px}
 .local-results-heading{grid-template-columns:1fr;gap:18px;margin-bottom:25px}
 .local-results-heading h3{font-size:31px}.local-results-heading>p{font-size:14px}
 .local-results-eyebrow{font-size:12px;margin-bottom:12px}.desktop-break{display:none}
 .local-results-featured{grid-template-columns:1fr}
 .local-result-card{padding:22px 23px 18px}
 .local-result-kicker{min-height:0;font-size:12px}
 .local-result-card h4{min-height:82px;margin-top:9px;margin-bottom:13px}
 .local-result-card h4 strong{font-size:54px}.local-result-card h4.local-result-word{font-size:25px}
 .local-result-card h4>span{margin-top:9px}.local-result-card>p{margin-bottom:18px}
 .local-result-footer{font-size:12px}
 .local-results-bottom{flex-direction:column;align-items:stretch;gap:12px;margin-top:21px}
 .local-results-bottom>a{font-size:14px;gap:18px;align-self:flex-start}
}
@media(prefers-reduced-motion:reduce){.local-result-card,.local-result-footer i{transition:none}.local-result-card:hover .local-result-footer i{transform:none}}

/* Shared palette and editorial styling for the public site. */
:root {
  --navy: #182a3c;
  --navy-2: #294256;
  --ink: #29333d;
  --muted: #535e67;
  --pink: #e85098;
  --pink-logo: var(--pink);
  --pink-tint: #f4e9ef;
  --paper: #fff;
  --line: #d8dad8;
  --feature-blue: #dce8f1;
  --dark-muted: #d9e2ea;
  --radius: 4px;
}

body, .profile, .achv, .page, .contact, .photo-stories { background: var(--white); }
.hero, .greet, .stats-strip, .policy, .support, .page-hero,
.toc, .q, .site-footer, #news { background: var(--paper); }
.policy, .support, .page-hero, #news { border-radius: 0; }
.hero::before, .section-heading::before,
.greet figure::after { display: none; }

.section-heading .en, .link-card .en {
  font-size: 12px;
  letter-spacing: .17em;
}
.section-heading .en::before {
  content: "";
  display: inline-block;
  width: 18px;
  margin-right: 9px;
  border-top: 1px solid currentColor;
  vertical-align: .3em;
}
.section-heading h2 { letter-spacing: .045em; }
.btn, .news-more { border-radius: var(--radius); }
.btn:hover { transform: none; }
.btn:not(.btn-ghost):not(.btn-light) { color: #161c24; }
.btn:not(.btn-ghost):not(.btn-light):hover {
  background: var(--navy);
  border-color: var(--navy);
  color: var(--white);
}
.support .cards .btn:not(.btn-ghost):not(.btn-light),
.page-cta .btn:not(.btn-ghost):not(.btn-light) { color: var(--white); }
.btn-ghost, .news-more { border-color: #aeb6bb; }
body#top .site-header .nav,
body#top .site-header .menu-btn,
.hero .slide-controls {
  border-radius: var(--radius);
  box-shadow: 0 2px 10px #182a3c12;
}
.hero .slide-controls { background: var(--white); }

.greet figure img, .profile-scene img,
.photo-ribbon img, .photo-ribbon img:nth-child(2),
.results-photos img, .reading-photo img, .support-top img,
.marquee-group img { border-radius: var(--radius); }
.results-photos figcaption, .reading-photo figcaption,
.marquee-group figcaption { color: var(--muted); font-size: 14px; }

#news .news li:nth-child(n) {
  padding: 16px clamp(16px, 2vw, 26px);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
#news #news-list>li:first-child {
  background: var(--feature-blue);
  border-color: #b5c9da;
}
#news .news .tag {
  border-color: #aeb6bb;
  border-radius: 2px;
  color: var(--navy);
  font-size: 12px;
  padding-inline: 8px;
}
#news .news li:not([hidden]) { display: flex; flex-direction: column; align-items: flex-start; }
#news .news li > div { display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
#news .news h3 { margin: 8px 0 4px; font-size: 18px; line-height: 1.5; }
#news .news a.more { margin-top: auto; }
#news #news-list>li:first-child a.more { color: var(--navy); }
#news h2 { font-family: var(--font-head); }

.stats-strip .wrap {
  background: transparent;
  border-radius: 0;
  border-block: 1px solid var(--line);
}
.stat, .career, .link-card .go { border-color: var(--line); }
.profile-timeline h3 { margin: 0 0 14px; font-size: 21px; }
.career-preview { margin-left: 12px; }
.career-preview li { padding-bottom: 14px; }
.career-close, .career[open] .career-open { display: none; }
.career[open] .career-close { display: inline; }
.stat b, .ach-top b, .link-card .nums b {
  font-family: Arial, var(--font-jp);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.035em;
}
.policy .cards>li:not(.tile) { border-color: var(--line); }
.policy .cards>li:not(.tile)::before,
.policy .cards>li:not(.tile)>.ico { color: var(--pink); }
.policy .cards p { color: var(--muted); }
.policy .cards>li.tile {
  border-color: #aeb6bb;
  border-radius: var(--radius);
}
.policy .cards>li.tile a { color: var(--navy); }
.policy .cards>li.tile:hover { background: var(--feature-blue); }

.ach-top {
  background: var(--line);
  border-block: 1px solid var(--line);
  gap: 1px;
}
.ach-top li:nth-child(n) {
  aspect-ratio: auto;
  min-height: 145px;
  border-radius: 0;
  background: var(--white);
}
.ach-top b { font-size: clamp(38px, 4.6vw, 59px); }
.achv .lede { max-width: none; }
#achievements .hl>div:nth-child(n) {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
#achievements .hl>div:first-child {
  background: var(--feature-blue);
  border-color: #b5c9da;
}
#achievements .hl>div:nth-child(2) {
  background: var(--pink-tint);
  border-color: #dfccd7;
}
#achievements .hl>div:nth-child(3) {
  background: #edf0ef;
  border-color: #d5ddda;
}
.hl .hl-ico { width: 36px; height: 36px; }
.local-results { border-color: var(--line); }
.local-results-heading h3 { color: var(--navy); }
.local-results-eyebrow { color: var(--navy); font-size: 16px; }
.local-results-featured { border-color: var(--line); border-top-color: var(--navy); }
.local-result-card { color: var(--navy); }
.local-result-card:hover { background: var(--paper); }
.local-results-bottom>a {
  padding: 10px 18px;
  border: 1px solid var(--navy);
  border-radius: var(--radius);
  background: var(--navy);
  color: var(--white);
}
.local-results-bottom>a:hover {
  border-color: var(--navy-2);
  background: var(--navy-2);
  color: var(--white);
}

#archive { background: var(--navy); }
#archive .link-card, #archive .link-card h3, #archive .nums b { color: var(--white); }
#archive .link-card p, #archive .nums small { color: var(--dark-muted); }
#archive .link-card .en, #archive .link-card .go { color: #f2c6db; }
#archive .link-card .go, #archive .link-card+.link-card { border-color: #526477; }
#archive .link-card:hover .go { color: var(--white); }
#archive .link-card:focus-visible { outline-color: #f2c6db; }
.support .cards>li {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: none;
}
.support .fine, .support .fine strong { color: var(--muted); }
.photo-marquee { scrollbar-color: #9ea9b1 transparent; }
#contact .sns .note-link { border: 1px solid #000; }
#contact .sns .note-link img { width: 46px; height: 46px; }
#contact .council-report { margin-top: 32px; }
.toc, .closing, .page-cta { border-radius: var(--radius); }
.closing, .page-cta { background: var(--paper); }
body:not(#top) .site-header { background: var(--white); }

@media (max-width: 700px) {
  .hero .wrap { padding-bottom: 36px; }
  .local-results-eyebrow { font-size: 15px; }
  .ach-top li:nth-child(n) { min-height: 110px; }
  .stats-strip .stat:nth-child(3) { border-left: 0; }
  .stats-strip .stat:nth-child(n+3) { border-top: 1px solid var(--line); }
}

/* Recent activity from Instagram */
.activity-status { margin: 0; color: var(--muted); }
.activity-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.activity-list > li {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.activity-list img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.activity-list li > div { padding: 20px; }
.activity-list time { font-size: 14px; color: var(--muted); }
.activity-list p { margin: 8px 0 14px; white-space: pre-line; overflow-wrap: anywhere; }
.activity-list a { display: inline-block; margin-top: 6px; font-size: 14px; }
.activity-profile { margin: 24px 0 0; }
@media (max-width: 760px) {
  .activity-list { grid-template-columns: 1fr; }
}
