/* ============================================================
   STYLE.CSS — проектные стили лендинга (поверх base.css)
   ============================================================ */

/* === FONTS: self-hosted (Unbounded/Inter — OFL, JetBrains Mono — Apache 2.0) === */
@font-face{
  font-family:'Inter';font-style:normal;font-weight:400 500;font-display:swap;
  src:url('assets/fonts/inter-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Inter';font-style:normal;font-weight:400 500;font-display:swap;
  src:url('assets/fonts/inter-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('assets/fonts/jetbrains-mono-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('assets/fonts/jetbrains-mono-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face{
  font-family:'Unbounded';font-style:normal;font-weight:700 900;font-display:swap;
  src:url('assets/fonts/unbounded-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Unbounded';font-style:normal;font-weight:700 900;font-display:swap;
  src:url('assets/fonts/unbounded-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

/* === STYLE SPEC: проектные переменные === */
:root{
  --ink:#14120F;
  --paper:#FFFFFF;
  --yellow:#FFDE21;
  --red:#EB003B;
  --blue:#2B6CFF;
  --ink-soft:#5B584F;
  --display:'Unbounded',sans-serif;
  --mono:'JetBrains Mono',monospace;
  --sans:'Inter',sans-serif;
}

body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;}
.wrap{max-width:960px;margin:0 auto;padding:0 24px;}
::selection{background:var(--red);color:#fff;}

/* Защита от переполнения контейнера длинными словами на узких экранах */
h1,h2,h3,h4,p{overflow-wrap:break-word;}

.tag{
  display:inline-block;font-family:var(--mono);font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:0.08em;
  padding:5px 12px;border-radius:20px;
}
.tag.on-dark{background:var(--yellow);color:var(--ink);}
.tag.on-light{background:var(--ink);color:var(--yellow);}

.torn-bottom{clip-path:polygon(0% 0%,100% 0%,100% calc(100% - 18px),93.75% 100%,87.5% calc(100% - 18px),81.25% 100%,75% calc(100% - 18px),68.75% 100%,62.5% calc(100% - 18px),56.25% 100%,50% calc(100% - 18px),43.75% 100%,37.5% calc(100% - 18px),31.25% 100%,25% calc(100% - 18px),18.75% 100%,12.5% calc(100% - 18px),6.25% 100%,0% calc(100% - 18px));}
.torn-top{clip-path:polygon(0% 18px,6.25% 0%,12.5% 18px,18.75% 0%,25% 18px,31.25% 0%,37.5% 18px,43.75% 0%,50% 18px,56.25% 0%,62.5% 18px,68.75% 0%,75% 18px,81.25% 0%,87.5% 18px,93.75% 0%,100% 18px,100% 100%,0% 100%);}

/* ---------- HERO (black) ---------- */
.s-hero{background:var(--ink);color:#fff;padding:60px 0 70px;position:relative;overflow:hidden;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-overlay{position:absolute;inset:0;background:rgba(20,18,15,0.6);z-index:1;}
.s-hero .wrap{position:relative;z-index:2;}
.s-hero h1{
  font-family:var(--display);font-weight:900;font-size:clamp(34px,6vw,58px);
  line-height:1.05;letter-spacing:-0.02em;margin:20px 0 0;text-transform:uppercase;
}
.s-hero h1 .hl{color:var(--yellow);}
.s-hero h1 .amp{color:var(--red);}
.hero-sub{font-size:17px;color:#D8D5CC;margin:22px 0 30px;max-width:56ch;}
.hero-lower{display:flex;align-items:flex-end;gap:36px;flex-wrap:wrap;margin-top:26px;}
.big-num{
  font-family:var(--display);font-weight:700;font-size:clamp(70px,12vw,140px);line-height:0.8;color:var(--yellow);
  display:inline-block;animation:breathe 2.6s ease-in-out infinite;
}

@keyframes breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

@media (prefers-reduced-motion: reduce) {
  .big-num{ animation: none; }
}
.big-num-label{font-family:var(--mono);font-size:14px;color:#D8D5CC;text-transform:uppercase;letter-spacing:0.08em;margin-top:4px;}

.ticket-btn{
  position:relative;display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mono);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:0.03em;
  background:var(--red);color:#fff;border:2px dashed #fff;
  padding:15px 26px;text-decoration:none;cursor:pointer;
  transform:rotate(-1.5deg);
}
.ticket-btn::before,.ticket-btn::after{
  content:"";position:absolute;width:16px;height:16px;background:var(--ink);border-radius:50%;top:50%;transform:translateY(-50%);
}
.ticket-btn::before{left:-8px;}
.ticket-btn::after{right:-8px;}
.ticket-btn:hover{transform:rotate(0deg);}
.ticket-btn:focus-visible{outline:3px solid var(--yellow);outline-offset:4px;}

/* ---------- FACTS (yellow) ---------- */
.s-facts{background:var(--yellow);color:var(--ink);padding:56px 0;}

/* ---------- BONUS ---------- */
.s-bonus{background:var(--red);color:#fff;padding:26px 0;}
.bonus-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.bonus-badge{
  flex:none;font-family:var(--mono);font-weight:700;font-size:13px;text-transform:uppercase;
  background:var(--ink);color:var(--yellow);padding:9px 16px;border-radius:3px;letter-spacing:0.03em;
  transform:rotate(-2deg);
}
.bonus-text{font-family:var(--display);font-weight:900;font-size:clamp(17px,2.4vw,23px);text-transform:uppercase;line-height:1.25;}
.bonus-text b{color:#fff;}
.bonus-text .fine{display:block;font-family:var(--sans);font-weight:400;font-size:14px;text-transform:none;color:#fff;margin-top:8px;letter-spacing:0;line-height:1.5;}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--ink);border:2px solid var(--ink);}
.fact{background:var(--yellow);padding:20px 16px;}
.fact .num{font-family:var(--mono);font-weight:700;font-size:13px;}
.fact h3{font-family:var(--display);font-weight:700;font-size:19px;margin:8px 0 6px;text-transform:uppercase;}
.fact p{font-size:15px;color:var(--ink);opacity:0.8;margin:0;line-height:1.4;}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--ink);border:2px solid var(--ink);margin-top:2px;}
.stat{background:var(--ink);color:var(--yellow);text-align:center;padding:16px 10px;}
.stat b{display:block;font-family:var(--display);font-weight:900;font-size:clamp(17px,3.4vw,26px);}
.stat span{font-family:var(--mono);font-size:12px;color:#D8D5CC;text-transform:uppercase;}

/* ---------- SHARED WHITE SECTIONS ---------- */
section.plain{padding:56px 0;}
.section-head{margin-bottom:26px;text-align:center;}
.section-head h2{font-family:var(--display);font-weight:900;font-size:clamp(22px,3vw,30px);margin:12px 0 0;text-transform:uppercase;}
.card{background:#fff;border:3px solid var(--ink);padding:26px;}

/* ---------- QUIZ ---------- */
.progress{display:flex;gap:6px;margin-bottom:22px;}
.progress i{height:5px;flex:1;background:#EDEBE3;}
.progress i.on{background:var(--red);}
.step p:not(.q-hint){font-family:var(--display);font-weight:700;font-size:17px;margin:0 0 16px;line-height:1.3;}
.q-hint{font-family:var(--sans);font-weight:400;font-size:14px;color:var(--ink-soft);margin:-10px 0 18px;line-height:1.5;}
.opts{display:flex;flex-direction:column;gap:10px;}
.opt{
  text-align:left;font-family:var(--sans);font-weight:500;font-size:15px;
  background:#fff;border:2px solid var(--ink);padding:14px 16px;cursor:pointer;color:var(--ink);
}
.opt:hover{background:var(--yellow);}
.opt:focus-visible{outline:3px solid var(--blue);outline-offset:2px;}
.step{display:none;}
.step.active{display:block;}
.result{display:none;text-align:center;padding:10px 0;}
.result.active{display:block;}
.result h3{font-family:var(--display);font-weight:900;font-size:24px;margin:12px 0 10px;text-transform:uppercase;}
.result p{color:var(--ink-soft);font-size:15px;max-width:44ch;margin:0 auto 20px;}
.restart{display:none;background:none;border:none;color:var(--ink-soft);font-size:12px;margin-top:16px;cursor:pointer;text-decoration:underline;font-family:var(--mono);}

/* ---------- COMPARE ---------- */
.compare-grid{display:grid;grid-template-columns:1fr 1fr;}
.compare-col{padding:24px;}
.compare-col:first-child{border-right:3px solid var(--ink);}
.compare-col h3{font-family:var(--display);font-weight:700;font-size:14px;margin:0 0 16px;text-transform:uppercase;letter-spacing:0.03em;text-align:center;}
table{width:100%;border-collapse:collapse;font-size:15px;font-family:var(--sans);}
table td,table th{padding:8px 4px;font-weight:400;text-align:left;overflow-wrap:break-word;}
table tr:not(:first-child) td,table tr:not(:first-child) th{border-top:1px solid #EDEBE3;}
table td:first-child,table th:first-child{color:var(--ink-soft);}
table td:not(:first-child),table th:not(:first-child){text-align:center;}
.them{color:var(--ink-soft);}
.us{color:var(--red);font-weight:700;}

/* ---------- INDEPENDENCE (black) ---------- */
.s-indep{background:var(--ink);color:#fff;padding:56px 0;}
.indep-head{text-align:center;margin-bottom:34px;}
.indep-grid{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;}
.indep-num{font-family:var(--display);font-weight:900;font-size:clamp(80px,10vw,130px);line-height:0.8;color:var(--yellow);text-align:center;}
.indep-num-label{font-family:var(--mono);font-size:13px;color:#D8D5CC;text-transform:uppercase;letter-spacing:0.06em;margin:6px auto 0;max-width:16ch;text-align:center;}
.s-indep h2{font-family:var(--display);font-weight:900;font-size:clamp(24px,3.4vw,34px);text-transform:uppercase;margin:12px 0 0;line-height:1.1;}
.s-indep p{font-size:15px;color:#D8D5CC;max-width:56ch;margin:0 0 18px;}
.indep-list-dark{list-style:none;margin:0;padding:0;font-size:15px;color:#D8D5CC;display:flex;flex-wrap:wrap;gap:10px 26px;}
.indep-list-dark li{position:relative;padding-left:20px;}
.indep-list-dark li::before{content:"×";position:absolute;left:0;color:var(--red);font-family:var(--mono);font-weight:700;}

/* ---------- PROCESS ---------- */
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--ink);border:2px solid var(--ink);}
.p-step{background:#fff;padding:22px 18px;}
.p-step .n{font-family:var(--display);font-weight:900;font-size:34px;color:var(--red);margin:0 0 8px;}
.p-step h3{font-family:var(--display);font-weight:700;font-size:15px;margin:0 0 6px;text-transform:uppercase;}
.p-step p{font-size:15px;color:var(--ink-soft);margin:0;line-height:1.4;}

/* ---------- FAQ (yellow) ---------- */
.s-faq{background:var(--yellow);color:var(--ink);padding:64px 0;}
.faq-item{border-bottom:2px solid var(--ink);}
.faq-item:first-child{border-top:2px solid var(--ink);}
.faq-q{
  width:100%;text-align:left;background:none;border:none;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:18px 4px;font-family:var(--display);font-weight:700;font-size:15px;color:var(--ink);text-transform:uppercase;
}
.faq-q:focus-visible{outline:3px solid var(--blue);outline-offset:-3px;}
.faq-q .chev{font-family:var(--mono);color:var(--red);font-size:20px;transition:transform .15s ease;flex:none;}
.faq-item.open .chev{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .2s ease;}
.faq-item.open .faq-a{max-height:600px;}
.faq-a p{font-size:16px;color:var(--ink);opacity:0.8;margin:0 0 18px;padding:0 4px;line-height:1.5;}

/* ---------- FOOTER (black) ---------- */
footer.s-foot{background:var(--ink);color:#fff;padding:60px 0 46px;text-align:center;}
footer.s-foot h2{font-family:var(--display);font-weight:900;font-size:clamp(24px,4vw,34px);margin:16px 0 26px;text-transform:uppercase;}

.s-form{padding:48px 0;text-align:center;}
.s-form .section-head{margin-bottom:24px;}
.s-form p{font-size:15px;color:var(--ink-soft);max-width:46ch;margin:0 auto 22px;}
.contact-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:0 0 28px;}
.contact-chip{
  font-family:var(--mono);font-weight:700;font-size:14px;color:#fff;
  background:transparent;border:2px solid #fff;padding:10px 18px;text-decoration:none;cursor:pointer;
}
.port-link{font-size:12px;color:#A6A399;text-decoration:none;border-bottom:1px dotted #A6A399;}

/* ---------- PAGESPEED (мини-виджет в стиле PageSpeed Insights) ---------- */
.pagespeed{display:flex;flex-direction:column;align-items:center;gap:26px;margin:0 0 20px;}
.pagespeed-title{display:block;font-family:var(--mono);font-size:12px;color:#A6A399;margin-bottom:14px;}
.ps-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 20px;}
.ps-item{display:flex;flex-direction:column;align-items:center;gap:8px;width:80px;}
.ps-circle{
  width:52px;height:52px;border-radius:50%;border:4px solid #0CCE6B;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-weight:700;font-size:15px;color:#0CCE6B;
}
.ps-label{font-family:var(--mono);font-size:10px;color:#A6A399;line-height:1.3;}
.ps-pill{
  display:inline-flex;align-items:center;gap:6px;height:52px;padding:0 14px;border-radius:26px;
  font-family:var(--mono);font-weight:700;font-size:14px;color:#0CCE6B;background:rgba(12,206,107,0.12);
}
.ps-dot{width:7px;height:7px;border-radius:50%;background:#0CCE6B;display:inline-block;}

/* ---------- АДАПТИВ ---------- */

/* Планшеты: 769–1024px */
@media (max-width:1024px){
  .facts-grid{grid-template-columns:repeat(2,1fr);}
}

/* Большие телефоны / маленькие планшеты и ниже: ≤768px */
@media (max-width:768px){
  .indep-grid{grid-template-columns:1fr;gap:16px;}
  .facts-grid{grid-template-columns:1fr;}
  .compare-grid{grid-template-columns:1fr;}
  .compare-col:first-child{border-right:none;border-bottom:2px solid var(--ink);}
  .process-grid{grid-template-columns:1fr;}
  .hero-lower{align-items:flex-start;}

  /* Таблица сравнения иначе не помещается по ширине на телефонах */
  table{table-layout:fixed;}
  table td,table th{padding:7px 3px;font-size:13px;}
  table td:first-child,table th:first-child{width:36%;}
  table td:not(:first-child),table th:not(:first-child){width:32%;}
}

/* Мобильные: 320–480px */
@media (max-width:480px){
  .wrap{padding:0 16px;}
  .compare-col{padding:18px;}
}
