  :root {
    /* Brand palette — aligned to book cover */
    --forest: #1f5c35;
    --brand-mid: #3aaa50;
    --gps-yellow: #F5C842;
    --dark: #1a1a1a;
    --body-text: #444444;
    --white: #ffffff;
    --mint-bg: #f4faf0;
    --text: var(--body-text);
    --font-display: "Montserrat", -apple-system, "system-ui", "Segoe UI", sans-serif;
    --font-body: "Montserrat", -apple-system, "system-ui", "Segoe UI", sans-serif;
    --font-lora: "lora", "Lora", Georgia, serif;
    --shadow: 0 8px 40px rgba(26, 61, 32, 0.12);
    --shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.12);
    --radius: 16px;
    --rsm-hero-map: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 700' width='900' height='700'%3E%3Cg fill='none' stroke='%231f5c35' stroke-width='1' opacity='0.09'%3E%3Cline x1='0' y1='55' x2='900' y2='55'/%3E%3Cline x1='0' y1='110' x2='900' y2='110'/%3E%3Cline x1='0' y1='165' x2='900' y2='165'/%3E%3Cline x1='0' y1='220' x2='900' y2='220'/%3E%3Cline x1='0' y1='275' x2='900' y2='275'/%3E%3Cline x1='0' y1='330' x2='900' y2='330'/%3E%3Cline x1='0' y1='385' x2='900' y2='385'/%3E%3Cline x1='0' y1='440' x2='900' y2='440'/%3E%3Cline x1='0' y1='495' x2='900' y2='495'/%3E%3Cline x1='0' y1='550' x2='900' y2='550'/%3E%3Cline x1='0' y1='605' x2='900' y2='605'/%3E%3Cline x1='55' y1='0' x2='55' y2='700'/%3E%3Cline x1='110' y1='0' x2='110' y2='700'/%3E%3Cline x1='165' y1='0' x2='165' y2='700'/%3E%3Cline x1='220' y1='0' x2='220' y2='700'/%3E%3Cline x1='275' y1='0' x2='275' y2='700'/%3E%3Cline x1='330' y1='0' x2='330' y2='700'/%3E%3Cline x1='385' y1='0' x2='385' y2='700'/%3E%3Cline x1='440' y1='0' x2='440' y2='700'/%3E%3Cline x1='495' y1='0' x2='495' y2='700'/%3E%3Cline x1='550' y1='0' x2='550' y2='700'/%3E%3Cline x1='605' y1='0' x2='605' y2='700'/%3E%3Cline x1='660' y1='0' x2='660' y2='700'/%3E%3Cline x1='715' y1='0' x2='715' y2='700'/%3E%3Cline x1='770' y1='0' x2='770' y2='700'/%3E%3Cline x1='825' y1='0' x2='825' y2='700'/%3E%3C/g%3E%3Cpolyline points='130,580 130,440 220,440 220,330 385,330 385,220 495,220 495,110 660,110 660,55 780,55' fill='none' stroke='%23F5C842' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' opacity='0.7'/%3E%3C/svg%3E");
    /* Legacy names used in older rules — map to brand tokens */
    --green: var(--brand-mid);
    --yellow: var(--gps-yellow);
    --green-dark: var(--forest);
    --green-light: var(--brand-mid);
    --font: var(--font-body);
    --off-white: var(--mint-bg);
    --light-gray: #e8efe4;
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }

  html { scroll-behavior: smooth; }

  body.rsm-prelaunch-page {
    font-family: var(--font-body);
    font-weight: 400;
    color: var(--text);
    background: var(--white);
    line-height: 1.6;
    overflow-x: hidden;
  }

  /* ─── NAV ─── */
  .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    min-height: 64px;
    padding: 0 2rem;
    overflow: visible;
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 2px solid var(--brand-mid);
    box-shadow: 0 2px 20px rgba(26, 61, 32, 0.08);
  }
  .nav-menu {
    display: block;
  }
  .nav-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 1;
    min-width: 0;
    gap: 1rem;
  }
  .nav-logo {
    margin: 0;
  }
  .nav-logo, .logo, [class*="site-logo"], [class*="brand"], .footer-logo {
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: 18px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #1a1a1a;
  }
  .nav-logo span, .logo span, [class*="site-logo"] span,
  [class*="brand"] span {
    color: var(--brand-mid);
  }
  .footer-logo {
    color: #1a1a1a;
  }
  .footer-logo span {
    color: var(--brand-mid);
  }
  .nav-links {
    display: flex;
    gap: 2rem;
    list-style: none;
  }
  .nav-links a:not(.nav-cta) {
    text-decoration: none;
    text-transform: uppercase;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.08em;
    color: var(--dark);
    transition: color 0.2s;
  }
  .nav-links a:not(.nav-cta):hover { color: var(--brand-mid); }
  .nav-cta {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 15px;
    padding: 12px 24px;
    letter-spacing: 0.01em;
    text-transform: none;
    text-decoration: none;
    background: var(--forest);
    color: white !important;
    border-radius: 8px;
  }
  .nav-cta:hover {
    filter: brightness(1.08);
    color: white !important;
    text-decoration: none;
  }
  .nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 10px;
    margin: 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    cursor: pointer;
    flex-shrink: 0;
  }
  .nav-toggle:focus-visible {
    outline: 2px solid var(--brand-mid);
    outline-offset: 2px;
  }
  .nav-toggle__bar {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--dark);
    border-radius: 1px;
    transition: transform 0.25s ease, opacity 0.25s ease;
  }
  .site-header.nav-open .nav-toggle__bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  .site-header.nav-open .nav-toggle__bar:nth-child(2) {
    opacity: 0;
  }
  .site-header.nav-open .nav-toggle__bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  /* ─── BUTTONS ─── */
  .btn-primary {
    font-family: var(--font-display);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--forest);
    color: white;
    padding: 1rem 2rem;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.25s;
    box-shadow: none;
  }
  .btn-primary.btn-large {
    box-shadow: none;
  }
  .btn-primary:hover {
    filter: brightness(1.08);
    transform: translateY(-2px);
    box-shadow: none;
  }
  .btn-secondary {
    font-family: var(--font-display);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: var(--gps-yellow);
    color: var(--forest);
    padding: 1rem 2rem;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.25s;
    box-shadow: 0 4px 20px rgba(245, 200, 66, 0.35);
  }
  .btn-secondary:hover {
    filter: brightness(0.97);
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(245, 200, 66, 0.45);
  }
  .btn-large { padding: 1.2rem 2.8rem; font-size: 1.125rem; }
  .btn-outline {
    font-family: var(--font-display);
    background: transparent;
    border: 2px solid var(--brand-mid);
    color: var(--forest);
    padding: 0.85rem 2rem;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
  }
  .btn-outline:hover { background: var(--forest); color: white; border-color: var(--forest); }
  a.nav-cta,
  a.btn-primary,
  a.btn-secondary,
  a.btn-outline,
  button.btn-primary,
  button.btn-secondary,
  button.btn-outline,
  .wp-element-button,
  .wp-block-button__link {
    border-radius: 8px !important;
  }

  section { padding: 80px 2rem; }
  .container { max-width: 1100px; margin: 0 auto; }
  .container-narrow { max-width: 800px; margin: 0 auto; }
  .hero-badge,
  .section-label,
  [class*="eyebrow"],
  [class*="pill"],
  [class*="badge"] {
    background: none;
    border: none;
    border-radius: 0;
    padding: 0;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--brand-mid);
    display: inline-block;
    margin-bottom: 12px;
  }
  .section-label--on-dark,
  .section-label--on-forest,
  .section-label--form {
    background: none;
    border: none;
    border-radius: 0;
    padding: 0;
    color: var(--brand-mid);
  }
  h1, h2, h3 {
    font-family: var(--font-display);
    line-height: 1.2;
    letter-spacing: -0.02em;
    font-weight: 700;
  }
  h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); }
  .hero-headline,
  #hero h1 {
    color: #1a1a1a;
    font-size: clamp(2.8rem, 4.2vw, 3.6rem);
    line-height: 1.05;
    font-weight: 800;
  }
  h2 { font-size: clamp(1.8rem, 3.5vw, 2.8rem); }
  h3 { font-size: 1.3rem; }
  .text-green,
  .text-brand-mid { color: var(--brand-mid); }
  .text-center { text-align: center; }

  /* ─── HERO ─── */
  #hero {
    background-color: #ffffff;
    padding: 80px 2rem 100px;
    position: relative;
    overflow: visible;
  }
  #hero::before,
  #hero::after {
    display: none;
  }
  #hero .hero-inner { position: relative; z-index: 1; }
  .hero-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: flex-end;
  }
  .hero-inner > div:first-child {
    align-self: center;
  }
  .hero-headline { margin-bottom: 1.25rem; }
  .hero-headline em,
  #hero h1 em {
    color: #3aaa50;
    font-style: normal;
  }
  .hero-sub,
  #hero p {
    font-family: var(--font-display);
    color: #555555;
    font-weight: 400;
    font-style: normal;
  }
  .hero-sub {
    font-size: 1.05rem;
    margin-bottom: 2rem;
    line-height: 1.7;
    max-width: 480px;
  }
  .hero-trust {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #555555;
    max-width: 36rem;
  }
  .hero-trust strong {
    color: #1a1a1a;
    font-weight: 700;
  }
  .hero-retailer-link {
    color: var(--brand-mid);
    text-decoration: none;
    font-weight: 700;
  }
  .hero-retailer-link:hover {
    color: var(--forest);
    text-decoration: none;
  }
  .hero-ctas {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
  }
  .hero-ctas .btn-primary,
  .hero-ctas a {
    background-color: var(--forest);
    color: var(--white);
  }
  .hero-book-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 580px;
    align-self: flex-end;
    margin-bottom: -80px;
  }
  .book-mockup {
    width: 280px;
    max-width: 100%;
    border-radius: 12px;
    box-shadow: -20px 20px 60px rgba(0,0,0,0.25), 8px 8px 0 var(--brand-mid);
    transform: perspective(800px) rotateY(-5deg);
    transition: transform 0.4s;
    background: var(--forest);
    aspect-ratio: 3/4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    color: white;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  .book-mockup--cover {
    padding: 0;
    background: transparent;
    justify-content: stretch;
    align-items: stretch;
    border-radius: 0;
    overflow: visible;
  }
  .book-mockup--cover::before { display: none; }
  .book-mockup--3d {
    width: 100%;
    max-width: 580px;
    background: transparent;
    box-shadow: none;
  }
  .hero-book-wrap img,
  .book-cover-img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    display: block;
    position: relative;
    z-index: 0;
    filter: drop-shadow(-6px 10px 20px rgba(0, 0, 0, 0.12));
  }
  .book-mockup::before { display: none; }
  .book-mockup:hover { transform: perspective(800px) rotateY(0deg) scale(1.02); }
  .book-gps {
    font-size: 3rem;
    margin-bottom: 1rem;
  }
  .book-title-text {
    font-size: 1.4rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
  }
  .book-author-text {
    font-size: 0.85rem;
    opacity: 0.8;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }
  .map-decoration {
    position: absolute;
    bottom: 1rem; left: 1rem; right: 1rem;
    height: 60px;
    opacity: 0.15;
    overflow: hidden;
  }

  /* ─── LOGOS / SOCIAL PROOF ─── */
  #social-proof {
    background-color: #f4faf0;
    padding: 40px 0;
    border-top: 0.5px solid #d8edd8;
    border-bottom: 0.5px solid #d8edd8;
  }
  .proof-inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
  }
  #social-proof .section-label,
  #social-proof [class*="eyebrow"],
  #social-proof p.label {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #999999;
    display: block;
    text-align: center;
    margin-bottom: 24px;
    background: none;
    border: none;
    padding: 0;
  }
  .media-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px 48px;
    padding: 0 40px;
  }
  .media-logo a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: inherit;
  }
  .media-logo-img {
    height: 36px;
    width: auto;
    object-fit: contain;
    filter: grayscale(1) opacity(0.55);
    transition: filter 0.2s ease;
  }
  .media-logo-img--forbes {
    height: 32px;
  }
  .media-logo:hover .media-logo-img {
    filter: grayscale(0) opacity(1);
  }

  /* ─── BOOK OVERVIEW ─── */
  #overview {
    background-color: #ffffff;
  }
  .overview-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
  }
  .overview-text p {
    font-size: 1.05rem;
    color: #555;
    line-height: 1.8;
    margin-bottom: 2rem;
  }
  .overview-text .overview-learn-heading {
    margin-top: 0.25rem;
    margin-bottom: 0.75rem;
  }
  .benefits-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
  }
  .benefits-list li {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    font-size: 1rem;
    color: var(--dark);
    font-weight: 400;
  }
  .check-item,
  [class*="checklist"] li,
  [class*="feature-list"] li {
    font-weight: 400;
  }
  .check-icon {
    width: 24px; height: 24px;
    background: var(--brand-mid);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    flex-shrink: 0;
    margin-top: 2px;
  }
  .check-icon svg { display: block; }
  .overview-visual {
    background: var(--forest);
    background-image: none;
    border-radius: 24px;
    padding: 2.5rem;
    color: white;
    position: relative;
    overflow: hidden;
    box-shadow: none;
  }
  .overview-stat {
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
    position: relative;
    z-index: 1;
  }
  .overview-stat--featured {
    background: rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    padding: 1.35rem 1.35rem 1.5rem;
    margin-bottom: 0;
    margin-top: -0.25rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
  }
  .overview-stat--featured + .stat-divider {
    margin-top: 1.75rem;
  }
  .stat-num {
    font-family: var(--font-display);
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
  }
  .stat-label {
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 0.25rem;
  }
  .stat-divider {
    height: 1px;
    background: rgba(255,255,255,0.2);
    margin: 1.25rem 0;
  }

  /* ─── BONUS VAULT ─── */
  #bonuses {
    background-color: #f4faf0;
    position: relative;
  }
  #bonuses::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    z-index: 2;
    background: var(--forest);
  }
  .vault-header { text-align: center; margin-bottom: 3rem; }
  .vault-how {
    max-width: 720px;
    margin: 0 auto 1.75rem;
    padding: 1.35rem 1.5rem;
    text-align: left;
    background: rgba(50, 153, 51, 0.07);
    border: 1px solid #cfe8cf;
    border-radius: var(--radius);
    font-size: 1.05rem;
    line-height: 1.7;
    color: #444;
  }
  .vault-how p { margin: 0; }
  .vault-how strong { color: var(--forest); }
  .vault-value {
    display: inline-block;
    background: var(--forest);
    color: white;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    font-size: 1.1rem;
    font-family: var(--font-display);
    font-weight: 700;
    margin: 1rem 0 2rem;
  }
  .bonus-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-bottom: 3rem;
  }
  .bonus-card {
    background: white;
    border-radius: var(--radius);
    padding: 2rem;
    box-shadow: none;
    border: 0.5px solid #d0e8d4;
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
  }
  .bonus-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: var(--green);
  }
  .bonus-card:hover {
    transform: translateY(-6px);
    box-shadow: none;
    border-color: var(--brand-mid);
  }
  .bonus-icon {
    margin-bottom: 1rem;
    display: block;
    color: var(--brand-mid);
  }
  .bonus-icon svg { display: block; }
  .bonus-card h3 {
    font-size: 1.05rem;
    margin-bottom: 0.35rem;
    color: var(--forest);
  }
  .bonus-card__badge {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    padding: 0.22rem 0.6rem;
    border: 1.5px solid var(--gps-yellow);
    border-radius: 999px;
    background: #fffef8;
    color: var(--forest);
    font-family: var(--font-display);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.25;
    text-transform: none;
  }
  .bonus-card p {
    font-family: var(--font-display);
    font-size: 0.9rem;
    font-weight: 400;
    font-style: normal;
    color: #666;
    line-height: 1.6;
    margin-bottom: 1rem;
  }
  .bonus-card__desc {
    font-family: var(--font-display);
    font-weight: 400;
    font-style: normal;
  }
  .bonus-format {
    font-family: var(--font-body);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: var(--mint-bg);
    color: var(--forest);
    border: 1px solid var(--brand-mid);
    padding: 0.25rem 0.75rem;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
  .bonus-card.featured {
    box-shadow: none;
    border: 0.5px solid #d0e8d4;
    background: var(--white);
  }
  .bonus-card.featured::before { background: var(--brand-mid); }
  .bonus-card--total {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--forest) !important;
    color: white;
    border-color: var(--brand-mid);
  }
  .bonus-card--total::before { background: var(--brand-mid); }
  .bonus-card--total__title {
    color: var(--gps-yellow);
    font-size: 1.3rem;
    margin-bottom: 0.5rem;
  }
  .bonus-card--total h3 {
    color: var(--gps-yellow);
  }
  .bonus-card--total__value {
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--gps-yellow);
    margin-bottom: 0.5rem;
  }
  .bonus-card--total__note {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
  }
  .bonus-card--total p,
  .bonus-card--total .vault-subtext,
  [class*="value-card"] p {
    color: #ffffff;
    opacity: 0.85;
  }
  .bonus-ctas { text-align: center; display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
  .bonus-ctas .btn-secondary,
  .final-ctas .btn-secondary {
    background-color: var(--forest);
    color: #ffffff;
  }

  /* ─── FORM ─── */
  #claim {
    background-color: #ffffff;
  }
  .form-intro {
    text-align: center;
    margin-bottom: 3rem;
  }
  .form-intro h2 { font-weight: 700; }
  .form-card {
    background: white;
    border-radius: 24px;
    padding: 3rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
    border: 1px solid #e0e0e0;
    max-width: 680px;
    margin: 0 auto;
  }
  .form-card h2 { margin-bottom: 0.75rem; font-weight: 700; }
  .form-card .form-desc {
    color: #666;
    margin-bottom: 2rem;
    font-size: 1rem;
    line-height: 1.7;
  }
  .rsm-gravity-form .gform_wrapper {
    margin: 0 !important;
    max-width: 100% !important;
  }
  .rsm-gravity-form .gform_wrapper fieldset {
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    min-inline-size: 0 !important;
  }
  .rsm-gravity-form .gform_wrapper.gform-theme {
    --gf-color-primary: var(--green) !important;
    --gf-color-primary-rgb: 63, 153, 97 !important;
    --gf-color-primary-darker: #2b6f46 !important;
    --gf-color-primary-lighter: #64b383 !important;
    --gf-ctrl-border-color: #e0e0e0 !important;
    --gf-ctrl-label-color-primary: var(--dark) !important;
    --gf-ctrl-label-color-secondary: var(--dark) !important;
    --gf-color-in-ctrl: #fafafa !important;
    --gf-color-in-ctrl-contrast: var(--text) !important;
    --gf-radius: 10px !important;
  }
  .rsm-gravity-form .gform_heading {
    display: none !important;
  }
  .rsm-gravity-form .gform_validation_errors {
    display: block !important;
    margin-bottom: 1rem !important;
    border: 1px solid #d63638 !important;
    border-radius: 10px !important;
    padding: 0.8rem 1rem !important;
    background: #fff5f5 !important;
    color: #7a1c1c !important;
    font-size: 0.92rem !important;
    line-height: 1.45 !important;
    font-weight: 500 !important;
  }
  .rsm-gravity-form .gform_validation_errors > h2,
  .rsm-gravity-form .gform_validation_errors .gform_submission_error {
    margin: 0 0 0.55rem !important;
    font-size: 1rem !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    color: #7a1c1c !important;
    letter-spacing: 0 !important;
  }
  .rsm-gravity-form .gform_validation_errors ol,
  .rsm-gravity-form .gform_validation_errors ul {
    margin: 0 !important;
    padding-left: 1.1rem !important;
  }
  .rsm-gravity-form .gform_validation_errors li {
    margin: 0.2rem 0 !important;
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
  }
  .rsm-gravity-form .gform_validation_errors a {
    color: #7a1c1c !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
  }
  .rsm-gravity-form .validation_message {
    display: block !important;
    margin-top: 0.45rem !important;
    color: #b42318 !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
  }
  .rsm-gravity-form .gfield.gfield_error input,
  .rsm-gravity-form .gfield.gfield_error select,
  .rsm-gravity-form .gfield.gfield_error textarea {
    border-color: #d63638 !important;
    background: #fffafa !important;
  }
  .rsm-gravity-form .gfield--type-name.gfield_error .ginput_container_name input,
  .rsm-gravity-form .gfield--type-name.gfield_error .ginput_complex input {
    border-color: #d63638 !important;
    background: #fffafa !important;
  }
  .rsm-gravity-form .gform-body .gform_fields {
    row-gap: 2.8rem !important;
    column-gap: 1rem !important;
  }
  .rsm-gravity-form .gform-body .gform_fields > .gfield {
    margin-bottom: 1.6rem !important;
  }
  .rsm-gravity-form .gform-body .gform_fields > .gfield:last-child {
    margin-bottom: 0 !important;
  }
  .rsm-gravity-form .gfield {
    margin: 0 !important;
    padding: 0 !important;
  }
  .rsm-gravity-form .gfield_label,
  .rsm-gravity-form .gform-field-label {
    font-size: 0.85rem !important;
    font-weight: 400 !important;
    color: var(--dark) !important;
    letter-spacing: 0.02em !important;
    margin-bottom: 0.4rem !important;
  }
  .rsm-gravity-form .gfield_required {
    display: inline-block !important;
    margin-left: 0.2rem !important;
    color: var(--dark) !important;
    line-height: 1 !important;
  }
  .rsm-gravity-form .gfield_required .gfield_required_text {
    font-size: 0 !important;
    line-height: 0 !important;
  }
  .rsm-gravity-form .gfield_required::before {
    content: none !important;
  }
  .rsm-gravity-form .gfield_description {
    display: none !important;
  }
  .rsm-gravity-form .gfield--has-description .gfield_label::after {
    content: " (Optional)";
    font-weight: 400;
  }
  .rsm-gravity-form .gfield input:not([type="file"]):not([type="checkbox"]):not([type="radio"]),
  .rsm-gravity-form .gfield select,
  .rsm-gravity-form .gfield textarea {
    width: 100% !important;
    min-height: 48px !important;
    padding: 0.85rem 1rem !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-size: 1rem !important;
    font-family: var(--font) !important;
    line-height: 1.4 !important;
    transition: border-color 0.2s !important;
    background: #fafafa !important;
    color: var(--text) !important;
  }
  .rsm-gravity-form .gfield input:focus,
  .rsm-gravity-form .gfield select:focus,
  .rsm-gravity-form .gfield textarea:focus {
    outline: none !important;
    border-color: var(--green) !important;
    background: #ffffff !important;
    box-shadow: none !important;
  }
  .rsm-gravity-form .gfield.gfield_error input,
  .rsm-gravity-form .gfield.gfield_error select,
  .rsm-gravity-form .gfield.gfield_error textarea,
  .rsm-gravity-form .gfield input[aria-invalid="true"],
  .rsm-gravity-form .gfield select[aria-invalid="true"],
  .rsm-gravity-form .gfield textarea[aria-invalid="true"],
  .rsm-gravity-form .gfield--type-name.gfield_error .ginput_container_name input,
  .rsm-gravity-form .gfield--type-name.gfield_error .ginput_complex input {
    border-color: #d63638 !important;
    background: #fffafa !important;
  }
  .rsm-gravity-form .gfield--type-name .ginput_complex {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
  }
  .rsm-gravity-form .gfield--type-name .ginput_complex > span {
    margin: 0 !important;
    padding: 0 !important;
  }
  .rsm-gravity-form .gfield--type-name .gfield_label_before_complex {
    display: none !important;
  }
  .rsm-gravity-form .gfield--type-name .gform-field-label--type-sub {
    display: block !important;
    margin-bottom: 0.5rem !important;
    font-size: 0.85rem !important;
    color: var(--dark) !important;
  }
  .rsm-gravity-form .gfield--type-name .gform-field-label--type-sub::after {
    content: " *";
    font-weight: 400;
  }
  .rsm-gravity-form .gfield--type-fileupload .ginput_container_fileupload {
    border: 2px dashed #cde8cd;
    border-radius: 10px;
    padding: 1rem;
    background: #f8fdf8;
  }
  .rsm-gravity-form .gfield--type-fileupload .gform_drop_area {
    border: 0;
    padding: 1rem;
    background: transparent;
    margin: 0;
  }
  .rsm-gravity-form .gfield--type-fileupload .gform_button_select_files {
    border: 0;
    background: transparent;
    color: var(--forest);
    font-weight: 600;
    padding: 0;
    text-decoration: underline;
  }
  .rsm-gravity-form .gform_footer,
  .rsm-gravity-form .gform-footer,
  .rsm-gravity-form .gform_page_footer {
    margin: 1.5rem 0 0 !important;
    padding: 0 !important;
  }
  .rsm-gravity-form .gform_button.button,
  .rsm-gravity-form .gform_next_button.button,
  .rsm-gravity-form .gform_page_footer .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 1.2rem 2.8rem !important;
    font-size: 1.125rem !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: var(--forest) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-family: var(--font-display) !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    transition: all 0.25s !important;
    box-shadow: none !important;
  }
  .rsm-gravity-form .gform_button.button:hover,
  .rsm-gravity-form .gform_next_button.button:hover,
  .rsm-gravity-form .gform_page_footer .button:hover {
    filter: brightness(1.08) !important;
    transform: translateY(-2px);
    box-shadow: none !important;
  }
  /* Force legacy GF required/error visuals on form 1. */
  #claim .form-card .rsm-gravity-form #gform_wrapper_1 .gfield_label .gfield_required_text,
  #claim .form-card .rsm-gravity-form #gform_wrapper_1 .gform-field-label .gfield_required_text {
    font-size: 0 !important;
    line-height: 0 !important;
  }
  #claim .form-card .rsm-gravity-form #gform_wrapper_1 .gfield_label .gfield_required_text::before,
  #claim .form-card .rsm-gravity-form #gform_wrapper_1 .gform-field-label .gfield_required_text::before {
    content: "*" !important;
    font-size: 0.85rem !important;
    line-height: 1 !important;
    color: var(--dark) !important;
  }
  #claim .form-card .rsm-gravity-form #gform_wrapper_1 .gfield.gfield_error input,
  #claim .form-card .rsm-gravity-form #gform_wrapper_1 .gfield.gfield_error select,
  #claim .form-card .rsm-gravity-form #gform_wrapper_1 .gfield.gfield_error textarea,
  #claim .form-card .rsm-gravity-form #gform_wrapper_1 .gfield input[aria-invalid="true"],
  #claim .form-card .rsm-gravity-form #gform_wrapper_1 .gfield select[aria-invalid="true"],
  #claim .form-card .rsm-gravity-form #gform_wrapper_1 .gfield textarea[aria-invalid="true"] {
    border: 2px solid #d63638 !important;
    background: #fffafa !important;
  }
  .form-trust {
    text-align: center;
    font-size: 0.8rem;
    color: #aaa;
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
  }
  .form-trust__icon {
    display: inline-flex;
    color: var(--brand-mid);
  }
  .form-trust__icon svg { display: block; }

  /* ─── ENDORSEMENTS ─── */
  #endorsements {
    background: var(--forest);
    color: white;
    position: relative;
    overflow: clip;
  }
  #endorsements::before {
    content: '"';
    position: absolute;
    top: -2rem; left: 2rem;
    font-size: 25rem;
    color: rgba(255,255,255,0.04);
    line-height: 1;
    font-family: var(--font-lora);
    pointer-events: none;
  }
  .endorsements-header { text-align: center; margin-bottom: 3rem; color: white; }
  .endorsements-header h2 { color: white; font-weight: 700; }
  .testimonial-marquee {
    overflow: hidden;
    margin: 0;
    padding: 0.25rem 0;
    mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  }
  .testimonial-marquee-track {
    display: flex;
    gap: 2rem;
    width: max-content;
    padding-left: max(2rem, calc((100vw - 1100px) / 2));
    margin-left: 0;
    scroll-padding-left: 2rem;
    animation: testimonial-marquee 55s linear infinite;
    will-change: transform;
  }
  .testimonial-track {
    padding-left: max(2rem, calc((100vw - 1100px) / 2));
  }
  .testimonial-marquee:hover .testimonial-marquee-track {
    animation-play-state: paused;
  }
  @keyframes testimonial-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }
  @media (prefers-reduced-motion: reduce) {
    .testimonial-marquee-track {
      animation: none;
      flex-wrap: wrap;
      width: 100%;
      max-width: 1100px;
      margin: 0 auto;
      justify-content: center;
    }
    .testimonial-marquee {
      margin: 0;
      mask-image: none;
      -webkit-mask-image: none;
    }
    .testimonial-card[aria-hidden="true"] { display: none; }
  }
  .testimonial-card {
    flex: 0 0 auto;
    width: min(100vw - 3rem, 380px);
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--radius);
    padding: 2rem;
    transition: background 0.3s, border-color 0.3s, box-shadow 0.3s;
    position: relative;
  }
  .testimonial-card:hover {
    background: rgba(255,255,255,0.1);
    box-shadow: 0 12px 40px rgba(0,0,0,0.2);
  }
  .quote-mark {
    font-size: 3rem;
    color: var(--brand-mid);
    line-height: 1;
    margin-bottom: 0.75rem;
    font-family: var(--font-lora);
    font-weight: 600;
  }
  .testimonial-text {
    font-family: var(--font-lora);
    font-size: clamp(1.125rem, 2vw, 1.25rem);
    font-weight: 600;
    line-height: 1.75;
    color: rgba(255,255,255,0.92);
    margin-bottom: 1.5rem;
    font-style: italic;
  }
  .testimonial-attribution {
    border-top: 1px solid rgba(255,255,255,0.15);
    padding-top: 1rem;
  }
  .testimonial-name {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1rem;
    color: #ffffff;
    margin-bottom: 0.2rem;
  }
  .testimonial-title {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.55);
    line-height: 1.45;
  }

  /* ─── AUTHOR BIO ─── */
  #author,
  #about,
  [class*="author-section"],
  [class*="about-wes"] {
    background-color: #f4faf0;
  }
  .author-inner {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 4rem;
    align-items: center;
  }
  .author-photo {
    width: 100%;
    aspect-ratio: 4/5;
    background: linear-gradient(145deg, var(--forest), var(--brand-mid));
    border-radius: 20px;
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
    padding: 2rem;
    position: relative;
    overflow: hidden;
  }
  .author-photo--image {
    padding: 0;
    background: #e8ebe8;
  }
  .author-photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .author-photo-icon { font-size: 5rem; margin-bottom: 1rem; }
  .author-photo-name { font-size: 1.5rem; font-weight: 900; }
  .author-photo-cred { font-size: 0.8rem; opacity: 0.8; margin-top: 0.25rem; }
  .author-text .section-label { margin-bottom: 0.5rem; }
  .author-text h2 { margin-bottom: 1.25rem; }
  .author-text p {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 1.05rem;
    color: #555;
    line-height: 1.8;
    margin-bottom: 1rem;
  }
  .author-credentials {
    list-style: none;
    margin: 1.5rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
  }
  .author-credentials li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.95rem;
    font-weight: 400;
    color: var(--dark);
  }
  .author-cred-dash {
    color: var(--brand-mid);
    font-weight: 700;
    flex-shrink: 0;
    line-height: 1.6;
  }

  /* ─── FAQ ─── */
  #faq,
  .faq-section {
    background-color: #ffffff;
  }
  .faq-header { text-align: center; margin-bottom: 3rem; }
  .faq-header .section-label { font-family: var(--font-display); font-weight: 700; }
  .faq-header h2 { font-weight: 700; }
  .faq-list {
    max-width: 760px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }
  .faq-item {
    border: 2px solid #e8f0e8;
    border-radius: var(--radius);
    overflow: hidden;
    transition: border-color 0.2s;
  }
  .faq-item:hover { border-color: var(--green-light); }
  .faq-question {
    width: 100%;
    padding: 1.25rem 1.5rem;
    background: none;
    border: none;
    text-align: left;
    font-size: 1rem;
    font-weight: 700;
    color: var(--dark);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-family: var(--font);
    transition: background 0.2s;
  }
  .faq-question:hover { background: #f8fdf8; }
  .faq-question.active { color: var(--green); background: #f0faf0; }
  .faq-toggle::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--brand-mid);
    border-bottom: 2px solid var(--brand-mid);
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    margin-left: 8px;
    vertical-align: middle;
  }
  .faq-item.open .faq-toggle::after,
  .faq-item[open] .faq-toggle::after {
    transform: rotate(-135deg);
  }
  .faq-chevron {
    display: none;
  }
  .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }
  .faq-answer-inner {
    padding: 0 1.5rem 1.25rem;
    font-size: 0.95rem;
    color: #666;
    line-height: 1.7;
  }

  /* ─── FINAL CTA ─── */
  #final-cta {
    background-color: var(--forest);
    text-align: center;
    padding: 100px 2rem;
    position: relative;
    overflow: hidden;
    isolation: isolate;
  }
  #final-cta::before {
    content: '';
    position: absolute;
    inset: -20%;
    z-index: 0;
    background-image: var(--rsm-hero-map);
    background-repeat: no-repeat;
    background-size: min(1100px, 130vw);
    background-position: 50% 40%;
    opacity: 0.45;
    pointer-events: none;
  }
  #final-cta::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(160deg, rgba(26, 61, 32, 0.92) 0%, rgba(26, 61, 32, 0.75) 55%, rgba(26, 61, 32, 0.55) 100%);
    pointer-events: none;
  }
  #final-cta .container { position: relative; z-index: 1; }
  #final-cta h2 { color: white; margin-bottom: 1rem; font-weight: 700; }
  #final-cta .final-cta__accent { color: #ffffff; }
  #final-cta p { color: rgba(255,255,255,0.85); font-size: 1.1rem; margin-bottom: 2.5rem; max-width: 560px; margin-left: auto; margin-right: auto; }
  .final-ctas { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
  #final-cta .btn-secondary { font-size: 1.1rem; padding: 1.2rem 2.8rem; }

  /* ─── FOOTER ─── */
  .site-footer {
    background: #fafafa;
    border-top: 1px solid #e8e8e8;
    color: #555;
    text-align: center;
    padding: 2.5rem 2rem 2.75rem;
    font-size: 0.85rem;
  }
  .footer-logo { margin-bottom: 1.25rem; }
  .site-footer .footer-links {
    display: flex;
    justify-content: center;
    gap: 1.5rem 2rem;
    margin-bottom: 0.25rem;
    flex-wrap: wrap;
  }
  .site-footer .footer-links a {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 0.9rem;
    color: #888888;
    text-decoration: none;
  }
  .site-footer .footer-links a:hover { color: var(--brand-mid); }
  .footer-copyright {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 0.85rem;
    color: #666666;
    margin-top: 1.25rem;
  }
  .footer-disclaimer {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 12px;
    line-height: 1.55;
    color: #aaaaaa;
    max-width: 640px;
    margin: 0.65rem auto 0;
  }

  /* ─── STICKY MOBILE CTA ─── */
  .sticky-mobile-cta {
    font-family: var(--font-display);
    display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: var(--forest);
    color: white;
    text-align: center;
    padding: 1rem;
    z-index: 999;
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    box-shadow: 0 -4px 20px rgba(0,0,0,0.15);
  }

  /* ─── COUNTDOWN ─── */
  .countdown-bar {
    background: var(--forest);
    color: white;
    text-align: center;
    padding: 0.75rem 2rem;
    font-size: 0.9rem;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
  }
  .countdown-bar__highlight {
    color: #ffffff;
    font-weight: 700;
  }
  .topbar-sep {
    display: inline-block;
    width: 1px;
    height: 14px;
    background: rgba(255, 255, 255, 0.3);
    margin: 0 16px;
    vertical-align: middle;
  }
  .countdown-units {
    display: flex;
    gap: 0.75rem;
  }
  .countdown-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .countdown-num {
    font-family: var(--font-display);
    background: #ffffff;
    color: var(--forest);
    width: 40px; height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
  }
  .countdown-label {
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 0.2rem;
    opacity: 0.75;
  }

  /* ─── MAP STRIP ─── */
  .map-strip {
    background: var(--forest);
    padding: 18px 40px;
  }
  .map-route {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    max-width: 700px;
    margin: 0 auto;
  }
  .map-label {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.85);
    white-space: nowrap;
  }
  .map-label--dest {
    font-weight: 700;
    color: #ffffff;
  }
  .map-line {
    flex: 1;
    height: 2px;
    background: #F5C842;
    min-width: 60px;
    max-width: 200px;
    border-radius: 2px;
  }
  .map-pin { display: inline-flex; align-items: center; }
  .map-pin svg { display: block; }
  .map-pin--start circle,
  .map-pin--end circle {
    fill: var(--forest);
  }

  /* ─── RESPONSIVE ─── */
  @media (max-width: 1100px) {
    .hero-inner {
      grid-template-columns: 1fr;
      gap: 2.5rem;
      align-items: center;
    }
    .hero-inner > div:first-child {
      text-align: center;
      align-self: center;
    }
    .hero-ctas {
      justify-content: center;
    }
    .hero-sub,
    .hero-trust {
      margin-left: auto;
      margin-right: auto;
      max-width: 36rem;
    }
    .hero-book-wrap {
      order: -1;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 0;
      align-self: center;
    }
    .overview-grid {
      grid-template-columns: 1fr;
    }
    .overview-text {
      text-align: center;
    }
    .overview-text .benefits-list li {
      text-align: left;
    }
    .overview-text .btn-primary {
      margin-left: auto;
      margin-right: auto;
    }
    .author-inner {
      grid-template-columns: 1fr;
    }
    .author-text {
      text-align: center;
    }
    .author-text .btn-primary {
      margin-left: auto;
      margin-right: auto;
    }
    .site-header {
      flex-wrap: nowrap;
      padding: 0 1rem;
    }
    .nav-bar {
      flex: 1;
    }
    .nav-toggle { display: flex; }
    .site-header {
      overflow: visible;
    }
    .site-header .nav-menu {
      display: none;
      position: fixed;
      top: var(--rsm-nav-menu-top, 64px);
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 1001;
      margin: 0;
      padding: 1.25rem 1.5rem 2rem;
      padding-bottom: max(2rem, env(safe-area-inset-bottom, 0px));
      background: #ffffff;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
      border-top: 1px solid rgba(31, 92, 53, 0.12);
      box-shadow: 0 12px 40px rgba(26, 61, 32, 0.12);
    }
    .site-header .nav-menu .nav-links {
      flex-direction: column;
      align-items: stretch;
      gap: 0;
    }
    .site-header .nav-menu .nav-links li {
      flex-shrink: 0;
      border-bottom: 1px solid rgba(31, 92, 53, 0.08);
    }
    .site-header .nav-menu .nav-links a:not(.nav-cta) {
      display: block;
      padding: 1rem 0;
      font-size: 14px;
    }
    .site-header .nav-menu .nav-links .nav-cta {
      display: block;
      margin-top: 1rem;
      text-align: center;
      width: 100%;
      box-sizing: border-box;
    }
    .site-header.nav-open .nav-menu {
      display: block;
    }
    body.nav-menu-open {
      overflow: hidden;
    }
  }

  @media (max-width: 768px) {
    .media-logo-img {
      height: 30px;
    }
    .bonus-card__badge {
      font-size: 0.68rem;
      top: 0.75rem;
      right: 0.75rem;
    }
    .site-header.nav-open .nav-menu {
      padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
    }
    .countdown-bar {
      padding: 0.75rem 1rem;
      gap: 0.65rem;
    }
    .topbar-sep { display: none; }
    section { padding: 60px 1.25rem; }
    #hero { padding: 48px 1.25rem 72px; }
    .book-mockup { width: 200px; transform: none; }
    .book-mockup--3d { width: 220px; }
    .bonus-grid { grid-template-columns: 1fr; }
    .rsm-gravity-form .gform_wrapper .gfield.gfield--width-half {
      grid-column: span 12;
    }
    .rsm-gravity-form .gfield--type-name .ginput_complex {
      grid-template-columns: 1fr !important;
    }
    .rsm-gravity-form .gform_footer,
    .rsm-gravity-form .gform-footer,
    .rsm-gravity-form .gform_page_footer {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
    }
    .rsm-gravity-form .gform_button.button,
    .rsm-gravity-form .gform_next_button.button,
    .rsm-gravity-form .gform_page_footer .button {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      box-sizing: border-box !important;
      padding: 1rem 1.25rem !important;
      font-size: 1rem !important;
    }
    .author-photo { max-width: 280px; margin: 0 auto; }
    .form-intro { text-align: center; }
    .media-logos { padding: 0 1rem; gap: 24px 28px; }
    .map-strip { padding: 18px 1.25rem; }
    .map-route {
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px 12px;
    }
    .map-label { white-space: normal; text-align: center; }
    .map-line {
      flex: 1 1 100%;
      min-width: 0;
      max-width: none;
    }
    .sticky-mobile-cta { display: block; }
    body.rsm-prelaunch-page { padding-bottom: 60px; }
    .hero-ctas { flex-direction: column; align-items: stretch; }
    .hero-ctas .btn-primary { justify-content: center; }
    h1 { font-size: 2.2rem; }
    h2 { font-size: 1.8rem; }
    .hero-headline { font-size: 2.35rem; }
  }

  /* ─── ANIMATIONS ─── */
  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .fade-up { animation: fadeUp 0.7s ease forwards; }
  .delay-1 { animation-delay: 0.1s; opacity: 0; }
  .delay-2 { animation-delay: 0.2s; opacity: 0; }
  .delay-3 { animation-delay: 0.35s; opacity: 0; }
  .delay-4 { animation-delay: 0.5s; opacity: 0; }

