/* RIVO: one active visual system. Legacy site.css/conversion.css are not loaded. */
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/golos-compact.woff2') format('woff2')}
@font-face{font-family:Literata;font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/literata-compact.woff2') format('woff2')}
@font-face{font-family:Literata;font-style:italic;font-weight:400 700;font-display:swap;src:url('/assets/fonts/literata-italic-compact.woff2') format('woff2')}
:root{--bg:#f8f5f7;--paper:#fffdfd;--ink:#302a33;--muted:#5e5661;--line:#ded4df;--violet:#765684;--deep:#50375d;--soft:#f0e6ef;--serif:Literata,Georgia,serif;--sans:"Golos Text",Arial,sans-serif;--panel-radius:20px;--control-radius:12px;--section-space:clamp(56px,6vw,88px);--section-title:clamp(34px,3.5vw,48px);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-block:28px 100px;font-optical-sizing:auto}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block}img{max-width:100%}button,input,select,textarea{font:inherit}a{color:var(--deep);text-underline-offset:4px;text-decoration-thickness:1px}button,summary,a{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}[hidden]{display:none!important}::selection{background:#eac9dc;color:var(--ink)}:focus-visible{outline:3px solid var(--violet);outline-offset:4px}p{margin-top:0;text-wrap:pretty}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;text-wrap:balance}h2{font-size:var(--section-title);line-height:1.2}h2 em{font-style:normal;color:var(--violet)}h3{font-size:30px;line-height:1.25}a,button,summary{touch-action:manipulation}.shell{width:min(100% - 64px,1200px);margin-inline:auto}.skip-link{position:absolute;z-index:100;top:-100px;left:16px;padding:12px 20px;background:var(--deep);color:#fff}.skip-link:focus{top:12px}.section{padding-block:var(--section-space)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}.section-heading h2{margin:12px 0 0}.section-heading>p,.schedule__aside{max-width:390px;margin:0;color:var(--muted)}.eyebrow,.kicker{font:700 11px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--violet)}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow__dot{width:7px;height:7px;border-radius:50%;background:#b58fa9}
/* Actions: filled = main, outlined = alternative. Text links are navigation only. */
:where(.button,.hero__pick,.header-call,.direction__booking,.direction .text-action,.upcoming__card a,.schedule__action,.pricing__card>a,.pricing__actions a,.channel-link,.contact-max>summary,.copy-button,.chooser__request button){display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--paper);color:var(--deep);font:600 14px/1.4 var(--sans);text-decoration:none;text-align:center}
:is(.button--primary,.direction__booking,.upcoming__card a,.schedule__action:not(.schedule__action--phone),.pricing__card--lead>a,.pricing__card--lead .pricing__actions>a:first-child,.channel-link--phone){background:var(--deep);border-color:var(--deep);color:#fff}
:is(.button,.hero__pick,.header-call,.direction__booking,.text-action,.upcoming__card a,.schedule__action,.pricing__card a,.channel-link,.contact-max>summary,.copy-button,.chooser__request button):hover{border-color:var(--violet);background:var(--soft);color:var(--deep)}
:is(.button--primary,.direction__booking,.upcoming__card a,.schedule__action:not(.schedule__action--phone),.pricing__card--lead>a,.pricing__card--lead .pricing__actions>a:first-child,.channel-link--phone):hover{background:#64486f;border-color:#64486f;color:#fff}
.button{min-height:52px}.copy-button{min-height:44px;padding:10px 14px;font-size:13px}.copy-status{min-height:0;margin:8px 0 0;color:var(--muted);font-size:13px}.booking-reset{margin-bottom:16px}.selected{padding:16px;margin:20px 0 12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--control-radius);font-size:15px;line-height:1.6;overflow-wrap:break-word}
/* Navigation and brand */
.draft-banner{padding:10px 24px;background:var(--deep);color:#fff;text-align:center;font-size:12px;font-weight:600}.site-header{position:relative;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:24px;min-height:84px}.brand{display:inline-flex;align-items:center;gap:9px;flex:none;text-decoration:none}.brand__mark{width:36px;height:48px;object-fit:contain}.brand__lockup{display:flex;flex-direction:column;gap:4px}.brand__name{color:#a184a5;font:400 27px/1 var(--sans);letter-spacing:.2em}.brand__caption{color:var(--muted);font:500 7px/1.3 var(--sans);letter-spacing:.2em;white-space:nowrap}.nav{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-inline:auto}.nav a,.service-nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:13px;color:var(--muted)}.nav a:hover,.service-nav a:hover{text-decoration:underline;color:var(--deep)}.header-call{min-height:44px;white-space:nowrap;padding-inline:18px}.mobile-menu{display:none;position:relative;margin-inline-start:auto}.mobile-menu>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;list-style:none;border:1px solid var(--line);border-radius:var(--control-radius);font-size:14px;font-weight:600}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu[open]>summary{background:var(--soft)}.mobile-menu nav{position:absolute;inset:calc(100% + 12px) 0 auto auto;width:min(300px,calc(100vw - 36px));padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--panel-radius);box-shadow:0 12px 36px #302a331a}.mobile-menu nav a{display:flex;align-items:center;min-height:44px;padding:10px 14px;text-decoration:none;font-size:14px}.mobile-menu nav a:hover{background:var(--soft);border-radius:8px}
/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:48px;padding-block:48px 56px}.hero__copy{min-width:0}.hero h1{max-width:17ch;margin:22px 0;font-size:clamp(40px,4.4vw,62px);line-height:1.15;letter-spacing:-.045em}.hero h1 em{display:block;font-weight:400;color:var(--violet)}.hero__intro{max-width:42ch;margin:0 0 22px;font-size:18px;line-height:1.6;color:var(--muted)}.hero__proof{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:0 0 24px}.hero__proof li{font-size:12px;font-weight:600;color:var(--deep)}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.hero__pick{min-height:52px}.hero__phone,.guide__phone{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px;min-height:44px;margin:18px 0 0;font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}.hero__phone span{font-size:13px}.hero__cta-note{max-width:44ch;margin:6px 0 0;font-size:13px;color:var(--muted)}.hero__photo,.trainer__portrait{position:relative;isolation:isolate;overflow:hidden;width:100%;min-width:0;margin:0;background:var(--soft);border-radius:var(--panel-radius);outline:1px solid oklch(0 0 0 / .1);outline-offset:-1px}.hero__photo{aspect-ratio:.9;min-height:520px}.hero__photo img,.trainer__portrait img{position:absolute;inset:0 auto auto -6%;width:200%;max-width:none;height:100%;object-fit:cover;object-position:left 8%}.hero__photo figcaption,.trainer__portrait figcaption{position:absolute;inset:auto auto 16px 16px;max-width:calc(100% - 32px);padding:8px 12px;background:#fffdfdf0;color:var(--deep);border-radius:8px;font-size:12px;line-height:1.4}.hero__art{min-height:420px;padding:48px;display:grid;place-items:center;background:var(--soft);border-radius:var(--panel-radius)}.hero__word{font:italic 54px var(--serif);color:var(--deep)}
.quick-facts{border-block:1px solid var(--line);background:var(--soft)}.quick-facts__inner{display:grid;grid-template-columns:.7fr 1.5fr 1fr}.quick-facts a{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:104px;padding:20px 24px;border-inline-start:1px solid var(--line);text-decoration:none}.quick-facts a:last-child{border-inline-end:1px solid var(--line)}.quick-facts a:hover{background:#e9dce9}.quick-facts span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--violet)}.quick-facts strong{font-size:17px;font-weight:600;color:var(--ink)}
/* Selection */
.chooser,.pricing,.trainer,.service-related{background:var(--soft)}.chooser__inner,.guide__inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}.chooser h2,.guide h2{margin:12px 0 20px}.chooser__heading>p,.guide__heading>p{max-width:44ch;margin:0;color:var(--muted)}.chooser__options{display:grid;gap:12px;min-width:0;margin:0;padding:0;border:0}.chooser__question{padding:0;margin-bottom:16px;font-weight:600}.chooser__option{display:flex;align-items:center;gap:16px;min-height:82px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--paper);cursor:pointer}.chooser__option:hover,.chooser__option:has(input:checked){border-color:var(--violet)}.chooser__option:has(input:checked){box-shadow:inset 0 0 0 1px var(--violet)}.chooser__option:focus-within{outline:3px solid var(--violet);outline-offset:3px}.chooser__option input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--deep)}.chooser__option span{display:grid;gap:4px}.chooser__option strong{font-size:16px;font-weight:600}.chooser__option small{font-size:13px;line-height:1.5;color:var(--muted)}#chooser-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.chooser__result{padding:24px;margin-top:20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--panel-radius)}.chooser__result h3{margin:12px 0;font-size:30px}.chooser__result p{color:var(--muted)}.chooser__result-facts{display:grid;grid-template-columns:1fr .5fr;gap:20px;margin:24px 0}.chooser__result-facts dt{color:var(--muted);font-size:12px}.chooser__result-facts dd{margin:6px 0 0;font-size:14px;font-weight:600}.chooser__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.chooser__actions>a:not(.button){font-size:14px}.chooser__request{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}.chooser__request-label{font-size:12px;font-weight:600;color:var(--muted)}.chooser__request #chooser-request-text{margin:8px 0 16px;color:var(--ink);font-size:14px}.chooser__request #chooser-copy-status{margin:8px 0 0;font-size:13px}
/* Cards: one surface, radius and heading scale */
.directions,.upcoming__grid,.pricing__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.direction,.upcoming__card,.pricing__card,.reviews__card,.service-related__card{min-width:0;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--panel-radius)}.direction,.upcoming__card,.pricing__card{display:flex;flex-direction:column;align-items:stretch}.direction:last-child:nth-child(3n+1){grid-column:2}.direction.is-selected{border-color:var(--violet);box-shadow:inset 0 0 0 1px var(--violet)}.direction__top{display:flex;align-items:center;justify-content:space-between;color:var(--violet)}.direction__number{font-size:12px}.direction__symbol{font-size:26px;line-height:1}.direction h3{margin:20px 0 14px;font-size:30px}.direction__description{margin:0 0 12px;color:var(--muted)}.direction__for{margin:0 0 24px;font-size:14px;line-height:1.55;color:var(--muted)}.direction__times{padding-top:16px;margin:auto 0 20px;border-top:1px solid var(--line)}.direction__times-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--violet)}.direction__times p{margin:8px 0 0;font-size:13px;line-height:1.6}.direction__booking,.direction .text-action{width:100%;margin:0}.direction .text-action{margin-top:10px;font-size:13px}.upcoming__day{font-size:12px;font-weight:600;color:var(--violet)}.upcoming__card h3{margin:18px 0 12px;font-size:30px}.upcoming__card p{margin:0 0 24px;font-size:14px;color:var(--muted)}.upcoming__card a{margin-top:auto}.service-guide{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:-32px;padding-bottom:var(--section-space)}.service-guide p{margin:0;font-size:14px;color:var(--muted)}.service-guide a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px}
/* Trainer: no separate dark theme or decorative fact box */
.trainer__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}.trainer h2{margin:12px 0 24px}.trainer__lead>p{max-width:48ch;color:var(--muted)}.trainer__facts{margin:28px 0 16px}.trainer__name{font-size:14px;font-weight:600;color:var(--deep)}.trainer__facts ul{display:grid;gap:12px;list-style:none;margin:16px 0 0;padding:0}.trainer__facts li{font-size:15px}.trainer__link{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.trainer__portrait{aspect-ratio:.9;max-height:560px}.trainer__portrait img{object-position:left 12%}
/* Schedule */
.schedule__list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.schedule__row{display:grid;grid-template-columns:1fr 1fr 1.2fr minmax(230px,1.5fr);align-items:center;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.schedule__row.is-highlighted{background:var(--soft)}.schedule__day{font-size:14px;font-weight:600}.schedule__time{display:flex;flex-wrap:wrap;gap:5px;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.schedule__pending{font-size:12px;font-weight:400;color:var(--muted)}.schedule__name{font-size:15px;color:var(--muted)}.schedule__actions{display:flex;gap:10px}.schedule__action{flex:1;min-height:44px;padding:10px 12px;font-size:13px;white-space:nowrap}.schedule__help{margin:20px 0 0;font-size:13px;color:var(--muted)}
/* Pricing and social proof */
.pricing__card{min-height:0}.pricing__card>span{font-size:12px;font-weight:600;color:var(--violet)}.pricing__card h3{margin:16px 0 0;font-size:28px}.pricing__card>strong{display:block;margin:24px 0 16px;font:400 44px/1.2 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.035em}.pricing__card--lead{border-color:var(--violet)}.pricing__note,.pricing__terms{margin:0 0 24px;font-size:14px;line-height:1.6;color:var(--muted)}.pricing__terms{color:var(--deep);font-weight:600}.pricing__actions{display:grid;gap:10px;margin-top:auto}.pricing__actions a{width:100%}.pricing__actions .pricing__secondary{font-size:12px;font-weight:500}.pricing__card>a{width:100%;margin-top:auto}.pricing__details{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;padding:28px;margin-top:20px;background:var(--paper);border:1px solid var(--line);border-radius:var(--panel-radius)}.pricing__details h3{margin:12px 0 0;font-size:28px}.pricing__details p{margin:0;color:var(--muted);font-size:15px}.reviews__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.reviews__card{display:flex;flex-direction:column;justify-content:space-between;min-height:240px;margin:0}.reviews__card blockquote{margin:0}.reviews__card blockquote p{margin:0;font:400 23px/1.5 var(--serif);letter-spacing:-.02em}.reviews__card figcaption{display:flex;flex-wrap:wrap;gap:4px 12px;padding-top:24px;font-size:13px;color:var(--muted)}.reviews__card figcaption strong{font-weight:600;color:var(--deep)}
/* First visit and contacts */
.guide__list{list-style:none;margin:0;padding:0}.guide__list li{display:flex;gap:20px;padding:24px 0;border-top:1px solid var(--line)}.guide__list li>span{padding-top:5px;color:var(--violet);font-size:12px}.guide__list h3{margin:0 0 10px;font-size:26px}.guide__list p{margin:0;color:var(--muted);font-size:15px}.guide__phone{margin:20px 0}.contact{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.65fr);gap:48px;padding-block:var(--section-space)}.contact__panel{min-width:0;padding:40px;background:var(--soft);border-radius:var(--panel-radius)}.contact h2{margin:12px 0 24px}.contact__lead{margin:0 0 24px;color:var(--muted)}.contact__number{display:inline-block;max-width:100%;margin:24px 0 16px;font-size:clamp(22px,2.5vw,32px);font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.contact__panel>.copy-button{display:flex}.contact__meta{display:grid;align-content:start;gap:28px;padding-top:16px}.contact__meta>div{padding-bottom:24px;border-bottom:1px solid var(--line)}.contact__meta span{display:block;margin-bottom:10px;font-size:12px;color:var(--muted)}.contact__meta strong{font-size:20px;font-weight:500}.contact__meta p{margin:10px 0 0;font-size:14px}.contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}.contact-max{min-width:0}.contact-max>summary{list-style:none}.contact-max>summary::-webkit-details-marker{display:none}.channel-link{width:100%;justify-content:center}.contact-max>summary{width:100%;justify-content:space-between}.contact-max__body{padding:16px;margin-top:10px;background:var(--paper);border:1px solid var(--line);border-radius:var(--control-radius);font-size:13px;overflow-wrap:break-word}.contact-max__body p{margin:0 0 12px}.contact-max__body .copy-button{width:100%;padding-inline:8px}.contact-max__body .copy-status:empty{display:none}
.footer{background:var(--deep);color:#fff}.footer-contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:56px 100px}.footer .brand__name{color:#e3c6de}.footer .brand__caption{color:#e5d9e7}.footer p{margin:20px 0;color:#e5d9e7;font-size:14px}.footer a{color:#fff}.footer h2{margin:0 0 20px;font-size:30px}.footer-contact__phone{display:inline-flex;min-height:44px;align-items:center;font-size:26px;font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums}.footer-contact__address{font-size:14px}.footer p.footer-contact__note{margin:10px 0;font-size:12px}.footer .channel-link,.footer .contact-max>summary{background:transparent;color:#fff;border-color:#b49dbd}.footer .channel-link:hover,.footer .contact-max>summary:hover{background:#6c5278}.footer .channel-link--phone{background:var(--paper);color:var(--deep)}.footer .contact-max__body{color:var(--ink)}.footer .contact-max__body p{color:var(--muted);margin:0 0 12px}
/* Floating actions form one quiet dock, not three unrelated visual styles. */
.floating-contacts{position:fixed;z-index:30;inset:auto calc(20px + env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) auto;display:flex;align-items:center;gap:6px;max-width:calc(100vw - 28px);padding:6px;border:1px solid var(--line);border-radius:999px;background:#fffdfdf5;box-shadow:0 6px 24px #302a3320}.floating-contact{display:grid;place-items:center;flex:none;width:48px;height:48px;padding:12px;border:0;border-radius:50%;background:var(--soft);color:var(--deep);text-decoration:none;cursor:pointer}.floating-contact:hover{background:#e5d8e8}.floating-contact svg{width:100%;height:100%}.floating-call{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 18px 8px 10px;border-radius:999px;background:var(--deep);color:#fff;text-decoration:none}.floating-call:hover{background:#64486f}.floating-call__icon{display:grid;place-items:center;width:28px;height:28px}.floating-call__icon svg{width:22px;height:22px}.floating-call__text{display:grid;gap:1px}.floating-call__text strong{font-size:13px;line-height:1.3}.floating-call__text small{font-size:11px;line-height:1.3}.floating-max>summary{list-style:none}.floating-max>summary::-webkit-details-marker{display:none}.floating-max__panel{position:absolute;inset:auto 0 calc(100% + 12px) auto;width:min(300px,calc(100vw - 28px));padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--panel-radius);box-shadow:0 8px 32px #302a3320;color:var(--ink)}.floating-max__panel>strong{font-size:17px}.floating-max__panel p{margin:12px 0;font-size:14px;color:var(--muted)}.floating-max__panel p span{font-weight:600;white-space:nowrap;color:var(--deep)}.floating-max__panel .copy-button{width:100%}
/* Optional form stays accessible; it remains disabled by the current phone_only mode. */
.lead-form{display:grid;gap:10px;padding:24px;margin:24px 0;background:var(--paper);border:1px solid var(--line);border-radius:var(--panel-radius)}.lead-form label{font-size:14px;font-weight:600}.lead-form input:not([type=checkbox]),.lead-form select{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:16px}.lead-form .optional{font-weight:400;color:var(--muted)}.consent{display:flex;align-items:flex-start;gap:12px;margin:12px 0}.consent input{flex:none;width:20px;height:20px;margin-top:3px;accent-color:var(--deep)}.consent span{font-size:13px;font-weight:400}.lead-form button:disabled{opacity:.6;cursor:wait}#form-status{margin:0;font-size:14px}
/* Service pages share the same surfaces, actions and type scale. */
.service-nav{display:flex;align-items:center;gap:24px;margin-inline-start:auto}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;padding-block:24px;font-size:13px;color:var(--muted)}.service-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);align-items:start;gap:64px;padding-block:24px 64px}.service-hero h1{max-width:17ch;font-size:clamp(38px,4.4vw,60px);line-height:1.16;margin:16px 0 24px}.service-hero__intro{max-width:58ch;font-size:18px;line-height:1.65;color:var(--muted)}.service-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.service-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.service-hero__actions .service-link{min-height:52px;padding:12px 18px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--paper);text-decoration:none;font-weight:600}.service-facts{padding:28px;background:var(--soft);border:1px solid var(--line);border-radius:var(--panel-radius)}.service-facts__price{font:400 44px/1.25 var(--serif);margin:20px 0}.service-facts__price span{display:block;margin-top:8px;font:400 13px/1.5 var(--sans);color:var(--muted)}.service-facts dl{display:grid;gap:16px;margin:24px 0}.service-facts dt{font-size:12px;color:var(--muted)}.service-facts dd{margin:4px 0 0;font-size:14px}.service-content{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);gap:64px;padding-block:24px var(--section-space);align-items:start}.service-article{display:grid;gap:32px}.service-section h2{font-size:30px;line-height:1.3;margin:0 0 16px}.service-section p{margin:0;color:var(--muted);max-width:65ch}.service-trainer{min-width:0}.service-trainer .trainer__portrait{max-height:440px}.service-trainer>p{margin:20px 0 12px;color:var(--muted);font-size:14px}.service-trainer ul{padding-inline-start:20px;font-size:14px}.service-faq__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px}.service-faq__list h3{font:600 17px/1.5 var(--sans);margin:0 0 12px;letter-spacing:0}.service-faq__list p{margin:0;color:var(--muted);font-size:15px}.service-related__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-related__card{text-decoration:none}.service-related__card>span{font:400 28px/1.3 var(--serif)}.service-related__card p{margin:16px 0 24px;color:var(--muted);font-size:15px}.service-related__card strong{font-size:14px}.service-related__card:hover{border-color:var(--violet)}.service-location{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:var(--section-space)}.service-location h2{margin:12px 0 24px}.service-location__note{font-size:13px;color:var(--muted)}.service-location__channels{min-width:0;align-self:center}.service-location__channels .guide__phone{margin:0 0 20px}
@media(max-width:1120px){.nav{display:none}.mobile-menu{display:block}.header-call{margin-inline-start:0}.header-inner{gap:20px}.hero{gap:32px}.hero h1{font-size:clamp(40px,4.5vw,54px)}.hero__actions>*{flex:1 1 auto}.hero__photo{min-height:500px}.hero__proof{gap:8px 14px}.chooser__inner,.guide__inner,.trainer__inner,.service-hero,.service-content{gap:36px}.schedule__row{grid-template-columns:.9fr 1fr 1.1fr;gap:14px}.schedule__actions{grid-column:1/-1;justify-self:start;min-width:260px}.directions{grid-template-columns:repeat(2,minmax(0,1fr))}.direction:last-child:nth-child(2n+1){grid-column:1/-1;max-width:calc((100% - 20px)/2);width:100%;justify-self:center}.upcoming__grid{gap:16px}.upcoming__card{padding:24px}.upcoming__card h3{font-size:26px}.quick-facts a{padding:18px 16px}.quick-facts strong{font-size:15px}.pricing__card{padding:24px}.pricing__card h3{font-size:25px}.contact{gap:28px}.contact__panel{padding:30px}.footer-contact{gap:40px}}
@media(max-width:900px) and (min-width:721px){.hero h1{font-size:40px}.hero__intro{font-size:16px}.hero__proof{display:grid}.hero__actions{display:grid;grid-template-columns:1fr}.hero__actions .button,.hero__pick{font-size:13px;padding-inline:12px;min-height:48px}.hero__phone{font-size:19px}.hero__phone span{font-size:12px}.hero__photo{min-height:480px}.pricing__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing__card--subscription{grid-column:1/-1}.service-nav a:not([href="#contact"]){display:none}.contact__number{font-size:23px}.contact-channels{grid-template-columns:1fr}.service-location .contact-channels{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .shell{width:min(100% - 36px,560px)}.draft-banner{padding:10px 18px;font-size:11px}.header-inner{min-height:72px;gap:16px}.header-call{display:none}.brand__mark{width:28px;height:38px}.brand__name{font-size:23px}.brand__caption{font-size:6px}.brand{gap:7px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:48ch;margin-top:20px}.section-heading h2{margin-top:10px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-block:28px 36px}.hero__copy{display:contents}.hero .eyebrow{order:0}.hero h1{order:1;max-width:18ch;font-size:clamp(32px,8.5vw,42px);margin:16px 0;line-height:1.2}.hero__intro{order:2;margin-bottom:20px;font-size:16px}.hero__actions{order:3;display:grid;grid-template-columns:1fr;gap:10px}.hero__actions .button,.hero__pick{min-height:50px;width:100%;padding:13px 16px;font-size:13px;justify-content:center}.hero__photo{order:4;min-height:0;aspect-ratio:1.12;margin:22px 0 20px}.hero__photo img{object-position:left 14%}.hero__photo figcaption{max-width:calc(100% - 196px);font-size:12px}.hero__proof{order:5;display:flex;gap:8px 16px;margin-bottom:8px}.hero__proof li{font-size:11px}.hero__phone{order:6;margin-top:8px;font-size:22px}.hero__cta-note{order:7}.quick-facts__inner{grid-template-columns:1fr}.quick-facts a{min-height:72px;padding:16px 0;border-inline:0;border-bottom:1px solid var(--line)}.quick-facts a:last-child{border:0}.quick-facts strong{font-size:16px}.quick-facts span{font-size:10px}.chooser__inner,.guide__inner,.trainer__inner{display:grid;grid-template-columns:1fr;gap:32px}.chooser__heading>p,.guide__heading>p{font-size:15px}.chooser__option{padding:16px;min-height:78px}.chooser__option strong{font-size:15px}.chooser__result{padding:22px}.chooser__result-facts{gap:16px}.chooser__actions{display:grid}.chooser__actions .button{width:100%}.directions,.upcoming__grid,.pricing__grid,.reviews__grid{grid-template-columns:1fr;gap:16px}.direction:last-child:nth-child(2n+1){grid-column:auto;max-width:none}.direction,.upcoming__card,.pricing__card,.reviews__card{padding:24px}.direction h3,.upcoming__card h3{font-size:28px}.direction__description{font-size:15px}.direction__for{font-size:13px}.direction__times{margin-top:4px}.direction__booking,.direction .text-action{min-height:48px}.service-guide{gap:8px 20px;margin-top:-20px}.service-guide p{width:100%;font-size:13px}.service-guide a{font-size:13px}.trainer__portrait{aspect-ratio:.9;max-height:470px}.trainer__facts{margin-block:24px 12px}.trainer__lead>p{font-size:15px}.trainer__name{font-size:13px}.trainer__facts li{font-size:14px}.schedule__row{grid-template-columns:1fr 1fr;gap:10px;padding:20px 0}.schedule__day{grid-column:1/-1}.schedule__name{text-align:end;font-size:14px}.schedule__time{font-size:14px}.schedule__actions{grid-column:1/-1;width:100%;min-width:0;justify-self:stretch;margin-top:6px}.schedule__action{min-height:48px}.pricing__card--subscription{grid-column:auto}.pricing__card h3{font-size:28px}.pricing__card>strong{font-size:42px;margin:20px 0 14px}.pricing__details{grid-template-columns:1fr;gap:20px;padding:24px}.pricing__details h3{font-size:27px}.pricing__note{font-size:14px}.reviews__card{min-height:0}.reviews__card blockquote p{font-size:22px}.guide__list h3{font-size:25px}.guide__list p{font-size:14px}.contact{display:block;padding-block:var(--section-space)}.contact__panel{padding:28px 22px}.contact__lead{font-size:15px}.contact__number{font-size:clamp(21px,5.7vw,27px)}.contact__meta{padding-top:28px;gap:20px}.contact__meta strong{font-size:19px}.contact-channels{grid-template-columns:repeat(2,minmax(0,1fr))}.channel-link,.contact-max>summary{padding-inline:12px;font-size:13px}.selected{padding:14px;font-size:14px}.footer-contact{grid-template-columns:1fr;gap:36px;padding-block:44px calc(112px + env(safe-area-inset-bottom))}.footer h2{font-size:28px}.footer-contact__phone{font-size:24px}.floating-contacts{right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));gap:6px;padding:6px}.floating-contact{width:46px;height:46px;padding:11px}.floating-call{width:46px;min-height:46px;justify-content:center;padding:0}.floating-call__text{display:none}.floating-call__icon{width:26px;height:26px}.service-nav{margin-inline-start:auto}.service-nav a:not([href="#contact"]){display:none}.service-hero,.service-content,.service-location{grid-template-columns:1fr;gap:32px}.breadcrumbs{padding-block:20px}.service-hero{padding-block:16px 48px}.service-hero h1{font-size:clamp(34px,8.8vw,44px);margin-block:14px 20px}.service-hero__intro{font-size:16px}.service-hero__actions{display:grid;grid-template-columns:1fr}.service-hero__actions>*{width:100%;justify-content:center}.service-facts{padding:24px}.service-facts dl{grid-template-columns:1fr 1fr;gap:20px}.service-content{padding-top:0}.service-section h2{font-size:28px}.service-section p{font-size:15px}.service-trainer{max-width:420px}.service-faq__list,.service-related__grid{grid-template-columns:1fr;gap:24px}.service-related__card{padding:24px}.service-related__card>span{font-size:26px}.service-location{padding-block:var(--section-space)}.service-location__channels .guide__phone{font-size:23px}
}
@media(max-width:360px){.shell{width:calc(100% - 28px)}.hero h1{font-size:32px}.hero__actions .button,.hero__pick{font-size:12px;padding-inline:12px}.brand__name{font-size:21px}.contact__number{font-size:20px}.contact__panel{padding-inline:18px}.channel-link,.contact-max>summary{padding-inline:10px;font-size:12px}.chooser__result-facts{grid-template-columns:1fr}.footer-contact__phone{font-size:22px}}
@media(prefers-reduced-motion:no-preference){:is(.button,.hero__pick,.header-call,.direction__booking,.text-action,.schedule__action,.pricing__card a,.channel-link,.copy-button,.floating-contact,.floating-call){transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out,transform .16s ease-out}:is(.button,.hero__pick,.header-call,.direction__booking,.text-action,.schedule__action,.channel-link,.floating-contact,.floating-call):active{transform:scale(.96)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(forced-colors:active){:focus-visible{outline-color:Highlight}.brand__name{color:CanvasText}}
@media print{.floating-contacts,.mobile-menu,.draft-banner{display:none!important}.section,.contact,.service-location{padding-block:24px}.footer{background:#fff;color:#000}}
