/* AdellaInsight site stylesheet. Brand tokens from the Adella Website Figma file (Kevin). */
/* Work Sans, self-hosted (SIL Open Font License; files from @fontsource/work-sans) */
@font-face { font-family: "Work Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/work-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Work Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/work-sans-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Work Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/work-sans-latin-600-normal.woff2") format("woff2"); }
:root {
  --matterhorn: #514747; --punch: #FF472E; --linen: #FBF3EA; --linen-a: #E4DBD0; --linen-c: #A29486; --ink-muted: #7A6B60;
  --white: #FFFFFF; --light: #FBFAFA;
  --font-display: "Work Sans", system-ui, sans-serif;
  --font-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --max: 1248px; --gutter: 96px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--linen); color: var(--matterhorn); font-family: var(--font-body); font-size: 15px; line-height: 24px; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3, h4, p, ul, ol { margin: 0; }
ul, ol { padding-left: 20px; }
.skip { position: absolute; left: -999px; top: 0; background: var(--matterhorn); color: var(--linen); padding: 8px 16px; }
.skip:focus { left: 16px; z-index: 100; }
.wrap { max-width: calc(var(--max) + 2 * var(--gutter)); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }

/* Type */
.eyebrow { font-family: var(--font-body); font-size: 16px; line-height: 1.2; color: var(--punch); text-transform: uppercase; letter-spacing: 0.02em; }
.h1 { font-family: var(--font-display); font-weight: 500; font-size: 64px; line-height: 1.0; letter-spacing: -1.6px; }
.h2 { font-family: var(--font-display); font-weight: 500; font-size: 46px; line-height: 54px; }
.h3 { font-family: var(--font-display); font-weight: 500; font-size: 24px; line-height: 30px; }
.h4 { font-family: var(--font-display); font-weight: 500; font-size: 20px; line-height: 28px; }
.muted { color: var(--ink-muted); }
.display { font-family: var(--font-display); font-weight: 500; font-size: 80px; line-height: 66px; letter-spacing: -1.6px; text-transform: uppercase; }
.small { font-size: 13px; line-height: 20px; }
.stack > * + * { margin-top: 16px; }
.stack-lg > * + * { margin-top: 28px; }
.prose p + p { margin-top: 12px; }
.prose a { color: var(--punch); }
.note { display: inline-block; background: var(--white); border: 1px dashed var(--linen-c); border-radius: 8px; padding: 2px 8px; font-size: 13px; color: var(--ink-muted); }
.white .note { background: var(--linen); }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; font-family: var(--font-display); font-weight: 500; white-space: nowrap; transition: background .15s, color .15s, border-color .15s; cursor: pointer; }
.btn-pill { height: 44px; padding: 0 40px; border-radius: 22px; font-family: var(--font-body); font-size: 16px; border: 1px solid var(--matterhorn); color: var(--matterhorn); background: transparent; }
.btn-pill:hover { background: var(--matterhorn); color: var(--linen); }
.btn-pill.fill { background: var(--matterhorn); color: var(--linen); }
.btn-pill.fill:hover { background: var(--punch); border-color: var(--punch); }
.btn-big { height: 65px; padding: 0 40px; border-radius: 40px; font-size: 18px; text-transform: uppercase; background: var(--matterhorn); color: var(--linen); }
.btn-big:hover { background: var(--punch); }
.btn-big.linen { background: var(--linen); color: var(--punch); }
.btn-big.linen:hover { background: var(--white); }
.btn-big.outline-linen { background: transparent; border: 1px solid var(--linen); color: var(--linen); }
.btn-big.outline-linen:hover { background: var(--linen); color: var(--matterhorn); }
.btn:focus-visible { outline: 3px solid var(--punch); outline-offset: 3px; }
.trust { font-size: 15px; line-height: 24px; color: var(--ink-muted); }
.cta-row { display: flex; align-items: center; gap: 24px; margin-top: 40px; flex-wrap: wrap; }
.cta-col { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }

