/* =========================================================
   INSIGHTS DETAIL PAGE ROOT
   ========================================================= */
.insights-detail-page{

    background:var(--cream) !important;

    color:var(--on-cream);

    min-height:100vh;

}
 .insights-detail-wrap{
    width:min(
        var(--layout-reading),
        calc(100% - (var(--gutter) * 2))
    );
    max-width:var(--layout-reading);
    margin-inline:auto;
    box-sizing:border-box;
}
  ::selection{ background:var(--gold); color:var(--navy-deep); }

  .skip-link{ position:absolute; left:-9999px; top:0; z-index:200; background:var(--gold); color:var(--navy-deep); padding:12px 20px; font-size:0.85rem; font-weight:600; }
  .skip-link:focus{ left:16px; top:16px; }
  a:focus-visible, button:focus-visible, input:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

  /* ---------- reading progress ---------- */
  .progress-track{ position:sticky; top:64px; z-index:59; height:2px; background:rgba(11,31,51,0.08); }
  .progress-fill{ height:2px; width:0%; background:var(--gold); transition:width .1s linear; }

  /* ---------- buttons ---------- */
  .insights-detail-btn{ display:inline-flex; align-items:center; gap:10px; min-height:48px; padding:0 26px; font-size:0.86rem; letter-spacing:0.02em; transition:all .25s ease; border:1px solid transparent; cursor:pointer; font-family:'Inter',sans-serif; }
  .insights-detail-btn-primary{ background:var(--gold); color:var(--navy-deep); font-weight:500; }
  .insights-detail-btn-primary:hover{ background:#dcb769; }
  .insights-detail-btn-line{ border-bottom:1px solid rgba(11,31,51,0.25); padding:0 0 4px; color:var(--on-cream); }
  .insights-detail-btn-line:hover{ border-color:var(--gold-dark); color:var(--gold-dark); }
  .insights-detail-btn:hover .insights-detail-arrow{ transform:translateX(3px); }
  .insights-detail-arrow{ transition:transform .25s ease; }
  .insights-detail-eyebrow{ display:inline-flex; align-items:center; gap:10px; font-size:0.74rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-dark); margin-bottom:20px; }
  .insights-detail-eyebrow::before{ content:''; width:24px; height:1px; background:var(--gold-dark); }

  /* =========================================================
     BREADCRUMB
     ========================================================= */
  .insights-detail-crumb{ padding:22px 0 0; }
  .insights-detail-crumb .insights-detail-wrap{ max-width:var(--layout-reading); }
  .insights-detail-crumb ol{ list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; font-size:0.78rem; color:var(--on-cream-mute); }
  .insights-detail-crumb li:not(:last-child)::after{ content:'/'; margin-left:8px; color:rgba(11,31,51,0.3); }
  .insights-detail-crumb a:hover{ color:var(--gold-dark); }
  .insights-detail-crumb li[aria-current] { color:var(--on-cream); }

  /* =========================================================
     01 ARTICLE HERO
     ========================================================= */
  .insights-detail-art-hero{ padding:clamp(28px,4vw,40px) 0 clamp(44px,6vw,64px); border-bottom:1px solid rgba(11,31,51,0.1); }
  .insights-detail-art-hero .insights-detail-wrap{ max-width:var(--layout-reading); }
  .insights-detail-hero-tags{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-bottom:22px; font-size:0.8rem; color:var(--on-cream-mute); }
  .insights-detail-hero-tags .insights-detail-cat{ color:var(--gold-dark); text-transform:uppercase; letter-spacing:0.1em; font-size:0.74rem; font-weight:600; }
  .insights-detail-hero-tags .insights-detail-dot{ color:rgba(11,31,51,0.3); }
  .insights-detail-art-hero h1{ font-size:clamp(2rem,4.4vw,3.05rem); line-height:1.22; max-width:35ch; letter-spacing:-0.01em; margin-bottom:24px; }
  .insights-detail-hero-dek{ font-size:1.15rem; line-height:1.7; color:var(--on-cream-mute); max-width:60ch; }

  /* =========================================================
     02 ARTICLE METADATA
     ========================================================= */
  .insights-detail-meta-strip{ background:var(--neutral); border-bottom:1px solid rgba(11,31,51,0.1); padding:clamp(28px,4vw,36px) 0; }
  .insights-detail-meta-strip .insights-detail-wrap{ max-width:var(--layout-reading); }
  .insights-detail-meta-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:24px; }
  .insights-detail-meta-item .insights-detail-m-label{ display:block; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-dark); margin-bottom:8px; }
  .insights-detail-meta-item .insights-detail-m-value{ font-size:0.92rem; color:var(--on-cream); line-height:1.5; }
  .insights-detail-meta-item .insights-detail-m-tags{ display:flex; gap:8px; flex-wrap:wrap; }
  .insights-detail-meta-item .insights-detail-m-tags span{ font-size:0.76rem; color:var(--on-cream-mute); border:1px solid rgba(11,31,51,0.18); padding:4px 10px; }

  /* =========================================================
     03 EXECUTIVE SUMMARY
     ========================================================= */
  .insights-detail-exec{ padding:clamp(48px,7vw,72px) 0 clamp(24px,4vw,32px); }
  .insights-detail-exec .insights-detail-wrap{ max-width:var(--layout-reading); }
  .insights-detail-exec-box{ border-left:2px solid var(--gold); padding:4px 0 4px 28px; }
  .insights-detail-exec-box h2{ font-size:1.05rem; letter-spacing:0.04em; text-transform:uppercase; margin-bottom:18px; }
  .insights-detail-exec-box ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:12px; }
  .insights-detail-exec-box li{ font-size:1.02rem; line-height:1.7; color:var(--on-cream); position:relative; padding-left:20px; }
  .insights-detail-exec-box li::before{ content:'—'; position:absolute; left:0; color:var(--gold-dark); }

  /* =========================================================
     04 ARTICLE BODY
     ========================================================= */
  .insights-detail-article-body{ padding:clamp(20px,3vw,28px) 0 clamp(40px,6vw,56px); }
  .insights-detail-article-body .insights-detail-wrap{ max-width:var(--layout-reading); }
  .insights-detail-prose h2{ font-size:clamp(1.5rem,2.8vw,1.85rem); line-height:1.35; margin:clamp(48px,6vw,64px) 0 22px; }
  .insights-detail-prose h2:first-child{ margin-top:0; }
  .insights-detail-prose h3{ font-size:1.2rem; line-height:1.4; margin:32px 0 14px; }
  .insights-detail-prose p{ font-size:1.15rem; line-height:1.85; color:var(--on-cream); margin-bottom:22px; max-width:68ch; }
  .insights-detail-prose ul, .insights-detail-prose ol{ margin:0 0 22px; padding-left:22px; display:flex; flex-direction:column; gap:10px; }
  .insights-detail-prose li{ font-size:1.1rem; line-height:1.75; color:var(--on-cream); max-width:64ch; }

  /* pull quote */
  .insights-detail-pull-quote{ margin:clamp(44px,6vw,60px) 0; padding:6px 0 6px 30px; border-left:2px solid var(--gold); }
  .insights-detail-pull-quote p{ font-family:'Playfair Display',serif; font-style:italic; font-weight:500; font-size:clamp(1.3rem,2.6vw,1.65rem); line-height:1.55; color:var(--navy); max-width:34ch; }

  /* inline framework flow, sized for the narrow reading column */
  .insights-detail-fw-block{ margin:clamp(44px,6vw,60px) 0; background:var(--neutral); border:1px solid rgba(11,31,51,0.1); padding:clamp(30px,4vw,40px) clamp(24px,3vw,32px); }
  .insights-detail-fw-block h3{ font-size:1rem; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:24px; color:var(--gold-dark); }
  .insights-detail-fw-row{ position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
  .insights-detail-fw-row::before{ content:''; position:absolute; top:18px; left:8%; right:8%; height:1px; background:linear-gradient(90deg, var(--gold-dim), var(--gold-dark), var(--gold-dim)); }
  .insights-detail-fw-item{ position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; }
  .insights-detail-fw-item .insights-detail-dot{ width:36px; height:36px; border-radius:50%; border:1px solid var(--gold-dark); background:#fff; display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-style:italic; color:var(--gold-dark); font-size:0.78rem; margin-bottom:10px; z-index:1; }
  .insights-detail-fw-item span.insights-detail-lbl{ font-size:0.76rem; font-weight:600; color:var(--on-cream); }

  /* chart block */
  .insights-detail-chart-block{ margin:clamp(44px,6vw,60px) 0; }
  .insights-detail-chart-block figure{ margin:0; background:var(--neutral); border:1px solid rgba(11,31,51,0.1); padding:clamp(24px,3.5vw,32px); }
  .insights-detail-chart-block svg{ width:100%; height:auto; display:block; }
  .insights-detail-chart-block figcaption{ margin-top:16px; font-size:0.85rem; color:var(--on-cream-mute); line-height:1.6; }
  .insights-detail-chart-legend{ display:flex; gap:22px; margin-bottom:16px; font-size:0.78rem; color:var(--on-cream-mute); }
  .insights-detail-chart-legend span{ display:inline-flex; align-items:center; gap:8px; }
  .insights-detail-chart-legend .insights-detail-sw{ width:14px; height:2px; display:inline-block; }
  .insights-detail-grid-line{ stroke:rgba(11,31,51,0.12); stroke-width:1; }
  .insights-detail-line-vol{ fill:none; stroke:var(--navy); stroke-width:1.6; }
  .insights-detail-line-loss{ fill:none; stroke:var(--gold-dark); stroke-width:1.6; }

  /* =========================================================
     08 KEY TAKEAWAYS
     ========================================================= */
  .insights-detail-takeaways{ background:var(--navy); color:var(--on-navy); padding:clamp(56px,8vw,84px) 0; }
  .insights-detail-takeaways .insights-detail-wrap{ max-width:var(--layout-reading); }
  .insights-detail-takeaways h2{ font-size:clamp(1.4rem,2.6vw,1.75rem); margin-bottom:28px; }
  .insights-detail-takeaways ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
  .insights-detail-takeaways li{ display:flex; gap:14px; align-items:flex-start; font-size:1.02rem; line-height:1.7; color:var(--on-navy-mute); }
  .insights-detail-takeaways li .insights-detail-ck{ color:var(--gold); font-family:'Playfair Display',serif; flex-shrink:0; margin-top:2px; }

  /* =========================================================
     09 REFERENCES
     ========================================================= */
  .insights-detail-refs{ background:var(--cream); padding:clamp(52px,7vw,72px) 0; border-bottom:1px solid rgba(11,31,51,0.1); }
  .insights-detail-refs .insights-detail-wrap{ max-width:var(--layout-reading); }
  .insights-detail-refs h2{ font-size:1.05rem; letter-spacing:0.04em; text-transform:uppercase; margin-bottom:22px; color:var(--gold-dark); }
  .insights-detail-refs ol{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px; counter-reset:ref; }
  .insights-detail-refs li{ counter-increment:ref; font-size:0.94rem; line-height:1.6; color:var(--on-cream-mute); padding-left:26px; position:relative; }
  .insights-detail-refs li::before{ content:counter(ref) '.'; position:absolute; left:0; color:var(--gold-dark); }
  .insights-detail-refs em{ color:var(--on-cream); font-style:italic; }

  /* =========================================================
     10 AUTHOR
     ========================================================= */
  .insights-detail-author{ background:var(--neutral); padding:clamp(52px,7vw,72px) 0; border-bottom:1px solid rgba(11,31,51,0.1); }
  .insights-detail-author .insights-detail-wrap{ max-width:var(--layout-reading); display:flex; gap:24px; align-items:flex-start; }
  .insights-detail-avatar{ width:56px; height:56px; border-radius:50%; background:var(--navy); color:var(--gold); display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-style:italic; font-size:1rem; flex-shrink:0; border:1px solid var(--gold-dim); }
  .insights-detail-author h3{ font-size:1.1rem; margin-bottom:4px; }
  .insights-detail-author .insights-detail-role{ font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold-dark); margin-bottom:12px; display:block; }
  .insights-detail-author p{ font-size:0.95rem; line-height:1.7; color:var(--on-cream-mute); max-width:56ch; }

  /* =========================================================
     11 RELATED RESEARCH
     ========================================================= */
  .insights-detail-related{ background:var(--cream); padding:clamp(64px,9vw,100px) 0; }
  .insights-detail-related .insights-detail-wrap{ max-width:var(--layout-wide); }
  .insights-detail-related .insights-detail-section-head{ max-width:640px; margin:0 0 clamp(32px,4vw,44px); }
  .insights-detail-related .insights-detail-section-head h2{ font-size:clamp(1.4rem,2.6vw,1.8rem); }
  .insights-detail-related-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:rgba(11,31,51,0.1); border:1px solid rgba(11,31,51,0.1); }
  .insights-detail-rel-card{ min-width:0; background:#fff; padding:clamp(26px,3.5vw,32px); display:flex; flex-direction:column; transition:background .25s ease; }
  .insights-detail-rel-card:hover{ background:#fbfaf8; }
  .insights-detail-rel-card .insights-detail-tag{ font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-dark); margin-bottom:14px; }
  .insights-detail-rel-card h3{ font-size:1.08rem; line-height:1.4; margin-bottom:12px; }
  .insights-detail-rel-card p{ font-size:0.9rem; line-height:1.65; color:var(--on-cream-mute); flex:1; }
  .insights-detail-rel-card .insights-detail-read{ margin-top:18px; font-size:0.8rem; font-weight:500; display:inline-flex; gap:8px; align-items:center; color:var(--navy); border-bottom:1px solid rgba(11,31,51,0.25); padding-bottom:2px; width:fit-content; }
  .insights-detail-rel-card .insights-detail-read:hover{ color:var(--gold-dark); border-color:var(--gold); }
  .insights-detail-rel-card .insights-detail-read:hover .insights-detail-arrow{ transform:translateX(3px); }

  .reveal{ opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease; }
  .reveal.in{ opacity:1; transform:none; }
  @media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } }

  @media (max-width: 980px){
    .nav-links{ display:none; }
    .nav-burger{ display:flex; }
    .insights-detail-related-grid{ grid-template-columns:1fr; }
  }
  @media (max-width:760px){
    .insights-detail-fw-row{ grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; }
    .insights-detail-fw-item .insights-detail-dot{ width:28px; height:28px; font-size:0.66rem; }
    .insights-detail-fw-item span.insights-detail-lbl{ font-size:0.62rem; }
  }
  @media (max-width:640px){
    .insights-detail-author .insights-detail-wrap{ flex-direction:column; }
    .insights-detail-sub-form{ flex-direction:column; align-items:stretch; }
  }
  @media (max-width:480px){
    .insights-detail-closing-actions{ flex-direction:column; }
  }

