/* ============================================================
   Capistrano homepage redesign additions — scoped .rd-* classes.
   Loaded AFTER the main bundle. Uses the site's existing CSS
   variables (--navy, --ivory, --gold, --charcoal, --stone, etc.)
   and fonts (Cormorant Garamond / Inter) so it always matches brand.
   Animations reuse the site's [data-reveal] hook (site.js).
   Safe to edit or remove. Added 2026-06-12.
   ============================================================ */

.rd-section{ padding:3.5rem 0; }
@media(min-width:640px){ .rd-section{ padding:5rem 0; } }
@media(min-width:1024px){ .rd-section{ padding:7rem 0; } }
.rd-bg-white{ background:hsl(var(--pure-white)); }
.rd-bg-ivory{ background:hsl(var(--ivory)); }

.rd-eyebrow{ font-family:Inter,system-ui,sans-serif; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:hsl(var(--gold)); font-weight:600; }
.rd-h2{ font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(2rem,4vw,2.9rem); line-height:1.05; color:hsl(var(--navy)); font-weight:600; margin:.5rem 0 0; }
.rd-h2-row{ display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.rd-h2-row a{ color:hsl(var(--gold)); display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; margin:-.5rem -.5rem; transition:opacity .2s; }
.rd-h2-row a:hover{ opacity:.7; }

/* ---------- P2 Founder block ---------- */
.rd-founder-grid{ display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:center; }
@media(min-width:900px){ .rd-founder-grid{ grid-template-columns:.85fr 1.15fr; gap:3.5rem; } }

.rd-photo{ position:relative; overflow:hidden; border-radius:14px; border:1px solid hsl(var(--stone)); box-shadow:0 4px 12px hsl(var(--navy) / .08), 0 24px 60px hsl(var(--navy) / .12); aspect-ratio:1 / 1; background:hsl(var(--ivory)); }
.rd-photo img{ width:100%; height:100%; object-fit:cover; object-position:top; display:block; }

.rd-role{ font-family:Inter,system-ui,sans-serif; font-size:.95rem; color:hsl(var(--muted-foreground)); margin-top:.35rem; }
.rd-bio{ font-family:Inter,system-ui,sans-serif; font-size:1.05rem; line-height:1.6; color:hsl(var(--charcoal)); margin-top:1.1rem; max-width:56ch; }
.rd-bio strong{ color:hsl(var(--navy)); font-weight:600; }

.rd-creds{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.4rem; }
.rd-cred{ display:flex; align-items:baseline; gap:.5rem; background:hsl(var(--ivory)); border:1px solid hsl(var(--stone)); border-radius:10px; padding:.6rem .85rem; }
.rd-cred b{ font-family:"Cormorant Garamond",Georgia,serif; font-size:1.3rem; color:hsl(var(--navy)); font-weight:600; font-variant-numeric:tabular-nums lining-nums; line-height:1; }
.rd-cred span{ font-family:Inter,system-ui,sans-serif; font-size:.72rem; color:hsl(var(--muted-foreground)); line-height:1.2; max-width:15ch; }

.rd-assoc{ font-family:Inter,system-ui,sans-serif; font-size:.82rem; color:hsl(var(--muted-foreground)); margin-top:1rem; }
.rd-assoc b{ color:hsl(var(--charcoal)); font-weight:600; }

.rd-pull{ font-family:"Cormorant Garamond",Georgia,serif; font-size:1.35rem; font-style:italic; color:hsl(var(--navy)); border-left:3px solid hsl(var(--gold)); padding-left:1rem; margin-top:1.4rem; }

.rd-ctas{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.6rem; }
.rd-btn{ display:inline-flex; align-items:center; gap:.5rem; font-family:Inter,system-ui,sans-serif; font-weight:500; font-size:.95rem; height:3rem; padding:0 1.5rem; border-radius:.375rem; text-decoration:none; cursor:pointer; transition:transform .2s, background .2s, border-color .2s, filter .2s; }
.rd-btn-primary{ background:hsl(var(--accent, var(--gold))); color:hsl(var(--pure-white)); box-shadow:0 1px 2px hsl(var(--navy) / .12); }
.rd-btn-primary:hover{ filter:brightness(.94); transform:translateY(-2px); }
.rd-btn-outline{ border:1px solid hsl(var(--navy) / .3); color:hsl(var(--navy)); background:transparent; }
.rd-btn-outline:hover{ border-color:hsl(var(--navy)); transform:translateY(-2px); }
.rd-btn .rd-arr{ transition:transform .2s; }
.rd-btn:hover .rd-arr{ transform:translateX(3px); }

@media (prefers-reduced-motion: reduce){
  .rd-btn:hover{ transform:none; }
  [data-reveal]{ opacity:1 !important; transform:none !important; }
}


/* ---------- P5 Case studies ---------- */
.rd-section-sub{font-family:Inter,system-ui,sans-serif;font-size:1.02rem;color:hsl(var(--charcoal));margin-top:.6rem;max-width:56ch}
.rd-cases-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:2rem}
@media(min-width:900px){.rd-cases-grid{grid-template-columns:repeat(3,1fr)}}
.rd-case{display:flex;flex-direction:column;background:hsl(var(--pure-white));border:1px solid hsl(var(--stone));border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 1px 2px hsl(var(--navy) / .04),0 8px 30px hsl(var(--navy) / .06);transition:transform .18s ease,box-shadow .18s ease}
.rd-case:hover{transform:translateY(-3px);box-shadow:0 4px 12px hsl(var(--navy) / .08),0 24px 60px hsl(var(--navy) / .12)}
.rd-case-top{padding:1.25rem 1.25rem 0}
.rd-badge{display:inline-block;font-family:Inter,system-ui,sans-serif;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:hsl(var(--gold));border:1px solid hsl(var(--gold) / .35);background:hsl(var(--gold) / .07);padding:.25rem .6rem;border-radius:6px}
.rd-case h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.4rem;line-height:1.15;color:hsl(var(--navy));font-weight:600;margin-top:.75rem}
.rd-case-lead{font-family:Inter,system-ui,sans-serif;font-size:.9rem;line-height:1.55;color:hsl(var(--charcoal));margin-top:.6rem}
.rd-case-outcomes{list-style:none;padding:1rem 1.25rem 0;margin:0;flex:1}
.rd-case-outcomes li{display:flex;gap:.5rem;font-family:Inter,system-ui,sans-serif;font-size:.84rem;color:hsl(var(--charcoal));padding:.3rem 0}
.rd-case-outcomes li svg{width:15px;height:15px;flex-shrink:0;margin-top:3px;color:hsl(var(--gold))}
.rd-case-foot{padding:.5rem 1.25rem 1.25rem;margin-top:auto}
.rd-case-link{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:.88rem;color:hsl(var(--gold));display:inline-flex;align-items:center;gap:.35rem}
.rd-case .rd-arr{transition:transform .2s}
.rd-case:hover .rd-arr{transform:translateX(3px)}
.rd-cases-cta{margin-top:1.75rem;display:flex;justify-content:center}
@media (prefers-reduced-motion: reduce){ .rd-case:hover{transform:none} }

