/* ============ ШРИФТЫ ============
   Раздаём со своего домена — ни одного запроса на fonts.gstatic.com.
   Все начертания подрезаны до latin + кириллицы и нужных знаков (₽, №, —).
   Rubik — вариативный: один файл на 40 КБ вместо пяти статических
   начертаний на 87 КБ. Курсив и моноширинный остаются статическими:
   курсив нужен ровно один, а вариативный Plex Mono тяжелее двух статических.
   Знаки ★ ✓ → в самом Rubik отсутствуют и берутся из системного шрифта —
   так же, как и на текущем сайте. */
@font-face{
  font-family:'Rubik';font-style:normal;
  font-weight:300 700;               /* вариативная ось wght */
  font-display:swap;
  src:url(../fonts/rubik-var.woff2) format('woff2-variations'),
      url(../fonts/rubik-var.woff2) format('woff2');
}
@font-face{font-family:'Rubik';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/rubik-400i.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-500.woff2) format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-600.woff2) format('woff2');}

/* ============ ТЕЧЕНИЕ ФОНОВЫХ ЛИНИЙ ============
   Линии на тёмных панелях медленно плывут. Слой вынесен в
   ::after, потому что transform идёт на GPU, а анимация
   background-position перерисовывала бы всю панель.
   Скорости и направления разные, чтобы панели не выглядели
   одинаковыми. */
.flow{position:relative;}
.flow>*{position:relative;z-index:1;}
.flow::after{
  content:'';position:absolute;top:-25%;left:-30%;
  width:190%;height:160%;
  background-image:var(--flow-img,var(--wave-pattern));
  background-size:50% 100%;
  background-repeat:repeat-x;
  opacity:var(--flow-op,.85);
  pointer-events:none;z-index:0;
  animation:flowDrift var(--flow-dur,44s) linear infinite;
}
@keyframes flowDrift{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(-26.3%,0,0);}
}
.flow-slow::after{--flow-dur:72s;}
/* Вариант для панелей, у которых что-то намеренно выступает за край
   (бейдж тарифа): слой лежит строго внутри, поэтому overflow:hidden
   родителю не нужен и ничего не срезается. */
.flow-inset::after{
  top:0;left:0;width:100%;height:100%;
  border-radius:inherit;
  transform:none;animation:none;
  background-size:auto 100%;
  animation:flowPan var(--flow-dur,60s) linear infinite;
}
@keyframes flowPan{
  from{background-position:0 0;}
  to{background-position:-1200px 0;}
}
@media (prefers-reduced-motion:reduce){
  .flow-inset::after{animation:none;}
}
.flow-rev::after{animation-direction:reverse;}
.flow-tall::after{background-size:100% 55%;background-repeat:repeat-y;animation-name:flowDriftY;}
@keyframes flowDriftY{
  from{transform:translate3d(0,0,0);}
  to{transform:translate3d(0,-27.4%,0);}
}
@media (prefers-reduced-motion:reduce){
  .flow::after{animation:none;}
}

