
.case-study-page,.case-library-page{background:#f7f6f2}
.case-hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#0b2236 0%,#102d43 60%,#0f5b57 100%);color:#fff;padding:52px 0 64px}
.case-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.case-hero .breadcrumbs{position:relative;color:#9fb1bc}.case-hero .breadcrumbs a{color:#c2e4df}
.case-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(390px,.72fr);gap:64px;align-items:center}
.case-hero .eyebrow{color:#d8bd83}.case-hero .eyebrow:before{background:#d8bd83}
.case-hero h1{color:#fff;font-size:clamp(2.55rem,4.5vw,5.15rem);max-width:14ch;margin:18px 0 0;line-height:1.02}
.case-hero h1 span{display:block;color:#e5c46f;font-size:1.18em;margin:.12em 0}
.case-standfirst{font-size:1.07rem;line-height:1.73;color:#ced8de;max-width:70ch;margin:24px 0 0}
.case-hero .button.secondary{color:#fff;border-color:rgba(255,255,255,.38)}
.case-provenance{display:grid;grid-template-columns:130px 1fr;gap:15px;margin-top:30px;padding-top:19px;border-top:1px solid rgba(255,255,255,.16);max-width:770px;font-size:.75rem;line-height:1.55;color:#afbec7}
.case-provenance b{color:#e5c46f;text-transform:uppercase;letter-spacing:.09em;font-size:.66rem}
.case-hero-board{position:relative;min-height:480px;padding:27px;border:1px solid rgba(255,255,255,.17);background:rgba(5,18,27,.28);backdrop-filter:blur(9px);border-radius:12px;display:grid;grid-template-columns:1.12fr .88fr;gap:25px;box-shadow:0 34px 80px rgba(0,0,0,.22)}
.case-building{align-self:end;border:1px solid rgba(255,255,255,.22);border-bottom:5px solid #d8bd83;background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.025));padding:20px 18px 16px}
.case-building-top{font:700 3.6rem/1 var(--display);color:#fff;margin-bottom:17px}
.unit-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}
.unit-grid span{aspect-ratio:1.1;background:#e2c577;border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 -7px 12px rgba(11,34,54,.18)}
.case-building small{display:block;margin-top:15px;text-transform:uppercase;letter-spacing:.1em;color:#bfd0d6;font-size:.62rem}
.case-metric-stack{display:flex;flex-direction:column;justify-content:space-between}.case-metric-stack div{padding:18px 0;border-top:2px solid #d8bd83}
.case-metric-stack strong{display:block;font:650 clamp(1.55rem,2.2vw,2.15rem)/1.05 var(--display);color:#fff}.case-metric-stack span{display:block;color:#c3d0d5;font-size:.72rem;line-height:1.45;margin-top:8px}
.case-indexbar{position:sticky;top:78px;z-index:15;background:#fff;border-bottom:1px solid rgba(11,34,54,.12);box-shadow:0 8px 24px rgba(11,34,54,.04)}
.case-indexbar .wrap{display:flex;gap:26px;overflow:auto;scrollbar-width:none}.case-indexbar a{white-space:nowrap;padding:15px 0 13px;border-bottom:2px solid transparent;color:#556570;font:700 .64rem/1 var(--sans);letter-spacing:.07em;text-transform:uppercase}
.case-indexbar a:hover{color:#14747b;border-bottom-color:#ad8238}
.case-two{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1.25fr);gap:68px;align-items:start}
.case-answer{font-size:1.1rem;line-height:1.77;color:#344856}.case-answer p{margin-top:0}.case-answer strong{color:#0b2236}
.case-caveat{padding:17px 19px;background:#eef2f1;border-left:3px solid #ad8238;font-size:.82rem!important;color:#5b6972!important}
.case-copy p{color:#435361;font-size:1rem;line-height:1.76}.case-principle{margin:25px 0;padding:22px 24px;background:#0b2236;color:#fff;border-radius:8px}
.case-principle b{font-size:.65rem;text-transform:uppercase;letter-spacing:.11em;color:#d8bd83}.case-principle p{color:#fff;margin:8px 0 0;font:400 1.35rem/1.45 Georgia,serif}
.case-evidence-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(11,34,54,.13);border:1px solid rgba(11,34,54,.13)}
.case-evidence-flow article{background:#fff;padding:25px 21px;min-height:240px}.case-evidence-flow article span,.control-grid article span{display:inline-grid;place-items:center;width:33px;height:33px;border:1px solid rgba(11,34,54,.2);font-weight:800;font-size:.64rem;color:#ad8238}
.case-evidence-flow h3,.control-grid h3{margin-top:26px}.case-evidence-flow p,.control-grid p{color:#60707b;font-size:.83rem;line-height:1.62}.case-evidence-flow .case-flow-result{background:#0b2236}
.case-flow-result h3{color:#fff}.case-flow-result p{color:#c3cfd6}.case-flow-result span{border-color:rgba(255,255,255,.3);color:#d8bd83}
.case-dark{background:#0b2236;color:#fff}.case-dark h2,.case-dark h3{color:#fff}.case-dark .section-head p{color:#b7c4cc}.case-dark .eyebrow{color:#d8bd83}.case-dark .eyebrow:before{background:#d8bd83}
.case-findings{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case-findings article{position:relative;border:1px solid rgba(255,255,255,.15);padding:27px 25px;background:rgba(255,255,255,.04);min-height:360px}
.finding-no{font:700 3rem/1 var(--display);color:#e1c16e;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:20px}.case-findings h3{margin:24px 0 15px;font-size:1.45rem}
.case-findings ul{padding-left:1.1rem;color:#c5d0d6}.case-findings li{margin:10px 0}.case-pullquote{font:400 clamp(1.5rem,2.2vw,2.45rem)/1.35 Georgia,serif;color:#fff;max-width:34ch;margin:45px 0 0;border-left:3px solid #e1c16e;padding-left:25px}
.case-financial-panel{display:grid;grid-template-columns:.8fr 1.2fr;background:#0b2236;border-radius:12px;overflow:hidden;box-shadow:0 24px 60px rgba(11,34,54,.16)}
.case-financial-copy{padding:42px 40px}.case-financial-copy h2{color:#fff;margin-top:15px}.case-financial-copy p{color:#bcc9d1}.case-financial-metrics{display:grid;grid-template-columns:repeat(2,1fr);background:#0f5b57}
.case-financial-metrics div{padding:33px 27px;border-left:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.case-financial-metrics strong{display:block;color:#fff;font:700 clamp(1.65rem,2.5vw,2.55rem)/1.05 var(--display)}.case-financial-metrics span{display:block;color:#d0dedb;font-size:.77rem;line-height:1.55;margin-top:13px}
.case-financial-metrics .highlight{grid-column:1/-1;background:#173047}.case-financial-metrics .highlight strong{color:#e1c16e}
.case-before-after{display:grid;grid-template-columns:.72fr 1.28fr;gap:45px;margin-top:70px;align-items:start}.ba-table{border-top:2px solid #0b2236}.ba-row{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(11,34,54,.14)}
.ba-row span{padding:16px 17px;color:#52636f}.ba-row span+span{border-left:1px solid rgba(11,34,54,.14);font-weight:650;color:#0b2236}.ba-row.ba-label span{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#ad8238}
.control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.control-grid article{background:#fff;border:1px solid rgba(11,34,54,.12);padding:24px;min-height:220px}
.case-system-line{margin-top:24px;padding:21px 24px;background:#0b2236;color:#fff;font:400 1.2rem/1.55 Georgia,serif;border-left:5px solid #ad8238}
.case-audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.case-audience-grid article{border-top:3px solid #ad8238;background:#fff;padding:23px;box-shadow:0 8px 24px rgba(11,34,54,.06)}.case-audience-grid p{color:#60707a;font-size:.84rem}
.case-trigger-box{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(11,34,54,.12);border:1px solid rgba(11,34,54,.12);margin-top:30px}.case-trigger-box div{background:#eef2f1;padding:22px}
.case-trigger-box span{display:block;color:#ad8238;font-size:.62rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin-bottom:8px}.case-trigger-box b{font:650 1rem/1.45 var(--display)}
.case-faq{background:#0b2236}.case-faq h2{color:#fff}.case-faq .eyebrow{color:#d8bd83}.case-faq .eyebrow:before{background:#d8bd83}
.faq-stack details{border-top:1px solid rgba(255,255,255,.18);padding:19px 0}.faq-stack summary{cursor:pointer;color:#fff;font-weight:750;list-style:none;padding-right:35px;position:relative}
.faq-stack summary:after{content:"+";position:absolute;right:0;color:#d8bd83;font-size:1.4rem;top:-4px}.faq-stack details[open] summary:after{content:"−"}.faq-stack p{color:#bdc9d0;line-height:1.72;margin-bottom:3px}
.case-attribution{display:grid;grid-template-columns:.75fr 1.25fr;gap:55px;padding:30px 0 50px;border-bottom:1px solid rgba(11,34,54,.13)}.case-attribution p{color:#52636f}.case-attribution b{color:#0b2236}.case-related{margin-top:35px}
.case-library-hero{padding:70px 0;background:linear-gradient(110deg,#0b2236,#102f49 68%,#0f5b57);color:#fff}.case-library-hero .breadcrumbs{color:#9fb1bc}.case-library-hero .breadcrumbs a{color:#c2e4df}
.case-library-hero-grid{display:grid;grid-template-columns:1.2fr .55fr;gap:70px;align-items:end}.case-library-hero h1{color:#fff;max-width:13ch;font-size:clamp(2.5rem,4.2vw,4.8rem)}.case-library-hero p{color:#c5d1d8;font-size:1.05rem;max-width:65ch}
.case-library-hero aside{border-left:3px solid #d8bd83;padding:20px 0 20px 25px}.case-library-hero aside span{display:block;color:#d8bd83;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em}.case-library-hero aside b{display:block;color:#fff;margin-top:10px;font:650 1.2rem/1.45 var(--display)}
.featured-case{display:grid;grid-template-columns:.88fr 1.12fr;background:#fff;border:1px solid rgba(11,34,54,.13);box-shadow:0 20px 55px rgba(11,34,54,.09)}
.featured-case-image{background:#0b2236;min-height:420px;display:flex;align-items:center}.featured-case-image img{width:100%}.featured-case-copy{padding:40px 42px;display:flex;flex-direction:column}
.featured-case-copy>span{color:#ad8238;font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.featured-case-copy h2{margin-top:18px}.featured-case-copy p{color:#5d6e79}
.featured-case-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(11,34,54,.12);margin:20px 0}.featured-case-stats b{background:#eef2f1;padding:14px;color:#0b2236}
.featured-case-copy em{margin-top:auto;color:#14747b;font-style:normal;font-weight:750;text-transform:uppercase;font-size:.66rem;letter-spacing:.08em}
@media(max-width:1080px){.case-hero-grid,.case-library-hero-grid{grid-template-columns:1fr}.case-hero-board{min-height:auto}.case-evidence-flow{grid-template-columns:repeat(2,1fr)}.case-evidence-flow .case-flow-result{grid-column:1/-1}.case-findings,.control-grid{grid-template-columns:repeat(2,1fr)}.case-audience-grid{grid-template-columns:repeat(2,1fr)}.case-financial-panel,.case-before-after,.case-attribution,.featured-case{grid-template-columns:1fr}.featured-case-image{min-height:auto}.case-indexbar{top:77px}}
@media(max-width:760px){.case-hero{padding-top:38px}.case-hero-grid{gap:32px}.case-hero-board{grid-template-columns:1fr;min-height:auto}.case-building{max-width:320px}.case-provenance,.case-two{grid-template-columns:1fr;gap:25px}.case-indexbar{position:relative;top:auto}.case-evidence-flow,.case-findings,.control-grid,.case-audience-grid,.case-trigger-box{grid-template-columns:1fr}.case-findings article{min-height:auto}.case-financial-metrics{grid-template-columns:1fr}.case-financial-metrics .highlight{grid-column:auto}.case-before-after{gap:25px}.ba-row span{padding:13px 10px;font-size:.8rem}.case-library-hero{padding:48px 0}.featured-case-copy{padding:27px 24px}.case-hero h1{font-size:2.55rem}.case-hero h1 span{font-size:1.05em}}


/* Mobile section-head correction
   The global stylesheet re-declares a two-column .section-head after its
   original responsive rule. Case-study pages therefore need a scoped,
   final override so headings and explanatory copy never compete for width. */
@media (max-width:1080px){
  .case-study-page .section-head,
  .case-library-page .section-head{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:16px;
    align-items:start;
  }
  .case-study-page .section-head > *,
  .case-library-page .section-head > *{
    min-width:0;
    max-width:100%;
  }
  .case-study-page .section-head p,
  .case-library-page .section-head p{
    width:100%;
    max-width:70ch;
    margin:0;
  }
}
@media (max-width:760px){
  .case-study-page .section-head,
  .case-library-page .section-head{
    gap:12px;
    margin-bottom:24px;
  }
  .case-study-page .section-head h2,
  .case-library-page .section-head h2{
    max-width:100%;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .case-study-page #relevance .section-head p{
    font-size:.94rem;
    line-height:1.65;
  }
}


/* V18b: added anonymised public case-study cards and non-client visual assets */
.case-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.case-tile{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(11,34,54,.13);box-shadow:0 16px 42px rgba(11,34,54,.08);min-height:100%;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.case-tile:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(11,34,54,.13);border-color:rgba(173,130,56,.32)}
.case-tile-image{height:230px;background:#0b2236;display:flex;align-items:center;overflow:hidden}.case-tile-image img{width:100%;height:100%;object-fit:cover}.case-tile-copy{padding:25px 25px 28px;display:flex;flex-direction:column;gap:12px;flex:1}.case-tile-copy span{font-size:.62rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#ad8238}.case-tile-copy h3{font-size:1.45rem;margin:0;color:#0b2236}.case-tile-copy p{font-size:.94rem;line-height:1.65;color:#5f6f7a;margin:0}.case-tile-copy b{margin-top:auto;color:#14747b;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.case-hero-visual{grid-template-columns:1fr;min-height:520px;padding:0;overflow:hidden}.case-hero-visual>img{width:100%;height:320px;object-fit:cover;display:block}.case-hero-visual .case-metric-stack{padding:0 27px 25px}.case-metric-stack.compact div{padding:15px 0}.case-evidence-four{grid-template-columns:repeat(4,1fr)}
@media(max-width:1080px){.case-card-grid{grid-template-columns:1fr 1fr}.case-evidence-four{grid-template-columns:repeat(2,1fr)}.case-hero-visual{min-height:auto}.case-hero-visual>img{height:280px}}
@media(max-width:760px){.case-card-grid{grid-template-columns:1fr}.case-tile-image{height:210px}.case-evidence-four{grid-template-columns:1fr}.case-hero-visual>img{height:230px}}
