/* ============================================================
   WHY-US.CSS — Restaurant Industry Landing Page
   VirtualToursXR — Pixel-matched to Figma
   NOTE: Despite the filename, this stylesheet is used by
         restaurant.html (the restaurant industry page).
   ============================================================ */

/* ── Table of Contents ─────────────────────────────────────────
   Shared:  .rs-pill badge, .rs-eyebrow, .rs-btn / .rs-btns,
            .rs-live-badge with pulsing green dot
   ─────────────────────────────────────────────────────────────
   S1.  Hero                — photo card (.rs-photo-card) on right;
                              pill + h1 + body + 2 CTA buttons on left
   S2.  Transform           — video thumbnail with YouTube play button
   S3.  The Future          — tour mockup (.rs-mockup) with checkerboard
                              pattern + 2 annotation cards on right
   S4.  Features            — 3-col .rs-feat grid: icon + title + body
                              Icon background: purple (#6d28d9)
   S5.  How It Works        — 4 .rs-tier cards side by side with colored
                              top borders (teal / blue / green / purple)
   S6.  Metrics for Success — 3 .rs-metric KPI stats on mint/teal bg
   S7.  Let's Start Step 1  — centred CTA with pill-shaped button
   ─────────────────────────────────────────────────────────────
   Responsive — 1100 px, 1023 px, 767 px, 640 px (mobile)
   ──────────────────────────────────────────────────────────── */

/* ── Shared Primitives ───────────────────────────────────── */
.rs-pill {
  display: inline-block;
  background: #6d28d9;
  color: #ffffff;
  font-family: var(--font-family);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 999px;
  margin-bottom: 22px;
}

.rs-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-family);
  font-size: 12px;
  font-weight: 700;
  color: var(--clr-primary);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.rs-eyebrow__dash {
  display: inline-block;
  width: 24px;
  height: 2px;
  background: var(--clr-primary);
  flex-shrink: 0;
}

