/* ============================================
   Export Finance Insider — Global Stylesheet
   Theme: Stripe Authority (Option 1)
   Updated: 2026-04-15
   ============================================ */

:root {
  --blue-800: #0d47a1;
  --blue-700: #1565c0;
  --blue-100: #e8f0fe;
  --blue-50:  #f0f4ff;
  --gray-900: #0d1117;
  --gray-700: #374151;
  --gray-600: #4b5563;
  --gray-500: #6b7280;
  --gray-400: #9ca3af;
  --gray-300: #d1d5db;
  --gray-200: #e5e7eb;
  --gray-100: #f3f4f6;
  --gray-50:  #f9fafb;
  --gold-500: #b8860b;
  --gold-400: #d4a843;
  --gold-100: #fdf6e3;
  --text-primary:   #0d1117;
  --text-secondary: #4b5563;
  --text-muted:     #6b7280;
  --bg-page:        #ffffff;
  --border:         #e5e7eb;
  --border-strong:  #d1d5db;
  --container-max:  1200px;
  --section-pad:    5rem;
  --nav-height:     64px;
  --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: var(--font-body); background: #fff; color: var(--text-primary); line-height: 1.7; font-size: 16px; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width:100%; height:auto; display:block; }
a { color: var(--blue-800); text-decoration:none; transition: color var(--transition-fast); }
a:hover { color: var(--blue-700); }
h1,h2,h3,h4,h5,h6 { color: var(--text-primary); line-height:1.25; font-weight:600; letter-spacing:-0.02em; }
h1 { font-size: clamp(2rem,5vw,3rem); }
h2 { font-size: clamp(1.5rem,3vw,2rem); }
h3 { font-size: clamp(1.1rem,2vw,1.35rem); }
p + p { margin-top:1rem; }

.container { max-width: var(--container-max); margin:0 auto; padding:0 1.5rem; }
.container--narrow { max-width: 800px; }
.section { padding: var(--section-pad) 0; }
.section--alt { background: var(--gray-50); }
.section--border { border-top: 1px solid var(--border); }
.text-blue { color: var(--blue-800); }
.text-muted { color: var(--text-muted); }
.text-center { text-align:center; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }

/* Buttons */
.btn { display:inline-flex; align-items:center; gap:.5rem; padding:.75rem 1.5rem; border-radius:8px; font-size:.95rem; font-weight:600; cursor:pointer; transition:all var(--transition-base); border:1.5px solid transparent; text-decoration:none; line-height:1.4; font-family:var(--font-body); }
.btn--primary { background:var(--blue-800); color:#fff; border-color:var(--blue-800); }
.btn--primary:hover { background:var(--blue-700); border-color:var(--blue-700); color:#fff; box-shadow:0 4px 12px rgba(13,71,161,.25); transform:translateY(-1px); }
.btn--outline { background:transparent; color:var(--text-primary); border-color:var(--border-strong); }
.btn--outline:hover { border-color:var(--blue-800); color:var(--blue-800); }
.btn--gold { background:var(--gold-500); color:#fff; border-color:var(--gold-500); font-weight:700; }
.btn--gold:hover { background:var(--gold-400); border-color:var(--gold-400); color:#fff; transform:translateY(-1px); }
.btn--sm { padding:.5rem 1.1rem; font-size:.875rem; }
.btn--lg { padding:.9rem 2rem; font-size:1rem; }

/* Badge */
.badge { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .85rem; border-radius:9999px; font-size:.75rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; }
.badge--blue  { background:var(--blue-100); color:var(--blue-800); border:1px solid #c5d8f8; }
.badge--green { background:#e6f4ea; color:#1e7e34; border:1px solid #b8dfc0; }
.badge--gold  { background:var(--gold-100); color:var(--gold-500); border:1px solid #f0d88a; }
.badge--gray  { background:var(--gray-100); color:var(--gray-700); border:1px solid var(--gray-300); }
.badge--teal  { background:#e0f2f1; color:#00695c; border:1px solid #b2dfdb; }

/* Navigation */
.nav { position:fixed; top:0; left:0; right:0; z-index:1000; background:rgba(255,255,255,.92); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid var(--border); height:var(--nav-height); }
.nav__inner { display:flex; align-items:center; justify-content:space-between; max-width:var(--container-max); margin:0 auto; padding:0 1.5rem; height:100%; }
.nav__brand { display:flex; align-items:center; gap:.6rem; font-weight:700; font-size:1rem; color:var(--text-primary); text-decoration:none; }
.nav__brand:hover { color:var(--text-primary); }
.nav__brand-icon { width:30px; height:30px; background:var(--blue-800); border-radius:7px; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.78rem; color:white; flex-shrink:0; }
.nav__links { display:flex; align-items:center; gap:2rem; list-style:none; }
.nav__links a { color:var(--text-secondary); font-size:.9rem; font-weight:500; transition:color var(--transition-fast); }
.nav__links a:hover, .nav__links a.active { color:var(--text-primary); }
.nav__cta { display:inline-flex; }
.nav__toggle { display:none; background:none; border:none; color:var(--text-primary); font-size:1.35rem; cursor:pointer; padding:.25rem; }
@media (max-width:768px) {
  .nav__toggle { display:block; }
  .nav__links { display:none; position:absolute; top:var(--nav-height); left:0; right:0; flex-direction:column; background:white; border-bottom:1px solid var(--border); padding:1rem 1.5rem; gap:0; box-shadow:var(--shadow-md); }
  .nav__links.open { display:flex; }
  .nav__links li { width:100%; }
  .nav__links a { display:block; padding:.75rem 0; border-bottom:1px solid var(--border); font-size:1rem; }
  .nav__links li:last-child a { border-bottom:none; }
  .nav__cta { display:none; }
}

/* Hero */
.hero { padding-top:calc(var(--nav-height) + 5rem); padding-bottom:0; border-bottom:1px solid var(--border); }
.hero__badge { margin-bottom:1.5rem; }
.hero h1 { margin-bottom:1.25rem; font-weight:700; color:var(--gray-900); letter-spacing:-.03em; }
.hero__sub { font-size:1.1rem; color:var(--text-secondary); max-width:580px; margin-bottom:2rem; line-height:1.75; }
.hero__actions { display:flex; gap:.85rem; flex-wrap:wrap; }
@media (max-width:480px) {
  .hero { padding-top:calc(var(--nav-height) + 3rem); }
  .hero__actions { flex-direction:column; }
  .hero__actions .btn { width:100%; justify-content:center; }
  .hero__sub { font-size:1rem; }
}

/* Stats bar */
.stats-bar { display:grid; grid-template-columns:repeat(4,1fr); margin-top:4rem; border-top:1px solid var(--border); background:var(--gray-50); }
.stats-bar__item { padding:1.5rem 2rem; border-right:1px solid var(--border); text-align:center; }
.stats-bar__item:last-child { border-right:none; }
.stats-bar__item strong { display:block; font-size:1.75rem; font-weight:700; color:var(--blue-800); margin-bottom:.2rem; letter-spacing:-.02em; }
.stats-bar__item span { font-size:.75rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:.06em; font-weight:500; }
@media (max-width:768px) { .stats-bar { grid-template-columns:repeat(2,1fr); } }

/* Section headers */
.section__header { margin-bottom:3rem; }
.section__header--center { text-align:center; }
.section__header--center .section__subtitle { margin:0 auto; }
.section__label { display:inline-block; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--blue-800); margin-bottom:.6rem; }
.section__subtitle { color:var(--text-secondary); max-width:580px; font-size:1.05rem; margin-top:.5rem; }
.section-header { margin-bottom:3rem; }
.section-header--center { text-align:center; }
.section-header__label { display:inline-block; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--blue-800); margin-bottom:.6rem; }

/* Card Grid */
.card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.25rem; }
@media (max-width:640px) { .card-grid { grid-template-columns:1fr; } }

/* Cards */
.card { background:#fff; border:1px solid var(--border); border-radius:12px; padding:1.75rem; transition:all var(--transition-base); }
.card:hover { border-color:var(--blue-800); box-shadow:var(--shadow-md); transform:translateY(-2px); }
.card__icon { width:44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin-bottom:1.1rem; }
.card__icon--blue  { background:var(--blue-100); color:var(--blue-800); }
.card__icon--gold  { background:var(--gold-100); color:var(--gold-500); }
.card__icon--teal  { background:#e0f2f1; color:#00695c; }
.card__icon--green { background:#e6f4ea; color:#1e7e34; }
.card h3 { font-size:1.05rem; margin-bottom:.6rem; }
.card p { color:var(--text-secondary); font-size:.9rem; line-height:1.6; }
.card--tool { position:relative; display:flex; flex-direction:column; }
.card--tool .badge { position:absolute; top:1.25rem; right:1.25rem; }
a.card__link { font-size:.875rem; font-weight:600; color:var(--blue-800); display:inline-flex; align-items:center; gap:.35rem; margin-top:1.25rem; text-decoration:none; transition:gap var(--transition-fast); }
a.card__link::after { content:'→'; }
a.card__link:hover { gap:.55rem; }

/* Spotlight */
.spotlight { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
@media (max-width:768px) { .spotlight { grid-template-columns:1fr; gap:2rem; } }
.spotlight__content { display:flex; flex-direction:column; gap:1.25rem; }
.spotlight__meta { display:flex; align-items:center; gap:.75rem; }
.spotlight__stats { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; margin:.5rem 0; }
.spotlight__stat { background:var(--gray-50); border:1px solid var(--border); border-radius:8px; padding:.85rem 1rem; }
.spotlight__stat strong { font-size:1rem; font-weight:600; color:var(--text-primary); }
.spotlight__topics { background:var(--gray-50); border:1px solid var(--border); border-radius:12px; padding:1.75rem; }
.spotlight__topics h4 { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); margin-bottom:1rem; }
.spotlight__topics ul { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.spotlight__topics li { display:flex; align-items:center; gap:.6rem; font-size:.9rem; color:var(--text-secondary); }
.spotlight__topics li::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--blue-800); flex-shrink:0; }

/* Newsletter */
.newsletter { text-align:center; background:var(--blue-50); border-top:1px solid #c5d8f8; border-bottom:1px solid #c5d8f8; }
.newsletter h2 { margin-bottom:.5rem; }
.newsletter p { color:var(--text-secondary); margin-bottom:1.75rem; max-width:480px; margin-left:auto; margin-right:auto; }
.newsletter__form { display:flex; gap:.75rem; max-width:460px; margin:0 auto; flex-wrap:wrap; justify-content:center; }
.newsletter__form input[type="email"] { flex:1; min-width:220px; background:white; border:1.5px solid var(--border-strong); color:var(--text-primary); padding:.75rem 1rem; border-radius:8px; font-size:.95rem; font-family:var(--font-body); transition:border-color var(--transition-fast); }
.newsletter__form input[type="email"]:focus { outline:none; border-color:var(--blue-800); box-shadow:0 0 0 3px rgba(13,71,161,.1); }
@media (max-width:480px) { .newsletter__form { flex-direction:column; } .newsletter__form input[type="email"] { min-width:unset; width:100%; } .newsletter__form .btn { width:100%; justify-content:center; } }

/* CTA Banner */
.cta-banner { background:var(--gray-900); border-radius:16px; padding:3.5rem; text-align:center; }
.cta-banner h2 { color:white; margin-bottom:.75rem; }
.cta-banner p { color:var(--gray-400); max-width:480px; margin:0 auto 1.75rem; font-size:1.05rem; }

/* Footer */
.footer { border-top:1px solid var(--border); padding:3rem 0 2rem; background:var(--gray-50); }
.footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; margin-bottom:2.5rem; }
@media (max-width:768px) { .footer__grid { grid-template-columns:1fr 1fr; gap:2rem; } }
@media (max-width:480px) { .footer__grid { grid-template-columns:1fr; } }
.footer__col p { color:var(--text-muted); font-size:.9rem; margin-top:.75rem; max-width:240px; }
.footer__col h4 { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--text-muted); margin-bottom:1rem; }
.footer__col ul { list-style:none; display:flex; flex-direction:column; gap:.5rem; }
.footer__col a { color:var(--text-secondary); font-size:.9rem; }
.footer__col a:hover { color:var(--text-primary); }
.footer__bottom { display:flex; align-items:center; justify-content:space-between; padding-top:2rem; border-top:1px solid var(--border); font-size:.82rem; color:var(--text-muted); }
@media (max-width:600px) { .footer__bottom { flex-direction:column; gap:1rem; text-align:center; } }
.footer__social { display:flex; gap:1.25rem; }
.footer__social a { color:var(--text-muted); font-size:.9rem; }
.footer__social a:hover { color:var(--text-primary); }

/* Article pages */
.article { padding:calc(var(--nav-height) + 4rem) 0 4rem; }
.article__header { margin-bottom:3rem; padding-bottom:2rem; border-bottom:1px solid var(--border); }
.article__meta { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.article__content { max-width:760px; }
.article__content h2 { margin:3rem 0 1.25rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.article__content h2:first-child { margin-top:0; padding-top:0; border-top:none; }
.article__content h3 { margin:2rem 0 1rem; }
.article__content p { margin-bottom:1rem; font-size:1.02rem; }
.article__content ul, .article__content ol { margin:1rem 0 1rem 1.5rem; display:flex; flex-direction:column; gap:.5rem; }
.article__content li { font-size:1rem; line-height:1.65; }

/* Info boxes */
.info-box { border-radius:10px; padding:1.25rem 1.5rem; margin:1.5rem 0; font-size:.92rem; line-height:1.6; }
.info-box--info    { background:var(--blue-50); border:1px solid #c5d8f8; color:var(--blue-800); }
.info-box--warning { background:#fffbeb; border:1px solid #fcd34d; color:#92400e; }
.info-box--tip     { background:#f0fdf4; border:1px solid #86efac; color:#166534; }
.info-box strong   { display:block; margin-bottom:.35rem; }

/* Data tables */
.data-table-wrapper { overflow-x:auto; margin:1.5rem 0; border-radius:10px; border:1px solid var(--border); }
.data-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.data-table th { background:var(--gray-50); color:var(--text-primary); font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; padding:.85rem 1rem; text-align:left; white-space:nowrap; border-bottom:1px solid var(--border); }
.data-table td { padding:.75rem 1rem; border-top:1px solid var(--border); color:var(--text-secondary); }
.data-table tbody tr:hover { background:var(--gray-50); }

/* Fact box */
.fact-box { background:var(--gray-50); border:1px solid var(--border); border-radius:10px; padding:1.5rem; margin:1.5rem 0; }
.fact-box__title { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--blue-800); margin-bottom:.75rem; }
.fact-box dl { display:grid; grid-template-columns:auto 1fr; gap:.4rem 1.5rem; }
.fact-box dt { color:var(--text-muted); font-size:.88rem; }
.fact-box dd { color:var(--text-primary); font-weight:600; font-size:.92rem; }

/* TOC */
.toc { background:var(--gray-50); border:1px solid var(--border); border-radius:10px; padding:1.5rem 2rem; margin-bottom:2.5rem; }
.toc__title { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); margin-bottom:1rem; }
.toc ol { list-style:decimal; padding-left:1.25rem; display:flex; flex-direction:column; gap:.4rem; }
.toc a { font-size:.92rem; color:var(--text-secondary); }
.toc a:hover { color:var(--blue-800); }

/* Tool pages */
.tool-page { padding:calc(var(--nav-height) + 3rem) 0 4rem; }
.tool-header { margin-bottom:2.5rem; }
.tool-header h1 { margin-bottom:.75rem; }
.tool-header p { color:var(--text-secondary); font-size:1.05rem; max-width:620px; }
.filters { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2rem; }
.filter-group { display:flex; flex-direction:column; gap:.35rem; }
.filter-group label { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); }
.filter-group select, .filter-group input { background:white; border:1.5px solid var(--border-strong); color:var(--text-primary); padding:.6rem 1rem; border-radius:8px; font-size:.9rem; font-family:var(--font-body); min-width:180px; cursor:pointer; transition:border-color var(--transition-fast); }
.filter-group select:focus, .filter-group input:focus { outline:none; border-color:var(--blue-800); box-shadow:0 0 0 3px rgba(13,71,161,.1); }

/* Wizard */
.wizard { max-width:640px; margin:0 auto; }
.wizard__step { display:none; animation:fadeIn .3s ease; }
.wizard__step.active { display:block; }
@keyframes fadeIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.wizard__progress { display:flex; gap:.5rem; margin-bottom:2.5rem; }
.wizard__progress-step { flex:1; height:4px; border-radius:4px; background:var(--gray-200); transition:background var(--transition-base); }
.wizard__progress-step.completed { background:var(--blue-800); }
.wizard__progress-step.current   { background:var(--gold-400); }
.wizard__question { font-size:1.3rem; font-weight:600; margin-bottom:.5rem; letter-spacing:-.01em; }
.wizard__hint { color:var(--text-muted); font-size:.92rem; margin-bottom:1.75rem; }
.wizard__options { display:flex; flex-direction:column; gap:.75rem; }
.wizard__option { background:white; border:1.5px solid var(--border); border-radius:10px; padding:1rem 1.25rem; cursor:pointer; transition:all var(--transition-fast); display:flex; align-items:center; gap:.75rem; }
.wizard__option:hover  { border-color:var(--blue-800); background:var(--blue-50); }
.wizard__option.selected { border-color:var(--blue-800); background:var(--blue-50); }
.wizard__option-label { font-weight:600; color:var(--text-primary); font-size:.95rem; }
.wizard__option-desc  { font-size:.82rem; color:var(--text-muted); }
.wizard__nav { display:flex; justify-content:space-between; margin-top:2rem; }

/* Result card */
.result-card { background:var(--gray-900); border:1px solid #374151; border-radius:16px; padding:2.5rem; margin-top:2rem; }
.result-card h3 { color:var(--gold-400); margin-bottom:.5rem; }
.result-card__recommendation { font-size:1.4rem; font-weight:700; color:white; margin-bottom:1rem; }
.result-card__details { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1rem; margin:1.5rem 0; }
.result-card__detail { background:rgba(255,255,255,.06); border-radius:8px; padding:1rem; }
.result-card__detail-label { font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; color:var(--gray-400); margin-bottom:.25rem; }
.result-card__detail-value { font-size:1.05rem; font-weight:700; color:white; }
.result-card__pros-cons { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin:1.5rem 0; }
@media (max-width:640px) { .result-card__pros-cons { grid-template-columns:1fr; } }
.result-card__list h4 { font-size:.85rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:.75rem; }
.result-card__list--pros h4 { color:#4ade80; }
.result-card__list--cons h4 { color:#f87171; }
.result-card__list ul { list-style:none; display:flex; flex-direction:column; gap:.4rem; }
.result-card__list li { font-size:.9rem; color:var(--gray-300); padding-left:1.2rem; position:relative; }
.result-card__list--pros li::before { content:'+'; position:absolute; left:0; color:#4ade80; font-weight:700; }
.result-card__list--cons li::before { content:'−'; position:absolute; left:0; color:#f87171; font-weight:700; }

/* Calculator */
.calc-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:start; }
@media (max-width:768px) { .calc-grid { grid-template-columns:1fr; } .calc-results { position:static; } }
.calc-inputs { background:white; border:1px solid var(--border); border-radius:12px; padding:2rem; }
.calc-results { background:var(--gray-900); border:1px solid #374151; border-radius:12px; padding:2rem; position:sticky; top:80px; }
.calc-result-item { display:flex; justify-content:space-between; padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.08); }
.calc-result-item:last-child { border-bottom:none; font-weight:700; font-size:1.1rem; color:var(--gold-400); padding-top:1rem; margin-top:.5rem; border-top:1px solid rgba(255,255,255,.15); }
.calc-result-label { color:var(--gray-400); font-size:.9rem; }
.calc-result-value { color:white; font-weight:600; }

/* Forms */
.form { display:flex; flex-direction:column; gap:1.25rem; max-width:600px; }
.form__group { display:flex; flex-direction:column; gap:.35rem; }
.form__row { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
@media (max-width:640px) { .form__row { grid-template-columns:1fr; } }
.form__label { font-size:.85rem; font-weight:600; color:var(--text-primary); }
.form__input, .form__select, .form__textarea { background:white; border:1.5px solid var(--border-strong); color:var(--text-primary); padding:.75rem 1rem; border-radius:8px; font-size:.95rem; font-family:var(--font-body); transition:border-color var(--transition-fast); }
.form__input:focus, .form__select:focus, .form__textarea:focus { outline:none; border-color:var(--blue-800); box-shadow:0 0 0 3px rgba(13,71,161,.1); }
.form__textarea { min-height:120px; resize:vertical; }
.form__hint { font-size:.82rem; color:var(--text-muted); }

/* About */
.about-hero { display:grid; grid-template-columns:1fr 1.2fr; gap:3rem; align-items:center; }
@media (max-width:768px) { .about-hero { grid-template-columns:1fr; text-align:center; } .about-avatar { margin:0 auto; } }
.about-avatar { width:180px; height:180px; border-radius:16px; background:var(--gray-100); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:4rem; color:var(--blue-800); }

/* Contact */
.contact-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; align-items:start; }
@media (max-width:768px) { .contact-grid { grid-template-columns:1fr; gap:2.5rem; } }
.contact-info { display:flex; flex-direction:column; gap:1.25rem; }
.contact-card { background:white; border:1px solid var(--border); border-radius:12px; padding:1.5rem; transition:all var(--transition-base); }
.contact-card:hover { border-color:var(--blue-800); box-shadow:var(--shadow-sm); }
.contact-card__icon { width:40px; height:40px; border-radius:10px; background:var(--blue-100); color:var(--blue-800); display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.contact-card h3 { font-size:1rem; margin-bottom:.5rem; }
.contact-card p, .contact-card a { font-size:.92rem; color:var(--text-secondary); line-height:1.6; }
.contact-card a:hover { color:var(--blue-800); }

/* Hub listing */
.hub-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; }
.hub-card { background:white; border:1px solid var(--border); border-radius:12px; overflow:hidden; transition:all var(--transition-base); text-decoration:none; display:block; color:inherit; }
.hub-card:hover { border-color:var(--blue-800); transform:translateY(-2px); box-shadow:var(--shadow-md); }
.hub-card__img { height:140px; display:flex; align-items:center; justify-content:center; font-size:3.5rem; background:var(--gray-50); }
.hub-card__body { padding:1.5rem; }
.hub-card__body h3 { margin-bottom:.5rem; font-size:1.05rem; }
.hub-card__body p { color:var(--text-secondary); font-size:.88rem; }
.hub-card--coming-soon { opacity:.5; pointer-events:none; }

/* Disclaimer */
.disclaimer { background:#fffbeb; border:1px solid #fcd34d; border-radius:8px; padding:1rem 1.25rem; font-size:.82rem; color:var(--text-secondary); margin-top:2rem; }
.disclaimer strong { color:#92400e; }

/* Chart */
.chart-container { background:white; border:1px solid var(--border); border-radius:12px; padding:1.5rem; margin:2rem 0; }

/* Animations */
@media (prefers-reduced-motion:no-preference) {
  .card, .hub-card, .stats-bar__item { opacity:0; transform:translateY(12px); animation:revealUp .45s ease forwards; }
  @keyframes revealUp { to { opacity:1; transform:translateY(0); } }
  .card:nth-child(1), .stats-bar__item:nth-child(1) { animation-delay:.05s; }
  .card:nth-child(2), .stats-bar__item:nth-child(2) { animation-delay:.10s; }
  .card:nth-child(3), .stats-bar__item:nth-child(3) { animation-delay:.15s; }
  .card:nth-child(4), .stats-bar__item:nth-child(4) { animation-delay:.20s; }
}