.reveal{ opacity:1 !important; transform:none !important; }

/* =========================================================
   SHARED DETAIL PAGE — RESPONSIVE CONTAINER SYSTEM
   Used by both Research Detail and Insights Detail.
   ========================================================= */

.insights-detail-page .insights-detail-related .insights-detail-wrap,
.research-detail-page .insights-detail-related .insights-detail-wrap{
    width:min(
        var(--layout-wide),
        calc(100% - (var(--gutter) * 2))
    );
    max-width:var(--layout-wide);
    margin-inline:auto;
    padding-inline:0;
    box-sizing:border-box;
}

.insights-detail-page .insights-detail-author .insights-detail-wrap,
.research-detail-page .insights-detail-author .insights-detail-wrap{
    width:min(
        var(--layout-container),
        calc(100% - (var(--gutter) * 2))
    );
    max-width:var(--layout-container);
    margin-inline:auto;
    padding-inline:0;
    box-sizing:border-box;
}

.research-detail-page .ra-wrap{
    width:min(
        var(--layout-container),
        calc(100% - (var(--gutter) * 2))
    );
    max-width:var(--layout-container);
    margin-inline:auto;
    padding-inline:0;
    box-sizing:border-box;
}

.insights-detail-meta-grid,
.insights-detail-fw-row,
.insights-detail-related-grid{
    min-width:0;
}

