/* «Загораем» — светлая версия в фирменных цветах сети (по просьбе управляющего, 13.10.2026):
   бежевый фон, тёмно-коричневый текст, красно-оранжевый для действий и цен, оранжевая шапка с их логотипом.
   Тёмная версия лежит в source/variant-dark/.
   Заголовки — Unbounded (широкий модерн, Даня выбрал из четырёх вариантов 02.10.2026), тёплый кремовый,
   текст — Sofia Sans. Шрифты локально, лицензии OFL рядом. */

@font-face{font-family:"Unbounded";src:url(assets/fonts/unbounded-cyr.woff2?v=c3880f0c5a) format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";src:url(assets/fonts/unbounded-lat.woff2?v=d7f07f8a30) format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Sofia Sans";src:url(assets/fonts/sofia-cyr.woff2?v=654a10e163) format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Sofia Sans";src:url(assets/fonts/sofia-lat.woff2?v=e0ea7bf0ba) format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#FBF2E6;     /* фон страницы — фирменный бежевый */
  --field:#FFFFFF;     /* поля формы */
  --ink:#2A1A10;       /* текст — тёмно-коричневый */
  --ink-2:#7A5B46;     /* второстепенный текст — фирменный коричневый, приглушённый */
  --line:rgba(42,26,16,.14); /* линии */
  --line-2:rgba(42,26,16,.32);
  --on-ink:#FFFFFF;    /* текст на красно-оранжевой кнопке */
  --brand-orange:#FF6D45;
  --brand-red:#FF3903;
  --brand-yellow:#FCDA6C;
  --sun-soft:#FFF0C9;  /* выбранное — светлый тон их жёлтого */
  --on-photo-accent:#FFB24A; /* акцент поверх тёмных фото */
  --on-dark:#F4F2EF;   /* текст на фото и тёмном */
  --on-dark-2:rgba(244,242,239,.74);
  --ok:#2F7A3E;        /* «открыто сейчас» */
  --glow:#E2380A;      /* фирменный красно-оранжевый: кнопки, цены, цифры */
  --glow-hi:#FF3903;

  --f-display:"Unbounded",system-ui,sans-serif;
  --cream:#2A1A10;     /* цвет заголовков */
  --f-text:"Sofia Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  --top-h:68px;
  --wrap:1240px;
  --pad:clamp(16px,4vw,40px);
  --r:4px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--top-h) + 12px);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.5 var(--f-text);-webkit-font-smoothing:antialiased}
main,.foot{overflow-x:clip}
img{display:block;max-width:100%;height:auto}
picture{display:block}
[hidden]{display:none!important}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
h1,h2,h3{margin:0;overflow-wrap:break-word;hyphens:manual;font-weight:inherit}
h1,h2{font-family:var(--f-display);font-weight:400;color:var(--cream);letter-spacing:-.02em}
p{margin:0}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--pad));margin:0 auto;padding:0 var(--pad)}

