/* Единые токены референса. Изменяйте здесь, чтобы обновить весь лендинг. */
:root {
  --bg:#fcfbf7; --grid:rgba(20,20,20,.055); --paper:#fffdf8; --paper-2:#f4efe3;
  --ink:#111; --cyan:#69d8f0; --yellow:#ffd93d; --pink:#ff7aa5;
  --green:#b7ecd5; --orange:#ff8d67; --hot:#eb5339; --muted:rgba(17,17,17,.78);
  --font-body:"Space Grotesk",Arial,sans-serif; --font-label:"Space Mono","Courier New",monospace;
  --border:3px solid var(--ink); --shadow:8px 8px 0 var(--ink); --shadow-sm:4px 4px 0 var(--ink);
  --max-width:1460px; --grid-size:24px; --section-gap:64px; --card-padding:24px; --gap:24px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#d6d6d6; color:var(--ink); font:16px/1.7 var(--font-body); }
img,video { display:block; max-width:100%; height:auto; }
button,input { font:inherit; }
a { color:inherit; }
h1,h2,h3,h4,p,figure { margin:0; }
h1,h2,h3 { font-weight:700; line-height:1.05; letter-spacing:-.035em; overflow-wrap:break-word; }
h2 { font-size:clamp(1.8rem,3vw,2.5rem); }
h3 { font-size:clamp(1.4rem,2.4vw,2rem); }
p { color:var(--muted); }
strong { color:var(--ink); }
:focus-visible { outline:4px solid var(--pink); outline-offset:5px; }
.skip-link { position:fixed; z-index:10; top:8px; left:8px; transform:translateY(-200%); padding:12px; background:var(--yellow); border:var(--border); }
.skip-link:focus { transform:none; }
.page-shell { width:min(calc(100% - 40px),var(--max-width)); margin:18px auto 28px; padding:34px 56px 28px; border:var(--border); box-shadow:12px 12px 0 var(--ink); background:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),radial-gradient(circle at 15% 10%,#69d8f01f,transparent 18%),var(--bg); background-size:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),auto,auto; }
main > .section + .section { margin-top:var(--section-gap); }
.section { min-width:0; scroll-margin-top:24px; }
.section > .band { margin-bottom:26px; }
.band { display:flex; align-items:center; justify-content:center; padding:20px 24px; background:var(--orange); border:var(--border); box-shadow:var(--shadow); font:700 1.08rem/1.35 var(--font-label); text-transform:uppercase; letter-spacing:.08em; text-align:center; }
.band--compact { font-size:.84rem; padding:16px 20px 14px; }
.band--dark { background:#1a1d22; color:white; }
.band--hot { background:var(--hot); color:white; }
.band--inline { display:inline-flex; text-align:left; }
.eyebrow { font:700 .9rem/1.45 var(--font-label); letter-spacing:.1em; text-transform:uppercase; color:#27879a; }
.badge { display:inline-flex; align-items:center; gap:9px; padding:10px 14px; background:var(--yellow); border:var(--border); box-shadow:var(--shadow-sm); font:700 .85rem/1.35 var(--font-label); text-transform:uppercase; }
.badge--paper { background:var(--paper); text-transform:none; font:700 1.1rem/1.3 var(--font-body); }
.badge--pink { background:var(--pink); }
.badge--green { background:var(--green); }
.badge--cyan { background:var(--cyan); }
.dot { width:14px; height:14px; flex-shrink:0; background:#ff2f2f; border:2px solid var(--ink); border-radius:50%; box-shadow:0 0 0 5px #ff2f2f22; }
.mark { display:inline; padding:.12em .3em; background:var(--yellow); color:var(--ink); box-shadow:3px 3px 0 var(--pink); -webkit-box-decoration-break:clone; box-decoration-break:clone; font-weight:700; }
.headline-mark { display:inline-block; padding:0 .14em; background:var(--yellow); box-shadow:8px 8px 0 var(--pink); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:56px; padding:12px 22px; border:var(--border); border-radius:6px; box-shadow:var(--shadow-sm); color:var(--ink); background:var(--cyan); cursor:pointer; text-decoration:none; text-align:center; font-weight:700; line-height:1.25; transition:transform 140ms ease,box-shadow 140ms ease; }
.button:hover { transform:translate(2px,2px); box-shadow:2px 2px 0 var(--ink); }
.button:active { transform:translate(4px,4px); box-shadow:none; }
.button--large { min-height:80px; font-size:1.3rem; padding:18px 26px; border-width:4px; }
.button--yellow { background:var(--yellow); }
.button--paper { background:var(--paper); }
.button--pink { background:var(--pink); }
.button--full { width:100%; }
.button--animated { position:relative; overflow:hidden; isolation:isolate; animation:button-pulse 2.4s ease-in-out infinite; }
.button--animated::after { content:''; position:absolute; inset:-50% auto -50% 0; width:38%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent); transform:translateX(-220%) skewX(-20deg); pointer-events:none; animation:button-shine 4.5s ease-in-out infinite; }
.button--animated:hover,.button--animated:active { animation:none; }
@keyframes button-pulse { 0%,100% { scale:1; } 50% { scale:1.025; } }
@keyframes button-shine { 0%,60% { transform:translateX(-220%) skewX(-20deg); } 90%,100% { transform:translateX(400%) skewX(-20deg); } }
@media(prefers-reduced-motion:reduce) { .button--animated,.button--animated::after { animation:none; } .button--animated::after { display:none; } }
.hero-grid { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:34px; padding-top:44px; align-items:start; }
.hero-copy > .badge { margin-top:18px; }
.hero h1 { margin-top:20px; max-width:10.8ch; font-size:clamp(3rem,8vw,5.8rem); line-height:.96; letter-spacing:-.05em; }
.hero-visual { display:grid; gap:28px; justify-items:center; padding:8px 16px 0; }
.hero-portrait { width:min(100%,480px); border:4px solid var(--ink); background:var(--cyan); box-shadow:10px 10px 0 var(--ink); transform:rotate(-1.5deg); overflow:hidden; }
.hero-portrait img { width:100%; aspect-ratio:480/690; object-fit:cover; }
.hero-visual .button { width:min(100%,500px); }
.hero-footnote { font:.72rem/1.5 var(--font-label); text-align:center; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:var(--gap); }
.grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.benefit { text-align:center; padding:18px; }
.benefit img { width:min(100%,320px); aspect-ratio:1; object-fit:contain; margin:0 auto 20px; }
.benefit h2 { font-size:1.18rem; line-height:1.28; text-transform:uppercase; letter-spacing:0; margin-bottom:12px; }
.benefit p { font-size:.98rem; line-height:1.55; }
.card { border:var(--border); box-shadow:var(--shadow); background:#ffffffad; padding:var(--card-padding); min-width:0; }
.card--muted { background:#f4efe3db; }
.card--cyan { background:linear-gradient(#69d8f026,#ffffffdf); }
.card--pink { background:#ff7aa51c; }
.card--dark { background:#1a1d22; color:var(--paper); }
.card--dark p,.card--dark strong { color:inherit; }
.guide-reference > .grid { gap:20px; max-width:1180px; margin-inline:auto; }
.guide-reference .card { display:flex; flex-direction:column; padding:22px; box-shadow:var(--shadow-sm); }
.guide-reference h3 { font-size:clamp(1.6rem,2.7vw,2.3rem); line-height:1.06; max-width:19ch; }
.guide-reference .checklist { flex:1; gap:24px; margin:6px 0 24px; font-size:.95rem; }
.guide-reference .card-after { font-size:.95rem; line-height:1.6; }
.guide-reference .card--dark { background:radial-gradient(ellipse at top left,#82702f44,transparent 42%),linear-gradient(135deg,#171717,#491919); color:var(--paper); }
.guide-reference .card--dark .checklist,.guide-reference .card--dark .card-after { font-weight:700; }
.prose { display:grid; gap:14px; }
.prose > .badge { justify-self:start; }
.prose h2,.prose h3 { margin-bottom:4px; }
.narrow { width:min(100%,860px); margin-inline:auto; }
.value-reference > .band { margin-bottom:24px; }
.value-reference > .card { width:min(100%,760px); padding:22px; gap:14px; font-size:.9rem; line-height:1.65; }
.value-reference h3 { margin:8px 0 0; font-size:clamp(1.6rem,2.8vw,2.3rem); line-height:1.12; }
.checklist { display:grid; gap:12px; list-style:none; margin:14px 0 0; padding:0; }
.checklist li { position:relative; padding-left:24px; line-height:1.6; }
.checklist li::before { content:''; position:absolute; top:.68em; left:0; width:10px; height:10px; border:2px solid var(--ink); background:var(--yellow); box-shadow:2px 2px 0 var(--pink); transform:translateY(-50%); }
.checklist .unavailable { text-decoration:line-through; opacity:.42; }
.strip { margin-top:28px; padding:16px 24px; text-align:center; background:#1a1d22; color:white; font-weight:700; }
.split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:32px; align-items:center; }
.split--reverse .split-media { order:2; }
.split-media img { width:100%; object-fit:contain; }
.format-layout { display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start; }
.format-layout figure { align-self:center; }
.format-layout img { width:76.5%; height:auto; object-fit:contain; margin-inline:auto; }
.format-copy { font-size:.9rem; line-height:1.65; }
.format-copy p { margin-bottom:12px; }
.format-copy .mark { font-weight:700; }
.format-summary { width:min(100%,1080px); margin:14px auto 0; padding:24px; text-align:center; background:linear-gradient(#ffd93d26,#ffffffbd); }
.format-summary h3 { font-size:clamp(1.5rem,2.5vw,2rem); line-height:1.2; margin-bottom:12px; }
.format-summary p { font-size:.9rem; line-height:1.65; }
.format-summary-lead { margin:26px 0 22px; }
.format-duties { display:grid; grid-template-columns:1fr 1fr; gap:36px; max-width:680px; margin:auto; text-align:left; font-size:.9rem; }
.format-duties h4 { font-size:.95rem; }
.format-duties .checklist { margin-top:8px; gap:8px; }
.format-duties .checklist li { padding-left:20px; }
.format-warning { margin:18px 0 14px; font-weight:700; }
@media(max-width:720px) {
  .format-layout,.format-duties { grid-template-columns:1fr; gap:24px; }
  .format-layout figure { max-width:440px; margin:auto; }
  .format-summary { margin-top:24px; padding:20px; }
}
.shot { border:5px solid var(--pink); box-shadow:var(--shadow-sm); }
.image-caption { font:.75rem/1.45 var(--font-label); margin-top:12px; color:var(--muted); }
.modules { display:grid; gap:28px; }
.module { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:32px; align-items:center; }
.module .prose { gap:12px; font-size:.9rem; line-height:1.65; }
.module .prose h2 { font-size:clamp(1.7rem,2.8vw,2.4rem); max-width:23ch; margin-bottom:10px; }
.module-side { min-width:0; }
.module-side .shot { border-width:4px; width:100%; }
.module-review { padding:16px; border:var(--border); background:var(--paper); box-shadow:var(--shadow-sm); }
.module-review-label { margin-bottom:16px; padding:6px 10px; font-size:.72rem; }
.module-review-image { width:100%; height:auto; border:1px solid var(--ink); }
.module-review + .module-bonus { margin-top:22px; }
.module-side .module-bonus { margin-top:14px; font-size:.9rem; line-height:1.6; }
.module .badge { width:fit-content; font-size:1.1rem; margin-bottom:8px; }
.module-bonus { margin-top:10px; padding:16px; border:var(--border); box-shadow:var(--shadow-sm); background:#ffffffbb; }
.module-bonus .badge { font-size:.72rem; padding:6px 10px; box-shadow:3px 3px 0 var(--pink); }
.module-bonus h3 { font-size:1.2rem; margin:8px 0; }
.premium { background:radial-gradient(circle at top left,#ffd93d47,transparent 24%),radial-gradient(circle at bottom right,#ff7aa533,transparent 28%),linear-gradient(135deg,#111 0%,#2b1616 48%,#5b1818 100%); color:#fff8ef; box-shadow:12px 12px 0 var(--ink); }
.premium p,.premium strong { color:#fff8efeb; }
.premium > .prose > h2 { font-size:clamp(2.4rem,6vw,4.9rem); line-height:.92; text-transform:uppercase; max-width:17ch; }
.premium .image-caption { color:#fff8efb8; }
.premium .grid { margin-top:26px; }
.premium-item { padding:20px; border:2px solid #fff8ef66; background:#ffffff0d; }
.premium-item h3 { font-size:1.3rem; margin:12px 0; }
.number { font:700 2.4rem/1 var(--font-label); color:var(--yellow); }
.result-note { margin-top:24px; border:2px solid #fff8ef66; padding:18px; background:#ffffff14; }
.split-result { grid-column:1 / -1; order:3; margin-top:0; }
.premium-reference { background:radial-gradient(ellipse at top left,#82702f66,transparent 36%),linear-gradient(135deg,#171717,#491919); padding:26px; }
.premium-reference > .prose { gap:14px; font-size:.9rem; line-height:1.65; }
.premium-reference > .prose > h2 { max-width:14ch; margin-bottom:12px; font-size:clamp(2.4rem,5.4vw,4.7rem); line-height:.95; }
.premium-reference strong { color:inherit; }
.premium-reference .mark { color:var(--ink); }
.premium-reference .grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:26px; }
.premium-reference .premium-item { background:var(--paper); color:var(--ink); border:var(--border); box-shadow:var(--shadow-sm); padding:18px; }
.premium-reference .premium-item p { color:var(--muted); font-size:.9rem; line-height:1.65; }
.premium-reference .premium-item h3 { font-size:1.55rem; line-height:1.05; margin:14px 0 12px; }
.premium-reference .premium-item .badge { padding:7px 10px; box-shadow:4px 4px 0 var(--pink); font-size:.8rem; }
.premium-reference .result-note { padding:18px; border:1px solid #fff8ef66; background:#ffffff1c; font-size:.9rem; line-height:1.65; }
@media(max-width:720px) { .premium-reference .grid { grid-template-columns:1fr; } }
.pricing { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:22px; max-width:1136px; margin-inline:auto; }
.price-card { position:relative; display:flex; flex-direction:column; gap:20px; padding:22px 18px; }
.price-card--featured { background:linear-gradient(#ff8d6729,#ffffffdb); }
.price-card header { text-align:center; }
.price-card h3 { font-size:clamp(1.7rem,2.45vw,2.45rem); }
.price-card .access { font:.76rem/1.4 var(--font-label); text-transform:uppercase; margin-top:12px; }
.price-art { width:100%; height:250px; object-fit:contain; }
.price-card .checklist { flex:1; margin:0; font-size:.92rem; }
.price-footer { border-top:2px solid #1111111a; padding-top:18px; text-align:center; }
.premium .price-footer { border-top-color:#ffffff33; }
.price-label { font:700 .9rem/1.4 var(--font-label); text-transform:uppercase; }
.price { font-weight:800; font-size:clamp(2.4rem,4vw,3.8rem); color:#e89616; line-height:1.1; margin:8px 0 20px; }
.premium .price { color:var(--yellow); }
.price-footer .button { width:100%; }
.price-footer small { display:block; margin-top:12px; }
.premium-badge { position:absolute; right:-8px; top:-18px; transform:rotate(8deg); border-radius:999px; font-size:.7rem; z-index:1; }
.pricing-reference { max-width:787px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.pricing-reference .price-card { padding:18px 14px 14px; gap:16px; box-shadow:var(--shadow-sm); background:#ffffffad; }
.pricing-reference .price-card--featured { background:#ff8d671c; }
.pricing-reference .price-card h3 { font-size:clamp(1.6rem,2.8vw,2.5rem); line-height:1.02; }
.pricing-reference .access { font-size:.65rem; margin-top:12px; }
.pricing-reference .price-art { height:270px; }
.pricing-reference .checklist { gap:9px; font-size:.82rem; }
.pricing-reference .checklist li { padding-left:18px; line-height:1.45; }
.pricing-reference .checklist li::before { width:9px; height:9px; border-width:1px; }
.pricing-reference .price-footer { border-top-width:1px; padding-top:14px; }
.pricing-reference .price-label { font-size:.85rem; font-weight:400; }
.pricing-reference .price { font-size:clamp(2.5rem,4.2vw,3.8rem); margin:8px 0 12px; color:#f4a000; }
.pricing-reference .price-footer .button { border-radius:3px; min-height:60px; }
.pricing-reference .price-footer small { font-size:.75rem; line-height:1.45; }
.pricing-reference .premium { background:linear-gradient(to bottom,#17131322 0%,#29141411 28%,#2d1515ee 50%,#3a1515 100%),url('assets/tariff-individual-vadim.png') top center/100% auto no-repeat,#2d1515; }
.pricing-reference .premium .price-art { opacity:0; }
.pricing-reference .premium .price { color:var(--yellow); }
.pricing-reference .premium header { text-shadow:0 2px 3px #000; }
.pricing-reference .premium .checklist { font-weight:700; }
.pricing-reference .premium small strong { color:inherit; }
@media(max-width:720px) { .pricing-reference { grid-template-columns:1fr; max-width:440px; gap:32px; } .pricing-reference .price-art { height:260px; } }
.guarantee { padding:32px; text-align:center; }
.guarantee .badge { margin:0 auto 20px; }
.guarantee h2 { margin-bottom:20px; }
.offer { display:grid; grid-template-columns:1.1fr .9fr; gap:32px; align-items:center; }
.offer img { max-height:460px; margin-inline:auto; object-fit:contain; }
.offer .button { margin-top:12px; justify-self:start; }
.offer-reference .offer-band { flex-direction:column; gap:12px; margin-bottom:22px; padding:24px; }
.offer-band h2 { font:inherit; letter-spacing:inherit; }
.offer-reference .offer-band h2 { font-size:clamp(1.1rem,1.8vw,1.4rem); line-height:1.4; font-weight:800; letter-spacing:.035em; }
.offer-timer { padding:5px 14px; background:var(--yellow); border:2px solid var(--ink); box-shadow:3px 3px 0 var(--ink); font:800 clamp(1.3rem,2vw,1.65rem)/1.2 var(--font-label); font-variant-numeric:tabular-nums; letter-spacing:.08em; }
.offer-reference .offer { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:28px; padding:22px; }
.offer-reference .badge { justify-self:start; padding:14px 18px; font-size:1rem; }
.offer-reference .offer h2 { font-size:clamp(2rem,4.2vw,3.7rem); }
.offer-reference .offer .prose { gap:16px; }
.offer-reference .offer p { font-size:.95rem; line-height:1.65; }
.offer-action { display:flex; justify-content:center; margin-top:36px; }
.offer-action .button { min-width:260px; }
@media(max-width:720px) { .offer-reference .offer { grid-template-columns:minmax(0,1fr); padding:18px; } .offer-reference .offer figure { max-width:420px; margin:auto; } }
.gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:26px; }
.gallery figure { min-width:0; }
.gallery img { width:100%; }
.gallery .button { margin-top:16px; }
.statistic { display:grid; gap:24px; }
.statistic img { width:min(100%,560px); margin-inline:auto; }
.statistic .button { justify-self:center; margin-top:14px; }
.cases-reference .card { max-width:860px; padding:26px 30px; gap:16px; background:#fff; text-align:center; }
.cases-reference h3 { font-size:clamp(1.9rem,3.6vw,3rem); }
.cases-reference p { font-size:1rem; line-height:1.7; }
.cases-reference .button { justify-self:center; width:min(100%,375px); margin-top:10px; }
.choices-image { width:min(100%,1000px); margin:0 auto 32px; }
.choices h3 { color:var(--hot); margin-bottom:14px; }
.choices-reference .choices-image { width:100%; max-width:1200px; margin:42px auto 38px; }
.choices-reference .grid { gap:24px; }
.choices-reference .card { padding:22px; gap:16px; align-content:start; }
.choices-reference h3 { font-size:clamp(1.6rem,2.7vw,2.3rem); line-height:1.04; margin-bottom:0; }
.choices-reference p { font-size:.95rem; line-height:1.65; }
.choices-reference .card--cyan { background:rgba(105,216,240,.12); }
@media(min-width:721px) { .choices-reference .grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.video-stage { position:relative; padding:0; }
.video-stage img { width:100%; }
.video-stage .video-button { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); min-width:220px; }
.faq { display:grid; gap:16px; }
details.card { padding:0; box-shadow:var(--shadow-sm); }
summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; font-size:1.15rem; font-weight:700; padding:22px; line-height:1.4; }
summary::-webkit-details-marker { display:none; }
summary::after { content:'+'; font:700 1.8rem/1 var(--font-label); }
details[open] summary::after { content:'−'; }
details > .prose { padding:0 22px 22px; }
.final-cta { text-align:center; }
.final-cta img { width:min(100%,960px); margin:26px auto 32px; }
.final-cta h2 { font-size:clamp(2rem,5vw,4rem); max-width:20ch; margin:0 auto 26px; }
.footer { margin-top:64px; padding-top:24px; text-align:center; }
.footer > .button { min-width:260px; }
.footer-links { display:grid; grid-template-columns:repeat(3,max-content); gap:12px; justify-content:center; margin:28px 0 20px; }
.footer-links .button:last-child { grid-column:1 / -1; justify-self:center; }
@media(max-width:720px) { .footer-links { grid-template-columns:minmax(0,max-content); } }
.footer-links .button { font-size:.75rem; border-radius:0; min-height:40px; padding:8px 12px; }
.footer small { display:block; font:.75rem/1.8 var(--font-label); }
.dialog { max-width:600px; width:calc(100% - 40px); padding:32px; color:var(--ink); background:var(--paper); }
.dialog::backdrop { background:#11111199; }
.dialog h2 { margin:24px 0 18px; }
.dialog .dialog-done { margin-top:24px; }
.dialog-close { position:absolute; right:12px; top:12px; min-height:36px; width:36px; padding:0; font-size:1.5rem; }
.dialog figure img { max-height:65vh; width:100%; object-fit:contain; }
.dialog:has(figure) { max-width:1000px; }
.kit-intro { padding:44px 0 8px; }
.kit-intro h1 { font-size:clamp(3rem,7vw,5.8rem); line-height:.96; max-width:13ch; margin:20px 0 28px; }
.kit-nav { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.swatches { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:20px; }
.swatch { border:var(--border); box-shadow:var(--shadow-sm); background:var(--paper); }
.swatch-color { height:110px; background:var(--swatch); border-bottom:var(--border); }
.swatch code { display:block; padding:10px 12px; font-size:.8rem; }
.component-row { display:flex; flex-wrap:wrap; gap:22px; align-items:center; }
.component-row + .component-row { margin-top:28px; }
.code-label { font:.75rem/1.5 var(--font-label); margin:16px 0; }
.type-demo { font-size:clamp(2rem,5vw,4.9rem); line-height:1; }
@media(max-width:1100px) {
  .page-shell { padding:28px 32px; }
  .hero-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .hero h1 { max-width:none; font-size:clamp(3rem,7.8vw,5rem); }
  .hero-visual { width:min(100%,650px); justify-self:center; }
  .grid--two,.grid--three,.split,.offer,.premium .grid { grid-template-columns:minmax(0,1fr); }
  .split--reverse .split-media { order:0; }
  .pricing { grid-template-columns:minmax(0,1fr); max-width:440px; gap:32px; }
  .price-art { height:230px; }
}
@media(max-width:720px) {
  :root { --section-gap:44px; --card-padding:20px; --gap:20px; }
  body { background:var(--bg); }
  .page-shell { width:100%; margin:0; padding:12px 14px 28px; border:0; box-shadow:none; }
  .band { padding:16px 18px; font-size:.9rem; box-shadow:var(--shadow-sm); }
  .band--compact { justify-content:flex-start; text-align:left; font-size:.84rem; }
  .hero-grid,.grid--two,.grid--three,.split,.module,.offer,.pricing { grid-template-columns:minmax(0,1fr); }
  .hero-grid { padding-top:30px; gap:36px; }
  .hero h1 { max-width:11ch; font-size:clamp(2.75rem,14vw,4.8rem); }
  .hero-visual { padding:6px 10px; gap:32px; }
  .hero-portrait { width:min(100%,420px); }
  .hero-visual .button { width:100%; }
  .headline-mark { box-shadow:6px 6px 0 var(--pink); }
  .benefit { padding:8px 18px 16px; }
  .benefit img { max-width:280px; }
  .split--reverse .split-media { order:0; }
  .module { gap:28px; }
  .premium { padding:22px 18px; box-shadow:var(--shadow); }
  .premium > .prose > h2 { font-size:clamp(2rem,10vw,3rem); }
  .pricing { max-width:440px; gap:32px; }
  .price-card { padding:22px; }
  .price-art { height:260px; }
  .price { font-size:3.5rem; }
  .premium-badge { right:6px; }
  .guarantee { padding:26px 18px; }
  .button--large { min-height:72px; font-size:1.15rem; }
  .offer { gap:24px; }
  .footer { margin-top:44px; }
  .dialog { padding:28px 20px; }
  .dialog > .badge { max-width:calc(100% - 32px); font-size:.7rem; }
  .kit-intro h1 { font-size:clamp(2.5rem,12vw,4rem); }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
}
@media(min-width:721px) {
  .guide-reference > .grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto repeat(5,auto) auto; row-gap:24px; }
  .guide-reference .card { display:grid; grid-row:span 7; grid-template-rows:subgrid; row-gap:24px; }
  .guide-reference .checklist { display:contents; }
  .guide-reference .checklist li { align-self:start; font-size:.95rem; }
  .guide-reference .card-after { margin-top:0; grid-row:-2; }
  .pricing.pricing-reference { grid-template-columns:1fr; max-width:600px; }
}
@media(min-width:1101px) {
  .pricing.pricing-reference { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:787px; }
  .pricing-reference .checklist { font-size:.7rem; }
  .pricing-reference .checklist li { white-space:nowrap; }
}

/* После личного срока предложение бонуса закрывается. */
.offer-reference.is-expired .offer,
.offer-reference.is-expired .offer-action { display:none; }

/* Табло в первом экране и заметная дата старта. */
.hero-start { position:relative; overflow:hidden; isolation:isolate; }
.hero-start::after { content:''; position:absolute; inset:-50% auto -50% 0; width:38%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent); transform:translateX(-220%) skewX(-20deg); pointer-events:none; animation:button-shine 4.5s ease-in-out infinite; }
.hero-start .dot { animation:hero-dot-pulse 1.8s ease-in-out infinite; }
@keyframes hero-dot-pulse {
  0%,100% { transform:scale(1); box-shadow:0 0 0 3px #ff2f2f22; }
  50% { transform:scale(1.15); box-shadow:0 0 0 7px #ff2f2f08; }
}
.hero-board-letter { display:inline-block; min-width:.62em; text-align:center; }
.hero-board-letter.is-spinning { animation:hero-board-flip .13s linear infinite; }
@keyframes hero-board-flip {
  0% { transform:perspective(100px) rotateX(-55deg); opacity:.45; }
  50% { transform:perspective(100px) rotateX(0); opacity:1; }
  100% { transform:perspective(100px) rotateX(55deg); opacity:.45; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-board-letter.is-spinning,.hero-start .dot,.hero-start::after { animation:none; }
  .hero-start::after { display:none; }
}

/* Три тарифа: сохраняем порядок карточек и читаемость списка. */
@media(min-width:1101px) {
  .pricing.pricing-reference:has(> .price-card:nth-child(3)) { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:1180px; }
  .pricing-reference:has(> .price-card:nth-child(3)) .checklist li { white-space:normal; }
}
