/* ============================================================
   LANDING PAGE — premium redesign
   Loaded only on en/index.html + pl/index.html.
   Builds on design-system.css + styles.css; overrides where needed.
   ============================================================ */

/* ─── Tokens & micro-resets ─────────────────────────────── */
:root {
  --grad-sage:   linear-gradient(135deg, #A8B5A0 0%, #6B7A60 100%);
  --grad-blush:  linear-gradient(135deg, #E8C6BE 0%, #B8746A 100%);
  --grad-clay:   linear-gradient(135deg, #C9A788 0%, #8B6B4F 100%);
  --grad-warm:   linear-gradient(135deg, #6B7A60 0%, #8B6B4F 50%, #B8746A 100%);
  --grad-ivory:  linear-gradient(180deg, #FBF8F1 0%, #F5F1E8 60%, #ECE6D7 100%);
  --grad-ink:    linear-gradient(135deg, #1A1815 0%, #2C2823 100%);

  --glow-sage:   0 24px 60px -16px rgba(107,122,96,0.35);
  --glow-blush:  0 24px 60px -16px rgba(184,116,106,0.30);
  --glow-soft:   0 1px 2px rgba(26,24,21,0.04), 0 8px 24px -8px rgba(26,24,21,0.08);
  --glow-lift:   0 1px 2px rgba(26,24,21,0.04), 0 30px 70px -18px rgba(107,122,96,0.22);

  --ease-soft:   cubic-bezier(0.22, 1, 0.36, 1);
  --ease-sharp:  cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.32, 0.64, 1);
}

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  overflow-x: hidden;
  background: var(--grad-ivory);
  background-attachment: fixed;
}

/* ─── Selection ─────────────────────────────────────────── */
::selection { background: var(--rb-sage-deep); color: var(--rb-ivory); }

/* ─── Navbar polish ─────────────────────────────────────── */
.navbar { transition: background 0.45s var(--ease-soft), padding 0.4s var(--ease-soft), border-color 0.45s; }

body:not([data-page]) .navbar:not(.navbar--scrolled) .navbar__brand,
body:not([data-page]) .navbar:not(.navbar--scrolled) .navbar__links a {
  color: rgba(26,24,21,0.85);
}
body:not([data-page]) .navbar:not(.navbar--scrolled) .navbar__links a:hover { color: var(--rb-ink); }

body:not([data-page]) .navbar:not(.navbar--scrolled) .btn-lang {
  color: rgba(26,24,21,0.6);
  border-color: rgba(26,24,21,0.15);
}
body:not([data-page]) .navbar:not(.navbar--scrolled) .btn-lang:hover {
  color: var(--rb-ink);
  border-color: rgba(26,24,21,0.4);
}

/* Hamburger visible on light landing-page hero */
body:not([data-page]) .navbar:not(.navbar--scrolled) .navbar__hamburger {
  border-color: rgba(26,24,21,0.18);
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body:not([data-page]) .navbar:not(.navbar--scrolled) .navbar__hamburger span {
  background: rgba(26,24,21,0.85);
}

/* When the mobile menu is OPEN, the overlay is dark — force the links back
   to light color even on the landing page (overrides the dark-on-light rule). */
body:not([data-page]).nav-open .navbar__links a {
  color: rgba(245,241,232,0.92) !important;
}
body:not([data-page]).nav-open .navbar__links a:hover,
body:not([data-page]).nav-open .navbar__links a:active {
  color: var(--rb-sage) !important;
}

/* ─── HERO ──────────────────────────────────────────────── */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: clamp(140px, 16vh, 180px) 0 clamp(80px, 10vh, 120px);
  overflow: hidden;
  isolation: isolate;
}

/* Animated mesh-gradient blobs — pure CSS, GPU-cheap */
.hero__mesh {
  position: absolute;
  inset: -10%;
  z-index: -2;
  filter: blur(90px) saturate(1.1);
  opacity: 0.55;
  pointer-events: none;
}

.mesh-blob {
  position: absolute;
  border-radius: 50%;
  mix-blend-mode: multiply;
  will-change: transform;
}

.mesh-blob--1 {
  width: 560px; height: 560px;
  top: -120px; left: -160px;
  background: radial-gradient(circle, #A8B5A0 0%, transparent 70%);
  animation: meshFloatA 22s ease-in-out infinite;
}

.mesh-blob--2 {
  width: 480px; height: 480px;
  top: 18%; right: -140px;
  background: radial-gradient(circle, #E8C6BE 0%, transparent 70%);
  animation: meshFloatB 26s ease-in-out infinite;
}

.mesh-blob--3 {
  width: 420px; height: 420px;
  bottom: -120px; left: 28%;
  background: radial-gradient(circle, #C9A788 0%, transparent 70%);
  animation: meshFloatC 28s ease-in-out infinite;
}

@keyframes meshFloatA {
  0%, 100% { transform: translate3d(0,0,0) scale(1); }
  50%      { transform: translate3d(40px,-30px,0) scale(1.06); }
}
@keyframes meshFloatB {
  0%, 100% { transform: translate3d(0,0,0) scale(1); }
  50%      { transform: translate3d(-30px,40px,0) scale(0.94); }
}
@keyframes meshFloatC {
  0%, 100% { transform: translate3d(0,0,0) scale(1); }
  50%      { transform: translate3d(30px,30px,0) scale(1.04); }
}

/* Subtle grain noise overlay */
.hero__grain {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.18;
  mix-blend-mode: overlay;
  background-image:
    radial-gradient(rgba(26,24,21,0.4) 1px, transparent 1px),
    radial-gradient(rgba(26,24,21,0.2) 1px, transparent 1px);
  background-size: 3px 3px, 5px 5px;
  background-position: 0 0, 1.5px 1.5px;
}

/* Hero grid: copy left, visual right */
.hero__container {
  position: relative;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
}

/* Eyebrow tag */
.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 18px 8px 14px;
  border-radius: var(--rb-radius-pill);
  background: rgba(255,255,255,0.6);
  backdrop-filter: blur(14px) saturate(1.1);
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  border: 1px solid rgba(107,122,96,0.16);
  font-family: var(--rb-font-sans);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rb-sage-deep);
  margin-bottom: 32px;
  box-shadow: 0 4px 20px -6px rgba(107,122,96,0.18);
}

.hero__eyebrow-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--rb-sage-deep);
  box-shadow: 0 0 0 4px rgba(107,122,96,0.18);
  animation: heroPulse 2.6s ease-in-out infinite;
}

@keyframes heroPulse {
  0%, 100% { transform: scale(1);   opacity: 1; }
  50%      { transform: scale(0.8); opacity: 0.6; }
}

/* Headline */
.hero__title {
  margin: 0 0 28px;
  font-family: var(--rb-font-display);
  font-size: clamp(2.8rem, 6.4vw, 6.6rem);
  font-weight: 400;
  line-height: 0.96;
  letter-spacing: -0.035em;
  color: var(--rb-ink);
}

.hero__title-line {
  display: block;
  overflow: hidden;
  /* tiny breathing room so descenders aren't clipped by overflow:hidden */
  padding-bottom: 0.06em;
}

.hero__title-line--accent {
  font-family: var(--rb-font-serif);
  font-style: italic;
  font-weight: 500;
  background: linear-gradient(120deg, #2C2823 0%, #6B7A60 55%, #B8746A 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  /* italic 'g' has a long descender — extend the line box and pull next */
  /* sibling up so visual spacing stays the same */
  padding-bottom: 0.22em;
  margin-bottom: -0.16em;
}

/* Lead copy */
.hero__lead {
  margin: 0 0 38px;
  max-width: 480px;
  font-size: clamp(1rem, 1.18vw, 1.18rem);
  line-height: 1.65;
  color: var(--rb-ink-mute);
}

/* Action buttons */
.hero__actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 50px;
}

.btn-lg { padding: 17px 34px; font-size: 0.96rem; }

.btn-outline {
  background: rgba(255,255,255,0.55);
  color: var(--rb-ink);
  border: 1px solid rgba(26,24,21,0.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.btn-outline:hover {
  background: rgba(255,255,255,0.85);
  border-color: rgba(26,24,21,0.28);
}

/* Promo signals row */
.hero__signals {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  font-family: var(--rb-font-mono);
  font-size: 0.74rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rb-ink-mute);
}

.hero__signals li {
  position: relative;
  padding-left: 16px;
}

.hero__signals li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--rb-sage-deep);
  opacity: 0.6;
}

/* ─── Hero visual float animation ───────────────────────── */
@keyframes rb-float {
  0%   { transform: translateY(0px) rotateZ(0deg); }
  30%  { transform: translateY(var(--rb-float-a, -14px)) rotateZ(var(--rb-float-ra, 0.4deg)); }
  60%  { transform: translateY(var(--rb-float-b, -7px))  rotateZ(var(--rb-float-rb, -0.3deg)); }
  80%  { transform: translateY(var(--rb-float-c, -18px)) rotateZ(var(--rb-float-rc, 0.5deg)); }
  100% { transform: translateY(0px) rotateZ(0deg); }
}

/* ─── Hero visual: video placeholder frame ──────────────── */
.hero__visual {
  position: relative;
  perspective: 1400px;
  animation: rb-float var(--rb-float-dur, 7s) ease-in-out infinite;
  animation-delay: var(--rb-float-delay, -1.4s);
}

.hero__visual-frame {
  position: relative;
  aspect-ratio: 4 / 5;
  border-radius: 28px;
  background:
    radial-gradient(120% 80% at 30% 20%, rgba(168,181,160,0.18), transparent 50%),
    radial-gradient(100% 70% at 80% 90%, rgba(232,198,190,0.18), transparent 50%),
    linear-gradient(160deg, #FBF8F1 0%, #ECE6D7 100%);
  border: 1px solid rgba(107,122,96,0.18);
  overflow: hidden;
  box-shadow:
    0 30px 80px -20px rgba(107,122,96,0.28),
    0 8px 24px -8px rgba(26,24,21,0.08),
    inset 0 1px 0 rgba(255,255,255,0.6);
  transform: rotateY(-6deg) rotateX(3deg);
  transition: transform 0.7s var(--ease-soft);
  will-change: transform;
}

.hero__visual:hover .hero__visual-frame {
  transform: rotateY(0deg) rotateX(0deg);
}

/* Logo video — natural size, drives the frame height */
.hero__visual-video {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  position: relative;
  z-index: 1;
  border-radius: inherit;
}

/* Corners stay above the video */
.hero__visual-corner { z-index: 2; }

/* Frame inner content */
.hero__visual-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 40px;
  text-align: center;
}

.hero__visual-play {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,0.6);
  border: 1px solid rgba(107,122,96,0.22);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 16px 40px -12px rgba(107,122,96,0.35);
  transition: transform 0.4s var(--ease-spring), box-shadow 0.4s;
}

.hero__visual-play svg {
  width: 32px;
  height: 32px;
  margin-left: 4px;
  color: var(--rb-sage-deep);
}

.hero__visual:hover .hero__visual-play {
  transform: scale(1.08);
  box-shadow: 0 22px 50px -12px rgba(107,122,96,0.45);
}

.hero__visual-label {
  font-family: var(--rb-font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--rb-ink-mute);
}

/* Corner brackets */
.hero__visual-corner {
  position: absolute;
  width: 24px;
  height: 24px;
  border: 2px solid var(--rb-sage-deep);
  opacity: 0.55;
}
.hero__visual-corner--tl { top: 18px; left: 18px;  border-right: 0; border-bottom: 0; border-top-left-radius: 6px; }
.hero__visual-corner--tr { top: 18px; right: 18px; border-left: 0;  border-bottom: 0; border-top-right-radius: 6px; }
.hero__visual-corner--bl { bottom: 18px; left: 18px;  border-right: 0; border-top: 0; border-bottom-left-radius: 6px; }
.hero__visual-corner--br { bottom: 18px; right: 18px; border-left: 0;  border-top: 0; border-bottom-right-radius: 6px; }

/* Floating tag chip */
.hero__visual-tag {
  display: none;
}

.hero__visual-stat {
  display: none;
}

/* Scroll indicator */
.hero__scroll {
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  font-family: var(--rb-font-mono);
  font-size: 0.66rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--rb-ink-mute);
  opacity: 0.7;
  transition: opacity 0.3s;
}
.hero__scroll:hover { opacity: 1; }

