
:root{
  --bg:#f6f7f3;
  --bg-soft:#eef1ea;
  --surface:#ffffff;
  --surface-soft:#fafbf8;
  --surface-strong:#f1f4ee;
  --text:#1f2937;
  --text-strong:#111827;
  --text-soft:#566070;
  --text-muted:#7b8695;
  --line:#d9e0d5;
  --line-strong:#c6d0c3;
  --accent:#48664e;
  --accent-strong:#3d5843;
  --accent-soft:#e6eee6;
  --accent-ink:#233227;
  --success:#356a45;
  --error:#b14942;
  --warning:#8b6b3f;
  --radius-sm:12px;
  --radius-md:20px;
  --radius-lg:28px;
  --container:1240px;
  --header-h:84px;
  --section-space:104px;
  --section-space-m:72px;
  --shadow-xs:0 1px 2px rgba(17,24,39,.04);
  --shadow-sm:0 10px 30px rgba(31,41,55,.05);
  --shadow-md:0 20px 60px rgba(31,41,55,.07);
  --focus-ring:0 0 0 4px rgba(72,102,78,.16);
}

*,
*::before,
*::after{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 16px);
}

body{
  margin:0;
  min-width:320px;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(72,102,78,.04), transparent 32%),
    linear-gradient(180deg, #f8f8f4 0%, #f6f7f3 100%);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

html,
body{
  max-width:100%;
  overflow-x:hidden;
}

@supports (overflow:clip){
  html,
  body{overflow-x:clip}
}

img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,input,textarea,select{appearance:none;-webkit-appearance:none}
button{border:0;background:none;cursor:pointer}
input,textarea,select,button,a{-webkit-tap-highlight-color:transparent}

:focus-visible{outline:none;box-shadow:var(--focus-ring)}

.container{
  width:min(calc(100% - 48px), var(--container));
  margin:0 auto;
}

.skip-link{
  position:absolute;
  top:-64px;
  left:16px;
  z-index:100;
  padding:12px 16px;
  background:var(--accent-ink);
  color:#fff;
  border-radius:12px;
}
.skip-link:focus{top:16px}

h1,h2,h3,p,ul,ol,dl{margin-top:0;overflow-wrap:break-word}
p,li,dd{color:var(--text-soft)}
strong,dt{color:var(--text-strong)}

h1{
  margin:0 0 22px;
  max-width:22ch;
  font-size:clamp(2.45rem,4.8vw,4.25rem);
  line-height:1.02;
  letter-spacing:-.052em;
  color:var(--text-strong);
}
h2{
  margin:0;
  max-width:19ch;
  font-size:clamp(1.95rem,3vw,3rem);
  line-height:1.08;
  letter-spacing:-.04em;
  color:var(--text-strong);
}
h3{
  margin:0 0 12px;
  font-size:1.28rem;
  line-height:1.25;
  letter-spacing:-.02em;
  color:var(--text-strong);
}

ul,ol{padding-left:1.1rem}

.section{padding:var(--section-space) 0}
.section--tight{padding-top:56px}
.section--alt{
  background:linear-gradient(180deg, rgba(238,241,234,.76), rgba(238,241,234,.52));
  border-top:1px solid rgba(198,208,195,.55);
  border-bottom:1px solid rgba(198,208,195,.55);
}
.section--accent{
  background:linear-gradient(135deg, #2a3a30 0%, #1f2c25 100%);
  color:#f4f6f2;
}
.section--accent h2,
.section--accent h3,
.section--accent strong{color:#fff}
.section--accent p,
.section--accent li,
.section--accent dd{color:rgba(244,246,242,.78)}
.section--accent .card{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.14);
  color:#fff;
}
.section-head{
  max-width:820px;
  margin-bottom:38px;
}
.section-head--wide{max-width:980px}
.section-lead{
  margin-top:16px;
  max-width:70ch;
  font-size:1.08rem;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
  color:var(--accent);
  font-size:.78rem;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.eyebrow::before{
  content:"";
  width:24px;
  height:1px;
  background:currentColor;
  opacity:.35;
}
.eyebrow--compact{
  margin-bottom:12px;
  font-size:.72rem;
}
.eyebrow--light{color:#cfe0d0}

.card{
  min-width:0;
  padding:30px;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-xs);
}

.site-header{
  position:sticky;
  top:0;
  z-index:40;
  border-bottom:1px solid rgba(217,224,213,.72);
  background:rgba(246,247,243,.82);
  backdrop-filter:blur(14px);
  transition:box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}
.site-header.is-scrolled{
  box-shadow:0 10px 32px rgba(17,24,39,.06);
  background:rgba(246,247,243,.94);
}
.header__inner,
.footer__inner{
  display:flex;
  align-items:center;
  gap:28px;
  min-height:var(--header-h);
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  flex:0 1 350px;
}
.brand__mark{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:14px;
  background:var(--accent-ink);
  color:#d7b15d;
  font-weight:800;
  letter-spacing:.02em;
  font-size:1.1rem;
  flex-shrink:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.brand__body{
  display:grid;
  gap:2px;
  min-width:0;
}
.brand__title{
  font-size:1rem;
  line-height:1.2;
  font-weight:700;
  color:var(--text-strong);
}
.brand__meta{
  font-size:.84rem;
  line-height:1.45;
  color:var(--text-soft);
}
.header__panel{
  display:flex;
  align-items:center;
  gap:20px;
  flex:1;
  min-width:0;
}
.nav{margin-left:auto}
.nav__list{
  display:flex;
  align-items:center;
  gap:5px;
  padding:0;
  margin:0;
  list-style:none;
}
.nav__list a{
  display:block;
  padding:10px 12px;
  border-radius:999px;
  color:var(--text-soft);
  font-size:.92rem;
  line-height:1.2;
  transition:background-color .2s ease,color .2s ease;
}
.nav__list a:hover{
  background:var(--accent-soft);
  color:var(--accent-ink);
}
.header__contacts{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--text-soft);
  font-size:.9rem;
  white-space:nowrap;
}
.header__contacts a{
  padding:7px 0;
  color:var(--accent-ink);
  font-weight:650;
}
.header__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
.menu-toggle{
  display:none;
  width:48px;
  height:48px;
  border-radius:14px;
  border:1px solid var(--line);
  background:var(--surface);
}
.menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  margin:5px auto;
  background:var(--text-strong);
  border-radius:2px;
  transition:transform .2s ease,opacity .2s ease;
}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:13px 20px;
  border-radius:999px;
  border:1px solid var(--accent);
  background:var(--accent);
  color:#fff;
  font-weight:700;
  font-size:.95rem;
  line-height:1.2;
  text-align:center;
  box-shadow:var(--shadow-xs);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}
.button:hover{
  transform:translateY(-1px);
  background:var(--accent-strong);
  border-color:var(--accent-strong);
  box-shadow:var(--shadow-sm);
}
.button--ghost{
  background:transparent;
  color:var(--accent-ink);
  border-color:var(--line-strong);
}
.button--ghost:hover{
  background:var(--accent-soft);
  color:var(--accent-ink);
  border-color:var(--accent);
}
.button--block{
  width:100%;
}
.button--small{
  min-height:40px;
  padding:9px 15px;
  font-size:.9rem;
}

.hero{
  padding-top:78px;
}
.hero__layout{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.55fr);
  gap:46px;
  align-items:start;
}
.hero__lead{
  max-width:710px;
  margin:0 0 26px;
  font-size:1.18rem;
  line-height:1.65;
  color:var(--text-soft);
}
.hero__bullets{
  display:grid;
  gap:12px;
  max-width:760px;
  padding:0;
  margin:0 0 28px;
  list-style:none;
}
.hero__bullets li{
  position:relative;
  padding-left:28px;
  color:var(--text);
}
.hero__bullets li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 5px var(--accent-soft);
}
.hero__actions,
.section-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.hero__trust{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:34px;
}
.trust-item{
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.7);
}
.trust-item strong{
  display:block;
  margin-bottom:6px;
  font-size:.95rem;
}
.trust-item span{
  display:block;
  color:var(--text-soft);
  font-size:.9rem;
  line-height:1.45;
}
.hero__aside{
  position:sticky;
  top:calc(var(--header-h) + 20px);
  box-shadow:var(--shadow-md);
}
.card__head{margin-bottom:22px}