/* ---------- Mobile menu height fix (2026-06-12) ----------
   The compiled Tailwind bundle is missing the inset/bottom utility, so the
   [data-mobile-menu] overlay collapsed to ~8px tall and its nav links spilled
   behind the page. Force it to fill the screen below the header and scroll. */
[data-mobile-menu]{ left:0 !important; right:0 !important; height:calc(100vh - 56px) !important; height:calc(100dvh - 56px) !important; max-height:none !important; overflow-y:auto !important; -webkit-overflow-scrolling:touch; }
@media (min-width:640px){ [data-mobile-menu]{ height:calc(100vh - 64px) !important; height:calc(100dvh - 64px) !important; } }

/* ============================================================
   VISUAL UPGRADES (P4 calculator, P6 pricing, P1 viewer, P7 trust)
   Placeholder content; navy/ivory/gold; mobile-first. 2026-06-12.
   ============================================================ */
.rd-wrap{ max-width:1200px; margin:0 auto; padding:0 1.25rem; }
@media(min-width:640px){ .rd-wrap{ padding:0 1.5rem; } }
.rd-center{ text-align:center; }
.rd-sub{ font-family:Inter,system-ui,sans-serif; font-size:1.02rem; line-height:1.6; color:hsl(var(--charcoal)); margin-top:.6rem; max-width:60ch; }
.rd-illus{ font-family:Inter,system-ui,sans-serif; font-size:.72rem; color:hsl(var(--muted-foreground)); margin-top:1rem; font-style:italic; }