/* ── кнопки ─────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:52px;padding:0 26px;border-radius:var(--r);border:1.5px solid var(--glow);background:var(--glow);color:var(--on-ink);font:600 16px/1.2 var(--f-text);text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s;text-align:center}
.btn:hover{background:var(--glow-hi);border-color:var(--glow-hi)}
.btn-ghost,.btn-line{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover,.btn-line:hover{background:transparent;border-color:var(--ink);color:var(--ink)}

/* ── шапка ──────────────────────────────────────────────── */
.top{position:sticky;top:0;z-index:50;height:var(--top-h);background:linear-gradient(180deg,var(--brand-orange) 0%,var(--brand-red) 100%);box-shadow:0 1px 0 rgba(120,30,0,.25)}
.top-in{height:100%;max-width:calc(var(--wrap) + 2*var(--pad));margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:baseline;gap:10px;text-decoration:none;margin-right:auto}
.brand-name{font:600 17px/1 var(--f-text);letter-spacing:.32em;text-transform:uppercase;color:var(--cream)}
.brand-logo{display:block;height:46px;width:auto}
.brand-sub{font-size:14px;color:var(--ink-2)}
.nav{display:flex;gap:24px}
.nav a{font-size:15px;font-weight:600;text-decoration:none;color:rgba(255,255,255,.9)}
.nav a:hover{color:#fff}
.top-cta{min-height:42px;padding:0 18px;font-size:15px;background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--ink)}
.top-cta:hover{background:#FFE68F;border-color:#FFE68F}
.burger{display:none;width:44px;height:44px;border:0;background:none;padding:0;position:relative;cursor:pointer}
.burger span{position:absolute;left:11px;right:11px;height:2px;background:#fff;transition:transform .2s,top .2s}
.burger span:first-child{top:17px}
.burger span:last-child{top:25px}
.burger[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}

/* ── первый экран: светлый, текст слева, фото справа ──── */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);min-height:calc(100svh - var(--top-h));background:var(--paper);color:var(--ink)}
.hero-in{grid-column:1;grid-row:1;align-self:center;width:100%;max-width:calc(var(--wrap)/2 + var(--pad));margin-left:auto;padding:56px clamp(24px,4vw,64px) 56px var(--pad)}
.hero-pic{grid-column:2;grid-row:1;position:relative;overflow:hidden;min-height:420px}
.hero-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
@media (prefers-reduced-motion:no-preference){
  .hero-pic img{animation:heroIn 1.4s cubic-bezier(.2,.7,.2,1) both}
}
@keyframes heroIn{from{transform:scale(1.04)}to{transform:none}}
.hero h1{font-size:clamp(40px,4.4vw,72px);line-height:1.06;letter-spacing:-.03em}
.hero-lead{margin-top:24px;font-size:clamp(17px,1.4vw,20px);color:var(--ink-2);max-width:24em}
.hero-cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
.hero-note{margin-top:22px;font-size:15px;color:var(--ink-2)}

/* ── секции ─────────────────────────────────────────────── */
.sec{padding:clamp(72px,9vw,120px) 0}
.sec+.sec{border-top:1px solid var(--line)}
#prices,#regime,#write{background:radial-gradient(900px 520px at 88% 0%,rgba(252,218,108,.22),transparent 70%),var(--paper)}
#studios{background:radial-gradient(900px 560px at 8% 100%,rgba(255,109,69,.08),transparent 70%),var(--paper)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:20px 56px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.sec-head .sec-lead{margin-top:0;padding-bottom:6px}
.sec-head-row{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:24px 40px;flex-wrap:wrap}
.sec-head-row>div{max-width:760px}
.sec h2,.band h2{font-size:clamp(34px,3.9vw,58px);line-height:1.06}
.sec-lead{margin-top:20px;font-size:18px;color:var(--ink-2);max-width:40em}

/* ── кабины: фото во всю плитку, текст поверх ─────────── */
.cabins{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:repeat(2,minmax(340px,auto));gap:14px}
.cabin{position:relative;isolation:isolate;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:340px;color:var(--on-dark);background:#1c1a18}
.cabin:first-child{grid-row:span 2}
.cabin img,.cabin video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.cabin::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(20,10,4,.94) 0%,rgba(20,10,4,.8) 40%,rgba(20,10,4,.25) 66%,rgba(20,10,4,0) 82%)}
.cabin:hover img,.cabin:hover video{transform:scale(1.03)}
.cabin-body{padding:24px 24px 22px;display:flex;flex-direction:column;gap:6px}
.cabin h3{font:400 clamp(21px,1.7vw,26px)/1.12 var(--f-display);letter-spacing:-.01em;color:var(--on-dark)}
.cabin p{color:var(--on-dark-2);font-size:15.5px;max-width:28em}
.cabin .cabin-meta{padding-top:6px;color:var(--on-photo-accent);font-weight:600;font-size:15px}
.cabin .cabin-meta a{color:var(--on-photo-accent)}

/* ── цены ───────────────────────────────────────────────── */
.prices-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.price-table{border-top:1px solid var(--line-2)}
.pt-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 130px;gap:16px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line)}
.pt-row b{font:400 20px/1.2 var(--f-display);color:var(--cream)}
.pt-row>span:nth-child(2){color:var(--ink-2);font-size:15px}
.pt-head{padding:12px 0;font-size:14px;color:var(--ink-2)}
.pt-num{color:var(--glow);font:400 24px/1 var(--f-display);white-space:nowrap;text-align:right}
.pt-head>span:last-child{text-align:right}
.pt-note{margin-top:20px;font-size:15px;color:var(--ink-2)}