.form{
  display:grid;
  gap:16px;
}
.field{
  display:grid;
  gap:7px;
}
.field label{
  font-size:.92rem;
  font-weight:700;
  color:var(--text-strong);
}
input,textarea,select{
  width:100%;
  border:1px solid var(--line-strong);
  border-radius:14px;
  background:#fff;
  color:var(--text-strong);
  padding:13px 14px;
  min-height:50px;
  line-height:1.35;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
textarea{
  resize:vertical;
  min-height:104px;
}
select{
  background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%),linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);
  background-position:calc(100% - 18px) 21px, calc(100% - 13px) 21px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
  padding-right:38px;
}
input:focus,textarea:focus,select:focus{
  border-color:var(--accent);
  box-shadow:var(--focus-ring);
  outline:none;
}
.field.is-error input,
.field.is-error textarea,
.field.is-error select{
  border-color:var(--error);
  background:#fffafa;
}
.field-error{
  color:var(--error);
  font-size:.86rem;
}
.form-hint{
  margin:0;
  color:var(--text-muted);
  font-size:.88rem;
  line-height:1.5;
}
.form-hint a{
  color:var(--accent-ink);
  text-decoration:underline;
  text-underline-offset:3px;
}
.form-message{
  margin:0;
  min-height:1.4em;
  font-size:.94rem;
  font-weight:650;
}
.form-message.is-success{color:var(--success)}
.form-message.is-error{color:var(--error)}
.form.is-submitting .button[type="submit"]{opacity:.72;pointer-events:none}

.split-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.tone-good{
  border-color:rgba(53,106,69,.25);
  background:linear-gradient(180deg,#fff,#f7fbf6);
}
.tone-neutral{
  background:linear-gradient(180deg,#fff,#faf8f2);
}
.feature-list{
  display:grid;
  gap:10px;
  padding-left:1.15rem;
  margin:0;
}
.feature-list--columns{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:28px;
}

.proof-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:22px;
}
.proof-item strong{
  display:block;
  margin-bottom:6px;
  font-size:2rem;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--accent-ink);
}
.proof-item span{
  color:var(--text-soft);
}

.cases-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.case-card--featured{
  grid-column:span 2;
}
.case-card__meta{
  margin-bottom:12px;
  color:var(--accent);
  font-size:.84rem;
  font-weight:700;
}
.case-summary{
  display:grid;
  gap:12px;
  margin:0;
}
.case-summary div{
  padding-top:12px;
  border-top:1px solid var(--line);
}
.case-summary dt{
  margin-bottom:3px;
  font-weight:750;
}
.case-summary dd{
  margin:0;
  line-height:1.5;
}
.case-report{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.case-report__toggle{margin-top:18px}

.services-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.service-card p{
  margin-bottom:0;
}

.steps-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
  padding:0;
  margin:0;
  list-style:none;
  counter-reset:steps;
}
.step__index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-bottom:18px;
  border-radius:14px;
  background:var(--accent-soft);
  color:var(--accent-ink);
  font-weight:800;
}
.step p{margin-bottom:0}

.expert-card{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:34px;
  align-items:center;
}
.expert-card__photo{
  display:grid;
  place-items:center;
  min-height:260px;
  border-radius:var(--radius-md);
  background:
    radial-gradient(circle at 30% 30%, rgba(215,177,93,.22), transparent 34%),
    linear-gradient(135deg,var(--accent-ink),#18211c);
  color:#d7b15d;
  font-size:4rem;
  font-weight:850;
  letter-spacing:-.06em;
}
.expert-card__content p{
  max-width:76ch;
}

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:start;
}
.price-card{
  position:relative;
  display:grid;
  gap:18px;
  height:100%;
}
.price-card--accent{
  border-color:rgba(72,102,78,.45);
  box-shadow:var(--shadow-md);
}
.price-card__badge{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:7px 12px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent-ink);
  font-size:.82rem;
  font-weight:800;
}
.price-card__top{
  display:grid;
  gap:7px;
}
.price-card__label{
  margin:0;
  color:var(--accent);
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.price-card__value{
  margin:0;
  color:var(--text-strong);
  font-size:1.45rem;
  font-weight:850;
}
.price-card__lead,
.price-card__result{
  margin:0;
}
.price-card__fit{
  padding:16px;
  border-radius:var(--radius-sm);
  background:var(--surface-strong);
}
.price-card__fit strong{
  display:block;
  margin-bottom:8px;
}
.price-card__fit ul{
  display:grid;
  gap:6px;
  margin:0;
  padding-left:1.1rem;
}
.excluded-card{
  margin-top:22px;
}

.two-column-callout{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:22px;
  align-items:stretch;
}
.two-column-callout .card{
  display:grid;
  align-content:start;
}
.two-column-callout .button{
  justify-self:start;
  margin-top:20px;
}

.quiz-form{
  max-width:920px;
  margin:0 auto;
  background:#fff;
}
.quiz-progress{
  position:relative;
  height:8px;
  margin-bottom:24px;
  border-radius:999px;
  background:var(--surface-strong);
  overflow:hidden;
}
.quiz-progress__bar{
  display:block;
  width:25%;
  height:100%;
  border-radius:inherit;
  background:var(--accent);
  transition:width .25s ease;
}
.quiz-step{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.quiz-step legend{
  margin-bottom:18px;
  font-size:1.28rem;
  font-weight:800;
  color:var(--text-strong);
}
.quiz-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.quiz-actions{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:24px;
}
.quiz-actions .button[disabled]{
  opacity:.45;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}
.section--accent .quiz-form p,
.section--accent .quiz-form li,
.section--accent .quiz-form dd,
.section--accent .quiz-form label,
.section--accent .quiz-form legend{color:var(--text-strong)}
.section--accent .quiz-form .form-hint{color:var(--text-muted)}

.faq{
  display:grid;
  gap:12px;
}
.faq__item{
  padding:0;
  overflow:hidden;
}
.faq__question{
  position:relative;
  width:100%;
  padding:24px 64px 24px 28px;
  text-align:left;
  color:var(--text-strong);
  font-weight:800;
  line-height:1.35;
}
.faq__question::after{
  content:"+";
  position:absolute;
  right:26px;
  top:50%;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--accent-soft);
  color:var(--accent-ink);
  font-weight:800;
}
.faq__question[aria-expanded="true"]::after{
  content:"−";
}
.faq__answer{
  padding:0 28px 24px;
}
.faq__answer p{margin-bottom:0}

.contacts__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.64fr);
  gap:42px;
  align-items:start;
}
.contact-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}
.contact-card{
  padding:20px;
}
.contact-card strong{
  display:block;
  margin-bottom:6px;
}
.contact-card span{
  color:var(--text-soft);
}
a.contact-card:hover{
  border-color:var(--accent);
  box-shadow:var(--shadow-sm);
}
.contacts__form-card{
  box-shadow:var(--shadow-md);
}
.contacts__form-card > p{
  margin-bottom:20px;
}

.site-footer{
  padding:44px 0;
  border-top:1px solid var(--line);
  background:#eef1ea;
}
.footer__inner{
  align-items:flex-start;
  justify-content:space-between;
  min-height:auto;
}
.brand--footer{
  flex:0 0 280px;
}
.footer__nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  max-width:330px;
}
.footer__nav a{
  color:var(--text-soft);
  font-size:.92rem;
}
.footer__nav a:hover{
  color:var(--accent-ink);
}
.footer__legal{
  max-width:430px;
}
.footer__legal p{
  margin:0 0 8px;
  font-size:.88rem;
  line-height:1.5;
}

