/* ============================================================
   IntelAgent Media · Case Studies page styles ONLY.
   Loaded by /case-studies/ after the master styles.css.
   Everything shared (tokens, header, footer, buttons, bloom,
   sections, reveal) comes from assets/css/styles.css.
   ============================================================ */

/* Sub-page hero (same treatment as the approved sub-pages) */
.page-hero{position:relative;overflow:hidden;padding:178px 0 88px;text-align:center}
.page-hero .hero-calm{background:radial-gradient(ellipse 72% 60% at 50% 34%,rgba(5,8,13,1) 0%,rgba(5,8,13,.95) 44%,rgba(5,8,13,.5) 68%,rgba(5,8,13,0) 90%)}
.page-hero .eyebrow{justify-content:center}
.page-hero-inner{position:relative;max-width:1080px;margin:0 auto}
.page-hero h1{font-size:clamp(38px,4.3vw,56px);margin-bottom:22px;max-width:880px;margin-left:auto;margin-right:auto}
/* Each headline sentence wraps as its own unit so the hierarchy reads
   "We Build Growth Systems." / "These Are the Results." at desktop
   while still wrapping naturally on smaller screens. */
.page-hero h1 .hl-w,.page-hero h1 .hl-g{display:inline-block}
.page-hero .hero-sub{margin:0 auto;max-width:700px}
.page-hero .hero-cta{justify-content:center}

/* ============================================================
   HERO · evidence network. Five operating systems feed one
   operating model, which produced three engagements, which
   combine into the $14.5M+ endpoint. 11s loop; reduced motion
   shows the lit state.
   ============================================================ */
