/* Omni: семь визуальных миров на одном каркасе.
   Мир задаётся классом у <body>: .w-main, .w-fitnes, .w-pilates, .w-kofeyni, .w-restorany, .w-salony, .w-barbershopy.
   Структура страниц одинаковая, меняются токены, композиция первого экрана, фирменный блок и подача возможностей. */

/* ================= токены миров ================= */
.w-main{
  --bg:#F3F5FA; --bg2:#FFFFFF; --ink:#0E1424; --muted:#566074; --line:#E1E6EF; --card:#FFFFFF;
  --accent:#2B5CF5; --accent2:#1F47D1; --accent-ink:#FFFFFF; --em:#2B5CF5;
  --dark:#0B1020; --dark-ink:#F3F5FA; --dark-muted:#A9B3C7; --dark-accent:#8FB0FF;
  --r:24px; --rb:14px; --brand:#2B5CF5; --brand-ring:#fff;
  --display:'Onest',system-ui,sans-serif; --dw:700; --dcase:none; --dtrack:-.035em; --dlh:1.06;
  --body:'Onest',system-ui,sans-serif; --h1:clamp(34px,5vw,64px); --h2:clamp(28px,3.2vw,44px);
  --btn-case:none; --btn-track:0; --app:#2B5CF5; --app-ink:#fff; --shadow:rgba(14,20,36,.18);
  color-scheme:light;
}
.w-fitnes{
  --bg:#0E100F; --bg2:#151816; --ink:#F2F4EE; --muted:#A3AC9F; --line:rgba(242,244,238,.13); --card:#181C19;
  --accent:#C6FF3D; --accent2:#D8FF74; --accent-ink:#0E100F; --em:#C6FF3D;
  --dark:#C6FF3D; --dark-ink:#0E100F; --dark-muted:#3B4A12; --dark-accent:#0E100F;
  --r:6px; --rb:4px; --brand:#C6FF3D; --brand-ring:#0E100F;
  --display:'Unbounded',sans-serif; --dw:700; --dcase:none; --dtrack:-.025em; --dlh:1.08;
  --body:'Manrope',sans-serif; --h1:clamp(30px,4.3vw,58px); --h2:clamp(24px,2.8vw,38px);
  --btn-case:uppercase; --btn-track:.06em; --app:#0E100F; --app-ink:#C6FF3D; --shadow:rgba(0,0,0,.5);
  color-scheme:dark;
}
.w-pilates{
  --bg:#F1EBE1; --bg2:#E7DDCD; --ink:#2E3328; --muted:#5B6153; --line:rgba(46,51,40,.14); --card:#F8F4ED;
  --accent:#55684B; --accent2:#46583D; --accent-ink:#F8F4ED; --em:#55684B;
  --dark:#2E3328; --dark-ink:#F1EBE1; --dark-muted:#BFC4B3; --dark-accent:#CFDCBE;
  --r:30px; --rb:999px; --brand:#55684B; --brand-ring:#F1EBE1;
  --display:'Jost',sans-serif; --dw:300; --dcase:none; --dtrack:-.02em; --dlh:1.08;
  --body:'Jost',sans-serif; --h1:clamp(38px,5.2vw,74px); --h2:clamp(30px,3.6vw,50px);
  --btn-case:none; --btn-track:.02em; --app:#55684B; --app-ink:#F8F4ED; --shadow:rgba(46,51,40,.18);
  color-scheme:light;
}
.w-kofeyni{
  --bg:#F4EBDD; --bg2:#E9D6B9; --ink:#2A1A12; --muted:#6A5445; --line:rgba(42,26,18,.16); --card:#FBF6EE;
  --accent:#C23B12; --accent2:#A8320E; --accent-ink:#FFF7EE; --em:#C23B12;
  --dark:#2A1A12; --dark-ink:#F4EBDD; --dark-muted:#CDB9A3; --dark-accent:#F28C5B;
  --r:22px; --rb:999px; --brand:#C23B12; --brand-ring:#FFF7EE;
  --display:'Dela Gothic One',sans-serif; --dw:400; --dcase:none; --dtrack:-.01em; --dlh:1.08;
  --body:'Onest',sans-serif; --h1:clamp(32px,4.4vw,62px); --h2:clamp(26px,3.1vw,44px);
  --btn-case:none; --btn-track:0; --app:#2A1A12; --app-ink:#F4EBDD; --shadow:rgba(42,26,18,.22);
  color-scheme:light;
}
.w-restorany{
  --bg:#1E0D10; --bg2:#29131A; --ink:#F4E9DC; --muted:#CDB3A3; --line:rgba(244,233,220,.15); --card:#2A1418;
  --accent:#E3A43B; --accent2:#F0B85C; --accent-ink:#1E0D10; --em:#E8B04F;
  --dark:#F4E9DC; --dark-ink:#1E0D10; --dark-muted:#6B4F45; --dark-accent:#7A1F2B;
  --r:3px; --rb:2px; --brand:#E3A43B; --brand-ring:#1E0D10;
  --display:'Prata',serif; --dw:400; --dcase:none; --dtrack:0; --dlh:1.12;
  --body:'Manrope',sans-serif; --h1:clamp(34px,4.6vw,64px); --h2:clamp(28px,3.2vw,46px);
  --btn-case:uppercase; --btn-track:.12em; --app:#6B1E28; --app-ink:#F4E9DC; --shadow:rgba(0,0,0,.5);
  color-scheme:dark;
}
.w-salony{
  --bg:#F8EEEC; --bg2:#F0DCDB; --ink:#34161F; --muted:#6F4E59; --line:rgba(52,22,31,.14); --card:#FFF8F7;
  --accent:#7E2F52; --accent2:#692544; --accent-ink:#FFF4F7; --em:#7E2F52;
  --dark:#7E2F52; --dark-ink:#FFF4F7; --dark-muted:#EBC6D4; --dark-accent:#FFD6E3;
  --r:26px; --rb:999px; --brand:#7E2F52; --brand-ring:#FFF4F7;
  --display:'Yeseva One',serif; --dw:400; --dcase:none; --dtrack:0; --dlh:1.1;
  --body:'Manrope',sans-serif; --h1:clamp(34px,4.6vw,64px); --h2:clamp(28px,3.2vw,46px);
  --btn-case:none; --btn-track:.01em; --app:#7E2F52; --app-ink:#FFF4F7; --shadow:rgba(126,47,82,.2);
  color-scheme:light;
}
.w-barbershopy{
  --bg:#121110; --bg2:#1A1816; --ink:#EDE6DA; --muted:#A99F91; --line:rgba(237,230,218,.14); --card:#1D1A17;
  --accent:#C9A15A; --accent2:#D9B472; --accent-ink:#121110; --em:#D2AC66;
  --dark:#C9A15A; --dark-ink:#121110; --dark-muted:#5A4424; --dark-accent:#121110;
  --r:2px; --rb:2px; --brand:#C9A15A; --brand-ring:#121110;
  --display:'Oswald',sans-serif; --dw:600; --dcase:uppercase; --dtrack:.005em; --dlh:1.02;
  --body:'Manrope',sans-serif; --h1:clamp(40px,5.8vw,86px); --h2:clamp(30px,3.6vw,52px);
  --btn-case:uppercase; --btn-track:.1em; --app:#121110; --app-ink:#C9A15A; --shadow:rgba(0,0,0,.55);
  color-scheme:dark;
}

/* ================= основа ================= */
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;background:var(--bg);scrollbar-color:var(--muted) var(--bg);}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
.w-pilates body,.w-pilates{font-size:18px;}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dtrack);line-height:var(--dlh);text-wrap:balance;}
h3{font-family:var(--body);font-weight:700;text-transform:none;letter-spacing:-.01em;line-height:1.25;}
p{margin:0;} ul,ol{margin:0;padding:0;list-style:none;} a{color:inherit;text-decoration:none;} button{font-family:inherit;} figure{margin:0;}
img{display:block;max-width:100%;} svg{display:block;}
::selection{background:var(--accent);color:var(--accent-ink);}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}
input{caret-color:var(--accent);}
.wrap{max-width:1240px;margin:0 auto;padding-inline:clamp(16px,4vw,40px);}
section{position:relative;padding:clamp(72px,9vw,128px) 0;}
.h1{font-size:var(--h1);}
.h2{font-size:var(--h2);}
.h1 em,.h2 em{font-style:normal;color:var(--em);}
.sec-head{max-width:760px;margin-bottom:clamp(36px,4.5vw,60px);}
.sec-head.center{margin-inline:auto;text-align:center;}
.sec-head p{margin-top:16px;font-size:18px;color:var(--muted);max-width:52ch;}
.sec-head.center p{margin-inline:auto;}
.lede{font-size:clamp(18px,1.6vw,21px);color:var(--muted);max-width:40ch;margin-top:22px;}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;white-space:nowrap;
  font:700 16px/1 var(--body);text-transform:var(--btn-case);letter-spacing:var(--btn-track);
  padding:18px 28px;border-radius:var(--rb);transition:transform .35s cubic-bezier(.16,1,.3,1),background-color .2s ease,color .2s ease,box-shadow .3s ease;}
.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 12px 24px -14px rgba(0,0,0,.35);}
.btn-primary:hover{background:var(--accent2);transform:translateY(-2px);box-shadow:0 16px 30px -16px rgba(0,0,0,.45);}
.btn-primary:active{transform:translateY(0);}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink);}
.btn-sm{padding:12px 18px;font-size:14px;}
.btn-block{width:100%;}
.btn-arrow{width:18px;height:18px;flex:0 0 auto;transition:transform .3s cubic-bezier(.16,1,.3,1);}
.btn:hover .btn-arrow{transform:translateX(3px);}
.w-fitnes .btn,.w-restorany .btn,.w-barbershopy .btn{font-size:14px;}

/* шапка */
.hdr{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .3s ease;}
.hdr.stuck{border-bottom-color:var(--line);}
.hdr-in{max-width:1240px;margin:0 auto;padding:14px clamp(16px,4vw,40px);display:flex;align-items:center;gap:28px;}
.brand{display:inline-flex;align-items:center;gap:11px;font:800 24px/1 'Onest',var(--body);letter-spacing:-.04em;color:var(--ink);}
.brand-mark{width:38px;height:38px;color:var(--brand);flex:0 0 auto;}
.hdr-nav{display:flex;gap:26px;margin-left:auto;font-size:15px;font-weight:500;color:var(--muted);}
.hdr-nav a{position:relative;padding:4px 0;transition:color .2s ease;}
.hdr-nav a:hover{color:var(--ink);}
.hdr-nav + .btn{margin-left:8px;}
/* панель ниш: отдельная полоса во всю ширину с явными кнопками */
.nichebar{position:relative;background:var(--bg2);border-block:1px solid var(--line);}
.nichebar-in{max-width:1400px;margin:0 auto;padding:12px clamp(16px,4vw,40px);display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;}
.nichebar-in::-webkit-scrollbar{display:none;}
.nb-label{flex:0 0 auto;margin-right:6px;font-size:14px;font-weight:700;color:var(--ink);}
.nb-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;border-radius:max(var(--rb),8px);
  background:var(--card);color:var(--ink);font-size:14px;font-weight:600;line-height:1;white-space:nowrap;
  box-shadow:inset 0 0 0 1px var(--line),0 2px 6px -3px rgba(0,0,0,.25);
  transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,background-color .2s ease,color .2s ease;}
