:root{
  --green:#0d6e31;
  --green-2:#075323;
  --green-3:#0b7d38;
  --text:#1f2721;
  --muted:#6c716c;
  --line:#dfe6df;
  --soft:#eef7f0;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:#fff;
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size:14px;
  line-height:1.35;
}
a{color:inherit;text-decoration:none}
.container{
  width:min(100% - 112px, 830px);
  margin-inline:auto;
}
.topbar{
  height:60px;
  background:linear-gradient(115deg, #06481e 0%, #075622 44%, #0a6630 100%);
  box-shadow:0 2px 10px rgba(0,0,0,0.25);
}
.topbar__inner{
  height:60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  font-weight:800;
  color:#fff;
}
.brand__icon{
  width:28px;
  height:32px;
  color:#fff;
  display:flex;
}
.brand__icon svg{width:100%;height:100%}
.brand__text{
  font-size:15px;
  line-height:1.05;
  letter-spacing:-.02em;
  color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,0.3);
}
.topbar__note{
  font-size:13px;
  color:rgba(255,255,255,0.82);
  transform:translateY(-2px);
}
.hero{
  position:relative;
  min-height:420px;
  overflow:hidden;
  background: url('assets/background.png') center/cover no-repeat;
  color:#fff;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(115deg, rgba(4,40,18,.82) 0%, rgba(4,50,20,.6) 45%, rgba(4,60,22,.1) 100%);
}
.hero__art{ display:none; }

