

  :root{
    color-scheme: light;
    --ground:#F7F1F5;
    --surface:#FFFFFF;
    --surface-2:#FBF4F9;
    --ink:#1B1620;
    --ink-2:#574A55;
    --muted:#8B7D87;
    --line:#EEDFEA;
    --line-2:#F5EBF1;
    --accent:#D61E93;
    --accent-strong:#B0166F;
    --accent-soft:#FBE7F3;
    --accent-ink:#8E0E5B;
    --wa:#1FA855;
    --wa-strong:#178A45;
    --warn-ink:#8A5300;
    --warn-bg:#FDF3E2;
    --warn-line:#F3DFB9;
    --ok:#1F9D57;
    --star:#F0A400;
    --ph-ink:#9A5B12;
    --ph-bg:#FFF5E6;
    --ph-line:#F0D9AE;
    /* мягкие оттенки задач для превью-картинок меню */
    --t-energy:#FFF1E4; --t-energy-ic:#D9772A;
    --t-beauty:#FBEBF3; --t-beauty-ic:#C24E90;
    --t-iron:#F3ECE6; --t-iron-ic:#9A6A45;
    --t-immun:#E7F5EC; --t-immun-ic:#2A9D5B;
    --t-detox:#E9F4F1; --t-detox-ic:#2C9084;
    --t-sport:#EAF0FB; --t-sport-ic:#3C63C4;
    --t-brain:#F1ECFB; --t-brain-ic:#7B4FC9;
    --t-heart:#FCEBEC; --t-heart-ic:#C8434B;
    --shadow:0 1px 2px rgba(18,33,46,.05), 0 6px 20px -12px rgba(18,33,46,.18);
    --shadow-lift:0 2px 6px rgba(18,33,46,.07), 0 18px 44px -22px rgba(18,33,46,.28);
    --shadow-menu:0 20px 60px -24px rgba(18,33,46,.35);
    --r-s:10px; --r-m:14px; --r-l:20px; --r-xl:28px; --r-pill:999px;
    --h1:clamp(2rem, 4.4vw, 3.4rem);
    --h2:clamp(1.5rem, 2.8vw, 2.15rem);
    --h3:1.12rem;
    --container:1200px;
    --gap:clamp(72px, 11vw, 150px);
    --pad-x:20px;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      color-scheme: dark;
      --ground:#160E14; --surface:#1E141B; --surface-2:#251824; --ink:#F6EDF3; --ink-2:#CBB9C6;
      --muted:#9E8B99; --line:#3A2833; --line-2:#2A1C26; --accent:#F368B8; --accent-strong:#F98BCB;
      --accent-soft:#33162A; --accent-ink:#F7B4DC; --wa:#2BB863; --wa-strong:#38C972;
      --warn-ink:#F0C579; --warn-bg:#2A2113; --warn-line:#43341A; --ok:#4CC983; --star:#F6B93B;
      --ph-ink:#E6B872; --ph-bg:#241B0E; --ph-line:#3C2F17;
      --t-energy:#2A2015; --t-beauty:#2A1922; --t-iron:#241D16; --t-immun:#12271A;
      --t-detox:#122622; --t-sport:#15203A; --t-brain:#1E1730; --t-heart:#2A1618;
      --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -14px rgba(0,0,0,.7);
      --shadow-lift:0 2px 8px rgba(0,0,0,.5), 0 20px 50px -24px rgba(0,0,0,.8);
      --shadow-menu:0 24px 70px -26px rgba(0,0,0,.85);
    }
  }
  :root[data-theme="dark"]{
    color-scheme: dark;
    --ground:#160E14; --surface:#1E141B; --surface-2:#251824; --ink:#F6EDF3; --ink-2:#CBB9C6;
    --muted:#9E8B99; --line:#3A2833; --line-2:#2A1C26; --accent:#F368B8; --accent-strong:#F98BCB;
    --accent-soft:#33162A; --accent-ink:#F7B4DC; --wa:#2BB863; --wa-strong:#38C972;
    --warn-ink:#F0C579; --warn-bg:#2A2113; --warn-line:#43341A; --ok:#4CC983; --star:#F6B93B;
    --ph-ink:#E6B872; --ph-bg:#241B0E; --ph-line:#3C2F17;
    --t-energy:#2A2015; --t-beauty:#2A1922; --t-iron:#241D16; --t-immun:#12271A;
    --t-detox:#122622; --t-sport:#15203A; --t-brain:#1E1730; --t-heart:#2A1618;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -14px rgba(0,0,0,.7);
    --shadow-lift:0 2px 8px rgba(0,0,0,.5), 0 20px 50px -24px rgba(0,0,0,.8);
    --shadow-menu:0 24px 70px -26px rgba(0,0,0,.85);
  }

  html{scrollbar-gutter:stable}
  *{box-sizing:border-box}
  body{margin:0; background:var(--ground); color:var(--ink);  font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased}
  h4{font-family:var(--font-text)} h1,h2,h3,h4{text-wrap:balance; letter-spacing:-.02em; margin:0}
  h1{font-size:var(--h1); line-height:1.05; font-weight:800}
  h2{font-size:var(--h2); line-height:1.12; font-weight:800}
  h3{font-size:var(--h3); line-height:1.25; font-weight:700}
  p{margin:0}
  a{color:inherit; text-decoration:none}
  button{font:inherit; cursor:pointer; border:0; background:none; color:inherit}
  img{max-width:100%}
  .container{max-width:var(--container); margin:0 auto; padding-inline:var(--pad-x)}
  /* buttons */
  .btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:var(--r-pill); font-weight:600; font-size:15px; padding:12px 20px; min-height:46px; line-height:1.1; transition:background .15s,transform .12s,box-shadow .15s; white-space:nowrap}
  .btn:hover{transform:translateY(-1px)}
  .btn:active{transform:translateY(0)}
  .btn-sm{padding:9px 15px; min-height:40px; font-size:13.5px}
  .btn-primary{background:var(--accent); color:#fff; box-shadow:var(--shadow)}
  .btn-primary:hover{background:var(--accent-strong)}
  .btn-ghost{background:var(--accent-soft); color:var(--accent-ink)}
  .btn-outline{background:var(--surface); color:var(--ink); box-shadow:inset 0 0 0 1px var(--line)}
  .btn-outline:hover{box-shadow:inset 0 0 0 1px var(--accent)}
  .btn-wa{background:var(--wa); color:#fff}
  .btn-wa:hover{background:var(--wa-strong)}
  .btn-block{width:100%}

  /* ── utility top strip ── */
  .util{background:var(--surface); border-bottom:1px solid var(--line-2); font-size:13px; color:var(--ink-2)}
  .util-in{max-width:var(--container); margin:0 auto; padding:7px var(--pad-x); display:flex; align-items:center; gap:18px}
  .util .it{display:inline-flex; align-items:center; gap:6px}
  .util .it svg{color:var(--accent)}
  .util .sp{margin-left:auto}
  .util a.ph-strong{color:var(--ink); font-weight:700; font-family:var(--font-display)}
  @media (max-width:900px){ .util{display:none} }

  /* ── header + nav ── */
  .hdr{position:sticky; top:env(safe-area-inset-top,0px); z-index:150; background:color-mix(in srgb,var(--surface) 92%,transparent); backdrop-filter:saturate(1.1) blur(10px); border-bottom:1px solid var(--line)}
  .hdr-in{max-width:var(--container); margin:0 auto; padding:12px var(--pad-x); display:flex; align-items:center; gap:22px}
  .logo{display:grid; grid-template-columns:auto 1fr; column-gap:9px; align-items:center; line-height:1.02}
  .logo::before{content:""; grid-row:1/3; width:34px; height:34px; background:var(--accent); -webkit-mask:url(../bird.svg) center/contain no-repeat; mask:url(../bird.svg) center/contain no-repeat}
  .logo b{font-family:var(--font-display); font-weight:800; font-size:20px; white-space:nowrap}
  .logo b span{color:var(--accent)}
  .logo small{font-size:11px; color:var(--muted); font-weight:500; letter-spacing:.04em; text-transform:uppercase}
  nav.main{display:flex; align-items:center; gap:2px; margin-left:6px}
  nav.main > .navitem > a, nav.main > .navitem > button{display:inline-flex; align-items:center; gap:5px; padding:10px 13px; border-radius:var(--r-s); font-weight:600; font-size:15px; color:var(--ink-2)}
  nav.main > .navitem > a:hover, nav.main > .navitem > button:hover, .navitem.open > button{color:var(--accent); background:var(--accent-soft)}
  .navitem{position:static}
  .navitem .chev{transition:transform .2s}
  .navitem.open .chev{transform:rotate(180deg)}
  .hdr .sp{margin-left:auto}
  .hdr .tel{font-family:var(--font-display); font-weight:700; font-size:16px; white-space:nowrap}
  .hdr .tel:hover{color:var(--accent)}
  .tel-wrap{display:grid; grid-template-columns:auto auto; justify-content:end; align-items:center; gap:3px 12px}
  .tel-wrap .tel{grid-column:1/-1; justify-self:end}
  .wa-link{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:600; color:var(--accent); line-height:1; white-space:nowrap}
  .foot-col a.wa-link,.cline a.wa-link{display:inline-flex; padding:0}
  .tel-link{color:inherit; text-decoration:none}
  .tel-link:hover{color:var(--accent)}
  .wa-link:hover{color:var(--accent-strong)}
  .wa-ic{width:20px; height:20px; border-radius:50%; background:var(--accent-soft); display:grid; place-items:center}
  /* Max (мессенджер) — рядом с WhatsApp; цвета — из официального знака max.ru */
  .btn-max{background:linear-gradient(135deg,#1591FF 0%,#3C22FE 55%,#8109FC 100%); color:#fff}
  .btn-max:hover{background:linear-gradient(135deg,#0F7FE6 0%,#2F17E0 55%,#6E05DA 100%)}
  .burger{display:none; width:44px; height:44px; border-radius:var(--r-s); box-shadow:inset 0 0 0 1px var(--line); align-items:center; justify-content:center}

  /* ── mega menu ── */
  .mega{position:absolute; left:0; right:0; top:100%; background:var(--surface); border-top:1px solid var(--line); box-shadow:var(--shadow-menu); opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .16s, transform .16s, visibility .16s; z-index:140}
  .navitem.open .mega{opacity:1; visibility:visible; transform:translateY(0)}
  .mega-in{max-width:var(--container); margin:0 auto; padding:22px var(--pad-x) 24px; display:grid; grid-template-columns:1fr 300px; gap:26px}
  .mega .mega-title{font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:700; margin-bottom:12px}
  .mega-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:8px}
  .mega-card{display:flex; gap:11px; align-items:center; padding:9px; border-radius:var(--r-m); transition:background .12s}
  .mega-card:hover{background:var(--surface-2)}
  .thumb{flex:0 0 auto; width:52px; height:52px; border-radius:12px; display:grid; place-items:center}
  .thumb svg{width:24px; height:24px}
  /* иконки чекапов в меню (макет «Иконки чекапов», 10.10.2026) */
  .thumb.ck-ic svg{width:30px; height:30px}
  .drawer .sub a .thumb.ck-ic svg{width:26px; height:26px}
  .ckt-slim{background:#E6F2EE; color:#1E8E7E} .ckt-clean-clinic{background:#E8EEFB; color:#3F51B5} .ckt-volosy{background:#FBE9F1; color:#D6407F} .ckt-vitamin{background:#E6F4EA; color:#2E9E5B} .ckt-blogger{background:#FEF0E0; color:#E8731A} .ckt-female{background:#FBE9F1; color:#C2417A} .ckt-male{background:#EFEAFB; color:#7B4FD6} .ckt-full{background:#E8EEFB; color:#3F51B5}
  .mega-card .mc-tx b{display:block; font-family:var(--font-text); font-weight:700; font-size:14px; line-height:1.2}
  .mega-card .mc-tx small{color:var(--muted); font-size:12px}
  .mega-card .mc-tx .pr{color:var(--accent-ink); font-weight:600; font-size:12.5px}
  .mega-feat{background:var(--accent-soft); border-radius:var(--r-l); padding:18px; display:flex; flex-direction:column}
  .mega-feat .tag{font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--accent); margin-bottom:8px}
  .mega-feat h4{font-family:var(--font-text); font-weight:800; font-size:18px; color:var(--accent-ink); margin-bottom:6px; line-height:1.15}
  .mega-feat p{font-size:13px; color:var(--ink-2); margin-bottom:auto}
  .mega-feat .btn{margin-top:14px}
  .mega-foot{grid-column:1/-1; border-top:1px solid var(--line-2); margin-top:4px; padding-top:14px; display:flex; gap:18px; flex-wrap:wrap}
  .mega-foot a{font-weight:600; font-size:13.5px; color:var(--accent); display:inline-flex; align-items:center; gap:6px}

  /* thumb tints */
  .t-energy{background:var(--t-energy); color:var(--t-energy-ic)}
  .t-beauty{background:var(--t-beauty); color:var(--t-beauty-ic)}
  .t-iron{background:var(--t-iron); color:var(--t-iron-ic)}
  .t-immun{background:var(--t-immun); color:var(--t-immun-ic)}
  .t-detox{background:var(--t-detox); color:var(--t-detox-ic)}
  .t-sport{background:var(--t-sport); color:var(--t-sport-ic)}
  .t-brain{background:var(--t-brain); color:var(--t-brain-ic)}
  .t-heart{background:var(--t-heart); color:var(--t-heart-ic)}

  /* warning line */
  .warn{display:inline-flex; gap:8px; align-items:center; background:var(--warn-bg); border:1px solid var(--warn-line); color:var(--warn-ink); border-radius:var(--r-pill); padding:8px 15px; font-size:13px; line-height:1.3}
  .warn.block{display:flex; border-radius:var(--r-s)}
  .warn svg{flex:0 0 auto}

  /* placeholder */
  .ph{background:var(--ph-bg); color:var(--ph-ink); border:1px dashed var(--ph-line); border-radius:6px; padding:0 6px; font-size:.85em; font-weight:600; white-space:nowrap}
  .ph-box{display:grid; place-items:center; text-align:center; background:var(--ph-bg); color:var(--ph-ink); border:1px dashed var(--ph-line); border-radius:var(--r-l); padding:20px; font-size:13px; font-weight:600}
  .ph-box span{max-width:260px}

  main{position:relative; z-index:0}
  section{padding-block:0}
  .block{margin-top:var(--gap)}
  .eyebrow{display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--accent); background:var(--accent-soft); padding:6px 13px; border-radius:var(--r-pill); margin-bottom:14px}
  .sec-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:26px; flex-wrap:wrap}
  .sec-head p,.cat-head p{font-family:var(--font-text); font-weight:500; font-size:clamp(1.05rem,2.2vw,1.25rem); line-height:1.45; color:var(--ink); max-width:40ch; margin-top:14px}
  .sec-head p span,.cat-head p span{color:var(--accent)}
  .link-more{color:var(--accent); font-weight:600; display:inline-flex; align-items:center; gap:6px; white-space:nowrap}
  .link-more:hover{gap:9px}

  /* hero */
  .hero{padding-top:clamp(36px,6vw,64px)}
  .hero-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,580px); gap:clamp(28px,4vw,56px); align-items:center}
  .hero h1{overflow-wrap:normal; word-break:normal; hyphens:none}
  .hero h1 .nw{white-space:nowrap}
  .hero h1 .accent{color:var(--accent)}
  .hero .sub{font-size:clamp(1.02rem,1.5vw,1.2rem); color:var(--ink-2); margin-top:18px; max-width:44ch}
  .facts{display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:22px; font-size:15px; color:var(--ink-2)}
  .facts .f{display:inline-flex; align-items:center; gap:7px}
  .facts b{color:var(--ink); font-family:var(--font-display); font-weight:700}
  .facts svg{color:var(--accent)}
  .facts .star{color:var(--star)}
  .hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px}
  .hero .warn{margin-top:20px}
  .hero-media{position:relative}
  .hero-media .ph-box{aspect-ratio:4/5; min-height:340px}
  .hero-media{max-width:580px; margin-inline:auto; width:100%; align-self:center}
  .hero-media .hero-img{width:100%; height:auto; border-radius:var(--r-xl); box-shadow:var(--shadow-lift); display:block}
  .promo-line{display:flex; gap:14px; align-items:center; margin-top:22px; background:var(--surface); border-radius:var(--r-l); padding:12px 20px 12px 12px; max-width:480px; box-shadow:var(--shadow), inset 0 0 0 1.5px var(--accent-soft)}
  .pl-ic{flex:0 0 auto; width:48px; height:48px; border-radius:14px; background:var(--accent); color:#fff; display:grid; place-items:center}
  .pl-tx{display:flex; flex-direction:column; line-height:1.3; font-size:14px; color:var(--ink-2)}
  .pl-tx small{font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin-bottom:2px}
  .pl-tx b{font-size:15.5px; font-weight:700; color:var(--ink)}
  .slider{position:relative}
  .slides{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:var(--r-xl); box-shadow:var(--shadow-lift)}
  .slides::-webkit-scrollbar{display:none}
  .slides .hero-img{flex:0 0 100%; scroll-snap-align:center; border-radius:0; box-shadow:none; aspect-ratio:4/5; object-fit:cover}
  .dots{position:absolute; top:16px; left:50%; transform:translateX(-50%); display:flex; gap:6px; padding:6px 8px; border-radius:var(--r-pill); background:rgba(27,22,32,.35)}
  .dots:empty{display:none}
  .dots button{width:18px; height:4px; padding:0; border-radius:var(--r-pill); background:rgba(255,255,255,.5); position:relative; transition:width .35s, background .35s}
  .dots button::after{content:""; position:absolute; inset:-14px -3px}
  .dots button[aria-selected="true"]{width:34px; background:#fff}
  .s-arrows{position:absolute; right:18px; bottom:18px; display:flex; align-items:center; gap:2px; opacity:.75; transition:opacity .25s}
  .slider:hover .s-arrows{opacity:1}
  .s-arrow{width:32px; height:28px; border-radius:var(--r-pill); color:#fff; display:grid; place-items:center; filter:drop-shadow(0 1px 3px rgba(27,22,32,.55)); transition:background .2s, color .2s}
  .s-arrow:hover{background:rgba(255,255,255,.22)}
  .s-arrow svg{width:18px; height:12px; stroke-width:1.5}
  .hero-adv{list-style:none; padding:0; margin:22px 0 0; display:flex; flex-direction:column; gap:11px}
  .hero-adv li{display:flex; gap:11px; align-items:center; font-size:15.5px; color:var(--ink); font-weight:500}
  .hero-adv li svg{flex:0 0 auto; width:26px; height:26px; color:var(--accent); background:var(--accent-soft); border-radius:50%; padding:5px}
  .hero-badge{position:absolute; left:-14px; bottom:22px; background:var(--surface); border-radius:var(--r-l); box-shadow:var(--shadow-lift); padding:14px 16px; display:flex; align-items:center; gap:12px; max-width:230px}
  .hero-badge .n{font-family:var(--font-display); font-weight:800; font-size:26px; color:var(--accent); line-height:1}
  .hero-badge small{font-size:12px; color:var(--muted)}

  /* trust row */
  .trust[hidden]{display:none}
  .trust{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:var(--gap); background:var(--line); border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow)}
  .trust .ti{background:var(--surface); padding:32px 28px 34px; display:flex; flex-direction:column}
  .trust .ti .ic{width:52px; height:52px; border-radius:50%; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center; margin-bottom:22px; box-shadow:0 0 0 6px var(--surface-2)}
  .trust .ti .ic svg{width:24px; height:24px; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round}
  .trust .ti b{font-family:var(--font-text); display:block; font-size:17px; line-height:1.25; margin-bottom:8px}
  .trust .ti small{display:block; color:var(--ink-2); font-size:14.5px; line-height:1.5}

  /* three paths */
  .paths{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
  .path{position:relative; background:var(--surface); border-radius:var(--r-l); padding:24px; box-shadow:var(--shadow); overflow:hidden; transition:transform .15s, box-shadow .15s; display:flex; flex-direction:column}
  .path:hover{transform:translateY(-3px); box-shadow:var(--shadow-lift)}
  .path .p-ic{width:60px; height:60px; border-radius:50%; display:grid; place-items:center; margin-bottom:20px; box-shadow:0 0 0 7px color-mix(in srgb,currentColor 8%,transparent)}
  .path h3{font-size:19px; margin-bottom:8px}
  .path p{color:var(--ink-2); font-size:14.5px; margin-bottom:18px; flex:1}
  .path .go{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 6px 6px 18px; border-radius:var(--r-pill); box-shadow:inset 0 0 0 1px var(--line); color:var(--accent-ink); font-weight:600; font-size:15px; transition:background .15s, box-shadow .15s}
  .path .go .arr{width:36px; height:36px; border-radius:50%; background:var(--accent); color:#fff; display:grid; place-items:center; transition:transform .15s}
  .path:hover .go{background:var(--accent-soft); box-shadow:inset 0 0 0 1px var(--accent)}
  .path:hover .go .arr{transform:translateX(3px)}

  /* programs (комплексные курсы) */
  .progs{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
  .prog{--c:#D61E93; border-radius:var(--r-xl); padding:26px; color:#fff; min-height:380px; display:flex; flex-direction:column; position:relative; overflow:hidden; isolation:isolate; box-shadow:var(--shadow); transition:transform .2s, box-shadow .2s; cursor:pointer}
  .prog:hover{transform:translateY(-5px); box-shadow:var(--shadow-lift)}
  .prog::after{content:""; position:absolute; z-index:-1; right:-46px; top:-40px; width:70%; aspect-ratio:1; background:color-mix(in srgb,var(--c) 45%,#fff); opacity:.3; -webkit-mask:url(../bird.svg) center/contain no-repeat; mask:url(../bird.svg) center/contain no-repeat; transform:rotate(8deg) scaleY(1); transition:transform .4s}
  .prog:hover::after{transform:rotate(2deg) scale(1.06)}
  .prog.p1{--c:#D61E93; background:linear-gradient(160deg,#D61E93,#8E0E5B)}
  .prog.p2{--c:#2C9084; background:linear-gradient(160deg,#2C9084,#1f6f66)}
  .prog.p3{--c:#7B4FC9; background:linear-gradient(160deg,#7B4FC9,#5c399b)}
  .prog.p4{--c:#C24E90; background:linear-gradient(160deg,#C24E90,#97386c)}
  .prog-ic{width:52px; height:52px; border-radius:16px; background:rgba(255,255,255,.18); display:grid; place-items:center; margin-bottom:16px}
  .prog .cnt{align-self:flex-start; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:rgba(255,255,255,.2); padding:5px 12px; border-radius:var(--r-pill); margin-bottom:auto}
  .prog h3{color:#fff; font-size:1.6rem; line-height:1.15; margin:28px 0 10px}
  .prog p{font-size:15px; line-height:1.45; opacity:.92; margin-bottom:22px; max-width:24ch}
  .prog .go{align-self:flex-start; display:inline-flex; align-items:center; gap:10px; background:#fff; color:var(--ink); font-weight:700; font-size:14px; padding:5px 5px 5px 16px; border-radius:var(--r-pill)}
  .prog .go .arr{width:32px; height:32px; border-radius:50%; background:var(--c); color:#fff; display:grid; place-items:center; font-style:normal; transition:transform .15s}
  .prog:hover .go .arr{transform:translateX(3px)}

  /* checkups */
  .checkups{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; align-items:stretch}
  .ck{background:var(--surface); border-radius:var(--r-l); padding:24px; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s}
  .ck:hover{box-shadow:var(--shadow-lift)}
  .ck h3{margin:0 0 10px; font-size:1.25rem}
  .ck-d{font-size:14px; line-height:1.5; color:var(--ink-2); margin:0 0 16px}
  .ck-more{border-top:1px solid var(--line-2); margin-bottom:18px}
  .ck-more summary{list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; padding:14px 0; font-size:14px; font-weight:600; color:var(--accent-ink)}
  .ck-more summary::-webkit-details-marker{display:none}
  .ck-more .chev{color:var(--accent); transition:transform .2s}
  .ck-more[open] .chev{transform:rotate(180deg)}
  .ck-more ul{margin:0 0 4px; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px}
  .ck-more li{display:flex; gap:9px; font-size:13.5px; line-height:1.4; color:var(--ink-2)}
  .ck-more li svg{flex:0 0 auto; color:var(--accent); margin-top:3px}
  .ck-more-ph{border-top:1px solid var(--line-2); padding:14px 0; margin:0 0 18px; font-size:13px}
  .ck-foot{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto}
  .ck-price .p{font-family:var(--font-display); font-weight:600; font-size:1.7rem; line-height:1}

  /* drips catalog */
  .chips{display:flex; gap:9px; flex-wrap:wrap; margin-bottom:22px}
  .chip{border-radius:var(--r-pill); padding:9px 16px; font-size:14px; font-weight:600; color:var(--ink-2); background:var(--surface); box-shadow:inset 0 0 0 1px var(--line); transition:all .12s}
  .chip:hover{box-shadow:inset 0 0 0 1px var(--accent); color:var(--accent)}
  .chip[aria-pressed="true"]{background:var(--ink); color:var(--surface); box-shadow:none}
  .cat-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:32px}
  .cat-arrows{display:flex; gap:10px; flex:0 0 auto}
  .cat-arrow{width:48px; height:48px; border-radius:50%; background:var(--surface); box-shadow:inset 0 0 0 1.5px var(--line); display:grid; place-items:center; transition:box-shadow .15s, color .15s, opacity .15s}
  .cat-arrow:hover{box-shadow:inset 0 0 0 1.5px var(--accent); color:var(--accent)}
  .cat-arrow[disabled]{opacity:.3; pointer-events:none}
  .cat-scroller{overflow-x:auto; scrollbar-width:none; scroll-behavior:smooth; overscroll-behavior-x:contain; scroll-snap-type:x proximity; padding-block:6px 14px}
  .cat-scroller::-webkit-scrollbar{display:none}
  .cat-track{display:flex; gap:20px; width:max-content; padding-inline:max(var(--pad-x), calc((100vw - var(--container)) / 2 + var(--pad-x)))}
  .dcard{width:290px; flex:none; scroll-snap-align:start; background:var(--surface); border-radius:var(--r-l); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s}
  .dcard:hover{transform:translateY(-4px); box-shadow:var(--shadow-lift)}
  .dcard-ph{aspect-ratio:1/1; background:#fff}
  .dcard-ph img{width:100%; height:100%; object-fit:cover; display:block}
  .dcard-b{padding:20px; display:flex; flex-direction:column; flex:1}
  .dcard-tag{align-self:flex-start; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--accent); background:var(--accent-soft); padding:4px 10px; border-radius:var(--r-pill); margin-bottom:12px}
  .dcard h3{margin:0 0 8px; font-size:1.2rem}
  .dcard .desc{font-size:14px; color:var(--ink-2); line-height:1.5; margin-bottom:18px; flex:1}
  .dcard-foot{display:flex; align-items:flex-end; justify-content:space-between; gap:10px; padding-top:16px; border-top:1px solid var(--line-2); margin-bottom:16px}
  .dcard .prow{display:flex; flex-direction:column; gap:2px}
  .dcard .prow .now{font-family:var(--font-display); font-weight:600; font-size:1.5rem; line-height:1}
  .dcard .prow .course{font-size:12.5px; color:var(--muted)}
  .dcard .dur{display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--ink-2); white-space:nowrap}
  .dcard .dur svg{color:var(--accent)}
  .dcard .acts{display:flex; gap:8px}
  .dcard .acts .btn{flex:1; padding-inline:8px}
  .dcard-ph--soon{display:grid; place-items:center; position:relative; overflow:hidden; background:linear-gradient(160deg,var(--accent-soft),var(--surface-2))}
  .dcard-ph--soon::before{content:""; position:absolute; width:46%; aspect-ratio:1; background:var(--accent); opacity:.22; -webkit-mask:url(../bird.svg) center/contain no-repeat; mask:url(../bird.svg) center/contain no-repeat}
  .dcard-ph--soon span{position:absolute; bottom:14px; font-size:12px; font-weight:600; color:var(--accent-ink); background:var(--surface); padding:4px 12px; border-radius:var(--r-pill)}
  .dcard-note{display:block; margin-top:12px; font-size:12px; color:var(--muted); text-align:center}
  @media (max-width:640px){ .cat-head{align-items:flex-start} .cat-arrows{display:none} .dcard{width:80vw} }
  .catalog-foot{margin-top:22px; display:flex; gap:14px; align-items:center; justify-content:center; flex-wrap:wrap}

  /* how / diagnostic split */
  .split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,52px); align-items:center}
  .split-img{height:auto; width:100%; max-width:440px; margin-inline:auto; aspect-ratio:4/5; object-fit:cover; object-position:50% 50%; border-radius:var(--r-xl); box-shadow:var(--shadow-lift); display:block}
  .split .ph-box{aspect-ratio:5/4; min-height:280px}
  .feature-list{display:flex; flex-direction:column; gap:18px; margin-top:22px}
  .feature-list .fi{display:flex; gap:14px}
  .feature-list .fi .ic{flex:0 0 auto; width:44px; height:44px; border-radius:12px; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center}
  .feature-list .fi b{font-family:var(--font-text); display:block; font-size:16px; margin-bottom:3px}
  .feature-list .fi small{color:var(--ink-2); font-size:14px; line-height:1.5}

  /* steps */
  .steps{display:grid; grid-template-columns:repeat(5,1fr); gap:20px; counter-reset:st; padding-top:30px}
  .stp{background:var(--surface); border-radius:var(--r-xl); padding:46px 22px 26px; box-shadow:var(--shadow); position:relative; display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s}
  .stp:hover{transform:translateY(-4px); box-shadow:var(--shadow-lift)}
  .stp .num{counter-increment:st; position:absolute; top:-30px; left:24px; width:60px; height:60px; border-radius:50%; background:var(--accent); color:#fff; font-family:var(--font-display); font-weight:600; font-size:1.7rem; line-height:1; display:grid; place-items:center; box-shadow:0 0 0 7px var(--ground), 0 12px 22px -8px color-mix(in srgb,var(--accent) 70%,transparent)}
  .stp .num::before{content:counter(st)}
  .stp:not(:last-child)::after{content:""; position:absolute; top:0; left:96px; width:calc(100% - 52px); border-top:2px dashed color-mix(in srgb,var(--accent) 35%,transparent); pointer-events:none}
  .stp .t{align-self:flex-start; font-size:13px; font-weight:600; letter-spacing:0; text-transform:none; color:var(--accent-ink); background:var(--accent-soft); padding:6px 12px; border-radius:var(--r-pill); margin-bottom:14px}
  .stp b{font-family:var(--font-text); display:block; font-size:1.2rem; line-height:1.2; margin-bottom:8px}
  .stp p{font-size:14.5px; line-height:1.5; color:var(--ink-2)}
  @media (max-width:900px){ .stp:not(:last-child)::after{display:none} .steps{gap:40px 18px} }
  @media (min-width:561px) and (max-width:900px){ .steps{grid-template-columns:repeat(2,1fr)} }

  /* doctors */
  .docs{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
  .doc{background:var(--surface); border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s}
  .doc:hover{transform:translateY(-5px); box-shadow:var(--shadow-lift)}
  .dph{position:relative; aspect-ratio:1/1; background:var(--accent-soft); overflow:hidden}
  .dph img{width:100%; height:100%; object-fit:cover; object-position:50% 8%; display:block; mix-blend-mode:multiply; transition:transform .5s}
  .doc:hover .dph img{transform:scale(1.04)}
  .dtag{position:absolute; left:16px; top:16px; background:#fff; color:var(--accent-ink); font-size:12px; font-weight:700; letter-spacing:.04em; padding:7px 13px; border-radius:var(--r-pill); box-shadow:0 4px 14px rgba(27,22,32,.12)}
  .doc .db{padding:22px 24px 26px; display:flex; flex-direction:column; gap:10px; flex:1}
  .doc h3{font-size:1.3rem; line-height:1.2; margin:0}
  .doc .spec{font-size:14.5px; color:var(--ink-2); line-height:1.5; margin:0}
  .dlist{list-style:none; margin:4px 0 0; padding:14px 0 0; border-top:1px solid var(--line-2); display:flex; flex-direction:column; gap:10px}
  .dlist li{display:flex; gap:10px; font-size:13.5px; line-height:1.45; color:var(--ink-2)}
  .dlist svg{flex:0 0 auto; color:var(--accent); margin-top:3px}
  .dexp{align-self:flex-start; display:inline-flex; align-items:center; gap:8px; margin-top:4px; background:var(--accent-soft); color:var(--accent-ink); font-size:13.5px; font-weight:700; padding:8px 14px; border-radius:var(--r-pill)}

  /* ratings */
  .ratings{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
  .rat{background:var(--surface); border-radius:var(--r-xl); padding:30px 26px 28px; box-shadow:var(--shadow); display:flex; flex-direction:column; align-items:center; text-align:center; transition:transform .2s, box-shadow .2s}
  .rat:hover{transform:translateY(-4px); box-shadow:var(--shadow-lift)}
  .rat-media{height:96px; display:flex; align-items:center; justify-content:center; margin-bottom:16px}
  .rat-ic{width:84px; height:84px; border-radius:26px; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center; box-shadow:0 0 0 7px var(--surface-2)}
  .rat .src{font-family:var(--font-text); font-weight:700; font-size:1.2rem; margin-bottom:6px}
  .rat-stars{color:var(--star); letter-spacing:4px; font-size:17px; margin-bottom:12px; line-height:1}
  .rat-tx{color:var(--ink-2); font-size:14.5px; line-height:1.5; margin:0 0 22px; flex:1; max-width:30ch}
  .rat .rat-btn{display:inline-flex; align-items:center; gap:8px; margin-top:0; padding:12px 22px; border-radius:var(--r-pill); background:var(--accent-soft); color:var(--accent-ink); font-weight:600; font-size:14.5px; transition:background .15s, color .15s}
  .rat .rat-btn:hover{background:var(--accent); color:#fff}
  .rat .pd-badge{display:block; margin:0}
  .pd-badge img{display:block; height:96px; width:auto; max-width:100%; border-radius:12px}

  /* reviews */
  .reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
  .rev{background:var(--surface); border-radius:var(--r-l); padding:22px; box-shadow:var(--shadow)}
  .rev .stars{color:var(--star); letter-spacing:2px; margin-bottom:12px}
  .rev p{font-size:14px; color:var(--ink-2); line-height:1.55; margin-bottom:14px}
  .rev .who{display:flex; align-items:center; justify-content:space-between; font-size:13px}
  .rev .who b{font-family:var(--font-text)}
  .rev .who .src{color:var(--muted)}

  /* promos */
  .promos{display:grid; grid-template-columns:repeat(4,1fr); gap:20px}
  @media (min-width:901px) and (max-width:1180px){ .promos{grid-template-columns:repeat(2,1fr)} }
  .promo{position:relative; overflow:hidden; isolation:isolate; background:var(--surface); border-radius:var(--r-xl); padding:28px; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s}
  .promo:hover{transform:translateY(-4px); box-shadow:var(--shadow-lift)}
  .promo::before{content:""; position:absolute; z-index:-1; right:-70px; top:-70px; width:210px; aspect-ratio:1; border-radius:50%; background:var(--accent-soft)}
  .pr-top{display:flex; align-items:center; gap:12px; margin-bottom:26px}
  .pr-ic{width:48px; height:48px; border-radius:50%; background:var(--accent); color:#fff; display:grid; place-items:center; flex:none; box-shadow:0 8px 18px -8px color-mix(in srgb,var(--accent) 70%,transparent)}
  .pr-tag{font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-ink); background:var(--accent-soft); padding:6px 12px; border-radius:var(--r-pill)}
  .pr-big{font-family:var(--font-display); font-weight:600; font-size:clamp(3rem,5vw,4.2rem); line-height:1; color:var(--accent); margin-bottom:14px}
  .pr-big--word{font-size:clamp(2.2rem,3.6vw,3rem); line-height:1.1; padding:.12em 0}
  .promo h3{font-size:1.2rem; line-height:1.25; margin:0 0 8px}
  .promo p{font-size:14.5px; line-height:1.5; color:var(--ink-2); margin:0 0 22px; flex:1}
  .pr-dl{font-size:13.5px; font-weight:600; color:var(--accent-ink); margin:-10px 0 16px}
  .pr-btn{align-self:flex-start; display:inline-flex; align-items:center; gap:10px; padding:5px 5px 5px 20px; min-height:46px; border-radius:var(--r-pill); background:var(--accent-soft); color:var(--accent-ink); font-weight:600; font-size:15px; transition:background .15s, color .15s}
  .pr-btn .arr{width:36px; height:36px; border-radius:50%; background:var(--accent); color:#fff; display:grid; place-items:center; font-style:normal; transition:transform .15s}
  .pr-btn:hover{background:var(--accent); color:#fff}
  .pr-btn:hover .arr{background:#fff; color:var(--accent); transform:translateX(3px)}

  /* faq */
  .faq-split{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(28px,5vw,72px); align-items:start}
  .faq-side{position:sticky; top:110px}
  .faq-ask{margin-top:26px}
  .faq details{background:var(--surface); border-radius:var(--r-m); box-shadow:var(--shadow); margin-bottom:12px; overflow:hidden}
  .faq summary{list-style:none; padding:18px 20px; font-weight:600; font-size:15.5px; display:flex; gap:12px; align-items:center; cursor:pointer}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary .q{flex:1}
  .faq summary .pm{flex:0 0 auto; color:var(--accent); transition:transform .2s}
  .faq details[open] summary .pm{transform:rotate(45deg)}
  .faq .ans{padding:0 20px 18px; font-size:14px; color:var(--ink-2); line-height:1.55}

  /* contacts + form */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px}
  .contact-card{background:var(--surface); border-radius:var(--r-l); padding:26px; box-shadow:var(--shadow)}
  .cline{display:flex; gap:13px; padding:12px 0; border-bottom:1px solid var(--line-2)}
  .cline:last-child{border-bottom:0}
  .cline .ic{color:var(--accent); flex:0 0 auto}
  .cline b{font-family:var(--font-text); display:block; font-size:15px}
  .cline small{color:var(--muted); font-size:13px}
  .route-btns{display:flex; gap:10px; margin-top:16px; flex-wrap:wrap}

  .form{background:var(--surface); border-radius:var(--r-xl); padding:28px; box-shadow:var(--shadow-lift)}
  .form h2{font-size:1.5rem; margin-bottom:6px}
  .form .lead{color:var(--ink-2); margin-bottom:20px}
  .field{margin-bottom:14px}
  .field label{display:block; font-size:13px; font-weight:600; color:var(--ink-2); margin-bottom:6px}
  .field input{width:100%; font-size:16px; padding:13px 14px; border-radius:var(--r-s); background:var(--surface-2); color:var(--ink); border:1px solid var(--line)}
  .field input:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
  .radio-row{display:flex; gap:8px}
  .radio-row label{flex:1; display:flex; align-items:center; justify-content:center; gap:6px; border-radius:var(--r-s); padding:11px 6px; font-size:13.5px; font-weight:600; color:var(--ink-2); background:var(--surface-2); border:1px solid var(--line); cursor:pointer; margin:0}
  .radio-row input{accent-color:var(--accent)}
  .consent{display:flex; gap:10px; align-items:flex-start; font-size:12.5px; color:var(--muted); margin:6px 0 16px; line-height:1.45}
  .consent input{margin-top:2px; width:18px; height:18px; accent-color:var(--accent); flex:0 0 auto}
  .consent a{color:var(--accent); text-decoration:underline}

  /* footer */

  /* mobile drawer */
  .drawer{position:fixed; inset:0; z-index:190; background:var(--surface); transform:translateX(100%); transition:transform .25s; display:flex; flex-direction:column; padding-top:env(safe-area-inset-top,0px)}
  .drawer.open{transform:translateX(0)}
  .drawer-top{display:flex; align-items:center; padding:14px var(--pad-x); border-bottom:1px solid var(--line)}
  .drawer-top .close{margin-left:auto; width:44px; height:44px; display:grid; place-items:center; border-radius:var(--r-s); box-shadow:inset 0 0 0 1px var(--line)}
  .drawer-body{overflow-y:auto; padding:8px var(--pad-x) 24px}
  .drawer details{border-bottom:1px solid var(--line-2)}
  .drawer summary{list-style:none; padding:15px 4px; font-weight:600; font-size:17px; display:flex; align-items:center; gap:10px; cursor:pointer}
  .drawer summary::-webkit-details-marker{display:none}
  .drawer summary .pm{margin-left:auto; color:var(--accent); transition:transform .2s}
  .drawer details[open] summary .pm{transform:rotate(45deg)}
  .drawer .sub{padding:0 4px 12px}
  .drawer .sub a{display:flex; gap:10px; align-items:center; padding:9px 0; color:var(--ink-2); font-size:15px}
  .drawer .sub a .thumb{width:38px; height:38px; border-radius:9px}
  .drawer .sub a .thumb svg{width:18px; height:18px}
  .drawer .flat{padding:15px 4px; font-weight:600; font-size:17px; display:block; border-bottom:1px solid var(--line-2)}
  .drawer-cta{margin-top:18px; display:flex; flex-direction:column; gap:10px}

  .mf{position:fixed; inset:0; z-index:300; background:var(--surface); display:flex; flex-direction:column; padding-top:env(safe-area-inset-top,0px)}
  .mf[hidden]{display:none}
  .mf-top{display:flex; align-items:center; justify-content:space-between; padding:10px var(--pad-x); border-bottom:1px solid var(--line); font-family:var(--font-display); font-size:1.2rem; text-transform:uppercase}
  .mf-close{width:44px; height:44px; border-radius:var(--r-s); box-shadow:inset 0 0 0 1px var(--line); display:grid; place-items:center}
  .mf-body{flex:1; position:relative}
  .mf-body iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
  .mf-load{position:absolute; inset:0; display:grid; place-items:center; color:var(--muted); font-size:14px}
  /* mobile bottom bar */
  .actionbar{display:none}

  /* ── responsive ── */
  @media (max-width:1080px){
    .trust{grid-template-columns:repeat(2,1fr)}
    .progs{grid-template-columns:repeat(2,1fr)}
    .mega-grid{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width:900px){
    nav.main{display:none}
    .tel-wrap{display:none}
  .burger{display:flex}
    .hero-grid,.split,.contact-grid,.faq-split{grid-template-columns:1fr}
    .hero-media{order:-1}
    .paths,.checkups,.docs,.ratings,.reviews,.promos,.steps{grid-template-columns:1fr}
    .foot-in{grid-template-columns:1fr 1fr}
    .actionbar{position:fixed; left:0; right:0; bottom:0; z-index:120; display:flex; gap:8px; padding:9px var(--pad-x); padding-bottom:calc(9px + env(safe-area-inset-bottom,0px)); background:color-mix(in srgb,var(--surface) 95%,transparent); backdrop-filter:blur(10px); border-top:1px solid var(--line)}
    .actionbar .btn{flex:1; min-height:52px; padding-inline:6px}
    body{padding-bottom:80px}
    .foot-bottom .warn{margin-left:0}
  }
  @media (max-width:560px){
    .trust,.foot-in{grid-template-columns:1fr}
  }
  @media (prefers-reduced-motion:reduce){*{transition:none!important}}

  /* modal */
  .modal{position:fixed; inset:0; z-index:210; display:none; align-items:center; justify-content:center; padding:20px; background:rgba(10,18,25,.55)}
  .modal.open{display:flex}
  .modal-card{width:100%; max-width:440px; background:var(--surface); border-radius:var(--r-xl); padding:28px; box-shadow:var(--shadow-lift)}
  .modal-card h3{font-size:20px; margin-bottom:10px}
  .modal-card p{color:var(--ink-2); font-size:14.5px}
  .modal-card .btn{margin-top:20px}
  @media (max-width:560px){ .modal{align-items:flex-end; padding:0} .modal-card{max-width:100%; border-radius:var(--r-xl) var(--r-xl) 0 0; padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))} }

  @media (max-width:1180px) and (min-width:901px){ .checkups{grid-template-columns:repeat(2,1fr)} }
  @media (min-width:561px) and (max-width:900px){ .checkups{grid-template-columns:repeat(2,1fr)} }
  .gal{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:220px; gap:12px}
  .gal-i{position:relative; padding:0; border-radius:var(--r-l); overflow:hidden; background:var(--surface-2); box-shadow:var(--shadow); cursor:zoom-in}
  .gal-i img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s}
  .gal-i:hover img{transform:scale(1.05)}
  .gi-entrance,.gi-room{grid-row:span 2}
  .gi-facade{grid-column:span 2; grid-row:span 2}
  .gi-reception,.gi-sofa,.gi-restroom{grid-column:span 2}
  .gi-restroom img{object-position:50% 60%}
  .lb{position:fixed; inset:0; z-index:320; background:rgba(20,14,19,.92); display:flex; align-items:center; justify-content:center; padding:56px 64px}
  .lb[hidden]{display:none}
  .lb img{max-width:100%; max-height:100%; object-fit:contain; border-radius:12px}
  .lb-x,.lb-n{position:absolute; width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.14); color:#fff; display:grid; place-items:center; transition:background .2s}
  .lb-x:hover,.lb-n:hover{background:rgba(255,255,255,.28)}
  .lb-x{top:14px; right:14px}
  .lb-prev{left:12px; top:50%; transform:translateY(-50%)}
  .lb-next{right:12px; top:50%; transform:translateY(-50%)}
  @media (max-width:900px){ .gal{grid-auto-rows:170px} }
  @media (max-width:640px){
    .gal{grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; gap:8px; grid-auto-flow:dense}
    .gi-entrance,.gi-room{grid-row:span 2}
    .gi-facade{grid-column:span 2; grid-row:span 1}
    .gi-reception,.gi-sofa,.gi-restroom{grid-column:span 2}
    .lb{padding:56px 8px}
    .lb-prev{left:6px} .lb-next{right:6px}
  }
  @media (max-width:900px){ .faq-side{position:static} }
  .map-sec{padding:0}
  .map-wrap{position:relative}
  .map-canvas{height:480px; background:var(--accent-soft); position:relative; overflow:hidden}
  .map-canvas iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
  .map-ph{position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:14px; background:linear-gradient(160deg,var(--accent-soft),var(--surface-2))}
  .map-ph::before{content:""; position:absolute; right:12%; top:50%; width:340px; aspect-ratio:1; transform:translateY(-50%) rotate(-8deg); background:var(--accent); opacity:.1; -webkit-mask:url(../bird.svg) center/contain no-repeat; mask:url(../bird.svg) center/contain no-repeat}
  .map-pin{width:60px; height:60px; border-radius:50%; background:var(--accent); color:#fff; display:grid; place-items:center; box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 16%,transparent); position:relative}
  .map-ph .btn{position:relative}
  .map-card{position:absolute; left:0; right:0; bottom:28px; pointer-events:none}
  .map-card-in{pointer-events:auto; max-width:400px; background:var(--surface); border-radius:var(--r-xl); padding:24px; box-shadow:var(--shadow-lift); display:flex; flex-direction:column; gap:12px}
  .map-addr b{display:block; font-family:var(--font-text); font-size:1.1rem; line-height:1.25}
  .map-addr small{color:var(--muted); font-size:13.5px}
  .map-meta{display:flex; flex-wrap:wrap; gap:8px}
  .map-meta span{background:var(--accent-soft); color:var(--accent-ink); font-size:13px; font-weight:600; padding:6px 12px; border-radius:var(--r-pill)}
  .map-btns{display:flex; flex-direction:column; gap:8px}
  .map-btns .btn{justify-content:space-between}
  @media (max-width:640px){
    .map-canvas{height:300px}
    .map-card{position:static; pointer-events:auto; margin-top:-28px}
    .map-card-in{max-width:none; padding:20px; position:relative}
  }
  .consent a{padding-block:6px; display:inline-block}
  a.logo{min-height:44px}
  .fab-book{display:none}
  @media (min-width:769px){
    .fab-book{position:fixed; right:28px; bottom:28px; z-index:130; display:inline-flex; align-items:center; gap:12px; height:58px; padding:0 24px 0 9px; border-radius:var(--r-pill); background:var(--accent); color:#fff; font-weight:700; font-size:15px; letter-spacing:.01em; box-shadow:0 14px 34px -10px color-mix(in srgb,var(--accent) 70%,transparent), 0 2px 6px rgba(27,22,32,.12); opacity:0; transform:translateY(24px) scale(.96); pointer-events:none; transition:opacity .5s, transform .5s cubic-bezier(.2,.8,.2,1), background .2s, box-shadow .2s}
    .fab-book.show{opacity:1; transform:none; pointer-events:auto}
    .fab-book:hover{background:var(--accent-strong); transform:translateY(-3px); box-shadow:0 20px 40px -12px color-mix(in srgb,var(--accent) 80%,transparent), 0 2px 6px rgba(27,22,32,.14)}
    .fab-book:active{transform:translateY(0) scale(.98)}
    .fab-book::before{content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 45%,transparent); animation:fabPulse 3.2s ease-out infinite; pointer-events:none}
    .fab-ic{width:40px; height:40px; border-radius:50%; background:#fff; color:var(--accent); display:grid; place-items:center; flex:none; animation:fabBob 3.2s ease-in-out infinite}
    .fab-book:hover .fab-ic{animation-duration:1.2s}
    .mf{left:auto; width:min(480px,100vw); box-shadow:-24px 0 60px -20px rgba(20,14,19,.35); animation:mfIn .35s cubic-bezier(.2,.8,.2,1)}
  }
  @keyframes fabPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 45%,transparent)} 70%,100%{box-shadow:0 0 0 18px transparent}}
  @keyframes fabBob{0%,60%,100%{transform:rotate(0)} 70%{transform:rotate(-10deg)} 80%{transform:rotate(8deg)} 90%{transform:rotate(-4deg)}}
  @keyframes mfIn{from{transform:translateX(40px); opacity:0} to{transform:none; opacity:1}}
  @media (prefers-reduced-motion:reduce){ .fab-book::before,.fab-ic{animation:none!important} .mf{animation:none!important} }
  .modal-card.lm-card,.modal-card.ckm-card{position:relative; text-align:left; max-height:calc(100vh - 32px); overflow-y:auto}
  .modal-card.lm-card{max-width:460px}
  .modal-card.ckm-card{max-width:640px}
  .lm-x{position:absolute; top:12px; right:12px; width:40px; height:40px; border-radius:50%; background:var(--surface-2); color:var(--ink-2); display:grid; place-items:center; transition:background .15s, color .15s}
  .lm-x:hover{background:var(--accent-soft); color:var(--accent)}
  .lm-card h3,.ckm-card h3{font-family:var(--font-display); font-size:1.7rem; font-weight:600; text-transform:uppercase; line-height:1.08; margin:0 36px 8px 0}
  .lm-sub{color:var(--ink-2); font-size:14.5px; line-height:1.5; margin:0 0 18px}
  .lm-card .field textarea{width:100%; font:inherit; font-size:16px; padding:13px 14px; border-radius:var(--r-s); background:var(--surface-2); color:var(--ink); border:1px solid var(--line); resize:vertical}
  .lm-card .field textarea:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent)}
  .lm-card .btn-block,.ckm-card .btn-block{margin-top:10px}
  .hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0}
  .err-msg{display:none; color:#C0262D; font-size:12.5px; font-weight:600; margin-top:6px}
  .err-msg.show{display:block}
  .field input.invalid,.field textarea.invalid{border-color:#C0262D}
  .lm-ok{width:64px; height:64px; border-radius:50%; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center; margin:0 0 16px}
  #lmDone .btn{margin-top:10px}
  .ckm-price{display:inline-block; font-family:var(--font-display); font-size:1.5rem; font-weight:600; color:var(--accent); background:var(--accent-soft); padding:6px 16px; border-radius:var(--r-pill); margin:2px 0 14px}
  .ckm-h{font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin:6px 0 10px}
  .ckm-list{list-style:none; margin:0 0 6px; padding:0; columns:2; column-gap:28px}
  .ckm-list li{display:flex; gap:9px; font-size:14px; line-height:1.4; color:var(--ink-2); padding:5px 0; break-inside:avoid}
  .ckm-list li svg{flex:0 0 auto; color:var(--accent); margin-top:3px}
  .ck-open{display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; padding:14px 0; margin:0 0 14px; border-top:1px solid var(--line-2); font-size:14px; font-weight:600; color:var(--accent-ink); text-align:left}
  .ck-open svg{color:var(--accent); transition:transform .15s}
  .ck-open:hover svg{transform:translateX(3px)}
  @media (max-width:640px){ .ckm-list{columns:1} .lm-card h3,.ckm-card h3{font-size:1.45rem} }
  @media (max-width:1240px){ nav.main{display:none} .burger{display:flex} .hdr .sp{display:block} }
  .contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:stretch}
  .contact-card{position:relative; overflow:hidden; background:var(--accent-soft); border-radius:var(--r-xl); padding:clamp(28px,3.4vw,44px); box-shadow:none; display:flex; flex-direction:column; isolation:isolate}
  .contact-card::after{content:""; position:absolute; z-index:-1; right:-40px; bottom:-30px; width:260px; aspect-ratio:1; background:var(--accent); opacity:.07; -webkit-mask:url(../bird.svg) center/contain no-repeat; mask:url(../bird.svg) center/contain no-repeat; transform:rotate(-8deg)}
  .contact-card .eyebrow{align-self:flex-start; background:#fff}
  .cc-h{font-size:clamp(1.8rem,3vw,2.4rem); margin:0 0 22px}
  .contact-card .cline{display:flex; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid color-mix(in srgb,var(--accent) 14%,transparent)}
  .contact-card .cline:last-of-type{border-bottom:0}
  .contact-card .cline .ic{width:52px; height:52px; border-radius:50%; background:#fff; color:var(--accent); display:grid; place-items:center; flex:none; box-shadow:0 4px 14px -6px color-mix(in srgb,var(--accent) 40%,transparent)}
  .contact-card .cline b{font-size:1.1rem; line-height:1.3; display:block}
  .contact-card .cline small{display:block; font-size:14.5px; color:var(--ink-2); margin-top:2px}
  .contact-card .cline b a{overflow-wrap:anywhere}
  .cc-btns{display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; padding-top:22px}
  .cc-btns .btn{flex:1 1 150px}
  .cform{padding:clamp(28px,3.4vw,44px); display:flex; flex-direction:column}
  .cform .eyebrow{align-self:flex-start}
  .cform h2{font-size:clamp(1.8rem,3vw,2.4rem); margin:0 0 10px}
  .cform .lead{font-size:15.5px; line-height:1.5; color:var(--ink-2); margin:0 0 24px}
  .cform .field{margin-bottom:18px}
  .cform .field label{font-size:13.5px; color:var(--ink); font-weight:700; margin-bottom:8px}
  .cform .field input[type=text],.cform .field input[type=tel]{height:56px; padding:0 18px; font-size:16.5px; border-radius:14px; background:var(--surface-2); border:1.5px solid transparent; transition:border-color .15s, background .15s, box-shadow .15s}
  .cform .field input[type=text]:focus,.cform .field input[type=tel]:focus{background:#fff; border-color:var(--accent); outline:0; box-shadow:0 0 0 4px var(--accent-soft)}
  .cform .field input.invalid{border-color:#C0262D}
  .chip-row{display:flex; flex-wrap:wrap; gap:8px}
  .cchip{flex:1 1 0; min-width:92px; margin:0!important; cursor:pointer; position:relative}
  .cchip input{position:absolute; opacity:0; pointer-events:none}
  .cchip span{display:flex; align-items:center; justify-content:center; height:48px; border-radius:var(--r-pill); background:var(--surface-2); color:var(--ink-2); font-weight:600; font-size:14.5px; transition:background .15s, color .15s, box-shadow .15s}
  .cchip:hover span{background:var(--accent-soft)}
  .cchip input:checked+span{background:var(--accent); color:#fff; box-shadow:0 8px 18px -8px color-mix(in srgb,var(--accent) 70%,transparent)}
  .cchip input:focus-visible+span{outline:2px solid var(--accent); outline-offset:2px}
  .cform .consent{margin:4px 0 6px; font-size:13px}
  .btn-lg{min-height:58px; font-size:16.5px}
  .cform .btn-lg svg{transition:transform .15s}
  .cform .btn-lg:hover svg{transform:translateX(4px)}
  .cf-note{text-align:center; font-size:13px; color:var(--muted); margin:12px 0 0}
  .cf-done{text-align:center; display:grid; justify-items:center; padding:30px 0}
  .cf-done[hidden]{display:none}
  .cform.sent > *:not(.cf-done){display:none}
  @media (max-width:900px){ .contact-grid{grid-template-columns:minmax(0,1fr)} }
  @media (max-width:560px){ .contact-card .cline .ic{width:46px; height:46px} .cc-h{margin-bottom:14px} }  .ckm-grid{display:block}
  .ckm-grid.has-ph{display:grid; grid-template-columns:230px minmax(0,1fr); gap:28px; align-items:start}
  .ckm-ph{border-radius:var(--r-l); overflow:hidden; background:var(--accent-soft); aspect-ratio:4/5}
  .ckm-ph img{width:100%; height:100%; object-fit:cover; display:block}
  .modal-card.ckm-card:has(.has-ph){max-width:820px}
  .ckm-grid.has-ph .ckm-list{columns:1}
  @media (max-width:640px){ .ckm-grid.has-ph{grid-template-columns:1fr; gap:16px} .ckm-ph{aspect-ratio:16/10} }  .fab-book,.hdr .btn[data-book],.actionbar #mfOpen{background-color:var(--accent); background-image:linear-gradient(105deg, transparent 36%, rgba(255,255,255,.42) 50%, transparent 64%); background-repeat:no-repeat; background-size:260% 100%; background-position:170% 0; animation:btnShine 4.6s cubic-bezier(.4,0,.2,1) infinite}
  .fab-book:hover,.hdr .btn[data-book]:hover,.actionbar #mfOpen:hover{background-color:var(--accent-strong)}
  .hdr .btn[data-book]{animation-delay:.6s}
  @keyframes btnShine{0%{background-position:170% 0} 32%,100%{background-position:-70% 0}}
  @media (prefers-reduced-motion:reduce){ .fab-book,.hdr .btn[data-book],.actionbar #mfOpen{animation:none; background-image:none} }  @media (min-width:561px) and (max-width:900px){ .steps{grid-template-columns:repeat(2,1fr)!important} }
  .vids{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
  .vid{position:relative; display:block; padding:0; border-radius:var(--r-xl); overflow:hidden; background:var(--accent-soft); aspect-ratio:9/15; box-shadow:var(--shadow); text-align:left; cursor:pointer; transition:transform .2s, box-shadow .2s; isolation:isolate}
  .vid:hover{transform:translateY(-4px); box-shadow:var(--shadow-lift)}
  .vid video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; pointer-events:none}
  .vid::after{content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(27,22,32,0) 45%,rgba(27,22,32,.72) 100%)}
  .vid-play{position:absolute; z-index:2; left:50%; top:46%; width:62px; height:62px; margin:-31px 0 0 -31px; border-radius:50%; background:rgba(255,255,255,.92); color:var(--accent); display:grid; place-items:center; box-shadow:0 0 0 8px rgba(255,255,255,.22); transition:transform .2s}
  .vid-play svg{margin-left:3px}
  .vid:hover .vid-play{transform:scale(1.08)}
  .vid-dur{position:absolute; z-index:2; top:14px; right:14px; background:rgba(27,22,32,.6); color:#fff; font-size:12px; font-weight:600; padding:4px 10px; border-radius:var(--r-pill)}
  .vid-cap{position:absolute; z-index:2; left:16px; right:16px; bottom:16px; color:#fff}
  .vid-cap b{display:block; font-family:var(--font-text); font-size:1.05rem; line-height:1.2; margin-bottom:3px}
  .vid-cap small{display:block; font-size:13px; opacity:.88}
  .vm{position:fixed; inset:0; z-index:330; background:rgba(20,14,19,.94); display:flex; align-items:center; justify-content:center; padding:56px 16px 24px}
  .vm[hidden]{display:none}
  .vm video{max-width:100%; max-height:100%; border-radius:14px; background:#000}
  @media (max-width:900px){ .vids{grid-template-columns:repeat(2,1fr)} }
  @media (max-width:640px){
    .vids{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:var(--pad-x); gap:12px; margin-inline:calc(var(--pad-x) * -1); padding-inline:var(--pad-x); scrollbar-width:none}
    .vids::-webkit-scrollbar{display:none}
    .vid{flex:0 0 66vw; max-width:280px; scroll-snap-align:start}
  }  .lic-strip-sec{margin-top:clamp(28px,4vw,48px)}
  .lic-strip{display:flex; align-items:center; gap:18px; background:var(--surface); border-radius:var(--r-xl); padding:16px 20px; box-shadow:var(--shadow); flex-wrap:wrap}
  .lic-ic{width:52px; height:52px; border-radius:50%; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center; flex:none}
  .lic-tx{flex:1; min-width:220px}
  .lic-tx b{display:block; font-family:var(--font-text); font-size:1.05rem; line-height:1.25}
  .lic-tx small{display:block; font-size:14px; color:var(--ink-2); margin-top:2px}
  .lic-btn{display:inline-flex; align-items:center; gap:10px; padding:12px 20px; border-radius:var(--r-pill); background:var(--accent-soft); color:var(--accent-ink); font-weight:600; font-size:14.5px; transition:background .15s, color .15s}
  .lic-btn:hover{background:var(--accent); color:#fff}
  .lic-grid{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:center}
  .lic-main .eyebrow{margin-bottom:16px}
  .lic-main h2{margin-bottom:6px}
  .lic-lead{font-family:var(--font-text); font-weight:500; font-size:clamp(1.05rem,2.2vw,1.25rem); line-height:1.45; color:var(--ink); max-width:40ch; margin:14px 0 22px}
  .lic-lead span{color:var(--accent)}
  .lic-dl{margin:0 0 26px; display:flex; flex-direction:column}
  .lic-dl div{display:flex; gap:16px; padding:13px 0; border-bottom:1px solid var(--line-2)}
  .lic-dl dt{flex:0 0 150px; font-size:13.5px; color:var(--muted); font-weight:600}
  .lic-dl dd{margin:0; font-size:15.5px; font-weight:600; color:var(--ink)}
  .lic-acts{display:flex; flex-wrap:wrap; gap:10px}
  .lic-acts .btn{gap:8px}
  .lic-doc{padding:0; background:none; justify-self:center; width:min(100%,330px); cursor:zoom-in}
  .lic-sheet{position:relative; display:block; aspect-ratio:3/4; background:#fff; border-radius:var(--r-l); padding:30px 26px; box-shadow:var(--shadow-lift), 0 0 0 10px var(--accent-soft); transform:rotate(-2.5deg); transition:transform .25s; overflow:hidden}
  .lic-doc:hover .lic-sheet{transform:rotate(0) scale(1.02)}
  .lic-sheet i{display:block; height:8px; border-radius:4px; background:var(--line); margin-bottom:12px}
  .lic-sheet .l1{width:44%; background:color-mix(in srgb,var(--accent) 35%,transparent); height:10px; margin-bottom:22px}
  .lic-sheet .l3{width:84%} .lic-sheet .l4{width:92%} .lic-sheet .l5{width:60%}
  .lic-sheet em{display:block; font-style:normal; font-family:var(--font-display); font-size:1.3rem; line-height:1.15; text-transform:uppercase; color:var(--ink); margin-top:26px}
  .lic-sheet .seal{position:absolute; right:22px; bottom:22px; width:74px; height:74px; border-radius:50%; border:2px dashed var(--accent); color:var(--accent); display:grid; place-items:center; opacity:.55}
  .lic-sheet img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
  .modal-card.lic-card{position:relative; text-align:left; max-width:720px; max-height:calc(100vh - 32px); overflow-y:auto}
  .lic-card h3{font-family:var(--font-display); font-size:1.6rem; font-weight:600; text-transform:uppercase; line-height:1.1; margin:0 40px 6px 0}
  .lic-view img{width:100%; height:auto; border-radius:12px; display:block}
  .lic-none{background:var(--accent-soft); color:var(--accent-ink); border-radius:var(--r-m); padding:18px; font-size:14.5px; line-height:1.5; margin:0}
  @media (max-width:900px){ .lic-grid{grid-template-columns:minmax(0,1fr)} .lic-doc{order:-1; width:min(100%,260px); margin-bottom:10px} }
  @media (max-width:560px){ .lic-dl div{flex-direction:column; gap:2px} .lic-dl dt{flex:none} .lic-strip{padding:14px} .lic-btn{width:100%; justify-content:center} }  .logo b{font-family:"Playfair Display",Georgia,serif; font-weight:700; font-size:22px; letter-spacing:0; text-transform:none; line-height:1}
  .logo small{font-family:"Montserrat",var(--font-text); font-weight:600; font-size:10px; letter-spacing:.08em}
  .hdr .tel,.tel-link,.drawer .tel,footer .tel{font-family:"Montserrat",var(--font-text); font-weight:600; letter-spacing:0}
  .hdr .tel{font-size:15px}
  @media (min-width:1241px){ .hdr-in{gap:16px} nav.main{margin-left:0} nav.main > .navitem > a, nav.main > .navitem > button{padding:10px 9px; font-size:14.5px} }
  .fi .ic{width:56px; height:56px; border-radius:50%; background:var(--accent-soft); color:var(--accent); display:grid; place-items:center; flex:none; box-shadow:0 0 0 6px var(--surface-2)}
  .fi .ic svg{width:26px; height:26px; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round}
  .feature-list{gap:24px}  .lic-dl--m{margin:0 0 18px}
  .lic-dl--m dt{flex:0 0 150px}
  .lic-dl--m dd{font-size:14.5px; line-height:1.45}
  .lic-dl--m small{display:block; font-weight:500; color:var(--muted); font-size:13px; margin-top:2px}
  .lic-dl-btns{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:6px}
  .lic-reg-note{font-size:13px; color:var(--muted); margin:0 0 6px}
  .lic-view:empty,.lic-view:not(:has(img:not([hidden]))){display:none}
  @media (max-width:560px){ .lic-dl--m div{flex-direction:column; gap:2px} .lic-dl--m dt{flex:none} }  .about{display:grid; grid-template-columns:1fr 1fr; border-radius:var(--r-xl); overflow:hidden; background:var(--accent); box-shadow:var(--shadow-lift); min-height:460px}
  .about-ph{position:relative; min-height:320px}
  .about-ph img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block}
  .about-cap{position:absolute; left:20px; bottom:20px; right:20px; max-width:360px; background:rgba(255,255,255,.92); color:var(--ink); font-family:var(--font-text); font-weight:700; font-size:clamp(1rem,2vw,1.25rem); line-height:1.25; padding:14px 18px; border-radius:var(--r-m)}
  .about-tx{padding:clamp(28px,4.5vw,64px); color:#fff; display:flex; flex-direction:column; justify-content:center; background:radial-gradient(120% 120% at 100% 0%, color-mix(in srgb,var(--accent) 88%,#fff) 0%, var(--accent) 55%, var(--accent-strong) 100%)}
  .about-eb{font-size:13px; font-weight:600; letter-spacing:.06em; color:rgba(255,255,255,.85); margin-bottom:14px}
  .about-tx h2{color:#fff; margin:0 0 18px; font-size:clamp(2rem,3.6vw,3rem)}
  .about-tx p{font-size:clamp(.98rem,1.5vw,1.08rem); line-height:1.6; color:rgba(255,255,255,.93); margin:0 0 14px; max-width:46ch}
  .about-ic{list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:10px 0 28px; padding:0; max-width:380px}
  .about-ic li{display:flex; flex-direction:column; align-items:center; gap:10px; font-size:13px; font-weight:600; line-height:1.25; text-align:center; color:rgba(255,255,255,.92)}
  .about-ic span{width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,.16); box-shadow:inset 0 0 0 1px rgba(255,255,255,.35); display:grid; place-items:center; color:#fff}
  .about-btn{align-self:flex-start; background:#fff; color:var(--accent-ink); font-weight:700; font-size:15px; padding:14px 26px; border-radius:var(--r-pill); box-shadow:0 12px 24px -12px rgba(0,0,0,.4); transition:transform .15s, box-shadow .15s}
  .about-btn:hover{transform:translateY(-2px); box-shadow:0 16px 28px -12px rgba(0,0,0,.45)}
  @media (max-width:900px){ .about{grid-template-columns:minmax(0,1fr); min-height:0} .about-ph{aspect-ratio:4/3; min-height:0} }  .about-tx{position:relative; overflow:hidden; padding-left:clamp(28px,4.5vw,64px); padding-right:clamp(64px,9vw,140px)}
  .about-tx > *:not(.about-vert){position:relative; z-index:1}
  .about-vert{position:absolute; z-index:0; right:clamp(6px,1vw,18px); top:50%; transform:translateY(-50%) rotate(180deg); writing-mode:vertical-rl; font-family:var(--font-display); font-weight:700; text-transform:uppercase; font-size:clamp(46px,5.2vw,70px); line-height:1; letter-spacing:.1em; color:#fff; opacity:.12; white-space:nowrap; pointer-events:none; user-select:none}
  @media (max-width:900px){ .about-tx{padding-left:clamp(24px,6vw,44px); padding-right:clamp(52px,12vw,90px)} }  .mega-grid{gap:6px 10px}
  .mega-card{gap:14px; padding:10px 12px}
  .mega-card .mc-tx{display:flex; flex-direction:column; gap:3px; min-width:0}
  .mega-card .mc-tx b{font-size:14.5px; line-height:1.2}
  .mega-card .mc-tx small{font-size:12.5px; line-height:1.25}
  .mega-card .mc-tx .pr{font-size:13.5px; font-weight:700; margin-top:2px; white-space:nowrap}
  .thumb-img{padding:0; overflow:hidden; background:var(--accent-soft)}
  .thumb-img img{width:100%; height:100%; object-fit:cover; display:block}
  .thumb-bird{background:var(--accent-soft); position:relative}
  .thumb-bird::after{content:""; position:absolute; inset:12px; background:var(--accent); opacity:.5; -webkit-mask:url(../bird.svg) center/contain no-repeat; mask:url(../bird.svg) center/contain no-repeat}
  .mega-grid .thumb{width:56px; height:56px; border-radius:14px; flex:none}  footer.site{position:relative; overflow:hidden; background:#1A141B; color:rgba(255,255,255,.72); margin-top:0}
  .foot-glow{position:absolute; inset:0; background:radial-gradient(60% 70% at 100% 0%, rgba(214,30,147,.28) 0%, rgba(214,30,147,0) 60%), radial-gradient(40% 50% at 0% 100%, rgba(214,30,147,.12) 0%, rgba(214,30,147,0) 70%); pointer-events:none}
  .foot-wrap{position:relative; max-width:var(--container); margin:0 auto; padding-inline:var(--pad-x)}
  .foot-top{display:grid; grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)); gap:clamp(28px,4vw,64px); padding-block:clamp(48px,6vw,80px) clamp(36px,4vw,56px)}
  footer.site .logo b{color:#fff; font-size:26px}
  footer.site .logo b span{color:#F368B8}
  footer.site .logo small{color:rgba(255,255,255,.55)}
  footer.site .logo::before{background:#F368B8; width:36px; height:36px}
  .fb-tag{margin:18px 0 22px; font-size:14.5px; line-height:1.6; color:rgba(255,255,255,.66); max-width:36ch}
  .fb-phone{display:inline-block; font-family:"Montserrat",var(--font-text); font-weight:600; font-size:clamp(1.3rem,2vw,1.6rem); color:#fff!important; letter-spacing:0; margin-bottom:12px; white-space:nowrap}
  .fb-phone:hover{color:#F368B8!important}
  .fb-meta{display:flex; flex-direction:column; gap:6px; font-size:14px; color:rgba(255,255,255,.62); margin-bottom:24px}
  .fb-meta a{color:rgba(255,255,255,.62)}
  .fb-meta a:hover{color:#F368B8}
  .fb-btns{display:flex; flex-wrap:wrap; gap:10px}
  .fb-btn{display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border-radius:var(--r-pill); font-weight:600; font-size:14.5px; color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.28); transition:background .2s, box-shadow .2s, transform .15s}
  .fb-btn:hover{background:rgba(255,255,255,.1); transform:translateY(-2px)}
  .fb-btn--main{background:var(--accent); box-shadow:0 12px 24px -12px rgba(214,30,147,.8)}
  .fb-btn--main:hover{background:var(--accent-strong)}
  .foot-col h4{font-family:var(--font-text); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#F368B8; margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.12)}
  footer.site .foot-col a{display:block; position:relative; padding:8px 0; font-size:15px; color:rgba(255,255,255,.74); transition:color .15s, transform .15s}
  footer.site .foot-col a:hover{color:#fff; transform:translateX(4px)}
  .foot-legal{border-top:1px solid rgba(255,255,255,.12); padding-block:24px; display:flex; flex-direction:column; gap:6px}
  .foot-legal p{margin:0; font-size:12.5px; line-height:1.6; color:rgba(255,255,255,.5); max-width:96ch}
  .foot-legal a{color:rgba(255,255,255,.75); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(255,255,255,.3)}
  .foot-legal a:hover{color:#F368B8}
  .foot-mark{position:relative; font-family:var(--font-display); font-weight:700; text-transform:uppercase; text-align:center; white-space:nowrap; font-size:clamp(3.4rem,14.6vw,13.5rem); line-height:.92; letter-spacing:.02em; color:#fff; opacity:.05; margin:4px 0 0; pointer-events:none; user-select:none; overflow:hidden}
  .foot-bottom{position:relative; border-top:1px solid rgba(255,255,255,.1); background:rgba(0,0,0,.18)}
  .foot-bottom-in{display:flex; align-items:center; justify-content:space-between; gap:12px 28px; flex-wrap:wrap; padding-block:18px}
  .fb-copy{font-size:13px; color:rgba(255,255,255,.5)}
  .warn-plain{font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.7); line-height:1.4}
  @media (min-width:769px){ .foot-bottom-in{padding-right:calc(var(--pad-x) + 230px)} }
  @media (max-width:1000px){ .foot-top{grid-template-columns:repeat(3,minmax(0,1fr))} .foot-brand{grid-column:1/-1} }
  @media (max-width:640px){ .foot-top{grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 20px} .foot-brand{grid-column:1/-1} .foot-col:last-child{grid-column:1/-1} .foot-bottom-in{flex-direction:column; align-items:flex-start} }  .mega-title{font-size:13.5px; margin-bottom:14px}
  .mega-card{gap:16px; padding:12px 14px}
  .mega-grid .thumb{width:64px; height:64px; border-radius:16px}
  .mega-card .mc-tx b{font-size:16.5px; line-height:1.2}
  .mega-card .mc-tx small{font-size:14px}
  .mega-card .mc-tx .pr{font-size:15.5px}
  .mega-feat{padding:22px}
  .mega-feat .tag{font-size:12.5px}
  .mega-feat h4{font-size:21px}
  .mega-feat p{font-size:14.5px; line-height:1.5}
  .mega-foot a{font-size:15px}
  .mega-in{grid-template-columns:1fr 330px}  .drawer .sub a{display:flex; align-items:center; gap:14px; padding:10px 0; font-size:16px; color:var(--ink)}
  .drawer .sub a .thumb{width:44px; height:44px; border-radius:12px; flex:none}
  .drawer .sub a .thumb svg{width:20px; height:20px}
  .drawer .sub .dn{display:flex; flex-direction:column; gap:2px; min-width:0}
  .drawer .sub .dn b{font-size:16px; font-weight:600; line-height:1.2}
  .drawer .sub .dn small{font-size:14px; color:var(--accent-ink); font-weight:600}  .tel-link{display:inline-block; padding-block:7px}
  .fb-meta a,.foot-legal a{display:inline-block; padding-block:7px}
  .consent a{padding-block:8px}
  /* mobile / tablet refinements */
  @media (max-width:380px){ .hdr .btn-sm{display:none} .hdr-in{justify-content:space-between} .hdr .sp{display:none} }
  .burger{flex:none}
  .s-arrow::after{content:""; position:absolute; inset:-8px -4px}
  .s-arrow{position:relative}
  .link-more{padding-block:10px}
  .foot-col a{padding-block:9px}
  @media (min-width:561px) and (max-width:900px){
    .docs{grid-template-columns:repeat(3,1fr); gap:14px}
    .docs .doc h3{font-size:1.05rem}
    .docs .db{padding:16px 16px 20px}
    .progs{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width:560px){
    .contact-grid,.hero-grid,.split{grid-template-columns:minmax(0,1fr)}
    .cline b,.cline small,.foot-col a{overflow-wrap:anywhere}
    .radio-row{flex-wrap:wrap}
    .radio-row label{font-size:13px; padding-inline:6px; flex:1 1 92px; min-width:0}
    .btn{white-space:normal; text-align:center}
    .consent{font-size:12px}
    .hdr-in{gap:10px}
    .hdr .btn-sm{padding:9px 14px; font-size:13px}
    .logo{column-gap:7px}
    .logo::before{width:28px; height:28px}
    .logo b{font-size:17px}
    .logo small{font-size:10px; letter-spacing:.02em}
    .hero{padding-top:20px}
    .slides .hero-img{aspect-ratio:5/4; object-position:50% 28%}
    .hero-media{margin-bottom:6px}
    .progs{grid-template-columns:1fr; gap:14px}
    .prog{min-height:300px; padding:24px}
    .prog h3{margin-top:22px}
    .prog p{max-width:none}
    .trust{grid-template-columns:1fr}
    .trust .ti{display:grid; grid-template-columns:52px 1fr; column-gap:16px; align-items:start; padding:20px}
    .trust .ti .ic{grid-row:1/3; margin:0}
    .trust .ti b{margin-bottom:4px}
    .dph{aspect-ratio:1/1}
    .dph img{object-position:50% 15%}
    .doc .db{padding:18px 20px 22px}
    .sec-head{margin-bottom:20px}
    .sec-head h2{font-size:clamp(1.7rem,8.4vw,2.05rem)}
    .promos .promo,.checkups .ck{padding:20px}
    .contact-card,.form{padding:22px}
    .foot-bottom-in{flex-direction:column; align-items:flex-start}
    .foot-bottom .warn{margin-left:0}
  }
  /* выравнивание карточек чекапов: описание растягивается, «Что входит», цена и кнопка — по низу */
  .ck-d{flex:1}
  .ck-more-ph{font-size:14px}
  .checkups:has(.ck-open) .ck-more-ph{margin-bottom:14px}
  /* сквозная этикетка «−20% на капельницы» у правого края: только ≥1024px, по центру высоты — не пересекается с кнопкой записи и cookie-баннером внизу */
  .side-sale{display:none}
  @media (min-width:1024px){
    .side-sale{position:fixed; right:0; top:50%; z-index:125; display:block; transform:translateY(-50%); writing-mode:vertical-rl; padding:18px 10px; border-radius:14px 0 0 14px; background:var(--accent); color:#fff; font-family:var(--font-text); font-weight:700; font-size:14px; letter-spacing:.02em; line-height:1.2; white-space:nowrap; box-shadow:-6px 8px 24px -10px color-mix(in srgb,var(--accent) 70%,transparent); cursor:pointer; transition:padding .15s, background .15s}
    .side-sale span{display:block; transform:rotate(180deg)}
    .side-sale:hover,.side-sale:focus-visible{background:var(--accent-strong); padding-right:14px}
    .side-sale:focus-visible{outline:2px solid var(--ink); outline-offset:2px}
  }
  @media print{ .side-sale{display:none} }
  /* окна: крестик закреплён в прокручиваемой карточке, высота — по видимой области экрана (dvh), отступ под вырез экрана */
  .modal{padding-top:max(20px, env(safe-area-inset-top,0px))}
  .modal-card.lm-card,.modal-card.ckm-card,.modal-card.lic-card{max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overscroll-behavior:contain}
  .modal-card .lm-x{position:sticky; top:-16px; float:right; margin:-16px -16px 4px 12px; z-index:3; box-shadow:0 2px 10px -2px rgba(20,14,19,.18)}
  @media (max-width:560px){
    .modal{padding-top:calc(env(safe-area-inset-top,0px) + 12px)}
    .modal-card.lm-card,.modal-card.ckm-card,.modal-card.lic-card{max-height:calc(100vh - 12px); max-height:calc(100dvh - env(safe-area-inset-top,0px) - 12px)}
  }
  /* согласие у чекбокса: ссылки в строку, без лишних переносов, плотнее */
  label.consent{line-height:1.35}
  label.consent a{display:inline; padding-block:0}