/* Color helpers */
.rs-blue  { color: #2563eb; }
.rs-teal  { color: #0d9488; }
.rs-green { color: #10b981; }
.rs-grad  {
  background: linear-gradient(90deg, #2563eb 0%, #7c3aed 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Shared buttons */
.rs-btn {
  display: inline-block;
  font-family: var(--font-family);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 14px 28px;
  border-radius: 6px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: background 220ms ease, color 220ms ease, border-color 220ms ease, transform 200ms ease, box-shadow 200ms ease;
}
.rs-btn:hover { transform: translateY(-2px); }

.rs-btn--teal {
  color: var(--clr-primary);
  border-color: var(--clr-primary);
  background: transparent;
}
.rs-btn--teal:hover {
  background: var(--clr-primary);
  color: #fff;
  box-shadow: 0 6px 20px rgba(13,148,136,0.3);
}

.rs-btn--dark {
  color: #0f172a;
  border-color: #0f172a;
  background: transparent;
}
.rs-btn--dark:hover {
  background: #0f172a;
  color: #fff;
}

.rs-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.rs-btns--gap { margin-bottom: 24px; }

/* Shared heading */
.rs-h2 {
  font-family: var(--font-family);
  font-size: clamp(2rem, 3.6vw, 3rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #0f172a;
  text-transform: uppercase;
  margin: 0 0 20px 0;
}
.rs-body {
  font-size: 16px;
  line-height: 1.65;
  color: #64748b;
  margin-bottom: 28px;
}

/* LIVE DEMO badge */
.rs-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #1e293b;
  color: #fff;
  font-family: var(--font-family);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 6px 14px;
  border-radius: 999px;
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
}
.rs-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #22c55e;
  animation: livePulse 1.8s ease-in-out infinite;
}
@keyframes livePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.55; transform: scale(0.85); }
}

/* ══════════════════════════════════════════
   SECTION 1 — HERO
══════════════════════════════════════════ */
.rs-hero {
  background: #ffffff;
  padding: 110px 0 80px;
}

.rs-hero__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.rs-hero__h1 {
  font-family: var(--font-family);
  font-size: clamp(2.4rem, 4.5vw, 4rem);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: #0f172a;
  text-transform: uppercase;
  margin: 0 0 22px 0;
}

/* Tight variant — for industry pages with longer headlines (e.g. Hospitality)
   Shrinks the type so longer phrases fit without breaking mid-word. */
.rs-hero__h1--tight {
  font-size: clamp(1.9rem, 3.6vw, 3rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.rs-hero__body {
  font-size: 16px;
  line-height: 1.65;
  color: #64748b;
  margin-bottom: 32px;
  max-width: 460px;
}
/* Bold text inside hero body — solid dark per Figma (not the gray body color) */
.rs-hero__body strong,
.rs-hero__body b {
  color: var(--clr-text-1, #0f172a);
  font-weight: 700;
}

/* Photo card */
.rs-photo-card {
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: linear-gradient(135deg, #d1d5db 0%, #9ca3af 100%);
}
.rs-photo-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.rs-photo-card__fallback {
  position: absolute;
  inset: 0;
  background: linear-gradient(145deg, #c8d6e5 0%, #a8b8c8 40%, #8898a8 100%);
}
.rs-photo-card__fallback::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 40% at 65% 45%, rgba(255,255,255,0.15) 0%, transparent 60%),
    linear-gradient(180deg, transparent 60%, rgba(15,23,42,0.25) 100%);
}

/* ══════════════════════════════════════════
   SECTION 2 — TRANSFORM
══════════════════════════════════════════ */
.rs-transform {
  background: #f0f4f8;
  padding: 80px 0;
}

.rs-transform__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

/* Video thumbnail */
.rs-video {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #1a1a2e;
  cursor: pointer;
}
.rs-video__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.rs-video__overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 20, 0.45);
}
.rs-yt-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #ff0000;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 200ms ease, background 200ms ease;
  z-index: 2;
}
.rs-yt-btn:hover {
  background: #cc0000;
  transform: translate(-50%, -50%) scale(1.1);
}
.rs-video__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 14px 18px;
  background: rgba(10, 10, 20, 0.82);
  color: #fff;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 600;
  z-index: 2;
}

/* ══════════════════════════════════════════
   SECTION 3 — THE FUTURE
══════════════════════════════════════════ */
.rs-future {
  background: #ffffff;
  padding: 80px 0;
}

.rs-future__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.rs-future__h2 {
  font-family: var(--font-family);
  font-size: clamp(2.4rem, 4.2vw, 3.6rem);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: #0f172a;
  text-transform: uppercase;
  margin: 0 0 28px 0;
}

.rs-future__body {
  font-size: 15px;
  line-height: 1.7;
  color: #64748b;
  margin-top: 24px;
  margin-bottom: 32px;
}

/* Stats row */
.rs-stats {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}
.rs-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rs-stat__num {
  font-family: var(--font-family);
  font-size: 2.4rem;
  font-weight: 900;
  color: #0f172a;
  line-height: 1;
  letter-spacing: -0.02em;
}
.rs-stat__label {
  font-family: var(--font-family);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #94a3b8;
}

/* Tour mockup */
.rs-mockup-wrap {
  position: relative;
  padding: 40px 140px 40px 0;
}
.rs-mockup {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #e5e7eb;
  border: 1px solid #d1d5db;
}

/* Checkerboard pattern */
.rs-mockup__checker {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(45deg, #d0d4d9 25%, transparent 25%),
    linear-gradient(-45deg, #d0d4d9 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, #d0d4d9 75%),
    linear-gradient(-45deg, transparent 75%, #d0d4d9 75%);
  background-size: 22px 22px;
  background-position: 0 0, 0 11px, 11px -11px, -11px 0px;
  background-color: #e8eaed;
}

.rs-mockup__play-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.rs-mockup__ring {
  position: absolute;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 2px solid rgba(100,116,139,0.35);
  animation: ringPulse 2.4s ease-in-out infinite;
}
@keyframes ringPulse {
  0%, 100% { transform: scale(1); opacity: 0.35; }
  50%       { transform: scale(1.18); opacity: 0.15; }
}
.rs-mockup__play {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(255,255,255,0.88);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
  transition: transform 200ms ease;
}
.rs-mockup__play:hover { transform: scale(1.08); }

.rs-mockup__location {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: #1e293b;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.rs-mockup__loc-label {
  font-family: var(--font-family);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #94a3b8;
}
.rs-mockup__loc-name {
  font-family: var(--font-family);
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ffffff;
}
.rs-mockup__loc-meta {
  font-family: var(--font-family);
  font-size: 12px;
  color: #94a3b8;
}

.rs-mockup__controls {
  position: absolute;
  bottom: 68px;
  right: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rs-mockup__ctrl {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #1e293b;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Annotation cards */
.rs-annot {
  position: absolute;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 14px 16px;
  width: 190px;
  box-shadow: 0 4px 16px rgba(15,23,42,0.08);
}
.rs-annot--top {
  top: 0;
  right: 0;
}
.rs-annot--btm {
  bottom: 0;
  right: 0;
}
.rs-annot__tag {
  display: block;
  font-family: var(--font-family);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--clr-primary);
  margin-bottom: 5px;
}
.rs-annot__title {
  display: block;
  font-family: var(--font-family);
  font-size: 12px;
  font-weight: 800;
  color: #0f172a;
  text-transform: uppercase;
  line-height: 1.3;
  margin-bottom: 6px;
}
.rs-annot__body {
  font-size: 11px;
  line-height: 1.55;
  color: #64748b;
  margin: 0;
}

/* ══════════════════════════════════════════
   SECTION 4 — FEATURES
══════════════════════════════════════════ */
.rs-features {
  background: #ffffff;
  padding: 80px 0;
  border-top: 1px solid #f1f5f9;
}

.rs-features__h2 {
  font-family: var(--font-family);
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: -0.025em;
  color: #0f172a;
  text-transform: uppercase;
  margin: 0 0 48px 0;
}

.rs-features__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 48px;
  column-gap: 48px;
}

.rs-feat {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.rs-feat__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 10px;
  background: #6d28d9;
  margin-bottom: 18px;
  flex-shrink: 0;
  transition: transform 240ms ease, box-shadow 240ms ease;
}
.rs-feat:hover .rs-feat__icon {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(109,40,217,0.35);
}

.rs-feat__title {
  font-family: var(--font-family);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--clr-primary, #0d9488); /* teal per Figma */
  margin: 0 0 10px 0;
}

.rs-feat__body {
  font-size: 14px;
  line-height: 1.6;
  color: #64748b;
  margin: 0;
}

/* ══════════════════════════════════════════
   SECTION 5 — HOW YOUR VIRTUAL TOUR WORKS
══════════════════════════════════════════ */
.rs-how {
  background: #f0f4f8;
  padding: 80px 0;
}

.rs-how__eyebrow {
  display: block;
  font-family: var(--font-family);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--clr-primary);
  margin-bottom: 16px;
}

.rs-how__h2 {
  font-family: var(--font-family);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: #0f172a;
  text-transform: uppercase;
  margin: 0 0 14px 0;
}

.rs-how__intro {
  font-size: 15px;
  line-height: 1.65;
  color: #64748b;
  max-width: 720px;
  margin: 0 0 40px 0;
}

/* Subdivider between 3-step process and 4-tier grid (hospitality page).
   Provides breathing room and a clear visual transition between the two
   blocks now that they live inside the same section container. */
.step-process__subdivider {
  text-align: center;
  margin: 72px auto 32px;
  max-width: 720px;
  padding: 0 1rem;
}
.step-process__subeyebrow {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--clr-primary, #0d9488);
  margin-bottom: 12px;
}
.step-process__subhead {
  font-size: clamp(1.6rem, 3.2vw, 2.25rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  color: var(--clr-text-1, #0f172a);
  margin: 0 0 14px 0;
  line-height: 1.1;
}
.step-process__subbody {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--clr-text-3, #475569);
  margin: 0;
}
@media (max-width: 640px) {
  .step-process__subdivider { margin: 48px auto 24px; }
}

/* Tiers container */
.rs-tiers {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 40px;
}

.rs-tier {
  padding: 28px 24px;
  border-right: 1px solid #e2e8f0;
  position: relative;
}
.rs-tier:last-child { border-right: none; }

/* Colored top border per tier */
.rs-tier::before {
  content: "";
  display: block;
  height: 3px;
  border-radius: 2px;
  margin-bottom: 20px;
}
.rs-tier--teal::before  { background: #0d9488; }
.rs-tier--blue::before  { background: #2563eb; }
.rs-tier--green::before { background: #10b981; }
.rs-tier--purple::before { background: #7c3aed; }

.rs-tier__label {
  display: block;
  font-family: var(--font-family);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.rs-tier--teal .rs-tier__label   { color: #0d9488; }
.rs-tier--blue .rs-tier__label   { color: #2563eb; }
.rs-tier--green .rs-tier__label  { color: #10b981; }
.rs-tier--purple .rs-tier__label { color: #7c3aed; }

.rs-tier__title {
  font-family: var(--font-family);
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: #0f172a;
  margin: 0 0 14px 0;
}

.rs-tier__body {
  font-size: 13px;
  line-height: 1.6;
  color: #475569;
  margin: 0 0 18px 0;
}

.rs-tier__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.rs-tier__list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12.5px;
  line-height: 1.45;
  color: #334155;
}
.rs-tier__list li::before {
  content: "●";
  font-size: 7px;
  margin-top: 4px;
  flex-shrink: 0;
}
.rs-tier--teal .rs-tier__list li::before   { color: #0d9488; }
.rs-tier--blue .rs-tier__list li::before   { color: #2563eb; }
.rs-tier--green .rs-tier__list li::before  { color: #10b981; }
.rs-tier--purple .rs-tier__list li::before { color: #7c3aed; }

.rs-how__cta {
  text-align: center;
}

/* ══════════════════════════════════════════
   SECTION 6 — METRICS FOR SUCCESS
══════════════════════════════════════════ */
.rs-metrics {
  background: var(--clr-text-1, #0f172a);
  padding: 96px 0;
  color: #ffffff;
}

.rs-metrics__h2 {
  font-family: var(--font-family);
  font-size: clamp(1.8rem, 3.4vw, 2.8rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0 0 14px 0;
}

.rs-metrics__intro {
  font-size: 15px;
  line-height: 1.65;
  color: rgba(255,255,255,0.7);
  max-width: 500px;
  margin: 0 0 56px 0;
}

.rs-metrics__group-title {
  font-family: var(--font-family);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  text-align: center;
  margin: 0 0 28px 0;
}

.rs-metrics__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 1fr;
  gap: 40px;
  align-items: stretch;
}

.rs-metric {
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 8px;
  min-height: 100%;
}
.rs-metric__label {
  font-family: var(--font-family);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.55);
  min-height: 2.4em; /* reserve space so 1- and 2-line labels align */
  display: flex;
  align-items: flex-start;
}
.rs-metric__num {
  font-family: var(--font-family);
  font-size: clamp(2.4rem, 4vw, 3.5rem);
  font-weight: 900;
  color: #fbbf24; /* yellow/gold per Figma */
  line-height: 1;
  letter-spacing: -0.03em;
}
.rs-metric__desc {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255,255,255,0.65);
}

/* ══════════════════════════════════════════
   SECTION 7 — LET'S START WITH STEP 1
══════════════════════════════════════════ */
.rs-step1 {
  background: #f3e8ff; /* light lavender per Figma */
  padding: 100px 0;
}

.rs-step1__inner {
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}

.rs-step1__h2 {
  font-family: var(--font-family);
  font-size: clamp(2rem, 3.6vw, 3rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #0f172a;
  margin: 0 0 18px 0;
}

.rs-step1__body {
  font-size: 16px;
  line-height: 1.65;
  color: #64748b;
  margin: 0 0 36px 0;
}

.rs-step1__btn {
  display: inline-block;
  background: #0d9488;
  color: #ffffff;
  font-family: var(--font-family);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 18px 48px;
  border-radius: 999px;
  transition: background 220ms ease, transform 200ms ease, box-shadow 200ms ease;
}
.rs-step1__btn:hover {
  background: #0f766e;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(13,148,136,0.35);
}

/* Outline variant — used in the dual-CTA "Book Setup Call · then · Get Fit Score" row */
.rs-step1__btn--outline {
  background: transparent;
  color: #0d9488;
  border: 2px solid #0d9488;
}
.rs-step1__btn--outline:hover {
  background: #0d9488;
  color: #ffffff;
}

/* Dual CTA row: Book Setup Call · then · Get Fit Score */
.rs-step1__dual {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  justify-content: center;
  margin: 28px 0 24px;
}
.rs-step1__then {
  font-family: var(--font-family);
  font-size: 13px;
  font-weight: 700;
  text-transform: lowercase;
  letter-spacing: 0.04em;
  color: var(--clr-text-2);
  font-style: italic;
}

@media (max-width: 560px) {
  .rs-step1__dual { gap: 10px; flex-direction: column; }
  .rs-step1__dual .rs-step1__btn { width: 100%; max-width: 320px; }
  .rs-step1__then { padding: 2px 0; }
}

/* Small variant of rs-btn (used inside How-We-Work step cards) */
.rs-btn--sm {
  padding: 10px 18px;
  font-size: 11px;
  letter-spacing: 0.1em;
}

/* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
@media (max-width: 1100px) {
  .rs-mockup-wrap { padding-right: 0; }
  .rs-annot { display: none; }
  .rs-tiers { grid-template-columns: repeat(2, 1fr); }
  .rs-tier:nth-child(2) { border-right: none; }
  .rs-tier:nth-child(1),
  .rs-tier:nth-child(2) { border-bottom: 1px solid #e2e8f0; }
}

@media (max-width: 1023px) {
  .rs-hero__grid,
  .rs-transform__grid,
  .rs-future__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .rs-hero { padding: 90px 0 60px; }
  .rs-features__grid { grid-template-columns: repeat(2, 1fr); }
  .rs-metrics__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 767px) {
  .rs-features__grid { grid-template-columns: 1fr; }
  .rs-metrics__grid { grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .rs-tiers { grid-template-columns: 1fr; }
  .rs-tier { border-right: none; border-bottom: 1px solid #e2e8f0; }
  .rs-tier:last-child { border-bottom: none; }
  .rs-stats { gap: 28px; }
}

@media (max-width: 640px) {
  /* Hero — tighter top spacing, buttons side-by-side */
  .rs-hero {
    padding: calc(var(--nav-height, 88px) + 12px) 0 32px;
  }

  .rs-hero__h1 {
    font-size: clamp(1.8rem, 7.5vw, 2.3rem);
    line-height: 1.05;
    margin-bottom: 12px;
  }

  .rs-hero__body {
    font-size: 13.5px;
    line-height: 1.5;
    margin-bottom: 14px;
  }

  .rs-pill { margin-bottom: 12px; font-size: 10.5px; }

  /* Buttons — side by side, full width stretch */
  .rs-btns {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
  }
  .rs-btns .rs-btn {
    flex: 1;
    min-width: 120px;
    text-align: center;
    padding: 13px 12px;
    font-size: 10.5px;
    letter-spacing: 0.07em;
    white-space: nowrap;
  }

  /* Section padding — tighter on mobile */
  .rs-transform  { padding: 48px 0; }
  .rs-future     { padding: 48px 0; }
  .rs-features   { padding: 48px 0; }
  .rs-how        { padding: 48px 0; }
  .rs-metrics    { padding: 48px 0; }
  .rs-step1      { padding: 56px 0; }

  .rs-transform__grid,
  .rs-future__grid { gap: 28px; }

  /* Future section heading */
  .rs-future__h2 { font-size: clamp(1.9rem, 7.5vw, 2.4rem); }

  /* Stats row — 3 in a line */
  .rs-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }
  .rs-stat__num  { font-size: clamp(1.6rem, 6vw, 2rem); }
  .rs-stat__label { font-size: 9px; }

  /* Metrics — 2 columns on mobile so labels/numbers align cleanly */
  .rs-metrics__grid { grid-template-columns: repeat(2, 1fr); gap: 20px 16px; }
  .rs-metric__num   { font-size: clamp(1.8rem, 7vw, 2.4rem); }
  .rs-metric__label { min-height: 3.2em; font-size: 9px; }
  .rs-metric__desc  { font-size: 13px; }

  /* Tiers CTA */
  .rs-step1 { padding: 44px 0; }
  .rs-step1__btn { padding: 15px 32px; }
}

/* ══════════════════════════════════════════════════════════════════
   SECTION 1.25 — PLACE YOUR VIRTUAL TOUR LINK EVERYWHERE
   Dark CTA banner mirroring homepage S5B for cross-page consistency.
══════════════════════════════════════════════════════════════════ */
.rs-placetour {
  background: var(--clr-text-1, #0f172a);
  padding: 96px 24px;
}
.rs-placetour__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
}
.rs-placetour__copy {
  flex: 0 0 auto;
  max-width: 560px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
}
.rs-placetour__heading {
  font-family: var(--font-family);
  font-weight: 800;
  font-size: clamp(28px, 4vw, 48px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: #ffffff;
  margin: 0;
  text-transform: uppercase;
}
.rs-placetour__hub {
  flex: 0 0 auto;
  width: 530px;
  max-width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rs-placetour__hub-img {
  display: block;
  width: 100%;
  height: auto;
}
.rs-placetour__brand {
  position: absolute;
  top: 44.3%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Inter', var(--font-family);
  font-weight: 800;
  font-size: clamp(14px, 1.8vw, 20px);
  letter-spacing: -0.05em;
  color: var(--clr-text-1, #0f172a);
  white-space: nowrap;
}
.rs-placetour__brand-accent { color: #00bfa5; }

/* Solid-white outline button used on dark bg */
.rs-btn--outline-white {
  color: #ffffff;
  border-color: #ffffff;
  background: transparent;
}
.rs-btn--outline-white:hover {
  background: #ffffff;
  color: var(--clr-text-1, #0f172a);
}

/* Per-card BOOK A CALL button in step-process cards */
.step-process__btn {
  display: inline-block;
  margin-top: 18px;
  padding: 12px 24px;
  font-family: var(--font-family);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--clr-primary, #0d9488);
  background: transparent;
  border: 1.5px solid var(--clr-primary, #0d9488);
  border-radius: 10px;
  text-decoration: none;
  transition: background 220ms ease, color 220ms ease;
  text-align: center;
  width: 100%;
}
.step-process__btn:hover {
  background: var(--clr-primary, #0d9488);
  color: #ffffff;
}

/* Mobile layout for placetour */
@media (max-width: 960px) {
  .rs-placetour { padding: 64px 20px; }
  .rs-placetour__inner { flex-direction: column; gap: 40px; }
  .rs-placetour__copy { align-items: center; text-align: center; }
  .rs-placetour__hub { width: 100%; max-width: 420px; }
}
@media (max-width: 760px) {
  .rs-placetour { padding: 56px 20px; }
  .rs-placetour__heading { font-size: 28px; line-height: 1.15; }
  /* Mobile: convert outline-white CTA to solid teal per Figma */
  .rs-placetour .rs-btn--outline-white {
    background: var(--clr-primary, #0d9488);
    border-color: var(--clr-primary, #0d9488);
    color: #ffffff;
  }
  .rs-placetour__hub { max-width: 320px; }
}

/* Mobile: make all rs-btn--teal outline buttons solid on phones */
@media (max-width: 760px) {
  .rs-hero .rs-btn--teal,
  .rs-transform .rs-btn--teal,
  .rs-future .rs-btn--teal,
  .rs-how__cta .rs-btn--teal,
  .tiers__cta .btn--teal-outline,
  .step-process__btn {
    background: var(--clr-primary, #0d9488);
    color: #ffffff;
    border-color: var(--clr-primary, #0d9488);
  }
}