/* ---------- P6 Pricing ---------- */
.rd-tiers{ display:grid; grid-template-columns:1fr; gap:1rem; margin-top:2rem; }
@media(min-width:680px){ .rd-tiers{ grid-template-columns:1fr 1fr; } }
@media(min-width:1000px){ .rd-tiers{ grid-template-columns:repeat(4,1fr); } }
.rd-tier{ display:flex; flex-direction:column; background:hsl(var(--pure-white)); border:1px solid hsl(var(--stone)); border-radius:14px; padding:1.5rem 1.35rem; box-shadow:0 1px 2px hsl(var(--navy) / .04); }
.rd-tier.feat{ border-color:hsl(var(--gold) / .5); box-shadow:0 8px 30px hsl(var(--navy) / .08); }
.rd-tier h3{ font-family:"Cormorant Garamond",Georgia,serif; font-size:1.45rem; color:hsl(var(--navy)); font-weight:600; }
.rd-tier .turn{ display:inline-block; margin-top:.5rem; font-family:ui-monospace,monospace; font-size:.68rem; color:hsl(var(--charcoal)); background:hsl(var(--ivory)); border:1px solid hsl(var(--stone)); padding:.15rem .5rem; border-radius:6px; }
.rd-tier .from{ font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:hsl(var(--muted-foreground)); font-weight:600; margin-top:1rem; }
.rd-tier .amt{ font-family:"Cormorant Garamond",Georgia,serif; font-size:2.1rem; font-weight:600; color:hsl(var(--navy)); line-height:1; font-variant-numeric:tabular-nums; }
.rd-tier .unit{ font-size:.74rem; color:hsl(var(--muted-foreground)); margin-top:.25rem; }
.rd-tier ul{ list-style:none; padding:0; margin:1rem 0 0; flex:1; }
.rd-tier li{ display:flex; gap:.5rem; font-family:Inter,system-ui,sans-serif; font-size:.84rem; color:hsl(var(--charcoal)); padding:.3rem 0; }
.rd-tier li svg{ width:15px; height:15px; flex-shrink:0; margin-top:3px; color:hsl(var(--gold)); }
.rd-tier .tier-cta{ display:inline-flex; align-items:center; justify-content:center; gap:.4rem; margin-top:1.25rem; height:2.75rem; border-radius:.375rem; font-family:Inter,system-ui,sans-serif; font-weight:500; font-size:.88rem; text-decoration:none; border:1px solid hsl(var(--navy) / .25); color:hsl(var(--navy)); transition:transform .15s, border-color .15s; }
.rd-tier.feat .tier-cta{ background:hsl(var(--accent, var(--gold))); color:hsl(var(--pure-white)); border-color:transparent; }
.rd-tier .tier-cta:hover{ transform:translateY(-2px); border-color:hsl(var(--navy)); }
.rd-anchor-row{ margin-top:1.5rem; display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; }
.rd-anchor-row .a{ display:flex; align-items:center; gap:.5rem; font-family:Inter,system-ui,sans-serif; font-size:.82rem; color:hsl(var(--charcoal)); }
.rd-anchor-row .a svg{ width:15px; height:15px; color:hsl(var(--gold)); flex-shrink:0; }