.evn{max-width:1010px;margin:56px auto 0}
.evn svg{width:100%;height:auto;display:block;overflow:visible}
.evn-chip rect{fill:rgba(12,29,51,.55);stroke:rgba(34,55,80,1);stroke-width:1.2;animation:evChip 11s ease-in-out infinite}
.evn-chip text{fill:#B8C2CF;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-anchor:middle;font-family:inherit}
.evn-chip.s2 rect{animation-delay:.35s}.evn-chip.s3 rect{animation-delay:.7s}
.evn-chip.s4 rect{animation-delay:1.05s}.evn-chip.s5 rect{animation-delay:1.4s}
@keyframes evChip{0%,1%{stroke:rgba(34,55,80,1)}5%{stroke:rgba(25,198,244,.85)}14%,100%{stroke:rgba(34,55,80,1)}}
.evn-cap{fill:#5E6E85;font-size:9px;font-weight:800;letter-spacing:.16em;text-anchor:middle;font-family:inherit}
.evn-line{fill:none;stroke:rgba(34,55,80,.95);stroke-width:1.3}
.evn-p1{fill:none;stroke:#19C6F4;stroke-width:2;stroke-linecap:round;stroke-dasharray:10 90;stroke-dashoffset:110;opacity:0;animation:evP 11s linear infinite}
.evn-p1.d2{animation-delay:.35s}.evn-p1.d3{animation-delay:.7s}.evn-p1.d4{animation-delay:1.05s}.evn-p1.d5{animation-delay:1.4s}
@keyframes evP{0%,3%{stroke-dashoffset:110;opacity:0}5%{opacity:.9}15%{stroke-dashoffset:-10;opacity:.9}17%,100%{stroke-dashoffset:-10;opacity:0}}
.evn-hub circle{fill:#0C1D33;stroke:rgba(34,55,80,1);stroke-width:1.4;animation:evHub 11s ease-in-out infinite}
.evn-hubring{fill:none;stroke:rgba(25,198,244,.0);stroke-width:1.4;animation:evHubR 11s ease-in-out infinite}
@keyframes evHub{0%,14%{stroke:rgba(34,55,80,1)}20%,72%{stroke:rgba(25,198,244,.9)}84%,100%{stroke:rgba(34,55,80,1)}}
@keyframes evHubR{0%,16%{stroke:rgba(25,198,244,0)}22%,70%{stroke:rgba(25,198,244,.4)}84%,100%{stroke:rgba(25,198,244,0)}}
.evn-p2{fill:none;stroke:#19C6F4;stroke-width:2;stroke-linecap:round;stroke-dasharray:10 90;stroke-dashoffset:110;opacity:0;animation:evP2 11s linear infinite}
.evn-p2.d2{animation-delay:.3s}.evn-p2.d3{animation-delay:.6s}
@keyframes evP2{0%,20%{stroke-dashoffset:110;opacity:0}22%{opacity:.9}30%{stroke-dashoffset:-10;opacity:.9}32%,100%{stroke-dashoffset:-10;opacity:0}}
.evn-eng rect{fill:rgba(12,29,51,.62);stroke:rgba(34,55,80,1);stroke-width:1.3;animation:evEng 11s ease-in-out infinite}
.evn-eng text{fill:var(--white);font-size:11px;font-weight:800;letter-spacing:.06em;text-anchor:middle;font-family:inherit}
.evn-eng.e2 rect{animation-delay:.3s}.evn-eng.e3 rect{animation-delay:.6s}
@keyframes evEng{0%,26%{stroke:rgba(34,55,80,1)}32%,72%{stroke:rgba(25,198,244,.8)}84%,100%{stroke:rgba(34,55,80,1)}}
.evn-p3{fill:none;stroke:#FFD51F;stroke-width:2;stroke-linecap:round;stroke-dasharray:10 90;stroke-dashoffset:110;opacity:0;animation:evP3 11s linear infinite}
.evn-p3.d2{animation-delay:.3s}.evn-p3.d3{animation-delay:.6s}
@keyframes evP3{0%,32%{stroke-dashoffset:110;opacity:0}34%{opacity:.9}42%{stroke-dashoffset:-10;opacity:.9}44%,100%{stroke-dashoffset:-10;opacity:0}}
.evn-agg rect{fill:rgba(33,29,8,.45);stroke:rgba(255,213,31,.4);stroke-width:1.4;animation:evAgg 11s ease-in-out infinite}
.evn-agg .v{fill:var(--yellow);font-size:24px;font-weight:800;letter-spacing:-0.01em;text-anchor:middle;font-family:inherit}
.evn-agg .l{fill:#B8A65A;font-size:7.5px;font-weight:800;letter-spacing:.14em;text-anchor:middle;font-family:inherit}
@keyframes evAgg{0%,40%{stroke:rgba(255,213,31,.4)}46%,76%{stroke:rgba(255,213,31,.95)}88%,100%{stroke:rgba(255,213,31,.4)}}
.evn-agghalo{opacity:0;animation:evAggH 11s ease-in-out infinite}
@keyframes evAggH{0%,42%{opacity:0}50%,74%{opacity:.5}86%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .evn-p1,.evn-p2,.evn-p3{display:none}
  .evn-chip rect{stroke:rgba(34,55,80,1);animation:none}
  .evn-hub circle{stroke:rgba(25,198,244,.9);animation:none}
  .evn-hubring{stroke:rgba(25,198,244,.4);animation:none}
  .evn-eng rect{stroke:rgba(25,198,244,.8);animation:none}
  .evn-agg rect{stroke:rgba(255,213,31,.95);animation:none}
  .evn-agghalo{opacity:.45;animation:none}
}
.evn-mobile{display:none}
@media (max-width:900px){
  .evn svg{display:none}
  .evn{margin-top:44px}
  .evn-mobile{display:block;max-width:380px;margin:0 auto}
  .evm-cap{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#5E6E85;text-align:center;margin-bottom:12px}
  .evm-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
  .evm-chips span{font-size:11px;font-weight:800;letter-spacing:.05em;color:#B8C2CF;padding:8px 12px;border-radius:8px;background:rgba(12,29,51,.55);border:1px solid rgba(34,55,80,1)}
  .evm-arrow{width:10px;height:10px;margin:14px auto;border-right:1.6px solid rgba(25,198,244,.8);border-bottom:1.6px solid rgba(25,198,244,.8);transform:rotate(45deg)}
  .evm-eng{display:grid;gap:8px}
  .evm-eng span{text-align:center;font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--white);padding:12px 16px;border-radius:9px;background:rgba(12,29,51,.62);border:1px solid rgba(25,198,244,.4)}
  .evm-agg{margin-top:0;text-align:center;border-radius:10px;padding:16px;background:rgba(33,29,8,.45);border:1px solid rgba(255,213,31,.5)}
  .evm-agg b{display:block;font-size:26px;font-weight:800;color:var(--yellow)}
  .evm-agg span{display:block;margin-top:3px;font-size:9px;font-weight:800;letter-spacing:.16em;color:#B8A65A}
}

/* ============================================================
   Results overview · three large engagement cards + disclosure
   ============================================================ */
.ov-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px}
.ov-card{padding:30px 28px 26px;display:flex;flex-direction:column}
.ov-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.ov-logo-chip{display:inline-flex;align-items:center;padding:8px 14px;border-radius:9px;background:#F4F7FB}
.ov-logo{height:26px;width:auto;display:block}
.ov-tag{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--muted-gray);white-space:nowrap}
.ov-metric{font-size:clamp(34px,3vw,42px);font-weight:800;letter-spacing:-0.02em;color:var(--white);line-height:1}
.ov-metric .plus{color:var(--cyan)}
.ov-label{margin-top:8px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}
.ov-context{margin-top:8px;font-size:13.5px;line-height:1.6;color:#8FA6C9}
.ov-subs{margin-top:18px;padding-top:16px;border-top:1px solid rgba(34,55,80,.75);display:grid;gap:8px}
.ov-subs li{position:relative;padding-left:18px;font-size:13.5px;line-height:1.5;color:#8FA6C9}
.ov-subs li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:1.5px;background:rgba(25,198,244,.6);border-radius:2px}
.ov-scope{margin-top:auto;padding-top:16px;font-size:12.5px;line-height:1.6;color:var(--muted-gray)}
.agg-note{margin:34px auto 0;max-width:760px;text-align:center;font-size:12.5px;line-height:1.7;color:var(--muted-gray)}

/* ============================================================
   Case-study framework · meta chips, facts, story blocks
   ============================================================ */
.cs-meta{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 0}
.cs-meta span{font-size:12px;font-weight:700;padding:8px 13px;border-radius:7px}
.section.light .cs-meta span{color:#134A9E;background:rgba(22,119,255,.06);border:1px solid rgba(22,119,255,.3)}
.section:not(.light) .cs-meta span{color:#BBD3F5;background:rgba(22,119,255,.09);border:1px solid rgba(22,119,255,.32)}
.cs-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:60px;align-items:start;margin-top:44px}
.cs-copy>h3{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:30px 0 12px}
.section.light .cs-copy>h3{color:var(--blue)}
.section:not(.light) .cs-copy>h3{color:var(--cyan)}
.cs-copy>h3:first-child{margin-top:0}
.cs-copy>p{font-size:16.5px;line-height:1.7;max-width:560px}
.section.light .cs-copy>p{color:#46566A}
.section:not(.light) .cs-copy>p{color:var(--light-gray)}
.cs-copy>p+p{margin-top:14px}
.cs-side{display:grid;gap:24px}
.cs-panel{padding:26px 28px 24px}
.cs-panel h4{font-size:11.5px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin:0 0 16px;color:var(--muted-gray)}
.cs-facts{display:grid;gap:12px}
.cs-facts li{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;line-height:1.55}
.section.light .cs-facts li{color:#46566A}
.section:not(.light) .cs-facts li{color:var(--light-gray)}
.cs-facts li i{flex:none;margin-top:8px;width:8px;height:1.5px;background:var(--blue);border-radius:2px}
.cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 18px}
.cap-grid li{position:relative;padding-left:20px;font-size:14px;line-height:1.5}
.section.light .cap-grid li{color:#46566A}
.section:not(.light) .cap-grid li{color:var(--light-gray)}
.cap-grid li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:1.5px;background:var(--blue);border-radius:2px}

/* Results strip · headline metric + stats */
.res-strip{margin-top:54px;padding:34px 36px 30px;border-radius:var(--r-lg);position:relative;overflow:hidden}
.section.light .res-strip{background:linear-gradient(168deg,#0C1D33 0%,#071426 100%);border:1px solid #223750;box-shadow:0 16px 44px rgba(8,24,45,.25)}
.section:not(.light) .res-strip{background:rgba(12,29,51,.45);border:1px solid rgba(34,55,80,.9)}
.res-strip::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad)}
.rs-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px 22px}
.rs-metric{font-size:clamp(38px,4vw,52px);font-weight:800;letter-spacing:-0.02em;color:var(--white);line-height:1}
.rs-metric .plus{color:var(--cyan)}
.rs-metric.gold .plus{color:var(--yellow)}
.rs-label{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 26px;margin-top:26px;padding-top:22px;border-top:1px solid rgba(34,55,80,.85)}
.stat-grid li .v{display:block;font-size:19px;font-weight:800;color:var(--white);letter-spacing:-0.01em}
.stat-grid li .l{display:block;margin-top:3px;font-size:12.5px;line-height:1.5;color:#8FA6C9}
.rs-note{margin-top:20px;font-size:12.5px;line-height:1.6;color:var(--muted-gray)}

/* ============================================================
   Cyberkraft · infrastructure deployment stack (one-time on
   scroll into view via the global reveal .in class)
   ============================================================ */
.ckd{position:relative;max-width:560px;margin:52px auto 0;padding-left:34px}
.ckd::before{content:"";position:absolute;left:8px;top:16px;bottom:16px;width:2px;border-radius:2px;background:#D0D9E4}
.ckd::after{content:"";position:absolute;left:8px;top:16px;bottom:16px;width:2px;border-radius:2px;background:linear-gradient(180deg,#1677FF,#19C6F4 70%,#FFD51F);transform:scaleY(0);transform-origin:top center}
.ckd.in::after{animation:ckdFill 2.2s cubic-bezier(.3,.1,.3,1) .2s forwards}
@keyframes ckdFill{to{transform:scaleY(1)}}
.ckd-layer{position:relative;margin-bottom:12px;padding:15px 20px;border-radius:11px;background:#EEF2F6;border:1px solid #D0D9E4;
  display:flex;align-items:center;gap:14px;opacity:0;transform:translateY(8px)}
.ckd-layer:last-child{margin-bottom:0}
.ckd-layer::before{content:"";position:absolute;left:-30px;top:50%;width:10px;height:10px;transform:translateY(-50%);border-radius:50%;background:#fff;border:2px solid #B9C6D6}
.ckd-num{font-size:10.5px;font-weight:800;letter-spacing:.12em;color:var(--blue);flex:none;width:24px}
.ckd-layer b{font-size:14.5px;font-weight:800;color:#182536;letter-spacing:.01em}
.ckd-layer span{margin-left:auto;font-size:12px;color:#5A6B82;text-align:right}
.ckd-layer.fin{background:#FFF9E0;border-color:rgba(226,180,0,.45)}
.ckd-layer.fin b{color:#5C4A00}
.ckd-layer.fin .ckd-num{color:#A88400}
.ckd.in .ckd-layer{animation:ckdIn .5s ease forwards}
.ckd.in .ckd-layer:nth-child(1){animation-delay:.25s}
.ckd.in .ckd-layer:nth-child(2){animation-delay:.6s}
.ckd.in .ckd-layer:nth-child(3){animation-delay:.95s}
.ckd.in .ckd-layer:nth-child(4){animation-delay:1.3s}
.ckd.in .ckd-layer:nth-child(5){animation-delay:1.65s}
.ckd.in .ckd-layer:nth-child(6){animation-delay:2s}
@keyframes ckdIn{to{opacity:1;transform:none}}
.ckd.in .ckd-layer:nth-child(1)::before{border-color:var(--blue)}
.ckd.in .ckd-layer:nth-child(2)::before{border-color:var(--blue)}
.ckd.in .ckd-layer:nth-child(3)::before{border-color:var(--blue)}
.ckd.in .ckd-layer:nth-child(4)::before{border-color:var(--cyan)}
.ckd.in .ckd-layer:nth-child(5)::before{border-color:var(--cyan)}
.ckd.in .ckd-layer:nth-child(6)::before{border-color:var(--yellow)}
@media (prefers-reduced-motion:reduce){
  .ckd::after,.ckd.in::after{transform:scaleY(1);animation:none}
  .ckd-layer,.ckd.in .ckd-layer{opacity:1;transform:none;animation:none}
  .ckd-layer:nth-child(-n+3)::before{border-color:var(--blue)}
  .ckd-layer:nth-child(4)::before,.ckd-layer:nth-child(5)::before{border-color:var(--cyan)}
  .ckd-layer:nth-child(6)::before{border-color:var(--yellow)}
}

/* ============================================================
   Cyber Brain Academy · before / operating layer / after
   (one-time sequential activation on reveal)
   ============================================================ */
.baf{display:grid;grid-template-columns:1fr auto 1.15fr auto 1fr;gap:18px;align-items:stretch;margin-top:54px}
.baf-panel{border-radius:var(--r-lg);padding:26px 26px 24px;opacity:.35;transition:opacity .6s ease,border-color .6s ease}
.baf-panel h4{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px}
.baf-before{background:rgba(12,29,51,.35);border:1px solid rgba(34,55,80,.8)}
.baf-before h4{color:var(--muted-gray)}
.baf-before li{position:relative;padding:7px 0 7px 18px;font-size:14px;line-height:1.5;color:#8FA6C9}
.baf-before li::before{content:"";position:absolute;left:0;top:14px;width:9px;height:1.5px;background:#4E6076;border-radius:2px}
.baf-layer{background:rgba(12,29,51,.62);border:1px solid rgba(34,55,80,1)}
.baf-layer h4{color:var(--cyan)}
.baf-layer li{position:relative;padding:7px 0 7px 18px;font-size:14px;line-height:1.5;color:var(--light-gray)}
.baf-layer li::before{content:"";position:absolute;left:0;top:14px;width:9px;height:1.5px;background:rgba(25,198,244,.7);border-radius:2px}
.baf-after{background:rgba(33,29,8,.35);border:1px solid rgba(255,213,31,.3)}
.baf-after h4{color:var(--yellow)}
.baf-after .bv{font-size:clamp(30px,2.6vw,38px);font-weight:800;letter-spacing:-0.02em;color:var(--white);line-height:1}
.baf-after .bv .plus{color:var(--yellow)}
.baf-after .bl{display:block;margin:6px 0 16px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#B8A65A}
.baf-after li{position:relative;padding:7px 0 7px 18px;font-size:14px;line-height:1.5;color:#D8CFA8}
.baf-after li::before{content:"";position:absolute;left:0;top:14px;width:9px;height:1.5px;background:rgba(255,213,31,.6);border-radius:2px}
.baf-arrow{align-self:center;width:12px;height:12px;border-top:2px solid rgba(25,198,244,.35);border-right:2px solid rgba(25,198,244,.35);transform:rotate(45deg);transition:border-color .6s ease}
.baf.in .baf-before{opacity:1;transition-delay:.15s}
.baf.in .baf-arrow.a1{border-color:rgba(25,198,244,.9);transition-delay:.55s}
.baf.in .baf-layer{opacity:1;border-color:rgba(25,198,244,.6);transition-delay:.7s}
.baf.in .baf-arrow.a2{border-color:rgba(255,213,31,.9);transition-delay:1.2s}
.baf.in .baf-after{opacity:1;border-color:rgba(255,213,31,.7);transition-delay:1.35s}
@media (prefers-reduced-motion:reduce){
  .baf-panel,.baf .baf-panel{opacity:1;transition:none}
  .baf-layer{border-color:rgba(25,198,244,.6)}
  .baf-after{border-color:rgba(255,213,31,.7)}
  .baf-arrow{border-color:rgba(25,198,244,.9)}
}

/* ============================================================
   CompTIA recognition · editorial photo + sequence (light)
   ============================================================ */
.award-grid{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,9fr);gap:56px;align-items:start;margin-top:48px}
.award-photo figure{margin:0}
.award-photo .ph{border-radius:var(--r-lg);border:1px solid #C9D5E4;box-shadow:0 18px 50px rgba(8,24,45,.2);overflow:hidden;background:#0C1D33}
.award-photo img{display:block;width:100%;height:auto}
.award-cap{margin-top:14px;font-size:13px;line-height:1.65;color:#46566A}
.award-cap-sub{margin-top:6px;font-size:11.5px;line-height:1.6;color:#5A6B82}
.award-copy>p{font-size:16px;line-height:1.7;color:#46566A}
.award-copy>p+p{margin-top:14px}
.award-seq{margin-top:28px;display:grid;gap:0;justify-items:start}
.award-seq span{font-size:12px;font-weight:800;letter-spacing:.08em;color:#182536;padding:11px 16px;border-radius:9px;background:#EEF2F6;border:1px solid #D0D9E4}
.award-seq span.gold{color:#5C4A00;background:#FFF9E0;border-color:rgba(226,180,0,.45)}
.award-seq i{width:9px;height:9px;margin:8px 0 8px 20px;border-right:1.5px solid rgba(22,119,255,.7);border-bottom:1.5px solid rgba(22,119,255,.7);transform:rotate(45deg)}

/* ============================================================
   The pattern · five principles on a signal spine
   ============================================================ */
.pat{position:relative;max-width:760px;margin:54px auto 0;padding-left:40px}
.pat::before{content:"";position:absolute;left:10px;top:14px;bottom:14px;width:2px;border-radius:2px;background:rgba(34,55,80,.9)}
.pat::after{content:"";position:absolute;left:10px;top:14px;bottom:14px;width:2px;border-radius:2px;background:linear-gradient(180deg,#1677FF,#19C6F4);transform:scaleY(0);transform-origin:top center}
.pat.in::after{animation:patFill 2.4s cubic-bezier(.3,.1,.3,1) .2s forwards}
@keyframes patFill{to{transform:scaleY(1)}}
.pat-item{position:relative;padding:0 0 38px}
.pat-item:last-child{padding-bottom:0}
.pat-item::before{content:"";position:absolute;left:-36px;top:6px;width:14px;height:14px;border-radius:50%;background:#0C1D33;border:2px solid rgba(34,55,80,1);transition:border-color .5s ease}
.pat.in .pat-item:nth-child(1)::before{border-color:var(--blue);transition-delay:.3s}
.pat.in .pat-item:nth-child(2)::before{border-color:var(--blue);transition-delay:.75s}
.pat.in .pat-item:nth-child(3)::before{border-color:var(--cyan);transition-delay:1.2s}
.pat.in .pat-item:nth-child(4)::before{border-color:var(--cyan);transition-delay:1.65s}
.pat.in .pat-item:nth-child(5)::before{border-color:var(--cyan);transition-delay:2.1s}
.pat-num{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--blue)}
.pat-item h3{font-size:20px;font-weight:800;color:var(--white);margin:8px 0 8px;letter-spacing:-0.015em}
.pat-item p{font-size:15px;line-height:1.65;color:#8FA6C9;max-width:600px}
@media (prefers-reduced-motion:reduce){
  .pat::after,.pat.in::after{transform:scaleY(1);animation:none}
  .pat-item::before,.pat.in .pat-item::before{border-color:var(--cyan);transition:none}
  .pat-item:nth-child(-n+2)::before{border-color:var(--blue)}
}

/* ============================================================
   Engagement depth · dark vs light cards on Soft Slate
   (same contrast language as the approved pages)
   ============================================================ */
.depth-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:56px}
.depth-card{padding:32px 32px 28px;display:flex;flex-direction:column;border-radius:var(--r-lg)}
.depth-label{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.depth-card h3{font-size:23px;margin:12px 0 10px;letter-spacing:-0.015em}
.depth-card>p{font-size:15px;line-height:1.6}
.depth-ex{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 8px}
.depth-ex span{font-size:12.5px;font-weight:800;letter-spacing:.04em;padding:8px 13px;border-radius:7px}
.depth-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px}
.depth-chips span{font-size:12.5px;font-weight:700;padding:8px 13px;border-radius:7px}
.depth-line{margin-top:auto;padding-top:18px;font-size:13px;line-height:1.6}
.depth-card.depth-dark{background:linear-gradient(168deg,#0C1D33 0%,#071426 100%);border:1px solid #223750;box-shadow:0 14px 40px rgba(8,24,45,.28)}
.depth-dark .depth-label,.section.light .depth-dark .depth-label{color:var(--cyan)}
.depth-dark h3,.section.light .depth-dark h3{color:var(--white)}
.depth-dark>p{color:var(--light-gray)}
.depth-dark .depth-ex span{color:var(--white);background:rgba(25,198,244,.1);border:1px solid rgba(25,198,244,.45)}
.depth-dark .depth-chips span{color:#BBD3F5;background:rgba(22,119,255,.09);border:1px solid rgba(22,119,255,.32)}
.depth-dark .depth-line{color:var(--muted-gray);border-top:1px solid rgba(34,55,80,.75)}
.depth-card.depth-light{background:#F7FAFD;border:1px solid #C9D5E4;box-shadow:0 10px 34px rgba(8,24,45,.12)}
.depth-light .depth-label{color:var(--blue)}
.depth-light h3,.section.light .depth-light h3{color:#142033}
.depth-light>p{color:#46566A}
.depth-light .depth-ex span{color:#134A9E;background:rgba(22,119,255,.08);border:1px solid rgba(22,119,255,.4)}
.depth-light .depth-chips span{color:#134A9E;background:rgba(22,119,255,.06);border:1px solid rgba(22,119,255,.3)}
.depth-light .depth-line{color:#5A6B82;border-top:1px solid #DCE4EF}

/* ============================================================
   Methodology · restrained reporting notes
   ============================================================ */
.meth-wrap{max-width:880px;margin:44px auto 0}
.meth-src{display:flex;flex-wrap:wrap;gap:9px}
.meth-src span{font-size:12.5px;font-weight:700;color:#BBD3F5;padding:9px 14px;border-radius:8px;background:rgba(22,119,255,.09);border:1px solid rgba(22,119,255,.32)}
.meth-notes{margin-top:26px;display:grid;gap:0}
.meth-item{padding:22px 0 20px;border-top:1px solid rgba(34,55,80,.55)}
.meth-item p{font-size:13px;line-height:1.8;color:#7C8DA3}
.meth-item p+p{margin-top:10px}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:1180px){
  .ov-grid{grid-template-columns:1fr;max-width:640px;margin-left:auto;margin-right:auto}
  .cs-grid{grid-template-columns:1fr;gap:34px}
  .award-grid{grid-template-columns:1fr;gap:34px}
  .baf{grid-template-columns:1fr;gap:0}
  .baf-arrow{transform:rotate(135deg);margin:16px auto}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .page-hero{padding:148px 0 68px}
  .cap-grid{grid-template-columns:1fr}
  .depth-grid{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:1fr 1fr;gap:14px 18px}
  .res-strip{padding:26px 22px 24px}
  .pat{padding-left:32px}
  .pat-item::before{left:-28px}
  .pat::before,.pat::after{left:6px}
  .ckd{padding-left:30px}
  .ckd-layer span{display:none}
  .cs-panel{padding:22px 20px 20px}
}
