:root{--black:#1a1b1e;--charcoal:#2b2e33;--gold:#c49a3c;--gold-l:#d4af5a;--red:#c0392b;--white:#ffffff;--cream:#f8f7f4;--warm:#f0ede6;--grey:#6b7280;--lgrey:#9ca3af;--border:#e5e2db;--hex:rgba(196,154,60,0.06);--w-narrow:820px;--w-content:1260px;--w-wide:1280px;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:40px;--space-xl:64px;--space-2xl:96px;--pad-x:56px;--pad-x-mob:20px;--font-serif:'Cormorant Garamond',serif;--font-sans:'Inter',sans-serif;--text-sm:0.9rem;--text-base:1rem;--text-md:1.05rem;--text-lg:1.15rem;--text-lead:1.22rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 4px 12px rgba(0,0,0,.04);--shadow-md:0 8px 24px rgba(0,0,0,.08);--shadow-lg:0 12px 40px rgba(0,0,0,.15);}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'Inter',sans-serif;background:var(--white);color:var(--charcoal);overflow-x:hidden;line-height:1.7}.hex-bg{position:relative;overflow:hidden}.hex-bg::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='52' viewBox='0 0 60 52'%3E%3Cpath d='M15 1 L45 1 L60 26 L45 51 L15 51 L0 26 Z' fill='none' stroke='rgba(196,154,60,0.08)' stroke-width='1'/%3E%3C/svg%3E");background-size:62px 54px;pointer-events:none;z-index:0;}.hex-bg > *{position:relative;z-index:1}.hero .logo-f,.cb .logo-f{fill:#ffffff !important}.hero .logo-text,.cb .logo-text{fill:#ffffff !important}nav.s .logo-f{fill:var(--charcoal)}nav.s .logo-text{fill:var(--charcoal)}nav:not(.s):not(.nav-solid) .logo-f{fill:#ffffff}nav:not(.s):not(.nav-solid) .logo-text{fill:#ffffff}.cur{width:10px;height:10px;background:var(--gold);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s}.cur-r{width:32px;height:32px;border:1.5px solid rgba(196,154,60,.4);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transform:translate(-50%,-50%)}nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 56px;display:flex;align-items:center;justify-content:space-between;transition:all .4s}nav.s{background:rgba(255,255,255,.96);backdrop-filter:blur(20px);padding:10px 56px;border-bottom:1px solid var(--border);box-shadow:0 2px 20px rgba(0,0,0,.05)}nav.nav-solid{background:rgba(26,27,30,.95);backdrop-filter:blur(12px);padding:16px 56px;border-bottom:1px solid rgba(255,255,255,.05)}nav.nav-solid .logo-f,nav.nav-solid .logo-text{fill:#ffffff}.logo{text-decoration:none;display:flex;align-items:center}.logo img{height:68px;width:auto;transition:opacity .25s}.logo:hover img{opacity:.82}.logo .fp{color:var(--gold)}.nav-l{display:flex;gap:32px;align-items:center;list-style:none}.nav-l a{color:var(--grey);text-decoration:none;font-size:12px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;transition:color .2s}nav:not(.s):not(.nav-solid) .nav-l a{color:var(--gold)}nav:not(.s):not(.nav-solid) .nav-cta{background:var(--gold) !important;color:var(--white) !important}nav:not(.s):not(.nav-solid) .nav-cta:hover{background:var(--gold-l) !important}nav.nav-solid .nav-l a{color:rgba(255,255,255,.75)}nav.nav-solid .nav-l a:hover{color:var(--gold)}.nav-l a:hover{color:var(--gold)}.nav-cta{background:var(--charcoal) !important;color:var(--white) !important;padding:11px 22px;border-radius:2px;transition:background .3s !important}.nav-cta:hover{background:var(--gold) !important;color:var(--white) !important}nav.nav-solid .nav-cta{background:var(--gold) !important;color:var(--black) !important}nav.nav-solid .nav-cta:hover{background:var(--gold-l) !important}.hero{height:100vh;min-height:640px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.hero-img{position:absolute;inset:0;background:url('/images/hero-w800.jpg') center/cover no-repeat}@media (min-width:801px){.hero-img{background-image:url('/images/hero-w1200.jpg')}}@media (min-width:1201px){.hero-img{background-image:url('/images/hero.jpg')}}.hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(27,28,30,.82) 0%,rgba(27,28,30,.55) 45%,rgba(27,28,30,.15) 100%)}.hero-content{position:relative;z-index:2;padding:0 56px 80px;max-width:700px}.hero-tag{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:24px;opacity:0;animation:fu .7s .3s ease forwards}.hero-tag span{display:inline-block;width:28px;height:1px;background:var(--gold)}h1{font-family:'Cormorant Garamond',serif;font-size:clamp(52px,7vw,88px);font-weight:700;line-height:.95;color:var(--white);margin-bottom:24px}h1 em{font-style:italic;font-weight:300;color:var(--gold)}.hero h1{opacity:0;animation:fu .8s .5s ease forwards}.hero-sub{font-size:16px;font-weight:300;color:rgba(255,255,255,.8);line-height:1.75;max-width:460px;margin-bottom:44px;opacity:0;animation:fu .8s .65s ease forwards}.hero-acts{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:fu .8s .8s ease forwards}.hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px;opacity:0;animation:fu .7s 1s ease forwards}.pill{padding:7px 16px;border:1px solid rgba(255,255,255,.25);border-radius:100px;font-size:11px;font-weight:500;color:rgba(255,255,255,.8)}.pill.gold{border-color:var(--gold);color:var(--gold);background:rgba(196,154,60,.1)}.hero-stats{position:absolute;right:56px;bottom:80px;z-index:2;display:flex;flex-direction:column;gap:20px;text-align:right;opacity:0;animation:fi 1s 1.1s ease forwards}.hstat-n{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:700;color:var(--gold);line-height:1}.hstat-l{font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:2px}@keyframes fu{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fi{from{opacity:0}to{opacity:1}}.page-hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:flex-end;overflow:hidden;background:var(--black);}.page-hero::before{content:'';position:absolute;inset:0;background:url('/images/hero-w1200.jpg') center/cover no-repeat;z-index:0;}.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(27,28,30,.82) 0%,rgba(27,28,30,.55) 45%,rgba(27,28,30,.15) 100%);z-index:1;}.page-hero > *{position:relative;z-index:2}.page-hero-inner{position:relative;z-index:2;padding:0 56px 80px;max-width:700px;width:100%;}.page-hero.hero-allegro::before{background-image:url('/images/allegro-hero-w1200.jpg')}@media (min-width:1201px){.page-hero.hero-allegro::before{background-image:url('/images/allegro-hero-w1600.jpg')}}.page-hero.hero-stretch::before{background-image:url('/images/pillar-stretch-w1200.jpg')}.page-hero.hero-doorway::before{background-image:url('/images/stefan-doorway-w1200.jpg');background-position:center 30%}.page-hero.hero-studio::before{background-image:url('/images/studio-main-w1200.jpg')}.page-hero.hero-handstand::before,.page-hero.hero-portrait::before{background-image:url('/images/stefan-portrait-w1200.jpg');background-position:center 30%}.page-hero.hero-praha10::before{background-image:url('/images/hero-w1200.jpg')}@media (min-width:1201px){.page-hero.hero-praha10::before{background-image:url('/images/hero.jpg')}}.page-hero.hero-fitness::before{background-image:url('/images/trainer-fitness-w1200.jpg');background-position:center 30%}.page-hero.hero-boxing::before{background-image:url('/images/boxing-studio-w900.jpg');background-position:center center}@media (min-width:1201px){.page-hero.hero-boxing::before{background-image:url('/images/boxing-studio.jpg')}}.page-hero .lead{font-size:16px;font-weight:300;color:rgba(255,255,255,.8);line-height:1.75;max-width:460px;margin-bottom:44px;opacity:0;animation:fu .8s .65s ease forwards;}.page-hero h1{opacity:0;animation:fu .8s .5s ease forwards}.page-hero .meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px;opacity:0;animation:fu .7s 1s ease forwards;}.page-hero .meta-pill{padding:7px 16px;border:1px solid rgba(255,255,255,.25);border-radius:100px;font-size:11px;font-weight:500;color:rgba(255,255,255,.8);background:transparent;}.btn-d{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:var(--white);padding:15px 32px;border-radius:2px;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:all .3s}.btn-d:hover{background:var(--gold-l);transform:translateY(-2px);box-shadow:0 12px 30px rgba(196,154,60,.3)}.btn-o{display:inline-flex;align-items:center;gap:9px;background:transparent;color:var(--white);padding:15px 32px;border-radius:2px;font-size:12px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border:1.5px solid rgba(255,255,255,.3);cursor:pointer;transition:all .3s}.btn-o:hover{border-color:var(--gold);color:var(--gold)}.btn-dark{display:inline-flex;align-items:center;gap:9px;background:var(--charcoal);color:var(--white);padding:15px 32px;border-radius:2px;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:all .3s}.btn-dark:hover{background:var(--gold)}.btn-light{display:inline-flex;align-items:center;gap:9px;background:transparent;color:var(--charcoal);padding:15px 32px;border-radius:2px;font-size:12px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border:1.5px solid var(--border);cursor:pointer;transition:all .3s}.btn-light:hover{border-color:var(--charcoal)}.btn-w{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--white);padding:14px 32px;border-radius:2px;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border:none;cursor:pointer;transition:all .3s;align-self:flex-start}.btn-w:hover{background:var(--gold-l)}.btn-gold{display:flex;align-items:center;justify-content:center;background:var(--gold);color:var(--white);padding:14px;border-radius:2px;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background .3s}.btn-gold:hover{background:var(--gold-l)}.btn-b{display:flex;align-items:center;justify-content:center;background:transparent;color:var(--charcoal);padding:14px;border-radius:2px;font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;border:1.5px solid var(--border);cursor:pointer;transition:all .3s}.btn-b:hover{border-color:var(--charcoal)}.container{max-width:var(--w-content);margin-inline:auto;padding-inline:var(--pad-x)}.container--narrow{max-width:var(--w-narrow)}.container--wide{max-width:var(--w-wide)}.section{padding-block:var(--space-2xl)}.section--lg{padding-block:120px}.section--sm{padding-block:var(--space-xl)}.section--cream{background:var(--cream)}.section--dark{background:var(--black);color:var(--white)}.section--dark h2,.section--dark h3{color:var(--white)}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:var(--space-md);}.eyebrow::before{content:'';width:24px;height:1px;background:var(--gold);}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-sm);}.card--cream{background:var(--cream);border:none;box-shadow:none}.card--bordered{background:var(--cream);border-left:3px solid var(--gold);border-radius:var(--radius-md)}.card--dark{background:var(--black);color:var(--white);border:none}.card h3{font-family:var(--font-serif);font-size:1.35rem;color:var(--black);margin:0 0 12px;line-height:1.25}.card--dark h3{color:var(--white)}.card p{font-size:0.98rem;line-height:1.65;color:var(--charcoal);margin:0}.card--dark p{color:rgba(255,255,255,.85)}.card a:not(.btn-d):not(.btn-o):not(.btn-w){color:var(--gold);text-decoration:none}.card a:not(.btn-d):not(.btn-o):not(.btn-w):hover{text-decoration:underline}.callout{background:var(--cream);border-left:4px solid var(--gold);padding:24px 32px;border-radius:var(--radius-md);margin:var(--space-lg) 0;}.callout strong{color:var(--black)}.callout p:last-child{margin-bottom:0}.grid{display:grid;gap:var(--space-md);margin:var(--space-lg) 0;}.grid--2{grid-template-columns:1fr 1fr}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.grid--gap-sm{gap:var(--space-sm)}.grid--gap-lg{gap:var(--space-lg)}.cta-block{background:var(--black);color:var(--white);padding:56px 32px;border-radius:var(--radius-xl);text-align:center;margin:var(--space-xl) 0;}.cta-block h2{color:var(--white);margin:0 0 16px}.cta-block p{color:rgba(255,255,255,.85);margin-bottom:var(--space-md)}.cta-block .btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.map-wrap{margin:var(--space-xl) 0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);}.content-prose h2{font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;color:var(--black);line-height:1.2;margin:56px 0 20px;padding-bottom:14px;border-bottom:1px solid var(--border);}.content-prose h2:first-child{margin-top:0}.content-prose h2 em{font-style:italic;color:var(--gold);font-weight:300}.content-prose h3{font-family:var(--font-serif);font-size:1.4rem;font-weight:600;color:var(--black);margin:36px 0 14px;line-height:1.3;}.content-prose p{font-size:var(--text-md);line-height:1.75;color:var(--charcoal);margin-bottom:18px;}.content-prose .intro,.content-prose p.intro{font-size:var(--text-lead);line-height:1.7;margin-bottom:var(--space-lg);}.content-prose ul,.content-prose ol{margin:16px 0 24px;padding-left:24px;}.content-prose ul li,.content-prose ol li{margin-bottom:10px;line-height:1.7;color:var(--charcoal);}.content-prose a:not(.btn-d):not(.btn-o):not(.btn-w):not(.related-card){color:var(--gold);text-decoration:underline;text-underline-offset:3px;}.content-prose strong{color:var(--black)}.sec{padding:100px 56px}.sec-sm{padding:60px 56px}.wrap{max-width:var(--w-content);margin:0 auto;padding-inline:var(--pad-x)}.tag{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:16px}.tag::before{content:'';width:24px;height:1px;background:var(--gold)}h2{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,54px);font-weight:700;line-height:1.05;color:var(--charcoal)}h2 em{font-style:italic;color:var(--gold);font-weight:300}.lead{font-size:16px;font-weight:300;color:var(--grey);line-height:1.8}.progs-bg{background:var(--cream)}.progs-header{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px;flex-wrap:wrap}.progs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden}.prog{background:var(--white);padding:48px 40px;position:relative;overflow:hidden;transition:background .3s;cursor:default}.prog:hover{background:var(--cream)}.prog-bar{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:left;transition:transform .4s}.prog:hover .prog-bar{transform:scaleX(1)}.prog:nth-child(1) .prog-bar{background:var(--gold)}.prog:nth-child(2) .prog-bar{background:var(--red)}.prog:nth-child(3) .prog-bar{background:#2d6a4f}.prog-num{font-family:'Cormorant Garamond',serif;font-size:72px;font-weight:300;position:absolute;top:16px;right:28px;opacity:.05;pointer-events:none;transition:opacity .3s;color:var(--charcoal)}.prog:hover .prog-num{opacity:.1}.prog-img{width:100%;height:200px;object-fit:cover;border-radius:3px;margin-bottom:26px;transition:transform .4s}.prog:hover .prog-img{transform:scale(1.02)}.prog-icon{font-size:24px;margin-bottom:16px;display:block}.prog-name{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:700;color:var(--charcoal);margin-bottom:5px}.prog-en{font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;margin-bottom:14px}.prog:nth-child(1) .prog-en{color:var(--gold)}.prog:nth-child(2) .prog-en{color:var(--red)}.prog:nth-child(3) .prog-en{color:#2d6a4f}.prog-desc{font-size:13px;color:var(--grey);line-height:1.75;margin-bottom:20px}.prog-tags{display:flex;gap:6px;flex-wrap:wrap}.prog-tag{padding:4px 11px;border-radius:100px;font-size:11px;font-weight:500;background:var(--warm);color:var(--grey);border:1px solid var(--border)}.prog-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;opacity:0;transform:translateY(5px);transition:all .3s}.prog:hover .prog-link{opacity:1;transform:translateY(0)}.prog:nth-child(1) .prog-link{color:var(--gold)}.prog:nth-child(2) .prog-link{color:var(--red)}.prog:nth-child(3) .prog-link{color:#2d6a4f}.prog-link::after{content:'→'}.fw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}.fw{padding:36px 32px;border-radius:4px;background:var(--charcoal);background-size:cover;background-position:center;position:relative;overflow:hidden;transition:all .3s;cursor:default}.fw::before{content:'';position:absolute;inset:0;background:rgba(20,20,22,.45);transition:background .3s;z-index:0}.fw:hover::before{background:rgba(20,20,22,.28)}.fw > *{position:relative;z-index:1}.fw:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(196,154,60,.1);border-color:var(--gold)}.fw-em{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;color:var(--gold);margin-bottom:14px;display:block;line-height:1}.fw-t{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;color:var(--white);margin-bottom:8px}.fw-d{font-size:13px;color:rgba(255,255,255,.75);line-height:1.75}.ms-bg{background:var(--charcoal)}.ms-title{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,4vw,46px);font-weight:700;color:var(--white);text-align:center;margin-bottom:56px}.ms-title em{font-style:italic;color:var(--gold);font-weight:300}.ms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.07)}.ms-i{padding:40px 28px;text-align:center;background:var(--charcoal)}.ms-n{font-family:'Cormorant Garamond',serif;font-size:68px;font-weight:700;color:var(--gold);line-height:1;margin-bottom:5px}.ms-u{font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:12px}.ms-r{font-size:13px;color:rgba(255,255,255,.55);line-height:1.65;font-weight:300}.ms-r strong{color:var(--gold);font-weight:500}.trainer-layout{display:grid;grid-template-columns:3fr 5fr;gap:0;min-height:600px}.trainer-img-wrap{position:relative;overflow:hidden;align-self:stretch}.trainer-img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .6s}.trainer-img-wrap:hover .trainer-img{transform:scale(1.03)}.trainer-content{background:var(--charcoal);padding:80px 64px;display:flex;flex-direction:column;justify-content:center}.trainer-content .tag{display:inline-flex}.trainer-content h2{color:var(--white);margin-bottom:20px}.trainer-content .lead{color:rgba(255,255,255,.6);margin-bottom:32px}.trainer-quote{font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;color:var(--gold);line-height:1.5;margin-bottom:36px;padding-left:20px;border-left:2px solid var(--gold)}.trainer-feats{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}.trainer-feat{display:flex;align-items:center;gap:12px;font-size:13px;color:rgba(255,255,255,.65)}.trainer-feat::before{content:'✓';width:20px;height:20px;border-radius:50%;background:rgba(196,154,60,.15);color:var(--gold);font-size:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-align:center;line-height:20px}.gallery-bg{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:8px;margin-top:48px}.g-item{overflow:hidden;border-radius:3px;cursor:zoom-in}.g-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.g-item:hover img{transform:scale(1.05)}.g-item.tall img{height:100%}.g-item.wide{grid-column:span 2}.g-item.wide img{height:100%}.ps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin-top:64px;counter-reset:ps}.ps{counter-increment:ps;padding-top:52px;border-top:2px solid var(--border);position:relative;transition:border-color .3s}.ps:hover{border-top-color:var(--gold)}.ps::before{content:counter(ps,'0' counter(ps));font-family:'Cormorant Garamond',serif;font-size:46px;font-weight:300;color:var(--border);position:absolute;top:-5px;left:0;line-height:1;transition:color .3s}.ps:hover::before{color:var(--gold)}.ps-t{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;color:var(--charcoal);margin-bottom:10px}.ps-d{font-size:13px;color:var(--grey);line-height:1.8}.p-bg{background:var(--cream)}.p-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}.p-card{background:var(--white);border:1.5px solid var(--border);border-radius:6px;padding:44px 36px;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}.p-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,.07)}.p-card.feat{background:var(--charcoal);border-color:var(--charcoal)}.p-badge{position:absolute;top:20px;right:20px;background:var(--gold);color:var(--white);padding:4px 12px;border-radius:100px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.p-name{font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--lgrey);margin-bottom:20px;display:block}.p-card.feat .p-name{color:rgba(196,154,60,.7)}.p-num{font-family:'Cormorant Garamond',serif;font-size:50px;font-weight:700;color:var(--charcoal);line-height:1;margin-bottom:4px}.p-card.feat .p-num{color:var(--white)}.p-per{font-size:12px;color:var(--lgrey);margin-bottom:28px}.p-card.feat .p-per{color:rgba(255,255,255,.35)}.p-div{height:1px;background:var(--border);margin-bottom:24px}.p-card.feat .p-div{background:rgba(255,255,255,.08)}.p-list{list-style:none;margin-bottom:32px;flex:1}.p-list li{padding:8px 0;font-size:13px;color:var(--grey);display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--border)}.p-card.feat .p-list li{color:rgba(255,255,255,.5);border-bottom-color:rgba(255,255,255,.06)}.p-list li::before{content:'✓';width:18px;height:18px;background:var(--warm);border-radius:50%;font-size:9px;color:var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-card.feat .p-list li::before{background:rgba(255,255,255,.07)}.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}.test{background:var(--cream);border:1.5px solid var(--border);border-radius:6px;padding:32px 28px;transition:box-shadow .3s}.test:hover{box-shadow:0 12px 36px rgba(0,0,0,.06)}.test-q{font-family:'Cormorant Garamond',serif;font-size:50px;color:var(--gold);opacity:.2;line-height:.6;margin-bottom:14px;display:block}.test-txt{font-size:14px;color:var(--charcoal);line-height:1.75;font-weight:300;margin-bottom:20px}.test-stars{color:var(--gold);letter-spacing:3px;font-size:11px;margin-bottom:12px;display:block}.test-name{font-size:13px;font-weight:600;color:var(--charcoal)}.test-role{font-size:11px;color:var(--lgrey);margin-top:2px}.cb{background:url('/images/pilates-w600.jpg') center/cover;position:relative}@media (min-width:601px){.cb{background-image:url('/images/pilates-w900.jpg')}}@media (min-width:1001px){.cb{background-image:url('/images/pilates.jpg')}}.cb::before{content:'';position:absolute;inset:0;background:rgba(27,28,30,.85)}.cb-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:100px 56px;max-width:var(--w-content);margin:0 auto}.cb-title{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,52px);font-weight:700;color:var(--white);line-height:1.05}.cb-title em{font-style:italic;color:var(--gold);font-weight:300}.cb-sub{font-size:15px;color:rgba(255,255,255,.65);line-height:1.7;margin-top:14px}.cb-contacts{margin-top:28px;display:flex;flex-direction:column;gap:10px}.cb-contact{font-size:14px;color:rgba(255,255,255,.8)}.cb-form{display:flex;flex-direction:column;gap:12px}.cb-form input,.cb-form textarea,.cb-form select{width:100%;padding:14px 16px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);border-radius:3px;font-size:13px;color:var(--white);font-family:inherit;outline:none;transition:border .25s}.cb-form input::placeholder,.cb-form textarea::placeholder{color:rgba(255,255,255,.4)}.cb-form input:focus,.cb-form textarea:focus,.cb-form select:focus{border-color:var(--gold)}.cb-form select{color:rgba(255,255,255,.6)}.cb-form select option{background:var(--charcoal);color:var(--white)}.cb-form textarea{height:100px;resize:vertical}.cta-strip{background:var(--charcoal);padding:80px 56px;text-align:center}.cta-t{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,5vw,66px);font-weight:700;color:var(--white);line-height:1.0;max-width:720px;margin:0 auto 20px}.cta-t em{font-style:italic;color:var(--gold);font-weight:300}.cta-sub{font-size:15px;color:rgba(255,255,255,.55);max-width:420px;margin:0 auto 40px;line-height:1.7;font-weight:300}.cta-note{font-size:12px;color:rgba(255,255,255,.3);margin-top:16px}footer{background:#141517;padding:72px 56px 36px}.f-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;margin-bottom:56px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.07)}.f-logo{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:700;letter-spacing:5px;text-transform:uppercase;color:var(--white);margin-bottom:12px}.f-logo span{color:var(--gold)}.f-desc{font-size:12px;color:rgba(255,255,255,.28);line-height:1.7;max-width:220px;margin-bottom:24px}.f-social{display:flex;gap:8px}.f-social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.1);border-radius:7px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.28);text-decoration:none;font-size:13px;transition:all .25s}.f-social a:hover{border-color:var(--gold);color:var(--gold)}.f-col-t{font-size:10px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px}.f-links{list-style:none}.f-links li{margin-bottom:9px}.f-links a{font-size:12px;color:rgba(255,255,255,.28);text-decoration:none;transition:color .25s}.f-links a:hover{color:var(--white)}.f-bot{display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.18)}footer.footer-simple{padding:48px 56px;text-align:center;background:var(--black)}footer.footer-simple p{color:var(--lgrey);font-size:.82rem;margin-bottom:8px}footer.footer-simple a{color:var(--gold);text-decoration:none}.rv{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.rv.vis{opacity:1;transform:translateY(0)}.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.fly-l{opacity:0;transform:translateX(-60px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.fly-r{opacity:0;transform:translateX(60px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.fly-l.vis,.fly-r.vis{opacity:1;transform:translateX(0)}@media (prefers-reduced-motion:reduce){.rv,.fly-l,.fly-r{transition:none !important;opacity:1 !important;transform:none !important}}#fp-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--red));z-index:99999;width:0%;pointer-events:none}.rev-rail-wrap{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;overflow:hidden;mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 5%,black 95%,transparent 100%);margin-top:32px}.rev-rail{display:flex;align-items:stretch;gap:0;padding:12px 0 28px;overflow-x:auto;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch;user-select:none}.rev-rail::-webkit-scrollbar{display:none}.rev-rail:active{cursor:grabbing}.rev-card{flex:0 0 clamp(260px,28vw,380px);background:var(--cream);border-radius:16px;border:1px solid var(--border);padding:24px;display:flex;flex-direction:column;min-height:170px;margin-right:16px}.rev-stars{color:var(--gold);font-size:15px;letter-spacing:3px;margin-bottom:10px}.rev-txt{font-size:14px;line-height:1.65;color:var(--charcoal);flex:1;font-style:italic}.rev-meta{font-size:12px;color:var(--lgrey);margin-top:12px;font-style:normal;font-weight:500}.zoom-stage{position:relative;width:100%;line-height:0;border-radius:12px;overflow:hidden}.zoom-stage img{width:100%;height:auto;display:block;transform:scale(1);transform-origin:center center;will-change:transform}.highlight{background:var(--cream);border-left:3px solid var(--gold);padding:20px 24px;border-radius:0 6px 6px 0;margin:28px 0;font-size:.95rem}.highlight strong{color:var(--black)}.fig{margin:36px 0}.fig img{width:100%;height:auto;border-radius:8px;display:block}.fig figcaption{font-size:.85rem;color:var(--grey);margin-top:10px;text-align:center;font-style:italic}.compare-table{width:100%;border-collapse:collapse;margin:32px 0;font-size:.95rem;background:var(--cream);border-radius:8px;overflow:hidden}.compare-table th,.compare-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--border)}.compare-table th{background:var(--black);color:var(--white);font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.05rem}.compare-table td:first-child{font-weight:600;color:var(--black);width:30%}.compare-table tr:last-child td{border-bottom:none}.faq-item{background:var(--cream);border-radius:8px;padding:20px 24px;margin-bottom:14px;border-left:3px solid var(--gold)}.faq-item summary{font-weight:600;color:var(--black);cursor:pointer;font-size:1.02rem;padding-right:24px;position:relative;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';position:absolute;right:0;top:0;font-size:1.5rem;color:var(--gold);font-weight:300;transition:transform .2s}.faq-item[open] summary::after{content:'−'}.faq-item p{margin-top:14px;font-size:.95rem;color:var(--charcoal);line-height:1.65}.cta-box{background:var(--black);color:var(--white);padding:48px;border-radius:12px;margin:56px 0 32px;text-align:center}.cta-box h3{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:300;color:var(--white);margin-bottom:12px}.cta-box p{color:rgba(255,255,255,.8);margin-bottom:24px;font-size:1rem}.cta-btn{display:inline-block;background:var(--gold);color:var(--black) !important;padding:14px 32px;border-radius:99px;font-weight:600;text-decoration:none;transition:background .25s;border-bottom:none !important;font-size:1rem}.cta-btn:hover{background:var(--gold-l);border-bottom-color:transparent !important;color:var(--black) !important}.related{padding:56px 0 0;border-top:1px solid var(--border);margin-top:56px}.related h2{margin-top:0}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:24px}.related-card{background:var(--cream);padding:24px;border-radius:8px;text-decoration:none;color:var(--charcoal);transition:transform .2s,box-shadow .2s;display:block;border-bottom:none !important}.related-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.08)}.related-card h4{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--black);margin-bottom:8px}.related-card p{font-size:.9rem;color:var(--grey);margin:0}#cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:999;background:rgba(26,27,30,.97);backdrop-filter:blur(12px);border-top:1px solid rgba(196,154,60,.3);padding:16px 56px;display:flex;align-items:center;justify-content:space-between;gap:24px;}#cookie-banner p{color:rgba(255,255,255,.75);font-size:.82rem;line-height:1.5}#cookie-banner a{color:var(--gold);text-decoration:none}#cookie-banner a:hover{text-decoration:underline}.cookie-btn{background:var(--gold);color:var(--black);border:none;padding:9px 22px;border-radius:3px;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s;}.cookie-btn:hover{background:var(--gold-l)}@media (max-width:900px){nav{padding:16px 20px}nav.s{padding:12px 20px}nav.nav-solid{padding:14px 20px}.nav-l{display:none !important}.hero-content{padding:0 20px 60px}.hero-stats{right:20px;bottom:60px}.page-hero-inner{padding:0 20px 60px}.sec{padding:64px 20px}.sec-sm{padding:40px 20px}.progs-grid{grid-template-columns:1fr}.fw-grid{grid-template-columns:1fr}.p-grid{grid-template-columns:1fr}.test-grid{grid-template-columns:1fr}.ps-grid{grid-template-columns:1fr;gap:36px}.trainer-layout{grid-template-columns:1fr}.trainer-img-wrap{height:320px}.trainer-content{padding:48px 20px}.gallery-grid{grid-template-columns:1fr 1fr}.g-item.tall img,.g-item img,.g-item.wide img{height:180px}.cb-inner{grid-template-columns:1fr;gap:40px;padding:60px 20px}.f-top{grid-template-columns:1fr 1fr;gap:32px}footer{padding:56px 20px 28px}.ms-grid{grid-template-columns:1fr 1fr}.cta-strip{padding:60px 20px}.cta-box{padding:32px 24px}.related-grid{grid-template-columns:1fr}footer.footer-simple{padding:32px 20px}.compare-table{font-size:.88rem}.compare-table th,.compare-table td{padding:10px 12px}.local-grid{grid-template-columns:1fr !important;gap:24px !important}.local-info{padding:56px 20px !important}.container,.wrap{padding-inline:var(--pad-x-mob)}.section{padding-block:var(--space-xl)}.section--lg{padding-block:72px}.section--sm{padding-block:var(--space-lg)}.grid--2,.grid--3,.grid--4{grid-template-columns:1fr;gap:var(--space-sm)}.cta-block{padding:40px 24px}.callout{padding:20px 24px}}@media (max-width:768px){#cookie-banner{flex-direction:column;padding:16px 24px;text-align:center}}
/* ─── Mobile burger menu ─── */
.nav-burger{display:none;background:transparent;border:0;cursor:pointer;padding:8px;width:40px;height:40px;position:relative;z-index:101}
.nav-burger span{display:block;width:24px;height:2px;background:var(--gold);margin:5px auto;transition:transform .3s,opacity .2s,background .3s;border-radius:2px}
nav.s .nav-burger span{background:var(--charcoal)}
nav.nav-solid .nav-burger span{background:var(--gold)}
.nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

#nav-overlay{display:none;position:fixed;inset:0;background:rgba(20,20,22,.98);backdrop-filter:blur(20px);z-index:99;flex-direction:column;justify-content:center;align-items:center;padding:80px 24px;animation:ovIn .25s ease}
#nav-overlay.open{display:flex}@keyframes ovIn{from{opacity:0}to{opacity:1}}
#nav-overlay ul{list-style:none;padding:0;margin:0 0 32px;text-align:center}
#nav-overlay ul li{margin:18px 0}
#nav-overlay ul li a{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:300;color:var(--white);text-decoration:none;letter-spacing:0;text-transform:none;transition:color .2s}
#nav-overlay ul li a:hover,#nav-overlay ul li a:focus{color:var(--gold)}
#nav-overlay .ov-cta{display:inline-block;background:var(--gold);color:var(--black);padding:14px 32px;border-radius:2px;font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;margin-top:24px;transition:background .2s}
#nav-overlay .ov-cta:hover{background:var(--gold-l)}
#nav-overlay .ov-meta{margin-top:32px;font-size:12px;color:rgba(255,255,255,.4);text-align:center}
#nav-overlay .ov-meta a{color:var(--gold);text-decoration:none}

/* ─── Mobile-only nav adjustments ─── */
@media (max-width:900px){
  .nav-burger{display:block}
  /* Logo fits the smaller nav */
  nav .logo img{height:36px !important}
  /* Hide desktop CTA, hamburger handles it */
  nav .btn-d,nav .nav-cta,nav>a.btn-d,nav>a.nav-cta{display:none !important}
  nav{justify-content:space-between}

  /* Hero: avoid breadcrumb getting tucked under fixed nav */
  .page-hero{min-height:560px}
  .page-hero-inner{padding-top:80px}
  .page-hero .lph-bc{font-size:.78rem;line-height:1.5}

  /* Hero photo: shift focal point left so subject (Stefan) stays visible on narrow viewport */
  /* Stefan stands on the RIGHT side of these wide photos. */
  /* On mobile (cover crop to ~380px wide), shift focus to 70% so he stays visible. */
  .page-hero.hero-fitness::before,
  .page-hero.hero-portrait::before{background-position:70% 30% !important}
  /* Vertical portraits: Stefan is centered/slightly right — keep default center crop. */
  .page-hero.hero-handstand::before,
  .page-hero.hero-doorway::before{background-position:55% 30% !important}
  /* For boxing & studio (wider scenes) leave them centered */
}

/* On very small screens, reduce hero h1 a touch */
@media (max-width:480px){
  .page-hero h1{font-size:clamp(40px,12vw,52px)}
  .page-hero .lead{font-size:14px;margin-bottom:28px}
  .page-hero-inner{padding-bottom:48px}
}
