/* Black editorial sequence, with a readable no-motion baseline. */
:root{--ink:#000;--muted:#999}
body,.approach,.faq{background:#000}
.hero-shade{background:linear-gradient(180deg,#00000010,transparent 20%,transparent 65%,#00000030 80%,#000 100%)}
.glass-refraction{-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%)}
.has-liquid-lens .glass-refraction{backdrop-filter:blur(7px) url(#liquid-lens) saturate(140%) brightness(1.08)}
.story{background:#000;position:relative;scroll-margin-top:0}
.story-stage{min-height:740px;min-height:100svh;padding:135px 6% 70px;display:flex;flex-direction:column;justify-content:center;position:relative;background:#000}
.story-label{display:flex;justify-content:space-between;gap:20px;color:#8b8b8b;margin-bottom:38px}
.story-label>span:last-child{color:#555}
.story-copy{font-size:clamp(36px,4.9vw,76px);font-weight:400;line-height:1.13;letter-spacing:-.052em;margin:0;max-width:1240px}
.story-copy em{font-style:normal;color:var(--accent)}
.story-word{display:inline-block;will-change:color}
.story-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:46px;position:relative;padding-bottom:27px}
.story-bottom>.eyebrow{color:#777}
.story-bottom>a{font-size:14px;text-underline-offset:5px;text-decoration:underline}
.story-progress{height:1px;background:#242424;position:absolute;bottom:0;left:0;right:0}
.story-progress i{height:100%;width:100%;display:block;background:var(--accent);transform:scaleX(0);transform-origin:left center}
.story.is-reading .story-stage{height:100svh;min-height:0}
.story.is-navigation-reveal .story-word{color:var(--white)!important}
.story.is-navigation-reveal .story-word[data-accent]{color:var(--accent)!important}
.story.is-navigation-reveal .story-progress i{transform:scaleX(1)!important}
.training-gallery{background:#000;position:relative;scroll-margin-top:0}
.training-stage{padding:115px 0 40px;overflow:hidden}
.training-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;padding:0 6%;margin-bottom:35px}
.training-heading .eyebrow{color:#999}
.training-heading h2{font-size:clamp(36px,4.1vw,64px);line-height:1.04;letter-spacing:-.055em;font-weight:400;margin:17px 0 0}
.training-heading h2 em{font-style:normal;color:#8b8b8b}
.training-heading>p{font-size:16px;line-height:1.5;color:#aaa;margin:0 0 3px}
.cards-window{padding:0 6%;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain}
.cards-window::-webkit-scrollbar{display:none}
.training-track{position:relative;display:flex;gap:24px;width:max-content;padding-right:6vw}
.training-card{width:62vw;max-width:940px;flex-shrink:0;background:#111;scroll-snap-align:start;scroll-margin-left:6vw;border-radius:4px;overflow:hidden}
.card-photo{position:relative;height:clamp(300px,42vw,580px);overflow:hidden;background:#1c1b1b}
.card-photo:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#000000c4);pointer-events:none}
.card-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.card-strength .card-photo img{object-position:50% 36%}
.card-open .card-photo img{object-position:50% center}
.card-hyrox .card-photo img{object-position:50% 25%}
.card-index{position:absolute;left:27px;top:25px;z-index:1;font:14px var(--mono);background:#00000035;backdrop-filter:blur(10px);border-radius:50%;width:41px;height:41px;display:grid;place-items:center}
.card-kicker{position:absolute;right:28px;top:34px;z-index:1;text-shadow:0 1px 12px #000}
.card-photo h3{position:absolute;z-index:1;bottom:26px;left:28px;right:20px;font-size:clamp(46px,5.5vw,80px);font-weight:500;line-height:.98;letter-spacing:-.055em;margin:0;color:#fff}
.card-copy{padding:23px 28px 26px;display:flex;align-items:flex-start;justify-content:space-between;gap:28px;min-height:124px}
.card-copy p{font-size:16px;line-height:1.5;margin:0;max-width:430px;color:#d8d8d8}
.card-description{min-width:0;flex:1;max-width:560px}
.card-description p{max-width:none}
.card-description p+p{margin-top:16px}
.card-description ol{padding-left:22px;margin:16px 0;font-size:16px;line-height:1.5;color:#d8d8d8}
.card-description li+li{margin-top:10px}
.card-copy .training-highlight,.card-description li::marker{color:var(--accent)}
.card-copy .eyebrow{max-width:160px;line-height:1.7;color:#999;flex-shrink:0}
.training-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:26px 6% 0}
.training-meter{font:13px var(--mono);display:flex;align-items:center;gap:13px;color:#777}
.training-current{color:#fff}
.training-meter-line{width:110px;height:2px;background:#242424}
.training-meter-line i{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(.25);transform-origin:left center}
.training-scroll-hint{color:#777}
.training-controls{display:flex;gap:10px}
.training-controls button{color:#eee;background:transparent;border:1px solid #ffffff38;border-radius:40px;padding:12px 20px;font-size:14px;min-height:44px;transition:background .2s,border-color .2s}
.training-controls button:hover{background:#ffffff13;border-color:#ffffff77}
.training-controls button:disabled{opacity:.28;cursor:default}
.ticker{padding:25px 0;margin-top:45px}
.ticker-track{gap:0}
.ticker-group{display:flex;align-items:center;gap:44px;padding-right:44px;flex-shrink:0}
.ticker-track .ticker-separator{display:block;width:46px;height:2px;background:currentColor;flex-shrink:0;font-size:0;transform:rotate(-45deg)}
.approach-intro,.principle p,.faq-list details p{color:#a9a9a9}
.approach h2 em,.faq-heading h2 span{color:#858585}
.place{background:#000;color:#fff;padding-top:100px;padding-bottom:90px;scroll-margin-top:95px}
.place-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}
.place-heading .eyebrow{color:#999}
.place-heading h2{font-size:clamp(72px,13vw,200px);line-height:.92;letter-spacing:-.065em;font-weight:400;margin:26px 0 0}
.place-heading h2 span{color:var(--accent)}
.place-heading>p{font-size:18px;line-height:1.5;color:#aaa;margin:0 0 7px}
.place-map{height:520px;position:relative;isolation:isolate;overflow:hidden;background:#171717;border-radius:4px}
.map-canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;background:#171717;font-family:var(--sans)}
.map-canvas .leaflet-tile-pane{filter:grayscale(1) invert(1) contrast(.9) brightness(1.1)}
.map-canvas .leaflet-control-zoom{border:0;box-shadow:0 4px 20px #0004;margin:22px}
.map-canvas .leaflet-control-zoom a{width:36px;height:36px;line-height:36px;background:#0b0b0be6;color:#fff;border-color:#ffffff20;font-weight:400}
.map-canvas .leaflet-control-zoom a:hover{background:#262626}
.map-canvas .leaflet-control-zoom a.leaflet-disabled{background:#151515;color:#666}
.map-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.map-fallback{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);z-index:1;white-space:nowrap;color:#aaa;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.map-fallback[hidden]{display:none}
.place-map:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 90px #00000045}
.place-area{position:absolute;z-index:1;bottom:42px;left:32px;display:flex;flex-direction:column;align-items:start;gap:12px;padding:24px 28px;background:#0b0b0bd9;backdrop-filter:blur(20px);pointer-events:none}
.place-area .eyebrow{color:var(--accent)}
.place-area strong{font-size:43px;letter-spacing:-.05em;line-height:1.05;font-weight:400}
.place-area>span:last-child{font-size:14px;color:#aaa}
.place-coordinates{position:absolute;right:75px;top:28px;z-index:1;text-align:right;color:#fff;padding:12px 16px;background:#000000b3;pointer-events:none}
.place-bottom{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:29px}
.place-bottom p{font-size:24px;margin:0 0 8px;letter-spacing:-.03em}
.place-bottom span{font-size:14px;color:#aaa;line-height:1.5}
.map-credit{position:absolute;bottom:0;right:0;z-index:2;background:#101010d9;padding:6px 10px;font:11px/1.2 var(--mono);color:#ccc;text-decoration:none}
.map-credit:hover{color:#fff;text-decoration:underline}
.place-button{background:var(--accent);color:#000;flex-shrink:0}
.place-button:hover{background:#ff755f}
@media(min-width:1600px){.story-stage{padding-left:max(6%,calc((100vw - 1400px)/2));padding-right:max(6%,calc((100vw - 1400px)/2))}}
@media(max-width:900px){.story-label>span:last-child{display:none}.training-heading>p{display:none}.training-card{width:78vw}.card-copy{display:block;min-height:142px}.card-copy .eyebrow{display:block;max-width:none;margin-top:15px}.card-photo h3{font-size:7.5vw}.place-heading{align-items:start;flex-direction:column;gap:24px}.place-heading>p{font-size:16px}.place-map{height:500px}}
@media(max-width:600px){.story-stage{padding:118px 6% 52px;min-height:100svh}.story-label{font-size:11px;margin-bottom:28px}.story-copy{font-size:8.5vw;line-height:1.18;letter-spacing:-.045em}.story-bottom{margin-top:32px;align-items:start;flex-direction:column;gap:17px;padding-bottom:24px}.story-bottom>.eyebrow{font-size:11px}.story-bottom>a{font-size:14px}.training-stage{padding-top:105px;padding-bottom:25px}.training-heading{margin-bottom:26px}.training-heading h2{font-size:38px;line-height:1.07;max-width:300px}.training-heading .eyebrow{font-size:11px}.training-card{width:86vw;border-radius:3px}.training-track{gap:15px}.card-photo{height:360px}.card-photo img{object-position:57% center}.card-index{left:20px;top:19px;width:36px;height:36px;font-size:12px}.card-kicker{right:20px;top:28px;font-size:10px}.card-photo h3{font-size:42px;left:20px;bottom:22px;right:15px;line-height:1.02;letter-spacing:-.06em}.card-copy{padding:21px 20px;min-height:173px}.card-copy p{font-size:16px;line-height:1.5}.card-copy .eyebrow{font-size:11px;margin-top:15px}.training-footer{gap:15px}.training-scroll-hint{display:none}.training-meter-line{width:46px}.training-meter{gap:8px;font-size:12px}.training-controls{gap:6px}.training-controls button{padding:11px 14px;font-size:12px;min-height:42px}.ticker{padding:24px 0;margin-top:28px}.ticker-group{gap:26px;padding-right:26px}.ticker-track .ticker-separator{width:30px;height:2px}.ticker-track span{font-size:27px}.place{padding-top:70px;padding-bottom:65px}.place-heading{gap:22px;margin-bottom:28px}.place-heading>p{display:none}.place-heading .eyebrow{font-size:11px}.place-heading h2{font-size:18vw;margin-top:22px}.place-map{height:440px}.place-area{bottom:39px;left:17px;padding:19px 21px;gap:10px}.place-area .eyebrow{font-size:10px}.place-area strong{font-size:35px}.place-area>span:last-child{font-size:12px}.place-coordinates{top:17px;right:70px;font-size:11px;padding:8px 10px}.place-bottom{align-items:start;flex-direction:column;gap:25px}.place-bottom p{font-size:22px}.place-bottom span{font-size:14px}.map-credit{font-size:10px}.place-button{width:100%}}
@media(max-height:760px) and (min-width:601px){.story-stage{padding-top:110px;padding-bottom:45px}.story-copy{font-size:4.5vw;max-width:1120px}.story-label{margin-bottom:28px}.story-bottom{margin-top:30px}.training-heading h2{font-size:42px}.training-heading h2{margin-top:10px}.training-heading .eyebrow{font-size:11px}.card-photo h3{font-size:4.8vw}}
@media(max-height:760px) and (max-width:600px){.story-copy{font-size:7.8vw;line-height:1.15}.story-stage{padding-top:105px;padding-bottom:35px}.story-label{margin-bottom:22px}.story-bottom{margin-top:23px;gap:12px}.training-heading h2{font-size:32px}.card-photo h3{font-size:36px;bottom:18px}.card-copy{min-height:160px;padding:17px 20px}.card-copy p{font-size:14px}.card-copy .eyebrow{font-size:10px;margin-top:12px}.card-kicker{display:none}}
@media(prefers-reduced-motion:reduce){.story-word{color:inherit!important}.story-copy em,.story-word[data-accent]{color:var(--accent)!important}.story-progress i{transform:scaleX(1)}.training-stage{padding-top:80px}}

.story-word[data-accent]{color:var(--accent)}
@media(max-height:760px) and (max-width:600px){.card-description ol{font-size:14px}}
