/* Doorstep Local — site tokens from aesthetic prototype only. Never invent hexes. */
:root {
  /* Brand roles mapped from references/aesthetic-tokens.md + prototype.css */
  --brand: #0284c7;          /* primary sky / CTA base */
  --brand-deep: #1e40af;     /* deep blue for CTA gradients */
  --brand-sky: #0ea5e9;      /* lighter sky accent / logo Local */
  --brand-sky-soft: #38bdf8; /* footer accent on dark */
  --accent: #16a34a;         /* green — neighborhoods / success */
  --accent-deep: #15803d;    /* green CTA gradient start */
  --accent-dark: #166534;    /* green hero panels */
  --accent-light: #22c55e;   /* green highlight */
  --violet: #7c3aed;         /* multicolor gradient / feature chips */
  --violet-light: #8b5cf6;
  --ink: #0f172a;            /* primary text / navy */
  --ink-deep: #080d1c;       /* darkest panels */
  --ink-mid: #0c1f36;        /* dark panel mid */
  --ink-blue: #1e3a5f;       /* how-it-works mid */
  --ink-teal: #0c4a6e;       /* how-it-works end */
  --muted: #64748b;          /* secondary text */
  --muted-dark: #475569;
  --slate: #475569;
  --paper: #ffffff;
  --paper-soft: #f8fafc;
  --paper-sky: #e0f2fe;
  --paper-sky-border: #bae6fd;
  --paper-green: #dcfce7;
  --paper-green-border: #bbf7d0;
  --teal: #14b8a6;
  --teal-deep: #0d9488;
  --amber: #f59e0b;
  --amber-deep: #d97706;
  --rose: #f43f5e;
  --rose-deep: #e11d48;
  --pink: #ec4899;
  --pink-deep: #db2777;
  --green-soft: #4ade80;
  --green-pale: #bbf7d0;
  --forest: #14532d;

  /* Tribe Maker body type standard */
  --text: 1.25rem;
  --text-lh: 1.6;

  --font: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --radius: 1rem;
  --radius-pill: 9999px;
  --container: 1400px;
  --shadow-card: 0 22px 50px -20px rgba(15, 23, 42, 0.35);

  --grad-cta: linear-gradient(135deg, #1e40af, #0284c7);
  --grad-cta-sky: linear-gradient(135deg, #0ea5e9, #0284c7);
  --grad-green: linear-gradient(135deg, #15803d, #16a34a);
  --grad-green-panel: linear-gradient(135deg, #166534 0%, #16a34a 100%);
  --grad-neighbors: linear-gradient(90deg, #0284c7, #7c3aed, #16a34a);
  --grad-how: linear-gradient(135deg, #0f172a 0%, #1e3a5f 50%, #0c4a6e 100%);
  --grad-notify: linear-gradient(135deg, #080d1c 0%, #0c1f36 100%);
  --grad-biz: linear-gradient(135deg, #0f172a 0%, #14532d 100%);
  --grad-violet: linear-gradient(135deg, #8b5cf6, #7c3aed);
  --grad-amber: linear-gradient(135deg, #f59e0b, #d97706);
  --grad-rose: linear-gradient(135deg, #f43f5e, #e11d48);
  --grad-pink: linear-gradient(135deg, #ec4899, #db2777);
  --grad-teal: linear-gradient(135deg, #14b8a6, #0d9488);
  --grad-slate: linear-gradient(135deg, #64748b, #475569);
  --grad-green-soft: linear-gradient(135deg, #22c55e, #16a34a);
  --grad-founding: linear-gradient(135deg, rgba(30,64,175,.35), rgba(2,132,199,.18));
  --grad-founding-green: linear-gradient(135deg, rgba(22,163,74,.12), rgba(21,128,61,.06));
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font);
  font-size: var(--text);
  line-height: var(--text-lh);
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.container { width: min(100% - 2.5rem, var(--container)); margin-inline: auto; }
.container-sm { width: min(100% - 2.5rem, 56rem); margin-inline: auto; }
.container-md { width: min(100% - 2.5rem, 64rem); margin-inline: auto; }

.display { letter-spacing: -0.02em; line-height: 1.02; font-weight: 800; }
.text-gradient {
  background: var(--grad-neighbors);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.aurora {
  background:
    radial-gradient(60% 55% at 15% 10%, rgba(2,132,199,0.20), transparent 60%),
    radial-gradient(55% 55% at 85% 0%, rgba(124,58,237,0.18), transparent 60%),
    radial-gradient(70% 60% at 50% 110%, rgba(22,163,74,0.16), transparent 60%),
    #ffffff;
}
.lift { transition: transform .2s ease, box-shadow .2s ease; }
.lift:hover { transform: translateY(-6px); box-shadow: var(--shadow-card); }
.icon-chip {
  width: 3.25rem; height: 3.25rem;
  display: flex; align-items: center; justify-content: center;
  border-radius: 1rem; color: #fff;
  box-shadow: 0 10px 24px -8px currentColor;
}
.icon-chip svg { width: 1.5rem; height: 1.5rem; }
.marquee { overflow: hidden; }
.marquee-track {
  display: flex; gap: 3rem; white-space: nowrap;
  animation: scroll-x 26s linear infinite;
  font-weight: 800; text-transform: uppercase; letter-spacing: .12em;
  color: #cbd5e1; font-size: 1.125rem;
}
@keyframes scroll-x { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in { opacity: 1; transform: none; }
.live-dot { position: relative; }
.live-dot::after {
  content: ""; position: absolute; inset: 0; border-radius: 9999px;
  background: currentColor; opacity: .5; animation: ping 1.6s cubic-bezier(0,0,.2,1) infinite;
}
@keyframes ping { 75%, 100% { transform: scale(2.4); opacity: 0; } }
.sticky-cta { box-shadow: 0 -8px 30px -12px rgba(15,23,42,.35); }
.pop { animation: pop .45s cubic-bezier(.2,1.4,.4,1) both; }
@keyframes pop { from { transform: scale(.6); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.founding-callout {
  border: 1px solid rgba(56,189,248,.45);
  background: var(--grad-founding);
  transition: box-shadow .3s ease, transform .3s ease, border-color .3s ease;
}
.founding-callout--green {
  border-color: rgba(22,163,74,.35);
  background: var(--grad-founding-green);
}
.attention { animation: attention-glow 1.8s ease-out 1 both; }
.attention .founding-callout {
  animation: attention-nudge 1.8s cubic-bezier(.36,.07,.19,.97) 1 both;
  border-color: rgba(56,189,248,.9);
  box-shadow: 0 0 0 3px rgba(56,189,248,.35), 0 0 42px 4px rgba(56,189,248,.35);
}
@keyframes attention-glow {
  0% { box-shadow: inset 0 0 0 0 rgba(56,189,248,0); }
  18% { box-shadow: inset 0 0 0 4px rgba(56,189,248,.55), inset 0 0 90px rgba(56,189,248,.28); }
  55% { box-shadow: inset 0 0 0 3px rgba(56,189,248,.35), inset 0 0 70px rgba(56,189,248,.18); }
  100% { box-shadow: inset 0 0 0 0 rgba(56,189,248,0); }
}
@keyframes attention-nudge {
  0% { transform: scale(1) translateX(0); }
  12% { transform: scale(1.04) translateX(-6px); }
  24% { transform: scale(1.04) translateX(6px); }
  36% { transform: scale(1.03) translateX(-4px); }
  48% { transform: scale(1.02) translateX(4px); }
  60% { transform: scale(1.01) translateX(0); }
  100% { transform: scale(1) translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  .attention, .attention .founding-callout { animation: none; }
  .marquee-track { animation: none; }
}

/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  border-radius: var(--radius-pill); font-weight: 800; border: none; cursor: pointer;
  padding: .85rem 1.75rem; transition: transform .15s ease, box-shadow .15s ease, opacity .15s;
  min-height: 44px; text-align: center;
}
.btn:focus-visible { outline: 3px solid var(--brand-sky); outline-offset: 2px; }
.btn-primary { background: var(--grad-cta); color: #fff; box-shadow: 0 10px 30px -10px rgba(2,132,199,.55); }
.btn-primary:hover { transform: translateY(-2px); }
.btn-green { background: var(--grad-green); color: #fff; box-shadow: 0 10px 30px -10px rgba(22,163,74,.5); }
.btn-outline {
  background: #fff; color: var(--ink); border: 1px solid #e2e8f0; font-weight: 600;
}
.btn-outline:hover { border-color: #cbd5e1; }
.btn-ghost { background: transparent; color: var(--muted); font-weight: 600; }
.btn-sm { padding: .55rem 1.15rem; font-size: .875rem; }

/* Site header / footer mounted by layout.js */
.site-header {
  position: fixed; top: 0; inset-inline: 0; z-index: 50;
  border-bottom: 1px solid #f1f5f9; background: rgba(255,255,255,.9); backdrop-filter: blur(12px);
}
.site-header__inner {
  width: min(100% - 2.5rem, 80rem); margin-inline: auto;
  height: 4rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
.site-logo { display: flex; align-items: center; }
.site-logo img { height: 36px; width: auto; min-width: 160px; }
.site-nav { display: none; align-items: center; gap: 2rem; font-size: .875rem; font-weight: 500; color: var(--muted); }
.site-nav a:hover { color: var(--ink); }
.site-header__actions { display: flex; align-items: center; gap: .75rem; }
.site-menu-btn { display: inline-flex; background: none; border: none; padding: .35rem; cursor: pointer; color: var(--ink); }
.site-mobile {
  display: none; border-top: 1px solid #f1f5f9; background: #fff;
  padding: 1rem 1.25rem; font-size: .875rem; font-weight: 500; color: #475569;
}
.site-mobile.open { display: block; }
.site-mobile a { display: block; padding: .5rem 0; }
@media (min-width: 768px) {
  .site-nav { display: flex; }
  .site-menu-btn { display: none; }
  .site-mobile { display: none !important; }
}

.site-footer { padding: 3.5rem 1.25rem; background: #020617; color: #94a3b8; font-size: .875rem; }
.site-footer__inner {
  width: min(100%, 72rem); margin-inline: auto;
  display: flex; flex-direction: column; gap: 2.5rem;
}
@media (min-width: 768px) {
  .site-footer__inner { flex-direction: row; justify-content: space-between; }
}
.site-footer__brand { max-width: 18rem; }
.site-footer__brand .wordmark { font-weight: 800; font-size: 1.25rem; color: #fff; margin-bottom: .5rem; }
.site-footer__brand .wordmark span { color: var(--brand-sky-soft); }
.site-footer__cols { display: flex; gap: 3.5rem; flex-wrap: wrap; }
.site-footer__cols p { font-weight: 700; color: rgba(255,255,255,.4); text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; margin: 0 0 .75rem; }
.site-footer__cols a { display: block; margin-bottom: .5rem; }
.site-footer__cols a:hover { color: #fff; }
.site-footer__bottom {
  width: min(100%, 72rem); margin-inline: auto; margin-top: 2.5rem; padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,.1); font-size: .75rem;
  display: flex; flex-direction: column; gap: .75rem;
}
@media (min-width: 640px) {
  .site-footer__bottom { flex-direction: row; justify-content: space-between; }
}
.site-footer__admin { opacity: .55; font-size: .7rem; }
.site-footer__admin:hover { opacity: 1; color: #fff; }

main { padding-top: 4rem; }
.section { padding: 5rem 1.25rem; }
.section-lg { padding: 7rem 1.25rem; }
.eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em;
  padding: .35rem 1rem; border-radius: var(--radius-pill); border: 1px solid;
}
.eyebrow-sky { color: var(--brand); background: var(--paper-sky); border-color: var(--paper-sky-border); }
.eyebrow-green { color: var(--accent-deep); background: var(--paper-green); border-color: var(--paper-green-border); }
.card {
  background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; padding: 1.5rem;
  box-shadow: 0 1px 2px rgba(15,23,42,.04);
}
.grid-3 { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
.grid-2 { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) {
  .grid-2 { grid-template-columns: 1fr 1fr; }
  .grid-3 { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
  .grid-3-lg { grid-template-columns: repeat(3, 1fr); }
}

/* Forms */
.field { margin-bottom: 1rem; }
.field label { display: block; font-size: .875rem; font-weight: 600; margin-bottom: .4rem; color: var(--ink); }
.field input, .field select, .field textarea {
  width: 100%; min-height: 52px; padding: .75rem 1.25rem; border-radius: 8px;
  border: 1px solid #e2e8f0; background: #fff; color: var(--ink);
}
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus {
  outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(2,132,199,.2);
}
.field-error { color: var(--rose-deep); font-size: .8rem; margin-top: .35rem; display: none; }
.field.has-error .field-error { display: block; }
.field.has-error input { border-color: var(--rose); }

/* Modal */
.proto-modal-backdrop {
  position: fixed; inset: 0; background: rgba(8,13,28,.55); z-index: 100;
  display: flex; align-items: center; justify-content: center; padding: 1.25rem;
}
.proto-modal {
  background: #fff; border-radius: 1.25rem; padding: 2rem; max-width: 420px; width: 100%;
  box-shadow: 0 25px 60px -20px rgba(15,23,42,.5); text-align: center;
}
.proto-modal h3 { margin: 0 0 .75rem; font-size: 1.5rem; }
.proto-modal p { margin: 0 0 1.5rem; color: var(--muted); font-size: 1rem; }

/* Auth card */
.auth-page {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  padding: 2rem 1.25rem; background: var(--paper-soft);
}
.auth-card {
  width: min(100%, 420px); background: #fff; border-radius: 1.25rem;
  padding: 2rem; border: 1px solid #e2e8f0; box-shadow: 0 20px 50px -30px rgba(15,23,42,.35);
}
.auth-card .logo-wrap {
  display: flex; justify-content: center; margin-bottom: 1.5rem;
  background: #fff; padding: 1rem; border-radius: .75rem;
}
.auth-card .logo-wrap img { width: min(100%, 220px); height: auto; }

/* Admin */
.admin-gate, .admin-panel { max-width: 720px; margin: 0 auto; }
.admin-card {
  background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; padding: 1.5rem; margin-bottom: 1.25rem;
}
.admin-card h3 { margin: 0 0 .35rem; font-size: 1.125rem; }
.admin-card .hint { font-size: .8rem; color: var(--muted); margin: .5rem 0 1rem; }

/* Utilities */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.hidden { display: none !important; }
.text-center { text-align: center; }
.muted { color: var(--muted); }
.mb-0 { margin-bottom: 0; }
.mt-4 { margin-top: 1rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }

/* Responsive helpers */
.hide-sm { display: none; }
@media (min-width: 640px) { .hide-sm { display: inline-flex; } }
.hide-mobile { display: none; }
@media (min-width: 768px) { .hide-mobile { display: inline; } }
@media (min-width: 640px) {
  #features .grid-3, #inside .grid-3 { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  #features .grid-3, #inside .grid-3 { grid-template-columns: 1fr 1fr 1fr; }
}

/* Neighborhood directory hub (dense local pages) */
.hub-hero {
  padding: 5.5rem 1.25rem 2.5rem;
  background: radial-gradient(70% 60% at 50% -10%, var(--paper-green) 0%, #ffffff 60%);
}
.hub-hero__city {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .8rem; font-weight: 700; color: var(--accent-deep);
  text-transform: uppercase; letter-spacing: .12em; margin-bottom: 1rem;
}
.hub-hero h1 {
  font-size: clamp(2.25rem, 6vw, 3.5rem); margin: 0 0 1rem; letter-spacing: -0.02em; line-height: 1.05;
}
.hub-hero h1 .name { color: var(--accent); }
.hub-chips {
  display: flex; flex-wrap: nowrap; gap: .5rem; overflow-x: auto;
  padding: .25rem 0 1rem; -webkit-overflow-scrolling: touch; scrollbar-width: thin;
}
.hub-chip {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: .35rem;
  padding: .55rem 1rem; border-radius: var(--radius-pill); border: 1px solid #e2e8f0;
  background: #fff; font-size: .875rem; font-weight: 600; color: var(--ink); white-space: nowrap;
  cursor: pointer;
}
.hub-chip:hover { border-color: var(--paper-green-border); background: var(--paper-green); }
.hub-chip--active { background: var(--grad-green); color: #fff; border-color: transparent; }
.hub-need-grid {
  display: grid; gap: 1rem; grid-template-columns: 1fr;
}
@media (min-width: 640px) { .hub-need-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .hub-need-grid { grid-template-columns: repeat(3, 1fr); } }
.hub-need {
  display: flex; flex-direction: column; gap: .5rem; height: 100%;
}
.hub-need .hub-need__cta {
  margin-top: auto; font-size: .9rem; font-weight: 700; color: var(--accent-deep);
}
.hub-sponsor {
  display: flex; flex-direction: column; gap: 1.25rem;
  padding: 1.5rem; border-radius: 1.25rem;
  background: var(--grad-green-panel); color: #fff;
  box-shadow: var(--shadow-card);
}
@media (min-width: 768px) {
  .hub-sponsor { flex-direction: row; align-items: center; justify-content: space-between; }
}
.hub-sponsor__badge {
  display: inline-block; font-size: .65rem; font-weight: 800; letter-spacing: .14em;
  text-transform: uppercase; padding: .25rem .65rem; border-radius: var(--radius-pill);
  background: rgba(255,255,255,.18); margin-bottom: .5rem;
}
.hub-sponsor h3 { margin: 0 0 .35rem; font-size: 1.35rem; color: #fff; }
.hub-sponsor p { margin: 0; color: rgba(255,255,255,.85); font-size: 1rem; max-width: 36rem; }
.hub-biz-meta {
  display: flex; flex-wrap: wrap; gap: .4rem; margin: .35rem 0 .75rem;
}
.hub-pill {
  font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
  padding: .2rem .55rem; border-radius: var(--radius-pill); border: 1px solid #e2e8f0;
  color: var(--muted-dark); background: var(--paper-soft);
}
.hub-pill--green { color: var(--accent-deep); background: var(--paper-green); border-color: var(--paper-green-border); }
.hub-pill--sky { color: var(--brand); background: var(--paper-sky); border-color: var(--paper-sky-border); }
.hub-pill--violet { color: var(--violet); background: #f5f3ff; border-color: #ddd6fe; }
.hub-placeholder {
  border-style: dashed; background: var(--paper-soft); opacity: .95;
}
.hub-placeholder .hub-pill { background: #fff; }
.hub-announce {
  display: flex; flex-direction: column; gap: .75rem;
}
.hub-announce__item {
  display: flex; gap: 1rem; align-items: flex-start; padding: 1rem 1.15rem;
  border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff;
}
.hub-announce__item .tag {
  flex-shrink: 0; font-size: .65rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .1em; color: var(--brand); background: var(--paper-sky);
  border: 1px solid var(--paper-sky-border); border-radius: var(--radius-pill);
  padding: .25rem .6rem; margin-top: .15rem;
}
.hub-contact-grid {
  display: grid; gap: 1rem; grid-template-columns: 1fr;
}
@media (min-width: 640px) { .hub-contact-grid { grid-template-columns: 1fr 1fr; } }
.hub-contact h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.hub-contact .label {
  font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em;
  color: var(--muted); margin-bottom: .35rem;
}
.hub-band-dark {
  background: var(--grad-biz); color: #fff;
}
.hub-band-dark .muted { color: rgba(255,255,255,.75); }
.hub-band-dark h2 { color: #fff; }
.hub-cat-browse {
  display: flex; flex-wrap: wrap; gap: .5rem;
}
.hub-cat-browse button, .hub-cat-browse a {
  font-size: .875rem; font-weight: 600; padding: .5rem 1rem;
  border-radius: var(--radius-pill); border: 1px solid #e2e8f0; background: #fff;
  cursor: pointer; color: var(--ink);
}
.hub-cat-browse button:hover, .hub-cat-browse a:hover {
  border-color: var(--paper-green-border); background: var(--paper-green);
}
.section-sm { padding: 3rem 1.25rem; }

/* Marketing lander extras (homepage Hook→Story→Offer) */
.enemy-pill {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: .8rem; font-weight: 700; color: var(--rose-deep);
  background: #fff1f2; border: 1px solid #fecdd3;
  padding: .4rem .85rem; border-radius: var(--radius-pill);
}
.mechanism-banner {
  border-radius: 1.25rem; padding: 1.25rem 1.5rem;
  background: rgba(15,23,42,.55); border: 1px solid rgba(255,255,255,.12);
}
.mechanism-banner__inner {
  display: flex; flex-direction: column; gap: 1rem; align-items: stretch;
}
@media (min-width: 768px) {
  .mechanism-banner__inner {
    flex-direction: row; align-items: center; justify-content: space-between; gap: 1.25rem;
  }
}
.mechanism-step { flex: 1; text-align: left; }
.mechanism-step p { margin: .35rem 0 0; color: #94a3b8; font-size: 1rem; line-height: 1.45; }
.mechanism-step--new p { color: #e0f2fe; }
.mechanism-label {
  display: inline-block; font-size: .7rem; font-weight: 800; text-transform: uppercase;
  letter-spacing: .14em; color: #7dd3fc; margin-bottom: .15rem;
}
.mechanism-step--new .mechanism-label { color: #6ee7b7; }
.mechanism-arrow {
  display: none; color: #38bdf8; flex-shrink: 0;
}
@media (min-width: 768px) {
  .mechanism-arrow { display: flex; align-items: center; }
  .mechanism-arrow svg { width: 1.5rem; height: 1.5rem; }
}

.offer-stack {
  max-width: 42rem; margin: 0 auto;
  display: flex; flex-direction: column; gap: .75rem;
}
.offer-stack__item {
  display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center;
  padding: 1.15rem 1.35rem; border-radius: 1rem;
  background: var(--paper-soft); border: 1px solid #e2e8f0;
}
.offer-stack__item--bonus {
  background: linear-gradient(135deg, rgba(30,64,175,.06), rgba(2,132,199,.04));
  border-color: rgba(2,132,199,.35);
  box-shadow: 0 12px 32px -18px rgba(2,132,199,.45);
}
.offer-stack__check {
  width: 2.5rem; height: 2.5rem; border-radius: .75rem;
  display: flex; align-items: center; justify-content: center;
  background: var(--grad-green-soft); color: #fff; flex-shrink: 0;
}
.offer-stack__check svg { width: 1.15rem; height: 1.15rem; }
.offer-stack__body h3 { margin: 0 0 .25rem; font-size: 1.05rem; }
.offer-stack__body p { margin: 0; font-size: .95rem; }
.offer-stack__value {
  font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em;
  color: var(--accent-deep); white-space: nowrap;
}
.offer-stack__value--bonus { color: var(--brand); }
@media (max-width: 639px) {
  .offer-stack__item { grid-template-columns: auto 1fr; }
  .offer-stack__value { grid-column: 2; justify-self: start; }
}

.check-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: .55rem; font-size: 1rem;
}
.check-list li { display: flex; align-items: flex-start; gap: .5rem; }
.check-list svg {
  width: 1.1rem; height: 1.1rem; flex-shrink: 0; margin-top: .2rem;
  color: var(--accent);
}

.proof-logos__row {
  display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem;
}
.proof-logos__row span {
  font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em;
  color: var(--muted); background: var(--paper-soft); border: 1px solid #e2e8f0;
  padding: .55rem 1rem; border-radius: var(--radius-pill);
}

.scarcity-banner {
  display: flex; flex-direction: column; gap: 1rem; align-items: flex-start;
  padding: 1.25rem 1.5rem; border-radius: 1.25rem;
  background: var(--paper-sky); border: 1px solid var(--paper-sky-border);
  font-size: 1rem; line-height: 1.5;
}
@media (min-width: 768px) {
  .scarcity-banner {
    flex-direction: row; align-items: center; justify-content: space-between;
  }
}
