:root {
  --site-bg: #f4f6f9;
  --site-ink: #0f172a;
  --site-accent: #0d9488;
  --site-accent-2: #2563eb;
  --site-muted: #64748b;
  --site-card: #ffffff;
  --site-navy: #0c1f3d;
  --font-h: 'Libre Baskerville', Georgia, serif;
  --font-b: 'Plus Jakarta Sans', system-ui, sans-serif;
}
body.site-rb { font-family: var(--font-b); background: var(--site-bg); color: var(--site-ink); }
h1, h2, h3, .rb-hero-title { font-family: var(--font-h); }
.top-strip { background: var(--site-navy); color: rgba(255,255,255,.85); font-size: .78rem; padding: .4rem 0; }
.rb-nav { background: linear-gradient(90deg, #0c1f3d 0%, #134074 100%) !important; box-shadow: 0 4px 24px rgba(12,31,61,.25); }
.brand-mark { display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:8px;background:var(--site-accent);font-size:.75rem;font-weight:700;font-family:var(--font-b); }
.rb-hero { background: linear-gradient(135deg, #0c1f3d 0%, #134074 45%, #0d9488 100%); position:relative; overflow:hidden; }
.rb-hero::after { content:''; position:absolute; top:-40%; right:-10%; width:50%; height:140%; background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%); pointer-events:none; }
.rb-hero-title { font-size:clamp(1.75rem,4vw,2.5rem); line-height:1.15; }
.rb-hero-lead { font-size:1.05rem; opacity:.9; max-width:42ch; }
.rb-pill { display:inline-block; padding:.35rem .85rem; border-radius:999px; font-size:.75rem; font-weight:600; letter-spacing:.03em; }
.rb-pill-light { background:rgba(255,255,255,.15); color:#fff; backdrop-filter:blur(4px); }
.rb-featured-card { display:block; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); border-radius:16px; overflow:hidden; backdrop-filter:blur(8px); transition:transform .25s, box-shadow .25s; }
.rb-featured-card:hover { transform:translateY(-4px); box-shadow:0 20px 50px rgba(0,0,0,.25); }
.rb-featured-badge { padding:.65rem 1rem; font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:#fcd34d; background:rgba(0,0,0,.2); }
.rb-featured-img { width:100%; aspect-ratio:16/9; object-fit:cover; background:#94a3b8; }
.rb-featured-body { padding:1.25rem 1.5rem 1.5rem; }
.rb-link-arrow { color:#5eead4; font-size:.9rem; font-weight:600; }
.rb-stats-row { margin-top:-1.5rem; position:relative; z-index:2; }
.rb-stat { background:var(--site-card); border-radius:12px; padding:1rem; text-align:center; box-shadow:0 4px 20px rgba(15,23,42,.08); border:1px solid rgba(15,23,42,.06); }
.rb-stat strong { display:block; font-size:1.35rem; color:var(--site-accent); font-family:var(--font-h); }
.rb-stat span { font-size:.75rem; color:var(--site-muted); text-transform:uppercase; letter-spacing:.05em; }
.rb-cat-heading { font-size:1.35rem; font-family:var(--font-b); font-weight:700; }
.rb-cat-heading i { color:var(--cat-color); }
.rb-cat-hero { background:linear-gradient(135deg,var(--site-navy) 0%,#134074 40%,var(--cat-color,#0d9488) 100%); color:#fff; position:relative; overflow:hidden; }
.rb-cat-hero::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.1),transparent 55%); pointer-events:none; }
.rb-cat-hero .container { position:relative; z-index:1; }
.rb-cat-hero-title { font-family:var(--font-h); font-size:clamp(1.6rem,3.5vw,2.25rem); margin:0; }
.rb-cat-hero-lead { opacity:.88; max-width:48ch; margin:0; }
.rb-cat-breadcrumb a:hover { color:#fff !important; }
.rb-article-card { background:var(--site-card); border-radius:14px; overflow:hidden; border:1px solid rgba(15,23,42,.07); box-shadow:0 2px 12px rgba(15,23,42,.04); transition:box-shadow .2s, transform .2s; }
.rb-article-card:hover { box-shadow:0 12px 32px rgba(15,23,42,.1); transform:translateY(-2px); }
.rb-card-img-wrap img { width:100%; aspect-ratio:16/10; object-fit:cover; background:#cbd5e1; display:block; }
.rb-card-no-img { height:100px; display:flex; align-items:center; justify-content:center; font-size:2rem; }
.rb-card-body { padding:1.15rem 1.25rem 1.25rem; }
.rb-cat-tag { display:inline-block; font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:#fff; padding:.2rem .55rem; border-radius:4px; }
.article-lede { font-size:1.15rem; line-height:1.7; margin-bottom:2rem; color:var(--site-muted); }
.longread-body p { margin-bottom:1.15rem; line-height:1.85; max-width:68ch; }
.longread-body h2 { margin-top:2.5rem; margin-bottom:1rem; font-size:1.45rem; font-family:var(--font-h); }
.article-pullquote { border-left:4px solid var(--site-accent); padding:1rem 1.5rem; margin:2rem 0; font-style:italic; background:var(--site-card); border-radius:0 8px 8px 0; }
.article-box { background:linear-gradient(135deg,#ecfdf5,#f0f9ff); border:1px solid rgba(13,148,136,.2); padding:1.25rem; margin:2.5rem 0; border-radius:12px; }
.article-list { margin:1rem 0 1.5rem 1.25rem; line-height:1.8; }
.article-hero-img { max-height:420px; width:100%; object-fit:cover; border-radius:12px; margin:1.5rem 0 2rem; background:#cbd5e1; }
.promo-ribbon { background:linear-gradient(90deg,var(--site-navy),var(--site-accent)); color:#fff; text-align:center; padding:.55rem; font-size:.82rem; }
.badge-sponsored { display:inline-block; background:var(--site-accent); color:#fff; padding:.3rem .75rem; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; border-radius:6px; }
.disclaimer-block { margin-top:3rem; padding:1.25rem; border:1px solid rgba(15,23,42,.1); font-size:.88rem; color:var(--site-muted); background:#f8fafc; border-radius:12px; }
.quiz-wrap { margin:2.5rem 0; padding:2rem; background:var(--site-card); border-radius:16px; box-shadow:0 8px 32px rgba(15,23,42,.08); border:1px solid rgba(13,148,136,.15); }
.quiz-progress { height:8px; background:#e2e8f0; border-radius:4px; overflow:hidden; margin:1rem 0; }
.quiz-fill { height:100%; background:linear-gradient(90deg,var(--site-accent),var(--site-accent-2)); width:0; transition:width .35s; }
.quiz-answers button { display:block; width:100%; text-align:left; margin:.5rem 0; padding:.85rem 1rem; border:1px solid #e2e8f0; background:#fff; cursor:pointer; border-radius:10px; font:inherit; transition:border-color .2s, background .2s; }
.quiz-answers button:hover { border-color:var(--site-accent); background:#f0fdfa; }
.quiz-proc-rb { text-align:center; padding:2rem 1rem; }
.quiz-spinner-rb { width:44px; height:44px; margin:0 auto 1rem; border:3px solid #e2e8f0; border-top-color:var(--site-accent); border-radius:50%; animation:rb-spin .8s linear infinite; }
@keyframes rb-spin { to { transform:rotate(360deg); } }
.quiz-proc-title { font-weight:600; margin-bottom:1rem; }
.quiz-proc-steps { list-style:none; padding:0; margin:0; font-size:.88rem; color:var(--site-muted); }
.quiz-proc-steps li { padding:.35rem 0; opacity:.4; }
.quiz-proc-steps li.active { opacity:1; color:var(--site-accent); font-weight:600; }
.quiz-res-rb { text-align:center; padding:1.5rem; background:#f0fdfa; border-radius:12px; border:1px solid rgba(13,148,136,.2); }
.quiz-res-badge { display:inline-block; background:var(--site-accent); color:#fff; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; padding:.25rem .65rem; border-radius:999px; margin-bottom:.75rem; }
.quiz-res-title { font-size:1.2rem; margin-bottom:1rem; }
.quiz-res-list { text-align:left; max-width:340px; margin:0 auto 1.25rem; padding-left:1.2rem; font-size:.92rem; line-height:1.7; }
.quiz-cta-rb { background:var(--site-accent); color:#fff !important; padding:.85rem 1.5rem; border-radius:10px; text-decoration:none; display:inline-block; }
.hidden { display:none !important; }
.modal-overlay { position:fixed; inset:0; background:rgba(15,23,42,.6); display:flex; align-items:center; justify-content:center; z-index:200; padding:1rem; }
.modal-overlay[hidden] { display:none !important; }
.modal-panel { background:#fff; max-width:540px; padding:1.75rem; border-radius:16px; max-height:85vh; overflow:auto; }
.modal-close-btn { float:right; border:none; background:none; font-size:1.5rem; cursor:pointer; }
.legal-link { background:none; border:none; color:rgba(255,255,255,.75); cursor:pointer; font:inherit; text-decoration:underline; padding:0; }
.footer-magazine .legal-link { color:rgba(255,255,255,.75); }
.cookie-bar-bottom { position:fixed; bottom:0; left:0; right:0; background:var(--site-navy); color:#fff; z-index:150; }
@media (max-width:768px) { .rb-stats-row { margin-top:0; } }