/* Nav */
header.site { position: relative; }
.nav { height: 70px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.brand img { width: 118px; height: 30px; object-fit: contain; }
.brand span { font-family: var(--font-display); font-weight: 500; font-size: 20px; letter-spacing: -0.01em; }
.brand sup { font-size: 10px; }
.nav-links { display: flex; align-items: center; gap: 32px; font-size: 16px; }
.nav-links a { text-decoration: none; }
.nav-links a:hover { color: var(--punch); }
.nav-links a.current { color: var(--punch); }
.nav-toggle { display: none; background: none; border: 1px solid var(--matterhorn); border-radius: 20px; height: 39px; padding: 0 18px; font: inherit; color: inherit; }

/* Hero (home) */
.hero { padding-top: 90px; padding-bottom: 80px; display: flex; gap: 90px; align-items: center; }
.hero-copy { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 36px; }
.hero-copy .h1 { color: var(--punch); }
.hero-card { width: 500px; flex-shrink: 0; background: var(--matterhorn); color: var(--linen); border-radius: 20px; padding: 48px 44px; display: flex; flex-direction: column; gap: 24px; }
.hero-card .h2 { font-size: 32px; line-height: 38px; }
.hero-card .paths { display: flex; flex-direction: column; gap: 12px; }
.hero-card .paths .btn-big { font-size: 20px; }
.hero-card .trust { color: var(--linen-a); border-top: 1px solid var(--linen-c); padding-top: 18px; }

/* Page hero (inner pages) */
.page-hero { padding-top: 80px; padding-bottom: 64px; display: flex; gap: 90px; align-items: flex-start; }
.page-hero .copy { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.page-hero .copy .h1 { color: var(--punch); font-size: 56px; letter-spacing: -1.4px; }
.page-hero .side { flex: 0 0 420px; }
.side-card { background: var(--matterhorn); color: var(--linen); border-radius: 20px; padding: 36px; display: flex; flex-direction: column; gap: 18px; }
.side-card .h3 { color: var(--linen); }
.side-card .paths { display: flex; flex-direction: column; gap: 10px; }
.side-card .paths .btn-big { font-size: 17px; height: 58px; }
.side-card .trust { color: var(--linen-a); border-top: 1px solid var(--linen-c); padding-top: 14px; }

.channels { border-top: 1px solid var(--linen-a); min-height: 64px; display: flex; align-items: center; gap: 28px; font-size: 15px; padding: 12px 0; }
.channels strong { font-family: var(--font-display); font-weight: 500; white-space: nowrap; }
.channels ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 22px; color: var(--ink-muted); }

/* Sections */
section { padding: 100px 0 80px; }
section.white { background: var(--white); }
section.tight { padding: 64px 0 56px; }
.section-head { display: flex; flex-direction: column; gap: 24px; max-width: 900px; }
.section-head:not(:empty) { margin-bottom: 24px; }
.section-head:empty { display: none; }
.split { display: flex; gap: 90px; align-items: flex-start; }
.split > * { flex: 1 1 0; min-width: 0; }
.split .side { flex: 0 0 560px; }
.rule { border-top: 1px solid var(--linen-a); }
.rule-strong { border-top: 1px solid var(--matterhorn); }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 90px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.cards { margin-top: 40px; }
.card { display: flex; flex-direction: column; gap: 14px; border-top: 1px solid var(--linen-a); padding-top: 24px; }
.card .fix { border-top: 1px solid var(--linen-a); padding-top: 14px; }

/* Numbered steps */
.steps { display: flex; flex-direction: column; gap: 0; list-style: none; margin: 40px 0 0; padding: 0; border-top: 1px solid var(--matterhorn); }
.steps li { display: flex; gap: 32px; align-items: flex-start; padding: 28px 0; border-bottom: 1px solid var(--linen-a); }
.steps .n { font-family: var(--font-display); font-weight: 500; font-size: 24px; color: var(--punch); flex: 0 0 64px; }
.steps .body { flex: 1 1 0; display: flex; flex-direction: column; gap: 8px; }
.steps-compact { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.steps-compact li { display: flex; gap: 20px; align-items: baseline; }
.steps-compact .n { font-family: var(--font-display); font-weight: 500; font-size: 24px; color: var(--punch); flex: 0 0 32px; }

/* Levels (home) */
.levels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; padding-top: 40px; margin-top: 48px; }
.level { display: flex; flex-direction: column; gap: 16px; }
.level .fix { border-top: 1px solid var(--linen-a); padding-top: 14px; }
.claim { display: flex; gap: 90px; align-items: center; padding-top: 40px; margin-top: 48px; }
.claim p { flex: 1 1 0; }
.claim .cta { flex: 0 0 376px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }

/* Doors */
.doors { display: flex; gap: 90px; }
.door { flex: 1 1 0; display: flex; flex-direction: column; gap: 32px; border-top: 1px solid var(--linen-a); padding-top: 40px; }
.door .head { display: flex; flex-direction: column; gap: 24px; }
.door .benefits { display: flex; flex-direction: column; gap: 18px; }
.door .benefits div { display: flex; flex-direction: column; gap: 4px; }

/* Tables */
.table { display: grid; grid-template-columns: 220px 1fr 1fr; margin-top: 40px; }
.table > div { padding: 18px 16px; border-top: 1px solid var(--linen-a); }
.table > div:nth-child(3n+1) { padding-left: 0; }
.table > div:nth-child(3n) { padding-right: 0; }
.table .th { border-top: 1px solid var(--matterhorn); font-size: 16px; text-transform: uppercase; color: var(--ink-muted); padding-top: 16px; padding-bottom: 16px; }
.table .th.with { color: var(--punch); }
.table .row-label { font-family: var(--font-display); font-weight: 500; font-size: 20px; line-height: 28px; }
.table .without { color: var(--ink-muted); }
.table > div:nth-last-child(-n+3) { border-bottom: 1px solid var(--matterhorn); }
table.data { width: 100%; border-collapse: collapse; margin-top: 32px; font-size: 15px; }
table.data th { text-align: left; font-family: var(--font-body); font-weight: 400; font-size: 16px; text-transform: uppercase; color: var(--ink-muted); padding: 14px 12px 14px 0; border-top: 1px solid var(--matterhorn); border-bottom: 1px solid var(--linen-a); vertical-align: bottom; }
table.data th.punch { color: var(--punch); }
table.data td { padding: 14px 12px 14px 0; border-bottom: 1px solid var(--linen-a); vertical-align: top; }
table.data td.label { font-family: var(--font-display); font-weight: 500; font-size: 18px; line-height: 26px; }
table.data tr:last-child td { border-bottom: 1px solid var(--matterhorn); }
table.data .yes { color: var(--matterhorn); }
table.data .no { color: var(--ink-muted); }

/* Calculator */
.return { display: flex; gap: 90px; }
.return .copy { flex: 1 1 0; display: flex; flex-direction: column; gap: 24px; }
.calc { flex: 0 0 600px; background: var(--white); border-radius: 20px; padding: 40px; display: flex; flex-direction: column; gap: 24px; }
.linen .calc, section:not(.white) .calc { background: var(--white); }
.white .calc { background: var(--linen); }
.calc .inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.calc label { display: flex; flex-direction: column; gap: 6px; font-size: 15px; color: var(--ink-muted); }
.calc input { height: 44px; border: 1px solid var(--linen-a); border-radius: 12px; padding: 0 14px; font-size: 18px; font-family: var(--font-display); color: var(--matterhorn); background: var(--light); width: 100%; }
.calc input:focus { outline: 2px solid var(--punch); outline-offset: 1px; }
.calc .lines { border-top: 1px solid var(--matterhorn); }
.calc .line { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--linen-a); }
.calc .line strong { font-family: var(--font-display); font-weight: 500; font-size: 20px; }
.calc .total { display: flex; justify-content: space-between; align-items: baseline; padding: 18px 0 8px; }
.calc .total .big { font-family: var(--font-display); font-weight: 500; font-size: 46px; line-height: 54px; color: var(--punch); letter-spacing: -0.02em; }
.calc .cost { display: flex; justify-content: space-between; color: var(--ink-muted); }