@media (max-width:1180px){
  :root{--header-h:76px}
  .header__panel{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:18px;
    max-height:calc(100dvh - var(--header-h));
    padding:20px 24px 28px;
    overflow-y:auto;
    overscroll-behavior:contain;
    border-bottom:1px solid var(--line);
    background:rgba(246,247,243,.98);
    box-shadow:var(--shadow-md);
  }
  .header__panel.is-open{display:flex}
  .nav{margin:0}
  .nav__list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .nav__list a{
    padding:12px 14px;
    background:rgba(255,255,255,.72);
  }
  .header__contacts,
  .header__actions{
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .menu-toggle{
    display:block;
    margin-left:auto;
  }
  .brand{flex:1}
  .hero__layout{
    grid-template-columns:1fr;
  }
  .hero__aside{
    position:static;
  }
  .steps-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .cases-grid,
  .services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .proof-strip{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:860px){
  body{font-size:16px}
  .container{width:min(calc(100% - 32px), var(--container))}
  .section{padding:var(--section-space-m) 0}
  .section--tight{padding-top:40px}
  .hero{padding-top:50px}
  h1{font-size:clamp(2.25rem,11vw,3.25rem)}
  h2{font-size:clamp(1.8rem,8vw,2.4rem)}
  .hero__trust,
  .split-grid,
  .proof-strip,
  .pricing-grid,
  .two-column-callout,
  .contacts__grid,
  .expert-card{
    grid-template-columns:1fr;
  }
  .expert-card__photo{
    min-height:180px;
  }
  .steps-grid{
    grid-template-columns:1fr;
  }
  .case-card--featured{
    grid-column:auto;
  }
  .feature-list--columns,
  .quiz-grid,
  .contact-cards{
    grid-template-columns:1fr;
  }
  .footer__inner{
    display:grid;
    gap:24px;
  }
  .brand--footer{
    flex:auto;
  }
}

@media (max-width:560px){
  :root{--header-h:72px}
  .container{width:min(calc(100% - 24px), var(--container))}
  .card{padding:22px}
  .header__inner{gap:12px}
  .brand__mark{
    width:42px;
    height:42px;
    border-radius:12px;
  }
  .brand__meta{
    display:none;
  }
  .header__panel{
    padding:18px 12px 24px;
  }
  .nav__list{
    grid-template-columns:1fr;
  }
  .header__actions .button,
  .hero__actions .button,
  .section-actions .button,
  .quiz-actions .button{
    width:100%;
  }
  .hero__actions,
  .section-actions,
  .quiz-actions{
    align-items:stretch;
  }
  .quiz-actions{
    flex-direction:column;
  }
  .faq__question{
    padding:20px 56px 20px 20px;
  }
  .faq__answer{
    padding:0 20px 20px;
  }
}


/* === 2026/2027 tactile UI upgrade: зелено-бежевый neo-skeuomorphism === */
:root{
  --surface:#fbfaf5;
  --surface-soft:#f8f7f1;
  --surface-strong:#edf1e8;
  --shadow-xs:
    0 1px 1px rgba(255,255,255,.72) inset,
    0 1px 2px rgba(35,50,39,.08);
  --shadow-sm:
    0 1px 1px rgba(255,255,255,.74) inset,
    0 2px 6px rgba(35,50,39,.08),
    0 18px 38px rgba(35,50,39,.08);
  --shadow-md:
    0 1px 1px rgba(255,255,255,.76) inset,
    0 4px 10px rgba(35,50,39,.10),
    0 26px 64px rgba(35,50,39,.12);
  --shadow-pressed:
    0 1px 1px rgba(255,255,255,.42) inset,
    0 1px 3px rgba(35,50,39,.16);
  --ease-physics:cubic-bezier(.25,1,.5,1);
  --grain:
    radial-gradient(circle at 12% 22%, rgba(35,50,39,.028) 0 1px, transparent 1.4px),
    radial-gradient(circle at 78% 18%, rgba(139,107,63,.022) 0 1px, transparent 1.5px),
    radial-gradient(circle at 42% 84%, rgba(255,255,255,.42) 0 1px, transparent 1.6px);
}

body{
  background:
    var(--grain),
    radial-gradient(circle at top left, rgba(72,102,78,.08), transparent 34%),
    radial-gradient(circle at 86% 8%, rgba(215,177,93,.08), transparent 28%),
    linear-gradient(180deg, #faf9f3 0%, #f4f6ef 100%);
  background-size:180px 180px, auto, auto, auto;
}

h1{
  max-width:16.6ch;
  letter-spacing:-.058em;
}

.section--alt{
  background:
    var(--grain),
    linear-gradient(180deg, rgba(238,241,234,.88), rgba(238,241,234,.62));
  background-size:190px 190px, auto;
}

.section--accent{
  background:
    radial-gradient(circle at 20% 12%, rgba(255,255,255,.08), transparent 28%),
    radial-gradient(circle at 82% 20%, rgba(215,177,93,.08), transparent 32%),
    repeating-linear-gradient(115deg, rgba(255,255,255,.025) 0 1px, transparent 1px 5px),
    linear-gradient(135deg, #2a3a30 0%, #1f2c25 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    inset 0 -1px 0 rgba(0,0,0,.18);
}

.card{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(248,248,241,.94)),
    var(--grain);
  background-size:auto, 150px 150px;
  border-color:rgba(198,208,195,.82);
  box-shadow:var(--shadow-sm);
  transform:translateY(0) rotateX(0) rotateY(0);
  transform-style:preserve-3d;
  transition:
    transform .34s var(--ease-physics),
    box-shadow .34s var(--ease-physics),
    border-color .34s var(--ease-physics),
    background-color .34s var(--ease-physics);
}

.card::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(
      circle at var(--shine-x, 50%) var(--shine-y, 0%),
      rgba(255,255,255,.42),
      rgba(255,255,255,.16) 18%,
      transparent 42%
    );
  opacity:0;
  transition:opacity .32s var(--ease-physics);
}

.card:hover{
  transform:translateY(-4px);
  border-color:rgba(72,102,78,.34);
  box-shadow:
    0 1px 1px rgba(255,255,255,.8) inset,
    0 4px 10px rgba(35,50,39,.12),
    0 28px 70px rgba(35,50,39,.13);
}

.card:hover::after{opacity:1}

.section--accent .card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.07)),
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.12), transparent 30%),
    repeating-linear-gradient(112deg, rgba(255,255,255,.025) 0 1px, transparent 1px 6px);
  border-color:rgba(255,255,255,.16);
  box-shadow:
    0 1px 1px rgba(255,255,255,.12) inset,
    0 4px 12px rgba(0,0,0,.2),
    0 32px 72px rgba(0,0,0,.18);
}

.trust-item,
.nav__list a,
input,
textarea,
select{
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(248,248,241,.9)),
    var(--grain);
  background-size:auto, 150px 150px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 1px 2px rgba(35,50,39,.05);
}

input,
textarea,
select{
  transition:
    border-color .24s var(--ease-physics),
    box-shadow .24s var(--ease-physics),
    background-color .24s var(--ease-physics);
}

input:hover,
textarea:hover,
select:hover{
  border-color:rgba(72,102,78,.45);
}

.button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), transparent 38%),
    linear-gradient(180deg, var(--accent), var(--accent-strong));
  border-color:rgba(35,50,39,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -1px 0 rgba(0,0,0,.18),
    0 2px 4px rgba(35,50,39,.12),
    0 14px 28px rgba(35,50,39,.12);
  transform:translateY(0) scale(1);
  transition:
    transform .28s var(--ease-physics),
    box-shadow .28s var(--ease-physics),
    background-color .28s var(--ease-physics),
    border-color .28s var(--ease-physics);
}

.button::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
  transform:translateX(-120%);
  transition:transform .62s var(--ease-physics);
}

.button:hover::before{transform:translateX(120%)}

.button:hover{
  transform:translateY(-2px) scale(1.012);
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), transparent 38%),
    linear-gradient(180deg, #52745a, var(--accent-strong));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    inset 0 -1px 0 rgba(0,0,0,.18),
    0 3px 7px rgba(35,50,39,.14),
    0 20px 38px rgba(35,50,39,.16);
}

.button:active,
.button.is-pressed{
  transform:translateY(2px) scale(.97);
  box-shadow:var(--shadow-pressed);
}

.button--ghost{
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(237,241,232,.78));
  color:var(--accent-ink);
  border-color:rgba(198,208,195,.92);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.74),
    inset 0 -1px 0 rgba(35,50,39,.08),
    0 2px 4px rgba(35,50,39,.05),
    0 12px 24px rgba(35,50,39,.07);
}

.button--ghost:hover{
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(230,238,230,.94));
  color:var(--accent-ink);
  border-color:rgba(72,102,78,.42);
}

