.cs-section,.cs-detail{--cs-ink:#132b45;--cs-muted:#52677e;--cs-bg:#e7ecf4;background:var(--cs-bg);color:var(--cs-ink);font-family:inherit;padding:86px 0 100px}.cs-section *,.cs-detail *{box-sizing:border-box}.cs-shell{width:min(1360px,calc(100% - 64px));margin:auto}.cs-header{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.cs-kicker{font-size:12px;letter-spacing:.22em;font-weight:800;color:#1386a1}.cs-header h2,.cs-detail-hero h1{font:700 clamp(38px,5vw,72px)/1.06 Georgia,serif;letter-spacing:-.045em;margin:19px 0 20px;color:#172a47}.cs-header h2 em{font-style:normal;color:#37647c}.cs-header p{max-width:740px;color:var(--cs-muted);font-size:18px;line-height:1.7;margin:0}.cs-header-aside{text-align:right;display:grid;gap:4px;color:#597087;font-size:13px}.cs-aside-number{font:700 60px Georgia,serif;color:#19364c}.cs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.cs-card{background:#fff;border:1px solid #d6deea;border-top:5px solid var(--cs-accent);border-radius:18px;overflow:hidden;box-shadow:0 8px 26px rgba(18,42,69,.035);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.cs-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(18,42,69,.11)}.cs-card-head{background:#f5f7fb;padding:30px 32px 25px;border-bottom:1px solid #e0e6ee}.cs-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--cs-accent)}.cs-separator{width:4px;height:4px;border-radius:50%;background:#a4b2c4}.cs-state{display:inline-block;margin-top:18px;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.03em;border-radius:20px;background:#e8f2f3;color:#126b78}.cs-state.cs-proposed{background:#f3eaf8;color:#75429b}.cs-card h3{font:700 clamp(25px,2.5vw,34px)/1.18 Georgia,serif;letter-spacing:-.025em;margin:16px 0 10px}.cs-card h3 a{text-decoration:none;color:#152c4b}.cs-card h3 a:hover{color:var(--cs-accent)}.cs-client{font-size:14px;color:#62758a;line-height:1.6;margin:0}.cs-card-content{padding:28px 32px 26px;display:flex;flex-direction:column;flex:1}.cs-summary{font-size:16px;line-height:1.7;color:#425870;margin:0 0 24px}.cs-two-col{display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid #e4eaf1;padding-top:20px}.cs-two-col h4{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--cs-accent);margin:0 0 10px}.cs-two-col p{font-size:14px;line-height:1.7;color:#51677d;margin:0}.cs-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.cs-metrics span{background:#e9f0f7;color:#1d4864;border-radius:40px;padding:9px 13px;font-size:12px;font-weight:800;line-height:1.4}.cs-value{margin:22px 0 0;font-size:14px;color:#425870}.cs-card-foot{margin-top:auto;padding-top:27px}.cs-card-foot a{font-weight:800;font-size:14px;color:#153f5a;text-decoration:none}.cs-card-foot a span{color:var(--cs-accent);margin-left:8px}.cs-all{display:flex;justify-content:center;margin-top:44px}.cs-all a{display:inline-flex;gap:18px;align-items:center;background:#17364a;color:white;text-decoration:none;border-radius:9px;padding:18px 34px;font-weight:800;box-shadow:0 12px 28px #17364a25}.cs-all a:hover{background:#25536d}.cs-all span{color:#edbd6e;font-size:21px}.cs-none{padding:35px;background:white;border-radius:12px}.cs-back{color:#235775;text-decoration:none;font-weight:700}.cs-detail-hero{padding:50px 0 38px;border-bottom:1px solid #cbd6e2}.cs-detail-hero h1{max-width:1000px}.cs-detail-hero>p{font-size:18px;color:#50677e}.cs-detail-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.cs-detail-tags span{padding:9px 14px;border-radius:25px;background:white;color:#23506a;font-size:13px;font-weight:700}.cs-disclaimer{padding:20px 24px;border-left:5px solid #7040a5;background:#f4eef8;color:#624678;margin-top:30px}.cs-detail-body{display:grid;grid-template-columns:300px 1fr;gap:70px;padding-top:45px}.cs-detail-body aside{border-top:4px solid var(--cs-accent);padding-top:18px}.cs-detail-body h2{font:700 28px Georgia,serif;color:#172a47}.cs-detail-body p,.cs-detail-body li{color:#50657a;font-size:17px;line-height:1.8}.cs-detail-body section{margin-bottom:38px}.cs-detail-body li{margin-bottom:8px}@media(max-width:850px){.cs-grid{grid-template-columns:1fr}.cs-detail-body{grid-template-columns:1fr;gap:15px}.cs-header-aside{display:none}}@media(max-width:580px){.cs-section,.cs-detail{padding:55px 0}.cs-shell{width:calc(100% - 32px)}.cs-card-head,.cs-card-content{padding:23px}.cs-two-col{grid-template-columns:1fr;gap:15px}.cs-header h2,.cs-detail-hero h1{font-size:40px}}@media(prefers-reduced-motion:reduce){.cs-card{transition:none}.cs-card:hover{transform:none}}

/* ============================================
   TATTVIKASETU — PREMIUM CASE STUDY DETAIL
   Add at the END of case-studies.css
   ============================================ */

.cs-detail {
    --cs-ink: #172d49;
    --cs-text: #52647b;
    --cs-border: #d8e1eb;

    background: #e8edf5;
    color: var(--cs-ink);
    padding: 55px 0 85px;
}

.cs-detail .cs-shell {
    width: min(1240px, calc(100% - 64px));
    margin: 0 auto;
}

/* Back navigation */

.cs-detail .cs-back {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 32px;
    color: #20516e;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.cs-detail .cs-back:hover {
    color: var(--cs-accent);
}

/* Hero */

.cs-detail .cs-detail-hero {
    background: #fff;
    border: 1px solid var(--cs-border);
    border-top: 5px solid var(--cs-accent);
    border-radius: 18px;
    padding: 46px 52px;
    margin-bottom: 28px;
    box-shadow: 0 12px 36px rgba(20, 43, 70, .035);
}

.cs-detail .cs-kicker {
    display: block;
    color: var(--cs-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.cs-detail .cs-detail-hero h1 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 3.3vw, 52px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.025em;
    color: var(--cs-ink);
    max-width: 1000px;
    margin: 0 0 20px;
}

.cs-detail .cs-detail-hero > p {
    font-size: 17px;
    line-height: 1.7;
    color: var(--cs-text);
    margin: 0 0 24px;
    max-width: 950px;
}

.cs-detail .cs-detail-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.cs-detail .cs-detail-tags span {
    display: inline-flex;
    align-items: center;
    padding: 9px 15px;
    background: #eef4f8;
    color: #234965;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
}

/* Main content layout */

.cs-detail .cs-detail-body {
    display: grid;
    grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}

/* At a glance */

.cs-detail .cs-detail-body > aside {
    background: #fff;
    border: 1px solid var(--cs-border);
    border-top: 4px solid var(--cs-accent);
    border-radius: 15px;
    padding: 30px;
    position: sticky;
    top: 110px;
}

.cs-detail .cs-detail-body > aside h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    line-height: 1.25;
    color: var(--cs-ink);
    margin: 0 0 16px;
}

.cs-detail .cs-detail-body > aside p {
    font-size: 15px;
    line-height: 1.8;
    color: var(--cs-text);
    margin: 0;
}

/* Remove inherited oversized spacing */

.cs-detail .cs-detail-body > div {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}

/* Challenges, resolution and outcomes */

.cs-detail .cs-detail-body section {
    position: relative;
    display: block;
    min-height: 0 !important;
    height: auto !important;
    background: #fff;
    border: 1px solid var(--cs-border);
    border-radius: 15px;
    padding: 34px 38px;
    margin: 0;
    overflow: hidden;
}

.cs-detail .cs-detail-body section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background: var(--cs-accent);
}

