:root{
  --red:#D8402A; --blue:#2458AE; --cream:#F4EFE7; --ink:#1A1A1A;
  --maxw:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);background:var(--cream);line-height:1.6;font-size:17px;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
/* клетчатый паттерн из брендбука */
.plaid{
  height:56px;background:var(--blue);
  background-image:
    repeating-linear-gradient(90deg,transparent 0 14px,rgba(255,255,255,.55) 14px 18px,transparent 18px 22px,var(--red) 22px 24px,transparent 24px 46px),
    repeating-linear-gradient(0deg,transparent 0 10px,rgba(255,255,255,.55) 10px 14px,transparent 14px 18px,var(--red) 18px 20px,transparent 20px 38px);
}
header{background:var(--red);color:#fff;text-align:center;padding:64px 24px 72px;position:relative}
header .rule{width:1px;height:48px;background:rgba(255,255,255,.7);margin:0 auto 28px}
header .rule.b{margin:28px auto 0}
h1{font-size:clamp(34px,8vw,64px);letter-spacing:.22em;font-weight:600;text-indent:.22em}
header .sub{font-size:clamp(15px,3vw,20px);font-weight:600;margin-top:6px}
header .claim{margin-top:34px;font-size:clamp(17px,3.4vw,22px);opacity:.95}
nav{background:var(--blue);padding:14px 0}
nav .wrap{display:flex;gap:26px;flex-wrap:wrap;justify-content:center}
nav a{color:#fff;text-decoration:none;font-size:15px;opacity:.9}
nav a:hover{opacity:1;text-decoration:underline}
section{padding:56px 0}
section.alt{background:#fff}
h2{font-size:clamp(22px,4.5vw,30px);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:8px;font-weight:600}
.lines{height:0;border-top:1px solid var(--red);box-shadow:0 5px 0 -4px var(--red),0 10px 0 -9px var(--red);margin:14px 0 30px}
h3{font-size:19px;margin:26px 0 8px;color:var(--blue)}
p{margin-bottom:14px}
.lead{font-size:clamp(18px,3.2vw,22px);max-width:46em}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin-top:26px}
.card{background:var(--cream);border:1px solid rgba(36,88,174,.18);border-radius:14px;padding:22px}
section.alt .card{background:#fff}
.card .n{display:inline-block;background:var(--red);color:#fff;width:30px;height:30px;line-height:30px;text-align:center;border-radius:50%;font-weight:700;margin-bottom:12px}
.card h4{font-size:17px;margin-bottom:6px}
.price{background:var(--blue);color:#fff;border-radius:16px;padding:32px;text-align:center;margin-top:28px}
.price .big{font-size:clamp(40px,10vw,68px);font-weight:700;letter-spacing:.02em;line-height:1.1}
.price .small{opacity:.9;margin-top:6px}
ul.fill{columns:2;column-gap:36px;list-style:none;margin-top:18px}
ul.fill li{padding:7px 0 7px 22px;position:relative;break-inside:avoid}
ul.fill li:before{content:"✦";position:absolute;left:0;color:var(--red)}
.soon{display:inline-block;background:var(--red);color:#fff;padding:12px 26px;border-radius:999px;font-weight:600;margin-top:22px}
footer{background:var(--blue);color:#fff;padding:48px 0 40px;font-size:15px}
footer a{color:#fff}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
footer p{margin-bottom:8px;opacity:.92}
.legal{max-width:760px}
.legal p,.legal li{font-size:16px}
.legal ol{margin:0 0 16px 22px}
.legal li{margin-bottom:9px}
.back{display:inline-block;margin-bottom:26px;color:var(--blue);text-decoration:none;font-size:15px}
.back:hover{text-decoration:underline}
table.req{border-collapse:collapse;width:100%;margin-top:14px}
table.req td{padding:9px 0;border-bottom:1px solid rgba(36,88,174,.15);vertical-align:top}
table.req td:first-child{width:38%;color:var(--blue);padding-right:18px}
@media (max-width:620px){ul.fill{columns:1}section{padding:42px 0}}
