/* ------------------------------------------------------------------
   Roslyn Ridge Holdings shared theme for roslynridgeturnarounds.com
   Mirrors the design tokens in rrh-website/src/index.css so this site
   reads as a sub-entity of roslynridgeholdings.com. Loaded AFTER each
   page's inline <style>, so these rules win on equal specificity.
   ------------------------------------------------------------------ */
:root, :root[data-theme="light"], :root[data-theme="dark"]{
  --rrh-bg: hsl(210 25% 12%);
  --rrh-fg: hsl(210 15% 88%);
  --rrh-card: hsl(210 20% 16%);
  --rrh-muted: hsl(210 18% 18%);
  --rrh-muted-fg: hsl(210 12% 70%);
  --rrh-secondary: hsl(210 15% 22%);
  --rrh-border: hsl(210 18% 25%);
  --rrh-primary: hsl(210 90% 45%);
  --rrh-primary-glow: hsl(210 85% 55%);
  --rrh-gradient-steel: linear-gradient(135deg, hsl(210 15% 28%), hsl(210 12% 20%));
  --rrh-gradient-hero: linear-gradient(135deg, hsl(210 25% 12%) 0%, hsl(210 20% 16%) 50%, hsl(210 25% 12%) 100%);
  --rrh-shadow-steel: 0 8px 25px -8px hsl(210 15% 8% / 0.6);
  --rrh-shadow-glow: 0 0 40px hsl(210 85% 55% / 0.3);
  --rrh-shadow-primary: 0 10px 30px -10px hsl(210 90% 45% / 0.4);
  --rrh-transition: all .3s cubic-bezier(.4,0,.2,1);

  /* Remap this site's own tokens onto the RRH palette */
  --stone: var(--rrh-bg);
  --paper: var(--rrh-card);
  --wash-pine: var(--rrh-muted);
  --wash-rust: hsl(210 22% 14%);
  --ink: var(--rrh-fg);
  --ink-soft: var(--rrh-muted-fg);
  --line: var(--rrh-border);
  --brass: var(--rrh-primary-glow);
  --brass-ink: var(--rrh-primary-glow);
  --pine: var(--rrh-secondary);
  --pine-soft: var(--rrh-primary);
  --danger: hsl(0 84% 60%);
  --navy-deep: hsl(210 25% 10%);
  --shadow: var(--rrh-shadow-steel);
  --radius: .25rem;
}

/* Typography: Inter everywhere, heavier headings (RRH "authority" feel) */
body, body *, body *::before, body *::after{ font-family:'Inter', system-ui, -apple-system, sans-serif !important; }
body{ background:var(--rrh-bg); color:var(--rrh-fg); font-weight:500; }
h1, h2, h3, h4{ font-weight:700; letter-spacing:-.015em; color:var(--rrh-fg); }
.thesis h2{ font-size:clamp(32px,4vw,46px); }
::selection{ background:var(--rrh-primary); color:#fff; }
.eyebrow{ color:var(--rrh-primary-glow); font-weight:600; }
.eyebrow::before{ background:var(--rrh-primary); }

/* NAV: translucent blurred bar with the RRH logo + wordmark */
header.nav{ background:hsl(210 25% 12% / .8); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid var(--rrh-border); }
.navrow{ padding-block:14px; min-height:96px; }
.brand{ display:flex; align-items:center; gap:16px; color:var(--rrh-fg); text-decoration:none; }
.brand img{ height:64px; width:auto; box-shadow:var(--rrh-shadow-glow); transition:var(--rrh-transition); }
.brand:hover img{ transform:scale(1.05); }
.brand .wm{ display:block; font-weight:700; font-size:15px; letter-spacing:.06em; text-transform:uppercase; line-height:1.2; color:var(--rrh-fg); }
.brand small{ display:block; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--rrh-primary-glow); font-weight:600; margin-top:3px; }
nav.links{ gap:24px; }
nav.links a{ color:var(--rrh-muted-fg); font-size:14px; font-weight:600; letter-spacing:.02em; text-transform:none; transition:var(--rrh-transition); }
nav.links a:hover{ color:var(--rrh-fg); }
.navcta{ background:transparent; color:var(--rrh-fg); border:1px solid var(--rrh-border); border-radius:.25rem; text-transform:none; letter-spacing:0; font-size:14px; font-weight:600; padding:10px 16px; transition:var(--rrh-transition); }
.navcta:hover{ background:var(--rrh-secondary); color:var(--rrh-fg); border-color:var(--rrh-border); box-shadow:var(--rrh-shadow-glow); transform:scale(1.05); }
.menu-btn span{ background:var(--rrh-fg); }
.mobile-menu{ background:var(--rrh-bg); border-top:1px solid var(--rrh-border); }
.mobile-menu a{ color:var(--rrh-fg); text-transform:none; letter-spacing:0; font-size:17px; font-weight:600; border-bottom:1px solid var(--rrh-border); }
.mobile-menu a:hover{ color:var(--rrh-primary-glow); }
@media (max-width:560px){ .brand img{ height:44px; } .brand .wm{ font-size:12px; } .navrow{ min-height:72px; } }