/* ---------- P4 Calculator ---------- */
.rd-calc-grid{ display:grid; grid-template-columns:1fr; gap:1.25rem; margin-top:2rem; }
@media(min-width:860px){ .rd-calc-grid{ grid-template-columns:1fr 1fr; align-items:start; } }
.rd-card{ background:hsl(var(--pure-white)); border:1px solid hsl(var(--stone)); border-radius:14px; overflow:hidden; box-shadow:0 1px 2px hsl(var(--navy) / .04); }
.rd-card-h{ padding:1rem 1.25rem; border-bottom:1px solid hsl(var(--stone)); background:hsl(var(--ivory)); font-family:"Cormorant Garamond",Georgia,serif; font-size:1.2rem; color:hsl(var(--navy)); }
.rd-card-b{ padding:1.25rem; }
.rd-ctrl{ margin-bottom:1.25rem; }
.rd-ctrl:last-child{ margin-bottom:0; }
.rd-ctrl .lab{ display:flex; justify-content:space-between; align-items:baseline; font-family:Inter,system-ui,sans-serif; font-size:.88rem; font-weight:600; color:hsl(var(--charcoal)); margin-bottom:.5rem; }
.rd-ctrl .lab .v{ font-family:ui-monospace,monospace; color:hsl(var(--gold)); }
.rd-ctrl input[type=range]{ width:100%; -webkit-appearance:none; appearance:none; height:6px; border-radius:6px; background:hsl(var(--stone)); outline:none; }
.rd-ctrl input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:24px; height:24px; border-radius:50%; background:hsl(var(--accent, var(--gold))); border:3px solid hsl(var(--pure-white)); box-shadow:0 1px 3px hsl(var(--navy)/.3); cursor:pointer; }
.rd-ctrl input[type=range]::-moz-range-thumb{ width:24px; height:24px; border-radius:50%; background:hsl(var(--accent, var(--gold))); border:3px solid hsl(var(--pure-white)); cursor:pointer; }
.rd-seg{ display:flex; gap:.35rem; background:hsl(var(--ivory)); border:1px solid hsl(var(--stone)); border-radius:10px; padding:.25rem; }
.rd-seg button{ flex:1; border:none; background:transparent; font-family:Inter,system-ui,sans-serif; font-weight:600; font-size:.78rem; padding:.55rem .3rem; border-radius:7px; cursor:pointer; color:hsl(var(--charcoal)); }
.rd-seg button.on{ background:hsl(var(--pure-white)); color:hsl(var(--navy)); box-shadow:0 1px 2px hsl(var(--navy)/.1); }
.rd-verdict{ text-align:center; padding:1.4rem 1.25rem; background:linear-gradient(180deg, hsl(var(--pure-white)), hsl(var(--ivory))); }
.rd-verdict .vl{ font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:hsl(var(--muted-foreground)); font-weight:600; }
.rd-verdict .vn{ font-family:"Cormorant Garamond",Georgia,serif; font-size:2.6rem; font-weight:600; color:hsl(var(--gold)); line-height:1.05; margin:.25rem 0; font-variant-numeric:tabular-nums; }
.rd-verdict .vs{ font-family:Inter,system-ui,sans-serif; font-size:.9rem; color:hsl(var(--charcoal)); }
.rd-bars{ padding:1.1rem 1.25rem; border-top:1px solid hsl(var(--stone)); }
.rd-bar{ margin-bottom:1rem; }
.rd-bar:last-child{ margin-bottom:0; }
.rd-bar .bt{ display:flex; justify-content:space-between; font-family:Inter,system-ui,sans-serif; font-size:.84rem; margin-bottom:.35rem; }
.rd-bar .bt b{ font-family:ui-monospace,monospace; font-weight:500; }
.rd-bar .track{ height:26px; border-radius:7px; background:hsl(var(--ivory)); overflow:hidden; }
.rd-bar .fill{ height:100%; border-radius:7px; transition:width .5s cubic-bezier(.22,.61,.36,1); min-width:2px; }
.rd-bar.ih .fill{ background:hsl(var(--navy)); }
.rd-bar.cap .fill{ background:hsl(var(--accent, var(--gold))); }
.rd-calc-cta{ padding:1.1rem 1.25rem; border-top:1px solid hsl(var(--stone)); background:hsl(var(--ivory)); }
.rd-calc-cta a{ display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%; height:3rem; border-radius:.375rem; background:hsl(var(--accent, var(--gold))); color:hsl(var(--pure-white)); font-family:Inter,system-ui,sans-serif; font-weight:600; text-decoration:none; }
.rd-calc-cta .m{ text-align:center; font-size:.72rem; color:hsl(var(--muted-foreground)); margin-top:.5rem; }
details.rd-assume{ margin-top:1.25rem; border:1px solid hsl(var(--stone)); border-radius:10px; background:hsl(var(--pure-white)); }
details.rd-assume summary{ padding:.85rem 1rem; cursor:pointer; font-family:Inter,system-ui,sans-serif; font-weight:600; font-size:.85rem; color:hsl(var(--charcoal)); }
.rd-assume .ab{ padding:0 1rem 1rem; display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
@media(max-width:560px){ .rd-assume .ab{ grid-template-columns:1fr; } }
.rd-assume label{ font-size:.72rem; color:hsl(var(--muted-foreground)); display:block; }
.rd-assume input{ font-family:ui-monospace,monospace; font-size:.84rem; padding:.45rem .6rem; border:1px solid hsl(var(--stone)); border-radius:8px; width:100%; margin-top:.2rem; }

/* ---------- P1 Deliverable viewer ---------- */
.rd-viewer{ display:grid; grid-template-columns:1fr; gap:1rem; margin-top:2rem; }
@media(min-width:820px){ .rd-viewer{ grid-template-columns:260px 1fr; } }
.rd-tabs{ display:flex; gap:.5rem; overflow-x:auto; }
@media(min-width:820px){ .rd-tabs{ flex-direction:column; overflow:visible; } }
.rd-tab{ flex:0 0 auto; min-width:200px; text-align:left; background:hsl(var(--pure-white)); border:1px solid hsl(var(--stone)); border-radius:12px; padding:.85rem 1rem; cursor:pointer; font-family:Inter,system-ui,sans-serif; }
@media(min-width:820px){ .rd-tab{ min-width:0; } }
.rd-tab.on{ border-color:hsl(var(--gold)); box-shadow:0 0 0 1px hsl(var(--gold)) inset; }
.rd-tab .tt{ font-weight:600; color:hsl(var(--navy)); font-size:.95rem; }
.rd-tab .tm{ font-size:.74rem; color:hsl(var(--muted-foreground)); margin-top:.2rem; }
.rd-stage{ background:hsl(var(--pure-white)); border:1px solid hsl(var(--stone)); border-radius:14px; overflow:hidden; min-height:300px; }
.rd-panel{ display:none; }
.rd-panel.on{ display:block; }
.rd-panel-h{ display:flex; align-items:center; gap:.5rem; padding:.75rem 1rem; border-bottom:1px solid hsl(var(--stone)); background:hsl(var(--ivory)); font-family:ui-monospace,monospace; font-size:.72rem; color:hsl(var(--muted-foreground)); }
.rd-panel-b{ padding:1.1rem; font-family:ui-monospace,monospace; font-size:.74rem; color:hsl(var(--charcoal)); }
.rd-panel-b table{ width:100%; border-collapse:collapse; }
.rd-panel-b td{ padding:.3rem .4rem; border-bottom:1px solid hsl(var(--ivory)); }
.rd-panel-b td.r{ text-align:right; }
.rd-redact{ background:hsl(var(--navy)); color:transparent; border-radius:3px; }
.rd-fields{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:hsl(var(--stone)); border:1px solid hsl(var(--stone)); border-radius:8px; overflow:hidden; }
@media(max-width:520px){ .rd-fields{ grid-template-columns:1fr; } }
.rd-field{ background:hsl(var(--pure-white)); padding:.5rem .7rem; }
.rd-field .k{ font-size:.6rem; text-transform:uppercase; letter-spacing:.05em; color:hsl(var(--muted-foreground)); }
.rd-field .vv{ font-family:ui-monospace,monospace; font-size:.78rem; color:hsl(var(--charcoal)); margin-top:.1rem; }
.rd-panel-note{ font-family:Inter,system-ui,sans-serif; font-size:.72rem; color:hsl(var(--muted-foreground)); padding:0 1.1rem 1.1rem; }

/* ---------- P7 Trust ---------- */
.rd-metrics{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:hsl(var(--stone)); border:1px solid hsl(var(--stone)); border-radius:14px; overflow:hidden; margin-top:1.5rem; }
@media(min-width:760px){ .rd-metrics{ grid-template-columns:repeat(4,1fr); } }
.rd-metric{ background:hsl(var(--pure-white)); padding:1.5rem 1rem; text-align:center; }
.rd-metric .n{ font-family:"Cormorant Garamond",Georgia,serif; font-size:2rem; font-weight:600; color:hsl(var(--navy)); line-height:1; font-variant-numeric:tabular-nums; }
.rd-metric .l{ font-family:Inter,system-ui,sans-serif; font-size:.76rem; color:hsl(var(--muted-foreground)); margin-top:.4rem; }
.rd-quotes{ display:grid; grid-template-columns:1fr; gap:1rem; margin-top:1.5rem; }
@media(min-width:820px){ .rd-quotes{ grid-template-columns:repeat(3,1fr); } }
.rd-quote{ background:hsl(var(--pure-white)); border:1px solid hsl(var(--stone)); border-radius:14px; padding:1.4rem 1.25rem; }
.rd-quote .mk{ font-family:"Cormorant Garamond",Georgia,serif; font-size:2.2rem; line-height:.5; color:hsl(var(--stone)); height:18px; }
.rd-quote blockquote{ font-family:"Cormorant Garamond",Georgia,serif; font-size:1.1rem; line-height:1.4; color:hsl(var(--navy)); margin:.5rem 0 0; }
.rd-quote .by{ margin-top:1rem; padding-top:.75rem; border-top:1px solid hsl(var(--ivory)); font-family:Inter,system-ui,sans-serif; }
.rd-quote .by .r{ font-weight:600; font-size:.86rem; color:hsl(var(--charcoal)); }
.rd-quote .by .f{ font-size:.78rem; color:hsl(var(--muted-foreground)); }
.rd-assoc-row{ margin-top:1.5rem; display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; }
.rd-assoc-badge{ display:flex; align-items:center; gap:.5rem; border:1px solid hsl(var(--stone)); background:hsl(var(--pure-white)); border-radius:10px; padding:.6rem .9rem; font-family:Inter,system-ui,sans-serif; font-weight:600; font-size:.84rem; color:hsl(var(--charcoal)); }
.rd-assoc-badge .d{ width:7px; height:7px; border-radius:50%; background:hsl(var(--gold)); }
