:root{
  --cream:#F6F3EC;
  --card:#FBFAF5;
  --white:#FFFFFF;
  --ink:#15233B;
  --navy:#1B2A4A;
  --night:#0A1320;
  --night-2:#0F1B2D;
  --muted:#5C6672;
  --muted-light:#A6B6BA;
  --line:#E3DECF;
  --line-soft:#ECE7DA;
  --teal:#1CA39A;
  --teal-deep:#0E7C7B;
  --lime:#9BCB3C;
  --grad:linear-gradient(120deg,#9BCB3C 0%,#4FB58E 48%,#1CA39A 100%);
  --shell:1080px;
  --measure:720px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%}
.shell{width:min(var(--shell),calc(100% - 48px));margin:0 auto}
.measure{width:min(var(--measure),calc(100% - 48px));margin:0 auto}

.site-header{border-bottom:1px solid var(--line-soft);background:rgba(246,243,236,.96)}
.site-header .shell{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none}
.brand img{width:auto;height:31px;display:block}
.brand span{font-family:'Fraunces',Georgia,serif;font-size:1.12rem;font-weight:600;letter-spacing:.14em;color:var(--ink)}
.site-nav{display:flex;align-items:center;gap:24px;font-size:.88rem;font-weight:600;color:var(--muted)}
.site-nav a{text-decoration:none;transition:color .2s}
.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--ink)}

.insights-hero{position:relative;overflow:hidden;background:var(--night);color:#fff;padding:88px 0 92px}
.insights-hero::before,.insights-hero::after{content:"";position:absolute;border:2px solid rgba(28,163,154,.18);border-radius:50%;pointer-events:none}
.insights-hero::before{width:540px;height:540px;right:-130px;top:-250px}
.insights-hero::after{width:360px;height:360px;right:-45px;top:-160px;border-color:rgba(155,203,60,.18)}
.insights-hero .shell{position:relative;z-index:1}
.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:18px}
.insights-hero .eyebrow,.article-hero .eyebrow{color:#A8D96A}
.insights-hero h1{max-width:740px;font-family:'Fraunces',Georgia,serif;font-size:clamp(2.55rem,6vw,4.6rem);font-weight:500;line-height:1.03;letter-spacing:-.025em}
.insights-hero p{max-width:620px;margin-top:22px;color:#C7D2D3;font-size:1.08rem;line-height:1.65}

.insights-list{padding:68px 0 96px}
.section-label{font-size:.76rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.insight-grid{display:grid;gap:20px}
.insight-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:end;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:38px 40px;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s}
.insight-card:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 14px 38px rgba(21,35,59,.08)}
.card-meta{display:flex;flex-wrap:wrap;gap:9px 16px;margin-bottom:15px;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--teal-deep)}
.insight-card h2{font-family:'Fraunces',Georgia,serif;font-size:clamp(1.9rem,4vw,2.7rem);font-weight:600;line-height:1.08;letter-spacing:-.02em;max-width:760px}
.insight-card p{max-width:660px;margin-top:16px;color:var(--muted);font-size:.98rem}
.card-arrow{font-size:1.45rem;color:var(--teal-deep);padding-bottom:5px}