.hero__scroll-line {
  position: relative;
  width: 1px;
  height: 38px;
  background: rgba(107,122,96,0.25);
  overflow: hidden;
}

.hero__scroll-line::after {
  content: '';
  position: absolute;
  top: -100%;
  left: 0;
  width: 100%;
  height: 60%;
  background: var(--rb-sage-deep);
  animation: scrollLine 2.2s var(--ease-soft) infinite;
}

@keyframes scrollLine {
  0%   { top: -60%; }
  100% { top: 100%; }
}

/* ─── MARQUEE band ──────────────────────────────────────── */
.marquee {
  position: relative;
  background: var(--rb-ink);
  color: var(--rb-ivory);
  padding: clamp(22px, 3vw, 34px) 0;
  overflow: hidden;
}

.marquee::before,
.marquee::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}
.marquee::before { left: 0;  background: linear-gradient(to right, var(--rb-ink), transparent); }
.marquee::after  { right: 0; background: linear-gradient(to left,  var(--rb-ink), transparent); }

.marquee__track {
  display: flex;
  align-items: center;
  gap: 60px;
  white-space: nowrap;
  width: max-content;
  animation: marqueeScroll 38s linear infinite;
  font-family: var(--rb-font-display);
  font-size: clamp(1.4rem, 2.6vw, 2.6rem);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.01em;
}

