/* renovatemate.io · marketing styles */
@import url('colors_and_type.css');

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; min-height: 100vh; background: var(--rm-bg); color: var(--rm-text); font-family: var(--rm-font-sans); -webkit-font-smoothing: antialiased; }
html { scroll-behavior: smooth; }
#whats-coming, #how-it-works { scroll-margin-top: calc(var(--rm-nav-height) + 16px); }
img, video { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; transition: all var(--rm-transition); appearance: none; -webkit-appearance: none; color: inherit; background: transparent; }
a { color: inherit; text-decoration: none; }

.rm-container { max-width: 860px; margin: 0 auto; padding: 0 24px; }
.rm-container.wide { max-width: 1200px; }

/* Buttons */
.rm-btn-primary { font-size: 14px; font-weight: 500; padding: 12px 22px; border-radius: var(--rm-radius-pill); background: var(--rm-orange); color: #141210; border: none; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.rm-btn-primary:hover { background: var(--rm-orange-hover); }
.rm-btn-primary.lg { font-size: 15px; padding: 15px 28px; }
.rm-btn-ghost { font-size: 14px; font-weight: 500; padding: 11px 20px; border-radius: var(--rm-radius-ghost); background: transparent; color: var(--rm-text); border: 1px solid var(--rm-border-2); display: inline-flex; align-items: center; gap: 8px; }
.rm-btn-ghost:hover { background: var(--rm-orange-tint-8); color: var(--rm-orange-light); border-color: var(--rm-orange-border); }
.rm-btn-link { background: transparent; border: none; color: var(--rm-orange); font-size: 14px; font-weight: 500; padding: 0; }
.rm-btn-link:hover { color: var(--rm-orange-hover); }

/* Sticky nav */
.rm-nav { position: sticky; top: 0; z-index: 50; height: var(--rm-nav-height); display: flex; align-items: center; gap: 28px; padding: 0 28px; background: color-mix(in oklab, var(--rm-bg) 78%, transparent); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--rm-border); }
.rm-wordmark { font-family: var(--rm-font-sans); font-weight: 500; font-size: 18px; letter-spacing: -0.02em; text-decoration: none; cursor: pointer; }
.rm-wordmark .renovate { color: var(--rm-orange); }
.rm-wordmark .mate { color: var(--rm-text); }
.rm-nav-links { display: flex; gap: 22px; }
.rm-nav-links a { font-size: 13px; color: var(--rm-muted); transition: color var(--rm-transition); cursor: pointer; text-decoration: none; }
.rm-nav-links a:hover, .rm-nav-links a.active { color: var(--rm-text); }
.rm-nav-spacer { flex: 1; }
.rm-nav-right { display: flex; gap: 10px; align-items: center; }
.rm-theme-toggle { width: 32px; height: 32px; border-radius: 50px; background: var(--rm-bg-card); border: 1px solid var(--rm-border-2); color: var(--rm-muted); display: inline-flex; align-items: center; justify-content: center; }
.rm-theme-toggle:hover { color: var(--rm-text); }

/* Eyebrow */
.rm-eyebrow { font-size: 10px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rm-orange); }

/* Section */
.rm-section { padding: 80px 0; position: relative; }
.rm-section.tight { padding: 56px 0; }
.rm-section + .rm-section { border-top: 1px solid var(--rm-border); }

