.insights-page { min-height: 100vh; }
.insights-shell { width: min(1180px,calc(100% - 48px)); margin: 0 auto; }
.insights-hero { padding: clamp(48px,6vw,78px) 0 42px; border-bottom: 1px solid var(--line); }
.insights-hero-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); gap: clamp(32px,6vw,76px); align-items: stretch; }
.insights-hero-copy { align-self: center; }
.insights-hero h1 { max-width: 730px; margin: 11px 0 20px; font-size: clamp(48px,6.1vw,78px); line-height: .96; letter-spacing: -.062em; }
.insights-hero .lead { max-width: 700px; margin: 0; color: var(--muted); font-size: clamp(18px,1.8vw,21px); line-height: 1.5; }
.featured-insight { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: 330px; padding: 30px; border: 1px solid var(--line); border-radius: 28px; background: var(--surface-solid); color: #fff; text-decoration: none; box-shadow: var(--shadow); transition: transform .2s ease,border-color .2s ease; }
.featured-insight > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .75s cubic-bezier(.22,1,.36,1),filter .35s ease; }
.featured-insight:hover > img { transform:scale(1.035); filter:saturate(1.06); }
.featured-scrim { position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,22,27,.04) 18%,rgba(5,22,27,.86) 100%); }
.featured-insight::before { content: ""; position: absolute; width: 210px; height: 210px; top: -92px; right: -68px; border: 1px solid color-mix(in srgb,var(--accent) 24%,transparent); border-radius: 50%; box-shadow: 0 0 0 28px color-mix(in srgb,var(--accent) 5%,transparent),0 0 0 56px color-mix(in srgb,var(--accent-2) 4%,transparent); pointer-events: none; }
.featured-insight:hover { transform: translateY(-4px); border-color: var(--line-strong); }
.featured-label { position: relative; margin-bottom: auto; color:#d9fbff; font: 800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .09em; text-transform: uppercase; }
.featured-insight h2 { position: relative; max-width: 430px; margin: 42px 0 12px; font-size: clamp(29px,3vw,42px); line-height: 1.02; letter-spacing: -.045em; }
.featured-insight p { position: relative; max-width: 450px; margin: 0; color:rgba(255,255,255,.84); font-size: 16px; }
.featured-link { position: relative; margin-top: 22px; color:#fff; font-weight: 850; }
.featured-link i { display: inline-block; margin-left: 4px; font-style: normal; transition: transform .2s ease; }
.featured-insight:hover .featured-link i { transform: translateX(4px); }

.expedition { padding: 54px 0 24px; }
.expedition-intro { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); gap: 54px; align-items: end; margin-bottom: 34px; }
.expedition-intro h2 { max-width: 760px; margin: 6px 0 0; font-size: clamp(36px,4.7vw,58px); line-height: 1.02; letter-spacing: -.052em; }
.expedition-intro > p { max-width: 480px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.55; }
.expedition-layout { display: grid; grid-template-columns: 188px minmax(0,1fr); gap: 36px; align-items: start; }
.route-progress { position: sticky; top: 24px; display: grid; grid-template-columns: 3px 1fr; column-gap: 17px; min-height: 410px; padding: 16px 0; }
.route-progress-rail { position: relative; width: 3px; height: 100%; overflow: hidden; border-radius: 4px; background: color-mix(in srgb,var(--line-strong) 72%,transparent); }
.route-progress-rail span { position: absolute; inset: 0 0 auto; height: var(--route-progress,20%); border-radius: inherit; background: linear-gradient(to bottom,#7672c9,var(--accent),#d29c45,#3a88c9,#3c9b74); transition: height .5s cubic-bezier(.22,1,.36,1); }
.route-progress ol { display: grid; gap: 6px; align-content: start; margin: 0; padding: 0; list-style: none; }
.route-progress li button { width: 100%; display: flex; align-items: center; gap: 8px; padding: 7px 0; border: 0; background: transparent; color: var(--soft); font: inherit; font-size: 13px; text-align: left; cursor: pointer; transition: color .2s ease,transform .2s ease; }
.route-progress li button:hover { color: var(--ink); transform: translateX(3px); }
.route-progress li span { color: var(--accent); font: 800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.route-progress li.active button { color: var(--ink); font-weight: 800; }
.route-stages { display: grid; gap: 14px; }
.route-stage { --stage-color: #7672c9; position:relative; overflow: hidden; border: 1px solid var(--line); border-radius: 26px; background: color-mix(in srgb,var(--surface-solid) 84%,transparent); box-shadow: 0 16px 48px transparent; transition: transform .28s cubic-bezier(.22,1,.36,1),border-color .25s ease,box-shadow .25s ease,background .25s ease; }
.route-stage:nth-child(2) { --stage-color: #42a5a7; }
.route-stage:nth-child(3) { --stage-color: #d39b3f; }
.route-stage:nth-child(4) { --stage-color: #3f84ca; }
.route-stage:nth-child(5) { --stage-color: #3b9870; }
.route-stage:hover { transform:translateY(-3px); border-color:color-mix(in srgb,var(--stage-color) 36%,var(--line)); box-shadow:0 20px 52px color-mix(in srgb,var(--stage-color) 8%,transparent); }
.route-stage.active { border-color: color-mix(in srgb,var(--stage-color) 48%,var(--line)); background: linear-gradient(135deg,color-mix(in srgb,var(--stage-color) 7%,var(--surface-solid)),color-mix(in srgb,var(--surface-solid) 88%,transparent)); box-shadow: 0 20px 52px color-mix(in srgb,var(--stage-color) 10%,transparent); }
.route-stage-heading { width: 100%; min-height: 108px; display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 13px; padding: 20px 26px; border: 0; background: transparent; color: var(--ink); text-align: left; cursor: pointer; }
.stage-number { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid color-mix(in srgb,var(--stage-color) 42%,var(--line)); border-radius: 50%; color: var(--stage-color); font: 850 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace; background: color-mix(in srgb,var(--stage-color) 6%,var(--surface-solid)); }
.route-stage-heading > span:nth-child(2) { display: grid; gap: 4px; }
.route-stage-heading small { color: var(--muted); font: 800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .08em; text-transform: uppercase; }
.route-stage-heading strong { font-size: clamp(23px,2.6vw,35px); line-height: 1.05; letter-spacing: -.04em; }
.route-stage-heading > i { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; color: var(--stage-color); font-size: 21px; font-style: normal; line-height:1; transition: transform .3s ease,background .2s ease; }
.route-stage.active .route-stage-heading > i { transform: rotate(180deg); background: color-mix(in srgb,var(--stage-color) 9%,var(--surface-solid)); }
.route-stage-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.78fr); gap: 34px; padding: 0 26px 27px 91px; cursor:pointer; animation: stage-reveal .45s cubic-bezier(.22,1,.36,1) both; }
.route-stage-body[hidden] { display: none; }
.stage-copy { align-self: center; }
.stage-question { margin: 0 0 10px; color: var(--ink)!important; font-size: 20px!important; font-weight: 820; line-height: 1.25; }
.stage-copy > p { max-width: 650px; margin: 0 0 18px; color: var(--muted); font-size: 16px; line-height: 1.55; }
.stage-copy a { color: var(--accent); text-decoration: none; }
.stage-reading { margin-top:22px; }
.stage-reading > span { display:block; margin-bottom:8px; color:var(--soft); font:800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.09em; text-transform:uppercase; }
.stage-reading > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.stage-reading a { min-height:82px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:8px; margin:0; padding:11px 12px; border:1px solid var(--line); border-radius:13px; background:color-mix(in srgb,var(--surface-solid) 78%,transparent); color:var(--muted); font-size:12px; font-weight:680; line-height:1.25; transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.stage-reading a b { color:var(--stage-color); font:800 9px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.06em; text-transform:uppercase; }
.stage-reading a.primary { border-color:color-mix(in srgb,var(--stage-color) 42%,var(--line)); background:color-mix(in srgb,var(--stage-color) 9%,var(--surface-solid)); color:var(--ink); }
.stage-reading a:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--stage-color) 58%,var(--line)); background:color-mix(in srgb,var(--stage-color) 11%,var(--surface-solid)); }
.route-next,.route-finish { width: fit-content; display: flex!important; align-items: center; gap: 8px; margin: 16px 0 0!important; padding: 9px 14px; border: 1px solid color-mix(in srgb,var(--stage-color) 35%,var(--line)); border-radius: 999px; background: color-mix(in srgb,var(--stage-color) 7%,var(--surface-solid)); color: var(--ink)!important; font: inherit; font-size: 13px!important; font-weight: 800!important; cursor: pointer; }
.stage-primary-link { padding: 10px 15px; border-radius: 999px; background: linear-gradient(125deg,var(--accent),var(--accent-2)); color: var(--accent-ink)!important; box-shadow: 0 8px 22px color-mix(in srgb,var(--accent) 18%,transparent); }
.stage-visual { position: relative; min-height: 222px; overflow: hidden; border: 1px solid color-mix(in srgb,var(--stage-color) 30%,var(--line)); border-radius: 22px; background: radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--stage-color) 13%,transparent),transparent 58%),color-mix(in srgb,var(--surface-solid) 75%,transparent); }
.stage-visual::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 38%,color-mix(in srgb,white 18%,transparent) 49%,transparent 60%); transform:translateX(-110%); animation:visual-sheen 8s ease-in-out infinite; }
.visual-discovery::before { content:""; position:absolute; left:50%; top:50%; width:180px; height:180px; transform:translate(-50%,-50%); border:1px solid color-mix(in srgb,var(--stage-color) 24%,transparent); border-radius:50%; box-shadow:0 0 0 34px color-mix(in srgb,var(--stage-color) 6%,transparent),0 0 0 68px color-mix(in srgb,var(--stage-color) 3%,transparent); animation:radar-breathe 4.6s ease-in-out infinite; }
.visual-discovery i { position: absolute; width: 12px; height: 12px; border: 2px solid var(--stage-color); border-radius: 50%; box-shadow: 0 0 18px color-mix(in srgb,var(--stage-color) 62%,transparent); animation:node-discover 4.6s ease-in-out infinite; }
.visual-discovery i:nth-of-type(1) { left: 20%; top: 31%; }.visual-discovery i:nth-of-type(2) { left: 66%; top: 22%; }.visual-discovery i:nth-of-type(3) { left: 73%; top: 68%; }.visual-discovery i:nth-of-type(4) { left: 32%; top: 72%; opacity: .42; }
.visual-discovery i:nth-of-type(2){animation-delay:.65s}.visual-discovery i:nth-of-type(3){animation-delay:1.3s}.visual-discovery i:nth-of-type(4){animation-delay:1.95s}
.visual-discovery b,.visual-discovery em { position: absolute; padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-solid); color: var(--muted); font-size: 11px; font-style: normal; }.visual-discovery b { left: 11%; bottom: 13%; }.visual-discovery em { right: 10%; top: 12%; }
.scan-line { position: absolute; z-index: 2; left: 10%; top: 50%; width: 80%; height: 1px; background: linear-gradient(90deg,transparent,var(--stage-color),transparent); box-shadow: 0 0 18px var(--stage-color); animation: scan 4.6s ease-in-out infinite; }
.visual-accountability b { position: absolute; z-index:2; left: 50%; top: 50%; display: grid; place-items: center; width: 88px; height: 88px; transform: translate(-50%,-50%); border-radius: 50%; background: color-mix(in srgb,var(--stage-color) 19%,var(--surface-solid)); color: var(--ink); font-size: 14px; animation:accountability-core 4s ease-in-out infinite; }
.visual-accountability span { position: absolute; padding: 8px 11px; border: 1px solid color-mix(in srgb,var(--stage-color) 35%,var(--line)); border-radius: 999px; background: var(--surface-solid); color: var(--muted); font-size: 12px; }
.visual-accountability span:nth-of-type(1) { left: 9%; top: 18%; animation:node-float 4.8s ease-in-out infinite; }.visual-accountability span:nth-of-type(2) { right: 8%; top: 20%; animation:node-float 5.3s ease-in-out .7s infinite; }.visual-accountability span:nth-of-type(3) { left: 50%; bottom: 10%; transform: translateX(-50%); animation:node-float-centered 5s ease-in-out 1.2s infinite; }
.visual-accountability::before,.visual-accountability::after { content:""; position:absolute; left:20%; right:20%; top:50%; height:1px; background:color-mix(in srgb,var(--stage-color) 38%,transparent); transform:rotate(25deg); }.visual-accountability::after { transform:rotate(-25deg); }
.visual-framework span { position:absolute; display:grid; place-items:center; width:78px; height:78px; border:1px solid color-mix(in srgb,var(--stage-color) 38%,var(--line)); border-radius:50%; background:var(--surface-solid); color:var(--muted); font-size:11px; font-weight:750; text-align:center; animation:framework-orbit 6s ease-in-out infinite; }.visual-framework span:nth-child(1){left:7%;top:13%}.visual-framework span:nth-child(2){right:7%;top:13%;animation-delay:.8s}.visual-framework span:nth-child(3){left:9%;bottom:8%;animation-delay:1.6s}.visual-framework b{position:absolute;right:10%;bottom:10%;display:grid;place-items:center;width:104px;height:104px;border-radius:50%;background:color-mix(in srgb,var(--stage-color) 24%,var(--surface-solid));font-size:14px;text-align:center;box-shadow:0 0 0 10px color-mix(in srgb,var(--stage-color) 5%,transparent);animation:control-pulse 3.6s ease-in-out infinite}
.visual-paths { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; align-content:center; padding:34px; }.visual-paths b{grid-column:1/-1;justify-self:center;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--stage-color) 22%,var(--surface-solid));animation:control-pulse 3.8s ease-in-out infinite}.visual-paths span{padding:10px;border:1px solid color-mix(in srgb,var(--stage-color) 30%,var(--line));border-radius:12px;background:var(--surface-solid);color:var(--muted);font-size:12px;text-align:center;animation:path-highlight 6s ease-in-out infinite}.visual-paths span:nth-of-type(2){animation-delay:1.5s}.visual-paths span:nth-of-type(3){animation-delay:3s}.visual-paths span:nth-of-type(4){animation-delay:4.5s}
.visual-proof { display:flex; flex-direction:column; justify-content:center; gap:6px; padding:24px 36px; }.visual-proof span,.visual-proof b{position:relative;padding:7px 11px;border:1px solid color-mix(in srgb,var(--stage-color) 28%,var(--line));border-radius:10px;background:var(--surface-solid);font-size:11px;animation:proof-step 7.5s ease-in-out infinite}.visual-proof span:nth-child(2){animation-delay:1.2s}.visual-proof span:nth-child(3){animation-delay:2.4s}.visual-proof span:nth-child(4){animation-delay:3.6s}.visual-proof span::after{content:"↓";position:absolute;right:14px;bottom:-13px;z-index:2;color:var(--stage-color);}.visual-proof b{background:color-mix(in srgb,var(--stage-color) 16%,var(--surface-solid));font-size:13px;animation-delay:4.8s}
@keyframes stage-reveal { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
@keyframes scan { 0%,100% { transform:translateY(-70px); opacity:.2; } 50% { transform:translateY(70px); opacity:1; } }
@keyframes visual-sheen { 0%,68%,100% { transform:translateX(-110%); } 82% { transform:translateX(110%); } }
@keyframes radar-breathe { 0%,100% { opacity:.38; transform:translate(-50%,-50%) scale(.88); } 50% { opacity:1; transform:translate(-50%,-50%) scale(1.05); } }
@keyframes node-discover { 0%,18%,100% { opacity:.18; transform:scale(.6); } 42%,76% { opacity:1; transform:scale(1.15); } }
@keyframes accountability-core { 0%,100% { transform:translate(-50%,-50%) scale(.94); box-shadow:0 0 0 0 color-mix(in srgb,var(--stage-color) 22%,transparent); } 50% { transform:translate(-50%,-50%) scale(1.04); box-shadow:0 0 0 16px transparent; } }
@keyframes node-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
@keyframes node-float-centered { 0%,100% { transform:translate(-50%,0); } 50% { transform:translate(-50%,-7px); } }
@keyframes framework-orbit { 0%,100% { transform:translateY(0) scale(.96); } 50% { transform:translateY(-6px) scale(1.04); border-color:var(--stage-color); } }
@keyframes control-pulse { 0%,100% { box-shadow:0 0 0 8px color-mix(in srgb,var(--stage-color) 5%,transparent); } 50% { box-shadow:0 0 0 18px color-mix(in srgb,var(--stage-color) 10%,transparent); } }
@keyframes path-highlight { 0%,18%,100% { color:var(--muted); background:var(--surface-solid); } 34%,54% { color:var(--ink); background:color-mix(in srgb,var(--stage-color) 18%,var(--surface-solid)); border-color:var(--stage-color); } }
@keyframes proof-step { 0%,15%,100% { transform:translateX(0); border-color:color-mix(in srgb,var(--stage-color) 28%,var(--line)); } 28%,42% { transform:translateX(5px); border-color:var(--stage-color); background:color-mix(in srgb,var(--stage-color) 17%,var(--surface-solid)); } }
.insights-section { padding: 48px 0 78px; }
.insights-section-head { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 24px; }
.insights-section-head h2 { margin: 5px 0 0; font-size: clamp(28px,4vw,44px); letter-spacing: -.045em; }
.insights-section-head p { max-width: 460px; margin: 0; color: var(--muted); }
.editorial-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 16px; }
.editorial-card { grid-column: span 4; overflow:hidden; display: flex; flex-direction: column; min-height: 440px; padding:0; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); color: var(--ink); text-decoration: none; box-shadow: var(--shadow); transition: transform .25s cubic-bezier(.22,1,.36,1),border-color .2s ease,box-shadow .2s ease; }
.editorial-card:hover { transform: translateY(-6px); border-color: var(--line-strong); box-shadow:0 24px 60px color-mix(in srgb,var(--ink) 13%,transparent); }
.editorial-image { display:block; aspect-ratio:16/8.6; overflow:hidden; background:color-mix(in srgb,var(--accent) 8%,var(--surface-solid)); }
.editorial-image { aspect-ratio:16/10; }
.editorial-image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .7s cubic-bezier(.22,1,.36,1),filter .4s ease; }
.editorial-card:hover .editorial-image img { transform:scale(1.035); filter:saturate(1.07) contrast(1.02); }
.editorial-content { flex:1; display:flex; flex-direction:column; padding:24px 26px 26px; }
.editorial-card .category { color: var(--accent); font: 800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .09em; text-transform: uppercase; }
.editorial-card h2 { max-width: 720px; margin: 14px 0 13px; font-size:25px; line-height: 1.07; letter-spacing: -.04em; }
.editorial-card p { margin: 0; color: var(--muted); font-size: 16px; }
.editorial-card .meta { display: flex; gap: 12px; margin-top: auto; padding-top: 34px; color: var(--soft); font-size: 12px; }
.source-policy { display: grid; grid-template-columns: .8fr 1.2fr; gap: 36px; margin-top: 18px; padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: color-mix(in srgb,var(--surface-solid) 76%,transparent); }
.source-policy h3 { margin: 5px 0 0; font-size: 25px; letter-spacing: -.025em; }
.source-policy p { margin: 0; color: var(--muted); font-size: 16px; }