.marquee__item {
  display: inline-flex;
  align-items: center;
  gap: 60px;
}

.marquee__item--accent {
  color: var(--rb-sage);
  font-style: normal;
  font-family: var(--rb-font-serif);
  font-weight: 500;
}

.marquee__star {
  width: 22px;
  height: 22px;
  color: var(--rb-blush);
  flex-shrink: 0;
}

@keyframes marqueeScroll {
  0%   { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}

/* ─── Section rhythm ────────────────────────────────────── */
.section {
  position: relative;
  padding: clamp(72px, 11vw, 150px) 0;
}

.section--light { background: transparent; }
.section--mid {
  background:
    linear-gradient(180deg, rgba(252,248,241,0.6), rgba(236,230,215,0.85)),
    var(--rb-bg-elevated);
}
.section--dark {
  background:
    radial-gradient(120% 100% at 20% 0%, rgba(168,181,160,0.06), transparent 60%),
    radial-gradient(100% 80% at 80% 100%, rgba(232,198,190,0.05), transparent 60%),
    var(--dark-bg);
}

.section-header {
  margin-bottom: clamp(44px, 6vw, 76px);
  display: grid;
  gap: 16px;
  max-width: 720px;
}

.section-header h2 {
  font-family: var(--rb-font-display);
  font-size: clamp(2.2rem, 4.4vw, 3.8rem);
  line-height: 1.04;
  letter-spacing: -0.025em;
  font-weight: 400;
}

/* Eyebrow tag refinement */
.tag {
  background: rgba(168,181,160,0.16);
  color: var(--rb-sage-deep);
  border: 1px solid rgba(107,122,96,0.16);
  padding: 6px 14px;
  font-size: 0.7rem;
  letter-spacing: 0.18em;
}

.tag--light {
  background: rgba(255,255,255,0.07);
  color: rgba(255,255,255,0.7);
  border: 1px solid rgba(255,255,255,0.1);
}

.tag--accent {
  background: rgba(232,198,190,0.22);
  color: var(--rb-blush-deep);
  border-color: rgba(184,116,106,0.18);
}

/* ─── Cards ─────────────────────────────────────────────── */
.card {
  position: relative;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(217,210,194,0.5);
  border-radius: 22px;
  padding: 36px;
  box-shadow: var(--glow-soft);
  transition:
    transform 0.5s var(--ease-soft),
    box-shadow 0.5s var(--ease-soft),
    border-color 0.4s;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  will-change: transform;
}

.card:hover {
  transform: translateY(-6px);
  box-shadow: var(--glow-lift);
  border-color: rgba(107,122,96,0.22);
}

.card h3 {
  margin: 0 0 16px;
  font-family: var(--rb-font-serif);
  font-size: 1.32rem;
  font-weight: 500;
  line-height: 1.32;
  color: var(--rb-ink);
  letter-spacing: -0.01em;
}

.card p { line-height: 1.65; margin: 0 0 6px; }
.card p:last-child { margin-bottom: 0; }

/* clean spacing when a tag pill precedes the title */
.card > .tag,
.card > .tag--accent,
.card > .tag--light {
  display: inline-flex;
  margin: 0 0 18px;
}

.card > .tag + h3 { margin-top: 0; }

/* Dark cards (services + process + contact) */
.card--dark {
  background: linear-gradient(140deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0.01) 100%);
  border-color: rgba(255,255,255,0.07);
  box-shadow: 0 24px 60px -20px rgba(0,0,0,0.6);
}

.card--dark:hover {
  background: linear-gradient(140deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%);
  border-color: rgba(168,181,160,0.25);
  box-shadow: 0 30px 70px -16px rgba(0,0,0,0.7);
}

