/* ═══════════════════════════════════════════════════════
   BBC Article Base — bbc-article-base.css
   Shared shell styles for /insights article pages.
   Pair with bbc-article-visuals.css for chart/table components.
   ═══════════════════════════════════════════════════════ */
:root {
  --deep-blue:#1F3557; --mid-blue:#4B6FA5; --warm-blue:#6D8FC7;
  --light-blue:#A8C0DC; --bg-primary:#F5F1EA; --bg-section:#EDE8DF;
  --bg-card:#FDFAF6; --bg-dark:#1C2E47; --bg-footer:#172540;
  --text-ink:#2A3040; --text-body:#4E5666; --text-muted:#888FA0;
  --text-warm:#F5F1EA; --gold:#B8923E; --gold-pale:#E6CFA0;
  --gold-warm:#D4A84B; --sage:#4E9E74;
  --font-display:'Playfair Display',Georgia,serif;
  --font-body:'Lora',Georgia,serif;
  --font-ui:'DM Sans',system-ui,sans-serif;
  --max-width:860px; --radius:16px; --radius-lg:24px;
  --shadow-sm:0 3px 18px rgba(85,60,35,0.08);
  --shadow-md:0 7px 36px rgba(85,60,35,0.11);
  --shadow-lg:0 14px 56px rgba(85,60,35,0.14);
  --border-card:1px solid rgba(85,60,35,0.09);
  --border-warm:1px solid rgba(85,60,35,0.12);
  --s1:0.5rem;--s2:1rem;--s3:1.5rem;--s4:2.5rem;--s5:4rem;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--text-ink);background:var(--bg-primary);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='0.026'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;mix-blend-mode:multiply}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.22;color:var(--deep-blue)}
h1{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:700;line-height:1.14}
h2{font-size:clamp(1.3rem,2.5vw,1.9rem);font-weight:600;margin-top:2.5rem;margin-bottom:0.75rem}
h3{font-size:clamp(1rem,1.8vw,1.25rem);font-weight:600;margin-top:2rem;margin-bottom:0.5rem}
p{font-family:var(--font-body);font-size:1.05rem;line-height:1.9;color:var(--text-body);margin-bottom:1.2rem}
a{text-decoration:none}
ul,ol{margin:0 0 1.2rem 1.5rem;color:var(--text-body);font-family:var(--font-body);font-size:1.05rem;line-height:1.85}
li{margin-bottom:0.4rem}
.eyebrow{display:block;font-family:var(--font-ui);font-size:0.68rem;font-weight:600;letter-spacing:0.17em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--s2)}
.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--s4)}
@media(max-width:600px){.container{padding:0 var(--s2)}}
.nav{position:sticky;top:0;z-index:100;background:rgba(28,46,71,0.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,0.07);padding:1rem var(--s4)}
.nav__inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.nav__logo{font-family:var(--font-display);font-size:1rem;font-weight:600;color:#fff;letter-spacing:0.01em}
.nav__back{font-family:var(--font-ui);font-size:0.82rem;font-weight:500;color:rgba(245,241,234,0.6);transition:color 0.2s}
.nav__back:hover{color:var(--gold-pale)}
.article-hero{background:var(--bg-dark);padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.5rem,5vw,4rem);position:relative;overflow:hidden}
.article-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(184,146,62,0.09),transparent 70%);pointer-events:none}
.article-hero .container{position:relative}
.article-meta{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;margin-bottom:1.5rem}
.article-cat{font-family:var(--font-ui);font-size:0.72rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-pale);background:rgba(184,146,62,0.12);border:1px solid rgba(184,146,62,0.22);border-radius:100px;padding:0.22rem 0.8rem}
.article-date{font-family:var(--font-ui);font-size:0.78rem;color:rgba(245,241,234,0.4)}
.article-hero h1{color:#fff;margin-bottom:1.2rem}
.article-hero .lead{font-family:var(--font-body);font-size:1.1rem;line-height:1.85;color:rgba(245,241,234,0.7);max-width:680px}
.article-body{padding:clamp(2.5rem,5vw,4.5rem) 0}
.article-body .container{max-width:760px}
.highlight-box{background:var(--bg-section);border-left:3px solid var(--gold);border-radius:0 var(--radius) var(--radius) 0;padding:1.25rem 1.5rem;margin:2rem 0}
.highlight-box p{margin:0;font-size:0.98rem}
.key-takeaway{background:var(--bg-dark);border-radius:var(--radius-lg);padding:2rem;margin:2.5rem 0}
.key-takeaway h3{color:#fff;margin-top:0;margin-bottom:1rem}
.key-takeaway ul{color:rgba(245,241,234,0.72);margin-left:1.2rem}
.key-takeaway li{margin-bottom:0.5rem;font-size:0.98rem}
.faq-q{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--deep-blue);margin:1.75rem 0 0.4rem}
.cta-section{background:var(--bg-dark);padding:clamp(3rem,6vw,5rem) 0;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 100%,rgba(184,146,62,0.08),transparent 70%);pointer-events:none}
.cta-section h2{color:#fff;margin-top:0;margin-bottom:1rem}
.cta-section p{color:rgba(245,241,234,0.65);max-width:500px;margin:0 auto 2rem}
.btn-gold{display:inline-flex;align-items:center;gap:0.5rem;padding:0.9rem 2.2rem;background:var(--gold);color:#fff;border-radius:100px;font-family:var(--font-ui);font-size:0.9rem;font-weight:600;box-shadow:0 4px 20px rgba(184,146,62,0.3);transition:all 0.22s}
.btn-gold:hover{background:var(--gold-warm);transform:translateY(-2px);box-shadow:0 8px 30px rgba(184,146,62,0.4)}
.footer{background:var(--bg-footer);padding:2rem var(--s4);text-align:center}
.footer p{font-family:var(--font-ui);font-size:0.8rem;color:rgba(245,241,234,0.35);line-height:1.8}
.footer a{color:rgba(245,241,234,0.45)}
.footer a:hover{color:var(--gold-pale)}
