/* ═══════════════════════════════════════════════════════════════════
   EduJet — site stylesheet (v3). Loaded by includes/header.php on every
   public page; the admin panel loads it after main.css. Prefix: rd-

   Direction: an editorial serif (Fraunces) over a calm chalk page, one
   deep-navy showpiece per page, and gold used only where the school bell
   would ring: the clock colon, flags, key tags, the current nav link.
   Order in this file: tokens, base, home + pricing (v2), then the shared
   chrome and the components every other page is built from.
   ═══════════════════════════════════════════════════════════════════ */
@font-face {
  font-family: 'Fraunces';
  font-style: normal; font-weight: 100 900; font-display: swap;
  src: url('../fonts/fraunces-var.woff2') format('woff2');
}

:root {
  --rd-ink:    #0A0F2C;
  --rd-navy:   #0B1236;
  --rd-navy-2: #141E4D;
  --rd-blue:   #1B56F5;
  --rd-gold:   #FFB81C;
  --rd-gold-s: #FFF1CC;
  --rd-chalk:  #F4F5FA;
  --rd-line:   #DFE2EE;
  --rd-mute:   #565D7C;
  --rd-ease:   cubic-bezier(.16, .84, .44, 1);
  --rd-serif:  'Fraunces', Georgia, 'Times New Roman', serif;
}

/* ── Base: fonts, reset, page defaults (this file is the whole public stylesheet) ── */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/inter-400.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/inter-500.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/inter-600.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/inter-700.woff2') format('woff2'); }

:root {
  --rd-ok:    #17803D;
  --rd-ok-s:  #EAF7EE;
  --rd-bad:   #B42318;
  --rd-bad-s: #FEF1F0;
  --rd-ring:  0 0 0 1px var(--rd-line);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 16px; line-height: 1.65; color: var(--rd-ink); background: #fff;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
img { height: auto; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; }
::selection { background: var(--rd-gold); color: #2A1B00; }
.rd-skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--rd-ink); color: #fff; padding: 12px 18px; border-radius: 10px; font-weight: 600; transition: top .2s var(--rd-ease); }
.rd-skip:focus { top: 12px; }


.rd-wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.rd-serif, .rd-h2, .rd-hero__title, .rd-slot__title, .rd-clock, .rd-pagehead h1 {
  font-family: var(--rd-serif);
  font-optical-sizing: auto;
  font-variation-settings: 'SOFT' 40;
}
.rd-h2 {
  font-weight: 560; font-size: clamp(32px, 4.4vw, 54px); line-height: 1.04; letter-spacing: -.028em;
  color: var(--rd-ink); text-wrap: balance;
}
.rd-lede { margin-top: 18px; font-size: 18.5px; line-height: 1.6; color: var(--rd-mute); max-width: 56ch; }
.rd-section { padding: 120px 0; }

a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid var(--rd-blue); outline-offset: 3px; border-radius: 6px;
}
.rd-dark a:focus-visible, .rd-dark button:focus-visible { outline-color: var(--rd-gold); }