/* Strong card (after / pricing featured) */
.card--strong {
  background:
    radial-gradient(80% 60% at 100% 0%, rgba(168,181,160,0.12), transparent 60%),
    linear-gradient(140deg, rgba(168,181,160,0.04), var(--rb-ivory-soft));
  border-color: rgba(107,122,96,0.22);
}

/* Featured pricing card */
.card--featured {
  position: relative;
  border: 1.5px solid var(--rb-sage-deep);
  box-shadow:
    0 0 0 1px rgba(107,122,96,0.1),
    var(--glow-sage);
  transform: translateY(-6px);
}

.card--featured:hover { transform: translateY(-12px); }

.card--featured::before {
  content: '★';
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--grad-sage);
  color: var(--rb-ivory);
  font-size: 0.9rem;
  box-shadow: 0 8px 20px -4px rgba(107,122,96,0.4);
}

/* Numbered cards (process) */
.card--numbered { padding-top: 76px; }

.card--numbered::before {
  content: attr(data-number);
  position: absolute;
  top: 30px;
  left: 36px;
  font-family: var(--rb-font-display);
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1;
  background: linear-gradient(135deg, rgba(168,181,160,0.7), rgba(184,116,106,0.55));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  letter-spacing: -0.02em;
}

.card--dark.card--numbered::before {
  background: linear-gradient(135deg, rgba(168,181,160,0.85), rgba(232,198,190,0.6));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.card--contact h3 { color: var(--dark-text); font-size: 1.5rem; }

/* ─── Pricing details ───────────────────────────────────── */
.pricing-price strong {
  font-family: var(--rb-font-display);
  font-size: 2rem;
  line-height: 1;
  background: var(--grad-warm);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* ─── Feature lists ─────────────────────────────────────── */
.feature-list {
  gap: 14px;
  margin: 18px 0 0;
  padding: 0;
}

.feature-list li {
  position: relative;
  padding-left: 24px;
  line-height: 1.6;
  color: var(--rb-ink-mute);
}

.feature-list li::before {
  width: 6px; height: 6px;
  background: var(--rb-sage-deep);
  top: 0.62em;
  box-shadow: 0 0 0 3px rgba(107,122,96,0.12);
}

.feature-list--cross li::before {
  width: auto; height: auto;
  background: none;
  box-shadow: none;
  color: var(--rb-blush-deep);
  top: 0;
  left: 2px;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.6;
}

/* ─── Buttons (refined) ─────────────────────────────────── */
.btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  letter-spacing: 0.01em;
}

.btn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,0.25), transparent);
  transform: translateX(-100%);
  transition: transform 0.7s var(--ease-soft);
  z-index: -1;
}

.btn:hover::after { transform: translateX(100%); }

.btn-primary {
  background: var(--grad-sage);
  box-shadow: 0 12px 32px -8px rgba(107,122,96,0.35);
}
.btn-primary:hover {
  box-shadow: 0 18px 44px -10px rgba(107,122,96,0.5);
  transform: translateY(-3px);
}

.btn-ghost {
  border: 1px solid rgba(255,255,255,0.22);
}
.btn-ghost:hover { border-color: rgba(255,255,255,0.4); }

/* ─── Forms ─────────────────────────────────────────────── */
input, textarea, select {
  border-radius: 14px;
  transition: border-color 0.25s, background 0.25s, box-shadow 0.25s;
}

.section--light input,
.section--light textarea,
.section--light select,
.section--mid input,
.section--mid textarea,
.section--mid select {
  background: rgba(255,255,255,0.85);
  border-color: rgba(107,122,96,0.16);
}

.section--light input:focus,
.section--light textarea:focus,
.section--mid input:focus,
.section--mid textarea:focus {
  background: #fff;
  border-color: var(--rb-sage-deep);
  box-shadow: 0 0 0 4px rgba(107,122,96,0.12);
}

button[type="submit"].btn-primary { margin-top: 10px; }

/* ─── Footer ────────────────────────────────────────────── */
.footer {
  background:
    radial-gradient(80% 100% at 50% 0%, rgba(168,181,160,0.05), transparent 60%),
    var(--dark-bg);
  border-top: 1px solid rgba(255,255,255,0.05);
  padding: 64px 0 40px;
}

.navbar__brand {
  font-family: var(--rb-font-display);
}

/* ─── Reveal classes (smooth, GPU-only) ─────────────────── */
[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  will-change: opacity, transform;
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.95s var(--ease-soft),
    transform 0.95s var(--ease-soft);
}

[data-reveal="left"]  { transform: translateX(-30px); }
[data-reveal="right"] { transform: translateX(30px); }
[data-reveal="left"].is-visible,
[data-reveal="right"].is-visible { transform: translateX(0); }

[data-reveal="scale"] { transform: scale(0.94); }
[data-reveal="scale"].is-visible { transform: scale(1); }

[data-reveal-delay="1"].is-visible { transition-delay: 0.08s; }
[data-reveal-delay="2"].is-visible { transition-delay: 0.16s; }
[data-reveal-delay="3"].is-visible { transition-delay: 0.24s; }
[data-reveal-delay="4"].is-visible { transition-delay: 0.32s; }

/* ─── Services — editorial dark with hero echo ──────────── */
.services-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.services-mesh {
  position: absolute;
  inset: -10%;
  z-index: -1;
  pointer-events: none;
  filter: blur(90px) saturate(1.1);
  opacity: 0.22;
}

.services-mesh > span {
  position: absolute;
  border-radius: 50%;
  mix-blend-mode: screen;
  will-change: transform;
}