.insights-detail-meta-item,
.insights-detail-fw-item,
.insights-detail-rel-card{
    min-width:0;
}

@media (max-width:980px){

    .insights-detail-related-grid{
        grid-template-columns:1fr;
    }

}

@media (max-width:640px){

    .insights-detail-page .insights-detail-related .insights-detail-wrap,
    .research-detail-page .insights-detail-related .insights-detail-wrap,
    .insights-detail-page .insights-detail-author .insights-detail-wrap,
    .research-detail-page .insights-detail-author .insights-detail-wrap,
    .research-detail-page .ra-wrap{
        width:calc(100% - (var(--gutter) * 2));
        max-width:none;
    }

    .insights-detail-author .insights-detail-wrap{
        flex-direction:column;
    }

    .insights-detail-fw-row{
        grid-template-columns:repeat(5,minmax(0,1fr));
        gap:3px;
    }

    .insights-detail-fw-item .insights-detail-dot{
        width:28px;
        height:28px;
        font-size:0.66rem;
    }

    .insights-detail-fw-item span.insights-detail-lbl{
        font-size:0.62rem;
    }

}

@media (max-width:480px){

    .insights-detail-page .insights-detail-related .insights-detail-wrap,
    .research-detail-page .insights-detail-related .insights-detail-wrap,
    .insights-detail-page .insights-detail-author .insights-detail-wrap,
    .research-detail-page .insights-detail-author .insights-detail-wrap,
    .research-detail-page .ra-wrap{
        width:calc(100% - (var(--gutter) * 2));
    }

    .insights-detail-closing-actions{
        flex-direction:column;
    }

}