.hero{
  position:relative;
}

.hero::before{
  content:"";
  position:absolute;
  inset:24px 0 auto;
  height:340px;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 18%, rgba(215,177,93,.13), transparent 24%),
    radial-gradient(circle at 78% 26%, rgba(72,102,78,.12), transparent 26%);
  filter:blur(4px);
  opacity:.85;
}

.hero__layout{
  position:relative;
  z-index:1;
}

.hero__aside{
  box-shadow:var(--shadow-md);
}

.hero__bullets li::before{
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.68), transparent 28%),
    linear-gradient(180deg, #587861, var(--accent));
  box-shadow:
    0 0 0 5px var(--accent-soft),
    0 2px 4px rgba(35,50,39,.14);
}

.pricing-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.price-card{
  --shine-x:50%;
  --shine-y:10%;
}

.price-card__value{
  font-size:clamp(1.28rem,1.8vw,1.6rem);
  letter-spacing:-.03em;
}

.price-card__value span{
  color:var(--text-soft);
  font-size:.9rem;
  font-weight:700;
  letter-spacing:0;
}

.price-card__fit{
  background:
    linear-gradient(180deg, rgba(237,241,232,.9), rgba(231,237,226,.86)),
    var(--grain);
  background-size:auto, 130px 130px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.65),
    0 1px 2px rgba(35,50,39,.04);
}

.price-card--accent{
  z-index:2;
  border-color:rgba(72,102,78,.56);
  background:
    radial-gradient(circle at 18% 8%, rgba(215,177,93,.16), transparent 26%),
    linear-gradient(180deg, #f7f6ed, #e8efe4);
  box-shadow:
    0 1px 1px rgba(255,255,255,.86) inset,
    0 5px 13px rgba(35,50,39,.15),
    0 34px 82px rgba(35,50,39,.18);
  transform:translateY(-6px) scale(1.025);
}

.price-card--accent:hover{
  transform:translateY(-10px) scale(1.03);
}

.price-card--accent .price-card__badge{
  background:
    linear-gradient(180deg, rgba(215,177,93,.96), rgba(188,144,65,.95));
  color:#263329;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.48),
    0 10px 24px rgba(139,107,63,.18);
}

.price-card--accent .button{
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), transparent 38%),
    linear-gradient(180deg, #2f4937, #223329);
}

.service-card,
.case-card,
.proof-item,
.contact-card{
  transition:
    transform .34s var(--ease-physics),
    box-shadow .34s var(--ease-physics),
    border-color .34s var(--ease-physics);
}

.faq__item{
  transition:
    transform .34s var(--ease-physics),
    box-shadow .34s var(--ease-physics),
    border-color .34s var(--ease-physics);
}

.faq__question{
  transition:background-color .28s var(--ease-physics);
}

.faq__question::after{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 3px 9px rgba(35,50,39,.08);
  transition:
    transform .32s var(--ease-physics),
    background-color .32s var(--ease-physics);
}

.faq__question[aria-expanded="true"]::after{
  transform:translateY(-50%) rotate(180deg);
}

.faq__answer{
  max-height:0;
  overflow:hidden;
  opacity:0;
  padding:0 28px;
  transition:
    max-height .38s var(--ease-physics),
    opacity .28s var(--ease-physics),
    padding .28s var(--ease-physics);
}

.faq__item.is-open .faq__answer{
  max-height:420px;
  opacity:1;
  padding:0 28px 24px;
}

.case-report{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:
    max-height .38s var(--ease-physics),
    opacity .28s var(--ease-physics),
    margin-top .28s var(--ease-physics),
    padding-top .28s var(--ease-physics);
}

.case-card.is-open .case-report{
  max-height:320px;
  opacity:1;
}

.quiz-step{
  border:0;
  margin:0;
  padding:0;
}

.quiz-step.is-active{
  animation:weightedFade .42s var(--ease-physics);
}

@keyframes weightedFade{
  from{opacity:0; transform:translateY(10px)}
  to{opacity:1; transform:translateY(0)}
}

.form-message{
  min-height:1.4em;
}

.form-message.is-error{
  color:var(--error);
}

.form-message.is-success{
  color:var(--success);
  font-weight:700;
}

.field.is-invalid input,
.field.is-invalid textarea,
.field.is-invalid select{
  border-color:rgba(177,73,66,.76);
  box-shadow:0 0 0 4px rgba(177,73,66,.12);
}

.field-error{
  color:var(--error);
  font-size:.86rem;
  line-height:1.4;
}

@media (max-width:1180px){
  .pricing-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .price-card{
    padding:24px;
  }
}

@media (max-width:980px){
  .pricing-grid{
    grid-template-columns:1fr;
  }
  .price-card--accent{
    transform:none;
  }
  .price-card--accent:hover{
    transform:translateY(-4px);
  }
}

@media (max-width:860px){
  h1{
    max-width:12.8ch;
  }
}



/* === Header compact adaptive fix === */
@media (min-width:1401px){
  .header__inner{
    gap:18px;
    justify-content:space-between;
  }

  .brand{
    flex:0 1 310px;
  }

  .brand__meta{
    font-size:.78rem;
  }

  .header__panel{
    gap:clamp(10px,1.1vw,18px);
  }

  .nav{
    flex:0 1 auto;
    margin-left:auto;
    min-width:0;
  }

  .nav__list{
    gap:3px;
  }

  .nav__list a{
    padding:9px 10px;
    font-size:.88rem;
    white-space:nowrap;
  }

  .header__actions{
    gap:8px;
  }

  .header__actions .button{
    min-height:46px;
    padding:12px 16px;
    white-space:nowrap;
  }
}

.header__messengers{
  gap:8px;
  flex-shrink:0;
}

.icon-link{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(198,208,195,.78);
  border-radius:999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(246,247,243,.72)),
    var(--grain);
  color:var(--accent-ink);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.74),
    0 2px 8px rgba(35,50,39,.06);
  transition:
    transform .22s var(--ease-physics),
    box-shadow .22s var(--ease-physics),
    border-color .22s var(--ease-physics),
    background-color .22s var(--ease-physics);
}

.icon-link svg{
  width:20px;
  height:20px;
  fill:currentColor;
}

.icon-link:hover{
  transform:translateY(-1px);
  border-color:rgba(72,102,78,.72);
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(230,238,230,.86)),
    var(--grain);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 8px 20px rgba(35,50,39,.10);
}

.icon-link:active{
  transform:translateY(0);
  box-shadow:var(--shadow-pressed);
}

.icon-link--max span{
  font-size:.68rem;
  line-height:1;
  font-weight:850;
  letter-spacing:.04em;
}



@media (max-width:1180px){
  .header__messengers{
    justify-content:flex-start;
  }

  .icon-link{
    width:44px;
    height:44px;
  }
}


@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }
  .card,
  .card:hover,
  .price-card--accent,
  .price-card--accent:hover,
  .button,
  .button:hover,
  .button:active{
    transform:none !important;
  }
}


/* Final overflow safety for wide tactile shadows and long header content */
.site-header,
main,
footer{
  max-width:100%;
}

.header__panel,
.header__actions,
.header__contacts,
.nav__list{
  min-width:0;
}


/* v3: prices, real-image placeholders and readable client reviews */
.hero__prices{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 22px;
}
.hero__prices span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--text-soft);
  font-size:.9rem;
  line-height:1.25;
}
.text-link,
.text-button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--accent-ink);
  font-size:.95rem;
  font-weight:800;
  line-height:1.35;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
