/* ARYAN design-system — mobile (из Claude-design хэндоффа).
   ЕДИНЫЙ источник правды для мобильного редизайна (<=768px).
   Подключается <link>'ом в index.html. Мобильные правки — ЗДЕСЬ, не инлайном в HTML.
   Десктоп (>768px) этот файл не трогает: всё под .mh-root + @media. */

  @font-face { font-family:"Min Sans"; src:url("/fonts/MinSans-Light.woff2") format("woff2"); font-weight:300; font-display:swap; }
@font-face { font-family:"Min Sans"; src:url("/fonts/MinSans-Regular.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Min Sans"; src:url("/fonts/MinSans-Medium.woff2") format("woff2"); font-weight:500; font-display:swap; }
@font-face { font-family:"Min Sans"; src:url("/fonts/MinSans-Bold.woff2") format("woff2"); font-weight:700; font-display:swap; }
@font-face { font-family:"FoglihtenNo06"; src:url("/fonts/FoglihtenNo06.woff2") format("woff2"); font-weight:400; font-display:swap; }
@font-face { font-family:"Oceanic"; src:url("/fonts/Oceanic-Light.woff2") format("woff2"); font-weight:300; font-display:swap; }

  .mh-root{
    --bg:#0e0f0d; --bg-2:#171a14; --green:#1f2b25;
    --text:#edebe7; --text-72:rgba(237,235,231,.78); --text-48:rgba(237,235,231,.56);
    --line:rgba(237,235,231,.12); --gold:#c2a070; --gold-12:rgba(194,160,112,.12); --gold-20:rgba(194,160,112,.22);
    --f:"Min Sans",system-ui,sans-serif; --f-d:"FoglihtenNo06",serif; --f-s:"Oceanic",serif;
    color:var(--text);
  }
.mh-root *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
.mh-root img{display:block; max-width:100%;}
.mh-root a{color:inherit; text-decoration:none;}
.mh-root button{font:inherit; border:0; background:none; color:inherit; cursor:pointer;}
  .mh-wrap{padding:0 18px;}
.mh-root section{scroll-margin-top:72px;}

  /* ============ TOP BAR — отдельная закреплённая навигация ============ */
  .mh-top{
    position:fixed; top:10px; left:10px; right:10px; z-index:60; height:56px;
    display:flex; align-items:center; justify-content:space-between;
    padding:0 8px 0 18px; border-radius:100px;
    background:rgba(20,22,18,.72); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px);
    border:1px solid var(--line);
    transition:background .25s, box-shadow .25s, opacity .35s ease, transform .45s cubic-bezier(.4,0,.12,1);
  }
  /* проба: топбар скрыт на полноэкранном hero, появляется при скролле */
  .mh-root:not(.mh-scrolled) .mh-top{ opacity:0; transform:translateY(-16px); pointer-events:none; }
  .mh-top.mh-solid{background:rgba(20,22,18,.9); box-shadow:0 10px 30px -12px rgba(0,0,0,.6);}
  .mh-top .mh-logo{height:30px;}
  .mh-top-actions{display:flex; align-items:center; gap:6px;}
  .mh-ico{
    width:44px; height:44px; border-radius:50%; display:grid; place-items:center;
    background:rgba(237,235,231,.08); color:var(--text);
  }
  .mh-ico:active{background:var(--gold-20);}

  /* ============ HERO — парящий скруглённый остров ============ */
  .mh-hero{
    position:relative; margin:0; border-radius:0; overflow:hidden;
    min-height:100svh;
    display:flex; flex-direction:column; justify-content:flex-end;
    padding:0 22px calc(92px + env(safe-area-inset-bottom));
    border:1px solid transparent;
    box-shadow:0 30px 70px -30px rgba(0,0,0,0);
    transition:margin .5s cubic-bezier(.4,0,.12,1), border-radius .5s cubic-bezier(.4,0,.12,1), min-height .5s cubic-bezier(.4,0,.12,1), padding .5s cubic-bezier(.4,0,.12,1), box-shadow .5s ease, border-color .4s ease;
  }
  /* проба: при скролле hero сворачивается из полноэкранного в остров */
  .mh-root.mh-scrolled .mh-hero{
    margin:78px 10px 0; border-radius:28px; min-height:calc(100svh - 110px);
    padding:0 22px 30px; border-color:var(--line);
    box-shadow:0 30px 70px -30px rgba(0,0,0,.8);
  }
  .mh-hero-bg{position:absolute; inset:0; z-index:-2;}
  .mh-hero-bg img{width:100%; height:100%; object-fit:cover; object-position:center 32%;}
  .mh-hero::before{
    content:""; position:absolute; inset:0; z-index:-1;
    background:linear-gradient(180deg, rgba(14,15,13,.45) 0%, rgba(14,15,13,.08) 34%, rgba(14,15,13,.72) 74%, rgba(14,15,13,.94) 100%);
  }
  .mh-hero-eyebrow{
    display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:600;
    letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:14px;
  }
  .mh-hero-eyebrow::before{content:""; width:22px; height:1px; background:var(--gold);}
  .mh-hero .mh-h1{
    font-family:var(--f-d); font-weight:400; font-size:40px; line-height:1.04; letter-spacing:-.01em;
    color:var(--text); text-shadow:0 2px 24px rgba(0,0,0,.5);
  }
  .mh-hero .mh-slogan{
    font-family:var(--f-s); font-weight:300; font-size:18px; line-height:1.3; color:var(--gold); margin-top:12px;
  }
  .mh-hero-meta{
    display:flex; align-items:center; gap:14px; margin-top:18px;
    font-size:12.5px; color:var(--text-72);
  }
  .mh-hero-meta .mh-star{color:var(--gold); font-weight:700;}
  .mh-hero-meta i{width:3px; height:3px; border-radius:50%; background:var(--text-48); display:inline-block;}
  .mh-scroll-cue{
    display:flex; align-items:center; gap:8px;
    margin-top:22px; font-size:12px; color:var(--text-48); letter-spacing:.04em;
  }
  .mh-scroll-cue .mh-line{width:1px; height:22px; background:linear-gradient(var(--gold),transparent); animation:cue 1.8s ease-in-out infinite;}
  @keyframes cue{0%,100%{opacity:.3; transform:scaleY(.7)}50%{opacity:1; transform:scaleY(1)}}

  /* ============ SECTION HEADERS ============ */
  .mh-sec{padding:46px 0;}
  .mh-sec-eyebrow{
    display:inline-flex; align-items:center; gap:8px; font-size:11px; font-weight:600;
    letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:12px;
  }
  .mh-sec-eyebrow::before{content:""; width:18px; height:1px; background:var(--gold);}
  .mh-sec h2{font-family:var(--f-s); font-weight:300; font-size:30px; line-height:1.12;}
  .mh-sec .mh-sub{color:var(--text-72); font-size:15px; margin-top:10px;}

  /* ============ ПОДБОР — swipe row of compact cards ============ */
  .mh-picker{padding:46px 0 46px;}
  .mh-picker .mh-head{padding:0 18px;}
  .mh-swipe{
    display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
    padding:22px 18px 6px; margin:0;
  }
  .mh-swipe::-webkit-scrollbar{display:none;}
  .mh-pcard{
    scroll-snap-align:center; flex:0 0 88%;
    background:var(--bg-2); border:1px solid var(--line); border-radius:18px;
    padding:22px 20px; display:flex; flex-direction:column; gap:10px; min-height:188px;
    position:relative;
  }
  .mh-pcard.mh-main{background:linear-gradient(150deg,var(--green),var(--bg-2)); border-color:var(--gold-20);}
  .mh-pcard .mh-ic{width:40px; height:40px; border-radius:11px; background:var(--gold-12); display:grid; place-items:center; color:var(--gold); margin-bottom:2px;}
  .mh-pcard h3{font-size:17px; font-weight:500; line-height:1.3;}
  .mh-pcard .mh-rec{margin-top:auto; font-size:12.5px; color:var(--gold); font-weight:500;}
  .mh-swipe-dots{display:flex; gap:6px; justify-content:center; margin-top:14px;}
  .mh-swipe-dots i{width:6px; height:6px; border-radius:50%; background:var(--line); transition:.25s;}
  .mh-swipe-dots i.mh-on{background:var(--gold); width:18px; border-radius:3px;}

  /* ============ ПРОЦЕДУРЫ — clean photo cards ============ */
  .mh-procs{display:flex; flex-direction:column; gap:12px; margin-top:22px;}
  .mh-proc{
    position:relative; isolation:isolate; border-radius:18px; overflow:hidden; min-height:200px;
    display:flex; flex-direction:column; justify-content:flex-end; padding:18px;
    border:1px solid var(--line);
  }
  .mh-proc img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2;}
  .mh-proc::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(12,13,12,.1) 30%,rgba(12,13,12,.9) 88%);}
  .mh-proc .mh-tag{
    position:absolute; top:14px; left:14px; font-size:11px; font-weight:700; letter-spacing:.04em;
    background:var(--gold); color:#161310; padding:5px 11px; border-radius:7px;
  }
  .mh-proc h3{font-size:22px; font-weight:500;}
  .mh-proc .mh-desc{font-size:13px; color:var(--text-72); margin-top:5px; line-height:1.5;}
  .mh-proc .mh-row{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px;}
  .mh-proc .mh-price{font-size:17px; font-weight:700; color:var(--gold); white-space:nowrap;}
  .mh-proc .mh-price s{color:var(--text-48); font-weight:400; font-size:13px; margin-left:6px;}
  .mh-proc .mh-price small{display:block; font-size:11.5px; font-weight:400; color:var(--text-48); white-space:nowrap;}
  .mh-proc .mh-book{
    flex:none; height:42px; padding:0 18px; border-radius:100px;
    background:rgba(194,160,112,.12); border:1px solid var(--gold-20); color:var(--gold);
    font-size:13.5px; font-weight:500; display:inline-flex; align-items:center; gap:6px;
  }
  .mh-proc .mh-book:active{transform:scale(.97);}

  .mh-root .mh-all-link{
    display:flex; align-items:center; justify-content:center; gap:8px; margin-top:22px;
    height:56px; background:rgba(194,160,112,.93); border:1px solid #161310; border-radius:100px; color:#161310;
    font-size:15px; font-weight:500;
  }
  .mh-all-link:active{transform:scale(.99);}

  /* ============ КАК ПРОХОДИТ — vertical timeline ============ */
  .mh-band{background:linear-gradient(180deg,#1a1d12,#14160e); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .mh-steps{display:flex; flex-direction:column; gap:0; margin-top:22px;}
  .mh-step{display:grid; grid-template-columns:44px 1fr; gap:16px; padding:18px 0; border-top:1px solid var(--line);}
  .mh-step:first-child{border-top:0;}
  .mh-step .mh-n{width:38px; height:38px; border-radius:50%; border:1px solid var(--gold); color:var(--gold); display:grid; place-items:center; font-family:var(--f-d); font-size:16px;}
  .mh-step h3{font-size:17px; font-weight:500; margin-bottom:3px;}
  .mh-step p{font-size:13.5px; color:var(--text-72); line-height:1.55;}

  /* ============ ВРАЧ ============ */
  .mh-doc{display:flex; flex-direction:column; gap:18px; margin-top:22px;}
  .mh-doc-photo{width:100%; max-width:260px; aspect-ratio:4/4.6; border-radius:18px; overflow:hidden; background:var(--bg-2); border:1px solid var(--line);}
  .mh-doc-photo img{width:100%; height:100%; object-fit:cover; object-position:top;}
  .mh-doc h3{font-size:24px; font-weight:500;}
  .mh-doc .mh-role{color:var(--gold); font-size:14px; font-weight:500; margin-top:4px;}
  .mh-doc p{color:var(--text-72); font-size:14.5px; margin-top:14px; line-height:1.6;}
  .mh-doc-facts{display:flex; flex-wrap:wrap; gap:8px; margin-top:16px;}
  .mh-fact{font-size:12.5px; color:var(--text-72); border:1px solid var(--line); background:var(--bg-2); padding:8px 13px; border-radius:100px;}

  /* ============ ОТЗЫВЫ ============ */
  .mh-rev-top{display:flex; align-items:center; gap:14px; margin-top:6px;}
  .mh-rev-top .mh-score{font-family:var(--f-d); font-size:46px; color:var(--text); line-height:1;}
  .mh-rev-top .mh-stars{color:var(--gold); font-size:15px; letter-spacing:1px;}
  .mh-rev-top .mh-cnt{font-size:12px; color:var(--text-72);}
  .mh-rev-top .mh-ya{margin-left:auto; padding:5px 10px; border-radius:7px; background:rgba(237,235,231,.06); border:1px solid var(--line); color:var(--text-72); font-size:10.5px; font-weight:500;}
  .mh-rev-swipe{display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:20px 18px 6px; margin:0 -18px;}
  .mh-rev-swipe::-webkit-scrollbar{display:none;}
  .mh-rev{scroll-snap-align:center; flex:0 0 88%; background:var(--bg-2); border:1px solid var(--line); border-radius:18px; padding:20px; display:flex; flex-direction:column; gap:12px;}
  .mh-rev .mh-stars{color:var(--gold); font-size:13px; letter-spacing:1px;}
  .mh-rev blockquote{font-size:14.5px; line-height:1.6; color:var(--text);}
  .mh-rev .mh-who{display:flex; align-items:center; gap:10px; margin-top:auto; padding-top:10px; border-top:1px solid var(--line);}
  .mh-rev .mh-av{width:34px; height:34px; border-radius:50%; background:var(--gold); color:#161310; display:grid; place-items:center; font-weight:600; font-size:13px;}
  .mh-rev .mh-nm{font-size:13px; font-weight:500;}
  .mh-rev .mh-mt{font-size:11px; color:var(--text-48);}

  /* ============ АКЦИИ / СЕРТИФИКАТ ============ */
  .mh-offers{display:flex; flex-direction:column; gap:12px; margin-top:22px;}
  .mh-offer{border-radius:18px; padding:24px 20px; position:relative; overflow:hidden;}
  .mh-offer.mh-gold{background:linear-gradient(140deg,var(--gold-20),var(--gold-12)); border:1px solid var(--gold-20);}
  .mh-offer.mh-dark{background:var(--bg-2); border:1px solid var(--line);}
  .mh-offer .mh-lbl{font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold);}
  .mh-offer h3{font-family:var(--f-s); font-weight:300; font-size:24px; margin-top:8px;}
  .mh-offer p{font-size:13.5px; color:var(--text-72); margin-top:8px; line-height:1.5;}
  .mh-offer .mh-act{display:inline-flex; align-items:center; gap:6px; margin-top:16px; color:var(--gold); font-weight:500; font-size:14px;}

  /* ============ FAQ ============ */
  .mh-faq{margin-top:20px;}
  details.mh-q{border-bottom:1px solid var(--line);}
  details.mh-q summary{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 2px; font-size:16px; font-weight:500; list-style:none; cursor:pointer;}
  details.mh-q summary::-webkit-details-marker{display:none;}
  details.mh-q summary::after{content:"+"; color:var(--gold); font-size:24px; font-weight:300; flex:none; transition:transform .2s;}
  details.mh-q[open] summary::after{transform:rotate(45deg);}
  details.mh-q .mh-a{padding:0 2px 20px; font-size:14px; color:var(--text-72); line-height:1.6;}

  /* ============ FOOTER — золотая карточка-залив (порт с продакта) ============ */
  .mh-ft{
    margin:16px 10px calc(72px + env(safe-area-inset-bottom)); background:#c2a070; color:#0c0d0c;
    border-radius:28px; overflow:hidden; padding:44px 18px; text-align:center;
    display:flex; flex-direction:column; align-items:center; gap:36px;
  }
  .mh-ft a{color:#0c0d0c;}
  .mh-ft-logo img{height:46px;}
  .mh-ft-addr .mh-ft-a1{font-family:var(--f-s); font-weight:500; font-size:36px; line-height:1.12; letter-spacing:0;}
  .mh-ft-addr .mh-ft-a2{font-size:16px; color:rgba(12,13,12,.66); margin-top:14px;}
  .mh-ft .mh-ft-map{
    position:relative; overflow:hidden; margin-top:20px; width:100%; min-height:54px;
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    border-radius:100px; background:#e8e6e3; color:#0c0d0c; font-size:15px; font-weight:500;
  }
  .mh-ft-map::before{content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(180deg, rgba(194,160,112,0) 0%, rgba(194,160,112,.5) 100%);}
  .mh-ft-map img{width:18px; height:18px; position:relative; z-index:1;}
  .mh-ft-map span{position:relative; z-index:1;}
  .mh-ft-map:active{transform:scale(.99);}
  .mh-ft-contacts{display:flex; flex-direction:column; gap:6px;}
  .mh-ft-contacts a{font-family:var(--f-s); font-weight:500; font-size:36px; letter-spacing:0; line-height:1.12;}
  .mh-ft-contacts .mh-ft-mail{font-family:var(--f); font-size:16px; font-weight:400; margin-top:8px;}
  .mh-ft-contacts .mh-ft-hours{font-size:16px; color:rgba(12,13,12,.66); margin-top:14px;}
  .mh-ft-soc{display:flex; gap:12px; justify-content:center;}
  .mh-ft-soc a{width:46px; height:46px; border-radius:50%; background:rgba(12,13,12,.08); display:grid; place-items:center; transition:transform .2s;}
  .mh-ft-soc a:active{transform:scale(.94);}
  .mh-ft-soc img{width:20px; height:20px;}
  .mh-ft-copy{display:flex; flex-direction:column; gap:8px; font-size:12.5px; color:rgba(12,13,12,.62);}
  .mh-ft-copy a{text-decoration:underline;}

  /* ============ STICKY BAR — стеклянная, просвечивает как хэдер; звонок в топбаре ============ */
  .mh-bar{
    position:fixed; left:0; right:0; bottom:0; z-index:70;
    padding:8px 16px calc(8px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg,rgba(14,15,13,0),rgba(14,15,13,.28));
  }
  .mh-bar .mh-cta{
    width:100%; height:50px; border-radius:100px;
    background:rgba(20,22,18,.6); backdrop-filter:blur(20px) saturate(1.1); -webkit-backdrop-filter:blur(20px) saturate(1.1);
    border:1px solid rgba(194,160,112,.38); color:var(--gold);
    font-size:15px; font-weight:500; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  }
  .mh-bar .mh-cta:active{transform:scale(.98);}

  /* ============ DRAWER MENU ============ */
  .mh-drawer{
    position:fixed; inset:0; z-index:90; background:rgba(12,13,12,.98); backdrop-filter:blur(24px);
    transform:translateX(100%); transition:transform .35s cubic-bezier(.2,.7,.2,1);
    display:flex; flex-direction:column; padding:20px;
  }
  .mh-drawer.mh-open{transform:translateX(0);}
  .mh-drawer-top{display:flex; align-items:center; justify-content:space-between; height:42px; margin-bottom:30px;}
  .mh-drawer nav{display:flex; flex-direction:column;}
  .mh-drawer nav a{font-family:var(--f-s); font-weight:300; font-size:26px; padding:14px 0; border-bottom:1px solid var(--line);}
  .mh-drawer nav a:active{color:var(--gold);}
  .mh-drawer .mh-foot{margin-top:auto; display:flex; flex-direction:column; gap:6px;}
  .mh-drawer .mh-foot .mh-p{font-family:var(--f-s); font-size:24px; color:var(--gold);}
  .mh-drawer .mh-foot .mh-s{font-size:13px; color:var(--text-72);}

  /* ============ reveal ============ */
  @media (prefers-reduced-motion: no-preference){
    .mh-rv{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
    .mh-rv.mh-in{opacity:1; transform:none;}
  }

  /* ============ POLISH (impeccable): фокус a11y, тап-таргеты, типографика, reduced-motion ============ */
  .mh-root a:focus-visible, .mh-root button:focus-visible, .mh-root summary:focus-visible{
    outline:2px solid var(--gold); outline-offset:3px; border-radius:10px;
  }
  .mh-ft a:focus-visible, .mh-ft button:focus-visible{ outline-color:#0c0d0c; outline-offset:2px; }
  .mh-hero .mh-h1, .mh-sec h2, .mh-picker h2, .mh-pcard h3, .mh-proc h3, .mh-offer h3, .mh-doc h3{ text-wrap:balance; }
  .mh-proc .mh-desc, .mh-step p, .mh-rev blockquote, .mh-offer p, .mh-q .mh-a, .mh-sec .mh-sub{ text-wrap:pretty; }
  @media (prefers-reduced-motion: reduce){
    .mh-root *, .mh-root *::before, .mh-root *::after{
      animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;
    }
  }

  /* ============ AIRY (по образу футера, умеренно): крупнее, легче, больше воздуха ============ */
  .mh-sec{padding:52px 0;}
  .mh-sec h2{font-size:32px;}
  .mh-sec .mh-sub{font-size:16px; line-height:1.55;}
  .mh-pcard h3{font-size:18px; font-weight:400; line-height:1.34;}
  .mh-pcard .mh-rec{font-weight:400;}
  .mh-proc .mh-desc{font-size:14px; line-height:1.6;}
  .mh-step p{font-size:14.5px; line-height:1.62;}
  .mh-doc p{font-size:15.5px; line-height:1.66;}
  .mh-rev blockquote{font-size:15.5px; line-height:1.66;}
  .mh-offer p{font-size:14.5px; line-height:1.6;}
  details.mh-q summary{font-size:17.5px; font-weight:400; padding-top:20px; padding-bottom:20px;}
  details.mh-q .mh-a{font-size:15px; line-height:1.7;}
  details.mh-q .mh-a a{color:var(--gold); font-weight:500;}
  .mh-doc .mh-doc-link{display:inline-flex; align-items:center; gap:6px; margin-top:18px; color:var(--gold); font-weight:500; font-size:14.5px;}
  .mh-doc .mh-doc-link:active{opacity:.7;}


/* ===== Мобильный редизайн (хэндофф): .mh-root только на телефоне, десктоп прячем ===== */
.mh-root{ display:none; }
@media (max-width: 768px){
  body > .skip-link, body > #header, body > #mobileMenu, body > #main,
  body > #contacts, body > .sticky-bar, body > .modal-overlay { display:none !important; }
  .mh-root{ display:block; }
  body{ overflow-x:hidden; padding-bottom:0; background:#0e0f0d; font-size:16px; line-height:1.6; }
  body::after{ display:none; }
}