.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.card-plan{border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 24px}
.card-plan-best{background:var(--sun-soft);border-color:#F08107}
.card-name{font-size:15px;font-weight:600}
.card-price{color:var(--glow);margin-top:8px;font:400 38px/1 var(--f-display);letter-spacing:-.02em}
.card-plan ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:6px;font-size:15.5px}
.cards-rules{grid-column:1/-1;font-size:14.5px;color:var(--ink-2)}
.cards-pic{grid-column:1/-1;margin:14px 0 0;border-radius:var(--r);overflow:hidden;aspect-ratio:16/8}
.cards-pic img{width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.gift{grid-column:1/-1;font-size:15.5px}
.promo{grid-column:1/-1;margin-top:10px;background:var(--brand-yellow);border-radius:var(--r);padding:22px 24px;display:grid;gap:6px}
.promo-when{font-size:15px;font-weight:600}
.promo-what{font:400 22px/1.25 var(--f-display);color:var(--cream)}
.promo-link{font-weight:600;font-size:15.5px;margin-top:4px}

/* ── студии (главный блок) ──────────────────────────────── */
.picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:32px}
.picker button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px 14px 13px;border-radius:var(--r);border:1px solid var(--line);background:transparent;cursor:pointer;transition:border-color .15s,background-color .15s}
.picker button:hover{border-color:var(--ink)}
.picker b{font:400 17px/1.15 var(--f-display);color:var(--cream)}
.picker span{font-size:13px;color:var(--ink-2);line-height:1.3}
.picker i{font-style:normal;font-size:12.5px;font-weight:600;margin-top:6px;color:var(--ink-2)}
.picker i.is-open{color:var(--ok)}
.picker button[aria-checked="true"]{background:var(--sun-soft);border-color:var(--glow);box-shadow:inset 0 0 0 1px var(--glow)}
.picker button[aria-checked="true"] b{color:var(--glow)}
.picker button[aria-checked="true"] i.is-open{color:var(--ok)}

.studio-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(24px,4vw,56px);align-items:start}
.map{position:sticky;top:calc(var(--top-h) + 20px);border-radius:var(--r);overflow:hidden;aspect-ratio:6/5;background:#F3E6D4}
.map>img{width:100%;height:100%;object-fit:cover}
.pin{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid var(--paper);padding:0;background:var(--ink);cursor:pointer;transition:transform .15s}
.pin span{position:absolute;left:18px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:13px;font-weight:600;color:var(--ink);text-shadow:0 0 3px var(--paper),0 0 6px var(--paper),0 0 10px var(--paper);pointer-events:none}
.pin-l span{left:auto;right:18px}
.pin:hover{transform:scale(1.25)}
.pin.is-on{background:var(--glow);width:22px;height:22px;margin:-11px 0 0 -11px;border-width:5px;box-shadow:0 0 0 1.5px var(--ink);z-index:2}
.pin.is-on span{font-size:15px;left:24px;color:var(--glow)}
.pin-l.is-on span{left:auto;right:24px}
.map-copy{position:absolute;right:10px;bottom:8px;font-size:11px;color:var(--ink-2)}
.map-copy a{color:var(--ink-2)}

.studio{border-top:1px solid var(--line-2);padding-top:22px}
.studio-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px}
.studio-metro{font:400 clamp(36px,3.4vw,50px)/1 var(--f-display);letter-spacing:-.02em;color:var(--cream)}
.studio-mall{margin-top:8px;color:var(--ink-2);font-size:16px}
.studio .studio-rating{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;flex:none;text-align:right}
.studio-rating b{font:400 28px/1 var(--f-display);color:var(--cream)}
.studio-rating b i{font-style:normal;font-size:.7em;vertical-align:.1em;margin-right:.1em}
.studio-rating span{font-size:13px;color:var(--ink-2);margin-top:4px;text-decoration:underline;text-decoration-color:var(--line)}
.studio-facts{margin:0;border-top:1px solid var(--line)}
.studio-facts>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.studio-facts dt{font-size:14px;color:var(--ink-2);padding-top:1px}
.studio-facts dd{margin:0;font-size:16px}
.studio-open{display:inline-block;font-size:14px;font-weight:600;color:var(--ok);margin-left:6px}
.studio-open.is-closed{color:var(--ink-2)}
.studio-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

