
:root{--basic-cream:#fdf8ea;--basic-pink:#f8ece7;--basic-paper:#fffdf8;--basic-red:#8b252d;--basic-red-dark:#6e1d24;--basic-gold:#b59a62;--basic-text:#333}
body{padding-bottom:0;background:var(--basic-cream);color:var(--basic-text)}
.site-header{background:rgba(253,248,234,.96)}
.header-cta,.button{background:var(--basic-red)}
.hero{position:relative;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);min-height:0;max-width:90rem;background:var(--basic-pink);overflow:hidden}
.hero-visual{position:relative;inset:auto;min-height:0;display:block;align-self:center;background:#d7c3a7}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 66%,rgba(29,20,15,.38))}
.hero-visual img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center}
.asset-caption{display:inline-block;margin:0 0 1.5rem;padding:.45rem .65rem;background:var(--basic-paper);border:1px solid #d8c9a9;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:.78rem;font-weight:600;line-height:1.6;color:var(--basic-text)}
.hero-copy{position:relative;z-index:2;width:auto;margin:0;padding:clamp(4rem,7vw,7rem);color:var(--basic-text);text-shadow:none}
.hero-copy h1{max-width:12em;font-size:clamp(2.3rem,4.4vw,4.4rem);line-height:1.42;margin:.65rem 0 0}
.hero-kicker{font-size:.95rem;letter-spacing:.16em}
.hero-copy .lead,.hero-copy .lead strong{max-width:37rem;color:inherit}
.hero-copy .draft-note{background:rgba(253,248,234,.92);color:#5f4626;text-shadow:none}
.hero-copy .text-link{color:var(--basic-red)}
.intro{background:var(--basic-pink);padding-block:clamp(7rem,12vw,11rem)}
.main-en,.faq .section-en{font-family:var(--serif);font-size:clamp(2.75rem,5vw,4.5rem);font-weight:500;letter-spacing:.035em;line-height:1;margin:0;text-align:center;color:var(--basic-text)}
.brand-dots{display:flex;justify-content:center;gap:.45rem;margin:1.35rem 0 2.4rem}
.brand-dots i{display:block;width:.34rem;height:.34rem;border-radius:50%;background:var(--basic-red)}
.faq .section-en::after{content:"•••";display:block;color:var(--basic-red);font:700 1rem/1 sans-serif;letter-spacing:.4em;margin:1.35rem 0 2.4rem;transform:translateX(.2em)}
.jp-heading{font-family:var(--serif);font-size:clamp(1.25rem,2.4vw,1.8rem);font-weight:500;line-height:1.7;margin:0 0 2rem;text-align:center}
.atmosphere{min-height:0;aspect-ratio:1440/750}
.atmosphere img{object-position:center;object-fit:contain;background:#e7ded1}
.atmosphere>div{max-width:44rem;background:rgba(47,35,27,.62);padding:1.35rem 1.75rem}
.courses{background:var(--basic-cream);padding-block:clamp(7rem,11vw,10rem)}
.section-heading{display:block;text-align:center;margin-bottom:4.5rem}
.section-heading>p{max-width:38rem;margin:2rem auto 0}
.course-card{background:var(--basic-paper);border-color:#d8c9a9;box-shadow:0 1.2rem 3rem rgba(87,63,38,.06)}
.course-card:hover{transform:none;box-shadow:0 1.2rem 3rem rgba(87,63,38,.06)}
.course-card.featured{border-top:3px solid var(--basic-gold)}
.course-no,.for{color:var(--basic-red)}
.course-card>a{background:var(--basic-red)}
.curriculum{background:#4c3c33;padding-block:clamp(7rem,11vw,10rem)}
.curriculum .section-en,.support .section-en,.contact .section-en{display:none}
.curriculum h2,.support h2,.contact h2{margin-top:0}
.steps li>span{color:#dbc590}
.support{background:var(--basic-pink);padding-block:clamp(7rem,11vw,10rem)}
.center-heading{text-align:center;max-width:44rem;margin:0 auto 4rem}
.support-box{background:rgba(255,253,248,.7);border-color:#d8c9a9}
.support .label{font-size:0;color:var(--basic-red)}
.support .label::after{font-family:var(--serif);font-size:1.15rem;letter-spacing:.1em}
.support-box>div:nth-child(1) .label::after{content:"01"}.support-box>div:nth-child(2) .label::after{content:"02"}.support-box>div:nth-child(3) .label::after{content:"03"}
.faq{background:var(--basic-cream);padding-block:clamp(7rem,11vw,10rem)}
.faq .center-heading{margin-bottom:3rem}
.faq .center-heading h2{font-size:clamp(1.25rem,2.4vw,1.8rem);margin-top:0}
details{border-color:#d8c9a9}
.contact{background:var(--basic-pink);position:relative}
.contact::before{content:"";display:block;width:1px;height:4.5rem;background:var(--basic-gold);position:absolute;top:0;left:50%}
.cta-stack button{border-color:var(--basic-red);background:var(--basic-red)}
.cta-stack .outline{background:transparent;color:var(--basic-red)}
.header-cta{white-space:nowrap}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{order:2;padding:4.5rem 2rem 5rem}.hero-visual{order:1;width:100%;min-height:0;aspect-ratio:16/9}.hero-visual img{object-position:center}.hero-visual::after{background:linear-gradient(180deg,transparent 62%,rgba(27,19,15,.38))}.section-heading>p{margin-top:1.75rem}}
@media(max-width:520px){.hero-copy{padding:3.75rem 1.25rem 4.5rem}.hero-copy h1{font-size:clamp(2.1rem,11vw,3rem)}.hero-copy .lead{font-size:1rem;line-height:1.9}.hero-actions{gap:1rem}.hero-visual p{font-size:.58rem}.atmosphere{aspect-ratio:auto;display:flex;flex-direction:column;background:#4c3c33}.atmosphere img{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1440/750;object-fit:contain;order:1}.atmosphere::after{display:none}.atmosphere>div{position:relative;inset:auto;order:2;max-width:none;background:#4c3c33;padding:2rem 1.25rem;color:#fff}.atmosphere>div p{font-size:1.35rem;line-height:1.7;margin:0 0 .75rem}.intro,.courses,.curriculum,.support,.faq{padding-block:6.5rem}.main-en,.faq .section-en{font-size:3rem}.contact{padding-bottom:5rem}}
html[data-focus="atmosphere"] .sample-bar,html[data-focus="atmosphere"] .site-header,html[data-focus="atmosphere"] main>section:not(.atmosphere),html[data-focus="atmosphere"] footer{display:none}
html[data-focus="atmosphere"] .atmosphere{margin:0;min-height:0;aspect-ratio:auto;display:flex;flex-direction:column;background:#4c3c33}
html[data-focus="atmosphere"] .atmosphere::after{display:none}
html[data-focus="atmosphere"] .atmosphere img{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1440/750;object-fit:contain;order:1}
html[data-focus="atmosphere"] .atmosphere>div{position:relative;inset:auto;order:2;max-width:none;background:#4c3c33;padding:2rem 1.25rem;color:#fff}
html[data-focus="atmosphere"] .atmosphere>div p{font-size:1.35rem;line-height:1.7;margin:0 0 .75rem}
html[data-capture="true"][data-viewport="390"] body{width:390px;max-width:390px}
html[data-capture="true"][data-viewport="375"] body{width:375px;max-width:375px}
html[data-capture="true"][data-viewport] .hero{display:grid;grid-template-columns:1fr;width:100%;max-width:100%;margin:0}
html[data-capture="true"][data-viewport] .hero-visual{order:1;width:100%;min-height:0}
html[data-capture="true"][data-viewport] .hero-copy{order:2;width:100%;padding:3.75rem 1.25rem 4.5rem}
html[data-capture="true"][data-viewport="390"] .hero,html[data-capture="true"][data-viewport="390"] .hero-visual,html[data-capture="true"][data-viewport="390"] .hero-copy{width:390px!important;max-width:390px!important}
html[data-capture="true"][data-viewport="390"] .hero-visual img{width:390px!important;height:219.375px!important}
html[data-capture="true"][data-viewport="375"] .hero,html[data-capture="true"][data-viewport="375"] .hero-visual,html[data-capture="true"][data-viewport="375"] .hero-copy{width:375px!important;max-width:375px!important}
html[data-capture="true"][data-viewport="375"] .hero-visual img{width:375px!important;height:210.9375px!important}
@media(max-width:390px){.hero-copy h1{font-size:2.2rem}}
html[data-capture="true"][data-viewport="375"] .hero-copy h1{font-size:2.2rem}