/* Герб в герой-секции */
.hero__gerb-wrap{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:48%;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 40px 20px 0;
}
@keyframes gerb-float {
  0%, 100% {
    transform: perspective(900px) rotateY(-3deg) rotateX(1.5deg) translateY(0px);
    filter: drop-shadow(0 8px 40px rgba(0,0,0,0.6)) drop-shadow(0 2px 10px rgba(0,0,0,0.4));
  }
  50% {
    transform: perspective(900px) rotateY(3deg) rotateX(-1.5deg) translateY(-7px);
    filter: drop-shadow(0 20px 50px rgba(0,0,0,0.45)) drop-shadow(0 6px 16px rgba(0,0,0,0.3));
  }
}
.hero__gerb{
  max-height:100%;
  max-width:100%;
  width:auto;
  height:auto;
  display:block;
  animation: gerb-float 6s ease-in-out infinite;
}
.hero__veil{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(4,48,20,.94) 0%, rgba(4,60,24,.82) 42%, rgba(4,70,28,.05) 70%);
}
.hero__content{
  position:relative;
  z-index:1;
  padding-top:38px;
  padding-bottom:38px;
}
.hero h1{
  width:520px;
  margin:0;
  font-size:34px;
  line-height:1.06;
  letter-spacing:-.04em;
  font-weight:850;
}
.hero__lead{
  width:500px;
  margin:19px 0 0;
  font-size:16px;
  line-height:1.34;
  font-weight:520;
}
.hero__law{
  margin:22px 0 17px;
  font-size:13px;
  opacity:.95;
}
.hero__benefits{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:16px;
}
.quiz__stat{
  display:flex;
  align-items:center;
  gap:14px;
  background:#f0f7f2;
  border:1px solid #c8e6d0;
  border-radius:12px;
  padding:14px 18px;
  margin-bottom:28px;
}
.quiz__stat-num{
  font-size:26px;
  font-weight:800;
  color:var(--green);
  white-space:nowrap;
  line-height:1;
}
.quiz__stat-text{
  font-size:13px;
  color:#444;
  line-height:1.4;
  flex:1;
}
.quiz__stat-logo{
  display:flex;
  align-items:center;
  flex-shrink:0;
  opacity:0.85;
  transition:opacity .2s;
}
.quiz__stat-logo:hover{opacity:1;}
.hero__benefits li{
  display:flex;
  align-items:center;
  gap:13px;
  font-size:16px;
  font-weight:720;
}
.benefit-icon{
  width:30px;
  height:30px;
  border-radius:50%;
  display:inline-grid;
  place-items:center;
  flex:0 0 30px;
  color:#fff;
  background:rgba(137,174,50,.9);
  box-shadow:0 0 0 7px rgba(87,132,31,.22);
}
.benefit-icon svg{width:21px;height:21px}
.benefit-icon--img{background:none;box-shadow:none;width:36px;height:36px;flex-shrink:0}
.benefit-icon--img img{width:36px;height:36px;object-fit:contain}
.quiz{
  background:#fff;
  padding:36px 0 0;
}
.quiz h2{
  margin:0 0 22px;
  color:var(--green);
  font-size:29px;
  line-height:1.1;
  letter-spacing:-.035em;
  font-weight:850;
}
.question{
  display:grid;
  grid-template-columns:26px 252px 1fr 1fr;
  gap:0 15px;
  min-height:83px;
  padding:15px 0 16px;
  border-bottom:1px solid var(--line);
  align-items:start;
}
.question--check{min-height:105px}
.question--error{
  background:rgba(229,62,62,0.06);
  border-radius:10px;
  outline:1.5px solid rgba(229,62,62,0.35);
  animation:field-error-shake 0.35s ease-in-out;
}
.question--error .q-num{
  background:#e53e3e;
}
.question--result{
  min-height:63px;
  border-bottom:0;
  padding-bottom:7px;
}
.q-num{
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--green);
  color:#fff;
  font-size:12px;
  font-weight:850;
  margin-top:2px;
}
.q-title{
  font-weight:780;
  font-size:15px;
  line-height:1.28;
  letter-spacing:-.012em;
}
.q-options{
  display:grid;
  gap:11px;
  min-width:0;
}
.q-options--three{gap:10px}
.q-options--result{
  grid-column:3/5;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:16px;
  padding-top:1px;
}
.contact-label--discouraged span{opacity:0.5;}
.contact-label--discouraged:hover span{opacity:0.7;}
.contact-note{
  display:block;
  font-size:10px;
  font-weight:400;
  font-style:normal;
  color:#aaa;
  margin-top:2px;
}
.q-options--result label{
  flex-direction:row;
  align-items:center;
  gap:9px;
}
.q-options--result label span{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  font-weight:600;
  color:#2d3830;
}
.contact-icon{
  width:24px;
  height:24px;
  border-radius:7px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 2px 6px rgba(0,0,0,0.2);
}
.contact-icon svg{width:100%;height:100%;display:block;}
.contact-icon--call{ background:linear-gradient(135deg,#1a9e4a,#0d6e31); padding:4px; }
.contact-icon--tg  { background:none; }
.q-options--result input:checked ~ span{
  color:var(--green);
  font-weight:700;
}
.q-options--result input:checked ~ span .contact-icon{
  outline:2px solid var(--green);
  outline-offset:2px;
}
.q-options label{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:11px;
  font-size:13px;
  line-height:1.22;
  color:#323833;
  cursor:pointer;
  min-height:18px;
}
.q-options input{
  appearance:none;
  -webkit-appearance:none;
  width:16px;
  height:16px;
  margin:0;
  border:1.6px solid var(--green);
  background:#fff;
  flex:0 0 16px;
  transform:translateY(1px);
  display:grid;
  place-items:center;
}
.question--radio .q-options input{border-radius:50%}
.question--check .q-options input{border-radius:2px}
.q-options input:checked::after{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--green);
}
.question--check .q-options input:checked::after{
  width:8px;
  height:5px;
  border-radius:0;
  background:transparent;
  border-left:2px solid var(--green);
  border-bottom:2px solid var(--green);
  transform:rotate(-45deg) translateY(-1px);
}
.result-block{
  position:relative;
  padding:0 0 30px;
  margin-top:0;
}
.result-bg{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:333px;
  background:
    radial-gradient(850px 280px at 50% 110%, rgba(255,255,255,.9), transparent 60%),
    linear-gradient(90deg, #e8f5eb, #f8fbf8 48%, #e9f4e9);
  overflow:hidden;
}
.result-bg::before,
.result-bg::after{
  content:"";
  position:absolute;
  inset:auto auto -90px -210px;
  width:540px;
  height:330px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 0 0 9px rgba(255,255,255,.24), 0 0 0 18px rgba(255,255,255,.16), 0 0 0 27px rgba(255,255,255,.1), 0 0 0 36px rgba(255,255,255,.07);
  transform:rotate(-13deg);
}
.result-bg::after{
  left:auto;
  right:-260px;
  bottom:-160px;
  width:640px;
  height:390px;
}
.result-card{
  position:relative;
  z-index:1;
  width:min(100%, 780px);
  margin:8px auto 0;
  background:#fff;
  border:1px solid #dfe7df;
  border-radius:18px;
  box-shadow:0 18px 34px rgba(16,46,24,.16);
  display:grid;
  grid-template-columns:340px 1px 1fr;
  gap:40px;
  padding:25px 32px 23px;
}
.lead-form h3{
  margin:0 0 14px;
  font-size:22px;
  line-height:1.1;
  letter-spacing:-.03em;
  font-weight:800;
}
.field{
  display:block;
  margin-bottom:9px;
}
.field input,.field select{
  width:100%;
  height:37px;
  border:1px solid #d5ddd5;
  border-radius:4px;
  background:#fff;
  color:#2f3831;
  padding:0 15px;
  font:inherit;
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.015);
}
.field input::placeholder{color:#9a9f9a}
.field input.invalid{
  border-color:#e53e3e;
  background:#fff8f8;
  box-shadow:0 0 0 3px rgba(229,62,62,0.15);
  animation:field-error-shake 0.35s ease-in-out;
}
@keyframes field-error-shake{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-6px)}
  75%{transform:translateX(6px)}
}
@keyframes btn-pulse-red{
  0%  {box-shadow:0 1px 0 rgba(255,255,255,0.18) inset,0 -2px 0 rgba(0,0,0,0.2) inset,0 0 0 0 rgba(220,38,38,0);}
  40% {box-shadow:0 1px 0 rgba(255,255,255,0.18) inset,0 -2px 0 rgba(0,0,0,0.2) inset,0 0 0 10px rgba(220,38,38,0.3);}
  100%{box-shadow:0 1px 0 rgba(255,255,255,0.18) inset,0 -2px 0 rgba(0,0,0,0.2) inset,0 0 0 18px rgba(220,38,38,0);}
}
.lead-form button.btn-error{
  animation:btn-pulse-red 0.6s ease-out;
  background:linear-gradient(180deg,#e04040 0%,#c02020 50%,#a01010 100%) !important;
  transition:background 0.1s;
}
.field select{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230d6e31' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
  background-position:calc(100% - 14px) center;
  background-size:12px 8px;
  background-repeat:no-repeat;
}
.lead-form button{
  width:100%;
  height:44px;
  margin-top:4px;
  border:0;
  border-radius:6px;
  color:#fff;
  background:linear-gradient(180deg, #12a045 0%, #0b7b35 50%, #075822 100%);
  font-size:15px;
  font-weight:760;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.18) inset,
    0 -2px 0 rgba(0,0,0,0.2) inset,
    0 6px 18px rgba(7,88,34,0.45),
    0 2px 4px rgba(0,0,0,0.2);
  text-shadow:0 1px 2px rgba(0,0,0,0.25);
  letter-spacing:.01em;
}
@keyframes btn-shine {
  0%   { transform:translateX(-130%) skewX(-15deg); }
  100% { transform:translateX(280%)  skewX(-15deg); }
}
.lead-form button::after{
  content:'';
  position:absolute;
  inset:0;
  width:40%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent);
  animation:btn-shine 2.8s ease-in-out infinite;
  pointer-events:none;
}
.lead-form button:hover{
  filter:brightness(1.06);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.18) inset,
    0 -2px 0 rgba(0,0,0,0.2) inset,
    0 10px 24px rgba(7,88,34,0.5),
    0 3px 6px rgba(0,0,0,0.22);
}
.lead-form button:active{
  transform:translateY(1px);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.1) inset,
    0 2px 6px rgba(7,88,34,0.3);
}
.consent a{color:#747b75;text-decoration:underline;}
.consent a:hover{color:#444;}
.consent{
  margin:12px 0 13px;
  color:#747b75;
  font-size:11px;
  line-height:1.34;
}
.form-logos{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}
.badge-shine-wrap{
  position:relative;
  display:inline-block;
  border-radius:12px;
  overflow:hidden;
}
.badge-shine-wrap img{
  width:100%;
  max-width:220px;
  height:auto;
  display:block;
  border:none;
  outline:none;
  border-radius:12px;
  filter:drop-shadow(0 4px 12px rgba(26,86,191,0.35));
}
.result-card__divider{
  background:#e1e7e1;
  width:1px;
  min-height:274px;
}
.result-info{
  padding-top:1px;
}
.result-info .small{
  margin:0 0 0;
  font-size:13px;
  color:#2d332e;
}
.percent{
  margin-top:-2px;
  color:var(--green);
  font-size:37px;
  line-height:1.05;
  font-weight:850;
  letter-spacing:-.04em;
}
.progress{
  height:8px;
  border-radius:999px;
  background:#e1e5e1;
  overflow:hidden;
  margin:10px 0 25px;
  box-shadow:inset 0 1px 1px rgba(0,0,0,.05);
}
.progress span{
  display:block;
  width:70%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#10813a,#066024);
  transition:background .4s, width .4s;
}
.progress--red span{background:linear-gradient(90deg,#c0392b,#e74c3c)}
.progress--orange span{background:linear-gradient(90deg,#e67e22,#f39c12)}
.progress--green span{background:linear-gradient(90deg,#10813a,#066024)}
.percent--red{color:#e74c3c}
.percent--orange{color:#e67e22}
.percent--green{color:var(--green)}
.checks{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:17px;
}
.checks li{
  position:relative;
  padding-left:36px;
  font-size:15px;
  line-height:1.1;
}
.checks li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:-4px;
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--green);
  font-size:15px;
  font-weight:900;
}
.hint{
  margin:28px 0 0;
  font-size:14px;
  line-height:1.35;
  color:#222923;
}
.footer{
  background:#fff;
}
.footer__notes{
  padding-top:15px;
  color:#7b807b;
  font-size:11px;
  line-height:1.2;
}
.footer__notes p{margin:0 0 4px}
.footer__bar{
  min-height:60px;
  border-top:1px solid #dde5dd;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#333b34;
  font-size:13px;
}

/* ===== БОТ-ОВЕРЛЕЙ ===== */
.bot-overlay{
  position:fixed;inset:0;
  background:rgba(0,0,0,0.55);
  display:flex;align-items:center;justify-content:center;
  z-index:9999;
  padding:20px;
  backdrop-filter:blur(3px);
}
.bot-overlay[hidden]{display:none;}
.bot-overlay__card{
  background:#fff;
  border-radius:20px;
  padding:40px 32px 36px;
  max-width:380px;width:100%;
  text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,0.25);
  position:relative;
}
.bot-overlay__close{
  position:absolute;
  top:14px;right:16px;
  background:none;border:none;
  font-size:20px;color:#aaa;
  cursor:pointer;line-height:1;
  padding:4px 8px;
  border-radius:6px;
  transition:color .2s;
}
.bot-overlay__close:hover{color:#333;}
.bot-overlay__tg-note{
  font-size:12px;
  color:#888;
  background:#fff8e1;
  border-radius:8px;
  padding:8px 12px;
  margin:12px 0 16px;
  line-height:1.5;
  text-align:left;
}
.bot-overlay__icon{
  width:72px;height:72px;
  border-radius:18px;
  margin:0 auto 20px;
  display:flex;align-items:center;justify-content:center;
}
.bot-overlay__icon svg{width:44px;height:44px;}
.bot-overlay__title{
  font-size:22px;font-weight:700;
  color:#1f2721;margin:0 0 12px;
}
.bot-overlay__text{
  font-size:15px;line-height:1.6;
  color:#444;margin:0 0 16px;
}
.bot-overlay__countdown{
  font-size:13px;color:#888;margin:12px 0 0;
  font-variant-numeric:tabular-nums;
}
.bot-overlay__hint{
  display:flex;align-items:center;justify-content:center;gap:6px;
  font-size:12px;color:#999;margin-top:16px;margin-bottom:24px;
}
.bot-overlay__btn{
  display:block;
  background:var(--green);
  color:#fff;
  font-size:17px;font-weight:700;
  padding:16px 24px;
  border-radius:12px;
  text-decoration:none;
  transition:background .2s;
  animation:pulse-btn 1.8s ease-in-out infinite;
}
.bot-overlay__btn:hover{
  background:var(--green-2);
  animation:none;
}
@keyframes pulse-btn{
  0%,100%{box-shadow:0 0 0 0 rgba(13,110,49,0.5);}
  50%{box-shadow:0 0 0 12px rgba(13,110,49,0);}
}
/* иконки */
.bot-overlay__icon--max{background:linear-gradient(135deg,#5B8DEF,#B44FE8);}
.bot-overlay__icon--tg {background:#29A8E8;}
.phone{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:17px;
  color:#253127;
}
.phone svg{
  width:21px;
  height:21px;
  color:var(--green);
}
sup{
  font-size:0.55em;
  position:relative;
  top:-0.45em;
  line-height:0;
  font-weight:400;
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
@media (max-width: 760px){
  .container{width:min(100% - 36px, 520px)}
  .topbar{height:auto}
  .topbar__inner{height:auto;padding:13px 0;gap:12px;align-items:flex-start}
  .brand__text{font-size:13px}
  .brand__icon{width:32px;height:36px}
  .topbar__note{font-size:11px;text-align:right;max-width:150px;color:rgba(255,255,255,0.8)}
  .hero{min-height:0}
  .hero__gerb-wrap{width:55%;opacity:.25;pointer-events:none}
  .hero__veil{background:linear-gradient(90deg, rgba(4,48,20,.96), rgba(4,65,26,.86))}
  .hero__content{padding:34px 0 31px}
  .hero h1{width:100%;font-size:30px;line-height:1.08}
  .hero__lead{width:100%;font-size:14px}
  .hero__benefits li{font-size:14px;align-items:flex-start}
  .quiz{padding-top:31px}
  .quiz h2{font-size:27px;margin-bottom:13px}
  .question,
  .question--check,
  .question--result{
    grid-template-columns:28px 1fr;
    min-height:0;
    gap:8px 9px;
    padding:17px 0;
  }
  .q-title{font-size:15px}
  .q-options,
  .q-options--result{
    grid-column:2/3;
    grid-template-columns:1fr;
    gap:12px;
    padding-top:4px;
  }
  .question .q-options:nth-of-type(2){padding-top:0}
  .result-block{padding-bottom:26px}
  .result-bg{height:520px}
  .result-card{
    margin-top:5px;
    grid-template-columns:1fr;
    gap:22px;
    padding:24px 22px;
    border-radius:16px;
  }
  .result-card__divider{display:none}
  .result-info{border-top:1px solid #e1e7e1;padding-top:23px}
  .form-logos{width:280px}
  .footer__notes{font-size:10.5px;line-height:1.28}
  .footer__bar{flex-direction:column;align-items:center;text-align:center;gap:10px;padding:14px 0 18px}
}
@media (max-width: 420px){
  .container{width:min(100% - 28px, 390px)}
  .topbar__note{display:none}
  .hero h1{font-size:28px}
  .hero__content{padding-top:30px}
  .lead-form h3{font-size:21px}
}
