html{scroll-behavior:smooth;scroll-padding-top:100px}body{font-size:17px}.wrap{width:min(1240px,88%);margin-inline:auto;padding-block:100px}h2{font-size:clamp(36px,4.8vw,66px);margin:0 0 28px}h3{font-size:28px}p{max-width:65ch}.nav{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:20px 5%;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none;font:19px var(--display);letter-spacing:.09em}.brand img{height:58px;width:52px;object-fit:contain}.brand small{display:block;font:10px var(--body);letter-spacing:.17em;margin-top:9px}.nav nav{display:flex;gap:32px}.nav nav a{color:var(--ink);text-decoration:none;font-size:14px}.nav-cta{font-size:14px}.skip{position:fixed;top:-100px;left:16px;z-index:100;padding:15px;background:var(--paper)}.skip:focus{top:12px}.story{height:500svh;position:relative}.stage{height:100svh;position:sticky;top:0;overflow:hidden;isolation:isolate}.art{position:absolute;inset:0;z-index:-1}.art img{width:43%;height:91%;object-fit:contain;position:absolute;right:4%;top:3%;opacity:.8}.art canvas{width:100%;height:100%;object-fit:cover}.story-copy{position:absolute;left:6%;top:50%;transform:translateY(-50%);width:46%;max-width:660px}.story-copy h1{font-size:clamp(36px,4.4vw,68px);letter-spacing:-.035em;margin:16px 0 24px}.story-copy p{font-size:16px}.eyebrow{font-size:11px!important;letter-spacing:.16em;color:var(--red)}.story-copy .assurance{font-size:12px;color:var(--muted);margin-top:24px}.button{gap:25px;font-size:14px}.resolution{opacity:0;visibility:hidden}.stage-bottom{position:absolute;bottom:22px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:12px}.stage-bottom a{color:var(--muted)}.section-number{font-size:11px;letter-spacing:.13em;color:var(--red);margin:0 0 26px}.intro{display:grid;grid-template-columns:1fr 3fr;gap:50px}.lead{font-size:23px}.technique{display:grid;grid-template-columns:44px 1fr;gap:20px;border-top:1px solid var(--line);padding:28px 0}.technique h3{margin:0 0 12px}.technique p{margin:0}.technique .num{font-size:12px;color:var(--red);padding-top:7px}.weapons{display:grid;grid-template-columns:1fr 1fr;gap:22px 35px;margin-top:20px}.weapons h4{font-size:16px;margin:0 0 5px}.weapons p{font-size:14px}.benefits{background:var(--ink);color:var(--paper)}.benefits .section-number{color:var(--paper)}#benefits{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;margin-top:55px}.benefit{padding:24px 0;border-top:1px solid oklch(45% .01 65)}.benefit h3{font-size:24px;margin:0 0 10px}.benefit p{font-size:15px;opacity:.8;margin:0}.tradition{display:grid;grid-template-columns:1.5fr 1fr;gap:100px;align-items:center}.tradition img{width:75%;max-height:360px;object-fit:contain;margin:auto}.dojo{border-top:1px solid var(--line)}.columns{display:grid;grid-template-columns:1fr 1fr;gap:60px}.welcome{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line);margin-top:50px;padding-top:25px}.knowledge{padding-block:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.knowledge h2{font-size:40px}.soon{color:var(--muted);font-size:13px}.faq{display:grid;grid-template-columns:1fr 1.6fr;gap:70px}details{border-bottom:1px solid var(--line);padding:22px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding-right:30px;position:relative}summary:after{content:'+';position:absolute;right:0;color:var(--red)}details[open] summary:after{content:'−'}details p{font-size:15px;color:var(--muted)}.contact{background:var(--red);color:var(--paper)}.contact .section-number{color:var(--paper)}.contact h2{font-size:clamp(44px,6vw,84px)}.contact .button{background:var(--paper);color:var(--red);margin:20px 0 35px}.contact-info{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid oklch(75% .08 30);gap:40px;padding-top:20px}.contact-info small{display:block;font-size:10px;letter-spacing:.15em;margin-bottom:14px}footer.wrap{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:30px}footer p,footer>a:last-child{font-size:12px}a:hover{text-decoration-thickness:2px}summary:focus-visible{outline:2px solid var(--red);outline-offset:7px}
@media(max-width:900px){.nav nav{gap:18px}.story-copy{width:49%}.intro{grid-template-columns:1fr;gap:10px}.tradition{gap:35px}.faq{gap:30px}.wrap{padding-block:70px}}
@media(max-width:900px){body{font-size:16px}.nav{padding:15px 6%}.nav nav{display:none}.brand{font-size:14px}.brand small{font-size:8px}.brand img{width:38px;height:44px}.nav-cta{font-size:12px}.story{height:auto}.stage{height:auto;position:relative;overflow:visible}.story-copy{position:relative;left:auto;top:auto;transform:none;width:88%;padding:45px 0;margin:auto}.story-copy h1{font-size:40px}.art{position:relative;height:330px;z-index:0;order:2}.art img{width:90%;height:100%;right:5%;top:0}.stage{display:flex;flex-direction:column}.opening{order:1}.resolution{order:3;opacity:1!important;visibility:visible!important}.stage-bottom{display:none}.columns,.welcome,.faq,.tradition{grid-template-columns:1fr;gap:20px}.tradition img{max-height:200px;width:50%}#benefits{gap:0 24px}.benefit h3{font-size:21px}.weapons{grid-template-columns:1fr}.contact-info{grid-template-columns:1fr;gap:0}footer.wrap{flex-wrap:wrap}.wrap{padding-block:55px}.knowledge h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.story{height:auto}.stage{height:auto;position:relative;min-height:900px}.story-copy{position:relative;top:auto;transform:none;padding:60px 0}.resolution{opacity:1!important;visibility:visible!important}.stage-bottom{display:none}*{transition:none!important}}

.art img{width:100%;height:100%;right:0;top:0;object-fit:cover;opacity:1}.art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper),transparent 63%);pointer-events:none}@media(max-width:900px){.art img{object-position:80% center}.art:after{display:none}}