/* Logos */
.logo-sheet { margin-top: 28px; background: var(--linen); border-radius: 20px; padding: 8px; }
.white .logo-sheet { background: var(--linen); }
.logo-sheet img { width: 100%; height: auto; border-radius: 14px; mix-blend-mode: multiply; }
.logos { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.logos div { height: 60px; border: 1px solid var(--linen-a); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 13px; color: var(--ink-muted); }
.origin { display: flex; gap: 90px; border-top: 1px solid var(--linen-a); padding-top: 32px; margin-top: 40px; }
.origin p { flex: 1 1 0; }

/* Finding preview (illustrative account) */
.preview { background: var(--linen); border-radius: 20px; padding: 32px 34px; display: flex; flex-direction: column; gap: 14px; }
.white .preview { background: var(--linen); }
section:not(.white) .preview { background: var(--white); }
.preview .top { display: flex; justify-content: space-between; align-items: baseline; }
.finding { background: var(--white); border-radius: 12px; padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; border: 1px solid var(--linen-a); }
section:not(.white) .finding { background: var(--linen); }
.finding .head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.finding .amt { font-family: var(--font-display); font-weight: 500; font-size: 24px; color: var(--punch); white-space: nowrap; }
.finding .amt small, .locked .amt small { font-size: 13px; color: var(--ink-muted); }
.locked { border: 1px solid var(--linen-a); border-radius: 12px; padding: 14px 18px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.locked .amt { font-family: var(--font-display); font-weight: 500; font-size: 22px; white-space: nowrap; text-align: right; }
.locked .tag { font-size: 12px; color: var(--ink-muted); text-transform: uppercase; display: block; }
.ledger { width: 100%; border-collapse: collapse; margin-top: 24px; font-size: 14px; }
.ledger th { text-align: left; font-weight: 400; text-transform: uppercase; font-size: 13px; color: var(--ink-muted); padding: 10px 10px 10px 0; border-bottom: 1px solid var(--matterhorn); }
.ledger td { padding: 12px 10px 12px 0; border-bottom: 1px solid var(--linen-a); vertical-align: top; }
.ledger td.num { font-family: var(--font-display); font-weight: 500; white-space: nowrap; }
.answer { background: var(--white); border-radius: 20px; padding: 32px 36px; border: 1px solid var(--linen-a); }
section:not(.white) .answer { background: var(--white); }
.white .answer { background: var(--linen); }
.answer .q { font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 30px; margin-bottom: 16px; }
.answer .src { font-size: 13px; color: var(--ink-muted); border-top: 1px solid var(--linen-a); padding-top: 12px; margin-top: 16px; }

/* Catalogue */
.catalog-controls { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px; align-items: center; }
.catalog-controls input[type=search] { height: 44px; border: 1px solid var(--linen-a); border-radius: 22px; padding: 0 18px; font: inherit; color: var(--matterhorn); background: var(--white); min-width: 280px; }
.chip { height: 36px; padding: 0 16px; border-radius: 18px; border: 1px solid var(--linen-a); background: transparent; font: inherit; font-size: 14px; color: var(--matterhorn); cursor: pointer; }
.chip.on { background: var(--matterhorn); color: var(--linen); border-color: var(--matterhorn); }
.catalog { list-style: none; margin: 32px 0 0; padding: 0; border-top: 1px solid var(--matterhorn); }
.catalog li { display: grid; grid-template-columns: 260px 1fr 180px; gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--linen-a); }
.catalog li .name { font-family: var(--font-display); font-weight: 500; font-size: 17px; line-height: 24px; }
.catalog li .meta { font-size: 13px; color: var(--ink-muted); }
.catalog .count { margin-top: 16px; color: var(--ink-muted); }

/* Plans */
.plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 40px; }
.plan { background: var(--white); border-radius: 20px; padding: 32px 28px; display: flex; flex-direction: column; gap: 16px; border: 1px solid var(--linen-a); }
.plan.dark { background: var(--matterhorn); color: var(--linen); border-color: var(--matterhorn); }
.plan .price { font-family: var(--font-display); font-weight: 500; font-size: 40px; line-height: 44px; letter-spacing: -0.02em; }
.plan .price small { display: block; font-size: 15px; line-height: 20px; letter-spacing: 0; color: var(--ink-muted); font-family: var(--font-body); margin-top: 6px; }
.plan.dark .price small { color: var(--linen-a); }
.plan ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 20px; border-top: 1px solid var(--linen-a); padding-top: 16px; }
.plan.dark ul { border-color: var(--ink-muted); }
.plan .benefits { border-top: 1px solid var(--linen-a); padding-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.plan.dark .benefits { border-color: var(--ink-muted); }
.plan .benefits .eyebrow { color: var(--punch); }
.plan .benefits ul { border-top: 0; padding-top: 0; gap: 10px; font-size: 14px; line-height: 20px; }
.plan .benefits li { padding-left: 14px; position: relative; }
.plan .benefits li::before { content: ""; position: absolute; left: 0; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--punch); }
.plan .btn { align-self: flex-start; margin-top: auto; max-width: 100%; }
.plan .btn-pill { padding: 0 28px; white-space: normal; text-align: center; height: auto; min-height: 44px; padding-top: 10px; padding-bottom: 10px; }
.plan.dark .btn-pill { background: var(--linen); color: var(--punch); border-color: var(--linen); }
.plan.dark .btn-pill:hover { background: var(--white); color: var(--punch); }

