:root{
  --ink:#0C1A2B;
  --ink-2:#132B44;
  --slate:#3A5570;
  --steel:#6B8299;
  --line:#DCE3EA;
  --mist:#F3F6F9;
  --paper:#FFFFFF;
  --brass:#A97430;
  --brass-dk:#8A5D24;
  --ok:#1F6B4A;
  --shadow:0 1px 2px rgba(12,26,43,.06),0 8px 24px rgba(12,26,43,.08);
  --wrap:1200px;
  --r:4px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{max-width:100%;overflow-x:hidden}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;
}
img{max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-family:"IBM Plex Serif","IBM Plex Sans",Georgia,serif;font-weight:600;line-height:1.18;letter-spacing:-.01em;margin:0}
h1{font-size:clamp(28px,4.4vw,50px)}
h2{font-size:clamp(24px,3.1vw,36px)}
h3{font-size:19px;font-family:"IBM Plex Sans",sans-serif;font-weight:600;letter-spacing:0}
p{margin:0 0 16px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.eyebrow{
  font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass);display:flex;align-items:center;gap:10px;margin-bottom:14px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--brass);display:block}
.section{padding:76px 0;border-top:1px solid var(--line)}
.section--mist{background:var(--mist)}
.section__head{max-width:760px;margin-bottom:38px}
.section__head p{color:var(--slate);margin:14px 0 0}
.ic{width:22px;height:22px;stroke:var(--brass);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font:600 16px/1 "IBM Plex Sans",sans-serif;padding:16px 26px;border-radius:var(--r);
  border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .18s,color .18s,border-color .18s;
}
.btn--primary{background:var(--brass);color:#fff}
.btn--primary:hover{background:var(--brass-dk)}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.34)}
.btn--ghost:hover{background:rgba(255,255,255,.09)}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:var(--ink-2)}
.btn--line{background:#fff;color:var(--ink);border-color:var(--line)}
.btn--line:hover{border-color:var(--slate)}
.btn--wide{width:100%}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}

