/* ── INSIGHTS: hub, homepage preview, article layout ── */

/* Cards (shared by hub, homepage preview, related) */
.ins-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:36px;flex-wrap:wrap}
.ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ins-card{display:flex;flex-direction:column;gap:12px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px 24px;text-decoration:none;color:inherit;transition:box-shadow .25s,transform .25s,border-color .25s}
.ins-card:hover{box-shadow:0 10px 28px rgba(22,18,46,.08);transform:translateY(-2px);border-color:#d9d3ea}
.ins-type{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pink)}
.ins-card h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:21px;color:var(--navy);line-height:1.3}
.ins-card p{font-size:14px;color:var(--text-mid);line-height:1.65;flex:1}
.ins-more{font-size:13px;font-weight:600;color:var(--navy)}
.ins-card:hover .ins-more{color:var(--pink)}
.btn-outline{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border:1.5px solid var(--navy);border-radius:999px;color:var(--navy);font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;white-space:nowrap}
.btn-outline:hover{background:var(--navy);color:#fff}
.ins-link{display:inline-block;margin-top:14px;font-size:14px;font-weight:500;color:var(--pink);text-decoration:none;border-bottom:1px solid rgba(224,0,122,.35)}
.ins-link:hover{border-bottom-color:var(--pink)}

/* Homepage preview section */
.insights-preview{background:var(--cream);padding:96px 64px}

/* Hub */
.ins-hub-head{background:var(--cream);padding:calc(92px + 56px) 64px 56px}
.ins-hub-head h1{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:clamp(36px,4.2vw,58px);line-height:1.1;letter-spacing:-.01em;color:var(--navy);max-width:760px;margin-top:14px}
.ins-hub-head h1 em{font-style:italic;color:var(--pink)}
.ins-hub-head p{font-size:18px;color:var(--text-mid);max-width:620px;line-height:1.65;margin-top:18px}
.ins-hub-list{padding:56px 64px 96px;background:var(--white)}

/* Article */
.article-header{background:var(--cream);padding:calc(92px + 48px) 64px 48px}
.article-header .inner,.article-body,.article-cta .inner,.article-related .inner{max-width:760px;margin:0 auto}
.breadcrumb{font-size:13px;color:var(--text-light);margin-bottom:28px}
.breadcrumb a{color:var(--text-mid);text-decoration:none}
.breadcrumb a:hover{color:var(--pink)}
.breadcrumb span{color:var(--text-mid)}
.article-header h1{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:-.01em;color:var(--navy);margin-top:14px}
.byline{margin-top:22px;font-size:14px;color:var(--text-mid)}
.byline strong{color:var(--navy);font-weight:600}
.article-body{padding:56px 64px 24px;font-size:17px;line-height:1.75;color:var(--text)}
.article-body>*+*{margin-top:1.1em}
.article-body h2{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:30px;line-height:1.2;color:var(--navy);margin-top:2em}
.article-body h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:22px;line-height:1.3;color:var(--navy);margin-top:1.6em}
.article-body h2+p,.article-body h3+p{margin-top:.6em}
.article-body a{color:var(--pink);text-decoration:none;border-bottom:1px solid rgba(224,0,122,.35)}
.article-body a:hover{border-bottom-color:var(--pink)}
.article-body ul{padding-left:1.3em}
.article-body li+li{margin-top:.4em}
.article-body strong{font-weight:600;color:var(--navy)}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.4em 0;border:1px solid var(--border);border-radius:var(--radius)}
.article-body table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5;min-width:480px}
.article-body th,.article-body td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:top}
.article-body th{background:var(--cream);font-weight:600;color:var(--navy);font-size:13px;letter-spacing:.02em}
.article-body tr:last-child td{border-bottom:none}
.article-cta{background:var(--cream);padding:72px 64px;margin-top:48px}
.article-cta h2{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(26px,3vw,36px);line-height:1.2;color:var(--navy);margin:12px 0 10px}
.article-cta>.inner>p{font-size:16px;color:var(--text-mid);margin-bottom:28px}
.article-cta>.inner>p a{color:var(--pink)}
.article-cta .contact-form{margin-top:8px}
.article-related{padding:72px 64px 96px;background:var(--white)}
.article-related h2{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:28px;color:var(--navy);margin-bottom:28px}
.article-related .inner{max-width:1100px}

@media (max-width:1024px){
  .ins-grid{grid-template-columns:1fr 1fr}
  .insights-preview,.ins-hub-head,.ins-hub-list,.article-header,.article-body,.article-cta,.article-related{padding-left:40px;padding-right:40px}
}
@media (max-width:640px){
  .ins-grid{grid-template-columns:1fr}
  .insights-preview,.ins-hub-list,.article-related{padding:64px 20px}
  .ins-hub-head{padding:calc(72px + 40px) 20px 40px}
  .article-header{padding:calc(72px + 32px) 20px 36px}
  .article-body{padding:36px 20px 16px;font-size:16px}
  .article-body h2{font-size:26px}
  .article-cta{padding:56px 20px}
  .ins-head{align-items:flex-start}
}
@media (max-width:640px){
  .breadcrumb .bc-last{display:none}
}

/* The breadcrumb is a <nav>; undo the fixed site-header styling that site.css applies to bare nav elements. */
nav.breadcrumb{position:static;top:auto;left:auto;right:auto;height:auto;width:auto;padding:0;margin:0 0 28px;background:none;border:0;box-shadow:none;backdrop-filter:none;display:block;z-index:auto;justify-content:normal;align-items:normal}