.article-main { width: min(1180px,calc(100% - 48px)); margin: 0 auto; }
.article-header { max-width: 980px; padding: clamp(64px,9vw,118px) 0 46px; }
.article-cover { width:100%; aspect-ratio:16/6.6; overflow:hidden; margin:0 0 42px; border:1px solid var(--line); border-radius:28px; background:var(--surface); box-shadow:var(--shadow); }
.article-cover img { width:100%; height:100%; display:block; object-fit:cover; }
.article-breadcrumb { display: flex; gap: 8px; align-items: center; color: var(--muted); font-size: 13px; }
.article-breadcrumb a { color: inherit; text-decoration: none; }
.article-header h1 { margin: 18px 0 24px; font-size: clamp(44px,6.8vw,82px); line-height: .98; letter-spacing: -.06em; }
.article-deck { max-width: 850px; margin: 0; color: var(--muted); font-size: clamp(19px,2.3vw,25px); line-height: 1.45; }
.article-meta { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 30px; color: var(--soft); font-size: 13px; }
.article-layout { display: grid; grid-template-columns: minmax(0,760px) 260px; gap: clamp(44px,8vw,110px); align-items: start; padding: 44px 0 90px; border-top: 1px solid var(--line); }
.article-body { font-family: ui-serif,Georgia,Cambria,"Times New Roman",serif; font-size: 19px; line-height: 1.72; }
.article-body > p:first-child { font-size: 23px; line-height: 1.55; }
.article-body h2 { margin: 54px 0 16px; font-family: Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 32px; line-height: 1.12; letter-spacing: -.035em; }
.article-body h3 { margin: 34px 0 10px; font-family: Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size: 21px; }
.article-body a { color: var(--accent); }
.article-body ul,.article-body ol { padding-left: 24px; }
.article-body li { margin: 9px 0; }
.article-callout { margin: 34px 0; padding: 24px 26px; border-left: 4px solid var(--accent); border-radius: 0 18px 18px 0; background: var(--surface); font-family: Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.article-callout strong { display: block; margin-bottom: 6px; }
.article-callout p { margin: 0; color: var(--muted); font-size: 16px; }
.article-aside { position: sticky; top: 24px; padding: 22px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); }
.article-aside b { display: block; margin-bottom: 12px; }
.article-aside a { display: block; padding: 9px 0; border-top: 1px solid var(--line); color: var(--muted); text-decoration: none; font-size: 13px; }
.article-aside a:hover { color: var(--ink); }
.article-sources { margin-top: 54px; padding-top: 26px; border-top: 1px solid var(--line); }
.article-sources h2 { margin-top: 0; }
.article-sources li { font-size: 16px; }
.article-cta { margin: 0 0 80px; padding: 34px; border: 1px solid var(--line); border-radius: 26px; background: linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--surface-solid)),color-mix(in srgb,var(--accent-2) 8%,var(--surface-solid))); }
.article-cta h2 { margin: 0 0 8px; font-size: 30px; }
.article-cta p { margin: 0 0 20px; color: var(--muted); }
.article-cta a { display: inline-flex; padding: 10px 15px; border-radius: 999px; color: var(--accent-ink); background: linear-gradient(125deg,var(--accent),var(--accent-2)); text-decoration: none; font-weight: 800; }