.services-blob--1 {
  width: 540px; height: 540px;
  top: -120px; left: 8%;
  background: radial-gradient(circle, #A8B5A0 0%, transparent 70%);
  animation: meshFloatA 24s ease-in-out infinite;
}

.services-blob--2 {
  width: 480px; height: 480px;
  bottom: -120px; right: 6%;
  background: radial-gradient(circle, #E8C6BE 0%, transparent 70%);
  animation: meshFloatB 28s ease-in-out infinite;
}

.services-blob--3 {
  width: 380px; height: 380px;
  top: 40%; left: 45%;
  background: radial-gradient(circle, #C9A788 0%, transparent 70%);
  animation: meshFloatC 30s ease-in-out infinite;
}

.services-section .section-header h2 em {
  font-family: var(--rb-font-serif);
  font-style: italic;
  font-weight: 500;
  background: linear-gradient(120deg, #ffffff 0%, #A8B5A0 60%, #E8C6BE 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Service card — hero-style glass with big editorial number */
.service-card {
  position: relative;
  padding: 44px 32px 32px;
  background: linear-gradient(140deg, rgba(255,255,255,0.045), rgba(255,255,255,0.012));
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 22px;
  overflow: hidden;
  isolation: isolate;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition:
    transform 0.5s var(--ease-soft),
    background 0.4s var(--ease-soft),
    border-color 0.4s;
}

.service-card::before {
  content: attr(data-num);
  position: absolute;
  top: -28px;
  right: -8px;
  font-family: var(--rb-font-display);
  font-size: 9.5rem;
  line-height: 1;
  font-weight: 400;
  background: linear-gradient(135deg, rgba(168,181,160,0.22), rgba(232,198,190,0.10));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  pointer-events: none;
  z-index: -1;
  letter-spacing: -0.04em;
  transition: transform 0.6s var(--ease-soft);
}

.service-card:hover {
  transform: translateY(-8px);
  background: linear-gradient(140deg, rgba(168,181,160,0.10), rgba(255,255,255,0.02));
  border-color: rgba(168,181,160,0.28);
}

.service-card:hover::before {
  transform: scale(1.06) rotate(-2deg);
}

.service-card h3 {
  font-family: var(--rb-font-serif);
  font-style: italic;
  font-size: 1.55rem;
  font-weight: 500;
  color: rgba(255,255,255,0.92);
  margin: 0 0 14px;
  line-height: 1.25;
  letter-spacing: -0.005em;
}

.service-card p {
  margin: 0;
  color: rgba(255,255,255,0.55);
  line-height: 1.65;
  font-size: 0.96rem;
}

.service-card__rule {
  display: block;
  width: 32px;
  height: 1px;
  background: linear-gradient(90deg, var(--rb-sage), transparent);
  margin: 0 0 22px;
  opacity: 0.6;
}

/* ─── Before / After — editorial split ──────────────────── */
.ba-section {
  position: relative;
}

.ba-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: clamp(20px, 3vw, 40px);
  align-items: stretch;
}

.ba-card {
  position: relative;
  padding: clamp(32px, 4vw, 44px);
  border-radius: 26px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition:
    transform 0.5s var(--ease-soft),
    box-shadow 0.5s var(--ease-soft);
  will-change: transform;
}

.ba-card h3 {
  margin: 0;
  font-family: var(--rb-font-display);
  font-size: clamp(1.4rem, 2.2vw, 1.8rem);
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.2;
}

/* Before — muted, drained palette */
.ba-card--before {
  background:
    repeating-linear-gradient(
      135deg,
      rgba(217,210,194,0.18) 0,
      rgba(217,210,194,0.18) 12px,
      rgba(217,210,194,0.06) 12px,
      rgba(217,210,194,0.06) 24px
    ),
    rgba(245,241,232,0.4);
  border: 1px solid rgba(107,100,90,0.16);
  filter: saturate(0.7);
}

.ba-card--before h3 {
  color: var(--rb-ink-soft);
  font-style: italic;
  opacity: 0.85;
}

.ba-card--before .tag {
  align-self: flex-start;
  background: rgba(107,100,90,0.12);
  color: var(--rb-ink-mute);
  border: 1px solid rgba(107,100,90,0.18);
}

/* After — vibrant, gradient hero echo */
.ba-card--after {
  background:
    radial-gradient(80% 60% at 100% 0%, rgba(168,181,160,0.18), transparent 60%),
    radial-gradient(60% 50% at 0% 100%, rgba(232,198,190,0.15), transparent 60%),
    linear-gradient(140deg, var(--rb-ivory-soft), #ffffff);
  border: 1.5px solid rgba(107,122,96,0.24);
  box-shadow:
    0 1px 2px rgba(26,24,21,0.04),
    0 30px 70px -20px rgba(107,122,96,0.25);
}

.ba-card--after h3 {
  color: var(--rb-ink);
  background: linear-gradient(120deg, #2C2823 0%, #6B7A60 60%, #B8746A 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ba-card--after .tag {
  align-self: flex-start;
}

.ba-card--after:hover { transform: translateY(-6px); }

/* Centre arrow / divider */
.ba-arrow {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--rb-font-mono);
  font-size: 0.66rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--rb-sage-deep);
  padding: 0 6px;
}

.ba-arrow__icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(168,181,160,0.25), rgba(232,198,190,0.2));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(107,122,96,0.28);
  box-shadow: 0 12px 30px -8px rgba(107,122,96,0.3);
  position: relative;
  isolation: isolate;
}

.ba-arrow__icon::before,
.ba-arrow__icon::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  border: 2px solid rgba(168,181,160,0.5);
  opacity: 0;
  z-index: -1;
  animation: baPulse 2.6s ease-out infinite;
}

.ba-arrow__icon::after { animation-delay: 1.3s; }

@keyframes baPulse {
  0%   { transform: scale(0.95); opacity: 0.65; }
  70%  { transform: scale(1.5);  opacity: 0; }
  100% { transform: scale(1.5);  opacity: 0; }
}

.ba-arrow__icon svg {
  width: 24px;
  height: 24px;
  color: var(--rb-sage-deep);
}

.ba-arrow__label {
  font-family: var(--rb-font-display);
  font-style: italic;
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--rb-sage-deep);
}

