/* IKAWA ACADEMY — finished review, v16. */
:root{--bar-h:76px;--head-h:56px;--ink:#24211d;--sub:#635e55;--line:#d4cbbd;--paper:#f5f2eb;--wash:#eee8dd;--night:#121212;--gold:#b69b67;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--serif:"Shippori Mincho B1",serif;--lat:"Jost",sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:calc(var(--head-h) + 20px)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}[hidden]{display:none!important}h1,h2,h3,h4,p,figure,ol,ul{margin:0}h1,h2,h3,h4{font-weight:700;line-height:1.6}h1,h2{font-family:var(--serif)}h2{font-size:30px;letter-spacing:.015em;margin-bottom:22px}h3{font-size:21px;margin-bottom:12px}h4{font-size:18px;margin-bottom:10px}p+p{margin-top:12px}a{color:inherit;text-underline-offset:5px}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:5px}img{display:block;width:100%;height:auto}.nb{display:inline-block;white-space:nowrap}.wrap,.narrow{width:100%;max-width:1180px;margin-inline:auto;padding-inline:22px;min-width:0}.note,small,.price-notes,.plan-n,.photo-credit,.register-note{font-size:13px;line-height:1.9;color:var(--sub)}.skip{position:fixed;left:12px;top:12px;transform:translateY(-200%);z-index:100;padding:10px 16px;background:var(--paper)}.skip:focus{transform:none}
/* Wordmark and always available navigation. */
.masthead{height:var(--head-h);max-width:none;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}.wordmark{font:500 16px/1.5 var(--lat);letter-spacing:.13em;text-decoration:none;white-space:nowrap}.menu{position:static}.menu summary{display:flex;align-items:center;justify-content:center;cursor:pointer;list-style:none;min-width:44px;min-height:44px}.menu summary::-webkit-details-marker{display:none}.hamburger{width:23px;height:15px;border-top:1px solid;border-bottom:1px solid;position:relative}.hamburger:after{content:"";position:absolute;top:6px;left:0;width:100%;border-top:1px solid}.menu nav{position:absolute;top:var(--head-h);left:0;right:0;padding:18px 22px 24px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 20px 30px #00000012;max-height:calc(100svh - var(--head-h) - var(--bar-h) - 16px);overflow-y:auto;overscroll-behavior:contain}.menu nav a{display:block;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:15px}.menu nav a:last-child{border-bottom:0}
/* A continuous portrait. The face remains outside the text. */
.cover{position:relative;isolation:isolate;background:var(--night);color:var(--paper)}.ref-hero{position:relative;max-width:none;padding:0;min-height:clamp(440px,calc(100svh - var(--bar-h) - var(--head-h)),640px)}.reiwa-hero-grid{position:relative;min-height:inherit;display:flex;flex-direction:column;justify-content:flex-end;gap:16px;padding:0 22px 42px;isolation:isolate}.ref-hero-photo{position:absolute;inset:0;z-index:-1;overflow:hidden;background:var(--night)}.ref-hero-photo picture{display:block;width:100%;height:100%}.ref-hero-photo img{position:absolute;left:75%;top:0;width:auto;max-width:none;height:100%;object-fit:cover;transform:translateX(-50%)}.ref-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,8,.03) 0%,rgba(8,8,8,.03) 38%,rgba(8,8,8,.18) 48%,rgba(8,8,8,.84) 66%,rgba(8,8,8,.96) 86%,rgba(8,8,8,.98) 100%)}.ref-hero-photo .photo-credit{position:absolute;right:22px;bottom:12px;color:#e1dcd2;font:400 12px/1.5 var(--lat);margin:0;z-index:1;letter-spacing:.03em}.hero-message h1{position:absolute;top:28px;left:22px;max-width:220px;font-size:35px;line-height:1.4;letter-spacing:.01em;text-shadow:0 2px 18px #0005}.hero-description{font-size:15px;line-height:1.9;color:#f5f2eb;max-width:540px}.cover-price{font:500 35px/1.25 var(--lat);letter-spacing:.015em;display:flex;align-items:baseline;gap:7px}.cover-price small,.cover-price span{font:400 13px/1.7 var(--sans);color:#e3ddcf}.hero-action{position:relative}.hero-action .button{margin-top:16px}.cover :focus-visible,.plan-monthly :focus-visible,.tour :focus-visible,.bar :focus-visible{outline-color:var(--paper)}
.button,.cta-btn,.bar a{min-height:56px;display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 18px;background:linear-gradient(115deg,#ccb988,var(--gold));color:#191713;text-decoration:none;text-align:center;font-size:15px;line-height:1.7;font-weight:700}.button span{margin-left:auto;font-family:var(--lat);font-size:19px}.text-link{display:inline-block;font-size:14px;line-height:1.9;margin-top:18px}.button:active,.cta-btn:active,.bar a:active{opacity:.8}
/* White space has a hierarchy: experiences, photographs, then supporting content. */
.section{padding:72px 0}.wf-order{font:400 12px/1.8 var(--sans);letter-spacing:.1em;color:var(--sub);margin-bottom:18px}.dialogue-intro{position:relative}.dialogue-sequence{list-style:none;padding:0;margin-top:32px}.dialogue-sequence li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;padding:27px 0;border-top:1px solid var(--line)}.dialogue-number{font:400 24px/1.6 var(--lat);color:#797064}.dialogue-sequence h3{font-size:20px;line-height:1.7;margin-bottom:13px}.dialogue-sequence p{font-size:15px;line-height:1.95}.member-gallery{margin-top:34px;padding-top:36px;border-top:1px solid var(--line);scroll-margin-top:calc(var(--head-h) + 20px)}.member-gallery h3{font-family:var(--serif);font-size:25px;margin-bottom:24px}.member-photos{display:grid;gap:32px}.member-photos img{width:100%;height:auto;border:1px solid #d0c6b5;box-shadow:0 8px 22px #3f32100a}.member-photos figcaption{font-size:15px;line-height:1.9;margin-top:13px}.member-gallery .gallery-note{margin-top:24px}.member-bonus{margin-top:44px;padding-top:30px;border-top:1px solid var(--line)}.member-bonus h3{font-family:var(--serif);font-size:25px;margin-bottom:26px}.app-features{list-style:none;padding:0;display:grid;gap:28px}.app-features h4{font-size:18px;line-height:1.6;margin-bottom:10px}.member-bonus p{font-size:15px;line-height:1.9;color:var(--sub)}.member-bonus .app-access{margin-top:24px;font-size:13px}
/* The forthcoming nights are the largest change of tone. */
.tour{background:var(--night);color:var(--paper)}.tour .wf-order,.tour .note,.tour small{color:#d0c7b7}.tour-heading p{margin-top:12px}.evs{list-style:none;padding:0;margin-top:38px}.evs>li{display:grid;grid-template-columns:115px minmax(0,1fr);gap:0 18px;padding:29px 0;border-top:1px solid #665c49}.evs>li:first-child{grid-template-columns:142px minmax(0,1fr)}.ev-d{font:400 44px/1.2 var(--lat);color:var(--gold);letter-spacing:-.03em}.evs>li:first-child .ev-d{font-size:62px}.ev-d small{font:400 12px/1.8 var(--lat);display:block;margin-top:8px;letter-spacing:.08em}.ev-c{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:baseline;gap:3px 11px;min-width:0}.ev-c strong{font:500 30px/1.4 var(--lat);letter-spacing:.04em;display:block;width:100%}.evs>li:first-child .ev-c strong{font-size:35px}.ev-c span{font-family:var(--serif);font-size:17px}.ev-c .next{font:500 12px/1.7 var(--lat);padding:0 7px;border:1px solid var(--gold);color:#e5d5b8;letter-spacing:.07em}.ev-info{grid-column:1/-1;margin-top:22px;min-width:0}.ev-info p{margin-top:0}.guest-flag{display:block;font-size:19px;font-weight:700;line-height:1.75;margin-bottom:18px;padding:13px 14px;border-left:2px solid var(--gold);background:#222}.ev-info small{display:block;margin-top:17px}.event-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:12px 18px;border:1px solid var(--gold);color:var(--paper);font-size:15px;line-height:1.75;text-decoration:none;font-weight:700;margin-top:22px}.event-link span{color:var(--gold);font:400 20px/1 var(--lat)}.event-program-teaser{margin-top:24px;padding-top:19px;border-top:1px solid #484235}.ev-info .program-status{font-size:12px;font-weight:400;line-height:1.8;color:#d0c7b7;margin-bottom:9px}.event-program-teaser p:not(.program-status){font-size:15px;line-height:1.9}.tour-action{margin-top:32px}.tour-action .button{background:transparent;color:var(--paper);border:1px solid #665c49}.tour-action .button span{color:var(--gold)}.tour-action .text-link{color:#e8e1d4}
/* Membership: monthly card is the anchor, annual payment is quieter. */
.price-section{background:var(--wash)}.price-shortcuts{margin-top:20px}.price-shortcuts a{font-size:14px}.plans{display:grid;gap:24px;margin-top:34px}.plan{position:relative;isolation:isolate;border:1px solid #b9aa92;padding:30px 24px;overflow:hidden;min-width:0}.plan-monthly{background:#191919;color:var(--paper);border-color:var(--gold);box-shadow:0 14px 40px #211d1610}.plan-yearly{background:var(--paper)}.card-brand{font:500 15px/1.6 var(--lat);letter-spacing:.15em}.card-brand span{display:block;font:400 12px/1.8 var(--lat);letter-spacing:.22em;margin-top:3px;color:var(--sub)}.plan-monthly .card-brand,.plan-monthly .card-brand span{color:var(--gold)}.plan-k{font-size:16px;font-weight:700;margin-top:26px}.plan-p{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 7px;font:400 43px/1.5 var(--lat);letter-spacing:-.015em;margin-top:7px}.plan-p small{font:400 12px/1.8 var(--sans);white-space:nowrap}.plan-extra{font-size:15px;line-height:1.9;margin-top:12px}.cta-btn{margin-top:24px}.register-note{margin-top:10px!important}.renewal-label{font-size:12px;font-weight:700;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.plan-n{margin-top:8px!important}.plan-monthly .note,.plan-monthly small,.plan-monthly .plan-n,.plan-monthly .register-note{color:#d9d2c4}.plan-monthly .renewal-label{border-color:#554d3e}.price-notes{margin-top:26px}.trial-box{position:relative;margin-top:42px;padding:30px 24px;border:1px solid #a49376;background:var(--paper)}.trial-box:before{content:"";position:absolute;top:0;left:24px;width:48px;border-top:2px solid var(--gold)}.trial-kicker{font-size:15px;font-weight:700;margin-bottom:14px}.trial-box h3{font-family:var(--serif);font-size:27px;margin-bottom:16px}.trial-box .trial-price{font-size:13px;margin-top:16px}.trial-price strong{font:500 32px/1.4 var(--lat);margin-left:5px}.trial-box .button{margin-top:22px}.flow-block{margin-top:52px;padding-top:38px;border-top:1px solid var(--line)}.flow-block h2{font-size:26px}.steps{counter-reset:step;display:grid;gap:10px;margin-top:26px}.step{counter-increment:step;position:relative;padding:0 0 22px 40px;min-width:0}.step:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;font:400 21px/1.8 var(--lat);color:#70664f}.step b{display:block;font-size:16px}.step span{display:block;font-size:15px;line-height:1.9;margin-top:8px}.event-joining-note{font-size:13px}.price-operator{font-size:13px;color:var(--sub);margin-top:30px}
/* Editorial profile and compact practical questions. */
.founder{border-bottom:1px solid var(--line)}.prof-in{display:grid;gap:32px}.prof-img{width:100%;max-width:250px;margin-inline:auto}.prof-img .photo-credit{font:400 12px/1.8 var(--lat);text-align:right;margin-top:8px}.prof-kick{font-family:var(--serif);font-size:21px}.sp-br{display:none}.prof-name{font-size:37px;margin-top:18px;margin-bottom:5px;letter-spacing:.08em}.prof-name-en{font:400 13px/1.8 var(--lat);letter-spacing:.15em;color:var(--sub)}.prof-txt{font-size:15px;line-height:2;margin-top:25px;color:var(--sub)}.questions{padding-top:64px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;position:relative;padding:23px 28px 23px 0;font-size:16px;font-weight:700;line-height:1.8}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"＋";position:absolute;right:0;top:23px;font-weight:400;color:#726851}.faq details[open] summary:after{content:"−"}.faq .a{padding-bottom:25px;font-size:15px;line-height:1.95;color:var(--sub)}.invitation{padding:62px 0;background:var(--night);color:var(--paper)}.invitation h2{font-size:31px;line-height:1.7}.invitation .wf-order{color:#d0c7b7}.invitation .button{margin-top:26px;max-width:420px}.invitation .text-link{color:#e8e1d4}.invitation :focus-visible{outline-color:var(--paper)}.terms{padding:40px 0}.terms h3{font-size:16px}.terms p{font-size:13px;line-height:2;color:var(--sub)}.links{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px 24px}.links a{font-size:13px;padding:5px 0}.footer{padding-top:30px;padding-bottom:36px;border-top:1px solid var(--line)}.footer p+p{font-size:13px;margin-top:15px;color:var(--sub)}.footer small{display:block;margin-top:18px;font-family:var(--lat)}
/* The event CTA is always visible; its measured height is used by the existing JS. */
.bar{position:fixed;inset:auto 0 0;z-index:60;background:#191919;color:var(--paper);border-top:1px solid #80704f;padding:10px 18px calc(10px + env(safe-area-inset-bottom))}.bar-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;max-width:1136px;margin-inline:auto}.bar-p{font-size:17px;font-weight:700;line-height:1.4}.bar-m{font-size:12px;color:#d9d2c4;line-height:1.8;margin:4px 0 0!important}.bar a{font-size:14px;min-height:48px;min-width:124px;padding:10px 14px;gap:12px}
/* Three motion families, all one-off. Text is visible without JS. */
.rv{opacity:1;transform:none}.rv-ready .rv{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.rv-ready .rv.in{opacity:1;transform:none}.finish-line{position:relative}.finish-line:before{content:"";display:block;width:46px;height:1px;background:var(--gold);margin-bottom:23px;transform-origin:left}.finish-line.line-entered:before{animation:draw-line 1.05s cubic-bezier(.22,.68,.2,1) both}.plan-monthly:after{content:"";position:absolute;inset:-30% auto -30% -75%;width:55%;pointer-events:none;z-index:2;background:linear-gradient(105deg,transparent 25%,#ffffff0b 48%,#ffffff15 52%,transparent 75%);transform:translateX(0);opacity:0}.plan-monthly.card-entered:after{animation:card-sheen 1.35s ease .2s both}@keyframes draw-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes card-sheen{0%{transform:translateX(0);opacity:0}15%{opacity:1}80%{opacity:1}100%{transform:translateX(340%);opacity:0}}
@media(min-width:681px){:root{--head-h:68px}.wrap,.narrow{padding-inline:40px}.masthead{padding-inline:40px}.wordmark{font-size:18px}.menu nav{left:auto;width:400px;padding-inline:28px}.section{padding:90px 0}.member-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.app-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.plans{grid-template-columns:repeat(2,minmax(0,1fr))}.plan{padding:32px 25px}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.prof-in{grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:44px}.prof-img{margin:0}.trial-box{padding:34px}.trial-box .button{max-width:440px}.tour-action .button{max-width:400px}.invitation .wrap{max-width:1180px}.links{gap:12px 32px}.bar{padding-inline:40px}}
@media(min-width:1024px){.masthead{padding-inline:max(48px,calc((100vw - 1100px)/2))}.ref-hero{min-height:clamp(600px,calc(100svh - var(--bar-h) - var(--head-h)),780px)}.reiwa-hero-grid{justify-content:center;gap:30px;padding:68px max(48px,calc((100vw - 1100px)/2)) 64px}.ref-hero-photo img{left:76%}.ref-hero-photo:after{background:linear-gradient(90deg,#080808c9 0%,#08080880 39%,#0808080d 60%,#08080800 100%)}.ref-hero-photo .photo-credit{right:max(48px,calc((100vw - 1100px)/2));bottom:20px}.hero-message{width:540px}.hero-message h1{position:static;max-width:none;font-size:72px;line-height:1.38;margin-bottom:34px;text-shadow:none}.hero-description{font-size:17px;line-height:1.95;max-width:500px}.hero-action{width:380px}.cover-price{font-size:43px}.hero-action .button{margin-top:22px}.section{padding:108px 0}h2{font-size:42px}.dialogue-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:36px 72px}.dialogue-intro{grid-column:1;grid-row:1;align-self:start;position:relative;top:auto}.dialogue-intro h2{font-size:36px}.dialogue-sequence{grid-column:2;grid-row:1;margin-top:0}.dialogue-sequence li{grid-template-columns:38px minmax(0,1fr);gap:22px;padding:28px 0 34px}.dialogue-number{font-size:27px}.dialogue-sequence h3{font-size:23px}.dialogue-sequence p{font-size:16px}.member-gallery{grid-column:1/-1;margin-top:30px;padding-top:46px}.member-gallery h3,.member-bonus h3{font-size:29px}.member-photos{gap:36px}.member-bonus{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:24px 72px;margin-top:28px;padding-top:42px}.member-bonus h3{margin:0}.member-bonus .app-access{grid-column:2;margin-top:0}.member-bonus .app-features{grid-template-columns:1fr}.tour-heading{display:flex;justify-content:space-between;align-items:end;gap:36px}.tour-heading p{margin-top:0}.tour-heading h2{margin-bottom:0}.evs{margin-top:48px}.evs>li,.evs>li:first-child{grid-template-columns:190px 210px minmax(0,1fr);gap:36px;padding:36px 0}.ev-d{font-size:67px}.evs>li:first-child .ev-d{font-size:82px}.ev-c strong,.evs>li:first-child .ev-c strong{font-size:38px}.ev-c span{font-size:21px}.ev-info{grid-column:auto;margin-top:0}.evs>li:not(:first-child) .ev-info{padding-top:12px}.guest-flag{font-size:19px}.plan{padding:36px}.plan-p{font-size:52px}.trial-box{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:0 36px;margin-top:48px}.trial-box .trial-kicker,.trial-box h3,.trial-box>p{grid-column:1}.trial-box .button{grid-column:2;grid-row:1/4;align-self:center;width:100%;margin:0}.trial-box .text-link{grid-column:2;grid-row:4;align-self:center;margin-top:0}.trial-box h3{font-size:33px}.trial-box .trial-price{margin-top:12px}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.step{padding-left:0;padding-top:44px}.step:before{font-size:24px;line-height:1}.prof-in{grid-template-columns:330px minmax(0,1fr);gap:88px}.prof-img{max-width:330px}.prof-name{font-size:48px}.prof-txt{max-width:630px;font-size:16px;line-height:2}.faq-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:72px}.faq-layout h2{font-size:36px}.invitation{padding:86px 0}.invitation h2{font-size:42px}.invitation .wrap{display:grid;grid-template-columns:1fr 420px;gap:0 72px}.invitation .wf-order,.invitation h2,.invitation p{grid-column:1}.invitation .button{grid-column:2;grid-row:1/4;align-self:center;width:100%;margin:0}.invitation .text-link{grid-column:2;grid-row:4;margin:0}.terms .narrow{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:72px}.links{align-content:start;display:grid;gap:10px;margin-top:0}.footer{padding-bottom:40px}.bar a{min-width:190px}.bar-p{font-size:19px}}
@media(max-width:360px){.hero-message h1{font-size:32px;max-width:200px}.ref-hero-photo img{left:78%}.dialogue-sequence h3{font-size:19px}.guest-flag{font-size:18px}.plan{padding-inline:22px}.invitation h2{font-size:28px}}
@media(min-width:681px) and (max-width:1023px){.reiwa-hero-grid{padding-inline:40px}.hero-message h1{top:38px;left:40px;font-size:48px;max-width:320px}.hero-description{font-size:16px;max-width:450px}.hero-action{width:100%;max-width:380px}.cover-price{font-size:40px}.ref-hero-photo .photo-credit{right:40px}}
@media(min-width:1024px){.ref-hero-photo img{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000 100%)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv-ready .rv{opacity:1!important;transform:none!important}}

.ref-hero.wrap{padding:0}

/* Monochrome vector arrows, independent of system emoji fonts. */
.cta-icon{display:inline-block;flex-shrink:0;vertical-align:-.12em}.button .cta-icon{margin-left:auto}.event-link .cta-icon,.tour-action .button .cta-icon{color:var(--gold)}

/* Included member benefits. */

.fee-includes{margin-top:28px;padding:24px 22px;background:var(--paper);border-top:1px solid #b9aa92}.fee-includes h3{font-size:18px;line-height:1.7;margin-bottom:18px}.fee-includes ul{list-style:none;padding:0;display:grid;gap:14px}.fee-includes li{display:flex;align-items:baseline;gap:12px;font-size:15px;line-height:1.9;min-width:0}.fee-includes li:before{content:"";flex:0 0 5px;width:5px;height:5px;background:var(--gold)}.fee-includes li>div{min-width:0}
@media(min-width:681px){.fee-includes{padding:28px 30px}.fee-includes ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}}


.fee-includes .benefit-note{display:block;font-size:12px;line-height:1.8;color:var(--sub);margin-top:3px}