.cs-detail .cs-detail-body section h2 {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(23px, 2vw, 30px);
    line-height: 1.25;
    color: var(--cs-ink);
    margin: 0 0 22px;
}

/* Elegant arrow bullets */

.cs-detail .cs-detail-body section ul {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

.cs-detail .cs-detail-body section li {
    position: relative;
    list-style: none !important;
    padding: 0 0 0 28px;
    margin: 0 0 15px;
    color: var(--cs-text);
    font-size: 15.5px;
    line-height: 1.75;
}

.cs-detail .cs-detail-body section li:last-child {
    margin-bottom: 0;
}

.cs-detail .cs-detail-body section li::before {
    content: "↗";
    position: absolute;
    left: 0;
    top: 1px;
    color: var(--cs-accent);
    font-size: 18px;
    font-weight: 800;
}

/* Paragraphs */

.cs-detail .cs-detail-body section p {
    color: var(--cs-text);
    font-size: 15.5px;
    line-height: 1.8;
    margin: 0;
}

/* Outcome metrics */

.cs-detail .cs-metrics {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.cs-detail .cs-metrics span {
    display: inline-flex;
    align-items: center;
    padding: 12px 16px;
    background: #edf4f9;
    border: 1px solid #dce8f0;
    border-radius: 10px;
    color: #173e5b;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.5;
}

/* Disclaimer */

.cs-detail .cs-disclaimer {
    background: #f6f0fa;
    border-left: 4px solid #7040a5;
    border-radius: 10px;
    padding: 18px 22px;
    color: #62447e;
    font-size: 14px;
    line-height: 1.7;
    margin: 0 0 25px;
}

/* Responsive */

@media (max-width: 900px) {
    .cs-detail .cs-detail-body {
        grid-template-columns: 1fr;
    }

    .cs-detail .cs-detail-body > aside {
        position: static;
    }

    .cs-detail .cs-detail-hero {
        padding: 34px;
    }
}

@media (max-width: 580px) {
    .cs-detail {
        padding: 35px 0 60px;
    }

    .cs-detail .cs-shell {
        width: calc(100% - 30px);
    }

    .cs-detail .cs-detail-hero {
        padding: 26px 22px;
    }

    .cs-detail .cs-detail-hero h1 {
        font-size: 31px;
    }

    .cs-detail .cs-detail-body section {
        padding: 27px 23px;
    }

    .cs-detail .cs-detail-body > aside {
        padding: 25px;
    }

    .cs-detail .cs-metrics span {
        width: 100%;
    }
}
/* =====================================================
   TATTVIKASETU - CASE STUDIES LISTING ARROW BULLETS
   Add at the END of assets/css/case-studies.css
   ===================================================== */

/* Listing card challenge and response columns */
.cs-section .cs-card .cs-two-col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
    align-items: start;
}

/* Column headings */
.cs-section .cs-card .cs-two-col h4 {
    color: var(--cs-accent, #1386a1);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    margin: 0 0 14px;
}

/* Reset inherited list styling */
.cs-section .cs-card .cs-two-col ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Each bullet item */
.cs-section .cs-card .cs-two-col li {
    position: relative;
    display: block;
    list-style: none !important;
    margin: 0 0 12px !important;
    padding: 0 0 0 25px !important;

    color: #51677d;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.75;
}

/* Elegant arrow */
.cs-section .cs-card .cs-two-col li::before {
    content: "\2197" !important;
    position: absolute;
    left: 0;
    top: 0;

    color: var(--cs-accent, #1386a1);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.5;
}

/* Remove any inherited bullet marker */
.cs-section .cs-card .cs-two-col li::marker {
    content: "" !important;
}

/* Last item spacing */
.cs-section .cs-card .cs-two-col li:last-child {
    margin-bottom: 0 !important;
}

/* If existing card content uses paragraphs rather than UL/LI,
   these styles will work with the updated markup below. */
.cs-section .cs-card .cs-two-col .cs-arrow-item {
    position: relative;
    margin: 0 0 12px;
    padding-left: 25px;

    color: #51677d;
    font-size: 14px;
    line-height: 1.75;
}

.cs-section .cs-card .cs-two-col .cs-arrow-item::before {
    content: "\2197";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--cs-accent, #1386a1);
    font-size: 18px;
    font-weight: 800;
}

/* Responsive */
@media (max-width: 580px) {
    .cs-section .cs-card .cs-two-col {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .cs-section .cs-card .cs-two-col li,
    .cs-section .cs-card .cs-two-col .cs-arrow-item {
        font-size: 14px;
    }
}


/* ==================================================
   HOMEPAGE - EXPLORE ALL CASE STUDIES
   Matches Explore All Sectors button
   ================================================== */

.cs-section .cs-view-all-panel {
    width: 100%;
    margin: 55px auto 0;
    padding: 56px 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f8fafc;
    border: 1px solid #d3deea;
    border-radius: 28px;

    box-sizing: border-box;
}

/* Main button */

.cs-section .cs-view-all-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 26px;

    min-height: 96px;
    padding: 22px 48px;

    background: #15354d;
    color: #ffffff !important;

    border: 2px solid #d99a35;
    border-radius: 15px;

    font-family: inherit;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;

    text-align: center;
    text-decoration: none !important;

    box-shadow: 0 18px 36px rgba(19, 49, 72, 0.16);

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

/* Text */

.cs-section .cs-view-all-text {
    color: #ffffff;
}

/* Golden arrow */

.cs-section .cs-view-all-arrow {
    display: inline-block;

    color: #f3ad3e;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;

    transition: transform 0.25s ease;
}

/* Hover */

.cs-section .cs-view-all-btn:hover {
    background: #204b66;
    border-color: #f3ad3e;

    transform: translateY(-4px);

    box-shadow: 0 24px 45px rgba(19, 49, 72, 0.23);
}

.cs-section .cs-view-all-btn:hover
.cs-view-all-arrow {
    transform: translate(4px, -4px);
}

/* Keyboard accessibility */

.cs-section .cs-view-all-btn:focus-visible {
    outline: 3px solid #f3ad3e;
    outline-offset: 5px;
}

/* Tablet */

@media (max-width: 991px) {

    .cs-section .cs-view-all-panel {
        margin-top: 40px;
        padding: 40px 20px;
    }

    .cs-section .cs-view-all-btn {
        min-height: 78px;
        padding: 20px 32px;
        font-size: 20px;
    }

}

/* Mobile */

@media (max-width: 575px) {

    .cs-section .cs-view-all-panel {
        margin-top: 30px;
        padding: 28px 15px;
        border-radius: 20px;
    }

    .cs-section .cs-view-all-btn {
        width: 100%;
        min-height: 68px;

        padding: 17px 18px;
        gap: 14px;

        font-size: 16px;
        border-radius: 12px;
    }

    .cs-section .cs-view-all-arrow {
        font-size: 22px;
    }

}

/* Respect reduced motion settings */

@media (prefers-reduced-motion: reduce) {

    .cs-section .cs-view-all-btn,
    .cs-section .cs-view-all-arrow {
        transition: none;
    }

}

/* ================================================
   CASE STUDIES - COMPACT VIEW ALL BUTTON
   Match the Explore All Sectors button
   ================================================ */

.cs-section .cs-view-all-panel {
    margin: 40px auto 0;
    padding: 45px 20px;
    border-radius: 26px;
}

.cs-section .cs-view-all-btn {
    width: auto;
    min-height: 0;
    height: auto;

    padding: 16px 26px;
    gap: 22px;

    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;

    border-radius: 14px;
}

.cs-section .cs-view-all-arrow {
    font-size: 23px;
    line-height: 1;
}

/* Tablet */

@media (max-width: 991px) {
    .cs-section .cs-view-all-panel {
        padding: 35px 18px;
    }

    .cs-section .cs-view-all-btn {
        padding: 20px 32px;
        font-size: 19px;
    }
}

/* Mobile */

@media (max-width: 575px) {
    .cs-section .cs-view-all-panel {
        margin-top: 28px;
        padding: 25px 14px;
        border-radius: 18px;
    }

    .cs-section .cs-view-all-btn {
        width: auto;
        max-width: 100%;
        padding: 17px 20px;
        gap: 12px;
        font-size: 16px;
    }

    .cs-section .cs-view-all-arrow {
        font-size: 19px;
    }
}