@media (max-width: 980px) {
  .ba-grid {
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: center;
  }
  .ba-arrow {
    flex-direction: column;
    padding: 6px 0 2px;
    gap: 10px;
    justify-content: center;
    align-items: center;
  }
  .ba-arrow__icon {
    width: 46px;
    height: 46px;
    transform: rotate(90deg);
  }
  .ba-arrow__label {
    font-size: 0.86rem;
    letter-spacing: 0.04em;
  }
}

/* ─── Pricing — landing page (hardcoded offer) ──────────── */
.pricing-grid {
  margin-bottom: clamp(28px, 4vw, 48px);
  align-items: stretch;
}

.pricing-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 38px 32px;
}

.pricing-card h3 {
  margin: 0;
  font-family: var(--rb-font-display);
  font-size: 1.7rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--rb-ink);
  line-height: 1.1;
}

.pricing-price {
  margin: 0;
  min-height: 1em;
}

.pricing-price__std,
.pricing-price__alt {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
  animation: priceSwap 0.32s var(--ease-spring);
}

.pricing-price strong {
  font-family: var(--rb-font-display);
  font-size: clamp(2.2rem, 3vw, 2.6rem);
  line-height: 1;
  background: var(--grad-warm);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  letter-spacing: -0.02em;
  font-weight: 400;
}

.pricing-price__alt strong {
  background: var(--grad-sage);
  -webkit-background-clip: text;
  background-clip: text;
}

.pricing-price__suffix {
  font-family: var(--rb-font-mono);
  font-size: 0.74rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rb-ink-mute);
}

.pricing-price__was {
  font-family: var(--rb-font-mono);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  color: var(--rb-ink-faint);
  text-decoration: line-through;
  text-decoration-color: rgba(107,100,90,0.5);
  text-decoration-thickness: 1.5px;
}

/* Toggle visibility (controlled by .pricing-grid.is-discounted) */
.pricing-grid.is-discounted .pricing-price__std { display: none; }
.pricing-grid:not(.is-discounted) .pricing-price__alt { display: none; }

@keyframes priceSwap {
  0%   { transform: translateY(-4px); opacity: 0; }
  100% { transform: translateY(0);    opacity: 1; }
}

/* ─── Pricing toggle switch ──────────────────────────────── */
.pricing-toggle-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 0 0 clamp(36px, 5vw, 56px);
}

.pricing-toggle {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  padding: 8px 20px 8px 22px;
  background: rgba(255,255,255,0.78);
  backdrop-filter: blur(14px) saturate(1.1);
  -webkit-backdrop-filter: blur(14px) saturate(1.1);
  border: 1px solid rgba(107,122,96,0.18);
  border-radius: 999px;
  box-shadow: 0 10px 30px -10px rgba(107,122,96,0.20);
  transition: border-color 0.3s, box-shadow 0.3s;
}

.pricing-toggle.is-active {
  border-color: rgba(107,122,96,0.35);
  box-shadow: 0 14px 36px -10px rgba(107,122,96,0.32);
}

.pricing-toggle__label {
  font-family: var(--rb-font-mono);
  font-size: 0.74rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rb-ink-mute);
  cursor: pointer;
  transition: color 0.3s var(--ease-soft);
  user-select: none;
  white-space: nowrap;
}

.pricing-toggle__label:hover { color: var(--rb-ink-soft); }

.pricing-toggle.is-active .pricing-toggle__label:not(.pricing-toggle__label--accent) {
  color: var(--rb-ink-faint);
}

.pricing-toggle__label--accent {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--rb-sage-deep);
}

.pricing-toggle__label--accent strong {
  font-family: var(--rb-font-display);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  background: var(--grad-sage);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.pricing-toggle.is-active .pricing-toggle__label--accent {
  color: var(--rb-ink);
}

/* hint pulse when toggle is OFF, drawing attention to the discount */
.pricing-toggle:not(.is-active) .pricing-toggle__label--accent strong {
  animation: discountHint 2.6s ease-in-out infinite;
}

@keyframes discountHint {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.08); }
}

.pricing-toggle__switch {
  position: relative;
  width: 54px;
  height: 30px;
  border-radius: 999px;
  background: rgba(217,210,194,0.85);
  border: 1px solid rgba(107,122,96,0.18);
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: background 0.32s var(--ease-soft), border-color 0.32s;
}

.pricing-toggle.is-active .pricing-toggle__switch {
  background: var(--grad-sage);
  border-color: rgba(107,122,96,0.4);
}

.pricing-toggle__thumb {
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.18);
  transition: left 0.34s var(--ease-spring);
  pointer-events: none;
}

.pricing-toggle.is-active .pricing-toggle__thumb {
  left: calc(100% - 26px);
}

.pricing-meta {
  margin: 0 0 6px;
  font-family: var(--rb-font-serif);
  font-style: italic;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--rb-ink-soft);
}

.pricing-features {
  margin: 6px 0 0;
}

.pricing-features li { font-size: 0.95rem; }

/* Featured Standard plan tweaks */
.pricing-grid .card--featured { z-index: 1; }

/* ─── Content Day — premium one-shot card ─── */
.content-day-wrap { margin-bottom: clamp(24px, 3vw, 36px); }

.content-day {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 2fr;
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
  padding: clamp(36px, 4vw, 52px);
  border-radius: 26px;
  background:
    radial-gradient(80% 70% at 100% 0%, rgba(232,198,190,0.20), transparent 60%),
    radial-gradient(70% 60% at 0% 100%, rgba(168,181,160,0.16), transparent 60%),
    linear-gradient(140deg, var(--rb-ivory-soft), var(--rb-ivory));
  border: 1.5px solid rgba(184,116,106,0.22);
  box-shadow:
    0 1px 2px rgba(26,24,21,0.04),
    0 24px 60px -16px rgba(184,116,106,0.22);
  transition: transform 0.5s var(--ease-soft), box-shadow 0.5s var(--ease-soft);
  will-change: transform;
}