/* --- HERO (full-bleed background video, copy overlays left) --- */
.rm-hero { position: relative; overflow: hidden; min-height: clamp(560px, 78vh, 820px); display: flex; align-items: center; }
.rm-hero-bg { position: absolute; inset: 0; z-index: 0; }
.rm-hero-bg video { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Scrim: dark vignette on left so copy stays legible; lighter on right so the video reads */
.rm-hero-scrim { position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(10,10,10,0.88) 0%, rgba(10,10,10,0.78) 28%, rgba(10,10,10,0.42) 55%, rgba(10,10,10,0.18) 80%, rgba(10,10,10,0.10) 100%),
    linear-gradient(180deg, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.0) 18%, rgba(10,10,10,0.0) 70%, rgba(10,10,10,0.55) 100%);
}
[data-theme="light"] .rm-hero-scrim {
  background:
    linear-gradient(90deg, rgba(245,243,239,0.92) 0%, rgba(245,243,239,0.82) 28%, rgba(245,243,239,0.45) 55%, rgba(245,243,239,0.18) 80%, rgba(245,243,239,0.06) 100%),
    linear-gradient(180deg, rgba(245,243,239,0.55) 0%, rgba(245,243,239,0.0) 18%, rgba(245,243,239,0.0) 70%, rgba(245,243,239,0.45) 100%);
}

.rm-hero-inner { position: relative; z-index: 1; width: 100%; max-width: 1200px; margin: 0 auto; padding: 88px 28px 96px; }
.rm-hero-copy { display: flex; flex-direction: column; gap: 28px; max-width: 760px; }

/* Stacked title with orange rule under the italic line */
.rm-hero-title { font-family: var(--rm-font-display); font-weight: 600; font-size: clamp(48px, 6.2vw, 80px); line-height: 1.02; letter-spacing: -0.015em; margin: 0; display: flex; flex-direction: column; gap: 2px; text-shadow: 0 2px 24px rgba(0,0,0,0.35); }
.rm-hero-title > span { color: var(--rm-text); }
.rm-hero-title em { color: var(--rm-orange); font-style: normal; position: relative; padding-bottom: 16px; display: inline-block; align-self: flex-start; }
.rm-hero-title em .rule { display: none; width: 96px; height: 4px; background: var(--rm-orange); border-radius: 2px; margin-top: 14px; }
[data-theme="light"] .rm-hero-title { text-shadow: none; }

/* Two audience cards side by side */
.rm-audience-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 760px; }
.rm-audience-card { padding: 18px 20px; border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; background: rgba(10,10,10,0.45); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); display: flex; flex-direction: column; gap: 8px; }
[data-theme="light"] .rm-audience-card { background: rgba(255,255,255,0.62); border-color: rgba(0,0,0,0.08); }
.rm-audience-label { font-size: 11px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.rm-audience-card.homeowners .rm-audience-label { color: var(--rm-orange); }
.rm-audience-card.pros .rm-audience-label { color: var(--rm-muted); }
.rm-audience-card p { font-size: 14.5px; font-weight: 300; line-height: 1.6; color: var(--rm-text); margin: 0; }
[data-theme="dark"] .rm-audience-card p { color: rgba(245,243,239,0.92); }

.rm-hero .cta-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: 4px; }
.rm-hero .cta-row .rm-btn-ghost { display: inline-flex; align-items: center; gap: 8px; }

/* Ghost CTA tuned to sit on top of media */
.rm-btn-ghost.on-media { background: rgba(10,10,10,0.45); border-color: rgba(255,255,255,0.16); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.rm-btn-ghost.on-media:hover { background: var(--rm-orange-tint-15); border-color: var(--rm-orange-border); color: var(--rm-orange-light); }
[data-theme="light"] .rm-btn-ghost.on-media { background: rgba(255,255,255,0.7); border-color: rgba(0,0,0,0.1); }

/* Live-render badge, bottom-right of hero */
.rm-hero-badge { position: absolute; right: 28px; bottom: 28px; z-index: 2; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; background: rgba(10,10,10,0.55); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.10); border-radius: 999px; font-size: 11px; letter-spacing: 0.04em; color: #f3efe6; }
[data-theme="light"] .rm-hero-badge { background: rgba(255,255,255,0.78); border-color: rgba(0,0,0,0.08); color: #2A2A2A; }
.rm-hero-badge .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--rm-orange); box-shadow: 0 0 0 4px rgba(212,133,26,0.18); animation: rm-pulse 2.2s ease-in-out infinite; }
@keyframes rm-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }

