:root{--ink:#20242a;--muted:#71767b;--blue:#1694df;--blue-soft:#eef8fd;--paper:#fbfcfc;--white:#fff;--line:#e7e9ea;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Comfortaa',sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{max-width:var(--max);margin:auto;padding:0 34px}.top{height:88px;display:flex;align-items:center;position:relative;z-index:5;width:100%;color:var(--ink);background:var(--paper)}.nav{display:flex;align-items:center;justify-content:space-between;width:100%;gap:24px}.brand{font-weight:700;letter-spacing:.12em;font-size:20px}.links{display:flex;gap:32px;align-items:center;font-size:13px}.button{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:999px;background:var(--blue);color:#fff;font-size:13px;font-weight:600;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.button:hover{transform:translateY(-1px);box-shadow:0 10px 26px #1694df26}.button:disabled{opacity:.55;cursor:wait;transform:none}.button.white{background:#fff;color:var(--ink)}.button.ghost{background:transparent;color:var(--ink);border:1px solid #ccd1d4}.hero{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);min-height:min(720px,calc(100svh - 88px));background:var(--blue-soft);color:var(--ink)}.hero-wrap{width:100%;max-width:none;margin:0;align-self:center;padding:56px 36px 56px max(34px,calc((100vw - var(--max))/2 + 34px))}.hero .inner{max-width:540px;min-width:0}.hero-photo{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:52% center}.top .button.white{background:var(--blue);color:#fff}.kicker,.label,.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase}.label{color:var(--blue)}.kicker.dark{color:var(--ink)}.hero h1{font-size:clamp(36px,4.3vw,64px);line-height:1.12;letter-spacing:-.045em;font-weight:400;margin:20px 0 26px}.hero p{font-size:16px;max-width:520px;margin:0 0 30px;font-weight:300}.actions{display:flex;gap:12px;flex-wrap:wrap}.section{padding:115px 0}h2{font-size:clamp(35px,4vw,57px);line-height:1.15;letter-spacing:-.04em;font-weight:400;margin:0}.mt18{margin-top:18px}.intro{display:grid;grid-template-columns:.9fr 1.3fr;gap:90px}.intro p{font-size:20px;line-height:1.7;margin:0;color:#4c5257}.stats{display:flex;gap:58px;margin-top:42px}.stat b{font-size:29px;font-weight:500;display:block}.stat span{font-size:12px;color:var(--muted)}.formats{background:var(--blue-soft)}.formats-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.formats-head p{max-width:420px;color:var(--muted);font-size:14px}.format-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.format{position:relative;min-height:600px;overflow:hidden;border-radius:28px;background:#fff}.format img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.format:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,20,25,.67),transparent 58%)}.format-copy{position:absolute;z-index:2;left:34px;right:34px;bottom:32px;color:#fff}.format-copy h3{font-size:31px;font-weight:400;margin:0 0 9px}.format-copy p{font-size:14px;max-width:440px}.trial-title{margin:18px 0 50px}.trial{display:grid;grid-template-columns:1fr 1fr;gap:22px}.trial-card{padding:48px;border:1px solid var(--line);border-radius:28px;background:#fff}.price{font-size:52px;line-height:1;font-weight:400;margin:28px 0 15px}.trial-card p,.price-head p,.place-copy p{color:var(--muted);font-size:14px}.prices-section{padding-top:95px}.price-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;margin-bottom:50px}.price-block{background:#fff;border:1px solid var(--line);border-radius:30px;padding:38px;margin-bottom:22px}.price-block-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;padding-bottom:28px;border-bottom:1px solid var(--line)}.price-block-head h3{font-weight:400;font-size:29px;margin:8px 0 0}.eyebrow{color:var(--blue)}.single-price{font-size:14px;color:var(--muted)}.single-price b{font-size:22px;color:var(--ink);font-weight:500;margin-left:6px}.price-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding-top:22px}.price-column{padding:8px 18px 4px}.price-column h4{font-size:15px;font-weight:600;margin:0 0 17px}.accent-column{background:var(--blue-soft);border-radius:22px;padding:22px}.price-line{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #e8ecee}.price-line:last-child{border-bottom:0}.price-line span{font-size:14px}.price-line small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.price-line b{font-size:17px;font-weight:500;white-space:nowrap}.price-line.compact{margin-top:4px;padding-top:18px;border-top:1px dashed #cbdde6}.more-prices{margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.more-prices summary{cursor:pointer;list-style:none;padding:25px 4px;font-size:15px;font-weight:600}.more-prices summary::-webkit-details-marker{display:none}.more-prices summary:after{content:"+";float:right;font-size:21px;font-weight:300}.more-prices[open] summary:after{content:"−"}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:10px 0 28px}.details-grid>div{border:1px solid var(--line);border-radius:22px;padding:24px}.details-grid h4{font-size:14px;min-height:44px;margin:0 0 14px}.detail-line{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.detail-line:last-child{border-bottom:0}.detail-line b{white-space:nowrap;font-weight:600}.lead-section{padding:0 0 40px}.lead-shell{background:#dff2fb;border-radius:36px;padding:70px;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.lead-copy h2{font-size:clamp(34px,4vw,54px);margin:18px 0 22px}.lead-copy p{color:#566068;max-width:460px}.lead-form{background:#fff;border-radius:26px;padding:30px;display:grid;gap:16px}.lead-form label{display:grid;gap:7px;font-size:12px;color:#5f666c}.lead-form input:not([type=checkbox]),.lead-form select{width:100%;border:1px solid #dce1e4;background:#fff;border-radius:14px;padding:14px 15px;color:var(--ink);outline:none}.lead-form input:focus,.lead-form select:focus{border-color:#7bc5ee;box-shadow:0 0 0 3px #1694df12}.consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;line-height:1.5}.consent input{margin-top:3px}.consent a{text-decoration:underline}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.submit-button{width:100%;margin-top:2px}.form-status{font-size:12px;margin:0;min-height:18px;color:#4a5359}.form-status.success{color:#18794e}.form-status.error{color:#b42318}.schedule{margin:100px 0;background:var(--blue);color:#fff;border-radius:36px;padding:70px;display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:50px}.schedule p{opacity:.88;max-width:650px}.schedule .right{text-align:right}.place{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}.place-copy{padding:55px;background:#fff;border:1px solid var(--line);border-radius:28px}.place-copy h2{font-size:42px;margin:12px 0 28px}.contact-links{margin-top:30px!important}.place-photo{position:relative;border-radius:28px;overflow:hidden;min-height:520px;aspect-ratio:25/22}.place-photo img{position:absolute;left:0;bottom:-12%;display:block;width:100%;height:151.5152%;object-fit:cover;object-position:center bottom}.footer{margin-top:80px;padding:55px 0 100px;border-top:1px solid var(--line)}.foot{display:flex;justify-content:space-between;gap:30px}.logoimg{width:118px;height:118px;object-fit:contain}.foot-copy{font-size:13px;line-height:2}.mobilebar{display:none}.modal{position:fixed;z-index:50;inset:0;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(17,22,27,.62);backdrop-filter:blur(6px)}.modal-card{position:relative;z-index:1;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:30px;padding:36px;box-shadow:0 28px 100px #0005}.modal-card h2{font-size:36px;margin:12px 0}.modal-card>p{font-size:13px;color:var(--muted);margin-bottom:22px}.modal-close{position:absolute;right:19px;top:15px;border:0;background:transparent;font-size:32px;font-weight:300;cursor:pointer;color:#7c858c}.modal-form{padding:0;border-radius:0}.modal-form .button{margin-top:4px}
@media(max-width:900px){.price-columns,.details-grid,.lead-shell{grid-template-columns:1fr}.lead-shell{gap:34px}.details-grid>div{padding:20px}}
@media(max-width:800px){.wrap{padding:0 20px}.top{height:72px}.links{display:none}.brand{font-size:17px}.top .nav>.button{display:none}.hero{grid-template-columns:minmax(0,1fr);min-height:0}.hero .hero-wrap{padding:38px 20px 36px}.hero .inner{max-width:600px;margin:auto}.hero-photo{height:auto;aspect-ratio:3/2;object-fit:contain}.hero h1{font-size:clamp(34px,8vw,44px)}.hero p{font-size:15px}.section{padding:76px 0}.intro,.price-head,.place{grid-template-columns:1fr;gap:34px}.intro p{font-size:17px}.stats{gap:24px}.format-grid,.trial{grid-template-columns:1fr}.format{min-height:490px}.formats-head{display:block}.formats-head p{margin-top:20px}.trial-card{padding:34px}.price-block{padding:24px 18px}.price-block-head{display:block}.single-price{margin-top:14px}.price-column{padding:0}.accent-column{padding:18px;margin-top:4px}.price-line{align-items:flex-end}.price-line b{font-size:15px}.lead-shell{border-radius:0;padding:52px 20px}.lead-form{padding:22px}.schedule{margin:70px 0;padding:40px 28px;grid-template-columns:1fr}.schedule .right{text-align:left}.place-photo{min-height:0}.foot{flex-direction:column}.mobilebar{display:flex;position:fixed;z-index:10;bottom:12px;left:12px;right:12px;background:#fffffff2;backdrop-filter:blur(14px);padding:8px;border-radius:999px;box-shadow:0 8px 30px #0002;gap:8px}.mobilebar .button{flex:1}.footer{padding-bottom:120px}.modal-card{padding:30px 22px}.modal-card h2{font-size:31px}}

.mobilebar[hidden],body.modal-open .mobilebar{display:none}
.intro p+p{margin-top:20px}.formats-head{gap:32px}
.legal-link{font-size:12px;margin:0;color:var(--muted)}.legal-link a,.form-status a{text-decoration:underline;text-underline-offset:3px}

/* Mobifitness schedule */
.schedule-section{padding-top:95px;padding-bottom:95px;background:#f6fbfe}.schedule-head{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;margin-bottom:38px}.schedule-head h2{margin-top:14px}.schedule-head p{margin:0;color:var(--muted);font-size:14px;max-width:470px;justify-self:end}.mobifitness-shell{width:100%;background:#fff;border:1px solid var(--line);border-radius:30px;padding:28px;overflow:hidden;box-shadow:0 18px 50px rgba(30,60,80,.06)}#mf_schedule_widget_cont_7lq{width:100%;min-height:520px}@media(max-width:800px){.schedule-section{padding-top:72px;padding-bottom:72px}.schedule-head{grid-template-columns:1fr;gap:16px;margin-bottom:26px}.schedule-head p{justify-self:start}.mobifitness-shell{border-radius:22px;padding:12px}#mf_schedule_widget_cont_7lq{min-height:620px}}

/* Lighter photos, hero close-up and studio logo. */
.brand{display:flex;align-items:center;flex-shrink:0}
.brand-logo{display:block;width:78px;height:78px;object-fit:contain}
.hero-image{position:relative;overflow:hidden;min-width:0;min-height:0}
.hero-image .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.6);transform-origin:50% 62%}
@media(max-width:800px){
  .brand-logo{width:64px;height:64px}
  .hero-image{aspect-ratio:3/2}
  .hero-image .hero-photo{aspect-ratio:auto}
  .format{display:flex;align-items:flex-end;min-height:560px;padding:18px}
  .format-copy{position:relative;left:auto;right:auto;bottom:auto;width:100%;padding:20px;border-radius:20px;background:rgba(0,0,0,.32);text-shadow:0 1px 3px rgba(0,0,0,.45)}
  .format-copy h3{font-size:27px}
  .format-copy .button{text-shadow:none}
}

.contact-map iframe{display:block;width:100%;height:450px;border:1px solid var(--line);border-radius:28px;background:var(--blue-soft)}
.contact-map p{font-size:13px;margin:16px 0 0}.contact-map a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.contact-map iframe{height:360px;border-radius:22px}}

/* Keep contacts within the same mobile gutters as the other sections. */
@media(max-width:800px){
  .place{grid-template-columns:minmax(0,1fr)}
  .place-copy,.place-photo{min-width:0}
  .place-copy{padding:30px 22px;overflow-wrap:anywhere}
  .place-copy h2{font-size:clamp(28px,7vw,36px)}
  .place-copy .actions{flex-direction:column;align-items:stretch}
  .place-copy .button{min-width:0;max-width:100%;text-align:center}
}