.text-button{
  padding:0;
  text-align:left;
}
.text-link:hover,
.text-button:hover{color:var(--accent)}
.text-link::after,
.text-button::after{
  content:"→";
  text-decoration:none;
}
.case-card__visual{
  margin:-30px -30px 24px;
  overflow:hidden;
  border-radius:var(--radius-md) var(--radius-md) 0 0;
  background:var(--surface-strong);
}
.case-card__visual img,
.case-report__body img{
  width:100%;
  height:auto;
  object-fit:cover;
}
.case-card__visual img{
  aspect-ratio:16/7;
}
.case-report__body{
  display:grid;
  gap:16px;
  padding-top:16px;
}
.case-report__body img{
  max-height:420px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  object-position:top;
}
.draft-token{
  display:inline;
  padding:1px 5px;
  border-radius:6px;
  background:#fff4d8;
  color:#755422;
}
.expert-card__photo{
  overflow:hidden;
}
.expert-card__photo img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.review-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.review-card__quote{
  margin:0 0 20px;
  color:var(--text-strong);
  font-size:1.08rem;
  font-weight:800;
  line-height:1.55;
}
.review-card__author{
  display:grid;
  gap:5px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.review-card__author span{
  color:var(--text-soft);
  font-size:.92rem;
  line-height:1.5;
}
.review-card__context{
  margin:18px 0 0;
  font-size:.94rem;
}
.review-card__actions{
  margin-top:auto;
  padding-top:18px;
}
.review-dialog{
  width:min(760px,calc(100% - 32px));
  max-height:min(820px,calc(100vh - 32px));
  padding:0;
  overflow:hidden;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-md);
  background:var(--surface);
  color:var(--text);
  box-shadow:0 28px 90px rgba(17,24,39,.24);
}
.review-dialog::backdrop{
  background:rgba(17,24,39,.52);
  backdrop-filter:blur(4px);
}
.review-dialog__panel{
  display:grid;
  max-height:min(820px,calc(100vh - 32px));
}
.review-dialog__header{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:26px 28px 18px;
  border-bottom:1px solid var(--line);
  background:var(--surface-soft);
}
.review-dialog__header h2{
  max-width:none;
  font-size:clamp(1.55rem,3vw,2.2rem);
}
.review-dialog__header p:last-child{
  margin:10px 0 0;
  color:var(--text-soft);
}
.review-dialog__body{
  overflow:auto;
  padding:24px 28px 30px;
}
.review-dialog__body p{
  margin:0 0 16px;
  color:var(--text);
}
.review-dialog__body p:last-child{margin-bottom:0}
.review-dialog__close{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--text-strong);
  font-size:1.65rem;
  line-height:1;
}
.review-dialog__close:hover{
  border-color:var(--accent);
  background:var(--accent-soft);
}
body.has-open-dialog{overflow:hidden}

@media (max-width:900px){
  .reviews-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .review-dialog{
    width:calc(100% - 20px);
    max-height:calc(100vh - 20px);
  }
  .review-dialog__panel{max-height:calc(100vh - 20px)}
  .review-dialog__header{padding:20px 18px 15px}
  .review-dialog__body{padding:18px}
}


/* v3: validation states used by script.js */
.field.is-invalid input,
.field.is-invalid textarea,
.field.is-invalid select{
  border-color:var(--error);
  background:#fffafa;
}
.form-message a{
  color:inherit;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
/* Добавьте в конец style.css опубликованного сайта */
.media-placeholder-label{
  display:none !important;
}

.expert-card__photo{
  display:block;
  width:100%;
  min-height:0;
  aspect-ratio:4/5;
  overflow:hidden;
  font-size:0;
  line-height:0;
}

.expert-card__photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:50% 24%;
}

@media (max-width:900px){
  .expert-card__photo{
    width:min(100%,340px);
    min-height:0;
  }
}
/* Вставьте в конец style.css */
.site-header .container{
  width:min(calc(100% - 32px), 1480px);
}
.site-header .header__inner{gap:14px}
.site-header .brand{flex:0 1 286px}
.site-header .header__panel{gap:12px}
.site-header .nav__list{gap:2px}
.site-header .nav__list a{
  padding:9px 9px;
  font-size:.86rem;
}
.site-header .header__messengers{gap:6px}
.site-header .icon-link{
  width:40px;
  height:40px;
  flex:0 0 40px;
}
.site-header .icon-link--max .max-logo{
  display:block;
  width:21px;
  height:21px;
  fill:currentColor;
}
.site-header .header__actions .button{
  min-height:42px;
  padding:10px 14px;
  font-size:.87rem;
  white-space:nowrap;
}
@media (max-width:1400px){
  :root{--header-h:76px}
  .site-header .header__panel{
    position:fixed;
    top:var(--header-h);
    left:0;
    right:0;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:18px;
    max-height:calc(100vh - var(--header-h));
    overflow:auto;
    padding:20px 24px 28px;
    border-bottom:1px solid var(--line);
    background:rgba(246,247,243,.98);
    box-shadow:var(--shadow-md);
  }
  .site-header .header__panel.is-open{display:flex}
  .site-header .nav{margin:0}
  .site-header .nav__list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .site-header .nav__list a{
    padding:12px 14px;
    background:rgba(255,255,255,.72);
    font-size:.92rem;
  }
  .site-header .header__contacts,
  .site-header .header__actions{
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .site-header .menu-toggle{
    display:block;
    margin-left:auto;
  }
  .site-header .brand{flex:1}
  .site-header .icon-link{
    width:44px;
    height:44px;
    flex-basis:44px;
  }
}
@media (max-width:560px){
  .site-header .container{
    width:min(calc(100% - 24px), 1480px);
  }
  .site-header .header__panel{
    padding:18px 12px 24px;
  }
  .site-header .nav__list{
    grid-template-columns:1fr;
  }
  .site-header .header__actions .button{
    width:100%;
  }
}
.icon-link--max img{
  width:22px;
  height:22px;
  object-fit:contain;
}
.nav__list a{
  background:transparent;
}

.nav__list a:hover,
.nav__list a:focus-visible{
  background:rgba(255,255,255,.18);
}
/* Добавьте в конец style.css */
.brand{
  gap:14px;
}

.brand__mark{
  display:grid;
  place-items:center;
  width:64px;
  height:54px;
  flex:0 0 64px;
  overflow:visible;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.brand__mark img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.brand__body{
  align-content:center;
}

@media (max-width:560px){
  .brand{
    gap:12px;
  }

  .brand__mark{
    width:58px;
    height:49px;
    flex-basis:58px;
  }
}
.hero__aside .card__head{
  margin-bottom:18px;
}

.hero__aside .card__head h2{
  max-width:none;
  font-size:clamp(1.75rem,2vw,2rem);
  line-height:1.08;
  letter-spacing:-.035em;
  white-space:nowrap;
}

.hero__aside .card__head .section-lead{
  margin-top:10px;
  font-size:.98rem;
  line-height:1.55;
}

@media (max-width:560px){
  .hero__aside .card__head h2{
    white-space:normal;
  }
}
.hp-field{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.consent label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
}

.consent input[type="checkbox"]{
  width:18px;
  height:18px;
  min-height:18px;
  flex:0 0 18px;
  margin:2px 0 0;
  padding:0;
  border-radius:4px;
  accent-color:var(--accent);
}

.consent span{
  display:block;
  min-width:0;
  color:var(--text-soft);
  font-size:.86rem;
  line-height:1.45;
}

.consent a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}
.consent input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:checkbox;
  width:18px;
  height:18px;
  min-height:18px;
  flex:0 0 18px;
  margin:2px 0 0;
  padding:0;
  border:0;
  border-radius:4px;
  background:auto;
  accent-color:var(--accent);
  cursor:pointer;
}

.consent label{
  cursor:pointer;
}
.case-card.is-open .case-report{
  max-height:none;
  overflow:visible;
}
.case-report__footer{
  display:flex;
  justify-content:flex-start;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--line);
}

#proof .section-actions{
  margin-top:36px;
}
.case-card.is-open{
  grid-column:span 2;
}

@media (max-width:860px){
  .case-card.is-open{
    grid-column:auto;
  }
}
.quiz-form > .consent{
  margin-top:18px;
}

.quiz-actions .button[hidden]{
  display:none !important;
}
select{
  cursor:pointer;
  padding-right:48px;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M4.5 6.75 9 11.25l4.5-4.5' stroke='%2348664e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(248,248,241,.9)),
    var(--grain);
  background-position:
    right 16px center,
    0 0,
    0 0;
  background-size:
    18px 18px,
    auto,
    150px 150px;
  background-repeat:
    no-repeat,
    no-repeat,
    repeat;
}

select:hover{
  border-color:var(--accent);
}

select:disabled{
  cursor:not-allowed;
  opacity:.65;
}
.footer__copyright{
  margin-top:14px;
  color:var(--text-soft);
  font-size:.82rem;
  line-height:1.45;
}
.header__inner{
  position:relative;
  display:flex;
  align-items:center;
  gap:20px;
}

