/* ==========================================================================
   VIPHONYA® — INSIGHTS / KNOWLEDGE BASE
   Namespace: vp2-ins-*
   Standalone stylesheet: does not modify any existing rule in style.css.
   Loaded only by insights.html, insights/*.html and _template.html
   ========================================================================== */

.vp2-ins-wrap{padding:128px 24px 90px;}
.vp2-ins-narrow{max-width:860px;margin:0 auto;}

/* ---------- Article head ---------- */
.vp2-ins-head{margin-bottom:34px;border-bottom:1px solid var(--vp2-border-dark);padding-bottom:30px;}
.vp2-ins-kicker{display:inline-block;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--vp2-gold);border:1px solid var(--vp2-border-gold);padding:5px 12px;border-radius:2px;margin-bottom:18px;}
.vp2-ins-h1{font-family:var(--vp2-font-serif);font-size:2.35rem;line-height:1.24;color:#fff;margin-bottom:16px;font-weight:600;}
.vp2-ins-standfirst{color:var(--vp2-text-platinum);font-size:1rem;line-height:1.85;margin-bottom:20px;}
.vp2-ins-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.76rem;color:var(--vp2-text-muted);letter-spacing:.04em;}
.vp2-ins-meta span strong{color:var(--vp2-gold);font-weight:600;}

/* ---------- Table of contents ---------- */
.vp2-ins-toc{background:var(--vp2-bg-card);border:1px solid var(--vp2-border-dark);border-left:2px solid var(--vp2-gold);border-radius:3px;padding:20px 24px;margin:0 0 40px;}
.vp2-ins-toc-title{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--vp2-gold);margin-bottom:12px;}
.vp2-ins-toc ol{list-style:none;counter-reset:toc;margin:0;padding:0;}
.vp2-ins-toc li{counter-increment:toc;margin:7px 0;font-size:.86rem;line-height:1.5;}
.vp2-ins-toc li::before{content:counter(toc,decimal-leading-zero);color:var(--vp2-gold);font-size:.7rem;margin-right:10px;letter-spacing:.06em;}
.vp2-ins-toc a{color:var(--vp2-text-muted);text-decoration:none;transition:var(--vp2-transition);}
.vp2-ins-toc a:hover{color:var(--vp2-gold);}

