/* FV: genuine portrait and a softly visible Oimachi backdrop. */
.hero-restored{height:calc(100svh - var(--header));min-height:600px;max-height:1000px;background:#f8fafb;isolation:isolate;overflow:hidden}
.hero-restored .hero-photo{height:100%;position:absolute;inset:0;background:#f8fafb;overflow:hidden;clip-path:polygon(0 3%,100% 0,100% 77%,0 94%)}
.hero-restored .hero-photo>img.hero-city{position:absolute;inset:0;height:100%;width:100%;max-width:100%;object-fit:cover;object-position:center;transform:none;filter:none;opacity:.48}
.hero-restored .hero-photo:after{display:none;content:none}
.hero-restored:after{content:'';position:absolute;inset:0;background:#fff;clip-path:polygon(0 94%,100% 77%,100% 84%,0 100%);pointer-events:none;z-index:1}
.hero-restored .hero-person{position:absolute;right:2.5%;bottom:0;width:46%;line-height:0}
.hero-restored .hero-person>img{width:100%;height:auto;max-width:100%;object-fit:contain;filter:none;transform:none;mask-image:url('assets/hero-portrait-mask.png');mask-mode:luminance;mask-size:100% 100%;mask-repeat:no-repeat}
.hero-restored .hero-identity{left:5.2%;top:36px;bottom:auto;right:auto;display:flex;gap:15px;align-items:flex-start;color:#15324b;background:none}
.hero-restored h1{writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;font-size:clamp(45px,min(5.2vw,7.2svh),76px);letter-spacing:.035em;line-height:1.1;text-shadow:none;font-weight:500;color:#15324b}
.hero-restored h1>span{display:inline;font-size:inherit;margin:0;letter-spacing:inherit}
.hero-restored .hero-identity>p:first-child{order:2;writing-mode:vertical-rl;font-family:NotoSerif,serif;font-size:19px;letter-spacing:.05em;line-height:1.3;margin:4px 0 0;text-shadow:none;color:#15324b}
.hero-restored .hero-identity>p:first-child>span{display:none}
.hero-restored .hero-roman{position:absolute;left:-30px;top:3px;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.14em;font-size:12px;padding-left:9px;border-left:1px solid #15324b66;margin:0;height:470px;line-height:1.5;color:#15324b}
.hero-restored .hero-bottom{position:absolute;inset:0;width:100%;margin:0;padding:0;box-shadow:none;background:none;pointer-events:none}
.hero-restored .hero-slogan{position:absolute;left:23%;right:auto;bottom:128px;display:block;font-size:clamp(64px,5.85vw,110px);font-style:italic;line-height:1.07;letter-spacing:-.045em;border:0;padding:0;background:none;filter:none;-webkit-text-stroke:0;text-shadow:none;color:#aa4307}
.hero-restored .hero-slogan>span{display:block;width:max-content;max-width:none;background:none;padding:0;clip-path:none}
.hero-restored .hero-slogan>span:last-child{color:inherit;margin-left:14%;margin-top:4px}
.hero-restored .hero-intro{position:absolute;bottom:30px;left:23%;right:5%;padding:0;align-items:center;justify-content:space-between}
.hero-restored .hero-hometown{font-size:16px;line-height:1.7;color:#15324b;font-family:NotoSerif,serif;font-weight:500;background:none;padding:0}
.hero-restored .hero-hometown span{display:block}
.hero-restored .hero-intro .button{pointer-events:auto;background:#a94300;min-width:300px;clip-path:polygon(6% 0,100% 0,100% 75%,94% 100%,0 100%,0 25%);font-size:18px}
@media(max-width:1100px) and (min-width:801px){.hero-restored .hero-slogan{left:23%;font-size:60px}.hero-restored .hero-intro .button{min-width:270px}}
@media(max-width:800px){
 .hero-restored{height:calc(100svh - var(--header));min-height:490px;max-height:950px}
 .hero-restored .hero-photo{height:100%;clip-path:polygon(0 3%,100% 0,100% 80%,0 93%)}
 .hero-restored .hero-photo>img.hero-city{position:absolute;inset:0;left:0;top:0;max-width:100%;width:100%;height:100%;object-fit:cover;object-position:45% center;transform:none;filter:none;opacity:.42}
 .hero-restored .hero-person{right:-3%;top:11%;bottom:auto;width:min(84%,420px)}
 .hero-restored .hero-person>img{mask-image:url('assets/hero-portrait-mask.png'),linear-gradient(#000 0 80%,transparent 100%);mask-mode:luminance,alpha;mask-size:100% 100%;mask-repeat:no-repeat;mask-composite:intersect}
 .hero-restored:after{clip-path:polygon(0 93%,100% 80%,100% 86%,0 99%)}
 .hero-restored .hero-identity{left:27px;top:23px;bottom:auto;right:auto;gap:8px}
 .hero-restored h1{font-size:clamp(35px,min(11.2vw,6.1svh),48px);line-height:1.1;letter-spacing:.025em}
 .hero-restored .hero-identity>p:first-child{font-size:16px;margin-top:2px}
 .hero-restored .hero-roman{display:none}
 .hero-restored .hero-slogan{left:22px;right:auto;top:62%;bottom:auto;font-size:clamp(42px,12.2vw,58px);display:block;line-height:1.07;letter-spacing:-.045em;width:max-content;max-width:none;padding:0;-webkit-text-stroke:0}
 .hero-restored .hero-slogan>span{writing-mode:horizontal-tb;text-orientation:mixed;letter-spacing:inherit;width:max-content;max-width:none;padding:0;clip-path:none}
 .hero-restored .hero-slogan>span:last-child{margin-left:14%;margin-top:3px;text-align:left}
 .hero-restored .hero-intro{left:22px;right:22px;bottom:20px;display:block}
 .hero-restored .hero-hometown{display:none}
 .hero-restored .hero-intro .button{width:100%;min-width:0;min-height:52px;font-size:17px;padding:12px 23px}
}
@media(max-width:800px) and (max-height:650px){.hero-restored .hero-person{top:8%;width:80%}.hero-restored .hero-slogan{top:64%;font-size:40px}.hero-restored .hero-intro{bottom:14px}.hero-restored .hero-identity{top:18px}}

.profile-restored{background:#fff;padding-top:100px}
.profile-restored .section-head h2,.gallery-restored .section-head h2,.history-restored .section-head h2{font-family:NotoSerif,serif;font-weight:500;font-size:var(--type-chapter);letter-spacing:.045em}
.profile-restored .profile-layout{grid-template-columns:1.25fr 1fr;gap:70px}
.profile-restored .profile-portrait{order:2}
.profile-restored .profile-portrait img{aspect-ratio:4/5;border-radius:22px;object-position:center 20%}
.profile-restored .profile-copy{order:1}
.profile-restored .profile-name{border-left:6px solid #dc741b;padding:9px 0 12px 22px}
.profile-restored .profile-name h3{font-size:var(--type-name)}
.profile-restored .profile-lead{font-size:17px;margin-top:24px}
.profile-facts{list-style:none;margin:26px 0 15px;padding:0;border-top:1px solid #e9b58d}
.profile-facts li{border-bottom:1px solid #e9b58d;padding:13px 5px;font-size:16px;line-height:1.85}
.profile-restored .profile-more{margin-top:40px}
.gallery-restored{background:#fff3e7;color:#252b2b;padding-top:90px}
.gallery-restored .section-head{text-align:center}
.gallery-restored .eyebrow{color:#b74700}
.gallery-restored .section-head .deck{color:var(--muted);margin-inline:auto}
.gallery-restored .gallery-intro{margin:auto;text-align:center;color:var(--muted);max-width:800px}
.gallery-restored .gallery-hint{color:#b74700;font-size:13px;justify-content:center;margin-top:24px}
.gallery-collage{display:grid;grid-template-columns:repeat(12,1fr);gap:32px 22px;width:min(1280px,calc(100% - 64px));padding:30px 0 10px;margin:auto;overflow:visible;scroll-snap-type:none}
.gallery-collage figure{max-width:none;min-width:0;padding:0!important;grid-column:span 4}
.gallery-collage figure:nth-child(1){grid-column:span 3}
.gallery-collage figure:nth-child(2){grid-column:span 6}
.gallery-collage figure:nth-child(3){grid-column:span 3}
.gallery-collage figure:nth-child(7),.gallery-collage figure:nth-child(8){grid-column:span 6}
.gallery-collage .photo-zoom{border-radius:18px;clip-path:polygon(0 4%,100% 0,100% 96%,0 100%);background:#eddfd2}
.gallery-collage figure:nth-child(even) .photo-zoom{clip-path:polygon(0 0,100% 4%,100% 100%,0 96%)}
.gallery-collage img{height:300px;width:100%;object-fit:cover}
.gallery-collage figure:first-child img{object-position:73% center}
.gallery-collage figure:nth-child(3) img{object-position:52% center}
.gallery-collage figcaption{color:#4b514d;font-size:13px;line-height:1.8;margin:12px 5px 0}
.gallery-collage figcaption span{color:var(--deep);font-size:12px}
.gallery-restored .gallery-social .text-link{color:#b74700;border-color:#e1b992;margin-inline:auto}
.history-restored{background:#fff6ed}
.history-restored .section-head{text-align:center}
.history-restored .section-head .deck{margin-inline:auto}
.history-stories{position:relative;display:flex;flex-direction:column;gap:64px;padding:20px 0 10px}
.history-stories:before{content:'';position:absolute;left:calc(50% - 10px);top:0;bottom:0;width:20px;background:#ffe5c9}
.history-story{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-width:0}
.history-story>figure{grid-column:1;grid-row:1;margin-right:-25px;overflow:hidden;border-radius:22px}
.history-story>figure>img{width:100%;height:auto;object-fit:contain;object-position:center}
.history-story-copy{grid-column:2;grid-row:1;margin-left:-35px;position:relative;background:#fff;padding:30px 35px;border-radius:3px;box-shadow:0 8px 30px #b86d0a05}
.history-story:nth-child(even)>figure{grid-column:2;margin:0 0 0 -25px}
.history-story:nth-child(even)>.history-story-copy{grid-column:1;margin:0 -35px 0 0}
.history-age{font-family:NotoSerif,serif;font-size:var(--type-age);font-weight:500;line-height:1.5;color:#a94300;margin:0 0 15px;letter-spacing:.04em}
.history-story h3{font-size:var(--type-subhead);line-height:1.65;color:#97400b}
.history-story-copy>p:not(.history-age){font-size:16px;line-height:1.95;margin-top:20px}
@media(max-width:1100px) and (min-width:801px){.profile-restored .profile-layout{gap:45px}.profile-restored .profile-name h3{font-size:var(--type-name)}.gallery-collage img{height:250px}.history-story-copy{padding:26px}.history-age{font-size:var(--type-age)}}
@media(max-width:800px){
 .profile-restored{padding-top:64px}
 .profile-restored .section-head h2,.gallery-restored .section-head h2,.history-restored .section-head h2{font-size:var(--type-chapter);letter-spacing:.025em}
 .profile-restored .profile-layout{grid-template-columns:1fr;gap:0}
 .profile-restored .profile-copy{display:contents}
 .profile-restored .profile-name{grid-column:1;grid-row:1;border-left-width:5px;padding:6px 0 8px 17px;margin-bottom:25px}
 .profile-restored .profile-name h3{font-size:var(--type-name)}
 .profile-restored .profile-name>span{position:absolute;right:0;top:18px;margin:0;font-size:13px}
 .profile-restored .profile-portrait{grid-column:1;grid-row:2;width:230px;max-width:80%;margin:0 auto 10px}
 .profile-restored .profile-portrait img{aspect-ratio:4/5;border-radius:20px}
 .profile-restored .profile-portrait>span{text-align:center}
 .profile-restored .profile-lead{grid-column:1;grid-row:3;font-size:17px;margin:24px 0 0}
 .profile-facts{grid-column:1;grid-row:4;margin-top:22px}
 .profile-facts li{font-size:16px;padding:13px 0}
 .profile-restored .profile-copy>.disclosure{grid-column:1;grid-row:5}
 .gallery-restored{padding-top:65px}
 .gallery-restored .gallery-intro{text-align:left;font-size:16px}
 .gallery-collage{width:calc(100% - 36px);grid-template-columns:1fr 1fr;gap:25px 14px;padding-top:24px}
 .gallery-collage figure{grid-column:span 1!important}
 .gallery-collage figure:nth-child(1),.gallery-collage figure:nth-child(4),.gallery-collage figure:nth-child(7){grid-column:span 2!important}
 .gallery-collage img{height:225px}
 .gallery-collage figure:nth-child(1) img,.gallery-collage figure:nth-child(4) img,.gallery-collage figure:nth-child(7) img{height:280px}
 .gallery-collage figcaption{font-size:13px;line-height:1.7;gap:8px}
 .gallery-restored .gallery-social .text-link{width:100%;gap:20px}
 .history-stories{gap:40px;padding-top:0}
 .history-stories:before{width:14px;left:calc(50% - 7px)}
 .history-story{display:flex;flex-direction:column;align-items:stretch}
 .history-story>figure,.history-story:nth-child(even)>figure{margin:0 12px;border-radius:20px;padding-bottom:22px}
 .history-story>figure>img{height:auto;object-fit:contain;border-radius:20px}
 .history-story-copy,.history-story:nth-child(even)>.history-story-copy{margin:-22px 0 0;padding:23px 25px 28px;border-radius:10px}
 .history-age{font-size:var(--type-age);margin-bottom:9px}
 .history-story h3{font-size:var(--type-subhead)}
}
@media(max-width:360px){.profile-restored .profile-name h3{font-size:var(--type-name)}.gallery-collage img{height:180px}.gallery-collage figure:nth-child(1) img,.gallery-collage figure:nth-child(4) img,.gallery-collage figure:nth-child(7) img{height:230px}.history-story-copy,.history-story:nth-child(even)>.history-story-copy{padding-inline:20px}.history-age{font-size:var(--type-age)}}

/* Policy document: photographic frame, overlapping title, one reading surface. */
.policy{position:relative;isolation:isolate;overflow:hidden;padding:170px 0 100px;background:#fff5ea;color:var(--ink)}
.policy-scene{position:absolute;inset:0 0 auto;height:650px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;z-index:-1;opacity:.24;mask-image:linear-gradient(#000 0 65%,transparent 100%)}
.policy-scene img{width:100%;height:100%;object-fit:cover}
.policy-scene img:nth-child(1){object-position:62% center}
.policy-scene img:nth-child(2){object-position:55% center}
.policy-paper{width:min(1000px,calc(100% - 160px));padding:60px 80px 64px;background:#fff;border-radius:36px 36px 0 0}
.policy .section-head{margin-top:-115px;margin-bottom:42px}
.policy .policy-title{font-family:Noto,sans-serif;font-size:5.5rem;font-weight:700;font-style:italic;letter-spacing:-.04em;line-height:1.2;color:#a94300;margin:0}
.policy .policy-kicker{font-size:1.25rem;font-weight:700;line-height:1.6;letter-spacing:.04em;margin-top:20px;color:var(--ink)}
.policy-intro{font-size:1rem;line-height:1.95;max-width:44rem}
.policies{margin-top:44px}
.policy-item{display:block;border-top:1px solid #e5c8ac;padding:38px 0 42px}
.policy-row-head{display:grid;grid-template-columns:82px minmax(0,1fr);gap:24px;align-items:center;margin-bottom:23px}
.policy .chapter-number,.commitment .chapter-number{font-family:NotoSerif,serif;font-weight:500;font-size:4rem;line-height:1.2;letter-spacing:-.06em;color:#a94300}
.policy-row-head h3{font-size:1.75rem;line-height:1.6;letter-spacing:.01em}
.policy-row-head h3>span{display:inline-block;white-space:nowrap}
.policy-zero{color:#a94300;margin-left:.25em}
.policy-content{margin-left:106px;max-width:44rem;font-size:1rem;line-height:1.95}
.policy .policy-lead{font-size:1.125rem;font-weight:700;line-height:1.8;margin:0 0 18px;color:var(--ink)}
.policy-content>p+p{margin-top:1em}
.policy .disclosure{margin:24px 0 0;border-color:#e5c8ac;max-width:none}
.policy .disclosure>summary{font-size:1rem;color:#a94300;padding:16px 0;min-height:52px}
.policy .detail-body{font-size:1rem;color:var(--ink)}
.policy-close{border-top:1px solid #e5c8ac;padding-top:32px;max-width:none}
.policy-close .policy-conclusion{font-family:NotoSerif,serif;font-size:1.75rem;font-weight:500;line-height:1.7;color:#a94300;margin:0 0 22px}
.policy-close h3{font-size:1.125rem;line-height:1.8;margin:0 0 16px}
.policy-close p:last-child{font-size:1rem;font-weight:400;line-height:1.95}

/* Commitment: compact chapter plaque beside a continuous white text field. */
.commitment{position:relative;isolation:isolate;overflow:hidden;background:#f3eee7;color:var(--ink);padding:100px 0}
.commitment:before{content:'';position:absolute;inset:0;background:url('assets/hero-city.webp') center/cover no-repeat;opacity:.38;z-index:-1}
.commitment-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:60px;align-items:start}
.commitment .commitment-plaque{background:#a94300;padding:26px 20px 30px;border-radius:0;margin:0;color:#fff;text-align:center}
.commitment .commitment-plaque .eyebrow{font-size:.8125rem;color:#fff;letter-spacing:.08em}
.commitment .commitment-plaque h2{font-family:NotoSerif,serif;font-size:2.125rem;font-weight:500;line-height:1.5;letter-spacing:.04em;margin-top:12px}
.commitment-plaque h2>span{display:block}
.pledges{background:#fff;border-radius:36px 0 0 36px;padding:0 52px}
.pledge,.pledge:first-child{display:block;padding:40px 0;border-top:1px solid #e5c8ac}
.pledge:first-child{border-top:0}
.pledge-head{display:grid;grid-template-columns:82px minmax(0,1fr);gap:22px;align-items:start;margin-bottom:24px}
.pledge-head h3{font-size:1.75rem;line-height:1.65;letter-spacing:.01em;margin:0;padding-top:5px}
.pledge-body{font-size:1rem;max-width:44rem;line-height:1.95}
.pledge .pledge-context{font-size:1rem;font-weight:400;line-height:1.8;color:#a94300;margin-bottom:20px}
.pledge-body .prose p,.pledge p+p{font-size:1rem;line-height:1.95;color:var(--ink)}
.pledge-body .prose p+p{margin-top:1em}

/* Links retain their labels and interaction styles without arrow decorations. */
.news-item{grid-template-columns:minmax(0,1fr)}
@media(max-width:1100px) and (min-width:801px){
 .policy-paper{width:calc(100% - 96px);padding-inline:56px}
 .commitment-layout{grid-template-columns:155px minmax(0,1fr);gap:35px}
 .pledges{padding-inline:36px}
 .pledge-head{grid-template-columns:62px minmax(0,1fr);gap:18px}
 .pledge-head h3{font-size:1.5rem}
 .commitment .chapter-number{font-size:3.5rem}
}
@media(max-width:800px){
 .policy{padding:112px 0 58px}
 .policy-scene{height:430px;gap:5px;grid-template-columns:repeat(2,1fr)}
 .policy-scene img:nth-child(n+3){display:none}
 .policy-paper{width:calc(100% - 32px);padding:44px 24px 32px;border-radius:24px 24px 0 0}
 .policy .section-head{margin-top:-70px;margin-bottom:28px}
 .policy .policy-title{font-size:3rem;line-height:1.25;letter-spacing:-.04em}
 .policy .policy-kicker{font-size:1rem;margin-top:14px;letter-spacing:.01em}
 .policy-intro{font-size:1rem}
 .policies{margin-top:30px}
 .policy-item{padding:28px 0 30px}
 .policy-row-head{grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;margin-bottom:20px}
 .policy .chapter-number,.commitment .chapter-number{font-size:2.5rem;line-height:1.3}
 .policy-row-head h3{font-size:1.375rem;line-height:1.5;padding-top:4px;letter-spacing:0}
 .policy-content{margin-left:0;max-width:none}
 .policy .policy-lead{font-size:1.0625rem;line-height:1.8;margin-bottom:16px}
 .policy-content .disclosure{margin:20px 0 0}
 .policy-close{padding-top:27px}
 .policy-close .policy-conclusion{font-size:1.5rem;line-height:1.7;margin-bottom:22px}
 .policy-close h3{font-size:1rem;line-height:1.85}
 .commitment{padding:58px 0}
 .commitment-layout{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr);gap:26px}
 .commitment .commitment-plaque{width:max-content;max-width:100%;padding:18px 24px 20px;text-align:left}
 .commitment .commitment-plaque h2{font-size:1.875rem;line-height:1.5;margin-top:5px;letter-spacing:.025em}
 .commitment-plaque h2>span{display:inline}
 .pledges{border-radius:24px 0 0 24px;padding:0 24px}
 .pledge,.pledge:first-child{padding:28px 0}
 .pledge-head{grid-template-columns:44px minmax(0,1fr);gap:14px;margin-bottom:20px}
 .pledge-head h3{font-size:1.375rem;line-height:1.6;letter-spacing:0;padding-top:3px}
 .pledge .pledge-context{font-size:1rem;line-height:1.8;margin-bottom:18px}
}
@media(max-width:360px){.policy-paper,.pledges{padding-inline:20px}.pledge-head{grid-template-columns:40px minmax(0,1fr);gap:12px}.pledge-head h3{font-size:1.25rem}}

/* Additions from the 2026-10-07 request; existing section styles stay intact. */
.five-policies .policies{margin-top:0}
.five-policies .policy-row-head{align-items:start}
.five-policies .policy-row-head h3{padding-top:8px;text-wrap:balance}
.five-policies .policy-measures,.five-policies .policy-notes{margin:0;padding:0;list-style:none}
.five-policies .policy-measures>li+li{margin-top:30px}
.five-policies .policy-measures .policy-lead{margin-bottom:10px}
.five-policies .policy-notes{padding-left:18px;border-left:2px solid #e5c8ac}
.five-policies .policy-notes li+li{margin-top:10px}
#data .data-population{margin-bottom:36px}
#data .data-addition h3{font-size:var(--type-subhead);line-height:1.6}
#data .data-stat{display:flex;align-items:baseline;flex-wrap:wrap;gap:16px;line-height:1.4;margin:16px 0 10px}
#data .data-stat strong{font-family:NotoSerif,serif;font-size:3.5rem;font-weight:500;color:#a94300;letter-spacing:-.03em;white-space:nowrap}
#data .data-stat strong>span{font-family:Noto,sans-serif;font-size:1rem;font-weight:400;letter-spacing:0;margin-left:8px}
#data .data-added-metrics{margin-top:54px;border-top:1px solid #e5c8ac}
#data .data-metric{padding:36px 0;border-bottom:1px solid #e5c8ac}
#data .data-rents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:24px}
#data .data-period{font-weight:700;color:#a94300}
@media(max-width:800px){
 .five-policies .policy-row-head h3{padding-top:4px}
 .five-policies .policy-measures>li+li{margin-top:26px}
 #data .data-addition h3{font-size:1.375rem}
 #data .data-stat strong{font-size:2.75rem}
 #data .data-stat{gap:8px 14px}
 #data .data-rents{grid-template-columns:minmax(0,1fr);gap:30px}
 #data .data-rents>div+div{border-top:1px solid #e5c8ac;padding-top:24px}
}