.header .brand{
  flex:0 0 auto;
}

.header__nav{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:4px;
}

.header__actions{
  display:flex;
  align-items:center;
  gap:14px;
  margin-left:auto;
}

.header__contacts{
  display:flex;
  align-items:center;
  gap:8px;
}
@media (max-width:1320px){
  .header__nav{
    position:static;
    transform:none;
    margin-left:auto;
  }

  .header__actions{
    margin-left:10px;
  }
}
.brand{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
/* Мобильная версия кейсов: одна карточка в строке и спокойная типографика */
@media (max-width:760px){
  .cases-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .case-card,
  .case-card--featured,
  .case-card.is-open{
    grid-column:auto;
    min-width:0;
    padding:18px;
  }

  .case-card__body{
    min-width:0;
  }

  .case-card__media{
    margin:-18px -18px 18px;
  }

  .case-card__meta{
    margin-bottom:10px;
    font-size:.78rem;
    line-height:1.45;
  }

  .case-card h3{
    margin-bottom:10px;
    font-size:1.2rem;
    line-height:1.18;
    overflow-wrap:normal;
    word-break:normal;
  }

  .case-summary{
    gap:10px;
  }

  .case-summary div{
    padding-top:10px;
  }

  .case-summary dt{
    font-size:.95rem;
    line-height:1.35;
  }

  .case-summary dd{
    font-size:.92rem;
    line-height:1.5;
    overflow-wrap:normal;
    word-break:normal;
  }
}
@media (max-width:1400px){
  .site-header{
    position:sticky;
    top:0;
    z-index:1000;
  }

  .site-header .header__panel{
    position:fixed !important;
    top:var(--header-h) !important;
    left:0 !important;
    right:0 !important;
    z-index:999;
    max-height:calc(100dvh - var(--header-h));
    overflow:auto;
    overscroll-behavior:contain;
  }
}

/* v25: equal compact cases and full-width details */
.cases-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:start;
  gap:20px;
}

.case-card,
.case-card--featured{
  grid-column:auto;
}

.case-card{
  display:flex;
  flex-direction:column;
  height:100%;
}

.case-card.is-open{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);
  gap:26px;
  align-items:start;
  height:auto;
}

.case-card.is-open .case-card__media{
  margin:-30px 0 0 -30px;
  border-radius:var(--radius-sm);
}

.case-card.is-open .case-card__media img{
  aspect-ratio:4/3;
}

.case-card.is-open .case-card__body{
  min-width:0;
}

.case-card__body{
  display:flex;
  flex-direction:column;
  min-width:0;
  flex:1;
}

.case-card__meta{
  min-height:2.7em;
  font-size:.8rem;
  line-height:1.35;
}

.case-card h3{
  margin-bottom:14px;
  font-size:clamp(1.32rem,1.45vw,1.7rem);
  line-height:1.12;
  letter-spacing:-.035em;
  overflow-wrap:normal;
  word-break:normal;
}

.case-card__metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0 0 16px;
}

.case-card__metrics article{
  min-width:0;
  padding:10px 8px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft);
}

.case-card__metrics strong{
  display:block;
  margin-bottom:3px;
  color:var(--accent-ink);
  font-size:1rem;
  line-height:1.05;
  letter-spacing:-.025em;
  white-space:nowrap;
}

.case-card__metrics span{
  display:block;
  color:var(--text-soft);
  font-size:.72rem;
  line-height:1.25;
}

.case-summary--compact{
  gap:10px;
  margin-bottom:0;
}

.case-summary--compact dt{
  font-size:.95rem;
}

.case-summary--compact dd{
  color:var(--text-soft);
  font-size:.92rem;
  line-height:1.48;
}

.case-report__toggle{
  align-self:flex-start;
  margin-top:auto;
  transform:translateY(18px);
}

.case-card.is-open .case-report__toggle{
  margin-top:18px;
  transform:none;
}

.case-card.is-open .case-report{
  grid-column:1 / -1;
  margin-top:22px;
}

@media (max-width:1080px){
  .cases-grid{
    grid-template-columns:1fr;
  }

  .case-card.is-open{
    grid-column:auto;
    display:flex;
    gap:0;
  }

  .case-card.is-open .case-card__media{
    margin:-30px -30px 24px;
    border-radius:0;
  }

  .case-card.is-open .case-card__media img{
    aspect-ratio:16/7;
  }
}

@media (max-width:760px){
  .cases-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .case-card,
  .case-card--featured,
  .case-card.is-open{
    grid-column:auto;
    min-width:0;
    padding:18px;
  }

  .case-card__media,
  .case-card.is-open .case-card__media{
    margin:-18px -18px 18px;
  }

  .case-card__media img,
  .case-card.is-open .case-card__media img{
    aspect-ratio:16/9;
  }

  .case-card__meta{
    min-height:0;
    margin-bottom:10px;
    font-size:.78rem;
    line-height:1.45;
  }

  .case-card h3{
    margin-bottom:12px;
    font-size:1.25rem;
    line-height:1.18;
  }

  .case-card__metrics{
    grid-template-columns:1fr;
  }

  .case-card__metrics article{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:10px;
  }

  .case-card__metrics strong{
    font-size:1.05rem;
  }

  .case-card__metrics span{
    text-align:right;
    font-size:.78rem;
  }

  .case-summary--compact dd{
    font-size:.92rem;
  }

  .case-report__toggle{
    transform:none;
    margin-top:18px;
  }
}
/* v26: cases stay equal; details open in a full-width dock below the cards */
.case-card.is-open{
  grid-column:auto;
  display:flex;
  flex-direction:column;
  height:100%;
  outline:2px solid rgba(72,102,78,.28);
  outline-offset:3px;
}

.case-card.is-open .case-card__media{
  margin:-30px -30px 24px;
  border-radius:0;
}

.case-card.is-open .case-card__media img{
  aspect-ratio:16/9;
}

.case-card.is-open .case-report{
  display:none !important;
}

.case-card.is-open .case-report__toggle{
  margin-top:auto;
  transform:translateY(18px);
}

.case-report-dock{
  margin-top:24px;
  padding:26px;
}

.case-report-dock[hidden]{
  display:none !important;
}

.case-report-dock .case-report{
  display:block !important;
  max-height:none;
  overflow:visible;
  margin-top:0;
}

.case-report-dock .case-report__stats{
  margin-top:0;
}

@media (max-width:760px){
  .case-card.is-open{
    padding:18px;
  }

  .case-card.is-open .case-card__media{
    margin:-18px -18px 18px;
  }

  .case-card.is-open .case-report__toggle{
    transform:none;
    margin-top:18px;
  }

  .case-report-dock{
    margin-top:18px;
    padding:18px;
  }
}
/* Исправление пустого блока при раскрытии кейса */
.case-report-dock{
  margin-top:24px;
  padding:26px;
}

.case-report-dock[hidden]{
  display:none !important;
}

.case-report-dock .case-report{
  display:block !important;
  max-height:none !important;
  height:auto !important;
  overflow:visible !important;
  opacity:1 !important;
  visibility:visible !important;
  margin-top:0 !important;
}

.case-report-dock .case-report[hidden]{
  display:block !important;
}

.case-report-dock .case-report__stats,
.case-report-dock .case-report__details,
.case-report-dock .case-report__gallery,
.case-report-dock .case-report__footer{
  display:grid;
  opacity:1;
  visibility:visible;
}

.case-report-dock .case-report__details,
.case-report-dock .case-report__footer{
  display:block;
}

@media (max-width:760px){
  .case-report-dock{
    margin-top:18px;
    padding:18px;
  }
}
/* v27: compact pricing cards with details disclosure */
.pricing-grid--compact{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}