/* ---------- header ---------- */
.top{background:var(--ink);color:#C9D6E2;font-size:14px}
.top .wrap{display:flex;gap:22px;align-items:center;justify-content:space-between;min-height:42px}
.top__l,.top__r{display:flex;gap:22px;align-items:center}
.top a{text-decoration:none}
.top a:hover{color:#fff}
.hdr{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:26px;min-height:76px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none}
.logo__mark{width:38px;height:38px;border:1.5px solid var(--ink);border-radius:3px;display:grid;place-items:center}
.logo__mark svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:1.5}
.logo__txt b{display:block;font:700 18px/1.1 "IBM Plex Sans";letter-spacing:.06em}
.logo__txt span{display:block;font-size:11.5px;color:var(--steel);letter-spacing:.04em}
.nav{display:flex;gap:22px;margin-left:auto}
.nav a{text-decoration:none;font-size:15.5px;color:var(--ink-2);padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover{border-color:var(--brass)}
.hdr__cta{display:flex;align-items:center;gap:18px;flex:none}
.hdr__tel{font:600 19px/1.2 "IBM Plex Sans";text-decoration:none;white-space:nowrap}
.hdr__tel small{display:block;font:400 12px/1.4 "IBM Plex Sans";color:var(--steel)}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:var(--r);cursor:pointer}
.burger svg{width:20px;height:20px;stroke:var(--ink);stroke-width:1.6}

/* ---------- hero ---------- */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(115deg,rgba(169,116,48,.16),transparent 46%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 88px);
}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;padding-top:64px;padding-bottom:64px;align-items:start}
.hero h1{color:#fff}
.hero__lead{color:#BFD0DE;font-size:18.5px;margin:20px 0 30px;max-width:560px}
.hero__lead b{color:#fff;font-weight:600}
.hero__btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
.usp{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12)}
.usp div{background:var(--ink);padding:18px 20px;display:flex;gap:12px;align-items:flex-start}
.usp b{display:block;font-size:15.5px;font-weight:600}
.usp span{display:block;font-size:13.5px;color:#9FB3C6;line-height:1.45}
.facts{display:flex;gap:30px;flex-wrap:wrap;margin-top:30px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14)}
.facts b{display:block;font:500 27px/1.1 "IBM Plex Mono",monospace;color:#fff}
.facts span{font-size:13.5px;color:#9FB3C6}

/* order card */
.order{background:#fff;color:var(--ink);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.order__top{background:var(--mist);border-bottom:1px solid var(--line);padding:16px 24px;display:flex;justify-content:space-between;align-items:center}
.order__top span{font:500 12px/1 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.order__body{padding:24px}
.order h2{font-size:23px;margin-bottom:8px}
.order p{font-size:14.5px;color:var(--slate);margin-bottom:18px}
.field{margin-bottom:12px}
.field label{display:block;font-size:13px;color:var(--slate);margin-bottom:6px}
.field input,.field textarea,.field select{
  width:100%;padding:14px 14px;border:1px solid var(--line);border-radius:var(--r);background:#fff;
  font:400 16px/1.4 "IBM Plex Sans",sans-serif;color:var(--ink);
}
.field textarea{resize:vertical;min-height:88px}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--slate);outline:none}
.field input.err,.field select.err{border-color:#B03A3A}
.consent{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--steel);line-height:1.45;margin:12px 0 16px}
.consent input{margin:2px 0 0;flex:none;width:16px;height:16px;accent-color:var(--brass)}
.order__note{font-size:12.5px;color:var(--steel);text-align:center;margin:12px 0 0}

/* ---------- generic grids ---------- */
.grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
.g-4{grid-template-columns:repeat(4,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-2{grid-template-columns:repeat(2,1fr)}
.cell{background:#fff;padding:26px}
.section--mist .cell{background:var(--mist)}

/* services */
.svc{background:#fff;padding:26px;display:flex;flex-direction:column;text-decoration:none;transition:background .18s}
.svc:hover{background:var(--mist)}
.svc__ic{margin-bottom:16px}
.svc h3{margin-bottom:8px}
.svc p{font-size:14.5px;color:var(--slate);margin-bottom:16px}
.svc__price{margin-top:auto;font:500 15px/1 "IBM Plex Mono",monospace;color:var(--ink);display:flex;align-items:center;gap:8px}
.svc__price em{font-style:normal;color:var(--steel);font-size:12.5px;font-family:"IBM Plex Sans"}

/* price table */
.price{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
.price caption{text-align:left;font-size:14px;color:var(--slate);padding:0 0 14px}
.price th,.price td{padding:15px 20px;border-bottom:1px solid var(--line);text-align:left;font-size:15.5px}
.price th{background:var(--ink);color:#fff;font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.price td:last-child,.price th:last-child{text-align:right;font-family:"IBM Plex Mono",monospace;white-space:nowrap}
.price tr:last-child td{border-bottom:0}
.price tbody tr:hover{background:var(--mist)}
.price__foot{display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:22px}
.price__foot p{margin:0;font-size:14px;color:var(--slate);max-width:640px}

/* steps */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.step{background:#fff;padding:28px 26px}
.step::before{
  counter-increment:s;content:"0" counter(s);
  font:500 13px/1 "IBM Plex Mono",monospace;color:var(--brass);letter-spacing:.1em;
  display:block;margin-bottom:16px;
}
.step h3{margin-bottom:8px}
.step p{font-size:14.5px;color:var(--slate);margin:0}

/* symptoms */
.sym{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.sym a{background:#fff;padding:20px 22px;display:flex;gap:13px;align-items:center;text-decoration:none;font-size:15.5px;transition:background .18s}
.sym a:hover{background:var(--mist)}
.sym a span{display:block}
.sym a em{font-style:normal;display:block;font-size:13px;color:var(--steel)}

/* brands */
.brands{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.brands a{background:#fff;padding:22px 10px;text-align:center;text-decoration:none;font:600 16px/1.2 "IBM Plex Sans";letter-spacing:.02em;transition:background .18s,color .18s}
.brands a:hover{background:var(--ink);color:#fff}
.brands a em{display:block;font-style:normal;font-size:11.5px;color:var(--steel);margin-top:5px;font-weight:400}
.brands a:hover em{color:#9FB3C6}

/* masters */
.master{background:#fff;padding:26px;display:flex;gap:18px}
.master__ava{width:60px;height:60px;flex:none;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:600 19px/1 "IBM Plex Sans"}
.master h3{margin-bottom:4px}
.master .role{font-size:13.5px;color:var(--brass);margin-bottom:10px}
.master p{font-size:14.5px;color:var(--slate);margin:0}
.master dl{display:flex;gap:20px;margin:12px 0 0}
.master dt{font-size:12px;color:var(--steel)}
.master dd{margin:2px 0 0;font:500 17px/1 "IBM Plex Mono",monospace}

/* reviews */
.rev{background:#fff;padding:26px;display:flex;flex-direction:column}
.rev__stars{display:flex;gap:3px;margin-bottom:14px}
.rev__stars svg{width:16px;height:16px;fill:var(--brass);stroke:none}
.rev p{font-size:15px;margin-bottom:18px}
.rev__who{margin-top:auto;font-size:13.5px;color:var(--steel);border-top:1px solid var(--line);padding-top:14px}
.rev__who b{display:block;color:var(--ink);font-size:15px;font-weight:600}
.ratings{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.ratings div{border:1px solid var(--line);padding:14px 20px;background:#fff;display:flex;align-items:baseline;gap:10px}
.ratings b{font:500 21px/1 "IBM Plex Mono",monospace}
.ratings span{font-size:13.5px;color:var(--steel)}

/* geo */
.geo{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
.geo__list{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.geo__list a{background:#fff;border:1px solid var(--line);padding:8px 14px;font-size:14.5px;text-decoration:none;border-radius:var(--r)}
.geo__list a:hover{border-color:var(--slate)}
.geo__box{background:var(--ink);color:#fff;padding:30px}
.geo__box h3{color:#fff;margin-bottom:14px}
.geo__box p{color:#BFD0DE;font-size:15px}
.geo__box ul{margin:0 0 22px;padding:0;list-style:none}
.geo__box li{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:15px}
.geo__box li:last-of-type{border-bottom:0}
.geo__box .ic{stroke:var(--brass)}

/* faq */
.faq details{background:#fff;border:1px solid var(--line);border-top:0;padding:0}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{
  list-style:none;cursor:pointer;padding:20px 56px 20px 24px;position:relative;
  font-weight:600;font-size:16.5px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:24px;top:26px;width:10px;height:10px;
  border-right:1.5px solid var(--brass);border-bottom:1.5px solid var(--brass);
  transform:rotate(45deg);transition:transform .2s;
}
.faq details[open] summary::after{transform:rotate(225deg);top:30px}
.faq .faq__a{padding:0 24px 22px;color:var(--slate);font-size:15.5px}
.faq .faq__a p:last-child{margin-bottom:0}

/* seo text */
.seo{columns:2;column-gap:48px;color:var(--slate);font-size:15.5px}
.seo h3{color:var(--ink);margin:0 0 10px}
.seo section{break-inside:avoid;margin-bottom:26px}
.seo p:last-child{margin-bottom:0}

/* cta band */
.band{background:var(--ink);color:#fff;padding:60px 0}
.band .wrap{display:flex;gap:40px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.band h2{color:#fff;max-width:620px}
.band p{color:#BFD0DE;margin:14px 0 0;max-width:620px}

/* footer */
.ftr{background:#08131F;color:#8FA6BA;font-size:14.5px;padding:56px 0 30px}
.ftr a{text-decoration:none}
.ftr a:hover{color:#fff}
.ftr__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.1)}
.ftr h4{color:#fff;font-family:"IBM Plex Sans";font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin-bottom:10px}
.ftr__tel{font:600 22px/1.2 "IBM Plex Sans";color:#fff;text-decoration:none;display:block;margin-bottom:8px}
.ftr__bottom{display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap;padding-top:24px;font-size:13px;color:#6C8299}
.ftr__bottom a{margin-right:18px}

/* modal */
.ov{position:fixed;inset:0;background:rgba(8,19,31,.72);display:none;z-index:100;padding:20px;overflow:auto}
.ov.is-open{display:flex;align-items:center;justify-content:center}
.modal{background:#fff;width:100%;max-width:480px;border-radius:var(--r);box-shadow:0 24px 60px rgba(0,0,0,.35);position:relative}
.modal__head{padding:26px 26px 0}
.modal__head .eyebrow{margin-bottom:10px}
.modal__head h2{font-size:25px}
.modal__head p{font-size:14.5px;color:var(--slate);margin:10px 0 0}
.modal__body{padding:22px 26px 26px}
.modal__close{position:absolute;top:16px;right:16px;width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:var(--r);cursor:pointer;display:grid;place-items:center}
.modal__close svg{width:16px;height:16px;stroke:var(--ink);stroke-width:1.8}
.done{display:none;padding:40px 30px;text-align:center}
.done__ic{width:60px;height:60px;border-radius:50%;background:rgba(31,107,74,.1);display:grid;place-items:center;margin:0 auto 20px}
.done__ic svg{width:28px;height:28px;stroke:var(--ok);fill:none;stroke-width:2}
.done h2{font-size:24px;margin-bottom:12px}
.done p{color:var(--slate);font-size:15px}
.modal.is-done .modal__head,.modal.is-done .modal__body{display:none}
.modal.is-done .done{display:block}

/* mobile bar */
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:#fff;border-top:1px solid var(--line);padding:9px 12px;gap:9px}
.mbar .btn{flex:1;padding:14px 10px;font-size:15px}

/* responsive */
@media (max-width:1080px){
  .nav{display:none}
  .burger{display:grid;place-items:center;margin-left:auto}
  .hdr__cta .btn{display:none}
  .hero .wrap{grid-template-columns:1fr;gap:40px}
  .g-4{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .brands{grid-template-columns:repeat(4,1fr)}
  .geo{grid-template-columns:1fr;gap:30px}
  .ftr__grid{grid-template-columns:1fr 1fr;gap:30px 26px}
}
@media (max-width:760px){
  body{font-size:16px}
  .section{padding:52px 0}
  .top{display:none}
  .hdr .wrap{min-height:64px;gap:14px}
  .hdr__tel small{display:none}
  .hdr__tel{font-size:17px}
  .g-4,.g-3,.g-2,.sym,.steps{grid-template-columns:1fr}
  .brands{grid-template-columns:repeat(2,1fr)}
  .brands a{font-size:15px;overflow-wrap:anywhere;padding:18px 8px}
  .usp{grid-template-columns:1fr}
  .seo{columns:1}
  .price th,.price td{padding:13px 14px;font-size:14.5px}
  .price th:first-child{width:auto}
  .band .wrap{flex-direction:column;align-items:flex-start}
  .mbar{display:flex}
  body{padding-bottom:70px}
  .facts{gap:22px}
  .modal__head{padding:22px 20px 0}
  .modal__body{padding:18px 20px 22px}
  .ftr{padding:44px 0 26px}
  .ftr__grid{grid-template-columns:1fr;gap:0;padding-bottom:22px}
  .ftr__grid > div{padding:20px 0;border-top:1px solid rgba(255,255,255,.1)}
  .ftr__grid > div:first-child{padding-top:0;border-top:0}
  .ftr h4{margin-bottom:12px}
  .ftr li{margin-bottom:0}
  .ftr__grid ul{display:flex;flex-wrap:wrap;gap:10px 20px}
  .ftr__bottom{flex-direction:column;gap:14px;text-align:left}
  .ftr__bottom .ftlinks,.ftr__bottom > div:last-child{display:flex;flex-direction:column;gap:10px}
  .ftr__bottom a{margin-right:0}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
/* мобильное меню (открывается кнопкой в шапке) */
@media (max-width:1080px){
  .nav.on{
    display:flex;flex-direction:column;gap:2px;
    position:absolute;top:100%;left:0;right:0;
    background:#fff;padding:14px 20px 18px;border-bottom:1px solid var(--line);
    box-shadow:0 14px 30px rgba(12,26,43,.10);
  }
  .nav.on a{padding:11px 0;border-bottom:1px solid var(--line);font-size:16.5px}
  .nav.on a:last-child{border-bottom:0}
}