/* ============ TOKENS ============ */
:root{
  --ink:#34425D; --ink-2:#3E5069; --ink-3:#131E2C;
  --teal-deep:#1D7691; --teal:#5FBBD6; --teal-light:#8ED0E4;
  --teal-pale:#EAF6FA; --teal-mist:#DCEFF6;
  --paper:#FFFFFF; --paper-soft:#F1F5F7; --paper-line:rgba(52,66,93,.11);
  --muted:#707A8E; --muted-soft:#98A1B2;
  --amber:#8A6A12; --amber-bg:rgba(242,184,32,.10);
  --green:#46833C; --green-bg:rgba(106,207,92,.10);
  --red:#B23B2E; --red-bg:rgba(178,59,46,.10);
  --grad-ink:linear-gradient(135deg,#182531 0%,#2E86A3 100%);
  --grad-teal:linear-gradient(135deg,#5FBBD6,#1B2635);
  --wave-pattern:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 700'><g fill='none' stroke='white' stroke-linecap='round'><path opacity='0.2' stroke-width='0.7' d='M-80,560 C160,480 280,620 480,500 S760,340 900,380 S1150,300 1280,220'/><path opacity='0.15' stroke-width='0.7' d='M-80,553 C160,473 280,613 480,493 S760,333 900,373 S1150,293 1280,213'/><path opacity='0.1' stroke-width='0.7' d='M-80,546 C160,466 280,606 480,486 S760,326 900,366 S1150,286 1280,206'/><path opacity='0.14' stroke-width='0.7' d='M-80,260 C160,200 280,320 480,235 S760,120 900,150 S1150,90 1280,50'/><path opacity='0.1' stroke-width='0.7' d='M-80,253 C160,193 280,313 480,228 S760,113 900,143 S1150,83 1280,43'/><path opacity='0.07' stroke-width='0.7' d='M-80,246 C160,186 280,306 480,221 S760,106 900,136 S1150,76 1280,36'/></g></svg>");
  --wave-pattern-b:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 700 1200'><g fill='none' stroke='white' stroke-linecap='round'><path opacity='0.19' stroke-width='0.7' d='M140,-80 C220,160 80,280 200,480 S360,760 320,900 S400,1150 480,1280'/><path opacity='0.14' stroke-width='0.7' d='M147,-80 C227,160 87,280 207,480 S367,760 327,900 S407,1150 487,1280'/><path opacity='0.1' stroke-width='0.7' d='M154,-80 C234,160 94,280 214,480 S374,760 334,900 S414,1150 494,1280'/><path opacity='0.13' stroke-width='0.7' d='M340,-80 C420,160 280,280 400,480 S80,760 40,900 S140,1150 220,1280'/><path opacity='0.09' stroke-width='0.7' d='M347,-80 C427,160 287,280 407,480 S87,760 47,900 S147,1150 227,1280'/><path opacity='0.06' stroke-width='0.7' d='M354,-80 C434,160 294,280 414,480 S94,760 54,900 S154,1150 234,1280'/></g></svg>");
  --wave-pattern-c:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 900'><g fill='none' stroke='white' stroke-linecap='round'><path opacity='0.19' stroke-width='0.7' d='M-100,950 C150,780 250,640 420,600 S680,460 760,320 S920,160 1300,-60'/><path opacity='0.14' stroke-width='0.7' d='M-100,943 C150,773 250,633 420,593 S680,453 760,313 S920,153 1300,-67'/><path opacity='0.09' stroke-width='0.7' d='M-100,936 C150,766 250,626 420,586 S680,446 760,306 S920,146 1300,-74'/><path opacity='0.12' stroke-width='0.7' d='M-100,700 C150,530 250,390 420,350 S680,210 760,70 S920,-90 1300,-260'/><path opacity='0.08' stroke-width='0.7' d='M-100,693 C150,523 250,383 420,343 S680,203 760,63 S920,-97 1300,-267'/><path opacity='0.05' stroke-width='0.7' d='M-100,686 C150,516 250,376 420,336 S680,196 760,56 S920,-104 1300,-274'/></g></svg>");
  --wave-pattern-d:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 700'><g fill='none' stroke='white' stroke-linecap='round'><path opacity='0.2' stroke-width='0.7' d='M-60,650 C120,560 200,470 340,430 S540,330 600,220 S720,90 860,-40'/><path opacity='0.15' stroke-width='0.7' d='M-60,644 C120,554 200,464 340,424 S540,324 600,214 S720,84 860,-46'/><path opacity='0.1' stroke-width='0.7' d='M-60,638 C120,548 200,458 340,418 S540,318 600,208 S720,78 860,-52'/><path opacity='0.13' stroke-width='0.7' d='M-60,450 C120,360 200,270 340,230 S540,130 600,20 S720,-110 860,-240'/><path opacity='0.09' stroke-width='0.7' d='M-60,444 C120,354 200,264 340,224 S540,124 600,14 S720,-116 860,-246'/><path opacity='0.06' stroke-width='0.7' d='M-60,438 C120,348 200,258 340,218 S540,118 600,8 S720,-122 860,-252'/></g></svg>");
  --wave-pattern-e:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 700'><g fill='none' stroke='white' stroke-linecap='round'><path opacity='0.2' stroke-width='0.7' d='M-80,640 C140,600 260,520 460,560 S720,430 860,470 S1120,360 1280,300'/><path opacity='0.14' stroke-width='0.7' d='M-80,633 C140,593 260,513 460,553 S720,423 860,463 S1120,353 1280,293'/><path opacity='0.09' stroke-width='0.7' d='M-80,626 C140,586 260,506 460,546 S720,416 860,456 S1120,346 1280,286'/><path opacity='0.13' stroke-width='0.7' d='M-80,380 C140,340 260,260 460,300 S720,170 860,210 S1120,100 1280,40'/><path opacity='0.09' stroke-width='0.7' d='M-80,373 C140,333 260,253 460,293 S720,163 860,203 S1120,93 1280,33'/><path opacity='0.06' stroke-width='0.7' d='M-80,366 C140,326 260,246 460,286 S720,156 860,196 S1120,86 1280,26'/></g></svg>");
  --wave-pattern-f:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 900'><g fill='none' stroke='white' stroke-linecap='round'><path opacity='0.19' stroke-width='0.7' d='M-60,120 C200,260 300,420 520,380 S760,540 880,620 S1100,700 1300,820'/><path opacity='0.13' stroke-width='0.7' d='M-60,127 C200,267 300,427 520,387 S760,547 880,627 S1100,707 1300,827'/><path opacity='0.09' stroke-width='0.7' d='M-60,134 C200,274 300,434 520,394 S760,554 880,634 S1100,714 1300,834'/><path opacity='0.12' stroke-width='0.7' d='M-60,-90 C200,50 300,210 520,170 S760,330 880,410 S1100,490 1300,610'/><path opacity='0.08' stroke-width='0.7' d='M-60,-83 C200,57 300,217 520,177 S760,337 880,417 S1100,497 1300,617'/><path opacity='0.05' stroke-width='0.7' d='M-60,-76 C200,64 300,224 520,184 S760,344 880,424 S1100,504 1300,624'/></g></svg>");
  --grad-aqua:linear-gradient(155deg,#2CA7C4,#6FDCE8);
  --grad-violet:linear-gradient(155deg,#2A2848,#6B60BE);
  --r-lg:28px; --r-md:20px; --r-sm:13px; --r-btn:50px;
  --shadow-lg:0 30px 60px -22px rgba(19,30,44,.35);
  --shadow-md:0 20px 44px -18px rgba(19,30,44,.30);
  --shadow-sm:0 10px 24px -12px rgba(19,30,44,.22);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;color-scheme:light only;}
body{font-family:'Rubik',sans-serif;color:var(--ink);background:var(--paper);line-height:1.62;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
h1,h2,h3{font-family:'Rubik',sans-serif;font-weight:700;line-height:1.16;letter-spacing:-.01em;color:var(--ink);}
::selection{background:var(--teal);color:#fff;}
:focus-visible{outline:2.5px solid var(--teal);outline-offset:3px;border-radius:4px;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}

/* ============ REVEAL ============ */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:translateY(0);}
.stagger .reveal:nth-child(2){transition-delay:.06s;}
.stagger .reveal:nth-child(3){transition-delay:.12s;}
.stagger .reveal:nth-child(4){transition-delay:.18s;}
.stagger .reveal:nth-child(5){transition-delay:.24s;}
.stagger .reveal:nth-child(6){transition-delay:.30s;}

/* ============ EYEBROW / LABELS ============ */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:'Rubik',sans-serif;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-deep);}
.eyebrow::before{content:'';width:16px;height:1px;background:var(--teal);flex-shrink:0;}

/* ============ CHAPTER DIVIDER (signature motif) ============ */

/* ============ HEADER ============ */
header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .3s ease;border-bottom:1px solid var(--paper-line);}
header::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--teal) 50%,transparent);opacity:.6;}
.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;max-width:1180px;margin:0 auto;}
.brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.brand-logo{display:block;height:26px;width:auto;}
.header-cta{display:inline-flex;align-items:center;background:var(--teal);color:#fff;font-weight:500;font-size:14px;padding:11px 22px;border-radius:var(--r-btn);text-decoration:none;white-space:nowrap;box-shadow:var(--shadow-sm);transition:background .2s ease,transform .15s ease,box-shadow .2s ease;}
.header-cta:hover{background:var(--teal-deep);transform:translateY(-1px);box-shadow:var(--shadow-md);}
.header-cta:active{transform:translateY(0) scale(.97);}
.header-nav{display:flex;align-items:center;}
.header-nav-list{display:flex;align-items:center;gap:22px;}
.menu-toggle{display:none;background:none;border:none;color:var(--ink);cursor:pointer;padding:6px;}
.header-nav a{font-size:14px;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color .2s ease;position:relative;}
.header-nav-cta{display:none;}
.header-nav a::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--teal);transform:scaleX(0);transition:transform .2s ease;}
.header-nav a:hover{color:var(--ink);}
.header-nav a:hover::after{transform:scaleX(1);}

