:root{--bg:#0b1017;--panel:#121b26;--ink:#e8edf3;--accent:#b7cdee;--muted:#8995a5;--line:#c8ddfa26;--ease:cubic-bezier(.16,1,.3,1);--mono:ui-monospace,SFMono-Regular,"SF Mono",Consolas,monospace}
/* Hide only the page scrollbar; native scrolling and the site indicator remain active. */
html,body{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:110px;background:var(--bg);color-scheme:dark}body{font-family:"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;overflow-x:clip;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%}button{border:0;background:none}em{font-style:normal;color:var(--accent)}::selection{background:var(--accent);color:var(--bg)}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}main:focus{outline:none}.wrap{width:min(90%,1520px);margin-inline:auto}.mono{font:9px/1.65 var(--mono);letter-spacing:1.1px;text-transform:uppercase}.muted{color:var(--muted)}.skip-link{position:fixed;top:-100px;left:24px;z-index:2200;background:var(--accent);color:var(--bg);padding:12px 20px}.skip-link:focus{top:15px}.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(var(--reading,0));transform-origin:left;z-index:2000;pointer-events:none}
.site-header{position:fixed;top:0;left:0;width:100%;height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;z-index:100;border-bottom:1px solid transparent;background:linear-gradient(#0b1017b0,transparent);transition:height .5s var(--ease),background .5s,border-color .5s}.site-header.is-scrolled{height:76px;background:#0b1017e8;backdrop-filter:blur(18px);border-color:var(--line)}.wordmark{font-size:24px;font-weight:800;letter-spacing:-1.5px;line-height:1;display:flex;align-items:center}.wordmark span{font-weight:400;font-size:17px;letter-spacing:-.8px;margin-left:1px}.wordmark sup{font:17px/1 var(--mono);color:var(--accent);margin-left:7px;transform:translateY(-6px)}.desktop-nav{display:flex;align-items:center;gap:34px}.desktop-nav a{font:10px/1 var(--mono);letter-spacing:.1px;min-height:44px;display:flex;align-items:center;gap:12px;position:relative}.desktop-nav a>span{font-size:13px;opacity:0;transform:translate(-4px,4px);transition:opacity .3s,transform .5s var(--ease)}.desktop-nav a:hover>span,.desktop-nav a[aria-current]>span{opacity:1;transform:none}.desktop-nav a[aria-current]{color:var(--accent)}.desktop-nav a:last-child{padding:14px 18px;border:1px solid var(--line)}.desktop-nav a:last-child>span{opacity:1;transform:none}.menu-toggle{display:none;font:11px/1 var(--mono);min-height:44px;align-items:center;gap:15px}.menu-toggle span{font-size:21px;color:var(--accent)}.mobile-menu{position:fixed;inset:76px 0 0;background:#0b1017fa;z-index:99;padding:7vh 7%;backdrop-filter:blur(20px)}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu a{display:flex;justify-content:space-between;align-items:center;font-size:clamp(35px,8vw,65px);letter-spacing:-2px;border-bottom:1px solid var(--line);padding:13px 0}.mobile-menu a[aria-current],.mobile-menu a>span{color:var(--accent)}.mobile-menu p{margin-top:50px;color:var(--muted)}
.hero{position:relative;height:max(830px,100svh);max-height:1200px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 65% 43%,#28384c70,transparent 62%),var(--bg)}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),transparent 20%);pointer-events:none;z-index:2}.hero-word{position:absolute;top:14%;left:-2%;white-space:nowrap;font-size:25vw;font-weight:800;line-height:1;letter-spacing:-.085em;color:#c1d6f206;user-select:none;pointer-events:none;transform:translateY(var(--ambient-y,0px))}.hero-meta{position:absolute;left:5%;right:5%;top:128px;display:flex;justify-content:space-between;z-index:5;color:#aebed2;font-size:8px}.hero-meta>span:first-child{display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;width:4px;height:4px;background:var(--accent);box-shadow:0 0 9px #b7cdee88}.hero-stage{position:absolute;inset:0;perspective:1600px;transform:translateY(var(--stage-y,0px))}.hero-photograph{position:absolute;top:17%;left:29%;width:69%;height:66%;transform:translate3d(var(--camera-x,0px),var(--camera-y,0px),0) rotateY(var(--photo-yaw,-7deg)) rotateX(var(--photo-pitch,2deg)) rotateZ(-2deg);transform-style:preserve-3d;filter:drop-shadow(0 35px 45px #0006);will-change:transform;animation:photoEntrance 1.8s var(--ease) backwards}.hero-photograph>img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9) brightness(.8);transition:opacity .25s}.photo-surface{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.gpu-ready>img{opacity:0}.hero-atmosphere{position:absolute;inset:0;background:linear-gradient(90deg,#0b101799,transparent 40%),linear-gradient(0deg,#0b1017b0,transparent 45%);pointer-events:none;z-index:1}.hero-atmosphere::before{content:"";position:absolute;inset:-15%;background:linear-gradient(115deg,transparent 35%,#c2d8ff0b 50%,transparent 64%);transform:translateX(var(--fog-x,0px))}.scene-coordinate{position:absolute;top:76%;left:32%;width:58%;display:flex;justify-content:space-between;z-index:2;font-size:7px;color:#c2d2e680}.scene-coordinate>span:last-child{text-align:right}.hero-copy{position:absolute;left:5%;bottom:180px;z-index:4;transform:translate3d(0,var(--title-y,0px),0);opacity:var(--title-alpha,1)}.hero-copy>p{font-size:8px;letter-spacing:1.4px;margin-bottom:22px;color:#d3dfed}.hero-copy h1{font-size:clamp(130px,17vw,260px);font-weight:700;letter-spacing:-.09em;line-height:.78;margin-left:-.055em}.hero-copy h1 em{font-weight:400;display:inline-block;transform:translateX(var(--type-slide,0px))}.title-word{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .08em .17em 0;margin:0 -.08em -.17em 0}.title-word>span{display:inline-block;animation:titleEntrance 1.25s var(--ease) backwards;animation-delay:calc(var(--word,0)*.11s + .15s)}.hero-bottom{position:absolute;left:5%;right:5%;bottom:35px;z-index:4;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center;border-top:1px solid var(--line);padding-top:22px}.hero-bottom>p{font-size:12px;line-height:1.7;color:#adbbcd}.scroll-note{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:8px;color:#aebed2}.scroll-note>span{font-size:23px;animation:scrollHint 3s infinite ease-in-out}.button-link{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:16px 22px;border:1px solid #c5daf044;background:var(--accent);color:#101823;font-size:11px;min-height:52px;overflow:hidden;transition:color .4s,background .4s,transform .5s var(--ease)}.button-link>span{font-size:23px;line-height:1;transition:transform .5s var(--ease)}.button-link:hover{background:#dae7fb;transform:translateY(-2px)}.button-link:hover>span{transform:translate(3px,-3px)}.text-link{display:inline-flex;gap:40px;align-items:center;min-height:44px;border-bottom:1px solid #b7cdee66;font-size:11px;color:var(--accent);padding:8px 0}.text-link>span{font-size:21px;transition:transform .5s var(--ease)}.text-link:hover>span{transform:translate(3px,-3px)}
.section-label{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;font:9px/1.5 var(--mono);letter-spacing:1px;color:var(--muted);text-transform:uppercase}.section-label>span:first-child{display:flex;gap:10px;align-items:center}.section-label i{display:block;width:4px;height:4px;background:var(--accent)}.display{font-size:clamp(42px,5.4vw,86px);font-weight:500;line-height:1.03;letter-spacing:-.06em}.intro{padding-top:90px}.intro-copy{display:grid;grid-template-columns:1.5fr .65fr;gap:12%;align-items:end;margin:65px 0 70px}.intro-aside p{color:var(--muted);font-size:13px;line-height:1.9}.intro-aside .text-link{margin-top:22px}.selected-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:9%}.selected-card{display:block;width:100%;text-align:left;min-width:0}.selected-card:nth-child(2){margin-top:150px}.image-window{position:relative;overflow:hidden;background:var(--panel);aspect-ratio:1.23}.image-window img{height:113%;width:100%;object-fit:cover;position:absolute;top:-6.5%;left:0;transform:translateY(var(--media-y,0px)) scale(1.025);transition:transform .6s var(--ease),filter .6s}.selected-card:nth-child(2) .image-window{aspect-ratio:.86}.selected-card:hover .image-window img{filter:brightness(1.08)}.frame-caption{display:flex;justify-content:space-between;gap:15px;padding-top:16px;color:var(--muted);font-size:8px}.frame-caption>span:last-child{color:var(--accent)}.type-run{overflow:hidden;margin:110px 0;user-select:none;border-block:1px solid #c8ddfa0c;padding:18px 0}.type-run>span{display:block;white-space:nowrap;font-size:clamp(60px,10vw,180px);letter-spacing:-.07em;font-weight:600;line-height:1.1;color:transparent;-webkit-text-stroke:1px #c4d9f330;transform:translateX(var(--type-x,-8%))}.type-run em{color:var(--accent);-webkit-text-stroke:0}.sports-list{margin-top:35px}.sport-link{display:grid;grid-template-columns:45px 1fr 160px 100px 50px;align-items:center;gap:20px;padding:35px 0;border-bottom:1px solid var(--line);position:relative}.sport-link::before{content:"";position:absolute;inset:0 -20px;background:linear-gradient(90deg,#b7cdee0c,transparent);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);z-index:-1}.sport-link:hover::before{transform:scaleX(1)}.sport-link>span:first-child{color:var(--accent)}.sport-link h2{font-size:clamp(45px,6.5vw,105px);letter-spacing:-.06em;line-height:1;font-weight:400;transition:transform .7s var(--ease),color .4s}.sport-link:hover h2{transform:translateX(10px);color:var(--accent)}.sport-small,.sport-count{color:var(--muted);font-size:8px}.sport-link-arrow{font-size:40px;color:var(--accent);text-align:right;transition:transform .6s var(--ease)}.sport-link:hover .sport-link-arrow{transform:translate(4px,-4px)}.home-journal{padding-top:120px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:60px 0}.closing{padding-top:130px;padding-bottom:80px}.closing-title{display:block;position:relative;font-size:clamp(70px,10.8vw,170px);font-weight:600;letter-spacing:-.075em;line-height:.9;padding:65px 0 45px}.closing-arrow{align-self:start;color:var(--accent);font-weight:300;font-size:1.05em;transition:transform .8s var(--ease)}.closing-title:hover .closing-arrow{transform:translate(9px,-9px)}.closing-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.closing-bottom>p{font-size:13px;color:var(--muted);line-height:1.8}
.page-intro{padding-top:165px;padding-bottom:70px}.breadcrumb{display:flex;gap:10px;color:var(--muted);font-size:8px;margin-bottom:35px}.breadcrumb a:hover{color:var(--accent)}.page-title{font-size:clamp(65px,10.8vw,170px);letter-spacing:-.078em;line-height:.9;font-weight:550}.page-title em{font-weight:400}.page-intro-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:38px}.page-intro-bottom>p{font-size:14px;color:var(--muted);line-height:1.8}.page-intro-bottom>.mono{font-size:8px;color:var(--muted)}.filters{display:flex;gap:35px;align-items:center;border-block:1px solid var(--line);padding:0;position:relative;margin-bottom:50px}.filter-btn{position:relative;display:flex;gap:20px;align-items:center;min-height:64px;font-size:12px;color:var(--muted)}.filter-btn>span{font:8px/1 var(--mono);color:#8295b1}.filter-btn::after{content:"";position:absolute;bottom:-1px;height:1px;left:0;width:100%;background:var(--accent);transform:scaleX(0);transition:transform .45s var(--ease)}.filter-btn.active,.filter-btn:hover{color:var(--accent)}.filter-btn.active::after,.filter-btn:hover::after{transform:scaleX(1)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;min-height:200px}.photo-card{width:100%;text-align:left;display:block;min-width:0}.photo-card img{display:block;position:static;width:100%;height:auto;object-fit:contain;transform:none;transition:filter .6s}.photo-card:hover img{filter:brightness(1.035)}.photo-card .image-window::after{content:"VIEW +";position:absolute;bottom:18px;right:18px;padding:9px 12px;background:#0c121dcc;backdrop-filter:blur(10px);font:8px/1.3 var(--mono);letter-spacing:1px;opacity:0;transform:translateY(6px);transition:transform .5s var(--ease),opacity .4s}.photo-card:hover .image-window::after,.photo-card:focus-visible .image-window::after{opacity:1;transform:none}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:60px}.gallery-controls .button-link{background:transparent;color:var(--accent)}.gallery-controls .button-link:hover{background:var(--accent);color:var(--bg)}.gallery-loading{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:25px;position:relative}.gallery-loading span{aspect-ratio:1.5;background:linear-gradient(110deg,#15202c,#1c2938,#15202c);background-size:200%;animation:loadShimmer 2s infinite}.gallery-loading>p{grid-column:1/-1;color:var(--muted)}.empty-message{grid-column:1/-1;display:flex;flex-direction:column;align-items:start;gap:25px;padding:50px 0;max-width:600px;font-size:18px;line-height:1.6;color:var(--muted)}.empty-message h2{font-weight:400;color:var(--ink);font-size:36px;letter-spacing:-1px}.connection-message{font-size:12px;color:var(--muted);line-height:1.8;padding:30px 0}.retry-button{color:var(--accent);border-bottom:1px solid var(--line);min-height:44px;align-self:start;margin-top:15px}.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 6%}.journal-card{display:block;min-width:0;border-bottom:1px solid var(--line);padding-bottom:35px}.journal-card .image-window{aspect-ratio:1.65;margin-bottom:25px}.journal-card .image-window img{height:100%;top:0;transform:scale(1);transition:transform .9s var(--ease)}.journal-card:hover img{transform:scale(1.045)}.journal-card time{font:8px/1.6 var(--mono);text-transform:uppercase;color:var(--muted);letter-spacing:1px}.journal-card h3{font-size:clamp(27px,3vw,46px);font-weight:450;line-height:1.1;letter-spacing:-.045em;margin:18px 0;color:var(--ink);transition:color .4s}.journal-card:hover h3{color:var(--accent)}.journal-card p{font-size:13px;line-height:1.8;color:var(--muted);max-width:500px}.journal-card .journal-arrow{display:block;margin-top:22px;color:var(--accent);font:9px/1.6 var(--mono)}.journal-placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:#b7cdee30;font:12px/1.3 var(--mono);letter-spacing:4px;background:linear-gradient(135deg,#202c3e,#0c131e)}
.about-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:11%;align-items:center}.about-image{aspect-ratio:.9;overflow:hidden;position:relative}.about-image>img{height:110%;width:100%;object-fit:cover;object-position:54% center;transform:translateY(var(--media-y,0px))}.about-story>.mono{color:var(--accent);margin-bottom:25px}.about-story .display{font-size:clamp(38px,4vw,65px);margin-bottom:35px}.about-story>p:not(.mono){font-size:14px;line-height:1.9;color:var(--muted);margin-top:18px}.about-story .text-link{margin-top:25px}.process{padding-top:120px}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6%;margin-top:65px}.process-grid article{border-bottom:1px solid var(--line);padding-bottom:45px}.process-grid article>.mono{color:var(--accent)}.process-grid h3{font-size:clamp(24px,2.5vw,39px);letter-spacing:-.045em;line-height:1.1;font-weight:450;margin:30px 0 20px}.process-grid p{font-size:13px;color:var(--muted);line-height:1.9;max-width:320px}.story-page{padding-top:160px;max-width:1300px}.article-heading{max-width:1000px;margin:60px 0}.article-heading>.mono{color:var(--accent);margin-bottom:24px}.article-heading h1{font-size:clamp(45px,7vw,105px);font-weight:500;letter-spacing:-.065em;line-height:1.02}.article-heading>p:last-child{font-size:17px;color:var(--muted);max-width:700px;margin-top:30px}.story-page>img{width:100%;max-height:85svh;object-fit:contain;margin-bottom:70px}.article-body{max-width:730px;font-size:18px;line-height:1.95;color:#bcc8d6;margin-inline:auto;white-space:pre-wrap}.article-body p{margin-bottom:25px}.article-body a{color:var(--accent);text-decoration:underline}
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:11%;align-items:start}.package-card{padding:35px;background:linear-gradient(135deg,#1b283a,#111a26);border:1px solid var(--line)}.package-card>.mono{color:var(--accent)}.session-price{font-size:70px;line-height:1.1;letter-spacing:-4px;margin:25px 0}.session-price small{font:10px/1.4 var(--mono);letter-spacing:0;color:var(--muted);margin-left:9px}.package-card>p:not(.session-price){font-size:13px;color:#aab9cc;line-height:1.9;margin-bottom:30px}.package-card .muted{font-size:7px;color:var(--muted)}.direct-contact{display:flex;flex-direction:column;align-items:start;gap:15px;margin-top:40px}.direct-contact>.mono{color:var(--muted);font-size:8px}.direct-contact>a{font-size:clamp(14px,1.45vw,23px);letter-spacing:-.5px}.direct-contact .text-link{margin-top:10px;gap:25px}.direct-contact [data-copy-status]{font-size:8px;color:var(--accent)}.booking-form{min-width:0}.form-heading{border-top:1px solid var(--line);padding-top:20px;margin-bottom:35px}.form-heading>.mono{color:var(--accent);font-size:8px}.form-heading h2{font-size:34px;font-weight:450;letter-spacing:-1.5px;line-height:1.1;margin-top:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-group{margin-bottom:28px}.form-group label{display:block;font:8px/1.6 var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.form-group input,.form-group select,.form-group textarea{width:100%;min-width:0;min-height:50px;padding:13px 0;border:0;border-bottom:1px solid #a3bfd140;background:transparent;color:var(--ink);font-size:13px;border-radius:0;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-bottom-color:var(--accent)}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.form-group option{background:var(--bg)}.form-group textarea{min-height:110px;resize:vertical}.form-group>p{font-size:10px!important;color:var(--muted)!important;margin-top:12px;line-height:1.7!important}.submit-btn{width:100%;min-height:54px;background:var(--accent);color:#111a26;font-size:12px;transition:background .3s}.submit-btn:hover{background:#d3e3fa}.form-note{font-size:11px;color:var(--muted);line-height:1.8;margin-top:18px;max-width:420px}.faq{padding-top:120px;padding-bottom:100px}.faq>.section-label{margin-bottom:35px}.faq details{border-bottom:1px solid var(--line);padding:0}.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:85px;font-size:clamp(18px,2.2vw,28px);font-weight:400;letter-spacing:-.5px;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary>span{color:var(--accent);transition:transform .4s}.faq details[open] summary>span{transform:rotate(45deg)}.faq details>p{font-size:14px;line-height:1.9;color:var(--muted);max-width:650px;padding:0 0 30px}
.site-footer{border-top:1px solid var(--line);padding-top:35px}.partners-bar{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:0 0 50px}.partners-bar>p{font-size:8px;color:var(--muted);flex-shrink:0}.partners-grid{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:30px}.partner-item{display:flex;align-items:center;justify-content:center}.partner-img{max-width:140px;max-height:50px;object-fit:contain;filter:none}.partner-text{font-size:13px;letter-spacing:1.5px;color:#b8c7d9}.footer-top{display:grid;grid-template-columns:1.1fr .7fr 1fr;gap:30px;align-items:center;padding:35px 0;border-top:1px solid var(--line)}.footer-brand{font-size:clamp(30px,4.2vw,63px);font-weight:650;letter-spacing:-3px;white-space:nowrap}.footer-brand span{font-weight:350}.footer-brand i{font-weight:300;font-style:normal;color:var(--accent);font-size:.6em;vertical-align:top;display:inline-block;margin-left:8px;transform:translateY(7px)}.footer-top>p{font-size:11px;line-height:1.8;color:var(--muted)}.footer-top>a:last-child{font-size:12px;justify-self:end;color:var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding:18px 0 25px;font-size:7px;color:var(--muted)}.footer-bottom>div{display:flex;align-items:center;gap:24px}.footer-bottom button,.footer-bottom a{font:inherit;letter-spacing:inherit;min-height:44px}.footer-bottom button:hover,.footer-bottom a:hover{color:var(--accent)}.noscript-note{padding:30px 5%;font-size:13px;color:var(--muted)}.not-found{padding:200px 0 120px}.not-found>.mono{color:var(--accent);margin-bottom:30px}.not-found>p:not(.mono){margin:35px 0;color:var(--muted)}
.lightbox{position:fixed;inset:0;z-index:1500;background:#070b12f7;backdrop-filter:blur(18px);display:grid;grid-template-rows:auto 1fr auto;gap:20px;padding:20px 4% 22px}.lightbox-top{display:flex;justify-content:space-between;gap:20px;align-items:center;font:10px/1.6 var(--mono);color:var(--muted)}.lightbox-top>button{padding:9px 18px;border:1px solid var(--line);min-height:44px;font:inherit;color:var(--ink)}.lightbox>img{width:100%;height:100%;min-height:0;object-fit:contain}.lightbox-bottom{display:flex;align-items:center;justify-content:center;gap:25px;color:var(--muted);font:9px/1.5 var(--mono)}.lightbox-bottom button{width:48px;height:44px;border:1px solid var(--line);color:var(--accent);font-size:20px}.lightbox.is-changing img{animation:imageChange .4s var(--ease)}.reveal{opacity:1;transform:none}.motion-ready .reveal{transition:opacity .9s var(--ease),transform 1.3s var(--ease),clip-path 1.3s var(--ease);transition-delay:var(--delay,0ms)}.motion-ready .reveal:not(.in-view){opacity:0;transform:translate3d(0,35px,0)}.motion-ready .selected-card.reveal:not(.in-view),.motion-ready .photo-card.reveal:not(.in-view){clip-path:inset(8% 0 0)}.motion-ready .section-label.reveal:not(.in-view){transform:scaleX(.96);transform-origin:left}.motion-off *,.motion-off *::before,.motion-off *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .reveal{opacity:1!important;transform:none!important;clip-path:none!important}.motion-off .hero-copy,.motion-off .hero-stage,.motion-off .hero-photograph,.motion-off .hero-word,.motion-off .image-window img,.motion-off .about-image>img,.motion-off .hero-copy h1 em{transform:none!important}.motion-off .hero-copy{opacity:1!important}.motion-off .photo-surface{display:none}.motion-off .hero-photograph>img{opacity:1}.motion-off .hero-atmosphere::before{transform:none}
@keyframes titleEntrance{from{transform:translate3d(0,115%,0) rotateZ(3deg);filter:blur(5px);opacity:0}to{transform:none;filter:blur(0);opacity:1}}@keyframes photoEntrance{from{opacity:0;clip-path:inset(12% 0 5% 15%)}to{opacity:1;clip-path:inset(0)}}@keyframes scrollHint{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}@keyframes loadShimmer{to{background-position:-200% 0}}@keyframes imageChange{from{opacity:.3;transform:scale(.99)}to{opacity:1;transform:none}}
@keyframes exitPage{to{opacity:0;transform:translateY(-12px)}}@keyframes enterPage{from{opacity:0;clip-path:inset(3% 0 0);transform:translateY(16px)}to{opacity:1;clip-path:inset(0);transform:none}}
@media(min-width:1700px){.hero-copy{left:max(5%,calc((100vw - 1520px)/2))}.hero-copy h1{font-size:280px}}
@media(max-width:1100px){.desktop-nav{gap:25px}.hero{min-height:800px}.hero-copy h1{font-size:20vw}.hero-photograph{left:24%;width:79%;height:61%;top:21%}.scene-coordinate{top:80%;left:32%}.intro-copy{grid-template-columns:1.5fr .8fr;gap:8%}.sport-link{grid-template-columns:30px 1fr 145px 80px 35px;gap:15px}.sport-link h2{font-size:7vw}.sport-small,.sport-count{font-size:7px}.sport-link-arrow{font-size:30px}.about-feature{gap:7%}.contact-layout{gap:7%;grid-template-columns:.8fr 1.15fr}.package-card{padding:25px}.session-price{font-size:60px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>p{display:none}.footer-top>a:last-child{font-size:11px}.form-row{gap:17px}}
@media(max-width:760px){
 .wrap{width:88%}.site-header{height:76px;padding:0 6%}.wordmark{font-size:24px}.wordmark span{font-size:16px}.desktop-nav{display:none}.menu-toggle{display:flex}.site-header.is-scrolled{height:70px}.mobile-menu{inset:70px 0 0}
 .hero{height:max(800px,100svh);min-height:0;max-height:1100px}.hero-word{top:20%;font-size:31vw}.hero-meta{left:6%;right:6%;top:109px;font-size:7px;letter-spacing:.6px}.hero-meta>span:last-child{display:none}.hero-photograph{top:21%;left:13%;width:99%;height:52%;transform:rotateY(-5deg) rotateZ(-2deg)}.hero-copy{left:6%;bottom:168px}.hero-copy>p{font-size:7px;letter-spacing:1px;margin-bottom:22px}.hero-copy h1{font-size:25vw;line-height:.79;letter-spacing:-.085em}.hero-bottom{left:6%;right:6%;bottom:24px;grid-template-columns:1fr auto;gap:18px;padding-top:20px}.hero-bottom .scroll-note{display:none}.hero-bottom>p{font-size:11px;line-height:1.8}.hero-bottom .button-link{padding:13px 16px;gap:20px;font-size:10px;min-height:48px}.scene-coordinate{top:72%;left:18%;right:6%;width:auto;font-size:6px}.scene-coordinate>span:last-child{display:none}.button-link{font-size:11px;padding:14px 18px;gap:28px}.text-link{font-size:11px;gap:25px}.mono{font-size:8px}
 .intro{padding-top:65px}.section-label{font-size:7px;letter-spacing:.6px;padding-top:16px}.intro-copy{display:block;margin:40px 0 45px}.display{font-size:clamp(35px,7vw,58px)}.intro-aside{margin-top:25px;max-width:380px}.intro-aside p{font-size:13px}.intro-aside .text-link{margin-top:15px}.selected-grid{gap:7%}.selected-card:nth-child(2){margin-top:90px}.frame-caption{font-size:6px;gap:8px;letter-spacing:.6px;line-height:1.9;padding-top:12px}.frame-caption>span:last-child{display:none}.selected-card .image-window{aspect-ratio:.9}.selected-card:nth-child(2) .image-window{aspect-ratio:.7}.type-run{margin:65px 0;padding:15px 0}.type-run>span{font-size:14vw}.sports-list{margin-top:20px}.sport-link{grid-template-columns:25px 1fr 70px 27px;gap:10px;padding:28px 0}.sport-link h2{font-size:9vw}.sport-small{display:none}.sport-count{font-size:6px;letter-spacing:.5px}.sport-link-arrow{font-size:25px}.sport-link>span:first-child{font-size:8px}.home-journal{padding-top:75px}.section-heading{margin:40px 0;gap:25px}.section-heading .text-link{font-size:10px;flex-shrink:0;gap:20px}.closing{padding-top:80px;padding-bottom:60px}.closing-title{font-size:13vw;padding-top:45px;padding-bottom:30px}.closing-arrow{font-size:.85em}.closing-bottom{align-items:start}.closing-bottom>p{font-size:11px}.closing-bottom .text-link{font-size:10px;gap:20px}
 .page-intro{padding-top:130px;padding-bottom:40px}.breadcrumb{font-size:7px;margin-bottom:27px;gap:7px}.page-title{font-size:clamp(55px,11vw,100px);line-height:.96}.page-intro-bottom{margin-top:26px;gap:25px}.page-intro-bottom>p{font-size:12px;line-height:1.75}.page-intro-bottom>.mono{font-size:6px;letter-spacing:.7px}.filters{gap:24px;margin-bottom:30px}.filter-btn{gap:10px;font-size:11px;min-height:58px}.filter-btn>span{font-size:7px}.gallery{gap:14px;min-height:150px}.photo-card .image-window::after{display:none}.gallery-controls{margin-top:40px;gap:20px}.gallery-controls>.mono{font-size:7px}.gallery-loading{gap:15px}.gallery-loading>p{font-size:7px}.journal-grid{gap:40px 5%}.journal-card .image-window{aspect-ratio:1.2;margin-bottom:20px}.journal-card h3{font-size:clamp(24px,4vw,33px);margin:15px 0}.journal-card p{font-size:12px}.journal-card time{font-size:7px}.journal-card{padding-bottom:25px}.journal-card .journal-arrow{font-size:7px}.empty-message{font-size:15px;padding:25px 0}.empty-message h2{font-size:30px}
 .about-feature{display:block}.about-image{aspect-ratio:1.3;margin-bottom:40px}.about-story .display{font-size:clamp(35px,7vw,50px)}.about-story>p:not(.mono){font-size:13px;max-width:520px}.process{padding-top:75px}.process-grid{margin-top:45px;gap:5%}.process-grid h3{font-size:26px;margin:20px 0 15px}.process-grid article>.mono{font-size:7px;letter-spacing:.5px}.process-grid p{font-size:12px}.process-grid article{padding-bottom:30px}.story-page{padding-top:120px}.article-heading{margin:40px 0}.article-heading h1{font-size:clamp(40px,8vw,70px)}.article-heading>p:last-child{font-size:14px}.article-body{font-size:16px;line-height:1.9}.story-page>img{margin-bottom:40px}
 .contact-layout{display:flex;flex-direction:column;gap:45px}.contact-aside{display:grid;grid-template-columns:1fr 1fr;gap:7%;width:100%}.package-card{padding:23px}.package-card>.mono{font-size:7px}.session-price{font-size:55px;margin:20px 0}.session-price small{font-size:8px}.package-card>p:not(.session-price){font-size:11px}.package-card .muted{font-size:6px}.direct-contact{margin:0;align-self:center;gap:12px}.direct-contact>a{font-size:14px;letter-spacing:-.4px}.direct-contact>.mono{font-size:7px}.direct-contact .text-link{font-size:10px}.booking-form{width:100%}.form-heading h2{font-size:30px}.form-row{gap:24px}.form-group label{font-size:8px}.form-group input,.form-group select,.form-group textarea{font-size:16px}.form-group>p{font-size:10px!important}.faq{padding-top:75px;padding-bottom:70px}.faq summary{font-size:19px;min-height:80px}.faq details>p{font-size:13px}
 .partners-bar{display:block;padding-bottom:35px}.partners-bar>p{font-size:7px;margin-bottom:25px}.partners-grid{justify-content:flex-start;gap:25px}.partner-img{max-width:115px;max-height:43px}.partner-text{font-size:12px}.footer-top{padding:28px 0}.footer-brand{font-size:35px;letter-spacing:-2px}.footer-top>a:last-child{font-size:9px}.footer-bottom{font-size:6px;gap:15px;padding:12px 0}.footer-bottom>div{gap:16px}.lightbox{padding:15px 5% 20px;gap:15px}.lightbox-top{font-size:8px}.lightbox-top>button{padding:9px 12px}.lightbox-bottom{font-size:8px}.not-found{padding-top:160px}
}
@media(max-width:450px){
 .hero{height:max(780px,100svh)}.hero-photograph{top:22%;height:49%;width:112%;left:8%}.hero-copy{bottom:163px}.hero-copy h1{font-size:29vw}.hero-copy>p{font-size:6.5px;margin-bottom:20px}.hero-bottom>p{font-size:10px}.hero-bottom .button-link{padding:13px;gap:15px;font-size:9px}.hero-bottom .button-link>span{font-size:20px}.hero-meta{font-size:6px;letter-spacing:.7px}.scene-coordinate{top:70%}.selected-grid{display:block}.selected-card:nth-child(2){margin-top:35px;margin-left:15%;width:85%}.selected-card .image-window{aspect-ratio:1.35}.selected-card:nth-child(2) .image-window{aspect-ratio:1.05}.frame-caption{font-size:7px}.frame-caption>span:last-child{display:block;font-size:6px}.display{font-size:10vw}.section-label>span:last-child{font-size:6px;letter-spacing:.3px}.section-heading{display:block}.section-heading .text-link{margin-top:20px}.closing-title{font-size:13.5vw}.closing-bottom{display:block}.closing-bottom .text-link{margin-top:15px}.filters{gap:0;justify-content:space-between}.filter-btn{font-size:10px;gap:9px}.gallery{gap:14px}.photo-card .frame-caption>span:last-child{display:none}.photo-card .frame-caption{font-size:6px;letter-spacing:.5px}.journal-grid{grid-template-columns:1fr;gap:40px}.journal-card .image-window{aspect-ratio:1.5}.journal-card h3{font-size:31px}.journal-card p{font-size:13px}.process-grid{display:block}.process-grid article{margin-bottom:30px}.process-grid h3{font-size:32px}.process-grid p{max-width:none;font-size:13px}.contact-aside{display:block}.direct-contact{margin-top:35px}.direct-contact>a{font-size:19px}.direct-contact>.mono{font-size:8px}.session-price{font-size:67px}.package-card>p:not(.session-price){font-size:13px}.form-row{display:block}.footer-top{display:block}.footer-top>a:last-child{display:block;margin-top:20px;font-size:11px}.footer-brand{font-size:43px}.footer-bottom{flex-direction:column;gap:0}.footer-bottom>div{justify-content:space-between}.partners-grid{gap:22px}.partner-img{max-width:105px}.page-intro-bottom{align-items:start}.page-intro-bottom>.mono{max-width:100px;text-align:right}.page-title{font-size:12.4vw}.hero-word{font-size:38vw;top:18%}.gallery-controls{align-items:start}.gallery-controls .button-link{font-size:10px;padding:12px 15px;gap:15px}.not-found .page-title{font-size:17vw}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important;clip-path:none!important}.hero-copy,.hero-stage,.hero-photograph,.hero-word,.image-window img,.about-image>img,.hero-copy h1 em{transform:none!important}.hero-copy{opacity:1!important}.photo-surface{display:none}.hero-photograph>img{opacity:1!important}}
/* Keep image windows measurable when used inside native photograph buttons. */
.image-window{display:block;width:100%}
@media(min-width:761px){.hero{height:max(720px,100svh);min-height:720px}}
@media(max-width:450px){.photo-card .frame-caption{font-size:8px;letter-spacing:.3px}.filter-btn{font-size:11px}.filter-btn>span{font-size:8px}.gallery-controls>.mono{font-size:8px}}
.image-unavailable::before{content:"IMAGE UNAVAILABLE";position:absolute;inset:0;display:grid;place-items:center;font:9px/1.5 var(--mono);letter-spacing:1px;color:var(--muted)}
.hero-frame-open{position:absolute;inset:0;z-index:1;cursor:zoom-in;text-align:right}
.hero-frame-open>span{position:absolute;right:20px;top:20px;color:#e8edf3;background:#0b10178a;backdrop-filter:blur(8px);border:1px solid #d3e2fb30;padding:10px 13px;font:8px/1.5 var(--mono);letter-spacing:1px;opacity:0;transform:translateY(-5px);transition:opacity .4s,transform .5s var(--ease)}
.hero-frame-open:hover>span,.hero-frame-open:focus-visible>span{opacity:1;transform:none}
@media(max-width:760px){.hero-frame-open>span{opacity:1;transform:none;right:16%;top:15px;font-size:7px;padding:7px 10px}}
/* A real photograph stays visible while the optional GPU surface starts or resizes. */
.gpu-ready>img{opacity:var(--fallback-opacity,1)}
@media(max-width:450px){.hero{height:max(740px,100svh)}}

main{animation:enterPage .65s var(--ease) backwards}.is-leaving main{animation:none;opacity:0;transform:translateY(-10px);transition:opacity .18s ease,transform .18s ease}

/* Stable two-line typography: the direction arrow has its own reserved column. */
.closing-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3%;align-items:start;font-size:clamp(60px,10.5vw,165px)}
.closing-copy,.closing-line{display:block;min-width:0}.closing-line{overflow:hidden;padding-bottom:.18em;margin-bottom:-.14em}
.closing-line>span,.closing-line>em{display:block;white-space:nowrap;transition:transform 1.3s var(--ease),opacity .8s ease;transition-delay:.08s}
.closing-line:nth-child(2)>em{transition-delay:.18s}
.motion-ready .closing-title:not(.in-view) .closing-line>*{transform:translateY(115%);opacity:0}
.closing-arrow{position:static;line-height:.9;transition:transform .8s var(--ease),color .5s}
.closing-title:hover .closing-arrow{transform:translate(7px,-7px);color:#edf4ff}
.closing-title::after{content:"";position:absolute;bottom:24px;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--accent),#b7cdee08);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.closing-title:hover::after{transform:scaleX(1)}
/* Full frames, measured rows, close spacing. No photographic cropping or zoom. */
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px}
.gallery.is-masonry{grid-auto-rows:4px;row-gap:0}
.photo-card{align-self:start;position:relative;margin:0}
.photo-card .image-window{aspect-ratio:auto;outline:1px solid #c2d8ff0c;outline-offset:-1px;transition:outline-color .5s}
.photo-card .image-window.image-pending,.photo-card .image-window.image-unavailable{aspect-ratio:1.5}
.photo-card .image-pending img{opacity:0}
.photo-card:hover .image-window,.photo-card:focus-visible .image-window{outline-color:#c2d8ff55}
.photo-card .frame-caption{padding:11px 0 0;font-size:8px;line-height:1.5;letter-spacing:.6px}
.photo-card .image-window::after{display:none}
.photo-card .image-window:not(.image-unavailable)::before{content:"";position:absolute;z-index:1;inset:-40%;background:linear-gradient(115deg,transparent 42%,#e1efff18 49%,#e1efff05 53%,transparent 61%);transform:translateX(-75%);pointer-events:none;opacity:0;transition:transform 1s var(--ease),opacity .4s}
.photo-card:hover .image-window::before,.photo-card:focus-visible .image-window::before{transform:translateX(70%);opacity:1}
.photo-card .frame-caption>span:last-child{transition:color .4s,transform .5s var(--ease)}
.photo-card:hover .frame-caption>span:last-child{transform:translateX(3px);color:#edf4ff}
.filters{position:sticky;top:81px;z-index:8;background:#0b1017e8;backdrop-filter:blur(18px);margin-bottom:24px}
.hero-atmosphere::before{background:linear-gradient(115deg,transparent 30%,#c2d8ff12 48%,transparent 67%)}
@media(max-width:1000px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.gallery{column-gap:14px}.filters{top:70px;margin-bottom:20px}.photo-card .frame-caption{font-size:7px;letter-spacing:.3px;padding-top:9px}.closing-title{font-size:12.2vw;gap:3%}.closing-title::after{bottom:16px}}
@media(max-width:360px){.gallery{grid-template-columns:1fr}.photo-card .frame-caption>span:last-child{display:block}.closing-title{font-size:12vw}}
.motion-off .closing-title .closing-line>*{transform:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.closing-title .closing-line>*{transform:none!important;opacity:1!important}.photo-card .image-window::before{display:none}}

#load-more:disabled{opacity:.5;cursor:wait}