/* Soft edge into the next section */
.rm-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 80px; background: linear-gradient(180deg, transparent 0%, var(--rm-bg) 100%); pointer-events: none; z-index: 1; }

@media (max-width: 720px) {
  .rm-hero { min-height: 720px; }
  .rm-hero-inner { padding: 72px 20px 88px; }
  .rm-hero-scrim {
    background:
      linear-gradient(180deg, rgba(10,10,10,0.78) 0%, rgba(10,10,10,0.45) 45%, rgba(10,10,10,0.85) 100%);
  }
  [data-theme="light"] .rm-hero-scrim {
    background:
      linear-gradient(180deg, rgba(245,243,239,0.82) 0%, rgba(245,243,239,0.45) 45%, rgba(245,243,239,0.85) 100%);
  }
  .rm-audience-cards { grid-template-columns: 1fr; }
  .rm-hero-badge { right: 16px; bottom: 16px; }
  .rm-nav-links { display: none; }
}

/* Product cards row */
.rm-prod-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rm-prod-card { background: var(--rm-bg-card); border: 1px solid var(--rm-border); border-radius: 8px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.rm-prod-card.featured { box-shadow: var(--rm-glow); border-color: var(--rm-orange-border); }
.rm-prod-card .domain { font-family: var(--rm-font-mono); font-size: 12px; color: var(--rm-muted); }
.rm-prod-card h3 { font-family: var(--rm-font-display); font-weight: 400; font-size: 28px; line-height: 1.15; margin: 0; }
.rm-prod-card p { font-size: 14px; line-height: 1.75; color: var(--rm-text-2); margin: 0; }
.rm-prod-card ul { padding: 0; margin: 6px 0 0; list-style: none; display: grid; gap: 8px; }
.rm-prod-card li { font-size: 13px; color: var(--rm-text); padding-left: 18px; position: relative; line-height: 1.6; }
.rm-prod-card li::before { content: ""; position: absolute; left: 0; top: 9px; width: 8px; height: 1.5px; background: var(--rm-orange); }
.rm-prod-card .cta-row { margin-top: auto; padding-top: 14px; display: flex; gap: 10px; }

/* How it works */
.rm-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 28px; }
.rm-step { background: var(--rm-bg-card); border: 1px solid var(--rm-border); border-radius: 8px; padding: 22px; }
.rm-step .num { font-family: var(--rm-font-mono); font-size: 11px; color: var(--rm-orange); margin-bottom: 14px; letter-spacing: 0.06em; }
.rm-step h4 { font-size: 16px; font-weight: 500; margin: 0 0 6px; }
.rm-step p { font-size: 13px; line-height: 1.7; color: var(--rm-muted); margin: 0; }
.rm-steps-cta { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 36px; }
.rm-steps-cta .rm-steps-tagline { margin: 0; font-size: 14px; font-weight: 400; color: var(--rm-text-2); letter-spacing: 0.01em; text-align: center; }
.rm-steps-cta .rm-btn-primary { text-decoration: none; display: inline-flex; align-items: center; }

/* Section header */
.rm-sec-head { margin-bottom: 32px; }
.rm-sec-head h2 { font-family: var(--rm-font-display); font-weight: 400; font-size: 32px; line-height: 1.15; margin: 8px 0 8px; }
.rm-sec-head p { font-size: 15px; font-weight: 300; line-height: 1.85; color: var(--rm-text-2); margin: 0; max-width: 540px; }
.rm-sec-head.centered { text-align: center; margin-bottom: 40px; }
.rm-sec-head.centered p { margin: 0 auto; }

/* Waitlist signup row in What's coming */
.rm-whatscoming-signup { display: flex; gap: 10px; justify-content: center; margin-top: 36px; flex-wrap: wrap; }
.rm-whatscoming-signup input { background: var(--rm-bg-tertiary); border: 1px solid var(--rm-border-2); border-radius: var(--rm-radius-pill); padding: 13px 20px; color: var(--rm-text); font-family: inherit; font-size: 14px; outline: none; min-width: 280px; transition: border-color var(--rm-transition); }
.rm-whatscoming-signup input:focus { border-color: var(--rm-orange); }
.rm-whatscoming-signup input::placeholder { color: var(--rm-muted); }

