:root {
  --warm-white:#F8F6FF; --cream:#E8F8F5; --lilac:#9B7FCC; --lilac-light:#B99EDD; --tiffany:#0ABAB5;
  --purple-dark:#4A2D8B; --purple:#6B4FAA; --text:#1A1433; --text-mid:#3D2D6B; --text-muted:#8B7FAA;
  --border:#D4C8F0; --white:#FFFFFF;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Nunito','Helvetica Neue',sans-serif; background:var(--warm-white); color:var(--text); line-height:1.75; }

nav { position:sticky; top:0; z-index:100; background:#fff; border-bottom:2px solid var(--lilac);
  box-shadow:0 6px 30px rgba(0,0,0,0.08); padding:0 48px; height:80px; display:flex; align-items:center; justify-content:space-between; }
nav img { height:88px; width:auto; display:block; }
nav .links { display:flex; gap:10px; }
nav .links a { text-decoration:none; color:#2D1B69; font-weight:800; font-size:14px; background:rgba(155,127,204,0.12); padding:8px 16px; border-radius:100px; }

.article-hero { background:linear-gradient(135deg,#6B4FAA,#0ABAB5); color:#fff; padding:64px 24px 72px; }
.article-hero .inner { max-width:760px; margin:0 auto; }
.crumbs { font-size:13px; font-weight:700; opacity:.9; margin-bottom:18px; }
.crumbs a { color:#fff; text-decoration:none; }
.tag { display:inline-block; background:rgba(255,255,255,0.18); padding:5px 14px; border-radius:100px; font-size:12px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; }
.article-hero h1 { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:50px; line-height:1.08; margin:16px 0 14px; }
.article-hero .dek { font-size:19px; line-height:1.55; opacity:.95; }
.byline { display:flex; align-items:center; gap:14px; margin-top:28px; font-size:14px; }
.byline img { width:52px; height:52px; border-radius:50%; object-fit:cover; object-position:top; border:3px solid #fff; }
.byline b { display:block; font-size:15px; }
.byline span { opacity:.9; }

.article { max-width:760px; margin:0 auto; padding:48px 24px 0; }
.highlights { background:#fff; border:1px solid var(--border); border-left:5px solid var(--tiffany); border-radius:12px; padding:24px 28px; margin-bottom:40px; }
.highlights h2 { font-size:13px !important; font-family:'Nunito',sans-serif !important; font-weight:800 !important; letter-spacing:1.5px; text-transform:uppercase; color:var(--tiffany) !important; margin:0 0 12px !important; }
.highlights ul { margin:0; padding-left:20px; }
.highlights li { margin-bottom:8px; font-size:16px; line-height:1.55; }

.article h2 { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:34px; line-height:1.2; color:var(--text-mid); margin:48px 0 14px; }
.article h3 { font-size:20px; font-weight:800; color:var(--text); margin:32px 0 10px; }
.article p { font-size:17.5px; margin-bottom:18px; }
.article ul, .article ol { padding-left:24px; margin-bottom:20px; }
.article li { font-size:17px; margin-bottom:8px; }
.article a { color:var(--purple); font-weight:700; text-underline-offset:3px; }
.article sup a { text-decoration:none; font-size:12px; padding:0 1px; }
.article strong { color:var(--text); }

.story { background:var(--cream); border-radius:14px; padding:24px 28px; margin:28px 0; }
.story .label { font-size:12px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:#077A77; margin-bottom:8px; }
.story p { font-size:17px; margin-bottom:10px; }
.story p:last-child { margin-bottom:0; }
.pull { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:28px; line-height:1.35; color:var(--purple); border-left:3px solid var(--lilac); padding:4px 0 4px 22px; margin:32px 0; }
.local { background:#fff; border:1.5px dashed var(--lilac); border-radius:14px; padding:22px 26px; margin:28px 0; }
.local .label { font-size:12px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--purple); margin-bottom:8px; }
.local p, .local li { font-size:16.5px; }
.local ul { margin-bottom:0; }

table.data { width:100%; border-collapse:collapse; margin:10px 0 26px; font-size:15.5px; background:#fff; border-radius:12px; overflow:hidden; border:1px solid var(--border); }
table.data th { background:var(--purple); color:#fff; text-align:left; padding:12px 14px; font-weight:800; }
table.data td { padding:12px 14px; border-top:1px solid var(--border); vertical-align:top; }
.table-wrap { overflow-x:auto; }

.cta { background:linear-gradient(135deg,#6B4FAA,#0ABAB5); color:#fff; border-radius:16px; padding:32px; margin:48px 0 0; display:grid; grid-template-columns:auto 1fr; gap:24px; align-items:center; }
.cta img { width:96px; height:96px; border-radius:50%; object-fit:cover; object-position:top; border:4px solid #fff; }
.cta h3 { color:#fff !important; font-family:'Cormorant Garamond',serif; font-size:28px !important; font-weight:600; margin:0 0 6px !important; }
.cta p { font-size:16px !important; margin-bottom:14px !important; }
.cta .btn { display:inline-block; background:#fff; color:var(--purple) !important; padding:11px 24px; border-radius:50px; font-weight:800; text-decoration:none; margin:0 8px 8px 0; font-size:15px; }
.cta .btn.ghost { background:transparent; color:#fff !important; border:2px solid #fff; }

.refs { margin-top:48px; border-top:1px solid var(--border); padding-top:24px; }
.refs h2 { font-size:24px !important; margin-top:0 !important; }
.refs ol li { font-size:14px; color:var(--text-mid); line-height:1.55; margin-bottom:8px; word-break:break-word; }
.refs a { font-weight:600 !important; }
.disclaimer { font-size:13.5px !important; color:var(--text-muted); font-style:italic; margin-top:20px; }

.related { max-width:1080px; margin:64px auto 0; padding:0 24px; }
.related h2 { font-family:'Cormorant Garamond',serif; font-size:32px; font-weight:400; color:var(--text-mid); margin-bottom:18px; }
.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.rcard { display:block; background:#fff; border:1px solid var(--border); border-radius:12px; overflow:hidden; text-decoration:none; color:var(--text); transition:transform .2s, box-shadow .2s; }
.rcard:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(155,127,204,0.15); }
.rcard .cover { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; border-bottom:1px solid var(--border); }
.rcard .body { padding:18px; }
.rcard .k { font-size:11px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--lilac); }
.rcard h3 { font-family:'Cormorant Garamond',serif; font-size:22px; font-weight:600; line-height:1.25; margin-top:6px; }

.site-footer { background:linear-gradient(135deg,#6B4FAA,#0ABAB5); color:rgba(255,255,255,0.9); padding:36px 48px; display:flex; justify-content:space-between; align-items:center; margin-top:72px; font-size:13px; }
.site-footer a { color:#fff; font-weight:700; text-decoration:none; }

@media (max-width: 820px) {
  nav { padding:0 16px; }
  nav img { height:72px; }
  nav .links a.hide-sm { display:none; }
  .article-hero { padding:40px 16px 48px; }
  .article-hero h1 { font-size:36px; }
  .article-hero .dek { font-size:17px; }
  .article { padding:36px 16px 0; }
  .article h2 { font-size:28px; }
  .article p { font-size:17px; }
  .pull { font-size:23px; }
  .highlights, .story, .local { padding:20px; }
  .cta { grid-template-columns:1fr; text-align:center; justify-items:center; padding:26px 20px; }
  .related { padding:0 16px; }
  .related-grid { grid-template-columns:1fr; }
  .site-footer { flex-direction:column; gap:10px; text-align:center; padding:28px 16px; }
}
