/*!
 * Bounce Dance Academy — custom-built website
 * Custom design and development: Z.design
 * https://zlatko.design/
 * Technology: PHP, HTML5, Bootstrap 5, custom CSS, JavaScript, GSAP and Splide.js
 * Bespoke implementation — not a third-party or pre-built theme.
 */

:root {
    --theme-color:#f05220;
    --theme-color-bright:#ff6a1a;
    --theme-color-alt:#0d4a49;
    --dark-color:#161116;
    --deep-color:#0d0a0e;
    --bg-color:#f0ede6;
    --light-color:#fffaf2;
    --muted-color:#a9a2a6;
    --line-color:rgba(255,255,255,.16);
    --dark-line:rgba(22,17,22,.16);
    --theme-font:"Syne",sans-serif;
    --text-font:"Manrope",sans-serif;
    --theme-transition:420ms cubic-bezier(.2,.75,.25,1);
    --theme-radius:1.5rem;
    --header-height:5.5rem;
    --mobile-page-gutter:1.25rem;
}

html[lang="ru"] {--theme-font:"Unbounded",sans-serif;}

@view-transition {navigation:none;}
@keyframes innerHeroMediaIn {from{opacity:0; transform:scale(1.08)}to{opacity:1; transform:scale(1.02)}}
@keyframes pageTransitionOut {to{opacity:0; transform:translateY(-.45rem) scale(.995)}}
@keyframes pageTransitionIn {from{opacity:0; transform:translateY(.65rem) scale(.992)}to{opacity:1; transform:translateY(0) scale(1)}}

@media (min-width:992px) and (hover:hover) and (pointer:fine) {
    @view-transition {navigation:auto;}
    ::view-transition-group(root) {animation-duration:420ms; animation-timing-function:cubic-bezier(.2,.75,.25,1);}
    ::view-transition-old(root) {animation:pageTransitionOut 180ms ease-out both; mix-blend-mode:normal;}
    ::view-transition-new(root) {animation:pageTransitionIn 420ms cubic-bezier(.2,.75,.25,1) both; mix-blend-mode:normal;}
    ::view-transition-group(site-header) {z-index:1050; animation-duration:360ms; animation-timing-function:cubic-bezier(.2,.75,.25,1);}
    .site-header {view-transition-name:site-header;}
}