/* Red block */
.redblock { padding: 30px 0; background: var(--white); }
.redblock.on-linen { background: var(--linen); }
.redblock .block { background: var(--punch); border-radius: 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 36px; padding: 80px 40px; text-align: center; }
.redblock .display { color: var(--light); }
.redblock .paths { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }
.redblock .paths .btn-big { font-size: 20px; }
.redblock .note { display: block; color: var(--linen); background: none; border: 0; font-size: 15px; padding: 0; }

/* Footer */
footer { background: var(--white); border-top: 1px solid var(--linen-a); padding: 70px 0 60px; }
footer .inner { display: flex; gap: 90px; }
footer .logo { flex: 0 0 294px; }
footer .logo img { width: 294px; height: 74px; object-fit: contain; }
footer .cols { display: flex; gap: 60px; flex-wrap: wrap; }
footer .links { display: flex; flex-direction: column; gap: 28px; font-family: var(--font-display); font-weight: 500; font-size: 18px; line-height: 26px; }
footer nav { display: flex; flex-direction: column; gap: 2px; }
footer nav a { text-decoration: none; }
footer nav a:hover { color: var(--punch); }
footer .accent { color: var(--punch); }
footer .fine { font-family: var(--font-body); font-weight: 400; font-size: 14px; line-height: 22px; max-width: 800px; margin-top: 28px; }
footer .fine a { color: var(--punch); text-decoration: none; }