.calc{margin-top:32px}
.calc-controls{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;justify-content:space-between}
.calc-minutes{display:flex;align-items:center;gap:12px}
.calc-cap,.calc-unit{font-size:15px;font-weight:600}
.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--r);height:46px}
.stepper button{width:44px;height:100%;border:0;background:none;font-size:22px;line-height:1;cursor:pointer}
.stepper output{min-width:40px;text-align:center;font:400 22px/1 var(--f-display)}
.seg{display:flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.seg button{border:0;background:none;padding:11px 14px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.seg button+button{border-left:1px solid var(--line)}
.seg button[aria-checked="true"]{background:var(--sun-soft);color:var(--glow);box-shadow:inset 0 -2px 0 var(--glow)}
.calc-table{width:100%;border-collapse:collapse;margin-top:16px}
.calc-table th{font-size:13.5px;font-weight:500;color:var(--ink-2);text-align:left;padding:10px 0;border-bottom:1px solid var(--line-2)}
.calc-table td{padding:12px 0;border-bottom:1px solid var(--line);vertical-align:baseline}
.calc-table th:nth-child(n+3),.calc-table td:nth-child(n+3){text-align:right}
.calc-table td:first-child{font:400 17px/1.2 var(--f-display);color:var(--cream);padding-right:10px}
.calc-table td:nth-child(2){font-size:14px;color:var(--ink-2);padding-right:10px}
.calc-table td:nth-child(3){font-size:15px;color:var(--ink-2);white-space:nowrap;padding-right:14px}
.calc-table td:nth-child(4){color:var(--glow);font:400 22px/1 var(--f-display);white-space:nowrap}
.calc-table s{color:var(--ink-2);font:400 14px var(--f-text);margin-right:8px}
.calc-note{margin-top:16px;font-size:14.5px;color:var(--ink-2)}

/* ── режим загара: три колонки одной высоты, карточка без пустоты ── */
.regime{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.rg-step{margin:0;padding:0;border:0;min-width:0}
.rg-step legend{font:400 20px/1.15 var(--f-display);color:var(--cream);margin-bottom:14px;padding:0}
.rg-options{display:grid;gap:6px}
.rg-options label{display:block;cursor:pointer}
.rg-options input{position:absolute;opacity:0;pointer-events:none}
.rg-options span{display:block;padding:11px 14px;border-radius:var(--r);border:1px solid var(--line);background:#fff;font-weight:600;font-size:15.5px;line-height:1.3;transition:border-color .15s,background-color .15s}
.rg-options small{display:block;font-weight:400;font-size:13.5px;color:var(--ink-2);margin-top:3px;line-height:1.4}
.rg-options label:hover span{border-color:var(--ink)}
.rg-options input:checked+span{background:var(--sun-soft);border-color:var(--glow);color:var(--ink);box-shadow:inset 0 0 0 1px var(--glow)}
.rg-options input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.rg-result{position:sticky;top:calc(var(--top-h) + 20px);margin-top:34px;border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand-red);display:flex;flex-direction:column}
.rg-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.rg-cap{font-size:14px;color:var(--ink-2)}
.rg-main{color:var(--glow);font:400 clamp(32px,2.8vw,42px)/1.05 var(--f-display);letter-spacing:-.02em}
.rg-result.is-warn .rg-main{font-size:clamp(22px,2vw,28px);line-height:1.15}
.rg-freq{font-size:16px;font-weight:600;color:var(--ink)}
.rg-text{color:var(--ink-2);font-size:15px}
.rg-kit{font-size:15px;color:var(--ink);padding-top:10px;margin-top:4px;border-top:1px solid var(--line);width:100%}
.rg-kit span:first-child{color:var(--ink-2)}
.rg-cos{font-size:14px;color:var(--ink-2);padding-top:10px;border-top:1px solid var(--line);width:100%}
.rg-body .btn{margin-top:10px}

/* ── о сети: светлый, одно фото рядом с текстом ──────── */
.band{padding:clamp(72px,9vw,120px) 0;border-top:1px solid var(--line)}
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,5vw,80px);align-items:center}
.about-pic{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.about-pic img{width:100%;height:100%;object-fit:cover}
.about-facts{margin:32px 0 0;border-top:1px solid var(--line-2)}
.about-facts>div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.about-facts dt{font:400 17px/1.3 var(--f-display);color:var(--cream)}
.about-facts dd{margin:0;color:var(--ink-2);font-size:16px}

/* ── отзывы ─────────────────────────────────────────────── */
.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 40px}
.review{margin:0;border-top:1px solid var(--line-2);padding-top:20px;display:flex;flex-direction:column;gap:18px}
.review blockquote{margin:0;font:400 clamp(20px,1.6vw,23px)/1.45 var(--f-text);color:var(--cream)}
.review blockquote::before{content:"«";color:var(--glow)}
.review blockquote::after{content:"»";color:var(--glow)}
.review figcaption{margin-top:auto;display:flex;flex-direction:column;gap:2px}
.review figcaption b{font-size:16px}
.review figcaption span,.review figcaption a{font-size:14px;color:var(--ink-2)}

/* ── как всё устроено ───────────────────────────────────── */
.how{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,5vw,80px);align-items:center}
.steps{list-style:none;margin:40px 0 0;padding:0}
.steps li{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.step-n{color:var(--glow);font:300 64px/.9 var(--f-display)}
.steps h3{font:400 22px/1.15 var(--f-display);color:var(--cream)}
.steps p{margin-top:8px;color:var(--ink-2);font-size:16px}
.how-pics{position:relative;padding-bottom:18%}
.how-pic-a{border-radius:var(--r);width:76%;aspect-ratio:4/5;object-fit:cover}
.how-pic-b{position:absolute;right:0;bottom:0;width:50%;aspect-ratio:1;object-fit:cover;border-radius:var(--r);box-shadow:0 0 0 8px var(--paper)}

/* ── форма ──────────────────────────────────────────────── */
.write{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:start}
.write-extra{margin-top:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.write-extra>div{border-top:1px solid var(--line-2);padding-top:14px}
.write-extra h3{font:400 20px/1.2 var(--f-display);color:var(--cream)}
.write-extra p{margin-top:8px;font-size:15px;color:var(--ink-2)}
.form{display:grid;gap:18px;border-top:1px solid var(--line-2);padding-top:22px}
.f-topic{margin:0;padding:0;border:0;display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.f-topic legend{font-size:14px;color:var(--ink-2);margin-bottom:10px;padding:0}
.f-topic label{cursor:pointer}
.f-topic input{position:absolute;opacity:0;pointer-events:none}
.f-topic span{display:block;padding:9px 14px;border-radius:var(--r);border:1px solid var(--line);font-size:15px;font-weight:600;transition:all .15s}
.f-topic label:hover span{border-color:var(--ink)}
.f-topic input:checked+span{background:var(--sun-soft);border-color:var(--glow);color:var(--glow)}
.f-topic input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.f-field{display:grid;gap:6px}
.f-field>span{font-size:14px;color:var(--ink-2)}
.f-field input,.f-field select,.f-field textarea{width:100%;font:400 17px/1.4 var(--f-text);color:var(--ink);background:var(--field);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;min-height:52px}
.f-field textarea{resize:vertical;min-height:110px}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{outline:0;border-color:var(--ink)}
.f-field.has-err textarea{border-color:#C0392B}
.f-err{font-style:normal;font-size:14px;color:#C0392B}
.f-send{display:flex;flex-wrap:wrap;gap:10px}
.f-send .btn{flex:1 1 200px}
.f-legal{font-size:13.5px;color:var(--ink-2)}
.f-done{font-size:15px;font-weight:600;color:var(--ok)}

/* ── контакты: коротко — метро, часы, телефон ─────────── */
.c-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px;border-top:1px solid var(--line)}
.c-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:20px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.c-list b{font:400 18px/1.2 var(--f-display);color:var(--cream)}
.c-list span{font-size:14px;color:var(--ink-2);text-align:right}
.c-list a{font-weight:600;font-size:16px;white-space:nowrap;color:var(--glow);text-decoration:none}
.c-list a:hover{text-decoration:underline}
.c-net{margin-top:48px;display:flex;flex-wrap:wrap;gap:24px 64px}
.c-net span{display:block;font-size:14px;color:var(--ink-2);margin-bottom:6px}
.c-net a{font-size:17px;font-weight:600}

.foot{background:#2A1A10;color:rgba(255,240,220,.75);padding:32px 0 calc(32px + env(safe-area-inset-bottom))}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;font-size:14px}
.foot .brand-logo{height:38px;margin-right:auto}
.foot a{color:rgba(255,240,220,.75)}

/* ── адаптив ────────────────────────────────────────────── */
@media (max-width:1180px){
  .nav{gap:18px}
  .nav a{font-size:14px}
  .regime{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rg-result{grid-column:1/-1;position:static;margin-top:0}
}
@media (max-width:1024px){
  :root{--top-h:60px}
  .burger{display:block}
  .top-cta{display:none}
  .brand-sub{display:none}
  .nav{position:fixed;top:var(--top-h);left:0;right:0;flex-direction:column;gap:0;background:var(--paper);padding:8px var(--pad) 24px;border-bottom:1px solid var(--line);display:none}
  .nav.is-open{display:flex}
  .nav a{font-size:19px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--ink)}
  .cabins{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}
  .cabin:first-child{grid-row:auto;grid-column:1/-1;min-height:460px}
  .sec-head{grid-template-columns:minmax(0,1fr)}
  .prices-grid{grid-template-columns:minmax(0,1fr)}
  .picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .studio-layout{grid-template-columns:minmax(0,1fr)}
  .studio{order:-1}
  .map{position:relative;top:auto}
  .about,.how,.write{grid-template-columns:minmax(0,1fr)}
  .how-pics{max-width:560px}
  .reviews{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  body{font-size:16px}
  .hero-pic img{object-position:50% 0}
  .hero::before{background:linear-gradient(0deg,rgba(8,7,6,.94) 0%,rgba(8,7,6,.86) 40%,rgba(8,7,6,.35) 60%,rgba(8,7,6,0) 76%)}
  .hero-in{padding-bottom:28px}
  .hero h1{font-size:clamp(34px,10.4vw,48px)}
  .br-d{display:none}
  .hero{grid-template-columns:minmax(0,1fr);min-height:0}
  .hero-pic{grid-column:1;grid-row:1;min-height:50svh}
  .hero-pic img{object-position:50% 18%}
  .hero-in{grid-column:1;grid-row:2;margin:0;max-width:none;padding:28px var(--pad) 40px}
  .hero-lead{margin-top:16px;font-size:16px}
  .hero-cta{margin-top:22px}
  .hero-cta .btn{flex:1 1 100%}
  .hero-note{margin-top:16px;font-size:14px}
  .sec h2,.band h2{font-size:clamp(28px,8.2vw,38px)}
  .sec-lead{font-size:16.5px}
  .picker b{font-size:clamp(11px,3.3vw,15px);letter-spacing:-.02em;overflow-wrap:anywhere}
  .picker button{padding:11px 11px 12px}
  .regime{grid-template-columns:minmax(0,1fr)}
  .reviews{grid-template-columns:minmax(0,1fr);gap:36px}
  .c-list{grid-template-columns:minmax(0,1fr)}
  .write-extra{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .cabins{grid-template-columns:minmax(0,1fr);gap:10px}
  .cabin,.cabin:first-child{min-height:380px}
  .pt-row{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}
  .pt-row>span:nth-child(2){grid-column:1;grid-row:2}
  .pt-row>span:nth-child(3){grid-row:1/3;grid-column:2;align-self:center}
  .pt-head>span:nth-child(2){display:none}
  .cards{grid-template-columns:minmax(0,1fr)}
  .studio-head{flex-direction:column;gap:10px}
  .studio .studio-rating{align-items:flex-start;text-align:left}
  .studio-facts>div{grid-template-columns:minmax(0,1fr);gap:2px}
  .studio-actions .btn{flex:1 1 100%}
  .calc-controls{flex-direction:column;align-items:stretch}
  .seg button{flex:1;padding:10px 6px;font-size:13px;white-space:normal;line-height:1.15}
  .calc-table th:nth-child(2),.calc-table td:nth-child(2){display:none}
  .calc-table td:first-child{font-size:15px}
  .calc-table s{display:block;margin:0 0 4px}
  .calc-table td:nth-child(3){padding-right:8px}
  .map .pin span{display:none}
  .map .pin.is-on span{display:block}
  .about-facts>div{grid-template-columns:minmax(0,1fr);gap:2px}
  .steps li{grid-template-columns:60px minmax(0,1fr);gap:12px}
  .step-n{font-size:48px}
  .c-list li{grid-template-columns:minmax(0,1fr) auto;gap:2px 14px}
  .c-list b{font-size:clamp(14px,4.2vw,17px);overflow-wrap:anywhere}
  .c-list a{font-size:clamp(14px,4vw,16px)}
  .c-list span{grid-column:1;grid-row:2;text-align:left}
  .c-list a{grid-row:1/3;align-self:center}
}
