*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}body{background:var(--ink);color:var(--bone);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Onest,system-ui,-apple-system,Helvetica Neue,sans-serif;font-size:16px;font-weight:300;line-height:1.6;overflow-x:hidden}body.is-locked{height:100vh;overflow:hidden}::selection{background:var(--vermilion);color:var(--white)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}#gl{z-index:0;background:var(--ink);width:100%;height:100%;display:block;position:fixed;inset:0}#grain{z-index:60;pointer-events:none;opacity:.055;mix-blend-mode:overlay;background-repeat:repeat;background-size:180px 180px;position:fixed;inset:-1px}#vignette{z-index:55;pointer-events:none;background:radial-gradient(125% 95% at 50% 42%, transparent 40%, rgb(var(--vignette-rgb)/.55) 100%);position:fixed;inset:0}.page{z-index:10;position:relative}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--bone-dim);text-shadow:0 1px 16px rgb(var(--shadow-rgb)/.9);font-size:10px;font-weight:500}.jp{font-family:NotoJP,Onest,sans-serif;font-weight:400}h1,h2,h3{letter-spacing:-.005em;margin:0;font-weight:400}.display{text-transform:uppercase;letter-spacing:-.012em;text-shadow:0 2px 34px rgb(var(--shadow-rgb)/.72);font-weight:400;line-height:1.055}.h-hero{font-size:clamp(26px,3.05vw,46px)}.h-sec{font-size:clamp(30px,4vw,60px)}.body-lg{color:var(--text-strong);text-shadow:0 1px 20px rgb(var(--shadow-rgb)/.88);font-size:clamp(14px,1.02vw,17px);font-weight:300;line-height:1.72}.body{color:var(--text-body);text-shadow:0 1px 18px rgb(var(--shadow-rgb)/.85);font-size:14px;font-weight:300;line-height:1.68}.num{letter-spacing:-.02em;color:var(--bone);font-variant-numeric:tabular-nums;font-size:clamp(26px,2.5vw,36px);font-weight:300}[data-rv]{opacity:0}[data-rv=up]{transform:translateY(26px)}[data-rv=fade]{transform:none}[data-rv].rv-in{opacity:1;transition:opacity .9s var(--ease-out),transform 1.05s var(--ease-out);transform:none}.mask-line{display:block;overflow:hidden}.mask-line:not(.word-reveal)>span{display:block;transform:translateY(110%)}.rv-in .mask-line:not(.word-reveal)>span,.mask-line:not(.word-reveal).rv-in>span{transform:none}.mask-line:not(.word-reveal)>span{transition:transform 1.05s var(--ease-out)}.word-mask{vertical-align:top;display:inline-block;overflow:hidden}.word{opacity:0;will-change:transform,opacity;transition:transform .82s var(--ease-out),opacity .5s var(--ease-out);transition-delay:var(--word-delay,0s);display:inline-block;transform:translateY(112%)}.word-reveal.rv-in .word{opacity:1;transform:none}#pre{z-index:100;background:var(--ink);transition:opacity .8s var(--ease),visibility .8s;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#pre.done{opacity:0;visibility:hidden;pointer-events:none}.pre-in{text-align:center;width:min(420px,74vw)}.pre-mark{opacity:.9;width:44px;height:44px;margin:0 auto 26px}.pre-mark svg{width:100%;height:100%;display:block}.pre-jp{letter-spacing:.5em;color:var(--bone-dim);margin-bottom:20px;font-size:12px}.pre-bar{background:rgb(var(--bone-rgb)/.14);height:1px;position:relative;overflow:hidden}.pre-bar i{background:var(--bone);transition:right .35s linear;position:absolute;inset:0 100% 0 0}.pre-meta{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin-top:12px;font-size:10px;display:flex}.pre-meta b{color:var(--bone-dim);font-variant-numeric:tabular-nums;font-weight:500}.nav{width:var(--vw,100%);height:var(--nav-h);z-index:50;padding:0 var(--pad);transition:transform .55s var(--ease);align-items:center;gap:24px;display:flex;position:fixed;top:0;left:0}.nav:before{content:"";z-index:-1;pointer-events:none;background:rgb(var(--ink-rgb)/.62);-webkit-backdrop-filter:blur(14px)saturate(1.1);opacity:0;transition:opacity .5s linear;position:absolute;inset:0}.nav.stuck:before{opacity:1}.nav:after{content:"";left:var(--pad);right:var(--pad);background:var(--line-soft);opacity:0;height:1px;transition:opacity .5s;position:absolute;bottom:0}.nav.stuck:after{opacity:1}.nav.hide{transform:translateY(-101%)}.brand{flex:none;align-items:center;gap:11px;display:flex}.brand svg{width:34px;height:34px;display:block}.brand-tx{flex-direction:column;gap:3px;line-height:1;display:flex}.brand-tx b{letter-spacing:.26em;font-size:12px;font-weight:500}.brand-tx i{letter-spacing:.34em;color:var(--muted);font-size:8px;font-style:normal}.nav-links{gap:clamp(18px,2.6vw,46px);margin-left:auto;display:flex}.nav-link{letter-spacing:.2em;text-transform:uppercase;color:var(--bone-dim);height:15px;font-size:11px;font-weight:500;line-height:15px;display:block;position:relative;overflow:hidden}.nav-link span{height:15px;transition:transform .55s var(--ease-out),color .3s;line-height:15px;display:block}.nav-link .alt{color:var(--bone);letter-spacing:.32em;position:absolute;inset:0;transform:translateY(100%)}.nav-link:hover span{transform:translateY(-100%)}.nav-link:hover .alt{transform:none}.nav-link.on{color:var(--bone)}.nav-link.on:after{content:"";background:var(--vermilion);width:100%;height:1px;position:absolute;bottom:0;left:0}.nav-burger{flex:none;width:26px;height:16px;margin-left:clamp(18px,2.6vw,42px);position:relative}.nav-burger i{background:var(--bone);height:1.5px;transition:width .45s var(--ease-out),transform .45s var(--ease-out);position:absolute;right:0}.nav-burger i:first-child{width:26px;top:4px}.nav-burger i:nth-child(2){width:17px;top:11px}.nav-burger:hover i:nth-child(2){width:26px}.nav-burger:hover i:first-child{width:17px}.hero{min-height:100svh;padding:0 var(--pad);flex-direction:column;display:flex;position:relative}.hero:before{content:"";pointer-events:none;background:linear-gradient(rgb(var(--scene-shadow-rgb)/.72), rgb(var(--scene-shadow-rgb)/.34) 46%, transparent);height:46%;position:absolute;top:0;left:0;right:0}.hero-top{padding-top:calc(var(--nav-h) + clamp(12px,2.6vh,34px));z-index:2;max-width:min(560px,46vw);position:relative}.hero-top .eyebrow{align-items:center;gap:10px;margin-bottom:20px;display:flex}.hero-top .eyebrow .dot{background:var(--vermilion);width:5px;height:5px;box-shadow:0 0 10px var(--vermilion);border-radius:50%}.hero h1{margin-bottom:18px}.hero-sub{max-width:322px;text-shadow:0 1px 26px rgb(var(--shadow-rgb)/.95)}.hero-spacer{flex:auto;min-height:clamp(140px,26vh,300px)}.hero-foot{z-index:2;padding-bottom:clamp(22px,4.2vh,42px);position:relative}.hero-cue{letter-spacing:.3em;text-transform:uppercase;color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;margin-bottom:14px;font-size:9px;display:flex}.hero-cue .track{background:var(--line);width:54px;height:1px;position:relative;overflow:hidden}.hero-cue .track i{background:var(--bone);transform-origin:0;animation:cue 2.8s var(--ease-io) infinite;position:absolute;inset:0}.chapters{border-top:1px solid var(--line-soft);grid-template-columns:repeat(4,1fr);gap:clamp(14px,2.4vw,40px);padding-top:18px;display:grid}.chip{cursor:pointer;align-items:flex-start;gap:14px;display:flex}.chip .num{transition:color .4s,transform .5s var(--ease-out);flex:none;line-height:1}.chip .tx{min-width:0;padding-top:3px}.chip b{letter-spacing:.2em;text-transform:uppercase;color:var(--bone-dim);text-shadow:0 1px 16px rgb(var(--shadow-rgb)/.9);margin-bottom:6px;font-size:10px;font-weight:500;transition:color .4s;display:block}.chip p{color:var(--text-chip);max-width:22ch;margin:0;font-size:11px;line-height:1.5;transition:color .4s}.chip:hover .num{color:var(--ember);transform:translateY(-2px)}.chip:hover b{color:var(--bone)}.chip:hover p{color:var(--bone-dim)}.chip.on .num{color:var(--ember)}.chip.on b{color:var(--bone)}.peek{z-index:2;width:clamp(150px,16vw,262px);transition:transform .8s var(--ease-out);display:block;position:absolute;top:clamp(132px,25vh,238px);right:clamp(78px,11vw,190px)}.peek-fr{aspect-ratio:16/10;background:linear-gradient(180deg, rgb(var(--scene-shadow-rgb)/.04) 24%, rgb(var(--scene-shadow-rgb)/.48) 100%),url(/kage-assets/generated/kage-sanmon-preview.webp) center/cover no-repeat;outline:1px solid rgb(var(--bone-rgb)/.16);outline-offset:-1px;box-shadow:0 34px 70px -30px rgb(var(--black-rgb)/.9);transition:outline-color .5s;display:block}.peek:hover{transform:translateY(-5px)}.peek:hover .peek-fr{outline-color:rgb(var(--bone-rgb)/.42)}.peek-play{aspect-ratio:16/10;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0 0 auto}.peek-play svg{width:clamp(30px,3.2vw,46px);height:auto;filter:drop-shadow(0 2px 12px rgb(var(--black-rgb)/.7));transition:transform .55s var(--ease-out)}.peek:hover .peek-play svg{transform:scale(1.14)}.peek-cap{align-items:baseline;gap:9px;margin-top:9px;display:flex}.peek-cap b{letter-spacing:.24em;color:var(--bone-dim);font-size:11px;font-weight:400}.peek-cap i{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:9px;font-style:normal}@media (max-width:820px){.peek{display:none}}.hero-side{z-index:2;right:var(--pad);pointer-events:none;flex-direction:column;align-items:center;gap:14px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.hero-side .v{writing-mode:vertical-rl;letter-spacing:.62em;color:rgb(var(--bone-rgb)/.5);font-size:13px}@keyframes cue{0%{transform:scaleX(0)}42%{transform:scaleX(1)}to{transform:scaleX(1)translate(100%)}}.sec{padding:clamp(88px,15vh,190px) var(--pad);position:relative}.sec:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(110% 62% at 30% 50%, rgb(var(--scrim-rgb)/.88), rgb(var(--scrim-rgb)/.62) 42%, rgb(var(--scrim-rgb)/.18) 74%, rgb(var(--scrim-rgb)/0));-webkit-mask-image:linear-gradient(transparent, var(--black) 44%);-webkit-mask-image:linear-gradient(transparent, var(--black) 44%);mask-image:linear-gradient(transparent, var(--black) 44%);position:absolute;inset:-22% -4%}#pathways:before{background:radial-gradient(108% 64% at 50% 50%, rgb(var(--scrim-rgb)/.7), rgb(var(--scrim-rgb)/.44) 50%, rgb(var(--scrim-rgb)/0))}#eternity:before{background:radial-gradient(82% 58% at 50% 46%, rgb(var(--scrim-rgb)/.26), rgb(var(--scrim-rgb)/.66) 56%, rgb(var(--scrim-rgb)/.9) 82%, rgb(var(--scrim-rgb)/0))}.foot:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(rgb(var(--scrim-rgb)/.55), rgb(var(--scrim-rgb)/.94) 40%, rgb(var(--scrim-rgb)/.98));position:absolute;inset:0}.sec-head{align-items:baseline;gap:16px;margin-bottom:clamp(30px,5vh,66px);display:flex}.sec-head .k{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:500}.sec-head .k b{color:var(--vermilion);font-weight:500}.rule{background:var(--line-soft);flex:auto;height:1px}.gate-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,90px);display:grid}.gate-grid h2{max-width:11ch}.gate-copy{padding-top:6px}.gate-copy .lead{color:var(--text-lead);text-shadow:0 1px 20px rgb(var(--shadow-rgb)/.9);font-size:clamp(15px,1.16vw,19px);line-height:1.66}.gate-copy .lead+p{margin-top:20px}.arrowlink{letter-spacing:.2em;text-transform:uppercase;color:var(--bone);align-items:center;gap:12px;margin-top:34px;font-size:11px;font-weight:500;display:inline-flex}.arrowlink .ar{border:1px solid var(--line);width:34px;height:34px;transition:background .45s var(--ease),border-color .45s,transform .5s var(--ease-out);border-radius:50%;place-items:center;display:grid}.arrowlink .ar svg{width:13px;height:13px;transition:transform .5s var(--ease-out)}.arrowlink:hover .ar{background:var(--bone);border-color:var(--bone)}.arrowlink:hover .ar svg{transform:translate(2px,-2px)}.arrowlink:hover .ar svg path{stroke:var(--ink)}.gate-stats{border-top:1px solid var(--line-soft);gap:clamp(24px,4vw,62px);margin-top:clamp(46px,8vh,96px);padding-top:24px;display:flex}.gate-stats div b{letter-spacing:-.02em;font-size:clamp(22px,2.1vw,32px);font-weight:300;display:block}.gate-stats div span{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:10px}.cards{grid-template-columns:repeat(3,1fr);align-items:start;gap:clamp(10px,1.4vw,22px);display:grid}.card{cursor:pointer;position:relative}.card:first-child{transform:translateY(0)}.card:nth-child(2){transform:translateY(clamp(26px,5vw,74px))}.card:nth-child(3){transform:translateY(clamp(52px,10vw,148px))}.card-fr{aspect-ratio:4/5;outline:1px solid var(--line-soft);outline-offset:-1px;transition:outline-color .5s var(--ease);background:0 0;position:relative;overflow:hidden}.card:hover .card-fr{outline-color:rgb(var(--bone-rgb)/.3)}.card-plate{object-fit:cover;z-index:0}.card-fr:before{content:"";z-index:1;background:linear-gradient(180deg, rgb(var(--scene-shadow-rgb)/.05) 36%, rgb(var(--scene-shadow-rgb)/.73) 100%);pointer-events:none;position:absolute;inset:0}.card-fr:after{content:"";z-index:2;background:linear-gradient(transparent 46%, rgb(var(--card-scrim-rgb)/.8));pointer-events:none;position:absolute;inset:0}.cloth-out{pointer-events:none;z-index:1;position:absolute}.on-cloth{overflow:visible;background:0 0!important;outline:0!important}.on-cloth:before,.on-cloth:after{display:none}.on-cloth .card-plate{opacity:0}.card-fr{isolation:isolate}.glow{z-index:2;pointer-events:none;left:var(--gx);top:var(--gy);width:calc(var(--gr)*2);aspect-ratio:1;mix-blend-mode:screen;animation:glow-swell var(--gt2) var(--ease-io) infinite alternate;position:absolute;translate:-50% -50%}.glow:before{content:"";background:radial-gradient(closest-side, var(--gc1), var(--gc2) 40%, transparent 72%);animation:glow-pulse var(--gt) var(--ease-io) infinite;border-radius:50%;position:absolute;inset:0}@keyframes glow-swell{0%{transform:scale(.93)}to{transform:scale(1.07)}}@keyframes glow-pulse{0%{opacity:.78}50%{opacity:1}to{opacity:.78}}@keyframes glow-flame{0%{opacity:.74}6%{opacity:.97}12%{opacity:.63}19%{opacity:.9}27%{opacity:.55}34%{opacity:.94}42%{opacity:.71}51%{opacity:1}58%{opacity:.6}66%{opacity:.88}74%{opacity:.67}83%{opacity:.96}91%{opacity:.72}to{opacity:.74}}.glow--flame:before{animation-name:glow-flame}.glow--flame{animation-duration:var(--gt2)}@media (prefers-reduced-motion:reduce){.glow,.glow:before{animation:none}}.no-webgl .card-fr{background:linear-gradient(150deg, var(--fallback-card-start), var(--fallback-card-middle) 62%, var(--fallback-card-end))}.no-webgl .card-plate,.word-fb,.no-webgl #gl,.no-webgl .peek-play{display:none}body.no-webgl{background:radial-gradient(11vw 11vw at 73% 17%, rgb(var(--fallback-moon-core-rgb)/.95), rgb(var(--fallback-moon-mid-rgb)/.62) 44%, rgb(var(--fallback-moon-edge-rgb)/.2) 64%, transparent 72%),radial-gradient(38vw 32vw at 50% 46%, rgb(var(--fallback-ember-rgb)/.4), rgb(var(--fallback-ember-edge-rgb)/.18) 54%, transparent 74%),radial-gradient(120% 80% at 50% 0%, rgb(var(--fallback-sky-rgb)/.16), transparent 60%),var(--ink);background-attachment:fixed}.no-webgl .peek-fr{background:linear-gradient(160deg, var(--fallback-preview-start), var(--fallback-preview-middle) 55%, var(--fallback-preview-end))}.no-webgl .word-fb{z-index:1;letter-spacing:.052em;text-align:center;pointer-events:none;background:linear-gradient(var(--fallback-word-start), var(--fallback-word-end));color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Wordmark,Onest,sans-serif;font-size:21.4vw;font-weight:600;line-height:.78;display:block;position:absolute;bottom:16%;left:0;right:0}.no-webgl .hero:after{content:"";pointer-events:none;background:linear-gradient(transparent, rgb(var(--fallback-shadow-rgb)/.72) 52%, rgb(var(--fallback-shadow-rgb)/.96));height:34%;position:absolute;bottom:0;left:0;right:0}.no-webgl .sec:before,.no-webgl #pathways:before,.no-webgl #eternity:before{background:0 0}.card-lab{z-index:3;justify-content:space-between;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:14px;left:16px;right:16px}.card-lab b{letter-spacing:.02em;text-transform:uppercase;font-size:clamp(13px,1.15vw,17px);font-weight:400}.card-lab .jp{letter-spacing:.3em;color:rgb(var(--bone-rgb)/.62);font-size:11px}.card-ar{z-index:3;opacity:0;width:26px;height:26px;transition:.5s var(--ease-out);position:absolute;top:14px;right:14px;transform:translate(-4px,4px)}.card:hover .card-ar{opacity:1;transform:none}.card-meta{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin-top:12px;font-size:10px;display:flex}.cur-head{grid-template-columns:minmax(0,1fr) minmax(0,.72fr);align-items:end;gap:clamp(28px,5vw,90px);margin-bottom:clamp(34px,6vh,72px);display:grid}.cur-head h2{max-width:13ch}.cur{border-top:1px solid var(--line-soft)}.les{border-bottom:1px solid var(--line-soft);cursor:pointer;transition:padding .5s var(--ease-out);grid-template-columns:64px minmax(0,1.05fr) minmax(0,1.25fr) 86px;align-items:center;gap:clamp(14px,2.4vw,40px);padding:clamp(20px,2.4vw,30px) 0;display:grid;position:relative}.les:before{content:"";left:calc(var(--pad)*-1);background:linear-gradient(90deg, rgb(var(--vermilion-rgb)/.09), transparent 46%);opacity:0;transition:opacity .55s var(--ease);pointer-events:none;position:absolute;top:0;bottom:0;right:0}.les:hover:before{opacity:1}.les:hover{padding-left:clamp(8px,1.2vw,18px)}.les .k{letter-spacing:.16em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;transition:color .4s}.les:hover .k{color:var(--vermilion)}.les h3{letter-spacing:-.005em;font-size:clamp(16px,1.5vw,23px);font-weight:400}.les h3 em{color:var(--muted);letter-spacing:.24em;margin-left:12px;font-family:NotoJP,sans-serif;font-size:.72em;font-style:normal}.les p{color:var(--text-lesson);text-shadow:0 1px 16px rgb(var(--shadow-rgb)/.92);margin:0;font-size:13px;line-height:1.6}.les .t{text-align:right;letter-spacing:.14em;color:var(--text-time);font-variant-numeric:tabular-nums;text-shadow:0 1px 16px rgb(var(--shadow-rgb)/.92);font-size:11px}.les .bar{background:var(--vermilion);transform-origin:0;width:100%;height:1px;transition:transform .7s var(--ease-out);position:absolute;bottom:-1px;left:0;transform:scaleX(0)}.les:hover .bar{transform:scaleX(1)}.fin{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;display:flex}.fin .eyebrow{margin-bottom:26px}.fin h2{letter-spacing:-.03em;text-transform:uppercase;font-size:clamp(38px,7.4vw,124px);line-height:.94}.fin p{max-width:44ch;margin:26px auto 0}.cta{border:1px solid var(--line);letter-spacing:.22em;text-transform:uppercase;transition:color .45s var(--ease),border-color .45s;border-radius:100px;align-items:center;gap:14px;margin-top:44px;padding:17px 30px;font-size:11px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.cta i{background:var(--bone);transition:transform .62s var(--ease-out);z-index:-1;position:absolute;inset:0;transform:translateY(101%)}.cta span,.cta svg{z-index:1;position:relative}.cta:hover{color:var(--ink);border-color:var(--bone)}.cta:hover i{transform:none}.cta:hover svg path{stroke:var(--ink)}.foot{padding:clamp(50px,8vh,96px) var(--pad) clamp(26px,4vh,40px);border-top:1px solid var(--line-soft);position:relative}.foot-grid,.foot-base{position:relative}.foot-grid{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,.6fr));gap:clamp(22px,4vw,60px);display:grid}.foot h4{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;font-size:10px;font-weight:500}.foot ul{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.foot li a{color:var(--text-footer-link);font-size:13px;transition:color .35s}.foot li a:hover{color:var(--bone)}.foot-brand p{max-width:34ch;color:var(--text-footer-brand);margin:16px 0 0;font-size:13px}.foot-base{border-top:1px solid var(--line-soft);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:clamp(38px,6vh,74px);padding-top:20px;font-size:10px;display:flex}.rail{right:calc(var(--pad) - 4px);z-index:45;flex-direction:column;align-items:center;gap:12px;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.rail button{place-items:center;width:22px;height:10px;display:grid}.rail i{background:rgb(var(--bone-rgb)/.26);width:14px;height:1px;transition:.5s var(--ease-out);display:block}.rail button.on i{background:var(--bone);width:22px}.rail button:hover i{background:var(--bone-dim);width:22px}.cur-dot{z-index:80;border:1px solid rgb(var(--bone-rgb)/.42);pointer-events:none;width:26px;height:26px;transition:width .35s var(--ease-out),height .35s var(--ease-out),margin .35s var(--ease-out),background .35s,border-color .35s,opacity .3s;opacity:0;border-radius:50%;margin:-13px 0 0 -13px;position:fixed;top:0;left:0}.cur-dot.act{background:rgb(var(--bone-rgb)/.07);border-color:rgb(var(--bone-rgb)/.6);width:52px;height:52px;margin:-26px 0 0 -26px}@media (hover:hover) and (pointer:fine){.cur-dot{opacity:1}}@media (max-width:1080px){.hero-top{max-width:none}.gate-grid{grid-template-columns:1fr;gap:26px}.cur-head{grid-template-columns:1fr;gap:18px}.les{grid-template-columns:44px minmax(0,1fr) 74px}.les p{display:none}.foot-grid{grid-template-columns:1fr 1fr}}@media (max-width:820px){.nav-links{width:min(84vw,360px);padding:calc(var(--nav-h) + 28px) var(--pad) 34px;background:rgb(var(--scene-shadow-rgb)/.98);border-left:1px solid var(--line-soft);opacity:0;visibility:hidden;pointer-events:none;transition:transform .65s var(--ease-out),opacity .4s,visibility 0s linear .65s;flex-direction:column;align-items:flex-start;gap:0;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.nav.menu-open .nav-links{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:none}.nav-links .nav-link{border-bottom:1px solid var(--line-soft);width:100%;height:auto;padding:17px 0;font-size:17px;line-height:1.2;overflow:visible}.nav-links .nav-link span{height:auto;line-height:1.2;transform:none!important}.nav-links .nav-link .alt{color:var(--muted);margin-top:6px;font-size:10px;position:static}.nav.menu-open{transition:none;transform:none}.nav-burger{margin-left:auto}.nav-burger.active i:first-child{width:26px;top:7px;transform:rotate(45deg)}.nav-burger.active i:nth-child(2){width:26px;top:7px;transform:rotate(-45deg)}html.nav-open,html.nav-open body{overflow:hidden}.rail,.hero-side{display:none}.chapters{grid-template-columns:repeat(2,1fr);gap:18px 14px}.chip p{font-size:10px}.cards{grid-template-columns:1fr;gap:14px}.card:nth-child(2),.card:nth-child(3){transform:none}.gate-stats{flex-wrap:wrap;gap:20px 34px}.foot-grid{grid-template-columns:1fr}.hero-cue{display:none}}body[data-layout-hero=b] .hero-top{max-width:min(590px,46vw);margin-left:0}body[data-layout-hero=b] .hero-foot{width:min(480px,40vw);margin-left:0}body[data-layout-hero=b] .hero-cue{justify-content:flex-start}body[data-layout-hero=b] .chapters{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}body[data-layout-hero=b] .chip{flex-direction:column;gap:0;position:relative}body[data-layout-hero=b] .chip .num{font-size:clamp(29px,3.1vw,48px)}body[data-layout-hero=b] .chip .tx{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}body[data-layout-hero=b] .peek{left:auto;right:var(--pad);top:auto;bottom:clamp(38px,7vh,96px)}body[data-layout-hero=b] .peek-cap b.jp{letter-spacing:.18em;font-size:clamp(20px,2.2vw,34px)}body[data-layout-hero=b] .hero-side{left:auto;right:var(--pad);top:calc(var(--nav-h) + clamp(14px,3vh,42px));display:block;bottom:auto;transform:none}body[data-layout-hero=b] .hero-side .v{letter-spacing:.12em;color:rgb(var(--bone-rgb)/.62);font-size:clamp(30px,3.2vw,54px);position:static;transform:none}body[data-layout-story=b] .gate-grid{grid-template-columns:minmax(120px,.38fr) minmax(0,1.08fr) minmax(280px,.88fr);gap:clamp(20px,3vw,54px)}body[data-layout-story=b] .gate-grid h2{grid-column:1/3;max-width:13ch}body[data-layout-story=b] .gate-copy{grid-column:3}body[data-layout-story=b] .gate-stats{grid-template-columns:repeat(4,1fr);gap:0;display:grid}body[data-layout-story=b] .gate-stats div{border-left:1px solid var(--line-soft);min-height:108px;padding:18px}body[data-layout-story=b] .gate-stats div:last-child{border-right:1px solid var(--line-soft)}body[data-layout-gallery=b] .cards{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);align-items:stretch;gap:14px}body[data-layout-gallery=b] .card{flex-direction:column;min-height:0;display:flex;transform:none}body[data-layout-gallery=b] .card-fr{aspect-ratio:auto;flex:auto;min-height:0}body[data-layout-gallery=b] .card:first-child{grid-row:1/3}body[data-layout-gallery=b] .card:first-child .card-fr{flex:none;height:min(72vh,760px)}body[data-layout-gallery=b] .card:not(:first-child) .card-fr{min-height:200px}body[data-layout-curriculum=b] .cur-head{grid-template-columns:minmax(0,.72fr) minmax(0,1.2fr);align-items:start}body[data-layout-curriculum=b] .cur{background:var(--line-soft);border:1px solid var(--line-soft);grid-template-columns:repeat(6,1fr);gap:1px;display:grid}body[data-layout-curriculum=b] .les{background:rgb(var(--ink-rgb)/.84);border:0;flex-direction:column;align-items:flex-start;gap:14px;min-height:250px;padding:24px;display:flex;overflow:hidden}body[data-layout-curriculum=b] .les:nth-child(-n+2){grid-column:span 3}body[data-layout-curriculum=b] .les:nth-child(n+3){grid-column:span 2}body[data-layout-curriculum=b] .les:before{background:linear-gradient(145deg, rgb(var(--vermilion-rgb)/.13), transparent 58%);left:0}body[data-layout-curriculum=b] .les:hover{padding-left:32px}body[data-layout-curriculum=b] .les h3{font-size:clamp(20px,2vw,30px)}body[data-layout-curriculum=b] .les p{max-width:34ch;display:block}body[data-layout-curriculum=b] .les .t{text-align:left;margin-top:auto}body[data-layout-closing=b] .fin{text-align:left;grid-template-rows:auto auto auto;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);align-content:center;align-items:end;gap:clamp(16px,2.6vh,30px) clamp(40px,7vw,120px);display:grid}body[data-layout-closing=b] .fin .eyebrow{grid-area:1/1;margin:0}body[data-layout-closing=b] .fin h2{writing-mode:vertical-rl;grid-area:1/2/4;place-self:center end;font-size:clamp(52px,6vw,82px)}body[data-layout-closing=b] .fin p{grid-area:2/1;margin:0}body[data-layout-closing=b] .fin .cta{grid-area:3/1;justify-self:start;margin-top:4px}body[data-layout-footer=b] .foot-grid{grid-template-columns:repeat(3,1fr)}body[data-layout-footer=b] .foot-brand{border-bottom:1px solid var(--line-soft);grid-column:1/-1;grid-template-columns:70px minmax(0,1fr);align-items:center;margin-bottom:8px;padding-bottom:34px;display:grid}body[data-layout-footer=b] .foot-brand svg{width:54px;height:54px}body[data-layout-footer=b] .foot-brand p{max-width:48ch;color:var(--bone-dim);margin:0;font-size:clamp(18px,2vw,30px);line-height:1.35}body[data-layout-footer=b] .foot-grid>div:nth-child(n+3){border-left:1px solid var(--line-soft);padding-left:clamp(18px,2.2vw,34px)}body[data-layout-footer=b] .foot-base{grid-template-columns:1fr auto 1fr;display:grid}body[data-layout-footer=b] .foot-base span:last-child{text-align:right}.fg{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:visible}.sec,.foot{overflow:clip visible}#fg-sky{z-index:52;pointer-events:none;width:0;height:0;position:fixed;top:0;left:0}.sec>:not(.fg),.foot>:not(.fg){z-index:2;position:relative}.fg-el{opacity:0;display:block;position:absolute}.fg-el>img{opacity:1;filter:saturate(.88)brightness(.86);width:100%;height:auto}.fg-el--flip>img{transform:scaleX(-1)}[data-fg-in=up]{transform:translateY(13%)}[data-fg-in=left]{transform:translate(-11%,6%)}[data-fg-in=right]{transform:translate(11%,6%)}@keyframes fg-sway{0%{transform:rotate(-.45deg)translateY(2px)}to{transform:rotate(.45deg)translateY(-6px)}}.fg-el--sway>img{animation:fg-sway 21s var(--ease-io) infinite alternate;transform-origin:0 45%}.fg.fg-active,.fg.fg-retiring{z-index:1;pointer-events:none;height:min(56svh,680px);position:fixed;inset:auto 0 0;overflow:visible}.fg.fg-active .fg-el{opacity:1;transition:opacity 1.2s var(--ease-out),transform 1.5s var(--ease-out);transition-delay:var(--fg-delay,0s);transform:none}.fg .fg-el:nth-child(2){--fg-delay:90ms}.fg .fg-el:nth-child(3){--fg-delay:.18s}.fg .fg-el:nth-child(4){--fg-delay:.27s}.fg.fg-retiring .fg-el{opacity:0;filter:blur(18px);transition:opacity .68s var(--ease-out),transform .78s var(--ease-out),filter .78s var(--ease-out);transform:translateY(8vh)scale(.98)}[data-fg=gate] .fg-wall{width:clamp(430px,47vw,780px);bottom:-30px;left:0}[data-fg=gate] .fg-pine{width:clamp(190px,21vw,370px);bottom:-46px;right:-4%}[data-fg=gate] .fg-grass{width:clamp(420px,60vw,1050px);bottom:-150px;left:3%}[data-fg=pathways] .fg-sakura{width:clamp(430px,50vw,880px);bottom:-86px;left:-6%}[data-fg=pathways] .fg-leaves{width:clamp(330px,38vw,670px);bottom:-62px;right:-6%}[data-fg=pathways] .fg-lantern{width:clamp(120px,13vw,215px);bottom:-96px;left:-1%}[data-fg=pathways] .fg-bush{width:clamp(250px,30vw,530px);bottom:-38px;right:-4%}[data-fg=pathways] .fg-lantern>img{filter:saturate(.96)brightness()}[data-fg=pathways] .fg-leaves>img{transform-origin:100% 40%}[data-fg=lessons] .fg-wall{width:clamp(390px,50vw,870px);bottom:-78px;right:-8%}[data-fg=lessons] .fg-stones{width:clamp(250px,30vw,530px);bottom:-48px;left:-4%}[data-fg=lessons] .fg-grass{width:clamp(280px,33vw,580px);bottom:-84px;left:24%}[data-fg=eternity] .fg-hill{width:min(150vh,116%);bottom:calc(-1*min(20vh,15.5vw));left:-8%}[data-fg=eternity] .fg-ruins{width:clamp(240px,28vw,500px);bottom:-32px;left:-5%}[data-fg=eternity] .fg-grass{width:clamp(300px,37vw,670px);bottom:-60px;right:-7%}[data-fg=eternity] .fg-sakura{width:clamp(280px,33vw,580px);bottom:-70px;left:-15%}[data-fg=foot] .fg-bush{width:clamp(230px,28vw,480px);bottom:-110px;left:-6%}[data-fg=foot] .fg-grass{width:clamp(255px,30vw,530px);bottom:-98px;right:-5%}[data-fg=foot] .fg-stones{width:clamp(190px,22vw,370px);bottom:-104px;left:36%}@media (max-width:1080px){[data-fg=gate] .fg-wall{width:clamp(390px,42vw,600px)}[data-fg=pathways] .fg-sakura{width:clamp(400px,46vw,660px)}[data-fg=pathways] .fg-leaves{width:clamp(310px,35vw,500px)}[data-fg=lessons] .fg-wall{width:clamp(360px,45vw,640px)}[data-fg=eternity] .fg-sakura{width:clamp(260px,30vw,430px)}}@media (max-width:820px){[data-fg=gate] .fg-pine,[data-fg=pathways] .fg-sakura,[data-fg=pathways] .fg-leaves,[data-fg=lessons] .fg-wall,[data-fg=eternity] .fg-sakura,[data-fg=foot] .fg-stones{display:none}[data-fg=gate] .fg-wall{width:min(82vw,440px);bottom:-22px;left:-14%}[data-fg=gate] .fg-grass{width:min(94vw,530px);bottom:-76px;left:auto;right:-10%}[data-fg=pathways] .fg-lantern{width:clamp(80px,20vw,128px);bottom:-58px;left:-4%}[data-fg=pathways] .fg-bush{width:min(72vw,400px);bottom:-38px;right:-10%}[data-fg=lessons] .fg-stones{width:min(66vw,360px);bottom:-34px;left:-8%}[data-fg=lessons] .fg-grass{width:min(70vw,380px);bottom:-44px;left:auto;right:-8%}[data-fg=eternity] .fg-ruins{width:min(54vw,300px);bottom:-25px;left:-8%}[data-fg=eternity] .fg-grass{width:min(80vw,440px);bottom:-34px;right:-12%}[data-fg=foot] .fg-bush{width:min(68vw,340px);bottom:-26px;left:-12%}[data-fg=foot] .fg-grass{width:min(74vw,380px);bottom:-30px;right:-12%}}@media (prefers-reduced-motion:reduce){.fg-el--sway>img{animation:none}.fg.fg-retiring .fg-el{filter:none!important;transition:none!important}}@media (max-width:1080px){body[data-layout-hero=b] .chapters{gap:16px 20px}body[data-layout-story=b] .gate-grid{grid-template-columns:1fr}body[data-layout-story=b] .gate-grid h2,body[data-layout-story=b] .gate-copy{grid-column:auto}body[data-layout-story=b] .gate-grid h2{max-width:16ch}body[data-layout-curriculum=b] .les:nth-child(n){grid-column:span 3}body[data-layout-curriculum=b] .les:last-child{grid-column:span 6}}@media (max-width:820px){body[data-layout-hero=b] .hero-top{max-width:none;margin-left:0}body[data-layout-hero=b] .hero-foot{width:100%}body[data-layout-hero=b] .chapters{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}body[data-layout-hero=b] .chip{flex-direction:row;gap:14px}body[data-layout-curriculum=b] .cur-head{grid-template-columns:1fr;align-items:start;gap:18px}body[data-layout-hero=b] .chip .num{font-size:clamp(26px,8vw,36px)}body[data-layout-hero=b] .chip .tx{clip:auto;clip-path:none;white-space:normal;width:auto;height:auto;position:static;overflow:visible}body[data-layout-story=b] .gate-stats{border-right:1px solid var(--line-soft);grid-template-columns:repeat(2,1fr)}body[data-layout-story=b] .gate-stats div{min-height:86px;padding:14px}body[data-layout-story=b] .gate-stats div:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}body[data-layout-story=b] .gate-stats div:last-child{border-right:0}body[data-layout-gallery=b] .cards{grid-template-rows:auto;grid-template-columns:1fr}body[data-layout-gallery=b] .card:first-child{grid-row:auto}body[data-layout-gallery=b] .card-fr{flex:none;height:auto}body[data-layout-gallery=b] .card:first-child .card-fr{aspect-ratio:4/5;height:auto}body[data-layout-gallery=b] .card:not(:first-child) .card-fr{aspect-ratio:16/10;min-height:0}body[data-layout-curriculum=b] .cur{grid-template-columns:1fr}body[data-layout-curriculum=b] .les:nth-child(n){grid-column:auto;min-height:0;padding:20px}body[data-layout-curriculum=b] .les:hover{padding-left:20px}body[data-layout-closing=b] .fin{text-align:center;align-items:center;gap:0;display:flex}body[data-layout-closing=b] .fin .eyebrow{margin:0 0 26px}body[data-layout-closing=b] .fin h2{writing-mode:horizontal-tb;font-size:clamp(38px,7.4vw,124px)}body[data-layout-closing=b] .fin p{margin:26px auto 0}body[data-layout-closing=b] .fin .cta{margin-top:40px}body[data-layout-footer=b] .foot-grid{grid-template-columns:1fr}body[data-layout-footer=b] .foot-brand{grid-column:auto;grid-template-columns:minmax(0,1fr);row-gap:16px}body[data-layout-footer=b] .foot-grid>div:nth-child(n+3){border-left:0;padding-left:0}body[data-layout-footer=b] .foot-base{display:flex}body[data-layout-footer=b] .foot-base span:last-child{text-align:left}}@media (max-width:560px){body[data-layout-hero=b] .chip{flex-direction:column;gap:4px}body[data-layout-hero=b] .chip .num{font-size:clamp(22px,7.4vw,30px)}body[data-layout-hero=b] .chip .tx{padding-top:0}body[data-layout-hero=b] .chip p{max-width:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}[data-rv],.mask-line>span,.word{opacity:1!important;transform:none!important}}
