:root{color-scheme:dark;--black:#141715;--orange:#ff6b2f;--cream:#f1eddc;--gray:#a8aba1;font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--cream)}button{font:inherit;cursor:pointer}a{color:inherit}.skip{position:absolute;top:-100px;left:10px;background:white;color:#111;z-index:10}.skip:focus{top:10px}.fiction{margin:0;background:var(--orange);color:var(--black);padding:8px 20px;text-align:center;font-size:11px;line-height:1.7;font-weight:700}.top{height:86px;padding:0 clamp(20px,4vw,70px);display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--cream)}.logo{text-decoration:none;font-size:27px;font-weight:900;letter-spacing:-.09em}.logo span{display:block;font:700 10px monospace;letter-spacing:.13em;margin-top:4px;color:var(--orange)}.top nav{display:flex;gap:28px}.top nav a{text-decoration:none;font-size:12px;font-weight:800}.top nav a:hover,.top nav a:focus-visible{text-decoration:underline}.hero{height:max(680px,calc(100svh - 120px));position:relative;overflow:hidden;padding:clamp(35px,5vw,85px);background:var(--black)}.hero:before{content:'';position:absolute;width:65%;height:130%;border:2px solid #ffffff23;left:59%;top:-28%;transform:rotate(26deg)}.hero:after{content:'';position:absolute;right:-13%;top:-25%;width:55%;height:140%;border:2px solid var(--orange);transform:rotate(26deg);opacity:.65}.hero-corner{position:absolute;width:95px;height:95px;border-color:var(--orange);border-style:solid;z-index:2}.tl{left:25px;top:25px;border-width:9px 0 0 9px}.tr{right:25px;top:25px;border-width:9px 9px 0 0}.bl{left:25px;bottom:25px;border-width:0 0 9px 9px}.br{right:25px;bottom:25px;border-width:0 9px 9px 0}.hero-count{position:absolute;right:3%;top:-15%;font:900 clamp(320px,42vw,710px)/1 sans-serif;letter-spacing:-.18em;color:#ff6b2f25;pointer-events:none}.hero-kicker,.hero-caption,.floor-header>p:first-child,.floor-tabs small,.floor-tabs span,.map-index,.floor-art>small,.floor-note>p:first-child,.focus small,.notice-copy>span{font:700 10px/1.5 monospace;letter-spacing:.16em}.hero-kicker{position:relative;z-index:2;color:var(--orange);margin-top:7vh}.hero h1{position:relative;z-index:2;font-size:clamp(77px,9.5vw,160px);line-height:1.07;letter-spacing:-.13em;margin:45px 0 20px;font-weight:900}.hero h1 em{font-style:normal;color:var(--orange)}.hero-sub{position:relative;z-index:2;font-size:clamp(18px,1.7vw,25px);line-height:1.7;font-weight:800}.hero-link{position:relative;z-index:2;display:flex;justify-content:space-between;border-top:2px solid var(--cream);width:min(345px,100%);padding:16px 0;text-decoration:none;font-weight:900;margin-top:40px}.hero-lines{position:absolute;inset:0;pointer-events:none}.hero-lines i{position:absolute;height:3px;width:60%;background:var(--orange);right:-14%;transform:rotate(-27deg);animation:track 8s ease-in-out infinite alternate}.hero-lines i:nth-child(1){top:43%}.hero-lines i:nth-child(2){top:54%;width:70%;animation-delay:-2s}.hero-lines i:nth-child(3){top:65%;width:54%;animation-delay:-4s}.hero-lines i:nth-child(4){top:76%;width:46%;animation-delay:-6s}.hero-caption{position:absolute;bottom:48px;right:60px;color:var(--orange);z-index:3}.floor{padding:105px clamp(18px,4vw,70px);background:var(--cream);color:var(--black)}.floor-header{display:grid;grid-template-columns:.65fr 1.3fr 1fr;align-items:end;gap:30px;margin-bottom:44px}.floor-header h2{font-size:clamp(62px,7vw,115px);line-height:1.1;letter-spacing:-.13em;margin:0}.floor-header>p:last-child{font-size:15px;line-height:1.9;max-width:30em}.floor-machine{border:3px solid var(--black)}.floor-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:3px solid var(--black)}.floor-tabs button{background:var(--cream);color:var(--black);text-align:left;border:0;border-right:3px solid var(--black);padding:20px 25px;display:grid;gap:7px}.floor-tabs button:last-child{border-right:0}.floor-tabs button[aria-pressed=true]{background:var(--orange)}.floor-tabs button strong{font-size:clamp(20px,2.5vw,38px);letter-spacing:-.07em}.floor-body{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.7fr)}.floor-art{position:relative;min-height:580px;overflow:hidden;background:var(--black);color:var(--cream)}.floor-art .grid{position:absolute;inset:0;background-image:linear-gradient(0deg,#ffffff1a 1px,transparent 1px),linear-gradient(90deg,#ffffff1a 1px,transparent 1px);background-size:45px 45px}.map-index{position:absolute;top:25px;left:26px;color:var(--orange);font-size:13px}.ring{position:absolute;left:22%;top:13%;width:55%;height:70%;border:15px solid var(--cream);transform:rotate(-14deg);display:grid;place-items:center}.ring:before,.ring:after{content:'';position:absolute;inset:13%;border:2px solid var(--cream);opacity:.45}.ring:after{inset:31%}.ring span{font:900 26px sans-serif;letter-spacing:-.05em;opacity:.2;transform:rotate(14deg)}.ring-line{position:absolute;left:-5%;right:-5%;border-top:4px solid var(--orange)}.line-one{top:24%}.line-two{bottom:24%}.path{position:absolute;height:8px;background:var(--orange);transform-origin:left center;transition:opacity .35s,transform .35s;box-shadow:0 0 0 5px #ff6b2f33}.path-entry{left:5%;top:75%;width:37%;transform:rotate(-32deg)}.path-center{left:40%;top:65%;width:32%;transform:rotate(-52deg);opacity:.2}.path-rest{left:62%;top:45%;width:34%;transform:rotate(32deg);opacity:.2}.zone{position:absolute;background:var(--cream);color:var(--black);padding:9px 13px;font:900 14px monospace;letter-spacing:.1em;transition:background .35s,transform .35s}.zone-entry{left:6%;bottom:17%}.zone-center{left:40%;top:43%}.zone-rest{right:7%;top:16%}.floor-art[data-zone=entry] .zone-entry,.floor-art[data-zone=center] .zone-center,.floor-art[data-zone=rest] .zone-rest{background:var(--orange);transform:scale(1.12)}.floor-art[data-zone=center] .path-entry,.floor-art[data-zone=rest] .path-entry{opacity:.2}.floor-art[data-zone=center] .path-center,.floor-art[data-zone=rest] .path-rest{opacity:1}.crosshair{position:absolute;right:17%;bottom:10%;width:80px;height:80px;border:2px solid var(--orange);border-radius:50%;opacity:.5}.crosshair i:first-child{position:absolute;top:50%;width:100%;border-top:1px solid var(--orange)}.crosshair i:last-child{position:absolute;left:50%;height:100%;border-left:1px solid var(--orange)}.floor-art>small{position:absolute;left:20px;bottom:15px;color:var(--cream);font-size:9px}.floor-note{border-left:3px solid var(--black);padding:35px;display:flex;flex-direction:column;background:#e5dfce}.floor-note>p:first-child{color:#a64425}.floor-note h3{font-size:clamp(38px,4vw,64px);letter-spacing:-.1em;line-height:1.15;margin:50px 0 20px}.floor-note>p:nth-of-type(2){font-size:15px;line-height:1.9}.focus{margin-top:auto;border-top:2px solid var(--black);border-bottom:2px solid var(--black);padding:19px 0}.focus small{display:block;color:#a64425}.focus strong{font-size:24px;display:block;margin-top:11px}.floor-note .floor-caution{font-size:11px;line-height:1.75;margin-top:25px}.notice{position:relative;min-height:610px;background:var(--orange);color:var(--black);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.notice-number{font:900 clamp(350px,42vw,700px)/.9 sans-serif;letter-spacing:-.2em;align-self:center;margin-left:-.15em;opacity:.18}.notice-copy{align-self:center;padding:80px clamp(20px,5vw,85px) 80px 20px}.notice h2{font-size:clamp(59px,6vw,100px);line-height:1.15;letter-spacing:-.12em;margin:30px 0}.notice p{font-size:16px;line-height:1.9}.notice a{display:inline-block;border-top:2px solid var(--black);padding-top:15px;margin-top:30px;font-weight:900;text-decoration:none}footer{display:flex;justify-content:space-between;padding:20px clamp(20px,4vw,70px);font-size:11px}footer a{text-decoration:none}@keyframes track{to{transform:translateX(9%) rotate(-21deg)}}@media(max-width:1100px){.floor-header{grid-template-columns:1fr 1fr}.floor-header>p:first-child{grid-column:1/-1}.floor-body{grid-template-columns:1fr}.floor-note{border-left:0;border-top:3px solid var(--black);min-height:340px}.floor-note h3{margin:20px 0}.notice{grid-template-columns:.5fr 1fr}}@media(max-width:650px){.top{height:70px}.logo{font-size:21px}.logo span,.top nav a:not(:last-child){display:none}.hero{height:650px;padding:35px 22px}.hero-corner{width:45px;height:45px}.tl{left:12px;top:12px}.tr{right:12px;top:12px}.bl{left:12px;bottom:12px}.br{right:12px;bottom:12px}.hero-kicker{margin-top:55px}.hero h1{font-size:clamp(57px,11vw,78px);margin:38px 0}.hero-count{font-size:300px;top:10%;right:-15%}.hero-lines i{width:110%;right:-50%;opacity:.35}.hero-sub{font-size:16px}.hero-caption{right:20px;bottom:25px;font-size:8px}.floor{padding:75px 14px}.floor-header{display:block}.floor-header h2{font-size:57px;margin:20px 0}.floor-tabs button{padding:12px 7px}.floor-tabs button strong{font-size:17px;white-space:nowrap}.floor-tabs button span{font-size:8px}.floor-art{min-height:380px}.ring{left:19%;width:64%;border-width:9px}.ring span{font-size:14px}.zone{font-size:9px;padding:6px}.crosshair{width:40px;height:40px}.floor-note{padding:24px}.notice{display:block;min-height:0}.notice-number{position:absolute;font-size:300px;left:-10%;top:10%}.notice-copy{position:relative;padding:90px 22px}.notice h2{font-size:58px}.notice p{font-size:14px}footer{display:block;line-height:2}}@media(max-width:390px){.hero h1{font-size:54px}.floor-header h2{font-size:53px}.floor-tabs button strong{font-size:15px}.floor-art{min-height:340px}.notice h2{font-size:50px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-lines i{animation:none}.path,.zone{transition:none}}

/* A fictional training scene leads; the floor map remains a secondary interaction. */
.hero{isolation:isolate;background:#141715;height:min(900px,max(680px,calc(100svh - 120px)))}
.hero:before{content:'';position:absolute;inset:0;width:auto;height:auto;left:auto;top:auto;transform:none;border:0;background:linear-gradient(90deg,rgba(9,13,18,.9) 0%,rgba(9,13,18,.62) 41%,rgba(9,13,18,.08) 76%),linear-gradient(0deg,rgba(9,13,18,.55),transparent 44%);z-index:1}
.hero:after,.hero-count,.hero-lines{display:none}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.hero-kicker{margin-top:clamp(30px,7vh,80px);color:#fff;font:900 clamp(13px,1.25vw,18px)/1.55 'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;letter-spacing:.03em;width:max-content;max-width:100%;padding:8px 13px;background:#ff6b2f;color:#141715}
.hero h1{font-size:clamp(58px,7.8vw,118px);letter-spacing:-.09em;max-width:1040px;text-shadow:0 3px 18px #0008}
.hero h1 em{color:#ffab72}
.hero-sub{max-width:540px;text-shadow:0 2px 12px #000a}
.hero-link{border-color:#fff;max-width:360px}
@media(max-width:650px){.hero{height:min(760px,calc(100svh - 80px));min-height:620px;padding:25px 22px}.hero-photo{object-position:53% center}.hero:before{background:linear-gradient(0deg,rgba(9,13,18,.96),rgba(9,13,18,.4) 56%,rgba(9,13,18,.12))}.hero-kicker{margin-top:45px;font-size:12px}.hero h1{font-size:clamp(42px,10.6vw,67px);margin:180px 0 22px}.hero-sub{font-size:15px}.hero-link{margin-top:24px}.hero-caption{bottom:16px}}
@media(max-width:390px){.hero h1{font-size:40px;margin-top:170px}}
@media(max-width:900px){.hero{height:auto;min-height:0;padding:0 0 24px;display:flex;flex-direction:column}.hero:before,.hero-corner{display:none}.hero-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}.hero-kicker{margin:22px 22px 0;font-size:11px}.hero h1{font-size:clamp(40px,10.6vw,64px);margin:18px 22px 0}.hero-sub{margin:18px 22px 0;font-size:15px}.hero-link{margin:24px 22px 0;width:calc(100% - 44px)}.hero-caption{position:static;margin:22px 22px 0}}

/* Put the trade name in the principal headline and keep kickboxing as a second line of meaning. */
.hero h1 span{display:block}
.hero h1 em{display:block;font-size:.58em;line-height:1.3;letter-spacing:-.06em;margin-top:.35em}
