:root{
  --bg:#f6f3ec;--paper:#fbfaf7;--ink:#151714;--muted:#6e716b;--green:#174b34;--green2:#286345;--orange:#c85a2b;--gold:#9f7b45;--line:#ded8cb;
  --serif:"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","MS PMincho",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",Meiryo,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.8}img{display:block;width:100%}a{color:inherit;text-decoration:none}.section-shell{width:min(1180px,calc(100% - 40px));margin:auto}.section-kicker{font-size:.72rem;letter-spacing:.18em;font-weight:700;color:var(--green);margin:0 0 14px}.section-kicker.light{color:#fff9}.site-header{position:fixed;z-index:40;top:0;left:0;width:100%;height:82px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;color:#fff;transition:.35s ease}.site-header.is-scrolled{height:68px;background:rgba(246,243,236,.92);backdrop-filter:blur(15px);color:var(--ink);border-bottom:1px solid #0001}.brand{display:flex;align-items:center;gap:10px}.brand-mark{font-size:28px}.brand-text{display:grid;line-height:1.18}.brand-text small{font-size:.67rem;letter-spacing:.12em}.brand-text strong{font-family:var(--serif);font-size:1.18rem}.global-nav{display:flex;gap:27px;align-items:center;font-size:.8rem;font-weight:600}.nav-line{padding:10px 16px;border:1px solid currentColor}.menu-button{display:none}.hero{height:100svh;min-height:680px;position:relative;color:#fff;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img{height:110%;object-fit:cover;object-position:center 48%;will-change:transform}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.48) 34%,rgba(0,0,0,.08) 72%),linear-gradient(0deg,rgba(0,0,0,.38),transparent 45%)}.hero-copy{position:absolute;left:max(6vw,40px);top:50%;transform:translateY(-47%);max-width:680px}.eyebrow{font-size:.75rem;letter-spacing:.22em}.hero h1{font-family:var(--serif);font-size:clamp(4.6rem,8vw,8.4rem);line-height:1;margin:.22em 0}.hero h1 span{display:inline-block}.hero-lead{font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.75rem);line-height:1.8}.heritage{font-size:.78rem;opacity:.78;margin-top:32px}.hero-date{position:absolute;right:5.2vw;bottom:7vh;display:grid;text-align:right}.hero-date small{letter-spacing:.18em}.hero-date strong{font-family:var(--serif);font-size:4.4rem;line-height:1}.hero-date span{letter-spacing:.2em}.scroll-cue{position:absolute;left:max(6vw,40px);bottom:4vh;display:flex;align-items:center;gap:12px;font-size:.65rem;letter-spacing:.16em}.scroll-cue i{width:65px;height:1px;background:#fff8;position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:scrollbar 2s infinite}@keyframes scrollbar{to{transform:translateX(100%)}}
.intro{padding:140px 0;display:grid;grid-template-columns:.8fr 1.5fr;gap:7vw;align-items:center}.intro h2,.story h2,.now-copy h2,.join h2,.welcome h2,.prep-copy h2,.news-social h2,.faq h2,.final-cta h2{font-family:var(--serif);font-weight:600;letter-spacing:.04em}.intro h2{font-size:clamp(2.6rem,5vw,5rem);line-height:1.35;margin:0 0 32px}.intro-copy>p:last-child{color:var(--muted)}.detail-photo{position:relative;margin:0;overflow:hidden;background:#ddd}.detail-photo img{height:auto;aspect-ratio:2000/1398;object-fit:cover}.detail-label{position:absolute;background:rgba(251,250,247,.95);padding:10px 14px;font-family:var(--serif);font-weight:700;box-shadow:0 10px 30px #0001;opacity:0;transform:translateY(10px)}.detail-stage.is-visible .detail-label{animation:labelIn .55s forwards}.detail-stage.is-visible .l2{animation-delay:.18s}.detail-stage.is-visible .l3{animation-delay:.36s}.detail-stage.is-visible .l4{animation-delay:.54s}@keyframes labelIn{to{opacity:1;transform:none}}.l1{left:7%;top:14%}.l2{left:3%;bottom:30%}.l3{right:4%;top:38%}.l4{right:8%;bottom:12%}
.story{background:#151714;color:#f7f4ec;padding:140px max(5vw,28px);display:grid;grid-template-columns:.85fr 1.4fr;gap:8vw}.story-sticky{position:sticky;top:140px;align-self:start}.story h2{font-size:clamp(2.8rem,5vw,5rem);line-height:1.4;margin:0}.story-flow{display:grid;gap:28vh}.story-card{padding:28px 0 32px;border-top:1px solid #ffffff30;max-width:720px}.story-card span{color:#d9b879;font-size:.85rem;letter-spacing:.13em}.story-card h3{font-family:var(--serif);font-size:2.3rem;margin:.4em 0}.story-card p{color:#fff9;max-width:630px}
.now-feature{height:82vh;min-height:620px;position:relative;color:#fff;overflow:hidden}.now-media,.now-overlay{position:absolute;inset:0}.now-media img{height:110%;object-fit:cover;will-change:transform}.now-overlay{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.08) 70%)}.now-copy{position:absolute;left:7vw;top:50%;transform:translateY(-50%);max-width:620px}.now-copy h2{font-size:clamp(2.8rem,5vw,5.4rem);line-height:1.35;margin:.2em 0}.now-copy p:last-child{max-width:520px;color:#fff9}
.join{padding:130px 0}.section-head{text-align:center;margin-bottom:54px}.section-head h2{font-size:clamp(2.2rem,4vw,4rem);margin:0 0 10px}.section-head>p:last-child{color:var(--muted)}.join-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.join-panel{position:relative;min-height:430px;padding:32px;color:white;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#2c342c}.join-panel:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.05) 68%)}.join-panel__media{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .65s ease}.join-panel:hover .join-panel__media{transform:scale(1.045)}.join-panel>*:not(.join-panel__media){position:relative;z-index:2}.join-panel small{font-size:.7rem;letter-spacing:.2em}.join-panel h3{font-family:var(--serif);font-size:2.2rem;margin:.3em 0}.join-panel p{margin:0;color:#fffbd}.join-panel>span{font-size:.82rem;letter-spacing:.06em}.join-panel--text{background:var(--green);color:white}.join-panel--text:before{display:none}.join-panel--text.accent{background:#9e4728}
.welcome{padding:120px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:8vw;align-items:end}.welcome h2{font-size:clamp(2.4rem,4.5vw,4.7rem);line-height:1.55;margin:0}.welcome-list{display:grid}.welcome-list span{padding:18px 0;border-top:1px solid var(--line);font-family:var(--serif);font-size:1.25rem}.welcome-list span:last-child{border-bottom:1px solid var(--line)}
.preparation{display:grid;grid-template-columns:1.3fr 1fr;background:#e8e3d8}.prep-media img{height:100%;min-height:620px;object-fit:cover}.prep-copy{padding:10vw 7vw;align-self:center}.prep-copy h2{font-size:clamp(2.8rem,5vw,5rem);line-height:1.4;margin:.2em 0 .5em}.prep-copy p{color:#555}.text-link{display:inline-block;margin-top:22px;border-bottom:1px solid;padding-bottom:4px}
.news-social{padding:120px 0;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.news-social h2{font-size:2.2rem}.news-list{list-style:none;padding:0;margin:30px 0}.news-list li{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.news-list li:last-child{border-bottom:1px solid var(--line)}.news-list time{font-size:.8rem;color:var(--muted)}.social-block{padding:42px;background:#fff}.button{display:inline-flex;padding:14px 22px;align-items:center;justify-content:center;font-weight:700}.button-outline{border:1px solid var(--ink);margin-top:20px}.button-line{background:#22a559;color:#fff;margin-top:24px}.faq{padding:30px 0 120px}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-weight:700}.faq-list p{color:var(--muted);padding-left:1.5em}.final-cta{height:70vh;min-height:520px;position:relative;color:#fff;overflow:hidden}.final-media,.final-overlay{position:absolute;inset:0}.final-media img{height:100%;object-fit:cover}.final-overlay{background:rgba(0,0,0,.58)}.final-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.final-inner h2{font-size:clamp(2.7rem,5vw,5rem);line-height:1.5;margin:.15em 0}.site-footer{padding:52px max(5vw,30px);display:grid;grid-template-columns:1.2fr 2fr 1fr;gap:40px;align-items:start;background:#f0ece3}.footer-brand{display:flex;gap:12px;align-items:center;font-family:var(--serif)}.footer-brand span{font-size:30px}.footer-brand div{display:grid}.footer-brand strong{font-size:1.3rem}.site-footer p{margin:0;color:var(--muted);font-size:.9rem}.site-footer nav{display:grid;gap:8px;font-size:.85rem}.site-footer>small{grid-column:1/-1;color:#888;border-top:1px solid var(--line);padding-top:24px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.reveal-group>*{opacity:0;transform:translateY(22px)}.reveal-group.is-visible>*{animation:revealChild .75s forwards}.reveal-group.is-visible>*:nth-child(2){animation-delay:.12s}.reveal-group.is-visible>*:nth-child(3){animation-delay:.22s}.reveal-group.is-visible>*:nth-child(4){animation-delay:.32s}@keyframes revealChild{to{opacity:1;transform:none}}
@media(max-width:900px){.site-header{height:68px;padding:0 18px}.global-nav{position:fixed;inset:68px 0 auto;background:rgba(246,243,236,.98);color:var(--ink);padding:24px;display:none;flex-direction:column;align-items:flex-start}.global-nav.open{display:flex}.menu-button{display:grid;gap:4px;border:0;background:none;color:inherit;padding:6px}.menu-button span{display:block;width:24px;height:1px;background:currentColor}.menu-button em{font-style:normal;font-size:.52rem;letter-spacing:.12em}.hero{min-height:650px}.hero-copy{left:22px;right:22px;top:47%}.hero h1{font-size:clamp(4rem,19vw,6rem)}.hero-lead{font-size:1.07rem}.hero-date{right:22px;bottom:9vh}.hero-date strong{font-size:3.1rem}.scroll-cue{left:22px}.intro{padding:96px 0;grid-template-columns:1fr;gap:46px}.intro h2{font-size:3.15rem}.story{padding:100px 24px;grid-template-columns:1fr;gap:70px}.story-sticky{position:static}.story-flow{gap:70px}.story-card h3{font-size:1.8rem}.now-feature{height:74vh}.now-copy{left:24px;right:24px}.now-copy h2{font-size:3.05rem}.join{padding:95px 0}.join-grid{grid-template-columns:1fr}.join-panel{min-height:320px}.welcome{padding:90px 0;grid-template-columns:1fr;gap:50px}.welcome h2{font-size:2.6rem}.preparation{grid-template-columns:1fr}.prep-media img{min-height:430px}.prep-copy{padding:72px 24px}.news-social{padding:90px 0;grid-template-columns:1fr;gap:40px}.site-footer{grid-template-columns:1fr}.site-footer>small{grid-column:auto}.brand-text strong{font-size:1rem}.brand-mark{font-size:23px}.section-shell{width:min(100% - 32px,1180px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal,.reveal-group>*{opacity:1!important;transform:none!important}}

/* v1.0.2: readability fixes that preserve the original card and section layout. */
.join-panel>*{text-shadow:0 2px 10px rgba(0,0,0,.82)}
.join-panel:nth-child(3):before,.join-panel:nth-child(4):before{background-image:linear-gradient(0deg,rgba(0,0,0,.84),rgba(0,0,0,.4) 68%),var(--image)}
.now-copy h2{white-space:nowrap}
@media(max-width:420px){.now-copy h2{font-size:2.4rem}}
@media(max-width:360px){.now-copy h2{font-size:2.25rem}}
@media(max-width:340px){.now-copy h2{font-size:2rem}}
.news-social--single{grid-template-columns:1fr}
@media(min-width:901px){.now-feature{height:max(82vh,760px);min-height:760px}.now-copy{right:7vw;max-width:none}.now-copy.reveal{transform:translateY(calc(-50% + 28px))}.now-copy.reveal.is-visible{transform:translateY(-50%)}}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){
  .detail-stage.is-visible .l1{animation:labelIn .55s forwards,labelFloat 4.2s ease-in-out .7s infinite}
  .detail-stage.is-visible .l2{animation:labelIn .55s .18s forwards,labelFloat 4.8s ease-in-out .95s infinite}
  .detail-stage.is-visible .l3{animation:labelIn .55s .36s forwards,labelFloat 4.4s ease-in-out 1.15s infinite}
  .detail-stage.is-visible .l4{animation:labelIn .55s .54s forwards,labelFloat 5s ease-in-out 1.35s infinite}
}
@keyframes labelFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* v1.1.0: shared navigation and accessibility for the subpage expansion. */
.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:9px 14px;background:#fff;color:var(--ink);transform:translateY(-150%);transition:transform .2s ease}
.skip-link:focus{transform:none}
.site-header--solid{height:68px;background:rgba(246,243,236,.96);backdrop-filter:blur(15px);color:var(--ink);border-bottom:1px solid #0001}
.global-nav>a,.nav-dropdown>summary{white-space:nowrap}
.global-nav a[aria-current="page"],.nav-dropdown[data-current="true"]>summary{color:var(--green)}
.nav-dropdown{position:relative}
.nav-dropdown>summary{cursor:pointer;list-style:none}
.nav-dropdown>summary::-webkit-details-marker{display:none}
.nav-dropdown>summary:after{content:"＋";font-size:.72em;margin-left:6px;font-weight:400}
.nav-dropdown[open]>summary:after{content:"−"}
.nav-dropdown-menu{position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);width:190px;padding:9px;background:rgba(251,250,247,.98);color:var(--ink);box-shadow:0 15px 40px #0002;display:grid;gap:1px}
.nav-dropdown-menu a{padding:8px 10px;font-size:.76rem}
.nav-dropdown-menu a:hover{background:#eee9df}
.button{min-height:52px;gap:14px;text-align:center}
@media(max-width:900px){
  .global-nav{max-height:calc(100svh - 68px);overflow-y:auto;gap:18px}
  .global-nav>a,.nav-dropdown{width:100%}
  .nav-dropdown-menu{position:static;transform:none;width:100%;box-shadow:none;background:#eee9df;margin-top:10px;padding:8px}
  .nav-dropdown-menu a{padding:8px 10px}
}