.nb-ic{display:grid;place-items:center;width:28px;height:28px;border-radius:max(calc(var(--rb) - 4px),6px);background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--em);}
.nb-ic svg{width:17px;height:17px;}
.nb-arrow{width:14px;height:14px;opacity:.45;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s ease;}
.nb-btn:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1.5px var(--accent),0 8px 18px -10px rgba(0,0,0,.45);}
.nb-btn:hover .nb-arrow{opacity:1;transform:translateX(3px);}
.nb-btn[aria-current]{background:var(--accent);color:var(--accent-ink);box-shadow:none;}
.nb-btn[aria-current] .nb-ic{background:color-mix(in srgb,var(--accent-ink) 18%,transparent);color:inherit;}
.nb-btn[aria-current] .nb-arrow{display:none;}
/* на телефоне край полосы затухает — видно, что кнопки листаются */
@media (max-width:1320px){
  .nichebar::after{content:"";position:absolute;top:0;right:0;bottom:0;width:48px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--bg2));}
}

/* ================= первый экран: общее ================= */
.hero{padding:clamp(40px,6vw,80px) 0 clamp(64px,8vw,110px);overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(32px,4vw,64px);align-items:center;}
.hero-copy{position:relative;z-index:2;}
.cta-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:34px;}
.maxmark{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;line-height:1.2;color:var(--muted);}
.maxmark img{width:34px;height:34px;border-radius:10px;}
.hero-media{position:relative;min-height:600px;}
.hero-frame{position:absolute;overflow:hidden;}
.hero-frame img,.hero-photo{width:100%;height:100%;object-fit:cover;}
.hero-media .phone{position:absolute;z-index:3;}
.toast{position:absolute;z-index:4;display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:16px;background:#fff;color:#141414;
  box-shadow:0 22px 40px -22px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.05);font-size:13.5px;line-height:1.3;}
