*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden;font-size:16px}
a{color:inherit;text-decoration:none}
button{font-family:var(--sans);cursor:pointer}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 48px;height:68px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-family:var(--serif);font-size:20px;font-weight:500}
.nav-logo em{font-style:italic;color:var(--gold)}
.nav-back{font-size:13px;color:var(--ink-light);transition:color .2s}
.nav-back:hover{color:var(--ink)}
.nav-cta:hover{background:#2e2b27}
.hero-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-light);font-weight:500}
.hero-h1 em{font-style:italic;color:var(--gold)}
.hero-seo-sub{font-size:13px;color:var(--ink-light);margin-top:10px;line-height:1.5}
.hero-sub strong{font-weight:600;color:var(--ink)}
.hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px;flex-shrink:0}
.btn-primary:hover{background:#2e2b27;transform:translateY(-2px)}
.stats-row{max-width:1200px;margin:0 auto;padding:0 48px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.stat:first-child{padding-left:0}
.stat:last-child{border-right:none}
.stat-label{font-size:13px;color:var(--ink-light);line-height:1.4}
.sec-alt{background:var(--bg-alt)}
.sec-inner{max-width:1200px;margin:0 auto;padding:0 48px}
.sec-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600;display:flex;align-items:center;gap:10px;margin-bottom:14px}
.sec-title em{font-style:italic;color:var(--gold)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}
.w-item:nth-child(3n){border-right:none;padding-right:0}
.w-item:nth-last-child(-n+3){border-bottom:none}
.w-icon{font-size:28px;margin-bottom:14px}
.w-item h3{font-family:var(--serif);font-size:18px;font-weight:500;margin-bottom:9px;line-height:1.3}
.w-item p{font-size:14px;color:var(--ink-mid);line-height:1.65}
.faq-item{border-top:1px solid var(--rule)}
.faq-item:last-child{border-bottom:1px solid var(--rule)}
.faq-item.open .faq-icon{background:var(--ink);border-color:var(--ink);color:var(--bg);transform:rotate(45deg)}
.faq-body{max-height:0;overflow:hidden;transition:max-height .38s ease}
.cta-banner{background:var(--ink);padding:72px 48px;text-align:center}
.cta-banner h2 em{font-style:italic;color:var(--gold)}
.btn-gold:hover{opacity:.85;transform:translateY(-2px)}
.footer{border-top:1px solid var(--rule);background:var(--bg-alt)}
.footer-logo{font-family:var(--serif);font-size:18px;font-weight:500}
.footer-logo em{font-style:italic;color:var(--gold)}
.footer-copy{font-size:13px;color:var(--ink-light);text-align:right;line-height:1.6}
.modal-overlay{display:none;position:fixed;inset:0;z-index:500;background:rgba(26,23,20,.55);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.form-field input:focus,.form-field textarea:focus{border-color:var(--gold)}
.form-submit:hover{background:#2e2b27}
.msg-icon{font-size:20px}
.msg-label{font-size:11px;color:var(--ink-mid)}

/* Эти правила дублируются на каждой странице внутри её собственного @media
   (брейкпоинты варьировались 900–1024px в разных шаблонах) — здесь единая
   точка, объединяющая их под одним безопасным брейкпоином 1024px. */
@media(max-width:1024px){
  .hero-actions{align-items:stretch;width:100%}
  .btn-primary{width:100%;text-align:center}
  .stat:nth-child(2){border-right:none}
  .stat:nth-child(3){border-top:1px solid var(--rule);padding-left:0}
  .stat:nth-child(4){border-top:1px solid var(--rule);border-right:none}
  .why-grid{grid-template-columns:1fr}
  .w-item:last-child{border-bottom:none}
  .footer-copy{text-align:center}
  div[style*="grid-template-columns:repeat(3,1fr)"][style*="gap:20px"]{grid-template-columns:1fr!important}
}
@media(max-width:390px){
  .stat-num{font-size:28px}
  .nav-cta{display:none}
}