.content-day:hover {
  transform: translateY(-4px);
  box-shadow:
    0 1px 2px rgba(26,24,21,0.04),
    0 32px 70px -16px rgba(184,116,106,0.30);
}

.content-day__head {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.content-day__head .tag {
  align-self: flex-start;
  background: rgba(232,198,190,0.3);
  color: var(--rb-blush-deep);
  border-color: rgba(184,116,106,0.22);
}

.content-day__head h3 {
  margin: 0;
  font-family: var(--rb-font-display);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  letter-spacing: -0.025em;
  color: var(--rb-ink);
  line-height: 1.05;
}

.content-day__head .pricing-price strong {
  font-size: clamp(2.4rem, 3.6vw, 3.2rem);
  background: var(--grad-blush);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.content-day__body {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.content-day__body p {
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.65;
  color: var(--rb-ink-mute);
}

.pricing-features--inline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 28px;
  margin: 0;
}

.pricing-features--inline li {
  padding-left: 22px;
  font-size: 0.92rem;
}

/* ─── Add-ons strip ─── */
.addons-strip {
  background: rgba(255,255,255,0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(217,210,194,0.55);
  border-radius: 22px;
  padding: clamp(28px, 3vw, 38px);
  margin-bottom: clamp(24px, 3vw, 36px);
}

.addons-strip__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}

.addons-strip__head h4 {
  margin: 0;
  font-family: var(--rb-font-display);
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--rb-ink);
  line-height: 1.2;
}

.addons-strip__head .pricing-meta {
  margin: 0;
  font-size: 0.92rem;
}

.addons-strip__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 36px;
}

.addons-strip__list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px dashed rgba(107,122,96,0.18);
  font-size: 0.96rem;
}

.addons-strip__list li:last-child,
.addons-strip__list li:nth-last-child(2):nth-child(odd) {
  border-bottom: 0;
}

.addons-strip__list span {
  color: var(--rb-ink-soft);
}

.addons-strip__list strong {
  font-family: var(--rb-font-mono);
  font-size: 0.84rem;
  letter-spacing: 0.06em;
  color: var(--rb-sage-deep);
  font-weight: 700;
  white-space: nowrap;
}

/* ─── Pricing info note ─── */
.pricing-info {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 18px 24px;
  border-radius: 18px;
  background: linear-gradient(120deg, rgba(168,181,160,0.10), rgba(232,198,190,0.10));
  border: 1px solid rgba(107,122,96,0.16);
  margin-bottom: clamp(24px, 3vw, 36px);
}

.pricing-info__badge {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(107,122,96,0.10);
  color: var(--rb-sage-deep);
  font-family: var(--rb-font-serif);
  font-style: italic;
  font-size: 1rem;
  font-weight: 600;
  border: 1px solid rgba(107,122,96,0.22);
}

.pricing-info p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.6;
  color: var(--rb-ink-soft);
}

/* ─── Responsive ────────────────────────────────────────── */
@media (max-width: 980px) {
  .hero { padding: 130px 0 72px; min-height: auto; }
  .hero__container {
    grid-template-columns: 1fr;
    gap: 56px;
  }
  .hero__visual {
    max-width: 480px;
    margin: 0 auto;
  }
  .hero__visual-frame { aspect-ratio: 16 / 11; }
  .hero__scroll { display: none; }
}