@media(max-width:900px){.art{height:auto;aspect-ratio:16/9;flex-shrink:0}.art img{object-fit:contain}}
.art canvas{position:absolute;inset:0;z-index:1}.art:after{z-index:2}
.art video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.art #poster{z-index:-1}.art:after{background:linear-gradient(90deg,oklch(12% .02 260 / .8),oklch(12% .02 260 / .12) 68%),linear-gradient(0deg,oklch(8% .01 260 / .25),transparent 38%)}
@media(prefers-reduced-motion:reduce){.art video{display:none}.art #poster{z-index:0}}

/* Stable contrast over both bright sunset frames and the moonlit reveal. */
.stage{background:oklch(17% .015 260);color:#fff}
.story-copy{color:#fff;text-shadow:0 2px 12px rgb(0 0 0 / .35)}
.story-copy .eyebrow,.story-copy .assurance,.story-copy a,
.stage-bottom,.stage-bottom a{color:#fff}
.story-copy .assurance{font-size:13px}
.story-copy .button{background:var(--red);border:1px solid rgb(255 255 255 / .65);text-shadow:none}
.story-copy .button:hover{background:oklch(35% .12 30);border-color:#fff}
.story-copy a:focus-visible,.stage-bottom a:focus-visible{outline:3px solid #fff;outline-offset:5px}
.art:after{background:linear-gradient(90deg,rgb(8 13 21 / .88) 0%,rgb(8 13 21 / .78) 40%,rgb(8 13 21 / .64) 53%,rgb(8 13 21 / .12) 76%),linear-gradient(0deg,rgb(8 13 21 / .75),transparent 24%)}
.art:after{opacity:var(--overlay-opacity,1)}
/* Printed-paper rhythm below the cinematic opening. */
.learning-art img,.tradition .heritage-art img{height:auto}
.intro{grid-template-columns:minmax(240px,.85fr) minmax(0,1.65fr);gap:clamp(35px,6vw,90px)}
.learning-aside{align-self:start;position:sticky;top:40px}.learning-art{margin:40px 0 0}.learning-art img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% center}.learning-art figcaption,.heritage-art figcaption{font-size:12px;color:var(--muted);padding-top:14px}
.intro .lead{font-size:clamp(21px,2vw,26px);line-height:1.5}.intro h2{margin-bottom:20px}#techniques{margin-top:45px}.technique{padding-block:30px;gap:12px}.technique .num{color:var(--red)}.technique h3{font-size:clamp(25px,2.5vw,34px)}.weapons{gap:22px 28px}.weapons>div{padding-top:15px;border-top:1px solid var(--line)}.weapons h4{line-height:1.4}.weapons p{color:var(--muted)}
.benefits .wrap{display:grid;grid-template-columns:1fr 1.6fr;column-gap:8%;padding-block:110px}.benefits .section-number{grid-column:1/-1}.benefits h2{font-size:clamp(38px,4.5vw,62px)}#benefits{margin-top:0;gap:0 35px}.benefit{position:relative;isolation:isolate;overflow:hidden;padding:27px 0;min-height:150px}.benefit h3,.benefit p{position:relative;z-index:1}.benefit p{opacity:1;color:oklch(82% .02 80)}.kanji{position:absolute;right:8px;top:-15px;font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:150px;line-height:1;opacity:.07;pointer-events:none;user-select:none}.benefit:nth-child(-n+2){padding-right:20px}.benefit:nth-child(-n+2) .kanji{top:8px}
.tradition{grid-template-columns:1fr 1fr;gap:7%;padding-block:120px}.heritage-art{margin:0;transform:translateY(30px)}.tradition .heritage-art img{display:block;width:100%;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:72% center}.dojo-heading{display:flex;align-items:center;justify-content:space-between;gap:40px}.dojo-seal{text-align:center;flex:0 0 220px}.dojo-seal img{width:130px;height:145px;object-fit:contain}.dojo-seal p{font-size:12px;color:var(--muted);letter-spacing:.08em}.dojo .columns{max-width:1000px;margin-top:20px;gap:65px}.dojo .columns p{font-size:19px}.welcome{padding:40px;background:oklch(88% .028 80);border-top:0;gap:50px}.welcome h3{font-size:36px;max-width:12ch;margin-top:0}.welcome p:first-child{margin-top:0}.welcome p:last-child{margin-bottom:0}
.knowledge{position:relative;overflow:hidden;padding:55px 60px;margin-block:35px 65px;background:oklch(88% .028 80);border:0}.knowledge p:not(.section-number){max-width:65ch}.knowledge .kanji{font-size:280px;right:25px;top:25px}.knowledge>*:not(.kanji){position:relative;z-index:1}.soon{display:inline-block;border:1px solid var(--line);padding:5px 12px;margin-top:10px}.faq{padding-top:55px;padding-bottom:110px}.faq-intro p{color:var(--muted)}.faq-intro a{display:inline-block;margin-top:14px;font-size:14px}summary{padding-block:5px;padding-right:35px}details p{padding-right:20px}
.contact .wrap{position:relative;padding-block:90px 60px}.contact h2{max-width:850px}.contact> .wrap>p:not(.section-number){font-size:19px;max-width:58ch}.contact-info{margin-top:20px}.contact-info p{font-size:19px}.contact-info small{font-size:11px}.contact .button{padding:19px 28px}
@media(max-width:1000px){.benefits .wrap{grid-template-columns:1fr}.benefits h2 br{display:none}#benefits{margin-top:20px}.learning-aside{position:static}.intro{gap:35px}.welcome{padding:30px}}
@media(max-width:700px){.intro,.tradition{grid-template-columns:1fr}.learning-art{margin:20px 0 10px}.learning-art img{aspect-ratio:16/10}.intro{gap:25px}.benefits .wrap{padding-block:65px}#benefits{grid-template-columns:1fr 1fr;gap:0 20px}.benefit{min-height:0;padding-block:24px}.benefit h3{font-size:23px}.benefit p{font-size:14px}.kanji{font-size:110px}.tradition{padding-block:65px}.heritage-art{transform:none;margin-top:15px}.tradition .heritage-art img{aspect-ratio:4/3;object-position:center}.dojo-seal{flex-basis:85px}.dojo-seal img{width:80px;height:95px}.dojo-seal p{display:none}.dojo-heading{gap:15px}.dojo-heading h2{font-size:38px}.dojo .columns{gap:0}.dojo .columns p{font-size:17px}.welcome{padding:25px;gap:15px}.welcome h3{font-size:30px;max-width:none}.knowledge{padding:35px 25px;margin-block:10px 30px}.knowledge h2{font-size:32px}.knowledge .kanji{right:-50px;top:80px}.faq{padding-block:40px 65px}.faq-intro{margin-bottom:15px}.contact .wrap{padding-block:60px 35px}.contact h2{font-size:clamp(38px,9vw,60px)}.contact-info p{font-size:17px}.weapons{grid-template-columns:1fr}.technique{grid-template-columns:28px 1fr}}
@media(max-width:900px){.story-copy{text-shadow:none}.stage{background:oklch(17% .015 260)}.art video{display:none}.art #poster{z-index:0}}

/* A shared closing statement, set at the scale of the page. */
footer.wrap{flex-wrap:wrap}
footer.wrap .footer-statement{flex:0 0 100%;width:100%;max-width:none;margin:clamp(40px,7vw,100px) 0 0;padding-top:clamp(30px,5vw,70px);border-top:1px solid var(--line);font-family:var(--display);font-size:min(7.2vw,101px);font-weight:400;line-height:1.1;letter-spacing:-.055em;color:var(--ink);white-space:nowrap;text-align:center}
.footer-statement span{display:inline}
.footer-statement span:last-child{color:inherit}