/* Feature grid (What's coming) */
.rm-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.rm-feature { background: var(--rm-bg-card); border: 1px solid var(--rm-border); border-radius: 8px; padding: 22px 22px 24px; }
.rm-feature h4 { font-size: 15px; font-weight: 500; margin: 0 0 8px; color: var(--rm-text); }
.rm-feature p { font-size: 13px; line-height: 1.65; color: var(--rm-muted); margin: 0; }
@media (max-width: 880px) {
  .rm-feature-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .rm-feature-grid { grid-template-columns: 1fr; }
}

/* Pro waitlist */
.rm-pro-waitlist { background: var(--rm-bg-card); border: 1px solid var(--rm-border); border-radius: 8px; padding: 36px; text-align: left; display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center; }
.rm-pro-waitlist h3 { font-family: var(--rm-font-display); font-weight: 400; font-size: 26px; line-height: 1.2; margin: 6px 0 6px; }
.rm-pro-waitlist p { font-size: 13px; color: var(--rm-muted); margin: 0; }
.rm-pro-waitlist .form { display: flex; gap: 8px; }
.rm-pro-waitlist input { background: var(--rm-bg-tertiary); border: 1px solid var(--rm-border-2); border-radius: var(--rm-radius-input); padding: 12px 14px; color: var(--rm-text); font-family: inherit; font-size: 14px; outline: none; min-width: 240px; }
.rm-pro-waitlist input:focus { border-color: var(--rm-orange); }

/* FAQ */
.rm-faq { display: grid; gap: 4px; }
.rm-faq-item { border-bottom: 1px solid var(--rm-border); padding: 14px 0; }
.rm-faq-q { width: 100%; background: transparent; border: none; color: var(--rm-text); font-size: 15px; font-weight: 500; padding: 8px 0; text-align: left; display: flex; align-items: center; gap: 14px; }
.rm-faq-q .marker { width: 16px; height: 16px; color: var(--rm-orange); transition: transform 0.2s ease; flex-shrink: 0; }
.rm-faq-item.open .rm-faq-q .marker { transform: rotate(45deg); }
.rm-faq-a { font-size: 13px; line-height: 1.75; color: var(--rm-text-2); padding: 4px 0 12px; max-width: 620px; white-space: pre-line; }

/* Footer */
.rm-footer { padding: 56px 0 36px; border-top: 1px solid var(--rm-border); }
.rm-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 24px; }
.rm-footer h5 { font-size: 10px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--rm-muted); margin: 0 0 14px; }
.rm-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.rm-footer li a { font-size: 13px; color: var(--rm-text); cursor: pointer; }
.rm-footer li a:hover { color: var(--rm-orange); }
.rm-footer .colophon { font-size: 12px; color: var(--rm-muted); line-height: 1.7; margin-top: 8px; max-width: 280px; }
.rm-footer .legal { margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--rm-border); font-size: 11px; color: var(--rm-muted); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.rm-footer .legal > :first-child { text-align: left; }
.rm-footer .legal > :last-child { text-align: right; margin-left: auto; }

/* Hamburger (hidden on desktop) */
.rm-nav-burger { display: none; width: 40px; height: 40px; border-radius: 8px; background: transparent; border: 1px solid var(--rm-border-2); flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 0; margin-left: auto; }
.rm-nav-burger span { display: block; width: 18px; height: 1.5px; background: var(--rm-text); border-radius: 1px; transition: transform 0.25s ease, opacity 0.2s ease; }
.rm-nav.open .rm-nav-burger span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.rm-nav.open .rm-nav-burger span:nth-child(2) { opacity: 0; }
.rm-nav.open .rm-nav-burger span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* === ABOUT page === */
.rm-about-hero { padding: 88px 0 32px; }
.rm-about-hero .rm-eyebrow { margin-bottom: 22px; }
.rm-about-headline { font-family: var(--rm-font-display); font-weight: 500; font-size: clamp(40px, 6vw, 76px); line-height: 1.04; letter-spacing: -0.015em; margin: 0 0 24px; }
.rm-about-headline em { color: var(--rm-orange); font-style: italic; font-weight: 400; }
.rm-about-lede { font-size: 18px; font-weight: 300; line-height: 1.65; color: var(--rm-text-2); max-width: 640px; margin: 0 0 8px; }