* {box-sizing:border-box;}
html {scroll-behavior:smooth; scroll-padding-top:6rem; overflow-y:scroll;}
body {margin:0; background:var(--dark-color); color:var(--light-color); font-family:var(--text-font); font-size:1rem; line-height:1.7; overflow-x:hidden; -webkit-font-smoothing:antialiased;}
body.offcanvas-open {overflow:hidden;}
body.modal-open {padding-right:0!important;}
img,video {max-width:100%;}
img {height:auto;}
a {color:inherit; text-decoration:none;}
a:hover {color:inherit;}
p {margin:0 0 1.5rem; color:inherit;}
h1,h2,h3,h4,h5,h6 {margin:0; font-family:var(--theme-font); font-weight:700;}
button,input,textarea,select {font:inherit;}
::selection {background:var(--theme-color); color:#fff;}
.section-space {padding:5.5rem 0;}
.section-eyebrow {margin:0 0 1rem; color:var(--theme-color-bright); font-size:.76rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;}
.section-title {max-width:15ch; font-size:clamp(2.4rem,9vw,5.4rem); line-height:.94; letter-spacing:-.055em;}
.section-title-xl {max-width:12ch;}
.display-title {max-width:13ch; font-size:clamp(3.3rem,12vw,8.8rem); line-height:.86; letter-spacing:-.075em;}
html[lang="ru"] .display-title {max-width:15ch; font-size:clamp(2.65rem,8vw,7rem); line-height:.94; letter-spacing:-.045em; text-wrap:balance;}
.bg-light-surface {background:var(--bg-color); color:var(--dark-color);}
.bg-deep {background:var(--deep-color);}
.text-dark {color:var(--dark-color)!important;}
.min-vh-75 {min-height:75vh;}
.min-vh-50 {min-height:50vh;}

.site-header {position:fixed; inset:0 0 auto; z-index:1050; height:var(--header-height); padding:.75rem 0; color:#fff; transform:translateY(0); transition:transform var(--theme-transition),background-color var(--theme-transition),height var(--theme-transition),box-shadow var(--theme-transition);}
.site-header.is-scrolled,.has-solid-header .site-header {height:4.75rem; background:rgba(16,12,16,.9); box-shadow:0 1px 0 rgba(255,255,255,.1); backdrop-filter:blur(18px);}
.site-header.is-hidden {transform:translateY(-110%);}
.site-header.menu-open,.site-header:focus-within {transform:translateY(0);}
.brand-link {position:relative; z-index:2; width:3.7rem; height:3.7rem; transition:transform var(--theme-transition); transform-origin: top left; transform: scale(1.15);}
.site-header.is-scrolled .brand-link,.has-solid-header .brand-link {transform: scale(1);}
.brand-link img {width:100%; height:100%; object-fit:contain;}
.desktop-nav {gap:clamp(1.1rem,1.7vw,2rem);}
.desktop-nav a {position:relative; padding:.5rem 0; font-size:.86rem; font-weight:700;}
.desktop-nav a::after {content:""; position:absolute; right:0; bottom:.15rem; left:0; height:2px; background:var(--theme-color); transform:scaleX(0); transform-origin:right; transition:transform var(--theme-transition);}
.desktop-nav a:hover::after,.desktop-nav a.is-active::after {transform:scaleX(1); transform-origin:left;}
.language-switch {gap:.75rem;}
.language-switch a {color:rgba(255,255,255,.56); font-size:.72rem; font-weight:700; letter-spacing:.08em; transition:color var(--theme-transition);}
.language-switch a:hover,.language-switch a.is-active {color:#fff;}
.header-icon {width:2.65rem; height:2.65rem; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:#fff;}
.header-icon svg {width:1.15rem;}
.cart-preview {position:relative; cursor:default; opacity:.72; transition:opacity var(--theme-transition),border-color var(--theme-transition),background var(--theme-transition);}
.cart-preview:hover,.cart-preview:focus-visible {border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.08); opacity:1; outline:none;}
.cart-preview-tooltip {position:absolute; top:calc(100% + .75rem); right:-.45rem; width:max-content; max-width:12rem; gap:.5rem; padding:.58rem .75rem; border:1px solid rgba(255,255,255,.14); border-radius:.75rem; background:rgba(15,12,16,.96); color:#fff; box-shadow:0 .9rem 2.5rem rgba(0,0,0,.32); font-size:.7rem; font-weight:700; letter-spacing:.04em; line-height:1.25; white-space:nowrap; opacity:0; visibility:hidden; transform:translateY(-.4rem) scale(.96); transform-origin:top right; pointer-events:none; backdrop-filter:blur(14px); transition:opacity 180ms ease,visibility 180ms ease,transform 240ms cubic-bezier(.16,1,.3,1);}
.cart-preview-tooltip::before {content:""; position:absolute; top:-.32rem; right:1.25rem; width:.62rem; height:.62rem; border-top:1px solid rgba(255,255,255,.14); border-left:1px solid rgba(255,255,255,.14); background:rgba(15,12,16,.96); transform:rotate(45deg);}
.cart-preview-tooltip i {width:.42rem; height:.42rem; flex:0 0 auto; border-radius:50%; background:var(--theme-color-bright); box-shadow:0 0 0 .25rem rgba(240,82,32,.12);}
.cart-preview:is(:hover,:focus-visible) .cart-preview-tooltip {opacity:1; visibility:visible; transform:translateY(0) scale(1);}
.menu-toggle {gap:.65rem; padding:.7rem .9rem; border:1px solid rgba(255,255,255,.24); border-radius:2rem; background:rgba(0,0,0,.08); color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:background var(--theme-transition),color var(--theme-transition);}
.menu-toggle:hover {background:#fff; color:var(--dark-color);}
.menu-toggle svg {width:1.35rem;}
.site-menu {--bs-offcanvas-width:min(100%,44rem); z-index:1100; background:linear-gradient(155deg,#1a151a 0%,#111013 54%,#0b2928 145%); color:#fff; border-left:1px solid rgba(255,106,26,.22); box-shadow:-2rem 0 5rem rgba(0,0,0,.58);}
.offcanvas-backdrop {z-index:1090; background-color:#020203;}
.offcanvas-backdrop.show {opacity:.76;}
.site-menu .offcanvas-header {padding:1.2rem 1.5rem; border-bottom:1px solid var(--line-color);}
.site-menu .offcanvas-body {padding:2.5rem 1.5rem 1.5rem;}
.menu-brand {width:3.7rem;}
.menu-brand img {width:100%;}
.menu-close {width:3rem; height:3rem; border:1px solid var(--line-color); border-radius:50%; background:transparent; color:#fff; transition:transform var(--theme-transition),background var(--theme-transition);}
.menu-close:hover {background:var(--theme-color); transform:rotate(90deg);}
.menu-close svg {width:1.2rem;}
.menu-statement {max-width:18ch; margin:0 0 2.5rem; font-family:var(--theme-font); font-size:clamp(1.6rem,5vw,2.8rem); font-weight:700; line-height:1.05;}
.menu-nav {border-top:1px solid var(--line-color);}
.menu-nav a {position:relative; padding:1rem 0; border-bottom:1px solid var(--line-color); font-family:var(--theme-font); font-size:clamp(1.7rem,6vw,3.4rem); font-weight:700; line-height:1; letter-spacing:-.04em; transition:padding-left var(--theme-transition),color var(--theme-transition);}
.menu-nav a span {width:2.5rem; color:var(--theme-color-bright); font-family:var(--text-font); font-size:.7rem; letter-spacing:.12em;}
.menu-nav a:hover {padding-left:.8rem; color:var(--theme-color-bright);}
.menu-bottom {padding-top:2rem; color:var(--muted-color); font-size:.85rem;}
.menu-bottom a:hover {color:#fff;}
.menu-social-label {color:var(--theme-color-bright); font-size:.65rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.menu-social-link {min-height:2.7rem; gap:.5rem; padding:.4rem .75rem; border:1px solid var(--line-color); border-radius:999px; color:var(--muted-color); font-size:.72rem; font-weight:700; transition:border-color var(--theme-transition),background var(--theme-transition),color var(--theme-transition),transform var(--theme-transition);}
.menu-social-link>span {width:1.35rem; height:1.35rem; color:#fff; transition:color var(--theme-transition);}
.menu-social-link svg {width:.95rem; height:.95rem;}
.menu-social-link:is(:hover,:focus-visible) {border-color:rgba(240,82,32,.5); background:rgba(240,82,32,.1); color:#fff; outline:none; transform:translateY(-.1rem);}
.menu-social-link:is(:hover,:focus-visible)>span {color:var(--theme-color-bright);}

.hero-section {position:relative; height:100svh; min-height:43rem; overflow:hidden; background:var(--deep-color);}
.hero-media,.hero-shade {position:absolute; inset:0;}
.hero-media video {width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.82) contrast(1.06);}
.hero-shade {background:linear-gradient(180deg,rgba(9,7,9,.58) 0%,rgba(9,7,9,.38) 34%,rgba(9,7,9,.92) 100%),linear-gradient(90deg,rgba(5,35,35,.72) 0%,rgba(12,10,13,.45) 48%,rgba(50,18,9,.64) 100%);}
.hero-shade::before {content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(13,74,73,.58) 0%,rgba(13,74,73,.08) 42%,rgba(240,82,32,.08) 58%,rgba(240,82,32,.46) 100%); pointer-events:none;}
.hero-content {position:relative; height:100%; z-index:1;}
.hero-eyebrow {margin:0 0 1.1rem; padding-left:2.8rem; color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;}
.hero-eyebrow::before {content:""; position:absolute; width:2rem; height:1px; margin-top:.7rem; margin-left:-2.8rem; background:var(--theme-color-bright);}
.hero-title {font-size:clamp(2.35rem,9.5vw,4.4rem); line-height:.82; letter-spacing:-.075em; text-transform:uppercase;}
.hero-line {height:.94em; padding-top:.15em; overflow:hidden; white-space:nowrap;}
.hero-line>span {transform:translateY(115%); transition:transform 900ms cubic-bezier(.16,1,.3,1);}
.hero-line-outline {color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.78);}
.hero-line-outline {font-size:.86em;}
.is-ready .hero-line>span {transform:translateY(0);}
.hero-line:nth-child(2)>span {transition-delay:120ms;}
.hero-text {max-width:37rem; margin:0; color:rgba(255,255,255,.85); font-size:clamp(1rem,2vw,1.25rem);}
.hero-scroll {position:absolute; right:1rem; bottom:1rem; z-index:2; width:3.5rem; height:3.5rem; border:1px solid rgba(255,255,255,.35); border-radius:50%;}
.hero-scroll span {position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0);}
.hero-scroll svg {width:1.25rem; animation:scrollHint 1.8s ease-in-out infinite;}
@keyframes scrollHint {0%,100%{transform:translateY(-3px)}50%{transform:translateY(4px)}}

.theme-button {--button-wave:var(--theme-color-alt); position:relative; isolation:isolate; overflow:hidden; min-height:3.5rem; gap:1rem; padding:.6rem .65rem .6rem 1.4rem; border:1px solid var(--theme-color); border-radius:999px; background:var(--theme-color); color:#fff; font-size:.88rem; font-weight:700; line-height:1.1; box-shadow:0 .65rem 1.8rem rgba(12,8,12,.1); transition:color var(--theme-transition),border-color var(--theme-transition),box-shadow var(--theme-transition);}
.theme-button::before {content:""; position:absolute; left:-15%; bottom:-130%; z-index:0; width:130%; height:200%; border-radius:50% 50% 0 0/34% 34% 0 0; background:var(--button-wave); transform:translateY(70%) rotate(-4deg); transform-origin:center bottom; transition:transform 520ms cubic-bezier(.16,1,.3,1);}
.theme-button>span,.theme-button>svg {position:relative; z-index:1;}
.theme-button>svg {width:2rem; height:2rem; flex:0 0 auto; padding:.55rem; border-radius:50%; background:rgba(255,255,255,.14); transition:background var(--theme-transition),transform var(--theme-transition);}
.theme-button:not(:has(>svg)) {padding-right:1.4rem;}
.theme-button:is(:hover,:focus-visible) {border-color:var(--button-wave); color:#fff; box-shadow:0 .9rem 2.2rem rgba(12,8,12,.2);}
.theme-button:is(:hover,:focus-visible)::before {transform:translateY(-35%) rotate(0);}
.theme-button:is(:hover,:focus-visible)>svg {background:rgba(255,255,255,.22); transform:translateX(.22rem);}
.theme-button:focus-visible {outline:3px solid rgba(255,255,255,.72); outline-offset:3px;}
.theme-button-transparent {--button-wave:var(--theme-color); border-color:rgba(255,255,255,.45); background:transparent; box-shadow:none;}
.theme-button-light {--button-wave:var(--theme-color); border-color:#fff; background:#fff; color:var(--dark-color);}
.theme-button-dark {--button-wave:var(--theme-color-alt); border-color:var(--dark-color); background:var(--dark-color); color:#fff;}
.theme-button-light>svg {background:rgba(22,17,22,.09);}
.theme-button-light:is(:hover,:focus-visible)>svg {background:rgba(255,255,255,.2);}
.text-link {gap:.7rem; color:var(--theme-color-bright); font-size:.84rem; font-weight:700;}
.text-link svg {width:1.1rem; transition:transform var(--theme-transition);}
.text-link:hover svg {transform:translateX(.3rem);}

.intro-section {position:relative;}
.intro-section::after {content:""; position:absolute; right:-8rem; bottom:-9rem; width:21rem; height:21rem; border:1px solid rgba(240,82,32,.35); border-radius:50%;}
.intro-copy {max-width:48rem; color:#3a3438; font-size:clamp(1.05rem,2.4vw,1.45rem); line-height:1.65;}
.growth-section {background:linear-gradient(135deg,#161116 0%,#151118 55%,#082d2d 160%);}
.growth-list {border-top:1px solid var(--line-color);}
.growth-item {padding:1.6rem 0; border-bottom:1px solid var(--line-color); transition:background 320ms ease,border-color 320ms ease;}
.growth-item>div {transition:transform 340ms cubic-bezier(.2,.75,.25,1);}
.growth-item:hover {border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.035);}
.growth-item:hover>div {transform:translateX(.7rem);}
.growth-number {color:var(--theme-color-bright); font-size:.72rem; font-weight:700; letter-spacing:.12em;}
.growth-item h3 {font-size:clamp(1.7rem,5vw,3.2rem); letter-spacing:-.04em;}
.growth-item p {max-width:32rem; margin:0; color:var(--muted-color);}

.programs-section {position:relative; background:var(--deep-color); overflow:hidden;}
.programs-intro {max-width:30rem; margin:0; color:var(--muted-color);}
.programs-pin {position:relative; overflow:hidden;}
.programs-track {gap:1rem; width:max-content; padding-bottom:5rem; will-change:transform;}
.program-card {width:min(80vw,24rem); flex:0 0 auto;}
.program-card-link {height:100%;}
.program-card-media {position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:var(--theme-radius); background:#2b2229;}
.program-card-media::after {content:""; position:absolute; inset:0; z-index:2; background:linear-gradient(180deg,transparent 50%,rgba(8,6,8,.82)); pointer-events:none;}
.program-card-media img {width:100%; height:100%; object-fit:cover; filter:saturate(.75); transition:transform 800ms cubic-bezier(.2,.75,.25,1),filter var(--theme-transition);}
.page-program .program-card-media img {filter:saturate(.05);}
.program-card-video {position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; opacity:0; filter:saturate(.82) contrast(1.04); transform:scale(1.025); pointer-events:none; transition:opacity 260ms ease,transform 460ms cubic-bezier(.2,.75,.25,1);}
.program-card.is-video-playing .program-card-video {opacity:1; transform:scale(1);}
.program-card-number {position:absolute; top:1rem; left:1rem; z-index:3; font-size:.7rem; font-weight:700; letter-spacing:.12em;}
.program-card-action {position:absolute; right:1rem; bottom:1rem; z-index:3; width:3rem; height:3rem; border-radius:50%; background:var(--theme-color); transition:transform 320ms cubic-bezier(.16,1,.3,1),box-shadow 320ms ease;}
.program-card-action svg {width:1.15rem; transition:transform 320ms cubic-bezier(.16,1,.3,1);}
.program-card-copy {padding:1.25rem .2rem 0;}
.program-card-copy>span {color:var(--theme-color-bright); font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;}
.program-card-copy h3 {margin:.3rem 0 .55rem; font-size:clamp(2rem,7vw,3.5rem); line-height:1; letter-spacing:-.055em;}
.program-card-copy p {max-width:26rem; margin:0; color:var(--muted-color); font-size:.92rem;}
.program-card-link:hover .program-card-media img {transform:scale(1.06);}
.program-card-link:is(:hover,:focus-visible) .program-card-action {transform:translateY(-.15rem) scale(1.08); box-shadow:0 0 0 .35rem rgba(240,82,32,.16);}
.program-card-link:is(:hover,:focus-visible) .program-card-action svg {transform:translateX(.2rem);}
.programs-end-card {width:min(80vw,24rem); min-height:30rem; flex:0 0 auto; padding:2rem; border:1px solid var(--line-color); border-radius:var(--theme-radius); background:var(--theme-color-alt);}
.end-card-link {font-family:var(--theme-font); font-size:clamp(2rem,7vw,3.5rem); font-weight:700; line-height:.95; letter-spacing:-.05em;}
.end-card-link svg {width:2.2rem; margin-top:1rem; transition:transform var(--theme-transition);}
.end-card-link:hover svg {transform:translateX(.5rem);}
.schedule-strip {position:relative; overflow:hidden; background:linear-gradient(105deg,#0a3433 0%,#123334 54%,#59231a 135%);}
.schedule-strip::after {content:""; position:absolute; top:50%; right:-7rem; width:18rem; height:18rem; border:1px solid rgba(240,82,32,.25); border-radius:50%; transform:translateY(-50%); pointer-events:none;}
.schedule-strip>.container {position:relative; z-index:1;}
.schedule-strip-title {max-width:17ch; margin:0; font-size:clamp(2rem,4vw,3.4rem); line-height:.95; letter-spacing:-.055em;}
.schedule-strip-text {max-width:30rem; margin:0; color:rgba(255,255,255,.68); font-size:.9rem;}

.package-card {--package-accent:var(--theme-color); position:relative; display:flex; flex-direction:column; overflow:hidden; width:100%; padding:1.5rem; border:1px solid var(--dark-line); border-radius:var(--theme-radius); background:rgba(255,255,255,.3); color:var(--dark-color); transition:border-color var(--theme-transition),box-shadow var(--theme-transition),transform var(--theme-transition);}
.package-card::before {content:""; position:absolute; inset:0 auto auto 0; width:100%; height:.28rem; background:var(--package-accent); transform:scaleX(.28); transform-origin:left; transition:transform var(--theme-transition);}
.package-card:not(.is-featured):hover {border-color:var(--package-accent); box-shadow:0 1.2rem 3rem rgba(22,17,22,.09); transform:translateY(-.35rem);}
.package-card:not(.is-featured):hover::before {transform:scaleX(1);}
.package-card.package-tier-1 {--package-accent:#f05220;}
.package-card.package-tier-2 {--package-accent:#0d7773;}
.package-card.package-tier-3 {--package-accent:#ad3f76;}
.package-card.is-featured {background:var(--dark-color); color:#fff; box-shadow:0 1.5rem 4rem rgba(22,17,22,.18);}
.package-card.is-featured::before {display:block; background:linear-gradient(90deg,var(--theme-color),#0d7773); transform:scaleX(.34);}
.package-card.is-featured .package-head {padding-top:2rem;}
.package-level {margin-bottom:1.7rem; color:var(--package-accent);}
.package-level-number {font-family:var(--theme-font); font-size:.75rem; font-weight:800; letter-spacing:.12em;}
.package-level-bars {gap:.28rem;}
.package-level-bars i {display:block; width:1.35rem; height:.22rem; border-radius:99px; background:rgba(22,17,22,.13);}
.package-level-bars i.is-active {background:var(--package-accent);}
.package-badge {position:absolute; top:1rem; right:1rem; padding:.35rem .65rem; border-radius:999px; background:var(--theme-color); color:#fff; font-size:.6rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; transition:background var(--theme-transition),box-shadow var(--theme-transition),transform var(--theme-transition);}
.package-kicker {color:var(--theme-color); font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.package-head {padding-bottom:1.25rem; border-bottom:1px solid currentColor;}
.package-head h3 {margin:.65rem 0 .4rem; font-size:clamp(2rem,7vw,3.2rem); line-height:.95; letter-spacing:-.05em;}
.package-head p {margin:0; color:inherit; font-size:.86rem; opacity:.68;}
.package-head .package-price {display:flex; flex-direction:column; gap:.15rem; margin:1.5rem 0 1rem; opacity:1;}
.package-price strong {font-family:var(--theme-font); font-size:clamp(2rem,4vw,2.8rem); line-height:.9; letter-spacing:-.055em;}
.package-price span {color:inherit; font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; opacity:.58;}
.package-head .package-audience {font-size:.78rem; line-height:1.55;}
.package-list {margin:1.25rem 0 1rem;}
.package-list li {gap:.65rem; margin-bottom:.8rem; font-size:.84rem; line-height:1.45;}
.package-list li span {color:var(--theme-color); font-weight:700;}
.package-extras {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem .65rem; margin:.65rem 0 1.25rem; padding-top:1rem; border-top:1px solid color-mix(in srgb,currentColor 14%,transparent);}
.package-extras>span {grid-column:1/-1; display:block; margin-bottom:.2rem; color:var(--package-accent); font-size:.6rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;}
.package-extras small {margin:0; color:inherit; font-size:.68rem; line-height:1.35; opacity:.62;}
.home-package-guide {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.45rem 1rem; margin-top:2rem; padding-top:1.5rem; border-top:1px solid var(--dark-line); color:#5d555a; font-size:.86rem; font-weight:700; text-align:center;}
.home-package-guide a {border-bottom:1px solid rgba(240,82,32,.45); color:var(--theme-color);}
.home-package-guide i {display:inline-block; margin-left:.25rem; font-style:normal; transition:transform var(--theme-transition);}
.home-package-guide a:is(:hover,:focus-visible) {border-color:var(--dark-color); color:var(--dark-color); outline:none;}
.home-package-guide a:is(:hover,:focus-visible) i {transform:translateX(.25rem);}

.community-section {background:linear-gradient(155deg,#0d0a0e 0%,#161116 50%,#2b160f 140%);}
.reviews-section {position:relative; overflow:hidden; border-top:1px solid var(--dark-line); background:radial-gradient(circle at 88% 18%,rgba(240,82,32,.13),transparent 30%),radial-gradient(circle at 8% 88%,rgba(13,74,73,.09),transparent 34%),var(--bg-color); color:var(--dark-color);}
.reviews-section::before {content:"BOUNCE VOICES"; position:absolute; right:-.04em; bottom:-.17em; color:rgba(22,17,22,.035); font-family:var(--theme-font); font-size:13vw; font-weight:800; line-height:1; letter-spacing:-.08em; white-space:nowrap; pointer-events:none;}
.reviews-section .section-title {font-size:clamp(2.35rem,4vw,4.1rem);}
.reviews-slider {position:relative; z-index:1;}
.reviews-track {overflow:visible; clip-path:inset(-4rem -100vw -4rem 0);}
.reviews-slide {height:auto; opacity:.46; transform:scale(.965); transform-origin:left center; transition:opacity 420ms ease,transform 600ms cubic-bezier(.2,.75,.25,1);}
.reviews-slide.is-active {opacity:1; transform:scale(1);}
.review-card {position:relative; min-height:23rem; height:100%; margin:0; padding:2rem; overflow:hidden; border:1px solid var(--dark-line); border-radius:var(--theme-radius); background:rgba(255,250,242,.62); box-shadow:1.25rem 1.5rem 3.5rem -1.4rem rgba(44,32,37,.13),inset 0 1px 0 rgba(255,255,255,.5); backdrop-filter:blur(8px);}
.review-card::after {content:""; position:absolute; right:-5rem; bottom:-6rem; width:13rem; height:13rem; border:1px solid rgba(240,82,32,.24); border-radius:50%;}
.review-mark {position:relative; z-index:1; height:3.7rem; color:var(--theme-color); font-family:Georgia,serif; font-size:6rem; line-height:.85;}
.review-card>p {position:relative; z-index:1; max-width:29ch; margin:1.25rem 0 auto; color:#302a2e; font-size:clamp(1.25rem,2.2vw,1.75rem); line-height:1.45;}
.review-excerpt-ellipsis {display:inline-block; margin-left:.18em; color:var(--theme-color); font-family:Georgia,serif; font-size:1.35em; font-weight:700; line-height:.7; transform:translateY(.04em);}
.review-card.is-long>p {max-width:none; font-size:clamp(1.08rem,1.65vw,1.35rem); line-height:1.58;}
.review-card.is-extra-long>p {max-width:none; font-size:clamp(1rem,1.45vw,1.2rem); line-height:1.62;}
.review-card footer {position:relative; z-index:1; padding-top:1.25rem; border-top:1px solid var(--dark-line);}
.review-card cite {font-family:var(--theme-font); font-size:.92rem; font-style:normal; font-weight:700;}
.review-card cite a {color:inherit; text-decoration-line:underline; text-decoration-color:rgba(240,82,32,.48); text-underline-offset:.22em; transition:color var(--theme-transition),text-decoration-color var(--theme-transition);}
.review-card cite a:is(:hover,:focus-visible) {color:var(--theme-color); text-decoration-color:currentColor; outline:none;}
.review-card footer>span {color:var(--theme-color-bright); font-size:.68rem; font-weight:700; letter-spacing:.12em;}
.member-story-card {position:relative; padding:1.75rem; overflow:hidden; border-radius:var(--theme-radius); background:radial-gradient(circle at 88% 12%,rgba(240,82,32,.22),transparent 28%),linear-gradient(145deg,#0d302f,#171116 62%); color:#fff;}
.member-story-card .section-eyebrow {color:var(--theme-color-bright);}
.member-story-card h3 {max-width:11ch; font-size:clamp(2rem,4.2vw,4.2rem); line-height:.98; letter-spacing:-.06em;}
.member-story-name {margin-top:2rem; padding-top:1rem; border-top:1px solid var(--line-color); color:#fff; font-family:var(--theme-font); font-weight:700;}
.member-story-copy p {margin:0 0 1.35rem; color:rgba(255,255,255,.72); font-size:clamp(.98rem,1.4vw,1.1rem); line-height:1.75;}
.member-story-copy p:first-child {color:#fff; font-family:var(--theme-font); font-size:clamp(1.15rem,2vw,1.45rem); font-weight:700; line-height:1.5; letter-spacing:-.02em;}
.member-story-copy p:last-child {margin-bottom:0;}
.member-story-deck {position:relative; display:grid; margin-top:5rem; overflow:hidden; border-radius:var(--theme-radius); box-shadow:0 2rem 5rem rgba(29,21,26,.13); isolation:isolate; touch-action:pan-y;}
.member-story-deck .member-story-card {grid-area:1/1; min-width:0; height:100%; transform:translateX(0); transition:transform 720ms cubic-bezier(.16,1,.3,1);}
.member-story-deck .member-story-card:nth-of-type(2) {background:radial-gradient(circle at 12% 88%,rgba(240,82,32,.24),transparent 31%),linear-gradient(145deg,#183b39,#171116 66%);}
.member-story-deck .member-story-card.is-active {z-index:2;}
.member-story-deck.has-stories-before .member-story-card.is-active {padding-left:7.5rem;}
.member-story-deck.has-stories-after .member-story-card.is-active {padding-right:7.5rem;}
.member-story-deck .member-story-card.is-before {z-index:3; transform:translateX(calc(-100% + 4.5rem));}
.member-story-deck .member-story-card.is-after {z-index:3; transform:translateX(calc(100% - 4.5rem));}
.member-story-card-content {height:100%; opacity:0; pointer-events:none; transition:opacity 260ms ease;}
.member-story-card.is-active .member-story-card-content {opacity:1; pointer-events:auto; transition-delay:220ms;}
.member-story-tab {position:absolute; top:0; bottom:0; z-index:4; display:flex; width:4.5rem; align-items:center; justify-content:flex-end; gap:1.15rem; padding:1.5rem .9rem; border:0; background:rgba(255,255,255,.09); color:#fff; font-family:var(--theme-font); cursor:pointer; writing-mode:vertical-rl; transform:rotate(180deg); transition:background var(--theme-transition),color var(--theme-transition);}
.member-story-card.is-before .member-story-tab {right:0;}
.member-story-card.is-after .member-story-tab {left:0;}
.member-story-card.is-active .member-story-tab {visibility:hidden; pointer-events:none;}
.member-story-tab::after {content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--theme-color);}
.member-story-card.is-before .member-story-tab::after {right:0; left:auto;}
.member-story-tab:is(:hover,:focus-visible) {background:var(--theme-color); color:#fff; outline:none;}
.member-story-tab:is(:hover,:focus-visible)::after {background:var(--theme-color-bright);}
.member-story-tab-label {color:var(--theme-color-bright); font-size:.61rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;}
.member-story-tab-name {font-size:.86rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase;}
.member-story-meta {display:flex; align-items:center; justify-content:space-between; gap:1rem;}
.member-story-position {color:var(--theme-color-bright); font-size:.68rem; font-weight:700; letter-spacing:.14em; white-space:nowrap;}
.member-story-mark {display:block; margin-top:2.25rem; color:rgba(255,255,255,.045); font-family:Georgia,serif; font-size:20rem; line-height:.72; text-align:left; pointer-events:none;}
.member-story-swipe-hint {display:none;}
.reviews-controls {gap:.15rem;}
.reviews-arrows {gap:.6rem;}
.reviews-arrow.splide__arrow {position:static; width:3.25rem; height:3.25rem; border:1px solid var(--dark-line); background:rgba(22,17,22,.025); color:var(--dark-color); opacity:1; transform:none; transition:border-color var(--theme-transition),background var(--theme-transition),color var(--theme-transition);}
.reviews-arrow.splide__arrow:hover,.reviews-arrow.splide__arrow:focus-visible {border-color:var(--theme-color); background:var(--theme-color); color:#fff; outline:none;}
.reviews-arrow.splide__arrow svg {width:1.05rem; height:auto; fill:none; transform:none;}
.reviews-arrow.splide__arrow--prev svg {transform:rotate(180deg);}
.reviews-counter {display:flex; align-items:center; gap:.55rem; color:var(--dark-color); font-size:.72rem; font-weight:700; letter-spacing:.1em;}
.reviews-counter i {display:block; width:2.2rem; height:1px; background:var(--dark-line);}
.reviews-all-link {color:var(--dark-color);}
.community-media {position:relative; overflow:hidden; border-radius:var(--theme-radius);}
.community-media img {width:100%; min-height:31rem; object-fit:cover; filter:saturate(.8) contrast(1.05);}
.community-media::after {content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent,rgba(13,10,14,.7));}
.community-media span {position:absolute; right:1.5rem; bottom:1.5rem; left:1.5rem; z-index:1; font-size:.7rem; font-weight:700; letter-spacing:.2em;}
.community-quote {margin:2.5rem 0 0; padding:1.5rem 0 0; border-top:1px solid var(--line-color); font-family:var(--theme-font); font-size:clamp(1.35rem,3vw,2rem); font-weight:700; line-height:1.15; letter-spacing:-.035em;}

.bounce-accordion {--bs-accordion-bg:transparent; --bs-accordion-border-color:var(--line-color); --bs-accordion-color:#fff; --bs-accordion-btn-color:#fff; --bs-accordion-btn-bg:transparent; --bs-accordion-active-color:var(--theme-color-bright); --bs-accordion-active-bg:transparent; --bs-accordion-btn-focus-box-shadow:none;}
.bounce-accordion .accordion-item {border-width:0 0 1px; border-radius:0;}
.bounce-accordion .accordion-button {gap:1rem; padding:1.35rem 0; font-family:var(--theme-font); font-size:clamp(1.05rem,2.5vw,1.45rem); font-weight:700; line-height:1.3; box-shadow:none;}
.bounce-accordion .accordion-button::after {filter:invert(1);}
.bounce-accordion .accordion-body {padding:0 0 1.5rem 2rem; color:var(--muted-color);}
.bounce-accordion .accordion-body a {border-bottom:1px solid rgba(240,82,32,.55); color:#fff; font-weight:700; transition:border-color var(--theme-transition),color var(--theme-transition);}
.bounce-accordion .accordion-body a:is(:hover,:focus-visible) {border-color:var(--theme-color-bright); color:var(--theme-color-bright); outline:none;}
.faq-number {color:var(--theme-color); font-family:var(--text-font); font-size:.65rem; letter-spacing:.1em;}
html[lang="ru"] .faq-section .section-title {max-width:100%; font-size:clamp(2.25rem,3.5vw,4rem); letter-spacing:-.04em; overflow-wrap:break-word; hyphens:auto;}
.accordion-light {--bs-accordion-border-color:var(--dark-line); --bs-accordion-color:var(--dark-color); --bs-accordion-btn-color:var(--dark-color);}
.accordion-light .accordion-button::after {filter:none;}
.accordion-light .accordion-body {color:#514950;}
@media screen and (min-width:768px){
    .bounce-accordion .accordion-body {padding:0 0 1.5rem 3rem;}
}

.final-cta {position:relative; overflow:hidden; background:radial-gradient(circle at 90% 20%,rgba(240,82,32,.42),transparent 30%),linear-gradient(135deg,#0b3434,#161116 60%);}
.final-cta::after {content:"BOUNCE"; position:absolute; right:-.08em; bottom:-.22em; color:rgba(255,255,255,.035); font-family:var(--theme-font); font-size:28vw; font-weight:800;
    line-height:1; letter-spacing:-.1em; pointer-events:none;}
.final-text {max-width:42rem; margin:2rem 0 0; color:rgba(255,255,255,.72); font-size:1.1rem;}

.inner-hero {position:relative; isolation:isolate; overflow:hidden; padding-top:var(--header-height); background:#100d11;}
.inner-hero::before {content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(10, 8, 11, .96) 0%, rgb(12 10 13 / 88%) 48%, rgba(12, 10, 13, .38) 100%); pointer-events:none;}
.inner-hero::after {content:""; position:absolute; inset:0; z-index:1; background:radial-gradient(circle at 84% 22%,rgba(240,82,32,.26),transparent 34%); pointer-events:none;}
.inner-hero>.container {position:relative; z-index:3;}
.inner-hero-media {position:absolute; inset:0; z-index:0; overflow:hidden;}
.inner-hero-media img {width:100%; height:100%; object-fit:cover; object-position:center 64%; filter:saturate(.78) contrast(1.06); animation:innerHeroMediaIn 1.2s cubic-bezier(.16,1,.3,1) both;}
.inner-hero-word {position:absolute; right:-.05em; bottom:.02em; z-index:2; max-width:none; color:rgba(255,255,255,.025); font-family:var(--theme-font); font-size:clamp(5rem,18vw,18rem); font-weight:800; line-height:.72; letter-spacing:-.09em; text-transform:uppercase; white-space:nowrap; -webkit-text-stroke:1px rgba(255,255,255,.13); pointer-events:none;}
.about-hero::before {background:linear-gradient(90deg,rgba(7,31,31,.97) 0%,rgba(10,23,24,.82) 48%,rgba(12,10,13,.34) 100%);}
.about-hero::after {background:radial-gradient(circle at 78% 22%,rgba(13,119,115,.38),transparent 38%);}
.programs-hero::before {background:linear-gradient(90deg,rgba(12,9,12,.97) 0%,rgba(19,12,15,.8) 52%,rgba(26,12,8,.3) 100%);}
.programs-hero::after {background:linear-gradient(145deg,transparent 48%,rgba(240,82,32,.28));}
.programs-hero .inner-hero-word {right:auto; left:-.05em; color:rgba(255,255,255,.018);}
.packages-hero::before {background:linear-gradient(90deg,rgba(11,34,34,.97) 0%,rgba(14,23,23,.84) 52%,rgba(28,12,8,.32) 100%);}
.packages-hero::after {background:radial-gradient(circle at 84% 28%,rgba(240,82,32,.35),transparent 36%);}
.packages-hero .inner-hero-word {top:1.1em; bottom:auto; font-size:clamp(5rem,16vw,16rem);}
.contact-hero::before {background:linear-gradient(90deg,rgba(15,10,15,.98) 0%,rgba(20,13,18,.9) 52%,rgba(13,74,73,.34) 100%);}
.contact-hero::after {background:radial-gradient(circle at 82% 76%,rgba(173,63,118,.3),transparent 36%);}
.contact-hero .inner-hero-word {right:.02em; bottom:.04em;}

.contact-location {position:relative; padding:clamp(5rem,9vw,8rem) 0; overflow:hidden; background:radial-gradient(circle at 82% 18%,rgba(13,74,73,.54),transparent 34%),linear-gradient(145deg,#171116 0%,#100d10 62%,#102f2e 130%);}
.contact-location::before {content:"VRAČAR"; position:absolute; right:-.04em; bottom:-.2em; color:rgba(255,255,255,.025); font-family:var(--theme-font); font-size:clamp(7rem,21vw,19rem); font-weight:800; line-height:.8; letter-spacing:-.08em; pointer-events:none;}
.contact-location-heading {position:relative; z-index:1; margin-bottom:clamp(2rem,5vw,3.5rem);}
.contact-location-heading .section-title {max-width:12ch;}
.contact-location-district {padding:.65rem 1rem; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:rgba(255,255,255,.74); font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.contact-map-shell {position:relative; height:clamp(35rem,58vw,46rem); border:1px solid rgba(255,255,255,.15); border-radius:var(--theme-radius); overflow:hidden; background:#d8d5cd; box-shadow:0 2.5rem 6rem rgba(0,0,0,.3);}
.contact-map {position:absolute; inset:0; z-index:1; background:#d8d5cd;}
.contact-map .leaflet-tile-pane {filter:grayscale(.82) sepia(.13) saturate(.52) contrast(.92) brightness(1.04);}
.contact-map .leaflet-control-zoom {overflow:hidden; border:1px solid rgba(22,17,22,.16); border-radius:.65rem; box-shadow:0 .5rem 1.5rem rgba(22,17,22,.12);}
.contact-map .leaflet-control-zoom a {color:var(--dark-color); font-family:var(--text-font);}
.contact-map .leaflet-control-attribution {padding:.15rem .4rem; background:rgba(255,255,255,.82); color:#645d61; font-size:.58rem; backdrop-filter:blur(8px);}
.contact-location-card {position:absolute; left:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem); z-index:700; width:min(25rem,calc(100% - 2rem)); padding:clamp(1.25rem,3vw,2rem); border:1px solid rgba(255,255,255,.14); border-radius:1.1rem; background:rgba(19,15,19,.92); color:#fff; box-shadow:0 1.5rem 4rem rgba(0,0,0,.34); backdrop-filter:blur(18px);}
.contact-location-card>span {display:block; margin-bottom:.6rem; color:var(--theme-color-bright); font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;}
.contact-location-card>strong {display:block; margin-bottom:1.4rem; font-family:var(--theme-font); font-size:clamp(1.25rem,3vw,1.8rem); line-height:1.12; letter-spacing:-.035em;}
.contact-location-card .theme-button {width:100%;}
.contact-map-district {position:absolute; right:clamp(1rem,3vw,2.25rem); bottom:clamp(3.7rem,6vw,5.4rem); z-index:400; color:rgba(22,17,22,.1); font-family:var(--theme-font); font-size:clamp(3.5rem,10vw,8rem); font-weight:800; line-height:.8; letter-spacing:-.08em; pointer-events:none;}
.contact-map-div-icon {background:transparent!important; border:0!important;}
.contact-map-marker {display:flex; align-items:center; gap:.45rem; width:max-content; height:100%; color:#2e292c; font-family:var(--text-font); filter:drop-shadow(0 .2rem .45rem rgba(22,17,22,.17));}
.contact-map-marker i {position:relative; display:flex; align-items:center; justify-content:center; width:1.65rem; height:1.65rem; flex:0 0 auto; border:2px solid #292428; border-radius:50%; background:#fffaf2; color:var(--theme-color); font-style:normal; font-size:.8rem; font-weight:800; box-shadow:0 0 0 3px rgba(255,250,242,.82),0 .25rem .75rem rgba(22,17,22,.24);}
.contact-map-marker:not(.is-bounce) i::after {content:""; width:.42rem; height:.42rem; border-radius:50%; background:var(--theme-color);}
.contact-map-marker b {padding:.35rem .58rem; border:1px solid rgba(22,17,22,.16); border-radius:.45rem; background:rgba(255,250,242,.94); color:#2e292c; font-size:.64rem; line-height:1.15; white-space:nowrap; backdrop-filter:blur(8px);}
.contact-map-marker.is-bounce {color:#fff;}
.contact-map-marker.is-bounce i {width:3.2rem; height:3.2rem; border:3px solid #fff; background:var(--theme-color); color:#fff; font-family:var(--theme-font); font-size:1.3rem; box-shadow:0 0 0 .65rem rgba(240,82,32,.17),0 .8rem 2rem rgba(0,0,0,.24); animation:mapBouncePulse 2.8s ease-in-out infinite;}
.contact-map-marker.is-bounce b {display:none;}
.contact-map-marker.is-transit {gap:.45rem;}
.contact-map-marker.is-transit i::after {background:var(--theme-color-alt);}
.contact-map-marker.is-transit b {letter-spacing:.05em; text-transform:uppercase;}
.contact-map .leaflet-popup-content-wrapper {border-radius:.75rem; background:var(--dark-color); color:#fff; box-shadow:0 1rem 3rem rgba(0,0,0,.26);}
.contact-map .leaflet-popup-tip {background:var(--dark-color);}
.contact-map .leaflet-popup-content {margin:.8rem 1rem; font-family:var(--text-font); font-size:.72rem; line-height:1.5;}
@keyframes mapBouncePulse {0%,100%{box-shadow:0 0 0 .4rem rgba(240,82,32,.12),0 .8rem 2rem rgba(0,0,0,.24)}50%{box-shadow:0 0 0 .8rem rgba(240,82,32,.2),0 .8rem 2rem rgba(0,0,0,.24)}}
.legal-hero::before {background:linear-gradient(90deg,rgba(12,10,13,.99) 0%,rgba(15,12,16,.93) 58%,rgba(15,12,16,.55) 100%);}
.legal-hero::after {background:radial-gradient(circle at 85% 24%,rgba(13,119,115,.2),transparent 34%);}
.legal-hero .inner-hero-media {opacity:.5;}
.legal-hero .inner-hero-word {font-size:clamp(3.5rem,11vw,11rem); opacity:.55;}
.schedule-hero::before {background:linear-gradient(90deg,rgba(9,8,11,.98) 0%,rgba(10,24,24,.89) 52%,rgba(12,10,13,.42) 100%);}
.schedule-hero::after {background:radial-gradient(circle at 82% 28%,rgba(13,119,115,.3),transparent 32%),radial-gradient(circle at 70% 80%,rgba(240,82,32,.2),transparent 30%);}
.schedule-hero .inner-hero-word {right:-.03em; color:rgba(255,255,255,.018);}
.events-hero::before {background:linear-gradient(90deg,rgba(8,27,27,.97) 0%,rgba(13,17,18,.86) 52%,rgba(24,10,8,.42) 100%);}
.events-hero::after {background:radial-gradient(circle at 84% 28%,rgba(240,82,32,.32),transparent 36%),linear-gradient(145deg,transparent 52%,rgba(13,119,115,.24));}
.events-hero .inner-hero-media img {filter:saturate(.7) contrast(1.08);}
.events-hero .inner-hero-word {right:-.04em; font-size:clamp(4.5rem,15vw,15rem); color:rgba(255,255,255,.018);}
html[lang="ru"] .legal-hero .display-title {max-width:none; font-size:clamp(2.2rem,5vw,4.75rem); overflow-wrap:anywhere; hyphens:auto;}
html[lang="ru"] .events-hero .display-title {max-width:none; font-size:clamp(2.15rem,7vw,5.4rem); overflow-wrap:break-word; hyphens:auto;}
.camp-overview {overflow:hidden; background:#eee9e1; color:var(--dark-color);}
.camp-overview-lead {margin:0 0 1.5rem; font-family:var(--theme-font); font-size:clamp(1.4rem,3vw,2.15rem); font-weight:700; line-height:1.15; letter-spacing:-.04em;}
.camp-overview-copy {max-width:42rem; margin:0 0 1rem; color:#5b5358;}
.camp-seasons {margin-top:3.5rem;}
.camp-season {height:100%; padding:1.5rem; border:1px solid var(--dark-line); border-radius:var(--theme-radius); background:rgba(255,255,255,.28);}
.camp-season>span,.camp-program-label,.camp-upcoming-label {display:block; margin-bottom:2rem; color:var(--theme-color); font-size:.64rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;}
.camp-season h3 {margin-bottom:1rem; font-size:clamp(1.8rem,4vw,3.2rem); letter-spacing:-.055em;}
.camp-season p {max-width:42rem; margin:0; color:#5b5358;}
.camp-program {margin-top:1rem; padding:1.5rem; border-radius:var(--theme-radius); background:radial-gradient(circle at 92% 10%,rgba(240,82,32,.19),transparent 29%),linear-gradient(145deg,#0d302f,#171116 62%); color:#fff;}
.camp-program-label {margin-bottom:1rem; color:var(--theme-color-bright);}
.camp-program-text {max-width:58rem; margin:0; font-family:var(--theme-font); font-size:clamp(1.25rem,2.7vw,2rem); font-weight:700; line-height:1.18; letter-spacing:-.035em;}
.camp-program-belief {max-width:50rem; margin:1.25rem 0 0; color:rgba(255,255,255,.64);}
.camp-signature {color:#fff; font-family:var(--theme-font); font-size:clamp(1.3rem,2.4vw,2rem); font-weight:700; letter-spacing:-.035em;}
.camp-upcoming {display:grid; gap:1.25rem; margin-top:1rem; padding:1.35rem 0; border-top:1px solid var(--dark-line); border-bottom:1px solid var(--dark-line);}
.camp-upcoming-label {margin-bottom:.55rem;}
.camp-upcoming h3 {margin:0; font-size:clamp(1.55rem,3vw,2.4rem); letter-spacing:-.045em;}
.camp-upcoming>p {max-width:42rem; margin:0; color:#5b5358;}
.inner-lead {max-width:45rem; margin:2rem 0 0; color:rgba(255,255,255,.7); font-size:clamp(1rem,2.2vw,1.25rem);}
.packages-comparison-section {border-top:1px solid var(--dark-line);}
.packages-comparison-intro,.package-support-intro {margin:0; color:#554d52; line-height:1.7;}
.package-table-wrap {overflow-x:auto; border:1px solid var(--dark-line); border-radius:var(--theme-radius); background:rgba(255,255,255,.4); box-shadow:0 1.5rem 4rem rgba(44,32,37,.05); scrollbar-width:thin; scrollbar-color:var(--theme-color) transparent;}
.package-table {width:100%; min-width:62rem; border-collapse:collapse; color:var(--dark-color);}
.package-table th,.package-table td {padding:1.15rem 1rem; border-right:1px solid var(--dark-line); border-bottom:1px solid var(--dark-line); text-align:left; vertical-align:middle;}
.package-table th:last-child,.package-table td:last-child {border-right:0;}
.package-table tbody tr:last-child>* {border-bottom:0;}
.package-table thead th {background:#ece6df; font-family:var(--theme-font); font-size:.82rem;}
.package-table thead th:first-child,.package-table tbody th {position:sticky; left:0; z-index:2; width:18rem; background:#f7f2eb;}
.package-table thead th:first-child {z-index:3;}
.package-table thead th span {display:block; font-size:1.1rem;}
.package-table thead th small {display:block; margin-top:.35rem; color:#6a6267; font-family:var(--text-font); font-size:.62rem; font-weight:700;}
.package-table tbody th {font-size:.76rem; line-height:1.4;}
.package-table td {min-width:11rem; color:#5d555a; font-size:.76rem; font-weight:700;}
.package-table td.is-included {color:#0d7773;}
.package-comparison-mobile-card {padding:1.25rem; border:1px solid var(--dark-line); border-radius:var(--theme-radius); background:rgba(255,255,255,.5);}
.package-comparison-mobile-card h3 {margin:0; color:var(--dark-color); font-size:1.5rem; letter-spacing:-.04em;}
.package-comparison-mobile-card>div>p {display:flex; flex-direction:column; align-items:flex-end; margin:0; color:var(--dark-color);}
.package-comparison-mobile-card>div>p strong {font-family:var(--theme-font); font-size:1.25rem; line-height:1;}
.package-comparison-mobile-card>div>p span {margin-top:.2rem; color:#71686e; font-size:.52rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;}
.package-comparison-mobile-card dl {margin:1.25rem 0 0; border-top:1px solid var(--dark-line);}
.package-comparison-mobile-card dl>div {display:grid; grid-template-columns:minmax(0,1fr) minmax(6.5rem,.75fr); gap:1rem; padding:.8rem 0; border-bottom:1px solid var(--dark-line);}
.package-comparison-mobile-card dl>div:last-child {border-bottom:0;}
.package-comparison-mobile-card dt {color:#5e565b; font-size:.68rem; line-height:1.4;}
.package-comparison-mobile-card dd {margin:0; color:var(--dark-color); font-size:.68rem; font-weight:700; line-height:1.4; text-align:right;}
.package-comparison-mobile-card dd.is-included {color:#0d7773;}
.membership-benefits-section {background:radial-gradient(circle at 88% 12%,rgba(240,82,32,.16),transparent 30%),linear-gradient(140deg,#151115,#092f2e);}
.membership-benefits-intro {margin:0; color:rgba(255,255,255,.68); line-height:1.7;}
.membership-benefit-card {width:100%; padding:1.75rem; border:1px solid var(--line-color); border-radius:var(--theme-radius); background:rgba(255,255,255,.035);}
.membership-benefit-card>div>span {color:var(--theme-color-bright); font-size:.66rem; font-weight:700; letter-spacing:.13em;}
.membership-benefit-card small {max-width:18rem; color:rgba(255,255,255,.48); font-size:.62rem; font-weight:700; letter-spacing:.05em; text-align:right; text-transform:uppercase;}
.membership-benefit-card h3 {margin:3rem 0 1.25rem; font-size:clamp(1.8rem,4vw,3rem); letter-spacing:-.05em;}
.membership-benefit-card p {margin:0; color:rgba(255,255,255,.68); line-height:1.75;}
.package-support-section {border-top:1px solid var(--dark-line);}
.package-support-card {--support-accent:var(--theme-color); position:relative; overflow:hidden; width:100%; min-height:27rem; padding:2rem; border:1px solid var(--dark-line); border-radius:var(--theme-radius); background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(241,234,226,.72)); transition:border-color var(--theme-transition),box-shadow var(--theme-transition),transform var(--theme-transition);}
.package-support-card::before {content:""; position:absolute; inset:0 0 auto; height:.25rem; background:var(--support-accent);}
.package-support-card.is-strength {--support-accent:#f05220; background:radial-gradient(circle at 90% 10%,rgba(240,82,32,.14),transparent 30%),linear-gradient(145deg,rgba(255,255,255,.78),rgba(247,234,225,.72));}
.package-support-card.is-stretch {--support-accent:#0d7773; background:radial-gradient(circle at 90% 10%,rgba(13,119,115,.15),transparent 30%),linear-gradient(145deg,rgba(255,255,255,.78),rgba(226,241,237,.72));}
.package-support-top>span:first-child {color:var(--support-accent); font-size:.66rem; font-weight:700; letter-spacing:.13em;}
.package-support-symbol {display:inline-flex; width:4.25rem; height:4.25rem; align-items:center; justify-content:center; border:1px solid color-mix(in srgb,var(--support-accent) 28%,transparent); border-radius:50%; background:color-mix(in srgb,var(--support-accent) 8%,transparent); color:var(--support-accent); transition:background var(--theme-transition),transform var(--theme-transition);}
.package-support-symbol svg {width:2.6rem; height:2.6rem; overflow:visible; fill:none; stroke:currentColor; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round;}
.package-support-card h3 {margin:2rem 0 .65rem; color:var(--dark-color); font-size:clamp(2.5rem,7vw,5.5rem); letter-spacing:-.065em;}
.package-support-card p {margin:0 0 1.25rem; color:#554d52; line-height:1.7;}
.package-support-card .package-support-traits {margin-bottom:1.5rem; color:var(--support-accent); font-size:.68rem; font-weight:700; letter-spacing:.08em; line-height:1.45; text-transform:uppercase;}
.package-support-card strong {display:block; margin-bottom:2rem; padding-top:1.2rem; border-top:1px solid var(--dark-line); color:var(--dark-color); font-size:.78rem; line-height:1.55;}
.package-support-card .text-link {color:var(--support-accent);}
.packages-community-row {margin-bottom:4.5rem; padding:clamp(1.5rem,4vw,3.5rem); overflow:hidden; border:1px solid var(--line-color); border-radius:var(--theme-radius); background:radial-gradient(circle at 88% 18%,rgba(240,82,32,.22),transparent 32%),linear-gradient(140deg,#082f2e,#171116 78%);}
.packages-community-row .section-title {max-width:20ch;}
.packages-community-text {max-width:48rem; margin:1.75rem 0 0; color:rgba(255,255,255,.68); font-size:1.02rem; line-height:1.75;}
.packages-community-media {position:relative; overflow:hidden; aspect-ratio:4/5; border-radius:calc(var(--theme-radius) - .25rem); background:#151115; box-shadow:0 1.5rem 4rem rgba(0,0,0,.24);}
.packages-community-media::after {content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(8,47,46,.42)); pointer-events:none;}
.packages-community-media img {width:100%; height:100%; object-fit:cover; filter:saturate(.78) contrast(1.04);}
.packages-final-cta {padding:1rem 0 0;}
.packages-final-cta .section-title {max-width:15ch;}
.packages-cta-text {max-width:34rem; margin:0; color:rgba(255,255,255,.7); font-size:1.05rem; line-height:1.7;}
html[lang="ru"] .membership-benefits-section .section-title,html[lang="ru"] .packages-community-row .section-title {overflow-wrap:break-word; hyphens:auto;}
.about-photo {overflow:hidden; border-radius:var(--theme-radius);}
.about-photo img {width:100%; max-height:47rem; object-fit:cover;}
.page-about main {overflow:hidden;}
.about-copy {margin-top:1.5rem; color:#494047; font-size:1.05rem;}
.about-academy-section {position:relative; overflow:hidden; background:radial-gradient(circle at 88% 14%,rgba(240,82,32,.16),transparent 27%),linear-gradient(145deg,#082d2c 0%,#111014 72%);}
.about-academy-section::after {content:"ACADEMY"; position:absolute; right:-.04em; bottom:-.17em; color:rgba(255,255,255,.018); font-family:var(--theme-font); font-size:15vw; font-weight:800; line-height:1; letter-spacing:-.09em; pointer-events:none;}
.about-academy-section>.container {position:relative; z-index:1;}
.about-section-intro {max-width:32rem; margin:2rem 0 0; color:rgba(255,255,255,.7); font-size:1.05rem;}
.about-prose p {margin:0; font-size:1.02rem; line-height:1.8;}
.about-prose p+p {margin-top:1.4rem;}
.about-prose-light p {color:rgba(255,255,255,.68);}
.about-inline-link {color:inherit; font-weight:700; text-decoration-line:underline; text-decoration-color:var(--theme-color); text-decoration-thickness:2px; text-underline-offset:.22em; transition:color var(--theme-transition),text-decoration-color var(--theme-transition);}
.about-inline-link:visited {color:inherit;}
.about-inline-link:is(:hover,:focus-visible) {color:var(--theme-color-bright); text-decoration-color:currentColor; outline:none;}
.about-pullquote {margin:2.5rem 0 0; padding:1.75rem 0 0 1.5rem; border-top:1px solid rgba(255,255,255,.16); border-left:3px solid var(--theme-color); color:#fff; font-family:var(--theme-font); font-size:clamp(1.45rem,2.8vw,2.25rem); font-weight:700; line-height:1.2; letter-spacing:-.04em;}
.value-card {height:100%; min-height:17rem; padding:1.5rem; border:1px solid var(--line-color); border-radius:var(--theme-radius); background:rgba(255,255,255,.025);}
.value-card>span {color:var(--theme-color-bright); font-size:.7rem; font-weight:700; letter-spacing:.12em;}
.value-card h3 {margin:3.5rem 0 .8rem; font-size:2rem; letter-spacing:-.04em;}
.value-card p {margin:0; color:var(--muted-color); font-size:.9rem;}
.region-section {background:#0a2a2a;}
.region-media {overflow:hidden; border-radius:var(--theme-radius);}
.region-media img {width:100%; min-height:28rem; object-fit:cover;}
.about-development-intro {max-width:39rem; margin:0; color:#4e464c; font-size:clamp(1.12rem,2.2vw,1.45rem); line-height:1.65;}
.about-topic-card {height:100%; padding:1.75rem; border:1px solid var(--dark-line); border-radius:var(--theme-radius); background:rgba(255,255,255,.38); box-shadow:0 1.5rem 4rem rgba(44,32,37,.05);}
.about-topic-card>span {color:var(--theme-color); font-size:.68rem; font-weight:700; letter-spacing:.12em;}
.about-topic-card h3 {margin:2.5rem 0 1.5rem; color:var(--dark-color); font-size:clamp(1.55rem,3vw,2.25rem); letter-spacing:-.045em;}
.about-topic-card p {margin:0; color:#554d52; font-size:.96rem; line-height:1.75;}
.about-topic-card p+p {margin-top:1.15rem;}
.about-development-highlight {max-width:55rem; margin:4rem 0 0 auto; padding:2rem 0 0; border-top:1px solid var(--dark-line); color:var(--dark-color); font-family:var(--theme-font); font-size:clamp(1.65rem,3.5vw,3rem); font-weight:700; line-height:1.12; letter-spacing:-.05em;}
.about-community-section {background:radial-gradient(circle at 8% 88%,rgba(240,82,32,.14),transparent 27%),linear-gradient(135deg,#082f2e,#111014 115%);}
.about-community-section .region-media {position:relative; background:#062524;}
.about-community-section .region-media::after {content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(3,29,28,.08),rgba(3,24,23,.22));}
.about-community-copy p {margin:0; color:rgba(255,255,255,.68); font-size:.98rem; line-height:1.75;}
.about-community-copy p+p {margin-top:1.1rem;}
.about-manifesto-section {position:relative; overflow:hidden; border-top:1px solid var(--line-color); background:#100d11;}
.about-manifesto-word {position:absolute; right:-.05em; bottom:-.15em; color:rgba(255,255,255,.018); font-family:var(--theme-font); font-size:22vw; font-weight:800; line-height:1; letter-spacing:-.1em; pointer-events:none;}
.about-closing-line {margin:3rem 0 0; padding:2rem 0 0; border-top:1px solid var(--line-color); color:#fff; font-family:var(--theme-font); font-size:clamp(1.75rem,3.8vw,3.25rem); font-weight:700; line-height:1.08; letter-spacing:-.055em;}
html[lang="ru"] .about-academy-section .section-title,html[lang="ru"] .about-community-section .section-title,html[lang="ru"] .about-manifesto-section .section-title {overflow-wrap:break-word; hyphens:auto;}

.programs-philosophy-section {background:radial-gradient(circle at 88% 16%,rgba(13,119,115,.26),transparent 30%),linear-gradient(140deg,#141014,#092f2e);}
.programs-philosophy-copy {color:rgba(255,255,255,.7); font-size:clamp(1.02rem,1.8vw,1.2rem); line-height:1.75;}
.programs-philosophy-copy p {margin:0;}
.programs-philosophy-copy p+p {margin-top:1.5rem;}
.programs-grid-section .program-card {width:100%;}
.programs-grid-section .program-card-copy h3 {color:var(--dark-color);}
.programs-grid-section .program-card-copy p {color:#5f565d;}
.program-detail-hero {padding-top:0;}
.program-detail-bg {position:absolute; inset:0;}
.program-detail-bg::after {content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,8,10,.18) 0%,rgba(10,8,10,.06) 55%,rgba(10,8,10,.42) 100%),linear-gradient(180deg,rgba(10,8,10,.55) 0%,rgba(10,8,10,.12) 42%,rgba(10,8,10,.76) 100%);}
.program-detail-bg img {width:100%; height:100%; object-fit:cover;}
.program-detail-tag {margin:1rem 0 0; color:rgba(255,255,255,.7); font-size:1.05rem;}
.back-link {gap:.75rem; margin-bottom:2rem; color:rgba(255,255,255,.68); font-size:.8rem; font-weight:700;}
.back-link svg {width:1rem; transform:rotate(180deg);}
.detail-description {color:#4d454a; font-size:1.1rem;}
.detail-meta {padding-top:1rem; border-top:1px solid var(--dark-line); color:var(--theme-color); font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;}
.detail-training {background:linear-gradient(140deg,#161116,#0b3030);}
.detail-photo {overflow:hidden; border-radius:var(--theme-radius);}
.detail-photo img {width:100%; max-height:45rem; object-fit:cover;}
.program-media-slider {width:100%; max-width:28rem;}
.program-media-slider .splide__track {overflow:hidden; border-radius:var(--theme-radius); background:#090709;}
.program-media-frame {display:block; width:100%; aspect-ratio:9/16; overflow:hidden; background:#090709;}
.program-media-frame img,.program-media-frame video {display:block; width:100%; height:100%; object-fit:cover; object-position:center;}
.program-media-frame video:fullscreen,.program-media-frame video:-webkit-full-screen {object-fit:contain; background:#000;}
.program-media-image {position:relative; cursor:zoom-in;}
.program-media-image::after {content:"+"; position:absolute; right:1rem; bottom:1rem; display:grid; width:2.75rem; height:2.75rem; place-items:center; border:1px solid rgba(255,255,255,.38); border-radius:50%; background:rgba(10,8,10,.55); color:#fff; font:600 1.2rem/1 var(--text-font); backdrop-filter:blur(8px); transition:background var(--theme-transition),border-color var(--theme-transition);}
.program-media-image:hover::after {border-color:var(--theme-color-bright); background:var(--theme-color);}
.program-media-controls {min-height:3.25rem;}
.program-media-arrow.splide__arrow {position:static; width:3.25rem; height:3.25rem; border:1px solid var(--line-color); background:rgba(255,255,255,.04); color:#fff; opacity:1; transform:none; transition:border-color var(--theme-transition),background var(--theme-transition),color var(--theme-transition);}
.program-media-arrow.splide__arrow:hover {border-color:var(--theme-color); background:var(--theme-color); color:#fff;}
.program-media-arrow.splide__arrow svg {width:1.1rem; height:auto; fill:none; transform:none;}
.program-media-arrow.splide__arrow--prev svg {transform:rotate(180deg);}
.program-media-counter {display:flex; align-items:center; gap:.65rem; color:rgba(255,255,255,.42); font-size:.68rem; font-weight:700; letter-spacing:.08em;}
.program-media-counter span:first-child {color:#fff;}
.program-media-counter i {display:block; width:2rem; height:1px; background:var(--line-color);}
.detail-training-copy {color:rgba(255,255,255,.68); line-height:1.75;}
.detail-training-copy p {margin:0;}
.detail-training-copy p+p {margin-top:1.1rem;}
.detail-highlights {border-top:1px solid var(--line-color);}
.detail-highlights li {gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line-color); font-family:var(--theme-font); font-size:1.25rem; font-weight:700;}
.detail-highlights li span {color:var(--theme-color); font-family:var(--text-font); font-size:.65rem;}
.detail-outcome {margin-top:2rem; padding:1.5rem; border-left:2px solid var(--theme-color); background:rgba(255,255,255,.045);}
.detail-outcome span {display:block; margin-bottom:.7rem; color:var(--theme-color); font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;}
.detail-outcome p {margin:0; color:#fff; font-family:var(--theme-font); font-size:clamp(1.2rem,2vw,1.55rem); font-weight:700; line-height:1.25;}
html[lang="ru"] .programs-philosophy-section .section-title,html[lang="ru"] .detail-training .section-title {overflow-wrap:break-word; hyphens:auto;}
.related-programs-section {overflow:hidden; background:radial-gradient(circle at 82% 18%,rgba(240,82,32,.18),transparent 28%),linear-gradient(145deg,#0d0a0e 0%,#151116 58%,#092c2b 140%);}
.related-programs-slider {overflow:visible;}
.related-programs-slider .splide__track {overflow:visible;}
.related-programs-slider .splide__slide {width:min(78vw,24rem); opacity:.38; transform:translateY(1rem) scale(.92); transition:opacity 600ms ease,transform 800ms cubic-bezier(.2,.75,.25,1);}
.related-programs-slider .splide__slide.is-prev,.related-programs-slider .splide__slide.is-next {opacity:.72; transform:translateY(.35rem) scale(.97);}
.related-programs-slider .splide__slide.is-active {opacity:1; transform:translateY(0) scale(1);}
.related-programs-slider .program-card {width:100%;}
.related-programs-arrow.splide__arrow {position:static; width:3.25rem; height:3.25rem; border:1px solid var(--line-color); background:rgba(255,255,255,.04); color:#fff; opacity:1; transform:none; transition:border-color var(--theme-transition),background var(--theme-transition),color var(--theme-transition);}
.related-programs-arrow.splide__arrow:hover {border-color:var(--theme-color); background:var(--theme-color); color:#fff;}
.related-programs-arrow.splide__arrow svg {width:1.1rem; height:auto; fill:none; transform:none;}
.related-programs-arrow.splide__arrow--prev svg {transform:rotate(180deg);}

.schedule-section {background:radial-gradient(circle at 88% 8%,rgba(13,119,115,.2),transparent 26%),#0c090d;}
.schedule-day {padding:2.25rem 0; border-top:1px solid var(--line-color); transition:border-color var(--theme-transition),background var(--theme-transition);}
.schedule-day:last-child {border-bottom:1px solid var(--line-color);}
.schedule-day.is-today {border-color:rgba(240,82,32,.65); background:linear-gradient(90deg,rgba(240,82,32,.075),transparent 36%);}
.schedule-day-heading {position:sticky; top:8rem;}
.schedule-day-heading h2 {margin:0; font-size:clamp(1.55rem,2.4vw,2.5rem); line-height:1; letter-spacing:-.045em; overflow-wrap:anywhere;}
.schedule-day-number {flex:0 0 auto; color:var(--theme-color-bright); font-family:var(--text-font); font-size:.65rem; font-weight:700; letter-spacing:.13em;}
.schedule-today {display:none; padding:.35rem .55rem; border-radius:999px; background:var(--theme-color); color:#fff; font-size:.56rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;}
.schedule-today.is-visible {display:inline-flex;}
.schedule-class-row {min-height:4.25rem; padding:.6rem 0; border-bottom:1px solid var(--line-color);}
.schedule-class-row:first-child {padding-top:0;}
.schedule-class-row:last-child {padding-bottom:0; border-bottom:0;}
.schedule-time {display:flex; gap:.38rem; margin:0; color:rgba(255,255,255,.68); font-family:var(--text-font); font-size:.82rem; font-weight:700; white-space:nowrap;}
.schedule-time span {color:var(--theme-color);}
.schedule-class-name {margin:0; color:#fff; font-family:var(--theme-font); font-size:clamp(1.05rem,1.65vw,1.45rem); font-weight:700; line-height:1.12; letter-spacing:-.025em; transition:color var(--theme-transition),transform var(--theme-transition);}
a.schedule-class-name svg {width:.9rem; flex:0 0 auto; color:var(--theme-color-bright); opacity:0; transform:translateX(-.25rem); transition:opacity var(--theme-transition),transform var(--theme-transition);}
a.schedule-class-name:is(:hover,:focus-visible) {color:var(--theme-color-bright); transform:translateX(.18rem);}
a.schedule-class-name:is(:hover,:focus-visible) svg {opacity:1; transform:translateX(0);}
.schedule-level {display:inline-flex; padding:.4rem .7rem; border:1px solid rgba(255,255,255,.14); border-radius:999px; color:rgba(255,255,255,.62); font-size:.62rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;}
.schedule-note {max-width:52rem; margin:0; padding-left:1rem; border-left:2px solid var(--theme-color); color:rgba(255,255,255,.5); font-size:.78rem; line-height:1.65;}
.schedule-accordion {border-top:1px solid var(--line-color);}
.schedule-accordion .accordion-item {border:0; border-bottom:1px solid var(--line-color); border-radius:0; background:transparent; color:#fff;}
.schedule-accordion .accordion-item.is-today {border-color:rgba(240,82,32,.65); background:linear-gradient(90deg,rgba(240,82,32,.075),transparent 55%);}
.schedule-accordion .accordion-button {gap:.8rem; min-height:5.2rem; padding:1rem .15rem; background:transparent; color:#fff; box-shadow:none;}
.schedule-accordion .accordion-button::after {filter:invert(1); opacity:.72;}
.schedule-accordion .accordion-button:not(.collapsed)::after {filter:invert(48%) sepia(96%) saturate(2595%) hue-rotate(348deg) brightness(101%) contrast(88%);}
.schedule-mobile-day {font-family:var(--theme-font); font-size:clamp(1.25rem,6vw,1.75rem); font-weight:700; letter-spacing:-.04em;}
.schedule-accordion .accordion-button small {margin-left:auto; color:rgba(255,255,255,.42); font-size:.62rem; font-weight:600; white-space:nowrap;}
.schedule-accordion .accordion-body {padding:0 0 1rem;}
.schedule-mobile-class {padding:1rem 0; border-top:1px solid rgba(255,255,255,.07);}
.schedule-mobile-class .schedule-class-name {margin:.45rem 0 .65rem; font-size:1.35rem;}
.schedule-mobile-class .schedule-class-name svg {width:1rem; opacity:1; transform:none;}
.schedule-cta-text {max-width:43rem; margin:1.5rem 0 0; color:#4d454a; font-size:1.02rem;}

.events-offers,.events-archive {overflow:hidden; background:var(--bg-color); color:var(--dark-color);}
.events-offers {padding-bottom:0;}
.events-offers-intro {margin-bottom:3rem;}
.events-offers-list {border-bottom:1px solid var(--dark-line);}
.event-offer-meta {margin:0 0 .85rem; color:#71686e; font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;}
.event-offer .event-copy+.event-copy {margin-top:1rem;}
.event-offer-cta {margin-top:1.75rem;}
.events-editorial-break {position:relative; height:clamp(26rem,56vw,48rem); overflow:hidden; background:#090709;}
.events-editorial-break::after {content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,28,28,.2),transparent 46%,rgba(29,8,12,.18)); pointer-events:none;}
.events-editorial-break img {display:block; width:100%; height:100%; object-fit:cover; object-position:center 45%; filter:contrast(1.06);}
.events-archive-intro {margin-bottom:5rem;}
.events-archive-text {max-width:39rem; margin:1.5rem 0 0; color:#5b5358; font-size:1.02rem;}
.events-year+.events-year {margin-top:5rem;}
.events-year-heading {margin-bottom:2rem; padding-bottom:1rem; border-bottom:1px solid var(--dark-line);}
.events-year-heading h2,.events-year-heading strong {font-family:var(--theme-font); font-size:clamp(3rem,9vw,7rem); font-weight:700; line-height:.8; letter-spacing:-.075em;}
.events-year-heading>span {color:#696166; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;}
.events-year-archive {border-bottom:1px solid var(--dark-line);}
.events-year-archive>summary {cursor:pointer; list-style:none;}
.events-year-archive>summary::-webkit-details-marker {display:none;}
.events-year-archive>summary>span:first-child {display:flex; flex-direction:column; gap:.6rem;}
.events-year-archive>summary small {color:#6c6469; font-size:.65rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;}
.events-year-archive>summary>span:last-child::after {content:"+"; display:inline-flex; margin-left:.75rem; color:var(--theme-color); font-size:1rem;}
.events-year-archive[open]>summary>span:last-child::after {content:"−";}
.events-year-content {padding-bottom:1rem;}
.event-entry {scroll-margin-top:6rem;}
.event-entry+.event-entry {margin-top:4rem;}
.event-camp {overflow:hidden; border-radius:var(--theme-radius); background:radial-gradient(circle at 92% 8%,rgba(240,82,32,.18),transparent 26%),linear-gradient(145deg,#0d302f,#171116 58%); color:#fff; box-shadow:0 2rem 5rem rgba(29,21,26,.13);}
.event-camp-head {padding:1.5rem;}
.event-type {display:flex; align-items-center; gap:.75rem; color:var(--theme-color-bright); font-size:.65rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase;}
.event-type span {font-family:var(--text-font);}
.event-date-location {display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin:0 0 .85rem; color:rgba(255,255,255,.62); font-size:.72rem; font-weight:700; letter-spacing:.04em;}
.event-date-location>span {width:1.75rem; height:1px; background:var(--theme-color);}
.event-camp-title {max-width:15ch; font-size:clamp(2.3rem,8vw,6rem); line-height:.9; letter-spacing:-.065em;}
.event-camp-copy {padding:2rem 1.5rem 1.5rem;}
.event-camp-copy p {color:rgba(255,255,255,.7);}
.event-intro {margin:0; font-family:var(--theme-font); font-size:clamp(1.3rem,3vw,2.25rem); font-weight:700; line-height:1.15; letter-spacing:-.035em;}
.event-camp-copy .event-intro {color:#fff;}
.event-facts {margin-top:2.5rem; border-top:1px solid var(--line-color);}
.event-facts p {display:flex; gap:.8rem; height:100%; margin:0; padding:1.15rem 0; border-bottom:1px solid var(--line-color); color:#fff; font-size:.78rem; font-weight:700;}
.event-facts p span {color:var(--theme-color-bright); font-size:.62rem; letter-spacing:.1em;}
.event-workshop {padding:2.5rem 0; border-top:1px solid var(--dark-line);}
.event-workshop:last-child {border-bottom:1px solid var(--dark-line);}
.event-workshop .event-type {margin-bottom:1.25rem;}
.event-workshop .event-date-location {color:#71686e;}
.event-workshop-title {max-width:15ch; margin-bottom:1.3rem; font-size:clamp(2rem,6.8vw,4.4rem); line-height:.94; letter-spacing:-.06em; overflow-wrap:break-word;}
.event-workshop .event-intro {margin-bottom:1.3rem; color:#292328; font-size:clamp(1.15rem,2vw,1.55rem);}
.event-copy {margin:0; color:#5b5358; font-size:.92rem;}
.event-gallery {position:relative; min-width:0;}
.event-gallery-track {overflow:visible; clip-path:inset(-1rem -100vw -1rem 0);}
.event-gallery-slide {height:auto;}
.event-media {position:relative; height:100%; aspect-ratio:4/3; overflow:hidden; border-radius:calc(var(--theme-radius) - .35rem); background:#171217;}
.event-media-link {position:relative; display:block; width:100%; height:100%; color:inherit; cursor:zoom-in;}
.event-gallery-camp .event-gallery-slide,.event-gallery-workshop .event-gallery-slide {width:auto;}
.event-gallery-camp .event-media {width:max-content; height:clamp(20rem,65vh,32rem); aspect-ratio:auto; border-radius:0;}
.event-gallery-workshop .event-media {width:max-content; height:clamp(20rem,65vh,32rem); aspect-ratio:auto;}
.event-media img,.event-media video {display:block; width:100%; height:100%; object-fit:cover;}
.event-gallery-camp .event-media img,.event-gallery-camp .event-media video,.event-gallery-workshop .event-media img,.event-gallery-workshop .event-media video {width:auto; max-width:none; object-fit:contain;}
.event-media video {background:#080608;}
.event-media-expand {position:absolute; right:1rem; bottom:1rem; display:flex; width:2.75rem; height:2.75rem; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(12,8,12,.62); color:#fff; box-shadow:0 .5rem 1.5rem rgba(0,0,0,.2); backdrop-filter:blur(8px); transition:background var(--theme-transition),transform var(--theme-transition);}
.event-media-expand svg {width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.event-media-link:is(:hover,:focus-visible) .event-media-expand {background:var(--theme-color); transform:scale(1.06);}
.event-media-link:focus-visible {outline:2px solid var(--theme-color); outline-offset:-2px;}
.event-media-static {width:100%;}
.event-media-static.event-media-camp {aspect-ratio:16/9; border-radius:0;}
.event-gallery-controls {padding-top:1rem;}
.event-gallery-camp .event-gallery-controls {padding:1rem 1.5rem 0;}
.event-gallery-counter {display:flex; align-items:center; gap:.55rem; color:#625a60; font-size:.68rem; font-weight:700; letter-spacing:.1em;}
.event-gallery-camp .event-gallery-counter {color:rgba(255,255,255,.66);}
.event-gallery-counter i {display:block; width:2.2rem; height:1px; background:var(--dark-line);}
.event-gallery-camp .event-gallery-counter i {background:var(--line-color);}
.event-gallery-arrow.splide__arrow {position:static; width:3rem; height:3rem; border:1px solid var(--dark-line); background:rgba(22,17,22,.03); color:var(--dark-color); opacity:1; transform:none; transition:border-color var(--theme-transition),background var(--theme-transition),color var(--theme-transition);}
.event-gallery-camp .event-gallery-arrow.splide__arrow {border-color:var(--line-color); background:rgba(255,255,255,.04); color:#fff;}
.event-gallery-arrow.splide__arrow:is(:hover,:focus-visible) {border-color:var(--theme-color); background:var(--theme-color); color:#fff; outline:none;}
.event-gallery-arrow.splide__arrow svg {width:1rem; height:auto; fill:none; transform:none;}
.event-gallery-arrow.splide__arrow--prev svg {transform:rotate(180deg);}
.events-page-cta {position:relative; overflow:hidden; background:radial-gradient(circle at 88% 22%,rgba(240,82,32,.3),transparent 28%),linear-gradient(135deg,#0b3534,#161116 62%);}
.events-page-cta::after {content:"MOVE"; position:absolute; right:-.05em; bottom:-.25em; color:rgba(255,255,255,.025); font-family:var(--theme-font); font-size:24vw; font-weight:800; line-height:1; letter-spacing:-.1em; pointer-events:none;}
.events-cta-text {max-width:43rem; margin:1.5rem 0 0; color:rgba(255,255,255,.68); font-size:1.02rem;}

.contact-direct {border-top:1px solid var(--dark-line);}
.contact-direct a {gap:1rem; padding:1rem 0; border-bottom:1px solid var(--dark-line); font-weight:700;}
.contact-direct svg {width:1.2rem; color:var(--theme-color);}
.contact-legal-section {padding:0 0 5.5rem;}
.contact-legal {border-top:1px solid var(--dark-line); border-bottom:1px solid var(--dark-line); color:#655d62; font-size:.8rem; line-height:1.65;}
.contact-legal summary {display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.3rem 0; cursor:pointer; list-style:none;}
.contact-legal summary::-webkit-details-marker {display:none;}
.contact-legal summary span {display:flex; flex-wrap:wrap; align-items:baseline; gap:.35rem 1rem;}
.contact-legal summary strong {color:#4b4348; font-size:.78rem;}
.contact-legal summary small {color:#81797e; font-size:.68rem;}
.contact-legal summary i {position:relative; width:1.7rem; height:1.7rem; flex:0 0 auto; border:1px solid var(--dark-line); border-radius:50%;}
.contact-legal summary i::before,.contact-legal summary i::after {content:""; position:absolute; top:50%; left:50%; width:.62rem; height:1px; background:var(--dark-color); transform:translate(-50%,-50%); transition:transform var(--theme-transition);}
.contact-legal summary i::after {transform:translate(-50%,-50%) rotate(90deg);}
.contact-legal[open] summary i::after {transform:translate(-50%,-50%) rotate(0);}
.contact-legal address {margin:0; padding:0 0 1.5rem; font-style:normal;}
.contact-legal address strong {margin-bottom:.35rem; color:var(--dark-color); font-size:.9rem;}
.contact-form .form-label {margin-bottom:.55rem; color:#423a3f; font-size:.74rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;}
.contact-form .form-control,.contact-form .form-select {min-height:3.7rem; padding:.85rem 1rem; border:1px solid rgba(22,17,22,.24); border-radius:.75rem; background:rgba(255,255,255,.36); color:var(--dark-color); box-shadow:none;}
.contact-form .form-control::placeholder {color:#756d72; opacity:.72; transition:opacity 180ms ease;}
.contact-form .form-control:focus::placeholder {opacity:.1;}
.contact-form .form-select-wrap {position:relative;}
.contact-form .form-select {padding-right:3.4rem; background-image:none; cursor:pointer;}
.contact-form .form-select-icon {position:absolute; top:50%; right:1.15rem; width:1.25rem; height:1.25rem; color:var(--theme-color); pointer-events:none; transform:translateY(-50%); transition:transform var(--theme-transition),color var(--theme-transition);}
.contact-form .form-select-icon svg {display:block; width:100%; height:100%;}
.contact-form .form-select-wrap:focus-within .form-select-icon {color:var(--dark-color); transform:translateY(-50%) rotate(180deg);}
.package-help-link {gap:.45rem; margin-top:.55rem; padding:.2rem 0; background:transparent; color:#665e63; font-size:.76rem; font-weight:700; cursor:pointer; transition:color var(--theme-transition);}
.package-help-link span {color:var(--theme-color); transition:transform var(--theme-transition);}
.package-help-link:hover,.package-help-link:focus-visible {color:var(--theme-color); outline:none;}
.package-help-link:hover span,.package-help-link:focus-visible span {transform:translateX(.25rem);}
.package-optional-note {margin:.65rem 0 0; color:#766e73; font-size:.7rem; line-height:1.5;}
.contact-package-panel {padding:clamp(1rem,3vw,1.5rem); border:1px solid rgba(13,119,115,.2); border-radius:1rem; background:linear-gradient(145deg,rgba(13,119,115,.055),rgba(255,255,255,.42));}
.contact-package-included {padding-bottom:1rem; border-bottom:1px solid var(--dark-line);}
.contact-package-included>span,.contact-package-total span {display:block; margin-bottom:.4rem; color:var(--theme-color-alt); font-size:.62rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase;}
.contact-package-total span {color:var(--theme-color-bright);}
.contact-package-included p {margin:0; color:#40393e; font-size:.83rem; font-weight:700; line-height:1.55;}
.contact-package-fieldset {margin:0; padding:1.25rem 0 0; border:0;}
.contact-package-fieldset+.contact-package-fieldset {margin-top:1.25rem; border-top:1px solid var(--dark-line);}
.contact-package-fieldset legend {float:none; width:auto; margin:0 0 .35rem; color:#423a3f; font-size:.74rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;}
.contact-package-fieldset>p:not(.contact-package-empty) {margin:0 0 .85rem; color:#71696e; font-size:.75rem;}
.contact-package-checks {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem;}
.contact-package-check {position:relative; display:flex; align-items:center; gap:.65rem; min-height:3rem; padding:.65rem .75rem; border:1px solid rgba(22,17,22,.14); border-radius:.75rem; background:rgba(255,255,255,.38); color:#3f383d; font-size:.78rem; font-weight:700; cursor:pointer; transition:border-color var(--theme-transition),background var(--theme-transition);}
.contact-package-check input {position:absolute; opacity:0; pointer-events:none;}
.contact-package-check>span:first-of-type {position:relative; width:1.05rem; height:1.05rem; flex:0 0 auto; border:1px solid rgba(22,17,22,.38); border-radius:.28rem; background:#fff; transition:border-color var(--theme-transition),background var(--theme-transition);}
.contact-package-check>span:first-of-type::after {content:""; position:absolute; left:.29rem; top:.12rem; width:.28rem; height:.52rem; border-right:2px solid #fff; border-bottom:2px solid #fff; opacity:0; transform:rotate(45deg) scale(.6); transition:opacity var(--theme-transition),transform var(--theme-transition);}
.contact-package-check:has(input:checked) {border-color:rgba(240,82,32,.62); background:rgba(240,82,32,.07);}
.contact-package-check:has(input:checked)>span:first-of-type {border-color:var(--theme-color); background:var(--theme-color);}
.contact-package-check:has(input:checked)>span:first-of-type::after {opacity:1; transform:rotate(45deg) scale(1);}
.contact-package-check:is(:hover,:focus-within) {border-color:var(--theme-color);}
.contact-package-check:focus-within {outline:2px solid rgba(240,82,32,.28); outline-offset:2px;}
.contact-package-check strong {font:inherit;}
.contact-package-check small {margin-left:auto; color:#786f74; font-size:.64rem; font-weight:700; white-space:nowrap;}
.contact-package-feedback {display:block; min-height:1.15rem; margin-top:.55rem; color:#777075; font-size:.68rem;}
.contact-package-feedback.is-error {color:#a93222; font-weight:700;}
.contact-package-empty {margin:.6rem 0 0; color:#4e474b; font-size:.78rem; font-weight:700;}
.contact-package-total {margin-top:1.25rem; padding:1rem; border-radius:.8rem; background:var(--dark-color); color:#fff;}
.contact-package-total strong {font-family:var(--theme-font); font-size:1.5rem; line-height:1;}
.contact-package-total small {max-width:24rem; color:rgba(255,255,255,.58); font-size:.68rem; line-height:1.5;}
.contact-package-consultation {margin-top:.8rem!important; color:#696166; font-size:.72rem; line-height:1.55;}
.package-comparison-modal .modal-content {overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:1.4rem; background:#171217; color:var(--light-color); box-shadow:0 2rem 6rem rgba(0,0,0,.46);}
.package-comparison-modal .modal-header {padding:1.5rem; border-bottom:1px solid var(--line-color);}
.package-comparison-modal .modal-title {max-width:17ch; font-size:clamp(1.65rem,4vw,2.65rem); line-height:1; letter-spacing:-.045em;}
.package-comparison-modal .btn-close {margin:.1rem 0 0 1rem; filter:invert(1); opacity:.72;}
.package-comparison-modal .modal-body {padding:0 1.5rem;}
.package-comparison-modal .modal-footer {padding:1.25rem 1.5rem 1.5rem; border-top:1px solid var(--line-color);}
.package-compare-item {position:relative; padding:1.2rem 0; border-bottom:1px solid var(--line-color);}
.package-compare-item:last-child {border-bottom:0;}
.package-compare-item.is-featured::before {content:""; position:absolute; top:1.35rem; left:-1.5rem; width:.2rem; height:2.7rem; background:var(--theme-color);}
.package-compare-item h3 {margin-bottom:.3rem; font-size:1.2rem;}
.package-compare-item p {margin:0 0 .15rem; color:#d1cbd0; font-size:.86rem; line-height:1.45;}
.package-compare-item span {color:var(--theme-color-bright); font-size:.72rem; font-weight:700; letter-spacing:.04em;}
.package-compare-select {margin-top:.85rem; padding:.55rem .9rem; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:transparent; color:#fff; font-size:.72rem; font-weight:700; transition:background var(--theme-transition),border-color var(--theme-transition),color var(--theme-transition);}
.package-compare-select:hover,.package-compare-select:focus-visible {border-color:var(--theme-color); background:var(--theme-color); outline:none;}
.contact-form textarea.form-control {min-height:10rem; resize:vertical;}
.contact-form .form-control:focus,.contact-form .form-select:focus {border-color:var(--theme-color); background:#fff; box-shadow:0 0 0 .2rem rgba(240,82,32,.12);}
.contact-form .form-check-input {border-color:rgba(22,17,22,.35);}
.contact-form .form-check-input:checked {border-color:var(--theme-color); background-color:var(--theme-color);}
.contact-form .form-check-label {color:#4d454a; font-size:.82rem;}
.contact-form .form-check-label a {border-bottom:1px solid currentColor; font-weight:700;}
.form-notice {margin-bottom:1.5rem; padding:1rem 1.2rem; border-radius:.75rem; font-weight:700;}
.form-notice.is-success {background:#dcecdf; color:#143f23;}
.form-notice.is-error {background:#f5dddd; color:#6d1c1c;}
.form-trap {position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

.package-guide-entry {display:grid; gap:2rem; align-items:center; margin-top:4rem; padding:clamp(1.5rem,4vw,3rem); border:1px solid rgba(13,119,115,.22); border-radius:calc(var(--theme-radius) + .25rem); background:radial-gradient(circle at 92% 0,rgba(240,82,32,.13),transparent 34%),linear-gradient(135deg,rgba(13,119,115,.09),rgba(255,255,255,.45));}
.package-guide-entry h2 {max-width:14ch; margin-bottom:1rem; color:var(--dark-color); font-size:clamp(2rem,5vw,4rem); line-height:.95; letter-spacing:-.055em;}
.package-guide-entry p:not(.section-eyebrow) {max-width:47rem; margin:0; color:#5e565b;}
.package-guide-entry-action {display:flex; flex-direction:column; align-items:flex-start; gap:.7rem;}
.package-guide-entry-action small {color:#71696e; font-size:.72rem;}
.package-guide-quick-link {gap:.55rem; margin-top:1rem; padding:.45rem 0; border:0; border-bottom:1px solid rgba(240,82,32,.45); background:transparent; color:var(--theme-color); font-weight:700;}
.package-guide-quick-link span {transition:transform var(--theme-transition);}
.package-guide-quick-link:is(:hover,:focus-visible) {border-color:var(--dark-color); color:var(--dark-color); outline:none;}
.package-guide-quick-link:is(:hover,:focus-visible) span {transform:translateX(.25rem);}
.package-guide-comparison-cta {margin-top:3rem; padding-top:2rem; border-top:1px solid var(--dark-line);}
.package-guide-comparison-cta p {margin-bottom:.45rem; color:#51494e; font-weight:700;}
.package-guide-text-link {padding:.2rem 0; border:0; border-bottom:1px solid rgba(240,82,32,.4); background:transparent; color:var(--theme-color); font-weight:700;}
.package-guide-text-link span {display:inline-block; margin-left:.3rem; transition:transform var(--theme-transition);}
.package-guide-text-link:is(:hover,:focus-visible) {color:var(--dark-color); outline:none;}
.package-guide-text-link:is(:hover,:focus-visible) span {transform:translateX(.25rem);}

.package-guide-modal .modal-dialog {max-height:calc(100% - 2rem);}
.package-guide-modal .modal-content {isolation:isolate; overflow:hidden; max-height:100%; border:1px solid rgba(255,255,255,.13); border-radius:1.5rem; background-color:#151116; background-image:radial-gradient(circle at 100% 0,rgba(13,119,115,.2),transparent 30%); color:#fff; box-shadow:0 2rem 7rem rgba(0,0,0,.52); opacity:1;}
.package-guide-header {padding:1.25rem 1.5rem; border-bottom:0;}
.package-guide-header .modal-title {font-size:clamp(1.4rem,3vw,2.1rem); line-height:1; letter-spacing:-.04em;}
.package-guide-header .btn-close {filter:invert(1); opacity:.75;}
.package-guide-progress {height:.25rem; background:rgba(255,255,255,.08);}
.package-guide-progress span {display:block; width:0; height:100%; background:linear-gradient(90deg,var(--theme-color),#16a39e); transition:width 420ms cubic-bezier(.16,1,.3,1);}
.package-guide-modal .modal-body {display:flex; flex-direction:column; overflow-y:auto; padding:1.25rem 1.5rem 1.5rem;}
.package-guide-status {min-height:2rem; margin-bottom:1.25rem; color:#9e969b; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;}
.package-guide-status[hidden] {display:none!important;}
.package-guide-status button {padding:.3rem 0; border:0; background:transparent; color:var(--theme-color-bright); font-size:.72rem; font-weight:700; text-transform:none; letter-spacing:0;}
.package-guide-status button span {display:inline-block; transition:transform var(--theme-transition);}
.package-guide-status button:is(:hover,:focus-visible) {color:#fff; outline:none;}
.package-guide-status button:is(:hover,:focus-visible) span {transform:translateX(.25rem);}
.package-guide-views {display:block; width:100%; overflow:hidden; will-change:height;}
.package-guide-view {display:none; width:100%;}
.package-guide-view.is-active {display:block;}
.package-guide-question {max-width:52rem; margin-bottom:1.5rem;}
.package-guide-question h3,.package-guide-result>h3,.package-guide-success h3 {max-width:19ch; margin-bottom:.8rem; font-size:clamp(2rem,5vw,4rem); line-height:.96; letter-spacing:-.055em;}
.package-guide-question p,.package-guide-result-why,.package-guide-success p {max-width:48rem; margin:0; color:#aaa2a7;}
.package-guide-options {display:grid; grid-template-columns:1fr; gap:.7rem;}
.package-guide-choice {position:relative; display:flex; align-items:center; gap:.9rem; min-height:4.25rem; padding:.9rem 1rem; border:1px solid rgba(255,255,255,.14); border-radius:1rem; background:rgba(255,255,255,.035); color:#eee9ec; font-weight:700; line-height:1.3; cursor:pointer; transition:border-color var(--theme-transition),background var(--theme-transition),transform var(--theme-transition);}
.package-guide-choice input {position:absolute; opacity:0; pointer-events:none;}
.package-guide-choice-mark {position:relative; width:1.25rem; height:1.25rem; flex:0 0 auto; border:1px solid rgba(255,255,255,.42); border-radius:50%; transition:border-color var(--theme-transition),background var(--theme-transition);}
.package-guide-choice input[type="checkbox"]+.package-guide-choice-mark {border-radius:.3rem;}
.package-guide-choice-mark::after {content:""; position:absolute; inset:.28rem; border-radius:inherit; background:#fff; opacity:0; transform:scale(.35); transition:opacity var(--theme-transition),transform var(--theme-transition);}
.package-guide-choice:has(input:checked) {border-color:var(--theme-color); background:rgba(240,82,32,.12);}
.package-guide-choice:has(input:checked) .package-guide-choice-mark {border-color:var(--theme-color); background:var(--theme-color);}
.package-guide-choice:has(input:checked) .package-guide-choice-mark::after {opacity:1; transform:scale(1);}
.package-guide-choice:is(:hover,:focus-within) {border-color:rgba(240,82,32,.75); background:rgba(255,255,255,.075); transform:translateY(-.1rem);}
.package-guide-choice:focus-within {outline:2px solid rgba(255,255,255,.72); outline-offset:2px;}
.package-guide-feedback {min-height:1.4rem; margin:.8rem 0 0; color:#ff9876; font-size:.78rem; font-weight:700;}
.package-guide-footer {justify-content:space-between; padding:1rem 1.5rem 1.3rem; border-top:1px solid rgba(255,255,255,.1);}
.package-guide-footer[hidden] {display:none!important;}
.package-guide-back,.package-guide-restart {padding:.65rem 0; border:0; border-bottom:1px solid rgba(255,255,255,.3); background:transparent; color:#d5cfd3; font-weight:700;}
.package-guide-back:disabled {opacity:.35;}
.package-guide-back:is(:hover,:focus-visible),.package-guide-restart:is(:hover,:focus-visible) {border-color:var(--theme-color); color:var(--theme-color-bright); outline:none;}
.package-guide-result-why {margin-bottom:1.5rem;}
.package-guide-result-grid {display:grid; grid-template-columns:1fr; gap:.75rem; margin:1.5rem 0;}
.package-guide-result-grid article {display:flex; flex-direction:column; justify-content:space-between; min-height:7rem; padding:1rem; border:1px solid rgba(255,255,255,.13); border-radius:1rem; background:rgba(255,255,255,.04);}
.package-guide-result-grid article.is-package {border-color:rgba(240,82,32,.55); background:rgba(240,82,32,.1);}
.package-guide-result-grid small {display:block; margin-bottom:.9rem; color:#91898e; font-size:.63rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;}
.package-guide-result-grid strong {display:block; font-family:var(--theme-font); font-size:1.25rem; line-height:1.1;}
.package-guide-result-grid [data-guide-result-programs] {display:flex; flex-wrap:wrap; gap:.4rem;}
.package-guide-result-grid [data-guide-result-programs] strong {padding:.42rem .68rem; border-radius:999px; background:rgba(255,255,255,.09); font-family:inherit; font-size:.82rem;}
.package-guide-result-grid [data-guide-result-price] {margin-top:.25rem; color:var(--theme-color-bright); font-weight:700;}
.package-guide-result-actions {align-items:center; margin-top:1.5rem;}
.package-guide-contact {padding:clamp(1.2rem,3vw,2rem); border-radius:1.2rem; background:#f4f0e9; color:var(--dark-color);}
.package-guide-contact .package-guide-question h3 {max-width:22ch;}
.package-guide-contact .package-guide-question p {color:#625a5f;}
.package-guide-contact .contact-form textarea.form-control {min-height:6.5rem;}
.package-guide-transparency {margin:0; padding:.8rem 1rem; border-left:3px solid var(--theme-color-alt); background:rgba(13,119,115,.07); color:#50494d; font-size:.78rem;}
.package-guide-call-link {border-bottom:1px solid rgba(22,17,22,.3); color:#51494e; font-size:.82rem; font-weight:700;}
.package-guide-call-link:is(:hover,:focus-visible) {border-color:var(--theme-color); color:var(--theme-color); outline:none;}
.package-guide-contact-back {margin-left:auto; padding:.4rem 0; border:0; border-bottom:1px solid rgba(22,17,22,.25); background:transparent; color:#625a5f; font-size:.8rem; font-weight:700;}
.package-guide-contact-back:is(:hover,:focus-visible) {border-color:var(--theme-color); color:var(--theme-color); outline:none;}
.package-guide-success {align-self:center; margin:auto; padding:3rem 0; text-align:center;}
.package-guide-success h3,.package-guide-success p {margin-right:auto; margin-left:auto;}
.package-guide-success p {margin-bottom:1.5rem;}
.package-guide-success-mark {display:grid; place-items:center; width:4.5rem; height:4.5rem; margin:0 auto 1.5rem; border-radius:50%; background:var(--theme-color-alt); font-family:var(--theme-font); font-size:2rem;}

.legal-note {position:sticky; top:7rem; padding:1.25rem; border-left:3px solid var(--theme-color); background:rgba(240,82,32,.08);}
.legal-note strong {margin-bottom:.75rem;}
.legal-note p {margin-bottom:1rem; color:#4d454a; font-size:.88rem;}
.legal-note span {color:#665e63; font-size:.78rem;}
.legal-section {padding:0 0 2.2rem; margin:0 0 2.2rem; border-bottom:1px solid var(--dark-line);}
.legal-section h2 {margin-bottom:1rem; color:var(--dark-color); font-size:1.5rem; letter-spacing:-.03em;}
.legal-section p {margin:0 0 1rem; color:#4d454a;}
.legal-section p:last-child {margin-bottom:0;}
.legal-section ul {margin:1rem 0 0; padding-left:1.25rem; color:#4d454a;}
.legal-section li+li {margin-top:.55rem;}
.error-page {position:relative; background:radial-gradient(circle at 80% 30%,rgba(240,82,32,.28),transparent 28%),linear-gradient(135deg,#0b3434,#161116 60%);}
.error-page .row {padding-top:calc(var(--header-height) + 3rem)!important; padding-bottom:4rem!important;}
.error-page .display-title {max-width:9ch;}
.error-page .theme-button-dark {border-color:rgba(255,255,255,.2); background:#090709;}
.error-visual {position:relative; width:min(100%,38rem); margin-inline:auto; filter:drop-shadow(0 2rem 5rem rgba(0,0,0,.3));}
.error-visual::before {content:""; position:absolute; inset:12% 8%; z-index:-1; border-radius:50%; background:rgba(240,82,32,.16); filter:blur(4rem);}
.error-visual img {display:block; width:100%; height:auto;}

.site-footer {position:relative; overflow:hidden; background:radial-gradient(circle at 12% 85%,rgba(13,74,73,.35),transparent 32%),radial-gradient(circle at 90% 0%,rgba(240,82,32,.18),transparent 28%),#090709; color:#fff;}
.site-footer::before {content:"BOUNCE"; position:absolute; right:-.04em; bottom:-.2em; color:rgba(255,255,255,.018); font-family:var(--theme-font); font-size:24vw; font-weight:800; line-height:1; letter-spacing:-.1em; pointer-events:none;}
.footer-social-section {position:relative; z-index:1; padding-bottom:3rem; border-bottom:1px solid var(--line-color);}
.footer-social-row {position:relative; z-index:1;}
.footer-social-card {min-height:8rem; padding:1.15rem; border:1px solid var(--line-color); border-radius:1.2rem; background:rgba(255,255,255,.035); transition:border-color var(--theme-transition),background var(--theme-transition),transform var(--theme-transition);}
.footer-social-card:hover {border-color:rgba(255,255,255,.34); background:rgba(255,255,255,.075); transform:translateY(-.2rem);}
.footer-instagram:hover {border-color:rgba(240,82,32,.62);}
.footer-review:hover {border-color:rgba(13,119,115,.8);}
.footer-social-icon {width:3.5rem; height:3.5rem; flex:0 0 auto; border-radius:50%; background:var(--theme-color); color:#fff;}
.footer-review .footer-social-icon {background:var(--theme-color-alt);}
.footer-social-icon svg {width:1.45rem; height:1.45rem;}
.footer-social-copy {display:grid; gap:.05rem; margin-left:1rem;}
.footer-social-copy small {color:var(--muted-color); font-size:.63rem; font-style:normal; font-weight:700; letter-spacing:.12em; text-transform:uppercase;}
.footer-social-copy strong {font-family:var(--theme-font); font-size:clamp(1.05rem,3vw,1.35rem); line-height:1.2;}
.footer-social-copy em {margin-top:.25rem; color:#8e878c; font-size:.72rem; font-style:normal;}
.footer-social-arrow {width:1.2rem; flex:0 0 auto; color:var(--theme-color-bright); transform:rotate(-45deg);}
.footer-social-arrow svg {display:block; width:100%; transition:transform var(--theme-transition);}
.footer-social-card:hover .footer-social-arrow svg {transform:translateX(.3rem);}
.footer-network-bar {overflow:hidden; border:1px solid var(--line-color); border-radius:1.2rem; background:rgba(255,255,255,.025);}
.footer-network-label {width:100%; min-height:4.75rem; padding:1rem 1.25rem; color:var(--theme-color-bright); font-size:.68rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;}
.footer-network-link {min-height:4.75rem; gap:.8rem; padding:.8rem 1rem; border-top:1px solid var(--line-color); color:var(--muted-color); transition:background var(--theme-transition),color var(--theme-transition);}
.footer-network-link:is(:hover,:focus-visible) {background:rgba(255,255,255,.065); color:#fff; outline:none;}
.footer-network-icon {width:2.35rem; height:2.35rem; flex:0 0 auto; border:1px solid rgba(255,255,255,.14); border-radius:50%; color:#fff; transition:border-color var(--theme-transition),background var(--theme-transition),color var(--theme-transition),transform var(--theme-transition);}
.footer-network-icon svg {width:1.05rem; height:1.05rem;}
.footer-network-link:is(:hover,:focus-visible) .footer-network-icon {border-color:rgba(240,82,32,.5); background:rgba(240,82,32,.12); color:var(--theme-color-bright); transform:scale(1.06);}
.footer-network-link strong {font-family:var(--theme-font); font-size:.9rem;}
.footer-network-arrow {width:.95rem; color:#716b70; transform:rotate(-45deg);}
.footer-network-arrow svg {display:block; width:100%; transition:transform var(--theme-transition);}
.footer-network-link:is(:hover,:focus-visible) .footer-network-arrow {color:var(--theme-color-bright);}
.footer-network-link:is(:hover,:focus-visible) .footer-network-arrow svg {transform:translateX(.22rem);}
.footer-main {position:relative; z-index:1; padding-top:4rem;}
.footer-logo {width:5rem; height:5rem; object-fit:contain;}
.footer-statement {max-width:14ch; margin:1.5rem 0 0; font-family:var(--theme-font); font-size:clamp(1.8rem,4vw,3rem); font-weight:700; line-height:1; letter-spacing:-.05em;}
.footer-label {margin:0 0 1.2rem; color:var(--theme-color-bright); font-size:.68rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase;}
.footer-nav,.footer-contact {gap:0;}
.footer-nav a,.footer-contact a {min-height:2.35rem; padding:.35rem 0; color:var(--muted-color); font-size:.88rem; line-height:1.55; transition:color var(--theme-transition),transform var(--theme-transition);}
.footer-nav a:hover,.footer-contact a:hover {color:#fff; transform:translateX(.2rem);}
.footer-programs {grid-template-columns:1fr;}
.footer-contact-column {margin-top:1rem; padding-top:2rem; border-top:1px solid var(--line-color);}
.footer-contact a {gap:.7rem;}
.footer-contact-icon {width:1.65rem; height:1.65rem; flex:0 0 auto; border:1px solid rgba(255,255,255,.12); border-radius:50%; color:var(--theme-color-bright);}
.footer-contact-icon svg {width:.78rem; height:.78rem;}
.footer-legal {position:relative; z-index:1; margin-top:4rem; padding-top:1.4rem; border-top:1px solid var(--line-color); color:#716b70; font-size:.72rem;}
.footer-company {margin:1rem 0 0; color:#5e595d; font-size:.7rem; line-height:1.65;}
.footer-legal a:hover {color:#fff;}
.scroll-top {position:fixed; right:1rem; bottom:1rem; z-index:1040; width:3.4rem; height:3.4rem; padding:0; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:linear-gradient(145deg,var(--theme-color-bright),var(--theme-color)); color:#fff; box-shadow:0 .8rem 2.5rem rgba(8,5,8,.32); cursor:pointer; opacity:0; visibility:hidden; transform:translateY(1rem) scale(.82); transition:opacity var(--theme-transition),visibility var(--theme-transition),transform var(--theme-transition),box-shadow var(--theme-transition);}
.scroll-top svg {width:1.3rem; height:1.3rem; transition:transform var(--theme-transition);}
.scroll-top.is-visible {opacity:1; visibility:visible; transform:translateY(0) scale(1);}
.scroll-top:hover {box-shadow:0 1rem 3rem rgba(240,82,32,.35); transform:translateY(-.2rem) scale(1.04);}
.scroll-top:hover svg {transform:translateY(-.16rem);}
.scroll-top:focus-visible {outline:3px solid rgba(255,255,255,.78); outline-offset:3px;}

.teambuilding-hero::before {background:linear-gradient(90deg,rgba(7,22,22,.98) 0%,rgba(9,24,24,.88) 47%,rgba(16,10,14,.36) 100%);}
.teambuilding-hero::after {background:radial-gradient(circle at 82% 22%,rgba(240,82,32,.34),transparent 36%),linear-gradient(0deg,rgba(8,7,9,.55),transparent 45%);}
.teambuilding-hero .inner-hero-media img {object-position:center 45%; filter:saturate(.82) contrast(1.08);}
.teambuilding-hero .display-title {max-width:10ch;}
.teambuilding-lead {max-width:38rem; margin:0; color:#3f383d; font-size:clamp(1.2rem,2.6vw,1.85rem); line-height:1.45; letter-spacing:-.025em;}
.teambuilding-benefits {margin-top:clamp(3rem,7vw,6rem);}
.teambuilding-benefit {height:100%; padding:clamp(1.4rem,3vw,2rem); border:1px solid var(--dark-line); border-radius:var(--theme-radius); background:rgba(255,255,255,.32);}
.teambuilding-benefit>span,.teambuilding-format>span,.teambuilding-step>span {display:block; margin-bottom:2.6rem; color:var(--theme-color); font-size:.68rem; font-weight:700; letter-spacing:.12em;}
.teambuilding-benefit h3,.teambuilding-format h3,.teambuilding-step h3 {margin-bottom:.85rem; font-size:clamp(1.45rem,3vw,2rem); line-height:1.05; letter-spacing:-.04em;}
.teambuilding-benefit p,.teambuilding-format p,.teambuilding-step p {margin:0; color:#5c5459;}
.teambuilding-formats {position:relative; overflow:hidden; background:radial-gradient(circle at 96% 0,rgba(240,82,32,.2),transparent 28%),linear-gradient(135deg,#0b3938,#151116 64%);}
.teambuilding-formats::after {content:"MOVE"; position:absolute; right:-.04em; bottom:-.2em; color:rgba(255,255,255,.025); font-family:var(--theme-font); font-size:24vw; font-weight:800; line-height:1; letter-spacing:-.1em; pointer-events:none;}
.teambuilding-formats>.container {position:relative; z-index:1;}
.teambuilding-muted {max-width:40rem; margin:0; color:rgba(255,255,255,.65);}
.teambuilding-format {position:relative; height:100%; min-height:20rem; padding:clamp(1.5rem,4vw,2.5rem); border:1px solid rgba(255,255,255,.14); border-radius:var(--theme-radius); background:rgba(255,255,255,.045); backdrop-filter:blur(8px);}
.teambuilding-format>span {margin-bottom:4rem; color:var(--theme-color-bright);}
.teambuilding-format p {max-width:35rem; color:rgba(255,255,255,.62);}
.teambuilding-steps {border-top:1px solid var(--dark-line);}
.teambuilding-step {display:grid; grid-template-columns:3rem minmax(0,1fr); gap:1rem; padding:1.65rem 0; border-bottom:1px solid var(--dark-line);}
.teambuilding-step>span {margin:.25rem 0 0;}
.teambuilding-step p {max-width:38rem;}
.teambuilding-location {background:#0e3030;}
.teambuilding-location-image {height:100%; min-height:30rem; overflow:hidden;}
.teambuilding-location-image img {width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.8) contrast(1.05);}
.teambuilding-location-copy {width:100%; padding:clamp(3rem,8vw,8rem);}
.teambuilding-location-copy .section-title {max-width:12ch;}
.teambuilding-location-copy .teambuilding-muted {margin-top:2rem;}
.teambuilding-location-list {margin-top:2.5rem; border-top:1px solid var(--line-color);}
.teambuilding-location-list li {display:flex; gap:1rem; align-items:center; padding:1rem 0; border-bottom:1px solid var(--line-color); color:rgba(255,255,255,.8); font-weight:700;}
.teambuilding-location-list li span {width:.5rem; height:.5rem; flex:0 0 auto; border-radius:50%; background:var(--theme-color);}
.teambuilding-gallery-section {overflow:hidden; background:#161116;}
.teambuilding-gallery-section .event-gallery-track {clip-path:none; overflow:visible;}
.teambuilding-gallery-section .event-gallery-camp .event-media {height:clamp(22rem,48vw,38rem);}
.teambuilding-form-intro {max-width:34rem; margin:2rem 0 0; color:#554d52;}
.teambuilding-direct {margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--dark-line);}
.teambuilding-direct span {display:block; margin-bottom:.4rem; color:#746c71; font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;}
.teambuilding-direct a {color:var(--theme-color-alt); font-weight:700; overflow-wrap:anywhere;}
.teambuilding-direct a:hover {color:var(--theme-color);}

.reveal-item {opacity:0; transform:translateY(2rem); transition:opacity 700ms ease,transform 700ms cubic-bezier(.16,1,.3,1);}
.reveal-item.is-visible {opacity:1; transform:translateY(0);}
.reveal-hero {opacity:0; transform:translateY(1rem); transition:opacity 700ms 260ms ease,transform 700ms 260ms cubic-bezier(.16,1,.3,1);}
.is-ready .reveal-hero {opacity:1; transform:translateY(0);}

@media (min-width:768px) {
    .section-space {padding:7rem 0;}
    .package-card {padding:1.8rem;}
    .hero-scroll {right:2rem; bottom:2rem;}
    .site-menu .offcanvas-header {padding:1.3rem 2.5rem;}
    .site-menu .offcanvas-body {padding:3rem 2.5rem 2rem;}
    .scroll-top {right:1.75rem; bottom:1.75rem;}
    .footer-contact-column {margin-top:0; padding-top:0; border-top:0; border-left:1px solid var(--line-color);}
    .footer-network-link {border-top:1px solid var(--line-color); border-left:1px solid var(--line-color);}
    .footer-network-link:first-child {border-left:0;}
    .review-card {padding:2.5rem;}
    .member-story-card {padding:3rem;}
    .member-story-deck {margin-top:7rem;}
    .event-camp-head {padding:2.5rem;}
    .event-gallery-camp .event-media {height:clamp(28rem,52vw,42rem);}
    .camp-season,.camp-program {padding:2.5rem;}
    .camp-upcoming {grid-template-columns:minmax(0,1fr) minmax(20rem,1fr); align-items:center; padding:1.75rem 0;}
    .event-camp-copy {padding:3rem 2.5rem 2.5rem;}
    .event-gallery-camp .event-gallery-controls {padding:1.25rem 2.5rem 0;}
    .event-facts p {padding:1.25rem; border-right:1px solid var(--line-color); border-bottom:0;}
    .event-facts>div:first-child p {padding-left:0;}
    .event-facts>div:last-child p {border-right:0;}
    .event-workshop {padding:4rem 0;}
    .package-guide-entry {grid-template-columns:minmax(0,1fr) auto;}
    .package-guide-options {grid-template-columns:repeat(2,minmax(0,1fr));}
    .package-guide-result-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (min-width:992px) {
    :root {--header-height:6.25rem;}
    .section-space {padding:9rem 0;}
    .hero-section {height:96svh; min-height:46rem;}
    .hero-title {font-size:clamp(6rem,8.5vw,8rem);}
    .hero-scroll {right:3rem; bottom:2.5rem;}
    .programs-pin {height:44rem;}
    .programs-track {gap:1.5rem; padding-bottom:0;}
    .program-card {width:25rem;}
    .package-guide-header {padding:1.5rem 2rem;}
    .package-guide-modal .modal-body {padding:1.5rem 2rem 2rem;}
    .package-guide-footer {padding:1.1rem 2rem 1.5rem;}
    .package-guide-options.has-many {grid-template-columns:repeat(3,minmax(0,1fr));}
    .package-guide-result-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
    .programs-end-card {width:25rem; min-height:31.25rem;}
    .package-card.is-featured {transform:translateY(-1.5rem);}
    .about-hero .inner-hero-media {left:38%;}
    .programs-hero .inner-hero-media {clip-path:polygon(30% 0,100% 0,100% 100%,16% 100%);}
    .packages-hero .inner-hero-media {left:46%; border-left:1px solid rgba(255,255,255,.13);}
    .contact-hero .inner-hero-media {inset:calc(var(--header-height) + 1.5rem) 3rem 3rem 53%; border:1px solid rgba(255,255,255,.14); border-radius:var(--theme-radius);}
    .contact-hero::before {background:linear-gradient(90deg,rgba(15,10,15,.99) 0%,rgba(18,12,17,.96) 52%,rgba(18,12,17,.34) 76%,rgba(13,74,73,.18) 100%);}
    .legal-hero .inner-hero-media {left:58%;}
    .schedule-hero .inner-hero-media {left:45%; border-left:1px solid rgba(255,255,255,.12);}
    .events-hero .inner-hero-media {left:40%; clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);}
    .teambuilding-hero .inner-hero-media {left:38%; clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);}
    .footer-network-label {border-right:1px solid var(--line-color);}
    .footer-network-link {border-top:0;}
}

@media (min-width:1920px) {
    .events-editorial-break {height:min(80vh,58rem);}
    .events-editorial-break img {object-position:center 42%;}
}

@media (min-width:992px) and (hover:hover) and (pointer:fine) {
    .package-card.is-featured:hover {border-color:rgba(240,82,32,.72); box-shadow:0 2.3rem 5.5rem rgba(22,17,22,.3),0 0 0 .35rem rgba(240,82,32,.08); transform:translateY(-1.85rem) scale(1.012);}
    .package-card.is-featured:hover::before {transform:scaleX(1);}
    .package-card.is-featured:hover .package-badge {background:#ff642f; box-shadow:0 0 0 .35rem rgba(240,82,32,.14); transform:translateY(-.1rem);}
    .package-support-card:hover {border-color:color-mix(in srgb,var(--support-accent) 55%,transparent); box-shadow:0 1.5rem 3.5rem rgba(44,32,37,.1); transform:translateY(-.3rem);}
    .package-support-card:hover .package-support-symbol {background:color-mix(in srgb,var(--support-accent) 14%,transparent);}
    .package-support-card.is-strength:hover .package-support-symbol {transform:translateY(-.22rem) rotate(-2deg);}
    .package-support-card.is-stretch:hover .package-support-symbol {transform:translateX(.2rem) scale(1.06) rotate(2deg);}
}

html[lang="ru"] .hero-title {font-size:clamp(2rem,8vw,4rem);}
@media (min-width:992px) {html[lang="ru"] .hero-title {font-size:clamp(4.8rem,7vw,7rem);}}

@media (min-width:992px) and (max-height:920px) {
    .site-menu .offcanvas-body {padding-top:2rem; padding-bottom:1.5rem;}
    .menu-statement {margin-bottom:2rem;}
    .menu-nav a {padding:.85rem 0;}
    .menu-bottom {padding-top:1.25rem;}
}

@media (max-width:991.98px) {
    .programs-pin {overflow-x:auto; scrollbar-width:none;}
    .programs-pin::-webkit-scrollbar {display:none;}
    .programs-track {padding-right:1rem;}
    .menu-toggle span {position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0);}
}

@media (max-width:767.98px) {
    .container {--bs-gutter-x:calc(var(--mobile-page-gutter) * 2);}
    .site-header>.container-fluid,.hero-content {padding-right:var(--mobile-page-gutter)!important; padding-left:var(--mobile-page-gutter)!important;}
    .programs-track {padding-right:var(--mobile-page-gutter)!important; padding-left:var(--mobile-page-gutter)!important;}
    .package-head,.package-list,.package-extras {min-height:0;}
    .member-story-deck .member-story-card.is-before {transform:translateX(calc(-100% + 2.8rem));}
    .member-story-deck .member-story-card.is-after {transform:translateX(calc(100% - 2.8rem));}
    .member-story-tab {width:2.8rem; gap:.85rem; padding:1rem .55rem;}
    .member-story-tab-label {font-size:.53rem;}
    .member-story-tab-name {font-size:.7rem;}
    .member-story-mark {height:6.5rem; margin-top:1.75rem; font-size:12rem;}
    .member-story-deck.has-stories-before .member-story-card.is-active {padding-left:4.25rem;}
    .member-story-deck.has-stories-after .member-story-card.is-active {padding-right:4.25rem;}
    .member-story-swipe-hint {position:absolute; right:3.75rem; bottom:.8rem; z-index:5; display:flex; align-items:center; gap:.6rem; margin:0; color:rgba(255,255,255,.62); font-size:.64rem; font-weight:700; letter-spacing:.08em; pointer-events:none; text-transform:uppercase;}
    .member-story-swipe-hint span {display:block; width:2rem; height:1px; background:var(--theme-color-bright);}
    .contact-map-shell {display:flex; height:auto; flex-direction:column;}
    .contact-map {position:relative; inset:auto; width:100%; height:31rem; flex:0 0 auto;}
    .contact-location-card {position:relative; inset:auto; width:100%; border:0; border-top:1px solid rgba(255,255,255,.14); border-radius:0; box-shadow:none;}
    .contact-map-district {display:none;}
    .contact-map-marker:not(.is-bounce) b {display:none;}
    .contact-map-marker.is-bounce b {font-size:.64rem;}
    .contact-map .leaflet-control-attribution {max-width:72%; line-height:1.25; text-align:right;}
}

@media (max-width:575.98px) {
    .schedule-accordion .accordion-button small {display:none;}
    .schedule-accordion .accordion-button {gap:.65rem;}
    .schedule-mobile-day {font-size:clamp(1.12rem,6vw,1.5rem);}
    .schedule-today {padding:.3rem .45rem; font-size:.5rem;}
    .package-guide-modal .modal-dialog {width:100%; max-width:none; height:100%; margin:0;}
    .package-guide-modal .modal-content {width:100%; min-width:0; height:100%; border:0; border-radius:0;}
    .package-guide-header {padding:1rem;}
    .package-guide-header .modal-title {font-size:1.3rem;}
    .package-guide-modal .modal-body {padding:1rem;}
    .package-guide-views,.package-guide-view,.package-guide-question {min-width:0;}
    .package-guide-question h3,.package-guide-result>h3,.package-guide-success h3 {overflow-wrap:anywhere;}
    .package-guide-footer {padding:.8rem 1rem 1rem;}
    .package-guide-choice {min-height:3.8rem;}
    .package-guide-result-actions .theme-button {width:100%;}
    .package-guide-contact {padding:1rem;}
    .package-guide-contact-back {width:100%; margin-left:0; text-align:left;}
    .contact-package-checks {grid-template-columns:1fr;}
}

@media (max-width:369.98px) {
    .brand-link {width:3.2rem; height:3.2rem;}
}

@media (prefers-reduced-motion:reduce) {
    @view-transition {navigation:none;}
    html {scroll-behavior:auto;}
    *,*::before,*::after {scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important;}
    .reveal-item,.reveal-hero {opacity:1; transform:none;}
    .hero-line>span {transform:none;}
}