/* ============ BUTTONS ============ */
.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--teal);color:#fff;font-family:'Rubik',sans-serif;font-weight:500;font-size:16px;padding:17px 30px;border-radius:var(--r-btn);text-decoration:none;border:none;cursor:pointer;box-shadow:0 14px 28px -10px rgba(95,187,214,.55);transition:transform .18s ease,background .2s ease,box-shadow .2s ease;}
.btn-primary:hover{background:var(--teal-deep);transform:translateY(-2px);box-shadow:0 20px 36px -12px rgba(29,118,145,.5);}
.btn-primary:active{transform:translateY(0) scale(.97);box-shadow:0 10px 20px -10px rgba(29,118,145,.5);}
.cta-note{font-size:13px;color:var(--muted);}
.price-was{color:var(--muted-soft);text-decoration:line-through;font-weight:400;margin-right:6px;}
.price-now{font-family:'IBM Plex Mono',monospace;font-weight:600;color:var(--ink);}
.cta-detail{color:var(--muted);}

/* ============ HERO (full-bleed, merged with stats) ============ */
.hero{position:relative;overflow:hidden;margin:16px 16px 0;padding:56px 0 0;background-image:var(--grad-ink);background-size:cover;background-position:center;border-radius:32px;box-shadow:0 30px 50px -22px rgba(6,16,26,.4);--flow-img:var(--wave-pattern);--flow-dur:60s;}
.hero .eyebrow{color:var(--teal-light);}
.hero .eyebrow::before{background:var(--teal-light);}
.hero .price-was{color:rgba(255,255,255,.5);}
.hero .price-now{color:#fff;}
.hero .cta-detail{color:#C7DCE6;}
.hero-grid{position:relative;display:grid;grid-template-columns:1fr 1.02fr;gap:52px;align-items:center;z-index:1;padding-bottom:76px;}
.hero h1{font-size:clamp(38px,5.6vw,68px);color:#fff;margin:20px 0 20px;letter-spacing:-.02em;}
.type-word-wrap{display:block;position:relative;color:var(--teal-light);min-height:1.08em;}
.type-word{white-space:pre;}
.type-word::after{content:'';display:inline-block;width:3px;height:.85em;background:var(--teal-light);margin-left:4px;vertical-align:-.1em;animation:caret 1s step-end infinite;}
@keyframes caret{0%,100%{opacity:1;}50%{opacity:0;}}

.hero-sub{font-size:18px;font-weight:300;color:#C7DCE6;max-width:52ch;margin-bottom:32px;line-height:1.6;}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:0;}

.hero-photo{position:relative;align-self:center;}
.hero-doc{position:relative;border-radius:var(--r-lg);padding:8px;background:linear-gradient(155deg,#fff,var(--teal-pale));box-shadow:0 26px 60px -16px rgba(4,14,24,.5);}
.hero-doc img{display:block;width:100%;height:auto;border-radius:calc(var(--r-lg) - 7px);box-shadow:none;}
.hero-doc img[hidden]{display:none;}
.hero-cred{display:flex;align-items:center;gap:13px;margin-top:26px;padding:12px 18px 12px 12px;border-radius:50px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);width:fit-content;max-width:100%;}
.hero-cred img{width:42px;height:42px;flex:none;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3);background:var(--teal-pale);}
.hero-cred span{font-size:12px;line-height:1.4;color:rgba(255,255,255,.8);}
.hero-cred b{display:block;font-family:'Rubik',sans-serif;font-size:13.5px;font-weight:600;color:#fff;margin-bottom:2px;}

.fit-quote{display:flex;align-items:flex-start;gap:16px;margin-top:34px;padding:20px 24px;border-radius:var(--r-md);background:var(--paper-soft);border-left:3px solid var(--teal);}
.fit-quote img{width:46px;height:46px;flex:none;border-radius:50%;object-fit:cover;background:var(--teal-pale);}
.fit-quote p{font-family:'Rubik',sans-serif;font-style:italic;font-size:15px;font-weight:400;line-height:1.5;color:var(--ink);}
.fit-quote cite{display:block;margin-top:8px;font-style:normal;font-size:12.5px;color:var(--muted);}
.hero-doc-tag{position:absolute;right:18px;top:18px;display:inline-block;padding:6px 12px;border-radius:50px;background:rgba(13,24,34,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.01em;z-index:4;}

/* stats band: continuation of the same hero canvas, not a separate section */
.stats-strip{position:relative;border-top:1px solid rgba(255,255,255,.14);}
.stats-row{position:relative;display:flex;align-items:center;gap:0;padding:30px 0;color:#fff;}
.stat-item{display:flex;align-items:center;gap:16px;flex:1;padding:0 26px;}
.stat-item .si-icon{flex-shrink:0;width:44px;height:44px;padding:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:13px;box-sizing:border-box;color:var(--teal-light);}
.stat-item strong{display:block;font-family:'IBM Plex Mono',monospace;font-size:28px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;}
.star-rating{position:relative;display:inline-block;width:104px;height:18px;vertical-align:middle;}
.star-row{display:block;}

/* ============ TESTIMONIAL CAROUSEL ============ */
.carousel-spacer{flex:0 0 16px;scroll-snap-align:start;}
.carousel-dots{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:6px;}
.carousel-dots .dot{width:7px;height:7px;border-radius:50%;background:var(--paper-line);border:none;padding:0;cursor:pointer;transition:background .2s ease,width .2s ease;position:relative;}
.carousel-dots .dot::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;}
.carousel-dots .dot.active{background:var(--teal);width:22px;border-radius:4px;}

/* ============ DEVICE FRAME (sample report preview) ============ */
.stat-item span{display:block;font-size:12.5px;color:#B9CBD6;font-weight:300;margin-top:2px;}
.stat-divider{width:1px;align-self:stretch;background:rgba(255,255,255,.16);}
.stat-link{flex-shrink:0;display:flex;align-items:center;gap:8px;color:#fff;font-size:13.5px;font-weight:500;text-decoration:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);padding:12px 22px;border-radius:var(--r-btn);white-space:nowrap;transition:all .2s ease;margin-left:8px;}
.stat-link:hover{background:rgba(255,255,255,.2);}

/* ============ SECTION BASICS ============ */
section{padding:112px 0;}
.section-head{max-width:660px;margin-bottom:56px;}
.section-head h2{font-size:clamp(30px,3.8vw,44px);margin-top:14px;}
.pricing .section-head h2{font-size:clamp(34px,4.4vw,50px);}
.support .section-head h2,.faq .section-head h2{font-size:clamp(24px,2.8vw,32px);}
.section-head p{color:var(--muted);font-weight:300;font-size:16.5px;margin-top:14px;}
.bg-soft{background:var(--paper-soft);}

/* ============ FIT ============ */
.fit-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.fit-list-item{display:flex;flex-direction:column;gap:14px;padding:22px 20px;border-radius:16px;transition:background .2s ease;}
.fit-list-item:hover{background:var(--paper-soft);}
.fit-list-item .fn{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--green-bg);color:var(--green);display:flex;align-items:center;justify-content:center;}
.fit-list-item .fn svg{width:15px;height:15px;}
.fit-list-item span{font-size:15px;color:var(--ink);font-weight:500;line-height:1.4;}

/* ============ ADVANTAGES: mobile carousel + desktop tab-switcher ============ */


/* ============ HOW ============ */

.how-panel{position:relative;overflow:hidden;background-image:linear-gradient(150deg,#1D6E89,#131E2C);background-size:cover;background-position:center;border-radius:var(--r-lg);padding:48px;box-shadow:var(--shadow-md);--flow-img:var(--wave-pattern-e);--flow-dur:52s;}
.how-list{display:grid;grid-template-columns:repeat(3,1fr);position:relative;}
.how-item{position:relative;padding:0 30px;}
.how-item:first-child{padding-left:0;}
.how-item:last-child{padding-right:0;}
.how-item:not(:first-child)::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:1px;background:rgba(255,255,255,.16);}
.how-arrow{position:absolute;top:22px;left:-11px;width:22px;height:22px;background:var(--ink-3);border:1px solid rgba(255,255,255,.22);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--teal-light);z-index:1;}
.how-num{font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:600;color:var(--teal-light);letter-spacing:.03em;}
.how-icon{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:#fff;display:flex;align-items:center;justify-content:center;margin:12px 0 16px;box-shadow:0 8px 18px -8px rgba(29,118,145,.35),inset 0 0 0 1px rgba(29,118,145,.08);}
.how-icon svg{width:24px;height:24px;}
.how-item h3{font-weight:600;font-size:16.5px;margin-bottom:7px;color:#fff;}
.how-item p{font-size:14px;font-weight:300;color:rgba(255,255,255,.85);}

/* ============ SAMPLE REPORT ============ */
/* ============ LAB MARQUEE ============ */
.lab-marquee{background:var(--paper-soft);padding:0 0 56px;}
.lab-marquee-label{text-align:center;font-size:13px;color:var(--muted);font-weight:500;margin-bottom:26px;}
.lab-marquee-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.lab-marquee-track{display:flex;width:max-content;animation:labMarquee 30s linear infinite;}
.lab-marquee-group{display:flex;align-items:center;flex-shrink:0;}
.lab-marquee-group span{font-family:'Rubik',sans-serif;font-size:22px;font-weight:600;color:#C2CBD2;white-space:nowrap;letter-spacing:-.01em;padding:0 30px;}
@keyframes labMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.lab-marquee-track{animation:none;}}


/* ============ TRUST ZONE ============ */


/* ============ FORM SECTION ============ */
.form-section{background:#fff;border-top:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line);}
.form-section .wrap{display:flex;flex-direction:column;gap:34px;}
.form-copy{max-width:640px;}
.form-copy h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:14px;}
.form-copy p{color:var(--muted);font-weight:300;margin-bottom:11px;}
/* Встроенный загрузчик занимает всю ширину секции; стили потока — в form.css. */

/* ============ SAVE ============ */
.save-card{background:#fff;border:1px solid var(--paper-line);border-radius:var(--r-lg);overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;}
.save-copy{padding:44px;}
.save-copy h2{font-size:clamp(30px,3.8vw,40px);margin:12px 0 15px;}
.save-copy p{color:var(--muted);font-weight:300;font-size:15px;}
.save-stat{background-image:var(--grad-ink);background-size:cover;background-position:center;padding:44px;display:flex;flex-direction:column;justify-content:center;gap:9px;position:relative;overflow:hidden;--flow-img:var(--wave-pattern-d);--flow-dur:64s;}
.save-stat strong{position:relative;font-family:'IBM Plex Mono',monospace;font-size:44px;font-weight:600;color:#fff;line-height:1.05;}
.save-stat span{position:relative;font-size:13px;color:#B9CBD6;font-weight:300;line-height:1.5;}

/* ============ COMPARE TABLE ============ */
.compare-toggle{display:none;}
.compare-grid{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--paper-line);background:#fff;box-shadow:var(--shadow-md);}
.compare-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;align-items:stretch;}
.compare-row:not(:last-child){border-bottom:1px solid var(--paper-line);}
.compare-row.compare-header{background:var(--paper-soft);}
.compare-cell{min-width:0;padding:14px 10px;display:flex;align-items:center;justify-content:center;}
.compare-cell.compare-feature{justify-content:flex-start;text-align:left;font-size:14px;color:var(--ink);font-weight:500;line-height:1.3;padding-left:18px;}
.compare-header .compare-cell{font-weight:600;font-size:12.5px;color:var(--muted);letter-spacing:.01em;text-align:center;line-height:1.25;min-height:62px;}
.compare-header .compare-us{color:#fff;font-weight:700;}
.compare-cell svg{width:18px;height:18px;flex-shrink:0;}
.compare-cell.icon-yes svg{color:var(--green);}
.compare-cell.icon-no svg{color:#CBD3DA;}
.compare-cell.icon-partial svg{color:#D9822B;}
.compare-us{background:var(--teal-pale);}
.compare-header .compare-us{background:var(--teal-deep);}
@media (max-width:900px){
  .compare-toggle{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:18px;}
  .compare-toggle span{font-size:13px;color:var(--muted);font-weight:500;}
  .compare-toggle-btns{display:flex;width:100%;background:var(--paper-soft);border-radius:50px;padding:3px;gap:2px;}
  .compare-toggle-btns button{flex:1;min-height:38px;border:none;background:none;padding:6px 4px;border-radius:20px;font-family:'Rubik',sans-serif;font-size:11.5px;line-height:1.2;font-weight:500;color:var(--muted);cursor:pointer;transition:background .2s ease,color .2s ease;white-space:normal;word-break:break-word;text-align:center;display:flex;align-items:center;justify-content:center;}
  .compare-toggle-btns button.active{background:var(--ink);color:#fff;}
  .compare-row{grid-template-columns:1.5fr 1fr 1fr;}
  .compare-grid.show-chatgpt .comp-labs,.compare-grid.show-chatgpt .comp-others{display:none;}
  .compare-grid.show-labs .comp-chatgpt,.compare-grid.show-labs .comp-others{display:none;}
  .compare-grid.show-others .comp-chatgpt,.compare-grid.show-others .comp-labs{display:none;}
  .compare-cell.compare-feature{font-size:13px;padding-left:14px;}
}

/* ============ ПРЕИМУЩЕСТВА: БЕНТО ============ */
.adv-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.adv-bento .carousel-spacer{display:none;}
.adv-card{position:relative;overflow:hidden;border-radius:var(--r-lg);padding:30px 30px 0;display:flex;flex-direction:column;min-height:330px;box-shadow:var(--shadow-md);}
.adv-card.span2{grid-column:span 2;flex-direction:row;align-items:center;gap:24px;padding:34px 0 34px 34px;min-height:300px;}
.adv-card::before{content:'';position:absolute;inset:0;background-size:cover;background-position:center;opacity:.55;pointer-events:none;}
.adv-card.g1::before{background-image:var(--wave-pattern);}
.adv-card.g2::before{background-image:var(--wave-pattern-b);}
.adv-card.g3::before{background-image:var(--wave-pattern-e);}
.adv-card.g4::before{background-image:var(--wave-pattern-c);}
.adv-card.g5::before{background-image:var(--wave-pattern-f);}
.adv-card.g6::before{background-image:var(--wave-pattern-d);transform:scaleX(-1);}
.adv-card>*{position:relative;z-index:1;}
.adv-card-copy{flex:1;min-width:0;}
.adv-card h3{color:#fff;font-size:19px;line-height:1.25;margin-bottom:9px;}
.adv-card.span2 h3{font-size:22px;}
.adv-card p{color:rgba(255,255,255,.82);font-size:14.5px;font-weight:300;line-height:1.55;max-width:46ch;}
.adv-badge{display:inline-block;margin-bottom:12px;padding:5px 13px;border-radius:50px;border:1px solid rgba(255,255,255,.34);font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#fff;}
.adv-card-img{margin-top:auto;display:flex;align-items:flex-end;justify-content:center;}
.adv-card.span2 .adv-card-img{margin-top:0;flex:0 0 40%;align-self:stretch;align-items:center;}
.adv-card-img img{width:76%;max-width:210px;height:auto;display:block;filter:drop-shadow(0 14px 22px rgba(0,0,0,.3));}
.adv-card.span2 .adv-card-img img{width:88%;max-width:230px;}
.adv-card.g1{background:linear-gradient(150deg,#1D7691,#131E2C);}.adv-card.g2{background:linear-gradient(150deg,#3E5069,#101927);}
.adv-card.g3{background:linear-gradient(150deg,#2C7089,#121D29);}
.adv-card.g4{background:linear-gradient(150deg,#4CA6C4,#16394D);}
.adv-card.g5{background:linear-gradient(150deg,#25394F,#131E2C);}
.adv-card.g6{background:linear-gradient(150deg,#2A6580,#121C28);}
.adv-card.light{background:linear-gradient(150deg,#FFFFFF,#E6F1F6);border:1px solid var(--paper-line);box-shadow:var(--shadow-sm);}
.adv-card.light::before{filter:invert(1);opacity:.16;}
.adv-card.light h3{color:var(--ink);}
.adv-card.light p{color:var(--muted);}
.adv-card.light .adv-badge{border-color:rgba(29,118,145,.4);color:var(--teal-deep);}
.adv-card.light .adv-card-img img{filter:drop-shadow(0 14px 22px rgba(20,39,57,.18));}
#advDots{display:none;}
@media (max-width:900px){
  .adv-bento{grid-template-columns:1fr 1fr;}
  .adv-card.span2{grid-column:span 2;}
  .adv-card.span2 .adv-card-img{flex-basis:38%;}
}
@media (max-width:700px){
  /* карусель во всю ширину экрана. Раньше здесь было left:50%/width:100vw —
     но 100vw считается вместе с полосой прокрутки, и страница уезжала вбок
     на ~8px. Родитель .wrap уже имеет padding 0 24px, поэтому достаточно
     вычесть ровно эти отступы: тот же край в край, но без 100vw. */
  .adv-bento{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-padding-left:24px;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;position:relative;width:auto;margin-left:-24px;margin-right:-24px;box-sizing:border-box;padding:6px 0 40px;}
  .adv-bento::-webkit-scrollbar{display:none;}
  .adv-bento .carousel-spacer{display:block;}
  .adv-card,.adv-card.span2{flex:0 0 80%;scroll-snap-align:start;flex-direction:column;padding:26px 26px 0;min-height:340px;}
  .adv-card.span2 .adv-card-img{flex:none;margin-top:auto;align-self:auto;align-items:flex-end;}
  .adv-card.span2 h3{font-size:19px;}
  .adv-card.span2 .adv-card-img img{width:76%;max-width:200px;}
  #advDots{display:flex;}
}

/* ============ ЭКСПЛОРЕР ОТЧЁТА ============ */
.sample-report{position:relative;overflow:hidden;background-image:var(--grad-ink);background-size:cover;background-position:center;--flow-img:var(--wave-pattern-c);--flow-dur:78s;}
.sample-report .section-head h2{color:#fff;}
.sample-report .section-head p{color:#B9CBD6;font-weight:300;max-width:60ch;}
.sample-report .eyebrow{color:var(--teal-light);}
.sample-report .eyebrow::before{background:var(--teal-light);}
.report-explorer{display:grid;grid-template-columns:340px 1fr;gap:26px;align-items:start;}
.report-nav{display:flex;flex-direction:column;gap:8px;}
.rpart{display:flex;gap:14px;text-align:left;padding:16px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;cursor:pointer;font-family:'Rubik',sans-serif;transition:background .2s ease,border-color .2s ease;}
.rpart:hover{background:rgba(255,255,255,.09);}
.rpart.active{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.3);}
.rpart-num{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--teal-light);flex:none;padding-top:2px;}
.rpart b{display:block;font-size:15.5px;font-weight:600;margin-bottom:3px;}
.rpart em{font-style:normal;font-size:13px;font-weight:300;line-height:1.45;color:rgba(255,255,255,.68);}
.report-dl{display:inline-flex;align-items:center;justify-content:center;margin-top:6px;padding:14px;border-radius:var(--r-btn);border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none;font-size:14.5px;font-weight:500;transition:background .2s ease;}
.report-dl:hover{background:rgba(255,255,255,.1);}
.report-stage{background:#fff;border-radius:var(--r-lg);padding:28px 30px;box-shadow:0 30px 60px -30px rgba(19,30,44,.55);min-height:420px;}
.rpanel{display:none;}
.rpanel.active{display:block;animation:rpFade .32s ease;}
@keyframes rpFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.rpanel-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--paper-line);}
.rpanel-head b{font-family:'Rubik',sans-serif;font-size:18px;font-weight:600;color:var(--ink);}
.rpanel-head span{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--muted);white-space:nowrap;}
@media (max-width:900px){
  .report-explorer{grid-template-columns:1fr;gap:18px;}
  .report-stage{padding:22px 20px;min-height:0;}
  .rpart{padding:14px 16px;}
  .rpart em{display:none;}
  .rpart.active em{display:block;}
}

/* ============ ОТЗЫВЫ ============ */
.testi-layout{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center;}
.testi-score b{display:block;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:76px;line-height:1;letter-spacing:-.04em;color:var(--ink);}
.testi-stars{color:#F5B93B;font-size:18px;letter-spacing:3px;margin:10px 0 6px;}
.testi-score span{display:block;font-size:14.5px;color:var(--muted);}
.testi-score a{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:500;color:var(--teal-deep);font-size:15px;text-decoration:none;transition:gap .25s ease;}
.testi-score a:hover{gap:12px;}
.testi-rows{display:flex;flex-direction:column;gap:14px;min-width:0;}
.testi-track{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;min-width:0;padding:4px 4px 10px;}
.testi-track::-webkit-scrollbar{display:none;}
#testiDots{display:flex;}
.t-card{scroll-snap-align:start;width:330px;flex:none;background:#fff;border:1px solid var(--paper-line);border-radius:var(--r-md);padding:20px 22px;box-shadow:var(--shadow-sm);}
.t-card header{display:flex;align-items:center;gap:11px;margin-bottom:10px;}
/* ===== Мотив логотипа: два круга как вы и врач =====
   Отчёт — это область пересечения, а не третья сторона. */
.venn{display:flex;align-items:center;gap:30px;margin:34px 0 0;padding:26px 28px;border:1px solid var(--paper-line);border-radius:var(--r-lg);background:var(--paper);flex-wrap:wrap;}
.venn-mark{width:150px;height:auto;flex:none;}
.venn figcaption{font-size:15px;line-height:1.55;color:var(--muted);max-width:46ch;}
.venn figcaption b{display:block;font-size:18px;font-weight:500;color:var(--ink);margin-bottom:7px;letter-spacing:-.01em;}
@media (max-width:640px){.venn{gap:18px;padding:22px 20px;}.venn-mark{width:112px;}}

.t-ava{width:36px;height:36px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-family:'Rubik',sans-serif;font-weight:600;font-size:14px;background:#2E86A3;color:#fff;}
/* аватарки разного цвета, но в одной семье: тёмная буква на бирюзе
   читалась плохо, поэтому везде белая на насыщенной заливке */
.t-card:nth-child(6n+1) .t-ava{background:#2E86A3;}
.t-card:nth-child(6n+2) .t-ava{background:#3E5069;}
.t-card:nth-child(6n+3) .t-ava{background:#46833C;}
.t-card:nth-child(6n+4) .t-ava{background:#1D7691;}
.t-card:nth-child(6n+5) .t-ava{background:#5A7A94;}
.t-card:nth-child(6n+6) .t-ava{background:#4A6FA5;}
.t-card b{font-size:14.5px;color:var(--ink);}
.t-card .t-stars{font-size:10.5px;color:#F5B93B;letter-spacing:2px;}
.t-card p{font-size:14px;line-height:1.55;color:var(--muted);font-weight:300;}
@media (max-width:860px){
  .testi-layout{grid-template-columns:1fr;gap:28px;}
  .testi-score{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;}
  .testi-score b{font-size:56px;}
  .t-card{width:270px;padding:18px 19px;}
}

/* ============ ПЛАШКА ДОВЕРИЯ ПОД ФОРМОЙ ============ */
.form-trust{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--paper-line);margin-top:26px;}
.form-trust .ft-item{display:flex;gap:12px;padding:22px 24px;}
.form-trust .ft-item+.ft-item{border-left:1px solid var(--paper-line);}
.form-trust .ft-item svg{width:20px;height:20px;flex:none;color:var(--teal-deep);margin-top:2px;}
.form-trust .ft-item b{display:block;font-family:'Rubik',sans-serif;font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:5px;}
.form-trust .ft-item p{font-size:13px;line-height:1.5;color:var(--muted);font-weight:300;}

/* ============ АКЦЕНТНЫЙ БЛОК ГАРАНТИИ ============ */
.guarantee-section{padding-top:0;}
.guarantee-band{position:relative;overflow:hidden;background-image:linear-gradient(135deg,#1D7691,#131E2C);background-size:cover;background-position:center;border-radius:var(--r-lg);padding:34px 38px;display:flex;align-items:center;gap:26px;box-shadow:var(--shadow-md);--flow-img:var(--wave-pattern-f);--flow-dur:46s;}
.gb-shield{flex:none;width:62px;height:62px;border-radius:20px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);display:flex;align-items:center;justify-content:center;}
.gb-shield svg{width:30px;height:30px;color:#fff;}
.gb-copy{flex:1;min-width:0;}
.guarantee-band h3{color:#fff;font-size:21px;margin-bottom:6px;}
.guarantee-band p{font-size:15px;line-height:1.55;color:#fff;font-weight:300;max-width:64ch;}
.gb-link{flex:none;align-self:center;padding:13px 22px;border-radius:var(--r-btn);background:#fff;color:var(--ink);font-size:14.5px;font-weight:500;text-decoration:none;white-space:nowrap;transition:transform .2s ease;}
.gb-link:hover{transform:translateY(-1px);}
@media (max-width:760px){
  .form-trust{grid-template-columns:1fr;}
  .form-trust .ft-item+.ft-item{border-left:none;border-top:1px solid var(--paper-line);}
  .form-trust .ft-item{padding:18px 20px;}
  .guarantee-band{flex-direction:column;align-items:flex-start;gap:18px;padding:28px 24px;}
  .gb-shield{width:52px;height:52px;border-radius:16px;}
  .gb-shield svg{width:26px;height:26px;}
  .guarantee-band h3{font-size:19px;}
  .guarantee-band p{font-size:14.5px;}
  .gb-link{align-self:stretch;text-align:center;}
}

/* ============ PRICING ============ */
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.price-card{background:#fff;border:1.5px solid var(--paper-line);border-radius:var(--r-lg);padding:34px;position:relative;box-shadow:var(--shadow-md);}
.price-card.popular{border:2px solid var(--teal);}
.price-badge.popular-badge{background:var(--ink);}
.price-card.featured{background-image:var(--grad-ink);background-size:cover;background-position:center;border-color:transparent;color:#fff;position:relative;--flow-img:var(--wave-pattern-b);--flow-dur:58s;}
.price-badge{position:absolute;top:-13px;right:26px;background:var(--teal);color:#fff;font-size:12px;font-weight:500;padding:5px 14px;border-radius:50px;}
.price-card h3{font-size:13px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-family:'Rubik',sans-serif;}
.price-card.featured h3{color:#B9CBD6;}
.price-amount{font-family:'IBM Plex Mono',monospace;font-size:54px;font-weight:600;margin-bottom:6px;color:var(--ink);letter-spacing:-.01em;}
.price-card.featured .price-amount{font-size:60px;}
.price-card.featured .price-amount{color:#fff;}
.price-amount span{font-family:'Rubik',sans-serif;font-size:15px;font-weight:400;color:var(--muted);}
.price-card.featured .price-amount span{color:#B9CBD6;}
.price-amount .price-was{font-size:22px;}
.price-per{font-size:13px;color:var(--teal-deep);font-weight:500;margin-bottom:20px;font-family:'Rubik',sans-serif;}
.price-card.featured .price-per{color:var(--teal-light);}
.price-list{list-style:none;margin:20px 0 24px;}
.price-list li{font-size:14px;font-weight:300;color:var(--muted);padding:8px 0 8px 26px;position:relative;}
.price-card.featured .price-list li{color:#D7E3E9;}
.price-list li svg{position:absolute;left:0;top:12px;color:var(--teal);}
.price-card.featured .price-list li svg{color:var(--teal-light);}
.price-cta{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;width:100%;background:var(--paper-soft);color:var(--ink);font-weight:500;padding:14px;border-radius:var(--r-btn);text-decoration:none;border:1px solid var(--paper-line);transition:transform .15s ease,background .2s ease;}
.price-cta:active{transform:scale(.97);}
.price-cta:hover{transform:translateY(-1px);}
.price-card.featured .price-cta{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.22);}
.price-card.featured .price-cta:hover{background:rgba(255,255,255,.18);}
.avail-note{font-size:12px;color:#BFE7F2;background:rgba(255,255,255,.09);padding:9px 13px;border-radius:10px;margin-bottom:15px;line-height:1.4;}
.price-cta-row{display:flex;gap:10px;}
.price-cta-row .price-cta{flex:1;}

/* ============ FAQ ============ */
details.faq-item{border-bottom:1px solid var(--paper-line);}
.faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 4px;font-family:'Rubik',sans-serif;font-weight:600;font-size:16px;color:var(--ink);}
.faq-q .plus{color:var(--teal-deep);transition:transform .25s ease;flex-shrink:0;font-size:21px;font-weight:300;font-family:'Rubik',sans-serif;}
.faq-item[open] .plus{transform:rotate(45deg);}
.faq-a{padding:0 30px 22px 4px;font-size:14.5px;font-weight:300;color:var(--muted);max-width:70ch;}

/* ============ FINAL CTA ============ */
.final-cta{background:var(--grad-ink);color:#fff;border-radius:var(--r-lg);padding:64px 40px;text-align:center;margin:0 auto 64px;position:relative;overflow:hidden;}
.final-cta::after{content:'';position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:520px;height:340px;background:radial-gradient(closest-side,rgba(95,187,214,.5),transparent 70%);pointer-events:none;z-index:0;}
.final-cta>*{position:relative;z-index:1;}
.final-cta-mark{position:relative;display:inline-flex;margin-bottom:26px;opacity:1;}
/* знак растёт вместе с заголовком, а не висит крошечной меткой */
.final-cta-mark svg{display:block;width:clamp(78px,8.4vw,124px);height:auto;}
.final-cta::before{content:'';position:absolute;inset:0;background-image:var(--wave-pattern-c);background-size:cover;background-position:center;pointer-events:none;}
.final-cta h2{color:#fff;font-size:clamp(34px,4.6vw,50px);margin-bottom:15px;}
.final-cta p{color:#B9CBD6;font-weight:300;margin-bottom:28px;max-width:52ch;margin-left:auto;margin-right:auto;}
.final-cta .btn-primary{background:var(--teal);color:#fff;box-shadow:0 16px 32px -10px rgba(95,187,214,.5);}
.final-cta .btn-primary:hover{background:var(--teal-deep);}

/* ============ SUPPORT ============ */
.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:680px;}
.support-card{background:#fff;border:1px solid var(--paper-line);border-radius:var(--r-md);padding:26px;display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
.support-card:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:var(--shadow-sm);}
.support-card svg,.support-card img{flex-shrink:0;width:46px;height:46px;padding:11px;background:linear-gradient(155deg,#fff,var(--teal-pale));color:var(--teal-deep);border-radius:13px;box-sizing:border-box;object-fit:contain;box-shadow:0 8px 18px -8px rgba(29,118,145,.35),inset 0 0 0 1px rgba(29,118,145,.08);}
.support-card strong{display:block;font-size:15px;font-weight:500;margin-bottom:3px;}
.support-card span{font-size:13px;color:var(--muted);}

/* ============ FOOTER ============ */
footer{background:var(--ink-3);color:#8FA0AF;padding:44px 0 36px;font-size:12.5px;}
footer .wrap{display:flex;flex-direction:column;gap:12px;}
footer .f-links{display:flex;flex-wrap:wrap;gap:9px 20px;}
footer .f-links a{color:#C7D3DB;text-decoration:none;transition:color .2s ease;}
footer .f-links a:hover{color:#fff;}
footer .disclaimer{color:#5F707E;font-weight:300;line-height:1.65;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);margin-top:8px;}

/* ============ MOBILE STICKY / FAB ============ */
.mobile-sticky{display:none;}
.support-fab-wrap{position:fixed;right:20px;bottom:24px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;}
.support-fab{width:56px;height:56px;border-radius:50%;background:var(--ink);color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px -8px rgba(23,41,60,.55);cursor:pointer;transition:background .2s ease,transform .15s ease;}
.support-fab:hover{background:var(--teal-deep);transform:translateY(-2px);}
.support-fab:active{transform:translateY(0) scale(.94);}
.support-fab-menu{display:none;flex-direction:column;gap:6px;background:#fff;border-radius:16px;padding:12px;margin-bottom:12px;box-shadow:var(--shadow-lg);border:1px solid var(--paper-line);min-width:230px;}
.support-fab-menu.open{display:flex;}
.support-fab-hours{margin:0 0 3px;padding:4px 10px 11px;border-bottom:1px solid var(--paper-line);font-size:13px;line-height:1.45;color:var(--muted);}
.support-fab-hours strong{color:var(--ink);font-weight:500;}
.support-fab-menu a{font-size:13.5px;color:var(--ink);text-decoration:none;padding:9px 10px;border-radius:9px;display:flex;align-items:center;gap:10px;}
.support-fab-menu a:hover{background:var(--teal-pale);}
.support-fab-menu a svg,.support-fab-menu a img{flex-shrink:0;color:var(--teal-deep);object-fit:contain;}

/* ============ REPORT MODAL ============ */
.report-num-item{display:flex;gap:12px;background:#fff;border-radius:14px;padding:14px;margin-bottom:8px;border:1px solid var(--paper-line);}
.report-num-item p{font-size:13.5px;font-weight:300;color:var(--muted);}
.report-value-row{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--paper-line);border-radius:14px;padding:14px 16px;margin-bottom:8px;}
.report-value-row strong{display:block;font-size:14px;font-weight:500;}
.report-value-row span.sub{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--muted);font-weight:400;}
.report-diag{background:#fff;border:1px solid var(--paper-line);border-radius:14px;padding:17px;}
.report-diag-head{display:flex;justify-content:space-between;font-weight:500;font-size:14px;margin-bottom:9px;}
.report-diag-head>span{font-family:'IBM Plex Mono',monospace;font-weight:600;color:var(--teal-deep);}
.report-diag-bar{height:7px;background:var(--paper-soft);border-radius:6px;overflow:hidden;margin-bottom:11px;}
.report-diag-bar div{height:100%;background:var(--grad-teal);}
.report-diag p{font-size:13px;font-weight:300;color:var(--muted);}
.num-tag{font-family:'IBM Plex Mono',monospace;flex-shrink:0;min-width:30px;height:22px;padding:0 6px;border-radius:7px;background:var(--ink);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;}
.bdg{display:inline-block;border-radius:50px;padding:3px 11px;font-size:10.5px;font-weight:500;}
.bdg.danger{background:var(--red-bg);color:var(--red);}
.bdg.ok{background:var(--green-bg);color:var(--green);}
.bdg.warn{background:var(--amber-bg);color:var(--amber);}

/* ============ RESPONSIVE ============ */
@media (max-width:1120px){
  .header-nav-list{gap:16px;}
  .header-nav a{font-size:13.5px;}
  .header-cta{padding:11px 17px;font-size:13.5px;}
  .brand-logo{height:24px;}
}
@media (max-width:920px){
  header.header-hidden{transform:translateY(-100%);}
  .header-cta{display:none;}
  .menu-toggle{display:flex;}
  /* Мобильное меню.
     Было: max-height 0 -> 340px. Содержимое занимает 346px, поэтому нижний
     край кнопки «Получить расшифровку» обрезался, а сама высота была
     угадана руками и ломалась бы при добавлении пункта.
     Стало: высота auto (обрезать нечего), а появление идёт по opacity и
     transform — их браузер анимирует на видеокарте, без пересчёта раскладки.
     Меню в потоке не участвует (position:absolute), поэтому в закрытом
     состоянии ничего не занимает; visibility:hidden заодно убирает ссылки
     из обхода по Tab и из скринридера. */
  .header-nav{
    position:absolute;top:100%;left:0;right:0;
    background:#fff;flex-direction:column;align-items:stretch;
    visibility:hidden;opacity:0;transform:translateY(-6px);
    transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;
    overflow-y:auto;overscroll-behavior:contain;
    border-bottom:1px solid var(--paper-line);
    box-shadow:0 16px 30px rgba(20,39,57,.18);
  }
  .header-nav.open{
    visibility:visible;opacity:1;transform:translateY(0);
    transition:opacity .22s ease,transform .22s ease,visibility 0s;
  }
  .header-nav-list{flex-direction:column;align-items:stretch;gap:0;}
  .header-nav a{padding:15px 24px;border-top:1px solid var(--paper-line);}
  .header-nav-cta{display:flex !important;align-items:center;justify-content:center;margin:14px 20px 18px;padding:14px !important;background:var(--teal);color:#fff !important;border-radius:var(--r-btn);border-top:none !important;font-weight:500;box-shadow:var(--shadow-sm);}
  .header-nav-cta:hover{background:var(--teal-deep);}
  .header-nav a::after{display:none;}
  .hero-grid{grid-template-columns:1fr;gap:38px;}
  .hero-grid{padding-bottom:56px;}
  .fit-list{grid-template-columns:repeat(2,1fr);}
  .how-panel{padding:32px 28px;}
  .how-list{grid-template-columns:1fr;gap:28px;}
  .how-item{padding:0 !important;}
  .how-item::before{display:none;}
  .how-arrow{display:none;}
  .price-grid{grid-template-columns:1fr;}
  .save-card{grid-template-columns:1fr;}
  .hero-photo{max-width:420px;margin:0 auto;}
  .hero-cred{margin-top:22px;padding:10px 16px 10px 10px;}
  .hero-cred b{font-size:13px;}
  .fit-quote{gap:13px;padding:18px 18px;margin-top:26px;}
  .fit-quote p{font-size:14.5px;}
  .hero-doc-tag{right:14px;top:14px;font-size:10.5px;padding:5px 10px;}
  .stats-row{flex-direction:column;align-items:stretch;gap:18px;padding:28px 24px;}
  .stat-divider{width:auto;height:1px;}
  .stat-link{text-align:center;justify-content:center;margin-left:0;}
}
@media (max-width:600px){
  .hero{margin:10px 10px 0;border-radius:22px;}
  .hero-grid{padding-bottom:40px;}
  .fit-list{grid-template-columns:1fr;}
  .support-grid{grid-template-columns:1fr;}
  .support-fab-wrap{display:none;}
  .hero{padding:36px 0 26px;}
  section{padding:48px 0;}
  .final-cta{margin:0 16px 44px;padding:44px 24px;}
  .mobile-sticky{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fff;border-top:1px solid var(--paper-line);padding:12px 16px;align-items:center;justify-content:space-between;box-shadow:0 -10px 30px rgba(20,39,57,.15);}
  .mobile-sticky .price{font-weight:600;font-size:18px;font-family:'IBM Plex Mono',monospace;}
  .mobile-sticky .price small{display:block;font-weight:400;font-size:11px;color:var(--muted);font-family:'Rubik',sans-serif;}
  .mobile-sticky .btn-primary{padding:12px 22px;font-size:14px;box-shadow:none;}
  body{padding-bottom:74px;}
}

/* ============ БЫВШИЕ ИНЛАЙНОВЫЕ СТИЛИ ============
   Раньше это были style="..." прямо в разметке. Вынесены в классы,
   чтобы страница работала под CSP без 'unsafe-inline'. */
.rp-more{font-size:12.5px;color:var(--muted);font-weight:300;margin-top:4px;}
.rp-more-gap{margin-top:10px;}
.diag-sub{font-weight:300;color:var(--muted);}
.report-diag-bar .bar-40{width:40%;}
.faq-list{max-width:760px;}
.final-cta{max-width:1132px;}

/* picture — только контейнер для source-вариантов avif/webp; раскладку и
   размеры по-прежнему задаёт сама картинка внутри, как и до их появления */
picture{display:contents;}

/* ============ ВСТРОЕННАЯ ФОРМА ============ */
.form-embed{width:100%;min-width:0;scroll-margin-top:96px;}
body.form-in-view .mobile-sticky{display:none;}
