/* Пенсия на бумаге — сайт для американцев 60–67 лет.
   Мотив — папка с вкладкой: стопка папок в начале, вкладки у кнопок, столбиков, карточек вопросов и рамки картинок.
   Для пожилых: текст 20px, поля и кнопки 60px, контраст не ниже 7:1 у основного текста, подписи над полями. */
:root {
  --bg: #F3F3F1; --surface: #E6E6E2; --ink: #13202E; --muted: #3F4957;
  --navy: #1C3250; --navy-ink: #F3F3F1; --navy-soft: #C9D3DF;
  --sage: #D5E3D6; --rose: #F2D6CE; --sand: #ECDDB9; --sky: #D3DFEA;
  --accent: #2D6A45; --accent-hover: #245A3A; --accent-ink: #FFFFFF;
  --c62: #B4452E; --c67: #2B5A88; --c70: #357C4F;
  --font: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;
  --s-small: 1.0625rem; --s-body: 1.25rem; --s-lead: clamp(1.375rem, 1.2rem + 0.6vw, 1.75rem);
  --s-head: clamp(2.25rem, 1.4rem + 3.2vw, 4rem); --s-display: clamp(4rem, 1.6rem + 9.4vw, 10rem);
  --m: clamp(16px, 4vw, 64px); --gap: clamp(96px, 11vw, 200px);
  --tab: polygon(0 14px, 14px 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: var(--s-body); line-height: 1.6; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, p { margin: 0; }
h2 { font-size: var(--s-head); font-weight: 800; line-height: 1.02; letter-spacing: -0.025em; text-wrap: balance; }
h3 { font-size: var(--s-lead); font-weight: 700; line-height: 1.25; }
a { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: var(--m); top: -100px; z-index: 10; background: var(--accent); color: var(--accent-ink); padding: 14px 20px; font-weight: 700; }
.skip:focus { top: 12px; }
:focus-visible { outline: 4px solid #E0A93B; outline-offset: 3px; }

/* ---------- кнопки: прямоугольник с «вкладкой» сверху ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 60px; padding: 14px 30px 12px; background: var(--accent); color: var(--accent-ink);
  font: 700 var(--s-body)/1.2 var(--font); text-decoration: none; border: 0; cursor: pointer; clip-path: var(--tab); text-align: center;
  transition: background-color .2s, transform .2s var(--ease); }
.btn:hover { background: var(--accent-hover); }
.btn:active { transform: scale(0.97); }
.btn:focus-visible { outline: 4px solid #E0A93B; outline-offset: -9px; }
.btn-quiet { background: var(--surface); color: var(--ink); }
.btn-quiet:hover { background: #DDD9CF; }
.btn-ink { background: var(--ink); }
.btn-ink:hover { background: #24364A; }
.btn-light { background: var(--navy-ink); color: var(--navy); }
.btn-light:hover { background: #FFFFFF; }
.btn-small { min-height: 52px; padding: 12px 22px 10px; font-size: var(--s-small); }
.textlink { font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.textlink:hover { color: var(--accent); }

/* ---------- верхняя строка ---------- */
.top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding: 18px var(--m); background: var(--navy); color: var(--navy-ink); font-size: var(--s-small); }
.wordmark { display: inline-flex; align-items: center; gap: 12px; font-weight: 800; font-size: var(--s-body); text-decoration: none; letter-spacing: -0.01em; }
.mark { display: inline-flex; align-items: flex-end; gap: 3px; height: 26px; }
.mark i { width: 8px; clip-path: polygon(0 3px, 3px 0, 5px 0, 8px 3px, 8px 100%, 0 100%); }
.mark i:nth-child(1) { height: 58%; background: #E58B72; } .mark i:nth-child(2) { height: 80%; background: #8DB4DC; } .mark i:nth-child(3) { height: 100%; background: #8CC8A0; }
.lang { justify-self: start; background: none; border: 2px solid var(--navy-soft); color: var(--navy-ink); font: 700 var(--s-small) var(--font); min-height: 48px; padding: 8px 18px; cursor: pointer; transition: background-color .2s; }
.lang:hover { background: rgba(255,255,255,.1); }
.toplink { justify-self: end; font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }

/* ---------- первый экран: стопка папок ---------- */
.hero { background: var(--navy); color: var(--navy-ink); text-align: center; padding: clamp(40px, 6vh, 80px) var(--m) 0; overflow: hidden; min-height: calc(100svh - 84px); display: flex; flex-direction: column; }
.hero h1 { font-size: var(--s-display); font-weight: 800; line-height: 0.92; letter-spacing: -0.04em; white-space: nowrap; }
.hero .lead { max-width: 46ch; margin: 32px auto 0; font-size: var(--s-lead); line-height: 1.45; color: #DCE2EA; }
.folders { position: relative; flex: 1; min-height: 430px; margin: clamp(48px, 7vh, 88px) calc(-1 * var(--m)) 0; }
.folder { position: absolute; left: 7%; right: 7%; bottom: -40px; display: block; text-decoration: none; color: var(--ink); transition: transform .35s var(--ease); animation: fold-in .9s var(--ease) both; }
.folder .tab { position: absolute; top: -46px; height: 46px; display: flex; align-items: center; padding: 4px 26px 0; font-weight: 700; font-size: var(--s-small); white-space: nowrap; background: inherit; color: var(--ink); text-decoration: none;
  clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 100%, 0 100%); }
.f-book { top: 46px; background: var(--sky); animation-delay: .05s; } .f-book .tab { left: 70%; }
.f-free { top: 110px; background: var(--sand); animation-delay: .12s; } .f-free .tab { left: 47%; }
.f-married { top: 174px; background: var(--rose); animation-delay: .19s; } .f-married .tab { left: 24%; }
.f-med { top: 238px; background: var(--sage); animation-delay: .26s; } .f-med .tab { left: 3%; }
.f-calc { top: 302px; background: var(--bg); text-align: left; padding: 32px; animation-delay: .33s; } .f-calc .tab { left: 52%; }
a.folder:hover { transform: translateY(-10px); }
@keyframes fold-in { from { transform: translateY(120px); opacity: 0; } to { transform: none; opacity: 1; } }

/* ---------- общий ритм секций ---------- */
.sec { padding: var(--gap) var(--m); }
.intro { font-size: var(--s-lead); line-height: 1.45; max-width: 34ch; margin-top: 24px; }
.help { font-size: var(--s-small); color: var(--muted); margin-top: 10px; max-width: 46ch; }
.field { display: block; font-weight: 700; margin-top: 32px; }

/* ---------- калькулятор ---------- */
.calc { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: clamp(24px, 4vw, 64px); padding-top: clamp(40px, 6vw, 96px); }
.calc-form { grid-column: 1 / span 5; }
.calc-out { grid-column: 6 / span 7; }
fieldset { border: 0; margin: 40px 0 0; padding: 0; min-width: 0; }
legend { font-weight: 700; padding: 0; }
.dob { display: grid; grid-template-columns: 1.6fr 0.9fr 1.1fr; gap: 12px; margin-top: 10px; }
.dob label span { display: block; font-size: var(--s-small); color: var(--muted); margin-bottom: 6px; }
select, input { width: 100%; min-height: 60px; font: 400 var(--s-body) var(--font); color: var(--ink); background: #FFFFFF; border: 2px solid #8C95A1; border-radius: 0; padding: 10px 14px; }
select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' fill='none' stroke='%2313202E' stroke-width='2.4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; cursor: pointer; }
select:focus, input:focus { outline: 4px solid #E0A93B; outline-offset: 0; border-color: var(--ink); }
#plan { max-width: 160px; margin-top: 10px; }
.money { display: flex; align-items: stretch; margin-top: 10px; max-width: 280px; }
.money span { display: grid; place-items: center; min-width: 52px; background: var(--surface); border: 2px solid #8C95A1; border-right: 0; font-weight: 700; }
.money input { font-weight: 700; font-size: 1.5rem; }

.fra { font-size: var(--s-lead); font-weight: 700; line-height: 1.35; min-height: 2.7em; }
.bars { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(12px, 2vw, 32px); align-items: end; margin-top: 28px; }
.col { display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; }
.amt { font-size: clamp(1.75rem, 1.1rem + 2.2vw, 3rem); font-weight: 800; letter-spacing: -0.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.per { font-size: var(--s-small); color: var(--muted); margin-top: 4px; }
.bar { height: var(--h, 120px); margin-top: 14px; clip-path: var(--tab); transform-origin: bottom; transition: height .7s var(--ease); }
.bar.grow { animation: grow .8s var(--ease) both; }
@keyframes grow { from { transform: scaleY(0.04); } to { transform: none; } }
.col-62 .amt { color: var(--c62); } .col-62 .bar { background: var(--c62); }
.col-fra .amt { color: var(--c67); } .col-fra .bar { background: var(--c67); }
.col-70 .amt { color: var(--c70); } .col-70 .bar { background: var(--c70); }
.cap { margin-top: 14px; font-weight: 700; line-height: 1.3; }
.cap small { display: block; font-weight: 400; font-size: var(--s-small); color: var(--muted); margin-top: 4px; }
.tot { margin-top: 10px; font-size: var(--s-small); line-height: 1.4; }
.tot b { font-size: var(--s-body); font-variant-numeric: tabular-nums; }
.diff { margin-top: 36px; font-size: var(--s-lead); font-weight: 700; line-height: 1.35; }
.facts { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 14px; }
.facts li { position: relative; padding-left: 34px; max-width: 58ch; }
.facts li::before { content: ""; position: absolute; left: 0; top: 0.42em; width: 18px; height: 16px; background: var(--ink); clip-path: polygon(0 5px, 5px 0, 13px 0, 18px 5px, 18px 100%, 0 100%); }
.note { margin-top: 20px; font-size: var(--s-small); color: var(--muted); }
#print { margin-top: 28px; }
.offer { display: grid; grid-template-columns: minmax(120px, 200px) 1fr; gap: 28px; align-items: center; margin-top: 48px; padding: 28px 32px; background: var(--sand); }
.offer img { width: 100%; }
.offer-h { font-size: var(--s-lead); font-weight: 800; line-height: 1.2; margin-bottom: 10px; }
.offer p + p { margin-bottom: 14px; }

/* ---------- Medicare ---------- */
.med { background: var(--sage); display: grid; grid-template-columns: repeat(12, 1fr); column-gap: clamp(24px, 4vw, 64px); align-items: center; }
.med-text { grid-column: 1 / span 7; }
.med-pic { grid-column: 9 / span 4; margin: 0; display: grid; gap: 28px; }
.med-pic img:first-child { width: 78%; justify-self: center; transform: rotate(-4deg); }
.med-pic .still { clip-path: var(--tab); }
.window-h { margin-top: 40px; font-weight: 700; }
.window { list-style: none; padding: 0; margin: 12px 0 0; display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.window li { background: #EEF4EE; padding: 14px 6px 12px; text-align: center; line-height: 1.25; clip-path: var(--tab); }
.window li b { display: block; font-size: var(--s-lead); }
.window li span { font-size: var(--s-small); }
.window li.is65 { background: var(--navy); color: var(--navy-ink); }
.m-dates { margin-top: 28px; display: grid; gap: 16px; max-width: 60ch; }
.m-dates p { padding-left: 34px; position: relative; }
.m-dates p::before { content: ""; position: absolute; left: 0; top: 0.42em; width: 18px; height: 16px; background: var(--navy); clip-path: polygon(0 5px, 5px 0, 13px 0, 18px 5px, 18px 100%, 0 100%); }
.m-dates strong { font-weight: 800; }

/* ---------- в браке ---------- */
.married { background: var(--rose); display: grid; grid-template-columns: repeat(12, 1fr); column-gap: clamp(24px, 4vw, 64px); align-items: start; }
.mar-people { grid-column: 1 / span 4; display: flex; justify-content: center; align-items: flex-end; gap: 6%; padding-top: 24px; }
.mar-people img { width: 38%; }
.mar-main { grid-column: 5 / span 8; }
.check { display: inline-flex; align-items: center; gap: 16px; margin-top: 36px; font-weight: 700; cursor: pointer; min-height: 60px; padding: 0 24px 0 18px; background: var(--bg); clip-path: var(--tab); }
.check input { width: 30px; height: 30px; min-height: 0; margin: 0; accent-color: var(--accent); cursor: pointer; }
.spouse { margin-top: 8px; }
.spouse[hidden] { display: none; }
.s-out { margin-top: 36px; }
.s-out .who { font-size: var(--s-lead); font-weight: 700; }
.s-out table { border-collapse: collapse; margin-top: 18px; width: 100%; max-width: 560px; font-variant-numeric: tabular-nums; }
.s-out caption { text-align: left; font-weight: 700; margin-bottom: 8px; }
.s-out th, .s-out td { text-align: left; padding: 14px 12px; border-bottom: 2px solid rgba(19, 32, 46, .18); }
.s-out td:last-child, .s-out th:last-child { text-align: right; font-weight: 800; }
.s-out p { margin-top: 18px; max-width: 58ch; }

/* ---------- бесплатные листы ---------- */
.free { background: var(--sand); }
.free h2 { max-width: 16ch; text-indent: 3vw; line-height: 0.98; }
.free-body { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: clamp(24px, 4vw, 64px); margin-top: 96px; align-items: end; }
.free-pic { grid-column: 1 / span 4; margin: 0; }
.free-pic img { width: 70%; }
.free-list { grid-column: 6 / span 7; position: relative; }
.tword { font-size: var(--s-small); color: var(--muted); font-weight: 700; margin-bottom: 8px; }
.free-list table { width: 100%; border-collapse: collapse; }
.free-list td { padding: 14px 0; vertical-align: top; }
.free-list td:first-child { color: var(--muted); width: 26%; font-size: var(--s-small); padding-top: 17px; }
.free-list td:last-child { text-align: right; white-space: nowrap; color: var(--muted); font-size: var(--s-small); padding-top: 17px; }
.free-form { margin-top: 32px; }
.free-form .row { display: flex; gap: 12px; margin-top: 10px; flex-wrap: wrap; }
.free-form input { flex: 1 1 260px; }
#free-msg { min-height: 1.5em; font-weight: 700; color: var(--ink); }

/* ---------- тетрадь: два поля ---------- */
.book { display: grid; grid-template-columns: 5fr 7fr; padding: 0; min-height: 86svh; }
.plan { position: relative; display: flex; flex-direction: column; padding: clamp(32px, 4vw, 64px) clamp(24px, 3vw, 48px); min-height: 86svh; }
.plan-free { background: var(--sage); }
.plan-paid { background: var(--navy); color: var(--navy-ink); }
.plan-name { font-size: var(--s-head); font-weight: 800; line-height: 1; letter-spacing: -0.03em; max-width: 12ch; }
.plan-for { font-size: var(--s-lead); line-height: 1.4; max-width: 26ch; margin-top: 20px; }
.plan-inc { max-width: 52ch; margin-top: 28px; color: #E3E8EF; }
.plan-pic { position: absolute; right: clamp(24px, 3vw, 48px); top: clamp(32px, 4vw, 64px); width: clamp(140px, 17vw, 260px); }
.plan-foot { margin-top: auto; padding-top: 40px; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.price { font-size: clamp(4.5rem, 2rem + 8vw, 9rem); font-weight: 800; line-height: 0.85; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.price small { font-size: var(--s-small); font-weight: 700; letter-spacing: 0; }

/* ---------- ролики ---------- */
.videos { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 64px); min-height: 88svh; align-items: stretch; }
.vid-plate { margin: 0; align-self: center; aspect-ratio: 1; overflow: hidden; background: var(--surface); }
.vid-plate video, .vid-plate img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; }
.vid-side { display: flex; flex-direction: column; justify-content: space-between; gap: 40px; }
.vid-tabs { display: flex; gap: 28px; flex-wrap: wrap; }
.vid-tabs button { background: none; border: 0; padding: 8px 0; font: 700 var(--s-small) var(--font); color: var(--muted); cursor: pointer; border-bottom: 4px solid transparent; }
.vid-tabs button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--ink); }
.vid-title { font-size: var(--s-lead); font-weight: 800; line-height: 1.15; margin-top: 28px; max-width: 22ch; letter-spacing: -0.015em; }
#v-desc { margin-top: 24px; max-width: 34ch; font-size: var(--s-lead); line-height: 1.45; }
.vid-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cell { display: flex; align-items: center; justify-content: center; text-align: center; min-height: 72px; padding: 12px; background: var(--surface); font-weight: 700; text-decoration: none; clip-path: var(--tab); transition: background-color .2s, transform .2s var(--ease); }
.cell:hover { background: #DDD9CF; }
.cell:active { transform: scale(0.98); }
.cell-ink { background: var(--ink); color: var(--bg); }
.cell-ink:hover { background: #24364A; }

/* ---------- вопросы: карточки с вкладками ---------- */
.faq { display: grid; grid-template-columns: repeat(12, 1fr); }
.faq h2, .cards { grid-column: 3 / span 8; }
.cards { margin-top: 64px; }
.card { --tx: calc(var(--k, 0) * clamp(40px, 9vw, 150px)); position: relative; padding-top: 44px; margin-top: -8px;
  clip-path: polygon(0 44px, var(--tx) 44px, calc(var(--tx) + 14px) 0, calc(var(--tx) + 196px) 0, calc(var(--tx) + 210px) 44px, 100% 44px, 100% 100%, 0 100%); }
.card:nth-child(3n+1) { background: var(--sand); } .card:nth-child(3n+2) { background: var(--rose); } .card:nth-child(3n) { background: var(--sage); }
.card .ctab { position: absolute; top: 10px; left: calc(var(--tx) + 28px); font-size: var(--s-small); font-weight: 700; }
.card button { display: block; width: 100%; text-align: left; background: none; border: 0; cursor: pointer; padding: 18px 28px 22px; font: 700 var(--s-lead)/1.3 var(--font); color: var(--ink); }
.card button::after { content: ""; float: right; width: 14px; height: 14px; margin-top: 0.35em; border-right: 3px solid currentColor; border-bottom: 3px solid currentColor; transform: rotate(45deg); transition: transform .3s var(--ease); }
.card.open button::after { transform: rotate(-135deg); }
.card .ans { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .4s var(--ease); }
.card.open .ans { grid-template-rows: 1fr; }
.card .ans > div { overflow: hidden; }
.card .ans p { padding: 0 28px 28px; max-width: 54ch; }

/* ---------- доверие: тёмная панель ---------- */
.trust { padding: 20px; }
.panel { position: relative; background: var(--navy); color: var(--navy-ink); min-height: 96svh; overflow: hidden; display: grid; grid-template-columns: 63fr 37fr; }
.panel-left { padding: 56px; display: flex; flex-direction: column; }
.panel-left h2 { color: var(--navy-ink); max-width: 15ch; }
.shaped { width: min(38vw, 560px); margin-top: auto; translate: 0 18%; clip-path: polygon(0 40px, 40px 0, calc(100% - 40px) 0, 100% 40px, 100% 100%, 0 100%); background: #E9D9B7; padding: 48px 32px 0; }
.panel-right { padding: 56px 56px 56px 0; display: flex; flex-direction: column; gap: 56px; }
.panel-right h3 { color: var(--navy-ink); }
.panel-right p { margin-top: 12px; color: #DCE2EA; max-width: 34ch; }
.panel-right .btn { align-self: flex-start; }

/* ---------- подвал ---------- */
.foot { padding: var(--gap) var(--m) 40px; }
.bigmark { display: flex; align-items: flex-end; gap: 6px; height: clamp(160px, 30svh, 320px); }
.bigmark i { width: clamp(40px, 6vw, 96px); clip-path: polygon(0 20px, 20px 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 0 100%); }
.bigmark i:nth-child(1) { height: 58%; background: var(--c62); } .bigmark i:nth-child(2) { height: 80%; background: var(--c67); } .bigmark i:nth-child(3) { height: 100%; background: var(--c70); }
.bigmark span { margin-left: clamp(16px, 2vw, 32px); font-size: clamp(2.75rem, 1rem + 6.4vw, 8rem); font-weight: 800; line-height: 0.85; letter-spacing: -0.045em; }
.foot-links { display: flex; flex-wrap: wrap; gap: 14px 36px; margin-top: 56px; }
.foot-links a { font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.legal { margin-top: 40px; font-size: var(--s-small); color: var(--muted); max-width: 70ch; }
.foot-last { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 40px; font-size: var(--s-small); }

/* ---------- появление при прокрутке ---------- */
.js [data-rise] > * { opacity: 0.22; transform: translateY(26px); transition: opacity .7s var(--ease), transform .8s var(--ease); transition-delay: calc(var(--i, 0) * 75ms); }
.js [data-rise].in > * { opacity: 1; transform: none; }
.js h2[data-rise] { opacity: 0.22; transform: translateY(26px); transition: opacity .7s var(--ease), transform .8s var(--ease); }
.js h2[data-rise].in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
  .js [data-rise] > *, .js h2[data-rise] { opacity: 1; transform: none; }
}

/* ---------- планшет и телефон ---------- */
@media (max-width: 1000px) {
  .calc-form, .calc-out { grid-column: 1 / -1; }
  .calc-out { margin-top: 56px; }
  .med-text { grid-column: 1 / -1; } .med-pic { grid-column: 1 / -1; grid-template-columns: 1fr 1.6fr; align-items: center; margin-top: 48px; }
  .mar-people { grid-column: 1 / -1; justify-content: flex-start; max-width: 300px; }
  .mar-main { grid-column: 1 / -1; margin-top: 32px; }
  .free-pic { grid-column: 1 / span 4; } .free-list { grid-column: 5 / -1; }
  .faq h2, .cards { grid-column: 1 / -1; }
  .videos { grid-template-columns: 1fr; }
  .panel { grid-template-columns: 1fr; }
  .panel-right { padding: 0 56px 56px; }
  .shaped { width: min(70vw, 520px); }
}
@media (max-width: 640px) {
  :root { --s-body: 1.1875rem; }
  .top { grid-template-columns: auto 1fr; } .toplink { display: none; }
  .wordmark { justify-self: end; font-size: 1.125rem; }
  .hero h1 { font-size: 17vw; white-space: normal; }
  .hero .lead { font-size: 1.1875rem; }
  .folders { min-height: 400px; margin-top: 48px; }
  .folder { left: 0; right: 0; }
  .folder .tab { height: 36px; top: -36px; font-size: 0.9375rem; padding: 2px 16px 0; }
  .f-book { top: 36px; } .f-book .tab { left: auto; right: 4%; }
  .f-free { top: 88px; } .f-free .tab { left: 30%; }
  .f-married { top: 140px; } .f-married .tab { left: 4%; }
  .f-med { top: 192px; } .f-med .tab { left: auto; right: 4%; }
  .f-calc { top: 244px; padding: 24px 16px; } .f-calc .tab { left: 4%; }
  .f-calc .btn { width: 100%; }
  .bars { gap: 10px; }
  .amt { font-size: 1.5rem; }
  .dob { grid-template-columns: 1fr 1fr; } .dob label:first-child { grid-column: 1 / -1; }
  .offer { grid-template-columns: 1fr; padding: 24px; } .offer img { width: 56%; }
  .window { grid-template-columns: repeat(4, 1fr); }
  .med-pic { grid-template-columns: 1fr; }
  .free h2 { text-indent: 0; font-size: 9.5vw; }
  .free-body { margin-top: 48px; } .free-list { grid-column: 1 / -1; } .free-pic { grid-column: 1 / -1; order: 2; margin-top: 40px; justify-self: end; width: 60%; } .free-pic img { width: 100%; }
  .free-list td:first-child { display: block; width: auto; padding: 14px 0 0; } .free-list tr { display: grid; grid-template-columns: 1fr auto; } .free-list td:first-child { grid-column: 1 / -1; }
  .book { grid-template-columns: 1fr; } .plan { min-height: 70svh; } .plan-paid { order: -1; } .plan-pic { position: static; margin-top: 24px; width: 48%; }
  .plan-foot .btn { width: 100%; }
  .vid-actions { grid-template-columns: 1fr; }
  .card { --tx: 0px !important; clip-path: polygon(0 44px, 0 44px, 14px 0, 150px 0, 164px 44px, 100% 44px, 100% 100%, 0 100%); }
  .card .ctab { left: 22px; }
  .card button, .card .ans p { padding-left: 20px; padding-right: 20px; }
  .trust { padding: 10px; } .panel-left { padding: 32px 20px 0; } .panel-right { padding: 32px 20px 0; gap: 32px; } .shaped { width: 86vw; margin-top: 40px; }
  .bigmark { height: 22svh; } .bigmark i { width: 11vw; } .bigmark span { font-size: 10vw; }
}

/* ---------- печать: только мои числа ---------- */
@media print {
  .top, .hero, .skip, .free, .book, .videos, .faq, .trust, .foot, .offer, #print, .help, .mar-people, .med-pic, .check, noscript { display: none !important; }
  body { background: #fff; font-size: 13pt; }
  .sec { padding: 12pt 0; }
  .calc, .med, .married { display: block; background: #fff; }
  .js [data-rise] > *, .js h2[data-rise] { opacity: 1 !important; transform: none !important; }
  .bar, .window li { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  select, input { border: 1px solid #999; min-height: 0; }
}

/* оффер рядом с результатом */
.offer { display: block; margin-top: 40px; padding: 32px; background: var(--sand); }
.offer-top { display: grid; grid-template-columns: 150px 1fr; gap: 24px; align-items: center; }
.offer-h { font-size: var(--s-lead); font-weight: 800; line-height: 1.2; }
.offer-sub { margin-top: 8px; }
.stack { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 12px; }
.stack li { position: relative; padding-left: 34px; }
.stack li::before { content: ""; position: absolute; left: 0; top: .35em; width: 20px; height: 20px; background: var(--accent); clip-path: polygon(15% 50%, 0 65%, 40% 100%, 100% 25%, 85% 10%, 40% 70%); }
.stack b { display: block; }
.stack span { color: var(--muted); font-size: var(--s-small); }
.anchor { margin-top: 20px; font-size: var(--s-small); }
.offer-buy { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 20px; }
.offer-price { font-size: var(--s-head); font-weight: 800; line-height: 1; }
.offer-price s { font-size: var(--s-lead); color: var(--muted); font-weight: 700; }
.guarantee { margin-top: 14px; font-size: var(--s-small); color: var(--muted); }
@media (max-width: 640px) { .offer-top { grid-template-columns: 1fr; } .offer-top img { width: 50%; } .offer-buy .btn { width: 100%; } }
@media print { .offer { display: none !important; } }

/* 04.11: первый экран = калькулятор + тетрадь рядом, без папок */
.hero { min-height: 0; padding: clamp(28px, 4vh, 48px) var(--m) clamp(28px, 4vh, 44px); }
.hero h1 { font-size: clamp(3rem, 6vw, 5.5rem); }
.hero .lead { margin-top: 16px; }
.calc { padding-top: clamp(32px, 4vw, 56px); align-items: start; }
.calc-form { grid-column: 1 / span 4; }
.calc-out { grid-column: 5 / span 5; }
.calc > .offer { grid-column: 10 / span 3; margin-top: 0; position: sticky; top: 24px; padding: 24px; }
.calc > .offer .offer-top { grid-template-columns: 1fr; }
.calc > .offer .offer-top img { width: 70%; }
.calc > .offer .offer-buy .btn { width: 100%; text-align: center; }
@media (max-width: 1279px) {
  .calc-form { grid-column: 1 / span 5; } .calc-out { grid-column: 6 / span 7; }
  .calc > .offer { grid-column: 1 / -1; position: static; margin-top: 48px; }
  .calc > .offer .offer-top { grid-template-columns: 150px 1fr; } .calc > .offer .offer-top img { width: 100%; }
}
@media (max-width: 900px) { .calc-form, .calc-out { grid-column: 1 / -1; } .calc > .offer .offer-top { grid-template-columns: 1fr; } .calc > .offer .offer-top img { width: 50%; } }
.top .wordmark { grid-column: 2; } .top .toplink { grid-column: 3; justify-self: end; }
@media (max-width: 900px) { .top { grid-template-columns: 1fr; } .top .wordmark { grid-column: 1; justify-self: center; } }