.price-card--compact{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.price-card--compact .price-card__lead{
  min-height:4.8em;
}

.price-card__fit--short{
  padding:14px;
}

.price-card__fit--short p{
  margin:0;
  color:var(--text-soft);
  font-size:.92rem;
  line-height:1.45;
}

.price-card__short-list{
  gap:8px;
}

.price-card__short-list li{
  font-size:.94rem;
  line-height:1.42;
}

.price-card__difference{
  margin:0;
  padding:14px 0 0;
  border-top:1px solid var(--line);
  color:var(--text-soft);
  font-size:.92rem;
  line-height:1.45;
}

.price-card__difference strong{
  color:var(--text-strong);
}

.price-card__details{
  margin-top:auto;
  border-top:1px solid var(--line);
  padding-top:12px;
}

.price-card__details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  color:var(--accent-ink);
  font-weight:850;
  list-style:none;
}

.price-card__details summary::-webkit-details-marker{
  display:none;
}

.price-card__details summary::after{
  content:"+";
  display:grid;
  place-items:center;
  flex:0 0 26px;
  width:26px;
  height:26px;
  border-radius:50%;
  background:var(--accent-soft);
  color:var(--accent-ink);
  font-weight:900;
}

.price-card__details[open] summary::after{
  content:"−";
}

.price-card__details-body{
  display:grid;
  gap:14px;
  padding-top:14px;
}

.price-card__details-body p{
  margin:0;
  color:var(--text-soft);
  line-height:1.55;
}

.price-card--compact > .button{
  margin-top:0;
}

.excluded-card--compact{
  margin-top:22px;
}

.excluded-card--compact h3{
  margin-bottom:14px;
}

@media (max-width:1100px){
  .pricing-grid--compact{
    grid-template-columns:1fr;
  }

  .price-card--compact .price-card__lead{
    min-height:0;
  }
}

/* === Cookie and statistics consent === */
.cookie-notice[hidden]{
  display:none;
}

.cookie-notice{
  position:fixed;
  left:50%;
  bottom:18px;
  z-index:120;
  width:min(900px,calc(100% - 32px));
  padding:0;
  border:1px solid rgba(198,208,195,.96);
  border-top:4px solid var(--accent);
  border-radius:var(--radius-md);
  background:rgba(251,250,245,.98);
  box-shadow:
    0 1px 1px rgba(255,255,255,.82) inset,
    0 10px 28px rgba(35,50,39,.14),
    0 30px 80px rgba(35,50,39,.18);
  opacity:0;
  transform:translate(-50%,18px);
  transition:
    opacity .22s ease,
    transform .22s var(--ease-physics,cubic-bezier(.25,1,.5,1));
  backdrop-filter:blur(16px);
}

.cookie-notice.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}

.cookie-notice__body{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:22px 24px;
}

.cookie-notice__copy{
  min-width:0;
}

.cookie-notice__copy strong{
  display:block;
  margin-bottom:6px;
  color:var(--text-strong);
  font-size:1.08rem;
}

.cookie-notice__copy p{
  margin:0;
  color:var(--text-soft);
  font-size:.95rem;
  line-height:1.55;
}

.cookie-notice__copy a{
  color:var(--accent-ink);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}

.cookie-notice__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  max-width:360px;
}

.footer-cookie-settings{
  padding:0;
  color:var(--text-soft);
  font-size:.88rem;
  line-height:1.5;
  text-align:left;
  text-decoration:underline;
  text-decoration-style:dotted;
  text-underline-offset:3px;
}

.footer-cookie-settings:hover{
  color:var(--accent-ink);
}

@media (max-width:760px){
  .cookie-notice{
    bottom:10px;
    width:min(100% - 20px,620px);
  }

  .cookie-notice__body{
    grid-template-columns:1fr;
    gap:16px;
    padding:20px;
  }

  .cookie-notice__actions{
    display:grid;
    grid-template-columns:1fr;
    max-width:none;
  }

  .cookie-notice__actions .button{
    width:100%;
  }
}

@media (prefers-reduced-motion:reduce){
  .cookie-notice{
    transition:none;
  }
}

/* === Audience-led structure and first-screen revision === */
.hero__continuation{
  margin:16px 0 0;
  max-width:68ch;
  color:var(--text-soft);
  font-size:.94rem;
}

.label-note{
  margin-left:4px;
  color:var(--text-muted);
  font-size:.82rem;
  font-weight:500;
}

.situation-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.situation-card{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px 16px;
  width:100%;
  min-height:190px;
  text-align:left;
  align-content:start;
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    background-color .18s ease;
}

.situation-card:hover{
  transform:translateY(-2px);
  border-color:var(--accent);
  background:#fff;
  box-shadow:var(--shadow-sm);
}

.situation-card__index{
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:var(--accent-soft);
  color:var(--accent-ink);
  font-size:.82rem;
  font-weight:800;
}

.situation-card strong{
  align-self:center;
  font-size:1.08rem;
  line-height:1.35;
}

.situation-card > span:last-child{
  grid-column:2;
  color:var(--text-soft);
  line-height:1.55;
}

.situation-secondary{
  margin:20px 0 0;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.72);
}

.situation-secondary .text-button{
  margin-right:6px;
  color:var(--accent-ink);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}

.roles-section{
  padding-top:36px;
}

.role-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:var(--line);
}

.role-strip article{
  padding:24px;
  background:var(--surface);
}

.role-strip strong{
  display:block;
  margin-bottom:8px;
}

.role-strip span{
  display:block;
  color:var(--text-soft);
  line-height:1.55;
}

.price-card__descriptor{
  margin:-2px 0 0;
  color:var(--accent);
  font-size:.94rem;
  font-weight:800;
}

.price-card__first-stage{
  padding:18px;
  border:1px solid rgba(72,102,78,.22);
  border-radius:var(--radius-sm);
  background:var(--accent-soft);
}

.price-card__first-stage > strong{
  display:block;
  margin-bottom:10px;
}

.price-card__first-stage ul{
  display:grid;
  gap:6px;
  margin:0;
  padding-left:1.15rem;
}

.price-card__first-stage p{
  margin:12px 0 0;
  color:var(--text-soft);
  font-size:.9rem;
}

.fit-notes{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:20px;
}

.fit-notes h2{
  max-width:none;
  margin-bottom:14px;
  font-size:clamp(1.35rem,2.1vw,1.8rem);
}

.fit-notes p{
  margin:0;
}

.case-summary--compact{
  margin-top:18px;
}

.case-summary--compact div:first-child{
  border-top:0;
  padding-top:0;
}

@media (max-width:860px){
  .situation-grid,
  .role-strip,
  .fit-notes{
    grid-template-columns:1fr;
  }

  .role-strip{
    gap:1px;
  }
}

@media (max-width:560px){
  h1{
    max-width:none;
  }

  .situation-card{
    min-height:0;
    padding:20px;
  }

  .situation-secondary{
    padding:16px;
  }
}

/* === v3: compact first screen, situations and safe form heading === */
.hero{
  padding-top:64px;
}

.hero__layout{
  gap:36px;
}

.hero h1{
  max-width:20.5ch;
  font-size:clamp(2.35rem,4.25vw,3.85rem);
}

.hero__lead{
  margin-bottom:20px;
}

.hero__bullets{
  gap:9px;
  margin-bottom:22px;
}

.hero__trust{
  gap:10px;
  margin-top:24px;
}

.hero__trust .trust-item{
  padding:14px;
}

.hero__aside .card__head h2{
  max-width:100%;
  font-size:clamp(1.55rem,1.8vw,1.85rem);
  line-height:1.12;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
}

.hero__aside .card__head .section-lead{
  max-width:38ch;
}

.situation-card{
  min-height:150px;
  padding:22px;
  gap:7px 14px;
}

.situation-card__index{
  width:38px;
  height:38px;
  border-radius:12px;
}

.situation-card strong{
  font-size:1.02rem;
}

.situation-card > span:last-child{
  font-size:.94rem;
  line-height:1.45;
}

.roles-section__head{
  max-width:820px;
  margin-bottom:20px;
}

.roles-section__head h2{
  max-width:28ch;
  font-size:clamp(1.55rem,2.3vw,2.2rem);
}

.role-strip article{
  padding:20px;
}

.role-strip b{
  color:var(--text-strong);
}

