/* Wildline: dark chocolate, fine gold type, clear actions. */
:root{--container:1240px;--radius:16px;--line:#d9c8b51c;--muted:#cfbfb0;--gold-hover:#f0d689;--ease:cubic-bezier(.2,.8,.2,1)}
body{background:radial-gradient(ellipse at 85% 0,#51372115,transparent 42%),var(--bg);font-size:17px;line-height:1.65}
body.menu-open{overflow:hidden}
h1,h2,h3{font-weight:250}
h1 em,h2 em{font-weight:150;font-style:italic}
strong{font-weight:350}
.container{width:calc(100% - 104px)}
.icon{stroke-width:1.25}
.eyebrow{font-size:11px;letter-spacing:2px;font-weight:150;margin-bottom:19px}
.eyebrow-line{width:29px;height:1px;background:var(--gold);display:inline-block}
.button{border-radius:9px;min-height:52px;padding:14px 22px;gap:14px;font-weight:350;box-shadow:0 3px 0 #00000012;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0002}
.button:active{transform:translateY(0)}
.button-outline{border-color:#e9c97045;box-shadow:none;color:var(--gold);font-weight:150}
.button .icon{width:19px;height:19px}
.plain-link{font-size:15px;gap:12px;font-weight:150}
.plain-link .icon{width:19px;height:19px;transition:transform .2s}
.plain-link:hover .icon{transform:translateX(3px)}
.badge{padding:5px 10px;border-radius:6px;font-size:10px;letter-spacing:1px;font-weight:150}
.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #e9c97009;flex-shrink:0}
.topline{background:#1c120d;border-color:#d9c8b514;font-size:11px}
.topline>.container{min-height:35px}
.topline a{gap:12px}
.site-header{background:#1d130eeb;border-color:#d9c8b518;backdrop-filter:blur(24px)}
.header-inner{min-height:88px;gap:28px}
.brand{font-size:25px;letter-spacing:3.2px;font-weight:250}
.brand small{font-size:7px;letter-spacing:2.3px;color:var(--gold);font-weight:200;margin-top:9px}
#main-nav{gap:22px;font-size:13px;display:flex;align-items:center}
.nav-pages{display:flex;align-items:center;gap:5px}
.nav-pages>a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 12px;border-radius:9px;color:var(--muted);font-size:12px;line-height:1.4;transition:color .2s,background .2s}
.nav-pages>a>.icon{width:19px;height:19px}
.nav-pages>a:hover{background:#e9c97008;color:var(--text)}
.nav-pages>a[aria-current=page]{background:#e9c97010;color:var(--gold)}
.nav-account{display:flex;align-items:center;gap:18px;border-left:1px solid var(--line);padding-left:22px}
.nav-account .button{padding:11px 16px;min-height:44px;font-size:13px;gap:12px}
.nav-login{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}
.nav-login .icon{width:17px;height:17px}
.nav-heading,.nav-training,.nav-backdrop,.mobile-actions{display:none}
.section{padding-top:67px;padding-bottom:67px}
.section-heading{margin-bottom:30px}
.section-heading h2{font-size:clamp(32px,3.3vw,46px);letter-spacing:-1.6px}
.section-heading .eyebrow{margin-bottom:13px}
.hero-editorial{padding:56px 0 42px;overflow:hidden;position:relative}
.hero-editorial:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 75% 35%,#8054311b,transparent 58%)}
.hero-grid{grid-template-columns:1.05fr 1fr;gap:40px;position:relative;align-items:center;min-height:510px}
.hero h1{font-size:clamp(54px,5.4vw,80px);letter-spacing:-3px;line-height:1.13;font-weight:250}
.hero h1 em{white-space:nowrap}
.hero-description{font-size:18px;margin:26px 0 30px}
.hero-actions{gap:23px}
.hero-actions>.button{font-size:15px}
.hero-actions>.plain-link{font-size:14px}
.hero-note{margin-top:26px;font-size:12px;gap:10px}
.hero-note .icon{width:18px;height:18px}
.hero-visual{padding:0 0 62px 32px;margin:0;min-width:0;position:relative}
.hero-photo{position:relative;z-index:1;border-radius:110px 16px 70px 16px;overflow:hidden;border:1px solid #e9c97025;background:var(--surface);height:450px;box-shadow:0 30px 65px #0003}
.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#170d08a0,transparent 50%);pointer-events:none}
.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:65% center}
.hero-photo-label{position:absolute;bottom:33px;right:36px;z-index:1;color:#fffaf1b0;font-size:9px;letter-spacing:2.5px}
.hero-orbit{position:absolute;width:380px;height:380px;border:1px solid #e9c97013;border-radius:50%;right:-75px;top:-30px;pointer-events:none}
.training-ticket{position:absolute;z-index:2;bottom:17px;left:0;width:275px;border:1px solid #e9c97048;border-radius:13px;background:#2c1e17f5;backdrop-filter:blur(16px);padding:22px 25px;box-shadow:0 18px 45px #0005;transition:transform .25s,border-color .25s}
.training-ticket:hover{transform:translateY(-4px);border-color:#e9c970a0}
.ticket-top{display:flex;gap:9px;align-items:center;color:var(--gold);font-size:11px;font-weight:200;margin-bottom:17px}
.ticket-top .icon{width:17px;height:17px}
.ticket-top .icon:last-child{margin-left:auto}
.training-ticket>strong{display:block;font-size:27px;letter-spacing:-.5px;font-weight:250}
.ticket-time{font-size:18px;font-weight:200;color:var(--gold);display:block;margin-top:4px}
.ticket-bottom{display:block;border-top:1px solid var(--line);margin-top:18px;padding-top:13px;font-size:10px;color:var(--muted);letter-spacing:.3px}
.home-schedule{border-top:1px solid var(--line)}
.event-list{border:0}
.event-card{border:1px solid var(--line);border-radius:13px;background:linear-gradient(120deg,#34231948,#271b1470);padding:24px;gap:23px;margin-bottom:15px;transition:border-color .2s,background .2s}
.event-card:hover{border-color:#e9c97040;background:linear-gradient(120deg,#34231980,#271b1490)}
.date-tile{background:#e9c97007;border-color:#e9c9702b;border-radius:8px;height:94px}
.date-tile strong{font-size:34px;font-weight:150}
.date-tile>span{font-size:10px;font-weight:250}
.event-main h3{font-size:21px;margin:12px 0;font-weight:250}
.event-meta{font-size:13px;gap:9px 20px}
.event-address{font-size:11px;margin-top:9px}
.event-provider{font-size:11px;font-weight:150;margin-top:9px}
.event-actions{align-items:end;gap:12px}
.event-actions .button{font-size:13px;padding:11px 15px;min-height:44px}
.event-details-link{font-size:12px}
.calendar-link{font-size:10px}
.home-event-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0}
.home-event-grid .event-card{grid-template-columns:66px minmax(0,1fr);align-items:start;margin:0;padding:26px;gap:18px}
.home-event-grid .date-tile{height:94px;grid-row:1/3}
.home-event-grid .event-main{min-height:131px}
.home-event-grid .event-main h3{font-size:20px;line-height:1.5}
.home-event-grid .event-meta{display:flex;flex-direction:column;font-size:12px;gap:7px}
.home-event-grid .event-address{display:none}
.home-event-grid .event-actions{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:17px;margin-top:2px;flex-wrap:wrap}
.home-event-grid .calendar-link{display:none}
.home-event-grid .event-details-link{order:2;font-size:11px}
.home-event-grid .event-actions>.button{font-size:12px;min-height:43px;padding:10px 14px}
.home-gallery{padding-top:0}
.editorial-photos{display:grid;grid-template-columns:1.6fr .85fr 1.05fr;gap:18px;align-items:stretch}
.editorial-photo{position:relative;display:block;border-radius:13px!important;border:1px solid var(--line)!important;overflow:hidden;background:var(--surface);min-height:360px}
.editorial-photos img{width:100%;height:100%;object-fit:cover;object-position:center 25%;position:absolute;inset:0}
.editorial-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#100a07e0,transparent 62%);pointer-events:none}
.editorial-photo>span{position:absolute;z-index:1;left:0;bottom:0;right:0;padding:24px;font-size:13px;color:var(--text);display:block;line-height:1.6}
.editorial-photo>span>small{display:block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#fffaf19c;margin-bottom:7px}
.editorial-photo>span>.icon{position:absolute;right:20px;bottom:27px;width:17px;height:17px;color:var(--gold)}
.editorial-photo>span{padding-right:46px}
.editorial-photo.photo-1 img{object-position:50% 18%}
.photo-strip-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}
.strip-source{font-size:10px;font-weight:250;margin:0;color:#cfbfb09c}
.start-band{display:flex;align-items:center;justify-content:space-between;gap:40px;background:radial-gradient(ellipse at 90% 50%,#e9c9700b,transparent 60%),var(--surface);border:1px solid #e9c9702b;border-radius:18px;padding:36px 42px;margin-top:5px;margin-bottom:70px}
.start-band h2{font-size:34px;letter-spacing:-1px}
.start-band .eyebrow{margin-bottom:12px}
.start-band p:not(.eyebrow){font-size:13px;margin:17px 0 0}
.start-band .button{flex-shrink:0}
.breadcrumb{padding-top:24px;font-size:11px;gap:14px;opacity:.8}
.page-intro{padding-top:37px;padding-bottom:33px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.page-intro h1{font-size:clamp(45px,5vw,65px);font-weight:250;line-height:1.13}
.page-intro>.eyebrow{margin-bottom:16px}
.page-intro>p:last-child{font-size:16px;margin-top:20px}
.training-grid{gap:24px;padding-top:5px;padding-bottom:40px}
.course-card{border-radius:16px;background:linear-gradient(135deg,#34231955,var(--surface));padding:34px;overflow:hidden}
.course-card.featured{border-color:#e9c97050}
.course-card h2{font-size:36px;letter-spacing:-1px}
.course-top{margin-bottom:24px}
.course-subline{font-size:14px!important;margin-top:-6px}
.course-facts{margin:9px 0 30px}
.course-facts>div{font-size:15px;grid-template-columns:85px minmax(0,1fr);padding:17px 0}
.course-facts dd{font-weight:300}
.course-facts dd small{font-weight:250}
.course-card>.button{font-size:14px}
.experienced-card{position:relative}
.experienced-card:after{content:'';position:absolute;width:200px;height:200px;border:1px solid #e9c97012;border-radius:50%;bottom:85px;right:-70px;pointer-events:none}
.course-status{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--muted);padding:22px 0;border-top:1px solid var(--line);width:100%;position:relative}
.experienced-links{margin-top:auto;display:flex;flex-direction:column;align-items:start;gap:20px;padding-top:35px}
.vhs-feature{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:24px;align-items:center;padding:30px 34px;margin-top:0;margin-bottom:62px;border:1px solid var(--line);border-radius:15px;background:#e9c97004}
.vhs-feature-icon{border:1px solid #e9c97035;border-radius:13px;width:55px;height:68px;display:flex;align-items:center;justify-content:center;color:var(--gold)}
.vhs-feature h2{font-size:29px;letter-spacing:-.6px;margin:14px 0}
.vhs-feature p{font-size:14px;margin:0 0 5px}
.vhs-place{font-size:11px;color:var(--muted)}
.vhs-feature .button{font-size:13px}
.preparation-compact{border-top:1px solid var(--line);padding-top:44px;padding-bottom:65px;gap:80px}
.preparation-compact h2{font-size:34px}
.preparation-compact .checklist li{padding:15px 0;gap:13px;align-items:center}
.preparation-compact .checklist strong{font-size:15px;font-weight:300}
.preparation-compact .checklist .icon{width:19px;height:19px;margin-top:0}
.preparation-compact .checklist p{font-size:12px;margin-top:6px}
.schedule-controls{margin-top:10px;margin-bottom:25px}
.filters{gap:8px}
.filters>button{border-radius:8px;background:var(--surface);font-weight:300;font-size:13px;padding:11px 17px}
.filters>button.active{background:var(--gold);color:var(--bg)}
.view-switch{border-radius:8px;background:var(--surface)}
.view-switch button{font-size:13px;padding:11px 17px;font-weight:300}
.compact-toolbar{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:20px 23px;margin:0 0 26px;gap:24px}
.compact-toolbar .month-filter{font-size:11px;flex-basis:230px}
.compact-toolbar select{font-size:14px;border-color:var(--line);margin-top:8px;border-radius:7px;background:var(--bg)}
.compact-toolbar .results-count{font-size:11px;margin-bottom:15px}
.calendar-grid{border-radius:13px}
.calendar-day{background:linear-gradient(135deg,#34231920,transparent);min-height:135px}
.calendar-event{padding:10px 8px;border-radius:5px;transition:background .2s}
.calendar-day.today .day-number{background:#e9c97010}
.event-intro h1{font-size:clamp(36px,4vw,56px)}
.event-detail-layout{gap:50px;padding-top:3px}
.event-facts{border-top:0}
.event-facts>div:first-child{padding-top:8px}
.event-facts strong{font-weight:300;font-size:20px}
.event-booking{border-radius:16px;padding:32px;background:linear-gradient(145deg,#e9c97006,var(--surface));position:sticky;top:112px}
.event-booking h2{font-size:29px}
.event-booking p{font-size:14px}
.event-booking>.button{font-size:14px}
.event-secondary .plain-link,.share-link{font-size:13px}
.club-feature{margin-top:7px}
.club-feature-photo{position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--line)}
.club-feature-photo img{width:100%;height:470px;object-fit:cover;object-position:50% 45%}
.club-feature-photo>span{position:absolute;left:25px;bottom:25px;padding:9px 14px;background:#1d130ed9;border:1px solid #fff3;backdrop-filter:blur(10px);border-radius:7px;font-size:11px;color:var(--text)}
.club-feature-caption{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.club-feature-caption p{font-size:14px;margin:0}
.trainer-section{display:grid;grid-template-columns:.8fr 1fr;gap:85px;align-items:center;padding-top:60px;padding-bottom:65px;max-width:1020px}
.trainer-photo{border-radius:90px 13px 13px 13px;overflow:hidden;border:1px solid var(--line)}
.trainer-photo img{width:100%;height:360px;object-fit:cover;object-position:50% 18%}
.trainer-section h2{font-size:48px;letter-spacing:-1.4px}
.trainer-section p:not(.eyebrow){font-size:16px;margin:24px 0}
.trainer-section .strip-source{display:block;margin-top:22px}
.trainer-section .button{font-size:14px}
.press-section{padding-top:0}
.press-card{grid-template-columns:150px minmax(0,1fr) 24px;border-radius:15px;padding:30px 35px;align-items:center;background:var(--surface)}
.press-card h2{font-size:28px;margin:18px 0 22px;line-height:1.4;max-width:680px}
.press-card>.icon{color:var(--gold)}
.press-date>strong{font-weight:150}
.gallery-intro>div>p:last-child{font-size:15px;margin-top:18px}
.gallery-total{background:var(--surface);border:1px solid var(--line);border-radius:100px;padding:10px 18px;font-size:12px}
.gallery-page{padding-top:0}
.gallery-toolbar{margin-bottom:28px;padding-bottom:0;border:0}
.gallery-tip{font-size:11px}
.photo-wall{columns:3;column-gap:23px}
.gallery-item{margin-bottom:26px;padding:8px 8px 15px;border:1px solid var(--line);background:var(--surface);border-radius:14px;transition:border-color .2s,transform .2s}
.gallery-item:hover{border-color:#e9c97040;transform:translateY(-3px)}
.photo-open{border-radius:9px}
.gallery-item figcaption{padding:13px 8px 0}
.gallery-item figcaption>span{font-size:9px;font-weight:150}
.gallery-item figcaption strong{font-size:13px;font-weight:250;color:var(--text)}
.photo-source{font-size:9px!important;opacity:.7}
.photo-zoom{background:#1d130edd;border-color:#e9c97055;opacity:1;bottom:13px;right:13px;color:var(--gold)}
.viewer-top button{border-radius:7px;background:var(--surface);font-weight:300}
.viewer-bottom h2{font-weight:250}
.viewer-arrow{width:48px;height:48px;background:#271b14db}
.contact-card{border-radius:16px;padding:34px;background:linear-gradient(135deg,#e9c97004,var(--surface))}
.contact-card h2{font-size:29px}
.contact-card p,.contact-card>.lead{font-size:16px}
.contact-card .button{font-size:14px}
.contact-card>.icon{border:1px solid #e9c97028;border-radius:10px;width:51px;height:51px;padding:12px}
.info-box{border-radius:12px;font-size:14px}
.signup-layout{grid-template-columns:.8fr 1.2fr;gap:75px;padding-top:8px}
.signup-sidebar{align-self:start;position:sticky;top:119px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#e9c97006,var(--surface));padding:30px}
.signup-sidebar>h2{font-size:29px;margin-bottom:20px}
.signup-sidebar>p{font-size:14px;margin-bottom:20px}
.signup-sidebar>p strong{font-weight:250;font-size:19px}
.signup-sidebar .info-box{border:0;border-top:1px solid var(--line);border-radius:0;padding:22px 0 0;margin:24px 0 0;background:transparent}
.signup-form{border-radius:16px;padding:35px;background:linear-gradient(155deg,#e9c97004,var(--surface))}
.signup-form h2{font-size:28px;font-weight:250}
.form-intro{font-size:11px;margin-bottom:27px}
.form-field{font-weight:300;font-size:14px;margin-bottom:22px}
input,select,textarea{border-radius:8px;border-color:#d9c8b533;background:var(--bg);min-height:51px;font-size:16px;transition:border-color .2s,box-shadow .2s}
input:hover,select:hover,textarea:hover{border-color:#e9c97060}
input:focus,select:focus,textarea:focus{border-color:var(--gold)}
.form-field>small,.optional{font-weight:250;font-size:11px}
.consent{font-size:12px;font-weight:300}
.signup-form>.button{font-size:14px}
.form-group{border:0;border-top:1px solid var(--line);margin:24px 0 0;padding:22px 0 0;min-width:0}
.form-group legend{font-size:17px;font-weight:150;padding-right:16px;color:var(--gold)}
.form-group .form-field:last-child{margin-bottom:0}
.training-form-group{margin-top:31px}
.password-toggle{font-weight:200;font-size:11px;padding:10px;right:6px;top:9px}
.success-card{border-radius:18px;background:var(--surface)}
.admin-login{padding-top:55px;padding-bottom:70px;max-width:510px}
.admin-login h1{font-size:36px;font-weight:250}
.admin-login .eyebrow{font-weight:150}
.login-links{font-size:13px}
.faq-list{border-top:0}
.faq-list details{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:0 23px;margin-bottom:13px}
.faq-list summary{font-size:16px;font-weight:300;padding:20px 0}
.faq-list details>p{font-size:14px;line-height:1.8}
.site-footer{padding:0 0 26px;background:#1a110d}
.footer-training{display:flex;justify-content:space-between;gap:30px;padding-top:29px;padding-bottom:29px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:42px}
.footer-training>div{display:flex;align-items:center;gap:17px;font-size:12px;color:var(--muted)}
.footer-training>div>.icon{width:24px;height:24px;color:var(--gold)}
.footer-training strong{display:block;font-size:15px;color:var(--text);margin-top:5px;font-weight:300}
.footer-training .plain-link{font-size:13px}
.footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:55px}
.footer-grid .brand{font-size:27px}
.footer-grid h3{font-size:13px;font-weight:300;margin-bottom:17px}
.footer-grid p{font-size:12px}
.footer-grid>div>a:not(.brand){font-size:12px;margin:7px 0}
.footer-bottom{font-size:10px;margin-top:36px;padding-top:22px}
.back-top{background:#271b14f5;backdrop-filter:blur(12px);width:43px;height:43px}
.admin-shell .admin-overview a,.admin-shell .admin-next,.admin-shell .admin-form,.admin-shell .registration-card,.admin-shell .admin-photo,.account-page .admin-form,.account-request{border-radius:13px}
.admin-nav a{border-radius:8px}
.admin-shell .admin-nav{box-shadow:none;border-bottom:1px solid var(--line)}
[hidden]{display:none!important}
@media(min-width:1101px) and (pointer:fine){.nav-backdrop{display:none!important}}
@media(max-width:1100px), (max-width:1366px) and (pointer:coarse){
 .site-header{backdrop-filter:none;background:#1d130efc}
 .container{width:calc(100% - 64px)}
 .menu-toggle{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:44px;padding:10px 14px;font-size:13px;color:var(--text);position:relative;z-index:32}
 .hamburger{display:flex;flex-direction:column;gap:4px;width:19px}
 .hamburger i{height:1px;width:19px;background:var(--gold);transition:transform .2s,opacity .2s;display:block}
 .menu-toggle[aria-expanded=true] .hamburger i:nth-child(1){transform:translateY(5px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] .hamburger i:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded=true] .hamburger i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
 #main-nav{position:fixed;top:0;right:0;bottom:auto;left:auto;width:370px;max-width:92vw;height:100dvh;padding:24px;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#21160ffb;backdrop-filter:blur(24px);border-left:1px solid #e9c97030;box-shadow:-20px 0 60px #0005;z-index:40;overflow:auto;transform:translateX(28px);opacity:0;transition:transform .34s var(--ease),opacity .34s var(--ease),visibility .34s;visibility:hidden;pointer-events:none}
 #main-nav.open{transform:translateX(0);visibility:visible;opacity:1;pointer-events:auto;transition:transform .34s var(--ease),opacity .34s var(--ease)}
 .nav-heading{display:flex;align-items:center;justify-content:space-between;color:var(--gold);font-size:20px;letter-spacing:1px;padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:19px;font-weight:200}
 .nav-close{background:var(--surface);border:1px solid var(--line);color:var(--gold);border-radius:8px;width:44px;height:44px;font-size:28px;font-weight:150}
 .nav-pages{flex-direction:column;align-items:stretch;gap:6px}
 .nav-pages>a{flex-direction:row;padding:14px 17px;gap:18px;font-size:17px;min-height:53px;font-weight:300}
 .nav-pages>a>.icon{width:21px;height:21px}
 .nav-account{border:0;border-top:1px solid var(--line);padding:23px 0 0;margin-top:23px;flex-direction:column;align-items:stretch;gap:17px}
 .nav-account .button{font-size:15px;min-height:51px}
 .nav-login{padding:10px 15px;font-size:15px;gap:15px}
 .nav-login .icon{width:20px;height:20px}
 .nav-training{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--muted);margin-top:auto;padding-top:32px}
 .nav-training small{font-size:10px;letter-spacing:1px;color:var(--gold)}
 .nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#100a07b8;backdrop-filter:blur(5px);border:0;z-index:19;padding:0}
 .hero h1{font-size:60px}
 .hero-grid{gap:23px}
 .hero-photo{height:410px;border-top-left-radius:80px}
 .hero-visual{padding-left:23px}
 .training-ticket{width:250px;padding:20px 23px}
 .editorial-photos{gap:15px;grid-template-columns:1.2fr .8fr 1fr}
 .editorial-photo{min-height:300px}
 .editorial-photo>span{font-size:11px;padding:20px 40px 20px 18px}
 .vhs-feature{grid-template-columns:50px minmax(0,1fr);gap:20px}
 .vhs-feature>.button{grid-column:2;justify-self:start;margin-top:3px}
 .signup-layout{gap:35px;grid-template-columns:.8fr 1.2fr}
 .signup-sidebar{padding:26px}
 .trainer-section{gap:50px}
}
@media(max-width:800px){
 .hero-grid{grid-template-columns:1fr;gap:35px;min-height:0}
 .hero-copy{max-width:640px}
 .hero h1{font-size:clamp(49px,8vw,69px)}
 .hero-editorial{padding-top:40px;padding-bottom:30px}
 .hero-visual{padding:0 0 55px 24px;max-width:620px;width:100%;justify-self:end}
 .hero-photo{height:370px;border-radius:85px 13px 55px 13px}
 .training-ticket{bottom:10px;width:255px}
 .home-event-grid{grid-template-columns:1fr}
 .home-event-grid .event-main{min-height:0}
 .home-event-grid .event-card{grid-template-columns:66px minmax(0,1fr);gap:15px 20px}
 .training-grid{grid-template-columns:1fr}
 .experienced-card{min-height:260px}
 .course-card{padding:30px}
 .event-card{grid-template-columns:70px minmax(0,1fr);gap:20px}
 .event-actions{grid-column:2;align-items:start}
 .preparation-compact{grid-template-columns:1fr;gap:25px}
 .signup-layout{grid-template-columns:1fr;gap:24px}
 .signup-sidebar{position:static}
 .signup-sidebar .info-box{margin-top:18px;padding-top:17px}
 .signup-sidebar>p{font-size:13px}
 .signup-sidebar>p:nth-of-type(2){display:none}
 .signup-sidebar>h2{font-size:23px;margin-bottom:13px}
 .signup-sidebar>p strong{font-size:17px}
 .club-feature-photo img{height:350px}
 .photo-wall{columns:2;column-gap:18px}
 .trainer-section{grid-template-columns:.8fr 1fr;gap:30px}
 .trainer-section h2{font-size:38px}
 .trainer-photo img{height:310px}
 .start-band{padding:30px;gap:20px}
 .start-band h2{font-size:29px}
 .event-detail-layout{grid-template-columns:1fr;gap:27px}
 .event-booking{position:static}
}
@media(max-width:580px){
 .container{width:calc(100% - 40px)}
 html{scroll-padding-top:89px}
 .topline>.container{justify-content:center;min-height:33px;font-size:10px}
 .topline>.container>span{display:none}
 .topline .icon{width:13px;height:13px}
 .topline a{gap:8px}
 .topline .status-dot{width:4px;height:4px}
 .header-inner{min-height:76px;gap:16px}
 .brand{font-size:23px;letter-spacing:2.7px}
 .brand small{font-size:6px;letter-spacing:1.9px}
 .brand-logo{width:130px;max-height:57px}
 .menu-toggle{font-size:12px;padding:9px 12px;gap:10px}
 #main-nav{padding:20px}
 .section{padding-top:43px;padding-bottom:43px}
 .hero-editorial{padding-top:34px;padding-bottom:22px}
 .hero-grid{gap:28px}
 .hero-copy .eyebrow{font-size:9px;letter-spacing:1.6px;gap:9px;margin-bottom:21px}
 .eyebrow-line{width:21px}
 .hero h1{font-size:clamp(42px,11.7vw,64px);letter-spacing:-1.9px;line-height:1.14}
 .hero-description{font-size:15px;margin:23px 0 24px}
 .hero-actions{align-items:start;gap:19px;flex-direction:column}
 .hero-actions>.button{font-size:14px;padding:13px 18px;min-height:51px}
 .hero-actions>.plain-link{font-size:13px}
 .hero-note{font-size:10px;margin-top:22px;gap:8px}
 .hero-note .icon{width:15px;height:15px}
 .hero-visual{padding-left:19px;padding-bottom:54px}
 .hero-photo{height:290px;border-radius:65px 12px 48px 12px}
 .hero-photo>img{object-position:70% 45%}
 .hero-photo-label{right:21px;bottom:22px;font-size:7px;letter-spacing:1.5px}
 .training-ticket{width:220px;bottom:9px;padding:17px 21px;border-radius:11px}
 .ticket-top{font-size:9px;margin-bottom:12px}
 .ticket-top .icon{width:15px;height:15px}
 .training-ticket>strong{font-size:23px}
 .ticket-time{font-size:16px;margin-top:4px}
 .ticket-bottom{font-size:9px;margin-top:13px;padding-top:10px}
 .hero-orbit{width:275px;height:275px;right:-48px;top:-15px}
 .section-heading{display:flex;align-items:end;gap:17px;margin-bottom:23px}
 .section-heading h2{font-size:31px;letter-spacing:-1.1px;line-height:1.2}
 .section-heading .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:12px}
 .section-heading>.plain-link{font-size:11px;margin:0;gap:6px;white-space:nowrap}
 .section-heading>.plain-link .icon{width:14px;height:14px}
 .home-event-grid{gap:14px}
 .home-event-grid .event-card{padding:19px;gap:14px;grid-template-columns:52px minmax(0,1fr)}
 .home-event-grid .date-tile{height:81px}
 .date-tile strong{font-size:28px;margin:7px 0}
 .date-tile>span{font-size:8px}
 .home-event-grid .event-main h3{font-size:17px;margin:10px 0 12px}
 .home-event-grid .event-meta{font-size:11px;gap:6px}
 .home-event-grid .event-provider{font-size:10px}
 .home-event-grid .event-actions{padding-top:14px;gap:10px}
 .home-event-grid .event-actions>.button{font-size:11px;padding:9px 12px;gap:8px}
 .home-event-grid .event-details-link{font-size:10px;gap:6px}
 .home-event-grid .event-actions .icon{width:14px;height:14px}
 .badge{font-size:8px;padding:4px 8px;letter-spacing:.8px}
 .home-gallery{padding-top:0}
 .editorial-photos{grid-template-columns:1fr 1fr;gap:13px}
 .editorial-photo{min-height:240px;border-radius:11px!important}
 .editorial-photo.photo-0{grid-column:1/-1;min-height:245px}
 .editorial-photo.photo-0 img{object-position:50% 42%}
 .editorial-photo>span{font-size:10px;line-height:1.6;padding:17px 34px 17px 15px}
 .editorial-photo>span>small{font-size:7px;letter-spacing:1px;margin-bottom:5px}
 .editorial-photo>span>.icon{width:13px;height:13px;right:13px;bottom:21px}
 .photo-strip-footer{gap:16px;flex-direction:column;align-items:start;margin-top:20px}
 .photo-strip-footer>.plain-link{font-size:13px}
 .strip-source{font-size:9px}
 .start-band{display:block;padding:27px;margin-top:5px;margin-bottom:45px;border-radius:14px}
 .start-band h2{font-size:29px;line-height:1.3}
 .start-band .eyebrow{font-size:9px}
 .start-band p:not(.eyebrow){font-size:12px;max-width:250px;line-height:1.8;margin-top:14px}
 .start-band .button{margin-top:23px;font-size:13px}
 .breadcrumb{padding-top:21px;font-size:10px}
 .page-intro{padding-top:27px;padding-bottom:28px;margin-bottom:24px}
 .page-intro h1{font-size:42px;letter-spacing:-1.8px}
 .page-intro>.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:16px}
 .page-intro>p:last-child{font-size:14px;margin-top:18px}
 .training-grid{padding-top:0;padding-bottom:30px;gap:18px}
 .course-card{padding:25px;border-radius:13px}
 .course-card h2{font-size:30px}
 .course-card .course-subline{font-size:12px!important}
 .course-facts>div{grid-template-columns:67px minmax(0,1fr);font-size:13px;padding:15px 0;gap:12px}
 .course-facts dt{gap:8px}
 .course-facts dt .icon{width:16px;height:16px}
 .course-facts dd small{font-size:11px;margin-top:6px}
 .course-card>.button,.experienced-links>.button{font-size:12px;padding:12px 15px;min-height:47px}
 .course-status{font-size:12px}
 .experienced-links{padding-top:25px}
 .vhs-feature{grid-template-columns:1fr;padding:26px;gap:0;margin-bottom:35px;border-radius:13px}
 .vhs-feature-icon{display:none}
 .vhs-feature h2{font-size:27px;line-height:1.3;margin:17px 0}
 .vhs-feature p{font-size:12px}
 .vhs-place{font-size:10px;display:block;margin-top:7px}
 .vhs-feature>.button{grid-column:1;margin-top:23px;font-size:12px;min-height:47px}
 .preparation-compact{padding-top:32px;padding-bottom:43px;gap:20px}
 .preparation-compact h2{font-size:30px}
 .preparation-compact .checklist li{gap:11px}
 .preparation-compact .checklist strong{font-size:14px}
 .preparation-compact .checklist p{font-size:11px}
 .schedule-controls{display:flex;flex-direction:column;align-items:start;gap:17px;margin-bottom:20px}
 .schedule-controls .filters{gap:6px}
 .filters>button{font-size:11px;padding:11px 12px;min-height:44px}
 .view-switch{margin:0}
 .view-switch button{font-size:12px;padding:11px 15px}
 .compact-toolbar{padding:18px;gap:15px;margin-bottom:20px}
 .compact-toolbar .month-filter{flex-basis:100%;font-size:10px;max-width:none}
 .compact-toolbar select{font-size:13px;min-height:46px}
 .compact-toolbar .results-count{font-size:10px;margin-bottom:0}
 .event-card{padding:20px;grid-template-columns:54px minmax(0,1fr);gap:17px 14px}
 .event-card .date-tile{height:82px}
 .event-main h3{font-size:18px;line-height:1.5}
 .event-meta{font-size:12px}
 .event-address{font-size:10px;line-height:1.7}
 .event-actions{gap:14px}
 .event-actions>.button{font-size:12px;gap:9px}
 .event-details-link,.calendar-link{font-size:11px}
 .event-intro h1{font-size:35px;letter-spacing:-1.4px}
 .event-facts strong{font-size:18px}
 .event-facts p{font-size:13px}
 .event-facts>div{padding:20px 0}
 .event-booking{padding:26px;border-radius:13px}
 .event-booking>.button{font-size:12px;gap:10px;padding:12px 15px}
 .detail-back>.plain-link{font-size:12px}
 .calendar-day{background:transparent}
 .club-feature-photo{border-radius:13px}
 .club-feature-photo img{height:260px}
 .club-feature-photo>span{left:17px;bottom:17px;font-size:9px;padding:7px 10px}
 .club-feature-caption{display:block;padding:20px 0}
 .club-feature-caption p{font-size:12px;margin-bottom:16px;max-width:300px}
 .club-feature-caption>.plain-link{font-size:12px}
 .trainer-section{grid-template-columns:.8fr 1fr;gap:22px;padding-top:35px;padding-bottom:40px}
 .trainer-photo{border-top-left-radius:50px}
 .trainer-photo img{height:245px;object-position:55% 10%}
 .trainer-section .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:12px}
 .trainer-section h2{font-size:29px;line-height:1.25;letter-spacing:-1px}
 .trainer-section p:not(.eyebrow){font-size:11px;line-height:1.8;margin:16px 0}
 .trainer-section .button{font-size:10px;gap:6px;padding:10px 12px;min-height:43px}
 .trainer-section .button .icon{width:13px;height:13px}
 .trainer-section .strip-source{font-size:8px;margin-top:16px;line-height:1.7}
 .press-card{grid-template-columns:1fr;padding:25px;gap:20px}
 .press-date{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;flex-wrap:wrap;gap:10px 15px;justify-content:start;align-items:center;padding:0 0 18px}
 .press-date>span{font-size:9px}
 .press-date>strong{font-size:20px}
 .press-card h2{font-size:24px;margin:16px 0 20px}
 .press-card>.icon{display:none}
 .press-card .plain-link{font-size:12px}
 .gallery-intro{display:block}
 .gallery-intro>div>p:last-child{font-size:13px;margin-top:18px}
 .gallery-total{display:inline-block;margin-top:19px;font-size:10px;padding:7px 12px}
 .gallery-toolbar{gap:15px;margin-bottom:22px}
 .gallery-toolbar .filters button{font-size:11px;padding:10px 13px}
 .gallery-tip{font-size:10px}
 .photo-wall{columns:2;column-gap:12px}
 .gallery-item{padding:5px 5px 11px;border-radius:10px;margin-bottom:14px}
 .photo-open{border-radius:6px}
 .gallery-item figcaption{padding:10px 5px 0}
 .gallery-item figcaption>span{font-size:7px;letter-spacing:.8px}
 .gallery-item figcaption strong{font-size:10px;line-height:1.6}
 .gallery-item .photo-source{font-size:8px!important;line-height:1.8!important;overflow-wrap:anywhere}
 .photo-zoom{width:27px;height:27px;right:8px;bottom:8px;font-size:14px}
 .gallery-end{font-size:10px}
 .viewer-top{height:74px;padding:15px 17px}
 .viewer-tools button{font-size:10px;min-height:43px;padding:9px}
 .viewer-tools{gap:7px}
 .viewer-stage{height:calc(100dvh - 230px)}
 .viewer-stage img{max-width:100%}
 #viewer-previous{left:17px}
 #viewer-next{right:17px}
 .viewer-arrow{width:43px;height:43px;bottom:10px}
 .viewer-bottom{height:156px}
 .viewer-bottom h2{font-size:16px}
 .viewer-source{font-size:10px;line-height:1.8}
 .contact-grid{gap:18px;padding-bottom:5px}
 .contact-card{padding:26px;border-radius:13px}
 .contact-card h2{font-size:26px}
 .contact-card p,.contact-card>.lead{font-size:14px}
 .contact-card .button{font-size:12px}
 .contact-card>.icon{width:45px;height:45px;padding:10px;margin-bottom:20px}
 .contact-note .info-box{font-size:12px;padding:20px}
 .contact-note .info-box p{font-size:12px}
 .signup-layout{gap:20px;padding-top:0}
 .signup-sidebar{padding:23px;border-radius:12px}
 .signup-sidebar>h2{font-size:22px}
 .signup-sidebar>p strong{font-size:16px}
 .signup-sidebar .info-box p{font-size:12px}
 .signup-form{padding:24px;border-radius:13px}
 .signup-form h2{font-size:25px}
 .form-field{font-size:13px;margin-bottom:21px}
 input,select,textarea{font-size:16px}
 .signup-form>.button{font-size:12px;padding:13px 14px;gap:10px;width:100%}
 .consent{font-size:11px;line-height:1.8}
 .form-note{font-size:10px}
 .password-toggle{font-size:10px}
 .admin-login{padding-top:33px;padding-bottom:43px}
 .admin-login h1{font-size:30px}
 .login-links{font-size:12px}
 .footer-training{display:block;padding:25px 0;margin-bottom:29px}
 .footer-training>div{gap:14px;font-size:10px}
 .footer-training strong{font-size:13px}
 .footer-training .plain-link{font-size:11px;margin-top:19px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:28px 24px}
 .footer-grid>div:first-child{grid-column:1/-1}
 .footer-grid>div:last-child{grid-column:auto;border:0;padding:0}
 .footer-grid .brand{font-size:25px}
 .footer-grid h3{font-size:12px;margin-bottom:16px}
 .footer-grid p{font-size:11px;margin-top:18px}
 .footer-grid>div>a:not(.brand){font-size:11px;margin:9px 0}
 .footer-bottom{font-size:9px;line-height:1.8;margin-top:29px;padding-top:20px;display:block}
 .footer-bottom>div{gap:20px;margin-top:14px}
 .mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:16;background:#21160ff5;backdrop-filter:blur(20px);border-top:1px solid #e9c97030;padding:10px 20px calc(10px + env(safe-area-inset-bottom));align-items:center;gap:20px;justify-content:space-between}
 .mobile-actions>a:first-child{font-size:12px;display:flex;gap:10px;align-items:center;color:var(--muted);min-height:44px}
 .mobile-actions>a:first-child .icon{width:18px;height:18px;color:var(--gold)}
 .mobile-actions .button{font-size:12px;min-height:44px;padding:10px 20px;gap:22px}
 body:has(.mobile-actions) .site-footer{padding-bottom:95px}
 body:has(.mobile-actions) .back-top{bottom:88px;right:13px;width:39px;height:39px}
 .admin-shell{padding-top:25px}
 .admin-nav{margin-top:7px}
 .admin-heading h1{font-size:31px}
 .faq-list details{padding:0 20px}
 .faq-list summary{font-size:14px;padding:20px 0}
 .faq-list details>p{font-size:12px}
}
@media(max-width:360px){.section-heading{display:block}.section-heading>.plain-link{margin-top:15px}.hero-note{font-size:9px}.home-event-grid .event-actions{flex-direction:column;align-items:start}.trainer-section{gap:18px}.trainer-section h2{font-size:26px}.trainer-photo img{height:230px}}
@media(prefers-reduced-motion:no-preference){.hero-copy,.hero-visual{animation:hero-enter .65s var(--ease) both}.hero-visual{animation-delay:.12s}@keyframes hero-enter{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.button:hover,.gallery-item:hover,.training-ticket:hover{transform:none}}

/* Real training media and native video controls. */
.hero h1 em{white-space:normal;overflow-wrap:anywhere}
.hero-photo>img{object-position:73% center}
.hero-film-button{position:absolute;z-index:3;right:25px;top:25px;display:flex;align-items:center;gap:12px;background:#1d130ecc;backdrop-filter:blur(10px);border:1px solid #e9c97075;border-radius:100px;padding:11px 17px;color:var(--text);font-size:12px;min-height:45px;font-weight:250}
.hero-film-button>span{color:var(--gold);font-size:11px}
.hero-film-button:hover{background:#271b14f5;border-color:var(--gold)}
.film-dialog{width:calc(100% - 64px);max-width:1000px;border:1px solid #e9c97035;border-radius:16px;background:var(--bg);padding:20px;color:var(--text)}
.film-dialog::backdrop{background:#0d0806dc;backdrop-filter:blur(10px)}
.film-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:20px;font-size:12px;color:var(--muted)}
.film-heading>button{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:10px 15px;min-height:43px;color:var(--text);font-size:12px}
.film-dialog video{width:100%;max-height:73dvh;display:block;border-radius:8px;background:#080504}
.viewer-stage>video{max-width:calc(100% - 150px);width:100%;height:auto;max-height:100%;object-fit:contain;background:#080504;border-radius:7px}
.gallery-video .photo-open{position:relative}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;display:flex;align-items:center;justify-content:center;border:1px solid #e9c970aa;border-radius:50%;background:#1d130ed9;backdrop-filter:blur(8px);color:var(--gold);font-size:19px;padding-left:3px}
.video-label{position:absolute;bottom:13px;left:13px;border:1px solid #e9c9704a;border-radius:4px;background:#1d130eda;padding:5px 9px;color:var(--text);font-size:9px;letter-spacing:.4px}
.video-placeholder{height:240px;display:flex;align-items:center;justify-content:center;gap:14px;background:var(--surface);font-size:16px;color:var(--gold)}
.gallery-video .photo-open:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#100a0730,transparent 70%)}
.account-reply{border-left:2px solid var(--gold);padding:18px 20px;margin-top:22px;background:#e9c97007;border-radius:7px;font-size:14px;line-height:1.8}
.account-reply>small{display:block;font-size:10px;color:var(--gold);letter-spacing:.5px;margin-bottom:9px}
.account-reply>p{font-size:14px;margin:0;color:var(--text)}
.request-closed{padding:32px;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:55px}
.request-closed h2{font-size:29px;margin-bottom:20px}
.request-closed p{font-size:16px}
.hero-copy h1{max-width:680px}
@media(max-width:580px){.hero-film-button{top:17px;right:17px;font-size:10px;padding:9px 12px;gap:9px;min-height:42px}.film-dialog{width:calc(100% - 30px);padding:15px;border-radius:12px}.film-heading{font-size:10px;gap:15px;margin-bottom:15px}.film-heading>button{font-size:10px;padding:9px 12px}.film-dialog video{max-height:70dvh}.viewer-stage>video{max-width:100%;max-height:calc(100% - 60px)}.video-play{width:43px;height:43px;font-size:14px}.video-label{font-size:7px;padding:4px 7px;bottom:9px;left:9px}.video-placeholder{height:150px;font-size:12px}.account-reply{padding:16px;margin-top:18px}.account-reply>p{font-size:12px}.request-closed{padding:26px}.request-closed p{font-size:14px}}

.signup-process{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;color:var(--muted);font-size:12px}.signup-process span{padding:7px 10px;border:1px solid var(--line);border-radius:999px}.first-visit-note p{line-height:1.65}