@media (max-width: 980px) {
  .content-day {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .pricing-features--inline { grid-template-columns: 1fr; }
  .addons-strip__list { grid-template-columns: 1fr; gap: 0; }
  .addons-strip__list li:not(:last-child) {
    border-bottom: 1px dashed rgba(107,122,96,0.18);
  }
}

@media (max-width: 720px) {
  .hero__title { font-size: clamp(2.6rem, 11vw, 4rem); }
  .hero__signals { font-size: 0.7rem; gap: 10px; }
  .hero__signals li { padding-left: 13px; }
  .marquee__track { gap: 36px; font-size: 1.4rem; }
  .marquee__item  { gap: 36px; }
  .card--featured { transform: none; }
  .card--featured:hover { transform: translateY(-6px); }
  .card { padding: 28px; }
  .card--numbered::before { font-size: 2.4rem; top: 22px; left: 28px; }
  .pricing-info { flex-direction: row; align-items: flex-start; padding: 18px 20px; }
  .pricing-info__badge { width: 32px; height: 32px; font-size: 0.92rem; }
  .pricing-toggle { gap: 12px; padding: 10px 18px; flex-wrap: wrap; justify-content: center; }
  .pricing-toggle__label { font-size: 0.7rem; letter-spacing: 0.12em; }
}

/* ─── Landing-specific mobile pass ─── */
@media (max-width: 720px) {
  .hero { padding: 110px 0 56px; }
  .hero__container { gap: 36px; }
  .hero__visual {
    max-width: 100%;
    margin: 0 auto;
  }
  .hero__visual-frame {
    aspect-ratio: 4 / 3;
    transform: none !important;
  }
  .hero__visual-tag { display: none; }

  /* Scroll cue overlapped the next section on phones — hide it */
  .hero__scroll { display: none; }

  .hero__lead { font-size: 1rem; }
  .hero__cta-row { flex-direction: column; align-items: stretch; gap: 10px; }
  .hero__cta-row .btn { justify-content: center; width: 100%; }
}

@media (max-width: 480px) {
  .hero { padding: 96px 0 44px; }
  .hero__title { font-size: clamp(2.2rem, 12vw, 3.2rem); }
  .marquee__track { gap: 24px; font-size: 1.1rem; }
  .marquee__item  { gap: 24px; }
  .marquee__star { width: 14px; height: 14px; }
  .card { padding: 20px 18px; }
  .ba-card { padding: 20px 18px; border-radius: 22px; }
  .ba-card h3 { font-size: 1.2rem; }
  .ba-card .feature-list li { font-size: 0.92rem; }
}

/* ─── Pricing −20% deadline pill ──────────── */
.pricing-deadline {
  position: relative;
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  background: linear-gradient(120deg, rgba(184,116,106,0.10), rgba(232,198,190,0.16));
  border: 1px solid rgba(184,116,106,0.28);
  color: var(--rb-blush-deep);
  font-family: var(--rb-font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.pricing-deadline::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: 0 0 0 2px rgba(184, 116, 106, 0.18);
  animation: deadlinePulse 2.4s ease-in-out infinite;
  pointer-events: none;
  will-change: transform, opacity;
}

.pricing-deadline__icon {
  display: grid;
  place-items: center;
  width: 14px;
  height: 14px;
}

.pricing-deadline__icon svg {
  width: 14px;
  height: 14px;
}

.pricing-deadline__date {
  font-family: var(--rb-font-display);
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  font-size: 0.92rem;
  color: var(--rb-blush-deep);
}

@keyframes deadlinePulse {
  0%   { transform: scale(1);    opacity: 0.9; }
  100% { transform: scale(1.18); opacity: 0; }
}

/* ─── Content Day next-slot pill ──────────── */
.content-day__slot {
  margin: 4px 0 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(168,181,160,0.14);
  border: 1px solid rgba(107,122,96,0.22);
  font-size: 0.86rem;
  color: var(--rb-sage-deep);
  align-self: flex-start;
  flex-wrap: wrap;
}

.content-day__slot-icon {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.content-day__slot-icon svg {
  width: 16px;
  height: 16px;
}

.content-day__slot-label {
  color: var(--rb-ink-soft);
  font-family: var(--rb-font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.content-day__slot-date {
  font-family: var(--rb-font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 1.04rem;
  letter-spacing: -0.005em;
  color: var(--rb-sage-deep);
}

/* ─── Sticky mobile CTA ──────────── */
.sticky-cta {
  position: fixed;
  left: 14px;
  right: auto;
  bottom: 16px;
  z-index: 90;
  display: none;
  align-items: center;
  gap: 10px;
  padding: 13px 20px 13px 16px;
  border-radius: 999px;
  background: linear-gradient(135deg, #A8B5A0 0%, #6B7A60 100%);
  color: #fff;
  font-weight: 600;
  font-size: 0.92rem;
  text-decoration: none;
  box-shadow: 0 12px 36px -8px rgba(107,122,96,0.55), 0 4px 14px rgba(0,0,0,0.18);
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s var(--ease-soft), transform 0.3s var(--ease-soft);
  pointer-events: none;
}

.sticky-cta.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.sticky-cta__icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
}

.sticky-cta__icon svg {
  width: 18px;
  height: 18px;
}

.sticky-cta__pulse {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  animation: stickyPulse 2.2s ease-out infinite;
  border: 2px solid rgba(168,181,160,0.65);
  opacity: 0;
}

@keyframes stickyPulse {
  0%   { transform: scale(0.95); opacity: 0.65; }
  70%  { transform: scale(1.18); opacity: 0; }
  100% { transform: scale(1.18); opacity: 0; }
}

@media (max-width: 720px) {
  .sticky-cta { display: inline-flex; }
}

/* ─── Results — editorial two-column redesign ──────────── */
.results-intro {
  color: rgba(245,241,232,0.45);
}

.results-layout {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: clamp(48px, 8vw, 100px);
  align-items: start;
}

.results-numbers {
  display: flex;
  flex-direction: column;
  gap: 52px;
}

.results-number {
  border-left: 2px solid rgba(232,198,190,0.22);
  padding-left: 28px;
}

.results-number--sage {
  border-left-color: rgba(168,181,160,0.32);
}

.results-number__val {
  display: block;
  font-family: var(--rb-font-display);
  font-size: clamp(3.6rem, 7vw, 5.8rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.04em;
  background: linear-gradient(135deg, rgba(232,198,190,0.92) 0%, rgba(184,116,106,0.82) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.results-number--sage .results-number__val {
  background: linear-gradient(135deg, rgba(168,181,160,0.92) 0%, rgba(107,122,96,0.82) 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

.results-number__label {
  display: block;
  margin-top: 10px;
  font-family: var(--rb-font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(245,241,232,0.4);
}

.results-proof {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.results-proof__item {
  display: flex;
  gap: 22px;
  align-items: flex-start;
}

.results-proof__icon {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  margin-top: 4px;
}

.results-proof__icon svg {
  width: 20px;
  height: 20px;
  color: var(--rb-sage);
}

.results-proof__item p {
  margin: 0;
  font-size: clamp(1.02rem, 1.4vw, 1.2rem);
  line-height: 1.6;
  color: rgba(245,241,232,0.72);
  padding-top: 12px;
}

@media (max-width: 760px) {
  .results-layout {
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .results-numbers {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px 36px;
  }
  .results-number {
    border-left: none;
    border-top: 2px solid rgba(232,198,190,0.22);
    padding-left: 0;
    padding-top: 16px;
    flex: 1 1 110px;
  }
  .results-number--sage {
    border-top-color: rgba(168,181,160,0.32);
    border-left: none;
  }
  .results-number__val { font-size: clamp(2.8rem, 10vw, 4rem); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  [data-reveal] { opacity: 1; transform: none; }
  .mesh-blob { animation: none; }
  /* Bars and timeline still apply final state */
  .growth-section .growth-bar__fill { width: var(--target); }
  .growth-section .growth-bar__value { opacity: 1; transform: none; }
  .process-section .timeline__step { opacity: 1; transform: none; }
  .process-section .timeline__progress { height: calc(100% - 24px); }
}