@media (max-width:860px){
  .hero{
    padding-top:38px;
  }

  .hero h1{
    max-width:none;
    font-size:clamp(2rem,9.4vw,2.85rem);
    line-height:1.04;
    letter-spacing:-.052em;
  }

  .hero__lead{
    margin-bottom:17px;
    font-size:1.05rem;
    line-height:1.55;
  }

  .hero__bullets{
    gap:7px;
    margin-bottom:18px;
  }

  .hero__bullets li{
    padding-left:24px;
    font-size:.95rem;
    line-height:1.48;
  }

  .hero__bullets li::before{
    width:8px;
    height:8px;
    box-shadow:0 0 0 4px var(--accent-soft);
  }

  .hero__actions{
    gap:9px;
  }

  .hero__continuation{
    margin-top:11px;
    font-size:.9rem;
    line-height:1.45;
  }

  .hero__trust{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    margin-top:18px;
    border-bottom:1px solid var(--line);
  }

  .hero__trust .trust-item{
    display:grid;
    grid-template-columns:minmax(116px,.78fr) minmax(0,1fr);
    gap:8px;
    align-items:start;
    padding:10px 0;
    border:0;
    border-top:1px solid var(--line);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .hero__trust .trust-item strong{
    margin:0;
    font-size:.87rem;
    line-height:1.32;
  }

  .hero__trust .trust-item span{
    font-size:.81rem;
    line-height:1.35;
  }

  #situations{
    padding-top:32px;
  }

  .situation-grid{
    gap:12px;
  }

  .situation-card{
    min-height:0;
    padding:18px;
  }

  .situation-secondary{
    margin-top:14px;
  }

  .roles-section{
    padding-top:28px;
  }

  .roles-section__head{
    margin-bottom:16px;
  }

  .role-strip article{
    padding:18px;
  }

  .role-strip strong{
    margin-bottom:5px;
    font-size:.98rem;
  }

  .role-strip span{
    font-size:.9rem;
    line-height:1.45;
  }
}

@media (max-width:560px){
  .hero{
    padding-top:30px;
  }

  .hero h1{
    font-size:clamp(1.92rem,9.2vw,2.35rem);
  }

  .hero__aside{
    padding:20px;
  }

  .hero__aside .card__head{
    margin-bottom:16px;
  }

  .hero__aside .card__head h2{
    font-size:1.6rem;
  }

  .hero__aside .card__head .section-lead{
    font-size:.94rem;
    line-height:1.48;
  }

  .hero__trust .trust-item{
    grid-template-columns:1fr;
    gap:3px;
  }

  .situation-card{
    padding:16px;
  }
}

/* === v4: launch cleanup, compact cases and integrated roles === */
.case-card__metrics--single{
  grid-template-columns:1fr;
  margin-bottom:14px;
}

.case-card__metrics--single article{
  padding:12px 14px;
}

.case-card__metrics--single strong{
  margin-bottom:5px;
  font-size:1.3rem;
  white-space:normal;
}

.case-card__metrics--single span{
  font-size:.82rem;
  line-height:1.35;
}

.case-summary--compact{
  gap:8px;
}

.case-summary--compact div{
  padding-top:10px;
}

.case-summary--compact dt{
  font-size:.88rem;
}

.case-summary--compact dd{
  font-size:.89rem;
  line-height:1.42;
}

.expert-card{
  align-items:start;
}

.expert-roles{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:2px;
  padding-top:22px;
  border-top:1px solid var(--line);
}

.expert-roles article{
  min-width:0;
  padding:0 22px;
}

.expert-roles article:first-child{
  padding-left:0;
}

.expert-roles article + article{
  border-left:1px solid var(--line);
}

.expert-roles strong{
  display:block;
  margin-bottom:6px;
  font-size:.98rem;
  line-height:1.35;
}

.expert-roles span{
  display:block;
  color:var(--text-soft);
  font-size:.9rem;
  line-height:1.5;
}

.expert-roles b{
  color:var(--text-strong);
}

@media (max-width:860px){
  .expert-roles{
    grid-template-columns:1fr;
    padding-top:8px;
  }

  .expert-roles article{
    padding:14px 0;
  }

  .expert-roles article + article{
    border-left:0;
    border-top:1px solid var(--line);
  }

  .case-card__metrics--single strong{
    font-size:1.2rem;
  }
}

/* === v6: reliable mobile menu without document scroll locking === */
@media (max-width:1180px){
  .site-header{
    overflow:visible;
  }

  .menu-toggle{
    position:relative;
    z-index:62;
  }

  .header__panel{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:61;
    width:100%;
    max-height:calc(100dvh - var(--header-h));
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    pointer-events:auto;
    touch-action:pan-y;
  }

  .header__panel.is-open{
    display:flex;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
  }
}

@media (max-width:1180px){
  @supports not (height:100dvh){
    .header__panel{
      max-height:calc(100vh - var(--header-h));
    }
  }
}

/* === v7: viewport-fixed mobile menu portal === */
@media (max-width:1400px){
  .header__panel.is-portaled{
    position:fixed !important;
    top:var(--mobile-menu-top,var(--header-h)) !important;
    right:0 !important;
    bottom:auto !important;
    left:0 !important;
    z-index:5000 !important;
    display:none !important;
    flex-direction:column;
    align-items:stretch;
    gap:18px;
    width:100% !important;
    max-height:calc(100dvh - var(--mobile-menu-top,var(--header-h))) !important;
    margin:0 !important;
    padding:20px 24px 28px;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    touch-action:pan-y;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:rgba(246,247,243,.99);
    box-shadow:var(--shadow-md);
    backdrop-filter:blur(14px);
  }

  .header__panel.is-portaled.is-open{
    display:flex !important;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
  }
}

@media (max-width:1400px){
  @supports not (height:100dvh){
    .header__panel.is-portaled{
      max-height:calc(100vh - var(--mobile-menu-top,var(--header-h))) !important;
    }
  }
}

/* === v8: prelaunch conversion fixes === */

/* Compact statistics notice without blocking the primary form. */
.cookie-notice{
  bottom:12px;
  width:min(680px,calc(100% - 24px));
}

.cookie-notice__body{
  grid-template-columns:1fr;
  gap:12px;
  padding:15px 17px;
}

.cookie-notice__copy strong{
  margin-bottom:3px;
  font-size:.98rem;
}

.cookie-notice__copy p{
  font-size:.84rem;
  line-height:1.42;
}

.cookie-notice__actions{
  justify-content:flex-start;
  max-width:none;
}

.cookie-notice__actions .button{
  min-height:38px;
  padding:9px 14px;
  font-size:.84rem;
}

/* Keep the top-form submit button visible on common laptop heights. */
@media (min-width:861px) and (max-height:980px){
  .hero{
    padding-top:38px;
  }

  .hero__layout{
    gap:30px;
  }

  .hero__aside{
    padding:22px 24px;
  }

  .hero__aside .card__head{
    margin-bottom:12px;
  }

  .hero__aside .card__head .eyebrow{
    margin-bottom:7px;
  }

  .hero__aside .card__head h2{
    font-size:1.52rem;
  }

  .hero__aside .card__head .section-lead{
    margin-top:5px;
    font-size:.88rem;
    line-height:1.4;
  }

  #audit-form{
    gap:10px;
  }

  #audit-form .field{
    gap:4px;
  }

  #audit-form .field > label{
    font-size:.84rem;
  }

  #audit-form input,
  #audit-form select{
    min-height:43px;
    padding:9px 12px;
  }

  #audit-form textarea{
    min-height:66px;
    height:66px;
    padding:9px 12px;
  }

  #audit-form .consent label{
    gap:8px;
  }

  #audit-form .consent label > span{
    font-size:.76rem;
    line-height:1.34;
  }

  #audit-form .consent input{
    width:18px;
    min-width:18px;
    height:18px;
    min-height:18px;
  }

  #audit-form .button[type="submit"]{
    min-height:44px;
    padding-block:10px;
  }

  #audit-form .form-hint{
    font-size:.76rem;
    line-height:1.35;
  }
}

@media (max-width:760px){
  .cookie-notice{
    bottom:8px;
    width:calc(100% - 16px);
  }

  .cookie-notice__body{
    gap:9px;
    padding:13px;
  }

  .cookie-notice__copy strong{
    font-size:.94rem;
  }

  .cookie-notice__copy p{
    font-size:.79rem;
    line-height:1.38;
  }

  .cookie-notice__actions{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
  }

  .cookie-notice__actions .button{
    width:100%;
    min-height:38px;
  }
}

