
:root {
  --navy: #0f172a;
  --navy2: #111d35;
  --navy3: #172554;
  --gold: #d4a017;
  --gold2: #f7d774;
  --white: #ffffff;
  --text: #e5e7eb;
  --muted: #94a3b8;
  --line: rgba(255, 255, 255, .12);
  --card: rgba(255, 255, 255, .08);
  --card2: rgba(255, 255, 255, .12);
  --shadow: 0 24px 80px rgba(0, 0, 0, .35);
  --radius: 26px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--navy);
  color: var(--text);
}
body.light {
  --navy: #f8fafc;
  --navy2: #ffffff;
  --navy3: #e2e8f0;
  --text: #0f172a;
  --muted: #475569;
  --line: rgba(15, 23, 42, .12);
  --card: rgba(15, 23, 42, .05);
  --card2: rgba(15, 23, 42, .08);
  --shadow: 0 24px 80px rgba(15, 23, 42, .12);
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 5vw;
  background: rgba(15, 23, 42, .86);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--line);
}
body.light .site-header { background: rgba(248, 250, 252, .88); }

.brand { display: flex; align-items: center; gap: 10px; }
.brand img { width: 44px; height: 44px; }
.brand strong { display: block; text-transform: uppercase; letter-spacing: .08em; font-weight: 950; }
.brand small { display: block; color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-weight: 900; font-size: 11px; }

.desktop-nav { display: flex; gap: 20px; color: var(--muted); font-weight: 800; font-size: 14px; }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--gold); }
.header-actions { display: flex; gap: 8px; }
.icon-btn, .close-menu {
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--text);
  border-radius: 14px;
  width: 44px;
  height: 44px;
  font-size: 20px;
  cursor: pointer;
}
.mobile-menu {
  position: fixed;
  inset: 0 0 0 auto;
  width: min(86vw, 360px);
  z-index: 50;
  background: var(--navy2);
  box-shadow: var(--shadow);
  padding: 26px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transform: translateX(105%);
  transition: .25s ease;
  border-left: 1px solid var(--line);
}
.mobile-menu.open { transform: none; }
.mobile-menu a { padding: 15px 0; border-bottom: 1px solid var(--line); font-weight: 900; }
.close-menu { align-self: flex-end; }