/* ---------- Prose ---------- */
.vp2-ins-prose{color:var(--vp2-text-muted);font-size:.95rem;line-height:1.95;}
.vp2-ins-prose > p{margin-bottom:20px;}
.vp2-ins-prose h2{font-family:var(--vp2-font-serif);font-size:1.55rem;line-height:1.35;color:#fff;margin:48px 0 16px;padding-top:6px;font-weight:600;}
.vp2-ins-prose h3{font-family:var(--vp2-font-serif);font-size:1.12rem;line-height:1.45;color:var(--vp2-text-platinum);margin:30px 0 12px;font-weight:600;}
.vp2-ins-prose ul,.vp2-ins-prose ol{margin:0 0 22px 0;padding-left:22px;}
.vp2-ins-prose li{margin-bottom:9px;}
.vp2-ins-prose li::marker{color:var(--vp2-gold);}
.vp2-ins-prose strong{color:#fff;font-weight:600;}
.vp2-ins-prose a{color:var(--vp2-gold);text-decoration:none;border-bottom:1px solid rgba(212,175,55,.28);transition:var(--vp2-transition);}
.vp2-ins-prose a:hover{border-bottom-color:var(--vp2-gold);}
.vp2-ins-prose blockquote{margin:28px 0;padding:18px 22px;background:rgba(212,175,55,.05);border-left:2px solid var(--vp2-gold);color:var(--vp2-text-platinum);font-size:.92rem;line-height:1.85;}
.vp2-ins-prose table{width:100%;border-collapse:collapse;margin:8px 0 28px;font-size:.84rem;}
.vp2-ins-prose th{text-align:left;padding:11px 12px;color:var(--vp2-gold);font-weight:600;border-bottom:1px solid var(--vp2-border-gold);vertical-align:bottom;letter-spacing:.02em;}
.vp2-ins-prose td{padding:11px 12px;border-bottom:1px solid var(--vp2-border-dark);vertical-align:top;}
.vp2-ins-prose figure{max-width:560px;margin:6px auto 32px;}
.vp2-ins-prose figure img{width:100%;height:auto;display:block;border:1px solid var(--vp2-border-dark);border-radius:3px;}
.vp2-ins-prose figcaption{font-size:.76rem;color:#5b6270;margin-top:8px;line-height:1.7;}

/* ---------- Callout ---------- */
.vp2-ins-callout{background:var(--vp2-bg-card);border:1px solid var(--vp2-border-dark);border-radius:3px;padding:18px 22px;margin:26px 0;font-size:.88rem;line-height:1.85;}
.vp2-ins-callout strong{display:block;color:var(--vp2-gold);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;}

/* ---------- Article footer CTA ---------- */
.vp2-ins-cta{margin:56px 0 0;padding:38px 32px;background:linear-gradient(140deg,#121216,#0b0b0e);border:1px solid var(--vp2-border-gold);border-radius:4px;text-align:center;}
.vp2-ins-cta h2{font-family:var(--vp2-font-serif);font-size:1.5rem;color:#fff;margin-bottom:12px;font-weight:600;}
.vp2-ins-cta p{color:var(--vp2-text-muted);font-size:.88rem;line-height:1.8;max-width:560px;margin:0 auto 22px;}
.vp2-ins-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* ---------- Related ---------- */
.vp2-ins-related{margin-top:56px;padding-top:32px;border-top:1px solid var(--vp2-border-dark);}
.vp2-ins-related h2{font-family:var(--vp2-font-serif);font-size:1.25rem;color:#fff;margin-bottom:20px;font-weight:600;}
.vp2-ins-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.vp2-ins-related-card{display:block;padding:18px 20px;background:var(--vp2-bg-card);border:1px solid var(--vp2-border-dark);border-radius:3px;text-decoration:none;transition:var(--vp2-transition);}
.vp2-ins-related-card:hover{border-color:var(--vp2-border-gold);background:var(--vp2-bg-card-hover);}
.vp2-ins-related-card span{display:block;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--vp2-gold);margin-bottom:8px;}
.vp2-ins-related-card h3{font-family:var(--vp2-font-serif);font-size:.98rem;line-height:1.45;color:#fff;font-weight:500;margin:0;}

/* ---------- Hub ---------- */
.vp2-ins-hub-head{text-align:center;max-width:760px;margin:0 auto 54px;}
.vp2-ins-hub-head h1{font-family:var(--vp2-font-serif);font-size:2.6rem;line-height:1.2;color:#fff;margin:14px 0 16px;font-weight:600;}
.vp2-ins-hub-head p{color:var(--vp2-text-muted);font-size:.95rem;line-height:1.85;}
.vp2-ins-group{margin-bottom:56px;}
.vp2-ins-group-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--vp2-border-dark);padding-bottom:12px;margin-bottom:26px;}
.vp2-ins-group-head h2{font-family:var(--vp2-font-serif);font-size:1.4rem;color:#fff;font-weight:600;margin:0;}
.vp2-ins-group-head span{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--vp2-gold);}
.vp2-ins-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;}
.vp2-ins-card{display:flex;flex-direction:column;background:var(--vp2-bg-card);border:1px solid var(--vp2-border-dark);border-radius:3px;overflow:hidden;transition:var(--vp2-transition);text-decoration:none;}
.vp2-ins-card:hover{border-color:var(--vp2-border-gold);background:var(--vp2-bg-card-hover);transform:translateY(-2px);}
.vp2-ins-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;filter:brightness(.88);}
.vp2-ins-card-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;}
.vp2-ins-card-tag{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--vp2-gold);margin-bottom:10px;}
.vp2-ins-card h3{font-family:var(--vp2-font-serif);font-size:1.12rem;line-height:1.42;color:#fff;font-weight:600;margin:0 0 10px;}
.vp2-ins-card p{color:var(--vp2-text-muted);font-size:.84rem;line-height:1.8;margin:0 0 16px;}
.vp2-ins-card-foot{margin-top:auto;font-size:.72rem;letter-spacing:.06em;color:#5b6270;}
.vp2-ins-planned{display:flex;flex-direction:column;justify-content:center;background:transparent;border:1px dashed rgba(255,255,255,.12);border-radius:3px;padding:24px;}
.vp2-ins-planned span{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:#5b6270;margin-bottom:10px;}
.vp2-ins-planned h3{font-family:var(--vp2-font-serif);font-size:1rem;line-height:1.45;color:#7d8592;font-weight:500;margin:0 0 8px;}
.vp2-ins-planned p{font-size:.78rem;color:#5b6270;line-height:1.7;margin:0;}

@media (max-width:900px){
  .vp2-ins-wrap{padding-top:110px;}
  .vp2-ins-h1{font-size:1.72rem;}
  .vp2-ins-hub-head h1{font-size:2rem;}
  .vp2-ins-prose{font-size:.92rem;}
  .vp2-ins-prose h2{font-size:1.3rem;margin-top:38px;}
  .vp2-ins-prose table{display:block;overflow-x:auto;white-space:nowrap;}
  .vp2-ins-cta{padding:28px 20px;}
  .vp2-ins-cta h2{font-size:1.24rem;}
}
