/* Raad Interiors & Fit-Out — CRM desk showcase.
   Sora + JetBrains Mono · slate #f1f5f9 · teal #0f766e · brass #b45309 · radius 0.35rem
   Scoped to .raad / .raad-page. */
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Sora:wght@600;700&display=swap");

.raad,
.raad-page {
  --rd-bg: #f1f5f9;
  --rd-fg: #1e293b;
  --rd-card: #ffffff;
  --rd-primary: #0f766e;
  --rd-primary-fg: #ffffff;
  --rd-ink: #1e293b;
  --rd-ink-fg: #f1f5f9;
  --rd-accent: #b45309;
  --rd-accent-fg: #ffffff;
  --rd-muted: #e2e8f0;
  --rd-muted-fg: #64748b;
  --rd-border: #cbd5e1;
  --rd-danger: #dc2626;
  --rd-danger-fg: #ffffff;
  --rd-teal-soft: #ccfbf1;
  --rd-brass-soft: #fef3c7;
  --rd-danger-soft: #fee2e2;
  --rd-radius: 0.35rem;
  --rd-shadow: 0 1px 0 rgba(30, 41, 59, 0.04);
  --rd-shadow-lift: 0 14px 28px -12px rgba(30, 41, 59, 0.28);
  --rd-progress: linear-gradient(90deg, #0f766e, #b45309);
  --rd-sans: "Sora", system-ui, -apple-system, "Segoe UI", sans-serif;
  --rd-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;
  --rd-top: 2.2rem;
}

.raad-page {
  background: var(--rd-bg);
  color: var(--rd-fg);
  font-family: var(--rd-sans);
  position: relative;
}
.raad-page .demo-concept-bar {
  background: var(--rd-ink);
  color: var(--rd-accent);
  border-bottom: 1px solid rgba(180, 83, 9, 0.35);
  font-family: var(--rd-sans);
  font-weight: 600;
}
.raad-page .demo-back {
  position: absolute;
  top: 3rem;
  left: 1rem;
  border-radius: var(--rd-radius);
  background: var(--rd-card);
  border: 1px solid var(--rd-border);
  color: var(--rd-fg);
  font-family: var(--rd-sans);
  font-weight: 600;
  backdrop-filter: none;
  box-shadow: var(--rd-shadow);
  z-index: 40;
}
.raad-page .demo-back:hover { background: var(--rd-primary); color: var(--rd-primary-fg); border-color: var(--rd-primary); }
.raad-page .lang-switch-link { color: var(--rd-muted-fg); font-family: var(--rd-sans); }
.raad-page .lang-switch-link:hover,
.raad-page .lang-switch-link.is-active { color: var(--rd-primary); }
.raad-page .lang-switch-sep { color: var(--rd-border); }
.raad-page .rd-langrow { padding: 1rem 1rem 0.5rem; display: flex; justify-content: flex-end; background: var(--rd-bg); }

.raad {
  font-family: var(--rd-sans);
  font-size: 0.9375rem;
  color: var(--rd-fg);
  background: var(--rd-bg);
  line-height: 1.5;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  padding-bottom: 5.5rem;
  position: relative;
}
.raad *, .raad *::before, .raad *::after { box-sizing: border-box; }
.raad h1, .raad h2, .raad h3, .raad h4 {
  font-family: var(--rd-sans);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0;
  color: inherit;
}
.raad p { margin: 0; }
.raad a { color: inherit; text-decoration: none; }
.raad button { font-family: inherit; color: inherit; cursor: pointer; background: none; border: none; padding: 0; }
.raad ul, .raad ol { list-style: none; margin: 0; padding: 0; }
.raad :focus-visible { outline: 2px solid var(--rd-primary); outline-offset: 2px; }
.raad [hidden] { display: none !important; }
.raad section[id] { scroll-margin-top: calc(var(--rd-top) + 4rem); }
.raad .rd-wrap { max-width: 80rem; margin: 0 auto; padding: 0 1rem; }
@media (min-width: 768px) { .raad .rd-wrap { padding: 0 1.5rem; } }
.raad .rd-mono { font-family: var(--rd-mono); font-variant-numeric: tabular-nums; }
.raad .rd-muted { color: var(--rd-muted-fg); }
.raad .rd-pri { color: var(--rd-primary); }
.raad .rd-acc { color: var(--rd-accent); }
.raad .rd-danger { color: var(--rd-danger); }

/* Scroll progress */
.raad .rd-progress {
  position: fixed; inset: 0 0 auto 0; z-index: 60; height: 3px;
  background: var(--rd-progress); transform-origin: 0 50%; transform: scaleX(0);
  pointer-events: none;
}

/* Cards / lift */
.raad .rd-card {
  background: var(--rd-card);
  border: 1px solid var(--rd-border);
  border-radius: var(--rd-radius);
  box-shadow: var(--rd-shadow);
}
.raad .rd-lift {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.raad .rd-lift:hover {
  transform: translateY(-3px) rotate(-0.6deg);
  box-shadow: var(--rd-shadow-lift);
  cursor: grab;
}

/* Buttons */
.raad .rd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem;
  border-radius: var(--rd-radius); font-weight: 600; font-size: 0.75rem;
  padding: 0.55rem 0.9rem; transition: opacity 0.15s, background 0.15s, color 0.15s;
}
.raad .rd-btn--pri { background: var(--rd-primary); color: var(--rd-primary-fg); }
.raad .rd-btn--pri:hover { opacity: 0.92; }
.raad .rd-btn--ink { background: var(--rd-ink); color: var(--rd-ink-fg); }
.raad .rd-btn--ghost { border: 1px solid rgba(241, 245, 249, 0.3); color: var(--rd-ink-fg); }
.raad .rd-btn--sm { padding: 0.35rem 0.7rem; font-size: 0.7rem; }
.raad .rd-pulse {
  animation: rd-pulse-teal 2s ease-out infinite;
}
@keyframes rd-pulse-teal {
  0% { box-shadow: 0 0 0 0 rgba(15, 118, 110, 0.55); }
  100% { box-shadow: 0 0 0 16px transparent; }
}

/* Owner chips */
.raad .rd-own {
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; font-family: var(--rd-mono); font-weight: 500;
  ring: 2px; box-shadow: 0 0 0 2px var(--rd-card);
}
.raad .rd-own--sm { width: 1.5rem; height: 1.5rem; font-size: 0.625rem; }
.raad .rd-own--md { width: 2.25rem; height: 2.25rem; font-size: 0.75rem; }
.raad .rd-own--RK { background: var(--rd-primary); color: var(--rd-primary-fg); }
.raad .rd-own--NH { background: var(--rd-accent); color: var(--rd-accent-fg); }
.raad .rd-own--JS { background: var(--rd-ink); color: var(--rd-ink-fg); }
.raad .rd-own--MA { background: var(--rd-teal-soft); color: var(--rd-primary); }

/* Bars */
.raad .rd-bar {
  height: 0.375rem; width: 100%; overflow: hidden;
  border-radius: 0.15rem; background: var(--rd-muted);
}
.raad .rd-bar > i {
  display: block; height: 100%; width: 0;
  border-radius: inherit;
  background: var(--rd-primary);
  transition: width 1.1s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.raad .rd-bar--acc > i { background: var(--rd-accent); }
.raad .rd-bar--danger > i { background: var(--rd-danger); }
.raad .rd-bar--progress > i { background: var(--rd-progress); }
.raad .rd-bar.is-in > i { width: var(--v, 0%); }

/* Reveal */
.raad .rd-rv {
  opacity: 0; transform: translateY(1.25rem);
  transition: opacity 0.5s ease, transform 0.5s ease;
  transition-delay: var(--d, 0s);
}
.raad .rd-rv.is-in { opacity: 1; transform: none; }
.raad.rd-js .rd-rv:not(.is-in) { opacity: 0; }

/* Nav */
.raad .rd-nav {
  position: sticky; top: 0; z-index: 50;
  border-bottom: 1px solid var(--rd-border);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
}
.raad .rd-nav-in {
  max-width: 80rem; margin: 0 auto; padding: 0 1rem;
  height: 3.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
}
@media (min-width: 768px) { .raad .rd-nav-in { padding: 0 1.5rem; } }
.raad .rd-logo { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; font-weight: 700; }
.raad .rd-logo-mark {
  width: 1.75rem; height: 1.75rem; border-radius: var(--rd-radius);
  background: var(--rd-ink); color: var(--rd-ink-fg);
  font-family: var(--rd-mono); font-size: 0.75rem;
  display: grid; place-items: center;
}
.raad .rd-logo span span { color: var(--rd-muted-fg); font-weight: 600; }
.raad .rd-nav-links { display: none; gap: 1.25rem; font-size: 0.75rem; font-weight: 600; color: var(--rd-muted-fg); }
.raad .rd-nav-links a:hover, .raad .rd-nav-links a.is-on { color: var(--rd-primary); }
@media (min-width: 1024px) { .raad .rd-nav-links { display: flex; } }
.raad .rd-burger {
  display: grid; place-items: center; width: 2.25rem; height: 2.25rem;
  border: 1px solid var(--rd-border); border-radius: var(--rd-radius);
}
@media (min-width: 1024px) { .raad .rd-burger { display: none; } }
.raad .rd-menu {
  display: none; flex-direction: column; gap: 0.5rem;
  padding: 0.75rem 1rem 1rem; border-bottom: 1px solid var(--rd-border);
  background: var(--rd-card); font-size: 0.8125rem; font-weight: 600;
}
.raad .rd-menu.is-open { display: flex; }
@media (min-width: 1024px) { .raad .rd-menu { display: none !important; } }

/* Hero */
.raad .rd-hero {
  position: relative; overflow: hidden;
  border-bottom: 1px solid var(--rd-border);
}
.raad .rd-grid-desk {
  position: absolute; inset: 0; opacity: 0.22; pointer-events: none;
  background-image:
    linear-gradient(var(--rd-border) 1px, transparent 1px),
    linear-gradient(90deg, var(--rd-border) 1px, transparent 1px);
  background-size: 32px 32px;
}
.raad .rd-float {
  position: absolute; display: none;
  border-radius: 0.15rem; border: 1px dashed var(--rd-border);
  background: var(--rd-card); padding: 0.2rem 0.45rem;
  font-family: var(--rd-mono); font-size: 0.625rem; color: var(--rd-muted-fg);
  text-decoration: line-through; text-decoration-color: rgba(220, 38, 38, 0.6);
  animation: rd-float-y 6s ease-in-out infinite;
  opacity: 0.85; z-index: 1;
}
@media (min-width: 1280px) { .raad .rd-float { display: block; } }
@keyframes rd-float-y {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
.raad .rd-hero-in { position: relative; padding: 1.1rem 0 0.75rem; }

/* Photo slider — full-bleed under headline (always visible — do not use .rd-rv) */
.raad .rd-slider {
  position: relative; margin: 0.75rem 0 0; opacity: 1 !important;
  visibility: visible !important; transform: none !important;
  width: 100%; max-width: none;
  border: 0; border-top: 1px solid var(--rd-border); border-bottom: 1px solid var(--rd-border);
  border-radius: 0; background: var(--rd-card); overflow: hidden;
  z-index: 3;
}
.raad .rd-slider-viewport {
  position: relative; width: 100%;
  height: clamp(20rem, 48vw, 34rem);
  min-height: 20rem;
  overflow: hidden; background: #e2e8f0;
}
.raad .rd-slider-track {
  position: absolute; inset: 0;
  /* track is a positioning context only; slides are absolute */
}
.raad .rd-slider-slide {
  position: absolute; inset: 0; margin: 0;
  opacity: 0; visibility: hidden;
  transition: opacity 0.4s ease;
  background: #e2e8f0;
}
.raad .rd-slider-slide.is-on {
  opacity: 1; visibility: visible; z-index: 1;
}
.raad .rd-slider-slide img {
  display: block; width: 100%; height: 100%;
  object-fit: cover; object-position: center;
}
.raad .rd-slider-slide figcaption {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  padding: 1.5rem 1rem 0.75rem;
  background: linear-gradient(transparent, rgba(30, 41, 59, 0.75));
  color: #f8fafc; font-size: 0.75rem; font-weight: 600;
}
.raad .rd-slider-btn {
  position: absolute; top: calc(50% - 1.5rem); transform: translateY(-50%);
  z-index: 4; width: 2.5rem; height: 2.5rem;
  border-radius: var(--rd-radius); border: 1px solid var(--rd-border);
  background: rgba(255, 255, 255, 0.95); color: var(--rd-ink);
  font-size: 1.5rem; line-height: 1; display: grid; place-items: center;
  box-shadow: 0 4px 14px -6px rgba(15, 23, 42, 0.35);
  cursor: pointer;
}
.raad .rd-slider-btn:hover { background: #fff; color: var(--rd-primary); }
.raad .rd-slider-btn--prev { left: 0.65rem; }
.raad .rd-slider-btn--next { right: 0.65rem; }
.raad .rd-slider-dots {
  display: flex; justify-content: center; gap: 0.45rem;
  padding: 0.7rem 0.75rem 0.9rem; background: var(--rd-card);
  border-top: 1px solid var(--rd-border); position: relative; z-index: 3;
}
.raad .rd-slider-dots button {
  width: 0.55rem; height: 0.55rem; border-radius: 999px;
  background: var(--rd-border); transition: transform 0.2s, background 0.2s;
  cursor: pointer;
}
.raad .rd-slider-dots button.is-on {
  background: var(--rd-primary); transform: scale(1.3);
}
.raad .rd-hero-top {
  display: flex; flex-direction: column; gap: 1.5rem;
}
@media (min-width: 768px) {
  .raad .rd-hero-top { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
.raad .rd-excel {
  display: inline-flex; align-items: center; gap: 0.4rem;
  border-radius: 0.15rem; border: 1px solid var(--rd-border);
  background: var(--rd-card); padding: 0.25rem 0.5rem;
  font-family: var(--rd-mono); font-size: 0.6875rem; color: var(--rd-muted-fg);
  margin-bottom: 0.75rem;
}
.raad .rd-excel s { text-decoration-color: var(--rd-danger); }
.raad .rd-hero h1 {
  max-width: 36rem; font-size: clamp(1.75rem, 4.5vw, 3rem);
}
.raad .rd-hero h1 .rd-pri { color: var(--rd-primary); }
.raad .rd-hero-sub { margin-top: 0.75rem; font-size: 0.875rem; color: var(--rd-muted-fg); max-width: 28rem; }
.raad .rd-hero-cta { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.raad .rd-due {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.75rem 1rem;
}
.raad .rd-due-lbl {
  font-size: 0.6875rem; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.04em; color: var(--rd-muted-fg);
}
.raad .rd-due-n {
  font-family: var(--rd-mono); font-size: 1.5rem; font-weight: 500; color: var(--rd-danger);
  display: inline-block; transition: transform 0.25s, opacity 0.25s;
}
.raad .rd-due-n.is-flip { transform: translateY(6px); opacity: 0; }
.raad .rd-dot {
  width: 0.75rem; height: 0.75rem; border-radius: 999px;
  background: var(--rd-danger);
  animation: rd-pulse-ring 1.8s ease-out infinite;
}
@keyframes rd-pulse-ring {
  0% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.55); }
  100% { box-shadow: 0 0 0 12px transparent; }
}
.raad .rd-kpis {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; margin-top: 2rem;
}
@media (min-width: 768px) { .raad .rd-kpis { grid-template-columns: repeat(4, 1fr); } }
.raad .rd-kpi { padding: 0.75rem 1rem; }
.raad .rd-kpi-l {
  font-size: 0.6875rem; font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.04em; color: var(--rd-muted-fg);
}
.raad .rd-kpi-v {
  font-family: var(--rd-mono); font-size: clamp(1.15rem, 2.5vw, 1.5rem); font-weight: 500; margin-top: 0.15rem;
}

/* Board — stack on phone so every stage is visible; 2-col tablet; 4-col desktop */
.raad .rd-board {
  direction: ltr;
  display: grid;
  gap: 0.75rem;
  margin-top: 1.5rem;
  width: 100%;
  max-width: 100%;
  grid-template-columns: 1fr;
  overflow: visible;
}
.raad .rd-board--full { margin-top: 1.25rem; }
@media (min-width: 640px) {
  .raad .rd-board,
  .raad .rd-board--full {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .raad .rd-board,
  .raad .rd-board--full {
    grid-template-columns: repeat(4, 1fr);
  }
}
.raad .rd-col {
  border-radius: var(--rd-radius); border: 1px solid var(--rd-border);
  background: rgba(226, 232, 240, 0.55); padding: 0.5rem;
  min-width: 0;
}
.raad .rd-col-hd {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 0.25rem 0.5rem; font-size: 0.75rem; font-weight: 700;
}
.raad .rd-col-n {
  margin-left: 0.25rem; border-radius: 0.15rem; background: var(--rd-card);
  padding: 0.05rem 0.35rem; font-family: var(--rd-mono); font-weight: 500; color: var(--rd-muted-fg);
}
.raad .rd-col-sum { font-family: var(--rd-mono); font-size: 0.6875rem; color: var(--rd-muted-fg); font-weight: 400; }
.raad .rd-col-body { display: flex; flex-direction: column; gap: 0.5rem; }
.raad .rd-deal { position: relative; padding: 0.625rem; }
.raad .rd-deal-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.5rem; }
.raad .rd-deal-id { font-family: var(--rd-mono); font-size: 0.625rem; color: var(--rd-muted-fg); }
.raad .rd-deal-cli { font-size: 0.875rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.raad .rd-deal-prj { font-size: 0.6875rem; color: var(--rd-muted-fg); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.raad .rd-deal-ft {
  margin-top: 0.5rem; display: flex; align-items: center; justify-content: space-between;
}
.raad .rd-deal-val { font-family: var(--rd-mono); font-size: 0.75rem; font-weight: 500; }
.raad .rd-deal-act {
  border-radius: 0.15rem; border: 1px solid var(--rd-border);
  padding: 0.15rem 0.4rem; font-size: 0.625rem; font-weight: 600; color: var(--rd-primary);
}
.raad .rd-deal-act:hover { background: var(--rd-teal-soft); }
.raad .rd-signed {
  border-radius: 0.15rem; background: var(--rd-teal-soft);
  padding: 0.15rem 0.4rem; font-family: var(--rd-mono); font-size: 0.625rem; color: var(--rd-primary);
}
.raad .rd-stale {
  position: absolute; right: -0.25rem; top: -0.4rem;
  border-radius: 0.15rem; background: var(--rd-danger); color: var(--rd-danger-fg);
  padding: 0 0.25rem; font-family: var(--rd-mono); font-size: 0.5625rem;
}
.raad .rd-stamp {
  position: absolute; inset: 0; display: grid; place-items: center;
  pointer-events: none; opacity: 0; transform: scale(2.2) rotate(-20deg);
  transition: none;
}
.raad .rd-stamp.is-on {
  opacity: 1; transform: scale(1) rotate(-12deg);
  animation: rd-stamp-in 0.45s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.raad .rd-stamp span {
  border: 2px solid var(--rd-primary); background: rgba(255, 255, 255, 0.92);
  border-radius: 0.15rem; padding: 0.25rem 0.75rem;
  font-family: var(--rd-mono); font-size: 0.875rem; font-weight: 500;
  text-transform: uppercase; color: var(--rd-primary);
}
@keyframes rd-stamp-in {
  0% { opacity: 0; transform: scale(2.2) rotate(-20deg); }
  100% { opacity: 1; transform: scale(1) rotate(-12deg); }
}

/* Trust */
.raad .rd-trust { background: var(--rd-ink); color: var(--rd-ink-fg); border-bottom: 1px solid transparent; }
.raad .rd-trust-in {
  max-width: 80rem; margin: 0 auto; padding: 1.5rem 1rem;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem;
}
@media (min-width: 768px) {
  .raad .rd-trust-in { grid-template-columns: repeat(4, 1fr); padding: 1.5rem; }
}
.raad .rd-trust-n { font-family: var(--rd-mono); font-size: 1.5rem; font-weight: 500; color: var(--rd-accent); }
.raad .rd-trust-l { font-size: 0.75rem; opacity: 0.8; }

/* Chapters */
.raad .rd-ch { padding: 3.5rem 0; }
@media (min-width: 768px) { .raad .rd-ch { padding: 4.5rem 0; } }
.raad .rd-ch-hd {
  display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .raad .rd-ch-hd { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}
.raad .rd-ch-num { font-family: var(--rd-mono); font-size: 0.75rem; color: var(--rd-accent); }
.raad .rd-ch-hd h2 { margin-top: 0.25rem; font-size: clamp(1.35rem, 3vw, 1.75rem); }
.raad .rd-ch-sub { max-width: 28rem; font-size: 0.875rem; color: var(--rd-muted-fg); }

.raad .rd-conv {
  display: grid; gap: 0.75rem;
}
@media (min-width: 768px) { .raad .rd-conv { grid-template-columns: repeat(3, 1fr); } }
.raad .rd-conv-card { padding: 1rem; }
.raad .rd-conv-hd { display: flex; justify-content: space-between; font-size: 0.75rem; font-weight: 600; }
.raad .rd-conv-hd .rd-mono { font-weight: 500; }

/* Client card */
.raad .rd-client {
  display: flex; flex-direction: column; gap: 1rem; padding: 1.25rem;
}
@media (min-width: 768px) {
  .raad .rd-client { flex-direction: row; align-items: center; justify-content: space-between; }
}
.raad .rd-client-id { display: flex; align-items: center; gap: 1rem; }
.raad .rd-av {
  width: 3rem; height: 3rem; border-radius: var(--rd-radius);
  background: var(--rd-brass-soft); color: var(--rd-accent);
  display: grid; place-items: center; font-weight: 700;
}
.raad .rd-client-meta { font-family: var(--rd-mono); font-size: 0.75rem; color: var(--rd-muted-fg); }
.raad .rd-pills { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.75rem; }
.raad .rd-pill {
  border-radius: 0.15rem; padding: 0.25rem 0.5rem; font-weight: 600;
}
.raad .rd-pill--brass { background: var(--rd-brass-soft); color: var(--rd-accent); }
.raad .rd-pill--danger { background: var(--rd-danger-soft); color: var(--rd-danger); font-family: var(--rd-mono); font-weight: 500; }

/* Drawer */
.raad .rd-scrim {
  position: fixed; inset: 0; z-index: 70; background: rgba(30, 41, 59, 0.4);
  opacity: 0; pointer-events: none; transition: opacity 0.25s;
}
.raad .rd-scrim.is-open { opacity: 1; pointer-events: auto; }
.raad .rd-drawer {
  position: fixed; inset: 0 0 0 auto; z-index: 80; width: 100%; max-width: 28rem;
  background: var(--rd-card); border-left: 1px solid var(--rd-border);
  padding: 1.5rem; overflow-y: auto;
  transform: translateX(100%); transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.raad .rd-drawer.is-open { transform: none; }
.raad .rd-drawer-hd { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.raad .rd-drawer-close {
  border: 1px solid var(--rd-border); border-radius: 0.15rem;
  padding: 0.25rem 0.5rem; font-size: 0.75rem;
}
.raad .rd-drawer-stats {
  margin-top: 1rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.5rem; text-align: center;
}
.raad .rd-drawer-stats > div { border: 1px solid var(--rd-border); border-radius: var(--rd-radius); padding: 0.5rem; }
.raad .rd-drawer-stats .rd-l { font-size: 0.625rem; text-transform: uppercase; color: var(--rd-muted-fg); }
.raad .rd-drawer-stats .rd-v { font-family: var(--rd-mono); font-size: 0.875rem; }
.raad .rd-hist-title {
  margin-top: 1.5rem; font-size: 0.75rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.04em; color: var(--rd-muted-fg);
}
.raad .rd-hist { margin-top: 0.75rem; border-left: 2px solid rgba(15, 118, 110, 0.3); padding-left: 1rem; }
.raad .rd-hist li { position: relative; margin-bottom: 1.25rem; }
.raad .rd-hist li::before {
  content: ""; position: absolute; left: -1.4rem; top: 0.3rem;
  width: 0.75rem; height: 0.75rem; border-radius: 999px;
  border: 2px solid var(--rd-card); background: var(--rd-primary);
}
.raad .rd-hist-d { font-family: var(--rd-mono); font-size: 0.6875rem; color: var(--rd-muted-fg); }
.raad .rd-hist-t { font-size: 0.875rem; }
.raad .rd-drawer .rd-btn { width: 100%; margin-top: 0.5rem; padding: 0.65rem; }

/* Follow-ups table */
.raad .rd-table { overflow: hidden; }
.raad .rd-thead {
  display: none; gap: 0.75rem; border-bottom: 1px solid var(--rd-border);
  background: rgba(226, 232, 240, 0.55); padding: 0.5rem 1rem;
  font-size: 0.6875rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.04em; color: var(--rd-muted-fg);
  grid-template-columns: 70px 1fr 2fr 90px 60px 90px;
}
@media (min-width: 768px) { .raad .rd-thead { display: grid; } }
.raad .rd-trow {
  display: grid; grid-template-columns: 60px 1fr auto; align-items: center; gap: 0.75rem;
  border-bottom: 1px solid var(--rd-border); padding: 0.75rem 1rem; font-size: 0.875rem;
}
.raad .rd-trow:last-child { border-bottom: 0; }
.raad .rd-trow.is-done { opacity: 0.4; }
@media (min-width: 768px) {
  .raad .rd-trow { grid-template-columns: 70px 1fr 2fr 90px 60px 90px; }
}
.raad .rd-trow .rd-note {
  grid-column: 1 / -1; grid-row: 2; color: var(--rd-muted-fg); font-size: 0.8125rem;
}
@media (min-width: 768px) {
  .raad .rd-trow .rd-note { grid-column: auto; grid-row: auto; }
  .raad .rd-trow .rd-ch-hide { display: block; }
}
.raad .rd-ch-hide { display: none; font-size: 0.75rem; }
.raad .rd-overdue {
  margin-left: 0.5rem; border-radius: 0.15rem; background: var(--rd-danger);
  color: var(--rd-danger-fg); padding: 0 0.25rem; font-family: var(--rd-mono);
  font-size: 0.5625rem; text-transform: uppercase; font-weight: 500;
}
.raad .rd-done-btn {
  grid-column: 3; grid-row: 1;
  border-radius: 0.15rem; border: 1px solid var(--rd-border);
  padding: 0.25rem 0.5rem; font-size: 0.75rem; font-weight: 600; color: var(--rd-primary);
}
.raad .rd-done-btn:hover, .raad .rd-done-btn.is-on { background: var(--rd-teal-soft); }
@media (min-width: 768px) {
  .raad .rd-done-btn { grid-column: auto; grid-row: auto; }
}

/* Quotes */
.raad .rd-quotes {
  display: grid; gap: 0.75rem;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .raad .rd-quotes { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .raad .rd-quotes { grid-template-columns: repeat(4, 1fr); } }
.raad .rd-quote { padding: 1rem; }
.raad .rd-quote.is-stale { border-color: rgba(220, 38, 38, 0.4); }
.raad .rd-quote-hd {
  display: flex; justify-content: space-between;
  font-family: var(--rd-mono); font-size: 0.6875rem; color: var(--rd-muted-fg);
}
.raad .rd-quote-cli { margin-top: 0.25rem; font-weight: 600; }
.raad .rd-quote-ft {
  margin-top: 0.75rem; display: flex; align-items: flex-end; justify-content: space-between;
}
.raad .rd-ticker {
  font-family: var(--rd-mono); font-size: 1.875rem; font-weight: 500;
  transition: color 0.3s;
}
.raad .rd-ticker.is-stale { color: var(--rd-danger); }
.raad .rd-ticker small { font-size: 0.875rem; }
.raad .rd-quote-val { font-family: var(--rd-mono); font-size: 0.875rem; }
.raad .rd-quote .rd-bar { margin-top: 0.75rem; }

/* Installments */
.raad .rd-inst {
  display: grid; gap: 1rem;
}
@media (min-width: 1024px) { .raad .rd-inst { grid-template-columns: 1fr 280px; } }
.raad .rd-inst-list > .rd-rv { border-bottom: 1px solid var(--rd-border); }
.raad .rd-inst-list > .rd-rv:last-child { border-bottom: 0; }
.raad .rd-inst-row {
  display: grid; grid-template-columns: 1fr auto; gap: 0.75rem; padding: 1rem;
}
@media (min-width: 768px) {
  .raad .rd-inst-row {
    grid-template-columns: 1.2fr 1fr 100px 90px; align-items: center;
  }
}
.raad .rd-inst-bar { grid-column: 1 / -1; grid-row: 2; }
@media (min-width: 768px) {
  .raad .rd-inst-bar { grid-column: auto; grid-row: auto; }
}
.raad .rd-inst-barlbl {
  display: flex; justify-content: space-between;
  font-family: var(--rd-mono); font-size: 0.625rem; color: var(--rd-muted-fg); margin-bottom: 0.25rem;
}
.raad .rd-inst-amt { font-family: var(--rd-mono); font-size: 0.875rem; }
@media (min-width: 768px) { .raad .rd-inst-amt { text-align: right; } }
.raad .rd-inst-due {
  display: none; border-radius: 0.15rem; padding: 0.25rem 0.5rem;
  text-align: center; font-family: var(--rd-mono); font-size: 0.6875rem; background: var(--rd-muted);
}
.raad .rd-inst-due.is-late { background: var(--rd-danger-soft); color: var(--rd-danger); }
@media (min-width: 768px) { .raad .rd-inst-due { display: block; } }
.raad .rd-inst-sum {
  display: flex; flex-direction: column; justify-content: space-between;
  padding: 1.25rem; background: var(--rd-ink); color: var(--rd-ink-fg); border-color: var(--rd-ink);
}
.raad .rd-inst-sum .rd-l { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.7; }
.raad .rd-inst-sum .rd-big {
  font-family: var(--rd-mono); font-size: 2.25rem; font-weight: 500; color: var(--rd-accent);
}
.raad .rd-inst-sum .rd-foot { margin-top: 1rem; font-size: 0.75rem; opacity: 0.7; }

/* Owners */
.raad .rd-owners {
  display: grid; gap: 0.75rem;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .raad .rd-owners { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .raad .rd-owners { grid-template-columns: repeat(4, 1fr); } }
.raad .rd-owner { padding: 1rem; }
.raad .rd-owner-hd { display: flex; align-items: center; gap: 0.75rem; }
.raad .rd-owner-sub { font-size: 0.75rem; color: var(--rd-muted-fg); }
.raad .rd-owner-row {
  margin-top: 1rem; display: flex; justify-content: space-between; font-size: 0.75rem;
}
.raad .rd-owner-row .rd-mono { font-size: 0.875rem; }
.raad .rd-owner .rd-bar { margin-top: 0.5rem; }
.raad .rd-owner-ids { margin-top: 0.75rem; display: flex; flex-wrap: wrap; gap: 0.25rem; }
.raad .rd-owner-ids span {
  border-radius: 0.15rem; padding: 0.15rem 0.4rem;
  font-family: var(--rd-mono); font-size: 0.625rem; background: var(--rd-muted);
}
.raad .rd-owner-ids span.is-signed { background: var(--rd-teal-soft); color: var(--rd-primary); }
.raad .rd-owner-sig {
  margin-top: 0.5rem; font-family: var(--rd-mono); font-size: 0.6875rem; color: var(--rd-accent);
}

/* FAQ */
.raad .rd-faq { max-width: 48rem; margin: 0 auto; padding: 3.5rem 1rem; }
@media (min-width: 768px) { .raad .rd-faq { padding: 4rem 1.5rem; } }
.raad .rd-faq h2 { font-size: 1.5rem; margin-bottom: 1.5rem; }
.raad .rd-faq-list { display: flex; flex-direction: column; gap: 0.5rem; }
.raad .rd-faq-item { overflow: hidden; }
.raad .rd-faq-btn {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: 0.75rem 1rem; text-align: left; font-size: 0.875rem; font-weight: 600; gap: 1rem;
}
.raad .rd-faq-btn i { font-family: var(--rd-mono); font-style: normal; color: var(--rd-primary); flex-shrink: 0; }
.raad .rd-faq-a {
  max-height: 0; overflow: hidden;
  transition: max-height 0.35s ease;
}
.raad .rd-faq-item.is-open .rd-faq-a { max-height: 12rem; }
.raad .rd-faq-a p { padding: 0 1rem 1rem; font-size: 0.875rem; color: var(--rd-muted-fg); }

/* Footer */
.raad .rd-foot { background: var(--rd-ink); color: var(--rd-ink-fg); }
.raad .rd-foot-in {
  max-width: 80rem; margin: 0 auto; padding: 2.5rem 1rem;
  display: grid; gap: 1.5rem;
}
@media (min-width: 768px) {
  .raad .rd-foot-in { grid-template-columns: repeat(3, 1fr); padding: 2.5rem 1.5rem; }
}
.raad .rd-foot h3 { font-size: 1rem; }
.raad .rd-foot p, .raad .rd-foot-meta { font-size: 0.75rem; opacity: 0.8; margin-top: 0.5rem; }
.raad .rd-foot-cta { display: flex; gap: 0.5rem; flex-wrap: wrap; }
@media (min-width: 768px) { .raad .rd-foot-cta { justify-content: flex-end; } }
.raad .rd-foot-copy {
  border-top: 1px solid rgba(241, 245, 249, 0.1);
  padding: 1rem; text-align: center;
  font-family: var(--rd-mono); font-size: 0.6875rem; opacity: 0.6;
}

/* Sticky + estimate strip */
.raad .rd-sticky {
  position: fixed; bottom: 1rem; right: 1rem; z-index: 50;
  display: flex; gap: 0.5rem;
}
.raad .rd-sticky .rd-btn { box-shadow: var(--rd-shadow-lift); padding: 0.75rem 1rem; }
.raad .rd-sticky .rd-btn--ink { display: none; }
@media (min-width: 640px) { .raad .rd-sticky .rd-btn--ink { display: inline-flex; } }

.raad .rd-estimate {
  margin: 0 auto 1.5rem; max-width: 80rem; padding: 0 1rem;
}
@media (min-width: 768px) { .raad .rd-estimate { padding: 0 1.5rem; } }
.raad .rd-estimate-in {
  display: flex; flex-direction: column; gap: 0.75rem; align-items: flex-start;
  padding: 1.25rem; background: var(--rd-ink); color: var(--rd-ink-fg);
  border-radius: var(--rd-radius);
}
@media (min-width: 640px) {
  .raad .rd-estimate-in { flex-direction: row; align-items: center; justify-content: space-between; }
}
.raad .rd-estimate-in p { font-size: 0.875rem; opacity: 0.85; max-width: 28rem; }

/* Confetti canvas */
.raad-page .rd-confetti {
  position: fixed; inset: 0; z-index: 90; pointer-events: none;
}

/* ============================================================
   MOTION LAYER — added only. No brand changes.
   ============================================================ */

/* --- 1. Global motion tokens --- */
.raad {
  --rd-ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
  --rd-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --rd-tick: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* --- 2. Hero: staged float-in for the whole hero stack --- */
.raad .rd-hero-in > * {
  opacity: 0;
  transform: translateY(0.6rem);
  animation: rd-hero-in 0.7s var(--rd-ease-out) forwards;
}
.raad .rd-hero-in > *:nth-child(1) { animation-delay: 0.05s; }
.raad .rd-hero-in > *:nth-child(2) { animation-delay: 0.15s; }
.raad .rd-hero-in > *:nth-child(3) { animation-delay: 0.25s; }
.raad .rd-hero-in > *:nth-child(4) { animation-delay: 0.32s; }
@keyframes rd-hero-in {
  to { opacity: 1; transform: none; }
}
/* Never leave hero copy invisible — .is-in or not */
.raad .rd-hero-in .rd-rv,
.raad .rd-hero-in .rd-rv.is-in {
  animation: none;
  opacity: 1 !important;
  transform: none !important;
}

/* Hero grid desk subtle drift */
.raad .rd-grid-desk {
  animation: rd-grid-drift 24s linear infinite;
  background-position: 0 0, 0 0;
}
@keyframes rd-grid-drift {
  to { background-position: 32px 32px, 32px 32px; }
}

/* Excel chip flicker */
.raad .rd-excel s {
  position: relative;
  animation: rd-excel-pulse 3.5s ease-in-out infinite;
}
@keyframes rd-excel-pulse {
  0%, 90%, 100% { opacity: 1; }
  92% { opacity: 0.35; }
}

/* --- 3. KPI counters: subtle glow pulse on first paint --- */
.raad .rd-kpi {
  transition: transform 0.25s var(--rd-ease-out), box-shadow 0.25s var(--rd-ease-out);
}
.raad .rd-kpi:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -14px rgba(15, 118, 110, 0.55);
}
.raad .rd-kpi-v {
  transition: color 0.4s var(--rd-ease-out);
}
.raad .rd-kpi-v.rd-danger {
  animation: rd-danger-breathe 2.4s ease-in-out infinite;
}
@keyframes rd-danger-breathe {
  0%, 100% { color: var(--rd-danger); text-shadow: 0 0 0 transparent; }
  50% { color: #ef4444; text-shadow: 0 0 12px rgba(220, 38, 38, 0.35); }
}

/* --- 4. Board columns: card reflow + hover lift already exists; add staged fade-in per column --- */
.raad .rd-col-body .rd-deal {
  animation: rd-deal-in 0.45s var(--rd-ease-out) both;
}
.raad .rd-col-body .rd-deal:nth-child(1) { animation-delay: 0.02s; }
.raad .rd-col-body .rd-deal:nth-child(2) { animation-delay: 0.06s; }
.raad .rd-col-body .rd-deal:nth-child(3) { animation-delay: 0.10s; }
@keyframes rd-deal-in {
  from { opacity: 0; transform: translateY(0.5rem) scale(0.98); }
  to { opacity: 1; transform: none; }
}

/* Board stage-change flash: JS adds .is-moved */
.raad .rd-deal.is-moved {
  animation: rd-deal-moved 0.6s var(--rd-ease-out);
}
@keyframes rd-deal-moved {
  0% { box-shadow: 0 0 0 0 rgba(15, 118, 110, 0.5); }
  100% { box-shadow: 0 0 0 14px transparent; }
}

/* Deal button hover micro-nudge */
.raad .rd-deal-act {
  transition: background 0.15s, color 0.15s, transform 0.15s var(--rd-ease-out);
}
.raad .rd-deal-act:hover { transform: translateX(2px); }
.raad .rd-deal-act:active { transform: translateX(2px) scale(0.94); }

/* Column header count pop on paint */
.raad .rd-col-n {
  transition: transform 0.3s var(--rd-ease-spring), background 0.2s;
}
.raad .rd-col:hover .rd-col-n {
  background: var(--rd-teal-soft);
  color: var(--rd-primary);
  transform: scale(1.12);
}

/* --- 5. Trust strip: slide + counter feel --- */
.raad .rd-trust-n {
  display: inline-block;
  transition: transform 0.4s var(--rd-ease-spring);
}
.raad .rd-trust-in > div:hover .rd-trust-n {
  transform: translateY(-2px) scale(1.06);
  color: #f59e0b;
}

/* --- 6. Conversion bars: gradient sweep shimmer on reveal --- */
.raad .rd-conv-card {
  transition: transform 0.25s var(--rd-ease-out), box-shadow 0.25s var(--rd-ease-out);
}
.raad .rd-conv-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--rd-shadow-lift);
}
.raad .rd-conv-card .rd-bar.is-in > i {
  position: relative;
  overflow: hidden;
}
.raad .rd-conv-card .rd-bar.is-in > i::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.45), transparent);
  transform: translateX(-100%);
  animation: rd-shimmer 2.4s var(--rd-ease-out) infinite;
}
@keyframes rd-shimmer {
  0% { transform: translateX(-100%); }
  60%, 100% { transform: translateX(100%); }
}

/* --- 7. Client card: avatar breathe + drawer CTA nudge --- */
.raad .rd-av {
  animation: rd-av-idle 4s ease-in-out infinite;
}
@keyframes rd-av-idle {
  0%, 100% { box-shadow: 0 0 0 0 rgba(180, 83, 9, 0.35); }
  50% { box-shadow: 0 0 0 8px rgba(180, 83, 9, 0.0); }
}
.raad #rd-open-drawer {
  transition: transform 0.2s var(--rd-ease-spring), background 0.2s;
}
.raad #rd-open-drawer:hover { transform: translateX(3px); }

/* Drawer stats: stagger on open */
.raad .rd-drawer.is-open .rd-drawer-stats > div {
  animation: rd-drawer-stat 0.4s var(--rd-ease-out) both;
}
.raad .rd-drawer.is-open .rd-drawer-stats > div:nth-child(1) { animation-delay: 0.05s; }
.raad .rd-drawer.is-open .rd-drawer-stats > div:nth-child(2) { animation-delay: 0.10s; }
.raad .rd-drawer.is-open .rd-drawer-stats > div:nth-child(3) { animation-delay: 0.15s; }
@keyframes rd-drawer-stat {
  from { opacity: 0; transform: translateY(0.4rem); }
  to { opacity: 1; transform: none; }
}

/* Drawer history: vertical line draw + dot pop */
.raad .rd-drawer.is-open .rd-hist {
  animation: rd-hist-line 0.6s var(--rd-ease-out) both;
}
@keyframes rd-hist-line {
  from { border-left-color: transparent; }
  to { border-left-color: rgba(15, 118, 110, 0.3); }
}
.raad .rd-drawer.is-open .rd-hist li {
  animation: rd-hist-item 0.35s var(--rd-ease-out) both;
}
.raad .rd-drawer.is-open .rd-hist li:nth-child(1) { animation-delay: 0.15s; }
.raad .rd-drawer.is-open .rd-hist li:nth-child(2) { animation-delay: 0.22s; }
.raad .rd-drawer.is-open .rd-hist li:nth-child(3) { animation-delay: 0.29s; }
.raad .rd-drawer.is-open .rd-hist li:nth-child(4) { animation-delay: 0.36s; }
@keyframes rd-hist-item {
  from { opacity: 0; transform: translateX(-0.5rem); }
  to { opacity: 1; transform: none; }
}
.raad .rd-drawer.is-open .rd-hist li::before {
  animation: rd-hist-dot 0.4s var(--rd-ease-spring) both;
}
@keyframes rd-hist-dot {
  from { transform: scale(0); }
  to { transform: scale(1); }
}

/* --- 8. Follow-ups: strike + check sweep on done --- */
.raad .rd-trow {
  transition: opacity 0.3s var(--rd-ease-out), background 0.25s;
}
.raad .rd-trow.is-done { opacity: 0.4; background: rgba(15, 118, 110, 0.04); }
.raad .rd-trow.is-done [data-fu] { position: relative; }
.raad .rd-trow.is-done span:nth-child(2) {
  position: relative;
  transition: color 0.3s;
}
.raad .rd-trow.is-done span:nth-child(2)::after {
  content: "";
  position: absolute; left: 0; right: 0; top: 50%;
  height: 1px; background: var(--rd-muted-fg);
  animation: rd-strike 0.35s var(--rd-ease-out) forwards;
  transform-origin: 0 50%;
}
@keyframes rd-strike {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
.raad .rd-done-btn {
  transition: background 0.2s, color 0.2s, transform 0.15s var(--rd-ease-spring);
}
.raad .rd-done-btn:active { transform: scale(0.92); }
.raad .rd-done-btn.is-on {
  background: var(--rd-primary);
  color: var(--rd-primary-fg);
  animation: rd-done-pop 0.4s var(--rd-ease-spring);
}
@keyframes rd-done-pop {
  0% { transform: scale(1); }
  40% { transform: scale(1.18); }
  100% { transform: scale(1); }
}

/* Overdue badge subtle shake on load */
.raad .rd-overdue {
  animation: rd-overdue-wiggle 5s ease-in-out infinite;
}
@keyframes rd-overdue-wiggle {
  0%, 88%, 100% { transform: rotate(0); }
  90% { transform: rotate(-6deg); }
  92% { transform: rotate(5deg); }
  94% { transform: rotate(-3deg); }
  96% { transform: rotate(2deg); }
}

/* --- 9. Quotes: stale card pulse border --- */
.raad .rd-quote {
  transition: transform 0.25s var(--rd-ease-out), box-shadow 0.25s, border-color 0.3s;
}
.raad .rd-quote:hover { transform: translateY(-3px); box-shadow: var(--rd-shadow-lift); }
.raad .rd-quote.is-stale {
  animation: rd-stale-pulse 2.6s ease-in-out infinite;
}
@keyframes rd-stale-pulse {
  0%, 100% { border-color: rgba(220, 38, 38, 0.4); }
  50% { border-color: rgba(220, 38, 38, 0.9); box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.08); }
}
.raad .rd-ticker small {
  display: inline-block;
  transition: transform 0.3s var(--rd-ease-spring);
}
.raad .rd-ticker.is-stale small { animation: rd-tick-beat 1.2s ease-in-out infinite; }
@keyframes rd-tick-beat {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); color: var(--rd-danger); }
}

/* --- 10. Installments: paid bar keeps shimmer, due chip nudge --- */
.raad .rd-inst-row {
  transition: background 0.25s;
}
.raad .rd-inst-row:hover { background: rgba(15, 118, 110, 0.03); }
.raad .rd-inst-due.is-late {
  animation: rd-late-flash 1.6s ease-in-out infinite;
}
@keyframes rd-late-flash {
  0%, 100% { background: var(--rd-danger-soft); }
  50% { background: rgba(220, 38, 38, 0.18); }
}
.raad .rd-inst-sum .rd-big {
  display: inline-block;
  transition: transform 0.4s var(--rd-ease-spring), color 0.4s;
}
.raad .rd-inst-sum:hover .rd-big {
  transform: scale(1.04);
  color: #f59e0b;
}
.raad .rd-inst-sum .rd-bar.is-in > i::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  transform: translateX(-100%);
  animation: rd-shimmer 2.4s var(--rd-ease-out) infinite;
}
.raad .rd-inst-sum .rd-bar.is-in > i { position: relative; overflow: hidden; }

/* --- 11. Owners: avatar bounce + id-chip pop on hover --- */
.raad .rd-owner {
  transition: transform 0.25s var(--rd-ease-out), box-shadow 0.25s var(--rd-ease-out);
}
.raad .rd-owner:hover { box-shadow: var(--rd-shadow-lift); }
.raad .rd-owner .rd-own--md {
  transition: transform 0.3s var(--rd-ease-spring);
}
.raad .rd-owner:hover .rd-own--md { transform: scale(1.12) rotate(-4deg); }
.raad .rd-owner-ids span {
  transition: transform 0.2s var(--rd-ease-spring), background 0.2s;
}
.raad .rd-owner-ids span:hover {
  transform: translateY(-2px);
  background: var(--rd-teal-soft);
  color: var(--rd-primary);
}
.raad .rd-owner-sig {
  transition: color 0.3s;
}
.raad .rd-owner:hover .rd-owner-sig { color: var(--rd-primary); }

/* --- 12. FAQ: chevron rotate + panel slide --- */
.raad .rd-faq-btn i {
  transition: transform 0.3s var(--rd-ease-spring), color 0.2s;
  display: inline-block;
}
.raad .rd-faq-item.is-open .rd-faq-btn i { transform: rotate(180deg); }
.raad .rd-faq-btn {
  transition: background 0.2s;
}
.raad .rd-faq-btn:hover { background: rgba(15, 118, 110, 0.03); }

/* --- 13. Buttons: universal press feedback --- */
.raad .rd-btn {
  transition: transform 0.15s var(--rd-ease-spring), opacity 0.15s, background 0.15s, color 0.15s, box-shadow 0.2s;
}
.raad .rd-btn:active { transform: scale(0.96); }
.raad .rd-btn--pri:hover { box-shadow: 0 8px 20px -10px rgba(15, 118, 110, 0.6); }

/* --- 14. Sticky WhatsApp pulse ring + hover lift --- */
.raad .rd-sticky .rd-btn--pri {
  animation: rd-pulse-teal 2s ease-out infinite;
}
.raad .rd-sticky .rd-btn {
  transition: transform 0.2s var(--rd-ease-spring), box-shadow 0.2s;
}
.raad .rd-sticky .rd-btn:hover { transform: translateY(-2px) scale(1.03); }

/* --- 15. Estimate strip glow sweep --- */
.raad .rd-estimate-in {
  position: relative;
  overflow: hidden;
}
.raad .rd-estimate-in::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(115deg, transparent 30%, rgba(180, 83, 9, 0.18) 50%, transparent 70%);
  transform: translateX(-120%);
  animation: rd-estimate-sweep 6s var(--rd-ease-out) infinite;
  pointer-events: none;
}
@keyframes rd-estimate-sweep {
  0% { transform: translateX(-120%); }
  60%, 100% { transform: translateX(120%); }
}

/* --- 16. Nav: active link underline grow --- */
.raad .rd-nav-links a {
  position: relative;
  transition: color 0.2s;
}
.raad .rd-nav-links a::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -4px;
  height: 2px; background: var(--rd-primary);
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: transform 0.25s var(--rd-ease-out);
}
.raad .rd-nav-links a:hover::after,
.raad .rd-nav-links a.is-on::after { transform: scaleX(1); }

/* --- 17. Progress bar: glow at the leading edge --- */
.raad .rd-progress {
  box-shadow: 0 0 8px rgba(15, 118, 110, 0.4);
}

@media (prefers-reduced-motion: reduce) {
  .raad .rd-rv { opacity: 1; transform: none; transition: none; }
  .raad .rd-pulse, .raad .rd-dot, .raad .rd-float { animation: none; }
  .raad .rd-bar > i { transition: none; }
  .raad .rd-lift:hover { transform: none; }
  .raad .rd-hero-in > *,
  .raad .rd-col-body .rd-deal,
  .raad .rd-drawer.is-open .rd-drawer-stats > div,
  .raad .rd-drawer.is-open .rd-hist,
  .raad .rd-drawer.is-open .rd-hist li,
  .raad .rd-drawer.is-open .rd-hist li::before,
  .raad .rd-kpi-v.rd-danger,
  .raad .rd-av,
  .raad .rd-quote.is-stale,
  .raad .rd-ticker.is-stale small,
  .raad .rd-inst-due.is-late,
  .raad .rd-overdue,
  .raad .rd-sticky .rd-btn--pri,
  .raad .rd-estimate-in::after,
  .raad .rd-conv-card .rd-bar.is-in > i::after,
  .raad .rd-inst-sum .rd-bar.is-in > i::after,
  .raad .rd-grid-desk,
  .raad .rd-excel s {
    animation: none !important;
  }
  .raad .rd-hero-in > * { opacity: 1; transform: none; }
  .raad .rd-col-body .rd-deal { opacity: 1; transform: none; }
  .raad .rd-nav-links a::after { transition: none; }
}