.article-hero{position:relative;overflow:hidden;background:var(--night);color:#fff;padding:78px 0 72px}
.article-rings{position:absolute;width:520px;height:520px;right:-110px;top:-170px;opacity:.42;pointer-events:none}
.article-hero .measure{position:relative;z-index:1}
.article-hero h1{font-family:'Fraunces',Georgia,serif;font-size:clamp(2.55rem,7vw,4.7rem);font-weight:500;line-height:1.02;letter-spacing:-.028em;max-width:850px}
.dek{max-width:650px;margin-top:22px;color:#C9D5D5;font-size:1.08rem;line-height:1.65}
.byline{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:30px;color:#AFC0C2;font-size:.82rem}
.byline strong{color:#fff;font-weight:600}
.byline span+span::before{content:"·";margin-right:18px;color:#50636B}

.article-body{padding:68px 0 84px;font-family:'Fraunces',Georgia,serif;font-size:1.105rem;line-height:1.79;color:#263448}
.article-body p{margin-bottom:25px}
.article-body ol{padding-left:1.5em;margin:0 0 25px}
.article-body li{padding-left:.25em;margin-bottom:8px}
.article-body .lede{font-size:1.28rem;line-height:1.65;color:var(--ink)}
.article-body h2{display:flex;align-items:flex-start;gap:16px;margin:58px 0 22px;font-family:'Inter',sans-serif;font-size:1.5rem;line-height:1.22;letter-spacing:-.015em;color:var(--ink)}
.section-number{display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;margin-top:-2px;border-radius:50%;background:var(--grad);color:#06231F;font-size:.9rem;font-weight:800}
.article-body h2.plain{display:block;margin-top:64px;padding-top:30px;border-top:1px solid var(--line)}
.article-body a{color:var(--teal-deep);text-decoration-thickness:1px;text-underline-offset:3px}
.article-body a:hover{color:var(--ink)}
.tell{margin:30px 0 40px!important;padding:4px 0 4px 22px;border-left:3px solid var(--lime);font-style:italic;font-size:1.04rem;color:#314358}
.applicability{margin:30px 0;padding:22px 25px;background:var(--card);border:1px solid var(--line);border-radius:14px;font-family:'Inter',sans-serif;font-size:.91rem;line-height:1.68;color:var(--muted)}
.applicability strong{color:var(--navy)}
.black-box{position:relative;overflow:hidden;margin:34px 0 38px;padding:30px 32px;background:var(--night-2);border-radius:18px;color:#DCE6E3}
.black-box::after{content:"";position:absolute;width:210px;height:210px;right:-95px;bottom:-120px;border:2px solid rgba(155,203,60,.22);border-radius:50%}
.black-box .label{font-family:'Inter',sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#A8D96A;margin-bottom:12px}
.black-box p{position:relative;z-index:1;margin:0;font-size:1.05rem;line-height:1.72;color:#DCE6E3}

.article-footer{padding:0 0 92px}
.source-block{padding-top:34px;border-top:1px solid var(--line)}
.source-block h2{font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:15px}
.source-block ul{list-style:none;display:grid;gap:9px}
.source-block a{font-size:.86rem;color:var(--teal-deep);text-underline-offset:3px}
.source-note{margin-top:14px;font-size:.78rem;color:var(--muted)}
.author-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;margin-top:38px;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:16px}
.author-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--night);color:#A8D96A;font-family:'Fraunces',Georgia,serif;font-size:1.35rem;font-weight:600}
.author-card h2{font-size:.95rem;color:var(--ink);margin-bottom:6px}
.author-card p{font-size:.88rem;color:var(--muted);line-height:1.62}
.author-card a{color:var(--teal-deep)}
.disclaimer{margin-top:18px;font-size:.74rem;color:#7B8388}
.back-link{display:inline-flex;gap:8px;margin-top:30px;font-size:.86rem;font-weight:600;color:var(--teal-deep);text-decoration:none}

.site-footer{border-top:1px solid var(--line-soft);padding:28px 0;color:var(--muted);font-size:.82rem}
.site-footer .shell{display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap}
.footer-links{display:flex;gap:18px}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--ink)}

@media(max-width:700px){
  .shell,.measure{width:min(100% - 36px,var(--shell))}
  .site-header .shell{min-height:68px}
  .site-nav{gap:16px;font-size:.82rem}
  .brand span{font-size:1rem}
  .insights-hero,.article-hero{padding:66px 0 62px}
  .insight-card{grid-template-columns:1fr;padding:28px 26px;gap:18px}
  .card-arrow{justify-self:end}
  .article-body{padding:52px 0 66px;font-size:1.04rem}
  .article-body h2{font-size:1.32rem;margin-top:48px}
  .article-body .lede{font-size:1.17rem}
  .black-box{padding:25px 24px}
}

@media(max-width:430px){
  .site-nav a:last-child{display:none}
  .article-hero h1,.insights-hero h1{font-size:2.45rem}
  .byline{display:grid;gap:3px}
  .byline span+span::before{content:none;margin:0}
}