.trending {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 5vw;
  background: linear-gradient(90deg, rgba(212,160,23,.16), rgba(255,255,255,.04));
  border-bottom: 1px solid var(--line);
  overflow: hidden;
}
.trending strong { color: var(--gold2); font-size: 12px; letter-spacing: .12em; white-space: nowrap; }
.ticker { white-space: nowrap; overflow: hidden; color: var(--muted); font-weight: 800; font-size: 13px; }
.ticker span { display: inline-block; animation: ticker 28s linear infinite; }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.hero {
  position: relative;
  min-height: 88vh;
  display: grid;
  place-items: center;
  padding: 8vw 5vw;
  overflow: hidden;
}
.hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(212,160,23,.25), transparent 28%),
    linear-gradient(135deg, rgba(15,23,42,.15), rgba(15,23,42,.95)),
    url('assets/og-image.png') center/cover;
  opacity: .58;
}
.hero:after { content: ""; position: absolute; inset: auto 0 0; height: 200px; background: linear-gradient(transparent, var(--navy)); }
.hero-content { position: relative; z-index: 2; max-width: 980px; text-align: center; }
.eyebrow { color: var(--gold); font-weight: 950; text-transform: uppercase; letter-spacing: .16em; font-size: 12px; }
.hero h1 { font-size: clamp(44px, 9vw, 98px); line-height: .94; margin: 16px 0; font-weight: 950; letter-spacing: -.06em; }
.hero-copy { max-width: 760px; margin: 0 auto; color: #cbd5e1; font-size: clamp(17px, 2vw, 22px); line-height: 1.65; }
body.light .hero-copy { color: #334155; }
.hero-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 32px; }
.btn { padding: 15px 22px; border-radius: 999px; font-weight: 950; border: 1px solid var(--line); display: inline-flex; align-items: center; justify-content: center; }
.btn.primary { background: linear-gradient(135deg, var(--gold2), var(--gold)); color: #111827; }
.btn.ghost { background: rgba(255,255,255,.08); }
.hero-card {
  position: absolute;
  z-index: 3;
  right: 5vw;
  bottom: 7vw;
  width: min(330px, 90vw);
  padding: 22px;
  border: 1px solid var(--line);
  background: rgba(17,29,53,.76);
  backdrop-filter: blur(20px);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
body.light .hero-card { background: rgba(255,255,255,.82); }
.hero-card span, .hero-card small { display: block; color: var(--muted); font-weight: 700; }
.hero-card strong { display: block; font-size: 24px; margin: 8px 0 16px; }
.meter { height: 10px; background: rgba(255,255,255,.12); border-radius: 99px; overflow: hidden; margin-bottom: 12px; }
.meter i { display: block; height: 100%; background: linear-gradient(90deg, var(--gold), var(--gold2)); border-radius: inherit; }

.section { padding: 84px 5vw; }
.section-heading { max-width: 880px; margin-bottom: 30px; }
.section-heading.split { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.section h2, .page-hero h1 { font-size: clamp(30px, 5vw, 56px); line-height: 1; margin: 10px 0 14px; letter-spacing: -.04em; }
.section p, .page-hero p { color: var(--muted); line-height: 1.7; }
.text-link { color: var(--gold); font-weight: 950; }

.snapshot-grid, .stat-grid, .library-grid, .article-grid, .principles-grid, .regions-grid, .briefing-grid, .timeline-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.snapshot-card, .stat-grid article, .library-grid article, .feature-card, .article-card, .principle-card, .region-card, .briefing-card, .timeline-card {
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.snapshot-card:hover, .feature-card:hover, .article-card:hover, .region-card:hover, .briefing-card:hover { transform: translateY(-4px); border-color: rgba(212,160,23,.45); background: var(--card2); }
.snapshot-card strong { display: block; font-size: 34px; color: var(--gold2); margin-bottom: 8px; }
.snapshot-card span { color: var(--muted); font-weight: 800; }

.stat-grid article b { display: inline-block; color: #111827; background: var(--gold); border-radius: 999px; padding: 7px 10px; font-size: 12px; }
.stat-grid strong { display: block; font-size: 25px; margin: 18px 0 8px; }
.stat-grid span { color: var(--muted); }

.cards { display: grid; grid-template-columns: 1.2fr .9fr .9fr; gap: 16px; }
.feature-card { min-height: 310px; display: flex; flex-direction: column; justify-content: flex-end; position: relative; overflow: hidden; }
.feature-card:before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at top right, rgba(212,160,23,.18), transparent 40%); pointer-events: none; }
.feature-card.tall { min-height: 430px; }
.tag { align-self: flex-start; background: rgba(212,160,23,.14); color: var(--gold2); border: 1px solid rgba(212,160,23,.35); padding: 8px 12px; border-radius: 999px; font-weight: 950; font-size: 12px; }
.feature-card h3, .library-grid h3, .article-card h3, .region-card h3, .briefing-card h3 { font-size: 26px; margin: 18px 0 8px; }
.feature-card a, .article-card a, .region-card a { color: var(--gold); font-weight: 950; margin-top: 12px; }
.meta { color: var(--muted); font-weight: 800; font-size: 13px; margin-top: 14px; }

.featured-insight { background: linear-gradient(135deg, rgba(212,160,23,.12), transparent); }
.insight-shell { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; align-items: center; }
.insight-panel { border: 1px solid var(--line); border-radius: 34px; padding: 34px; background: var(--card); box-shadow: var(--shadow); }
.insight-panel h2 { font-size: clamp(32px, 5vw, 64px); }
.insight-notes { display: grid; gap: 12px; }
.insight-notes span { padding: 18px; border-radius: 20px; border: 1px solid var(--line); background: var(--card); font-weight: 900; }

.brief { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; background: linear-gradient(135deg, rgba(212,160,23,.12), transparent); }
.brief-list { display: grid; gap: 12px; }
.brief-list span { padding: 18px; border: 1px solid var(--line); background: var(--card); border-radius: 18px; font-weight: 950; }

.region-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.region-pills span { padding: 12px 15px; border: 1px solid var(--line); background: var(--card); border-radius: 999px; color: var(--muted); font-weight: 800; }

.contact { display: grid; grid-template-columns: 1.2fr .8fr; gap: 22px; align-items: center; }
.signup { display: flex; gap: 10px; padding: 10px; background: var(--card); border: 1px solid var(--line); border-radius: 22px; }
.signup input { flex: 1; border: 0; outline: 0; background: transparent; color: var(--text); padding: 14px; font-size: 16px; min-width: 0; }
.signup button { border: 0; border-radius: 16px; background: var(--gold); color: #111827; font-weight: 950; padding: 0 18px; cursor: pointer; }

.page-hero { padding: 90px 5vw 50px; background: radial-gradient(circle at 85% 15%, rgba(212,160,23,.18), transparent 30%); border-bottom: 1px solid var(--line); }
.page-hero p { max-width: 760px; font-size: 18px; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.founder-card { border: 1px solid var(--line); border-radius: 32px; padding: 26px; background: var(--card); }
.founder-photo { width: 110px; height: 110px; border-radius: 999px; background: linear-gradient(135deg, var(--gold), var(--navy3)); display: grid; place-items: center; color: #111827; font-weight: 950; font-size: 34px; margin-bottom: 16px; border: 3px solid rgba(212,160,23,.5); }
.download-row { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }

.site-footer { padding: 54px 5vw; border-top: 1px solid var(--line); color: var(--muted); }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 24px; }
.footer-grid img { max-width: 300px; width: 100%; border-radius: 18px; }
.footer-grid p { color: var(--muted); line-height: 1.6; }
.footer-grid h4 { color: var(--text); margin: 0 0 12px; }
.footer-grid a { display: block; color: var(--muted); font-weight: 800; margin: 9px 0; }
.footer-grid a:hover { color: var(--gold); }
.footer-bottom { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; }

@media (max-width: 1080px) {
  .desktop-nav { gap: 14px; font-size: 13px; }
  .snapshot-grid, .stat-grid, .library-grid, .article-grid, .principles-grid, .regions-grid, .briefing-grid, .timeline-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
  .desktop-nav { display: none; }
  .hero { min-height: 92vh; text-align: left; place-items: start center; padding-top: 110px; }
  .hero-content { text-align: left; }
  .hero h1 { font-size: clamp(42px, 14vw, 68px); }
  .hero-actions { justify-content: flex-start; }
  .hero-card { position: relative; right: auto; bottom: auto; margin-top: 32px; }
  .cards, .brief, .contact, .insight-shell, .two-col { grid-template-columns: 1fr; }
  .section-heading.split { display: block; }
  .section { padding: 62px 5vw; }
  .signup { flex-direction: column; }
  .signup button { padding: 15px; }
  .brand small { font-size: 10px; }
}

@media (max-width: 620px) {
  .snapshot-grid, .stat-grid, .library-grid, .article-grid, .principles-grid, .regions-grid, .briefing-grid, .timeline-grid, .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { display: block; }
}

@media (min-width: 901px) { #menuToggle { display: none; } }


/* ===== V2.0 Regional Intelligence Hub Enhancements ===== */
.search-panel{position:fixed;inset:0;z-index:80;background:rgba(2,6,23,.72);backdrop-filter:blur(14px);display:none;align-items:flex-start;justify-content:center;padding:110px 5vw 30px}.search-panel.open{display:flex}.search-box{width:min(760px,100%);background:var(--navy2);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow);position:relative}body.light .search-box{background:#fff}.close-search{position:absolute;right:18px;top:16px;width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:24px}.search-box input{width:100%;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:18px;padding:17px;font-size:16px;outline:none}.search-results{display:grid;gap:10px;margin-top:18px}.search-results a{display:block;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card);font-weight:900}.search-results small{display:block;color:var(--muted);margin-top:4px}.hero-v2{min-height:82vh}.v2-card strong{color:var(--gold2)}.v2-snapshot{grid-template-columns:repeat(4,1fr)}.intelligence-strip{background:linear-gradient(135deg,rgba(212,160,23,.09),transparent)}.lens-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.lens-grid article,.data-grid article,.framework-panel article{border:1px solid var(--line);background:var(--card);border-radius:var(--radius);padding:22px;box-shadow:0 18px 40px rgba(0,0,0,.1)}.lens-grid b,.timeline-card b,.framework-panel b{color:var(--gold2);letter-spacing:.16em}.lens-grid h3{font-size:24px;margin:14px 0 8px}.cover-story{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch;border:1px solid var(--line);border-radius:34px;background:linear-gradient(135deg,var(--card),rgba(212,160,23,.08));padding:28px;box-shadow:var(--shadow)}.cover-story h2{font-size:clamp(34px,5.6vw,72px)}.cover-visual{min-height:300px;border-radius:28px;background:radial-gradient(circle at 72% 28%,rgba(234,179,8,.5),transparent 28%),linear-gradient(135deg,#020617,#0f172a);border:1px solid rgba(212,160,23,.28);display:grid;place-items:center;text-align:center;position:relative;overflow:hidden}.cover-visual:before{content:"";position:absolute;inset:10%;border:2px solid rgba(212,160,23,.26);border-radius:50%;transform:rotate(-18deg)}.cover-visual span{font-size:80px;font-weight:950;color:var(--gold2);letter-spacing:-.08em}.cover-visual small{position:absolute;bottom:30px;color:#cbd5e1;font-weight:900}.compact-regions .region-card:nth-child(n+7){display:none}.state-top{display:flex;justify-content:space-between;gap:14px;align-items:center}.state-top strong{font-size:22px}.state-metrics{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.state-metrics span{padding:8px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-weight:850;font-size:12px}.data-preview{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;background:linear-gradient(135deg,rgba(212,160,23,.12),transparent)}.indicator-board{display:grid;gap:12px}.indicator-board article{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px}.indicator-board span,.data-grid span{color:var(--gold2);font-weight:950;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.indicator-board strong{display:block;margin:8px 0 12px;font-size:22px}.indicator-board i,.bar{display:block;height:9px;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden}.indicator-board i:before{content:"";display:block;width:66%;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:inherit}.hub-hero{background:radial-gradient(circle at 80% 10%,rgba(212,160,23,.22),transparent 32%),linear-gradient(135deg,rgba(15,23,42,.9),rgba(15,23,42,.2))}.region-map-shell{display:grid;grid-template-columns:1fr 1fr;gap:24px}.map-panel,.framework-panel{display:grid;gap:14px}.map-placeholder{min-height:360px;border:1px solid rgba(212,160,23,.3);border-radius:34px;background:radial-gradient(circle at center,rgba(212,160,23,.18),transparent 38%),linear-gradient(135deg,var(--card),rgba(255,255,255,.03));display:grid;place-items:center;text-align:center;padding:24px}.map-placeholder span{font-size:72px}.map-placeholder strong{display:block;font-size:30px}.map-placeholder small{display:block;color:var(--muted);font-weight:900}.full-regions{grid-template-columns:repeat(3,1fr)}.data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:inherit}.lead-article{grid-column:span 2;background:linear-gradient(135deg,var(--card),rgba(212,160,23,.10))}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-form{display:grid;gap:12px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:16px;padding:15px;font:inherit;outline:none}.contact-form textarea{resize:vertical}.brand{min-width:0}.brand span{min-width:0}.brand strong{white-space:nowrap}

@media(max-width:1180px){.lens-grid{grid-template-columns:repeat(2,1fr)}.full-regions,.data-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.hero-v2{min-height:78vh;padding-top:88px}.data-preview,.cover-story,.region-map-shell,.contact-page{grid-template-columns:1fr}.compact-regions .region-card:nth-child(n+7){display:block}.brand img{width:40px}.brand strong{font-size:18px}.brand small{font-size:9px;letter-spacing:.18em}.icon-btn{width:48px;height:48px;border-radius:18px}.site-header{padding:12px 5vw}.hero h1{font-size:clamp(39px,13vw,62px)}.hero-copy{font-size:17px;line-height:1.55}.trending{padding:9px 5vw}.trending strong{font-size:11px}.ticker{font-size:12px}.page-hero{padding-top:70px}.search-panel{padding-top:92px}}
@media(max-width:620px){.v2-snapshot,.lens-grid,.full-regions,.data-grid{grid-template-columns:1fr}.lead-article{grid-column:auto}.cover-story{padding:18px;border-radius:24px}.cover-visual{min-height:240px}.map-placeholder{min-height:280px}.section{padding:54px 5vw}.site-header{gap:8px}.header-actions{gap:6px}.icon-btn{width:44px;height:44px}.brand{gap:9px}.brand img{width:34px}.brand strong{font-size:16px}.hero{min-height:76vh}.hero h1{letter-spacing:-.07em}.snapshot-card,.stat-grid article,.library-grid article,.feature-card,.article-card,.principle-card,.region-card,.briefing-card,.timeline-card{padding:20px}.hero-card{display:none}}

.founder-photo{
    width:120px;
    height:120px;
    margin:0 auto 1rem;
    border-radius:50%;
    overflow:hidden;
    border:3px solid #d4a017;
}

.founder-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}