/* Hallmark · pre-emit critique: P5 H5 E4 S5 R4 V5
 * Custom cinematic dojo system. Poster-scroll macrostructure, edge-aligned scroll-morph nav, silent-summit footer.
 */
:root{--ink:#11110f;--charcoal:#1a1916;--paper:#f1e7d0;--red:#d9472b;--jade:#4f8b68;--gold:#c89b4a;--stone:#8c887e;--shadow:#080806;--mist:#cfc7b5;--display:"Barlow Condensed",Impact,sans-serif;--body:"DM Sans",Arial,sans-serif;--brush:"Ma Shan Zheng",cursive;--ease:cubic-bezier(.22,1,.36,1);--pad:clamp(1.25rem,4vw,4.5rem)}
*{box-sizing:border-box}html,body{margin:0;min-width:0;overflow-x:clip;background:var(--ink);color:var(--paper);scroll-behavior:smooth}body{font-family:var(--body);font-size:16px}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure,blockquote{margin-top:0}h1,h2,h3{min-width:0;overflow-wrap:anywhere;font-family:var(--display);font-style:normal;font-weight:900;letter-spacing:-.045em;line-height:.78;text-transform:uppercase}.grain{position:fixed;z-index:80;inset:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.skip-link{position:fixed;z-index:100;top:-5rem;left:1rem;padding:.75rem 1rem;background:var(--paper);color:var(--ink)}.skip-link:focus{top:1rem}.chapter-mark{font-size:.68rem;font-weight:700;letter-spacing:.22em;line-height:1.4;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.1rem;padding:.8rem 1.3rem;border:1px solid currentColor;border-radius:0;font-family:var(--display);font-size:.9rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:transform 160ms var(--ease),background-color 160ms,color 160ms}.button:active{transform:translateY(2px) scale(.98)}.button-red{border-color:var(--red);background:var(--red);color:var(--paper)}.button-paper{border-color:var(--paper);background:var(--paper);color:var(--ink)}.button-ink{border-color:var(--ink);background:var(--ink);color:var(--paper)}.text-link{display:inline-flex;min-height:2.75rem;align-items:center;gap:.6rem;border:0;background:none;font-family:var(--display);font-size:.9rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.text-link span{color:var(--red)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.site-header{position:fixed;z-index:70;top:max(1rem,env(safe-area-inset-top));right:var(--pad);left:var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:4.25rem;border-bottom:1px solid #f1e7d042;transition:transform 200ms var(--ease),background-color 200ms}.site-header.is-scrolled{background:#11110fe8;transform:translateY(-.35rem) scale(.98)}.brand{display:grid;grid-template-columns:2.3rem auto;grid-template-rows:1fr 1fr;align-items:center;justify-self:start;column-gap:.6rem}.brand .seal{grid-row:1/3;display:grid;place-items:center;width:2.3rem;height:2.3rem;background:var(--red);font:1.5rem var(--brush);transform:rotate(-4deg)}.brand strong{align-self:end;font:900 1.15rem/.9 var(--display);letter-spacing:.06em}.brand small{align-self:start;color:var(--stone);font-size:.45rem;letter-spacing:.18em}.site-header nav{display:flex;gap:clamp(.75rem,2vw,2rem)}.site-header nav a{display:flex;align-items:center;min-height:2.75rem;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.nav-buy{justify-self:end;white-space:nowrap}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:linear-gradient(180deg,#101718 0%,var(--ink) 83%)}.hero::after{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,#11110fe6 0%,#11110f4d 54%,#11110f99 100%)}.hero-copy{position:absolute;z-index:7;top:50%;left:var(--pad);width:min(53rem,61vw);transform:translateY(-43%)}.hero-copy .chapter-mark{margin-bottom:1.2rem;color:var(--gold)}.hero h1{margin:0}.hero h1>span{display:block;color:var(--red);font-size:clamp(8rem,23vw,22rem);line-height:.57}.hero h1 small{display:block;margin-top:clamp(2rem,4vw,4rem);font:900 clamp(3rem,7.6vw,8.4rem)/.74 var(--display);letter-spacing:-.055em}.hero-line{position:absolute;bottom:1.5rem;left:calc(100% + 2rem);width:15rem;color:var(--stone);font-size:.78rem;line-height:1.65}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}.hero-contract{position:absolute;z-index:9;right:var(--pad);bottom:2rem}.scroll-note{position:absolute;z-index:8;bottom:2rem;left:50%;display:flex;align-items:center;gap:.65rem;margin:0;font-size:.5rem;letter-spacing:.18em;transform:translateX(-50%) rotate(90deg);transform-origin:center}.scroll-note span{display:block;width:2rem;height:1px;background:var(--paper)}.mountains{position:absolute;z-index:-3;right:-8vw;bottom:0;left:25vw;height:78%;clip-path:polygon(0 100%,0 70%,12% 45%,21% 65%,34% 20%,47% 63%,59% 37%,72% 68%,84% 24%,100% 62%,100% 100%);background:#242922}.mountains-back{bottom:11%;opacity:.6;transform:scale(1.2)}.mountains-front{z-index:-2;height:49%;background:#0c0d0b;clip-path:polygon(0 100%,0 65%,16% 23%,25% 62%,38% 35%,53% 77%,67% 39%,79% 74%,91% 48%,100% 62%,100% 100%)}.moon{position:absolute;z-index:-3;top:11%;right:15%;width:clamp(11rem,23vw,24rem);aspect-ratio:1;border-radius:50%;background:var(--paper);box-shadow:0 0 4rem #f1e7d033}.temple{position:absolute;z-index:1;right:17%;bottom:9%;width:26vw;height:24vw;min-width:17rem;min-height:15rem;border-right:1.3rem solid #0b0b09;border-left:1.3rem solid #0b0b09}.temple::before,.temple::after{position:absolute;left:50%;content:"";background:#0b0b09;transform:translateX(-50%)}.temple::before{top:0;width:125%;height:14%;clip-path:polygon(7% 0,93% 0,100% 100%,0 100%)}.temple::after{top:31%;width:105%;height:8%;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%)}.temple span{position:absolute;top:10%;bottom:0;left:50%;width:2.2rem;background:#0b0b09;transform:translateX(-50%)}.mist{position:absolute;z-index:4;right:-30%;left:-30%;height:13rem;border-radius:50%;background:linear-gradient(90deg,transparent,#cbc6b04d,transparent);filter:blur(6px);animation:mist 16s linear infinite}.mist-one{bottom:5%}.mist-two{bottom:30%;opacity:.42;animation-duration:23s;animation-direction:reverse}@keyframes mist{50%{transform:translateX(12%)}}
.kat-frame{position:relative;margin:0;overflow:hidden}.kat-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.35) sepia(.16) hue-rotate(345deg) contrast(1.08)}.headband{position:absolute;z-index:3;top:17%;left:26%;width:30%;height:4%;background:var(--ink);box-shadow:9rem .4rem 0 -.45rem var(--ink);transform:rotate(-10deg);transform-origin:left}.hero-kat{position:absolute;z-index:6;right:-4vw;bottom:-3vw;width:min(55vw,56rem);height:min(80vw,55rem);clip-path:polygon(7% 5%,95% 0,100% 91%,72% 100%,0 88%,0 18%)}.hero-kat img{object-position:46% center;transform:scale(1.03)}.hero-kat .headband{top:17%;left:26%;width:23%}
.section-intro{padding:clamp(6rem,13vw,12rem) var(--pad) 4rem}.section-intro h2,.technique-heading h2,.scrolls-heading h2{margin:.6rem 0 1.2rem;font-size:clamp(5rem,14vw,14rem)}.section-intro>p:last-child{color:var(--stone)}.legend{background:var(--paper);color:var(--ink)}.legend-scroll{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}.legend-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--charcoal)}.legend-stage::before{position:absolute;inset:0;content:"";background:linear-gradient(120deg,transparent 45%,#d9472b22)}.legend-sun{position:absolute;top:13%;right:12%;width:45%;aspect-ratio:1;border-radius:50%;background:var(--red)}.legend-kat{position:absolute;right:-5%;bottom:0;width:104%;height:90%}.legend-kat img{object-position:center;transform:scale(1.13)}.legend-kat .headband{top:18%;left:27%;width:24%}.brush-ring{position:absolute;top:10%;left:9%;width:45%;aspect-ratio:1;border:1.8rem solid var(--paper);border-right-color:transparent;border-radius:50%;opacity:.25;transform:rotate(-20deg)}.chapters{padding:8vh var(--pad) 25vh}.chapter{min-height:80vh;padding:17vh 0;border-top:1px solid #11110f38}.chapter>span{float:left;width:4rem;color:var(--red);font:4rem/1 var(--brush)}.chapter>p{margin:.5rem 0 5rem;font-size:.65rem;font-weight:700;letter-spacing:.2em}.chapter h3{margin:0;font-size:clamp(3rem,5vw,6.4rem);line-height:.85;text-transform:none}.chapter:nth-child(even) h3{color:var(--red)}
.training{display:grid;grid-template-columns:minmax(18rem,.65fr) minmax(0,1.35fr);min-height:100svh;background:var(--jade)}.training-copy{display:flex;flex-direction:column;justify-content:center;padding:6rem var(--pad)}.training-copy h2{margin:1rem 0 2rem;font-size:clamp(5rem,10vw,10rem)}.training-copy>p{max-width:24rem;line-height:1.6}.kick-readout{display:grid;gap:.5rem;margin:3rem 0 1.5rem;font-size:.7rem;letter-spacing:.16em}.kick-readout strong{color:var(--paper)}.kick-button{align-self:flex-start;min-width:11rem;font-size:1.4rem}.training-floor{position:relative;isolation:isolate;min-height:42rem;overflow:hidden;background:radial-gradient(circle at 50% 80%,#f1e7d01c,transparent 46%),var(--charcoal)}.training-floor::after{position:absolute;z-index:-1;right:0;bottom:9%;left:0;height:1px;content:"";background:#f1e7d04d}.training-kat{position:absolute;left:-2%;bottom:2%;width:70%;height:72%;transform:translateX(-23%) scale(.94);transition:transform 280ms var(--ease)}.training-kat img{object-position:center}.bag-rig{position:absolute;top:0;right:12%;width:11rem;height:82%;transform-origin:50% 0}.chain{display:block;width:3px;height:26%;margin:auto;background:var(--stone)}.bag{display:grid;place-items:center;width:100%;height:74%;border-radius:48% 48% 35% 35%;background:#2a211d;box-shadow:inset 0 0 0 1px #f1e7d021;color:var(--stone);font:800 1rem/1.2 var(--display);letter-spacing:.12em;text-align:center}.impact{position:absolute;z-index:5;top:43%;right:23%;opacity:0;color:var(--red);font:8rem var(--brush);transform:scale(.3)}.training-floor.is-kicking .training-kat{transform:translateX(18%) scale(1)}.training-floor.is-kicking .bag-rig{animation:bag-hit 650ms var(--ease)}.training-floor.is-kicking .impact{animation:impact 450ms var(--ease)}.training-floor.is-finale .training-kat{transform:translateX(34%) scale(1.09)}.training-floor.is-finale .bag-rig{transform:translate(120vw,-20vh) rotate(55deg);transition:transform 900ms var(--ease)}@keyframes bag-hit{30%{transform:rotate(13deg)}70%{transform:rotate(-7deg)}}@keyframes impact{45%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(1.3)}}.not-ready{position:absolute;z-index:8;inset:0;display:none;place-content:center;background:#11110fdb;text-align:center}.not-ready.is-visible{display:grid}.not-ready p{margin:0;font:700 clamp(2rem,5vw,5rem)/1 var(--display)}.not-ready strong{color:var(--red);font:900 clamp(5rem,11vw,11rem)/.8 var(--display)}.not-ready button{justify-self:center;margin-top:2rem}
.techniques{background:var(--ink)}.technique-heading{padding:clamp(7rem,14vw,14rem) var(--pad)}.technique-heading h2{margin:.7rem 0 0;max-width:70rem}.technique-list{border-top:1px solid #f1e7d02e}.technique{position:relative;display:grid;grid-template-columns:7rem minmax(15rem,.7fr) minmax(0,1.3fr);align-items:center;min-height:41rem;padding:var(--pad);overflow:hidden;border-bottom:1px solid #f1e7d02e}.technique:nth-child(even){background:var(--charcoal)}.technique-number{align-self:start;color:var(--red);font:5rem var(--brush)}.technique p{color:var(--stone);font-size:.65rem;letter-spacing:.18em}.technique h3{margin:1.4rem 0 2rem;font-size:clamp(4rem,8vw,8.5rem)}.technique blockquote{font-size:.85rem;line-height:1.65}.technique-art{position:relative;align-self:stretch;min-width:0}.technique-art .kat-frame{position:absolute;inset:5% 0 0}.technique-art .kat-frame img{object-position:center}.technique-art .headband{top:17%;left:27%;width:24%}.noodles>span{position:absolute;z-index:5;top:33%;left:20%;width:32%;height:2%;background:var(--red);box-shadow:0 1rem var(--red),0 2rem var(--red);transition:transform 300ms}.chaos i{position:absolute;width:2rem;height:50%;background:var(--red);transform-origin:bottom}.chaos i:nth-child(1){right:10%;bottom:8%;height:35%}.chaos i:nth-child(2){right:20%;bottom:8%;height:55%;background:var(--jade)}.chaos i:nth-child(3){right:30%;bottom:8%;height:25%}.coin-art>b{position:absolute;z-index:6;right:14%;bottom:16%;display:grid;place-items:center;width:4rem;aspect-ratio:1;border:2px solid var(--gold);border-radius:50%;color:var(--gold);transition:transform 500ms var(--ease)}
.versus{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--red)}.versus-sticky{position:sticky;top:0;height:100svh;padding:var(--pad);overflow:hidden}.versus-sticky h2{position:relative;z-index:3;margin:12vh 0 0;font-size:clamp(4rem,8vw,9rem)}.versus-sticky em,.dojo h2 em{color:var(--ink);font-style:normal}.versus-kat{position:absolute;right:-18%;bottom:-12%;width:75%;height:67%;opacity:.85}.versus-sticky small{position:absolute;bottom:2rem;left:var(--pad);font-size:.55rem;letter-spacing:.15em}.matchups{background:var(--paper);color:var(--ink)}.matchups article{display:flex;min-height:48vh;flex-direction:column;justify-content:center;padding:var(--pad);border-bottom:1px solid #11110f38}.matchups span{font-size:.6rem;letter-spacing:.2em}.matchups h3{margin:1.4rem 0;font-size:clamp(3.5rem,7vw,7.5rem)}.matchups h3 i{font:1.6rem var(--brush)}.matchups strong{align-self:flex-end;color:var(--jade);font:900 clamp(4rem,9vw,10rem)/.7 var(--display)}.matchups .market-match{min-height:100vh;background:var(--ink);color:var(--paper)}.market-match strong{color:var(--gold)}
.money-temple{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:radial-gradient(circle at 50% 85%,#c89b4a35,transparent 38%),#17130d}.money-temple::before{position:absolute;z-index:-2;inset:0;content:"";background:repeating-linear-gradient(90deg,transparent 0 12%,#c89b4a0a 12% 13%)}.money-copy{position:absolute;z-index:5;top:15%;left:var(--pad)}.money-copy h2{margin:1rem 0 2rem;font-size:clamp(5rem,12vw,13rem)}.money-copy>p:last-child{color:var(--stone);line-height:1.6}.money-kat{position:absolute;z-index:4;right:7%;bottom:0;width:min(56vw,50rem);height:80%}.temple-doors{position:absolute;z-index:3;top:8%;right:6%;bottom:0;width:52%;border:1rem solid #2b2115}.temple-doors i{position:absolute;top:0;bottom:0;width:50%;background:#18130e;transition:transform 800ms var(--ease)}.temple-doors i:first-child{left:0;transform-origin:left}.temple-doors i:last-child{right:0;transform-origin:right}.money-temple.is-open .temple-doors i:first-child{transform:perspective(40rem) rotateY(75deg)}.money-temple.is-open .temple-doors i:last-child{transform:perspective(40rem) rotateY(-75deg)}.treasure-light{position:absolute;z-index:1;right:12%;bottom:0;width:42%;height:90%;opacity:0;background:linear-gradient(0deg,#c89b4a80,transparent);clip-path:polygon(25% 0,75% 0,100% 100%,0 100%);transition:opacity 700ms}.money-temple.is-open .treasure-light{opacity:1}.drag-coin{position:absolute;z-index:10;bottom:10%;left:18%;display:grid;place-items:center;width:5rem;aspect-ratio:1;border:3px double var(--ink);border-radius:50%;background:var(--gold);color:var(--ink);cursor:grab;touch-action:none;box-shadow:0 .6rem 1.6rem #0008}.drag-coin span{font:900 2rem var(--display)}.drag-coin:active{cursor:grabbing}.coin-instruction{position:absolute;bottom:5%;left:12%;font-size:.55rem;letter-spacing:.17em}
.wisdom{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:3rem var(--pad);background:var(--paper);color:var(--ink)}.wisdom-seal{display:grid;place-items:center;width:5rem;aspect-ratio:1;background:var(--red);color:var(--paper);font:3rem var(--brush);transform:rotate(-5deg)}.wisdom p{margin-bottom:.7rem;font-size:.6rem;letter-spacing:.2em}.wisdom blockquote{margin:0;font:700 clamp(1.4rem,3vw,3rem)/1.1 var(--display)}
.scrolls{min-height:100svh;padding:clamp(7rem,14vw,14rem) var(--pad);background:var(--charcoal)}.scrolls-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}.scrolls-heading .chapter-mark{grid-column:1/-1}.scrolls-heading h2{margin-right:2rem}.scrolls-heading>p:last-child{color:var(--stone);line-height:1.6}.sticker-field{position:relative;min-height:65rem;margin-top:4rem}.sticker{position:absolute;display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;box-shadow:0 1.5rem 3rem #0005;transition:transform 220ms var(--ease),box-shadow 220ms}.sticker span{font:900 clamp(2.5rem,6vw,6rem)/.75 var(--display)}.sticker small{font-size:.5rem;letter-spacing:.2em}.sticker-one{top:0;left:3%;width:29%;background:var(--red);color:var(--paper);transform:rotate(-8deg)}.sticker-two{top:8%;right:4%;width:40%;border-radius:3%;background:var(--paper);transform:rotate(4deg)}.sticker-three{top:39%;left:29%;width:31%;background:var(--jade);transform:rotate(-3deg)}.sticker-four{top:56%;left:0;width:27%;border-radius:0;background:var(--gold);transform:rotate(6deg)}.sticker-five{top:55%;right:4%;width:31%;border:5px solid var(--paper);background:var(--ink);color:var(--paper);transform:rotate(-7deg)}.sticker-six{bottom:0;left:38%;width:22%;background:var(--red);color:var(--paper);transform:rotate(2deg)}
.dojo{position:relative;isolation:isolate;min-height:110svh;overflow:hidden;background:linear-gradient(180deg,#171c18,#090a08)}.dojo::after{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,#11110fe6,transparent)}.dojo-copy{position:absolute;z-index:5;top:15%;left:var(--pad);max-width:61rem}.dojo h2{margin:1rem 0 2rem;font-size:clamp(5rem,11vw,12rem)}.dojo h2 em{color:var(--red)}.dojo-actions{display:flex;gap:1rem}.contract{display:flex;align-items:center;gap:.8rem;padding:.4rem;border:1px solid #f1e7d03b;background:#11110fcf}.contract span{padding-left:.5rem;color:var(--red);font:800 .7rem var(--display)}.contract code{font-size:.66rem}.contract button{min-height:2.35rem;border:0;background:var(--paper);color:var(--ink);font-size:.6rem;font-weight:700;text-transform:uppercase}.dojo .contract{width:max-content;margin-top:1rem}.dojo-kat{position:absolute;z-index:4;right:-5%;bottom:-5%;width:55%;height:73%}.army{position:absolute;z-index:1;right:0;bottom:0;width:78%;height:45%;opacity:.32;background-image:radial-gradient(ellipse at 50% 70%,var(--paper) 0 6%,transparent 6.5%),radial-gradient(ellipse at 50% 90%,var(--paper) 0 11%,transparent 11.5%);background-size:5rem 6rem;transform:perspective(35rem) rotateX(55deg);transform-origin:bottom}
.finale{position:relative;min-height:100svh;padding:18vh var(--pad) 4rem;overflow:hidden;background:#080a0d;text-align:center}.finale>div:not(.finale-moon){position:relative;z-index:4}.finale-moon{position:absolute;top:12%;left:50%;width:min(43vw,35rem);aspect-ratio:1;border-radius:50%;background:#d8d6cb;box-shadow:0 0 4rem #d8d6cb20;transform:translateX(-50%)}.finale-kat{position:absolute;z-index:3;bottom:-3%;left:50%;width:min(55vw,45rem);height:63%;opacity:.48;transform:translateX(-50%)}.finale h2{margin:2rem 0;font-size:clamp(4rem,10vw,10rem)}.finale p{color:var(--stone)}.finale strong{display:block;margin:11vh 0 1rem;color:var(--red);font:900 clamp(5rem,12vw,12rem)/.7 var(--display)}.finale blockquote{font-size:.8rem;line-height:1.6}.finale small{position:absolute;z-index:5;right:var(--pad);bottom:2rem;left:var(--pad);color:#8c887e;font-size:.55rem;line-height:1.6}
.sticker-dialog{width:min(31rem,calc(100vw - 2rem));padding:4rem 2rem;border:1px solid var(--paper);border-radius:0;background:var(--ink);color:var(--paper);text-align:center}.sticker-dialog::backdrop{background:#050504e8}.sticker-dialog h2{margin:1.5rem 0;font-size:clamp(4rem,15vw,8rem)}.sticker-dialog p{color:var(--stone);font-size:.6rem;letter-spacing:.2em}.preview-seal{display:grid;place-items:center;width:4rem;aspect-ratio:1;margin:auto;background:var(--red);font:2.6rem var(--brush);transform:rotate(-5deg)}.dialog-close{position:absolute;top:.8rem;right:.8rem;width:2.75rem;height:2.75rem;border:0;background:transparent;font-size:2rem}.toast{position:fixed;z-index:110;right:1rem;bottom:1rem;padding:.8rem 1rem;background:var(--paper);color:var(--ink);font:800 .7rem var(--display);letter-spacing:.12em;opacity:0;transform:translateY(1rem);transition:opacity 160ms,transform 160ms;pointer-events:none}.toast.is-visible{opacity:1;transform:none}.reveal{opacity:0;transform:translateY(2rem);transition:opacity 700ms var(--ease),transform 700ms var(--ease)}.reveal.is-visible{opacity:1;transform:none}.cursor{display:none}
@media (hover:hover) and (pointer:fine){.cursor{position:fixed;z-index:120;top:0;left:0;display:block;width:.55rem;height:.55rem;border:1px solid var(--paper);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:width 150ms,height 150ms,background-color 150ms;mix-blend-mode:difference}.cursor.is-active{width:2rem;height:2rem;background:var(--paper)}.button:hover{transform:translateY(-2px)}.site-header nav a:hover{color:var(--red)}.technique-dip:hover .noodles>span{transform:translateY(1rem)}.technique-hodl:hover .chaos i{animation:shake 180ms linear infinite}.technique-send:hover .technique-art .kat-frame{transform:translateX(2rem) rotate(-2deg)}.technique-money:hover .coin-art>b{transform:translate(-5rem,1rem) rotate(-180deg)}.sticker:hover{z-index:5;transform:translateY(-.7rem) rotate(0) scale(1.035);box-shadow:0 2.2rem 4rem #0008}@keyframes shake{50%{transform:translateX(.4rem) rotate(2deg)}}}
@media (max-width:900px){.site-header{right:1rem;left:1rem;grid-template-columns:1fr auto}.site-header nav{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:var(--ink);visibility:hidden;opacity:0;transition:opacity 180ms}.site-header nav.is-open{visibility:visible;opacity:1}.site-header nav a{font:900 3.4rem/.9 var(--display)}.nav-buy{display:none}.menu-toggle{position:relative;z-index:2;display:grid;place-content:center;gap:.4rem;width:2.75rem;height:2.75rem;border:1px solid #f1e7d04d;background:var(--ink)}.menu-toggle span{display:block;width:1.2rem;height:1px;background:var(--paper)}.hero-copy{top:15%;width:calc(100% - 2.5rem);transform:none}.hero h1>span{font-size:clamp(8rem,45vw,14rem)}.hero h1 small{font-size:clamp(3.5rem,15vw,7rem)}.hero-line{position:static;margin-top:1.4rem}.hero-kat{right:-20%;width:105vw;height:60vh}.hero-contract{right:1rem;bottom:1rem}.scroll-note{display:none}.legend-scroll,.training,.versus{grid-template-columns:1fr}.legend-stage,.versus-sticky{position:relative;height:75svh}.chapters{padding-top:0}.chapter{min-height:65vh}.training-copy{padding-top:7rem}.training-floor{min-height:80svh}.training-kat{width:86%}.technique{grid-template-columns:4rem minmax(0,1fr);min-height:54rem}.technique-art{grid-column:1/-1;min-height:25rem}.versus-sticky h2{margin-top:10vh}.money-copy{top:8%}.money-kat{right:-20%;width:90%;height:64%}.temple-doors{right:0;width:78%}.wisdom{grid-template-columns:auto 1fr}.wisdom .button{grid-column:1/-1}.scrolls-heading{display:block}.dojo-kat{right:-27%;width:95%;height:58%}.dojo-copy{top:11%;right:1rem}.dojo h2{font-size:clamp(4.4rem,15vw,8rem)}}
@media (max-width:560px){.site-header{top:.6rem}.brand small{display:none}.brand strong{grid-row:1/3;align-self:center}.hero{min-height:56rem}.hero-copy{top:12%;left:1.25rem}.hero h1 small{margin-top:2.2rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:.4rem}.hero-contract{left:1rem;width:calc(100% - 2rem);justify-content:space-between}.hero-kat{right:-34%;bottom:2rem;width:130vw;height:29rem}.section-intro,.technique-heading,.scrolls{padding-right:1.25rem;padding-left:1.25rem}.section-intro h2,.technique-heading h2,.scrolls-heading h2{font-size:clamp(4.4rem,24vw,7rem)}.legend-stage{height:62svh}.legend-kat{width:120%}.chapters{padding:0 1.25rem 10vh}.chapter{min-height:33rem;padding:8rem 0}.chapter h3{font-size:3.5rem}.training-copy{padding:6rem 1.25rem 3rem}.training-copy h2{font-size:6rem}.training-floor{min-height:38rem}.training-kat{left:-15%;width:105%;height:63%}.bag-rig{right:6%;width:7rem}.technique{display:block;min-height:43rem;padding:5rem 1.25rem}.technique-number{font-size:3rem}.technique h3{font-size:4.3rem}.technique-art{min-height:22rem}.versus-sticky{height:46rem;padding:5rem 1.25rem}.versus-sticky h2{font-size:4.6rem}.matchups article{min-height:23rem;padding:1.25rem}.matchups h3{font-size:4rem}.money-temple{min-height:55rem}.money-copy{left:1.25rem}.money-copy h2{font-size:5.6rem}.money-kat{right:-40%;width:130%;height:59%}.drag-coin{bottom:9%;left:8%;width:4.3rem}.coin-instruction{left:1.25rem}.wisdom{display:block;padding:3rem 1.25rem}.wisdom-seal{margin-bottom:1.5rem}.wisdom .button{margin-top:1.5rem}.sticker-field{min-height:44rem}.sticker-one{width:40%}.sticker-two{top:14%;width:54%}.sticker-three{top:38%;left:15%;width:45%}.sticker-four{top:57%;width:39%}.sticker-five{top:61%;width:44%}.sticker-six{left:35%;width:31%}.dojo{min-height:61rem}.dojo-copy{left:1.25rem}.dojo-actions{align-items:flex-start;flex-direction:column}.dojo .contract{width:calc(100vw - 2.5rem);justify-content:space-between}.dojo-kat{right:-41%;width:133%;height:53%}.finale{min-height:52rem;padding-right:1.25rem;padding-left:1.25rem}.finale h2{font-size:4.5rem}.finale-kat{width:110%;height:53%}.finale strong{margin-top:8rem}}
@media (prefers-reduced-motion:reduce){html,body{scroll-behavior:auto}.mist,.chaos i{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.kat-frame,.bag-rig,.temple-doors i,.treasure-light,.sticker,.button{transition:none!important}}

/* Chinese editorial refinement: lacquer, rice paper, seal red, open image framing. */
:root{--display:"Noto Serif SC","Songti SC",serif;--body:"DM Sans","Noto Sans SC",sans-serif;--brush:"Ma Shan Zheng","Kaiti SC",cursive;--lacquer:#211612;--paper-deep:#ded0b5;--rule:#9d8666}
h1,h2,h3{font-weight:600;letter-spacing:-.025em;line-height:.88;text-wrap:balance}.hero h1 small,.hero h1>span,.training-copy h2,.technique h3,.matchups h3,.matchups strong,.money-copy h2,.dojo h2,.finale h2,.finale strong{font-weight:600}.chapter-mark{display:flex;align-items:center;gap:.8rem;letter-spacing:.16em}.chapter-mark::before{width:1.7rem;height:1px;content:"";background:currentColor}.section-intro h2,.technique-heading h2,.scrolls-heading h2{font-size:clamp(4.2rem,10vw,10rem)}
.kat-frame{background:radial-gradient(circle at 50% 46%,#f1e7d012,transparent 59%)}.kat-frame img{object-fit:contain;object-position:center bottom;filter:saturate(.48) sepia(.1) hue-rotate(345deg) contrast(1.04)}.headband{display:none}.hero-kat,.legend-kat,.training-kat,.versus-kat,.money-kat,.dojo-kat,.finale-kat{clip-path:none}.hero-kat img,.legend-kat img,.training-kat img,.versus-kat img,.money-kat img,.dojo-kat img,.finale-kat img{object-fit:contain;object-position:center bottom;transform:none}
.hero{background-color:var(--ink);background-image:linear-gradient(90deg,transparent 49.8%,#f1e7d00b 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#f1e7d00b 50%,transparent 50.2%);background-size:8rem 8rem}.hero-copy{width:min(48rem,54vw)}.hero h1>span{font-family:var(--brush);font-size:clamp(7rem,19vw,18rem);line-height:.66}.hero h1 small{font-size:clamp(2.7rem,5.8vw,6.4rem);line-height:.87}.hero-kat{right:1vw;bottom:0;width:min(49vw,48rem);height:80vh}.hero-kat::after{position:absolute;right:4%;bottom:7%;width:5.4rem;height:5.4rem;display:grid;place-items:center;border:2px solid var(--red);color:var(--red);content:"猫\A 拳";font:2rem/1 var(--brush);text-align:center;white-space:pre;transform:rotate(-6deg)}
.legend-stage{background-color:var(--lacquer);background-image:linear-gradient(90deg,#f1e7d00d 1px,transparent 1px),linear-gradient(#f1e7d00d 1px,transparent 1px);background-size:5rem 5rem}.legend-kat{right:4%;bottom:2%;width:92%;height:83%}.chapter h3{font-size:clamp(2.7rem,4.2vw,5.2rem);line-height:1.02}.chapter>span{font-size:3rem}
.training-copy h2{font-size:clamp(4.4rem,8vw,8rem);line-height:.9}.training-kat{left:2%;width:67%;height:70%}.training-floor{background-color:var(--lacquer);background-image:linear-gradient(45deg,#f1e7d00b 25%,transparent 25% 75%,#f1e7d00b 75%),linear-gradient(-45deg,#f1e7d00b 25%,transparent 25% 75%,#f1e7d00b 75%);background-size:3rem 3rem}
.techniques{padding-bottom:clamp(5rem,10vw,9rem);background:var(--paper);color:var(--ink)}.technique-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;padding-bottom:clamp(3rem,6vw,5rem);background:var(--lacquer);color:var(--paper)}.technique-heading::after{align-self:end;width:7rem;height:7rem;display:grid;place-items:center;border:2px solid var(--red);color:var(--red);content:"四\A法";font:2.4rem/1 var(--brush);text-align:center;white-space:pre;transform:rotate(5deg)}.technique-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;width:min(88rem,calc(100% - 2 * var(--pad)));margin:clamp(3rem,7vw,6rem) auto 0;border:0}.technique{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(18rem,1fr);align-items:start;min-height:42rem;padding:2rem;border:1px solid var(--rule);background:var(--paper);color:var(--ink);box-shadow:.65rem .65rem 0 var(--paper-deep)}.technique:nth-child(even){background:var(--paper);color:var(--ink)}.technique::before,.technique::after{position:absolute;width:2.5rem;height:2.5rem;content:"";pointer-events:none}.technique::before{top:.7rem;left:.7rem;border-top:2px solid var(--red);border-left:2px solid var(--red)}.technique::after{right:.7rem;bottom:.7rem;border-right:2px solid var(--red);border-bottom:2px solid var(--red)}.technique-number{grid-row:1;color:var(--red);font-size:3rem}.technique>div:nth-child(2){grid-row:1;padding-left:1rem}.technique p{color:#6f675c}.technique h3{margin:.7rem 0 1rem;font-size:clamp(2.6rem,4.4vw,4.8rem);line-height:.94}.technique blockquote{margin-bottom:0;color:#5f584f}.technique-art{grid-column:1/-1;grid-row:2;align-self:stretch;min-height:18rem;margin-top:1.5rem;overflow:hidden;border-top:1px solid var(--rule);background-color:var(--lacquer);background-image:radial-gradient(circle at center,#f1e7d014,transparent 60%)}.technique-art .kat-frame{inset:.75rem}.technique-art .kat-frame img{object-fit:contain;object-position:center}.technique-art .headband{top:18%;left:28%;width:22%}
.versus-sticky h2{font-size:clamp(3.6rem,6.8vw,7.2rem);line-height:.92}.matchups h3{font-size:clamp(3rem,5.6vw,6rem);line-height:.95}.matchups strong{font-size:clamp(3.5rem,7vw,7rem)}.money-copy h2,.dojo h2{font-size:clamp(4.5rem,9vw,9rem);line-height:.9}.money-kat{right:4%;width:min(50vw,44rem);height:72%}.dojo-kat{right:2%;width:min(49vw,44rem);height:68%}
.finale{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:1fr auto;align-items:center;gap:clamp(2rem,5vw,6rem);min-height:100svh;padding:clamp(7rem,12vh,10rem) var(--pad) max(2rem,env(safe-area-inset-bottom));background-color:#080a0d;background-image:linear-gradient(90deg,#f1e7d00a 1px,transparent 1px);background-size:6rem 100%;text-align:left}.finale-moon{top:15%;left:24%;width:min(28vw,23rem);transform:none}.finale-kat{position:relative;z-index:3;bottom:auto;left:auto;grid-column:1;grid-row:1;width:100%;height:min(67vh,43rem);align-self:end;transform:none}.finale>div:not(.finale-moon){grid-column:2;grid-row:1;align-self:center}.finale h2{margin:1.5rem 0;font-size:clamp(3.7rem,6vw,6.7rem);line-height:.95}.finale strong{margin:4rem 0 1rem;font-size:clamp(4.5rem,8vw,8rem)}.finale small{position:relative;right:auto;bottom:auto;left:auto;grid-column:1/-1;grid-row:2;padding-top:1.5rem;border-top:1px solid #f1e7d02b;color:var(--stone)}
@media (hover:hover) and (pointer:fine){.technique{transition:transform 180ms ease-out,box-shadow 180ms ease-out}.technique:hover{transform:translateY(-.35rem);box-shadow:.9rem .9rem 0 var(--red)}.technique-send:hover .technique-art .kat-frame{transform:translateX(.5rem)}}
@media (max-width:900px){.hero-copy{width:calc(100% - 2.5rem)}.hero-kat{right:-11%;width:74vw;height:54vh}.technique-list{width:calc(100% - 2.5rem)}.finale{grid-template-columns:1fr;grid-template-rows:auto auto auto;text-align:center}.finale-moon{top:9%;left:50%;width:min(55vw,22rem);transform:translateX(-50%)}.finale-kat{grid-column:1;grid-row:1;height:48vh}.finale>div:not(.finale-moon){grid-column:1;grid-row:2}.finale small{grid-row:3}.finale strong{margin-top:2.5rem}}
@media (max-width:700px){.technique-heading{display:block}.technique-heading::after{margin-top:2rem}.technique-list{grid-template-columns:1fr}.technique{min-height:39rem}.hero-kat{right:-18%;width:90vw}.money-kat,.dojo-kat{right:-12%;width:85%;height:53%}}
@media (max-width:560px){.hero h1>span{font-size:8rem}.hero h1 small{font-size:3.15rem;line-height:.92}.hero-kat{right:-24%;bottom:3rem;width:112vw;height:27rem}.legend-kat{right:-6%;width:112%}.training-kat{left:-8%;width:92%}.technique{display:grid;min-height:36rem;padding:1.35rem}.technique h3{font-size:2.8rem}.technique-art{min-height:17rem}.versus-sticky h2{font-size:3.8rem}.money-copy h2,.dojo h2{font-size:4.4rem}.finale{min-height:auto;padding-top:6rem}.finale-kat{width:100%;height:25rem}.finale h2{font-size:3.65rem}.finale strong{font-size:5rem}}

/* Content stays readable without scroll-trigger timing; movement becomes enhancement. */
.reveal{opacity:1;transform:none}.section-intro{padding-top:clamp(5rem,8vw,8rem)}.chapters{padding-top:3rem;padding-bottom:5rem}.chapter{min-height:32rem;padding:7rem 0}.training{min-height:48rem}.training-floor{min-height:48rem}.technique-heading{padding-top:clamp(5rem,9vw,8rem)}.scrolls{padding-top:clamp(5rem,9vw,8rem)}
@media (max-width:900px){.chapter{min-height:27rem;padding:5rem 0}.training{min-height:auto}.training-floor{min-height:42rem}}
@media (max-width:560px){.section-intro{padding-top:5rem}.chapter{min-height:23rem;padding:4.5rem 0}.training-floor{min-height:34rem}.technique-heading{padding-top:5rem}.finale-moon{top:7rem;width:13rem}.finale-kat{height:22rem;margin-bottom:1rem}.finale>div:not(.finale-moon){padding-top:1rem}.finale h2{font-size:3.25rem}.finale strong{margin-top:2rem}}

/* Sacred Scrolls archive: all supplied memes, ordered and uncropped. */
.scrolls{background-color:var(--charcoal);background-image:linear-gradient(90deg,#f1e7d009 1px,transparent 1px);background-size:6rem 100%}.meme-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(.8rem,1.5vw,1.5rem);margin-top:clamp(3rem,7vw,6rem)}.meme-piece{position:relative;grid-column:span 4;min-width:0;margin:0;padding:0;overflow:hidden;border:1px solid #f1e7d035;background:var(--ink);color:var(--paper);cursor:pointer;text-align:left;box-shadow:.55rem .55rem 0 #080806;transition:transform 180ms ease-out,box-shadow 180ms ease-out}.meme-piece::before{position:absolute;z-index:2;top:.65rem;right:.65rem;width:2rem;height:2rem;display:grid;place-items:center;border:1px solid var(--red);background:#11110fc9;color:var(--red);content:"猫";font:1rem var(--brush)}.meme-piece img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background-color:var(--ink);background-image:linear-gradient(45deg,#f1e7d008 25%,transparent 25% 75%,#f1e7d008 75%),linear-gradient(-45deg,#f1e7d008 25%,transparent 25% 75%,#f1e7d008 75%);background-size:2rem 2rem}.meme-piece>span{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem;padding:.75rem 1rem;border-top:1px solid #f1e7d035;font:600 .84rem var(--display);letter-spacing:.05em}.meme-piece>span b{color:var(--red);font:400 .8rem var(--brush)}.meme-feature{grid-column:span 8;grid-row:span 2}.meme-wide{grid-column:span 8}.meme-closing{grid-column:3/span 8}.meme-feature img{aspect-ratio:auto}.meme-preview-frame{width:min(100%,34rem);margin:0 auto 1.25rem;border:1px solid #f1e7d04a;background:var(--ink)}.meme-preview-frame img{width:100%;height:auto;max-height:62vh;object-fit:contain}.sticker-dialog{width:min(42rem,calc(100vw - 2rem));max-height:calc(100svh - 2rem);overflow:auto;padding:2.5rem}.sticker-dialog .preview-seal{width:3rem;font-size:1.8rem}.sticker-dialog h2{margin:.8rem 0;font-size:clamp(2.2rem,7vw,4.5rem)}
@media (hover:hover) and (pointer:fine){.meme-piece:hover{z-index:2;transform:translateY(-.35rem);box-shadow:.8rem .8rem 0 var(--red)}}
@media (max-width:900px){.meme-piece{grid-column:span 6}.meme-feature,.meme-wide{grid-column:span 12}.meme-closing{grid-column:4/span 6}}
@media (max-width:560px){.meme-gallery{grid-template-columns:1fr;gap:1.25rem}.meme-piece,.meme-feature,.meme-wide,.meme-closing{grid-column:1;grid-row:auto}.meme-piece>span{min-height:3rem}.sticker-dialog{padding:2.8rem 1rem 1.25rem}.meme-preview-frame img{max-height:55vh}}

/* Compact archive on laptops; one-scroll-snap-card-at-a-time on phones. */
.scrolls{padding-right:max(var(--pad),calc((100vw - 76rem)/2));padding-left:max(var(--pad),calc((100vw - 76rem)/2))}.scrolls-heading{max-width:70rem}.meme-gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:1rem;max-width:70rem;margin-right:auto;margin-left:auto}.meme-piece,.meme-feature,.meme-wide,.meme-closing{grid-column:auto;grid-row:auto;width:100%;box-shadow:.35rem .35rem 0 #080806}.meme-piece img,.meme-feature img{width:100%;aspect-ratio:1;object-fit:contain}.meme-piece>span{min-height:3rem;padding:.6rem .75rem;font-size:.7rem}.meme-piece::before{top:.45rem;right:.45rem;width:1.65rem;height:1.65rem;font-size:.8rem}
@media (max-width:1100px) and (min-width:701px){.meme-gallery{grid-template-columns:repeat(3,minmax(0,1fr));max-width:58rem}.scrolls-heading{max-width:58rem;margin-right:auto;margin-left:auto}.meme-piece>span{font-size:.66rem}}
@media (max-width:700px){.scrolls{padding-right:0;padding-left:0}.scrolls-heading{padding-right:1.25rem;padding-left:1.25rem}.meme-gallery{display:flex;max-width:none;margin-top:2.5rem;padding:0 1.25rem 1.25rem;gap:.9rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:1.25rem;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--red) #f1e7d01a}.meme-piece,.meme-feature,.meme-wide,.meme-closing{flex:0 0 calc(100vw - 3.25rem);width:calc(100vw - 3.25rem);max-width:27rem;scroll-snap-align:center;scroll-snap-stop:always}.meme-piece img,.meme-feature img{aspect-ratio:1;object-fit:contain}.meme-piece>span{min-height:3.25rem;padding:.7rem .8rem;font-size:.72rem}.meme-gallery::after{flex:0 0 .35rem;content:""}}
.meme-swipe-note{display:none}
@media (max-width:700px){.meme-swipe-note{display:flex;justify-content:space-between;margin:2rem 1.25rem -1.5rem;color:var(--stone);font-size:.56rem;font-weight:600;letter-spacing:.14em}.meme-swipe-note span{color:var(--red)}}

/* Cinematic asset integration: artwork keeps focal subjects clear; interface stays separate. */
.chapter{position:relative}.chapter-cinema{width:min(100%,44rem);margin:3.5rem 0 0;overflow:hidden;border:1px solid #11110f4d;background:var(--lacquer);box-shadow:.6rem .6rem 0 var(--red)}.chapter-cinema img{width:100%;aspect-ratio:4/3;object-fit:cover}.chapter-training .chapter-cinema{margin-left:auto}.chapter-training .chapter-cinema img{object-position:center}.chapter-ascension{min-height:48rem}.chapter-ascension .chapter-copy{position:relative;z-index:2;max-width:30rem;padding-top:2rem}.chapter-ascension .chapter-cinema{position:absolute;top:3rem;right:calc(var(--pad) * -1);width:min(78%,51rem);margin:0;box-shadow:none}.chapter-ascension .chapter-cinema::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,var(--paper) 0%,#f1e7d0cf 20%,transparent 57%)}.chapter-ascension .chapter-cinema img{height:32rem;object-position:center 42%}

.training-backdrop{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background:var(--lacquer);filter:saturate(.7) contrast(1.04)}.training-floor::before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,#1a19162e,transparent 34%,#1a191649)}.training-floor .training-kat,.training-floor .bag-rig{display:none}.training-floor.is-kicking .training-backdrop{animation:stage-kick 660ms var(--ease)}.training-floor.is-finale .training-backdrop{filter:saturate(.45) contrast(1.15);transform:scale(1.025)}@keyframes stage-kick{35%{transform:translateX(.6%) scale(1.025)}70%{transform:translateX(-.25%) scale(1.008)}}

.technique-crop{position:relative;display:block;overflow:hidden;background-image:url("THE FOUR SACRED TECHNIQUES MASTER ARTWORK.png");background-repeat:no-repeat;background-size:400% auto;filter:saturate(.72) contrast(1.04)}.technique-crop img{display:none}.crop-dip{background-position:0 50%}.crop-hodl{background-position:33.333% 50%}.crop-send{background-position:66.667% 50%}.crop-money{background-position:100% 50%}.technique-crop::after{position:absolute;inset:0;content:"";border:1px solid #f1e7d01c;pointer-events:none}

@media (max-width:900px){.chapter-cinema{width:100%;margin-top:2.5rem}.chapter-ascension{min-height:auto}.chapter-ascension .chapter-copy{max-width:none;padding-top:0}.chapter-ascension .chapter-cinema{position:relative;top:auto;right:auto;width:100%;margin-top:2.5rem}.chapter-ascension .chapter-cinema::after{background:linear-gradient(0deg,#f1e7d04d,transparent 34%)}.chapter-ascension .chapter-cinema img{height:auto;aspect-ratio:4/3}.training-backdrop{object-position:55% center}}
@media (max-width:560px){.chapter-cinema{margin-top:2rem;box-shadow:.35rem .35rem 0 var(--red)}.chapter-ascension .chapter-cinema{margin-top:2rem}.training-backdrop{object-position:54% center}.training-floor{min-height:34rem}}

.dojo-cinema{position:absolute;z-index:0;inset:0;margin:0;overflow:hidden}.dojo-cinema::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#11110fea 0%,#11110fb8 39%,#11110f22 69%,#11110f80 100%)}.dojo-cinema img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.63) contrast(1.04)}.dojo .army,.dojo .dojo-kat{display:none}.dojo-copy{max-width:min(48rem,55vw)}@media (max-width:900px){.dojo-cinema img{object-position:58% center}.dojo-cinema::after{background:linear-gradient(180deg,#11110fb8 0%,#11110f26 52%,#11110fe6 100%)}}@media (max-width:560px){.dojo{min-height:58rem}.dojo-copy{max-width:none}.dojo-cinema img{object-position:57% center}.dojo-cinema::after{background:linear-gradient(180deg,#11110fe8 0%,#11110f22 52%,#11110feb 100%)}}

.hero-backdrop{position:absolute;z-index:-4;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.66) contrast(1.08) brightness(.67)}.hero::after{z-index:-1;background:linear-gradient(90deg,#11110ff0 0%,#11110fc2 34%,#11110f30 67%,#11110f82 100%)}.hero .mountains,.hero .moon,.hero .temple,.hero .mist,.hero-kat{display:none}@media (max-width:900px){.hero-backdrop{object-position:57% center}.hero::after{background:linear-gradient(180deg,#11110fd4 0%,#11110f4d 55%,#11110fca 100%)}}@media (max-width:560px){.hero-backdrop{object-position:56% center}.hero::after{background:linear-gradient(180deg,#11110fe0 0%,#11110f38 48%,#11110fdb 100%)}}

/* Technique artwork stays whole: typography floats as four clear reading points. */
.techniques{position:relative;isolation:isolate;min-height:100svh;padding-bottom:clamp(4rem,8vw,7rem);overflow:hidden;background:#16110e;color:var(--paper)}.techniques-backdrop{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.7) contrast(1.06) brightness(.52)}.techniques::before{position:absolute;z-index:-2;inset:0;content:"";background:linear-gradient(180deg,#11110fe8 0%,#11110f26 36%,#11110f42 73%,#11110fe8 100%)}.technique-heading{position:relative;background:transparent;color:var(--paper)}.technique-heading::after{background:#11110fbf}.technique-list{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);max-width:88rem;margin-top:clamp(3rem,6vw,5rem)}.technique{display:flex;align-items:flex-start;min-height:13rem;padding:clamp(1.25rem,2.2vw,2rem);border:1px solid #f1e7d066;background:#11110fb8;color:var(--paper);box-shadow:.45rem .45rem 0 #d9472b9c;backdrop-filter:blur(5px)}.technique:nth-child(even){background:#11110fb8;color:var(--paper)}.technique::before,.technique::after{display:none}.technique-number{flex:0 0 auto;color:var(--red);font-size:3rem}.technique>div:nth-child(2){padding-left:1rem}.technique p,.technique blockquote{color:#d9ccb4}.technique h3{margin:.45rem 0 .85rem;font-size:clamp(2.3rem,4.1vw,4.6rem);color:var(--paper)}.technique-art,.technique-crop{display:none}@media (max-width:700px){.techniques{min-height:auto}.techniques-backdrop{height:100%;object-position:center}.techniques::before{background:linear-gradient(180deg,#11110fec 0%,#11110f4d 45%,#11110fd9 100%)}.technique-list{grid-template-columns:1fr}.technique{min-height:0}.technique h3{font-size:2.75rem}}@media (max-width:560px){.techniques-backdrop{object-position:center}.technique-list{gap:1rem}.technique{padding:1.25rem}.technique-number{font-size:2.6rem}.technique>div:nth-child(2){padding-left:.75rem}}

/* Legend frames show entire artwork. Remove brush arc that crosses KAT. */
.brush-ring{display:none}.chapter-cinema img{object-fit:contain;background:var(--lacquer)}

/* Hero wordmark: preserve brush weight, reduce poster scale so copy and artwork breathe. */
.hero h1>span{color:#c93624;font-size:clamp(6rem,14vw,13rem);line-height:.7;text-shadow:0 .12rem 0 #11110f,0 0 1.5rem #11110f99}.hero-copy{width:min(42rem,48vw)}@media (max-width:900px){.hero-copy{width:calc(100% - 2.5rem)}.hero h1>span{font-size:clamp(6.5rem,28vw,10rem)}}@media (max-width:560px){.hero h1>span{font-size:clamp(6.2rem,27vw,8.2rem)}}

/* Join Dojo: keep poster headline inside artwork frame at every viewport. */
.dojo-copy{top:clamp(6rem,12vh,9rem);max-width:min(39rem,48vw)}.dojo h2{margin:.75rem 0 1.25rem;font-size:clamp(3.4rem,5.2vw,6.35rem);line-height:.86}.dojo-actions{margin-top:1.25rem}.dojo .contract{margin-top:.8rem}@media (max-width:900px){.dojo-copy{top:8rem;max-width:min(34rem,65vw)}.dojo h2{font-size:clamp(3.15rem,7vw,5.1rem)}}@media (max-width:560px){.dojo-copy{top:6rem;right:1.25rem;left:1.25rem;max-width:none}.dojo h2{font-size:clamp(2.8rem,13vw,4rem);line-height:.9}}

/* Meme Universe: lacquer tournament board, not generic split template. */
.versus{position:relative;display:grid;grid-template-columns:minmax(22rem,.8fr) minmax(34rem,1.2fr);background:var(--lacquer);color:var(--paper)}.versus::before{position:absolute;z-index:0;inset:0;content:"";background:linear-gradient(90deg,#f1e7d009 1px,transparent 1px),linear-gradient(#f1e7d007 1px,transparent 1px);background-size:5rem 5rem;pointer-events:none}.versus-sticky,.matchups{position:relative;z-index:1}.versus-sticky{height:100svh;border-right:1px solid #f1e7d030;background:linear-gradient(180deg,#211612,#11110f)}.versus-sticky::before{position:absolute;top:var(--pad);right:var(--pad);width:4rem;height:4rem;border:2px solid var(--red);color:var(--red);content:"武";font:2.5rem/4rem var(--brush);text-align:center;transform:rotate(5deg)}.versus-sticky h2{max-width:38rem;margin:17vh 0 0;font-size:clamp(3.3rem,5vw,6.4rem);line-height:.94}.versus-sticky em{color:var(--red)}.versus-kat{right:-10%;bottom:0;width:82%;height:53%;opacity:.62}.matchups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;padding:var(--pad);background:transparent;color:var(--paper)}.matchups article{position:relative;min-height:clamp(15rem,33vh,25rem);padding:clamp(1.2rem,2.4vw,2.5rem);border:0;border-top:1px solid #f1e7d052;background:transparent}.matchups article:nth-child(odd){border-right:1px solid #f1e7d052}.matchups article::before{position:absolute;top:1rem;right:1rem;color:var(--red);content:"〇";font:1.3rem var(--brush)}.matchups span{color:var(--stone);font-size:.55rem}.matchups h3{margin:1.4rem 0;font-size:clamp(2.3rem,3.9vw,4.7rem);line-height:.94}.matchups h3 i{color:var(--red)}.matchups strong{color:var(--jade);font-size:clamp(3rem,5.3vw,5.8rem);line-height:.75}.matchups .market-match{grid-column:1/-1;min-height:30vh;background:linear-gradient(90deg,#11110f,#211612);color:var(--paper)}.matchups .market-match strong{color:var(--gold)}@media (max-width:900px){.versus{grid-template-columns:1fr}.versus-sticky{height:68svh;border-right:0;border-bottom:1px solid #f1e7d030}.versus-sticky h2{margin-top:13vh}.matchups{grid-template-columns:repeat(2,minmax(0,1fr));padding:1.25rem}.matchups article{min-height:18rem}}@media (max-width:560px){.versus-sticky{height:39rem}.versus-sticky h2{margin-top:9rem;font-size:3.55rem}.versus-sticky::before{top:2rem;right:1.25rem}.matchups{grid-template-columns:1fr;padding:1.25rem}.matchups article,.matchups article:nth-child(odd){min-height:12rem;border-right:0}.matchups h3{font-size:3.1rem}.matchups .market-match{min-height:15rem}}

/* Mobile: poster reads top-to-bottom; arena keeps full 16:9 scene; legend gets breathing room. */
@media (max-width:560px){.hero{min-height:100svh}.hero-copy{top:6.9rem;left:1.25rem;width:calc(100% - 2.5rem)}.hero h1>span{font-size:6rem;line-height:.68}.hero h1 small{margin-top:1.15rem;font-size:3.05rem;line-height:.89}.hero-line{margin-top:.85rem;font-size:.68rem;line-height:1.5}.hero-actions{margin-top:1.1rem;gap:.15rem}.hero-actions .button{min-height:2.85rem;padding:.65rem 1rem}.hero-contract{bottom:.85rem}.hero-backdrop{object-position:62% center}.hero::after{background:linear-gradient(180deg,#11110fd4 0%,#11110f61 46%,#11110fc9 100%)}.training,.training-floor{min-height:100svh}.training-backdrop,.training-impact-art{object-fit:contain;object-position:center;background:#11110f}.training-copy{bottom:.6rem}.legend-stage{height:68svh}.chapters{padding:0 1.25rem 5rem}.chapter{min-height:30rem;padding:5.5rem 0;border-top:1px solid #11110f42}.chapter>p{margin-bottom:2.25rem}.chapter h3{font-size:3.15rem;line-height:1.04}.chapter-cinema{margin-top:2.5rem}.chapter-ascension .chapter-cinema{margin-top:2.5rem}}

/* Mobile nav: toggle always sits above full-screen menu and keeps two clean bars. */
@media (max-width:900px){.site-header{z-index:90}.site-header.is-scrolled{transform:none}.menu-toggle{z-index:92;justify-self:end;isolation:isolate;transition:background-color 180ms var(--ease),border-color 180ms var(--ease)}.site-header nav{position:fixed;z-index:91;top:0;right:0;bottom:0;left:0;width:100vw;height:100svh;min-height:100svh;transform:none}.site-header nav.is-open{padding-top:5rem}.menu-toggle[aria-expanded="true"]{border-color:var(--red);background:var(--lacquer)}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.menu-toggle span{transition:transform 180ms var(--ease)}}
@media (max-width:560px){.site-header{top:0;right:0;left:0;min-height:4.8rem;padding:0 1rem;background:#11110ff2;border-bottom:1px solid #f1e7d042}.site-header.is-scrolled{background:#11110ff2}.brand{column-gap:.5rem}.menu-toggle{width:2.8rem;height:2.8rem}.site-header nav{background:#11110ff8}}

/* Portrait screen cannot fill 16:9 artwork without crop. Keep full game scene visible. */
@media (max-width:560px){.training{min-height:100svh;background:#11110f}.training-floor{height:100svh;min-height:100svh;aspect-ratio:auto;background:#11110f}.training-backdrop,.training-impact-art{object-fit:contain!important;object-position:center!important;background:#11110f}.training-copy{right:0;left:0;width:100%;max-width:none;bottom:1.25rem;padding:.8rem 1rem;text-align:center;transform:none}.training-copy h2{font-size:1.45rem;white-space:nowrap}.training-instruction{font-size:.55rem!important}.kick-readout{width:100%;font-size:.48rem}.not-ready{right:1rem;left:1rem;width:auto}}

/* Training arena needs landscape framing. Keep desktop/tablet; remove from phone flow. */
@media (max-width:560px){.training{display:none}.site-header nav a[href="#train"]{display:none}}

.hero-x{color:var(--red)}

/* Contract and community routes: readable full address, clear buy/social paths. */
.contract{max-width:min(46rem,calc(100vw - 2 * var(--pad)));gap:.7rem}.contract span{flex:0 0 auto;padding-left:.25rem;font-size:1.05rem;letter-spacing:.12em}.contract code{min-width:0;font-size:clamp(.68rem,1vw,.9rem);overflow-wrap:anywhere;word-break:break-all}.contract button{flex:0 0 auto;padding:0 .7rem}.hero-contract{width:min(44rem,calc(100vw - 2 * var(--pad)))}.hero-telegram{color:var(--gold)}.finale small b{margin-right:.4rem;color:var(--red);font:800 .85rem var(--display);letter-spacing:.12em}.finale small a{color:var(--paper);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:.22rem}@media (max-width:560px){.hero-actions{gap:.2rem}.hero-telegram{margin-top:.15rem}.hero-contract{right:1rem;left:1rem;width:calc(100% - 2rem);padding:.55rem}.contract{max-width:100%;align-items:flex-start}.contract span{font-size:1rem}.contract code{padding-top:.1rem;font-size:.6rem;line-height:1.35}.contract button{min-height:2.2rem;padding:0 .45rem;font-size:.52rem}.dojo .contract{width:100%}.finale small{font-size:.52rem}.finale small b{font-size:.72rem}}

/* Phone layout: Legend becomes linear story; dojo game shows whole 16:9 canvas. */
@media (max-width:560px){.legend-scroll{display:block}.legend-stage{position:relative;top:auto;height:54vw;min-height:13rem;max-height:17rem}.legend-stage .legend-sun{top:10%;right:14%;width:34%}.legend-stage .legend-kat{right:8%;bottom:0;width:72%;height:100%}.chapters{padding:0 1.25rem 4rem}.chapter,.chapter-ascension{min-height:0;padding:3.5rem 0}.chapter+.chapter{border-top:1px solid #11110f42}.chapter>span,.chapter .chapter-copy>span{float:none;display:block;width:auto;margin-bottom:.7rem;font-size:2.4rem}.chapter>p,.chapter .chapter-copy>p{margin:0 0 1.25rem;font-size:.58rem}.chapter h3{font-size:2.7rem;line-height:1.05}.chapter-cinema,.chapter-ascension .chapter-cinema{position:relative;top:auto;right:auto;width:100%;margin:1.75rem 0 0;box-shadow:.3rem .3rem 0 var(--red)}.chapter-cinema img,.chapter-ascension .chapter-cinema img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.chapter-ascension .chapter-cinema::after{background:transparent}.training,.training-floor{min-height:100svh}.training-floor{height:100svh;aspect-ratio:auto;background:#11110f}.training-backdrop,.training-impact-art{object-fit:cover;object-position:53% center}.training-copy{position:absolute;bottom:1rem;z-index:8}.training-copy .chapter-mark{display:none}.training-copy h2{font-size:1.55rem;text-shadow:0 1px 5px #000}.training-instruction{font-size:.5rem!important}.kick-readout{font-size:.43rem}.not-ready{position:absolute}}

/* Full-screen training arena: before/after art preserves game action clarity. */
.training{position:relative;display:block;min-height:100svh;background:var(--ink)}.training-copy{position:absolute;z-index:8;top:50%;left:var(--pad);width:min(19rem,28vw);padding:1.25rem;border:1px solid #f1e7d052;background:#11110fc2;transform:translateY(-50%);backdrop-filter:blur(5px)}.training-copy .chapter-mark{font-size:.52rem}.training-copy h2{margin:.55rem 0 1rem;font-size:clamp(2.8rem,4vw,4.6rem)}.training-copy>p{margin-bottom:1.4rem;font-size:.75rem}.kick-readout{gap:.35rem;margin:1.25rem 0 .85rem;font-size:.58rem}.kick-button{min-width:8rem;min-height:2.7rem;font-size:1rem}.training-floor{min-height:100svh;background:#17120f}.training-backdrop,.training-impact-art{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.training-impact-art{z-index:-1;opacity:0;transition:opacity 90ms linear}.training-floor::before{z-index:0;background:linear-gradient(90deg,#11110f82 0%,transparent 42%,#11110f22 100%)}.training-floor .training-kat,.training-floor .bag-rig{display:none}.training-floor.is-kicking .training-impact-art{opacity:1}.training-floor.is-kicking .training-backdrop{animation:none}.training-floor.is-finale .training-impact-art{opacity:1;filter:saturate(.7) contrast(1.12)}.training-floor.is-finale .training-backdrop{transform:none}.not-ready{z-index:7}
@media (max-width:900px){.training-copy{top:auto;bottom:2rem;left:50%;width:min(29rem,calc(100% - 2.5rem));transform:translateX(-50%);text-align:center}.training-copy .chapter-mark{justify-content:center}.kick-button{align-self:center}.training-floor::before{background:linear-gradient(180deg,#11110f36 0%,transparent 48%,#11110fc7 100%)}.training-backdrop,.training-impact-art{object-position:55% center}}
@media (max-width:560px){.training,.training-floor{min-height:calc(100svh - 1rem)}.training-copy{bottom:1rem;padding:1rem}.training-copy h2{font-size:2.85rem}.training-copy>p{display:none}.kick-readout{margin:.8rem 0}.training-backdrop,.training-impact-art{object-position:58% center}}

/* Mini-game HUD: copy sits below action; entire arena becomes control. */
.training-copy{top:auto;bottom:1.5rem;left:50%;width:min(32rem,calc(100% - 2.5rem));padding:.8rem 1.15rem;border:0;background:linear-gradient(180deg,transparent,#11110fe0 30%);text-align:center;transform:translateX(-50%);backdrop-filter:none}.training-copy .chapter-mark{justify-content:center;font-size:.5rem}.training-copy h2{margin:.25rem 0 .35rem;font-size:clamp(2rem,3.2vw,3.35rem);line-height:1}.training-instruction{margin:.25rem 0 .7rem!important;color:var(--paper);font-size:.72rem!important;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.kick-readout{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0;font-size:.56rem}.training-floor{cursor:pointer}.training-floor:focus-visible{outline:3px solid var(--red);outline-offset:-.75rem}.training-impact-art{transition:opacity 230ms var(--ease)}.training-floor.is-kicking .training-impact-art{opacity:1}.training-floor.is-kicking .training-backdrop{opacity:0;transition:opacity 160ms var(--ease)}.training-backdrop{transition:opacity 260ms var(--ease)}.training-floor.is-finale .training-backdrop{opacity:0}@media (max-width:560px){.training-copy{bottom:.7rem;width:calc(100% - 1.5rem);padding:.6rem .8rem}.training-copy h2{font-size:2rem}.training-copy .chapter-mark{font-size:.42rem}.training-instruction{font-size:.58rem!important}.kick-readout{gap:.55rem;font-size:.48rem}}