@media (max-width: 900px) {
  .insights-hero-grid,.source-policy,.article-layout { grid-template-columns: 1fr; }
  .featured-insight { min-height: 280px; }
  .editorial-card { grid-column: 1/-1; min-height: 0; }
  .article-aside { display: none; }
  .expedition-intro { grid-template-columns:1fr; gap:18px; }
  .expedition-layout { grid-template-columns:1fr; gap:16px; }
  .route-progress { position:relative; top:auto; display:flex; align-items:center; min-height:0; padding:0; }
  .route-progress-rail { width:100%; height:3px; order:2; }
  .route-progress-rail span { width:var(--route-progress,20%); height:100%; transition:width .5s cubic-bezier(.22,1,.36,1); }
  .route-progress ol { display:none; }
  .route-stage-body { padding-left:26px; }
}
@media (max-width: 720px) {
  .insights-shell,.article-main { width: min(100% - 28px,1180px); }
  .insights-hero { padding-top: 38px; }
  .insights-hero h1 { font-size: clamp(43px,14vw,64px); }
  .featured-insight { min-height: 250px; padding: 24px; }
  .expedition { padding-top:38px; }
  .route-stage-heading { min-height:92px; grid-template-columns:42px 1fr auto; padding:16px; }
  .stage-number { width:36px; height:36px; }
  .route-stage-heading strong { font-size:22px; }
  .route-stage-heading small { font-size:9px; }
  .route-stage-body { grid-template-columns:1fr; gap:20px; padding:0 16px 18px; }
  .stage-reading > div { grid-template-columns:1fr; }
  .stage-reading a { min-height:64px; }
  .stage-visual { min-height:190px; }
  .insights-section-head { align-items: flex-start; flex-direction: column; }
  .article-header h1 { font-size: clamp(42px,13vw,64px); }
  .article-body { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .route-stage-body,.scan-line,.stage-visual::after,.visual-discovery::before,.visual-discovery i,.visual-accountability b,.visual-accountability span,.visual-framework span,.visual-framework b,.visual-paths b,.visual-paths span,.visual-proof span,.visual-proof b { animation:none!important; }
  .route-progress-rail span,.route-stage,.route-stage-heading > i { transition:none!important; }
}

/* v44 — compact interactive Insights hero */
.theme-switch { display:none!important; }
.hero-map { padding:34px 0 42px; border-bottom:1px solid var(--line); }
.hero-map-intro { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:54px; align-items:end; margin-bottom:24px; }
.hero-map h1 { max-width:880px; margin:8px 0 0; font-size:clamp(48px,5.4vw,76px); line-height:.96; letter-spacing:-.06em; }
.hero-map-lead { padding-bottom:3px; }
.hero-map-lead p { max-width:590px; margin:0 0 16px; color:var(--muted); font-size:17px; line-height:1.5; }
.hero-map-lead > span { display:inline-flex; padding:8px 12px; border:1px solid var(--line); border-radius:999px; color:var(--accent); background:color-mix(in srgb,var(--surface-solid) 78%,transparent); font-size:12px; font-weight:800; }
.governance-map { position:relative; isolation:isolate; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line)); border-radius:27px; background:linear-gradient(135deg,rgba(255,255,255,.9),color-mix(in srgb,var(--accent) 6%,rgba(255,255,255,.86)) 58%,rgba(255,255,255,.82)); box-shadow:0 26px 76px rgba(27,80,94,.13),inset 0 1px 0 rgba(255,255,255,.95); backdrop-filter:blur(18px); }
.governance-map::before { content:""; position:absolute; z-index:-1; width:520px; height:520px; top:-330px; right:-120px; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--aqua) 17%,transparent),transparent 69%); pointer-events:none; }
.map-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-bottom:1px solid color-mix(in srgb,var(--accent) 19%,var(--line)); background:color-mix(in srgb,#f5fbfc 82%,transparent); }
.map-tabs button { --stage-color:#4f7cf3; position:relative; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:10px; min-width:0; padding:17px 18px 15px; border:0; border-right:1px solid var(--line); background:transparent; color:var(--muted); text-align:left; cursor:pointer; transition:background .24s ease,color .24s ease,transform .24s ease; }
.map-tabs button:nth-child(1) { --stage-color:#2c7080; }
.map-tabs button:nth-child(2) { --stage-color:#347b8a; }
.map-tabs button:nth-child(3) { --stage-color:#408795; }
.map-tabs button:nth-child(4) { --stage-color:#4e929e; }
.map-tabs button:nth-child(5) { --stage-color:#5c9ca6; }
.map-tabs button:last-child { border-right:0; }
.map-tabs button::after { content:""; position:absolute; right:15px; bottom:-1px; left:15px; height:3px; border-radius:3px 3px 0 0; background:var(--stage-color); opacity:0; transform:scaleX(.35); transition:opacity .24s ease,transform .32s cubic-bezier(.22,1,.36,1); }
.map-tabs button:hover { color:var(--ink); background:color-mix(in srgb,var(--stage-color) 6%,transparent); }
.map-tabs button.active { color:var(--ink); background:linear-gradient(180deg,color-mix(in srgb,var(--stage-color) 12%,#fff),color-mix(in srgb,var(--stage-color) 5%,#fff)); }
.map-tabs button.active::after { opacity:1; transform:scaleX(1); }
.map-tabs span { grid-row:1/3; align-self:center; color:var(--stage-color); font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.map-tabs b { overflow:hidden; font-size:15px; line-height:1.15; text-overflow:ellipsis; }
.map-tabs small { overflow:hidden; margin-top:3px; color:var(--soft); font-size:11px; line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }
.map-panel { --stage-color:#2c7080; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr); gap:30px; min-height:348px; padding:28px; background:linear-gradient(112deg,rgba(255,255,255,.42),color-mix(in srgb,var(--aqua) 3%,transparent)); animation:mapPanelIn .46s cubic-bezier(.22,1,.36,1) both; }
.map-panel:nth-child(2) { --stage-color:#347b8a; }
.map-panel:nth-child(3) { --stage-color:#408795; }
.map-panel:nth-child(4) { --stage-color:#4e929e; }
.map-panel:nth-child(5) { --stage-color:#5c9ca6; }
.map-panel[hidden] { display:none; }
@keyframes mapPanelIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.map-panel-copy { display:flex; flex-direction:column; min-width:0; }
.map-kicker { margin:0 0 7px; color:var(--stage-color)!important; font:800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.1em; text-transform:uppercase; }
.map-panel-copy h2 { margin:0 0 4px; font-size:clamp(31px,3vw,43px); line-height:1; letter-spacing:-.045em; }
.map-panel-copy > .stage-question { margin:12px 0 4px; color:var(--ink); font-size:17px; font-weight:800; }
.map-panel-copy > p:not(.map-kicker):not(.stage-question) { max-width:820px; margin:0 0 16px; color:var(--muted); font-size:14px; line-height:1.5; }
.map-panel .stage-reading { margin:0; }
.map-panel .stage-reading > span { margin-bottom:8px; }
.map-panel .stage-reading a { min-height:60px; border-color:color-mix(in srgb,var(--accent) 16%,var(--line)); background:rgba(255,255,255,.68); box-shadow:inset 0 1px 0 rgba(255,255,255,.75); }
.map-panel .stage-reading a.primary { border-color:color-mix(in srgb,var(--stage-color) 48%,var(--line)); background:linear-gradient(135deg,color-mix(in srgb,var(--stage-color) 11%,#fff),rgba(255,255,255,.75)); }
.map-panel .route-next,.map-panel .route-finish { align-self:flex-start; margin-top:auto; color:var(--stage-color); }
.map-panel-media { position:relative; min-height:290px; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); border-radius:20px; background:var(--surface); box-shadow:0 16px 36px rgba(25,69,80,.14); }
.map-panel-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,color-mix(in srgb,var(--ink) 82%,transparent)); pointer-events:none; }
.map-panel-media img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.86) contrast(.98); transition:transform 1.1s cubic-bezier(.22,1,.36,1),filter .35s ease; }
.map-panel:hover .map-panel-media img { transform:scale(1.035); filter:saturate(.98) contrast(1); }
.map-panel-media > span { position:absolute; z-index:1; right:20px; bottom:18px; left:20px; color:#fff; font-size:12px; line-height:1.4; }
.map-panel-media b { display:block; margin-bottom:3px; font-size:16px; }
.hero-map + .insights-section { padding-top:50px; }

@media (max-width: 980px) {
  .hero-map-intro { grid-template-columns:1fr; gap:18px; }
  .map-tabs { overflow-x:auto; grid-template-columns:repeat(5,minmax(145px,1fr)); scrollbar-width:none; }
  .map-tabs::-webkit-scrollbar { display:none; }
  .map-panel { grid-template-columns:1fr 270px; gap:20px; }
}
@media (max-width: 720px) {
  .hero-map { padding-top:26px; }
  .hero-map h1 { font-size:clamp(43px,13vw,62px); }
  .hero-map-lead p { font-size:15px; }
  .governance-map { border-radius:21px; }
  .map-tabs button { padding:14px 13px; }
  .map-panel { grid-template-columns:1fr; min-height:0; padding:18px; }
  .map-panel-media { order:-1; min-height:190px; }
  .map-panel-copy h2 { font-size:32px; }
  .map-panel .stage-reading > div { grid-template-columns:1fr; }
  .map-panel .route-next,.map-panel .route-finish { margin-top:18px; }
}
@media (prefers-reduced-motion: reduce) {
  .map-panel { animation:none; }
  .map-tabs button,.map-tabs button::after,.map-panel-media img { transition:none; }
}

/* Vivid editorial palette derived from the supplied lime, lilac, coral and cocoa references. */
[data-theme="vivid"] .hero-map-lead > span { color:#6c3f2f; border-color:rgba(111,69,77,.18); background:rgba(255,250,253,.74); }
[data-theme="vivid"] .governance-map { border-color:rgba(104,66,107,.24); background:linear-gradient(135deg,rgba(255,250,253,.94),rgba(236,170,247,.20) 46%,rgba(207,247,150,.24) 100%); box-shadow:0 28px 78px rgba(95,61,99,.17),inset 0 1px 0 rgba(255,255,255,.94); }
[data-theme="vivid"] .governance-map::before { width:560px; height:560px; top:-365px; right:-110px; background:radial-gradient(circle,rgba(232,97,43,.22),rgba(236,170,247,.12) 46%,transparent 70%); }
[data-theme="vivid"] .map-tabs { border-bottom-color:rgba(104,66,107,.18); background:rgba(255,250,253,.68); }
[data-theme="vivid"] .map-tabs button:nth-child(1) { --stage-color:#846bce; }
[data-theme="vivid"] .map-tabs button:nth-child(2) { --stage-color:#b94b7c; }
[data-theme="vivid"] .map-tabs button:nth-child(3) { --stage-color:#718d27; }
[data-theme="vivid"] .map-tabs button:nth-child(4) { --stage-color:#df5c2c; }
[data-theme="vivid"] .map-tabs button:nth-child(5) { --stage-color:#79503a; }
[data-theme="vivid"] .map-tabs button.active { background:linear-gradient(180deg,color-mix(in srgb,var(--stage-color) 13%,#fffafd),rgba(255,250,253,.70)); }
[data-theme="vivid"] .map-panel { --stage-color:#846bce; background:linear-gradient(112deg,rgba(255,250,253,.48),rgba(207,247,150,.08)); }
[data-theme="vivid"] .map-panel:nth-child(2) { --stage-color:#b94b7c; }
[data-theme="vivid"] .map-panel:nth-child(3) { --stage-color:#718d27; }
[data-theme="vivid"] .map-panel:nth-child(4) { --stage-color:#df5c2c; }
[data-theme="vivid"] .map-panel:nth-child(5) { --stage-color:#79503a; }
[data-theme="vivid"] .map-panel .stage-reading a { border-color:rgba(104,66,107,.16); background:rgba(255,250,253,.72); }
[data-theme="vivid"] .map-panel .stage-reading a.primary { border-color:color-mix(in srgb,var(--stage-color) 48%,rgba(104,66,107,.16)); background:linear-gradient(135deg,color-mix(in srgb,var(--stage-color) 12%,#fffafd),rgba(255,250,253,.76)); }
[data-theme="vivid"] .map-panel-media { border-color:rgba(104,66,107,.23); box-shadow:0 17px 38px rgba(91,54,94,.18); }
[data-theme="vivid"] .map-panel-media img { filter:saturate(.94) contrast(.99) sepia(.04); }
[data-theme="vivid"] .map-panel:hover .map-panel-media img { filter:saturate(1.05) contrast(1.01); }

/* v47 — problem-first guided journey */
.guided-map { overflow:hidden; }
.journey-prompt { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; padding:22px 24px 18px; border-bottom:1px solid color-mix(in srgb,var(--accent) 15%,var(--line)); background:color-mix(in srgb,var(--surface-solid) 54%,transparent); }
.journey-prompt h2 { margin:4px 0 0; font-size:clamp(25px,2.5vw,34px); line-height:1; letter-spacing:-.04em; }
.journey-prompt > p { max-width:470px; margin:0; color:var(--muted); font-size:14px; line-height:1.45; }
.problem-tabs { gap:8px; padding:10px; border-bottom:1px solid color-mix(in srgb,var(--accent) 18%,var(--line)); background:color-mix(in srgb,#f5fbfc 73%,transparent); }
.problem-tabs button { grid-template-columns:36px minmax(0,1fr); grid-template-rows:auto 1fr; column-gap:10px; min-height:104px; padding:13px 12px; border:1px solid transparent!important; border-radius:16px; }
.problem-tabs button::after { display:none; }
.problem-tabs button:hover { z-index:1; transform:translateY(-2px); border-color:color-mix(in srgb,var(--stage-color) 26%,var(--line))!important; box-shadow:0 10px 24px color-mix(in srgb,var(--stage-color) 11%,transparent); }
.problem-tabs button.active { z-index:2; transform:translateY(-2px); border-color:color-mix(in srgb,var(--stage-color) 50%,var(--line))!important; box-shadow:0 12px 28px color-mix(in srgb,var(--stage-color) 16%,transparent),inset 0 1px 0 rgba(255,255,255,.75); }
.problem-tabs button.visited:not(.active) { border-color:color-mix(in srgb,var(--stage-color) 25%,var(--line))!important; background:color-mix(in srgb,var(--stage-color) 6%,transparent); }
.problem-tabs .journey-index { grid-row:1/3; display:grid; place-items:center; align-self:start; width:31px; height:31px; margin-top:1px; border:1px solid color-mix(in srgb,var(--stage-color) 35%,var(--line)); border-radius:50%; color:var(--stage-color); background:color-mix(in srgb,var(--stage-color) 7%,var(--surface-solid)); font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace; transition:transform .3s cubic-bezier(.22,1,.36,1),background .2s ease,color .2s ease; }
.problem-tabs button.active .journey-index { transform:scale(1.08); color:#fff; background:var(--stage-color); box-shadow:0 0 0 5px color-mix(in srgb,var(--stage-color) 12%,transparent); }
.problem-tabs .journey-index i,.problem-tabs .journey-index em { font-style:normal; }
.problem-tabs .journey-index em { display:none; }
.problem-tabs button.visited .journey-index i { display:none; }
.problem-tabs button.visited .journey-index em { display:block; }
.problem-tabs button.visited:not(.active) .journey-index { color:#fff; background:var(--stage-color); }
.problem-tabs b { overflow:visible; align-self:end; font-size:14px; line-height:1.18; text-overflow:clip; white-space:normal; }
.problem-tabs small { overflow:visible; margin-top:5px; font-size:11px; line-height:1.24; text-overflow:clip; white-space:normal; }
.guided-map .map-panel { min-height:360px; padding-top:24px; }
.guided-map .stage-reading a { position:relative; min-height:68px; padding:12px 14px; }
.guided-map .stage-reading a::after { content:"→"; position:absolute; right:12px; top:11px; color:var(--stage-color); opacity:.52; transition:transform .2s ease,opacity .2s ease; }
.guided-map .stage-reading a:hover::after { opacity:1; transform:translateX(3px); }
.guided-map .route-next,.guided-map .route-finish { padding:10px 16px; transition:transform .2s ease,background .2s ease,box-shadow .2s ease; }
.guided-map .route-next:hover,.guided-map .route-finish:hover { transform:translateY(-2px); background:color-mix(in srgb,var(--stage-color) 12%,var(--surface-solid)); box-shadow:0 9px 20px color-mix(in srgb,var(--stage-color) 13%,transparent); }
.journey-status { display:grid; grid-template-columns:auto minmax(180px,1fr) auto; gap:14px; align-items:center; padding:13px 24px; border-top:1px solid color-mix(in srgb,var(--accent) 17%,var(--line)); background:color-mix(in srgb,var(--surface-solid) 68%,transparent); }
.journey-status > span { color:var(--ink); font-size:12px; font-weight:800; }
.journey-status > div { height:4px; overflow:hidden; border-radius:999px; background:color-mix(in srgb,var(--accent) 10%,var(--line)); }
.journey-status i { display:block; width:20%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),var(--accent-2)); transition:width .5s cubic-bezier(.22,1,.36,1); }
.journey-status small { color:var(--soft); font-size:11px; }
[data-theme="vivid"] .journey-prompt { border-bottom-color:rgba(104,66,107,.16); background:rgba(255,250,253,.4); }
[data-theme="vivid"] .problem-tabs { background:rgba(255,250,253,.55); }
[data-theme="vivid"] .journey-status { background:rgba(255,250,253,.58); }
[data-theme="vivid"] .journey-status i { background:linear-gradient(90deg,#846bce,#df5c2c); }

@media (max-width:980px) {
  .journey-prompt { align-items:flex-start; }
  .problem-tabs { grid-template-columns:repeat(5,minmax(210px,1fr)); }
}
@media (max-width:720px) {
  .journey-prompt { flex-direction:column; gap:9px; padding:18px; }
  .journey-prompt > p { font-size:13px; }
  .problem-tabs { grid-template-columns:repeat(5,minmax(205px,1fr)); }
  .problem-tabs button { min-height:96px; }
  .guided-map .map-panel { padding-top:18px; }
  .journey-status { grid-template-columns:1fr; gap:8px; padding:12px 18px; }
  .journey-status small { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .problem-tabs button,.problem-tabs .journey-index,.guided-map .stage-reading a::after,.guided-map .route-next,.guided-map .route-finish,.journey-status i { transition:none!important; }
}