.toast img{width:30px;height:30px;border-radius:9px;}
.toast b{display:block;font-weight:700;}
.toast small{display:block;color:#5B6270;font-size:12px;}

/* ================= телефон ================= */
.phone{width:278px;height:572px;border-radius:48px;padding:9px;
  background:linear-gradient(145deg,#E4E7EC 0%,#9FA7B4 16%,#F5F6F8 32%,#848D9C 54%,#ECEEF2 70%,#8B94A3 88%,#D5DAE1 100%);
  box-shadow:0 2px 6px rgba(0,0,0,.25),0 50px 90px -40px var(--shadow);}
.screen{position:relative;height:100%;border-radius:40px;overflow:hidden;background:#F6F7F9;color:#15171B;display:flex;flex-direction:column;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;box-shadow:0 0 0 2px #05060A;}
.island{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:84px;height:24px;background:#05060A;border-radius:14px;z-index:9;}
.status{display:flex;justify-content:space-between;align-items:center;padding:13px 22px 0;font-size:12px;font-weight:600;}
.status .icons{display:flex;gap:4px;align-items:center;}
.status svg{height:10px;width:auto;}
.maxbar{display:flex;align-items:center;gap:9px;padding:12px 13px 10px;background:#fff;border-bottom:1px solid #ECEEF2;}
.maxbar img{width:26px;height:26px;border-radius:8px;}
.maxbar b{display:block;font-size:12.5px;line-height:1.15;}
.maxbar span span{display:block;font-size:10px;color:#6B7280;}
.app{flex:1;min-height:0;display:flex;flex-direction:column;gap:9px;padding:11px 11px 0;}
.app-banner{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:var(--app);color:var(--app-ink);}
.app-banner small{display:block;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;opacity:.8;font-weight:700;}
.app-banner b{display:block;font-size:12.5px;line-height:1.25;}
.app-banner .pill{font-size:10.5px;font-weight:700;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--app-ink) 18%,transparent);white-space:nowrap;}
.app-tabs{display:flex;gap:5px;overflow:hidden;}
.app-tabs span{font-size:10.5px;font-weight:600;padding:6px 10px;border-radius:999px;background:#fff;color:#4B5563;white-space:nowrap;box-shadow:inset 0 0 0 1px #E5E7EB;}
.app-tabs span.on{background:#15171B;color:#fff;box-shadow:none;}
.prods{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.prod{background:#fff;border-radius:12px;padding:5px 5px 7px;box-shadow:0 1px 0 #E6E8EC;}
.prod .pic{height:70px;border-radius:9px;display:grid;place-items:center;color:rgba(255,255,255,.95);}
.prod .pic svg{width:36px;height:36px;}
.prod b{display:block;font-size:11px;margin:5px 2px 0;line-height:1.2;}
.prod .row{display:flex;justify-content:space-between;align-items:center;margin:4px 2px 0;font-size:11px;font-weight:700;}
.prod .add{width:21px;height:21px;border-radius:7px;background:var(--app);color:var(--app-ink);display:grid;place-items:center;}
.prod .add svg{width:11px;height:11px;}
.days{display:flex;gap:5px;}
.day{flex:1;text-align:center;background:#fff;border-radius:11px;padding:6px 0;font-size:9.5px;color:#6B7280;box-shadow:inset 0 0 0 1px #E5E7EB;}
.day b{display:block;font-size:13px;color:#15171B;}
.day.on{background:var(--app);color:var(--app-ink);box-shadow:none;}
.day.on b{color:inherit;}
.slots{display:grid;gap:7px;}
.slot{display:flex;align-items:center;gap:8px;background:#fff;border-radius:12px;padding:8px 9px;box-shadow:0 1px 0 #E6E8EC;}
.slot .ava{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#fff;flex:0 0 auto;}
.slot .ava svg{width:17px;height:17px;}
.slot-t b{display:block;font-size:11.5px;line-height:1.2;}
.slot-t span{display:block;font-size:10px;color:#6B7280;}
.slot-r{margin-left:auto;text-align:right;font-size:12px;font-weight:700;}
.slot-r i{display:block;font-style:normal;font-size:9.5px;font-weight:600;color:#4B5563;}
.slot.pick{box-shadow:inset 0 0 0 1.6px #15171B;}
.app-cta{margin-top:auto;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border-radius:14px;background:var(--app);color:var(--app-ink);font-size:12px;font-weight:700;}
.app-cta svg{width:15px;height:15px;}
.home-ind{width:104px;height:4px;border-radius:3px;background:#05060A;margin:4px auto 8px;opacity:.8;}

/* ================= фитнес: клубная кампания ================= */
.hero--fitnes{padding-bottom:0;min-height:calc(100svh - 110px);display:flex;flex-direction:column;justify-content:center;}
.hero--fitnes .hero-bg{position:absolute;inset:0;}
.hero--fitnes .hero-bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1) brightness(.78);}
.hero--fitnes .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0E100F 22%,rgba(14,16,15,.6) 50%,rgba(14,16,15,.08) 78%);}
.hero--fitnes .hero-grid{position:relative;padding-bottom:clamp(40px,5vw,70px);}
.hero--fitnes .h1 em{display:inline;background:var(--accent);color:var(--accent-ink);padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.hero--fitnes .lede{color:#C9D0C5;}
.hero--fitnes .hero-media{min-height:590px;}
.hero--fitnes .hero-frame{display:none;}
.hero--fitnes .phone{right:8%;top:6px;}
.hero--fitnes .toast{left:0;top:150px;}
.ticker{position:relative;background:var(--accent);color:var(--accent-ink);overflow:hidden;border-top:1px solid #0E100F;}
.ticker-track{display:flex;width:max-content;animation:ticker 38s linear infinite;}
.ticker span{font:700 14px/1 'Unbounded',sans-serif;text-transform:uppercase;letter-spacing:.02em;padding:16px 28px;white-space:nowrap;}
.ticker span::after{content:"";display:inline-block;width:7px;height:7px;background:#0E100F;margin-left:28px;vertical-align:middle;}
@keyframes ticker{to{transform:translateX(-50%);}}

/* ================= пилатес: арки и тишина ================= */
.hero--pilates .hero-frame{right:0;top:0;width:min(440px,78%);height:600px;border-radius:999px 999px var(--r) var(--r);}
.hero--pilates .phone{left:2%;bottom:-24px;}
.hero--pilates .toast{right:-2%;top:68%;}
.hero--pilates .h1{font-weight:300;}
.hero--pilates .h1 em{color:var(--accent);font-weight:400;}

/* ================= кофейня: постер и печать ================= */
.hero--kofeyni .hero-copy{background:var(--accent);color:var(--accent-ink);padding:clamp(28px,4vw,56px);border-radius:32px;}
.hero--kofeyni .h1 em{color:#2A1A12;}
.hero--kofeyni .lede{color:#FFE3D2;}
.hero--kofeyni .btn-primary{background:#2A1A12;color:#FFF7EE;}
.hero--kofeyni .btn-primary:hover{background:#140C08;}
.hero--kofeyni .maxmark{color:#FFE3D2;}
.hero--kofeyni .hero-frame{right:0;top:0;width:72%;height:600px;border-radius:32px;}
.hero--kofeyni .phone{left:0;bottom:-30px;}
.hero--kofeyni .toast{right:-10px;bottom:70px;}
.stamp{position:absolute;z-index:5;width:150px;height:150px;left:14%;top:-26px;animation:spin 26s linear infinite;}
.stamp-bg{fill:#2A1A12;}
.stamp text{font:700 17px/1 'Onest',sans-serif;letter-spacing:.14em;text-transform:uppercase;fill:#FFF7EE;}
.stamp-cup{fill:none;stroke:#FFF7EE;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ================= ресторан: вечер и книга брони ================= */
.hero--restorany .hero-frame{right:0;top:20px;width:82%;height:540px;outline:1px solid rgba(227,164,59,.55);outline-offset:14px;}
.hero--restorany .hero-frame img{filter:saturate(.9) contrast(1.05);}
.hero--restorany .phone{left:0;bottom:-10px;}
.hero--restorany .toast{right:4%;top:-8px;}
.hero--restorany .h1 em{color:var(--em);}
.hero--restorany::before{content:"";position:absolute;left:clamp(16px,4vw,40px);right:clamp(16px,4vw,40px);top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(227,164,59,.5),transparent);}

/* ================= салон: зеркало и слива ================= */
.hero--salony .hero-grid{grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);}
.hero--salony .hero-copy{order:2;}
.hero--salony .hero-media{order:1;}
.hero--salony .hero-media::before{content:"";position:absolute;left:10%;top:40px;width:68%;height:560px;border-radius:50%;background:var(--accent);transform:translate(28px,18px);}
.hero--salony .hero-frame{left:10%;top:40px;width:68%;height:560px;border-radius:50%;}
.hero--salony .phone{right:0;top:0;}
.hero--salony .toast{left:0;bottom:6px;}

/* ================= барбершоп: вывеска и латунь ================= */
.hero--barbershopy .pole{position:absolute;left:0;top:0;bottom:0;width:14px;background:repeating-linear-gradient(-45deg,#B8322A 0 14px,#EDE6DA 14px 28px,#1F3A6B 28px 42px,#EDE6DA 42px 56px);background-size:80px 80px;animation:pole 3s linear infinite;}
@keyframes pole{to{background-position:0 80px;}}
.hero--barbershopy .hero-frame{right:0;top:0;width:66%;height:600px;}
.hero--barbershopy .hero-frame::after{content:"";position:absolute;inset:14px;border:1px solid rgba(201,161,90,.6);pointer-events:none;}
.hero--barbershopy .hero-frame img{filter:saturate(.75) contrast(1.1);}
.hero--barbershopy .phone{left:0;bottom:-20px;}
.hero--barbershopy .toast{right:-6px;top:56px;}
.hero--barbershopy .h1 em{display:block;color:var(--accent);}

/* ================= боли ================= */
.pains{background:var(--bg2);}
.pains-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center;}
.pains-photo{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;}
.pains-photo img{width:100%;height:100%;object-fit:cover;}
.pain-list{margin-top:32px;display:grid;gap:0;}
.pain-list li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line);}
.pain-list li:last-child{border-bottom:1px solid var(--line);}
.pain-n{font:600 14px/1.6 var(--body);color:var(--em);}
.pain-list b{display:block;font-size:19px;font-weight:700;letter-spacing:-.01em;}
.pain-list li > span > span{display:block;color:var(--muted);margin-top:2px;}
.loss{margin-top:28px;display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;}
.loss b{font-family:var(--display);font-weight:var(--dw);font-size:clamp(36px,4.4vw,60px);line-height:1;color:var(--em);letter-spacing:var(--dtrack);}
.loss span{color:var(--muted);font-size:17px;max-width:30ch;}
.w-fitnes .pains-photo img{filter:grayscale(.2) contrast(1.05);}
.w-pilates .pains-photo{border-radius:999px 999px var(--r) var(--r);}
.w-salony .pains-photo{border-radius:200px 200px var(--r) var(--r);}
.w-barbershopy .pains-photo,.w-restorany .pains-photo{outline:1px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:10px;}

/* ================= фирменные блоки ================= */
.sig{background:var(--bg);}
/* фитнес: карта посещений */
.heat{background:var(--card);border-radius:var(--r);padding:clamp(20px,3vw,36px);box-shadow:inset 0 0 0 1px var(--line);}
.heat-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;font-size:15px;color:var(--muted);}
.heat-head b{font:700 18px/1 'Unbounded',sans-serif;color:var(--ink);}
.heat-state{margin-left:auto;font:700 12px/1 'Unbounded',sans-serif;text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;border-radius:4px;background:var(--accent);color:var(--accent-ink);}
.heat-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(6px,1vw,14px);margin-top:28px;}
.wk{display:grid;gap:clamp(5px,.8vw,10px);justify-items:center;}
.wk i{width:100%;aspect-ratio:1;max-width:46px;border-radius:4px;background:rgba(242,244,238,.07);box-shadow:inset 0 0 0 1px rgba(242,244,238,.08);}
.wk i.on{background:var(--accent);box-shadow:none;}
.wk.gap i{box-shadow:inset 0 0 0 1px rgba(255,99,71,.45);}
.wk small{font-size:12px;color:var(--muted);margin-top:4px;}
.heat-notes{display:grid;grid-template-columns:repeat(12,1fr);margin-top:22px;gap:0 clamp(6px,1vw,14px);}
.heat-notes li{grid-column:var(--col) / span 3;font-size:14px;line-height:1.4;color:var(--ink);padding-top:12px;border-top:2px solid var(--accent);margin-bottom:14px;}
.heat-notes li:nth-child(2){border-top-color:#FF6347;}
.heat-notes li span{display:block;font:700 11px/1 'Unbounded',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;}
.heat-notes li:nth-child(3){grid-column:8 / span 4;}
.heat-notes li:nth-child(4){grid-column:10 / span 3;}
/* пилатес: зал с реформерами */
.studio{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(20px,3vw,40px);align-items:start;}
.room{position:relative;background:var(--card);border-radius:var(--r);padding:clamp(24px,3vw,40px);box-shadow:inset 0 0 0 1px var(--line);}
.room-label{display:block;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:22px;}
.room-window{position:absolute;right:28px;top:22px;width:120px;height:6px;border-radius:3px;background:var(--bg2);}
.refs{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,22px);}
.ref{display:grid;gap:6px;justify-items:start;}
.ref b{font-size:16px;font-weight:500;}
.ref small{font-size:13px;color:var(--muted);}
.ref.cancel small{color:var(--accent);font-weight:500;}
.queue{background:var(--dark);color:var(--dark-ink);border-radius:var(--r);padding:28px;}
.queue b{font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--dark-muted);}
.queue ol{margin:16px 0 18px;display:grid;gap:10px;counter-reset:q;}
.queue li{counter-increment:q;font-size:20px;display:flex;gap:12px;align-items:baseline;}
.queue li::before{content:counter(q);font-size:13px;color:var(--dark-muted);}
.queue li.moved{text-decoration:line-through;text-decoration-color:var(--dark-accent);color:var(--dark-muted);}
.queue-msg{font-size:15px;color:var(--dark-muted);line-height:1.5;}
/* кофейня: полка выдачи */
.shelf{position:relative;background:var(--bg2);border-radius:var(--r);padding:clamp(28px,4vw,52px) clamp(18px,3vw,40px) 0;}
.shelf-sign{display:inline-block;font:400 20px/1 'Dela Gothic One',sans-serif;background:var(--dark);color:var(--dark-ink);padding:12px 18px;border-radius:10px;transform:rotate(-2deg);}
.shelf-cups{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(8px,1.6vw,22px);margin-top:36px;align-items:end;}
.cup{display:grid;justify-items:center;text-align:center;}
.cup-svg{width:min(100%,104px);height:auto;}
.cup-body{fill:#FBF6EE;stroke:#2A1A12;stroke-width:1.6;}
.cup-lid{fill:#2A1A12;} .cup-lid-top{fill:#2A1A12;}
.cup-sleeve{fill:#C9A57A;}
.cup:nth-child(3n+2) .cup-sleeve{fill:var(--accent);}
.cup-name{font:700 clamp(22px,2.4vw,30px)/1 'Caveat',cursive;color:#2A1A12;margin-top:-66px;position:relative;transform:rotate(-4deg);}
.cup-meta{margin-top:44px;font-size:13px;color:var(--muted);line-height:1.35;}
.cup-meta b{display:block;color:var(--ink);font-size:15px;}
.shelf-board{height:18px;margin:14px calc(-1 * clamp(18px,3vw,40px)) 0;background:#8A5A35;border-radius:0 0 var(--r) var(--r);box-shadow:inset 0 3px 0 #A06B41;}
/* ресторан: книга брони */
.ledger{display:grid;grid-template-columns:1fr 1fr;background:#F4E9DC;color:#2A1418;border-radius:4px;box-shadow:0 40px 80px -40px #000;position:relative;}
.ledger::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:30px;margin-left:-15px;background:linear-gradient(90deg,transparent,rgba(42,20,24,.14),transparent);pointer-events:none;}
.page{padding:clamp(22px,3vw,40px);}
.page-date{font:400 22px/1.2 'Prata',serif;margin-bottom:16px;}
.page ul{display:grid;}
.page li{display:grid;grid-template-columns:56px 1fr 40px 40px 72px;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid rgba(122,31,43,.22);font-size:14px;}
.page li.lh{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#6B4F45;padding-top:0;}
.page .t{font-weight:700;}
.page .nm{font:600 24px/1 'Caveat',cursive;color:#2A1418;}
.page .src{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#6B4F45;}
.page .src.max{color:#7A1F2B;background:#E3A43B;padding:4px 8px;border-radius:2px;justify-self:start;}
/* салон: журнал записи */
.agenda{display:grid;grid-template-columns:64px repeat(3,1fr);grid-template-rows:auto repeat(var(--rows),30px);gap:4px 10px;background:var(--card);border-radius:var(--r);padding:clamp(18px,3vw,32px);box-shadow:0 30px 60px -40px var(--shadow);}
.ag-m{font:400 24px/1 'Yeseva One',serif;padding-bottom:14px;border-bottom:1px solid var(--line);}
.ag-h{font-size:12px;color:var(--muted);padding-top:2px;border-top:1px solid var(--line);}
.appt{border-radius:14px;background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--ink);padding:8px 12px;font-size:14px;font-weight:600;line-height:1.25;overflow:hidden;}
.appt small{display:block;font-size:12px;font-weight:500;color:var(--muted);}
.appt.was-noshow{background:var(--accent);color:var(--accent-ink);box-shadow:none;}
.appt.was-noshow small{color:#F6CFDD;}
.appt.pending{background:repeating-linear-gradient(-45deg,#fff 0 8px,#F4E3E6 8px 16px);color:var(--muted);box-shadow:inset 0 0 0 1.5px #D9A9BA;}
/* барбершоп: круг возврата */
.dial-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(32px,5vw,80px);align-items:center;}
.dial-steps{display:grid;gap:0;margin-top:8px;}
.dial-steps li{display:grid;grid-template-columns:96px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--line);font-size:17px;}
.dial-steps li span{font:600 15px/1.5 'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);}
.dial{position:relative;}
.dial svg{width:100%;height:auto;}
.dial-face{fill:#1D1A17;stroke:rgba(201,161,90,.35);stroke-width:1;}
.dial-track{fill:none;stroke:rgba(237,230,218,.1);stroke-width:14;}
.dial-prog{fill:none;stroke:#C9A15A;stroke-width:14;stroke-dasharray:100;stroke-dashoffset:0;transform:rotate(-90deg);transform-origin:150px 150px;}
.dial-w{font:500 12px/1 'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;fill:#A99F91;text-anchor:middle;}
.dial-hand line{stroke:#EDE6DA;stroke-width:3;stroke-linecap:round;}
.dial-hand circle{fill:#C9A15A;}
.dial-hand{transform-origin:150px 150px;transform:rotate(360deg);}
.dial-label{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none;padding-top:90px;}
.dial-label b{font:600 30px/1 'Oswald',sans-serif;text-transform:uppercase;color:var(--ink);}
.dial-label span{font-size:14px;color:var(--muted);margin-top:6px;}

/* ================= возможности ================= */
.feats{background:var(--bg2);}
/* главная: бенто с мини-экранами */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.tile{background:var(--card);border-radius:var(--r);padding:26px 26px 0;display:flex;flex-direction:column;overflow:hidden;min-height:250px;box-shadow:0 1px 0 var(--line);}
.tile.w2{grid-column:span 2;} .tile.w3{grid-column:span 3;}
.tile h3{font-size:20px;}
.tile .demo{margin-top:auto;padding-top:22px;}
.tile.dark{background:var(--dark);color:var(--dark-ink);}
.ui{background:#F6F8FB;border-radius:16px 16px 0 0;padding:14px 14px 0;box-shadow:inset 0 0 0 1px var(--line);}
.ui-row{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:10px 12px;margin-bottom:8px;font-size:13.5px;box-shadow:0 1px 0 var(--line);}
.ui-row .dot{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;color:#fff;}
.ui-row .dot svg{width:16px;height:16px;}
.ui-row b{font-weight:600;display:block;line-height:1.2;}
.ui-row span span{color:var(--muted);font-size:12px;display:block;}
.ui-row .r{margin-left:auto;font-weight:700;white-space:nowrap;}
.ui-row .tag{margin-left:auto;font-size:11.5px;font-weight:600;padding:4px 9px;border-radius:999px;background:#E8EEFF;color:var(--accent);white-space:nowrap;}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;font-size:12px;color:var(--muted);}
.cal b{display:block;padding:8px 0;border-radius:9px;background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 0 var(--line);}
.cal b.on{background:var(--accent);color:var(--accent-ink);}
.cal b.off{background:transparent;color:#AAB3C2;box-shadow:none;}
.times{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 14px;}
.times span{font-size:12.5px;font-weight:600;padding:7px 11px;border-radius:9px;background:#fff;box-shadow:0 1px 0 var(--line);}
.times span.on{background:#E8EEFF;color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent);}
.pay{display:grid;gap:8px;padding-bottom:14px;}
.pay .sum{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--muted);}
.pay .sum b{font-size:24px;color:var(--ink);letter-spacing:-.02em;}
.pay .m{display:flex;gap:8px;}
.pay .m span{flex:1;text-align:center;padding:10px 0;border-radius:10px;background:#fff;font-size:13px;font-weight:600;box-shadow:0 1px 0 var(--line);}
.pay .m span.on{box-shadow:inset 0 0 0 1.5px var(--accent);}
.pay .go{background:var(--accent);color:var(--accent-ink);text-align:center;padding:12px;border-radius:11px;font-size:14px;font-weight:700;}
.chat{display:grid;gap:10px;padding-bottom:22px;}
.bubble{max-width:88%;padding:11px 14px;border-radius:16px;font-size:14px;line-height:1.4;}
.bubble.me{justify-self:end;background:var(--dark-accent);color:var(--dark);border-bottom-right-radius:5px;}
.bubble.ai{background:#1B2336;color:#D8DEEA;border-bottom-left-radius:5px;}
.bubble.ai b{color:#fff;}
.chart{display:flex;align-items:flex-end;gap:7px;height:96px;padding:0 4px 14px;}
.chart i{flex:1;border-radius:6px 6px 2px 2px;background:#DCE4FB;}
.chart i.on{background:var(--accent);}
.loyal{border-radius:16px;padding:16px;background:var(--accent);color:var(--accent-ink);margin-bottom:22px;}
.loyal small{opacity:.8;font-size:12px;}
.loyal b{display:block;font-size:26px;letter-spacing:-.02em;margin-top:2px;}
.loyal .cups{display:flex;gap:6px;margin-top:12px;}
.loyal .cups i{flex:1;height:8px;border-radius:4px;background:currentColor;opacity:.3;}
.loyal .cups i.on{opacity:1;}
/* кофейня: карта гостя и чек */
.stampcard-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:start;}
.stampcard{background:var(--accent);color:var(--accent-ink);border-radius:28px;padding:clamp(24px,3vw,40px);transform:rotate(-2deg);box-shadow:0 30px 60px -36px var(--shadow);}
.sc-title{font:400 30px/1 'Dela Gothic One',sans-serif;}
.sc-stamps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 20px;}
.sc-stamps i{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 2px rgba(255,247,238,.5);}
.sc-stamps i.on{background:#FFF7EE;color:var(--accent);box-shadow:none;}
.sc-stamps i.gift{background:#2A1A12;color:#FFF7EE;box-shadow:none;}
.sc-stamps svg{width:46%;height:46%;}
.sc-foot{font:700 26px/1 'Caveat',cursive;}
.ticket{background:var(--card);border-radius:6px;padding:10px 28px;box-shadow:0 20px 50px -34px var(--shadow);position:relative;}
.ticket::before,.ticket::after{content:"";position:absolute;left:0;right:0;height:12px;background:radial-gradient(circle at 8px 0,var(--bg2) 7px,transparent 7.5px) 0 0/16px 12px repeat-x;}
.ticket::before{top:-1px;} .ticket::after{bottom:-1px;transform:scaleY(-1);}
.ticket li{padding:18px 0;border-bottom:1px dashed var(--line);}
.ticket li:last-child{border-bottom:0;}
.ticket b{display:block;font-size:18px;}
.ticket span{color:var(--muted);}
/* ресторан: меню */
.menu-card{max-width:860px;margin:0 auto;background:#F4E9DC;color:#2A1418;padding:clamp(28px,5vw,64px);border-radius:2px;outline:1px solid rgba(122,31,43,.35);outline-offset:-14px;}
.menu-title{font:400 clamp(30px,3.4vw,44px)/1 'Prata',serif;text-align:center;margin-bottom:28px;}
.menu-card li{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:12px;padding:16px 0;}
.mi b{display:block;font:400 22px/1.2 'Prata',serif;}
.mi i{display:block;font-style:normal;font-size:15px;color:#6B4F45;margin-top:4px;}
.lead{border-bottom:1px dotted rgba(42,20,24,.4);transform:translateY(-6px);}
.mp{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#7A1F2B;}
/* барбершоп: прайс-доска */
.board{max-width:900px;margin:0 auto;background:#0B0A09;border-radius:6px;padding:clamp(24px,4vw,48px);box-shadow:inset 0 0 0 10px #2A211B,inset 0 0 0 11px rgba(201,161,90,.4);
  background-image:repeating-linear-gradient(180deg,transparent 0 33px,rgba(255,255,255,.04) 33px 35px);}
.board-title{font:600 clamp(28px,3.4vw,44px)/1 'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;text-align:center;color:#C9A15A;margin-bottom:26px;}
.board li{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:12px;padding:12px 0;font:500 clamp(18px,2vw,24px)/1.2 'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#EDE6DA;}
.board .dots{border-bottom:2px dotted rgba(237,230,218,.3);}
.board li b{color:#C9A15A;font-weight:500;}

/* ================= шаги ================= */
.steps{background:var(--bg);}
.steps-row{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,32px);}
.steps-line{position:absolute;left:24px;right:24px;top:24px;height:2px;background:var(--line);}
.steps-line i{position:absolute;inset:0;background:var(--accent);transform-origin:0 50%;}
.steps-row li{position:relative;display:grid;gap:8px;align-content:start;}
.st-n{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--rb);background:var(--accent);color:var(--accent-ink);font:700 18px/1 var(--display);margin-bottom:14px;position:relative;}
.w-pilates .st-n,.w-salony .st-n,.w-kofeyni .st-n,.w-main .st-n{border-radius:50%;}
.steps-row b{font-size:19px;}
.steps-row li > span:last-child{color:var(--muted);}

/* ================= интеграции ================= */
.integr{background:var(--bg2);}
.soon{margin-top:20px;color:var(--muted);}

/* ================= тарифы ================= */
.price{background:var(--bg);}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch;}
.plan{background:var(--card);border-radius:var(--r);padding:32px 28px;display:flex;flex-direction:column;box-shadow:inset 0 0 0 1px var(--line);}
.plan h3{font-family:var(--display);font-weight:var(--dw);text-transform:var(--dcase);font-size:26px;letter-spacing:var(--dtrack);}
.plan .for{margin-top:4px;color:var(--muted);font-size:15px;}
.plan .amount{margin-top:22px;display:flex;align-items:baseline;gap:6px;}
.plan .amount b{font-size:42px;font-weight:800;letter-spacing:-.04em;line-height:1;font-family:var(--body);}
.plan .amount span{color:var(--muted);}
.plan .was{margin-top:6px;font-size:14px;color:var(--muted);min-height:21px;}
.plan ul{margin:22px 0 26px;display:grid;gap:11px;flex:1;align-content:start;}
.plan li{display:flex;gap:10px;font-size:15px;color:var(--muted);line-height:1.45;}
.plan li svg{width:17px;height:17px;flex:0 0 auto;margin-top:3px;color:var(--em);}
.plan.best{background:var(--dark);color:var(--dark-ink);box-shadow:none;}
.plan.best .for,.plan.best .was,.plan.best li,.plan.best .amount span{color:var(--dark-muted);}
.plan.best li svg{color:var(--dark-ink);}
.plan.best .btn-primary{background:var(--dark-ink);color:var(--dark);box-shadow:none;}
.price-note{margin-top:22px;text-align:center;color:var(--muted);font-size:14px;}

/* ================= вопросы ================= */
.faq{background:var(--bg2);}
.faq-list{max-width:860px;margin:0 auto;display:grid;gap:10px;}
.q{background:var(--card);border-radius:calc(var(--r) * .7);padding:0 24px;box-shadow:inset 0 0 0 1px var(--line);}
.q summary{cursor:pointer;list-style:none;padding:22px 0;font-size:18px;font-weight:600;display:flex;justify-content:space-between;gap:20px;align-items:center;}
.q summary::-webkit-details-marker{display:none;}
.q .chev{width:22px;height:22px;flex:0 0 auto;color:var(--em);transition:transform .35s cubic-bezier(.16,1,.3,1);}
.q[open] .chev{transform:rotate(45deg);}
.q p{padding-bottom:22px;color:var(--muted);}

/* ================= финал ================= */
.final{background:var(--bg);}
.final-card{position:relative;overflow:hidden;border-radius:calc(var(--r) * 1.3);background:var(--dark);color:var(--dark-ink);min-height:420px;display:grid;align-items:end;}
.final-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.final-card:has(.final-img)::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,8,6,.86) 25%,rgba(10,8,6,.35));}
.final-card:has(.final-img){color:#FFF8F0;}
.final-copy{position:relative;z-index:2;padding:clamp(28px,5vw,64px);max-width:640px;}
.final-copy .h2 em{color:var(--accent);}
.final-card:not(:has(.final-img)) .final-copy .h2 em{color:var(--dark-accent);}
.final-copy p{margin:14px 0 28px;font-size:18px;opacity:.85;}
.w-main .final-card .btn-primary{background:#fff;color:var(--dark);}
.w-fitnes .final-card:has(.final-img) .btn-primary{background:var(--accent);color:var(--accent-ink);}

/* ================= подвал ================= */
.foot{padding:48px 0 40px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;}
.foot-top{display:flex;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;align-items:center;}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 22px;}
.foot-links a:hover,.foot-links a[aria-current]{color:var(--ink);}
.foot-legal{margin-top:26px;font-size:12.5px;line-height:1.7;max-width:90ch;}
.foot-legal a{text-decoration:underline;text-underline-offset:3px;}

/* ================= модалки ================= */
.overlay{position:fixed;inset:0;background:rgba(8,8,10,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:200;}
.overlay.open{display:flex;animation:fade .2s ease;}
@keyframes fade{from{opacity:0;}to{opacity:1;}}
.sheet{background:var(--card);color:var(--ink);border-radius:max(var(--r),14px);padding:34px 30px;width:100%;max-width:430px;box-shadow:0 40px 90px -30px rgba(0,0,0,.5);animation:rise .45s cubic-bezier(.16,1,.3,1);}
@keyframes rise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.sheet.wide{max-width:560px;}
.sheet h3{font-size:28px;font-family:var(--display);font-weight:var(--dw);text-transform:var(--dcase);}
#formView > p,#doneView > p{margin-top:10px;color:var(--muted);}
#doneView{text-align:center;}
#doneView p{margin-bottom:24px;}
.field{margin-top:22px;}
.field label{display:block;font-size:13.5px;font-weight:600;color:var(--muted);margin-bottom:8px;}
.field input{width:100%;padding:15px 16px;border:1.5px solid var(--line);border-radius:min(var(--r),14px);font:inherit;font-size:16px;color:var(--ink);background:var(--bg);}
.field input::placeholder{color:var(--muted);}
.field input:focus{outline:none;border-color:var(--accent);}
#leadForm .btn{margin-top:22px;}
.err{color:#D93C2B;font-size:13.5px;margin-top:12px;display:none;}
.w-fitnes .err,.w-restorany .err,.w-barbershopy .err{color:#FF8A7A;}
.err.show{display:block;}
.done-ico{width:58px;height:58px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;margin:0 auto 20px;}
.done-ico svg{width:28px;height:28px;}
.policy{max-height:52vh;overflow-y:auto;margin:20px 0 24px;}
.policy p{font-size:14px;color:var(--muted);margin-bottom:14px;line-height:1.65;}
.policy b{color:var(--ink);}
.policy-note{font-style:italic;}
.cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:150;max-width:600px;margin-inline:auto;background:var(--ink);color:var(--bg);border-radius:18px;padding:14px 18px;display:none;align-items:center;gap:16px;flex-wrap:wrap;box-shadow:0 26px 60px -20px rgba(0,0,0,.5);}
.cookies.show{display:flex;animation:rise .3s ease;}
.cookies p{flex:1 1 260px;font-size:13px;line-height:1.5;}
.cookies a{text-decoration:underline;}
.cookies .btn{background:var(--bg);color:var(--ink);flex:0 0 auto;}

/* ================= анимация: состояние до появления =================
   Скрываем только когда работает JS и motion.js ещё не отказался (класс no-motion — страховка). */
.js:not(.no-motion) [data-split]{visibility:hidden;}
.js:not(.no-motion) [data-reveal],.js:not(.no-motion) [data-rise]{opacity:0;}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  .js [data-split]{visibility:visible !important;} .js [data-reveal],.js [data-rise]{opacity:1 !important;}
}

/* ================= адаптив ================= */
@media (max-width:1080px){
  .hdr-nav{display:none;}
  .hdr-in .btn{margin-left:auto;}
  .bento{grid-template-columns:1fr 1fr;} .tile.w2,.tile.w3{grid-column:span 1;}
  
  
  .plans{grid-template-columns:1fr;max-width:520px;margin-inline:auto;}
}
@media (max-width:900px){
  .hero-grid,.hero--salony .hero-grid{grid-template-columns:1fr;}
  .hero--salony .hero-copy{order:1;} .hero--salony .hero-media{order:2;}
  .hero-media{min-height:560px;max-width:520px;width:100%;margin:0 auto;}
  .hero--fitnes{min-height:0;}
  .hero--fitnes .hero-media{min-height:560px;}
  .hero--fitnes .phone{left:50%;right:auto;margin-left:-139px;}
  .hero--fitnes .toast{left:0;top:auto;bottom:40px;}
  .pains-grid,.dial-grid,.stampcard-wrap,.studio{grid-template-columns:1fr;}
  .pains-photo{aspect-ratio:16/11;}
  .w-pilates .pains-photo,.w-salony .pains-photo{border-radius:var(--r);}
  .steps-row{grid-template-columns:1fr 1fr;row-gap:36px;}
  .steps-line{display:none;}
  .heat-notes{grid-template-columns:1fr;}
  .heat-notes li,.heat-notes li:nth-child(3),.heat-notes li:nth-child(4){grid-column:1;}
  .shelf-cups{grid-template-columns:repeat(3,1fr);row-gap:28px;}
  .ledger{grid-template-columns:1fr;}
  .ledger::after{display:none;}
}
@media (max-width:620px){
  body{font-size:16px;}
  .hero-media{min-height:600px;}
  .hero--pilates .hero-frame,.hero--kofeyni .hero-frame,.hero--restorany .hero-frame,.hero--barbershopy .hero-frame{width:100%;height:420px;}
  .hero--salony .hero-media::before,.hero--salony .hero-frame{left:6%;width:88%;height:440px;}
  .hero-media .phone{left:50% !important;right:auto !important;margin-left:-139px;top:auto !important;bottom:0 !important;transform:scale(.86);transform-origin:50% 100%;}
  .toast{display:none;}
  .stamp{width:110px;height:110px;left:auto;right:-6px;top:-20px;}
  .cta-row .btn{flex:1 1 100%;}
  .refs{grid-template-columns:repeat(4,1fr);gap:8px;}
  .ref b{font-size:13px;} .ref small{display:none;}
  .agenda{grid-template-columns:44px repeat(3,1fr);gap:3px 6px;padding:14px;}
  .ag-m{font-size:18px;} .appt{font-size:12px;padding:6px 7px;border-radius:9px;} .appt small{display:none;}
  .page li{grid-template-columns:46px 1fr 28px 28px 58px;font-size:13px;}
  .page .nm{font-size:21px;}
    
  .steps-row{grid-template-columns:1fr;}
  .wk small{font-size:10px;}
  .dial-steps li{grid-template-columns:78px 1fr;}
  .sheet{padding:28px 22px;}
}

/* маркер боли: у каждого мира свой */
.pain-n{display:block;width:28px;height:4px;margin-top:12px;background:var(--em);border-radius:2px;}
.w-pilates .pain-n{width:14px;height:14px;border-radius:999px 999px 2px 2px;margin-top:6px;}
.w-kofeyni .pain-n{width:14px;height:14px;border-radius:50%;margin-top:6px;}
.w-restorany .pain-n{width:10px;height:10px;transform:rotate(45deg);margin-top:8px;border-radius:0;}
.w-salony .pain-n{width:12px;height:12px;border-radius:50%;margin-top:7px;}
.w-barbershopy .pain-n{width:22px;height:10px;margin-top:8px;border-radius:0;background:repeating-linear-gradient(-45deg,#B8322A 0 4px,#EDE6DA 4px 8px);}
.pain-list li{grid-template-columns:44px 1fr;}

/* ===== правки после первого просмотра ===== */
/* фитнес: заметки под картой посещений — ровная шкала */
.heat-notes{grid-template-columns:repeat(4,1fr);gap:0 clamp(12px,2vw,28px);}
.heat-notes li,.heat-notes li:nth-child(3),.heat-notes li:nth-child(4){grid-column:auto;}
.heat-notes li:nth-child(3){border-top-color:#EDE6DA;}
/* пилатес: реформеры вытянутые, как сверху */
.refs{justify-items:center;}
.ref{justify-items:center;text-align:center;width:100%;}
/* кофейня: заголовок в плашке компактнее, печать на фото */
.hero--kofeyni .h1{font-size:clamp(26px,2.9vw,42px);line-height:1.12;}
.stamp{left:auto;right:-18px;top:-34px;}
.cup-sleeve{fill:#C9A57A;}
.cup:nth-child(3n+2) .cup-sleeve{fill:#C9A57A;}
.cup:nth-child(3n+2) .cup-lid,.cup:nth-child(3n+2) .cup-lid-top{fill:var(--accent);}
/* салон: овал зеркала и телефон не спорят */
@media (min-width:901px){
  .hero--fitnes .hero-grid{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);}
  .hero--kofeyni .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .hero--salony .hero-frame,.hero--salony .hero-media::before{left:0;width:62%;}
  .hero--salony .phone{right:-2%;top:70px;}
  .hero--salony .toast{left:2%;bottom:-6px;}
}
/* шапка на телефоне */
@media (max-width:560px){
  .hide-sm{display:none;}
  .hdr .btn{padding:11px 14px;letter-spacing:.02em;}
  .brand{font-size:21px;} .brand-mark{width:32px;height:32px;}
  .heat-notes{grid-template-columns:1fr 1fr;row-gap:6px;}
}
/* финальный блок на фото: выделение светлым оттенком мира, чтобы читалось на тёмном */
.w-pilates{--final-em:#D6E3C4;} .w-salony{--final-em:#F6C3D5;} .w-kofeyni{--final-em:#FFA77C;}
.w-fitnes{--final-em:#C6FF3D;} .w-restorany{--final-em:#E8B04F;} .w-barbershopy{--final-em:#D2AC66;}
.final-card:has(.final-img) .final-copy .h2 em{color:var(--final-em);}
@media (max-width:620px){ .bento{grid-template-columns:1fr;} .tile{min-height:0;} }
/* ===== правки по детектору ===== */
.final-card:has(.final-img){background:#0B0908;}
.w-barbershopy{--dark-muted:#3F2E16;}
.w-fitnes{--dark-muted:#2E3A0D;}
.hero--kofeyni .lede,.hero--kofeyni .maxmark{color:#FFF4EA;}
.err{color:#B42318;}
.cal b.off{color:#7C8699;}
.appt{background:color-mix(in srgb,var(--accent) 14%,#fff);}

/* ===== правки по финальному ревью ===== */
/* фото блюд в телефоне и на главной */
.prod .pic-photo{overflow:hidden;background:#EDE7DF;}
.prod .pic-photo img{width:100%;height:100%;object-fit:cover;}
.ui-row .dot-photo{overflow:hidden;background:#EDE7DF;}
.ui-row .dot-photo img{width:100%;height:100%;object-fit:cover;}

/* реформер сверху */
.ref-bed{display:block;width:min(100%,84px);height:auto;}
.rf-frame{fill:var(--bg2);stroke:var(--line);stroke-width:1.5;}
.rf-rail{stroke:color-mix(in srgb,var(--ink) 25%,transparent);stroke-width:2;}
.rf-carriage{fill:var(--accent);}
.rf-head,.rf-block{fill:color-mix(in srgb,var(--accent-ink) 80%,transparent);}
.rf-spring{stroke:color-mix(in srgb,var(--ink) 35%,transparent);stroke-width:1.5;stroke-dasharray:2 2.5;fill:none;}
.rf-footbar{stroke:var(--ink);stroke-width:3.5;stroke-linecap:round;}
.ref.cancel .rf-frame{stroke:var(--accent);stroke-width:2.5;}

/* фитнес: карта абонемента */
.member{max-width:980px;background:linear-gradient(135deg,#1B201C,#101311);border-radius:18px;box-shadow:inset 0 0 0 1px rgba(198,255,61,.25),0 40px 80px -40px #000;overflow:hidden;}
.mc-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;background:var(--accent);color:var(--accent-ink);font:700 13px/1 'Unbounded',sans-serif;text-transform:uppercase;letter-spacing:.06em;}
.mc-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;padding:10px 28px 6px;}
.mc-list li{display:grid;grid-template-columns:30px 1fr;column-gap:12px;padding:18px 0;border-bottom:1px solid var(--line);}
.mc-tick{grid-row:span 2;width:26px;height:26px;border-radius:4px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;}
.mc-tick svg{width:15px;height:15px;}
.mc-list b{font:700 17px/1.25 'Unbounded',sans-serif;}
.mc-list li > span:last-child{color:var(--muted);margin-top:4px;font-size:15px;}
.mc-foot{display:flex;align-items:center;gap:18px;padding:18px 28px 24px;color:var(--muted);font-size:13px;}
.mc-code{width:150px;height:34px;background:repeating-linear-gradient(90deg,#F2F4EE 0 2px,transparent 2px 4px,#F2F4EE 4px 5px,transparent 5px 9px,#F2F4EE 9px 12px,transparent 12px 14px);opacity:.8;}

/* салон: палитра оттенков */
.swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2.4vw,32px);}
.swatches li{display:grid;justify-items:start;gap:8px;}

.swatches b{font-size:18px;}
.swatches li > span:last-child{color:var(--muted);font-size:15.5px;}

/* боли: счёт, чек, коврики, талон */
.bill,.receipt{margin-top:28px;max-width:420px;padding:22px 24px;}
.bill{background:#F4E9DC;color:#2A1418;border-radius:2px;outline:1px solid rgba(227,164,59,.6);outline-offset:6px;}
.bill-h{font:400 22px/1 'Prata',serif;margin-bottom:14px;}
.bill-row,.bill-total,.rc-row,.rc-total{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dotted rgba(42,20,24,.3);font-size:15px;}
.bill-total{border-bottom:0;padding-top:14px;align-items:baseline;font-size:14px;color:#6B4F45;}
.bill-total b{font:400 30px/1 'Prata',serif;color:#7A1F2B;}
.receipt{background:#FFFDF8;color:#2A1A12;border-radius:4px;box-shadow:0 24px 50px -30px rgba(42,26,18,.45);position:relative;}
.receipt::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;background:radial-gradient(circle at 8px 0,#FFFDF8 7px,transparent 7.5px) 0 0/16px 10px repeat-x;}
.rc-h{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#6A5445;margin-bottom:8px;}
.rc-row{border-bottom:1px dashed rgba(42,26,18,.25);}
.rc-hl{color:#B03A13;font-weight:700;}
.rc-total{border:0;padding-top:12px;align-items:baseline;}
.rc-total b{font:400 28px/1 'Dela Gothic One',sans-serif;}
.mats{margin-top:28px;}
.mats-row{display:flex;gap:10px;}
.mats-row i{flex:1;max-width:48px;aspect-ratio:1/2.4;border-radius:12px;background:var(--accent);opacity:.85;}
.mats-row i.empty{background:transparent;box-shadow:inset 0 0 0 2px var(--accent);opacity:1;}
.mats p{margin-top:14px;color:var(--muted);max-width:34ch;}
.mats p b{font:300 30px/1 'Jost',sans-serif;color:var(--ink);margin-right:6px;}
.talon{margin-top:28px;display:grid;grid-template-columns:120px 1fr;max-width:460px;background:#EDE6DA;color:#121110;border-radius:4px;overflow:hidden;}
.talon-l{display:grid;align-content:center;justify-items:center;gap:2px;padding:18px 10px;border-right:2px dashed rgba(18,17,16,.35);text-align:center;}
.talon-l small{font:500 11px/1.2 'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#5E574D;}
.talon-l b{font:600 32px/1 'Oswald',sans-serif;}
.talon-r{padding:18px 20px;display:grid;gap:6px;align-content:center;}
.talon-r b{font:600 22px/1 'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#B8322A;}
.talon-r span{font-size:15px;color:#3C3731;}

/* салон: записи в журнале не обрезаются */
.appt{hyphens:auto;overflow-wrap:anywhere;}

@media (max-width:900px){
  .mc-list,.swatches{grid-template-columns:1fr 1fr;}
}
@media (max-width:620px){
  .mc-list,.swatches{grid-template-columns:1fr;}
  .mc-top{flex-direction:column;align-items:flex-start;gap:8px;}
  .swatches li{grid-template-columns:72px 1fr;column-gap:16px;align-items:center;}
  .swatches .sw{grid-row:span 2;margin:0;width:64px;}
  .page li.lh{letter-spacing:0;font-size:11px;}
  .page li.lh span:last-child{visibility:hidden;}
  .appt{font-size:12px;line-height:1.2;}
  .talon{grid-template-columns:96px 1fr;}
}

/* ===== последние правки по ревью ===== */
/* пилатес: одна большая арка со списком */
.arch-one{max-width:720px;margin:0 auto;background:var(--card);border-radius:999px 999px var(--r) var(--r);padding:clamp(88px,10vw,130px) clamp(24px,5vw,72px) clamp(28px,4vw,48px);box-shadow:inset 0 0 0 1px var(--line);}
.arch-one li{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:center;padding:18px 0;border-top:1px solid var(--line);}
.arch-one li:first-child{border-top:0;}
.arch-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:999px 999px 14px 14px;box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);}
.arch-ic svg{width:24px;height:24px;}
.arch-one b{display:block;font:400 22px/1.2 'Jost',sans-serif;}
.arch-one li > span:last-child > span{display:block;color:var(--muted);font-size:16px;margin-top:2px;}
/* салон: плоский мазок лака в форме ногтя */
.sw{width:clamp(56px,6vw,76px);aspect-ratio:.72;border-radius:50% 50% 16px 16px / 58% 58% 16px 16px;background:var(--sw);margin-bottom:12px;}
/* суммы не разрываются */
.bill-total b,.rc-total b,.plan .amount b,.loss b,.mats p b,.bill-row span:last-child,.rc-row span:last-child{white-space:nowrap;}
@media (max-width:620px){
  .swatches .sw{width:52px;}
  .agenda{grid-template-rows:auto repeat(var(--rows),40px);}
  .appt small{display:block;font-size:12px;}
  .arch-one{border-radius:220px 220px var(--r) var(--r);padding-top:80px;}
  .bill-total{flex-wrap:wrap;}
}

/* интеграции: логотипы партнёров на светлых плашках (читаются на любом мире) */
.int-logos{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.int-logos li{display:grid;place-items:center;height:108px;padding:18px 22px;background:#FFFFFF;border-radius:max(var(--r),10px);box-shadow:inset 0 0 0 1px var(--line);}
.w-fitnes .int-logos li,.w-restorany .int-logos li,.w-barbershopy .int-logos li{background:#F6F3EE;box-shadow:none;}
.int-logos img{max-width:100%;max-height:40px;width:auto;height:auto;}
.int-soon-row{display:flex;align-items:center;gap:18px;margin-top:18px;}
.soon-tag{flex:0 0 auto;font-size:13px;font-weight:600;color:var(--ink);padding:6px 12px;border-radius:var(--rb);box-shadow:inset 0 0 0 1px var(--line);}
.int-logos--soon{flex:1;gap:10px;}
.int-logos--soon li{height:64px;padding:12px 16px;background:transparent !important;box-shadow:inset 0 0 0 1px var(--line) !important;}
.int-logos--soon img{max-height:22px;filter:grayscale(1);opacity:.55;}
.w-fitnes .int-logos--soon img,.w-restorany .int-logos--soon img,.w-barbershopy .int-logos--soon img{filter:grayscale(1) invert(1);opacity:.6;}
@media (max-width:900px){
  .int-logos{grid-template-columns:repeat(3,1fr);}
  .int-soon-row{flex-direction:column;align-items:flex-start;}
  .int-logos--soon{width:100%;}
}
@media (max-width:620px){
  .int-logos{grid-template-columns:1fr 1fr;}
  .int-logos li{height:84px;}
  .int-logos--soon{grid-template-columns:repeat(3,1fr);}
}

/* ================= главная: шесть окон и сцены ниш =================
   Первый экран: слово в заголовке по очереди набирается шрифтом и цветом каждой ниши,
   в карточке шесть окон-витрин (геометрия окон — CSS-переменные из build.py), телефон меняет экран.
   Ниже шесть сцен .ch, каждая в мире своей ниши (класс w-<ниша>), на компьютере ложатся стопкой. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.hero--main{padding:clamp(32px,4.5vw,64px) 0 clamp(56px,7vw,96px);}
.hero--main .hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);}
.hero--main .h1{font-size:clamp(32px,3.9vw,58px);}
.rot{display:grid;justify-items:start;margin-top:.1em;}
.hero--main .hero-copy{container-type:inline-size;}
/* самое длинное слово («для фитнес-клуба», ~9.9em) всегда в одну строку: кегль ограничен шириной колонки */
.rot{font-size:min(1em,calc(100cqi / 10));}
.rot-w{grid-area:1/1;white-space:nowrap;opacity:0;visibility:hidden;}
.rot-w.on{opacity:1;visibility:visible;}
.rot-w.w-main{color:var(--accent);}
.rot-w.w-fitnes{font:700 .84em/1.14 'Unbounded',sans-serif;letter-spacing:-.03em;background:#C6FF3D;color:#0E100F;padding:0 .14em;}
.rot-w.w-pilates{font:300 1.1em/1.02 'Jost',sans-serif;letter-spacing:-.02em;color:#55684B;}
.rot-w.w-kofeyni{font:400 .95em/1.1 'Dela Gothic One',sans-serif;color:#C23B12;}
.rot-w.w-restorany{font:400 1em/1.08 'Prata',serif;color:#7A1F2B;}
.rot-w.w-salony{font:400 1em/1.08 'Yeseva One',serif;color:#7E2F52;}
.rot-w.w-barbershopy{font:600 1em/1.06 'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.01em;background:#121110;color:#C9A15A;padding:0 .16em;}

.vitrina{position:relative;height:clamp(560px,45vw,640px);}
.v-card{position:absolute;top:0;bottom:0;right:0;left:236px;border-radius:30px;overflow:hidden;background:var(--dark);isolation:isolate;
  box-shadow:0 2px 6px rgba(14,20,36,.12),0 50px 90px -50px rgba(14,20,36,.6);}
.win{position:absolute;inset:0;display:block;clip-path:var(--win-cell);background:var(--bg2);}
.win img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translate(var(--win-dx),var(--win-dy)) scale(.52);transition:filter .4s ease;}
.win:hover img{filter:brightness(1.1);}
.win[data-k="salony"] img{object-position:38% 50%;}
.win[data-k="fitnes"] img{object-position:62% 50%;}
.win-sign{position:absolute;right:calc(var(--win-r) + 10px);bottom:calc(var(--win-b) + 10px);padding:7px 11px;border-radius:var(--rb);background:var(--accent);color:var(--accent-ink);
  font:var(--dw) 14px/1 var(--display);text-transform:var(--dcase);letter-spacing:0;white-space:nowrap;box-shadow:0 6px 16px -8px rgba(0,0,0,.5);}
.win.w-fitnes .win-sign{font-size:11px;text-transform:uppercase;padding:8px 10px;}
.win.w-pilates .win-sign{font-size:15px;}
.win:focus-visible{outline:none;}
.win:focus-visible .win-sign{outline:2px solid #fff;outline-offset:3px;}
.vitrina .phone{position:absolute;z-index:3;left:0;top:50%;margin-top:-286px;}
.layers{position:relative;flex:1;min-height:0;}
.layer{position:absolute;inset:0;display:flex;flex-direction:column;opacity:0;visibility:hidden;}
.layer.on{opacity:1;visibility:visible;}
.v-toast{right:-14px;top:40px;opacity:0;visibility:hidden;}
.v-toast.on{opacity:1;visibility:visible;}

/* сцены ниш */
.worlds{padding:clamp(24px,3vw,48px) 0 clamp(40px,5vw,72px);}
.chapters{display:grid;gap:16px;max-width:1560px;margin-inline:auto;padding-inline:clamp(8px,1.6vw,24px);}
.ch{--body:'Onest',system-ui,sans-serif;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:clamp(24px,4vw,72px);
  padding:clamp(28px,4.4vw,72px);border-radius:max(var(--r),8px);background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;overflow:hidden;transform-origin:50% 0;}
.ch--flip{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);}
.ch--flip .ch-copy{order:2;}
.ch-copy{position:relative;z-index:4;}
.ch-h{display:grid;gap:clamp(14px,1.6vw,24px);font:inherit;letter-spacing:0;}
.ch-sign,.ch-pitch{font-family:var(--display);font-weight:var(--dw);text-transform:var(--dcase);letter-spacing:var(--dtrack);text-wrap:balance;}
.ch-sign{font-size:calc(clamp(44px,5.4vw,88px) * var(--sk,1));line-height:.98;}
.ch-pitch{font-size:clamp(24px,2.3vw,36px);line-height:1.14;max-width:18ch;}
.ch-pitch em{font-style:normal;color:var(--em);}
.ch-lede{margin-top:22px;color:var(--muted);max-width:34ch;font-size:18px;}
.ch-go{margin-top:34px;}
.ch-media{position:relative;height:100%;min-height:600px;}
.ch-frame{position:absolute;overflow:hidden;margin:0;}
.ch-frame img{width:100%;height:100%;object-fit:cover;}
.ch-media .phone{position:absolute;z-index:3;transform-origin:0 100%;}
.ch-toast{z-index:4;}
.ch-shade{position:absolute;inset:0;z-index:20;background:#04060C;opacity:0;pointer-events:none;}

.ch--fitnes{--sk:.66;padding-bottom:calc(clamp(28px,4.4vw,72px) + 46px);}
.ch--fitnes .ch-media{position:static;}
.ch--fitnes .ch-frame{inset:0 0 0 34%;}
.ch--fitnes .ch-frame img{filter:grayscale(1) contrast(1.1) brightness(.78);}
.ch--fitnes .ch-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0E100F 0%,rgba(14,16,15,.55) 34%,rgba(14,16,15,.05) 82%);}
.ch--fitnes .phone{right:9%;top:calc(50% - 23px);margin-top:-286px;transform-origin:100% 50%;}
.ch--fitnes .ch-toast{right:calc(9% + 240px);top:24%;}
.ch--fitnes .ch-sign{color:var(--accent);}
.ch--fitnes .ch-pitch em{background:var(--accent);color:var(--accent-ink);padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
.ch--fitnes .ch-lede{color:#C9D0C5;}
.ch .ticker{position:absolute;left:0;right:0;bottom:0;z-index:5;}

.ch--pilates{--sk:1.02;}
.ch--pilates .ch-frame{left:20%;right:3%;top:0;bottom:0;border-radius:999px 999px var(--r) var(--r);}
.ch--pilates .phone{left:0;bottom:0;}
.ch--pilates .ch-toast{right:-6px;top:60%;}
.ch--pilates .ch-pitch em{font-weight:400;}

.ch--kofeyni{--sk:.86;background:var(--accent);color:#FFF7EE;}
.ch--kofeyni .ch-pitch em{color:#2A1A12;}
.ch--kofeyni .ch-lede{color:#FFF1E6;}
.ch--kofeyni .btn-primary{background:#2A1A12;color:#FFF7EE;}
.ch--kofeyni .btn-primary:hover{background:#140C08;}
.ch--kofeyni .ch-frame{left:24%;right:0;top:0;bottom:0;border-radius:28px;}
.ch--kofeyni .phone{left:0;bottom:0;}
.ch--kofeyni .ch-toast{right:18px;bottom:56px;}
.ch-stamp{left:calc(24% - 64px);right:auto;top:-18px;width:140px;height:140px;}

.ch--restorany{--sk:.9;}
.ch--restorany::before{content:"";position:absolute;left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(227,164,59,.6),transparent);}
.ch--restorany .ch-frame{left:3%;right:24%;top:5%;bottom:5%;outline:1px solid rgba(227,164,59,.55);outline-offset:14px;}
.ch--restorany .ch-frame img{filter:saturate(.9) contrast(1.05);}
.ch--restorany .phone{right:0;bottom:0;transform-origin:100% 100%;}
.ch--restorany .ch-toast{left:-4px;top:0;}

.ch--salony{--sk:.92;}
.ch--salony .ch-media::before{content:"";position:absolute;left:30%;right:3%;top:0;bottom:0;border-radius:50%;background:var(--accent);transform:translate(22px,16px);}
.ch--salony .ch-frame{left:30%;right:3%;top:0;bottom:0;border-radius:50%;}
.ch--salony .phone{left:0;bottom:0;}
.ch--salony .ch-toast{right:0;bottom:4%;}

.ch--barbershopy{--sk:1.12;}
.ch-pole{position:absolute;left:0;top:0;bottom:0;width:14px;z-index:6;background:repeating-linear-gradient(-45deg,#B8322A 0 14px,#EDE6DA 14px 28px,#1F3A6B 28px 42px,#EDE6DA 42px 56px);background-size:80px 80px;animation:pole 3s linear infinite;}
.ch--barbershopy .ch-frame{left:4%;right:22%;top:0;bottom:0;}
.ch--barbershopy .ch-frame::after{content:"";position:absolute;inset:14px;border:1px solid rgba(201,161,90,.6);pointer-events:none;}
.ch--barbershopy .ch-frame img{filter:saturate(.75) contrast(1.1);}
.ch--barbershopy .phone{right:0;bottom:0;transform-origin:100% 100%;}
.ch--barbershopy .ch-toast{left:9%;bottom:7%;}

/* компьютер: сцены ложатся стопкой, от прошлых остаются цветные корешки */
@media (min-width:901px) and (min-height:700px){
  .ch{position:sticky;top:calc(80px + var(--i) * 12px);height:calc(100vh - 150px);height:calc(100svh - 150px);padding-block:clamp(28px,5vh,64px);}
  .ch--fitnes{padding-bottom:calc(clamp(28px,5vh,64px) + 46px);}
  .ch-media{min-height:0;}
}
@media (min-width:901px) and (max-height:1000px){ .ch-media .phone{scale:.88;} }
@media (min-width:901px) and (max-height:880px){ .ch-media .phone{scale:.78;} }
@media (min-width:901px) and (max-height:780px){ .ch-media .phone{scale:.7;} }

@media (max-width:900px){
  .hero--main .hero-grid{grid-template-columns:1fr;}
  .vitrina{width:100%;max-width:620px;margin-inline:auto;}
  .ch,.ch--flip{grid-template-columns:1fr;gap:30px;padding:36px 22px 0;}
  .ch--flip .ch-copy{order:0;}
  .ch--fitnes{padding-bottom:46px;}
  .ch-media,.ch--fitnes .ch-media{position:relative;height:540px;min-height:0;}
  .ch--fitnes .ch-frame,.ch--kofeyni .ch-frame{inset:0 0 110px 0;}
  .ch--pilates .ch-frame{inset:0 0 60px 16%;}
  .ch--restorany .ch-frame{inset:12px 12px 122px 12px;}
  .ch--salony .ch-frame,.ch--salony .ch-media::before{inset:0 6% 90px 6%;}
  .ch--salony .ch-media::before{transform:translate(12px,10px);}
  .ch--barbershopy .ch-frame{inset:0 0 60px 14%;}
  .ch--fitnes .ch-frame::after{background:linear-gradient(180deg,rgba(14,16,15,.05) 50%,rgba(14,16,15,.7));}
  .ch-media .phone,.ch--fitnes .phone{left:auto;right:6px;top:auto;bottom:0;margin:0;scale:.66;transform-origin:100% 100%;}
  .ch--flip .ch-media .phone{right:auto;left:6px;transform-origin:0 100%;}
  .ch-toast{display:none;}
  .ch-stamp{left:auto;right:-8px;top:-26px;width:104px;height:104px;}
}
@media (max-width:620px){
  .vitrina{height:410px;}
  .v-card{left:150px;border-radius:22px;}
  .vitrina .phone{scale:.64;transform-origin:0 50%;}
  .win-sign{right:calc(var(--win-r) + 6px);bottom:calc(var(--win-b) + 6px);font-size:11.5px;padding:6px 8px;}
  .win.w-fitnes .win-sign{font-size:11px;padding:6px 7px;}
  .win.w-pilates .win-sign{font-size:12.5px;}
  .ch,.ch--flip{padding:30px 18px 0;}
  .ch--fitnes{padding-bottom:46px;}
  .ch-sign{font-size:calc(46px * var(--sk,1));}
  .ch-media,.ch--fitnes .ch-media{height:480px;margin-inline:-6px;}
  .ch-media .phone,.ch--fitnes .phone{scale:.6;}
  .ch-lede{font-size:16.5px;}
  .ch-go{width:100%;}
}
@media (max-width:380px){
  .win-sign,.win.w-fitnes .win-sign,.win.w-pilates .win-sign{font-size:11px;padding:5px 6px;}
}

/* ===== правки по отзыву маркетолога ===== */
/* форма регистрации */
#leadForm .field{margin-top:16px;}
.field select{width:100%;padding:15px 44px 15px 16px;border:1.5px solid var(--line);border-radius:min(var(--r),14px);font:inherit;font-size:16px;color:var(--ink);background-color:var(--bg);
  -webkit-appearance:none;appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808793' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:18px;}
.field select:focus{outline:none;border-color:var(--accent);}
.form-note{margin-top:14px;font-size:12.5px;line-height:1.45;color:var(--muted);text-align:center;}
.form-note a{text-decoration:underline;text-underline-offset:2px;}
.promo{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0 0 14px;padding:16px 18px;border:1.5px dashed var(--accent);border-radius:min(var(--r),14px);
  background:color-mix(in srgb,var(--accent) 8%,var(--card));color:var(--ink);font:inherit;cursor:pointer;transition:background-color .2s ease;}
.promo:hover{background:color-mix(in srgb,var(--accent) 14%,var(--card));}
.promo span{font:800 22px/1 var(--body);letter-spacing:.06em;font-variant-numeric:tabular-nums;}
.promo small{font-size:13px;font-weight:600;color:var(--muted);}
/* фитнес: бегущее табло под небольшим углом */
.ticker{transform:rotate(-1.6deg) scale(1.04);transform-origin:50% 50%;box-shadow:0 10px 30px -12px rgba(0,0,0,.6);}
.hero--fitnes{padding-bottom:18px;}
/* панель ниш на телефоне: все шесть кнопок видны сразу, сеткой 2×3 */
@media (max-width:620px){
  .nichebar::after{display:none;}
  .nichebar-in{display:grid;grid-template-columns:1fr 1fr;gap:6px;overflow:visible;padding-block:10px 12px;}
  .nb-label{grid-column:1 / -1;font-size:13px;margin:0 0 2px;}
  .nb-btn{min-width:0;padding:7px 10px 7px 7px;font-size:13px;gap:7px;}
  .nb-ic{width:26px;height:26px;flex:0 0 auto;}
  .nb-arrow{margin-left:auto;flex:0 0 auto;}
}
@media (max-width:389px){ .nb-arrow{display:none;} .nb-btn{padding-right:8px;} }

/* ===== главная кнопка регистрации (.btn-cta): крупная и настойчивая =====
   Справа «ручка» со стрелкой контрастного цвета мира: раз в пару секунд подталкивает вправо —
   в ритме мира (--nudge, --nudge-ease). Цвета только из токенов мира: кнопка accent, ручка accent-ink. */
.btn-cta{justify-content:space-between;gap:20px;min-height:72px;padding:10px 10px 10px 30px;text-align:left;white-space:normal;
  box-shadow:0 22px 38px -20px color-mix(in srgb,var(--accent) 70%,#000),0 2px 5px rgba(0,0,0,.14);}
.btn-cta:hover{transform:translateY(-3px);box-shadow:0 28px 46px -22px color-mix(in srgb,var(--accent) 75%,#000),0 2px 5px rgba(0,0,0,.14);}
.btn-cta:active{transform:translateY(0) scale(.99);}
.cta-txt{display:flex;flex-direction:column;gap:6px;}
.cta-txt b{font-size:20px;font-weight:700;line-height:1.05;white-space:nowrap;}
.cta-txt small{font:500 13px/1.1 var(--body);text-transform:none;letter-spacing:0;opacity:.8;white-space:nowrap;}
.w-fitnes .cta-txt b,.w-restorany .cta-txt b,.w-barbershopy .cta-txt b{font-size:16.5px;}
.cta-knob{flex:0 0 auto;display:grid;place-items:center;width:52px;height:52px;border-radius:max(calc(var(--rb) - 6px),2px);
  background:var(--accent-ink);color:var(--accent);
  animation:cta-nudge var(--nudge,2.6s) var(--nudge-ease,cubic-bezier(.16,1,.3,1)) 1.6s infinite;}
.cta-knob svg{width:22px;height:22px;}
.btn-cta:hover .cta-knob,.btn-cta:focus-visible .cta-knob{animation:none;transform:translateX(5px);transition:transform .35s cubic-bezier(.16,1,.3,1);}
@keyframes cta-nudge{0%,58%,100%{transform:none;}68%{transform:translateX(7px);}76%{transform:none;}84%{transform:translateX(3px);}92%{transform:none;}}
.no-motion .cta-knob{animation:none;}
/* характер подталкивания по мирам */
.w-fitnes{--nudge:1.7s;--nudge-ease:cubic-bezier(.3,0,.1,1);}
.w-pilates{--nudge:3.6s;--nudge-ease:cubic-bezier(.45,0,.55,1);}
.w-kofeyni{--nudge:2.2s;--nudge-ease:cubic-bezier(.34,1.56,.64,1);}
.w-restorany{--nudge:3.2s;--nudge-ease:cubic-bezier(.25,.1,.25,1);}
.w-salony{--nudge:3s;}
.w-barbershopy{--nudge:2s;--nudge-ease:cubic-bezier(.65,0,.35,1);}
/* где кнопка перекрашена миром — ручка следует за ней */
.hero--kofeyni .cta-knob{background:#FFF7EE;color:var(--accent);}
.hero--kofeyni .btn-cta{box-shadow:0 22px 38px -20px rgba(20,12,8,.8),0 2px 5px rgba(0,0,0,.2);}
.w-main .final-card .cta-knob{background:var(--accent);color:#fff;}
.w-main .final-card .btn-cta{box-shadow:0 22px 38px -20px rgba(0,0,0,.6);}
/* в форме: во всю ширину, на весь ряд */
#leadForm .btn-cta{min-height:64px;padding-left:24px;}
#leadForm .cta-txt b{font-size:18px;}
.w-fitnes #leadForm .cta-txt b,.w-restorany #leadForm .cta-txt b,.w-barbershopy #leadForm .cta-txt b{font-size:15px;}
#leadForm .cta-knob{width:44px;height:44px;}
@media (max-width:620px){
  .btn-cta{min-height:68px;padding-left:22px;}
  .cta-txt b{font-size:19px;}
  .w-fitnes .cta-txt b,.w-restorany .cta-txt b,.w-barbershopy .cta-txt b{font-size:15.5px;}
  .cta-row{gap:14px;}
}

/* ===== покупка: кнопки «Купить», нижняя панель, окно заказа (30.09.2026) =====
   Всё на токенах мира. Логика — assets/site.js (buy_click → pay_click → order_submit). */
.btn-ic{width:18px;height:18px;flex:0 0 auto;}
.btn-buy{gap:8px;}
.btn-shine{position:relative;overflow:hidden;isolation:isolate;}
.btn-shine::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,transparent,color-mix(in srgb,#fff 38%,transparent),transparent);transform:skewX(-18deg);
  animation:buy-shine 4.2s ease-in-out 2s infinite;}
@keyframes buy-shine{0%,70%{left:-60%;}100%{left:130%;}}
.no-motion .btn-shine::after{animation:none;display:none;}
@media (prefers-reduced-motion: reduce){ .btn-shine::after{animation:none;display:none;} }

.hdr-free{margin-left:8px;}
.hdr .btn-buy{margin-left:0;}
.hdr-in > .btn + .btn{margin-left:-16px;}
.btn-free{padding:16px 22px;font-size:15px;}
.final-ctas{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:26px;}
.final-copy .final-ctas .btn-cta{margin-top:0;}
.final-card .btn-free{color:inherit;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,currentColor 45%,transparent);}
.final-card .btn-free:hover{box-shadow:inset 0 0 0 1.5px currentColor;}

.plan{position:relative;}
.plan-tag{position:absolute;top:-13px;left:28px;padding:6px 12px;border-radius:999px;background:var(--accent);color:var(--accent-ink);
  font:700 12px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;box-shadow:0 8px 18px -10px rgba(0,0,0,.5);}
.plan.best .plan-tag{background:var(--dark-ink);color:var(--dark);}
.plan.best .btn-buy{min-height:58px;font-size:17px;}

/* нижняя панель */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:140;padding:10px clamp(12px,3vw,24px) calc(10px + env(safe-area-inset-bottom));
  transform:translateY(120%);transition:transform .45s cubic-bezier(.16,1,.3,1);pointer-events:none;}
.buybar.show{transform:none;pointer-events:auto;}
.cookies.show ~ .buybar{display:none;}
.buybar-in{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:14px;justify-content:space-between;padding:10px 10px 10px 20px;
  background:var(--card);color:var(--ink);border-radius:max(var(--rb),14px);box-shadow:0 24px 50px -18px var(--shadow),inset 0 0 0 1px var(--line);}
.w-pilates .buybar-in,.w-kofeyni .buybar-in,.w-salony .buybar-in{border-radius:22px;}
.bb-txt{display:flex;flex-direction:column;gap:3px;min-width:0;}
.bb-txt b{font:700 16px/1.1 var(--body);}
.bb-txt small{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.buybar .btn{flex:0 0 auto;}

/* окно заказа */
#privacyOverlay{z-index:220;}
.co-step[hidden],.co-feat[hidden]{display:none !important;}
.sheet.co:has(#coPay[hidden]){max-width:520px;}
.sheet.co{position:relative;max-width:900px;padding:0;overflow:hidden auto;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);}
.co-x{position:absolute;top:14px;right:14px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;
  background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink);}
.co-x svg{width:18px;height:18px;}
.co-x:hover{background:color-mix(in srgb,var(--ink) 14%,transparent);}
.co-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);}
.co-order{background:var(--bg2);padding:34px 30px;display:flex;flex-direction:column;gap:18px;}
.co-kicker{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.co-prod{display:flex;align-items:center;gap:14px;}
.co-prod .brand-mark{width:48px;height:48px;}
.co-prod b{display:block;font:800 24px/1.1 var(--body);letter-spacing:-.02em;}
.co-prod small{display:block;margin-top:4px;font-size:14px;color:var(--muted);line-height:1.35;}
.co-feat{display:grid;gap:9px;}
.co-feat li{display:flex;gap:10px;font-size:14.5px;line-height:1.4;color:var(--ink);}
.co-feat li svg{width:16px;height:16px;flex:0 0 auto;margin-top:3px;color:var(--em);}
.co-sum{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:grid;gap:8px;}
.co-sum div{display:flex;justify-content:space-between;gap:12px;font-size:14px;}
.co-sum dt{color:var(--muted);}
.co-sum dd{margin:0;text-align:right;}
.co-total{padding-top:10px;border-top:1px dashed var(--line);align-items:baseline;}
.co-total dt{color:var(--ink);font-weight:700;}
.co-total b{font:800 28px/1 var(--body);letter-spacing:-.03em;}
.co-logos{display:flex;align-items:center;gap:16px;opacity:.9;}
.co-logos img{height:22px;width:auto;}
.w-fitnes .co-logos img,.w-restorany .co-logos img{background:#fff;border-radius:6px;padding:4px 7px;height:30px;}
.co-form{padding:34px 30px 28px;}
.co-form h3{padding-right:40px;}
.co-set{border:0;margin:20px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.co-set legend{font-size:13.5px;font-weight:600;color:var(--muted);margin-bottom:8px;padding:0;}
.co-opt{position:relative;display:block;cursor:pointer;}
.co-opt input{position:absolute;opacity:0;pointer-events:none;}
.co-opt span{display:flex;flex-direction:column;gap:4px;height:100%;padding:13px 14px;border-radius:min(var(--r),14px);border:1.5px solid var(--line);background:var(--bg);transition:border-color .2s ease,box-shadow .2s ease;}
.co-opt b{font-size:14.5px;line-height:1.25;}
.co-opt small{font-size:12.5px;color:var(--muted);line-height:1.3;}
.co-opt input:checked + span{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);}
.co-opt input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px;}
.field label .opt{font-weight:500;opacity:.75;}
.co-check{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:13.5px;line-height:1.45;color:var(--muted);cursor:pointer;}
.co-check input{flex:0 0 auto;width:18px;height:18px;margin-top:1px;accent-color:var(--accent);}
.co-check b{color:var(--ink);font-weight:600;}
.co-check a{text-decoration:underline;text-underline-offset:2px;}
.co-pay{margin-top:18px;min-height:62px;font-size:18px;gap:10px;}
.co-narrow{max-width:460px;margin:0 auto;padding:40px 30px 30px;text-align:center;}
.co-narrow form{text-align:left;}
.co-narrow .co-check{text-align:left;}
.co-lead{margin-top:10px;color:var(--muted);font-size:15px;line-height:1.5;}
.co-lead b{color:var(--ink);word-break:break-word;}
.co-narrow > .btn{margin-top:24px;}
#coContactForm .btn-cta{margin-top:18px;min-height:62px;padding-left:22px;}
#coContactForm .cta-txt b{font-size:17px;}
#coContactForm .cta-knob{width:44px;height:44px;}
.co-back{display:block;margin:14px auto 0;border:0;background:none;color:var(--muted);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}

@media (max-width:760px){
  .co-grid{grid-template-columns:1fr;}
  .co-order{padding:26px 20px 20px;gap:14px;}
  .co-order .co-feat{display:none;}
  .co-form{padding:24px 20px 22px;}
  .co-narrow{padding:34px 20px 24px;}
  .overlay:has(.sheet.co){padding:10px;align-items:flex-end;}
  .sheet.co{max-height:calc(100dvh - 20px);}
}
@media (max-width:430px){
  .hdr-free{display:none;}
  .hdr-in > .btn + .btn{margin-left:auto;}
  .co-set{grid-template-columns:1fr;}
  .bb-txt small{white-space:normal;}
}