/* Responsive */
@media (max-width: 1100px) {
  :root { --gutter: 48px; }
  .hero { gap: 48px; }
  .hero-card { width: 420px; }
  .page-hero .side { flex-basis: 360px; }
  .split .side, .claim .cta, .calc { flex-basis: 50%; }
  .levels, .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .logos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .h1 { font-size: 56px; }
  .page-hero .copy .h1 { font-size: 48px; }
  .display { font-size: 64px; line-height: 60px; }
  .catalog li { grid-template-columns: 220px 1fr 140px; }
}
@media (max-width: 820px) {
  :root { --gutter: 24px; }
  .nav-links { display: none; position: absolute; top: 70px; left: 0; right: 0; background: var(--linen); border-bottom: 1px solid var(--linen-a); flex-direction: column; align-items: flex-start; padding: 16px var(--gutter) 24px; gap: 16px; z-index: 50; }
  .nav-links.open { display: flex; }
  .nav-toggle { display: inline-flex; align-items: center; }
  .hero, .page-hero, .split, .claim, .doors, .return, .origin, footer .inner { flex-direction: column; gap: 40px; }
  .hero { padding-top: 48px; padding-bottom: 56px; }
  .page-hero { padding-top: 48px; padding-bottom: 40px; }
  .hero-card, .page-hero .side { width: 100%; flex-basis: auto; }
  .hero-card { padding: 32px 28px; }
  .split .side, .claim .cta, .calc, footer .logo { flex-basis: auto; width: 100%; }
  .h1, .page-hero .copy .h1 { font-size: 40px; letter-spacing: -1px; }
  .h2 { font-size: 32px; line-height: 38px; }
  .display { font-size: 40px; line-height: 40px; letter-spacing: -1px; }
  section { padding: 64px 0 48px; }
  .levels, .grid-2, .grid-3, .grid-4, .plans { grid-template-columns: 1fr; }
  .table { grid-template-columns: 1fr; }
  .table .th { display: none; }
  .table > div { padding: 12px 0; border-top: 0; }
  .table .row-label { border-top: 1px solid var(--matterhorn); padding-top: 20px; margin-top: 8px; }
  .table .without::before { content: "Without: "; font-family: var(--font-display); font-weight: 500; color: var(--matterhorn); }
  .table .with-cell::before { content: "With AdellaInsight: "; font-family: var(--font-display); font-weight: 500; color: var(--punch); }
  .table > div:nth-last-child(-n+3) { border-bottom: 0; }
  table.data, .ledger { display: block; overflow-x: auto; white-space: nowrap; }
  .ledger td { white-space: normal; min-width: 140px; }
  .calc { padding: 24px; }
  .calc .inputs { grid-template-columns: 1fr; }
  .calc .total .big { font-size: 34px; line-height: 40px; }
  .logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .channels { flex-direction: column; align-items: flex-start; gap: 8px; }
  .redblock .block { padding: 48px 20px; }
  .btn-big { height: 56px; padding: 0 24px; font-size: 15px; white-space: normal; text-align: center; }
  .hero-card .paths .btn-big, .redblock .paths .btn-big, .side-card .paths .btn-big { font-size: 16px; }
  .redblock .paths { flex-direction: column; width: 100%; }
  .redblock .paths .btn-big { width: 100%; }
  .catalog li { grid-template-columns: 1fr; gap: 6px; }
  .steps li { flex-direction: column; gap: 8px; }
}
