:root{
  --bg:#fcfbf9;
  --bg-alt:#f4efe7;
  --ink:#17120d;
  --muted:#736a5f;
  --line:#ece4d8;
  --accent:#ff6a00;
  --accent-2:#ff9243;
  --accent-ink:#d24e00;
  --wa:#25d366;
  --tg:#229ed9;
  --radius:20px;
  --shadow:0 22px 60px -20px rgba(50,30,8,.22);
  --shadow-sm:0 10px 30px -12px rgba(50,30,8,.18);
  --maxw:1180px;
  --font:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --display:"Unbounded","Manrope",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
.booking__consent{margin-top:12px;font-size:12.5px;color:var(--muted);line-height:1.5}
.booking__consent a{color:var(--accent-ink);text-decoration:underline}
.legal{max-width:840px;margin:0 auto}
.legal__meta{color:var(--ink);font-weight:600;margin:0 0 22px}
.legal h2{font-family:var(--display);font-size:21px;font-weight:700;line-height:1.2;margin:28px 0 10px}
.legal p,.legal li{color:var(--muted);line-height:1.7;margin:9px 0}
.legal ul{padding-left:20px;margin:9px 0}
.legal a{color:var(--accent-ink);text-decoration:underline}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* Кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:980px;font-size:15px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,filter .2s ease;white-space:nowrap}
.btn--primary{background:linear-gradient(135deg,#ff7d1f,#ff5a00);color:#fff;box-shadow:0 10px 24px -8px rgba(255,90,0,.55)}
.btn--primary:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:0 14px 30px -8px rgba(255,90,0,.65)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--ink)}
.btn--wa{background:var(--wa);color:#fff}
.btn--tg{background:var(--tg);color:#fff}
.btn--call{background:var(--ink);color:#fff}
.btn--wa:hover,.btn--tg:hover,.btn--call:hover{transform:translateY(-1px);opacity:.92}
.btn--block{width:100%}
.btn--sm{padding:10px 16px;font-size:14px}

/* Верхняя строка */
.topbar{background:var(--ink);color:#fff;font-size:13px}
.topbar__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:38px;gap:16px}
.topbar__item{color:#d7cfc4}
.topbar__item--rating{color:var(--accent-2);text-align:center}
.topbar__phone{color:#fff;font-weight:600;justify-self:end}
@media(max-width:760px){.topbar__inner{display:flex;justify-content:space-between}.topbar__item--rating{display:none}}

/* Шапка */
.header{position:sticky;top:0;z-index:50;background:rgba(252,251,249,.82);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--line)}
.header__inner{display:flex;align-items:center;gap:24px;height:66px}
.logo{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.01em}
.logo__mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#ff7d1f,#ff5a00);color:#fff;font-weight:800;box-shadow:0 6px 16px -6px rgba(255,90,0,.6)}
.logo__text b{font-weight:800}
.nav{display:flex;gap:26px;margin-left:auto;font-size:15px;font-weight:500}
.nav a{color:var(--muted);transition:.2s}
.nav a:hover{color:var(--ink)}
.header__cta{margin-left:auto}
@media(max-width:980px){.nav{display:none}.header__cta{margin-left:auto}}
@media(max-width:560px){.header__cta{display:none}}

/* Hero (тёмный, премиальный) */
.hero{position:relative;overflow:hidden;color:#fff;padding:90px 0 84px;
  background:radial-gradient(820px 560px at 78% 28%,rgba(255,106,0,.20),transparent 62%),linear-gradient(157deg,#211a14 0%,#161210 58%,#0e0c0a 100%)}
.hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:22px 22px;opacity:.5;pointer-events:none}
.hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero__eyebrow{color:var(--accent-2);font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.hero__title{font-family:var(--display);font-weight:800;font-size:clamp(32px,4.6vw,56px);line-height:1.04;letter-spacing:-.01em;color:#fff}
.hero__title .accent{background:linear-gradient(92deg,#ff9b48,#ff5e00);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.hero__lead{margin:22px 0 30px;font-size:18px;color:#c7bcae;max-width:500px}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.hero .btn--ghost{color:#fff;border-color:rgba(255,255,255,.28);backdrop-filter:blur(4px)}
.hero .btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.07)}
.hero__stats{list-style:none;display:flex;gap:40px;margin-top:44px;flex-wrap:wrap}
.hero__stats b{display:block;font-family:var(--display);font-size:26px;font-weight:700;color:#fff}
.hero__stats span{color:#a99c8d;font-size:14px}
.hero__media{position:relative;display:flex;justify-content:center;align-items:center;min-height:400px}
.hero__glow{position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(255,120,30,.5),rgba(255,90,0,.12) 45%,transparent 68%);filter:blur(14px);animation:glowPulse 5.5s ease-in-out infinite}
.hero__photo{position:relative;z-index:1;width:310px;max-width:80%;height:auto;filter:drop-shadow(0 34px 64px rgba(0,0,0,.55));animation:floaty 6s ease-in-out infinite}
.hero__chip{position:absolute;z-index:2;top:8%;left:0;font-size:13px;font-weight:500;color:#fff;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);padding:9px 15px;border-radius:980px}
.hero__badge{position:absolute;z-index:2;bottom:9%;right:0;font-size:13px;font-weight:600;color:var(--ink);background:#fff;padding:9px 15px;border-radius:980px;box-shadow:var(--shadow-sm)}
/* появление */
.hero__text>*{opacity:0;animation:riseIn .7s cubic-bezier(.2,.7,.2,1) forwards}
.hero__eyebrow{animation-delay:.05s}
.hero__title{animation-delay:.15s}
.hero__lead{animation-delay:.28s}
.hero__actions{animation-delay:.4s}
.hero__stats{animation-delay:.52s}
.hero__media{opacity:0;animation:riseIn .9s .35s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes glowPulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}
@media(max-width:880px){.hero{padding:64px 0 60px}.hero__inner{grid-template-columns:1fr;gap:32px}.hero__lead{max-width:none}.hero__media{min-height:0;margin-top:8px}.hero__photo{width:240px}}
/* Hero на категорийных страницах (тот же тёмный эталон + крошки) */
.hero .crumbs{color:#a99c8d;font-size:14px;margin-bottom:16px;opacity:0;animation:riseIn .7s forwards}
.hero .crumbs a{color:#cdc1b1;transition:.2s}
.hero .crumbs a:hover{color:#fff}
.hero .crumbs span{color:#fff}
.hero__photo--device{width:300px;max-width:84%}
.hero__photo--wide{width:380px;max-width:94%}
.hero__photo--frame{width:370px;max-width:90%;border-radius:20px;border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 60px rgba(0,0,0,.55);filter:none;animation:floaty 7s ease-in-out infinite}
@media(max-width:880px){.hero__photo--device{width:230px}.hero__photo--wide{width:300px}.hero__photo--frame{width:300px}}

/* Секции */
.section{padding:84px 0}
.section--alt{background:var(--bg-alt)}
.section__head{max-width:700px;margin-bottom:46px}
.section__head h2{font-family:var(--display);font-size:clamp(26px,3.3vw,40px);letter-spacing:-.01em;font-weight:700;line-height:1.1}
.section__head p{margin-top:14px;color:var(--muted);font-size:18px}
.section__note{margin-top:30px;color:var(--muted);font-size:14px;max-width:780px}
.section__note a{color:var(--accent-ink);font-weight:600}
.philosophy{max-width:820px;margin:0 auto;text-align:center}
.philosophy__quote{font-family:var(--display);font-weight:700;font-size:clamp(21px,2.7vw,31px);line-height:1.32;letter-spacing:-.01em;color:var(--ink)}
.philosophy p:not(.philosophy__quote){margin-top:22px;color:var(--muted);font-size:18px;line-height:1.6}
.price-teaser{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:30px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:32px 36px;box-shadow:var(--shadow-sm)}
.price-teaser__list{display:flex;flex-wrap:wrap;gap:10px;max-width:580px}
.price-teaser__list span{font-size:14px;color:var(--ink);background:var(--bg-alt);border:1px solid var(--line);border-radius:980px;padding:8px 15px}
.price-teaser .btn{white-space:nowrap}
@media(max-width:680px){.price-teaser{padding:26px 22px;gap:22px}}

/* Карточки */
.cards{display:grid;gap:20px}
.cards--4{grid-template-columns:repeat(4,1fr)}
.cards--3{grid-template-columns:repeat(3,1fr)}
.cards--2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;display:flex;flex-direction:column}
.section--alt .card{background:#fff}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#e0d4c2}
.card__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:linear-gradient(135deg,rgba(255,106,0,.14),rgba(255,106,0,.04));font-size:27px;margin-bottom:18px}
.card__icon svg.ic{width:27px;height:27px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--accent)}
.card h3{font-size:19px;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}
.card p{color:var(--muted);font-size:15px}
.card--service .card__price{align-self:flex-start;margin-top:auto;padding-top:18px;font-weight:700;color:var(--accent-ink);font-size:14px}
.card--contact .card__addr{margin-top:6px}
.card--contact .card__hours{color:var(--muted);font-size:14px;margin:6px 0 12px}
.card--contact .card__tel{display:inline-block;font-size:20px;font-weight:700;margin-bottom:16px}
.card__btns{display:flex;gap:10px;margin-top:auto}
.contacts-map{margin-top:24px;border-radius:18px;overflow:hidden;border:1px solid var(--line);line-height:0;box-shadow:var(--shadow-sm)}
.contacts-map iframe{width:100%;height:380px;border:0;display:block}
@media(max-width:960px){.cards--4{grid-template-columns:repeat(2,1fr)}.cards--3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cards--4,.cards--3,.cards--2{grid-template-columns:1fr}}

/* Прайс */
.price{display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:start}
.price__picker label{display:block;font-weight:700;margin-bottom:8px;font-size:14px}
.price__select{width:100%;padding:14px;border-radius:14px;border:1px solid var(--line);background:#fff;font-size:16px;font-family:inherit;color:var(--ink)}
.price__models{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{padding:8px 13px;border-radius:980px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:500;cursor:pointer;color:var(--muted);transition:.15s}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.price__table{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.ptable__title{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}
.ptable__title h3{font-family:var(--display);font-size:21px;font-weight:700}
.ptable__title span{color:var(--muted);font-size:14px}
.prow{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 26px;border-bottom:1px solid var(--line)}
.prow:last-child{border-bottom:none}
.prow__label{color:var(--ink);font-size:15px}
.prow__label small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.prow__price{font-weight:700;font-size:16px;white-space:nowrap}
.prow--group{background:var(--bg-alt);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:10px 26px;font-weight:700}
@media(max-width:820px){.price{grid-template-columns:1fr}.price__models{display:none}}

/* Бренды */
.brandgroups{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.brandgroup{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:transform .22s ease,box-shadow .22s ease}
.brandgroup:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.brandgroup h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.brandgroup ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.brandgroup li{font-size:16px;font-weight:500}
.brandgroup a{color:var(--ink);transition:.15s}
.brandgroup a:hover{color:var(--accent-ink)}
@media(max-width:760px){.brandgroups{grid-template-columns:repeat(2,1fr)}}

/* Заявка */
.booking__inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.booking__text h2{font-family:var(--display);font-size:clamp(26px,3.3vw,40px);letter-spacing:-.01em;line-height:1.1}
.booking__text p{margin:16px 0 24px;color:var(--muted);font-size:18px}
.booking__contacts{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.booking__form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow)}
.field{margin-bottom:18px}
.field label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:13px;font-size:16px;font-family:inherit;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.field textarea{resize:vertical;min-height:84px;line-height:1.4}
.field input:focus,.field select:focus,.field textarea:focus,.price__select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,106,0,.12)}
.booking__hint{margin-top:12px;font-size:13px;color:var(--muted);text-align:center}
.booking__hint--ok{color:#1a8a4a;font-weight:600}
.booking__hint--err{color:#c0392b;font-weight:600}
@media(max-width:820px){.booking__inner{grid-template-columns:1fr}}

/* Подвал */
.footer{background:var(--ink);color:#d7cfc4;padding:58px 0 28px;font-size:15px}
.footer__inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.12)}
.footer .logo{color:#fff;margin-bottom:14px}
.footer__brand p{max-width:330px;color:#a99c8d}
.footer__col h5{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.footer__col a{display:block;color:#d7cfc4;margin-bottom:10px;transition:.15s}
.footer__col a:hover{color:var(--accent-2)}
.footer__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:13px;color:#8c8175}
@media(max-width:760px){.footer__inner{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}

/* Навигация: выпадашка «Телефоны» */
.nav__drop{position:relative;display:flex;align-items:center}
.nav__drop::after{content:"";position:absolute;top:100%;left:-12px;right:-12px;height:14px}
.nav__menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);min-width:200px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;display:none;flex-direction:column;gap:2px;z-index:60}
.nav__drop:hover .nav__menu,.nav__drop:focus-within .nav__menu{display:flex}
.nav__menu a{padding:10px 12px;border-radius:10px;color:var(--ink);font-size:15px;white-space:nowrap}
.nav__menu a:hover{background:var(--bg-alt);color:var(--ink)}

/* Шапка внутренней страницы */
.page-hero{position:relative;overflow:hidden;padding:54px 0 8px;background:radial-gradient(900px 460px at 82% -20%,rgba(255,106,0,.12),transparent 60%)}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:18px}
.crumbs a{color:var(--accent-ink)}
.crumbs a:hover{text-decoration:underline}
.page-hero h1{font-family:var(--display);font-size:clamp(28px,4vw,46px);line-height:1.08;letter-spacing:-.01em;font-weight:700;max-width:820px}
.page-hero__lead{margin:18px 0 24px;font-size:18px;color:var(--muted);max-width:680px}
.page-hero__actions{display:flex;gap:12px;flex-wrap:wrap}
.page-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.page-hero__media{display:flex;justify-content:center}
.page-hero__photo{width:100%;max-width:470px;height:auto;border-radius:16px;filter:drop-shadow(0 26px 50px rgba(40,25,10,.22))}
@media(max-width:880px){.page-hero__inner{grid-template-columns:1fr;gap:22px}.page-hero__photo{max-width:380px}}

/* Список моделей-«таблеток» */
.taglist{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.taglist li{padding:10px 17px;border:1px solid var(--line);border-radius:980px;background:#fff;font-weight:600;font-size:15px;color:var(--ink);transition:.15s}
.taglist li:hover{border-color:var(--accent);color:var(--accent-ink)}

/* Бургер-меню (мобильные) */
.nav__burger{display:none}
.nav__burger span{position:relative;display:block;width:20px;height:2px;background:var(--ink);border-radius:2px}
.nav__burger span::before,.nav__burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}
.nav__burger span::before{top:-6px}
.nav__burger span::after{top:6px}
.header.is-open .nav__burger span{background:transparent}
.header.is-open .nav__burger span::before{top:0;transform:rotate(45deg)}
.header.is-open .nav__burger span::after{top:0;transform:rotate(-45deg)}
@media(max-width:980px){
  .nav__burger{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer;flex:0 0 auto}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:6px 0 10px;flex-direction:column;gap:0;background:rgba(252,251,249,.98);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--line);box-shadow:var(--shadow);font-size:16px}
  .header.is-open .nav{display:flex}
  .nav>a{padding:13px 24px}
  .nav__drop{display:block;position:static}
  .nav__drop::after{display:none}
  .nav__droptoggle{padding:13px 24px}
  .nav__menu{position:static;transform:none;display:flex;min-width:0;margin:0;padding:0;border:none;border-radius:0;box-shadow:none;background:transparent}
  .nav__menu a{padding:11px 24px 11px 40px;color:var(--muted)}
}

/* Уважение к настройке «меньше движения» */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .hero__text>*,.hero__media{opacity:1!important}
}
