/* =========================================================
   Clear Bulletin / ClipFlow — site/assets/css/style.css
   Single stylesheet for the whole site.
   Two design families:
     body.pub    -> publication / advertorial (dark, blue accent)
     body.offer  -> offer + legal pages (warm cream, coral accent)
   ========================================================= */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

:root {
  --font-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --max-width: 1120px;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --space-1: .5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2.5rem;
  --space-5: 4rem;
}

html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font-base);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button { font-family: inherit; }
ul, ol { padding-left: 1.25em; }

.visually-hidden {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.skip-link {
  position: absolute; left: 0; top: -60px; background: #000; color: #fff;
  padding: .6em 1em; z-index: 200; transition: top .2s ease;
}
.skip-link:focus { top: 0; }

.wrap {
  width: 100%;
  max-width: var(--max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: 18px;
  padding-right: 18px;
}
.wrap--narrow { max-width: 780px; }

@media (min-width: 768px) {
  .wrap { padding-left: 28px; padding-right: 28px; }
}

/* -----------------------------------------------------------
   Typography scale (shared, colours come from theme variables)
   ----------------------------------------------------------- */
.h1 {
  font-size: clamp(1.8rem, 1.35rem + 2.3vw, 3.1rem);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 0 0 .5em;
}
.h2 {
  font-size: clamp(1.45rem, 1.2rem + 1.3vw, 2.15rem);
  line-height: 1.2;
  font-weight: 800;
  margin: 0 0 .6em;
  letter-spacing: -0.01em;
}
.h3 {
  font-size: clamp(1.15rem, 1.05rem + .5vw, 1.45rem);
  line-height: 1.3;
  font-weight: 700;
  margin: 0 0 .5em;
}
.lede {
  font-size: clamp(1.05rem, .98rem + .3vw, 1.25rem);
  line-height: 1.6;
}
.kicker {
  display: inline-block;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 .8em;
}
p { margin: 0 0 1.1em; }
.section { padding: var(--space-5) 0; }
@media (max-width: 767px) {
  .section { padding: var(--space-4) 0; }
}

/* =========================================================
   PUBLICATION THEME (dark) — advertorial + about
   ========================================================= */
body.pub {
  background: #0a0e18;
  color: #dfe4f2;
}
body.pub .bg-1 { background: #0a0e18; }
body.pub .bg-2 { background: #0d1220; }
body.pub .text-muted { color: #97a1bc; }
body.pub a { text-decoration: none; }
body.pub .h1 .accent, body.pub .h2 .accent { color: #5a82ff; }

.pub-header {
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.pub-header .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.pub-logo {
  font-weight: 800;
  font-size: 1.15rem;
  color: #f2f4fb;
  display: flex;
  align-items: center;
  gap: .5em;
}
.pub-logo span.mark {
  display: inline-block;
  width: 10px; height: 10px;
  border-radius: 3px;
  background: #5a82ff;
}
.pub-nav {
  display: none;
  gap: 1.4rem;
  list-style: none;
  margin: 0; padding: 0;
}
.pub-nav a {
  color: #c4cae0;
  font-size: .92rem;
  font-weight: 600;
}
.pub-nav a:hover, .pub-nav a:focus-visible { color: #fff; }
.pub-nav-toggle {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: #eef1f8;
  width: 44px; height: 44px;
  border-radius: var(--radius-sm);
  font-size: 1.2rem;
  cursor: pointer;
}
.pub-nav-toggle:hover { background: rgba(255,255,255,.12); }
@media (min-width: 768px) {
  .pub-nav { display: flex; }
  .pub-nav-toggle { display: none; }
}
.pub-nav.is-open {
  display: flex;
  flex-direction: column;
  gap: .9rem;
  position: absolute;
  left: 18px; right: 18px; top: 68px;
  background: #10162a;
  border: 1px solid rgba(255,255,255,.1);
  padding: 1.1rem 1.2rem;
  border-radius: var(--radius-md);
  z-index: 50;
}

.disclosure-ribbon {
  background: #131a2c;
  border-bottom: 1px solid rgba(255,255,255,.08);
  padding: 10px 0;
}
.disclosure-ribbon .wrap {
  display: flex;
  flex-wrap: wrap;
  gap: .6em;
  align-items: center;
}
.badge-pill {
  display: inline-flex;
  align-items: center;
  gap: .4em;
  background: rgba(90,130,255,.14);
  border: 1px solid rgba(90,130,255,.35);
  color: #b7c6ff;
  font-size: .78rem;
  font-weight: 700;
  padding: .4em .85em;
  border-radius: 999px;
  letter-spacing: .02em;
}

.pub-hero {
  padding: var(--space-5) 0 var(--space-4);
  text-align: left;
}
.pub-hero__sub {
  max-width: 62ch;
  color: #b7bfd7;
  font-size: clamp(1rem, .95rem + .25vw, 1.15rem);
}

.pull-quote {
  border-left: 4px solid #5a82ff;
  background: linear-gradient(90deg, rgba(90,130,255,.12), rgba(90,130,255,0));
  padding: 1.3em 1.4em;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-size: clamp(1.1rem, 1rem + .5vw, 1.4rem);
  font-weight: 700;
  line-height: 1.4;
  margin: 1.6em 0;
  color: #f2f4fb;
}
.pull-quote small {
  display: block;
  margin-top: .5em;
  font-size: .62em;
  font-weight: 600;
  color: #97a1bc;
  text-transform: none;
  letter-spacing: 0;
}

.qa-block {
  background: #121829;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-lg);
  padding: 1.6em 1.6em 1.4em;
  margin: 1.8em 0;
}
.qa-block__q {
  display: flex;
  gap: .7em;
  align-items: flex-start;
  font-weight: 800;
  font-size: 1.08rem;
  color: #fff;
  margin-bottom: .7em;
}
.qa-block__q .tag {
  flex: none;
  background: #5a82ff;
  color: #071129;
  font-size: .68rem;
  font-weight: 800;
  padding: .25em .55em;
  border-radius: 6px;
  letter-spacing: .04em;
  margin-top: .15em;
}
.qa-block__a {
  display: flex;
  gap: .7em;
  align-items: flex-start;
}
.qa-block__a .tag {
  flex: none;
  background: rgba(255,255,255,.08);
  color: #b7bfd7;
  font-size: .68rem;
  font-weight: 800;
  padding: .25em .55em;
  border-radius: 6px;
  letter-spacing: .04em;
  margin-top: .3em;
}
.qa-block__a p:last-child { margin-bottom: 0; }

.rates-table-wrap { overflow-x: auto; margin: 1.6em 0; }
.rates-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 480px;
  background: #121829;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.rates-table caption {
  text-align: left;
  font-weight: 700;
  color: #fff;
  padding: .9em 1em 0;
}
.rates-table th, .rates-table td {
  text-align: left;
  padding: .85em 1em;
  border-bottom: 1px solid rgba(255,255,255,.08);
  font-size: .95rem;
}
.rates-table thead th {
  background: rgba(90,130,255,.12);
  color: #cfd7f5;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.rates-table tbody tr:nth-child(even) { background: rgba(255,255,255,.02); }
.rates-table tbody tr:last-child td { border-bottom: none; }
.rates-table td.figure { font-weight: 800; color: #fff; }
.rates-table-note { font-size: .82rem; color: #8790aa; margin-top: .6em; }

.takeaway-box {
  background: rgba(90,130,255,.08);
  border: 1px dashed rgba(90,130,255,.4);
  border-radius: var(--radius-md);
  padding: 1.4em 1.5em;
  margin: 1.8em 0;
}
.takeaway-box__title {
  font-weight: 800;
  color: #b7c6ff;
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .05em;
  margin-bottom: .6em;
}
.takeaway-box ul { margin: 0; padding-left: 1.2em; }
.takeaway-box li { margin-bottom: .4em; }
.takeaway-box li:last-child { margin-bottom: 0; }

.offer-list {
  background: #121829;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-lg);
  padding: 1.6em 1.7em;
  margin: 1.8em 0;
  list-style: none;
}
.offer-list li {
  position: relative;
  padding-left: 1.6em;
  margin-bottom: .8em;
}
.offer-list li:last-child { margin-bottom: 0; }
.offer-list li::before {
  content: "→";
  position: absolute; left: 0; top: 0;
  color: #5a82ff;
  font-weight: 800;
}

.cta-band {
  background: linear-gradient(135deg, #16224a, #0d1330);
  border: 1px solid rgba(90,130,255,.35);
  border-radius: var(--radius-lg);
  padding: 2.2em 2em;
  margin: 2.2em 0;
  text-align: center;
}
.cta-band .kicker { color: #8fa6ff; }
.cta-band .h2 { color: #fff; }
.cta-band p { color: #c3caea; max-width: 56ch; margin-left: auto; margin-right: auto; }

.media-frame {
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin: 1.8em 0;
  border: 1px solid rgba(255,255,255,.08);
}
body.offer .media-frame { border-color: #ece0d3; }
.media-frame img, .media-frame video { width: 100%; }
.media-frame figcaption {
  font-size: .85rem;
  padding: .8em 1em;
  color: #97a1bc;
  background: #121829;
}
body.offer .media-frame figcaption { color: #6b5f54; background: #fff; }
.video-box {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}
.video-box video { width: 100%; height: 100%; object-fit: cover; }

.pub-article { padding: var(--space-5) 0; }
.pub-article > * + .h2 { margin-top: 1.4em; }
.closing-summary {
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 2em;
  margin-top: 2.2em;
}

/* Buttons -------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  font-weight: 800;
  font-size: 1rem;
  padding: .9em 1.5em;
  border-radius: var(--radius-md);
  border: none;
  cursor: pointer;
  min-height: 44px;
  text-align: center;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.btn:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.btn:hover { transform: translateY(-1px); }

.btn--pub-primary {
  background: #5a82ff;
  color: #071129;
  box-shadow: 0 10px 24px -10px rgba(90,130,255,.6);
}
.btn--pub-primary:hover { background: #7599ff; }
.btn--pub-ghost {
  background: rgba(255,255,255,.06);
  color: #eef1f8;
  border: 1px solid rgba(255,255,255,.2);
}
.btn--pub-ghost:hover { background: rgba(255,255,255,.12); }

.btn-row { display: flex; flex-wrap: wrap; gap: .9em; margin-top: 1.4em; }
.btn-row.center { justify-content: center; }

/* =========================================================
   OFFER THEME (light, warm) — join + legal pages
   ========================================================= */
body.offer {
  background: #fbf1e7;
  color: #241d16;
}
body.offer .text-muted { color: #6b5f54; }
body.offer a { text-decoration: none; }
body.offer .h1 .accent { color: #b6ab9d; }

.offer-header {
  padding: 16px 0;
}
.offer-header .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: #fff;
  border: 1px solid #f0e3d4;
  border-radius: 999px;
  padding: 10px 18px;
  box-shadow: 0 6px 20px -14px rgba(60,40,20,.35);
}
.offer-logo {
  font-weight: 800;
  font-size: 1.1rem;
  color: #241d16;
  display: flex;
  align-items: center;
  gap: .5em;
}
.offer-logo span.mark {
  display: inline-block;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: #ff5a3c;
}
.offer-nav {
  display: none;
  gap: 1.3rem;
  list-style: none;
  margin: 0; padding: 0;
}
.offer-nav a { font-size: .92rem; font-weight: 600; color: #4a4034; }
.offer-nav a:hover, .offer-nav a:focus-visible { color: #b83a1c; }
.offer-nav-toggle {
  background: #fff;
  border: 1px solid #ece0d3;
  color: #241d16;
  width: 44px; height: 44px;
  border-radius: 50%;
  font-size: 1.1rem;
  cursor: pointer;
}
@media (min-width: 900px) {
  .offer-nav { display: flex; }
  .offer-nav-toggle { display: none; }
}
.offer-nav.is-open {
  display: flex;
  flex-direction: column;
  gap: .9rem;
  position: absolute;
  left: 18px; right: 18px; top: 74px;
  background: #fff;
  border: 1px solid #f0e3d4;
  padding: 1.1rem 1.2rem;
  border-radius: var(--radius-md);
  z-index: 50;
  box-shadow: 0 12px 30px -12px rgba(60,40,20,.3);
}
.offer-header-cta {
  display: none;
}
@media (min-width: 900px) {
  .offer-header-cta { display: inline-flex; }
}

.offer-hero {
  padding: var(--space-5) 0 var(--space-4);
  text-align: center;
  background: radial-gradient(120% 100% at 50% 0%, #fdece0 0%, #fbf1e7 60%);
}
.offer-hero__kicker {
  color: #b83a1c;
}
.offer-hero__sub {
  max-width: 60ch;
  margin: 0 auto;
  color: #6b5f54;
  font-size: clamp(1rem, .95rem + .25vw, 1.2rem);
}
.offer-hero__media {
  margin: 2.2em auto 0;
  max-width: 560px;
}
.offer-hero__media .media-frame { margin: 0; box-shadow: 0 24px 50px -24px rgba(60,40,20,.4); transform: rotate(-1deg); }

.btn--offer-primary {
  background: #ff5a3c;
  color: #241d16;
  border-radius: 999px;
  box-shadow: 0 10px 24px -10px rgba(255,90,60,.55);
}
.btn--offer-primary:hover { background: #ff744f; }
.btn--offer-ghost {
  background: #fff;
  color: #241d16;
  border: 1px solid #e4d5c4;
  border-radius: 999px;
}
.btn--offer-ghost:hover { background: #fff6ee; }

.icon-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.1rem;
  margin-top: 2rem;
}
@media (min-width: 700px) {
  .icon-grid { grid-template-columns: repeat(5, 1fr); }
}
.icon-card {
  background: #fff;
  border: 1px solid #f0e3d4;
  border-radius: var(--radius-md);
  padding: 1.3em 1em;
  text-align: center;
}
.icon-card__glyph {
  width: 42px; height: 42px;
  margin: 0 auto .7em;
  border-radius: 50%;
  background: #fdece0;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem;
}
.icon-card__label { font-size: .88rem; font-weight: 700; }

.split {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 860px) {
  .split { grid-template-columns: 1fr 1fr; gap: 3rem; }
  .split.reverse .split__media { order: -1; }
}
.split__media .media-frame { margin: 0; }

.section-divider {
  border: none;
  border-top: 1px dashed #e4d5c4;
  margin: 0;
}
body.pub .section-divider { border-top: 1px solid rgba(255,255,255,.1); }

.leverage-section {
  background: #fff8f1;
  border-top: 1px solid #f0e3d4;
  border-bottom: 1px solid #f0e3d4;
}

.stat-band {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.3rem;
  margin-top: 2rem;
}
@media (min-width: 760px) {
  .stat-band { grid-template-columns: repeat(4, 1fr); }
}
.stat-tile {
  background: #fff;
  border: 1px solid #f0e3d4;
  border-radius: var(--radius-md);
  padding: 1.4em 1em;
  text-align: center;
}
.stat-tile__figure {
  font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem);
  font-weight: 800;
  color: #ff5a3c;
  line-height: 1.1;
}
.stat-tile__label {
  font-size: .82rem;
  color: #6b5f54;
  margin-top: .5em;
}
.stat-note {
  margin-top: 1.4em;
  font-size: .92rem;
  color: #6b5f54;
  background: #fff;
  border: 1px solid #f0e3d4;
  border-radius: var(--radius-md);
  padding: 1em 1.2em;
}

/* Pricing tabs ---------------------------------------------- */
.pricing-tabs-block {
  margin-top: 1.6em;
}
.pricing-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: .6em;
  margin-top: 1.6em;
  border-bottom: 1px solid #f0e3d4;
  padding-bottom: 0;
}
.pricing-tab-btn {
  background: #fff;
  border: 1px solid #f0e3d4;
  border-bottom: none;
  padding: .8em 1.2em;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  font-weight: 700;
  font-size: .92rem;
  cursor: pointer;
  color: #6b5f54;
  min-height: 44px;
}
.pricing-tab-btn[aria-selected="true"] {
  background: #ff5a3c;
  color: #241d16;
  border-color: #ff5a3c;
}
.pricing-tab-btn:hover:not([aria-selected="true"]) { background: #fff6ee; }

.pricing-panel {
  background: #fff;
  border: 1px solid #f0e3d4;
  border-radius: 0 var(--radius-lg) var(--radius-lg) var(--radius-lg);
  padding: 2em;
  margin-top: -1px;
}
.pricing-panel[hidden] { display: none; }
.pricing-panel.is-highlight {
  background: #1c1710;
  color: #f6ede2;
  border-color: #1c1710;
}
.pricing-panel.is-highlight .text-muted { color: #cbbfae; }
.pricing-panel__top {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 1em;
}
.pricing-panel__price {
  font-size: clamp(1.8rem, 1.5rem + 1vw, 2.4rem);
  font-weight: 800;
}
.pricing-panel__badge {
  display: inline-block;
  background: #ff5a3c;
  color: #241d16;
  font-size: .72rem;
  font-weight: 800;
  padding: .3em .7em;
  border-radius: 999px;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: .6em;
}
.pricing-panel ul {
  list-style: none;
  padding: 0;
  margin: 1.4em 0;
}
.pricing-panel li {
  position: relative;
  padding-left: 1.6em;
  margin-bottom: .7em;
}
.pricing-panel li::before {
  content: "✓";
  position: absolute; left: 0; top: 0;
  color: #b83a1c;
  font-weight: 800;
}
.pricing-panel.is-highlight li::before { color: #ffb199; }

.addons-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 1.8rem;
}
@media (min-width: 700px) {
  .addons-grid { grid-template-columns: repeat(3, 1fr); }
}
.addon-card {
  background: #fff;
  border: 1px solid #f0e3d4;
  border-radius: var(--radius-md);
  padding: 1.3em;
}
.addon-card__price {
  font-weight: 800;
  color: #b83a1c;
  font-size: 1.15rem;
  margin-bottom: .3em;
}
.perks-stack {
  list-style: none;
  padding: 0;
  margin: 1.8rem 0 0;
  display: grid;
  gap: .8rem;
}
.perks-stack li {
  background: #fff8f1;
  border: 1px solid #f0e3d4;
  border-radius: var(--radius-sm);
  padding: .9em 1.1em;
  display: flex;
  gap: .7em;
  align-items: flex-start;
  font-weight: 600;
  font-size: .95rem;
}
.perks-stack li::before {
  content: "★";
  color: #b83a1c;
  flex: none;
}

.limits-block {
  background: #fff;
  border: 1px solid #f0e3d4;
  border-radius: var(--radius-lg);
  padding: 1.8em;
  margin-top: 2em;
}
.limits-block ul { margin: .8em 0 0; padding-left: 1.2em; }
.limits-block li { margin-bottom: .5em; }

/* Lead form --------------------------------------------------- */
.lead-form {
  background: #fff;
  border: 1px solid #f0e3d4;
  border-radius: var(--radius-lg);
  padding: 2em;
  margin-top: 2em;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1em;
  margin-bottom: 1.1em;
}
@media (min-width: 600px) {
  .form-row.two { grid-template-columns: 1fr 1fr; }
}
.field label {
  display: block;
  font-weight: 700;
  font-size: .9rem;
  margin-bottom: .4em;
}
.field input, .field textarea {
  width: 100%;
  font-size: 1rem;
  padding: .8em .9em;
  border: 1px solid #e4d5c4;
  border-radius: var(--radius-sm);
  background: #fffdfb;
  min-height: 44px;
  font-family: inherit;
}
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field textarea:focus {
  outline: 3px solid #ffb199;
  outline-offset: 1px;
  border-color: #ff5a3c;
}
.field .error {
  color: #b3261e;
  font-size: .82rem;
  margin-top: .35em;
  display: none;
}
.field.has-error .error { display: block; }
.field.has-error input, .field.has-error textarea { border-color: #b3261e; }
.consent-row {
  display: flex;
  flex-wrap: wrap;
  gap: .7em;
  align-items: flex-start;
  margin: 1.2em 0;
}
.consent-row input { width: 20px; height: 20px; margin-top: .15em; flex: none; }
.consent-row label { font-size: .9rem; }
.consent-row .error { flex: 0 0 100%; margin: .35em 0 0 1.9em; }
.form-success {
  display: none;
  background: #eafaf0;
  border: 1px solid #b7e6c9;
  color: #1a5c33;
  padding: 1.2em 1.3em;
  border-radius: var(--radius-md);
  margin-top: 1.2em;
  font-weight: 600;
}
.form-success.is-visible { display: block; }
.lead-form.is-submitted form { display: none; }

/* =========================================================
   SHARED — legal card, disclaimer, footer
   ========================================================= */
.legal-hero {
  padding: var(--space-4) 0 var(--space-2);
  text-align: left;
}
.legal-card {
  background: #fff;
  border: 1px solid #f0e3d4;
  border-radius: var(--radius-lg);
  padding: 2em;
  margin-bottom: var(--space-4);
}
.legal-card h2 { margin-top: 1.4em; }
.legal-card h2:first-child { margin-top: 0; }
.legal-card ul { margin-bottom: 1.1em; }
.company-fact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.company-fact-list li {
  padding: .5em 0;
  border-bottom: 1px solid #f0e3d4;
}
.company-fact-list li:last-child { border-bottom: none; }

.site-disclaimer {
  display: block;
  padding: var(--space-3) 0;
  font-size: .92rem;
}
.site-disclaimer .wrap {
  border-top: 1px solid rgba(255,255,255,.12);
  padding-top: var(--space-3);
}
body.offer .site-disclaimer .wrap { border-top-color: #e4d5c4; }
.site-disclaimer p { margin: 0 0 .6em; color: inherit; }
body.pub .site-disclaimer { color: #97a1bc; }
body.offer .site-disclaimer { color: #6b5f54; }
.site-disclaimer a { text-decoration: underline; font-weight: 700; }

.site-footer { padding: var(--space-3) 0 var(--space-4); font-size: .92rem; }
body.pub .site-footer { background: #070a12; color: #8790aa; }
body.offer .site-footer { background: #241d16; color: #d8ccbe; }
.site-footer__company {
  white-space: pre-line;
  margin-bottom: 1.4em;
  line-height: 1.7;
}
.site-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: .5em 1.2em;
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer__links a { font-weight: 600; }
body.pub .site-footer__links a { color: #c4cae0; }
body.offer .site-footer__links a { color: #f3ebe0; }
.site-footer__links a:hover { text-decoration: underline; }
.site-footer__meta { margin-top: 1.4em; font-size: .82rem; opacity: .75; }

/* Not-found page ------------------------------------------------ */
.notfound {
  min-height: 55vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-5) 0;
}

/* Utility grids ---------------------------------------------------- */
.two-col-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: .6rem 2rem;
  list-style: none;
  padding: 0;
  margin: 1.4em 0;
}
@media (min-width: 640px) {
  .two-col-list { grid-template-columns: 1fr 1fr; }
}
.two-col-list li {
  padding-left: 1.5em;
  position: relative;
}
.two-col-list li::before {
  content: "•";
  position: absolute; left: 0; color: #5a82ff; font-weight: 800;
}
body.offer .two-col-list li::before { color: #b83a1c; }

.steps-strip {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.2rem;
  margin-top: 2rem;
  counter-reset: step;
}
@media (min-width: 760px) {
  .steps-strip { grid-template-columns: repeat(4, 1fr); }
}
.step-card {
  background: #fff;
  border: 1px solid #f0e3d4;
  border-radius: var(--radius-md);
  padding: 1.4em 1.2em;
}
.step-card::before {
  counter-increment: step;
  content: counter(step);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  background: #ff5a3c;
  color: #241d16;
  font-weight: 800;
  border-radius: 50%;
  margin-bottom: .7em;
}

/* Sticky mobile CTA (offer join page) --------------------------- */
.sticky-cta {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: #1c1710;
  padding: 12px 18px;
  z-index: 80;
  display: flex;
  justify-content: center;
  box-shadow: 0 -8px 24px -12px rgba(0,0,0,.4);
}
.sticky-cta .btn { width: 100%; max-width: 420px; }
body.has-sticky-cta { padding-bottom: 78px; }
@media (min-width: 900px) {
  .sticky-cta { display: none; }
  body.has-sticky-cta { padding-bottom: 0; }
}

@media (max-width: 479px) {
  .h1 { word-break: break-word; }
}