.rm-about-body { padding-top: 56px; padding-bottom: 56px; }
.rm-about-body .rm-container { display: flex; flex-direction: column; gap: 64px; }
.rm-about-block { display: grid; grid-template-columns: 160px 1fr; gap: 48px; align-items: start; padding-top: 32px; border-top: 1px solid var(--rm-border); }
.rm-about-block:first-of-type { border-top: none; padding-top: 0; }
.rm-about-label { display: flex; flex-direction: column; gap: 10px; position: sticky; top: calc(var(--rm-nav-height) + 24px); }
.rm-about-label .num { font-family: var(--rm-font-mono); font-size: 12px; color: var(--rm-orange); letter-spacing: 0.06em; }
.rm-about-label .kicker { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rm-muted); }
.rm-about-copy h2 { font-family: var(--rm-font-display); font-weight: 400; font-size: clamp(22px, 2.4vw, 30px); line-height: 1.25; letter-spacing: -0.005em; margin: 0 0 18px; color: var(--rm-text); max-width: 640px; }
.rm-about-copy p { font-size: 16px; font-weight: 300; line-height: 1.78; color: var(--rm-text-2); margin: 0 0 14px; max-width: 640px; }
.rm-about-copy p:last-child { margin-bottom: 0; }

.rm-about-coda { margin-top: 24px; padding: 28px 32px; background: var(--rm-bg-card); border: 1px solid var(--rm-border); border-left: 3px solid var(--rm-orange); border-radius: 6px; }
.rm-about-coda p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--rm-text); font-weight: 400; }
.rm-about-coda p span { color: var(--rm-muted); font-weight: 300; }

.rm-about-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; }

@media (max-width: 767px) {
  .rm-about-hero { padding: 56px 0 16px; }
  .rm-about-headline { font-size: 36px; }
  .rm-about-lede { font-size: 15px; }
  .rm-about-body .rm-container { gap: 40px; }
  .rm-about-block { grid-template-columns: 1fr; gap: 16px; padding-top: 28px; }
  .rm-about-label { position: static; flex-direction: row; align-items: center; gap: 14px; }
  .rm-about-copy h2 { font-size: 20px; }
  .rm-about-copy p { font-size: 14.5px; }
  .rm-about-coda { padding: 22px 20px; }
  .rm-about-cta { flex-direction: column; align-items: stretch; }
  .rm-about-cta .rm-btn-primary,
  .rm-about-cta .rm-btn-ghost { width: 100%; justify-content: center; padding: 14px 20px; }
}
/* === /ABOUT === */

