/* SNDR Insights — shared stylesheet (matches main site, elevated) */
/* Values inlined (no CSS custom properties) for maximum validator compatibility. */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-font-smoothing:antialiased; scroll-behavior:smooth; }
body{ margin:0; font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:17px; line-height:1.65; color:#112C5E; background:#F6F3EC; }
a{ color:#112C5E; } a:hover{ color:#A8874C; }
h1,h2,h3{ font-family:"Merriweather",Georgia,serif; color:#112C5E; letter-spacing:-.015em; font-weight:400; }
::selection{ background:#C9A86A; color:#0A1834; }
.wrap{ max-width:1160px; margin:0 auto; padding:0 clamp(20px,4vw,44px); }
.col{ max-width:760px; margin:0 auto; padding:0 clamp(20px,4vw,44px); }

@keyframes upIn{ from{opacity:0; transform:translateY(18px)} to{opacity:1; transform:none} }

/* header */
header.site{ position:sticky; top:0; z-index:50; background:rgba(246,243,236,.82); backdrop-filter:blur(14px) saturate(1.2); -webkit-backdrop-filter:blur(14px) saturate(1.2); border-bottom:1px solid #E6DFD1; }
.hdr{ max-width:1160px; margin:0 auto; padding:0 clamp(20px,4vw,44px); height:74px; display:flex; align-items:center; justify-content:space-between; }
.logo img{ height:26px; display:block; }
.hdr-right{ display:flex; align-items:center; gap:24px; }
.hdr-right a.nl{ font-size:14px; font-weight:500; color:#4A5A72; text-decoration:none; transition:color .18s; } .hdr-right a.nl:hover{ color:#112C5E; }
.btn{ display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; padding:11px 20px; border-radius:10px; border:1.5px solid transparent; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.btn-primary{ background:#112C5E; color:#fff; box-shadow:0 6px 18px -8px rgba(17,44,94,.6); } .btn-primary:hover{ background:#1C3A6E; transform:translateY(-1px); }
.btn-gold{ background:#C9A86A; color:#0A1834; box-shadow:0 6px 18px -8px rgba(201,168,106,.7); } .btn-gold:hover{ background:#d8ba80; transform:translateY(-1px); }
.btn-ghost{ color:#fff; border:1.5px solid rgba(255,255,255,.55); } .btn-ghost:hover{ background:#fff; color:#112C5E; }

/* eyebrow */
.eyebrow{ display:inline-flex; align-items:center; gap:12px; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:12px; font-weight:500; color:#C9A86A; letter-spacing:.18em; text-transform:uppercase; margin:0 0 18px; }
.eyebrow::before{ content:""; width:28px; height:2px; background:#C9A86A; }

/* ---------- article hero ---------- */
.art-head{ position:relative; overflow:hidden; background:radial-gradient(125% 125% at 10% 110%, #1d4478 0%, #10294f 42%, #0a1834 78%); color:#fff; padding:clamp(54px,7vw,92px) 0 clamp(44px,5.5vw,66px); }
.art-head::before{ content:""; position:absolute; top:8%; right:-40px; width:680px; height:150px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='680' height='150' fill='none'%3E%3Cpath d='M0 112 H150 C186 112 190 40 226 40 H430 C466 40 470 112 506 112 H680' stroke='%23C9A86A' stroke-width='1.5' stroke-opacity='0.55'/%3E%3Ccircle cx='226' cy='40' r='4' fill='%23C9A86A' fill-opacity='0.7'/%3E%3Ccircle cx='506' cy='112' r='4' fill='%23C9A86A' fill-opacity='0.7'/%3E%3C/svg%3E") no-repeat right top; background-size:contain; opacity:.5; pointer-events:none; }
.art-head::after{ content:""; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size:160px; opacity:.05; mix-blend-mode:overlay; pointer-events:none; }
.art-head .col{ position:relative; z-index:1; }
.art-head .col > *{ animation:upIn .6s both; }
.art-head .col > .eyebrow{ animation-delay:.02s; } .art-head .col > h1{ animation-delay:.08s; } .art-head .col > .dek{ animation-delay:.14s; } .art-head .col > .meta-row{ animation-delay:.2s; }
.art-head h1{ color:#fff; font-weight:300; font-size:clamp(31px,4.6vw,48px); line-height:1.1; margin:0 0 18px; letter-spacing:-.02em; }
.art-head .dek{ color:#D7E0F0; font-size:clamp(17px,1.6vw,20px); line-height:1.5; margin:0 0 26px; max-width:56ch; }
.meta-row{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:12px; letter-spacing:.06em; color:#9FB2D2; }
.meta-row .tag{ color:#0A1834; background:#C9A86A; padding:4px 11px; border-radius:999px; font-weight:500; letter-spacing:.1em; }
.meta-row .dot{ opacity:.5; }

/* ---------- prose ---------- */
.prose{ padding:clamp(40px,5vw,66px) 0 clamp(30px,4vw,50px); }
.prose .col > p:first-of-type{ font-size:clamp(19px,1.9vw,22px); line-height:1.6; color:#112C5E; font-family:"Merriweather",Georgia,serif; font-weight:300; margin:0 0 26px; }
.prose p{ font-size:18px; line-height:1.78; color:#112C5E; margin:0 0 20px; }
.prose h2{ font-size:clamp(21px,2.4vw,27px); margin:42px 0 12px; padding-top:6px; }
.prose strong{ font-weight:700; color:#112C5E; }
.prose em{ font-family:"Merriweather",Georgia,serif; font-style:italic; }
.prose ul{ list-style:none; padding:0; margin:4px 0 22px; }
.prose li{ position:relative; padding:9px 0 9px 30px; font-size:18px; line-height:1.6; color:#112C5E; border-bottom:1px solid #E6DFD1; }
.prose li:last-child{ border-bottom:0; }
.prose li::before{ content:""; position:absolute; left:0; top:18px; width:15px; height:2px; background:#C9A86A; }
.prose .takeaway{ position:relative; background:linear-gradient(158deg,#fff,#f1f4fa); border:1px solid #E6DFD1; border-left:3px solid #C9A86A; border-radius:0 14px 14px 0; padding:22px 26px; font-size:17.5px; line-height:1.6; margin:30px 0; box-shadow:0 10px 30px -20px rgba(10,24,52,.4); }

/* where SNDR fits — dark spotlight */
.fits{ position:relative; overflow:hidden; background:radial-gradient(125% 125% at 10% 110%, #1d4478 0%, #10294f 42%, #0a1834 78%); color:#fff; border-radius:20px; padding:clamp(30px,4vw,42px); margin:40px 0 8px; box-shadow:0 30px 60px -34px rgba(10,24,52,.8); }
.fits::before{ content:""; position:absolute; top:-30%; right:-10%; width:340px; height:340px; background:radial-gradient(circle, rgba(201,168,106,.28), transparent 62%); pointer-events:none; }
.fits::after{ content:""; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size:160px; opacity:.06; mix-blend-mode:overlay; pointer-events:none; }
.fits > *{ position:relative; z-index:1; }
.fits .lbl{ font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#C9A86A; margin:0 0 12px; }
.fits p{ color:#E7ECF5; font-size:17px; line-height:1.62; margin:0 0 22px; max-width:60ch; }
.fits .btnrow{ display:flex; gap:12px; flex-wrap:wrap; }

/* related */
.related{ border-top:1px solid #E6DFD1; padding:44px 0 8px; }
.related .lbl{ font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:#A8874C; margin:0 0 20px; }
.related-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:640px){ .related-grid{ grid-template-columns:1fr; } }
.rcard{ position:relative; display:block; background:linear-gradient(158deg,#fff,#eef2f8); border:1px solid #E6DFD1; border-radius:16px; padding:24px; text-decoration:none; overflow:hidden; transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s; box-shadow:inset 0 1px 0 rgba(255,255,255,.8); }
.rcard::before{ content:""; position:absolute; left:0; top:0; height:3px; width:0; background:linear-gradient(90deg,#C9A86A,#A8874C); transition:width .32s ease; }
.rcard:hover{ transform:translateY(-3px); box-shadow:0 22px 44px -26px rgba(10,24,52,.5); }
.rcard:hover::before{ width:100%; }
.rcard .rtag{ font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#A8874C; }
.rcard h3{ font-size:18px; line-height:1.3; margin:8px 0 0; color:#112C5E; }

/* ---------- landing ---------- */
.ins-hero{ position:relative; overflow:hidden; background:radial-gradient(125% 125% at 10% 110%, #1d4478 0%, #10294f 42%, #0a1834 78%); color:#fff; padding:clamp(60px,7.5vw,104px) 0; }
.ins-hero::before{ content:""; position:absolute; top:14%; right:-30px; width:680px; height:150px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='680' height='150' fill='none'%3E%3Cpath d='M0 112 H150 C186 112 190 40 226 40 H430 C466 40 470 112 506 112 H680' stroke='%23C9A86A' stroke-width='1.5' stroke-opacity='0.55'/%3E%3Ccircle cx='226' cy='40' r='4' fill='%23C9A86A' fill-opacity='0.7'/%3E%3Ccircle cx='506' cy='112' r='4' fill='%23C9A86A' fill-opacity='0.7'/%3E%3C/svg%3E") no-repeat right top; background-size:contain; opacity:.55; pointer-events:none; }
.ins-hero::after{ content:""; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size:160px; opacity:.05; mix-blend-mode:overlay; pointer-events:none; }
.ins-hero .wrap{ position:relative; z-index:1; }
.ins-hero .wrap > *{ animation:upIn .6s both; }
.ins-hero .wrap > h1{ animation-delay:.08s; } .ins-hero .wrap > p{ animation-delay:.14s; }
.ins-hero h1{ color:#fff; font-weight:300; font-size:clamp(36px,5.4vw,58px); line-height:1.06; margin:0 0 16px; max-width:18ch; letter-spacing:-.02em; }
.ins-hero p{ color:#D7E0F0; font-size:clamp(17px,1.7vw,21px); max-width:56ch; margin:0; line-height:1.5; }
.ins-wrap{ padding:clamp(40px,5.5vw,68px) 0 clamp(50px,6vw,84px); }
.ins-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px){ .ins-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .ins-grid{ grid-template-columns:1fr; } }

.ins-card{ position:relative; display:flex; flex-direction:column; background:linear-gradient(158deg,#fff,#eef2f8); border:1px solid #E6DFD1; border-radius:18px; padding:30px 28px; text-decoration:none; overflow:hidden; box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 10px 30px -20px rgba(10,24,52,.3); transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, border-color .3s; animation:upIn .6s both; }
.ins-card::before{ content:""; position:absolute; left:0; top:0; height:3px; width:0; background:linear-gradient(90deg,#C9A86A,#A8874C); transition:width .34s ease; }
.ins-card:hover{ transform:translateY(-5px); box-shadow:0 30px 56px -28px rgba(10,24,52,.5); border-color:#D8CFBD; }
.ins-card:hover::before{ width:100%; }
.ins-card .rtag{ font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#A8874C; }
.ins-card h2{ font-size:21px; line-height:1.24; margin:12px 0 10px; letter-spacing:-.01em; }
.ins-card p{ font-size:15px; color:#4A5A72; margin:0 0 18px; flex:1; line-height:1.55; }
.ins-card .read{ font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:11.5px; color:#6B7A90; letter-spacing:.04em; }
.ins-card .read::after{ content:" \2192"; color:#A8874C; }
.ins-card:nth-child(1){ animation-delay:.04s; } .ins-card:nth-child(2){ animation-delay:.09s; } .ins-card:nth-child(3){ animation-delay:.14s; } .ins-card:nth-child(4){ animation-delay:.19s; } .ins-card:nth-child(5){ animation-delay:.24s; } .ins-card:nth-child(6){ animation-delay:.29s; } .ins-card:nth-child(7){ animation-delay:.34s; }

/* featured (first) card — full-width dark spotlight */
.ins-grid .ins-card:first-child{ grid-column:1 / -1; background:radial-gradient(125% 125% at 10% 110%, #1d4478 0%, #10294f 42%, #0a1834 78%); border-color:transparent; padding:clamp(34px,4vw,52px); box-shadow:0 40px 70px -38px rgba(10,24,52,.85); }
.ins-grid .ins-card:first-child::after{ content:""; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size:160px; opacity:.06; mix-blend-mode:overlay; pointer-events:none; }
.ins-grid .ins-card:first-child > *{ position:relative; z-index:1; }
.ins-grid .ins-card:first-child .rtag{ color:#C9A86A; }
.ins-grid .ins-card:first-child h2{ color:#fff; font-weight:300; font-size:clamp(26px,3.4vw,40px); line-height:1.1; max-width:20ch; margin:12px 0 12px; }
.ins-grid .ins-card:first-child p{ color:#C7D2E6; font-size:clamp(16px,1.5vw,18px); max-width:62ch; flex:0; margin-bottom:20px; }
.ins-grid .ins-card:first-child .read{ color:#AFC0DC; }
.ins-grid .ins-card:first-child:hover{ transform:translateY(-4px); }

/* footer */
footer.site{ background:#0A1834; color:#C3D0E6; padding:52px 0 30px; font-size:14px; margin-top:20px; }
.ftr-brand img{ height:24px; margin-bottom:14px; }
.ftr-tagline{ color:#AFC0DC; max-width:46ch; line-height:1.6; margin:0 0 24px; }
.ftr-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; padding-top:24px; border-top:1px solid rgba(255,255,255,.08); font-size:12px; color:#7C8CA8; }
.ftr-bottom a{ color:#7C8CA8; margin-left:18px; text-decoration:none; } .ftr-bottom a:hover{ color:#C3D0E6; }

@media (prefers-reduced-motion: reduce){ *{ animation:none !important; } }