/* ── Buttons ──────────────────────────────────────────────────── */
.rd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font: 600 16px/1 'Inter', sans-serif; padding: 17px 28px; border-radius: 12px; cursor: pointer;
  border: 1.5px solid transparent; white-space: nowrap; text-align: center;
  transition: background .25s var(--rd-ease), color .25s var(--rd-ease), border-color .25s var(--rd-ease), transform .25s var(--rd-ease), box-shadow .25s var(--rd-ease);
}
.rd-btn:active { transform: scale(.98); }
.rd-btn--ink  { background: var(--rd-ink); color: #fff; }
.rd-btn--ink:hover { background: var(--rd-blue); box-shadow: 0 14px 28px -14px rgba(27,86,245,.7); }
.rd-btn--line { border-color: var(--rd-ink); color: var(--rd-ink); background: transparent; }
.rd-btn--line:hover { background: var(--rd-ink); color: #fff; }
.rd-btn--gold { background: var(--rd-gold); color: #2A1B00; }
.rd-btn--gold:hover { background: #ffc94d; box-shadow: 0 14px 30px -14px rgba(255,184,28,.8); }
.rd-btn--ghost { border-color: rgba(255,255,255,.35); color: #fff; }
.rd-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.rd-btn--block { width: 100%; white-space: normal; }

/* ── Hero ─────────────────────────────────────────────────────── */
.rd-hero { background: var(--rd-chalk); padding: 64px 0 96px; overflow: hidden; position: relative; }
.rd-hero__title {
  font-weight: 520; font-size: clamp(42px, 6.6vw, 96px); line-height: .98; letter-spacing: -.034em;
  color: var(--rd-ink); max-width: 14.5em;
}
.rd-hero__row { display: grid; grid-template-columns: minmax(0, 500px) minmax(0, 1fr); gap: 56px; margin-top: 36px; align-items: start; }
.rd-hero__note { margin-top: 28px; font-size: 13px; line-height: 1.5; color: var(--rd-mute); max-width: 44ch; }
.rd-hero__sub { font-size: 20px; line-height: 1.55; color: var(--rd-mute); max-width: 40ch; }
.rd-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.rd-hero__fine { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 14.5px; color: var(--rd-mute); }
.rd-hero__fine span { position: relative; padding-left: 18px; }
.rd-hero__fine span::before { content: ''; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--rd-gold); }
.rd-hero__demo { display: inline-block; margin-top: 22px; font-weight: 600; font-size: 15.5px; color: var(--rd-ink); border-bottom: 2px solid var(--rd-gold); padding-bottom: 1px; }
.rd-hero__demo:hover { background: var(--rd-gold-s); }

/* hero stage: screens that run past the page edge + notifications that arrive in turn */
.rd-stage { position: relative; width: 116%; padding: 40px 0 112px 24px; }
.rd-browser {
  background: #fff; border-radius: 16px; overflow: hidden;
  box-shadow: 0 50px 90px -40px rgba(10,15,44,.55), 0 0 0 1px rgba(10,15,44,.08);
}
.rd-browser__bar { background: #ECEEF6; height: 34px; display: flex; align-items: center; gap: 7px; padding: 0 14px; }
.rd-browser__bar i { width: 10px; height: 10px; border-radius: 50%; background: #C9CEE0; display: block; }
.rd-browser__bar b { margin-left: 12px; flex: 0 1 300px; height: 20px; border-radius: 10px; background: #fff; font: 500 11.5px/20px 'Inter', sans-serif; color: var(--rd-mute); padding: 0 12px; overflow: hidden; white-space: nowrap; }
.rd-browser img { width: 100%; height: auto; }
.rd-stage > .rd-phone { position: absolute; right: 9%; bottom: 0; width: 196px; transform: rotate(3deg); }

.rd-phone {
  background: #05070E; border-radius: 30px; padding: 8px;
  box-shadow: 0 40px 60px -26px rgba(10,15,44,.7), 0 0 0 1px rgba(255,255,255,.1) inset;
}
.rd-phone img { border-radius: 23px; width: 100%; height: auto; }

/* notifications */
.rd-toast {
  display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: start;
  background: #fff; color: var(--rd-ink); border-radius: 18px; padding: 14px 18px 14px 14px; width: 290px;
  box-shadow: 0 24px 40px -20px rgba(10,15,44,.5), 0 0 0 1px rgba(10,15,44,.06);
}
.rd-toast__ic { width: 40px; height: 40px; border-radius: 12px; background: var(--rd-blue); color: #fff; display: grid; place-items: center; font: 600 20px var(--rd-serif); }
.rd-toast b { display: block; font-size: 14.5px; line-height: 1.3; }
.rd-toast span { display: block; margin-top: 2px; font-size: 13.5px; color: var(--rd-mute); line-height: 1.4; }
.rd-toast time { display: block; margin-top: 4px; font-size: 12px; color: #8A90AB; }
.rd-stage .rd-toast { position: absolute; opacity: 0; animation: rdToast .7s var(--rd-ease) forwards; animation-delay: var(--d, 0s); }
.rd-stage .rd-toast { width: 252px; }
.rd-toast--1 { left: -4px;  top: 0;     --d: .7s; }
.rd-toast--2 { left: 3%;    bottom: 44px; --d: 1.7s; }
.rd-toast--3 { left: 38%;   bottom: 0;    --d: 2.7s; }
@keyframes rdToast { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: none; } }

/* ── Proof ────────────────────────────────────────────────────── */
.rd-proof { padding: 56px 0; border-bottom: 1px solid var(--rd-line); }
.rd-proof__row { display: flex; flex-wrap: wrap; align-items: center; gap: 28px 64px; justify-content: space-between; }
.rd-proof__who { display: flex; align-items: center; gap: 18px; }
.rd-proof__who img { height: 64px; width: auto; }
.rd-proof__who p { font-size: 15px; color: var(--rd-mute); line-height: 1.4; max-width: 22ch; }
.rd-proof__who strong { display: block; font: 600 20px var(--rd-serif); color: var(--rd-ink); letter-spacing: -.01em; margin-bottom: 2px; }
.rd-proof__stats { display: flex; flex-wrap: wrap; gap: 14px 56px; }
.rd-proof__stats b { display: block; font: 500 54px/1 var(--rd-serif); letter-spacing: -.03em; color: var(--rd-ink); font-variant-numeric: lining-nums; }
.rd-proof__stats div { font-size: 14.5px; color: var(--rd-mute); }
.rd-quote { margin-top: 36px; max-width: 46ch; font: 500 28px/1.3 var(--rd-serif); letter-spacing: -.015em; color: var(--rd-ink); }
.rd-quote cite { display: block; margin-top: 12px; font: 400 14.5px 'Inter', sans-serif; font-style: normal; color: var(--rd-mute); letter-spacing: 0; }

/* ── The school day (sticky clock) ────────────────────────────── */
.rd-dark { background: var(--rd-navy); color: #fff; }
.rd-day { padding: 128px 0 40px; position: relative; }
.rd-day .rd-h2 { color: #fff; max-width: 15ch; }
.rd-day .rd-lede { color: rgba(255,255,255,.68); }
.rd-day__grid { display: grid; grid-template-columns: 430px minmax(0, 1fr); gap: 80px; margin-top: 72px; align-items: start; }
.rd-rail { position: sticky; top: 92px; height: calc(100vh - 120px); min-height: 520px; display: flex; flex-direction: column; justify-content: center; }
.rd-clock {
  font-weight: 300; font-size: clamp(110px, 12.5vw, 190px); line-height: .86; letter-spacing: -.05em;
  font-variant-numeric: tabular-nums lining-nums; color: #fff; display: flex; align-items: baseline;
}
.rd-clock .c { color: var(--rd-gold); font-weight: 400; margin: 0 .02em; transform: translateY(-.06em); }
.rd-clock .tick { animation: rdTick .5s var(--rd-ease); }
@keyframes rdTick { from { opacity: 0; transform: translateY(.18em); } to { opacity: 1; transform: none; } }
.rd-rail__job { display: none; margin-top: 22px; font: 500 26px/1.2 var(--rd-serif); letter-spacing: -.015em; color: #fff; min-height: 2.4em; }
.rd-rail__list { list-style: none; margin-top: 34px; display: grid; gap: 2px; border-left: 1px solid rgba(255,255,255,.16); }
.rd-rail__list a {
  display: flex; gap: 14px; padding: 7px 0 7px 18px; margin-left: -1px; border-left: 2px solid transparent;
  font-size: 14.5px; color: rgba(255,255,255,.45); transition: color .25s var(--rd-ease), border-color .25s var(--rd-ease);
}
.rd-rail__list time { font-variant-numeric: tabular-nums; min-width: 3.1em; }
.rd-rail__list a:hover { color: rgba(255,255,255,.8); }
.rd-rail__list a.is-on { color: #fff; border-left-color: var(--rd-gold); }

.rd-slot { padding-bottom: 150px; scroll-margin-top: 110px; }
.rd-slot__time { display: none; }
.rd-slot__title { font-weight: 540; font-size: clamp(32px, 3.6vw, 46px); line-height: 1.05; letter-spacing: -.028em; color: #fff; max-width: 14em; }
.rd-slot__lead { margin-top: 16px; font-size: 18px; line-height: 1.55; color: rgba(255,255,255,.72); max-width: 46ch; }
.rd-list { margin-top: 26px; display: grid; gap: 12px; max-width: 56ch; }
.rd-list li { position: relative; padding-left: 28px; font-size: 16px; line-height: 1.5; color: rgba(255,255,255,.9); }
.rd-list li::before { content: ''; position: absolute; left: 0; top: .62em; width: 14px; height: 2px; background: var(--rd-gold); }
.rd-tag { display: inline-block; margin-left: 8px; padding: 2px 9px; border-radius: 999px; background: var(--rd-gold); color: #2A1B00; font: 600 11.5px/1.5 'Inter', sans-serif; vertical-align: 2px; white-space: nowrap; }
.rd-slot__shots { margin-top: 44px; display: grid; gap: 20px; align-items: start; }
.rd-shot { border-radius: 16px; overflow: hidden; background: #10183F; box-shadow: 0 40px 60px -34px #000, 0 0 0 1px rgba(255,255,255,.1); }
.rd-shot img { width: 100%; display: block; }
.rd-shot--crop { aspect-ratio: 720 / 700; max-width: 440px; }
.rd-shot--crop img { height: 100%; object-fit: cover; }
.rd-shot--top img { object-position: top; }
.rd-shot--bottom img { object-position: bottom; }
.rd-shot--sidebar { max-width: 240px; height: 470px; }
.rd-shot--sidebar img { height: 100%; object-fit: cover; object-position: top left; }
.rd-duo { grid-template-columns: minmax(0, 1fr) 200px; gap: 28px; }
.rd-compose { position: relative; padding-bottom: 150px; }
.rd-compose .rd-phone { position: absolute; right: -6px; bottom: 0; width: 158px; transform: rotate(2.5deg); }
.rd-compose .rd-cap { max-width: 56%; }
.rd-cap { margin-top: 10px; font-size: 13px; color: rgba(255,255,255,.5); }
.rd-slot .rd-toast { box-shadow: 0 24px 40px -22px #000; }
.rd-stack { display: grid; gap: 12px; }
.rd-overlap { position: relative; }
.rd-overlap .rd-toast { position: absolute; right: -4%; bottom: -26px; }
.rd-phone-notifs { grid-template-columns: 210px minmax(0, 1fr); gap: 32px; align-items: center; }

/* ── Android app (Annual Plus) ────────────────────────────────── */
.rd-app { padding: 128px 0; }
.rd-app__panel {
  position: relative; overflow: hidden; border-radius: 36px; background: var(--rd-navy); color: #fff;
  padding: 80px 72px; min-height: 580px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.rd-app__panel::before { /* a single bell-glow behind the phones */
  content: ''; position: absolute; right: -8%; top: 4%; width: 620px; height: 620px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,184,28,.28) 0%, rgba(255,184,28,0) 66%); pointer-events: none;
}
.rd-app__panel .rd-h2 { color: #fff; }
.rd-app__panel .rd-lede { color: rgba(255,255,255,.72); max-width: 36ch; }
.rd-app__copy { position: relative; z-index: 2; align-self: center; }
.rd-pill { display: inline-block; background: var(--rd-gold); color: #2A1B00; font: 600 14px/1 'Inter', sans-serif; padding: 9px 16px; border-radius: 999px; margin-bottom: 26px; }
.rd-app__phones { position: relative; min-height: 440px; }
.rd-app__phones .rd-phone { position: absolute; width: 214px; }
.rd-app__phones .rd-phone:nth-child(1) { left: 4%;  bottom: -150px; transform: rotate(-6deg); }
.rd-app__phones .rd-phone:nth-child(2) { left: 33%; bottom: -70px; z-index: 2; width: 236px; }
.rd-app__phones .rd-phone:nth-child(3) { right: -2%; bottom: -170px; transform: rotate(6deg); }
.rd-badges { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; align-items: center; }
.rd-store { display: inline-flex; align-items: center; background: #fff; color: var(--rd-ink); padding: 11px 20px; border-radius: 12px; font-size: 12px; line-height: 1.2; transition: transform .25s var(--rd-ease); }
.rd-store:hover { transform: translateY(-2px); }
.rd-store b { display: block; font-size: 18px; font-weight: 700; }
.rd-app__note { margin-top: 18px; font-size: 13.5px; color: rgba(255,255,255,.55); max-width: 46ch; }

/* ── Compare ──────────────────────────────────────────────────── */
.rd-compare { width: 100%; margin-top: 56px; border-collapse: collapse; font-size: 16.5px; }
.rd-compare th, .rd-compare td { text-align: left; vertical-align: top; padding: 26px 28px 26px 0; border-top: 1px solid var(--rd-line); }
.rd-compare thead th { font: 600 14.5px 'Inter', sans-serif; color: var(--rd-mute); padding-bottom: 14px; border-top: 0; border-bottom: 2px solid var(--rd-ink); }
.rd-compare thead th:last-child { color: var(--rd-ink); }
.rd-compare tbody th { width: 24%; font: 560 22px/1.2 var(--rd-serif); letter-spacing: -.015em; color: var(--rd-ink); }
.rd-compare td:nth-child(2) { width: 33%; color: #8A90AB; text-decoration: line-through; text-decoration-color: rgba(138,144,171,.55); }
.rd-compare td:last-child { color: var(--rd-ink); position: relative; padding-left: 28px; }
.rd-compare td:last-child::before { content: ''; position: absolute; left: 0; top: 33px; width: 12px; height: 12px; border-radius: 50%; background: var(--rd-gold); }

/* ── Plans ────────────────────────────────────────────────────── */
.rd-plans-sec { background: var(--rd-chalk); }
.rd-promo { display: inline-flex; background: var(--rd-gold); color: #2A1B00; font-weight: 600; font-size: 14.5px; padding: 9px 18px; border-radius: 999px; margin-bottom: 24px; }
.rd-plans { margin-top: 56px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.rd-plan { position: relative; display: flex; flex-direction: column; background: #fff; border-radius: 26px; padding: 40px 34px 34px; box-shadow: 0 0 0 1px var(--rd-line); }
.rd-plan--pop { background: var(--rd-navy); color: #fff; box-shadow: 0 50px 80px -40px rgba(10,15,44,.8); transform: translateY(-18px); padding-top: 52px; padding-bottom: 52px; }
.rd-plan__flag { position: absolute; top: 18px; right: 22px; background: var(--rd-gold); color: #2A1B00; font: 600 12.5px 'Inter', sans-serif; padding: 6px 12px; border-radius: 999px; }
.rd-plan h3 { font: 560 30px/1.05 var(--rd-serif); letter-spacing: -.02em; }
.rd-plan__blurb { margin-top: 10px; font-size: 15px; color: var(--rd-mute); min-height: 48px; line-height: 1.5; }
.rd-plan--pop .rd-plan__blurb { color: rgba(255,255,255,.7); }
.rd-plan__was { margin-top: 24px; font-size: 15px; color: #8A90AB; text-decoration: line-through; }
.rd-plan__price { font: 700 44px/1.05 'Inter', sans-serif; letter-spacing: -.035em; }
.rd-plan__price small { font: 500 16px 'Inter', sans-serif; letter-spacing: 0; color: var(--rd-mute); margin-left: 6px; }
.rd-plan--pop .rd-plan__price small { color: rgba(255,255,255,.6); }
.rd-plan ul { margin: 28px 0 34px; display: grid; gap: 12px; flex: 1; align-content: start; padding-top: 26px; border-top: 1px solid var(--rd-line); }
.rd-plan--pop ul { border-top-color: rgba(255,255,255,.16); }
.rd-plan li { position: relative; padding-left: 26px; font-size: 15px; line-height: 1.45; }
.rd-plan li::before { content: ''; position: absolute; left: 0; top: .5em; width: 12px; height: 6px; border-left: 2.5px solid var(--rd-blue); border-bottom: 2.5px solid var(--rd-blue); transform: rotate(-45deg); }
.rd-plan--pop li::before { border-color: var(--rd-gold); }
.rd-plan li.no { color: #8A90AB; }
.rd-plan li.no::before { width: 10px; height: 0; border-left: 0; border-bottom: 2px solid #B8BDD2; transform: none; top: .75em; }
.rd-plans__foot { margin-top: 40px; font-size: 16px; color: var(--rd-mute); max-width: 74ch; }
.rd-plans__foot a { color: var(--rd-ink); font-weight: 600; border-bottom: 2px solid var(--rd-gold); }

/* ── Trust ────────────────────────────────────────────────────── */
.rd-trust { margin-top: 56px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.rd-trust svg { width: 34px; height: 34px; stroke: var(--rd-ink); fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 18px; }
.rd-trust h3 { font: 560 23px/1.15 var(--rd-serif); letter-spacing: -.015em; color: var(--rd-ink); margin-bottom: 10px; }
.rd-trust p { font-size: 15.5px; line-height: 1.55; color: var(--rd-mute); }
.rd-trust a { color: var(--rd-ink); font-weight: 600; border-bottom: 2px solid var(--rd-gold); }

/* ── FAQ ──────────────────────────────────────────────────────── */
.rd-faq { background: var(--rd-chalk); }
.rd-faq__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 80px; align-items: start; }
.rd-faq .faq__list { max-width: none; margin: 0; }
.rd-faq .faq-q { font: 560 21px/1.3 var(--rd-serif); letter-spacing: -.01em; padding: 26px 0; color: var(--rd-ink); }
.rd-faq .faq-item { border-color: var(--rd-line); }
.rd-faq .faq-a { font-size: 16.5px; color: var(--rd-mute); }
.faq-a__in { min-height: 0; overflow: hidden; }

/* ── Closing ──────────────────────────────────────────────────── */
.rd-final { padding: 150px 0; text-align: center; position: relative; overflow: hidden; }
.rd-final::before { content: ''; position: absolute; left: 50%; top: 50%; width: 760px; height: 760px; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle, rgba(255,184,28,.2), rgba(255,184,28,0) 62%); pointer-events: none; }
.rd-final .rd-wrap { position: relative; }
.rd-final h2 { font: 520 clamp(40px, 6vw, 84px)/1 var(--rd-serif); letter-spacing: -.028em; color: #fff; max-width: 14em; margin: 0 auto; text-wrap: balance; }
.rd-final p { margin: 24px auto 0; font-size: 19px; color: rgba(255,255,255,.7); max-width: 44ch; }
.rd-final__cta { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }

/* ── Blog row ─────────────────────────────────────────────────── */
.rd-blog__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 44px; }

/* ── Pricing page ─────────────────────────────────────────────── */
.rd-pagehead { background: var(--rd-chalk); padding: 96px 0 40px; }
.rd-pagehead h1 { font-weight: 540; font-size: clamp(42px, 6.2vw, 88px); line-height: .98; letter-spacing: -.04em; color: var(--rd-ink); max-width: 12em; text-wrap: balance; }
.rd-pagehead p { margin-top: 26px; font-size: 20px; line-height: 1.55; color: var(--rd-mute); max-width: 54ch; }
.rd-plans-sec--top { padding-top: 32px; }
.rd-plans-sec--top .rd-plans { margin-top: 24px; }
.rd-band { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; border-radius: 26px; padding: 40px 44px; background: var(--rd-gold-s); }
.rd-band h3 { font: 560 30px/1.1 var(--rd-serif); letter-spacing: -.02em; color: var(--rd-ink); }
.rd-band p { margin-top: 8px; color: #5B4A1A; max-width: 56ch; font-size: 16.5px; }
.rd-swipe { display: none; font-size: 13px; color: var(--rd-mute); margin-bottom: 10px; }
.rd-matrix-wrap { overflow-x: auto; margin-top: 48px; border-radius: 22px; background: #fff; box-shadow: 0 0 0 1px var(--rd-line); }
.rd-matrix { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 15.5px; }
.rd-matrix th, .rd-matrix td { padding: 16px 22px; border-bottom: 1px solid var(--rd-line); text-align: center; }
.rd-matrix th:first-child, .rd-matrix td:first-child { text-align: left; width: 38%; position: sticky; left: 0; background: #fff; }
.rd-matrix thead th { font: 560 21px var(--rd-serif); letter-spacing: -.01em; padding-top: 26px; padding-bottom: 20px; border-bottom: 2px solid var(--rd-ink); }
.rd-matrix thead th.pop { background: var(--rd-navy); color: #fff; }
.rd-matrix td.pop { background: #F3F5FF; }
.rd-matrix .grp td { text-align: left; font: 560 19px var(--rd-serif); background: var(--rd-chalk); padding: 14px 22px; color: var(--rd-ink); letter-spacing: -.01em; }
.rd-matrix .grp td:first-child { background: var(--rd-chalk); }
.rd-matrix .y { display: inline-block; width: 11px; height: 6px; border-left: 2.5px solid var(--rd-blue); border-bottom: 2.5px solid var(--rd-blue); transform: rotate(-45deg) translateY(-2px); }
.rd-matrix .n { color: #B3B8CE; }
.rd-matrix .p { color: #7A5800; font-weight: 600; font-size: 14px; }
.rd-steps { list-style: none; margin-top: 56px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; counter-reset: s; }
.rd-steps li { counter-increment: s; font-size: 16.5px; line-height: 1.55; color: var(--rd-mute); padding-top: 22px; border-top: 2px solid var(--rd-ink); }
.rd-steps li::before { content: counter(s); display: block; font: 400 64px/1 var(--rd-serif); color: var(--rd-ink); margin-bottom: 14px; letter-spacing: -.04em; }
.rd-steps b { display: block; font: 560 23px/1.15 var(--rd-serif); letter-spacing: -.015em; color: var(--rd-ink); margin-bottom: 8px; }

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .rd-hero__row { grid-template-columns: 1fr; gap: 28px; }
  .rd-stage { width: 100%; padding-left: 0; max-width: 760px; }
  .rd-day__grid { grid-template-columns: 340px minmax(0, 1fr); gap: 48px; }
  .rd-app__panel { padding: 56px 44px; }
  .rd-plans { grid-template-columns: 1fr; max-width: 520px; }
  .rd-plan--pop { transform: none; }
  .rd-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-faq__grid { grid-template-columns: 1fr; gap: 36px; }
}
@media (max-width: 880px) {
  .rd-section, .rd-app { padding: 84px 0; }
  .rd-day { padding-top: 84px; }
  .rd-day__grid { grid-template-columns: 1fr; gap: 0; margin-top: 40px; }
  .rd-rail {
    position: sticky; top: 64px; z-index: 6; height: auto; min-height: 0; margin: 0 -24px; padding: 10px 24px 12px;
    flex-direction: row; align-items: baseline; gap: 16px; background: var(--rd-navy); border-bottom: 1px solid rgba(255,255,255,.14);
  }
  .rd-clock { font-size: 52px; line-height: 1; }
  .rd-rail__job { display: block; margin: 0; font-size: 17px; min-height: 0; }
  .rd-rail__list { display: none; }
  .rd-slot { padding: 44px 0 40px; }
  .rd-app__panel { grid-template-columns: 1fr; padding: 44px 28px 0; border-radius: 28px; }
  .rd-app__phones { min-height: 360px; margin-top: 36px; }
  .rd-app__phones .rd-phone { width: 150px; }
  .rd-app__phones .rd-phone:nth-child(1) { bottom: -90px; }
  .rd-app__phones .rd-phone:nth-child(2) { width: 172px; left: 31%; bottom: -50px; }
  .rd-app__phones .rd-phone:nth-child(3) { bottom: -100px; }
  .rd-band { grid-template-columns: 1fr; padding: 32px 26px; }
  .rd-steps { grid-template-columns: 1fr; gap: 28px; }
  .rd-swipe { display: block; }
  .rd-compare, .rd-compare tbody, .rd-compare tr, .rd-compare th, .rd-compare td { display: block; }
  .rd-compare thead { display: none; }
  .rd-compare tr { padding: 22px 0; border-top: 1px solid var(--rd-line); }
  .rd-compare th, .rd-compare td { padding: 0; border: 0; width: auto !important; }
  .rd-compare td:nth-child(2) { margin: 8px 0 12px; }
  .rd-compare td:last-child { padding-left: 24px; }
  .rd-compare td:last-child::before { top: 7px; }
}
@media (max-width: 640px) {
  .rd-hero { padding: 40px 0 64px; }
  .rd-hero__title { font-size: 40px; text-wrap: balance; }
  .rd-hero__title br { display: none; }
  .rd-hero__row { margin-top: 32px; }
  .rd-hero__cta .rd-btn { width: 100%; }
  .rd-stage { padding: 0 0 8px; }
  .rd-stage > .rd-phone { position: relative; right: auto; bottom: auto; width: 42%; margin: -64px 0 0 auto; }
  .rd-stage .rd-toast { position: relative; left: auto; right: auto; top: auto; bottom: auto; width: auto; margin-top: 10px; }
  .rd-stage .rd-toast--2, .rd-stage .rd-toast--3 { display: none; }
  .rd-stage .rd-toast--1 { margin: 0 0 12px; }
  .rd-proof__stats { gap: 18px 32px; }
  .rd-proof__stats b { font-size: 42px; }
  .rd-compose { padding-bottom: 20px; }
  .rd-compose .rd-phone { position: relative; right: auto; bottom: auto; width: 190px; margin: 18px 0 0 auto; transform: none; }
  .rd-compose .rd-cap { max-width: none; }
  .rd-duo, .rd-phone-notifs { grid-template-columns: 1fr; }
  .rd-duo .rd-phone { max-width: 220px; }
  .rd-phone-notifs { gap: 20px; }
  .rd-phone-notifs .rd-phone { max-width: 200px; }
  .rd-overlap .rd-toast { position: relative; right: auto; bottom: auto; margin-top: 12px; }
  .rd-trust { grid-template-columns: 1fr; gap: 32px; }
  .rd-final { padding: 96px 0; }
  .rd-toast { width: 100%; max-width: 330px; }
}
@media (prefers-reduced-motion: reduce) {
  .rd-stage .rd-toast { opacity: 1; animation: none; }
  .rd-clock .tick { animation: none; }
}

/* ═══════════════════════════════════════════════════════════════════
   v3 — the rest of the site, in the same language
   ═══════════════════════════════════════════════════════════════════ */
.rd-h2--md { font-size: clamp(28px, 3.5vw, 44px); }
.rd-eyebrow {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px;
  font: 600 13px/1.2 'Inter', sans-serif; letter-spacing: .09em; text-transform: uppercase; color: var(--rd-mute);
}
.rd-eyebrow::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--rd-gold); flex: none; }
.rd-dark .rd-eyebrow { color: rgba(255,255,255,.6); }
.rd-bg-chalk { background: var(--rd-chalk); }
.rd-section--tight { padding: 80px 0; }
.rd-section--flush-top { padding-top: 0; }
.rd-link { font-weight: 600; color: var(--rd-ink); border-bottom: 2px solid var(--rd-gold); padding-bottom: 1px; transition: background .2s var(--rd-ease); }
.rd-link:hover { background: var(--rd-gold-s); }
.rd-dark .rd-link { color: #fff; }
.rd-dark .rd-link:hover { background: rgba(255,184,28,.18); }
.rd-btn--sm { font-size: 14.5px; padding: 12px 18px; border-radius: 10px; }
.rd-btn--white { background: #fff; color: var(--rd-ink); }
.rd-btn--white:hover { background: var(--rd-gold-s); }
.rd-btn[disabled] { opacity: .55; cursor: not-allowed; }

/* ── Top strip + navigation ───────────────────────────────────── */
.rd-top { background: var(--rd-navy); color: rgba(255,255,255,.78); font-size: 13.5px; }
.rd-top .rd-wrap { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 38px; }
.rd-top a { color: #fff; border-bottom: 1px solid rgba(255,184,28,.75); }
.rd-top a:hover { background: rgba(255,184,28,.16); }

.rd-nav {
  position: sticky; top: 0; z-index: 60; background: rgba(244,245,250,.88);
  -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px);
  border-bottom: 1px solid transparent; transition: border-color .25s var(--rd-ease), background .25s var(--rd-ease);
}
.rd-nav.nav--scrolled { border-bottom-color: var(--rd-line); background: rgba(255,255,255,.92); }
.rd-nav__inner { display: flex; align-items: center; gap: 28px; height: 72px; }
.rd-nav__logo img { height: 32px; width: auto; }
.rd-nav__links { display: flex; gap: 2px; margin-left: 6px; }
.rd-nav__links > li { position: relative; }
.rd-nav__links > li > a {
  display: inline-flex; align-items: center; gap: 6px; padding: 10px 13px; border-radius: 10px;
  font-size: 15px; font-weight: 500; color: var(--rd-mute); transition: color .2s var(--rd-ease), background .2s var(--rd-ease);
}
.rd-nav__links > li > a:hover { color: var(--rd-ink); background: rgba(10,15,44,.05); }
.rd-nav__links a.is-current { color: var(--rd-ink); box-shadow: inset 0 -2px 0 var(--rd-gold); border-radius: 10px 10px 0 0; }
.rd-nav__caret { width: 10px; height: 10px; stroke: currentColor; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s var(--rd-ease); }
.rd-nav__drop {
  position: absolute; left: -8px; top: calc(100% + 6px); min-width: 250px; padding: 10px; border-radius: 18px; background: #fff;
  box-shadow: 0 30px 60px -28px rgba(10,15,44,.45), 0 0 0 1px var(--rd-line);
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s var(--rd-ease), transform .2s var(--rd-ease), visibility .2s;
}
.rd-nav__drop::before { content: ''; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.rd-nav__links li:hover > .rd-nav__drop, .rd-nav__links li:focus-within > .rd-nav__drop, .nav__has-dropdown.nav__dropdown--open > .rd-nav__drop { opacity: 1; visibility: visible; transform: none; }
.rd-nav__links li:hover .rd-nav__caret, .nav__dropdown--open .rd-nav__caret { transform: rotate(180deg); }
.rd-nav__drop a { display: block; padding: 10px 14px; border-radius: 10px; font-size: 15px; font-weight: 500; color: var(--rd-ink); }
.rd-nav__drop a:hover { background: var(--rd-gold-s); }
.rd-nav__cta { margin-left: auto; display: flex; gap: 10px; align-items: center; }
.rd-nav__toggle { display: none; margin-left: auto; width: 46px; height: 46px; border-radius: 12px; align-items: center; justify-content: center; box-shadow: inset 0 0 0 1.5px var(--rd-ink); color: var(--rd-ink); }
.rd-nav__toggle svg { width: 22px; height: 22px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; }
.rd-nav__toggle .x { display: none; }
.rd-nav.nav--open .rd-nav__toggle .x { display: block; }
.rd-nav.nav--open .rd-nav__toggle .b { display: none; }

.rd-panel { display: none; background: #fff; border-top: 1px solid var(--rd-line); max-height: calc(100vh - 72px); overflow-y: auto; }
.rd-nav.nav--open .rd-panel { display: block; animation: rdPanel .35s var(--rd-ease); }
@keyframes rdPanel { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.rd-panel ul { padding: 12px 0 8px; }
.rd-panel li > a, .rd-panel__head > a { display: block; padding: 14px 0; font: 520 28px/1.1 var(--rd-serif); letter-spacing: -.02em; color: var(--rd-ink); border-bottom: 1px solid var(--rd-line); }
.rd-panel__head { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--rd-line); }
.rd-panel__head > a { flex: 1; border-bottom: 0; }
.nav__mobile-dropdown-toggle { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 10px; color: var(--rd-ink); }
.nav__mobile-dropdown-toggle svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2.4; transition: transform .25s var(--rd-ease); }
.nav__mobile-dropdown--open .nav__mobile-dropdown-toggle svg { transform: rotate(180deg); }
.rd-panel__sub { display: none; padding: 0 0 12px 4px; }
.nav__mobile-dropdown--open .rd-panel__sub { display: block; }
.rd-panel__sub a { display: block; padding: 10px 0; font: 500 16px 'Inter', sans-serif; color: var(--rd-mute); border: 0; letter-spacing: 0; }
.rd-panel__cta { display: grid; gap: 10px; padding: 20px 0 28px; }

@media (max-width: 1040px) {
  .rd-nav__links, .rd-nav__cta { display: none; }
  .rd-nav__toggle { display: inline-flex; }
}
@media (max-width: 640px) {
  .rd-top .rd-wrap > span { display: none; }
  .rd-top .rd-wrap { justify-content: center; }
  .rd-nav__inner { height: 64px; }
  .rd-panel { max-height: calc(100vh - 64px); }
}

/* ── Footer ───────────────────────────────────────────────────── */
.rd-footer { background: var(--rd-navy); color: rgba(255,255,255,.7); padding: 96px 0 36px; }
.rd-footer__sign { font: 300 clamp(30px, 4.4vw, 58px)/1.02 var(--rd-serif); letter-spacing: -.03em; color: #fff; max-width: 15em; margin-bottom: 72px; text-wrap: balance; }
.rd-footer__sign em { font-style: normal; color: var(--rd-gold); }
.rd-footer__top { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 56px; }
.rd-footer__brand img { height: 32px; width: auto; }
.rd-footer__brand p { margin-top: 20px; font-size: 15px; line-height: 1.6; max-width: 36ch; }
.rd-footer__social { display: flex; gap: 8px; margin-top: 24px; }
.rd-footer__social a { min-width: 42px; height: 42px; padding: 0 12px; display: inline-grid; place-items: center; border-radius: 12px; font: 600 13px 'Inter', sans-serif; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.28); transition: background .2s var(--rd-ease), box-shadow .2s var(--rd-ease); }
.rd-footer__social a:hover { background: rgba(255,255,255,.1); box-shadow: inset 0 0 0 1.5px #fff; }
.rd-footer h4 { font: 600 13px/1.2 'Inter', sans-serif; letter-spacing: .09em; text-transform: uppercase; color: #fff; margin-bottom: 20px; }
.rd-footer li + li { margin-top: 12px; }
.rd-footer li a { font-size: 15px; transition: color .2s var(--rd-ease); }
.rd-footer li a:hover { color: #fff; }
.rd-footer__bottom { margin-top: 72px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.14); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 28px; font-size: 14px; color: rgba(255,255,255,.52); }
.rd-footer__bottom a { color: rgba(255,255,255,.78); border-bottom: 1px solid rgba(255,184,28,.6); }
.rd-footer__bottom a:hover { color: #fff; }
.rd-totop {
  position: fixed; right: 22px; bottom: 22px; z-index: 80; width: 48px; height: 48px; border-radius: 50%;
  display: grid; place-items: center; background: var(--rd-ink); color: #fff; box-shadow: 0 16px 30px -12px rgba(10,15,44,.6);
  opacity: 0; transform: translateY(14px) scale(.9); pointer-events: none;
  transition: opacity .3s var(--rd-ease), transform .3s var(--rd-ease), background .2s var(--rd-ease);
}
.rd-totop svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.rd-totop.back-to-top--visible { opacity: 1; transform: none; pointer-events: auto; }
.rd-totop:hover { background: var(--rd-blue); }
@media (max-width: 960px) { .rd-footer__top { grid-template-columns: 1fr 1fr; gap: 44px 32px; } .rd-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .rd-footer { padding: 72px 0 28px; } .rd-footer__top { grid-template-columns: 1fr; } .rd-footer__sign { margin-bottom: 48px; } .rd-totop { right: 14px; bottom: 14px; width: 44px; height: 44px; } }

/* ── Inner-page head extras ───────────────────────────────────── */
.rd-crumb { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-bottom: 30px; font-size: 14.5px; color: var(--rd-mute); }
.rd-crumb a { border-bottom: 1px solid var(--rd-line); }
.rd-crumb a:hover { color: var(--rd-ink); border-color: var(--rd-gold); }
.rd-crumb i { font-style: normal; color: #B3B8CE; }
.rd-pagehead--lg { padding-bottom: 96px; }
.rd-pagehead--plain { background: #fff; border-bottom: 1px solid var(--rd-line); padding-bottom: 56px; }
.rd-pagehead--dark { background: var(--rd-navy); }
.rd-pagehead--dark h1 { color: #fff; }
.rd-pagehead--dark p, .rd-pagehead--dark .rd-crumb { color: rgba(255,255,255,.7); }
.rd-pagehead--dark .rd-crumb a { border-color: rgba(255,255,255,.3); }
.rd-pagehead--dark .rd-crumb a:hover { color: #fff; }
.rd-pagehead .rd-hero__cta { margin-top: 32px; }
.rd-pagehead__meta { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 14.5px; color: var(--rd-mute); }

/* ── Chips and the sticky section nav ─────────────────────────── */
.rd-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.rd-chip { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 999px; background: #fff; font: 500 15px/1.2 'Inter', sans-serif; color: var(--rd-ink); box-shadow: inset 0 0 0 1.5px var(--rd-line); transition: box-shadow .2s var(--rd-ease), background .2s var(--rd-ease); white-space: nowrap; }
.rd-chip:hover { box-shadow: inset 0 0 0 1.5px var(--rd-ink); }
.rd-chip.is-on { background: var(--rd-ink); color: #fff; box-shadow: none; }
.rd-subnav { position: sticky; top: 72px; z-index: 40; background: rgba(255,255,255,.94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--rd-line); }
.rd-subnav .rd-wrap { overflow-x: auto; scrollbar-width: none; }
.rd-subnav .rd-wrap::-webkit-scrollbar { display: none; }
.rd-subnav .rd-chips { flex-wrap: nowrap; padding: 12px 0; }
@media (max-width: 640px) { .rd-subnav { top: 64px; } }

/* ── Feature rows (features page) ─────────────────────────────── */
.rd-feat { padding: 96px 0; border-top: 1px solid var(--rd-line); scroll-margin-top: 130px; }
.rd-feat:first-of-type { border-top: 0; }
.rd-feat__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); gap: 72px; align-items: start; }
.rd-feat__head { position: sticky; top: 150px; }
.rd-feat__n { display: block; font: 300 clamp(72px, 9vw, 128px)/.86 var(--rd-serif); letter-spacing: -.05em; font-variant-numeric: lining-nums; color: var(--rd-ink); margin-bottom: 22px; }
.rd-feat__body .rd-lede { max-width: 60ch; }
.rd-feat__body .rd-btn { margin-top: 36px; }
.rd-feat--dark { background: var(--rd-navy); color: #fff; border-top: 0; }
.rd-feat--dark .rd-feat__n, .rd-feat--dark .rd-h2 { color: #fff; }
.rd-feat--dark .rd-eyebrow { color: rgba(255,255,255,.6); }
.rd-feat--dark .rd-lede { color: rgba(255,255,255,.72); }
.rd-checks { margin-top: 30px; display: grid; gap: 13px; max-width: 62ch; }
.rd-checks li { position: relative; padding-left: 30px; font-size: 16px; line-height: 1.5; color: var(--rd-ink); }
.rd-checks li::before { content: ''; position: absolute; left: 1px; top: .5em; width: 13px; height: 7px; border-left: 2.5px solid var(--rd-blue); border-bottom: 2.5px solid var(--rd-blue); transform: rotate(-45deg); }
.rd-checks--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 44px; max-width: none; }
.rd-dark .rd-checks li, .rd-feat--dark .rd-checks li { color: rgba(255,255,255,.9); }
.rd-dark .rd-checks li::before, .rd-feat--dark .rd-checks li::before { border-color: var(--rd-gold); }
.rd-note { margin-top: 26px; padding: 18px 22px; border-radius: 14px; background: var(--rd-gold-s); color: #5B4A1A; font-size: 15.5px; max-width: 62ch; }
@media (max-width: 960px) {
  .rd-feat { padding: 64px 0; }
  .rd-feat__grid { grid-template-columns: 1fr; gap: 20px; }
  .rd-feat__head { position: static; display: flex; align-items: baseline; gap: 18px; }
  .rd-feat__n { font-size: 64px; margin: 0; }
  .rd-feat__head .rd-eyebrow { margin: 0; }
  .rd-checks--2 { grid-template-columns: 1fr; }
}

/* ── Generic grids, cells and rows ────────────────────────────── */
.rd-grid2, .rd-grid3, .rd-grid4 { display: grid; gap: 52px 44px; margin-top: 56px; }
.rd-grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rd-grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rd-grid4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rd-cell { padding-top: 22px; border-top: 2px solid var(--rd-ink); }
.rd-cell__k { display: block; margin-bottom: 8px; font: 600 12.5px/1.2 'Inter', sans-serif; letter-spacing: .09em; text-transform: uppercase; color: var(--rd-mute); }
.rd-cell h3 { font: 560 24px/1.15 var(--rd-serif); letter-spacing: -.015em; color: var(--rd-ink); margin-bottom: 10px; }
.rd-cell p { font-size: 16px; line-height: 1.6; color: var(--rd-mute); }
.rd-cell .rd-checks { margin-top: 18px; gap: 10px; }
.rd-cell .rd-checks li { font-size: 15.5px; color: var(--rd-mute); }
.rd-rows { margin-top: 48px; }
.rd-rows > li { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 40px; padding: 30px 0; border-top: 1px solid var(--rd-line); }
.rd-rows > li:last-child { border-bottom: 1px solid var(--rd-line); }
.rd-rows h3, .rd-rows h4 { font: 560 23px/1.2 var(--rd-serif); letter-spacing: -.015em; color: var(--rd-ink); }
.rd-rows p { font-size: 16.5px; line-height: 1.6; color: var(--rd-mute); max-width: 62ch; }
.rd-timeline > li { grid-template-columns: 220px minmax(0, 1fr); align-items: start; padding: 34px 0; }
.rd-timeline .yr { font: 300 56px/.95 var(--rd-serif); letter-spacing: -.04em; font-variant-numeric: lining-nums; color: var(--rd-ink); }
.rd-timeline h3 { margin-bottom: 8px; }
.rd-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 80px; align-items: start; }
.rd-split__head { position: sticky; top: 110px; }
.rd-copy p { font-size: 18.5px; line-height: 1.7; color: var(--rd-mute); margin-bottom: 24px; max-width: 62ch; }
.rd-copy strong { color: var(--rd-ink); font-weight: 600; }
.rd-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
.rd-stats b { display: block; font: 500 clamp(40px, 5vw, 64px)/1 var(--rd-serif); letter-spacing: -.03em; font-variant-numeric: lining-nums tabular-nums; color: var(--rd-ink); margin-bottom: 8px; }
.rd-stats span { font-size: 15px; color: var(--rd-mute); }
.rd-dark .rd-stats b { color: #fff; }
.rd-dark .rd-stats span { color: rgba(255,255,255,.6); }
.rd-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin-top: 48px; }
.rd-facts div { padding-top: 18px; border-top: 2px solid var(--rd-ink); }
.rd-facts dt { font: 600 12.5px/1.2 'Inter', sans-serif; letter-spacing: .09em; text-transform: uppercase; color: var(--rd-mute); margin-bottom: 8px; }
.rd-facts dd { font: 520 28px/1.1 var(--rd-serif); letter-spacing: -.02em; color: var(--rd-ink); }
.rd-cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.rd-center { text-align: center; }
.rd-center .rd-lede, .rd-center .rd-h2 { margin-left: auto; margin-right: auto; }
.rd-center .rd-cta-row { justify-content: center; }
@media (max-width: 960px) {
  .rd-grid3, .rd-grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-split { grid-template-columns: 1fr; gap: 28px; }
  .rd-split__head { position: static; }
  .rd-stats, .rd-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-rows > li { grid-template-columns: 1fr; gap: 10px; }
  .rd-timeline > li { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 640px) {
  .rd-grid2, .rd-grid3, .rd-grid4 { grid-template-columns: 1fr; margin-top: 40px; gap: 40px; }
  .rd-stats, .rd-facts { gap: 24px 16px; }
}

/* ── Schools page ─────────────────────────────────────────────── */
.rd-schools { margin-top: 56px; }
.rd-schools > li { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 3fr); gap: 44px; padding: 38px 0; border-top: 1px solid var(--rd-line); align-items: start; }
.rd-schools > li:last-child { border-bottom: 1px solid var(--rd-line); }
.rd-school__name { font: 540 clamp(26px, 2.8vw, 34px)/1.05 var(--rd-serif); letter-spacing: -.025em; color: var(--rd-ink); }
.rd-school__loc { margin-top: 8px; font-size: 14.5px; color: var(--rd-mute); }
.rd-schools p { font-size: 16.5px; line-height: 1.6; color: var(--rd-mute); }
.rd-mods { display: flex; flex-wrap: wrap; gap: 8px; }
.rd-mod { padding: 5px 12px; border-radius: 999px; font: 600 12.5px/1.4 'Inter', sans-serif; color: var(--rd-ink); box-shadow: inset 0 0 0 1.5px var(--rd-line); }
.rd-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px; margin-top: 56px; }
.rd-quotes blockquote { font: 500 23px/1.35 var(--rd-serif); letter-spacing: -.012em; color: var(--rd-ink); }
.rd-quotes figcaption { margin-top: 18px; font-size: 14.5px; color: var(--rd-mute); }
.rd-quotes figcaption b { display: block; color: var(--rd-ink); font-weight: 600; }
.rd-quotes figure { padding-top: 22px; border-top: 2px solid var(--rd-ink); }
@media (max-width: 960px) { .rd-schools > li { grid-template-columns: 1fr; gap: 16px; } .rd-quotes { grid-template-columns: 1fr; gap: 36px; } }

/* ── Forms ────────────────────────────────────────────────────── */
.rd-form { display: grid; gap: 22px; }
.rd-row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.rd-field { display: grid; gap: 8px; align-content: start; }
.rd-field > label, .rd-legend { font: 600 14.5px/1.3 'Inter', sans-serif; color: var(--rd-ink); }
.rd-field .req { color: var(--rd-bad); margin-left: 2px; }
.rd-field .opt { font-weight: 400; color: var(--rd-mute); }
.rd-input, .rd-select, .rd-textarea {
  width: 100%; padding: 15px 16px; border: 0; border-radius: 12px; background: #fff; color: var(--rd-ink);
  font: 400 16px/1.4 'Inter', sans-serif; box-shadow: inset 0 0 0 1.5px var(--rd-line);
  transition: box-shadow .2s var(--rd-ease); -webkit-appearance: none; appearance: none;
}
.rd-input::placeholder, .rd-textarea::placeholder { color: #9AA0B8; }
.rd-input:hover, .rd-select:hover, .rd-textarea:hover { box-shadow: inset 0 0 0 1.5px #C3C8DB; }
.rd-input:focus, .rd-select:focus, .rd-textarea:focus { outline: none; box-shadow: inset 0 0 0 2px var(--rd-blue), 0 0 0 5px rgba(27,86,245,.14); }
.rd-input:user-invalid, .rd-select:user-invalid, .rd-textarea:user-invalid { box-shadow: inset 0 0 0 2px var(--rd-bad); }
.rd-select { padding-right: 46px; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230A0F2C' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.rd-textarea { min-height: 140px; resize: vertical; }
.rd-hint { font-size: 13.5px; color: var(--rd-mute); line-height: 1.5; }
.rd-hint a { color: var(--rd-ink); font-weight: 600; border-bottom: 2px solid var(--rd-gold); }
.rd-hp { position: absolute; left: -9999px; top: -9999px; }
.rd-alert { padding: 16px 20px; border-radius: 14px; font-size: 15px; line-height: 1.55; }
.rd-alert--bad { background: var(--rd-bad-s); color: #7A271A; box-shadow: inset 0 0 0 1px #F6C7C1; }
.rd-alert--ok { background: var(--rd-ok-s); color: #14532D; box-shadow: inset 0 0 0 1px #B7E4C7; }
.rd-alert a { font-weight: 600; border-bottom: 2px solid var(--rd-gold); }
.rd-card { background: #fff; border-radius: 26px; padding: 44px; box-shadow: var(--rd-ring); }
.rd-card--lift { box-shadow: 0 40px 70px -46px rgba(10,15,44,.4), var(--rd-ring); }
.rd-card h2 { font: 540 32px/1.08 var(--rd-serif); letter-spacing: -.025em; color: var(--rd-ink); }
.rd-card__sub { margin-top: 10px; margin-bottom: 28px; color: var(--rd-mute); font-size: 16px; }
.rd-small { font-size: 13.5px; color: var(--rd-mute); line-height: 1.55; }
.rd-small a { color: var(--rd-ink); font-weight: 600; border-bottom: 2px solid var(--rd-gold); }
.rd-form .rd-btn--block { white-space: normal; }

/* radio / checkbox choices (plans, contact method, quiz answers) */
.rd-choices { display: grid; gap: 12px; }
.rd-choices--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rd-choice { position: relative; display: block; cursor: pointer; }
.rd-choice input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; cursor: pointer; }
.rd-choice__body {
  display: flex; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 16px; background: #fff; min-height: 64px;
  box-shadow: inset 0 0 0 1.5px var(--rd-line); transition: box-shadow .2s var(--rd-ease), background .2s var(--rd-ease), transform .2s var(--rd-ease);
}
.rd-choice:hover .rd-choice__body { box-shadow: inset 0 0 0 1.5px var(--rd-ink); }
.rd-choice input:checked + .rd-choice__body { box-shadow: inset 0 0 0 2px var(--rd-ink); background: var(--rd-gold-s); }
.rd-choice input:focus-visible + .rd-choice__body { outline: 3px solid var(--rd-blue); outline-offset: 3px; }
.rd-choice__mark {
  flex: none; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--rd-chalk);
  font: 600 14px/1 'Inter', sans-serif; color: var(--rd-ink); transition: background .2s var(--rd-ease), color .2s var(--rd-ease);
}
.rd-choice__mark--dot { width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1.5px #B3B8CE; }
.rd-choice input:checked + .rd-choice__body .rd-choice__mark { background: var(--rd-ink); color: #fff; }
.rd-choice input:checked + .rd-choice__body .rd-choice__mark--dot { background: var(--rd-gold); box-shadow: inset 0 0 0 5px var(--rd-gold), inset 0 0 0 9px var(--rd-ink); }
.rd-choice__text { font-size: 16.5px; line-height: 1.4; color: var(--rd-ink); }
.rd-choice__text small { display: block; margin-top: 2px; font-size: 14px; color: var(--rd-mute); }
.rd-choice__price { margin-left: auto; padding-left: 12px; font: 600 15px 'Inter', sans-serif; color: var(--rd-ink); white-space: nowrap; text-align: right; }
.rd-choice__flag { display: inline-block; margin-bottom: 4px; padding: 2px 9px; border-radius: 999px; background: var(--rd-gold); color: #2A1B00; font: 600 11.5px/1.5 'Inter', sans-serif; }
.rd-choice--center .rd-choice__body { flex-direction: column; justify-content: center; text-align: center; gap: 6px; padding: 20px 12px; }

/* progress + steps (assessment, onboarding, research) */
.rd-progress { display: flex; align-items: center; gap: 18px; margin-bottom: 26px; }
.rd-progress__track { flex: 1; height: 6px; border-radius: 999px; background: var(--rd-line); }
.rd-progress__fill { position: relative; height: 100%; width: 0; border-radius: 999px; background: var(--rd-ink); transition: width .5s var(--rd-ease); }
.rd-progress__fill::after { content: ''; position: absolute; right: -2px; top: 50%; width: 14px; height: 14px; margin-top: -7px; border-radius: 50%; background: var(--rd-gold); box-shadow: 0 0 0 3px #fff; }
.rd-progress__pct { font: 500 22px/1 var(--rd-serif); font-variant-numeric: tabular-nums lining-nums; color: var(--rd-ink); min-width: 3.2ch; text-align: right; }
.rd-stepper__labels { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 14px; font-size: 14px; font-weight: 500; color: #8A90AB; }
.rd-stepper__labels .is-active { color: var(--rd-ink); font-weight: 600; }
.rd-stepper__labels .is-done { color: var(--rd-ink); }
.rd-stepper .rd-progress__track { margin-bottom: 24px; }
.rd-shell { background: #fff; border-radius: 26px; padding: 52px 52px 44px; box-shadow: 0 40px 70px -46px rgba(10,15,44,.4), var(--rd-ring); min-height: 460px; position: relative; }
.js-step .rd-step { display: none; }
.js-step .rd-step.is-active { display: block; animation: rdStep .5s var(--rd-ease); }
@keyframes rdStep { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
.rd-step + .rd-step { margin-top: 56px; }
.js-step .rd-step + .rd-step { margin-top: 0; }
.rd-step__count { font-size: 14px; color: var(--rd-mute); margin-bottom: 6px; }
.rd-step__q { font: 520 clamp(26px, 3.3vw, 38px)/1.12 var(--rd-serif); letter-spacing: -.025em; color: var(--rd-ink); text-wrap: balance; margin-bottom: 28px; }
.rd-step__q--sm { font-size: clamp(24px, 2.8vw, 30px); }
.rd-step__hint { margin-top: -14px; margin-bottom: 26px; color: var(--rd-mute); font-size: 16px; max-width: 56ch; }
.rd-step__actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 34px; }
.rd-ob { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
.rd-ob .rd-shell { min-height: 0; padding: 44px; }
.rd-ob__side { position: sticky; top: 110px; display: grid; gap: 20px; }
.rd-tl { display: grid; gap: 0; counter-reset: t; }
.rd-tl li { position: relative; counter-increment: t; padding: 0 0 26px 52px; font-size: 15px; line-height: 1.5; color: var(--rd-mute); }
.rd-tl li:last-child { padding-bottom: 0; }
.rd-tl li::before { content: counter(t); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font: 500 17px/1 var(--rd-serif); color: var(--rd-ink); box-shadow: inset 0 0 0 1.5px var(--rd-ink); }
.rd-tl li::after { content: ''; position: absolute; left: 16.5px; top: 40px; bottom: 6px; width: 1px; background: var(--rd-line); }
.rd-tl li:last-child::after { display: none; }
.rd-tl b { display: block; margin-bottom: 2px; font: 560 18px/1.25 var(--rd-serif); color: var(--rd-ink); letter-spacing: -.01em; }
.rd-review { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 0; border-radius: 16px; background: var(--rd-chalk); padding: 8px 22px; margin-bottom: 20px; }
.rd-review dt, .rd-review dd { padding: 13px 0; border-bottom: 1px solid var(--rd-line); font-size: 15.5px; }
.rd-review dt { color: var(--rd-mute); }
.rd-review dd { color: var(--rd-ink); font-weight: 500; word-break: break-word; }
.rd-review dt:nth-last-of-type(1), .rd-review dd:last-of-type { border-bottom: 0; }
.rd-consent { background: var(--rd-chalk); border-radius: 16px; padding: 22px 24px; font-size: 15px; color: var(--rd-mute); line-height: 1.65; margin-bottom: 22px; }
.rd-consent p + p { margin-top: 12px; }
.rd-consent ul { list-style: disc; padding-left: 20px; margin-top: 12px; display: grid; gap: 6px; }
.rd-pills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 8px 0 4px; }
.rd-pill-s { padding: 16px 18px; border-radius: 14px; background: var(--rd-chalk); font-size: 14px; color: var(--rd-mute); }
.rd-pill-s b { display: block; font: 520 24px/1.1 var(--rd-serif); letter-spacing: -.015em; color: var(--rd-ink); margin-bottom: 2px; }
.rd-quizwrap { max-width: 820px; margin: 0 auto; }
.rd-quizfoot { margin-top: 22px; text-align: center; }
.rd-hero-lite { background: var(--rd-chalk); padding: 80px 0 120px; }
.rd-hero-lite h1 { font: 540 clamp(38px, 5.6vw, 76px)/1 var(--rd-serif); font-variation-settings: 'SOFT' 40; letter-spacing: -.036em; color: var(--rd-ink); max-width: 14em; text-wrap: balance; }
.rd-hero-lite p { margin-top: 22px; font-size: 19px; line-height: 1.55; color: var(--rd-mute); max-width: 54ch; }
.rd-overlap-up { margin-top: -64px; position: relative; z-index: 2; padding-bottom: 110px; }
.rd-done { max-width: 680px; margin: 0 auto; text-align: left; }
.rd-done__tick { width: 68px; height: 68px; border-radius: 50%; background: var(--rd-gold); display: grid; place-items: center; margin-bottom: 28px; }
.rd-done__tick svg { width: 30px; height: 30px; stroke: #2A1B00; fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.rd-done h2 { font: 540 clamp(32px, 4vw, 46px)/1.05 var(--rd-serif); letter-spacing: -.03em; margin-bottom: 14px; }
.rd-done > p { color: var(--rd-mute); font-size: 17px; margin-bottom: 30px; }
.rd-done .rd-tl { margin-bottom: 34px; }
@media (max-width: 960px) {
  .rd-ob { grid-template-columns: 1fr; }
  .rd-ob__side { position: static; }
  .rd-shell { padding: 36px 26px 30px; }
  .rd-ob .rd-shell, .rd-card { padding: 30px 22px; }
}
@media (max-width: 640px) {
  .rd-row2, .rd-choices--3, .rd-pills { grid-template-columns: 1fr; }
  .rd-stepper__labels { font-size: 12.5px; }
  .rd-review { grid-template-columns: 100px minmax(0, 1fr); padding: 6px 16px; }
  .rd-step__actions .rd-btn { flex: 1; }
  .rd-hero-lite { padding: 56px 0 100px; }
  .rd-overlap-up { margin-top: -48px; }
}

/* ── Assessment report ────────────────────────────────────────── */
.rd-score { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px 36px; margin-top: 30px; }
.rd-score__n { font: 300 clamp(96px, 15vw, 200px)/.82 var(--rd-serif); letter-spacing: -.06em; font-variant-numeric: lining-nums; color: #fff; }
.rd-score__n sup { font-size: .32em; letter-spacing: 0; vertical-align: top; color: var(--rd-gold); margin-left: .06em; }
.rd-score__tier { font: 540 clamp(26px, 3vw, 38px)/1.1 var(--rd-serif); letter-spacing: -.02em; color: #fff; padding-bottom: 6px; }
.rd-score__tier small { display: block; margin-bottom: 6px; font: 500 15px 'Inter', sans-serif; letter-spacing: 0; color: rgba(255,255,255,.65); }
.rd-bars { display: grid; gap: 22px; margin-top: 36px; max-width: 760px; }
.rd-bar__top { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 9px; font-size: 16px; font-weight: 600; color: var(--rd-ink); }
.rd-bar__top span:last-child { font: 500 20px/1 var(--rd-serif); font-variant-numeric: tabular-nums; }
.rd-bar__track { height: 10px; border-radius: 999px; background: var(--rd-line); overflow: hidden; }
.rd-bar__fill { height: 100%; border-radius: 999px; background: var(--rd-ink); }
.rd-bar--weak .rd-bar__fill { background: var(--rd-gold); }
.rd-bars__key { margin-top: 18px; font-size: 14px; color: var(--rd-mute); }
.rd-vs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 18px; }
.rd-vs > div { border-radius: 22px; padding: 30px 30px 26px; }
.rd-vs h4 { font: 560 22px/1.1 var(--rd-serif); letter-spacing: -.015em; margin-bottom: 16px; }
.rd-vs ul { display: grid; gap: 12px; }
.rd-vs li { position: relative; padding-left: 26px; font-size: 15.5px; line-height: 1.5; }
.rd-vs__was { background: var(--rd-chalk); color: var(--rd-mute); }
.rd-vs__was li::before { content: ''; position: absolute; left: 0; top: .78em; width: 12px; height: 2px; background: #B3B8CE; }
.rd-vs__now { background: var(--rd-navy); color: #fff; }
.rd-vs__now h4 { color: #fff; }
.rd-vs__now li::before { content: ''; position: absolute; left: 1px; top: .5em; width: 12px; height: 6px; border-left: 2.5px solid var(--rd-gold); border-bottom: 2.5px solid var(--rd-gold); transform: rotate(-45deg); }
.rd-gap-block + .rd-gap-block { margin-top: 48px; }
@media (max-width: 760px) { .rd-vs { grid-template-columns: 1fr; } }

/* ── Blog + resources ─────────────────────────────────────────── */
.rd-blog { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 72px; align-items: start; }
.rd-posts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 36px; }
.rd-posts--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rd-post { display: flex; flex-direction: column; }
.rd-post__media { display: block; overflow: hidden; border-radius: 18px; background: var(--rd-chalk); aspect-ratio: 16 / 10; }
.rd-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--rd-ease); }
.rd-post:hover .rd-post__media img { transform: scale(1.035); }
.rd-post__ph { width: 100%; height: 100%; display: grid; place-items: center; background: var(--rd-navy); font: 300 110px/1 var(--rd-serif); color: var(--rd-gold); }
.rd-post__body { padding-top: 20px; }
.rd-post__cat { display: inline-block; margin-bottom: 10px; font: 600 12.5px/1.2 'Inter', sans-serif; letter-spacing: .09em; text-transform: uppercase; color: var(--rd-mute); }
.rd-post__cat:hover { color: var(--rd-ink); }
.rd-post__title { font: 560 25px/1.15 var(--rd-serif); letter-spacing: -.018em; color: var(--rd-ink); text-wrap: balance; }
.rd-post__title a { background-image: linear-gradient(var(--rd-gold), var(--rd-gold)); background-size: 0 2px; background-repeat: no-repeat; background-position: 0 96%; transition: background-size .35s var(--rd-ease); }
.rd-post__title a:hover { background-size: 100% 2px; }
.rd-post__ex { margin-top: 12px; font-size: 16px; line-height: 1.6; color: var(--rd-mute); }
.rd-post__meta { margin-top: 14px; font-size: 14px; color: #8A90AB; }
.rd-post--feat { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.rd-post--feat .rd-post__body { padding-top: 0; }
.rd-post--feat .rd-post__title { font-size: clamp(30px, 3.2vw, 42px); line-height: 1.06; }
.rd-side { display: grid; gap: 44px; position: sticky; top: 110px; }
.rd-side h3 { font: 600 13px/1.2 'Inter', sans-serif; letter-spacing: .09em; text-transform: uppercase; color: var(--rd-mute); margin-bottom: 14px; padding-bottom: 12px; border-bottom: 2px solid var(--rd-ink); }
.rd-side__cats a { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--rd-line); font-size: 15.5px; color: var(--rd-ink); }
.rd-side__cats a:hover, .rd-side__cats a.is-on { font-weight: 600; box-shadow: inset 3px 0 0 var(--rd-gold); padding-left: 12px; }
.rd-side__cats span { color: #8A90AB; font-variant-numeric: tabular-nums; }
.rd-side__recent li { padding: 12px 0; border-bottom: 1px solid var(--rd-line); }
.rd-side__recent a { font: 520 17px/1.3 var(--rd-serif); color: var(--rd-ink); }
.rd-side__recent a:hover { text-decoration: underline; text-decoration-color: var(--rd-gold); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.rd-side__recent time { display: block; margin-top: 4px; font-size: 13px; color: #8A90AB; }
.rd-sidecta { background: var(--rd-navy); color: #fff; border-radius: 22px; padding: 28px 26px; }
.rd-sidecta h4 { font: 540 25px/1.1 var(--rd-serif); letter-spacing: -.02em; margin-bottom: 8px; }
.rd-sidecta p { font-size: 15px; color: rgba(255,255,255,.7); margin-bottom: 20px; }
.rd-pager { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 64px; }
.rd-pager a, .rd-pager span { min-width: 46px; height: 46px; padding: 0 12px; display: inline-grid; place-items: center; border-radius: 12px; font: 500 15px 'Inter', sans-serif; color: var(--rd-ink); box-shadow: inset 0 0 0 1.5px var(--rd-line); transition: box-shadow .2s var(--rd-ease); }
.rd-pager a:hover { box-shadow: inset 0 0 0 1.5px var(--rd-ink); }
.rd-pager .current { background: var(--rd-ink); color: #fff; box-shadow: none; }
.rd-empty { padding: 56px 0 80px; font-size: 18px; color: var(--rd-mute); }
.rd-empty a { color: var(--rd-ink); font-weight: 600; border-bottom: 2px solid var(--rd-gold); }
.rd-article { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 72px; align-items: start; padding: 56px 0 110px; }
.rd-cover { width: 100%; max-height: 520px; object-fit: cover; border-radius: 22px; margin-bottom: 44px; }
.rd-share { margin-top: 52px; padding-top: 26px; border-top: 1px solid var(--rd-line); display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.rd-share > span { font-size: 14px; color: var(--rd-mute); margin-left: auto; }
.rd-related { padding: 0 0 110px; }
.rd-related h2 { margin-bottom: 40px; }

/* rich text from the editor, legal pages */
.rd-prose { font-size: 18px; line-height: 1.78; color: #3A4160; max-width: 70ch; }
.rd-prose > *:first-child { margin-top: 0; }
.rd-prose h2 { font: 560 clamp(26px, 3vw, 34px)/1.12 var(--rd-serif); letter-spacing: -.022em; color: var(--rd-ink); margin: 52px 0 16px; }
.rd-prose h3 { font: 560 24px/1.2 var(--rd-serif); letter-spacing: -.015em; color: var(--rd-ink); margin: 38px 0 12px; }
.rd-prose h4 { font: 600 17px/1.3 'Inter', sans-serif; color: var(--rd-ink); margin: 28px 0 8px; }
.rd-prose p { margin-bottom: 22px; }
.rd-prose strong { color: var(--rd-ink); font-weight: 600; }
.rd-prose ul, .rd-prose ol { margin: 0 0 24px; display: grid; gap: 10px; }
.rd-prose ul li { position: relative; padding-left: 28px; }
.rd-prose ul li::before { content: ''; position: absolute; left: 0; top: .82em; width: 14px; height: 2px; background: var(--rd-gold); }
.rd-prose ol { counter-reset: n; }
.rd-prose ol li { position: relative; padding-left: 36px; counter-increment: n; }
.rd-prose ol li::before { content: counter(n); position: absolute; left: 0; top: .02em; font: 500 22px/1.4 var(--rd-serif); color: var(--rd-ink); }
.rd-prose a { color: var(--rd-ink); font-weight: 500; border-bottom: 2px solid var(--rd-gold); }
.rd-prose a:hover { background: var(--rd-gold-s); }
.rd-prose blockquote { margin: 36px 0; padding-left: 24px; border-left: 3px solid var(--rd-gold); font: 500 25px/1.4 var(--rd-serif); letter-spacing: -.01em; color: var(--rd-ink); }
.rd-prose img { border-radius: 16px; margin: 30px 0; }
.rd-prose hr { border: 0; border-top: 1px solid var(--rd-line); margin: 44px 0; }
.rd-prose pre { background: var(--rd-chalk); border-radius: 14px; padding: 22px; overflow-x: auto; font-size: 14.5px; line-height: 1.6; margin-bottom: 24px; }
.rd-prose code { font-size: .88em; background: var(--rd-chalk); padding: 2px 6px; border-radius: 6px; }
.rd-prose pre code { background: none; padding: 0; }
.rd-prose table { width: 100%; border-collapse: collapse; margin-bottom: 26px; font-size: 16px; display: block; overflow-x: auto; }
.rd-prose th, .rd-prose td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--rd-line); }
.rd-prose th { font-weight: 600; color: var(--rd-ink); border-bottom: 2px solid var(--rd-ink); }
.rd-legal { padding: 64px 0 120px; }
.rd-legal .rd-prose { font-size: 17.5px; }
@media (max-width: 1040px) {
  .rd-blog, .rd-article { grid-template-columns: 1fr; gap: 56px; }
  .rd-side { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-side > :last-child { grid-column: 1 / -1; }
  .rd-posts--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .rd-posts, .rd-posts--3, .rd-side { grid-template-columns: 1fr; }
  .rd-post--feat { grid-template-columns: 1fr; gap: 0; }
  .rd-post--feat .rd-post__body { padding-top: 20px; }
  .rd-prose { font-size: 17px; }
}

.rd-filter { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)) auto auto; gap: 12px; align-items: stretch; margin-bottom: 18px; }
.rd-filter .rd-input, .rd-filter .rd-select { padding-top: 13px; padding-bottom: 13px; }
.rd-count { margin: 6px 0 36px; font-size: 14.5px; color: var(--rd-mute); }
.rd-resgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 28px; }
.rd-res { position: relative; display: flex; flex-direction: column; border-radius: 22px; background: #fff; box-shadow: var(--rd-ring); overflow: hidden; transition: box-shadow .3s var(--rd-ease), transform .3s var(--rd-ease); }
.rd-res:hover { transform: translateY(-3px); box-shadow: 0 30px 50px -30px rgba(10,15,44,.35), 0 0 0 1px var(--rd-ink); }
.rd-res__cover { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--rd-chalk); }
.rd-res__ph { aspect-ratio: 16 / 9; display: grid; place-items: center; background: var(--rd-chalk); font-size: 44px; }
.rd-res__feat { position: absolute; top: 14px; left: 14px; z-index: 2; padding: 4px 11px; border-radius: 999px; background: var(--rd-gold); color: #2A1B00; font: 600 12px/1.5 'Inter', sans-serif; }
.rd-res__body { display: flex; flex-direction: column; gap: 10px; padding: 22px 24px 24px; flex: 1; }
.rd-badges-s { display: flex; flex-wrap: wrap; gap: 6px; }
.rd-badge { display: inline-block; padding: 3px 11px; border-radius: 999px; font: 600 12px/1.5 'Inter', sans-serif; background: var(--rd-chalk); color: var(--rd-mute); }
.rd-badge--ink { background: var(--rd-ink); color: #fff; }
.rd-res__title { font: 560 21px/1.2 var(--rd-serif); letter-spacing: -.012em; color: var(--rd-ink); }
.rd-res__desc { font-size: 15px; line-height: 1.55; color: var(--rd-mute); }
.rd-res__meta { font-size: 13px; color: #8A90AB; margin-top: auto; padding-top: 4px; }
.rd-res .rd-btn { margin-top: 8px; width: 100%; }
@media (max-width: 1040px) { .rd-resgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rd-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rd-filter > .rd-input { grid-column: 1 / -1; } }
@media (max-width: 640px) { .rd-resgrid, .rd-filter { grid-template-columns: 1fr; } }
.rd-modal { position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(10,15,44,.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.rd-modal.is-open { display: flex; animation: rdPanel .3s var(--rd-ease); }
.rd-modal__box { position: relative; width: 100%; max-width: 500px; border-radius: 26px; background: #fff; padding: 40px 36px 34px; box-shadow: 0 50px 90px -30px rgba(0,0,0,.6); }
.rd-modal__x { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; font-size: 26px; line-height: 1; color: var(--rd-mute); display: grid; place-items: center; }
.rd-modal__x:hover { background: var(--rd-chalk); color: var(--rd-ink); }
.rd-modal__box img { height: 30px; width: auto; margin-bottom: 22px; }
.rd-modal__box h3 { font: 540 28px/1.1 var(--rd-serif); letter-spacing: -.02em; margin-bottom: 12px; }
.rd-modal__box p { font-size: 15.5px; color: var(--rd-mute); margin-bottom: 22px; }
.rd-modal__row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.rd-modal__row .rd-btn { flex: 1; }

/* ── FAQ (shared accordion, hook classes used by main.js) ─────── */
.faq__list { max-width: 760px; }
.faq-item { border-bottom: 1px solid var(--rd-line); }
.faq-item:first-child { border-top: 1px solid var(--rd-line); }
.faq-q { width: 100%; text-align: left; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0; font: 600 17px/1.35 'Inter', sans-serif; color: var(--rd-ink); }
.faq-q svg { flex: none; transition: transform .3s var(--rd-ease); }
.faq-item.open .faq-q svg { transform: rotate(45deg); }
.faq-a { display: grid; grid-template-rows: 0fr; opacity: 0; overflow: hidden; font-size: 16px; line-height: 1.7; color: var(--rd-mute); transition: grid-template-rows .4s var(--rd-ease), opacity .3s var(--rd-ease), padding-bottom .4s var(--rd-ease); }
.faq-item.open .faq-a { grid-template-rows: 1fr; opacity: 1; padding-bottom: 22px; }

/* ═══════════════════════════════════════════════════════════════════
   Admin panel (body.rd-admin) — same tokens, loaded after main.css
   ═══════════════════════════════════════════════════════════════════ */
.rd-admin { background: var(--rd-chalk); color: var(--rd-ink); font-family: 'Inter', system-ui, sans-serif; }
.rd-admin a:focus-visible, .rd-admin button:focus-visible { outline: 3px solid var(--rd-blue); outline-offset: 3px; border-radius: 6px; }
.rd-admin .admin-sidebar { width: 256px; background: var(--rd-navy); color: rgba(255,255,255,.7); }
.rd-admin .admin-logo { padding: 28px 24px 22px; border-bottom: 1px solid rgba(255,255,255,.1); }
.rd-admin .admin-logo a { font: 560 28px/1 var(--rd-serif); letter-spacing: -.025em; color: #fff; }
.rd-admin .admin-logo a span { color: var(--rd-gold); }
.rd-admin .admin-logo small { margin-top: 8px; font-size: 11.5px; letter-spacing: .1em; color: rgba(255,255,255,.5); }
.rd-admin .admin-nav { padding: 14px 0 18px; }
.rd-admin .admin-nav-section { padding: 18px 24px 6px; font-size: 11px; letter-spacing: .12em; color: rgba(255,255,255,.4); }
.rd-admin .admin-nav a { padding: 9px 24px; font-size: 14.5px; font-weight: 500; color: rgba(255,255,255,.7); border-left: 2px solid transparent; }
.rd-admin .admin-nav a:hover { background: rgba(255,255,255,.05); color: #fff; }
.rd-admin .admin-nav a.active { background: rgba(255,255,255,.08); color: #fff; border-right: 0; border-left-color: var(--rd-gold); }
.rd-admin .admin-nav .icon { display: none; }
.rd-admin .admin-sidebar-foot { padding: 18px 24px; border-top: 1px solid rgba(255,255,255,.1); }
.rd-admin .admin-sidebar-foot a { font-size: 14px; color: rgba(255,255,255,.65); border-bottom: 1px solid rgba(255,184,28,.6); }
.rd-admin .admin-sidebar-foot a:hover { color: #fff; }
.rd-admin .admin-main { margin-left: 256px; }
.rd-admin .admin-topbar { height: 72px; padding: 0 40px; background: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--rd-line); }
.rd-admin .admin-topbar h1 { font: 540 28px/1 var(--rd-serif); letter-spacing: -.025em; color: var(--rd-ink); }
.rd-admin .admin-content { padding: 36px 40px 64px; }

.rd-admin .admin-stats-row { gap: 20px; margin-bottom: 32px; }
.rd-admin .admin-stat-card { padding: 24px 26px; border: 0; border-radius: 20px; box-shadow: var(--rd-ring); }
.rd-admin .admin-stat-card .icon { display: none; }
.rd-admin .admin-stat-card .val { font: 500 46px/1 var(--rd-serif); letter-spacing: -.03em; font-variant-numeric: lining-nums; color: var(--rd-ink); }
.rd-admin .admin-stat-card .desc { margin-top: 10px; font-size: 14px; color: var(--rd-mute); }

.rd-admin .admin-table-wrap, .rd-admin .form-card { border: 0; border-radius: 20px; background: #fff; box-shadow: var(--rd-ring); }
.rd-admin .admin-table-head { padding: 20px 24px; border-bottom: 1px solid var(--rd-line); }
.rd-admin .admin-table-head h2, .rd-admin .form-card h3 { font: 540 22px/1.1 var(--rd-serif); letter-spacing: -.015em; color: var(--rd-ink); }
.rd-admin .form-card { padding: 28px; }
.rd-admin .form-card h3 { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--rd-line); }
.rd-admin .admin-table th { padding: 13px 24px; background: var(--rd-chalk); border-bottom: 1px solid var(--rd-line); font: 600 12px/1.2 'Inter', sans-serif; letter-spacing: .08em; color: var(--rd-mute); }
.rd-admin .admin-table td { padding: 16px 24px; border-bottom: 1px solid var(--rd-line); font-size: 14.5px; color: #3A4160; }
.rd-admin .admin-table tr:hover td { background: #FAFAFD; }
.rd-admin .admin-table td a { color: var(--rd-ink); font-weight: 600; }
.rd-admin .admin-table td a:hover { text-decoration: underline; text-decoration-color: var(--rd-gold); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.rd-admin .admin-table td a.btn { text-decoration: none; }
.rd-admin .admin-table-wrap { overflow-x: auto; }
.rd-admin .status-badge { padding: 4px 12px; font-size: 12.5px; }
.rd-admin .status-published { background: var(--rd-ok-s); color: var(--rd-ok); }
.rd-admin .status-draft { background: var(--rd-gold-s); color: #7A5800; }
.rd-admin .tag { background: var(--rd-chalk); color: var(--rd-mute); font-weight: 600; }
.rd-admin .tag-blue { background: var(--rd-ink); color: #fff; }

.rd-admin .form-group label { font-size: 14px; color: var(--rd-ink); margin-bottom: 7px; }
.rd-admin .form-group input[type="text"], .rd-admin .form-group input[type="url"], .rd-admin .form-group input[type="password"],
.rd-admin .form-group input[type="email"], .rd-admin .form-group input[type="number"], .rd-admin .form-group input[type="date"],
.rd-admin .form-group select, .rd-admin .form-group textarea {
  padding: 13px 15px; border: 0; border-radius: 12px; background: #fff; font-size: 15px; box-shadow: inset 0 0 0 1.5px var(--rd-line);
  transition: box-shadow .2s var(--rd-ease);
}
.rd-admin .form-group input:focus, .rd-admin .form-group select:focus, .rd-admin .form-group textarea:focus { border: 0; outline: none; box-shadow: inset 0 0 0 2px var(--rd-blue), 0 0 0 5px rgba(27,86,245,.14); }
.rd-admin .form-group small { color: var(--rd-mute); }
.rd-admin .cover-preview { border: 0; border-radius: 14px; box-shadow: var(--rd-ring); }

.rd-admin .btn { padding: 12px 20px; border-radius: 12px; font-size: 14.5px; transition: background .25s var(--rd-ease), color .25s var(--rd-ease), box-shadow .25s var(--rd-ease), transform .25s var(--rd-ease); }
.rd-admin .btn:active { transform: scale(.98); }
.rd-admin .btn-sm { padding: 8px 14px; font-size: 13.5px; border-radius: 10px; }
.rd-admin .btn-primary { background: var(--rd-ink); color: #fff; }
.rd-admin .btn-primary:hover { background: var(--rd-blue); box-shadow: 0 14px 28px -14px rgba(27,86,245,.7); }
.rd-admin .btn-outline { background: transparent; border-color: transparent; color: var(--rd-ink); box-shadow: inset 0 0 0 1.5px var(--rd-line); }
.rd-admin .btn-outline:hover { box-shadow: inset 0 0 0 1.5px var(--rd-ink); }
.rd-admin .btn-danger { background: var(--rd-bad); border-color: var(--rd-bad); color: #fff; }
.rd-admin .btn-danger:hover { background: #8E1B11; }
.rd-admin .flash { border-radius: 14px; padding: 15px 20px; font-size: 15px; }
.rd-admin .flash-success { background: var(--rd-ok-s); color: #14532D; border: 0; box-shadow: inset 0 0 0 1px #B7E4C7; }
.rd-admin .flash-error { background: var(--rd-bad-s); color: #7A271A; border: 0; box-shadow: inset 0 0 0 1px #F6C7C1; }
.rd-admin .pagination a, .rd-admin .pagination span { width: 42px; height: 42px; border: 0; border-radius: 12px; box-shadow: inset 0 0 0 1.5px var(--rd-line); color: var(--rd-ink); }
.rd-admin .pagination a:hover { box-shadow: inset 0 0 0 1.5px var(--rd-ink); color: var(--rd-ink); }
.rd-admin .pagination .current { background: var(--rd-ink); color: #fff; box-shadow: none; }

.rd-admin .admin-login-page { background: var(--rd-chalk); padding: 24px; }
.rd-admin .login-card { max-width: 440px; padding: 48px 44px 40px; border: 0; border-radius: 26px; box-shadow: 0 50px 90px -50px rgba(10,15,44,.5), var(--rd-ring); }
.rd-admin .login-card .logo { margin-bottom: 8px; text-align: left; font: 560 40px/1 var(--rd-serif); letter-spacing: -.03em; }
.rd-admin .login-card .logo span { color: var(--rd-gold); }
.rd-admin .login-card .subtitle { text-align: left; margin-bottom: 30px; font-size: 15px; color: var(--rd-mute); }
@media (max-width: 1024px) { .rd-admin .admin-content { padding: 28px 24px 56px; } .rd-admin .admin-topbar { padding: 0 24px; } }
@media (max-width: 768px) { .rd-admin .admin-main { margin-left: 0; } .rd-admin .admin-topbar h1 { font-size: 23px; } }
@media (max-width: 480px) { .rd-admin .login-card { padding: 36px 26px 30px; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rd-nav.nav--open .rd-panel, .js-step .rd-step.is-active, .rd-modal.is-open { animation: none; }
  .rd-progress__fill { transition: none; }
}

/* ── Contact ──────────────────────────────────────────────────── */
.rd-contact { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 56px; align-items: start; }
.rd-channels li + li { margin-top: 0; }
.rd-channels a { display: grid; gap: 2px; padding: 20px 0; border-top: 1px solid var(--rd-line); transition: padding-left .25s var(--rd-ease), box-shadow .25s var(--rd-ease); }
.rd-channels li:last-child a { border-bottom: 1px solid var(--rd-line); }
.rd-channels a:hover { padding-left: 14px; box-shadow: inset 3px 0 0 var(--rd-gold); }
.rd-channels .k { font: 600 12.5px/1.2 'Inter', sans-serif; letter-spacing: .09em; text-transform: uppercase; color: var(--rd-mute); }
.rd-channels b { font: 520 24px/1.2 var(--rd-serif); letter-spacing: -.015em; color: var(--rd-ink); margin-top: 4px; }
.rd-channels small { font-size: 14px; color: var(--rd-mute); }
@media (max-width: 960px) { .rd-contact { grid-template-columns: 1fr; gap: 48px; } }

/* ── Small additions: research top bar, compact marks, hero fine print ── */
.rd-rtop { background: var(--rd-chalk); border-bottom: 1px solid var(--rd-line); }
.rd-rtop .rd-wrap { display: flex; align-items: center; justify-content: space-between; height: 68px; }
.rd-rtop span { font: 600 13px 'Inter', sans-serif; letter-spacing: .09em; text-transform: uppercase; color: var(--rd-mute); }
.rd-choice__mark--sm { font-size: 11.5px; letter-spacing: -.02em; }
.rd-hero-lite .rd-hero__fine { font-size: 14.5px; max-width: none; margin-top: 26px; }
@media (max-width: 480px) { .rd-admin .admin-content { padding: 22px 16px 48px; } .rd-admin .admin-stat-card .val { font-size: 38px; } }