@media (max-width: 767px) {
  body { font-size: 14px; }

  .rm-container, .rm-container.wide { padding: 0 20px; }

  /* Nav: collapse to hamburger + dropdown */
  .rm-nav { padding: 0 20px; gap: 12px; }
  .rm-nav-burger { display: inline-flex; }
  .rm-nav-spacer { display: none; }

  .rm-nav-links,
  .rm-nav-right {
    position: absolute; left: 0; right: 0; top: 100%;
    flex-direction: column; align-items: stretch; gap: 0;
    background: color-mix(in oklab, var(--rm-bg) 94%, transparent);
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--rm-border);
    padding: 0; max-height: 0; overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
  }
  .rm-nav-right { top: calc(100% + 1px); border-bottom: none; box-shadow: 0 24px 32px -16px rgba(0,0,0,0.45); }
  [data-theme="light"] .rm-nav-right { box-shadow: 0 24px 32px -16px rgba(0,0,0,0.10); }

  .rm-nav.open .rm-nav-links { max-height: 320px; padding: 8px 20px 12px; }
  .rm-nav.open .rm-nav-right  { max-height: 320px; padding: 4px 20px 20px; gap: 10px; }

  .rm-nav-links a { font-size: 16px; padding: 12px 0; border-bottom: 1px solid var(--rm-border); color: var(--rm-text); }
  .rm-nav-links a:last-child { border-bottom: none; }
  .rm-nav-right .rm-theme-toggle { display: none; }
  .rm-nav-right .rm-btn-ghost,
  .rm-nav-right .rm-btn-primary { width: 100%; justify-content: center; padding: 14px 20px; font-size: 15px; }

  /* Sections: tighten padding */
  .rm-section { padding: 32px 0; }

  /* Section headers */
  .rm-sec-head { margin-bottom: 24px; }
  .rm-sec-head h2 { font-size: 24px; }
  .rm-sec-head p { font-size: 14px; line-height: 1.6; }
  /* Kill inline width on HowItWorks subtitle */
  .rm-sec-head p[style] { width: 100% !important; }

  /* Hero */
  .rm-hero { min-height: 100vh; }
  .rm-hero-inner { padding: 56px 20px 56px; }
  .rm-hero-copy { gap: 22px; }
  .rm-hero-title { font-size: 32px !important; }
  .rm-hero-title em { padding-bottom: 8px; }
  .rm-hero-title em .rule { width: 56px !important; height: 3px; margin-top: 8px; }
  .rm-audience-cards { grid-template-columns: 1fr; gap: 10px; }
  .rm-audience-card { padding: 14px 16px; }
  .rm-audience-card p { font-size: 14px; }
  .rm-audience-label { font-size: 10px; }

  /* Hero CTAs stack */
  .rm-hero .cta-row { flex-direction: column; align-items: stretch; gap: 10px; }
  .rm-hero .cta-row .rm-btn-primary,
  .rm-hero .cta-row .rm-btn-ghost { width: 100%; justify-content: center; padding: 14px 20px; font-size: 15px; }

  /* Product cards */
  .rm-prod-grid { grid-template-columns: 1fr; }
  .rm-prod-card { padding: 22px; }
  .rm-prod-card h3 { font-size: 22px; }
  .rm-prod-card p { font-size: 14px; }
  .rm-prod-card .cta-row { flex-direction: column; align-items: stretch; }
  .rm-prod-card .cta-row .rm-btn-primary,
  .rm-prod-card .cta-row .rm-btn-ghost { width: 100%; justify-content: center; }

  /* Steps */
  .rm-steps { grid-template-columns: 1fr; }
  .rm-steps-cta .rm-btn-primary { width: 100%; }

  /* Feature grid */
  .rm-feature-grid { grid-template-columns: 1fr; }

  /* What's coming signup */
  .rm-whatscoming-signup { flex-direction: column; align-items: stretch; }
  .rm-whatscoming-signup input { min-width: 0; width: 100%; }
  .rm-whatscoming-signup .rm-btn-primary { width: 100%; }

  /* Pro waitlist (legacy) */
  .rm-pro-waitlist { grid-template-columns: 1fr; padding: 24px; }
  .rm-pro-waitlist .form { flex-direction: column; }
  .rm-pro-waitlist input,
  .rm-pro-waitlist .rm-btn-primary { width: 100%; }

  /* FAQ */
  .rm-faq-q { font-size: 14px; }
  .rm-faq-a { font-size: 14px; }

  /* Footer */
  .rm-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .rm-footer .colophon { max-width: none; }
  .rm-footer .legal { flex-direction: row; justify-content: space-between; gap: 12px; flex-wrap: wrap; }

  /* Hide hero badge fade-edge weirdness on small screens */
  .rm-hero-badge { font-size: 10px; padding: 6px 10px; }
}