/* BUTTONS: RRH outline / primary with glow + lift on hover */
.btn{ border-radius:.25rem; text-transform:none; letter-spacing:0; font-size:15px; font-weight:600; padding:14px 24px; transition:var(--rrh-transition); }
.btn-primary{ background:var(--rrh-primary); color:#fff; border-color:var(--rrh-primary); }
.btn-primary:hover{ background:var(--rrh-primary-glow); border-color:var(--rrh-primary-glow); box-shadow:var(--rrh-shadow-glow); transform:scale(1.05); }
.btn-ghost, .hero .btn-ghost{ border:1px solid var(--rrh-border); color:var(--rrh-fg); background:transparent; }
.btn-ghost:hover, .hero .btn-ghost:hover{ border-color:var(--rrh-primary); color:var(--rrh-fg); background:var(--rrh-secondary); box-shadow:var(--rrh-shadow-glow); transform:scale(1.05); }

/* HERO */
.hero{ background:var(--rrh-gradient-hero); color:var(--rrh-fg); }
.hero::after{ background:radial-gradient(closest-side, hsl(210 85% 55% / .18), transparent 70%); }
.hero h1{ color:var(--rrh-fg); text-transform:uppercase; font-weight:700; line-height:.95; letter-spacing:-.02em; }
.hero h1 em{ color:var(--rrh-primary-glow); font-style:normal; }
.hero p.lede{ color:var(--rrh-muted-fg); font-size:18px; font-weight:500; }
.glance{ background:hsl(210 20% 16% / .6); border-left:3px solid var(--rrh-primary); color:var(--rrh-muted-fg); border-radius:0 .25rem .25rem 0; }
.glance strong{ color:var(--rrh-fg); }
.hero .dossier{ background:var(--rrh-gradient-steel); color:var(--rrh-fg); border:1px solid var(--rrh-border); box-shadow:var(--rrh-shadow-steel); border-radius:.5rem; }
.hero .dossier dd{ color:var(--rrh-fg); }
.hero .dossier dt, .hero .dossier .note{ color:var(--rrh-muted-fg); }
.hero .dossier .note a{ color:var(--rrh-fg) !important; text-decoration-color:var(--rrh-primary-glow) !important; }
.dossier-title{ color:var(--rrh-primary-glow); }

/* STAT BAND */
.stat-band{ background:var(--rrh-muted); color:var(--rrh-fg); border-top:1px solid var(--rrh-border); border-bottom:1px solid var(--rrh-border); }
.stat{ background:transparent; }
.stat .num{ color:var(--rrh-primary-glow); font-weight:700; }
.stat .cap{ color:var(--rrh-muted-fg); }

/* CARDS: dark steel cards, subtle border, rounded, glow on hover where clickable */
.pillars, .team, .crit-grid, .nots, .rel-grid{ background:var(--rrh-card); border:1px solid var(--rrh-border); border-radius:.5rem; overflow:hidden; box-shadow:var(--rrh-shadow-steel); }
.pillar, .member, .crit, .not{ background:transparent; }
.path, .fit, .gcard, .ledger, .distress-flag, .toc, .dossier, .trades span, .callout, .sidecta, .rel, .faq-item, .ledger-mini{ background:var(--rrh-card); border:1px solid var(--rrh-border); border-radius:.5rem; box-shadow:var(--rrh-shadow-steel); }
.path.lead, .gcard, .pillar.urgent, .distress-flag{ border-top:4px solid var(--rrh-primary); }
.path.alt, .fit.yes{ border-top:4px solid var(--rrh-primary-glow); }
.path.mid, .fit.no{ border-top:4px solid var(--rrh-secondary); }
.pillar.urgent .mk{ color:var(--rrh-primary-glow); }
.path li::before, .path.alt li::before, .fit.yes li::before, .not strong::before{ color:var(--rrh-primary-glow); }
.fit.no li::before{ color:var(--rrh-muted-fg); }
.gcard{ transition:var(--rrh-transition); }
.gcard:hover{ box-shadow:var(--rrh-shadow-glow); transform:scale(1.02); border-color:var(--rrh-primary); }
.gcard:hover h3{ color:var(--rrh-primary-glow); }
.gcard .more{ color:var(--rrh-primary-glow); text-transform:none; letter-spacing:0; font-size:13px; }
.principle{ background:var(--rrh-gradient-steel); color:var(--rrh-fg); border-left:4px solid var(--rrh-primary); border-radius:.25rem; }
.principle .k{ color:var(--rrh-primary-glow); }
.ledger .after, .crit.lead .val{ color:var(--rrh-primary-glow); }
.band-cta{ background:var(--rrh-gradient-hero); }

/* CONTACT */
.contact{ background:var(--rrh-gradient-hero); color:var(--rrh-fg); border-top:1px solid var(--rrh-border); }
.contact h2{ color:var(--rrh-fg) !important; font-weight:700; letter-spacing:-.015em; }
.contact p.lede{ color:var(--rrh-muted-fg); }
.contact-card{ border:1px solid var(--rrh-border); background:var(--rrh-card); border-radius:.5rem; box-shadow:var(--rrh-shadow-primary); }
.contact-card dt{ color:var(--rrh-muted-fg); }
.contact-card dd, .contact-card a{ color:var(--rrh-fg); }
.contact-card dd .sub{ color:var(--rrh-muted-fg); }
.contact-card .dossier-title{ color:var(--rrh-primary-glow); border-color:var(--rrh-border); }
.contact-card .row{ border-top-color:var(--rrh-border); }
.contact-card a:hover{ color:var(--rrh-primary-glow); }

/* FOOTER */
footer{ background:var(--rrh-bg); color:var(--rrh-muted-fg); border-top:1px solid var(--rrh-border); }
footer a{ color:var(--rrh-fg); text-decoration-color:var(--rrh-primary-glow); }
footer a:hover{ color:var(--rrh-primary-glow); }

/* LINKS */
a[href^="#"], .note a, .body a{ text-decoration-color:var(--rrh-primary-glow); }
.body a:hover, .note a:hover{ color:var(--rrh-primary-glow); }

/* ---- pass 2 (2026-10-10): nav crowding + section labels ---- */
/* Big uppercase section labels: RRH blue, like the holdings site's accent spans */
.eyebrow, .band-pine .eyebrow, .band-paper .eyebrow, .band-rust .eyebrow, .distress .eyebrow, .contact .eyebrow{ color:var(--rrh-primary-glow); }
.hero .eyebrow{ color:var(--rrh-primary-glow); }
h2{ color:var(--rrh-fg); }

/* Nav: keep brand + links from colliding; collapse to the hamburger earlier */
.navrow{ gap:20px; }
.brand{ flex-shrink:0; }
nav.links{ gap:18px; flex-wrap:nowrap; }
nav.links a{ font-size:13px; }
.navcta{ flex-shrink:0; }
@media (max-width:1360px){
  nav.links{ display:none; }
  .menu-btn{ display:flex; }
  .menu-toggle:checked ~ .menu-btn span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
  .menu-toggle:checked ~ .menu-btn span:nth-child(2){ opacity:0; }
  .menu-toggle:checked ~ .menu-btn span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
}

/* ---- pass 3 (2026-10-10): guide/article pages ---- */
.art h1, .body h2, .faqs h2{ color:var(--rrh-fg); }
.answer{ background:var(--rrh-card); border:1px solid var(--rrh-border); border-left:4px solid var(--rrh-primary); border-radius:.5rem; box-shadow:var(--rrh-shadow-steel); }
.answer p, .body p, .body li{ color:var(--rrh-fg); }
.callout{ background:var(--rrh-muted); }
.callout.pine{ background:var(--rrh-card); }
.ledger-mini div:first-child{ background:var(--rrh-muted); }
.sidecta{ background:var(--rrh-gradient-steel); color:var(--rrh-fg); border:1px solid var(--rrh-border); border-radius:.5rem; box-shadow:var(--rrh-shadow-primary); }
.sidecta .k{ color:var(--rrh-primary-glow); }
.sidecta p{ color:var(--rrh-muted-fg); }
.sidecta a.num{ color:var(--rrh-fg); }
.sidecta a.num:hover{ color:var(--rrh-primary-glow); }
.sidecta .small{ color:var(--rrh-muted-fg); }
.band-cta{ background:var(--rrh-gradient-hero); color:var(--rrh-fg); border-top:1px solid var(--rrh-border); border-bottom:1px solid var(--rrh-border); }
.band-cta h2{ color:var(--rrh-fg); }
.band-cta p{ color:var(--rrh-muted-fg); }
.band-cta .btn-primary{ background:var(--rrh-primary); color:#fff; }
.band-cta .btn-primary:hover{ background:var(--rrh-primary-glow); color:#fff; box-shadow:var(--rrh-shadow-glow); }
.crumbs a:hover, .toc a:hover, .rel:hover h3{ color:var(--rrh-primary-glow); }
.body a{ color:var(--rrh-fg); }

/* ---- pass 4 (2026-10-10): phone-width nav ---- */
.menu-btn{ flex-shrink:0; width:40px; }
@media (max-width:560px){
  .brand .wm{ display:none; }
  .brand img{ height:48px; }
  .navrow{ gap:12px; }
}

/* ---- pass 5 (2026-10-10): FAQ page (built from the home shell, which lacks the article CSS) ---- */
.crumbs{ font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--rrh-muted-fg); display:flex; gap:10px; flex-wrap:wrap; font-weight:700; }
.crumbs a{ text-decoration:none; color:inherit; }
.crumbs a:hover{ color:var(--rrh-primary-glow); }
.faq-page h1{ max-width:30ch; }
.band-cta .wrap{ display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:center; padding-block:64px; }
@media (max-width:860px){ .band-cta .wrap{ grid-template-columns:1fr; padding-block:40px; gap:24px; } }
.band-cta h2{ font-size:clamp(26px,3.2vw,36px); max-width:30ch; }
.band-cta p{ margin-top:14px; max-width:52ch; }

/* ---- pass 6 (2026-10-10): skyline hero, instant cross-page anchors, bigger "Turnarounds" ---- */
/* Hero: same Philadelphia skyline + dark overlay as roslynridgeholdings.com */
.hero{
  background:
    linear-gradient(90deg, hsl(210 25% 12% / .84) 0%, hsl(210 25% 12% / .74) 50%, hsl(210 25% 12% / .80) 100%),
    url("philadelphia-skyline.jpg") center / cover no-repeat;
}
.hero::after{ display:none; }
.hero .dossier{ background:hsl(210 20% 16% / .92); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.hero .glance{ background:hsl(210 20% 16% / .7); }

/* Anchors: no CSS smooth-scroll (it animated from the top on every cross-page #link);
   in-page clicks are smoothed by the small script at the end of each page instead. */
html{ scroll-behavior:auto !important; }
section[id]{ scroll-margin-top:100px; }

/* Brand: make "Turnarounds" the prominent line */
.brand .wm{ font-size:12px; letter-spacing:.08em; color:var(--rrh-muted-fg); font-weight:600; }
.brand small{ font-size:17px; letter-spacing:.12em; font-weight:800; color:var(--rrh-fg); margin-top:2px; }
@media (max-width:560px){ .brand .wm{ display:none; } }


/* ---- pass 7 (2026-10-10): team cards, mirroring rrh-website TeamSection.tsx ---- */
.team-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:40px; }
@media (max-width:980px){ .team-cards{ grid-template-columns:1fr; max-width:520px; } }
.tcard{ background:var(--rrh-gradient-steel); border:1px solid hsl(210 18% 25% / .5); border-radius:.5rem; box-shadow:var(--rrh-shadow-steel); padding:32px; display:flex; flex-direction:column; transition:var(--rrh-transition); }
.tcard:hover{ box-shadow:var(--rrh-shadow-glow); }
.tcard-photo{ width:128px; height:128px; margin:0 auto 24px; border-radius:50%; overflow:hidden; box-shadow:var(--rrh-shadow-primary); }
.tcard-photo img{ width:100%; height:100%; object-fit:cover; transition:var(--rrh-transition); }
.tcard:hover .tcard-photo img{ transform:scale(1.05); }
.tcard h3{ text-align:center; font-size:20px; font-weight:700; margin:0 0 8px; color:var(--rrh-fg); }
.tcard-title{ text-align:center; color:var(--rrh-primary-glow); font-size:17px; font-weight:600; letter-spacing:.025em; margin-bottom:24px; }
.tcard ul{ list-style:none; margin:0 0 24px; padding:0; display:flex; flex-direction:column; gap:12px; }
.tcard li{ position:relative; padding-left:20px; font-size:14px; line-height:1.6; color:var(--rrh-muted-fg); font-weight:500; }
.tcard li::before{ content:""; position:absolute; left:0; top:.6em; width:8px; height:8px; border-radius:50%; background:var(--rrh-primary); }
.tcard-exp{ font-size:14px; font-weight:600; color:var(--rrh-fg); margin-bottom:12px; }
.tcard-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.tcard-tags span{ padding:4px 12px; border-radius:9999px; background:hsl(210 90% 45% / .2); color:var(--rrh-primary-glow); font-size:12px; font-weight:500; }
.tcard-btn{ margin-top:auto; align-self:center; display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:1px solid var(--rrh-border); border-radius:.25rem; color:var(--rrh-fg); font-size:14px; font-weight:600; text-decoration:none; background:transparent; transition:var(--rrh-transition); }
.tcard-btn svg{ width:16px; height:16px; fill:currentColor; }
.tcard-btn:hover{ background:var(--rrh-secondary); box-shadow:var(--rrh-shadow-glow); transform:scale(1.05); }


/* ---- pass 8 (2026-10-10): guide cards mirror rrh-website PortfolioSection tiles (white, rounded, glow + lift) ---- */
.guide-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:40px; }
@media (max-width:980px){ .guide-list{ grid-template-columns:1fr; max-width:520px; } }
.gcard{ background:#fff; color:hsl(210 30% 8%); border:none; border-radius:.5rem; box-shadow:var(--rrh-shadow-steel); padding:32px; min-height:260px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; transition:var(--rrh-transition); }
.gcard:hover{ box-shadow:var(--rrh-shadow-glow); transform:scale(1.02); border-color:transparent; }
.gcard .t{ color:var(--rrh-primary); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.gcard h3{ color:hsl(210 30% 8%); font-size:19px; line-height:1.25; font-weight:700; }
.gcard:hover h3{ color:var(--rrh-primary); }
.gcard p{ color:hsl(210 15% 35%); font-size:14px; line-height:1.5; }
.gcard .more{ margin-top:auto; padding-top:12px; color:var(--rrh-primary); font-size:13px; font-weight:600; }
.gcard .more::after{ content:" \2192"; }


/* ---- pass 9 (2026-10-10): Criteria mirrors rrh-website InvestmentApproach (check list + steel panel) ---- */
.crit-layout{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; margin-top:40px; }
@media (max-width:980px){ .crit-layout{ grid-template-columns:1fr; gap:32px; } }
.crit-h3{ font-size:28px; font-weight:700; margin:0 0 28px; color:var(--rrh-fg); }
.ic-item{ display:flex; align-items:flex-start; gap:16px; margin-bottom:24px; }
.ic-item .ic{ width:24px; height:24px; border-radius:50%; background:var(--rrh-primary); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:4px; }
.ic-item .ic svg{ width:12px; height:12px; fill:hsl(210 15% 95%); }
.ic-item h4{ font-size:17px; font-weight:600; letter-spacing:.025em; margin:0 0 6px; color:var(--rrh-fg); }
.ic-item p{ font-size:16px; line-height:1.6; color:var(--rrh-muted-fg); font-weight:500; margin:0; }
.crit-box{ background:var(--rrh-gradient-steel); border-radius:.5rem; box-shadow:var(--rrh-shadow-steel); padding:32px; }
.crit-box h3{ font-size:24px; font-weight:700; text-align:center; margin:0 0 24px; color:var(--rrh-fg); }
.bar-group + .bar-group{ margin-top:22px; padding-top:22px; border-top:1px solid var(--rrh-border); }
.bar-k{ font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:14px; }
.bar-k.yes{ color:var(--rrh-primary-glow); }
.bar-k.no{ color:var(--rrh-muted-fg); }
.bar-item{ border-left:4px solid var(--rrh-primary); padding-left:16px; margin-bottom:16px; }
.bar-group:last-child .bar-item{ border-left-color:var(--rrh-border); }
.bar-item:last-child{ margin-bottom:0; }
.bar-item h4{ font-size:16px; font-weight:600; letter-spacing:.02em; margin:0 0 4px; color:var(--rrh-fg); }
.bar-item p{ font-size:14px; line-height:1.55; color:var(--rrh-muted-fg); margin:0; }


/* ---- pass 10 (2026-10-10): cleanup pass (fewer sections, process folded into How It Works) ---- */
.how-process{ margin-top:56px; padding-top:40px; border-top:1px solid var(--rrh-border); }
.how-process .steps{ margin-top:24px; }
#thesis .distress-flag{ max-width:38ch; }
