:root{
  --ink:#090b0d;
  --paper:#f5f3ee;
  --soft:#e9e6df;
  --white:#fff;
  --muted:#6e7278;
  --line:rgba(9,11,13,.14);
  --accent:#111;
  --shell:min(1180px,calc(100vw - 48px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,"Noto Sans JP",sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.shell{width:var(--shell);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.eyebrow{margin:0 0 20px;font-size:.72rem;line-height:1;text-transform:uppercase;letter-spacing:.19em;font-weight:800}
.eyebrow--light{color:rgba(255,255,255,.62)}
h1,h2,h3,p,blockquote{margin-top:0}
h1,h2,h3{line-height:1.04;letter-spacing:-.045em}
h1{font-size:clamp(4rem,9vw,8.6rem);font-weight:760}
h2{font-size:clamp(3rem,5.8vw,6rem);font-weight:740}
h3{font-size:clamp(1.7rem,2.8vw,2.8rem)}
em{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.site-header{position:fixed;inset:0 0 auto;z-index:40;color:#fff;transition:background .25s,border-color .25s}
.site-header.is-scrolled{background:rgba(9,11,13,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.1)}
.site-header__inner{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand img{width:129px;height:auto;filter:brightness(0) invert(1)}
.site-nav{display:flex;gap:26px;align-items:center;font-size:.83rem;font-weight:750}
.site-nav a{opacity:.72;transition:opacity .2s}
.site-nav a:hover{opacity:1}
.nav-toggle{display:none;background:none;border:0;color:#fff;width:44px;height:44px;padding:10px}
.nav-toggle span:not(.sr-only){display:block;height:2px;background:currentColor;margin:7px 0}
.hero{height:100svh;min-height:700px;position:relative;overflow:hidden;background:#090b0d;color:#fff}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,5,7,.88) 0%,rgba(4,5,7,.58) 48%,rgba(4,5,7,.28) 100%)}
.hero__content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:8vh}
.hero h1{max-width:1050px;margin-bottom:34px}
.hero blockquote{max-width:760px;font-size:clamp(1.1rem,1.8vw,1.5rem);color:rgba(255,255,255,.82);margin-bottom:6px}
.hero__credit{color:rgba(255,255,255,.58)}
.hero__scroll{margin-top:28px;width:max-content;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:4px;font-weight:700}
.section{padding:120px 0}
.section--paper{background:var(--paper)}
.section--soft{background:var(--soft)}
.section--ink{background:var(--ink);color:#fff}
.section--community{background:#fff}
.split,.profile-grid,.activities-intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start}
.prose{font-size:1.06rem}
.prose--large{font-size:clamp(1.15rem,1.8vw,1.5rem)}
.prose--light{color:#c4c7cb}
.lead-en{font-family:Georgia,"Times New Roman",serif;font-size:1.35em;line-height:1.45;color:var(--muted)}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:48px;border-top:1px solid var(--line)}
.stats-grid div{padding:26px 0;border-bottom:1px solid var(--line)}
.stats-grid div:nth-child(odd){border-right:1px solid var(--line);padding-right:24px}
.stats-grid div:nth-child(even){padding-left:24px}
.stats-grid strong{display:block;font-size:clamp(2.2rem,4vw,4rem);line-height:1}
.stats-grid span{display:block;margin-top:10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.representative{margin-top:110px;padding-top:70px;border-top:1px solid rgba(255,255,255,.16);display:grid;grid-template-columns:.42fr .58fr;gap:7vw;align-items:center}
.representative__photo{background:#15181b;overflow:hidden;aspect-ratio:4/5}
.representative__photo img{width:100%;height:100%;object-fit:cover}
.representative h3{font-size:clamp(3rem,5vw,5.6rem);margin-bottom:16px}
.representative__title{color:#9da2a8;margin-bottom:30px}
.org-facts{margin:42px 0 0;border-top:1px solid rgba(255,255,255,.14)}
.org-facts div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.org-facts dt{color:#8c9198}
.org-facts dd{margin:0}
.community-links{border-top:1px solid var(--line)}
.community-links a{display:flex;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);font-size:clamp(1.2rem,2vw,1.7rem);font-weight:700}
.activities-intro h3{font-size:1.45rem;line-height:1.4;margin:0 0 16px}
.activities-intro h3:not(:first-child){margin-top:44px}
.activities-intro small{font-size:.72em;font-weight:500;color:var(--muted)}
.activities-intro ul{padding-left:1.2em}
.section-heading{margin-bottom:64px}
.timeline{border-top:1px solid var(--line)}
.timeline article{display:grid;grid-template-columns:180px 1fr;gap:42px;padding:28px 0;border-bottom:1px solid var(--line)}
.timeline time{font-size:.8rem;font-weight:800;letter-spacing:.06em}
.timeline p{margin:0;max-width:820px;color:#3e4247}
.contact{background:#111;color:#fff;padding:100px 0}
.contact__inner{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end}
.contact h2{margin:0}
.contact__details{font-size:1.1rem}
.contact__details p:last-child{margin-bottom:0}
.site-footer{background:#050607;color:#fff;padding:72px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:60px;padding-bottom:54px}
.footer-logo{width:129px;height:auto;filter:brightness(0) invert(1);margin-bottom:22px}
.site-footer p{color:#a6abb1;margin-bottom:0}
.site-footer .eyebrow{color:#fff;margin-bottom:12px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;display:flex;justify-content:space-between;color:#777d84;font-size:.82rem}
@media(max-width:900px){
  :root{--shell:min(100% - 32px,1180px)}
  .site-header__inner{height:72px}
  .nav-toggle{display:block;position:relative;z-index:3}
  .site-nav{position:fixed;inset:0;background:#090b0d;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0 10vw;font-size:clamp(2.4rem,9vw,4.2rem);gap:14px;transform:translateY(-100%);transition:transform .35s cubic-bezier(.22,1,.36,1)}
  .site-nav.is-open{transform:translateY(0)}
  body.nav-open{overflow:hidden}
  .hero{min-height:650px}
  .hero h1{font-size:clamp(3.6rem,15vw,6.8rem)}
  .section{padding:84px 0}
  .split,.profile-grid,.activities-intro,.representative,.contact__inner{grid-template-columns:1fr;gap:52px}
  .representative{margin-top:80px}
  .representative__photo{max-width:560px}
  .timeline article{grid-template-columns:1fr;gap:8px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:560px){
  h2{font-size:clamp(2.7rem,13vw,4rem)}
  .hero__content{padding-bottom:60px}
  .hero blockquote{font-size:1rem}
  .stats-grid{grid-template-columns:1fr}
  .stats-grid div:nth-child(odd){border-right:0;padding-right:0}
  .stats-grid div:nth-child(even){padding-left:0}
  .org-facts div{grid-template-columns:90px 1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid>div:first-child{grid-column:auto}
  .footer-bottom{flex-direction:column;gap:10px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .hero__video{display:none}
}
