/* ── Case Study Page ──────────────────────────────────────── */
.case-study-page{
    background:#ffffff;
}

/* ── Hero ──────────────────────────────────────────────────── */
.case-study-hero{
    padding:96px 0 88px;
    background:
        radial-gradient(circle at 82% 18%, rgba(155,220,40,.12), transparent 30%),
        linear-gradient(135deg, #ffffff, #f6f9ff);
    border-bottom:1px solid var(--line);
}

.case-study-hero-layout{
    display:grid;
    grid-template-columns:minmax(0, 1.15fr) minmax(320px, .55fr);
    gap:52px;
    align-items:center;
}

.case-study-eyebrow{
    display:block;
    margin-bottom:18px;
    color:#6fa814;
    font-size:12px;
    font-weight:950;
    letter-spacing:.28em;
    text-transform:uppercase;
}

.case-study-hero-copy h1{
    margin:0 0 20px;
    color:var(--navy-2);
    font-size:clamp(2.8rem, 4.5vw, 5rem);
    line-height:.97;
    letter-spacing:-.065em;
    font-weight:950;
    text-wrap:balance;
}

.case-study-hero-copy > p{
    margin:0 0 32px;
    max-width:680px;
    color:var(--muted);
    font-size:clamp(1.05rem, 1.3vw, 1.32rem);
    line-height:1.65;
}

.case-study-hero-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:22px;
}

.case-study-hero-actions .btn{
    min-height:52px;
    padding:0 26px;
    font-size:15px;
    font-weight:800;
}

.case-study-hero-actions .btn-primary{
    transition:transform .2s ease, box-shadow .2s ease;
}

.case-study-hero-actions .btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(15,27,45,.18);
}

.case-study-hero-actions .btn-secondary{
    transition:border-color .2s ease, background .2s ease;
}

.case-study-hero-actions .btn-secondary:hover{
    border-color:rgba(155,220,40,.55);
    background:rgba(155,220,40,.06);
}

.case-study-disclaimer{
    margin:0;
    color:var(--muted);
    font-size:12px;
    line-height:1.5;
    opacity:.65;
}

.case-study-visual-card{
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 24px 64px rgba(15,27,45,.14);
}

.case-study-visual-img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}

.case-study-metrics{
    padding:22px 24px;
    background:linear-gradient(135deg, var(--navy), #18315e);
}

.case-study-metric{
    padding:13px 0;
    border-bottom:1px solid rgba(255,255,255,.09);
}

.case-study-metric:first-child{
    padding-top:4px;
}

.case-study-metric:last-child{
    border-bottom:0;
    padding-bottom:4px;
}

.case-study-metric strong{
    display:block;
    margin-bottom:3px;
    color:#9bdc28;
    font-size:clamp(18px, 2vw, 24px);
    font-weight:950;
    line-height:1;
    letter-spacing:-.04em;
}

.case-study-metric span{
    color:rgba(255,255,255,.68);
    font-size:13px;
    line-height:1.4;
}

/* ── Snapshot strip ─────────────────────────────────────────── */
.case-study-snapshot{
    border-bottom:1px solid var(--line);
}

.case-study-snapshot-inner{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    background:#f9fbff;
    border-top:3px solid rgba(155,220,40,.42);
}

.case-study-snapshot-item{
    padding:26px 30px;
    border-right:1px solid var(--line);
}

.case-study-snapshot-item:last-child{
    border-right:0;
}

.case-study-snapshot-label{
    display:block;
    margin-bottom:6px;
    color:#6fa814;
    font-size:11px;
    font-weight:950;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.case-study-snapshot-value{
    display:block;
    color:var(--navy-2);
    font-size:15px;
    font-weight:800;
    line-height:1.35;
}

/* ── Content sections ──────────────────────────────────────── */
.case-study-section{
    padding:88px 0;
}

.case-study-approach-section{
    background:#f9fbff;
}

.case-study-section-label{
    display:block;
    margin-bottom:14px;
    color:#6fa814;
    font-size:11px;
    font-weight:950;
    letter-spacing:.22em;
    text-transform:uppercase;
}

.case-study-section h2{
    margin:0 0 28px;
    color:var(--navy-2);
    font-size:clamp(2.2rem, 3.4vw, 3.8rem);
    line-height:.97;
    letter-spacing:-.06em;
    font-weight:950;
}

/* Two-column layout (challenge section) */
.case-study-two-col{
    display:grid;
    grid-template-columns:minmax(0, 1.3fr) minmax(240px, .5fr);
    gap:64px;
    align-items:start;
}

.case-study-body-text{
    color:#4f5c70;
    font-size:18px;
    line-height:1.72;
    font-weight:450;
}

.case-study-body-text p{
    margin:0 0 20px;
}

.case-study-body-text p:last-child{
    margin:0;
}

.case-study-callout{
    margin-top:56px;
    padding:28px 30px;
    border-left:3px solid #9bdc28;
    border-radius:0 18px 18px 0;
    background:linear-gradient(135deg, rgba(155,220,40,.07), rgba(155,220,40,.02));
}

.case-study-callout p{
    margin:0;
    color:var(--navy-2);
    font-size:17px;
    line-height:1.55;
    font-weight:700;
    font-style:italic;
}

/* ── Approach steps ─────────────────────────────────────────── */
.case-study-steps{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:20px;
    margin-top:42px;
}

.case-study-step{
    padding:28px;
    border:1px solid rgba(15,39,64,.09);
    border-radius:24px;
    background:#ffffff;
    box-shadow:0 8px 28px rgba(15,27,45,.06);
}

.case-study-step-number{
    display:block;
    margin-bottom:16px;
    color:#6fa814;
    font-size:13px;
    font-weight:950;
    letter-spacing:.14em;
}

.case-study-step h3{
    margin:0 0 12px;
    color:var(--navy-2);
    font-size:20px;
    line-height:1.1;
    letter-spacing:-.04em;
    font-weight:900;
}

.case-study-step p{
    margin:0;
    color:#566276;
    font-size:15px;
    line-height:1.65;
}

/* ── Results ───────────────────────────────────────────────── */
.case-study-results{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:20px;
    margin-bottom:40px;
}

.case-study-result-card{
    padding:30px;
    border:1px solid rgba(155,220,40,.22);
    border-top:3px solid rgba(155,220,40,.50);
    border-radius:24px;
    background:#ffffff;
    box-shadow:0 12px 36px rgba(15,27,45,.07);
}

.case-study-result-value{
    display:block;
    margin-bottom:8px;
    color:#6fa814;
    font-size:clamp(32px, 3.5vw, 48px);
    line-height:1;
    font-weight:950;
    letter-spacing:-.05em;
}

.case-study-result-label{
    display:block;
    color:#566276;
    font-size:15px;
    line-height:1.45;
    font-weight:650;
}

.case-study-results-copy{
    max-width:720px;
    margin:0;
    color:#4f5c70;
    font-size:18px;
    line-height:1.72;
}

/* ── Quote ─────────────────────────────────────────────────── */
.case-study-quote-section{
    padding:88px 0;
    background:linear-gradient(135deg, var(--navy), #18315e);
}

.case-study-quote{
    max-width:840px;
    margin:0 auto;
    text-align:center;
}

.case-study-quote-mark{
    display:block;
    margin-bottom:18px;
    color:rgba(155,220,40,.45);
    font-size:80px;
    line-height:.9;
    font-weight:950;
    font-family:Georgia, serif;
}

.case-study-quote blockquote{
    margin:0;
    padding:0;
    border:0;
    color:#ffffff;
    font-size:clamp(1.35rem, 2.4vw, 1.95rem);
    line-height:1.44;
    font-weight:700;
    letter-spacing:-.025em;
    font-style:italic;
}

.case-study-quote-attribution{
    display:block;
    margin-top:28px;
    color:rgba(255,255,255,.50);
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* ── Related needs ─────────────────────────────────────────── */
.case-study-related{
    padding:88px 0;
    background:#f9fbff;
}

.case-study-related h2{
    margin:0 0 36px;
    color:var(--navy-2);
    font-size:clamp(2rem, 3vw, 3.2rem);
    line-height:1;
    letter-spacing:-.055em;
    font-weight:950;
}

.case-study-related-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
}

.case-study-related-item{
    display:flex;
    align-items:center;
    gap:12px;
    padding:18px 20px;
    border:1px solid rgba(15,39,64,.09);
    border-radius:18px;
    background:#ffffff;
    color:#4f5c70;
    font-size:15px;
    font-weight:750;
    line-height:1.35;
    box-shadow:0 4px 16px rgba(15,27,45,.04);
}

.case-study-related-dot{
    flex:0 0 auto;
    width:8px;
    height:8px;
    border-radius:999px;
    background:#9bdc28;
    box-shadow:0 0 0 4px rgba(155,220,40,.16);
}

/* ── Final CTA ─────────────────────────────────────────────── */
.case-study-final-cta{
    padding:96px 0 100px;
    background:#ffffff;
    border-top:1px solid var(--line);
    text-align:center;
}

.case-study-final-cta-inner{
    max-width:680px;
    margin:0 auto;
}

.case-study-final-cta h2{
    margin:0 0 18px;
    color:var(--navy-2);
    font-size:clamp(2.2rem, 3.6vw, 4rem);
    line-height:.97;
    letter-spacing:-.065em;
    font-weight:950;
}

.case-study-final-cta p{
    margin:0 0 36px;
    color:var(--muted);
    font-size:18px;
    line-height:1.65;
}

.case-study-final-cta-actions{
    display:flex;
    gap:14px;
    justify-content:center;
    flex-wrap:wrap;
}

.case-study-final-cta-actions .btn{
    min-height:52px;
    padding:0 26px;
    font-size:15px;
    font-weight:800;
}

.case-study-final-cta-actions .btn-primary{
    transition:transform .2s ease, box-shadow .2s ease;
}

.case-study-final-cta-actions .btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(15,27,45,.18);
}

.case-study-final-cta-actions .btn-secondary{
    transition:border-color .2s ease, background .2s ease;
}

.case-study-final-cta-actions .btn-secondary:hover{
    border-color:rgba(155,220,40,.55);
    background:rgba(155,220,40,.06);
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width:980px){
    .case-study-hero-layout,
    .case-study-two-col{
        grid-template-columns:1fr;
    }

    .case-study-two-col{
        gap:32px;
    }

    .case-study-callout{
        margin-top:0;
    }

    .case-study-steps,
    .case-study-results,
    .case-study-related-grid{
        grid-template-columns:1fr 1fr;
    }

    .case-study-snapshot-inner{
        grid-template-columns:1fr 1fr;
    }

    .case-study-snapshot-item:nth-child(even){
        border-right:0;
    }

    .case-study-snapshot-item:nth-child(n+3){
        border-top:1px solid var(--line);
    }
}

@media (max-width:640px){
    .case-study-hero{
        padding:80px 0 70px;
    }

    .case-study-section{
        padding:64px 0;
    }

    .case-study-quote-section,
    .case-study-related,
    .case-study-final-cta{
        padding:64px 0;
    }

    .case-study-steps,
    .case-study-results,
    .case-study-related-grid{
        grid-template-columns:1fr;
    }

    .case-study-snapshot-inner{
        grid-template-columns:1fr;
    }

    .case-study-snapshot-item{
        border-right:0;
        border-bottom:1px solid var(--line);
    }

    .case-study-snapshot-item:nth-child(n+3){
        border-top:0;
    }

    .case-study-snapshot-item:last-child{
        border-bottom:0;
    }

    .case-study-quote blockquote{
        font-size:1.3rem;
    }

    .case-study-final-cta-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .case-study-final-cta-actions .btn{
        justify-content:center;
    }
}
