﻿:root{
    --assa-blue:#15588a;
    --assa-blue-dark:#0d426a;
    --assa-deep:#082e4c;
    --assa-gold:#f0a331;
    --assa-gold-dark:#d98b14;
    --assa-white:#ffffff;
    --assa-ink:#122332;
    --assa-muted:#5c6a76;
    --assa-line:#dae5ec;
    --assa-soft:#eef6fb;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:Inter, "Segoe UI", Arial, sans-serif;
    color:var(--assa-ink);
    background:#fff;
    line-height:1.55;
}

a{
    color:inherit;
    text-decoration:none;
}

img{
    display:block;
    max-width:100%;
}


/* =========================
   ASSA HEADER
   ========================= */

.assa-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--assa-line);
}

.assa-header-inner{
    width:min(1180px, calc(100% - 38px));
    min-height:96px;
    margin:0 auto;

    display:grid;
    grid-template-columns:330px 1fr auto;
    align-items:center;
    gap:20px;
}


/* BRAND */

.assa-brand{
    display:flex;
    align-items:center;
    gap:14px;
    min-width:0;
}

.assa-logo{
    width:78px;
    height:72px;
    object-fit:contain;
    flex-shrink:0;
}

.assa-brand-text{
    display:flex;
    flex-direction:column;
    min-width:0;
}

.assa-brand-name{
    font-family:Georgia, "Times New Roman", serif;
    font-size:1.32rem;
    line-height:1.05;
    letter-spacing:.055em;
    color:var(--assa-blue-dark);
    font-weight:700;
    white-space:nowrap;
}

.assa-brand-tagline{
    margin-top:7px;
    font-size:.72rem;
    line-height:1.2;
    letter-spacing:.045em;
    font-weight:750;
    color:#222;
    white-space:nowrap;
}


/* NAVIGATION */

.assa-navigation{
    display:flex;
    align-items:center;
    justify-content:center;
}

.assa-menu{
    list-style:none;
    padding:0;
    margin:0;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:1px;
}

.assa-menu li{
    margin:0;
    padding:0;
}

.assa-menu a{
    display:flex;
    align-items:center;

    padding:35px 8px 31px;

    color:var(--assa-blue-dark);
    font-size:.78rem;
    line-height:1;
    font-weight:800;
    white-space:nowrap;

    border-bottom:3px solid transparent;
    transition:
        color .18s ease,
        border-color .18s ease;
}

.assa-menu a:hover,
.assa-menu a:focus{
    color:var(--assa-gold-dark);
    border-bottom-color:var(--assa-gold);
}


/* DONATE */

.assa-donate-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:86px;
    padding:11px 15px;

    border-radius:11px;

    background:var(--assa-gold);
    color:#141414;

    font-size:.8rem;
    font-weight:900;

    box-shadow:0 8px 22px rgba(240,163,49,.25);

    transition:
        transform .18s ease,
        background .18s ease;
}

.assa-donate-btn:hover,
.assa-donate-btn:focus{
    background:var(--assa-gold-dark);
    transform:translateY(-1px);
}


/* MOBILE BUTTON */

.assa-mobile-toggle{
    display:none;

    width:44px;
    height:42px;

    padding:9px;

    border:1px solid var(--assa-line);
    border-radius:10px;

    background:var(--assa-soft);
    cursor:pointer;
}

.assa-mobile-toggle span{
    display:block;
    width:100%;
    height:2px;

    margin:4px 0;

    border-radius:2px;
    background:var(--assa-blue-dark);
}


/* MAIN CONTENT */

#main-content{
    min-height:60vh;
}


/* =========================
   RESPONSIVE HEADER
   ========================= */

@media (max-width:1100px){

    .assa-header-inner{
        grid-template-columns:280px 1fr auto;
        gap:12px;
    }

    .assa-logo{
        width:65px;
        height:62px;
    }

    .assa-brand-name{
        font-size:1.05rem;
    }

    .assa-brand-tagline{
        font-size:.64rem;
    }

    .assa-menu a{
        padding-left:6px;
        padding-right:6px;
        font-size:.72rem;
    }
}


@media (max-width:900px){

    .assa-header-inner{
        min-height:78px;

        grid-template-columns:1fr auto auto;
        gap:10px;

        position:relative;
    }

    .assa-logo{
        width:58px;
        height:54px;
    }

    .assa-brand-name{
        font-size:1rem;
    }

    .assa-brand-tagline{
        margin-top:4px;
        font-size:.6rem;
    }

    .assa-mobile-toggle{
        display:block;
    }

    .assa-navigation{
        display:none;

        position:absolute;
        left:0;
        right:0;
        top:100%;

        background:#fff;

        border-top:1px solid var(--assa-line);
        border-bottom:1px solid var(--assa-line);

        box-shadow:0 18px 40px rgba(8,46,76,.12);
    }

    .assa-navigation.is-open{
        display:block;
    }

    .assa-menu{
        display:block;
        width:100%;
        padding:10px 18px 16px;
    }

    .assa-menu a{
        padding:13px 8px;
        border-bottom:1px solid var(--assa-line);

        font-size:.9rem;
    }

    .assa-menu li:last-child a{
        border-bottom:0;
    }

    .assa-donate-btn{
        min-width:auto;
        padding:9px 12px;
        font-size:.75rem;
    }
}


@media (max-width:560px){

    .assa-header-inner{
        width:min(100% - 24px,1180px);
    }

    .assa-logo{
        width:48px;
        height:46px;
    }

    .assa-brand{
        gap:9px;
    }

    .assa-brand-name{
        font-size:.85rem;
        letter-spacing:.035em;
    }

    .assa-brand-tagline{
        font-size:.53rem;
        letter-spacing:.02em;
    }

    .assa-donate-btn{
        display:none;
    }

    .assa-header-inner{
        grid-template-columns:1fr auto;
    }
}
/* =========================================================
   ASSA HOME HERO
   ========================================================= */

.assa-container{
    width:min(1180px,calc(100% - 38px));
    margin-left:auto;
    margin-right:auto;
}

.homehero{
    position:relative;
    overflow:hidden;
    background:linear-gradient(
        135deg,
        #fff 0,
        var(--assa-soft) 100%
    );
}

.htrack{
    position:relative;
    min-height:610px;
}

.hslide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transform:translateX(20px);
    transition:
        opacity .55s ease,
        transform .55s ease,
        visibility .55s ease;

    display:grid;
    align-items:center;
}

.hslide.active{
    opacity:1;
    visibility:visible;
    transform:none;
    position:relative;
}

.hgrid{
    display:grid;
    grid-template-columns:1.02fr .98fr;
    gap:56px;
    align-items:center;
    padding:62px 0 88px;
}


/* Hero text */

.kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;

    font-size:.75rem;
    font-weight:900;
    color:var(--assa-blue);

    letter-spacing:.11em;
    text-transform:uppercase;
}

.kicker::before{
    content:"";
    width:24px;
    height:3px;

    background:var(--assa-gold);
    border-radius:99px;
}

.hslide h1{
    margin:15px 0 21px;

    font-size:clamp(3rem,5.4vw,5.2rem);
    line-height:.95;
    letter-spacing:-.055em;

    color:var(--assa-blue-dark);
}

.hslide .lead{
    margin:0;
    max-width:680px;

    font-size:1.12rem;
    line-height:1.65;

    color:#455866;
}


/* Hero buttons */

.hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:26px;
}

.homehero .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:11px 16px;

    border-radius:11px;
    border:0;

    font-size:.83rem;
    font-weight:900;

    transition:
        transform .18s ease,
        background .18s ease;
}

.homehero .btn:hover{
    transform:translateY(-1px);
}

.homehero .btn-blue{
    background:var(--assa-blue-dark);
    color:#fff;
}

.homehero .btn-gold{
    background:var(--assa-gold);
    color:#111;
}

.homehero .btn-outline{
    background:#fff;
    color:var(--assa-blue-dark);
    border:1px solid var(--assa-line);
}
/* ==========================================================
   HERO IMAGE CARD
   ========================================================== */

.visual {
    position: relative;
    width: 100%;
    height: 440px;
}


/* Outer background card */

.photo {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 14px;
    overflow: hidden;
    background: linear-gradient( 135deg, #d9ebf3 0%, #f5fafc 50%, #d9ebf3 100% );
    border: 1px solid rgba(7, 61, 98, 0.12);
    border-radius: 31px;
    box-shadow: 0 25px 70px rgba(8, 46, 76, 0.18);
}


    /* Inner image card */

    .photo img,
    .photo.focus-president img,
    .photo.focus-secretary img {
        display: block;
        width: 100%;
        height: 100%;
        /*
       The full photograph remains visible.
    */
        object-fit: contain;
        object-position: center;
        transform: none;
        background: #ffffff;
        border: 1px solid rgba(7, 61, 98, 0.10);
        border-radius: 22px;
        box-shadow: 0 10px 28px rgba(8, 46, 76, 0.12);
    }


    /* Subtle overlay */

    .photo::after {
        content: "";
        position: absolute;
        inset: 14px;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient( 180deg, transparent 72%, rgba(8, 46, 76, 0.20) );
        border-radius: 22px;
    }


/* ==========================================================
   IMAGE CAPTION
   ========================================================== */

.caption {
    position: absolute;
    right: 34px;
    bottom: 30px;
    left: 34px;
    z-index: 3;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-left: 5px solid var(--assa-gold);
    border-radius: 14px;
    box-shadow: 0 10px 25px rgba(8, 46, 76, 0.14);
    backdrop-filter: blur(8px);
}

    .caption b {
        display: block;
        color: var(--assa-blue-dark);
        font-weight: 800;
        line-height: 1.35;
    }

    .caption span {
        display: block;
        margin-top: 3px;
        color: var(--assa-muted);
        font-size: 0.78rem;
        line-height: 1.45;
    }


/* ==========================================================
   IMPACT SLIDE
   ========================================================== */

.impactbox {
    box-sizing: border-box;
    width: 100%;
    min-height: 440px;
    border: 1px solid rgba(7, 61, 98, 0.12);
    border-radius: 31px;
    box-shadow: 0 25px 70px rgba(8, 46, 76, 0.14);
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .visual {
        height: 380px;
    }

    .photo {
        padding: 12px;
        border-radius: 24px;
    }

        .photo img,
        .photo.focus-president img,
        .photo.focus-secretary img {
            border-radius: 17px;
        }

        .photo::after {
            inset: 12px;
            border-radius: 17px;
        }

    .caption {
        right: 28px;
        bottom: 26px;
        left: 28px;
        padding: 12px 14px;
    }

    .impactbox {
        min-height: 380px;
        border-radius: 24px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .visual {
        height: 310px;
    }

    .photo {
        padding: 9px;
        border-radius: 18px;
    }

        .photo img,
        .photo.focus-president img,
        .photo.focus-secretary img {
            border-radius: 13px;
        }

        .photo::after {
            inset: 9px;
            border-radius: 13px;
        }

    .caption {
        right: 20px;
        bottom: 19px;
        left: 20px;
        padding: 10px 12px;
        border-left-width: 4px;
        border-radius: 10px;
    }

        .caption b {
            font-size: 0.88rem;
        }

        .caption span {
            font-size: 0.7rem;
        }

    .impactbox {
        min-height: auto;
        border-radius: 18px;
    }
}
/* Social Impact slide */

.impactbox{
    position:absolute;
    inset:0;

    padding:34px;

    border-radius:31px;

    background:linear-gradient(
        135deg,
        var(--assa-deep),
        var(--assa-blue)
    );

    color:#fff;

    box-shadow:
        0 25px 70px rgba(8,46,76,.18);
}

.impactbox h3{
    margin:0 0 10px;

    color:var(--assa-gold);

    font-size:.75rem;
    font-weight:900;

    letter-spacing:.1em;
    text-transform:uppercase;
}

.impactbox h2{
    margin:0 0 26px;

    font-size:2.2rem;
    line-height:1.03;
}

.metrics4{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}

.metrics4 div{
    padding:15px;

    border-radius:14px;

    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.15);
}

.metrics4 b{
    display:block;

    font-size:1.7rem;
    line-height:1.1;

    color:var(--assa-gold);
}

.metrics4 span{
    font-size:.76rem;
}


/* Hero controls */

.hcontrols{
    position:absolute;
    bottom:18px;
    left:50%;
    transform:translateX(-50%);

    display:flex;
    justify-content:space-between;
    align-items:center;

    z-index:8;
}

.hdots{
    display:flex;
    gap:4px;

    padding:5px;

    background:#fff;
    border:1px solid var(--assa-line);
    border-radius:14px;

    box-shadow:0 9px 24px rgba(8,46,76,.08);
}

.hdot{
    padding:8px 11px;

    border:0;
    border-radius:9px;

    background:transparent;

    font-size:.72rem;
    font-weight:900;

    color:var(--assa-muted);

    cursor:pointer;
}

.hdot.active{
    background:var(--assa-blue-dark);
    color:#fff;
}

.harrows{
    display:flex;
    gap:6px;
}

.harrow{
    width:38px;
    height:38px;

    display:grid;
    place-items:center;

    border-radius:50%;
    border:1px solid var(--assa-line);

    background:#fff;
    color:var(--assa-blue-dark);

    font-size:1.3rem;
    font-weight:900;

    cursor:pointer;

    box-shadow:0 6px 18px rgba(8,46,76,.08);
}


/* =========================================================
   HERO RESPONSIVE
   ========================================================= */

@media(max-width:780px){

    .hgrid{
        grid-template-columns:1fr;
        gap:30px;

        padding:40px 0 95px;
    }

    .htrack{
        min-height:auto;
    }

    .hslide{
        display:none;
        position:relative;
    }

    .hslide.active{
        display:grid;
    }

    .visual{
        height:330px;
    }

    .hcontrols{
        bottom:12px;
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
    }

    .hdots{
        max-width:100%;
        overflow-x:auto;
    }

    .hslide h1{
        font-size:clamp(2.75rem,10vw,4rem);
    }
}

@media(max-width:520px){

    .assa-container{
        width:min(100% - 26px,1180px);
    }

    .metrics4{
        grid-template-columns:1fr 1fr;
    }

    .impactbox{
        padding:24px;
    }

    .impactbox h2{
        font-size:1.75rem;
    }

    .metrics4 b{
        font-size:1.35rem;
    }
}
/* =========================================================
   ASSA WHAT WE DO
   ========================================================= */

.assa-programmes-section{
    padding:74px 0;
    background:#fff;
}

.assa-section-head{
    display:flex;
    justify-content:space-between;
    gap:28px;
    align-items:end;
    margin-bottom:30px;
}

.assa-eyebrow{
    font-size:.73rem;
    font-weight:900;
    color:var(--assa-blue);
    letter-spacing:.11em;
    text-transform:uppercase;
}

.assa-section-head h2{
    margin:8px 0 0;
    font-size:clamp(2rem,3.7vw,3.35rem);
    line-height:1.02;
    letter-spacing:-.04em;
    color:var(--assa-blue-dark);
}

.assa-programmes{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:13px;
}

.assa-programme-card{
    min-height:205px;
    padding:18px;

    display:flex;
    flex-direction:column;

    background:#fff;
    border:1px solid var(--assa-line);
    border-radius:18px;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.assa-programme-card:hover,
.assa-programme-card:focus{
    transform:translateY(-4px);
    box-shadow:0 16px 35px rgba(8,46,76,.10);
    border-color:#c5d8e4;
}

.programme-icon{
    margin-bottom:14px;
    font-size:1.55rem;
    line-height:1;
}

.assa-programme-card h3{
    margin:0 0 8px;

    font-size:1rem;
    line-height:1.2;

    color:var(--assa-blue-dark);
}

.assa-programme-card p{
    margin:0;
    flex:1;

    font-size:.8rem;
    line-height:1.55;

    color:var(--assa-muted);
}

.programme-link{
    margin-top:14px;

    display:inline-flex;
    align-items:center;
    gap:7px;

    font-size:.76rem;
    font-weight:900;

    color:var(--assa-blue);
}


/* Responsive */

@media(max-width:1100px){

    .assa-programmes{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:780px){

    .assa-programmes-section{
        padding:58px 0;
    }

    .assa-section-head{
        display:block;
    }

    .assa-programmes{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:520px){

    .assa-programmes{
        grid-template-columns:1fr;
    }
}
/* =========================================================
   ASSA SOCIAL IMPACT
   ========================================================= */

.assa-social-impact{
    padding:74px 0;
    background:linear-gradient(
        135deg,
        var(--assa-deep),
        var(--assa-blue-dark)
    );
    color:#fff;
}

.assa-impact-head{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:28px;
    margin-bottom:22px;
}

.assa-impact-eyebrow{
    font-size:.73rem;
    font-weight:900;
    color:var(--assa-gold);
    letter-spacing:.11em;
    text-transform:uppercase;
}

.assa-impact-head h2{
    margin:8px 0 0;
    font-size:clamp(2rem,3.7vw,3.35rem);
    line-height:1.02;
    letter-spacing:-.04em;
    color:#fff;
}

.assa-impact-head p{
    max-width:520px;
    margin:0;
    color:rgba(255,255,255,.75);
    font-size:.92rem;
    line-height:1.6;
}


/* Tabs */

.assa-impact-tabs{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin:22px 0;
}

.assa-impact-tab{
    padding:9px 14px;

    border:1px solid rgba(255,255,255,.18);
    border-radius:10px;

    background:rgba(255,255,255,.08);
    color:#fff;

    font-size:.8rem;
    font-weight:900;

    cursor:pointer;
}

.assa-impact-tab.active{
    background:var(--assa-gold);
    color:#111;
}


/* Panels */

.assa-impact-panel{
    display:none;
}

.assa-impact-panel.active{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}


/* Metric cards */

.assa-impact-card{
    padding:19px;

    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.15);
    border-radius:15px;
}

.assa-impact-card b{
    display:block;

    font-size:1.8rem;
    line-height:1.1;

    color:var(--assa-gold);
}

.assa-impact-card strong{
    display:block;
    margin:6px 0 4px;

    font-size:.95rem;
    color:#fff;
}

.assa-impact-card span{
    display:block;

    font-size:.78rem;
    line-height:1.5;

    color:rgba(255,255,255,.72);
}


/* Action */

.assa-impact-action{
    margin-top:24px;
}

.assa-impact-action .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:11px 16px;

    border-radius:11px;

    font-size:.83rem;
    font-weight:900;

    background:var(--assa-gold);
    color:#111;

    transition:
        transform .18s ease,
        background .18s ease;
}

.assa-impact-action .btn:hover{
    transform:translateY(-1px);
    background:var(--assa-gold-dark);
}


/* Responsive */

@media(max-width:900px){

    .assa-impact-head{
        display:block;
    }

    .assa-impact-head p{
        margin-top:14px;
        max-width:700px;
    }

    .assa-impact-panel.active{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:520px){

    .assa-social-impact{
        padding:58px 0;
    }

    .assa-impact-panel.active{
        grid-template-columns:1fr;
    }
}
.assa-impact-panel[hidden]{
    display:none !important;
}
/* ==========================================================
   SUCCESS STORIES
   ========================================================== */

.assa-success-section {
    padding: 72px 24px;
    background: #ffffff;
}

    .assa-success-section .assa-container {
        width: 100%;
        max-width: 1180px;
        margin: 0 auto;
    }


/* Heading */

.assa-success-head {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
    align-items: end;
    gap: 48px;
    margin-bottom: 34px;
}

    .assa-success-head .assa-eyebrow {
        margin: 0 0 12px;
        color: #00588d;
        font-size: 0.78rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }

    .assa-success-head h2 {
        margin: 0;
        color: #073d62;
        font-size: clamp(2rem, 4vw, 3.4rem);
        font-weight: 800;
        line-height: 1.04;
        letter-spacing: -0.035em;
    }

.assa-success-introduction {
    max-width: 460px;
    margin: 0 0 6px;
    color: #365a70;
    font-size: 1rem;
    line-height: 1.65;
}


/* Three equal cards */

.assa-stories {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 22px;
}


/* Card */

.assa-story {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 500px;
    overflow: hidden;
    color: #ffffff;
    text-decoration: none;
    background: #073d62;
    border: 1px solid rgba(7, 61, 98, 0.15);
    border-radius: 20px;
    box-shadow: 0 14px 30px rgba(7, 61, 98, 0.12);
}


/* Image area */

.assa-story-image-area {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 290px;
    padding: 12px;
    overflow: hidden;
    background: #f2f8fb;
}

    .assa-story-image-area img {
        display: block;
        width: 100%;
        height: 100%;
        /*
       Contain displays the complete image without cropping.
    */
        object-fit: contain;
        object-position: center;
    }


/* Content */

.assa-story-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 24px;
    background: linear-gradient( 145deg, #073d62 0%, #0b527f 100% );
}

    .assa-story-copy small {
        display: block;
        margin-bottom: 7px;
        color: #f7a623;
        font-size: 0.76rem;
        font-weight: 800;
        line-height: 1.4;
    }

    .assa-story-copy h3 {
        margin: 0;
        color: #ffffff;
        font-size: 1.35rem;
        font-weight: 800;
        line-height: 1.25;
    }

    .assa-story-copy p {
        margin: 12px 0 18px;
        color: rgba(255, 255, 255, 0.94);
        font-size: 0.92rem;
        line-height: 1.55;
    }

.assa-story-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    color: #ffffff;
    font-size: 0.86rem;
    font-weight: 800;
}


/* Interaction */

.assa-story:hover,
.assa-story:focus-visible {
    border-color: #f7a623;
    box-shadow: 0 18px 38px rgba(7, 61, 98, 0.18);
    transform: translateY(-3px);
}

    .assa-story:hover .assa-story-link,
    .assa-story:focus-visible .assa-story-link {
        color: #f7a623;
    }

.assa-story:focus-visible {
    outline: 3px solid #f7a623;
    outline-offset: 4px;
}


/* Tablet */

@media (max-width: 900px) {

    .assa-success-section {
        padding: 56px 20px;
    }

    .assa-success-head {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .assa-stories {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-story {
        min-height: 500px;
    }
}


/* Mobile */

@media (max-width: 600px) {

    .assa-success-section {
        padding: 44px 16px;
    }

    .assa-stories {
        grid-template-columns: 1fr;
    }

    .assa-story {
        min-height: 0;
    }

    .assa-story-image-area {
        height: 300px;
    }

    .assa-story-copy {
        min-height: 225px;
        padding: 22px;
    }
}


/* Reduced motion */

@media (prefers-reduced-motion: no-preference) {

    .assa-story {
        transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
    }
}
/* =========================================================
   ASSA CAREERS
   ========================================================= */

.assa-careers-section{
    padding:74px 0;
    background:#f5f9fc;
}

.assa-career-card{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    align-items:center;

    padding:32px;

    border-radius:26px;

    background:var(--assa-blue-dark);
    color:#fff;

    box-shadow:
        0 18px 45px rgba(8,46,76,.12);
}


/* Text */

.assa-career-eyebrow{
    margin-bottom:8px;

    color:var(--assa-gold);

    font-size:.73rem;
    font-weight:900;

    letter-spacing:.11em;
    text-transform:uppercase;
}

.assa-career-copy h2{
    max-width:650px;

    margin:0 0 10px;

    font-size:clamp(1.8rem,3vw,2.6rem);
    line-height:1.05;
    letter-spacing:-.03em;

    color:#fff;
}

.assa-career-copy p{
    max-width:650px;

    margin:0;

    font-size:.9rem;
    line-height:1.6;

    color:rgba(255,255,255,.75);
}


/* Actions */

.assa-career-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;

    gap:9px;
    flex-wrap:wrap;
}

.assa-career-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:12px 17px;

    border-radius:11px;

    font-size:.82rem;
    font-weight:900;

    transition:
        transform .18s ease,
        background .18s ease;
}

.assa-career-btn:hover{
    transform:translateY(-2px);
}

.assa-career-btn-gold{
    background:var(--assa-gold);
    color:#111;
}

.assa-career-btn-gold:hover{
    background:var(--assa-gold-dark);
}

.assa-career-btn-outline{
    border:1px solid rgba(255,255,255,.35);

    background:transparent;
    color:#fff;
}

.assa-career-btn-outline:hover{
    background:rgba(255,255,255,.10);
}


/* Responsive */

@media(max-width:780px){

    .assa-careers-section{
        padding:58px 0;
    }

    .assa-career-card{
        grid-template-columns:1fr;

        padding:26px;
    }

    .assa-career-actions{
        justify-content:flex-start;
        margin-top:8px;
    }
}

@media(max-width:520px){

    .assa-career-card{
        padding:22px;

        border-radius:20px;
    }

    .assa-career-actions{
        align-items:stretch;
    }

    .assa-career-btn{
        width:100%;
    }
}
/* =========================================================
   ASSA GLOBAL FOOTER
   ========================================================= */

.assa-footer{
    margin-top:0;
    background:var(--assa-deep);
    color:#fff;
}


/* Partners */

.assa-footer-partners{
    padding:38px 0;

    border-bottom:
        1px solid rgba(255,255,255,.12);
}

.assa-footer-partners h3{
    margin:0 0 15px;

    color:var(--assa-gold);

    font-size:.8rem;
    font-weight:900;

    letter-spacing:.08em;
    text-transform:uppercase;
}

.assa-partner-row{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:10px;
}

.assa-partner-row div{
    min-height:64px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:12px;

    text-align:center;

    border:
        1px solid rgba(255,255,255,.14);

    border-radius:12px;

    background:
        rgba(255,255,255,.06);

    color:
        rgba(255,255,255,.82);

    font-size:.76rem;
    font-weight:800;
}


/* Main footer */

.assa-footer-grid{
    display:grid;

    grid-template-columns:
        1.6fr 1fr 1fr 1fr;

    gap:40px;

    padding-top:42px;
    padding-bottom:42px;
}

.assa-footer-brand{
    display:flex;
    align-items:center;
    gap:12px;
}

.assa-footer-brand img{
    width:70px;

    padding:4px;

    border-radius:10px;

    background:#fff;
}

.assa-footer-brand strong{
    display:block;

    color:#fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:1rem;

    letter-spacing:.06em;
}

.assa-footer-brand span{
    display:block;

    margin-top:3px;

    color:
        rgba(255,255,255,.70);

    font-size:.7rem;
}

.assa-footer-about p{
    max-width:410px;

    margin:15px 0 0;

    color:
        rgba(255,255,255,.72);

    font-size:.8rem;
    line-height:1.6;
}


/* Footer links */

.assa-footer-grid h4{
    margin:0 0 12px;

    color:var(--assa-gold);

    font-size:.82rem;
}

.assa-footer-grid a{
    display:block;

    margin:6px 0;

    color:
        rgba(255,255,255,.72);

    font-size:.8rem;

    transition:
        color .18s ease,
        transform .18s ease;
}

.assa-footer-grid a:hover{
    color:#fff;
    transform:translateX(2px);
}


/* Copyright */

.assa-footer-bottom{
    border-top:
        1px solid rgba(255,255,255,.10);
}

.assa-footer-bottom .assa-container{
    padding-top:15px;
    padding-bottom:15px;

    color:
        rgba(255,255,255,.55);

    font-size:.72rem;
}


/* Responsive */

@media(max-width:900px){

    .assa-partner-row{
        grid-template-columns:
            repeat(3,1fr);
    }

    .assa-footer-grid{
        grid-template-columns:
            1fr 1fr;
    }
}

@media(max-width:520px){

    .assa-partner-row{
        grid-template-columns:
            1fr 1fr;
    }

    .assa-footer-grid{
        grid-template-columns:
            1fr;
        gap:28px;
    }
}
/* =========================================================
   ASSA SOCIAL / WHATSAPP FLOATER
   ========================================================= */

.assa-social-float{
    position:fixed;

    right:12px;
    top:44%;

    z-index:42;

    display:flex;
    flex-direction:column;

    gap:6px;
}

.assa-social-float a{
    width:39px;
    height:39px;

    display:grid;
    place-items:center;

    border-radius:11px;

    background:#fff;
    border:1px solid var(--assa-line);

    box-shadow:
        0 7px 18px rgba(8,46,76,.13);

    color:var(--assa-blue-dark);

    font-size:.72rem;
    font-weight:950;

    text-decoration:none;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.assa-social-float a:hover{
    transform:translateX(-3px);

    box-shadow:
        0 10px 24px rgba(8,46,76,.18);
}


/* WhatsApp highlight */

.assa-social-float .social-whatsapp{
    background:var(--assa-gold);
    color:#111;
    border-color:var(--assa-gold);
}


/* Mobile */

@media(max-width:780px){

    .assa-social-float{
        top:auto;

        right:64px;
        bottom:18px;

        flex-direction:row;
    }

    .assa-social-float a{
        display:none;
    }

    .assa-social-float .social-whatsapp{
        display:grid;
    }
}
/* =========================================================
   ASSA BRAND LINE
   ========================================================= */

.assa-brand-line {
    background: #eef7fc;
    border-top: 1px solid #dceaf2;
    border-bottom: 1px solid #dceaf2;
}

    .assa-brand-line .assa-container {
        min-height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        text-align: center;
        color: var(--assa-blue-dark);
        font-size: .84rem;
        font-weight: 700;
    }

    .assa-brand-line strong {
        font-weight: 900;
    }

.assa-brand-dot {
    color: var(--assa-gold);
    font-size: 1.2rem;
    line-height: 1;
}

@media(max-width:780px) {

    .assa-brand-line .assa-container {
        min-height: 38px;
        gap: 7px;
        font-size: .68rem;
        line-height: 1.35;
    }
}
/* =========================================================
   ASSA ACCESSIBILITY TOOLS
   ========================================================= */

.assa-accessibility-button {
    position: fixed;
    left: 18px;
    bottom: 20px;
    z-index: 60;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: var(--assa-gold);
    color: #111;
    font-size: 1rem;
    font-weight: 950;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(8,46,76,.20);
    transition: transform .18s ease, box-shadow .18s ease;
}

    .assa-accessibility-button:hover,
    .assa-accessibility-button:focus-visible {
        transform: translateY(-2px);
        box-shadow: 0 12px 28px rgba(8,46,76,.25);
    }


/* Panel */

.assa-accessibility-panel {
    position: fixed;
    left: 18px;
    bottom: 78px;
    z-index: 61;
    width: 295px;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    background: #fff;
    border: 1px solid var(--assa-line);
    border-radius: 16px;
    box-shadow: 0 18px 55px rgba(8,46,76,.22);
    color: #222;
}

    .assa-accessibility-panel[hidden] {
        display: none !important;
    }


/* Panel title */

.assa-accessibility-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 17px;
    border-bottom: 1px solid var(--assa-line);
    background: #f7fafc;
}

    .assa-accessibility-heading h2 {
        margin: 0;
        color: var(--assa-blue-dark);
        font-size: 1rem;
        font-weight: 900;
    }

.assa-accessibility-close {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: var(--assa-blue-dark);
    color: #fff;
    font-size: 1.25rem;
    cursor: pointer;
}


/* Accessibility options */

.assa-access-option {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 17px;
    border: 0;
    border-bottom: 1px solid #edf2f5;
    background: #fff;
    color: #222;
    text-align: left;
    font-size: .88rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}

    .assa-access-option span {
        width: 20px;
        display: inline-flex;
        justify-content: center;
        color: var(--assa-blue-dark);
        font-weight: 900;
    }

    .assa-access-option:hover,
    .assa-access-option:focus-visible {
        background: #eef6fb;
    }

    .assa-access-option.active {
        background: var(--assa-blue-dark);
        color: #fff;
    }

        .assa-access-option.active span {
            color: var(--assa-gold);
        }

.assa-access-reset {
    border-bottom: 0;
}


/* =========================================================
   ACCESSIBILITY MODES
   ========================================================= */


/* Grayscale */

/* =========================================================
   GRAYSCALE MODE
   ========================================================= */

html.assa-access-grayscale .assa-header,
html.assa-access-grayscale .assa-brand-line,
html.assa-access-grayscale main,
html.assa-access-grayscale footer,
html.assa-access-grayscale .assa-social-float {
    filter: grayscale(100%);
}

html.assa-access-grayscale
.assa-accessibility-button,
html.assa-access-grayscale
.assa-accessibility-panel {
    filter: none !important;
}
/* High contrast */

/* =========================================================
   HIGH CONTRAST MODE
   ========================================================= */

html.assa-access-high-contrast body {
    background: #000 !important;
    color: #fff !important;
}


/* Main backgrounds */

html.assa-access-high-contrast header,
html.assa-access-high-contrast main,
html.assa-access-high-contrast article,
html.assa-access-high-contrast section,
html.assa-access-high-contrast footer,
html.assa-access-high-contrast .assa-header,
html.assa-access-high-contrast .assa-brand-line,
html.assa-access-high-contrast .homehero,
html.assa-access-high-contrast .assa-programmes-section,
html.assa-access-high-contrast .assa-social-impact,
html.assa-access-high-contrast .assa-success-section,
html.assa-access-high-contrast .assa-careers-section,
html.assa-access-high-contrast .assa-career-card,
html.assa-access-high-contrast .assa-footer,
html.assa-access-high-contrast .assa-footer-partners {
    background: #000 !important;
    color: #fff !important;
}


/* Cards / panels */

html.assa-access-high-contrast .assa-programme-card,
html.assa-access-high-contrast .assa-impact-card,
html.assa-access-high-contrast .assa-story,
html.assa-access-high-contrast .impactbox,
html.assa-access-high-contrast .caption,
html.assa-access-high-contrast .assa-partner-row div,
html.assa-access-high-contrast .hdots,
html.assa-access-high-contrast .harrow {
    background: #000 !important;
    color: #fff !important;
    border-color: #fff !important;
}


/* Text */

html.assa-access-high-contrast h1,
html.assa-access-high-contrast h2,
html.assa-access-high-contrast h3,
html.assa-access-high-contrast h4,
html.assa-access-high-contrast h5,
html.assa-access-high-contrast h6,
html.assa-access-high-contrast p,
html.assa-access-high-contrast span,
html.assa-access-high-contrast strong,
html.assa-access-high-contrast small,
html.assa-access-high-contrast li,
html.assa-access-high-contrast label {
    color: #fff !important;
}


/* Links */

html.assa-access-high-contrast a {
    color: #ffff00 !important;
}

    html.assa-access-high-contrast a:hover,
    html.assa-access-high-contrast a:focus {
        color: #fff !important;
        text-decoration: underline !important;
    }


/* Buttons */

html.assa-access-high-contrast button,
html.assa-access-high-contrast .btn,
html.assa-access-high-contrast .assa-career-btn {
    background: #000 !important;
    color: #ffff00 !important;
    border: 2px solid #ffff00 !important;
}


/* Active tabs / controls */

html.assa-access-high-contrast .hdot.active,
html.assa-access-high-contrast .assa-impact-tab.active,
html.assa-access-high-contrast .assa-access-option.active {
    background: #ffff00 !important;
    color: #000 !important;
}


/* Keep images photographic */

html.assa-access-high-contrast img {
    filter: none !important;
}


/* Accessibility panel itself */

html.assa-access-high-contrast
.assa-accessibility-panel {
    background: #000 !important;
    color: #fff !important;
    border: 2px solid #fff !important;
}

html.assa-access-high-contrast
.assa-accessibility-heading {
    background: #000 !important;
    border-bottom: 1px solid #fff !important;
}

html.assa-access-high-contrast
.assa-access-option {
    background: #000 !important;
    color: #fff !important;
    border-bottom: 1px solid #fff !important;
}

    html.assa-access-high-contrast
    .assa-access-option:hover {
        background: #222 !important;
    }


/* Negative contrast */

/* =========================================================
   NEGATIVE CONTRAST MODE
   Keep fixed accessibility controls in place
   ========================================================= */

html.assa-access-negative body {
    background: #000 !important;
}


/* Apply inversion to the actual website content,
   not to the accessibility controls */

html.assa-access-negative .assa-header,
html.assa-access-negative .assa-brand-line,
html.assa-access-negative main,
html.assa-access-negative footer,
html.assa-access-negative .assa-social-float {
    filter: invert(100%) hue-rotate(180deg);
}


/* Accessibility UI must remain normal and fixed */

html.assa-access-negative
.assa-accessibility-button,
html.assa-access-negative
.assa-accessibility-panel {
    filter: none !important;
}


/* Light background */

html.assa-access-light-bg body {
    background: #fff !important;
}

html.assa-access-light-bg
main,
html.assa-access-light-bg
section {
    background: #fff !important;
}

html.assa-access-light-bg
p,
html.assa-access-light-bg
span,
html.assa-access-light-bg
li {
    color: #111 !important;
}


/* Underline links */

html.assa-access-link-underline
a {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}


/* Readable font */

html.assa-access-readable-font
body,
html.assa-access-readable-font
body * {
    font-family: Arial, Helvetica, sans-serif !important;
    letter-spacing: .01em;
}


/* Mobile */

@media(max-width:780px) {

    .assa-accessibility-button {
        left: 12px;
        bottom: 18px;
        width: 43px;
        height: 43px;
    }

    .assa-accessibility-panel {
        left: 10px;
        right: 10px;
        bottom: 70px;
        width: auto;
        max-height: 70vh;
    }
}
/* =========================================================
   ASSA INTERNAL PAGE BASE
   ========================================================= */

.assa-inner-page {
    background: #fff;
}


/* =========================================================
   INTERNAL PAGE HERO
   ========================================================= */

.assa-page-hero {
    padding: 68px 0;
    background: linear-gradient( 135deg, #fff 0%, var(--assa-soft) 100% );
}

.assa-page-hero-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 55px;
    align-items: center;
}

.assa-breadcrumb {
    margin-bottom: 15px;
    color: var(--assa-muted);
    font-size: .74rem;
    font-weight: 700;
}

.assa-page-hero-copy h1 {
    max-width: 760px;
    margin: 12px 0 20px;
    color: var(--assa-blue-dark);
    font-size: clamp(2.8rem,5vw,4.7rem);
    line-height: .98;
    letter-spacing: -.05em;
}

.assa-page-hero-copy p {
    max-width: 700px;
    margin: 0;
    color: #455866;
    font-size: 1.04rem;
    line-height: 1.7;
}


/* Hero information panel */

.assa-page-hero-panel {
    padding: 34px;
    border-radius: 28px;
    background: linear-gradient( 135deg, var(--assa-deep), var(--assa-blue) );
    color: #fff;
    box-shadow: 0 24px 65px rgba(8,46,76,.17);
}

.assa-page-hero-panel-label {
    margin-bottom: 12px;
    color: var(--assa-gold);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.assa-page-hero-panel h2 {
    margin: 0 0 25px;
    color: #fff;
    font-size: 2rem;
    line-height: 1.08;
}

.assa-about-mini {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 10px;
}

    .assa-about-mini div {
        padding: 15px;
        border: 1px solid rgba(255,255,255,.16);
        border-radius: 14px;
        background: rgba(255,255,255,.09);
    }

    .assa-about-mini b {
        display: block;
        color: var(--assa-gold);
        font-size: 1.15rem;
    }

    .assa-about-mini span {
        display: block;
        margin-top: 3px;
        color: rgba(255,255,255,.72);
        font-size: .72rem;
    }


/* =========================================================
   INTRO
   ========================================================= */

.assa-about-intro {
    padding: 76px 0;
}

.assa-about-intro-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 70px;
}

.assa-about-intro h2 {
    margin: 9px 0 0;
    color: var(--assa-blue-dark);
    font-size: clamp(2rem,3.8vw,3.4rem);
    line-height: 1.05;
    letter-spacing: -.04em;
}

.assa-about-intro-copy p {
    margin: 0 0 18px;
    color: #455866;
    font-size: .98rem;
    line-height: 1.72;
}


/* =========================================================
   LEADERSHIP
   ========================================================= */

.assa-about-leadership {
    padding: 76px 0;
    background: #f7fafc;
}

.assa-about-leaders {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.assa-about-leader {
    display: grid;
    grid-template-columns: 185px 1fr;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--assa-line);
    border-radius: 20px;
}

.assa-about-leader-photo {
    min-height: 280px;
}

    .assa-about-leader-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.assa-about-leader-copy {
    padding: 25px;
}

.assa-leader-role {
    color: var(--assa-gold-dark);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.assa-about-leader-copy h3 {
    margin: 7px 0 13px;
    color: var(--assa-blue-dark);
    font-size: 1.45rem;
}

.assa-about-leader-copy p {
    margin: 0;
    color: var(--assa-muted);
    font-size: .84rem;
    line-height: 1.65;
}


/* =========================================================
   MISSION / VISION
   ========================================================= */

.assa-purpose-section {
    padding: 76px 0;
    background: #fff;
}

.assa-purpose-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.assa-purpose-card {
    position: relative;
    min-height: 390px;
    padding: 36px;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 24px;
    background: #fff;
}

.assa-purpose-dark {
    background: linear-gradient( 135deg, var(--assa-deep), var(--assa-blue) );
    color: #fff;
}

.assa-purpose-number {
    position: absolute;
    right: 26px;
    top: 18px;
    opacity: .09;
    color: var(--assa-blue-dark);
    font-size: 6rem;
    font-weight: 950;
}

.assa-purpose-dark
.assa-purpose-number {
    color: #fff;
}

.assa-purpose-card h2 {
    position: relative;
    max-width: 600px;
    margin: 12px 0 18px;
    color: var(--assa-blue-dark);
    font-size: 2.15rem;
    line-height: 1.07;
}

.assa-purpose-dark h2 {
    color: #fff;
}

.assa-purpose-card p {
    position: relative;
    margin: 0;
    color: #455866;
    font-size: .93rem;
    line-height: 1.7;
}

.assa-purpose-dark p {
    color: rgba(255,255,255,.78);
}

.assa-purpose-eyebrow-light {
    position: relative;
    color: var(--assa-gold);
    font-size: .73rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}


/* =========================================================
   BELIEF
   ========================================================= */

.assa-belief-section {
    padding: 76px 0;
    background: #f7fafc;
}

.assa-belief-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 70px;
}

    .assa-belief-grid h2 {
        margin: 9px 0 0;
        color: var(--assa-blue-dark);
        font-size: clamp(2rem,3.5vw,3.2rem);
        line-height: 1.06;
    }

.assa-belief-content p {
    margin: 0 0 17px;
    color: #455866;
    font-size: .95rem;
    line-height: 1.7;
}

.assa-belief-content blockquote {
    margin: 27px 0 0;
    padding: 19px 22px;
    border-left: 5px solid var(--assa-gold);
    border-radius: 0 14px 14px 0;
    background: #fff;
    color: var(--assa-blue-dark);
    font-size: 1.1rem;
    font-weight: 800;
    line-height: 1.5;
}


/* =========================================================
   QUALITY POLICY
   ========================================================= */

.assa-quality-section {
    padding: 76px 0;
}

.assa-quality-card {
    padding: 38px;
    border-radius: 26px;
    background: var(--assa-blue-dark);
    color: #fff;
}

.assa-quality-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
}

.assa-quality-eyebrow {
    color: var(--assa-gold);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.assa-quality-heading h2 {
    max-width: 750px;
    margin: 9px 0 0;
    color: #fff;
    font-size: clamp(2rem,3.5vw,3rem);
    line-height: 1.05;
}

.assa-quality-badge {
    width: 70px;
    height: 70px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--assa-gold);
    color: #111;
    font-size: .9rem;
    font-weight: 950;
}

.assa-quality-intro {
    max-width: 900px;
    margin: 23px 0 27px;
    color: rgba(255,255,255,.78);
    font-size: .95rem;
    line-height: 1.7;
}

.assa-quality-focus {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 12px;
}

    .assa-quality-focus article {
        padding: 21px;
        border: 1px solid rgba(255,255,255,.15);
        border-radius: 16px;
        background: rgba(255,255,255,.08);
    }

        .assa-quality-focus article > span {
            display: block;
            color: var(--assa-gold);
            font-size: .72rem;
            font-weight: 900;
        }

    .assa-quality-focus h3 {
        margin: 7px 0 9px;
        color: #fff;
        font-size: 1rem;
    }

    .assa-quality-focus p {
        margin: 0;
        color: rgba(255,255,255,.72);
        font-size: .78rem;
        line-height: 1.55;
    }


/* =========================================================
   ABOUT SUB-PAGE NAVIGATION
   ========================================================= */

.assa-about-navigation {
    padding: 76px 0;
    background: #f7fafc;
}

.assa-about-nav-grid {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 12px;
}

.assa-about-nav-card {
    min-height: 205px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--assa-line);
    border-radius: 18px;
    background: #fff;
    transition: transform .18s ease, box-shadow .18s ease;
}

    .assa-about-nav-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 15px 35px rgba(8,46,76,.10);
    }

    .assa-about-nav-card > span {
        margin-bottom: 15px;
        color: var(--assa-gold-dark);
        font-size: 1.4rem;
    }

    .assa-about-nav-card h3 {
        margin: 0 0 9px;
        color: var(--assa-blue-dark);
        font-size: 1rem;
    }

    .assa-about-nav-card p {
        margin: 0;
        color: var(--assa-muted);
        font-size: .78rem;
        line-height: 1.55;
    }


/* =========================================================
   ABOUT RESPONSIVE
   ========================================================= */

@media(max-width:1000px) {

    .assa-about-nav-grid {
        grid-template-columns: repeat(3,1fr);
    }

    .assa-about-leaders {
        grid-template-columns: 1fr;
    }
}


@media(max-width:780px) {

    .assa-page-hero {
        padding: 50px 0;
    }

    .assa-page-hero-grid,
    .assa-about-intro-grid,
    .assa-purpose-grid,
    .assa-belief-grid {
        grid-template-columns: 1fr;
    }

    .assa-page-hero-grid,
    .assa-about-intro-grid,
    .assa-belief-grid {
        gap: 32px;
    }

    .assa-page-hero-copy h1 {
        font-size: clamp(2.6rem,10vw,4rem);
    }

    .assa-about-leader {
        grid-template-columns: 135px 1fr;
    }

    .assa-about-leader-photo {
        min-height: 260px;
    }

    .assa-quality-focus {
        grid-template-columns: 1fr;
    }

    .assa-about-nav-grid {
        grid-template-columns: 1fr 1fr;
    }
}


@media(max-width:520px) {

    .assa-page-hero-panel {
        padding: 24px;
    }

    .assa-about-mini {
        grid-template-columns: 1fr;
    }

    .assa-about-leader {
        grid-template-columns: 1fr;
    }

    .assa-about-leader-photo {
        height: 300px;
    }

    .assa-purpose-card {
        min-height: auto;
        padding: 27px;
    }

    .assa-quality-card {
        padding: 25px;
    }

    .assa-quality-heading {
        display: block;
    }

    .assa-quality-badge {
        margin-top: 20px;
    }

    .assa-about-nav-grid {
        grid-template-columns: 1fr;
    }
}
/* =========================================================
   ABOUT SUB-PAGES - REUSABLE DESIGN
   Patron / Advisory / EC / Management / Associates
   ========================================================= */


/* ---------- Sub-page Hero ---------- */

.assa-subpage-hero {
    padding: 58px 0 52px;
    background: linear-gradient( 135deg, var(--assa-blue-dark) 0%, var(--assa-blue) 100% );
    color: #fff;
}

    .assa-subpage-hero .assa-breadcrumb {
        color: rgba(255,255,255,.65);
    }

    .assa-subpage-hero .assa-eyebrow {
        color: var(--assa-gold);
    }

    .assa-subpage-hero h1 {
        max-width: 850px;
        margin: 10px 0 16px;
        color: #fff;
        font-size: clamp(2.7rem,5vw,4.4rem);
        line-height: 1;
        letter-spacing: -.045em;
    }

    .assa-subpage-hero p {
        max-width: 780px;
        margin: 0;
        color: rgba(255,255,255,.78);
        font-size: 1rem;
        line-height: 1.7;
    }


/* ---------- Content introduction ---------- */

.assa-subpage-intro {
    padding: 55px 0 28px;
    background: #fff;
}

.assa-subpage-intro-inner {
    max-width: 850px;
}

.assa-subpage-intro h2 {
    margin: 8px 0 14px;
    color: var(--assa-blue-dark);
    font-size: clamp(1.9rem,3vw,2.8rem);
    line-height: 1.08;
}

.assa-subpage-intro p {
    margin: 0;
    color: #455866;
    line-height: 1.72;
}


/* =========================================================
   PROFILE CARDS
   ========================================================= */

.assa-profile-section {
    padding: 32px 0 75px;
    background: #fff;
}

.assa-profile-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
}


/* Individual profile */

.assa-profile-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(8,46,76,.04);
}

.assa-profile-photo {
    position: relative;
    height: 285px;
    overflow: hidden;
    background: #edf3f6;
}

    .assa-profile-photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .3s ease;
    }

.assa-profile-card:hover
.assa-profile-photo img {
    transform: scale(1.025);
}

.assa-profile-content {
    padding: 23px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.assa-profile-role {
    margin-bottom: 7px;
    color: var(--assa-gold-dark);
    font-size: .69rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.assa-profile-content h2,
.assa-profile-content h3 {
    margin: 0 0 11px;
    color: var(--assa-blue-dark);
    font-size: 1.25rem;
    line-height: 1.2;
}

.assa-profile-content p {
    margin: 0;
    color: var(--assa-muted);
    font-size: .84rem;
    line-height: 1.65;
}


/* Featured Patron / leadership profile */

.assa-profile-featured {
    grid-column: span 3;
    display: grid;
    grid-template-columns: 330px 1fr;
}

    .assa-profile-featured
    .assa-profile-photo {
        height: auto;
        min-height: 330px;
    }

    .assa-profile-featured
    .assa-profile-content {
        justify-content: center;
        padding: 38px;
    }

        .assa-profile-featured
        .assa-profile-content h2 {
            font-size: 1.9rem;
        }

        .assa-profile-featured
        .assa-profile-content p {
            max-width: 780px;
            font-size: .95rem;
        }


/* =========================================================
   NAME / BOARD MEMBER CARDS
   ========================================================= */

.assa-member-section {
    padding: 35px 0 75px;
}

.assa-member-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 12px;
}

.assa-member-card {
    padding: 19px;
    border: 1px solid var(--assa-line);
    border-radius: 15px;
    background: #fff;
}

.assa-member-number {
    display: block;
    margin-bottom: 7px;
    color: var(--assa-gold-dark);
    font-size: .68rem;
    font-weight: 900;
}

.assa-member-card h3 {
    margin: 0 0 5px;
    color: var(--assa-blue-dark);
    font-size: .98rem;
    line-height: 1.3;
}

.assa-member-card p {
    margin: 0;
    color: var(--assa-muted);
    font-size: .77rem;
    line-height: 1.5;
}


/* =========================================================
   ASSOCIATES PAGE
   ========================================================= */

.assa-associates-page,
.assa-associates-page * {
    box-sizing: border-box;
}

    /* Wider, balanced container for this page */
    .assa-associates-page .assa-container {
        width: min(1180px, calc(100% - 48px));
        margin-right: auto;
        margin-left: auto;
    }


    /* =========================================================
   ASSOCIATES SECTION
   ========================================================= */

    .assa-associates-page .assa-associate-section {
        padding: 38px 0 56px;
        background: #f5f9fb;
    }


    /* =========================================================
   BALANCED GRID
   ========================================================= */

    .assa-associates-page .assa-associate-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "internal statutory"
            "legal chairmen"
            "doctors chairmen";
        gap: 18px;
        align-items: start;
    }

.assa-associate-internal {
    grid-area: internal;
}

.assa-associate-statutory {
    grid-area: statutory;
}

.assa-associate-legal {
    grid-area: legal;
}

.assa-associate-chairmen {
    grid-area: chairmen;
    align-self: stretch;
}

.assa-associate-doctors {
    grid-area: doctors;
}


/* =========================================================
   ASSOCIATE CARDS
   ========================================================= */

.assa-associates-page .assa-associate-group {
    width: 100%;
    margin: 0;
    padding: 22px 24px;
    border: 1px solid var(--assa-line, #cadbe6);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 6px 18px rgba(8, 46, 76, 0.045);
}

    .assa-associates-page .assa-associate-group h2 {
        margin: 0 0 12px;
        padding: 0 0 12px;
        border-bottom: 1px solid var(--assa-line, #cadbe6);
        color: var(--assa-blue-dark, #063f68);
        font-size: 1.08rem;
        font-weight: 750;
        line-height: 1.3;
    }


/* =========================================================
   ASSOCIATE LIST
   ========================================================= */

.assa-associates-page .assa-associate-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

    .assa-associates-page .assa-associate-list li {
        position: relative;
        margin: 0;
        padding: 9px 0 9px 18px;
        border-bottom: 1px solid #e8eef2;
        color: #455866;
        font-size: 0.88rem;
        line-height: 1.5;
    }

        .assa-associates-page .assa-associate-list li:last-child {
            padding-bottom: 2px;
            border-bottom: 0;
        }

        .assa-associates-page .assa-associate-list li::before {
            content: "";
            position: absolute;
            top: 15px;
            left: 0;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--assa-gold, #f7a51a);
        }


/* =========================================================
   VISUAL REFINEMENTS
   ========================================================= */

.assa-associates-page .assa-associate-group {
    transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

    .assa-associates-page .assa-associate-group:hover {
        transform: translateY(-2px);
        border-color: #adc8d8;
        box-shadow: 0 10px 24px rgba(8, 46, 76, 0.075);
    }


/* =========================================================
   TABLET AND MOBILE
   ========================================================= */

@media (max-width: 800px) {
    .assa-associates-page .assa-container {
        width: min(100% - 32px, 1180px);
    }

    .assa-associates-page .assa-associate-section {
        padding: 30px 0 45px;
    }

    .assa-associates-page .assa-associate-grid {
        grid-template-columns: 1fr;
        grid-template-areas:
            "internal"
            "statutory"
            "legal"
            "chairmen"
            "doctors";
        gap: 16px;
    }

    .assa-associates-page .assa-associate-chairmen {
        align-self: auto;
    }
}


/* Small mobile */

@media (max-width: 480px) {
    .assa-associates-page .assa-container {
        width: min(100% - 24px, 1180px);
    }

    .assa-associates-page .assa-associate-group {
        padding: 20px;
        border-radius: 14px;
    }

        .assa-associates-page .assa-associate-group h2 {
            font-size: 1.02rem;
        }

    .assa-associates-page .assa-associate-list li {
        font-size: 0.85rem;
    }
}


/* =========================================================
   MANAGEMENT PENDING STATE
   ========================================================= */

.assa-content-pending {
    max-width: 850px;
    margin: 40px auto 75px;
    padding: 40px;
    text-align: center;
    border: 1px dashed #aebdc7;
    border-radius: 22px;
    background: #f7fafc;
}

    .assa-content-pending span {
        display: inline-block;
        margin-bottom: 10px;
        color: var(--assa-gold-dark);
        font-size: .72rem;
        font-weight: 900;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .assa-content-pending h2 {
        margin: 0 0 12px;
        color: var(--assa-blue-dark);
    }

    .assa-content-pending p {
        max-width: 650px;
        margin: 0 auto;
        color: var(--assa-muted);
        line-height: 1.65;
    }


/* ---------- Back to About ---------- */

.assa-about-back {
    padding: 23px 0;
    background: #f7fafc;
    border-top: 1px solid var(--assa-line);
}

    .assa-about-back a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--assa-blue-dark);
        font-size: .82rem;
        font-weight: 800;
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1000px) {

    .assa-profile-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .assa-profile-featured {
        grid-column: span 2;
    }

    .assa-member-grid {
        grid-template-columns: repeat(2,1fr);
    }
}


@media(max-width:780px) {

    .assa-subpage-hero {
        padding: 45px 0;
    }

    .assa-profile-featured {
        grid-template-columns: 1fr;
    }

        .assa-profile-featured
        .assa-profile-photo {
            height: 350px;
            min-height: 0;
        }

    .assa-associate-grid {
        grid-template-columns: 1fr;
    }
}


@media(max-width:560px) {

    .assa-profile-grid,
    .assa-member-grid {
        grid-template-columns: 1fr;
    }

    .assa-profile-featured {
        grid-column: span 1;
    }

    .assa-profile-photo {
        height: 320px;
    }

    .assa-profile-featured
    .assa-profile-content {
        padding: 25px;
    }
}
/* =========================================================
   ABOUT US HEADER DROPDOWN
   ========================================================= */

.assa-about-menu {
    position: relative;
    display: flex;
    align-items: center;
}


/* Dropdown toggle arrow */

.assa-submenu-toggle {
    width: 28px;
    height: 34px;
    margin-left: -4px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--assa-blue-dark);
    font: inherit;
    font-size: .72rem;
    cursor: pointer;
    transition: transform .18s ease, color .18s ease;
}

    .assa-submenu-toggle:hover,
    .assa-submenu-toggle:focus-visible {
        color: var(--assa-gold-dark);
    }

    .assa-submenu-toggle:focus-visible {
        outline: 2px solid var(--assa-gold);
        outline-offset: 2px;
        border-radius: 5px;
    }


/* Arrow rotation */

.assa-about-menu.submenu-open
.assa-submenu-toggle {
    transform: rotate(180deg);
}


/* =========================================================
   DESKTOP DROPDOWN
   ========================================================= */

.assa-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 120;
    min-width: 260px;
    margin: 0;
    padding: 9px;
    list-style: none;
    border: 1px solid var(--assa-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(8,46,76,.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
}


/* Show on desktop hover */

.assa-about-menu:hover > .assa-submenu,
.assa-about-menu.submenu-open > .assa-submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}


/* Dropdown links */

.assa-submenu > li {
    display: block;
    margin: 0;
    padding: 0;
}

    .assa-submenu > li > a {
        display: block;
        padding: 11px 13px;
        border-radius: 9px;
        color: var(--assa-blue-dark);
        font-size: .82rem;
        font-weight: 750;
        line-height: 1.25;
        white-space: nowrap;
        text-decoration: none;
        transition: background .15s ease, color .15s ease;
    }

        .assa-submenu > li > a:hover,
        .assa-submenu > li > a:focus-visible {
            background: #f3f7f9;
            color: var(--assa-blue);
        }

    .assa-submenu > li:first-child > a {
        color: var(--assa-gold-dark);
        font-weight: 850;
    }

    .assa-submenu > li + li {
        border-top: 1px solid #edf1f3;
    }


/* =========================================================
   MOBILE NAVIGATION VERSION

   Uses .is-open already applied to your mobile navigation,
   so it stays aligned with your existing mobile breakpoint.
   ========================================================= */

.assa-navigation.is-open
.assa-about-menu {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
}


    .assa-navigation.is-open
    .assa-about-menu > .assa-submenu {
        position: static;
        grid-column: 1 / -1;
        min-width: 0;
        width: 100%;
        margin: 0 0 5px;
        padding: 4px 0 5px 14px;
        display: none;
        border: 0;
        border-radius: 0;
        background: #f7fafc;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }


    /* Mobile submenu opens only when arrow is tapped */

    .assa-navigation.is-open
    .assa-about-menu.submenu-open > .assa-submenu {
        display: block;
    }


.assa-navigation.is-open
.assa-submenu > li + li {
    border-top: 1px solid var(--assa-line);
}


.assa-navigation.is-open
.assa-submenu > li > a {
    padding: 10px 12px;
    font-size: .79rem;
    white-space: normal;
}


.assa-navigation.is-open
.assa-submenu-toggle {
    width: 42px;
    height: 42px;
    margin: 0 5px 0 0;
    border-radius: 8px;
    background: #f3f7f9;
}
/* =========================================================
   WHAT WE DO - REUSABLE PROGRAMME PAGE DESIGN
   Rehabilitation / Education / Skill Development /
   Centre of Excellence / Para Sports / ESG
   ========================================================= */


/* =========================================================
   PROGRAMME HERO
   ========================================================= */

.assa-programme-page {
    background: #fff;
}

.assa-programme-hero {
    padding: 64px 0 58px;
    background: linear-gradient( 135deg, var(--assa-blue-dark) 0%, var(--assa-blue) 100% );
    color: #fff;
}

    .assa-programme-hero .assa-breadcrumb {
        color: rgba(255,255,255,.68);
    }

    .assa-programme-hero .assa-eyebrow {
        color: var(--assa-gold);
    }

    .assa-programme-hero h1 {
        max-width: 900px;
        margin: 10px 0 18px;
        color: #fff;
        font-size: clamp(2.8rem,5vw,4.5rem);
        line-height: 1;
        letter-spacing: -.045em;
    }

    .assa-programme-hero p {
        max-width: 820px;
        margin: 0;
        color: rgba(255,255,255,.80);
        font-size: 1.02rem;
        line-height: 1.7;
    }


/* =========================================================
   PROGRAMME INTRO
   ========================================================= */

.assa-programme-intro {
    padding: 70px 0;
}

.assa-programme-intro-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 70px;
    align-items: start;
}

.assa-programme-intro h2 {
    margin: 8px 0 0;
    color: var(--assa-blue-dark);
    font-size: clamp(2rem,3.7vw,3.2rem);
    line-height: 1.07;
    letter-spacing: -.035em;
}

.assa-programme-intro-copy p {
    margin: 0 0 17px;
    color: #455866;
    font-size: .96rem;
    line-height: 1.72;
}


/* =========================================================
   PROGRAMME TIMELINE
   ========================================================= */

.assa-programme-timeline {
    padding: 70px 0;
    background: #f7fafc;
}

.assa-programme-section-head {
    max-width: 780px;
    margin-bottom: 35px;
}

    .assa-programme-section-head h2 {
        margin: 8px 0 12px;
        color: var(--assa-blue-dark);
        font-size: clamp(2rem,3.5vw,3rem);
        line-height: 1.08;
    }

    .assa-programme-section-head p {
        margin: 0;
        color: var(--assa-muted);
        line-height: 1.65;
    }

.assa-programme-timeline-list {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 15px;
}

.assa-programme-timeline-item {
    position: relative;
    min-height: 190px;
    padding: 22px;
    border: 1px solid var(--assa-line);
    border-radius: 18px;
    background: #fff;
}

.assa-programme-year {
    display: inline-block;
    margin-bottom: 14px;
    padding: 5px 10px;
    border-radius: 20px;
    background: var(--assa-gold);
    color: #111;
    font-size: .73rem;
    font-weight: 900;
}

.assa-programme-timeline-item h3 {
    margin: 0 0 9px;
    color: var(--assa-blue-dark);
    font-size: 1rem;
    line-height: 1.3;
}

.assa-programme-timeline-item p {
    margin: 0;
    color: var(--assa-muted);
    font-size: .80rem;
    line-height: 1.55;
}


/* =========================================================
   PROGRAMME FEATURE / SERVICE CARDS
   ========================================================= */

.assa-programme-features {
    padding: 70px 0;
}

.assa-programme-feature-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 16px;
}

.assa-programme-feature {
    min-height: 220px;
    padding: 24px;
    border: 1px solid var(--assa-line);
    border-radius: 20px;
    background: #fff;
    transition: transform .18s ease, box-shadow .18s ease;
}

a.assa-programme-feature {
    display: block;
    text-decoration: none;
}

.assa-programme-feature:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(8,46,76,.10);
}

.assa-programme-feature-number {
    display: block;
    margin-bottom: 15px;
    color: var(--assa-gold-dark);
    font-size: .72rem;
    font-weight: 900;
}

.assa-programme-feature h3 {
    margin: 0 0 10px;
    color: var(--assa-blue-dark);
    font-size: 1.15rem;
}

.assa-programme-feature p {
    margin: 0;
    color: var(--assa-muted);
    font-size: .83rem;
    line-height: 1.6;
}

.assa-programme-feature-link {
    display: inline-block;
    margin-top: 16px;
    color: var(--assa-blue);
    font-size: .77rem;
    font-weight: 850;
}


/* =========================================================
   PROGRAMME DETAIL NAVIGATION
   Used especially for Rehabilitation
   ========================================================= */

.assa-programme-detail-nav {
    padding: 70px 0;
    background: #f7fafc;
}

.assa-programme-detail-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 14px;
}

.assa-programme-detail-card {
    display: flex;
    flex-direction: column;
    min-height: 235px;
    padding: 23px;
    border: 1px solid var(--assa-line);
    border-radius: 18px;
    background: #fff;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease;
}

    .assa-programme-detail-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 15px 35px rgba(8,46,76,.10);
    }

    .assa-programme-detail-card h3 {
        margin: 0 0 10px;
        color: var(--assa-blue-dark);
        font-size: 1.05rem;
    }

    .assa-programme-detail-card p {
        margin: 0;
        color: var(--assa-muted);
        font-size: .81rem;
        line-height: 1.58;
    }

    .assa-programme-detail-card span {
        margin-top: auto;
        padding-top: 18px;
        color: var(--assa-gold-dark);
        font-size: .76rem;
        font-weight: 850;
    }


/* =========================================================
   PROGRAMME STAT / HIGHLIGHT BLOCKS
   ========================================================= */

.assa-programme-stats {
    padding: 65px 0;
    background: var(--assa-blue-dark);
    color: #fff;
}

.assa-programme-stat-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 12px;
}

.assa-programme-stat {
    padding: 22px;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 16px;
    background: rgba(255,255,255,.07);
}

    .assa-programme-stat strong {
        display: block;
        color: var(--assa-gold);
        font-size: 1.8rem;
        line-height: 1;
    }

    .assa-programme-stat span {
        display: block;
        margin-top: 8px;
        color: rgba(255,255,255,.75);
        font-size: .78rem;
        line-height: 1.45;
    }


/* =========================================================
   PROGRAMME CONTENT SECTIONS
   For detailed inner pages
   ========================================================= */

.assa-programme-content {
    padding: 70px 0;
}

.assa-programme-content-alt {
    background: #f7fafc;
}

.assa-programme-content-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 60px;
    align-items: start;
}

.assa-programme-content h2 {
    margin: 8px 0 14px;
    color: var(--assa-blue-dark);
    font-size: clamp(1.9rem,3vw,2.7rem);
    line-height: 1.08;
}

.assa-programme-content p {
    margin: 0 0 16px;
    color: #455866;
    font-size: .94rem;
    line-height: 1.7;
}

.assa-programme-content ul {
    margin: 16px 0 0;
    padding-left: 20px;
    color: #455866;
}

.assa-programme-content li {
    margin-bottom: 8px;
    line-height: 1.55;
}


/* =========================================================
   PROGRAMME IMAGE
   ========================================================= */

.assa-programme-image {
    overflow: hidden;
    border-radius: 22px;
    background: #edf3f6;
}

    .assa-programme-image img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 330px;
        object-fit: cover;
    }


/* =========================================================
   PROGRAMME CTA
   ========================================================= */

.assa-programme-cta {
    padding: 65px 0;
}

.assa-programme-cta-card {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 30px;
    align-items: center;
    padding: 34px;
    border-radius: 24px;
    background: linear-gradient( 135deg, var(--assa-blue-dark), var(--assa-blue) );
    color: #fff;
}

    .assa-programme-cta-card h2 {
        margin: 0 0 9px;
        color: #fff;
        font-size: clamp(1.7rem,3vw,2.6rem);
    }

    .assa-programme-cta-card p {
        max-width: 750px;
        margin: 0;
        color: rgba(255,255,255,.75);
        line-height: 1.6;
    }

.assa-programme-cta-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 18px;
    border-radius: 10px;
    background: var(--assa-gold);
    color: #111;
    font-size: .82rem;
    font-weight: 900;
    text-decoration: none;
}


/* =========================================================
   BACK TO WHAT WE DO
   ========================================================= */

.assa-programme-back {
    padding: 23px 0;
    border-top: 1px solid var(--assa-line);
    background: #f7fafc;
}

    .assa-programme-back a {
        color: var(--assa-blue-dark);
        font-size: .82rem;
        font-weight: 800;
        text-decoration: none;
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1050px) {

    .assa-programme-timeline-list {
        grid-template-columns: repeat(2,1fr);
    }

    .assa-programme-feature-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .assa-programme-detail-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .assa-programme-stat-grid {
        grid-template-columns: repeat(2,1fr);
    }
}


@media(max-width:780px) {

    .assa-programme-hero {
        padding: 48px 0;
    }

    .assa-programme-intro-grid,
    .assa-programme-content-grid,
    .assa-programme-cta-card {
        grid-template-columns: 1fr;
    }

    .assa-programme-intro-grid,
    .assa-programme-content-grid {
        gap: 32px;
    }

    .assa-programme-image img {
        min-height: 280px;
    }
}


@media(max-width:560px) {

    .assa-programme-timeline-list,
    .assa-programme-feature-grid,
    .assa-programme-detail-grid,
    .assa-programme-stat-grid {
        grid-template-columns: 1fr;
    }

    .assa-programme-timeline-item,
    .assa-programme-feature,
    .assa-programme-detail-card {
        min-height: auto;
    }

    .assa-programme-cta-card {
        padding: 25px;
    }
}
/* =========================================================
   INTERNAL ANCHOR SCROLLING
   ========================================================= */

html {
    scroll-behavior: smooth;
}

#residential-rehabilitation,
#medical-testing-unit,
#spinal-rehabilitation,
#special-needs,
#foster-parent-care,
#rehabilitation-centre {
    scroll-margin-top: 120px;
}

@media(prefers-reduced-motion:reduce) {

    html {
        scroll-behavior: auto;
    }
}
/* =========================================================
   FIXED BACK TO PROGRAMME CARDS ARROW
   ========================================================= */

.assa-back-to-cards {
    position: fixed;
    right: 24px;
    bottom: 90px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #0b4f7c;
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
    z-index: 9999;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}


    .assa-back-to-cards:hover {
        transform: translateY(-3px);
        color: #ffffff;
        box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
    }


    .assa-back-to-cards:focus-visible {
        outline: 3px solid #f5b335;
        outline-offset: 3px;
    }


/* Mobile */

@media (max-width: 780px) {

    .assa-back-to-cards {
        right: 16px;
        bottom: 82px;
        width: 44px;
        height: 44px;
        font-size: 21px;
    }
}
/* =========================================================
   EDUCATION PAGE
   ========================================================= */

.assa-education-page {
    --edu-blue: #073f69;
    --edu-blue-deep: #052f50;
    --edu-soft: #eef6fb;
    --edu-soft-2: #f8fbfd;
    --edu-gold: #f4a623;
    --edu-border: #d9e6ef;
    --edu-text: #253b4d;
}


/* =========================================================
   HERO
   ========================================================= */

.assa-education-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient( 105deg, #062f50 0%, #074b79 58%, #0b6595 100% );
    color: #fff;
}

    .assa-education-hero::after {
        content: "";
        position: absolute;
        width: 420px;
        height: 420px;
        right: -120px;
        top: -120px;
        border: 80px solid rgba(255,255,255,.055);
        border-radius: 50%;
    }

.assa-education-hero-inner {
    position: relative;
    z-index: 2;
    min-height: 540px;
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(340px,.7fr);
    align-items: center;
    gap: 70px;
    padding-top: 75px;
    padding-bottom: 75px;
}

.assa-education-breadcrumb {
    margin-bottom: 24px;
    color: rgba(255,255,255,.72);
    font-size: .86rem;
    font-weight: 700;
    letter-spacing: .03em;
}

.assa-education-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: #ffd37d;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .78rem;
    font-weight: 900;
}

    .assa-education-kicker::before {
        content: "";
        width: 34px;
        height: 2px;
        background: #f4a623;
    }

.assa-education-hero h1 {
    max-width: 760px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.8rem,5vw,5.2rem);
    line-height: .99;
    letter-spacing: -.045em;
}

.assa-education-hero-copy {
    max-width: 700px;
    margin-top: 25px;
    color: rgba(255,255,255,.87);
    font-size: 1.12rem;
    line-height: 1.8;
}

.assa-education-hero-panel {
    position: relative;
    padding: 34px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 28px;
    background: rgba(255,255,255,.09);
    backdrop-filter: blur(8px);
    box-shadow: 0 24px 60px rgba(0,0,0,.16);
}

    .assa-education-hero-panel strong {
        display: block;
        color: #ffd37d;
        font-size: 3.2rem;
        line-height: 1;
    }

    .assa-education-hero-panel h2 {
        margin: 14px 0 12px;
        color: #fff;
        font-size: 1.55rem;
    }

    .assa-education-hero-panel p {
        margin: 0;
        color: rgba(255,255,255,.82);
        line-height: 1.75;
    }


/* =========================================================
   EDUCATION JOURNEY
   ========================================================= */

.assa-education-journey {
    padding: 80px 0 86px;
    background: #fff;
}

.assa-education-heading {
    max-width: 760px;
    margin-bottom: 45px;
}

    .assa-education-heading .assa-eyebrow {
        margin-bottom: 12px;
    }

    .assa-education-heading h2 {
        margin: 0 0 14px;
        color: var(--edu-blue-deep);
        font-size: clamp(2rem,3vw,3.15rem);
        line-height: 1.08;
    }

    .assa-education-heading p {
        margin: 0;
        color: #536b7c;
        font-size: 1.04rem;
        line-height: 1.75;
    }

.assa-education-timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 22px;
}

    .assa-education-timeline::before {
        content: "";
        position: absolute;
        left: 4%;
        right: 4%;
        top: 31px;
        height: 2px;
        background: linear-gradient( 90deg, var(--edu-gold), #9bc9df );
    }

.assa-education-year {
    position: relative;
    z-index: 2;
    padding-top: 4px;
}

.assa-education-year-marker {
    width: 56px;
    height: 56px;
    margin-bottom: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 5px solid #fff;
    border-radius: 50%;
    background: var(--edu-gold);
    box-shadow: 0 0 0 1px #e5b657;
    color: #102f47;
    font-size: .75rem;
    font-weight: 900;
}

.assa-education-year-card {
    min-height: 190px;
    padding: 25px;
    border: 1px solid var(--edu-border);
    border-radius: 20px;
    background: var(--edu-soft-2);
}

    .assa-education-year-card h3 {
        margin: 0 0 10px;
        color: var(--edu-blue);
        font-size: 1.12rem;
    }

    .assa-education-year-card p {
        margin: 0;
        color: #586e7d;
        line-height: 1.7;
        font-size: .94rem;
    }


/* =========================================================
   EDITORIAL PROGRAMME BLOCKS
   ========================================================= */

.assa-education-story {
    padding: 92px 0;
}

    .assa-education-story.alt {
        background: var(--edu-soft);
    }

.assa-education-story-grid {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    align-items: center;
    gap: 75px;
}

    .assa-education-story-grid.reverse {
        grid-template-columns: 1.18fr .82fr;
    }

        .assa-education-story-grid.reverse .assa-education-visual {
            order: 2;
        }

.assa-education-story-number {
    display: block;
    margin-bottom: 13px;
    color: var(--edu-gold);
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.assa-education-story h2 {
    margin: 0 0 22px;
    color: var(--edu-blue-deep);
    font-size: clamp(2rem,3vw,3.1rem);
    line-height: 1.08;
}

.assa-education-story p {
    color: #455e70;
    line-height: 1.82;
}

.assa-education-story ul {
    margin: 25px 0;
    padding: 0;
    list-style: none;
}

.assa-education-story li {
    position: relative;
    margin: 11px 0;
    padding-left: 27px;
    color: #405a6d;
    line-height: 1.55;
}

    .assa-education-story li::before {
        content: "✓";
        position: absolute;
        left: 0;
        top: 0;
        color: #e99700;
        font-weight: 900;
    }

.assa-education-visual {
    min-height: 410px;
    overflow: hidden;
    position: relative;
    border-radius: 30px;
    background: linear-gradient( 145deg, #dcecf5, #f8fbfd );
    box-shadow: 0 24px 55px rgba(12,55,84,.11);
}

    .assa-education-visual img {
        width: 100%;
        height: 100%;
        min-height: 410px;
        object-fit: cover;
        display: block;
    }

.assa-education-visual-placeholder {
    min-height: 410px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    text-align: center;
    color: #527086;
}

    .assa-education-visual-placeholder strong {
        display: block;
        margin-bottom: 10px;
        color: var(--edu-blue);
        font-size: 1.25rem;
    }


/* =========================================================
   KEY POINT TAGS
   ========================================================= */

.assa-education-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}

.assa-education-tag {
    display: inline-flex;
    padding: 8px 13px;
    border: 1px solid #cbdde9;
    border-radius: 999px;
    background: #fff;
    color: #31566e;
    font-size: .84rem;
    font-weight: 800;
}


/* =========================================================
   EDUCATION SUPPORT STRIP
   ========================================================= */

.assa-education-support {
    padding: 90px 0;
    background: var(--edu-blue-deep);
    color: #fff;
}

    .assa-education-support .assa-education-heading h2 {
        color: #fff;
    }

    .assa-education-support .assa-education-heading p {
        color: rgba(255,255,255,.72);
    }

.assa-education-support-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 18px;
}

.assa-education-support-card {
    padding: 28px 24px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 20px;
    background: rgba(255,255,255,.065);
}

    .assa-education-support-card span {
        display: block;
        margin-bottom: 16px;
        color: #ffc14c;
        font-size: 1.6rem;
        font-weight: 900;
    }

    .assa-education-support-card h3 {
        margin: 0 0 10px;
        color: #fff;
        font-size: 1.1rem;
    }

    .assa-education-support-card p {
        margin: 0;
        color: rgba(255,255,255,.7);
        font-size: .93rem;
        line-height: 1.65;
    }


/* =========================================================
   EDUCATION TO LIVELIHOOD
   ========================================================= */

.assa-education-progression {
    padding: 95px 0;
    background: #fff;
}

.assa-education-progression-track {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: center;
    gap: 20px;
    margin-top: 40px;
}

.assa-education-progression-card {
    min-height: 190px;
    padding: 30px;
    border: 1px solid var(--edu-border);
    border-radius: 24px;
    background: var(--edu-soft-2);
}

    .assa-education-progression-card small {
        display: block;
        margin-bottom: 12px;
        color: #df8d00;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: .1em;
    }

    .assa-education-progression-card h3 {
        margin: 0 0 10px;
        color: var(--edu-blue);
    }

    .assa-education-progression-card p {
        margin: 0;
        color: #567082;
        line-height: 1.7;
    }

.assa-education-progress-arrow {
    color: #e89a12;
    font-size: 1.8rem;
    font-weight: 900;
}


/* =========================================================
   CTA
   ========================================================= */

.assa-education-cta {
    padding: 85px 0;
    background: var(--edu-soft);
}

.assa-education-cta-box {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 35px;
    padding: 48px 52px;
    border-radius: 28px;
    background: #fff;
    border: 1px solid var(--edu-border);
    box-shadow: 0 18px 50px rgba(18,65,93,.08);
}

    .assa-education-cta-box h2 {
        margin: 0 0 10px;
        color: var(--edu-blue-deep);
        font-size: 2rem;
    }

    .assa-education-cta-box p {
        max-width: 720px;
        margin: 0;
        color: #597183;
        line-height: 1.7;
    }

.assa-education-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 25px;
    border-radius: 12px;
    background: var(--edu-gold);
    color: #122d40;
    text-decoration: none;
    font-weight: 900;
}

    .assa-education-cta-btn:hover {
        transform: translateY(-2px);
        color: #122d40;
    }


/* =========================================================
   FLOATING JOURNEY BUTTON
   ========================================================= */

.assa-education-back-journey {
    position: fixed;
    right: 24px;
    bottom: 90px;
    z-index: 9999;
    min-width: 48px;
    height: 48px;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 999px;
    background: var(--edu-blue);
    color: #fff;
    box-shadow: 0 7px 22px rgba(0,0,0,.22);
    text-decoration: none;
    font-size: .82rem;
    font-weight: 900;
}

    .assa-education-back-journey:hover {
        color: #fff;
        transform: translateY(-2px);
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1050px) {

    .assa-education-hero-inner {
        grid-template-columns: 1fr;
        gap: 35px;
        min-height: auto;
    }

    .assa-education-hero-panel {
        max-width: 620px;
    }

    .assa-education-timeline {
        grid-template-columns: repeat(2,1fr);
    }

        .assa-education-timeline::before {
            display: none;
        }

    .assa-education-story-grid,
    .assa-education-story-grid.reverse {
        grid-template-columns: 1fr 1fr;
        gap: 42px;
    }

    .assa-education-support-grid {
        grid-template-columns: repeat(2,1fr);
    }
}


@media(max-width:780px) {

    .assa-education-hero-inner {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    .assa-education-hero h1 {
        font-size: 2.8rem;
    }

    .assa-education-hero-panel {
        padding: 26px;
    }

    .assa-education-timeline {
        grid-template-columns: 1fr;
    }

    .assa-education-year {
        display: grid;
        grid-template-columns: 58px 1fr;
        gap: 16px;
    }

    .assa-education-year-marker {
        width: 50px;
        height: 50px;
    }

    .assa-education-year-card {
        min-height: 0;
    }

    .assa-education-story {
        padding: 70px 0;
    }

    .assa-education-story-grid,
    .assa-education-story-grid.reverse {
        grid-template-columns: 1fr;
    }

        .assa-education-story-grid.reverse .assa-education-visual {
            order: 0;
        }

    .assa-education-visual,
    .assa-education-visual img,
    .assa-education-visual-placeholder {
        min-height: 300px;
    }

    .assa-education-support-grid {
        grid-template-columns: 1fr;
    }

    .assa-education-progression-track {
        grid-template-columns: 1fr;
    }

    .assa-education-progress-arrow {
        transform: rotate(90deg);
        justify-self: center;
    }

    .assa-education-cta-box {
        grid-template-columns: 1fr;
        padding: 34px 28px;
    }

    .assa-education-cta-btn {
        justify-self: start;
    }

    .assa-education-back-journey {
        right: 16px;
        bottom: 82px;
    }
}


@media(max-width:520px) {

    .assa-education-hero h1 {
        font-size: 2.35rem;
    }

    .assa-education-back-journey {
        width: 44px;
        min-width: 44px;
        padding: 0;
        font-size: 0;
    }

        .assa-education-back-journey span {
            font-size: 1.2rem;
        }
}
/* =========================================================
   SKILL DEVELOPMENT PAGE
   ========================================================= */

.assa-skill-page {
    --skill-navy: #063654;
    --skill-blue: #07557f;
    --skill-blue-soft: #eaf5fa;
    --skill-orange: #f5a623;
    --skill-orange-soft: #fff5e4;
    --skill-white: #ffffff;
    --skill-text: #294657;
    --skill-muted: #657d8c;
    --skill-border: #d9e7ee;
    --skill-surface: #f7fafc;
}


/* =========================================================
   HERO
   ========================================================= */

.assa-skill-hero {
    position: relative;
    overflow: hidden;
    padding: 82px 0 90px;
    background: linear-gradient( 118deg, #052f4c 0%, #064b70 56%, #0877a4 100% );
    color: #fff;
}

    .assa-skill-hero::before {
        content: "";
        position: absolute;
        width: 420px;
        height: 420px;
        right: -130px;
        bottom: -200px;
        border-radius: 50%;
        border: 90px solid rgba(255,255,255,.055);
    }

    .assa-skill-hero::after {
        content: "";
        position: absolute;
        left: -120px;
        top: -200px;
        width: 360px;
        height: 360px;
        border-radius: 50%;
        background: rgba(245,166,35,.08);
    }

.assa-skill-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0,1.12fr) minmax(340px,.72fr);
    align-items: center;
    gap: 75px;
}

.assa-skill-breadcrumb {
    margin-bottom: 26px;
    color: rgba(255,255,255,.7);
    font-size: .85rem;
    font-weight: 700;
}

.assa-skill-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: #ffd27d;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

    .assa-skill-kicker::before {
        content: "";
        width: 38px;
        height: 3px;
        border-radius: 3px;
        background: var(--skill-orange);
    }

.assa-skill-hero h1 {
    max-width: 750px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.8rem,5vw,5.1rem);
    line-height: 1;
    letter-spacing: -.04em;
}

.assa-skill-hero-copy {
    max-width: 700px;
    margin: 25px 0 0;
    color: rgba(255,255,255,.86);
    font-size: 1.12rem;
    line-height: 1.78;
}


/* HERO PATHWAY PANEL */

.assa-skill-hero-panel {
    padding: 34px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 28px;
    background: rgba(255,255,255,.085);
    box-shadow: 0 24px 65px rgba(0,0,0,.17);
    backdrop-filter: blur(8px);
}

.assa-skill-hero-panel-title {
    margin-bottom: 25px;
    color: #fff;
    font-size: 1.15rem;
    font-weight: 900;
}

.assa-skill-hero-step {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 17px;
    align-items: start;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
}

    .assa-skill-hero-step:last-child {
        border-bottom: 0;
    }

.assa-skill-hero-step-number {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--skill-orange);
    color: #14344a;
    font-size: .84rem;
    font-weight: 900;
}

.assa-skill-hero-step h3 {
    margin: 0 0 5px;
    color: #fff;
    font-size: 1.03rem;
}

.assa-skill-hero-step p {
    margin: 0;
    color: rgba(255,255,255,.69);
    font-size: .9rem;
    line-height: 1.6;
}


/* =========================================================
   INTRO
   ========================================================= */

.assa-skill-intro {
    padding: 90px 0;
    background: #fff;
}

.assa-skill-intro-grid {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 80px;
}

.assa-skill-intro h2 {
    margin: 8px 0 0;
    color: var(--skill-navy);
    font-size: clamp(2.1rem,3vw,3.2rem);
    line-height: 1.08;
}

.assa-skill-intro-copy p {
    margin-top: 0;
    margin-bottom: 19px;
    color: var(--skill-text);
    line-height: 1.82;
}


/* =========================================================
   LEARN -> PRACTICE -> EARN
   ========================================================= */

.assa-skill-pathway {
    padding: 90px 0;
    background: var(--skill-blue-soft);
}

.assa-skill-heading {
    max-width: 760px;
    margin-bottom: 45px;
}

    .assa-skill-heading h2 {
        margin: 8px 0 14px;
        color: var(--skill-navy);
        font-size: clamp(2.1rem,3vw,3.15rem);
        line-height: 1.08;
    }

    .assa-skill-heading p {
        margin: 0;
        color: var(--skill-muted);
        line-height: 1.75;
    }

.assa-skill-pathway-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: stretch;
    gap: 20px;
}

.assa-skill-pathway-card {
    position: relative;
    min-height: 250px;
    padding: 34px;
    overflow: hidden;
    border: 1px solid var(--skill-border);
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 13px 35px rgba(18,70,98,.07);
}

    .assa-skill-pathway-card::after {
        content: "";
        position: absolute;
        right: -45px;
        bottom: -45px;
        width: 125px;
        height: 125px;
        border-radius: 50%;
        background: rgba(245,166,35,.08);
    }

.assa-skill-pathway-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 22px;
    border-radius: 15px;
    background: var(--skill-orange);
    color: var(--skill-navy);
    font-weight: 900;
}

.assa-skill-pathway-card h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 12px;
    color: var(--skill-blue);
    font-size: 1.45rem;
}

.assa-skill-pathway-card p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: #587180;
    line-height: 1.7;
}

.assa-skill-pathway-arrow {
    align-self: center;
    color: #e99400;
    font-size: 2rem;
    font-weight: 900;
}


/* =========================================================
   TRAINING MOSAIC
   ========================================================= */

.assa-skill-training {
    padding: 96px 0;
    background: #fff;
}

.assa-skill-mosaic {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    gap: 20px;
}

.assa-skill-course {
    grid-column: span 4;
    min-height: 260px;
    padding: 30px;
    border: 1px solid var(--skill-border);
    border-radius: 24px;
    background: var(--skill-surface);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

    .assa-skill-course:hover {
        transform: translateY(-4px);
        border-color: #b9d6e5;
        box-shadow: 0 18px 40px rgba(11,61,91,.1);
    }

    .assa-skill-course.featured {
        grid-column: span 8;
        background: linear-gradient( 135deg, #073b5c, #09658c );
        color: #fff;
    }

    .assa-skill-course.orange {
        background: var(--skill-orange-soft);
    }

.assa-skill-course-label {
    display: inline-flex;
    margin-bottom: 21px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #e7f2f7;
    color: var(--skill-blue);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.assa-skill-course.featured .assa-skill-course-label {
    background: rgba(255,255,255,.13);
    color: #ffd17b;
}

.assa-skill-course h3 {
    margin: 0 0 13px;
    color: var(--skill-navy);
    font-size: 1.35rem;
}

.assa-skill-course.featured h3 {
    color: #fff;
}

.assa-skill-course p {
    margin: 0;
    color: #5a7281;
    line-height: 1.72;
}

.assa-skill-course.featured p {
    color: rgba(255,255,255,.76);
}

.assa-skill-course-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px 24px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

    .assa-skill-course-list li {
        position: relative;
        padding-left: 19px;
        color: rgba(255,255,255,.82);
        line-height: 1.55;
    }

        .assa-skill-course-list li::before {
            content: "";
            position: absolute;
            left: 0;
            top: .62em;
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--skill-orange);
        }


/* =========================================================
   ITI SPOTLIGHT
   ========================================================= */

.assa-skill-iti {
    padding: 95px 0;
    background: var(--skill-orange-soft);
}

.assa-skill-iti-grid {
    display: grid;
    grid-template-columns: 1.04fr .96fr;
    align-items: center;
    gap: 75px;
}

.assa-skill-iti h2 {
    margin: 8px 0 20px;
    color: var(--skill-navy);
    font-size: clamp(2rem,3vw,3rem);
    line-height: 1.1;
}

.assa-skill-iti p {
    color: var(--skill-text);
    line-height: 1.8;
}

.assa-skill-iti-list {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 14px;
    margin-top: 28px;
}

.assa-skill-iti-item {
    padding: 17px 18px;
    border: 1px solid #ead8b8;
    border-radius: 15px;
    background: rgba(255,255,255,.72);
    color: #365466;
    font-weight: 800;
}

.assa-skill-visual {
    min-height: 430px;
    overflow: hidden;
    position: relative;
    border-radius: 30px;
    background: linear-gradient( 145deg, #dcebf2, #f7fbfd );
    box-shadow: 0 25px 55px rgba(8,56,84,.12);
}

    .assa-skill-visual img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 430px;
        object-fit: cover;
    }

.assa-skill-visual-placeholder {
    min-height: 430px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px;
    text-align: center;
    color: #607b8c;
}

    .assa-skill-visual-placeholder strong {
        margin-bottom: 10px;
        color: var(--skill-blue);
        font-size: 1.3rem;
    }


/* =========================================================
   INCLUSIVE SKILLS
   ========================================================= */

.assa-skill-inclusive {
    padding: 95px 0;
    background: #fff;
}

.assa-skill-inclusive-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 75px;
}

.assa-skill-inclusive h2 {
    margin: 8px 0 0;
    color: var(--skill-navy);
    font-size: clamp(2rem,3vw,3rem);
    line-height: 1.08;
}

.assa-skill-inclusive-content {
    padding: 36px;
    border-left: 5px solid var(--skill-orange);
    border-radius: 0 22px 22px 0;
    background: var(--skill-surface);
}

    .assa-skill-inclusive-content p {
        margin-top: 0;
        color: var(--skill-text);
        line-height: 1.8;
    }

.assa-skill-inclusive-points {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 14px;
    margin-top: 25px;
}

.assa-skill-inclusive-point {
    padding: 18px;
    border: 1px solid var(--skill-border);
    border-radius: 15px;
    background: #fff;
    color: #3f5d6f;
    font-weight: 800;
}


/* =========================================================
   AMAR FOUNDATION
   ========================================================= */

.assa-skill-foundation {
    position: relative;
    overflow: hidden;
    padding: 100px 0;
    background: var(--skill-navy);
    color: #fff;
}

    .assa-skill-foundation::after {
        content: "";
        position: absolute;
        width: 480px;
        height: 480px;
        right: -210px;
        top: -180px;
        border: 95px solid rgba(255,255,255,.035);
        border-radius: 50%;
    }

.assa-skill-foundation-head {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 75px;
    margin-bottom: 48px;
}

.assa-skill-foundation h2 {
    margin: 8px 0 0;
    color: #fff;
    font-size: clamp(2.1rem,3vw,3.2rem);
    line-height: 1.08;
}

.assa-skill-foundation-copy p {
    margin-top: 0;
    color: rgba(255,255,255,.75);
    line-height: 1.82;
}

.assa-skill-foundation-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
}

.assa-skill-foundation-card {
    padding: 30px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 22px;
    background: rgba(255,255,255,.065);
}

    .assa-skill-foundation-card span {
        display: block;
        margin-bottom: 18px;
        color: #ffc15c;
        font-size: .78rem;
        font-weight: 900;
        letter-spacing: .12em;
        text-transform: uppercase;
    }

    .assa-skill-foundation-card h3 {
        margin: 0 0 12px;
        color: #fff;
        font-size: 1.3rem;
    }

    .assa-skill-foundation-card p {
        margin: 0;
        color: rgba(255,255,255,.68);
        line-height: 1.72;
    }


/* =========================================================
   LIVELIHOOD OUTCOMES
   ========================================================= */

.assa-skill-outcomes {
    padding: 95px 0;
    background: var(--skill-blue-soft);
}

.assa-skill-outcome-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 18px;
}

.assa-skill-outcome {
    min-height: 205px;
    padding: 27px;
    border: 1px solid var(--skill-border);
    border-radius: 21px;
    background: #fff;
}

.assa-skill-outcome-number {
    display: block;
    margin-bottom: 18px;
    color: var(--skill-orange);
    font-size: 1.7rem;
    font-weight: 900;
}

.assa-skill-outcome h3 {
    margin: 0 0 10px;
    color: var(--skill-navy);
    font-size: 1.12rem;
}

.assa-skill-outcome p {
    margin: 0;
    color: #637a89;
    font-size: .94rem;
    line-height: 1.67;
}


/* =========================================================
   EDUCATION BRIDGE
   ========================================================= */

.assa-skill-bridge {
    padding: 92px 0;
    background: #fff;
}

.assa-skill-bridge-box {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 40px;
    padding: 48px 52px;
    border: 1px solid var(--skill-border);
    border-radius: 28px;
    background: var(--skill-surface);
}

    .assa-skill-bridge-box h2 {
        margin: 8px 0 12px;
        color: var(--skill-navy);
        font-size: 2rem;
    }

    .assa-skill-bridge-box p {
        max-width: 760px;
        margin: 0;
        color: #607786;
        line-height: 1.73;
    }

.assa-skill-secondary-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 23px;
    border: 2px solid var(--skill-blue);
    border-radius: 12px;
    color: var(--skill-blue);
    text-decoration: none;
    font-weight: 900;
}

    .assa-skill-secondary-link:hover {
        background: var(--skill-blue);
        color: #fff;
    }


/* =========================================================
   CTA
   ========================================================= */

.assa-skill-cta {
    padding: 92px 0;
    background: var(--skill-orange-soft);
}

.assa-skill-cta-box {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 35px;
    align-items: center;
    padding: 48px 52px;
    border-radius: 28px;
    background: #fff;
    border: 1px solid #eddec4;
    box-shadow: 0 18px 50px rgba(73,55,19,.07);
}

    .assa-skill-cta-box h2 {
        margin: 0 0 11px;
        color: var(--skill-navy);
        font-size: 2rem;
    }

    .assa-skill-cta-box p {
        max-width: 750px;
        margin: 0;
        color: #607786;
        line-height: 1.72;
    }

.assa-skill-cta-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 51px;
    padding: 0 26px;
    border-radius: 12px;
    background: var(--skill-orange);
    color: #173649;
    text-decoration: none;
    font-weight: 900;
}

    .assa-skill-cta-btn:hover {
        color: #173649;
        transform: translateY(-2px);
    }


/* =========================================================
   FLOATING PATHWAY BUTTON
   ========================================================= */

.assa-skill-back-pathway {
    position: fixed;
    right: 24px;
    bottom: 90px;
    z-index: 9999;
    min-width: 48px;
    height: 48px;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 999px;
    background: var(--skill-navy);
    color: #fff;
    box-shadow: 0 7px 22px rgba(0,0,0,.22);
    text-decoration: none;
    font-size: .82rem;
    font-weight: 900;
}

    .assa-skill-back-pathway:hover {
        color: #fff;
        transform: translateY(-2px);
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1050px) {

    .assa-skill-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .assa-skill-hero-panel {
        max-width: 650px;
    }

    .assa-skill-mosaic {
        grid-template-columns: repeat(2,1fr);
    }

    .assa-skill-course,
    .assa-skill-course.featured {
        grid-column: auto;
    }

    .assa-skill-iti-grid {
        grid-template-columns: 1fr 1fr;
        gap: 45px;
    }

    .assa-skill-foundation-grid {
        grid-template-columns: 1fr;
    }

    .assa-skill-outcome-grid {
        grid-template-columns: repeat(2,1fr);
    }
}


@media(max-width:780px) {

    .assa-skill-hero {
        padding: 60px 0;
    }

        .assa-skill-hero h1 {
            font-size: 2.75rem;
        }

    .assa-skill-intro-grid,
    .assa-skill-inclusive-grid,
    .assa-skill-foundation-head {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .assa-skill-pathway-grid {
        grid-template-columns: 1fr;
    }

    .assa-skill-pathway-arrow {
        transform: rotate(90deg);
        justify-self: center;
    }

    .assa-skill-mosaic {
        grid-template-columns: 1fr;
    }

    .assa-skill-course-list {
        grid-template-columns: 1fr;
    }

    .assa-skill-iti-grid {
        grid-template-columns: 1fr;
    }

    .assa-skill-iti-list {
        grid-template-columns: 1fr;
    }

    .assa-skill-visual,
    .assa-skill-visual img,
    .assa-skill-visual-placeholder {
        min-height: 300px;
    }

    .assa-skill-inclusive-points {
        grid-template-columns: 1fr;
    }

    .assa-skill-outcome-grid {
        grid-template-columns: 1fr;
    }

    .assa-skill-bridge-box,
    .assa-skill-cta-box {
        grid-template-columns: 1fr;
        padding: 34px 28px;
    }

    .assa-skill-secondary-link,
    .assa-skill-cta-btn {
        justify-self: start;
    }

    .assa-skill-back-pathway {
        right: 16px;
        bottom: 82px;
    }
}


@media(max-width:520px) {

    .assa-skill-hero h1 {
        font-size: 2.3rem;
    }

    .assa-skill-hero-panel {
        padding: 25px;
    }

    .assa-skill-back-pathway {
        width: 44px;
        min-width: 44px;
        padding: 0;
        font-size: 0;
    }

        .assa-skill-back-pathway span {
            font-size: 1.2rem;
        }
}
/* =========================================================
   CENTRE OF EXCELLENCE PAGE
   ========================================================= */

.assa-coe-page {
    --coe-navy: #052f4d;
    --coe-blue: #075a86;
    --coe-cyan: #2aa2c6;
    --coe-soft: #edf7fa;
    --coe-soft-2: #f7fbfc;
    --coe-gold: #f5a623;
    --coe-text: #294858;
    --coe-muted: #637d8b;
    --coe-border: #d7e6ec;
    --coe-white: #ffffff;
}


/* =========================================================
   HERO
   ========================================================= */

.assa-coe-hero {
    position: relative;
    overflow: hidden;
    padding: 92px 0 100px;
    background: linear-gradient( 125deg, #042c47 0%, #064d70 52%, #087b9d 100% );
    color: #fff;
}


    /* Blueprint grid */

    .assa-coe-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: .09;
        background-image: linear-gradient( rgba(255,255,255,.5) 1px, transparent 1px ), linear-gradient( 90deg, rgba(255,255,255,.5) 1px, transparent 1px );
        background-size: 42px 42px;
    }


    .assa-coe-hero::after {
        content: "";
        position: absolute;
        width: 520px;
        height: 520px;
        right: -180px;
        top: -210px;
        border: 100px solid rgba(255,255,255,.045);
        border-radius: 50%;
    }


.assa-coe-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(350px,.75fr);
    align-items: center;
    gap: 80px;
}


.assa-coe-breadcrumb {
    margin-bottom: 27px;
    color: rgba(255,255,255,.72);
    font-size: .85rem;
    font-weight: 700;
}


.assa-coe-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: #ffd27b;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}


    .assa-coe-kicker::before {
        content: "";
        width: 40px;
        height: 3px;
        background: var(--coe-gold);
        border-radius: 4px;
    }


.assa-coe-hero h1 {
    max-width: 790px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.8rem,5vw,5.15rem);
    line-height: 1;
    letter-spacing: -.045em;
}


.assa-coe-hero-copy {
    max-width: 720px;
    margin: 27px 0 0;
    color: rgba(255,255,255,.86);
    font-size: 1.12rem;
    line-height: 1.8;
}


/* Hero Innovation Panel */

.assa-coe-hero-panel {
    position: relative;
    padding: 35px;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 28px;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(8px);
    box-shadow: 0 25px 65px rgba(0,0,0,.16);
}


.assa-coe-panel-label {
    display: block;
    margin-bottom: 20px;
    color: #ffd47f;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}


.assa-coe-panel-row {
    display: grid;
    grid-template-columns: 48px 1fr;
    align-items: start;
    gap: 17px;
    padding: 17px 0;
    border-bottom: 1px solid rgba(255,255,255,.11);
}


    .assa-coe-panel-row:last-child {
        border-bottom: 0;
    }


.assa-coe-panel-icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(245,166,35,.95);
    color: #17384b;
    font-weight: 900;
}


.assa-coe-panel-row h3 {
    margin: 0 0 5px;
    color: #fff;
    font-size: 1.02rem;
}


.assa-coe-panel-row p {
    margin: 0;
    color: rgba(255,255,255,.67);
    font-size: .9rem;
    line-height: 1.55;
}


/* =========================================================
   INTRODUCTION
   ========================================================= */

.assa-coe-intro {
    padding: 95px 0;
    background: #fff;
}


.assa-coe-intro-grid {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 85px;
}


.assa-coe-intro h2 {
    margin: 8px 0 0;
    color: var(--coe-navy);
    font-size: clamp(2.1rem,3vw,3.15rem);
    line-height: 1.08;
}


.assa-coe-intro-copy p {
    margin-top: 0;
    margin-bottom: 19px;
    color: var(--coe-text);
    line-height: 1.83;
}


/* =========================================================
   SCALE PIPELINE
   ========================================================= */

.assa-coe-pipeline {
    padding: 95px 0;
    background: var(--coe-soft);
}


.assa-coe-heading {
    max-width: 780px;
    margin-bottom: 48px;
}


    .assa-coe-heading h2 {
        margin: 8px 0 14px;
        color: var(--coe-navy);
        font-size: clamp(2.1rem,3vw,3.2rem);
        line-height: 1.08;
    }


    .assa-coe-heading p {
        margin: 0;
        color: var(--coe-muted);
        line-height: 1.75;
    }


.assa-coe-pipeline-track {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    align-items: center;
    gap: 15px;
}


.assa-coe-pipeline-stage {
    min-height: 225px;
    padding: 29px;
    border: 1px solid var(--coe-border);
    border-radius: 23px;
    background: #fff;
    box-shadow: 0 13px 35px rgba(8,69,94,.065);
}


.assa-coe-stage-number {
    display: inline-flex;
    margin-bottom: 20px;
    color: var(--coe-gold);
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .12em;
}


.assa-coe-pipeline-stage h3 {
    margin: 0 0 11px;
    color: var(--coe-blue);
    font-size: 1.25rem;
}


.assa-coe-pipeline-stage p {
    margin: 0;
    color: #5c7582;
    line-height: 1.68;
    font-size: .94rem;
}


.assa-coe-pipeline-arrow {
    color: var(--coe-gold);
    font-size: 1.65rem;
    font-weight: 900;
}


/* =========================================================
   FIVE CORE CAPABILITIES
   ========================================================= */

.assa-coe-capabilities {
    padding: 100px 0;
    background: #fff;
}


.assa-coe-capability-grid {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    gap: 20px;
}


.assa-coe-capability {
    position: relative;
    overflow: hidden;
    grid-column: span 4;
    min-height: 290px;
    padding: 31px;
    border: 1px solid var(--coe-border);
    border-radius: 25px;
    background: var(--coe-soft-2);
}


    .assa-coe-capability.large {
        grid-column: span 6;
    }


    .assa-coe-capability.featured {
        background: linear-gradient( 140deg, #063956, #08769a );
        color: #fff;
        border-color: transparent;
    }


    .assa-coe-capability::after {
        content: "";
        position: absolute;
        right: -45px;
        bottom: -45px;
        width: 130px;
        height: 130px;
        border-radius: 50%;
        background: rgba(42,162,198,.07);
    }


    .assa-coe-capability.featured::after {
        background: rgba(255,255,255,.045);
    }


.assa-coe-capability-number {
    display: block;
    margin-bottom: 21px;
    color: var(--coe-gold);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}


.assa-coe-capability h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 13px;
    color: var(--coe-navy);
    font-size: 1.35rem;
}


.assa-coe-capability.featured h3 {
    color: #fff;
}


.assa-coe-capability p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: #5d7582;
    line-height: 1.72;
}


.assa-coe-capability.featured p {
    color: rgba(255,255,255,.76);
}


/* =========================================================
   TECHNOLOGY SECTION
   ========================================================= */

.assa-coe-tech {
    position: relative;
    overflow: hidden;
    padding: 105px 0;
    background: var(--coe-navy);
    color: #fff;
}


.assa-coe-tech-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 80px;
}


.assa-coe-tech h2 {
    margin: 8px 0 20px;
    color: #fff;
    font-size: clamp(2.1rem,3vw,3.15rem);
    line-height: 1.08;
}


.assa-coe-tech p {
    color: rgba(255,255,255,.75);
    line-height: 1.82;
}


.assa-coe-tech-list {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 14px;
    margin-top: 28px;
}


.assa-coe-tech-item {
    padding: 17px 18px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 15px;
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.84);
    font-weight: 800;
}


.assa-coe-tech-visual {
    padding: 34px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 28px;
    background: rgba(255,255,255,.065);
}


.assa-coe-tech-screen {
    padding: 24px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 55px rgba(0,0,0,.19);
}


.assa-coe-tech-screen-top {
    display: flex;
    gap: 6px;
    margin-bottom: 23px;
}


.assa-coe-tech-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #c9d8df;
}


.assa-coe-tech-dashboard {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 13px;
}


    .assa-coe-tech-dashboard div {
        min-height: 82px;
        padding: 16px;
        border-radius: 13px;
        background: #edf6f9;
        color: #31596d;
        font-size: .82rem;
        font-weight: 800;
    }


    .assa-coe-tech-dashboard .wide {
        grid-column: span 2;
        min-height: 115px;
        background: linear-gradient( 120deg, #e6f3f8, #f8fbfc );
    }


/* =========================================================
   RESEARCH & KNOWLEDGE
   ========================================================= */

.assa-coe-knowledge {
    padding: 100px 0;
    background: #fff;
}


.assa-coe-knowledge-grid {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 80px;
}


.assa-coe-knowledge h2 {
    margin: 8px 0 0;
    color: var(--coe-navy);
    font-size: clamp(2.1rem,3vw,3.1rem);
    line-height: 1.08;
}


.assa-coe-knowledge-stack {
    display: grid;
    gap: 16px;
}


.assa-coe-knowledge-item {
    display: grid;
    grid-template-columns: 62px 1fr;
    gap: 20px;
    padding: 25px;
    border: 1px solid var(--coe-border);
    border-radius: 20px;
    background: var(--coe-soft-2);
}


.assa-coe-knowledge-number {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: var(--coe-soft);
    color: var(--coe-blue);
    font-weight: 900;
}


.assa-coe-knowledge-item h3 {
    margin: 0 0 7px;
    color: var(--coe-navy);
    font-size: 1.12rem;
}


.assa-coe-knowledge-item p {
    margin: 0;
    color: #607784;
    line-height: 1.67;
}


/* =========================================================
   PARTNERSHIP ECOSYSTEM
   ========================================================= */

.assa-coe-partners {
    padding: 100px 0;
    background: linear-gradient( 180deg, #eef8fa, #f9fcfd );
}


.assa-coe-ecosystem {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
    margin-top: 45px;
}


.assa-coe-ecosystem-card {
    padding: 29px;
    border: 1px solid var(--coe-border);
    border-radius: 23px;
    background: #fff;
    text-align: center;
}


.assa-coe-ecosystem-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: var(--coe-soft);
    color: var(--coe-blue);
    font-size: 1.25rem;
    font-weight: 900;
}


.assa-coe-ecosystem-card h3 {
    margin: 0 0 9px;
    color: var(--coe-navy);
}


.assa-coe-ecosystem-card p {
    margin: 0;
    color: #657c89;
    line-height: 1.65;
    font-size: .94rem;
}


/* =========================================================
   PARTNER SUPPORT LIFECYCLE
   ========================================================= */

.assa-coe-support {
    padding: 100px 0;
    background: #fff;
}


.assa-coe-support-track {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 15px;
    margin-top: 43px;
}


.assa-coe-support-step {
    position: relative;
    min-height: 190px;
    padding: 26px 21px;
    border-top: 4px solid var(--coe-gold);
    background: var(--coe-soft-2);
    border-radius: 0 0 18px 18px;
}


    .assa-coe-support-step small {
        display: block;
        margin-bottom: 14px;
        color: var(--coe-blue);
        font-weight: 900;
        letter-spacing: .08em;
    }


    .assa-coe-support-step h3 {
        margin: 0 0 9px;
        color: var(--coe-navy);
        font-size: 1.06rem;
    }


    .assa-coe-support-step p {
        margin: 0;
        color: #657c89;
        line-height: 1.62;
        font-size: .9rem;
    }


/* =========================================================
   IMPACT STATEMENT
   ========================================================= */

.assa-coe-impact {
    padding: 100px 0;
    background: linear-gradient( 125deg, #063754, #08789b );
    color: #fff;
}


.assa-coe-impact-box {
    max-width: 950px;
    margin: 0 auto;
    text-align: center;
}


.assa-coe-impact-label {
    display: inline-block;
    margin-bottom: 20px;
    color: #ffd27a;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: .78rem;
}


.assa-coe-impact h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.1rem,4vw,3.8rem);
    line-height: 1.08;
}


.assa-coe-impact p {
    max-width: 780px;
    margin: 24px auto 0;
    color: rgba(255,255,255,.76);
    font-size: 1.05rem;
    line-height: 1.8;
}


/* =========================================================
   CTA
   ========================================================= */

.assa-coe-cta {
    padding: 92px 0;
    background: var(--coe-soft);
}


.assa-coe-cta-box {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 38px;
    padding: 50px 52px;
    border: 1px solid var(--coe-border);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(12,67,89,.07);
}


    .assa-coe-cta-box h2 {
        margin: 0 0 11px;
        color: var(--coe-navy);
        font-size: 2rem;
    }


    .assa-coe-cta-box p {
        max-width: 760px;
        margin: 0;
        color: #617987;
        line-height: 1.72;
    }


.assa-coe-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 51px;
    padding: 0 26px;
    border-radius: 12px;
    background: var(--coe-gold);
    color: #17384a;
    text-decoration: none;
    font-weight: 900;
}


    .assa-coe-cta-btn:hover {
        color: #17384a;
        transform: translateY(-2px);
    }


/* =========================================================
   FLOATING KNOWLEDGE BUTTON
   ========================================================= */

.assa-coe-back-core {
    position: fixed;
    right: 24px;
    bottom: 90px;
    z-index: 9999;
    min-width: 48px;
    height: 48px;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 999px;
    background: var(--coe-navy);
    color: #fff;
    box-shadow: 0 7px 22px rgba(0,0,0,.22);
    text-decoration: none;
    font-size: .82rem;
    font-weight: 900;
}


    .assa-coe-back-core:hover {
        color: #fff;
        transform: translateY(-2px);
    }


/* =========================================================
   COE TABLET AND MOBILE — 1050PX
   ========================================================= */

@media screen and (max-width: 1050px) {

    .assa-coe-page,
    .assa-coe-page * {
        box-sizing: border-box;
    }

    .assa-coe-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

        .assa-coe-page .assa-container {
            width: 100%;
            max-width: 100%;
            padding-right: 24px;
            padding-left: 24px;
        }

    .assa-coe-hero-grid,
    .assa-coe-intro-grid,
    .assa-coe-tech-grid,
    .assa-coe-knowledge-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 38px;
    }

        .assa-coe-hero-grid > *,
        .assa-coe-intro-grid > *,
        .assa-coe-tech-grid > *,
        .assa-coe-knowledge-grid > * {
            min-width: 0;
        }

    .assa-coe-hero-panel {
        width: 100%;
        max-width: 650px;
    }

    /* Model–Validate–Enable–Scale */

    .assa-coe-pipeline-track {
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: stretch;
        gap: 14px;
    }

    .assa-coe-pipeline-stage {
        width: 100%;
        min-width: 0;
        min-height: 0;
    }

    .assa-coe-pipeline-arrow {
        justify-self: center;
        transform: rotate(90deg);
        line-height: 1;
    }

    /* Capabilities */

    .assa-coe-capability-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .assa-coe-capability,
    .assa-coe-capability.large {
        grid-column: auto !important;
        width: 100%;
        min-width: 0;
    }

    /* Technology */

    .assa-coe-tech-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-coe-tech-screen,
    .assa-coe-tech-dashboard {
        width: 100%;
        min-width: 0;
    }

    /* Partners */

    .assa-coe-ecosystem {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    /* Support */

    .assa-coe-support-track {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    /* CTA */

    .assa-coe-cta-box {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }

    .assa-coe-cta-btn {
        justify-self: start;
    }
}


/* =========================================================
   COE TABLET AND MOBILE LAYOUT
   ========================================================= */

@media screen and (max-width: 991px) {

    .assa-coe-page,
    .assa-coe-page * {
        box-sizing: border-box;
    }

    .assa-coe-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

        .assa-coe-page .assa-container {
            width: 100%;
            max-width: 100%;
            padding-right: 24px;
            padding-left: 24px;
        }

    /* Hero */

    .assa-coe-hero {
        padding: 62px 0;
    }

    .assa-coe-hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

        .assa-coe-hero-grid > * {
            min-width: 0;
        }

    .assa-coe-hero h1 {
        font-size: clamp(2.5rem, 8vw, 3.6rem);
    }

    .assa-coe-hero-copy {
        font-size: 1rem;
        line-height: 1.7;
    }

    .assa-coe-hero-panel {
        width: 100%;
        max-width: 650px;
        padding: 28px;
    }

    /* Introduction */

    .assa-coe-intro-grid,
    .assa-coe-knowledge-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 35px;
    }

        .assa-coe-intro-grid > *,
        .assa-coe-knowledge-grid > * {
            min-width: 0;
        }

    /* Model–Validate–Enable–Scale pathway */

    .assa-coe-pipeline {
        padding: 65px 0;
    }

    .assa-coe-pipeline-track {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
        gap: 14px;
    }

    .assa-coe-pipeline-stage {
        width: 100%;
        min-width: 0;
        min-height: 0;
        padding: 26px;
    }

    .assa-coe-pipeline-arrow {
        justify-self: center;
        transform: rotate(90deg);
        line-height: 1;
    }

    /* Capabilities */

    .assa-coe-capabilities {
        padding: 70px 0;
    }

    .assa-coe-capability-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .assa-coe-capability,
    .assa-coe-capability.large {
        grid-column: auto;
        width: 100%;
        min-width: 0;
        min-height: 0;
    }

    /* Technology */

    .assa-coe-tech-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 40px;
    }

        .assa-coe-tech-grid > * {
            min-width: 0;
        }

    .assa-coe-tech-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-coe-tech-screen,
    .assa-coe-tech-dashboard {
        width: 100%;
        min-width: 0;
    }

    /* Partner ecosystem */

    .assa-coe-ecosystem {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-coe-ecosystem-card {
        min-width: 0;
    }

    /* Support pathway */

    .assa-coe-support-track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-coe-support-step {
        min-width: 0;
    }

    /* CTA */

    .assa-coe-cta-box {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
        padding: 34px 28px;
    }

    .assa-coe-cta-btn {
        justify-self: start;
    }

    .assa-coe-back-core {
        right: 16px;
        bottom: 82px;
    }
}


/* =========================================================
   COE SMALL MOBILE LAYOUT
   ========================================================= */

@media screen and (max-width: 575px) {

    .assa-coe-page .assa-container {
        padding-right: 18px;
        padding-left: 18px;
    }

    .assa-coe-hero {
        padding: 48px 0;
    }

        .assa-coe-hero h1 {
            font-size: 2.25rem;
        }

    .assa-coe-hero-panel {
        padding: 22px;
    }

    .assa-coe-panel-row {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 12px;
    }

    .assa-coe-panel-icon {
        width: 40px;
        height: 40px;
    }

    .assa-coe-heading {
        margin-bottom: 30px;
    }

        .assa-coe-heading h2 {
            font-size: 2rem;
        }

    .assa-coe-pipeline-stage,
    .assa-coe-capability,
    .assa-coe-ecosystem-card,
    .assa-coe-support-step {
        padding: 22px;
    }

    .assa-coe-tech-list,
    .assa-coe-tech-dashboard,
    .assa-coe-ecosystem,
    .assa-coe-support-track {
        grid-template-columns: minmax(0, 1fr);
    }

        .assa-coe-tech-dashboard .wide {
            grid-column: auto;
        }

    .assa-coe-cta-box {
        padding: 28px 22px;
    }

    .assa-coe-cta-btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .assa-coe-back-core {
        width: 44px;
        min-width: 44px;
        padding: 0;
        font-size: 0;
    }

        .assa-coe-back-core span {
            font-size: 1.2rem;
        }
}
/* =========================================================
   PARA SPORTS PAGE
   ========================================================= */

.assa-sports-page {
    --sports-navy: #052f4d;
    --sports-navy-deep: #03243b;
    --sports-blue: #075a86;
    --sports-blue-bright: #087eae;
    --sports-orange: #f5a623;
    --sports-orange-soft: #fff4df;
    --sports-soft: #edf6fa;
    --sports-surface: #f8fbfd;
    --sports-border: #d8e6ed;
    --sports-text: #294858;
    --sports-muted: #647c8a;
    --sports-white: #ffffff;
}


/* =========================================================
   HERO
   ========================================================= */

.assa-sports-hero {
    position: relative;
    overflow: hidden;
    background: var(--sports-navy-deep);
    color: #fff;
}

.assa-sports-hero-grid {
    min-height: 610px;
    display: grid;
    grid-template-columns: 1fr 1fr;
}


/* HERO CONTENT */

.assa-sports-hero-content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 78px max(40px,calc((100vw - 1320px) / 2)) 78px max(40px,calc((100vw - 1320px) / 2));
    padding-right: 70px;
    background: linear-gradient( 135deg, #032a45 0%, #064f75 100% );
}

.assa-sports-breadcrumb {
    margin-bottom: 27px;
    color: rgba(255,255,255,.66);
    font-size: .85rem;
    font-weight: 700;
}


.assa-sports-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 19px;
    color: #ffd27a;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}


    .assa-sports-kicker::before {
        content: "";
        width: 40px;
        height: 3px;
        border-radius: 3px;
        background: var(--sports-orange);
    }


.assa-sports-hero h1 {
    max-width: 680px;
    margin: 0;
    color: #fff;
    font-size: clamp(3rem,5.2vw,5.5rem);
    line-height: .96;
    letter-spacing: -.045em;
}


.assa-sports-hero-copy {
    max-width: 660px;
    margin: 26px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 1.12rem;
    line-height: 1.8;
}


/* HERO IMAGE */

.assa-sports-hero-visual {
    position: relative;
    min-height: 610px;
    overflow: hidden;
    background: linear-gradient( 145deg, #0b668e, #073954 );
}


    .assa-sports-hero-visual img {
        width: 100%;
        height: 100%;
        min-height: 610px;
        display: block;
        object-fit: cover;
    }


    .assa-sports-hero-visual::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 90deg, rgba(3,36,59,.55) 0%, rgba(3,36,59,.12) 45%, rgba(3,36,59,.05) 100% );
    }


.assa-sports-hero-placeholder {
    min-height: 610px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 50px;
    text-align: center;
    color: rgba(255,255,255,.75);
}


    .assa-sports-hero-placeholder strong {
        display: block;
        margin-bottom: 10px;
        color: #fff;
        font-size: 1.35rem;
    }


/* =========================================================
   THREE-WORD SPORTS STRIP
   ========================================================= */

.assa-sports-manifesto {
    position: relative;
    z-index: 5;
    margin-top: -36px;
}


.assa-sports-manifesto-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 22px 55px rgba(4,44,69,.17);
}


.assa-sports-manifesto-item {
    min-height: 180px;
    padding: 31px 34px;
    background: #fff;
    border-right: 1px solid var(--sports-border);
}


    .assa-sports-manifesto-item:last-child {
        border-right: 0;
    }


.assa-sports-manifesto-number {
    display: block;
    margin-bottom: 14px;
    color: var(--sports-orange);
    font-size: .77rem;
    font-weight: 900;
    letter-spacing: .13em;
}


.assa-sports-manifesto-item h2 {
    margin: 0 0 8px;
    color: var(--sports-navy);
    font-size: 1.55rem;
}


.assa-sports-manifesto-item p {
    margin: 0;
    color: var(--sports-muted);
    line-height: 1.66;
}


/* =========================================================
   INTRO
   ========================================================= */

.assa-sports-intro {
    padding: 110px 0 92px;
    background: #fff;
}


.assa-sports-intro-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 85px;
}


.assa-sports-intro h2 {
    margin: 8px 0 0;
    color: var(--sports-navy);
    font-size: clamp(2.1rem,3vw,3.25rem);
    line-height: 1.08;
}


.assa-sports-intro-copy p {
    margin-top: 0;
    margin-bottom: 19px;
    color: var(--sports-text);
    line-height: 1.83;
}


/* =========================================================
   BARATHRAM SPORTS COMPLEX
   ========================================================= */

.assa-sports-arena {
    padding: 100px 0;
    background: var(--sports-soft);
}


.assa-sports-arena-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 75px;
}


.assa-sports-arena h2 {
    margin: 8px 0 20px;
    color: var(--sports-navy);
    font-size: clamp(2.1rem,3vw,3.2rem);
    line-height: 1.08;
}


.assa-sports-arena p {
    color: var(--sports-text);
    line-height: 1.8;
}


.assa-sports-arena-points {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 14px;
    margin-top: 27px;
}


.assa-sports-arena-point {
    padding: 17px 18px;
    border: 1px solid var(--sports-border);
    border-radius: 15px;
    background: #fff;
    color: #3c5c6e;
    font-weight: 800;
}


.assa-sports-arena-visual {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    border-radius: 30px;
    background: linear-gradient( 140deg, #dcecf3, #f8fbfd );
    box-shadow: 0 25px 60px rgba(8,56,82,.13);
}


    .assa-sports-arena-visual img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 470px;
        object-fit: cover;
    }


.assa-sports-arena-placeholder {
    min-height: 470px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 45px;
    text-align: center;
    color: #607b8b;
}


    .assa-sports-arena-placeholder strong {
        display: block;
        margin-bottom: 10px;
        color: var(--sports-blue);
        font-size: 1.3rem;
    }


/* =========================================================
   SPORTS DISCIPLINES
   ========================================================= */

.assa-sports-disciplines {
    padding: 100px 0;
    background: #fff;
}


.assa-sports-heading {
    max-width: 790px;
    margin-bottom: 48px;
}


    .assa-sports-heading h2 {
        margin: 8px 0 14px;
        color: var(--sports-navy);
        font-size: clamp(2.1rem,3vw,3.2rem);
        line-height: 1.08;
    }


    .assa-sports-heading p {
        margin: 0;
        color: var(--sports-muted);
        line-height: 1.75;
    }


.assa-sports-lanes {
    display: grid;
    gap: 14px;
}


.assa-sports-lane {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    align-items: center;
    gap: 25px;
    min-height: 108px;
    padding: 19px 26px;
    border: 1px solid var(--sports-border);
    border-radius: 19px;
    background: var(--sports-surface);
    transition: transform .2s ease, box-shadow .2s ease;
}


    .assa-sports-lane:hover {
        transform: translateX(5px);
        box-shadow: 0 12px 30px rgba(11,61,88,.08);
    }


.assa-sports-lane-number {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: var(--sports-navy);
    color: #fff;
    font-weight: 900;
}


.assa-sports-lane h3 {
    margin: 0 0 5px;
    color: var(--sports-navy);
    font-size: 1.25rem;
}


.assa-sports-lane p {
    margin: 0;
    color: #617987;
    line-height: 1.6;
}


.assa-sports-lane-tag {
    display: inline-flex;
    padding: 8px 13px;
    border-radius: 999px;
    background: var(--sports-orange-soft);
    color: #9c6100;
    font-size: .76rem;
    font-weight: 900;
    white-space: nowrap;
}


/* =========================================================
   SPORT AS REHABILITATION
   ========================================================= */

.assa-sports-rehab {
    position: relative;
    overflow: hidden;
    padding: 105px 0;
    background: var(--sports-navy);
    color: #fff;
}


    .assa-sports-rehab::before {
        content: "";
        position: absolute;
        width: 480px;
        height: 480px;
        left: -180px;
        top: -210px;
        border-radius: 50%;
        border: 95px solid rgba(255,255,255,.035);
    }


.assa-sports-rehab-head {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 80px;
    margin-bottom: 48px;
}


.assa-sports-rehab h2 {
    margin: 8px 0 0;
    color: #fff;
    font-size: clamp(2.1rem,3vw,3.25rem);
    line-height: 1.08;
}


.assa-sports-rehab-copy p {
    margin-top: 0;
    color: rgba(255,255,255,.73);
    line-height: 1.82;
}


.assa-sports-rehab-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
}


.assa-sports-rehab-card {
    min-height: 180px;
    padding: 27px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 21px;
    background: rgba(255,255,255,.065);
}


    .assa-sports-rehab-card span {
        display: block;
        margin-bottom: 17px;
        color: #ffc258;
        font-size: 1.35rem;
        font-weight: 900;
    }


    .assa-sports-rehab-card h3 {
        margin: 0 0 8px;
        color: #fff;
        font-size: 1.13rem;
    }


    .assa-sports-rehab-card p {
        margin: 0;
        color: rgba(255,255,255,.66);
        line-height: 1.62;
        font-size: .91rem;
    }


/* =========================================================
   ATHLETE PATHWAY
   ========================================================= */

.assa-sports-pathway {
    padding: 100px 0;
    background: var(--sports-orange-soft);
}


.assa-sports-pathway-track {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    align-items: stretch;
    gap: 16px;
}


.assa-sports-pathway-stage {
    min-height: 225px;
    padding: 29px;
    border: 1px solid #ead8b8;
    border-radius: 23px;
    background: #fff;
}


    .assa-sports-pathway-stage small {
        display: block;
        margin-bottom: 17px;
        color: #d88600;
        font-size: .75rem;
        font-weight: 900;
        letter-spacing: .1em;
    }


    .assa-sports-pathway-stage h3 {
        margin: 0 0 10px;
        color: var(--sports-navy);
        font-size: 1.22rem;
    }


    .assa-sports-pathway-stage p {
        margin: 0;
        color: #617987;
        line-height: 1.67;
        font-size: .93rem;
    }


.assa-sports-pathway-arrow {
    align-self: center;
    color: #dd8b00;
    font-size: 1.7rem;
    font-weight: 900;
}


/* =========================================================
   INCLUSION STATEMENT
   ========================================================= */

.assa-sports-inclusion {
    padding: 100px 0;
    background: #fff;
}


.assa-sports-inclusion-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
    gap: 80px;
}


.assa-sports-inclusion h2 {
    margin: 8px 0 20px;
    color: var(--sports-navy);
    font-size: clamp(2.1rem,3vw,3.15rem);
    line-height: 1.08;
}


.assa-sports-inclusion p {
    color: var(--sports-text);
    line-height: 1.8;
}


.assa-sports-inclusion-panel {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 15px;
}


.assa-sports-inclusion-item {
    min-height: 155px;
    padding: 24px;
    border: 1px solid var(--sports-border);
    border-radius: 19px;
    background: var(--sports-soft);
}


    .assa-sports-inclusion-item strong {
        display: block;
        margin-bottom: 8px;
        color: var(--sports-blue);
        font-size: 1.05rem;
    }


    .assa-sports-inclusion-item span {
        color: #657d8a;
        line-height: 1.6;
        font-size: .92rem;
    }


/* =========================================================
   SPORTS IMAGE STRIP
   ========================================================= */

.assa-sports-gallery {
    padding: 0 0 100px;
    background: #fff;
}


.assa-sports-gallery-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr .8fr;
    gap: 16px;
}


.assa-sports-gallery-item {
    min-height: 330px;
    overflow: hidden;
    border-radius: 24px;
    background: var(--sports-soft);
}


    .assa-sports-gallery-item img {
        width: 100%;
        height: 100%;
        min-height: 330px;
        display: block;
        object-fit: cover;
    }


.assa-sports-gallery-placeholder {
    min-height: 330px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    text-align: center;
    color: #607886;
    font-weight: 800;
}


/* =========================================================
   CTA
   ========================================================= */

.assa-sports-cta {
    padding: 95px 0;
    background: linear-gradient( 125deg, #063552, #08789e );
}


.assa-sports-cta-box {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 40px;
}


    .assa-sports-cta-box h2 {
        margin: 0 0 12px;
        color: #fff;
        font-size: clamp(2rem,3vw,3rem);
    }


    .assa-sports-cta-box p {
        max-width: 780px;
        margin: 0;
        color: rgba(255,255,255,.72);
        line-height: 1.75;
    }


.assa-sports-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 27px;
    border-radius: 12px;
    background: var(--sports-orange);
    color: #173649;
    text-decoration: none;
    font-weight: 900;
}


    .assa-sports-cta-btn:hover {
        color: #173649;
        transform: translateY(-2px);
    }


/* =========================================================
   FLOATING SPORTS BUTTON
   ========================================================= */

.assa-sports-back-arena {
    position: fixed;
    right: 24px;
    bottom: 90px;
    z-index: 9999;
    min-width: 48px;
    height: 48px;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 999px;
    background: var(--sports-navy);
    color: #fff;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 900;
    box-shadow: 0 7px 22px rgba(0,0,0,.22);
}


    .assa-sports-back-arena:hover {
        color: #fff;
        transform: translateY(-2px);
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1050px) {

    .assa-sports-hero-grid {
        grid-template-columns: 1fr 1fr;
    }

    .assa-sports-intro-grid,
    .assa-sports-rehab-head {
        gap: 50px;
    }

    .assa-sports-arena-grid {
        gap: 45px;
    }

    .assa-sports-gallery-grid {
        grid-template-columns: 1fr 1fr;
    }

    .assa-sports-gallery-item:first-child {
        grid-column: span 2;
    }
}


@media(max-width:780px) {

    .assa-sports-hero-grid {
        grid-template-columns: 1fr;
    }

    .assa-sports-hero-content {
        padding: 60px 28px;
    }

    .assa-sports-hero h1 {
        font-size: 2.8rem;
    }

    .assa-sports-hero-visual,
    .assa-sports-hero-visual img,
    .assa-sports-hero-placeholder {
        min-height: 340px;
    }

    .assa-sports-manifesto {
        margin-top: 0;
    }

    .assa-sports-manifesto-grid {
        grid-template-columns: 1fr;
        border-radius: 0;
    }

    .assa-sports-manifesto-item {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--sports-border);
    }

    .assa-sports-intro-grid,
    .assa-sports-arena-grid,
    .assa-sports-rehab-head,
    .assa-sports-inclusion-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .assa-sports-arena-points {
        grid-template-columns: 1fr;
    }

    .assa-sports-arena-visual,
    .assa-sports-arena-visual img,
    .assa-sports-arena-placeholder {
        min-height: 320px;
    }

    .assa-sports-lane {
        grid-template-columns: 62px 1fr;
        gap: 17px;
    }

    .assa-sports-lane-tag {
        grid-column: 2;
        justify-self: start;
    }

    .assa-sports-lane-number {
        width: 54px;
        height: 54px;
    }

    .assa-sports-rehab-grid {
        grid-template-columns: 1fr;
    }

    .assa-sports-pathway-track {
        grid-template-columns: 1fr;
    }

    .assa-sports-pathway-arrow {
        transform: rotate(90deg);
        justify-self: center;
    }

    .assa-sports-inclusion-panel {
        grid-template-columns: 1fr;
    }

    .assa-sports-gallery-grid {
        grid-template-columns: 1fr;
    }

    .assa-sports-gallery-item:first-child {
        grid-column: auto;
    }

    .assa-sports-cta-box {
        grid-template-columns: 1fr;
    }

    .assa-sports-cta-btn {
        justify-self: start;
    }

    .assa-sports-back-arena {
        right: 16px;
        bottom: 82px;
    }
}


@media(max-width:520px) {

    .assa-sports-hero h1 {
        font-size: 2.35rem;
    }

    .assa-sports-back-arena {
        width: 44px;
        min-width: 44px;
        padding: 0;
        font-size: 0;
    }

        .assa-sports-back-arena span {
            font-size: 1.2rem;
        }
}
/* =========================================================
   ESG PAGE
   ========================================================= */

.assa-esg-page {
    --esg-navy: #06324d;
    --esg-navy-deep: #04253a;
    --esg-blue: #075d87;
    --esg-green: #287a5a;
    --esg-green-dark: #1e6147;
    --esg-green-soft: #edf7f2;
    --esg-gold: #f4a623;
    --esg-gold-soft: #fff6e7;
    --esg-blue-soft: #edf6fa;
    --esg-surface: #f8fbfc;
    --esg-border: #d8e6eb;
    --esg-text: #2e4a59;
    --esg-muted: #657d89;
    --esg-white: #ffffff;
}


/* =========================================================
   HERO
   ========================================================= */

.assa-esg-hero {
    position: relative;
    overflow: hidden;
    padding: 92px 0 102px;
    background: linear-gradient( 125deg, #042c43 0%, #07556f 55%, #287a5a 100% );
    color: #fff;
}


    .assa-esg-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: .08;
        background-image: linear-gradient( rgba(255,255,255,.5) 1px, transparent 1px ), linear-gradient( 90deg, rgba(255,255,255,.5) 1px, transparent 1px );
        background-size: 48px 48px;
    }


    .assa-esg-hero::after {
        content: "";
        position: absolute;
        width: 520px;
        height: 520px;
        right: -180px;
        bottom: -250px;
        border-radius: 50%;
        border: 100px solid rgba(255,255,255,.045);
    }


.assa-esg-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0,1.1fr) minmax(350px,.8fr);
    align-items: center;
    gap: 80px;
}


.assa-esg-breadcrumb {
    margin-bottom: 27px;
    color: rgba(255,255,255,.7);
    font-size: .85rem;
    font-weight: 700;
}


.assa-esg-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    color: #ffd57d;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}


    .assa-esg-kicker::before {
        content: "";
        width: 40px;
        height: 3px;
        border-radius: 4px;
        background: var(--esg-gold);
    }


.assa-esg-hero h1 {
    max-width: 790px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.8rem,5vw,5.15rem);
    line-height: 1;
    letter-spacing: -.045em;
}


.assa-esg-hero-copy {
    max-width: 720px;
    margin: 27px 0 0;
    color: rgba(255,255,255,.84);
    font-size: 1.12rem;
    line-height: 1.8;
}


/* HERO ESG PANEL */

.assa-esg-hero-panel {
    display: grid;
    gap: 13px;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 28px;
    background: rgba(255,255,255,.075);
    backdrop-filter: blur(8px);
    box-shadow: 0 24px 60px rgba(0,0,0,.15);
}


.assa-esg-hero-pillar {
    display: grid;
    grid-template-columns: 54px 1fr;
    align-items: center;
    gap: 18px;
    padding: 20px;
    border-radius: 18px;
    background: rgba(255,255,255,.07);
}


.assa-esg-hero-letter {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
    background: var(--esg-gold);
    color: #183849;
    font-size: 1.25rem;
    font-weight: 900;
}


.assa-esg-hero-pillar h3 {
    margin: 0 0 4px;
    color: #fff;
    font-size: 1.05rem;
}


.assa-esg-hero-pillar p {
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: .88rem;
    line-height: 1.55;
}


/* =========================================================
   THREE ESG PILLARS
   ========================================================= */

.assa-esg-pillars {
    position: relative;
    z-index: 5;
    margin-top: -38px;
}


.assa-esg-pillar-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    overflow: hidden;
    border-radius: 27px;
    box-shadow: 0 22px 55px rgba(7,51,70,.15);
}


.assa-esg-pillar {
    min-height: 235px;
    padding: 35px;
    background: #fff;
    border-right: 1px solid var(--esg-border);
}


    .assa-esg-pillar:last-child {
        border-right: 0;
    }


.assa-esg-pillar-letter {
    display: block;
    margin-bottom: 20px;
    color: var(--esg-green);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
}


.assa-esg-pillar:nth-child(2)
.assa-esg-pillar-letter {
    color: var(--esg-gold);
}


.assa-esg-pillar:nth-child(3)
.assa-esg-pillar-letter {
    color: var(--esg-blue);
}


.assa-esg-pillar h2 {
    margin: 0 0 10px;
    color: var(--esg-navy);
    font-size: 1.4rem;
}


.assa-esg-pillar p {
    margin: 0;
    color: var(--esg-muted);
    line-height: 1.7;
}


/* =========================================================
   INTRODUCTION
   ========================================================= */

.assa-esg-intro {
    padding: 115px 0 95px;
    background: #fff;
}


.assa-esg-intro-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 85px;
}


.assa-esg-intro h2 {
    margin: 8px 0 0;
    color: var(--esg-navy);
    font-size: clamp(2.1rem,3vw,3.2rem);
    line-height: 1.08;
}


.assa-esg-intro-copy p {
    margin-top: 0;
    margin-bottom: 19px;
    color: var(--esg-text);
    line-height: 1.83;
}


/* =========================================================
   SECTION HEAD
   ========================================================= */

.assa-esg-heading {
    max-width: 790px;
    margin-bottom: 48px;
}


    .assa-esg-heading h2 {
        margin: 8px 0 14px;
        color: var(--esg-navy);
        font-size: clamp(2.1rem,3vw,3.2rem);
        line-height: 1.08;
    }


    .assa-esg-heading p {
        margin: 0;
        color: var(--esg-muted);
        line-height: 1.75;
    }


/* =========================================================
   ENVIRONMENT DASHBOARD
   ========================================================= */

.assa-esg-environment {
    padding: 100px 0;
    background: var(--esg-green-soft);
}


.assa-esg-environment-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 20px;
}


.assa-esg-environment-card {
    min-height: 315px;
    padding: 32px;
    border: 1px solid #cee4da;
    border-radius: 25px;
    background: #fff;
    position: relative;
    overflow: hidden;
}


    .assa-esg-environment-card::after {
        content: "";
        position: absolute;
        width: 130px;
        height: 130px;
        right: -50px;
        bottom: -50px;
        border-radius: 50%;
        background: rgba(40,122,90,.06);
    }


.assa-esg-env-number {
    display: block;
    margin-bottom: 19px;
    color: var(--esg-green);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}


.assa-esg-environment-card h3 {
    margin: 0 0 13px;
    color: var(--esg-green-dark);
    font-size: 1.35rem;
}


.assa-esg-environment-card p {
    margin: 0;
    color: #567368;
    line-height: 1.72;
}


.assa-esg-environment-list {
    margin: 19px 0 0;
    padding: 0;
    list-style: none;
}


    .assa-esg-environment-list li {
        position: relative;
        margin: 10px 0;
        padding-left: 21px;
        color: #526e63;
        line-height: 1.55;
    }


        .assa-esg-environment-list li::before {
            content: "";
            position: absolute;
            left: 0;
            top: .58em;
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: var(--esg-green);
        }


/* =========================================================
   ENVIRONMENT INDICATORS
   ========================================================= */

.assa-esg-indicators {
    padding: 98px 0;
    background: #fff;
}


.assa-esg-indicator-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 18px;
}


.assa-esg-indicator {
    min-height: 210px;
    padding: 28px;
    border: 1px solid var(--esg-border);
    border-radius: 21px;
    background: var(--esg-surface);
}


.assa-esg-indicator-value {
    display: block;
    margin-bottom: 15px;
    color: var(--esg-green);
    font-size: 2.1rem;
    font-weight: 900;
    line-height: 1.05;
}


.assa-esg-indicator h3 {
    margin: 0 0 9px;
    color: var(--esg-navy);
    font-size: 1.04rem;
}


.assa-esg-indicator p {
    margin: 0;
    color: #657c88;
    font-size: .9rem;
    line-height: 1.62;
}


.assa-esg-data-note {
    margin-top: 25px;
    color: #748994;
    font-size: .84rem;
    line-height: 1.6;
}


/* =========================================================
   CIRCULAR ECONOMY
   ========================================================= */

.assa-esg-circular {
    position: relative;
    overflow: hidden;
    padding: 105px 0;
    background: var(--esg-navy);
    color: #fff;
}


.assa-esg-circular-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
    gap: 80px;
}


.assa-esg-circular h2 {
    margin: 8px 0 20px;
    color: #fff;
    font-size: clamp(2.1rem,3vw,3.2rem);
    line-height: 1.08;
}


.assa-esg-circular p {
    color: rgba(255,255,255,.73);
    line-height: 1.82;
}


.assa-esg-loop {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 15px;
}


.assa-esg-loop-item {
    min-height: 145px;
    padding: 23px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    background: rgba(255,255,255,.06);
}


    .assa-esg-loop-item span {
        display: block;
        margin-bottom: 10px;
        color: #ffc45c;
        font-size: .75rem;
        font-weight: 900;
        letter-spacing: .1em;
    }


    .assa-esg-loop-item strong {
        display: block;
        margin-bottom: 6px;
        color: #fff;
    }


    .assa-esg-loop-item p {
        margin: 0;
        color: rgba(255,255,255,.65);
        font-size: .89rem;
        line-height: 1.6;
    }


/* =========================================================
   SOCIAL DIVERSITY
   ========================================================= */

.assa-esg-social {
    padding: 100px 0;
    background: var(--esg-gold-soft);
}


.assa-esg-social-grid {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 80px;
}


.assa-esg-social h2 {
    margin: 8px 0 20px;
    color: var(--esg-navy);
    font-size: clamp(2.1rem,3vw,3.15rem);
    line-height: 1.08;
}


.assa-esg-social p {
    color: var(--esg-text);
    line-height: 1.8;
}


.assa-esg-social-stats {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 16px;
}


.assa-esg-social-stat {
    min-height: 175px;
    padding: 27px;
    border: 1px solid #ead8b8;
    border-radius: 21px;
    background: #fff;
}


    .assa-esg-social-stat strong {
        display: block;
        margin-bottom: 9px;
        color: #d88800;
        font-size: 2rem;
        line-height: 1.05;
    }


    .assa-esg-social-stat h3 {
        margin: 0 0 7px;
        color: var(--esg-navy);
        font-size: 1rem;
    }


    .assa-esg-social-stat p {
        margin: 0;
        color: #687d88;
        font-size: .88rem;
        line-height: 1.55;
    }


/* =========================================================
   GOVERNANCE ARCHITECTURE
   ========================================================= */

.assa-esg-governance {
    padding: 100px 0;
    background: #fff;
}


.assa-esg-governance-stack {
    max-width: 950px;
    margin: 0 auto;
    display: grid;
    gap: 12px;
}


.assa-esg-governance-level {
    display: grid;
    grid-template-columns: 85px 1fr;
    align-items: center;
    gap: 25px;
    padding: 25px 30px;
    border: 1px solid var(--esg-border);
    border-radius: 18px;
    background: var(--esg-surface);
}


.assa-esg-governance-number {
    width: 62px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: var(--esg-blue-soft);
    color: var(--esg-blue);
    font-weight: 900;
}


.assa-esg-governance-level h3 {
    margin: 0 0 6px;
    color: var(--esg-navy);
    font-size: 1.14rem;
}


.assa-esg-governance-level p {
    margin: 0;
    color: #657d89;
    line-height: 1.63;
    font-size: .93rem;
}


/* =========================================================
   GOVERNANCE CONTROLS
   ========================================================= */

.assa-esg-controls {
    padding: 100px 0;
    background: var(--esg-blue-soft);
}


.assa-esg-control-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
}


.assa-esg-control {
    min-height: 225px;
    padding: 28px;
    border: 1px solid var(--esg-border);
    border-radius: 22px;
    background: #fff;
}


.assa-esg-control-number {
    display: block;
    margin-bottom: 17px;
    color: var(--esg-blue);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .12em;
}


.assa-esg-control h3 {
    margin: 0 0 10px;
    color: var(--esg-navy);
    font-size: 1.13rem;
}


.assa-esg-control p {
    margin: 0;
    color: #657d89;
    line-height: 1.66;
    font-size: .92rem;
}


/* =========================================================
   REHAB ORCHARD BRIDGE
   ========================================================= */

.assa-esg-orchard {
    padding: 100px 0;
    background: #fff;
}


.assa-esg-orchard-box {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 45px;
    padding: 48px 52px;
    border: 1px solid #cfe4d9;
    border-radius: 28px;
    background: linear-gradient( 120deg, #edf7f2, #fbfdfc );
}


    .assa-esg-orchard-box h2 {
        margin: 8px 0 12px;
        color: var(--esg-green-dark);
        font-size: 2rem;
    }


    .assa-esg-orchard-box p {
        max-width: 760px;
        margin: 0;
        color: #5a7469;
        line-height: 1.74;
    }


.assa-esg-orchard-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 51px;
    padding: 0 24px;
    border-radius: 12px;
    background: var(--esg-green);
    color: #fff;
    text-decoration: none;
    font-weight: 900;
}


    .assa-esg-orchard-link:hover {
        color: #fff;
        transform: translateY(-2px);
    }


/* =========================================================
   ESG COMMITMENT
   ========================================================= */

.assa-esg-commitment {
    padding: 105px 0;
    background: linear-gradient( 125deg, #053149, #276f57 );
    color: #fff;
}


.assa-esg-commitment-box {
    max-width: 950px;
    margin: 0 auto;
    text-align: center;
}


.assa-esg-commitment-label {
    display: inline-block;
    margin-bottom: 20px;
    color: #ffd17b;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}


.assa-esg-commitment h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.1rem,4vw,3.7rem);
    line-height: 1.08;
}


.assa-esg-commitment p {
    max-width: 800px;
    margin: 24px auto 0;
    color: rgba(255,255,255,.74);
    line-height: 1.8;
    font-size: 1.03rem;
}


/* =========================================================
   CTA
   ========================================================= */

.assa-esg-cta {
    padding: 95px 0;
    background: var(--esg-green-soft);
}


.assa-esg-cta-box {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 38px;
    padding: 50px 52px;
    border: 1px solid #cfe4d9;
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(20,74,52,.07);
}


    .assa-esg-cta-box h2 {
        margin: 0 0 11px;
        color: var(--esg-navy);
        font-size: 2rem;
    }


    .assa-esg-cta-box p {
        max-width: 760px;
        margin: 0;
        color: #617987;
        line-height: 1.72;
    }


.assa-esg-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 51px;
    padding: 0 26px;
    border-radius: 12px;
    background: var(--esg-gold);
    color: #17384a;
    text-decoration: none;
    font-weight: 900;
}


    .assa-esg-cta-btn:hover {
        color: #17384a;
        transform: translateY(-2px);
    }


/* =========================================================
   FLOATING ESG BUTTON
   ========================================================= */

.assa-esg-back-dashboard {
    position: fixed;
    right: 24px;
    bottom: 90px;
    z-index: 9999;
    min-width: 48px;
    height: 48px;
    padding: 0 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border-radius: 999px;
    background: var(--esg-navy);
    color: #fff;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 900;
    box-shadow: 0 7px 22px rgba(0,0,0,.22);
}


    .assa-esg-back-dashboard:hover {
        color: #fff;
        transform: translateY(-2px);
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1050px) {

    .assa-esg-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .assa-esg-hero-panel {
        max-width: 650px;
    }

    .assa-esg-indicator-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .assa-esg-control-grid {
        grid-template-columns: repeat(2,1fr);
    }
}


@media(max-width:780px) {

    .assa-esg-hero {
        padding: 62px 0 90px;
    }

        .assa-esg-hero h1 {
            font-size: 2.7rem;
        }

    .assa-esg-pillars {
        margin-top: 0;
    }

    .assa-esg-pillar-grid {
        grid-template-columns: 1fr;
        border-radius: 0;
    }

    .assa-esg-pillar {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--esg-border);
    }

    .assa-esg-intro-grid,
    .assa-esg-circular-grid,
    .assa-esg-social-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .assa-esg-environment-grid {
        grid-template-columns: 1fr;
    }

    .assa-esg-indicator-grid {
        grid-template-columns: 1fr;
    }

    .assa-esg-loop {
        grid-template-columns: 1fr;
    }

    .assa-esg-social-stats {
        grid-template-columns: 1fr;
    }

    .assa-esg-governance-level {
        grid-template-columns: 62px 1fr;
        padding: 22px;
    }

    .assa-esg-control-grid {
        grid-template-columns: 1fr;
    }

    .assa-esg-orchard-box,
    .assa-esg-cta-box {
        grid-template-columns: 1fr;
        padding: 34px 28px;
    }

    .assa-esg-orchard-link,
    .assa-esg-cta-btn {
        justify-self: start;
    }

    .assa-esg-back-dashboard {
        right: 16px;
        bottom: 82px;
    }
}


@media(max-width:520px) {

    .assa-esg-hero h1 {
        font-size: 2.3rem;
    }

    .assa-esg-hero-panel {
        padding: 22px;
    }

    .assa-esg-back-dashboard {
        width: 44px;
        min-width: 44px;
        padding: 0;
        font-size: 0;
    }

        .assa-esg-back-dashboard span {
            font-size: 1.2rem;
        }
}
/* =========================================================
   TRANSPARENCY / DOCUMENT CENTRE
   ========================================================= */

.assa-trans-page {
    --trans-navy: #053451;
    --trans-blue: #075b86;
    --trans-blue-soft: #edf6fa;
    --trans-gold: #f5a623;
    --trans-gold-soft: #fff6e7;
    --trans-green: #34745c;
    --trans-green-soft: #eef7f3;
    --trans-text: #304c5c;
    --trans-muted: #667e8b;
    --trans-border: #d8e6ec;
    --trans-surface: #f8fbfc;
    --trans-white: #fff;
}


/* =========================================================
   HERO
   ========================================================= */

.assa-trans-hero {
    position: relative;
    overflow: hidden;
    padding: 90px 0 95px;
    background: linear-gradient( 125deg, #042c47 0%, #075676 62%, #087d93 100% );
    color: #fff;
}

    .assa-trans-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: .075;
        background-image: linear-gradient( rgba(255,255,255,.6) 1px, transparent 1px ), linear-gradient( 90deg, rgba(255,255,255,.6) 1px, transparent 1px );
        background-size: 48px 48px;
    }

    .assa-trans-hero::after {
        content: "";
        position: absolute;
        right: -170px;
        top: -220px;
        width: 500px;
        height: 500px;
        border: 95px solid rgba(255,255,255,.045);
        border-radius: 50%;
    }

.assa-trans-hero-inner {
    position: relative;
    z-index: 2;
    max-width: 900px;
}

.assa-trans-breadcrumb {
    margin-bottom: 24px;
    color: rgba(255,255,255,.7);
    font-size: .85rem;
    font-weight: 700;
}

.assa-trans-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: #ffd47f;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

    .assa-trans-kicker::before {
        content: "";
        width: 39px;
        height: 3px;
        background: var(--trans-gold);
        border-radius: 4px;
    }

.assa-trans-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.8rem,5vw,5rem);
    line-height: 1;
    letter-spacing: -.04em;
}

.assa-trans-hero p {
    max-width: 760px;
    margin: 25px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 1.1rem;
    line-height: 1.8;
}


/* Smaller hero used on report pages */

.assa-trans-hero.compact {
    padding: 70px 0 75px;
}

    .assa-trans-hero.compact h1 {
        font-size: clamp(2.5rem,4vw,4rem);
    }


/* =========================================================
   INTRO
   ========================================================= */

.assa-trans-intro {
    padding: 90px 0;
    background: #fff;
}

.assa-trans-intro-grid {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 80px;
}

.assa-trans-intro h2 {
    margin: 8px 0 0;
    color: var(--trans-navy);
    font-size: clamp(2rem,3vw,3rem);
    line-height: 1.08;
}

.assa-trans-intro-copy p {
    margin-top: 0;
    margin-bottom: 18px;
    color: var(--trans-text);
    line-height: 1.8;
}


/* =========================================================
   TRANSPARENCY CATEGORIES
   ========================================================= */

.assa-trans-categories {
    padding: 95px 0;
    background: var(--trans-blue-soft);
}

.assa-trans-heading {
    max-width: 760px;
    margin-bottom: 45px;
}

    .assa-trans-heading h2 {
        margin: 8px 0 14px;
        color: var(--trans-navy);
        font-size: clamp(2rem,3vw,3.1rem);
        line-height: 1.08;
    }

    .assa-trans-heading p {
        margin: 0;
        color: var(--trans-muted);
        line-height: 1.75;
    }

.assa-trans-category-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 20px;
}

.assa-trans-category {
    position: relative;
    min-height: 265px;
    padding: 32px;
    overflow: hidden;
    border: 1px solid var(--trans-border);
    border-radius: 25px;
    background: #fff;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}

    .assa-trans-category:hover {
        transform: translateY(-4px);
        box-shadow: 0 17px 40px rgba(7,65,92,.1);
    }

.assa-trans-category-number {
    display: block;
    margin-bottom: 20px;
    color: var(--trans-gold);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.assa-trans-category h3 {
    margin: 0 0 12px;
    color: var(--trans-navy);
    font-size: 1.45rem;
}

.assa-trans-category p {
    margin: 0 0 22px;
    color: #637b88;
    line-height: 1.7;
}

.assa-trans-category-link {
    color: var(--trans-blue);
    font-weight: 900;
}


/* =========================================================
   REPORT DOCUMENTS
   ========================================================= */

.assa-trans-documents {
    padding: 95px 0;
    background: #fff;
}

.assa-trans-report-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
}

.assa-trans-report {
    min-height: 315px;
    display: flex;
    flex-direction: column;
    padding: 30px;
    border: 1px solid var(--trans-border);
    border-radius: 24px;
    background: var(--trans-surface);
}

.assa-trans-pdf {
    width: 54px;
    height: 54px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: var(--trans-blue-soft);
    color: var(--trans-blue);
    font-size: .76rem;
    font-weight: 900;
}

.assa-trans-doc-year {
    display: block;
    margin-bottom: 10px;
    color: #cf8200;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.assa-trans-report h3 {
    margin: 0 0 10px;
    color: var(--trans-navy);
    font-size: 1.25rem;
}

.assa-trans-report p {
    margin: 0 0 24px;
    color: #657d89;
    line-height: 1.65;
    font-size: .93rem;
}

.assa-trans-doc-actions {
    margin-top: auto;
}

.assa-trans-doc-btn {
    display: inline-flex;
    min-height: 45px;
    padding: 0 18px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--trans-blue);
    color: #fff;
    text-decoration: none;
    font-weight: 900;
    font-size: .88rem;
}

    .assa-trans-doc-btn:hover {
        color: #fff;
        transform: translateY(-1px);
    }

    .assa-trans-doc-btn.pending {
        background: #e8eef1;
        color: #6b7f89;
        cursor: default;
    }


/* =========================================================
   COMPLIANCE GROUPS
   ========================================================= */

.assa-trans-compliance {
    padding: 95px 0;
    background: #fff;
}

.assa-trans-compliance-group {
    margin-bottom: 55px;
}

    .assa-trans-compliance-group:last-child {
        margin-bottom: 0;
    }

    .assa-trans-compliance-group h2 {
        margin: 0 0 23px;
        color: var(--trans-navy);
        font-size: 1.7rem;
    }

.assa-trans-compliance-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 16px;
}

.assa-trans-compliance-card {
    display: flex;
    flex-direction: column;
    min-height: 180px;
    padding: 24px;
    border: 1px solid var(--trans-border);
    border-radius: 19px;
    background: var(--trans-surface);
}

    .assa-trans-compliance-card span {
        display: block;
        margin-bottom: 11px;
        color: var(--trans-gold);
        font-size: .72rem;
        font-weight: 900;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .assa-trans-compliance-card h3 {
        margin: 0 0 18px;
        color: var(--trans-navy);
        font-size: 1.04rem;
        line-height: 1.4;
    }

    .assa-trans-compliance-card .assa-trans-doc-actions {
        margin-top: auto;
    }


/* =========================================================
   IDENTIFIERS
   ========================================================= */

.assa-trans-identifiers {
    padding: 75px 0;
    background: var(--trans-navy);
}

.assa-trans-identifier-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 18px;
}

.assa-trans-identifier {
    padding: 27px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 20px;
    background: rgba(255,255,255,.06);
}

    .assa-trans-identifier span {
        display: block;
        margin-bottom: 7px;
        color: #ffd16e;
        font-size: .75rem;
        font-weight: 900;
        letter-spacing: .1em;
        text-transform: uppercase;
    }

    .assa-trans-identifier strong {
        color: #fff;
        font-size: 1.3rem;
    }


/* =========================================================
   DISCLOSURE NOTE
   ========================================================= */

.assa-trans-note {
    padding: 85px 0;
    background: var(--trans-gold-soft);
}

.assa-trans-note-box {
    max-width: 900px;
    padding: 37px 40px;
    border-left: 5px solid var(--trans-gold);
    background: #fff;
    border-radius: 0 22px 22px 0;
}

    .assa-trans-note-box h2 {
        margin: 0 0 10px;
        color: var(--trans-navy);
        font-size: 1.55rem;
    }

    .assa-trans-note-box p {
        margin: 0;
        color: #607986;
        line-height: 1.72;
    }


/* =========================================================
   BACK
   ========================================================= */

.assa-trans-back {
    padding: 30px 0 55px;
    background: #fff;
}

    .assa-trans-back a {
        color: var(--trans-blue);
        text-decoration: none;
        font-weight: 900;
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:950px) {

    .assa-trans-compliance-grid {
        grid-template-columns: repeat(2,1fr);
    }
}


@media(max-width:780px) {

    .assa-trans-hero {
        padding: 62px 0;
    }

        .assa-trans-hero h1 {
            font-size: 2.6rem;
        }

    .assa-trans-intro-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .assa-trans-category-grid,
    .assa-trans-report-grid,
    .assa-trans-compliance-grid,
    .assa-trans-identifier-grid {
        grid-template-columns: 1fr;
    }

    .assa-trans-category {
        min-height: 0;
    }
}


@media(max-width:520px) {

    .assa-trans-hero h1 {
        font-size: 2.25rem;
    }

    .assa-trans-note-box {
        padding: 28px 24px;
    }
}
/* =========================================================
   CONTACT US PAGE
   ========================================================= */

.assa-contact-page {
    --contact-navy: #053451;
    --contact-navy-deep: #03263d;
    --contact-blue: #075d89;
    --contact-blue-soft: #edf6fa;
    --contact-orange: #f5a623;
    --contact-orange-soft: #fff6e7;
    --contact-green: #32725b;
    --contact-green-soft: #edf7f2;
    --contact-text: #304c5b;
    --contact-muted: #657d89;
    --contact-border: #d8e6ec;
    --contact-surface: #f8fbfc;
    --contact-white: #ffffff;
}


/* =========================================================
   HERO
   ========================================================= */

.assa-contact-hero {
    position: relative;
    overflow: hidden;
    padding: 90px 0 100px;
    background: linear-gradient( 125deg, #042d49 0%, #075b81 60%, #07829a 100% );
    color: #fff;
}

    .assa-contact-hero::before {
        content: "";
        position: absolute;
        inset: 0;
        opacity: .075;
        background-image: radial-gradient( rgba(255,255,255,.65) 1px, transparent 1px );
        background-size: 28px 28px;
    }

    .assa-contact-hero::after {
        content: "";
        position: absolute;
        width: 500px;
        height: 500px;
        right: -170px;
        top: -230px;
        border: 95px solid rgba(255,255,255,.045);
        border-radius: 50%;
    }

.assa-contact-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 80px;
}

.assa-contact-breadcrumb {
    margin-bottom: 25px;
    color: rgba(255,255,255,.7);
    font-size: .85rem;
    font-weight: 700;
}

.assa-contact-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 19px;
    color: #ffd27a;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

    .assa-contact-kicker::before {
        content: "";
        width: 40px;
        height: 3px;
        border-radius: 4px;
        background: var(--contact-orange);
    }

.assa-contact-hero h1 {
    margin: 0;
    max-width: 760px;
    color: #fff;
    font-size: clamp(2.9rem,5vw,5.2rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.assa-contact-hero-copy {
    max-width: 700px;
    margin: 26px 0 0;
    color: rgba(255,255,255,.84);
    font-size: 1.12rem;
    line-height: 1.8;
}


/* HERO QUICK CONTACT */

.assa-contact-hero-panel {
    padding: 32px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 28px;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(8px);
    box-shadow: 0 24px 60px rgba(0,0,0,.16);
}

    .assa-contact-hero-panel h2 {
        margin: 0 0 22px;
        color: #fff;
        font-size: 1.35rem;
    }

.assa-contact-quick {
    display: grid;
    gap: 12px;
}

    .assa-contact-quick a {
        display: flex;
        align-items: center;
        gap: 16px;
        padding: 17px 18px;
        border: 1px solid rgba(255,255,255,.11);
        border-radius: 15px;
        background: rgba(255,255,255,.06);
        color: #fff;
        text-decoration: none;
        transition: background .2s ease, transform .2s ease;
    }

        .assa-contact-quick a:hover {
            background: rgba(255,255,255,.11);
            transform: translateX(3px);
        }

.assa-contact-quick-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    border-radius: 13px;
    background: var(--contact-orange);
    color: #15364a;
    font-size: .8rem;
    font-weight: 900;
}

.assa-contact-quick-copy small {
    display: block;
    margin-bottom: 3px;
    color: rgba(255,255,255,.6);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.assa-contact-quick-copy strong {
    display: block;
    color: #fff;
    font-size: .96rem;
}


/* =========================================================
   CONTACT DASHBOARD
   ========================================================= */

.assa-contact-dashboard {
    position: relative;
    z-index: 5;
    margin-top: -40px;
}

.assa-contact-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    overflow: hidden;
    border-radius: 26px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(5,55,79,.15);
}

.assa-contact-card {
    min-height: 245px;
    padding: 31px;
    border-right: 1px solid var(--contact-border);
    background: #fff;
}

    .assa-contact-card:last-child {
        border-right: 0;
    }

.assa-contact-card-icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: 16px;
    background: var(--contact-blue-soft);
    color: var(--contact-blue);
    font-size: .78rem;
    font-weight: 900;
}

.assa-contact-card:nth-child(2)
.assa-contact-card-icon {
    background: var(--contact-orange-soft);
    color: #b66e00;
}

.assa-contact-card:nth-child(3)
.assa-contact-card-icon {
    background: var(--contact-green-soft);
    color: var(--contact-green);
}

.assa-contact-card h2 {
    margin: 0 0 10px;
    color: var(--contact-navy);
    font-size: 1.18rem;
}

.assa-contact-card p {
    margin: 0 0 17px;
    color: var(--contact-muted);
    line-height: 1.65;
    font-size: .92rem;
}

.assa-contact-card a {
    color: var(--contact-blue);
    text-decoration: none;
    font-weight: 900;
}

    .assa-contact-card a:hover {
        text-decoration: underline;
    }


/* =========================================================
   VISIT / ADDRESS
   ========================================================= */

.assa-contact-visit {
    padding: 110px 0 95px;
    background: #fff;
}

.assa-contact-visit-grid {
    display: grid;
    grid-template-columns: .88fr 1.12fr;
    align-items: stretch;
    gap: 55px;
}

.assa-contact-address {
    padding: 42px;
    border: 1px solid var(--contact-border);
    border-radius: 27px;
    background: var(--contact-surface);
}

.assa-contact-eyebrow {
    display: block;
    margin-bottom: 12px;
    color: var(--contact-orange);
    font-size: .77rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.assa-contact-address h2 {
    margin: 0 0 22px;
    color: var(--contact-navy);
    font-size: clamp(2rem,3vw,2.8rem);
    line-height: 1.1;
}

.assa-contact-address-text {
    margin-bottom: 27px;
    color: var(--contact-text);
    font-size: 1.03rem;
    line-height: 1.8;
}

.assa-contact-address-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
}

    .assa-contact-address-actions a {
        flex: 1 1 0;
        min-width: 0;
        padding-left: 14px;
        padding-right: 14px;
        white-space: nowrap;
        text-align: center;
    }

.assa-contact-primary-btn,
.assa-contact-secondary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 49px;
    padding: 0 21px;
    border-radius: 11px;
    text-decoration: none;
    font-size: .9rem;
    font-weight: 900;
}

.assa-contact-primary-btn {
    background: var(--contact-orange);
    color: #153649;
}

    .assa-contact-primary-btn:hover {
        color: #153649;
        transform: translateY(-2px);
    }

.assa-contact-secondary-btn {
    border: 2px solid var(--contact-blue);
    color: var(--contact-blue);
    background: #fff;
}

    .assa-contact-secondary-btn:hover {
        background: var(--contact-blue);
        color: #fff;
    }


/* MAP PLACEHOLDER */

.assa-contact-map {
    min-height: 440px;
    overflow: hidden;
    border: 1px solid var(--contact-border);
    border-radius: 27px;
    background: linear-gradient( 145deg, #e9f4f8, #f9fcfd );
    box-shadow: 0 20px 45px rgba(7,61,85,.08);
}

.assa-contact-map-placeholder {
    min-height: 440px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 45px;
    text-align: center;
    color: #617d8b;
}

    .assa-contact-map-placeholder strong {
        display: block;
        margin-bottom: 10px;
        color: var(--contact-blue);
        font-size: 1.3rem;
    }

    .assa-contact-map-placeholder span {
        max-width: 460px;
        line-height: 1.65;
    }


/* =========================================================
   CONTACT ROUTES
   ========================================================= */

.assa-contact-routes {
    padding: 95px 0;
    background: var(--contact-blue-soft);
}

.assa-contact-heading {
    max-width: 770px;
    margin-bottom: 45px;
}

    .assa-contact-heading h2 {
        margin: 8px 0 14px;
        color: var(--contact-navy);
        font-size: clamp(2rem,3vw,3.1rem);
        line-height: 1.08;
    }

    .assa-contact-heading p {
        margin: 0;
        color: var(--contact-muted);
        line-height: 1.75;
    }

.assa-contact-route-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
}

.assa-contact-route {
    min-height: 235px;
    padding: 28px;
    border: 1px solid var(--contact-border);
    border-radius: 22px;
    background: #fff;
}

.assa-contact-route-number {
    display: block;
    margin-bottom: 17px;
    color: var(--contact-orange);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.assa-contact-route h3 {
    margin: 0 0 10px;
    color: var(--contact-navy);
    font-size: 1.18rem;
}

.assa-contact-route p {
    margin: 0;
    color: #657d89;
    line-height: 1.68;
    font-size: .92rem;
}


/* =========================================================
   ENQUIRY FORM AREA
   ========================================================= */

.assa-contact-enquiry {
    padding: 100px 0;
    background: #fff;
}

.assa-contact-enquiry-grid {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 70px;
    align-items: start;
}

.assa-contact-enquiry-intro h2 {
    margin: 8px 0 18px;
    color: var(--contact-navy);
    font-size: clamp(2.1rem,3vw,3.1rem);
    line-height: 1.08;
}

.assa-contact-enquiry-intro p {
    color: var(--contact-text);
    line-height: 1.8;
}

.assa-contact-enquiry-note {
    margin-top: 25px;
    padding: 21px;
    border-left: 4px solid var(--contact-orange);
    border-radius: 0 15px 15px 0;
    background: var(--contact-orange-soft);
    color: #6e5a35;
    font-size: .9rem;
    line-height: 1.65;
}


/* FORM PLACEHOLDER */

.assa-contact-form-shell {
    min-height: 430px;
    padding: 38px;
    border: 1px solid var(--contact-border);
    border-radius: 27px;
    background: var(--contact-surface);
}

.assa-contact-form-placeholder {
    min-height: 350px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 35px;
    border: 2px dashed #c9dce5;
    border-radius: 20px;
    background: #fff;
    text-align: center;
    color: #627c89;
}

    .assa-contact-form-placeholder strong {
        display: block;
        margin-bottom: 12px;
        color: var(--contact-blue);
        font-size: 1.3rem;
    }

    .assa-contact-form-placeholder p {
        max-width: 520px;
        margin: 0;
        line-height: 1.7;
    }


/* =========================================================
   DIRECT CONTACT STRIP
   ========================================================= */

.assa-contact-direct {
    padding: 90px 0;
    background: var(--contact-navy);
    color: #fff;
}

.assa-contact-direct-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 45px;
}

.assa-contact-direct h2 {
    margin: 0 0 10px;
    color: #fff;
    font-size: clamp(2rem,3vw,2.8rem);
}

.assa-contact-direct p {
    max-width: 720px;
    margin: 0;
    color: rgba(255,255,255,.7);
    line-height: 1.72;
}

.assa-contact-direct-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.assa-contact-whatsapp-btn,
.assa-contact-email-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 23px;
    border-radius: 11px;
    text-decoration: none;
    font-weight: 900;
}

.assa-contact-whatsapp-btn {
    background: #fff;
    color: var(--contact-green);
}

    .assa-contact-whatsapp-btn:hover {
        color: var(--contact-green);
        transform: translateY(-2px);
    }

.assa-contact-email-btn {
    border: 1px solid rgba(255,255,255,.35);
    color: #fff;
}

    .assa-contact-email-btn:hover {
        background: rgba(255,255,255,.08);
        color: #fff;
    }


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:1050px) {

    .assa-contact-dashboard-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .assa-contact-card {
        border-bottom: 1px solid var(--contact-border);
    }

    .assa-contact-route-grid {
        grid-template-columns: repeat(2,1fr);
    }
}


@media(max-width:780px) {

    .assa-contact-hero {
        padding: 62px 0 90px;
    }

    .assa-contact-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .assa-contact-hero h1 {
        font-size: 2.7rem;
    }

    .assa-contact-hero-panel {
        max-width: 620px;
    }

    .assa-contact-dashboard {
        margin-top: 0;
    }

    .assa-contact-dashboard-grid {
        grid-template-columns: 1fr;
        border-radius: 0;
    }

    .assa-contact-card {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--contact-border);
    }

    .assa-contact-visit-grid,
    .assa-contact-enquiry-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .assa-contact-route-grid {
        grid-template-columns: 1fr;
    }

    .assa-contact-map,
    .assa-contact-map-placeholder {
        min-height: 330px;
    }

    .assa-contact-direct-grid {
        grid-template-columns: 1fr;
    }
}


@media(max-width:520px) {

    .assa-contact-hero h1 {
        font-size: 2.3rem;
    }

    .assa-contact-hero-panel,
    .assa-contact-address,
    .assa-contact-form-shell {
        padding: 25px;
    }

    .assa-contact-address-actions {
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 6px;
    }

        .assa-contact-address-actions a {
            padding-left: 7px;
            padding-right: 7px;
            font-size: .72rem;
            white-space: nowrap;
        }

    .assa-contact-direct-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .assa-contact-primary-btn,
    .assa-contact-secondary-btn,
    .assa-contact-whatsapp-btn,
    .assa-contact-email-btn {
        width: 100%;
    }
}
/* =========================================================
   CONTACT MAP
   ========================================================= */

.assa-contact-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 440px;
    border: 0;
}

@media(max-width:780px) {

    .assa-contact-map iframe {
        min-height: 330px;
    }
}
/* =========================================================
   ORCHARD CONTACT ENQUIRY FORM - FINAL
   ========================================================= */


/* Reduce space below enquiry heading */

.assa-contact-enquiry-start {
    padding: 70px 0 30px !important;
}


/* ---------------------------------------------------------
   Identify only our ASSA enquiry form by its field names.
   This avoids dependency on Orchard's generated wrapper ID.
   --------------------------------------------------------- */

form:has(input[name="Name"]):has(textarea[name="Message"]) {
    width: min(900px, calc(100% - 40px)) !important;
    margin: 0 auto 90px !important;
    padding: 40px !important;
    box-sizing: border-box !important;
    border: 1px solid #d8e6ec !important;
    border-radius: 24px !important;
    background: #f8fbfc !important;
    box-shadow: 0 18px 45px rgba(5,55,79,.10) !important;
}


    /* =========================================================
   FIELD CONTAINERS
   ========================================================= */

    form:has(input[name="Name"]):has(textarea[name="Message"]) .form-group,
    form:has(input[name="Name"]):has(textarea[name="Message"]) .mb-3,
    form:has(input[name="Name"]):has(textarea[name="Message"]) .mb-2 {
        margin-bottom: 22px !important;
    }


    /* =========================================================
   LABELS
   ========================================================= */

    form:has(input[name="Name"]):has(textarea[name="Message"]) label {
        display: block !important;
        width: 100% !important;
        margin: 0 0 8px !important;
        padding: 0 !important;
        color: #053451 !important;
        font-family: inherit !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        line-height: 1.4 !important;
    }


    /* =========================================================
   ALL FORM CONTROLS
   ========================================================= */

    form:has(input[name="Name"]):has(textarea[name="Message"])
    input[name="Name"],
    form:has(input[name="Name"]):has(textarea[name="Message"])
    input[name="Email"],
    form:has(input[name="Name"]):has(textarea[name="Message"])
    input[name="Mobile"],
    form:has(input[name="Name"]):has(textarea[name="Message"])
    input[name="Subject"],
    form:has(input[name="Name"]):has(textarea[name="Message"])
    select[name="EnquiryType"],
    form:has(input[name="Name"]):has(textarea[name="Message"])
    textarea[name="Message"] {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
        margin: 0 0 22px !important;
        padding: 13px 15px !important;
        border: 1px solid #bfd3dc !important;
        border-radius: 10px !important;
        background: #ffffff !important;
        color: #304c5b !important;
        font-family: inherit !important;
        font-size: 15px !important;
        line-height: 1.5 !important;
        outline: none !important;
        box-shadow: none !important;
    }


    /* =========================================================
   INPUT HEIGHTS
   ========================================================= */

    form:has(input[name="Name"]):has(textarea[name="Message"])
    input[name="Name"],
    form:has(input[name="Name"]):has(textarea[name="Message"])
    input[name="Email"],
    form:has(input[name="Name"]):has(textarea[name="Message"])
    input[name="Mobile"],
    form:has(input[name="Name"]):has(textarea[name="Message"])
    input[name="Subject"],
    form:has(input[name="Name"]):has(textarea[name="Message"])
    select[name="EnquiryType"] {
        min-height: 50px !important;
    }


    /* =========================================================
   SELECT
   ========================================================= */

    form:has(input[name="Name"]):has(textarea[name="Message"])
    select[name="EnquiryType"] {
        cursor: pointer !important;
    }


    /* =========================================================
   MESSAGE
   ========================================================= */

    form:has(input[name="Name"]):has(textarea[name="Message"])
    textarea[name="Message"] {
        min-height: 170px !important;
        resize: vertical !important;
    }


    /* =========================================================
   PLACEHOLDER
   ========================================================= */

    form:has(input[name="Name"]):has(textarea[name="Message"])
    input::placeholder,
    form:has(input[name="Name"]):has(textarea[name="Message"])
    textarea::placeholder {
        color: #8499a4 !important;
        opacity: 1 !important;
    }


    /* =========================================================
   FOCUS
   ========================================================= */

    form:has(input[name="Name"]):has(textarea[name="Message"])
    input:focus,
    form:has(input[name="Name"]):has(textarea[name="Message"])
    select:focus,
    form:has(input[name="Name"]):has(textarea[name="Message"])
    textarea:focus {
        border-color: #075d89 !important;
        box-shadow: 0 0 0 3px rgba(7,93,137,.12) !important;
    }


    /* =========================================================
   SUBMIT BUTTON
   ========================================================= */

    form:has(input[name="Name"]):has(textarea[name="Message"])
    button[type="submit"],
    form:has(input[name="Name"]):has(textarea[name="Message"])
    input[type="submit"] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 160px !important;
        min-height: 50px !important;
        padding: 0 28px !important;
        margin-top: 5px !important;
        border: 0 !important;
        border-radius: 11px !important;
        background: #f5a623 !important;
        color: #153649 !important;
        font-family: inherit !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        cursor: pointer !important;
        transition: transform .2s ease, box-shadow .2s ease !important;
    }


        form:has(input[name="Name"]):has(textarea[name="Message"])
        button[type="submit"]:hover,
        form:has(input[name="Name"]):has(textarea[name="Message"])
        input[type="submit"]:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 24px rgba(245,166,35,.28) !important;
        }


    /* =========================================================
   VALIDATION SUMMARY
   ========================================================= */

    form:has(input[name="Name"]):has(textarea[name="Message"])
    .validation-summary-errors {
        margin: 0 0 22px !important;
        padding: 15px 18px !important;
        border-left: 4px solid #b42318 !important;
        border-radius: 8px !important;
        background: #fff1f0 !important;
        color: #8a1c14 !important;
    }


    form:has(input[name="Name"]):has(textarea[name="Message"])
    .validation-summary-valid {
        display: none !important;
    }


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:780px) {

    .assa-contact-enquiry-start {
        padding: 55px 0 25px !important;
    }

    form:has(input[name="Name"]):has(textarea[name="Message"]) {
        width: calc(100% - 30px) !important;
        margin: 0 auto 65px !important;
        padding: 25px 20px !important;
        border-radius: 18px !important;
    }
}


@media(max-width:520px) {

    form:has(input[name="Name"]):has(textarea[name="Message"])
    button[type="submit"],
    form:has(input[name="Name"]):has(textarea[name="Message"])
    input[type="submit"] {
        width: 100% !important;
        min-width: 0 !important;
    }
}
/* =========================================================
   ARTICLE DETAIL PAGE
   ========================================================= */

.assa-article {
    padding: clamp(2rem, 5vw, 4.5rem) 1.25rem;
    background: #ffffff;
    color: #17324d;
}

.assa-article__container {
    width: min(100%, 1120px);
    margin-inline: auto;
}

.assa-article__breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 1.5rem;
    color: #526579;
    font-size: 0.925rem;
}

    .assa-article__breadcrumb a {
        color: #07517d;
        font-weight: 600;
        text-decoration: none;
    }

        .assa-article__breadcrumb a:hover {
            color: #d97c00;
            text-decoration: underline;
        }

.assa-article__header {
    max-width: 900px;
    margin-bottom: 2rem;
}

.assa-article__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    color: #526579;
    font-size: 0.95rem;
}

.assa-article__category {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    background: #eaf5fa;
    color: #07517d;
    font-weight: 700;
}

.assa-article__meta time {
    font-weight: 600;
}

.assa-article__header h1 {
    margin: 0;
    color: #063b60;
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.assa-article__summary {
    margin: 1.25rem 0 0;
    color: #43586c;
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.7;
}

.assa-article__featured-image {
    margin: 0 0 2.5rem;
    overflow: hidden;
    border-radius: 1rem;
    background: #edf3f6;
    box-shadow: 0 0.75rem 2.25rem rgba(6, 59, 96, 0.14);
}

    .assa-article__featured-image img {
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9;
        object-fit: cover;
    }

.assa-article__body {
    max-width: 900px;
    color: #263c50;
    font-size: 1.05rem;
    line-height: 1.8;
}

    .assa-article__body > :first-child {
        margin-top: 0;
    }

    .assa-article__body h2,
    .assa-article__body h3,
    .assa-article__body h4 {
        margin-top: 2rem;
        color: #063b60;
        line-height: 1.3;
    }

    .assa-article__body p,
    .assa-article__body ul,
    .assa-article__body ol {
        margin-bottom: 1.25rem;
    }

    .assa-article__body img {
        max-width: 100%;
        height: auto;
        border-radius: 0.75rem;
    }

    .assa-article__body a {
        color: #07517d;
        text-decoration: underline;
        text-underline-offset: 0.15em;
    }

.assa-article__footer {
    max-width: 900px;
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid #dce6ec;
}

.assa-article__back-link {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.65rem 1rem;
    border: 2px solid #07517d;
    border-radius: 0.5rem;
    color: #07517d;
    font-weight: 700;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

    .assa-article__back-link:hover {
        background: #07517d;
        color: #ffffff;
    }

    .assa-article__breadcrumb a:focus-visible,
    .assa-article__body a:focus-visible,
    .assa-article__back-link:focus-visible {
        outline: 3px solid #f5a623;
        outline-offset: 3px;
    }

@media (max-width: 767px) {
    .assa-article {
        padding: 1.5rem 1rem 3rem;
    }

    .assa-article__header {
        margin-bottom: 1.5rem;
    }

    .assa-article__featured-image {
        margin-bottom: 2rem;
        border-radius: 0.65rem;
    }

    .assa-article__body {
        font-size: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .assa-article__back-link {
        transition: none;
    }
}
/* =========================================================
   ASSA Blog listing page
   ========================================================= */

.assa-blog {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
    padding: 48px 0 72px;
    color: #0b3558;
}

.assa-blog__header {
    max-width: 760px;
    margin-bottom: 36px;
}

.assa-blog__breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    color: #536b7d;
    font-size: 0.95rem;
}

    .assa-blog__breadcrumb a {
        color: #005b96;
        text-decoration: none;
    }

        .assa-blog__breadcrumb a:hover {
            text-decoration: underline;
        }

.assa-blog__header h1 {
    margin: 0 0 12px;
    color: #073b63;
    font-size: clamp(2.25rem, 5vw, 3.75rem);
    line-height: 1.1;
}

.assa-blog__header p {
    margin: 0;
    color: #405b70;
    font-size: 1.15rem;
    line-height: 1.7;
}

/* Article grid */

.assa-blog__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
}

/* Article card */

.assa-blog-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #dbe6ed;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(7, 59, 99, 0.08);
    transition: transform 180ms ease, box-shadow 180ms ease;
}

    .assa-blog-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 38px rgba(7, 59, 99, 0.14);
    }

.assa-blog-card__image-link {
    display: block;
    overflow: hidden;
    background: #eaf3f8;
    aspect-ratio: 16 / 9;
}

.assa-blog-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 250ms ease;
}

.assa-blog-card:hover .assa-blog-card__image {
    transform: scale(1.025);
}

.assa-blog-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
}

.assa-blog-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin-bottom: 15px;
    color: #5c7181;
    font-size: 0.88rem;
}

.assa-blog-card__category {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 12px;
    color: #07456e;
    background: #eaf6fb;
    border-radius: 999px;
    font-weight: 700;
}

.assa-blog-card__title {
    margin: 0 0 12px;
    font-size: 1.45rem;
    line-height: 1.3;
}

    .assa-blog-card__title a {
        color: #073b63;
        text-decoration: none;
    }

        .assa-blog-card__title a:hover {
            color: #006cae;
            text-decoration: underline;
            text-decoration-thickness: 2px;
            text-underline-offset: 4px;
        }

.assa-blog-card__summary {
    margin: 0 0 22px;
    color: #405b70;
    font-size: 1rem;
    line-height: 1.65;
}

.assa-blog-card__read-more {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    color: #005b96;
    font-weight: 700;
    text-decoration: none;
}

    .assa-blog-card__read-more:hover {
        color: #073b63;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    .assa-blog-card__read-more span {
        transition: transform 180ms ease;
    }

    .assa-blog-card__read-more:hover span {
        transform: translateX(4px);
    }

/* No-article message */

.assa-blog__empty {
    padding: 48px 24px;
    text-align: center;
    background: #f3f9fc;
    border: 1px solid #dbe6ed;
    border-radius: 16px;
}

    .assa-blog__empty h2 {
        margin: 0 0 8px;
        color: #073b63;
    }

    .assa-blog__empty p {
        margin: 0;
        color: #536b7d;
    }

/* Keyboard accessibility */

.assa-blog a:focus-visible {
    outline: 3px solid #f5a623;
    outline-offset: 4px;
    border-radius: 4px;
}

/* Tablet */

@media (max-width: 900px) {
    .assa-blog__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Mobile */

@media (max-width: 620px) {
    .assa-blog {
        width: min(100% - 28px, 1120px);
        padding: 32px 0 52px;
    }

    .assa-blog__header {
        margin-bottom: 26px;
    }

        .assa-blog__header p {
            font-size: 1rem;
        }

    .assa-blog__grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .assa-blog-card__content {
        padding: 20px;
    }

    .assa-blog-card__title {
        font-size: 1.3rem;
    }
}

/* Respect reduced-motion preferences */

@media (prefers-reduced-motion: reduce) {
    .assa-blog-card,
    .assa-blog-card__image,
    .assa-blog-card__read-more span {
        transition: none;
    }

        .assa-blog-card:hover {
            transform: none;
        }

            .assa-blog-card:hover .assa-blog-card__image {
                transform: none;
            }
}
/* =========================================================
   Social Impact internal pages
   Uses the existing ASSA internal-page design system
   ========================================================= */

.assa-impact-section {
    padding-top: 52px;
    padding-bottom: 52px;
}

    .assa-impact-section + .assa-impact-section {
        margin-top: 0;
    }

    .assa-impact-section .assa-programmes {
        width: 100%;
        max-width: none;
        align-items: stretch;
        margin-top: 28px;
    }

    .assa-impact-section .assa-programme-card {
        display: flex;
        width: auto;
        max-width: none;
        min-height: 0;
        height: 100%;
        flex-direction: column;
        padding: 28px;
    }

        .assa-impact-section .assa-programme-card h3 {
            margin-top: 0;
        }

        .assa-impact-section .assa-programme-card p {
            margin-bottom: 18px;
        }

.assa-impact-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

    .assa-impact-links .assa-programme-card span {
        display: inline-block;
        margin-top: auto;
        color: #005b96;
        font-weight: 700;
    }

.assa-impact-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

    .assa-impact-stats .assa-programme-card {
        justify-content: flex-start;
    }

        .assa-impact-stats .assa-programme-card h3 {
            color: #073b63;
            font-size: clamp(1.7rem, 3vw, 2.35rem);
            line-height: 1.1;
        }

.assa-impact-source {
    padding-top: 30px;
    padding-bottom: 56px;
}

    .assa-impact-source .assa-container {
        padding-top: 24px;
        border-top: 1px solid #d7e3eb;
    }

    .assa-impact-source p {
        max-width: 950px;
        margin: 0;
        color: #50687a;
        line-height: 1.7;
    }

@media (max-width: 900px) {
    .assa-impact-links,
    .assa-impact-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .assa-impact-section {
        padding-top: 38px;
        padding-bottom: 38px;
    }

    .assa-impact-links,
    .assa-impact-stats {
        grid-template-columns: 1fr;
    }

    .assa-impact-section .assa-programme-card {
        padding: 22px;
    }
}
.assa-impact-back-wrap {
    margin-top: 24px !important;
}

.assa-impact-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 10px 20px;
    color: #ffffff;
    background: #075985;
    border: 2px solid #075985;
    border-radius: 8px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

    .assa-impact-back:hover {
        color: #073b63;
        background: #f5a623;
        border-color: #f5a623;
        text-decoration: none;
        transform: translateY(-2px);
    }

    .assa-impact-back:focus-visible {
        outline: 3px solid #f5a623;
        outline-offset: 4px;
    }

@media (prefers-reduced-motion: reduce) {
    .assa-impact-back {
        transition: none;
    }

        .assa-impact-back:hover {
            transform: none;
        }
}
/* =========================================================
   ASSA donation pages
   ========================================================= */

.assa-donate-primary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.assa-donate-card {
    display: flex;
    width: auto;
    max-width: none;
    min-height: 100%;
    flex-direction: column;
    padding: 32px;
}

.assa-donate-card-label {
    margin: 0 0 10px !important;
    color: #075985;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.assa-donate-card h3 {
    margin-top: 0;
}

.assa-donate-card > p:not(.assa-donate-card-label) {
    margin-bottom: 24px;
}

.assa-donate-card .assa-donate-button {
    margin-top: auto;
    align-self: flex-start;
}

.assa-donate-card-warning {
    border-color: #f5a623;
    background: #fffaf0;
}

.assa-donate-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: auto;
}

.assa-donate-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 11px 22px;
    color: #ffffff;
    background: #075985;
    border: 2px solid #075985;
    border-radius: 8px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

    .assa-donate-button:hover {
        color: #073b63;
        background: #f5a623;
        border-color: #f5a623;
        text-decoration: none;
        transform: translateY(-2px);
    }

.assa-donate-button-secondary {
    color: #075985;
    background: #ffffff;
}

.assa-donate-guidance {
    max-width: 1000px;
    padding: 28px 32px;
    background: #f3f8fb;
    border-left: 5px solid #075985;
    border-radius: 8px;
}

    .assa-donate-guidance ul {
        margin: 0 0 20px;
        padding-left: 24px;
    }

    .assa-donate-guidance li {
        margin-bottom: 10px;
        line-height: 1.6;
    }

    .assa-donate-guidance p {
        margin: 0;
        font-weight: 700;
    }

.assa-donate-offline .assa-container {
    padding: 38px;
    background: #eaf5fa;
    border-radius: 16px;
}

.assa-donate-offline p {
    max-width: 850px;
}

.assa-donate-button:focus-visible {
    outline: 3px solid #f5a623;
    outline-offset: 4px;
}

@media (max-width: 760px) {
    .assa-donate-primary-grid {
        grid-template-columns: 1fr;
    }

    .assa-donate-card {
        padding: 24px;
    }

    .assa-donate-actions {
        align-items: stretch;
        flex-direction: column;
    }

        .assa-donate-actions .assa-donate-button {
            width: 100%;
        }

    .assa-donate-guidance {
        padding: 24px;
    }

    .assa-donate-offline .assa-container {
        padding: 28px 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .assa-donate-button {
        transition: none;
    }

        .assa-donate-button:hover {
            transform: none;
        }
}
/* Offline, bank-transfer and UPI donation details */

.assa-donate-method-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

    .assa-donate-method-grid .assa-programme-card {
        display: flex;
        width: auto;
        max-width: none;
        height: 100%;
        min-height: 0;
        flex-direction: column;
    }

        .assa-donate-method-grid .assa-programme-card span {
            margin-top: auto;
            color: #075985;
            font-weight: 700;
        }

.assa-donation-details {
    scroll-margin-top: 120px;
}

.assa-donation-notice {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 36px;
    margin: 24px 0;
    padding: 20px 24px;
    background: #eef7fb;
    border-left: 5px solid #075985;
    border-radius: 8px;
}

    .assa-donation-notice p {
        margin: 0;
    }

.assa-bank-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #cfdee8;
    border-radius: 12px;
}

.assa-bank-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    background: #ffffff;
}

    .assa-bank-table th,
    .assa-bank-table td {
        padding: 18px 20px;
        text-align: left;
        vertical-align: top;
        border-bottom: 1px solid #dbe6ed;
    }

    .assa-bank-table th {
        color: #073b63;
        background: #edf6fa;
        font-weight: 800;
    }

    .assa-bank-table tbody tr:last-child td {
        border-bottom: 0;
    }

    .assa-bank-table tbody tr:hover {
        background: #f8fbfd;
    }

.assa-donation-warning {
    margin: 24px 0;
    padding: 24px 28px;
    background: #fff8e8;
    border: 2px solid #f5a623;
    border-radius: 12px;
}

    .assa-donation-warning h3 {
        margin-top: 0;
        color: #073b63;
    }

    .assa-donation-warning p {
        margin-bottom: 0;
    }

.assa-account-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 28px 0;
}

    .assa-account-details > div {
        padding: 18px 20px;
        background: #ffffff;
        border: 1px solid #d7e3eb;
        border-radius: 10px;
    }

    .assa-account-details dt {
        margin-bottom: 5px;
        color: #536b7d;
        font-size: 0.86rem;
        font-weight: 700;
        text-transform: uppercase;
    }

    .assa-account-details dd {
        margin: 0;
        color: #073b63;
        font-size: 1.05rem;
        font-weight: 700;
        overflow-wrap: anywhere;
    }

.assa-upi-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    gap: 48px;
    align-items: center;
}

.assa-upi-copy h3 {
    color: #073b63;
}

.assa-donation-warning-text {
    color: #a33400;
    font-weight: 700;
}

.assa-upi-qr {
    margin: 0;
    padding: 24px;
    text-align: center;
    background: #ffffff;
    border: 1px solid #d7e3eb;
    border-radius: 14px;
}

    .assa-upi-qr img {
        display: block;
        width: min(100%, 330px);
        height: auto;
        margin: 0 auto 16px;
    }

    .assa-upi-qr figcaption {
        color: #536b7d;
        font-size: 0.9rem;
        line-height: 1.55;
    }

@media (max-width: 900px) {
    .assa-donate-method-grid {
        grid-template-columns: 1fr;
    }

    .assa-account-details {
        grid-template-columns: 1fr;
    }

    .assa-upi-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .assa-donation-notice {
        align-items: flex-start;
        flex-direction: column;
    }

    .assa-bank-table th,
    .assa-bank-table td {
        padding: 14px 16px;
    }

    .assa-donation-warning {
        padding: 20px;
    }

    .assa-upi-qr {
        padding: 18px;
    }
}
.assa-recurring-donation__intro {
    max-width: 900px;
    margin-bottom: 30px;
    color: #405b70;
    font-size: 1.05rem;
    line-height: 1.75;
}

.assa-danamojo-embed {
    width: 100%;
    min-height: 420px;
    padding: 24px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #d7e3eb;
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(7, 59, 99, 0.08);
}

    .assa-danamojo-embed iframe {
        display: block;
        width: 100%;
        max-width: 100%;
        border: 0;
    }

@media (max-width: 620px) {
    .assa-danamojo-embed {
        min-height: 520px;
        padding: 12px;
    }
}
/* ==========================================================
   ESG GOVERNANCE RESOURCES
   ========================================================== */

.assa-esg-governance-resources {
    margin-top: 56px;
    padding-top: 48px;
    border-top: 1px solid #d7e3ec;
}

.assa-esg-governance-resources-heading {
    max-width: 820px;
    margin-bottom: 30px;
}

    .assa-esg-governance-resources-heading h2 {
        margin: 10px 0 14px;
        color: #07395d;
    }

    .assa-esg-governance-resources-heading p {
        margin: 0;
        color: #405e75;
        line-height: 1.75;
    }

.assa-esg-org-chart {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    padding: 28px;
    margin-bottom: 42px;
    border: 1px solid #cbdde9;
    border-radius: 18px;
    background: #f4f9fc;
}

.assa-esg-resource-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background: #07395d;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.assa-esg-resource-type {
    display: block;
    margin-bottom: 6px;
    color: #d77a00;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.assa-esg-org-chart-copy h3 {
    margin: 0 0 8px;
    color: #07395d;
}

.assa-esg-org-chart-copy p {
    margin: 0;
    color: #405e75;
    line-height: 1.65;
}

.assa-esg-resource-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 12px 20px;
    border: 2px solid #f5a623;
    border-radius: 10px;
    background: #f5a623;
    color: #10283b;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

    .assa-esg-resource-button:hover,
    .assa-esg-resource-button:focus-visible {
        border-color: #07395d;
        background: #07395d;
        color: #ffffff;
        text-decoration: none;
        transform: translateY(-2px);
    }

.assa-esg-policy-heading {
    margin-bottom: 22px;
}

    .assa-esg-policy-heading h3 {
        margin: 0 0 8px;
        color: #07395d;
        font-size: 1.5rem;
    }

    .assa-esg-policy-heading p {
        margin: 0;
        color: #405e75;
    }

.assa-esg-policy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.assa-esg-policy-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    min-height: 112px;
    padding: 20px;
    border: 1px solid #cbdde9;
    border-radius: 14px;
    background: #ffffff;
    color: #07395d;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

    .assa-esg-policy-card:hover,
    .assa-esg-policy-card:focus-visible {
        border-color: #f5a623;
        box-shadow: 0 12px 28px rgba(7, 57, 93, 0.1);
        color: #07395d;
        text-decoration: none;
        transform: translateY(-3px);
    }

.assa-esg-policy-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #eaf4fa;
    color: #07598d;
    font-size: 0.82rem;
    font-weight: 800;
}

.assa-esg-policy-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .assa-esg-policy-content strong {
        color: #07395d;
        font-size: 1rem;
        line-height: 1.4;
    }

    .assa-esg-policy-content small {
        color: #07598d;
        font-size: 0.88rem;
        font-weight: 700;
    }


/* ==========================================================
   RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {
    .assa-esg-policy-grid {
        grid-template-columns: 1fr;
    }

    .assa-esg-org-chart {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .assa-esg-resource-button {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 600px) {
    .assa-esg-governance-resources {
        margin-top: 40px;
        padding-top: 36px;
    }

    .assa-esg-org-chart {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .assa-esg-resource-icon {
        width: 54px;
        height: 54px;
    }

    .assa-esg-policy-card {
        align-items: start;
        min-height: 0;
        padding: 18px;
    }
}
/* ==========================================================
   CAREERS PAGE
   ========================================================== */

.assa-careers-openings {
    padding: 72px 0;
}

.assa-careers-heading {
    max-width: 900px;
    margin-bottom: 34px;
}

    .assa-careers-heading h2 {
        margin: 10px 0 12px;
        color: #07395d;
    }

.assa-careers-introduction {
    color: #405e75;
    line-height: 1.75;
}

    .assa-careers-introduction:empty {
        display: none;
    }

.assa-vacancy-list {
    display: grid;
    gap: 20px;
}

.assa-vacancy-card {
    overflow: hidden;
    border: 1px solid #cfdee8;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(7, 57, 93, 0.05);
}

.assa-vacancy-details {
    margin: 0;
}

.assa-vacancy-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 26px 28px;
    cursor: pointer;
    list-style: none;
}

    .assa-vacancy-summary::-webkit-details-marker {
        display: none;
    }

    .assa-vacancy-summary::marker {
        display: none;
        content: "";
    }

.assa-vacancy-summary-copy {
    min-width: 0;
}

.assa-vacancy-summary h3 {
    margin: 0 0 12px;
    color: #07395d;
    font-size: 1.4rem;
}

.assa-vacancy-featured {
    display: inline-block;
    margin-bottom: 9px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #fff2d8;
    color: #9a5700;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.assa-vacancy-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    color: #405e75;
    font-size: 0.94rem;
}

    .assa-vacancy-meta strong {
        color: #07395d;
    }

.assa-vacancy-expand {
    flex: 0 0 auto;
    color: #07598d;
    font-weight: 800;
    white-space: nowrap;
}

.assa-vacancy-expand-close {
    display: none;
}

.assa-vacancy-details[open] .assa-vacancy-expand-open {
    display: none;
}

.assa-vacancy-details[open] .assa-vacancy-expand-close {
    display: inline;
}

.assa-vacancy-details[open] .assa-vacancy-summary {
    background: #f4f9fc;
    border-bottom: 1px solid #cfdee8;
}

.assa-vacancy-body {
    padding: 28px;
}

.assa-vacancy-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 28px;
}

.assa-vacancy-fact {
    padding: 18px;
    border-radius: 12px;
    background: #f4f9fc;
}

    .assa-vacancy-fact h4 {
        margin: 0 0 7px;
        color: #07395d;
        font-size: 0.9rem;
    }

    .assa-vacancy-fact p {
        margin: 0;
        color: #405e75;
        line-height: 1.6;
    }

.assa-vacancy-responsibilities {
    margin-bottom: 28px;
}

    .assa-vacancy-responsibilities h4 {
        margin: 0 0 12px;
        color: #07395d;
        font-size: 1.1rem;
    }

    .assa-vacancy-responsibilities,
    .assa-vacancy-responsibilities p,
    .assa-vacancy-responsibilities li {
        color: #405e75;
        line-height: 1.75;
    }

        .assa-vacancy-responsibilities p:first-child {
            margin-top: 0;
        }

.assa-vacancy-actions {
    padding-top: 24px;
    border-top: 1px solid #d7e3ec;
}

.assa-vacancy-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 12px 22px;
    border: 2px solid #f5a623;
    border-radius: 10px;
    background: #f5a623;
    color: #10283b;
    font-weight: 800;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

    .assa-vacancy-apply:hover,
    .assa-vacancy-apply:focus-visible {
        border-color: #07395d;
        background: #07395d;
        color: #ffffff;
        text-decoration: none;
        transform: translateY(-2px);
    }

.assa-vacancy-actions p {
    margin: 12px 0 0;
    color: #5a7182;
    font-size: 0.88rem;
    line-height: 1.6;
}

.assa-careers-empty {
    padding: 42px;
    border: 1px solid #cfdee8;
    border-radius: 16px;
    background: #f4f9fc;
    text-align: center;
}

    .assa-careers-empty h3 {
        margin: 0 0 10px;
        color: #07395d;
    }

    .assa-careers-empty p {
        margin: 0;
        color: #405e75;
    }

.assa-careers-notice {
    margin-top: 42px;
    padding: 28px;
    border-left: 5px solid #f5a623;
    border-radius: 0 14px 14px 0;
    background: #fff9ee;
}

    .assa-careers-notice h2 {
        margin: 0 0 16px;
        color: #07395d;
        font-size: 1.3rem;
    }

    .assa-careers-notice ul {
        margin: 0;
        padding-left: 22px;
    }

    .assa-careers-notice li {
        margin: 8px 0;
        color: #405e75;
        line-height: 1.65;
    }


/* ==========================================================
   CAREERS RESPONSIVE
   ========================================================== */

@media (max-width: 900px) {
    .assa-vacancy-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .assa-careers-openings {
        padding: 48px 0;
    }

    .assa-vacancy-summary {
        align-items: flex-start;
        padding: 22px 20px;
    }

    .assa-vacancy-expand {
        font-size: 0;
    }

    .assa-vacancy-expand-open::after {
        content: "+";
        font-size: 1.5rem;
    }

    .assa-vacancy-expand-close::after {
        content: "−";
        font-size: 1.5rem;
    }

    .assa-vacancy-body {
        padding: 22px 20px;
    }

    .assa-vacancy-facts {
        grid-template-columns: 1fr;
    }

    .assa-vacancy-apply {
        width: 100%;
    }

    .assa-careers-notice {
        padding: 22px 20px;
    }
}
/* ==========================================================
   CAREER DETAIL PAGE
   ========================================================== */

.assa-career-detail-section {
    padding: 72px 0;
}

.assa-career-detail-card {
    padding: 36px;
    border: 1px solid #cfdee8;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 12px 34px rgba(7, 57, 93, 0.08);
}

.assa-career-detail-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 30px;
}

    .assa-career-detail-heading h2 {
        margin: 8px 0 0;
        color: #07395d;
    }

.assa-career-vacancy-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 15px;
    border-radius: 999px;
    background: #fff2d8;
    color: #945400;
    font-size: 0.88rem;
    font-weight: 800;
    white-space: nowrap;
}

.assa-career-detail .assa-vacancy-fact h3 {
    margin: 0 0 7px;
    color: #07395d;
    font-size: 0.9rem;
}

.assa-career-responsibilities {
    margin-top: 10px;
    padding-top: 30px;
    border-top: 1px solid #d7e3ec;
}

    .assa-career-responsibilities h2 {
        margin: 0 0 18px;
        color: #07395d;
        font-size: 1.35rem;
    }

    .assa-career-responsibilities,
    .assa-career-responsibilities p,
    .assa-career-responsibilities li {
        color: #405e75;
        line-height: 1.75;
    }

.assa-career-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
    padding-top: 26px;
    border-top: 1px solid #d7e3ec;
}

.assa-career-back-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 22px;
    border: 2px solid #07395d;
    border-radius: 10px;
    background: #ffffff;
    color: #07395d;
    font-weight: 800;
    text-decoration: none;
}

    .assa-career-back-button:hover,
    .assa-career-back-button:focus-visible {
        background: #07395d;
        color: #ffffff;
        text-decoration: none;
    }

.assa-career-application-note {
    margin: 18px 0 0;
    color: #5a7182;
    font-size: 0.9rem;
    line-height: 1.65;
}

@media (max-width: 640px) {
    .assa-career-detail-section {
        padding: 48px 0;
    }

    .assa-career-detail-card {
        padding: 24px 20px;
    }

    .assa-career-detail-heading {
        flex-direction: column;
    }

    .assa-career-detail-actions {
        flex-direction: column;
    }

        .assa-career-detail-actions a {
            width: 100%;
        }
}
/* ==========================================================
   PARTNERS PAGES
   ========================================================== */

.assa-partners-page {
    color: #103f63;
    background: #ffffff;
}

    .assa-partners-page .assa-container {
        width: min(1180px, calc(100% - 40px));
        margin-inline: auto;
    }


/* Hero */

.assa-partners-hero {
    padding: 72px 0 64px;
    text-align: center;
    background: radial-gradient( circle at top right, rgba(247, 166, 35, 0.14), transparent 34% ), linear-gradient(135deg, #eef8fd 0%, #ffffff 75%);
    border-bottom: 1px solid #d5e5ef;
}

    .assa-partners-hero .assa-section-eyebrow {
        margin: 0 0 12px;
        color: #f59f18;
        font-size: 0.82rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .assa-partners-hero h1 {
        margin: 0;
        color: #073d62;
        font-size: clamp(2rem, 5vw, 3.5rem);
        line-height: 1.1;
    }

.assa-partners-introduction {
    max-width: 780px;
    margin: 22px auto 0;
    color: #365f7b;
    font-size: 1.05rem;
    line-height: 1.8;
}

    .assa-partners-introduction > :first-child {
        margin-top: 0;
    }

    .assa-partners-introduction > :last-child {
        margin-bottom: 0;
    }


/* Main content */

.assa-partners-content {
    min-height: 420px;
    padding: 64px 0 80px;
}


/* Location filters */

.assa-partner-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 42px;
}

.assa-partner-filter {
    min-height: 42px;
    padding: 9px 20px;
    color: #075184;
    font: inherit;
    font-weight: 700;
    background: #ffffff;
    border: 1px solid #b9d5e5;
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

    .assa-partner-filter:hover {
        color: #ffffff;
        background: #075184;
        border-color: #075184;
        transform: translateY(-1px);
    }

    .assa-partner-filter.is-active {
        color: #082f4d;
        background: #f7a623;
        border-color: #f7a623;
    }

    .assa-partner-filter:focus-visible {
        outline: 3px solid rgba(247, 166, 35, 0.45);
        outline-offset: 3px;
    }


/* Partner grid */

.assa-partners-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.assa-partner-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 24px 20px 20px;
    text-align: center;
    background: #ffffff;
    border: 1px solid #cfe0ea;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(7, 61, 98, 0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

    .assa-partner-card:hover {
        border-color: #f7a623;
        box-shadow: 0 18px 38px rgba(7, 61, 98, 0.13);
        transform: translateY(-5px);
    }

    .assa-partner-card[hidden] {
        display: none;
    }


/* Logo */

.assa-partner-logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 150px;
    padding: 12px;
    background: #ffffff;
    border-radius: 12px;
}

a.assa-partner-logo-link {
    text-decoration: none;
}

.assa-partner-logo-link img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 120px;
    object-fit: contain;
    transition: transform 0.25s ease;
}

.assa-partner-card:hover .assa-partner-logo-link img {
    transform: scale(1.04);
}

.assa-partner-card h2 {
    margin: 18px 0 0;
    color: #073d62;
    font-size: 1.05rem;
    line-height: 1.4;
}

.assa-partner-location {
    margin: 7px 0 0;
    color: #55768b;
    font-size: 0.9rem;
}


/* Empty state */

.assa-partners-empty {
    padding: 50px 24px;
    text-align: center;
    background: #f3f9fc;
    border: 1px solid #cfe0ea;
    border-radius: 18px;
}

    .assa-partners-empty h2 {
        margin: 0 0 10px;
        color: #073d62;
    }

    .assa-partners-empty p {
        margin: 0;
        color: #55768b;
    }


/* Responsive layout */

@media (max-width: 1000px) {
    .assa-partners-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .assa-partners-page .assa-container {
        width: min(100% - 28px, 1180px);
    }

    .assa-partners-hero {
        padding: 52px 0 46px;
    }

    .assa-partners-content {
        padding: 48px 0 64px;
    }

    .assa-partners-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .assa-partner-card {
        padding: 18px 14px;
    }

    .assa-partner-logo-link {
        height: 125px;
    }

        .assa-partner-logo-link img {
            max-height: 100px;
        }
}

@media (max-width: 480px) {
    .assa-partners-grid {
        grid-template-columns: 1fr;
    }

    .assa-partner-filter {
        padding-inline: 15px;
        font-size: 0.9rem;
    }

    .assa-partner-logo-link {
        height: 145px;
    }

        .assa-partner-logo-link img {
            max-height: 115px;
        }
}
/* Footer partner buttons */

.assa-footer-partners {
    padding: 32px 0;
    background: #0b3558;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

    .assa-footer-partners h3 {
        margin: 0 0 18px;
        color: #f7a623;
        font-size: 0.85rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

.assa-partner-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

    .assa-partner-row a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 190px;
        min-height: 50px;
        padding: 12px 24px;
        color: #ffffff;
        font-weight: 700;
        text-align: center;
        text-decoration: none;
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 10px;
        transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    }

        .assa-partner-row a:hover {
            color: #082f4d;
            background: #f7a623;
            border-color: #f7a623;
            transform: translateY(-2px);
        }

        .assa-partner-row a:focus-visible {
            color: #082f4d;
            background: #f7a623;
            outline: 3px solid rgba(247, 166, 35, 0.45);
            outline-offset: 3px;
        }

@media (max-width: 520px) {
    .assa-partner-row {
        flex-direction: column;
    }

        .assa-partner-row a {
            width: 100%;
        }
}
/* ==========================================================
   RECOGNITION LISTING PAGES
   ========================================================== */

.assa-recognition-page {
    color: #173f5d;
    background: #ffffff;
}

    .assa-recognition-page .assa-container {
        width: min(1180px, calc(100% - 40px));
        margin-inline: auto;
    }


/* Hero */

.assa-recognition-hero {
    padding: 72px 0 64px;
    text-align: center;
    background: radial-gradient( circle at top right, rgba(247, 166, 35, 0.15), transparent 35% ), linear-gradient(135deg, #eef8fd 0%, #ffffff 72%);
    border-bottom: 1px solid #d5e5ef;
}

    .assa-recognition-hero .assa-section-eyebrow {
        margin: 0 0 12px;
        color: #f59f18;
        font-size: 0.82rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .assa-recognition-hero h1 {
        max-width: 900px;
        margin: 0 auto;
        color: #073d62;
        font-size: clamp(2rem, 5vw, 3.5rem);
        line-height: 1.1;
    }

.assa-recognition-introduction {
    max-width: 820px;
    margin: 22px auto 0;
    color: #365f7b;
    font-size: 1.05rem;
    line-height: 1.8;
}

    .assa-recognition-introduction > :first-child {
        margin-top: 0;
    }

    .assa-recognition-introduction > :last-child {
        margin-bottom: 0;
    }


/* Listing content */

.assa-recognition-content {
    min-height: 420px;
    padding: 64px 0 80px;
}

.assa-recognition-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
}


/* Recognition card */

.assa-recognition-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #cfe0ea;
    border-radius: 20px;
    box-shadow: 0 14px 34px rgba(7, 61, 98, 0.08);
    transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

    .assa-recognition-card:hover {
        border-color: #f7a623;
        box-shadow: 0 20px 42px rgba(7, 61, 98, 0.14);
        transform: translateY(-5px);
    }


/* ==========================================================
   RECOGNITION CARD IMAGE
   ========================================================== */

.assa-recognition-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 240px;
    overflow: hidden;
    background: #f2f8fb;
}

    .assa-recognition-image img {
        display: block;
        width: 100%;
        height: 100%;
        padding: 10px;
        object-fit: contain;
        object-position: center;
        transition: none;
    }

/*
   Do not enlarge the photograph on hover because scaling can
   crop the outer edges of the image.
*/

.assa-recognition-card:hover .assa-recognition-image img {
    transform: none;
}


/* Image placeholder */

.assa-recognition-image-placeholder {
    padding: 0;
    color: #ffffff;
    background: linear-gradient( 135deg, #073d62 0%, #126496 100% );
}

    .assa-recognition-image-placeholder span {
        padding: 10px 18px;
        color: #082f4d;
        font-size: 0.8rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        background: #f7a623;
        border-radius: 999px;
    }


/* Responsive image height */

@media (max-width: 700px) {
    .assa-recognition-image {
        height: 220px;
    }
}

@media (max-width: 480px) {
    .assa-recognition-image {
        height: 210px;
    }
}
/* Card content */

.assa-recognition-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 26px;
}

.assa-recognition-meta {
    align-self: flex-start;
    margin: 0 0 12px;
    padding: 6px 12px;
    color: #8a5200;
    font-size: 0.82rem;
    font-weight: 800;
    background: #fff1d5;
    border-radius: 999px;
}

.assa-recognition-card h2 {
    margin: 0;
    color: #073d62;
    font-size: 1.28rem;
    line-height: 1.35;
}

.assa-recognition-summary {
    margin: 14px 0 0;
    color: #496c82;
    line-height: 1.7;
}

.assa-recognition-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    margin-top: auto;
    padding-top: 24px;
}

.assa-recognition-link,
.assa-recognition-external-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-weight: 800;
    text-decoration: none;
}

.assa-recognition-link {
    color: #075184;
}

.assa-recognition-external-link {
    color: #6a5b43;
    font-size: 0.92rem;
}

    .assa-recognition-link:hover,
    .assa-recognition-external-link:hover {
        color: #d77f00;
        text-decoration: underline;
    }

    .assa-recognition-link:focus-visible,
    .assa-recognition-external-link:focus-visible {
        outline: 3px solid rgba(247, 166, 35, 0.45);
        outline-offset: 4px;
        border-radius: 3px;
    }


/* Empty state */

.assa-recognition-empty {
    padding: 50px 24px;
    text-align: center;
    background: #f3f9fc;
    border: 1px solid #cfe0ea;
    border-radius: 18px;
}

    .assa-recognition-empty h2 {
        margin: 0 0 10px;
        color: #073d62;
    }

    .assa-recognition-empty p {
        margin: 0;
        color: #55768b;
    }


/* Responsive */

@media (max-width: 1000px) {
    .assa-recognition-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .assa-recognition-page .assa-container {
        width: min(100% - 28px, 1180px);
    }

    .assa-recognition-hero {
        padding: 52px 0 46px;
    }

    .assa-recognition-content {
        padding: 48px 0 64px;
    }

    .assa-recognition-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .assa-recognition-card-body {
        padding: 22px;
    }
}
/* ==========================================================
   RECOGNITION DETAIL PAGE
   ========================================================== */

.assa-recognition-detail {
    color: #173f5d;
    background: #ffffff;
}

    .assa-recognition-detail .assa-container {
        width: min(1050px, calc(100% - 40px));
        margin-inline: auto;
    }

.assa-recognition-detail-hero {
    padding: 68px 0 58px;
    text-align: center;
    background: radial-gradient( circle at top right, rgba(247, 166, 35, 0.15), transparent 35% ), linear-gradient(135deg, #eef8fd 0%, #ffffff 72%);
    border-bottom: 1px solid #d5e5ef;
}

    .assa-recognition-detail-hero .assa-section-eyebrow {
        margin: 0 0 12px;
        color: #f59f18;
        font-size: 0.82rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }

    .assa-recognition-detail-hero h1 {
        max-width: 900px;
        margin: 0 auto;
        color: #073d62;
        font-size: clamp(2rem, 5vw, 3.4rem);
        line-height: 1.15;
    }

.assa-recognition-detail-meta {
    display: inline-flex;
    margin: 22px 0 0;
    padding: 7px 15px;
    color: #7b4900;
    font-weight: 800;
    background: #fff0cf;
    border-radius: 999px;
}

.assa-recognition-detail-content {
    min-height: 420px;
    padding: 64px 0 80px;
}

.assa-recognition-detail-card {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #cfe0ea;
    border-radius: 22px;
    box-shadow: 0 16px 40px rgba(7, 61, 98, 0.09);
}

.assa-recognition-detail-image {
    margin: 0;
    background: #f2f8fb;
}

    .assa-recognition-detail-image img {
        display: block;
        width: 100%;
        max-height: 560px;
        object-fit: contain;
    }

.assa-recognition-detail-body {
    padding: clamp(26px, 5vw, 52px);
}

.assa-recognition-detail-summary {
    margin: 0;
    color: #244f6c;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.8;
}

.assa-recognition-detail-text {
    margin-top: 28px;
    color: #365f78;
    font-size: 1.02rem;
    line-height: 1.85;
}

    .assa-recognition-detail-text > :first-child {
        margin-top: 0;
    }

    .assa-recognition-detail-text > :last-child {
        margin-bottom: 0;
    }

.assa-recognition-detail-external {
    margin: 30px 0 0;
    padding-top: 24px;
    border-top: 1px solid #d6e4ec;
}

    .assa-recognition-detail-external a,
    .assa-recognition-back a {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: #075184;
        font-weight: 800;
        text-decoration: none;
    }

        .assa-recognition-detail-external a:hover,
        .assa-recognition-back a:hover {
            color: #d77f00;
            text-decoration: underline;
        }

.assa-recognition-back {
    margin-top: 30px;
}

@media (max-width: 700px) {
    .assa-recognition-detail .assa-container {
        width: min(100% - 28px, 1050px);
    }

    .assa-recognition-detail-hero {
        padding: 50px 0 44px;
    }

    .assa-recognition-detail-content {
        padding: 44px 0 64px;
    }
}
/* ==========================================================
   AWARDS COMPACT LIST
   ========================================================== */

.assa-awards-list {
    display: grid;
    gap: 16px;
    max-width: 1050px;
    margin-inline: auto;
}

.assa-award-list-item {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    padding: 22px 26px;
    background: #ffffff;
    border: 1px solid #cfe0ea;
    border-left: 5px solid #f7a623;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(7, 61, 98, 0.06);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

    .assa-award-list-item:has(.assa-award-thumbnail) {
        grid-template-columns: 100px 110px minmax(0, 1fr);
    }

    .assa-award-list-item:hover {
        border-color: #f7a623;
        box-shadow: 0 14px 30px rgba(7, 61, 98, 0.11);
        transform: translateY(-2px);
    }

.assa-award-year {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 9px 12px;
    color: #082f4d;
    font-size: 1rem;
    font-weight: 800;
    background: #fff0cf;
    border-radius: 10px;
}

.assa-award-thumbnail {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 80px;
    padding: 6px;
    overflow: hidden;
    background: #f4f9fc;
    border-radius: 10px;
}

    .assa-award-thumbnail img {
        display: block;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

.assa-award-information {
    min-width: 0;
}

    .assa-award-information h2 {
        margin: 0;
        color: #073d62;
        font-size: 1.15rem;
        line-height: 1.4;
    }

    .assa-award-information p {
        margin: 8px 0 0;
        color: #496c82;
        line-height: 1.65;
    }

@media (max-width: 700px) {
    .assa-award-list-item,
    .assa-award-list-item:has(.assa-award-thumbnail) {
        grid-template-columns: 82px minmax(0, 1fr);
        gap: 16px;
        padding: 18px;
    }

    .assa-award-thumbnail {
        grid-column: 1;
        width: 82px;
        height: 68px;
    }

    .assa-award-information {
        grid-column: 2;
        grid-row: 1 / span 2;
    }
}

@media (max-width: 480px) {
    .assa-award-list-item,
    .assa-award-list-item:has(.assa-award-thumbnail) {
        grid-template-columns: 1fr;
    }

    .assa-award-year {
        justify-self: start;
        min-height: auto;
    }

    .assa-award-thumbnail,
    .assa-award-information {
        grid-column: 1;
        grid-row: auto;
    }
}
/* Awards year filters */

.assa-award-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 1050px;
    margin: 0 auto 38px;
}

.assa-award-filter {
    min-width: 70px;
    min-height: 42px;
    padding: 9px 18px;
    color: #075184;
    font: inherit;
    font-weight: 800;
    background: #ffffff;
    border: 1px solid #b9d5e5;
    border-radius: 999px;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

    .assa-award-filter:hover {
        color: #ffffff;
        background: #075184;
        border-color: #075184;
        transform: translateY(-1px);
    }

    .assa-award-filter.is-active {
        color: #082f4d;
        background: #f7a623;
        border-color: #f7a623;
    }

    .assa-award-filter:focus-visible {
        outline: 3px solid rgba(247, 166, 35, 0.45);
        outline-offset: 3px;
    }

.assa-award-list-item[hidden] {
    display: none;
}

@media (max-width: 480px) {
    .assa-award-filter {
        min-width: 62px;
        padding-inline: 14px;
        font-size: 0.9rem;
    }
}
/* ==========================================================
   SUCCESS STORIES PAGE
   ========================================================== */

.assa-success-stories-page {
    color: #123f5d;
    background: #ffffff;
}

    .assa-success-stories-page .assa-container {
        width: calc(100% - 40px);
        max-width: 1180px;
        margin: 0 auto;
    }


/* ==========================================================
   HERO
   ========================================================== */

.assa-success-page-hero {
    padding: 82px 20px 76px;
    text-align: center;
    background: radial-gradient( circle at 90% 15%, rgba(247, 166, 35, 0.12), transparent 25% ), radial-gradient( circle at 8% 80%, rgba(43, 153, 193, 0.10), transparent 28% ), linear-gradient( 135deg, #f3fbfd 0%, #ffffff 55%, #fffaf0 100% );
    border-bottom: 1px solid #d4e6ef;
}

    .assa-success-page-hero .assa-section-eyebrow {
        margin: 0 0 14px;
        color: #f29a13;
        font-size: 0.78rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .assa-success-page-hero h1 {
        max-width: 900px;
        margin: 0 auto;
        color: #073d62;
        font-size: clamp(2.5rem, 5vw, 4.4rem);
        font-weight: 800;
        line-height: 1.05;
        letter-spacing: -0.04em;
    }

.assa-success-page-introduction {
    max-width: 760px;
    margin: 22px auto 0;
    color: #365a70;
    font-size: 1.08rem;
    line-height: 1.75;
}

    .assa-success-page-introduction p {
        margin: 0;
    }


/* ==========================================================
   STORY NAVIGATION
   ========================================================== */

.assa-success-story-navigation {
    position: sticky;
    top: 0;
    z-index: 20;
    padding: 15px 20px;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid #d4e6ef;
    box-shadow: 0 8px 20px rgba(7, 61, 98, 0.06);
    backdrop-filter: blur(10px);
}

    .assa-success-story-navigation .assa-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }

    .assa-success-story-navigation a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 10px 20px;
        color: #073d62;
        font-size: 0.9rem;
        font-weight: 800;
        line-height: 1.2;
        text-align: center;
        text-decoration: none;
        background: #f2f8fb;
        border: 1px solid #c8dfe9;
        border-radius: 999px;
        transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    }

        .assa-success-story-navigation a:hover,
        .assa-success-story-navigation a:focus-visible {
            color: #073d62;
            background: #f7a623;
            border-color: #f7a623;
            transform: translateY(-2px);
        }

        .assa-success-story-navigation a:focus-visible {
            outline: 3px solid rgba(247, 166, 35, 0.35);
            outline-offset: 3px;
        }


/* ==========================================================
   STORY LIST
   ========================================================== */

.assa-success-story-list {
    padding: 72px 20px 88px;
    background: #ffffff;
}

    .assa-success-story-list > .assa-container {
        display: flex;
        flex-direction: column;
        gap: 58px;
    }


/* Individual story */

.assa-success-story {
    display: grid;
    grid-template-columns: minmax(320px, 0.85fr) minmax(0, 1.15fr);
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #cfe2eb;
    border-radius: 26px;
    box-shadow: 0 18px 45px rgba(7, 61, 98, 0.10);
    scroll-margin-top: 105px;
}

    /* Alternate the second story */

    .assa-success-story:nth-child(even) {
        grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    }

        .assa-success-story:nth-child(even) .assa-success-story-image {
            grid-column: 2;
            grid-row: 1;
        }

        .assa-success-story:nth-child(even) .assa-success-story-content {
            grid-column: 1;
            grid-row: 1;
        }


/* ==========================================================
   STORY IMAGE
   ========================================================== */

.assa-success-story-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 500px;
    padding: 24px;
    background: linear-gradient( 145deg, #edf7fa 0%, #f8fbfc 100% );
}

    .assa-success-story-image img {
        display: block;
        width: 100%;
        height: 100%;
        max-height: 500px;
        /*
       Displays the complete photograph without cropping.
    */
        object-fit: contain;
        object-position: center;
    }

.assa-success-story-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 450px;
    color: #ffffff;
    background: linear-gradient( 135deg, #073d62 0%, #126496 100% );
    border-radius: 18px;
}

    .assa-success-story-image-placeholder span {
        padding: 11px 20px;
        color: #073d62;
        font-size: 0.8rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        background: #f7a623;
        border-radius: 999px;
    }


/* ==========================================================
   STORY CONTENT
   ========================================================== */

.assa-success-story-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 52px;
}

.assa-success-story-number {
    margin: 0 0 12px;
    color: #f29a13;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.assa-success-story-role {
    display: inline-flex;
    align-self: flex-start;
    margin: 0 0 16px;
    padding: 8px 14px;
    color: #073d62;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.3;
    background: #fff1d5;
    border-radius: 999px;
}

.assa-success-story-content h2 {
    margin: 0;
    color: #073d62;
    font-size: clamp(2rem, 3.5vw, 3.1rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.03em;
}

.assa-success-story-summary {
    margin: 20px 0 0;
    color: #214f6b;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.7;
}

.assa-success-story-details {
    margin-top: 22px;
    color: #3c596b;
    font-size: 1rem;
    line-height: 1.8;
}

    .assa-success-story-details p {
        margin: 0 0 18px;
    }

        .assa-success-story-details p:last-child {
            margin-bottom: 0;
        }

    .assa-success-story-details ul,
    .assa-success-story-details ol {
        margin: 16px 0;
        padding-left: 24px;
    }

    .assa-success-story-details li {
        margin-bottom: 8px;
    }


/* Back-to-top link */

.assa-success-story-top {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 7px;
    margin-top: 28px;
    color: #075985;
    font-size: 0.88rem;
    font-weight: 800;
    text-decoration: none;
}

    .assa-success-story-top:hover,
    .assa-success-story-top:focus-visible {
        color: #d98200;
        text-decoration: underline;
    }

    .assa-success-story-top:focus-visible {
        outline: 3px solid rgba(247, 166, 35, 0.35);
        outline-offset: 4px;
    }


/* ==========================================================
   EMPTY STATE
   ========================================================== */

.assa-success-stories-empty {
    padding: 54px 30px;
    text-align: center;
    background: #f2f8fb;
    border: 1px solid #cfe2eb;
    border-radius: 22px;
}

    .assa-success-stories-empty h2 {
        margin: 0 0 10px;
        color: #073d62;
        font-size: 1.5rem;
    }

    .assa-success-stories-empty p {
        margin: 0;
        color: #45667a;
        line-height: 1.6;
    }


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 900px) {

    .assa-success-page-hero {
        padding: 64px 20px 58px;
    }

    .assa-success-story-list {
        padding: 54px 20px 70px;
    }

        .assa-success-story-list > .assa-container {
            gap: 42px;
        }

    .assa-success-story,
    .assa-success-story:nth-child(even) {
        grid-template-columns: 1fr;
    }

        .assa-success-story:nth-child(even) .assa-success-story-image,
        .assa-success-story:nth-child(even) .assa-success-story-content {
            grid-column: 1;
        }

        .assa-success-story:nth-child(even) .assa-success-story-image {
            grid-row: 1;
        }

        .assa-success-story:nth-child(even) .assa-success-story-content {
            grid-row: 2;
        }

    .assa-success-story-image {
        min-height: 420px;
    }

        .assa-success-story-image img {
            max-height: 420px;
        }

    .assa-success-story-content {
        padding: 40px;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 600px) {

    .assa-success-stories-page .assa-container {
        width: calc(100% - 28px);
    }

    .assa-success-page-hero {
        padding: 50px 14px 46px;
    }

    .assa-success-page-introduction {
        font-size: 1rem;
    }

    .assa-success-story-navigation {
        position: static;
        padding: 14px;
    }

        .assa-success-story-navigation .assa-container {
            flex-direction: column;
            width: 100%;
        }

        .assa-success-story-navigation a {
            width: 100%;
        }

    .assa-success-story-list {
        padding: 42px 14px 56px;
    }

    .assa-success-story {
        border-radius: 20px;
        scroll-margin-top: 20px;
    }

    .assa-success-story-image {
        min-height: 310px;
        padding: 14px;
    }

        .assa-success-story-image img {
            max-height: 310px;
        }

    .assa-success-story-content {
        padding: 28px 22px;
    }

    .assa-success-story-summary {
        font-size: 1rem;
    }

    .assa-success-story-details {
        font-size: 0.96rem;
        line-height: 1.75;
    }
}


/* ==========================================================
   REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    .assa-success-story-navigation a {
        transition: none;
    }

        .assa-success-story-navigation a:hover,
        .assa-success-story-navigation a:focus-visible {
            transform: none;
        }
}
/* ==========================================================
   SUCCESS STORIES – COMPACT SPACING
   ========================================================== */

/* Hero */

.assa-success-page-hero {
    padding-top: 48px;
    padding-bottom: 44px;
}

    .assa-success-page-hero .assa-section-eyebrow {
        margin-bottom: 8px;
    }

.assa-success-page-introduction {
    margin-top: 14px;
}


/* Story navigation */

.assa-success-story-navigation {
    padding-top: 10px;
    padding-bottom: 10px;
}


/* Main story area */

.assa-success-story-list {
    padding-top: 42px;
    padding-bottom: 54px;
}

    .assa-success-story-list > .assa-container {
        gap: 30px;
    }


/* Images */

.assa-success-story-image {
    min-height: 390px;
    padding: 16px;
}

    .assa-success-story-image img {
        max-height: 390px;
        object-fit: contain;
        object-position: center;
    }


/* Story text */

.assa-success-story-content {
    padding: 34px 38px;
}

.assa-success-story-number {
    margin-bottom: 8px;
}

.assa-success-story-role {
    margin-bottom: 11px;
    padding: 7px 13px;
}

.assa-success-story-summary {
    margin-top: 13px;
    line-height: 1.6;
}

.assa-success-story-details {
    margin-top: 15px;
    line-height: 1.65;
}

    .assa-success-story-details p {
        margin-bottom: 11px;
    }

.assa-success-story-top {
    margin-top: 17px;
}


/* Tablet */

@media (max-width: 900px) {

    .assa-success-page-hero {
        padding-top: 42px;
        padding-bottom: 38px;
    }

    .assa-success-story-list {
        padding-top: 36px;
        padding-bottom: 48px;
    }

        .assa-success-story-list > .assa-container {
            gap: 26px;
        }

    .assa-success-story-image {
        min-height: 350px;
    }

        .assa-success-story-image img {
            max-height: 350px;
        }

    .assa-success-story-content {
        padding: 30px;
    }
}


/* Mobile */

@media (max-width: 600px) {

    .assa-success-page-hero {
        padding-top: 34px;
        padding-bottom: 32px;
    }

    .assa-success-story-list {
        padding-top: 28px;
        padding-bottom: 38px;
    }

        .assa-success-story-list > .assa-container {
            gap: 22px;
        }

    .assa-success-story-image {
        min-height: 270px;
        padding: 10px;
    }

        .assa-success-story-image img {
            max-height: 270px;
        }

    .assa-success-story-content {
        padding: 24px 20px;
    }

    .assa-success-story-details p {
        margin-bottom: 9px;
    }
}
/* ==========================================================
   MANAGEMENT TEAM – 3 + 2 CENTRED LAYOUT
   ========================================================== */

.assa-management-page .assa-management-section {
    padding: 58px 24px 70px;
    background: #e8e9f5;
}

    /* Restore the same left and right margins as other pages */

    .assa-management-page .assa-management-section > .assa-container {
        width: calc(100% - 40px);
        max-width: 1180px;
        margin-right: auto;
        margin-left: auto;
    }


/*
   Six-column grid:
   Each card occupies two columns.
   Therefore, three cards appear in the first row.
*/

.assa-management-page .assa-management-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: stretch;
    gap: 28px;
    width: 100%;
}

.assa-management-page .assa-management-card {
    grid-column: span 2;
    width: 100%;
    min-width: 0;
    margin: 0;
    transform: none;
}


    /* Centre the final two cards */

    .assa-management-page .assa-management-card:nth-child(4) {
        grid-column: 2 / span 2;
    }

    .assa-management-page .assa-management-card:nth-child(5) {
        grid-column: 4 / span 2;
    }


/* Photograph/avatar area */

.assa-management-page .assa-management-photo {
    width: 100%;
    min-height: 0;
    padding: 14px;
    aspect-ratio: 4 / 4.2;
    background: #ffffff;
    border-radius: 8px;
}


/* Real photographs */

.assa-management-page .assa-management-member-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    background: #ffffff;
    border-radius: 6px;
    filter: none;
    transform: none;
    image-rendering: auto;
}


/* Avatar placeholders */

.assa-management-page .assa-management-avatar {
    width: 100%;
    height: 100%;
    border-radius: 8px;
}


/* Disable previous special transforms */

.assa-management-page .assa-management-card:nth-child(4),
.assa-management-page .assa-management-card:nth-child(5),
.assa-management-page .assa-management-card:nth-child(4):hover,
.assa-management-page .assa-management-card:nth-child(5):hover {
    width: 100%;
    transform: none;
}

.assa-management-page .assa-management-card:hover {
    transform: translateY(-4px);
}


/* Tablet: two cards per row */

@media (max-width: 900px) {

    .assa-management-page .assa-management-section {
        padding: 46px 20px 56px;
    }

        .assa-management-page .assa-management-section > .assa-container {
            width: calc(100% - 20px);
        }

    .assa-management-page .assa-management-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .assa-management-page .assa-management-card,
    .assa-management-page .assa-management-card:nth-child(4),
    .assa-management-page .assa-management-card:nth-child(5) {
        grid-column: auto;
    }

        .assa-management-page .assa-management-card:nth-child(5) {
            grid-column: 1 / -1;
            width: calc(50% - 11px);
            justify-self: center;
        }
}


/* Mobile: one card per row */

@media (max-width: 600px) {

    .assa-management-page .assa-management-section {
        padding: 38px 16px 46px;
    }

        .assa-management-page .assa-management-section > .assa-container {
            width: 100%;
        }

    .assa-management-page .assa-management-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .assa-management-page .assa-management-card,
    .assa-management-page .assa-management-card:nth-child(4),
    .assa-management-page .assa-management-card:nth-child(5) {
        grid-column: auto;
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
    }
}
/* ==========================================================
   EXECUTIVE COMMITTEE – IMAGE QUALITY
   ========================================================== */

.assa-executive-page .assa-profile-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.assa-executive-page .assa-profile-card {
    overflow: hidden;
    border: 1px solid #cfe2eb;
    border-radius: 22px;
    background: #ffffff;
}

.assa-executive-page .assa-profile-photo {
    width: 100%;
    height: 350px;
    overflow: hidden;
    background: #f2f8fb;
}

    .assa-executive-page .assa-profile-photo img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        /* Prevent CSS-created blur or enlargement effects */
        filter: none;
        transform: none;
        opacity: 1;
        image-rendering: auto;
    }

@media (max-width: 900px) {

    .assa-executive-page .assa-profile-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .assa-executive-page .assa-profile-grid {
        grid-template-columns: 1fr;
    }

    .assa-executive-page .assa-profile-photo {
        height: 320px;
    }
}
/* ==========================================================
   EXECUTIVE COMMITTEE – COMPACT CARDS
   ========================================================== */

/* Reduce the overall content width */

.assa-executive-page .assa-profile-section > .assa-container {
    width: calc(100% - 48px);
    max-width: 1100px;
    margin-right: auto;
    margin-left: auto;
}


/* Three compact cards */

.assa-executive-page .assa-profile-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}


/* Smaller image area */

.assa-executive-page .assa-profile-photo {
    width: 100%;
    height: 275px;
    overflow: hidden;
    background: #f2f8fb;
}


    /* Shrink the image without stretching */

    .assa-executive-page .assa-profile-photo img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        filter: none;
        transform: none;
        image-rendering: auto;
    }


/* Reduce text padding */

.assa-executive-page .assa-profile-content {
    padding: 24px 26px 28px;
}

.assa-executive-page .assa-profile-role {
    margin-bottom: 10px;
    font-size: 0.72rem;
}

.assa-executive-page .assa-profile-content h2,
.assa-executive-page .assa-profile-content h3 {
    font-size: 1.28rem;
}

.assa-executive-page .assa-profile-content p {
    margin-top: 12px;
    font-size: 0.94rem;
    line-height: 1.65;
}


/* Tablet */

@media (max-width: 900px) {

    .assa-executive-page .assa-profile-section > .assa-container {
        width: calc(100% - 32px);
    }

    .assa-executive-page .assa-profile-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-executive-page .assa-profile-photo {
        height: 270px;
    }
}


/* Mobile */

@media (max-width: 600px) {

    .assa-executive-page .assa-profile-section > .assa-container {
        width: calc(100% - 28px);
    }

    .assa-executive-page .assa-profile-grid {
        grid-template-columns: 1fr;
    }

    .assa-executive-page .assa-profile-card {
        width: 100%;
        max-width: 360px;
        margin: 0 auto;
    }

    .assa-executive-page .assa-profile-photo {
        height: 260px;
    }
}
/* =========================================================
   PATRON PAGE – ALTERNATING REFERENCE DESIGN
   ========================================================= */

.patron-reference-page,
.patron-reference-page * {
    box-sizing: border-box;
}

.patron-reference-page {
    width: 100%;
    padding: 52px 0 64px;
    background: #ffffff;
}

.patron-reference-container {
    width: min(1080px, calc(100% - 48px));
    margin-right: auto;
    margin-left: auto;
}


/* Page heading */

.patron-reference-header {
    margin-bottom: 18px;
    text-align: center;
}

    .patron-reference-header h1 {
        margin: 0;
        color: var(--assa-blue-dark, #063f68);
        font-size: clamp(2rem, 4vw, 2.8rem);
        font-weight: 800;
        line-height: 1.15;
        letter-spacing: 0.01em;
        text-transform: uppercase;
    }

.patron-reference-line {
    width: 220px;
    height: 2px;
    margin: 18px auto 0;
    background: var(--assa-gold, #f7a51a);
}


/* Alternating profile rows */

.patron-reference-row {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 72px;
    align-items: center;
    min-height: 320px;
    padding: 34px 45px;
}

.patron-reference-row-reverse {
    grid-template-columns: minmax(0, 1fr) 320px;
}


/* Patron photographs */

.patron-reference-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

    .patron-reference-image img {
        display: block;
        width: 280px;
        height: 280px;
        margin: 0;
        border-radius: 0;
        object-fit: cover;
        object-position: center top;
    }


/* Patron details */

.patron-reference-content {
    max-width: 600px;
}

    .patron-reference-content h2 {
        margin: 0 0 18px;
        color: var(--assa-blue-dark, #063f68);
        font-size: clamp(1.65rem, 3vw, 2.1rem);
        font-weight: 500;
        line-height: 1.2;
    }

    .patron-reference-content h3 {
        margin: 0 0 12px;
        color: #18242c;
        font-size: 1rem;
        font-weight: 750;
        line-height: 1.45;
    }

    .patron-reference-content p {
        max-width: 600px;
        margin: 0;
        color: #354956;
        font-size: 0.95rem;
        line-height: 1.75;
    }

        .patron-reference-content p strong {
            color: #18242c;
            font-weight: 750;
        }


/* Back link */

.patron-reference-back {
    margin-top: 20px;
    padding-top: 26px;
    border-top: 1px solid #e0e8ed;
}

    .patron-reference-back a {
        color: var(--assa-blue-dark, #063f68);
        font-size: 0.9rem;
        font-weight: 700;
        text-decoration: none;
    }

        .patron-reference-back a:hover {
            color: var(--assa-gold-dark, #d98200);
            text-decoration: underline;
        }


/* Tablet */

@media (max-width: 900px) {
    .patron-reference-row,
    .patron-reference-row-reverse {
        grid-template-columns: 260px minmax(0, 1fr);
        gap: 42px;
        padding: 32px 20px;
    }

    .patron-reference-row-reverse {
        grid-template-columns: minmax(0, 1fr) 260px;
    }

    .patron-reference-image img {
        width: 240px;
        height: 260px;
    }
}


/* Mobile */

@media (max-width: 700px) {
    .patron-reference-page {
        padding: 38px 0 48px;
    }

    .patron-reference-container {
        width: min(100% - 32px, 1080px);
    }

    .patron-reference-header {
        margin-bottom: 28px;
    }

    .patron-reference-line {
        width: 150px;
        margin-top: 14px;
    }

    .patron-reference-row,
    .patron-reference-row-reverse {
        grid-template-columns: 1fr;
        gap: 24px;
        min-height: 0;
        padding: 28px 0 40px;
        border-bottom: 1px solid #e4ebef;
    }

        /* Always show photograph first on mobile */
        .patron-reference-row-reverse
        .patron-reference-image {
            grid-row: 1;
        }

        .patron-reference-row-reverse
        .patron-reference-content {
            grid-row: 2;
        }

    .patron-reference-image img {
        width: min(100%, 320px);
        height: 310px;
    }

    .patron-reference-content {
        max-width: 100%;
        text-align: center;
    }

        .patron-reference-content h2 {
            margin-bottom: 12px;
            font-size: 1.65rem;
        }

        .patron-reference-content h3 {
            margin-bottom: 10px;
        }

        .patron-reference-content p {
            max-width: 560px;
            margin-right: auto;
            margin-left: auto;
        }

    .patron-reference-back {
        margin-top: 28px;
        text-align: center;
    }
}


/* Small mobile */

@media (max-width: 420px) {
    .patron-reference-container {
        width: min(100% - 24px, 1080px);
    }

    .patron-reference-image img {
        width: 100%;
        height: 285px;
    }
}
/* Education section photographs */

.assa-education-visual {
    position: relative;
    width: 100%;
    min-height: 420px;
    overflow: hidden;
    border-radius: 22px;
    background: #edf3f6;
}

.assa-education-section-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
    object-position: center;
    transition: transform 0.35s ease;
}

.assa-education-story:hover
.assa-education-section-image {
    transform: scale(1.025);
}

@media (max-width: 768px) {
    .assa-education-visual,
    .assa-education-section-image {
        min-height: 300px;
    }

    .assa-education-section-image {
        height: 300px;
    }
}
/* =========================================================
   PARA SPORTS PHOTOGRAPHS
   ========================================================= */

.assa-sports-hero-visual,
.assa-sports-arena-visual,
.assa-sports-gallery-item {
    position: relative;
    overflow: hidden;
    background: #eaf1f5;
}

/* Hero photograph */

.assa-sports-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
    object-position: center;
}

/* Sports complex photograph */

.assa-sports-arena-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 430px;
    object-fit: cover;
    object-position: center;
}

/* Gallery photographs */

.assa-sports-gallery-item {
    min-height: 320px;
}

.assa-sports-gallery-image {
    display: block;
    width: 100%;
    height: 320px;
    object-fit: cover;
    object-position: center;
    transition: transform 0.35s ease;
}

.assa-sports-gallery-item:hover
.assa-sports-gallery-image {
    transform: scale(1.035);
}


/* Tablet */

@media (max-width: 900px) {
    .assa-sports-hero-image {
        min-height: 420px;
    }

    .assa-sports-arena-image {
        min-height: 360px;
    }

    .assa-sports-gallery-item,
    .assa-sports-gallery-image {
        height: 280px;
        min-height: 280px;
    }
}


/* Mobile */

@media (max-width: 700px) {
    .assa-sports-hero-image {
        height: 320px;
        min-height: 320px;
    }

    .assa-sports-arena-image {
        height: 300px;
        min-height: 300px;
    }

    .assa-sports-gallery-item,
    .assa-sports-gallery-image {
        height: 280px;
        min-height: 280px;
    }
}
/* =========================================================
   GOSHALA STATIC CAMPAIGN PAGE
   ========================================================= */

.goshala-page,
.goshala-page * {
    box-sizing: border-box;
}

.goshala-page {
    --goshala-blue-dark: var(--assa-blue-dark, #063f68);
    --goshala-blue: var(--assa-blue, #0d5f91);
    --goshala-gold: var(--assa-gold, #f7a51a);
    --goshala-gold-dark: var(--assa-gold-dark, #d98200);
    --goshala-muted: var(--assa-muted, #526977);
    --goshala-line: var(--assa-line, #cadbe6);
    --goshala-green: #527947;
    --goshala-green-light: #eef5eb;
    width: 100%;
    background: #ffffff;
}

.goshala-container {
    width: min(1180px, calc(100% - 48px));
    margin-right: auto;
    margin-left: auto;
}

.goshala-eyebrow {
    margin-bottom: 12px;
    color: var(--goshala-gold-dark);
    font-size: 0.76rem;
    font-weight: 850;
    line-height: 1.3;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}


/* Hero */

.goshala-hero {
    overflow: hidden;
    color: #ffffff;
    background: linear-gradient( 125deg, rgba(6, 63, 104, 0.98), rgba(13, 95, 145, 0.94) );
}

.goshala-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr);
    min-height: 560px;
}

.goshala-hero-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 70px 70px 70px 0;
}

.goshala-breadcrumb {
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.82rem;
}

.goshala-hero .goshala-eyebrow {
    color: #ffc45c;
}

.goshala-hero h1 {
    max-width: 700px;
    margin: 0 0 20px;
    color: #ffffff;
    font-size: clamp(3rem, 6vw, 5.2rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.goshala-hero p {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 1.08rem;
    line-height: 1.75;
}

.goshala-hero-image {
    position: relative;
    min-height: 560px;
    overflow: hidden;
}

    .goshala-hero-image img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 560px;
        object-fit: cover;
        object-position: center;
    }

    .goshala-hero-image::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 90deg, rgba(13, 95, 145, 0.4), transparent 45% );
    }

.goshala-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}


/* Buttons */

.goshala-btn {
    display: inline-flex;
    min-height: 50px;
    padding: 13px 24px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 0.92rem;
    font-weight: 750;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

    .goshala-btn:hover {
        transform: translateY(-2px);
    }

.goshala-btn-primary {
    color: #12202a;
    background: var(--goshala-gold);
}

    .goshala-btn-primary:hover {
        color: #12202a;
        background: #ffb93b;
    }

.goshala-btn-secondary {
    border-color: rgba(255, 255, 255, 0.55);
    color: #ffffff;
    background: transparent;
}

    .goshala-btn-secondary:hover {
        border-color: #ffffff;
        color: #ffffff;
        background: rgba(255, 255, 255, 0.1);
    }

.goshala-btn-light {
    border-color: var(--goshala-line);
    color: var(--goshala-blue-dark);
    background: #ffffff;
}


/* Statistics */

.goshala-stat-section {
    position: relative;
    z-index: 2;
    padding: 0 0 65px;
    background: #ffffff;
}

.goshala-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: -36px;
    overflow: hidden;
    border: 1px solid var(--goshala-line);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(6, 63, 104, 0.1);
}

.goshala-stat {
    min-height: 145px;
    padding: 28px 24px;
    text-align: center;
}

    .goshala-stat + .goshala-stat {
        border-left: 1px solid var(--goshala-line);
    }

    .goshala-stat strong {
        display: block;
        margin-bottom: 7px;
        color: var(--goshala-blue-dark);
        font-size: 2.3rem;
        line-height: 1;
    }

    .goshala-stat span {
        color: var(--goshala-muted);
        font-size: 0.88rem;
        line-height: 1.5;
    }


/* Story */

.goshala-story {
    padding: 20px 0 85px;
}

.goshala-story-grid {
    display: grid;
    grid-template-columns: minmax(380px, 0.9fr) minmax(0, 1.1fr);
    gap: 65px;
    align-items: center;
}

.goshala-story-image {
    height: 500px;
    overflow: hidden;
    border-radius: 22px;
    background: #e8efe5;
}

    .goshala-story-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.goshala-story-content h2,
.goshala-heading h2,
.goshala-sustenance h2,
.goshala-donate h2 {
    margin: 0 0 20px;
    color: var(--goshala-blue-dark);
    font-size: clamp(2rem, 4vw, 3.2rem);
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.goshala-story-content p,
.goshala-sustenance p {
    margin: 0 0 16px;
    color: var(--goshala-muted);
    font-size: 0.98rem;
    line-height: 1.75;
}


/* Shared heading */

.goshala-heading {
    max-width: 800px;
    margin: 0 auto 38px;
    text-align: center;
}

    .goshala-heading p {
        margin: 0;
        color: var(--goshala-muted);
        line-height: 1.7;
    }


/* Nutritional benefits */

.goshala-benefits {
    padding: 78px 0;
    background: #f5f9fb;
}

.goshala-benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.goshala-benefit-card {
    padding: 25px;
    border: 1px solid var(--goshala-line);
    border-radius: 16px;
    background: #ffffff;
}

    .goshala-benefit-card span {
        display: block;
        margin-bottom: 18px;
        color: var(--goshala-gold-dark);
        font-size: 0.75rem;
        font-weight: 850;
    }

    .goshala-benefit-card h3 {
        margin: 0 0 9px;
        color: var(--goshala-blue-dark);
        font-size: 1.15rem;
    }

    .goshala-benefit-card p {
        margin: 0;
        color: var(--goshala-muted);
        font-size: 0.88rem;
        line-height: 1.65;
    }


/* Sustenance */

.goshala-sustenance {
    padding: 75px 0;
    color: #ffffff;
    background: var(--goshala-green);
}

.goshala-sustenance-grid {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 70px;
}

.goshala-sustenance .goshala-eyebrow {
    color: #ffd078;
}

.goshala-sustenance h2 {
    color: #ffffff;
}

.goshala-sustenance p {
    color: rgba(255, 255, 255, 0.88);
}


/* Donation schemes */

.goshala-schemes {
    padding: 80px 0;
    background: #ffffff;
}

.goshala-scheme-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.goshala-scheme-card {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 24px;
    border: 1px solid var(--goshala-line);
    border-radius: 16px;
    background: #ffffff;
}

.goshala-scheme-featured {
    grid-column: 1 / -1;
    border-color: #a9c79d;
    background: var(--goshala-green-light);
}

.goshala-scheme-icon {
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ffffff;
    background: var(--goshala-green);
    font-size: 0.78rem;
    font-weight: 800;
}

.goshala-scheme-card h3 {
    margin: 0 0 5px;
    color: var(--goshala-blue-dark);
    font-size: 1.05rem;
}

.goshala-scheme-card p {
    margin: 0;
    color: var(--goshala-muted);
    font-size: 0.86rem;
    line-height: 1.5;
}

.goshala-scheme-card > strong {
    color: var(--goshala-green);
    font-size: 1.45rem;
    white-space: nowrap;
}


/* Donation CTA */

.goshala-donate {
    padding: 0 0 75px;
}

.goshala-donate-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 55px;
    align-items: center;
    padding: 52px;
    border-radius: 22px;
    background: #f3f8fb;
}

    .goshala-donate-box p {
        max-width: 680px;
        margin: 0;
        color: var(--goshala-muted);
        line-height: 1.7;
    }

.goshala-donate-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

    .goshala-donate-actions small {
        color: var(--goshala-muted);
        font-size: 0.77rem;
        line-height: 1.5;
        text-align: center;
    }


/* Back link */

.goshala-back {
    padding: 24px 0 30px;
    border-top: 1px solid var(--goshala-line);
    background: #f5f9fb;
}

    .goshala-back a {
        color: var(--goshala-blue-dark);
        font-size: 0.88rem;
        font-weight: 750;
        text-decoration: none;
    }


/* Tablet */

@media (max-width: 900px) {
    .goshala-hero-grid,
    .goshala-story-grid,
    .goshala-sustenance-grid,
    .goshala-donate-box {
        grid-template-columns: 1fr;
    }

    .goshala-hero-content {
        padding: 60px 0 45px;
    }

    .goshala-hero-image,
    .goshala-hero-image img {
        min-height: 420px;
    }

    .goshala-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .goshala-stat:nth-child(3) {
        border-left: 0;
        border-top: 1px solid var(--goshala-line);
    }

    .goshala-stat:nth-child(4) {
        border-top: 1px solid var(--goshala-line);
    }

    .goshala-story-grid {
        gap: 35px;
    }

    .goshala-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .goshala-sustenance-grid {
        gap: 20px;
    }

    .goshala-donate-box {
        gap: 30px;
    }
}


/* Mobile */

@media (max-width: 650px) {
    .goshala-container {
        width: min(100% - 30px, 1180px);
    }

    .goshala-hero h1 {
        font-size: 2.8rem;
    }

    .goshala-hero-image,
    .goshala-hero-image img {
        min-height: 310px;
    }

    .goshala-stat-grid,
    .goshala-benefit-grid,
    .goshala-scheme-grid {
        grid-template-columns: 1fr;
    }

    .goshala-stat + .goshala-stat {
        border-top: 1px solid var(--goshala-line);
        border-left: 0;
    }

    .goshala-story {
        padding-bottom: 55px;
    }

    .goshala-story-image {
        height: 320px;
    }

    .goshala-benefits,
    .goshala-sustenance,
    .goshala-schemes {
        padding: 55px 0;
    }

    .goshala-scheme-featured {
        grid-column: auto;
    }

    .goshala-scheme-card {
        grid-template-columns: 42px minmax(0, 1fr);
    }

        .goshala-scheme-card > strong {
            grid-column: 2;
        }

    .goshala-donate-box {
        padding: 30px 22px;
    }
}
/* =========================================================
   HOMEPAGE CAMPAIGNS
   ========================================================= */

.assa-home-campaigns {
    padding: 64px 0;
    background: #f4f8fb;
}

    .assa-home-campaigns .assa-section-heading {
        max-width: 720px;
        margin-bottom: 30px;
    }

        .assa-home-campaigns .assa-section-heading h2 {
            margin: 8px 0 12px;
            color: var(--assa-blue-dark);
            font-size: clamp(2rem, 3.5vw, 3rem);
            line-height: 1.1;
        }

        .assa-home-campaigns .assa-section-heading p {
            margin: 0;
            color: var(--assa-muted);
            line-height: 1.7;
        }

.assa-home-campaigns-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.assa-home-campaign-card {
    display: grid;
    grid-template-columns: minmax(260px, 42%) 1fr;
    min-height: 330px;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(8, 46, 76, 0.08);
}

.assa-home-campaign-image {
    display: block;
    overflow: hidden;
    background: #eaf1f5;
}

    .assa-home-campaign-image img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 330px;
        object-fit: cover;
        transition: transform 0.3s ease;
    }

.assa-home-campaign-card:hover .assa-home-campaign-image img {
    transform: scale(1.03);
}

.assa-home-campaign-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 36px;
}

    .assa-home-campaign-content h3 {
        margin: 0 0 14px;
        color: var(--assa-blue-dark);
        font-size: 1.65rem;
        line-height: 1.2;
    }

    .assa-home-campaign-content p {
        margin: 0 0 24px;
        color: var(--assa-muted);
        line-height: 1.7;
    }

    .assa-home-campaign-content .assa-btn {
        margin-top: auto;
    }

/* One campaign should use the full available width */
.assa-home-campaign-card:only-child {
    grid-column: 1 / -1;
}

/* Tablet and mobile */
@media (max-width: 900px) {
    .assa-home-campaigns-grid {
        grid-template-columns: 1fr;
    }

    .assa-home-campaign-card {
        grid-template-columns: 1fr;
    }

    .assa-home-campaign-image img {
        height: 280px;
        min-height: 0;
    }
}

@media (max-width: 576px) {
    .assa-home-campaigns {
        padding: 45px 0;
    }

    .assa-home-campaign-content {
        padding: 25px;
    }

    .assa-home-campaign-image img {
        height: 230px;
    }
}
/* Campaign action button */
.assa-home-campaign-content a.assa-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 46px;
    margin-top: 8px;
    padding: 12px 24px;
    border-color: #f5a623;
    border-radius: 10px;
    background: #f5a623;
    color: var(--assa-blue-dark);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

    .assa-home-campaign-content a.assa-btn:hover,
    .assa-home-campaign-content a.assa-btn:focus {
        border-color: var(--assa-blue-dark);
        background: var(--assa-blue-dark);
        color: #fff;
        text-decoration: none;
        transform: translateY(-2px);
    }
/* =========================================================
   SKILL DEVELOPMENT PHOTOS
   ========================================================= */

.assa-skill-photo-band {
    padding: 0 0 60px;
    background: #fff;
}

    .assa-skill-photo-band img {
        display: block;
        width: 100%;
        height: 430px;
        object-fit: cover;
        object-position: center;
        border-radius: 22px;
    }

.assa-skill-visual-image {
    height: 100%;
    margin: 0;
    overflow: hidden;
    border-radius: 22px;
    background: #eaf1f5;
    box-shadow: 0 12px 32px rgba(8, 46, 76, 0.1);
}

    .assa-skill-visual-image img {
        display: block;
        width: 100%;
        height: 390px;
        object-fit: cover;
        object-position: center;
    }

    .assa-skill-visual-image figcaption {
        padding: 14px 18px;
        background: #fff;
        color: var(--assa-muted);
        font-size: 0.82rem;
        line-height: 1.5;
    }

.assa-skill-foundation-image {
    margin: 30px 0;
    overflow: hidden;
    border-radius: 22px;
}

    .assa-skill-foundation-image img {
        display: block;
        width: 100%;
        height: 380px;
        object-fit: cover;
        object-position: center;
    }

@media (max-width: 768px) {
    .assa-skill-photo-band img,
    .assa-skill-foundation-image img {
        height: 260px;
    }

    .assa-skill-visual-image img {
        height: 280px;
    }
}
/* =========================================================
   CENTRE OF EXCELLENCE – COMPLETE IMAGE STYLING
   ========================================================= */

/* Prevent every CoE image from overflowing */
.assa-coe-page img {
    display: block;
    max-width: 100%;
}

/* =========================================================
   1. HERO IMAGE
   ========================================================= */

.assa-coe-hero-image {
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 24px;
    background: #eaf2f5;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.18);
}

    .assa-coe-hero-image img {
        width: 100%;
        height: 330px;
        object-fit: cover;
        object-position: center;
    }

/* =========================================================
   2. SCALE PATHWAY IMAGE
   ========================================================= */

.assa-coe-pathway-image {
    width: 100%;
    max-width: 1000px;
    margin: 45px auto 0;
    overflow: hidden;
    border-radius: 24px;
    background: #eaf2f5;
    box-shadow: 0 14px 36px rgba(8, 46, 76, 0.12);
}

    .assa-coe-pathway-image img {
        width: 100%;
        aspect-ratio: 16 / 9;
        object-fit: cover;
        object-position: center;
    }

/* Reduce excessive space before Core Capabilities */
.assa-coe-capabilities {
    padding-top: 70px;
}

/* =========================================================
   3. CORE CAPABILITY CARD IMAGES
   ========================================================= */

.assa-coe-capability {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

    /* Keeps all images aligned even when headings wrap */
    .assa-coe-capability h3 {
        min-height: 3.4rem;
        margin-bottom: 16px;
    }

    .assa-coe-capability img {
        position: relative;
        z-index: 2;
        width: 100%;
        height: 220px;
        margin: 0 0 18px;
        border: 1px solid rgba(8, 46, 76, 0.08);
        border-radius: 16px;
        background: #eaf2f5;
        object-fit: cover;
        object-position: center;
    }

    /* Capability 02 – EI App screenshot */
    .assa-coe-capability:nth-child(2) img {
        padding: 8px;
        background: #fff;
        object-fit: contain;
    }

    /* Capability 05 – online training screenshot */
    .assa-coe-capability:nth-child(5) img {
        padding: 8px;
        background: #fff;
        object-fit: contain;
    }

    /* Keep description below the photograph */
    .assa-coe-capability p {
        margin-top: 0;
    }

/* =========================================================
   4. TECHNOLOGY / PROGRESS-CHART IMAGE
   ========================================================= */

.assa-coe-tech-image {
    width: 100%;
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.16);
}

    .assa-coe-tech-image img {
        width: 100%;
        height: auto;
        max-height: 430px;
        padding: 8px;
        object-fit: contain;
        object-position: center;
    }

/* =========================================================
   5. EVIDENCE AND LEARNING IMAGE
   ========================================================= */

.assa-coe-knowledge-image {
    width: 100%;
    margin-top: 28px;
    overflow: hidden;
    border: 1px solid var(--coe-border);
    border-radius: 20px;
    background: #f3f8fa;
    box-shadow: 0 12px 30px rgba(8, 46, 76, 0.08);
}

    .assa-coe-knowledge-image img {
        width: 100%;
        height: 330px;
        padding: 10px;
        object-fit: contain;
        object-position: center;
    }

/* =========================================================
   6. IMPACT IMAGE
   ========================================================= */

.assa-coe-impact-box > img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto 30px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 22px;
    object-fit: contain;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);
}

/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 991px) {

    .assa-coe-hero-image {
        max-width: 680px;
        margin-right: auto;
        margin-left: auto;
    }

        .assa-coe-hero-image img {
            height: 380px;
        }

    .assa-coe-pathway-image {
        max-width: 850px;
        margin-top: 32px;
    }

    .assa-coe-capabilities {
        padding-top: 60px;
    }

    .assa-coe-capability h3 {
        min-height: 0;
    }

    .assa-coe-capability img {
        height: 300px;
    }

    .assa-coe-tech-image img {
        max-height: none;
    }

    .assa-coe-knowledge-image {
        max-width: 620px;
        margin-right: auto;
        margin-left: auto;
    }

        .assa-coe-knowledge-image img {
            height: 360px;
        }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 575px) {

    .assa-coe-hero-image {
        border-radius: 18px;
    }

        .assa-coe-hero-image img {
            height: 250px;
        }

    .assa-coe-pathway-image {
        margin-top: 24px;
        border-radius: 18px;
    }

    .assa-coe-capabilities {
        padding-top: 48px;
    }

    .assa-coe-capability img {
        height: 220px;
        border-radius: 14px;
    }

    .assa-coe-tech-visual {
        padding: 16px;
    }

    .assa-coe-tech-image {
        border-radius: 14px;
    }

    .assa-coe-knowledge-image {
        margin-top: 22px;
        border-radius: 16px;
    }

        .assa-coe-knowledge-image img {
            height: 260px;
            padding: 6px;
        }

    .assa-coe-impact-box > img {
        margin-bottom: 24px;
        border-radius: 17px;
    }
}
/* =========================================================
   COE HERO IMAGE – LARGER SIZE
   ========================================================= */

.assa-coe-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(480px, 0.9fr);
    gap: 55px;
}

.assa-coe-hero-image {
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 24px;
    background: #eaf2f5;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.18);
}

    .assa-coe-hero-image img {
        display: block;
        width: 100%;
        height: 430px;
        object-fit: cover;
        object-position: center;
    }

/* Tablet */
@media screen and (max-width: 991px) {
    .assa-coe-hero-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .assa-coe-hero-image {
        width: 100%;
        max-width: 760px;
        margin: 0 auto;
    }

        .assa-coe-hero-image img {
            height: 440px;
        }
}

/* Mobile */
@media screen and (max-width: 575px) {
    .assa-coe-hero-image {
        max-width: 100%;
        border-radius: 18px;
    }

        .assa-coe-hero-image img {
            height: 290px;
        }
}
/* =========================================================
   ESG PAGE – COMPLETE IMAGE STYLING
   ========================================================= */

.assa-esg-page img {
    display: block;
    max-width: 100%;
}

/* =========================================================
   1. ESG HERO IMAGE
   ========================================================= */

.assa-esg-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(480px, 0.9fr);
    gap: 55px;
}

.assa-esg-hero-image {
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 25px;
    background: #eaf2f5;
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.20);
}

    .assa-esg-hero-image img {
        width: 100%;
        height: 420px;
        object-fit: cover;
        object-position: center;
    }

/* =========================================================
   2. ENVIRONMENT CARD IMAGES
   Solar, Water, Waste and Biodiversity
   ========================================================= */

.assa-esg-environment-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

    .assa-esg-environment-card > img {
        position: relative;
        z-index: 2;
        width: 100%;
        height: 245px;
        margin: 0 0 22px;
        border: 1px solid #d7e7df;
        border-radius: 17px;
        background: #edf6f2;
        object-fit: cover;
        object-position: center;
    }

    /* Keep corresponding headings aligned */
    .assa-esg-environment-card h3 {
        position: relative;
        z-index: 2;
        min-height: 3.3rem;
    }

    /*
   Water and waste images may contain graphics/text.
   Display the complete image without cropping.
*/
    .assa-esg-environment-card:nth-child(2) > img,
    .assa-esg-environment-card:nth-child(3) > img {
        padding: 8px;
        background: #fff;
        object-fit: contain;
    }

/* =========================================================
   3. SOCIAL SECTION – EMPLOYEE CHARTS
   ========================================================= */

.assa-esg-social-image {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-content: start;
    gap: 20px !important;
}

    .assa-esg-social-image > div {
        min-width: 0;
        overflow: hidden;
        border: 1px solid #ead8b8;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 10px 26px rgba(76, 58, 24, 0.08);
    }

    .assa-esg-social-image img {
        width: 100% !important;
        height: 240px !important;
        padding: 10px;
        background: #fff;
        object-fit: contain !important;
        object-position: center !important;
    }

/* =========================================================
   4. GOVERNANCE MEETING IMAGE
   ========================================================= */

.assa-esg-governance-image {
    width: 100%;
    max-width: 1050px;
    margin: 0 auto 45px;
    overflow: hidden;
    border: 1px solid var(--esg-border);
    border-radius: 24px;
    background: #eef4f6;
    box-shadow: 0 14px 36px rgba(7, 51, 70, 0.10);
}

    .assa-esg-governance-image img {
        width: 100%;
        height: 430px;
        object-fit: cover;
        object-position: center;
    }

/* =========================================================
   5. REHAB ORCHARD IMAGE
   ========================================================= */

.assa-esg-orchard-box {
    grid-template-columns: minmax(300px, 0.85fr) minmax(0, 1.15fr) auto;
    gap: 38px;
}

.assa-esg-orchard-image {
    width: 100%;
    overflow: hidden;
    border-radius: 20px;
    background: #e7f1eb;
    box-shadow: 0 12px 30px rgba(20, 74, 52, 0.10);
}

    .assa-esg-orchard-image img {
        width: 100%;
        height: 280px;
        object-fit: cover;
        object-position: center;
    }

/* Keep the Orchard button properly aligned */
.assa-esg-orchard-link {
    white-space: nowrap;
}

/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1050px) {

    .assa-esg-hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .assa-esg-hero-image {
        width: 100%;
        max-width: 760px;
        margin: 0 auto;
    }

        .assa-esg-hero-image img {
            height: 440px;
        }

    .assa-esg-orchard-box {
        grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
    }

    .assa-esg-orchard-link {
        grid-column: 2;
        justify-self: start;
    }
}

/* =========================================================
   SMALL TABLET AND MOBILE
   ========================================================= */

@media screen and (max-width: 780px) {

    .assa-esg-hero-image {
        max-width: 100%;
        border-radius: 20px;
    }

        .assa-esg-hero-image img {
            height: 340px;
        }

    .assa-esg-environment-card h3 {
        min-height: 0;
    }

    .assa-esg-environment-card > img {
        height: 300px;
    }

    .assa-esg-social-image {
        grid-template-columns: 1fr !important;
    }

        .assa-esg-social-image img {
            height: 310px !important;
        }

    .assa-esg-governance-image {
        margin-bottom: 35px;
        border-radius: 20px;
    }

        .assa-esg-governance-image img {
            height: 340px;
        }

    .assa-esg-orchard-box {
        grid-template-columns: 1fr;
    }

    .assa-esg-orchard-image {
        max-width: 650px;
    }

        .assa-esg-orchard-image img {
            height: 340px;
        }

    .assa-esg-orchard-link {
        grid-column: auto;
        justify-self: start;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 520px) {

    .assa-esg-hero-image {
        border-radius: 17px;
    }

        .assa-esg-hero-image img {
            height: 260px;
        }

    .assa-esg-environment-card > img {
        height: 220px;
        margin-bottom: 18px;
        border-radius: 14px;
    }

    .assa-esg-social-image {
        gap: 15px !important;
    }

        .assa-esg-social-image > div {
            border-radius: 14px;
        }

        .assa-esg-social-image img {
            height: 240px !important;
            padding: 7px;
        }

    .assa-esg-governance-image {
        margin-bottom: 28px;
        border-radius: 16px;
    }

        .assa-esg-governance-image img {
            height: 240px;
        }

    .assa-esg-orchard-image {
        border-radius: 16px;
    }

        .assa-esg-orchard-image img {
            height: 240px;
        }
}
/* =========================================================
   ESG SOCIAL SECTION – BALANCED FULL-WIDTH DESIGN
   ========================================================= */

.assa-esg-social {
    padding: 80px 0;
    background: var(--esg-gold-soft);
}

/* Convert the section into three full-width rows */
.assa-esg-social-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 38px;
}

    /* ---------- Section introduction ---------- */

    .assa-esg-social-grid > div:first-child {
        width: 100%;
        max-width: 820px;
        margin: 0;
    }

.assa-esg-social h2 {
    max-width: 700px;
    margin: 8px 0 18px;
}

.assa-esg-social-grid > div:first-child p {
    max-width: 820px;
    margin-top: 0;
    margin-bottom: 14px;
}

/* ---------- Four chart cards ---------- */

.assa-esg-social-image {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch;
    gap: 18px !important;
    width: 100%;
    min-width: 0;
}

    .assa-esg-social-image > div {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
        overflow: hidden;
        border: 1px solid #ead8b8;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 10px 26px rgba(76, 58, 24, 0.08);
    }

    .assa-esg-social-image img {
        display: block;
        width: 100% !important;
        height: 220px !important;
        padding: 10px;
        background: #fff;
        object-fit: contain !important;
        object-position: center !important;
    }

/* ---------- Four statistics ---------- */

.assa-esg-social-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
    width: 100%;
    min-width: 0;
}

.assa-esg-social-stat {
    width: 100%;
    min-width: 0;
    min-height: 165px;
    padding: 24px;
    border: 1px solid #ead8b8;
    border-radius: 18px;
    background: #fff;
}

    .assa-esg-social-stat strong {
        margin-bottom: 10px;
        font-size: 2.15rem;
    }

    .assa-esg-social-stat h3 {
        min-height: 2.5rem;
        margin-bottom: 8px;
    }

    .assa-esg-social-stat p {
        margin: 0;
    }

/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 991px) {

    .assa-esg-social {
        padding: 70px 0;
    }

    .assa-esg-social-grid {
        gap: 32px;
    }

    .assa-esg-social-image {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

        .assa-esg-social-image img {
            height: 270px !important;
        }

    .assa-esg-social-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 575px) {

    .assa-esg-social {
        padding: 50px 0;
    }

    .assa-esg-social-grid {
        gap: 25px;
    }

    .assa-esg-social-image {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }

        .assa-esg-social-image > div {
            border-radius: 15px;
        }

        .assa-esg-social-image img {
            height: 250px !important;
            padding: 8px;
        }

    .assa-esg-social-stats {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .assa-esg-social-stat {
        min-height: 0;
        padding: 22px;
    }

        .assa-esg-social-stat h3 {
            min-height: 0;
        }
}
/* =========================================================
   REHABILITATION PAGE IMAGES
   ========================================================= */

/* Hero */

.assa-programme-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
    gap: 55px;
    align-items: center;
}

.assa-programme-hero-content {
    min-width: 0;
}

.assa-programme-hero-image {
    position: relative;
    width: 100%;
    height: 390px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 24px;
    background: rgba(255, 255, 255, .08);
    box-shadow: 0 22px 50px rgba(0, 0, 0, .20);
}

    .assa-programme-hero-image::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 180deg, rgba(7, 48, 78, 0) 55%, rgba(7, 48, 78, .18) 100% );
        pointer-events: none;
    }

    .assa-programme-hero-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


/* Rehabilitation pathway cards */

.assa-programme-detail-image {
    height: 155px;
    margin: 0 0 20px;
    overflow: hidden;
    border-radius: 13px;
    background: #eaf1f5;
}

    .assa-programme-detail-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: transform .35s ease;
    }

.assa-programme-detail-card:hover
.assa-programme-detail-image img {
    transform: scale(1.045);
}


/* =========================================================
   REHABILITATION – CONTINUUM SECTION
   ========================================================= */

.assa-programme-continuum {
    padding: 65px 0;
}

.assa-programme-continuum-grid {
    display: grid;
    grid-template-columns: minmax(400px, .95fr) minmax(0, 1.05fr);
    gap: 60px;
    align-items: center;
}


/* Image */

.assa-programme-continuum-image {
    width: 100%;
    height: 390px;
    overflow: hidden;
    border-radius: 22px;
    background: #eaf1f5;
    box-shadow: 0 15px 35px rgba(8, 46, 76, .10);
}

    .assa-programme-continuum-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


/* Content */

.assa-programme-continuum-content {
    min-width: 0;
}

    .assa-programme-continuum-content h2 {
        max-width: 600px;
        margin: 9px 0 22px;
        color: var(--assa-blue-dark);
        font-size: clamp(2rem, 3.2vw, 3rem);
        line-height: 1.08;
        letter-spacing: -.035em;
    }

    .assa-programme-continuum-content p {
        max-width: 680px;
        margin: 0 0 15px;
        color: #455866;
        font-size: .94rem;
        line-height: 1.7;
    }

        .assa-programme-continuum-content p:last-child {
            margin-bottom: 0;
        }


/* Tablet */

@media screen and (max-width: 900px) {

    .assa-programme-continuum {
        padding: 55px 0;
    }

    .assa-programme-continuum-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .assa-programme-continuum-image {
        height: 380px;
    }

    .assa-programme-continuum-content h2,
    .assa-programme-continuum-content p {
        max-width: none;
    }
}


/* Mobile */

@media screen and (max-width: 560px) {

    .assa-programme-continuum {
        padding: 45px 0;
    }

    .assa-programme-continuum-grid {
        gap: 27px;
    }

    .assa-programme-continuum-image {
        height: 260px;
        border-radius: 17px;
    }

    .assa-programme-continuum-content h2 {
        margin-bottom: 18px;
        font-size: 2rem;
    }

    .assa-programme-continuum-content p {
        font-size: .9rem;
    }
}
/* Rehabilitation continuum – corrected layout */

.assa-programme-continuum {
    padding: 60px 0;
}

.assa-programme-continuum-grid {
    display: grid;
    grid-template-columns: minmax(420px, 1fr) minmax(0, 1fr);
    gap: 60px;
    align-items: center;
}

.assa-programme-continuum-image {
    width: 100%;
    height: 400px;
    margin: 0;
    overflow: hidden;
    border-radius: 22px;
    background: #eaf1f5;
    box-shadow: 0 14px 32px rgba(8, 46, 76, .10);
}

    .assa-programme-continuum-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

.assa-programme-continuum-content {
    min-width: 0;
}

    .assa-programme-continuum-content h2 {
        max-width: 620px;
        margin: 10px 0 22px;
        color: var(--assa-blue-dark);
        font-size: clamp(2rem, 3.2vw, 3.1rem);
        line-height: 1.08;
        letter-spacing: -.035em;
    }

    .assa-programme-continuum-content p {
        margin: 0 0 16px;
        color: #455866;
        font-size: .95rem;
        line-height: 1.7;
    }

        .assa-programme-continuum-content p:last-child {
            margin-bottom: 0;
        }

@media screen and (max-width: 850px) {

    .assa-programme-continuum-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .assa-programme-continuum-image {
        height: 360px;
    }
}

@media screen and (max-width: 560px) {

    .assa-programme-continuum {
        padding: 45px 0;
    }

    .assa-programme-continuum-image {
        height: 260px;
        border-radius: 17px;
    }

    .assa-programme-continuum-content h2 {
        font-size: 2rem;
    }
}

/* Tablet */

@media screen and (max-width: 900px) {

    .assa-programme-hero-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .assa-programme-hero-image {
        height: 380px;
    }

    .assa-programme-detail-image {
        height: 190px;
    }

    .assa-programme-continuum-image {
        height: 330px;
    }
}


/* Mobile */

@media screen and (max-width: 560px) {

    .assa-programme-hero-grid {
        gap: 28px;
    }

    .assa-programme-hero-image {
        height: 260px;
        border-radius: 18px;
    }

    .assa-programme-detail-image {
        height: 210px;
    }

    .assa-programme-continuum-image {
        height: 250px;
        margin-top: 22px;
        border-radius: 17px;
    }
}
/* Rehabilitation hero with right-side image */

.assa-programme-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    gap: 55px;
    align-items: center;
}

.assa-programme-hero-content {
    min-width: 0;
}

.assa-programme-hero-image {
    width: 100%;
    height: 390px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 24px;
    background: rgba(255, 255, 255, .08);
    box-shadow: 0 20px 45px rgba(0, 0, 0, .2);
}

    .assa-programme-hero-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

/* Tablet and mobile */

@media screen and (max-width: 780px) {

    .assa-programme-hero-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .assa-programme-hero-image {
        height: 320px;
    }
}

@media screen and (max-width: 560px) {

    .assa-programme-hero-image {
        height: 245px;
        border-radius: 18px;
    }
}
/* =========================================================
   PARA SPORTS PAGE
   ========================================================= */

.assa-sports-page {
    --sports-navy: #052f4d;
    --sports-navy-deep: #03243b;
    --sports-blue: #075a86;
    --sports-orange: #f5a623;
    --sports-orange-soft: #fff4df;
    --sports-soft: #edf6fa;
    --sports-surface: #f8fbfd;
    --sports-border: #d8e6ed;
    --sports-text: #294858;
    --sports-muted: #647c8a;
    --sports-white: #fff;
    width: 100%;
    overflow-x: hidden;
    background: #fff;
}

    .assa-sports-page,
    .assa-sports-page * {
        box-sizing: border-box;
    }

        .assa-sports-page img {
            max-width: 100%;
        }


/* =========================================================
   HERO
   ========================================================= */

.assa-sports-hero {
    position: relative;
    overflow: hidden;
    background: var(--sports-navy-deep);
    color: #fff;
}

.assa-sports-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 610px;
}

.assa-sports-hero-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 78px 70px 78px max(40px, calc((100vw - 1320px) / 2));
    background: linear-gradient(135deg, #032a45 0%, #064f75 100%);
}

.assa-sports-breadcrumb {
    margin-bottom: 27px;
    color: rgba(255, 255, 255, .68);
    font-size: .85rem;
    font-weight: 700;
}

.assa-sports-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 19px;
    color: #ffd27a;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .15em;
    text-transform: uppercase;
}

    .assa-sports-kicker::before {
        content: "";
        width: 40px;
        height: 3px;
        flex: 0 0 40px;
        border-radius: 3px;
        background: var(--sports-orange);
    }

.assa-sports-hero h1 {
    max-width: 680px;
    margin: 0;
    color: #fff;
    font-size: clamp(3rem, 5.2vw, 5.5rem);
    line-height: .96;
    letter-spacing: -.045em;
}

.assa-sports-hero-copy {
    max-width: 660px;
    margin: 26px 0 0;
    color: rgba(255, 255, 255, .82);
    font-size: 1.08rem;
    line-height: 1.75;
}

.assa-sports-hero-visual {
    position: relative;
    min-width: 0;
    min-height: 610px;
    overflow: hidden;
    background: #073954;
}

.assa-sports-hero-image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 610px;
    object-fit: cover;
    object-position: center;
}

.assa-sports-hero-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient( 90deg, rgba(3, 36, 59, .48) 0%, rgba(3, 36, 59, .10) 45%, transparent 100% );
    pointer-events: none;
}


/* =========================================================
   TRAIN – COMPETE – BELONG
   ========================================================= */

.assa-sports-manifesto {
    position: relative;
    z-index: 5;
    margin-top: -36px;
}

.assa-sports-manifesto-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border-radius: 25px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(4, 44, 69, .17);
}

.assa-sports-manifesto-item {
    min-height: 180px;
    padding: 31px 34px;
    border-right: 1px solid var(--sports-border);
    background: #fff;
}

    .assa-sports-manifesto-item:last-child {
        border-right: 0;
    }

.assa-sports-manifesto-number {
    display: block;
    margin-bottom: 14px;
    color: var(--sports-orange);
    font-size: .77rem;
    font-weight: 900;
    letter-spacing: .13em;
}

.assa-sports-manifesto-item h2 {
    margin: 0 0 8px;
    color: var(--sports-navy);
    font-size: 1.55rem;
}

.assa-sports-manifesto-item p {
    margin: 0;
    color: var(--sports-muted);
    line-height: 1.65;
}


/* =========================================================
   INTRODUCTION
   ========================================================= */

.assa-sports-intro {
    padding: 105px 0 90px;
    background: #fff;
}

.assa-sports-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 80px;
    align-items: start;
}

.assa-sports-intro h2 {
    margin: 8px 0 0;
    color: var(--sports-navy);
    font-size: clamp(2.1rem, 3vw, 3.25rem);
    line-height: 1.08;
}

.assa-sports-intro-copy p {
    margin: 0 0 18px;
    color: var(--sports-text);
    line-height: 1.8;
}


/* =========================================================
   SPORTS COMPLEX
   ========================================================= */

.assa-sports-arena {
    padding: 90px 0;
    background: var(--sports-soft);
}

.assa-sports-arena-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(380px, .95fr);
    gap: 65px;
    align-items: center;
}

.assa-sports-arena h2 {
    margin: 8px 0 20px;
    color: var(--sports-navy);
    font-size: clamp(2.1rem, 3vw, 3.2rem);
    line-height: 1.08;
}

.assa-sports-arena p {
    margin: 0 0 15px;
    color: var(--sports-text);
    line-height: 1.75;
}

.assa-sports-arena-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 26px;
}

.assa-sports-arena-point {
    padding: 16px 17px;
    border: 1px solid var(--sports-border);
    border-radius: 14px;
    background: #fff;
    color: #3c5c6e;
    font-size: .88rem;
    font-weight: 800;
}

.assa-sports-arena-visual {
    position: relative;
    height: 480px;
    overflow: hidden;
    border-radius: 28px;
    background: #dcecf3;
    box-shadow: 0 24px 55px rgba(8, 56, 82, .13);
}

.assa-sports-arena-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


/* =========================================================
   SHARED SECTION HEADING
   ========================================================= */

.assa-sports-heading {
    max-width: 790px;
    margin-bottom: 45px;
}

    .assa-sports-heading h2 {
        margin: 8px 0 14px;
        color: var(--sports-navy);
        font-size: clamp(2.1rem, 3vw, 3.2rem);
        line-height: 1.08;
    }

    .assa-sports-heading p {
        margin: 0;
        color: var(--sports-muted);
        line-height: 1.72;
    }


/* =========================================================
   SPORTS DISCIPLINES AND IMAGE GRID
   ========================================================= */

.assa-sports-disciplines {
    padding: 90px 0;
    background: #fff;
}

.assa-sports-lanes {
    display: grid;
    gap: 14px;
}

/* Four-image strip */

.assa-sports-lane-slider {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}

.assa-sports-slide {
    height: 230px;
    overflow: hidden;
    border-radius: 19px;
    background: var(--sports-soft);
}

    .assa-sports-slide img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: transform .35s ease;
    }

    .assa-sports-slide:hover img {
        transform: scale(1.045);
    }

/* Discipline rows */

.assa-sports-lane {
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    min-height: 108px;
    padding: 19px 26px;
    border: 1px solid var(--sports-border);
    border-radius: 18px;
    background: var(--sports-surface);
    transition: transform .2s ease, box-shadow .2s ease;
}

    .assa-sports-lane:hover {
        transform: translateX(5px);
        box-shadow: 0 12px 30px rgba(11, 61, 88, .08);
    }

.assa-sports-lane-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 17px;
    background: var(--sports-navy);
    color: #fff;
    font-weight: 900;
}

.assa-sports-lane h3 {
    margin: 0 0 5px;
    color: var(--sports-navy);
    font-size: 1.2rem;
}

.assa-sports-lane p {
    margin: 0;
    color: #617987;
    line-height: 1.58;
}

.assa-sports-lane-tag {
    display: inline-flex;
    padding: 8px 13px;
    border-radius: 999px;
    background: var(--sports-orange-soft);
    color: #9c6100;
    font-size: .76rem;
    font-weight: 900;
    white-space: nowrap;
}


/* =========================================================
   SPORT AS REHABILITATION
   ========================================================= */

.assa-sports-rehab {
    position: relative;
    overflow: hidden;
    padding: 95px 0;
    background: var(--sports-navy);
    color: #fff;
}

    .assa-sports-rehab::before {
        content: "";
        position: absolute;
        top: -210px;
        left: -180px;
        width: 480px;
        height: 480px;
        border: 95px solid rgba(255, 255, 255, .035);
        border-radius: 50%;
    }

.assa-sports-rehab-head {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 75px;
    margin-bottom: 45px;
}

.assa-sports-rehab h2 {
    margin: 8px 0 0;
    color: #fff;
    font-size: clamp(2.1rem, 3vw, 3.2rem);
    line-height: 1.08;
}

.assa-sports-rehab-copy p {
    margin: 0 0 16px;
    color: rgba(255, 255, 255, .74);
    line-height: 1.78;
}

.assa-sports-rehab-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
}

.assa-sports-rehab-card {
    min-height: 180px;
    padding: 27px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 20px;
    background: rgba(255, 255, 255, .065);
}

    .assa-sports-rehab-card span {
        display: block;
        margin-bottom: 17px;
        color: #ffc258;
        font-size: 1.3rem;
        font-weight: 900;
    }

    .assa-sports-rehab-card h3 {
        margin: 0 0 8px;
        color: #fff;
        font-size: 1.13rem;
    }

    .assa-sports-rehab-card p {
        margin: 0;
        color: rgba(255, 255, 255, .68);
        font-size: .9rem;
        line-height: 1.6;
    }


/* =========================================================
   ATHLETE PATHWAY
   ========================================================= */

.assa-sports-pathway {
    padding: 90px 0;
    background: var(--sports-orange-soft);
}

.assa-sports-pathway-track {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
}

.assa-sports-pathway-stage {
    min-height: 220px;
    padding: 27px;
    border: 1px solid #ead8b8;
    border-radius: 21px;
    background: #fff;
}

    .assa-sports-pathway-stage small {
        display: block;
        margin-bottom: 16px;
        color: #d88600;
        font-size: .74rem;
        font-weight: 900;
        letter-spacing: .1em;
    }

    .assa-sports-pathway-stage h3 {
        margin: 0 0 10px;
        color: var(--sports-navy);
        font-size: 1.2rem;
    }

    .assa-sports-pathway-stage p {
        margin: 0;
        color: #617987;
        font-size: .9rem;
        line-height: 1.63;
    }

.assa-sports-pathway-arrow {
    align-self: center;
    color: #dd8b00;
    font-size: 1.65rem;
    font-weight: 900;
}


/* =========================================================
   INCLUSIVE SPORTS ECOSYSTEM
   ========================================================= */

.assa-sports-inclusion {
    padding: 90px 0;
    background: #fff;
}

.assa-sports-inclusion-grid {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 65px;
    align-items: center;
}

.assa-sports-inclusion h2 {
    margin: 8px 0 20px;
    color: var(--sports-navy);
    font-size: clamp(2.1rem, 3vw, 3.1rem);
    line-height: 1.08;
}

.assa-sports-inclusion p {
    margin: 0 0 16px;
    color: var(--sports-text);
    line-height: 1.75;
}

.assa-sports-inclusion-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.assa-sports-inclusion-item {
    overflow: hidden;
    border: 1px solid var(--sports-border);
    border-radius: 19px;
    background: var(--sports-soft);
}

    .assa-sports-inclusion-item img {
        display: block;
        width: 100%;
        height: 155px;
        object-fit: cover;
        object-position: center;
    }

    .assa-sports-inclusion-item strong {
        display: block;
        padding: 18px 20px 0;
        color: var(--sports-blue);
        font-size: 1.04rem;
    }

    .assa-sports-inclusion-item span {
        display: block;
        padding: 8px 20px 21px;
        color: #657d8a;
        font-size: .89rem;
        line-height: 1.58;
    }


/* =========================================================
   CTA
   ========================================================= */

.assa-sports-cta {
    padding: 80px 0;
    background: linear-gradient(125deg, #063552, #08789e);
}

.assa-sports-cta-box {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: center;
}

    .assa-sports-cta-box h2 {
        margin: 0 0 12px;
        color: #fff;
        font-size: clamp(2rem, 3vw, 3rem);
    }

    .assa-sports-cta-box p {
        max-width: 780px;
        margin: 0;
        color: rgba(255, 255, 255, .74);
        line-height: 1.72;
    }

.assa-sports-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 27px;
    border-radius: 12px;
    background: var(--sports-orange);
    color: #173649;
    font-weight: 900;
    text-decoration: none;
    transition: transform .2s ease;
}

    .assa-sports-cta-btn:hover {
        color: #173649;
        transform: translateY(-2px);
    }


/* =========================================================
   FLOATING ARENA BUTTON
   ========================================================= */

.assa-sports-back-arena {
    position: fixed;
    right: 24px;
    bottom: 90px;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 48px;
    height: 48px;
    padding: 0 15px;
    border-radius: 999px;
    background: var(--sports-navy);
    color: #fff;
    font-size: .82rem;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 7px 22px rgba(0, 0, 0, .22);
}

    .assa-sports-back-arena:hover {
        color: #fff;
        transform: translateY(-2px);
    }


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1050px) {

    .assa-sports-hero-grid {
        grid-template-columns: 1fr 1fr;
    }

    .assa-sports-hero-content {
        padding-right: 45px;
        padding-left: 35px;
    }

    .assa-sports-intro-grid,
    .assa-sports-rehab-head {
        gap: 45px;
    }

    .assa-sports-arena-grid,
    .assa-sports-inclusion-grid {
        gap: 40px;
    }

    .assa-sports-lane-slider {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-sports-slide {
        height: 260px;
    }

    .assa-sports-pathway-track {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-sports-pathway-arrow {
        display: none;
    }
}


/* =========================================================
   MOBILE AND SMALL TABLET
   ========================================================= */

@media screen and (max-width: 780px) {

    .assa-sports-hero-grid {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .assa-sports-hero-content {
        padding: 55px 24px;
    }

    .assa-sports-hero h1 {
        font-size: 2.8rem;
    }

    .assa-sports-hero-visual,
    .assa-sports-hero-image {
        min-height: 340px;
        height: 340px;
    }

    .assa-sports-manifesto {
        margin-top: 0;
    }

    .assa-sports-manifesto-grid {
        grid-template-columns: 1fr;
        border-radius: 0;
        box-shadow: none;
    }

    .assa-sports-manifesto-item {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--sports-border);
    }

    .assa-sports-intro,
    .assa-sports-arena,
    .assa-sports-disciplines,
    .assa-sports-rehab,
    .assa-sports-pathway,
    .assa-sports-inclusion {
        padding: 65px 0;
    }

    .assa-sports-intro-grid,
    .assa-sports-arena-grid,
    .assa-sports-rehab-head,
    .assa-sports-inclusion-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .assa-sports-arena-visual {
        height: 350px;
    }

    .assa-sports-arena-points {
        grid-template-columns: 1fr;
    }

    .assa-sports-lane {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 16px;
    }

    .assa-sports-lane-tag {
        grid-column: 2;
        justify-self: start;
    }

    .assa-sports-lane-number {
        width: 54px;
        height: 54px;
    }

    .assa-sports-rehab-grid {
        grid-template-columns: 1fr;
    }

    .assa-sports-pathway-track {
        grid-template-columns: 1fr;
    }

    .assa-sports-inclusion-panel {
        grid-template-columns: 1fr;
    }

    .assa-sports-cta {
        padding: 65px 0;
    }

    .assa-sports-cta-box {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .assa-sports-cta-btn {
        justify-self: start;
    }

    .assa-sports-back-arena {
        right: 16px;
        bottom: 82px;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media screen and (max-width: 520px) {

    .assa-sports-hero-content {
        padding: 45px 18px;
    }

    .assa-sports-hero h1 {
        font-size: 2.35rem;
    }

    .assa-sports-hero-copy {
        font-size: .96rem;
    }

    .assa-sports-hero-visual,
    .assa-sports-hero-image {
        min-height: 260px;
        height: 260px;
    }

    .assa-sports-manifesto-item {
        padding: 25px 20px;
    }

    .assa-sports-lane-slider {
        grid-template-columns: 1fr;
    }

    .assa-sports-slide {
        height: 240px;
    }

    .assa-sports-lane {
        padding: 18px;
    }

    .assa-sports-inclusion-item img {
        height: 205px;
    }

    .assa-sports-back-arena {
        width: 44px;
        min-width: 44px;
        padding: 0;
        font-size: 0;
    }

        .assa-sports-back-arena span {
            font-size: 1.2rem;
        }
}
/* =========================================================
   WHAT WE DO PAGE IMAGES
   ========================================================= */

.assa-whatwedo-page,
.assa-whatwedo-page * {
    box-sizing: border-box;
}


/* Hero */

.assa-whatwedo-hero {
    padding: 0;
}

.assa-whatwedo-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(380px, .9fr);
    gap: 55px;
    align-items: center;
    min-height: 520px;
    padding-top: 55px;
    padding-bottom: 55px;
}

.assa-whatwedo-hero-content {
    min-width: 0;
}

    .assa-whatwedo-hero-content h1 {
        max-width: 720px;
    }

.assa-whatwedo-hero-image {
    width: 100%;
    height: 385px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .17);
    border-radius: 24px;
    background: rgba(255, 255, 255, .08);
    box-shadow: 0 20px 45px rgba(0, 0, 0, .2);
}

    .assa-whatwedo-hero-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


/* Programme cards */

.assa-whatwedo-page .assa-programme-feature-grid {
    align-items: stretch;
}

.assa-whatwedo-page .assa-programme-feature {
    min-height: 440px;
    overflow: hidden;
}

.assa-whatwedo-card-image {
    width: 100%;
    height: 185px;
    margin: 0 0 21px;
    overflow: hidden;
    border-radius: 15px;
    background: #eaf1f5;
}

    .assa-whatwedo-card-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: transform .35s ease;
    }

.assa-programme-feature:hover
.assa-whatwedo-card-image img {
    transform: scale(1.045);
}

.assa-whatwedo-page .assa-programme-feature-link {
    margin-top: auto;
    padding-top: 18px;
}




/* Tablet */

@media screen and (max-width: 900px) {

    .assa-whatwedo-hero-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .assa-whatwedo-hero-image {
        height: 380px;
    }

    .assa-whatwedo-connected-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .assa-whatwedo-connected-image {
        height: 380px;
    }
}


/* Mobile */

@media screen and (max-width: 560px) {

    .assa-whatwedo-hero-grid {
        min-height: 0;
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .assa-whatwedo-hero-image {
        height: 255px;
        border-radius: 18px;
    }

    .assa-whatwedo-page .assa-programme-feature {
        min-height: 0;
    }

    .assa-whatwedo-card-image {
        height: 220px;
    }

    
}
/* =========================================================
   SKILL DEVELOPMENT PAGE – IMAGES
   ========================================================= */

.assa-skill-page,
.assa-skill-page * {
    box-sizing: border-box;
}

    .assa-skill-page img {
        max-width: 100%;
    }


/* Hero photograph */

.assa-skill-hero-panel {
    overflow: hidden;
}

.assa-skill-hero-photo {
    width: 100%;
    height: 205px;
    margin-bottom: 22px;
    overflow: hidden;
    border-radius: 18px;
    background: rgba(255, 255, 255, .08);
}

    .assa-skill-hero-photo img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


/* Training opportunity cards */

.assa-skill-mosaic {
    align-items: stretch;
}

.assa-skill-course {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.assa-skill-course-image {
    width: 100%;
    height: 190px;
    margin-bottom: 21px;
    overflow: hidden;
    border-radius: 16px;
    background: #e9f1f4;
}

    .assa-skill-course-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: transform .35s ease;
    }

.assa-skill-course:hover
.assa-skill-course-image img {
    transform: scale(1.045);
}

.assa-skill-course.featured
.assa-skill-course-image {
    height: 240px;
}

.assa-skill-course-list {
    margin-bottom: 0;
}


/* ITI section */

.assa-skill-visual {
    position: relative;
    width: 100%;
    height: 480px;
    overflow: hidden;
    border-radius: 26px;
    background: #e9f1f4;
    box-shadow: 0 20px 45px rgba(8, 46, 76, .12);
}

.assa-skill-section-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


/* Inclusive skill-development image */

.assa-skill-inclusive-image {
    width: 100%;
    height: 285px;
    margin-top: 27px;
    overflow: hidden;
    border-radius: 20px;
    background: #e9f1f4;
    box-shadow: 0 12px 30px rgba(8, 46, 76, .09);
}

    .assa-skill-inclusive-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


/* Amar Foundation production cards */

.assa-skill-foundation-grid {
    align-items: stretch;
}

.assa-skill-foundation-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.assa-skill-foundation-image {
    width: 100%;
    height: 190px;
    margin-bottom: 21px;
    overflow: hidden;
    border-radius: 15px;
    background: rgba(255, 255, 255, .08);
}

    .assa-skill-foundation-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: transform .35s ease;
    }

.assa-skill-foundation-card:hover
.assa-skill-foundation-image img {
    transform: scale(1.045);
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 900px) {

    .assa-skill-hero-photo {
        height: 270px;
    }

    .assa-skill-course-image,
    .assa-skill-course.featured
    .assa-skill-course-image {
        height: 225px;
    }

    .assa-skill-visual {
        height: 400px;
    }

    .assa-skill-inclusive-image {
        height: 350px;
    }

    .assa-skill-foundation-image {
        height: 225px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 560px) {

    .assa-skill-hero-photo {
        height: 220px;
        border-radius: 15px;
    }

    .assa-skill-course-image,
    .assa-skill-course.featured
    .assa-skill-course-image {
        height: 230px;
    }

    .assa-skill-visual {
        height: 280px;
        border-radius: 18px;
    }

    .assa-skill-inclusive-image {
        height: 250px;
        margin-top: 22px;
        border-radius: 17px;
    }

    .assa-skill-foundation-image {
        height: 225px;
    }
}
/* =========================================================
   INCLUSIVE SKILL DEVELOPMENT – REDESIGNED SECTION
   ========================================================= */

.assa-skill-inclusive-redesign {
    padding: 75px 0;
    background: #fff;
}


/* Section heading */

.assa-skill-inclusive-heading {
    max-width: 850px;
    margin: 0 auto 38px;
    text-align: center;
}

    .assa-skill-inclusive-heading .assa-eyebrow {
        justify-content: center;
    }

    .assa-skill-inclusive-heading h2 {
        margin: 9px 0 15px;
        color: var(--assa-blue-dark);
        font-size: clamp(2.1rem, 3.5vw, 3.3rem);
        line-height: 1.08;
        letter-spacing: -.035em;
    }

    .assa-skill-inclusive-heading > p {
        max-width: 670px;
        margin: 0 auto;
        color: #607683;
        font-size: .96rem;
        line-height: 1.7;
    }


/* Image and content row */

.assa-skill-inclusive-body {
    display: grid;
    grid-template-columns: minmax(380px, .95fr) minmax(0, 1.05fr);
    gap: 28px;
    align-items: stretch;
}


/* Photograph */

.assa-skill-inclusive-photo {
    position: relative;
    min-height: 390px;
    overflow: hidden;
    border-radius: 23px;
    background: #eaf2f5;
    box-shadow: 0 15px 35px rgba(8, 46, 76, .10);
}

    .assa-skill-inclusive-photo img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 390px;
        object-fit: cover;
        object-position: center;
    }


/* Content panel */

.assa-skill-inclusive-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 34px;
    border-left: 4px solid var(--assa-gold);
    border-radius: 0 23px 23px 0;
    background: #f1f9fb;
}

    .assa-skill-inclusive-card > p {
        margin: 0 0 16px;
        color: #385565;
        font-size: .95rem;
        line-height: 1.72;
    }


/* Points */

.assa-skill-inclusive-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 12px;
}

.assa-skill-inclusive-point {
    display: flex;
    align-items: center;
    min-height: 66px;
    padding: 15px 17px;
    border: 1px solid #d5e5eb;
    border-radius: 14px;
    background: #fff;
    color: var(--assa-blue-dark);
    font-size: .86rem;
    font-weight: 850;
    line-height: 1.4;
}


/* Tablet */

@media screen and (max-width: 850px) {

    .assa-skill-inclusive-redesign {
        padding: 60px 0;
    }

    .assa-skill-inclusive-body {
        grid-template-columns: 1fr;
    }

    .assa-skill-inclusive-photo {
        min-height: 380px;
    }

        .assa-skill-inclusive-photo img {
            min-height: 380px;
        }

    .assa-skill-inclusive-card {
        border-top: 4px solid var(--assa-gold);
        border-left: 0;
        border-radius: 0 0 21px 21px;
    }
}


/* Mobile */

@media screen and (max-width: 560px) {

    .assa-skill-inclusive-redesign {
        padding: 45px 0;
    }

    .assa-skill-inclusive-heading {
        margin-bottom: 28px;
        text-align: left;
    }

        .assa-skill-inclusive-heading .assa-eyebrow {
            justify-content: flex-start;
        }

        .assa-skill-inclusive-heading h2 {
            font-size: 2rem;
        }

    .assa-skill-inclusive-photo,
    .assa-skill-inclusive-photo img {
        min-height: 260px;
        height: 260px;
    }

    .assa-skill-inclusive-photo {
        border-radius: 17px;
    }

    .assa-skill-inclusive-card {
        padding: 24px 20px;
    }

    .assa-skill-inclusive-points {
        grid-template-columns: 1fr;
    }

    .assa-skill-inclusive-point {
        min-height: 58px;
    }
}
/* =========================================================
   TRAINING OPPORTUNITIES – UNIFORM GRID
   ========================================================= */

.assa-skill-mosaic {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 20px;
    align-items: stretch;
}


/* All cards use the same structure and colour */

.assa-skill-course,
.assa-skill-course.featured,
.assa-skill-course.orange {
    grid-column: auto;
    grid-row: auto;
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 560px;
    padding: 23px;
    overflow: hidden;
    border: 1px solid #d8e5ea;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(8, 46, 76, .06);
    transition: transform .2s ease, box-shadow .2s ease;
}

    .assa-skill-course:hover,
    .assa-skill-course.featured:hover,
    .assa-skill-course.orange:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 35px rgba(8, 46, 76, .11);
    }


    /* Same label design */

    .assa-skill-course-label,
    .assa-skill-course.featured .assa-skill-course-label,
    .assa-skill-course.orange .assa-skill-course-label {
        display: inline-flex;
        align-self: flex-start;
        align-items: center;
        min-height: 28px;
        margin-bottom: 12px;
        padding: 6px 11px;
        border-radius: 999px;
        background: #edf6fa;
        color: #075a86;
        font-size: .7rem;
        font-weight: 900;
        letter-spacing: .05em;
        text-transform: uppercase;
    }


    /* Equal heading area */

    .assa-skill-course h3 {
        
        margin: 0 0 15px;
        color: var(--assa-blue-dark);
        font-size: 1.17rem;
        line-height: 1.3;
    }


    /* Equal image size */

    .assa-skill-course-image,
    .assa-skill-course.featured .assa-skill-course-image,
    .assa-skill-course.orange .assa-skill-course-image {
        flex: 0 0 auto;
        width: 100%;
        height: 195px;
        margin: 0 0 18px;
        overflow: hidden;
        border-radius: 15px;
        background: #eaf1f5;
    }

        .assa-skill-course-image img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            transition: transform .35s ease;
        }

    .assa-skill-course:hover
    .assa-skill-course-image img {
        transform: scale(1.04);
    }


    /* Description */

    .assa-skill-course > p {
        margin: 0;
        color: #536b78;
        font-size: .85rem;
        line-height: 1.63;
    }


/* Computer course list */

.assa-skill-course-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 13px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

    .assa-skill-course-list li {
        position: relative;
        margin: 0;
        padding-left: 15px;
        color: #536b78;
        font-size: .78rem;
        line-height: 1.4;
    }

        .assa-skill-course-list li::before {
            content: "";
            position: absolute;
            top: .48em;
            left: 0;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--assa-gold);
        }


/* Tablet – two columns */

@media screen and (max-width: 950px) {

    .assa-skill-mosaic {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-skill-course,
    .assa-skill-course.featured,
    .assa-skill-course.orange {
        min-height: 550px;
    }
}


/* Mobile – one column */

@media screen and (max-width: 600px) {

    .assa-skill-mosaic {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
        gap: 17px;
    }

    .assa-skill-course,
    .assa-skill-course.featured,
    .assa-skill-course.orange {
        min-height: 0;
        padding: 20px;
    }

        .assa-skill-course h3 {
            min-height: 0;
        }

        .assa-skill-course-image,
        .assa-skill-course.featured .assa-skill-course-image,
        .assa-skill-course.orange .assa-skill-course-image {
            height: 230px;
        }
}
.assa-skill-mosaic .assa-skill-course h3,
.assa-skill-mosaic .assa-skill-course.featured h3,
.assa-skill-mosaic .assa-skill-course.orange h3 {
    min-height: 61px !important;
    margin: 0 0 15px !important;
    padding: 0 !important;
}

.assa-skill-mosaic .assa-skill-course-image,
.assa-skill-mosaic .assa-skill-course.featured .assa-skill-course-image,
.assa-skill-mosaic .assa-skill-course.orange .assa-skill-course-image {
    height: 195px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}
/* Fix featured and orange skill-card text colours */

.assa-skill-mosaic .assa-skill-course.featured h3,
.assa-skill-mosaic .assa-skill-course.orange h3 {
    color: var(--assa-blue-dark) !important;
}

.assa-skill-mosaic .assa-skill-course.featured > p,
.assa-skill-mosaic .assa-skill-course.orange > p {
    color: #536b78 !important;
}

.assa-skill-mosaic .assa-skill-course.featured
.assa-skill-course-list li,
.assa-skill-mosaic .assa-skill-course.orange
.assa-skill-course-list li {
    color: #536b78 !important;
}
/* Remove extra space inside Digital Skills featured card */

.assa-skill-mosaic
.assa-skill-course.featured {
    gap: 0 !important;
}

    .assa-skill-mosaic
    .assa-skill-course.featured h3 {
        min-height: 61px !important;
        margin: 0 0 15px !important;
        padding: 0 !important;
    }

    .assa-skill-mosaic
    .assa-skill-course.featured
    .assa-skill-course-image {
        height: 195px !important;
        margin: 0 0 18px !important;
        padding: 0 !important;
    }
.assa-skill-course h3 {
    min-height: 0;
    margin: 0 0 14px;
}

.assa-skill-course-image {
    width: 100%;
    height: 195px;
    margin: 0 0 18px;
    overflow: hidden;
    border-radius: 15px;
    background: #eaf1f5;
}

    .assa-skill-course-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
/* =========================================================
   VILLAGE & COMMUNITY-BASED REHABILITATION PAGE
   ========================================================= */

.assa-vbr-page,
.assa-vbr-page * {
    box-sizing: border-box;
}

.assa-vbr-page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

    .assa-vbr-page img {
        display: block;
        max-width: 100%;
    }


/* =========================================================
   HERO SECTION
   ========================================================= */

.assa-vbr-hero {
    overflow: hidden;
}

.assa-vbr-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, 0.9fr);
    align-items: center;
    gap: 56px;
}

.assa-vbr-hero-content {
    min-width: 0;
}

    .assa-vbr-hero-content h1 {
        max-width: 760px;
    }

    .assa-vbr-hero-content p {
        max-width: 700px;
    }

.assa-vbr-hero-image {
    position: relative;
    width: 100%;
    height: 410px;
    overflow: hidden;
    border: 6px solid rgba(255, 255, 255, 0.16);
    border-radius: 26px;
    background: #dfe9ef;
    box-shadow: 0 24px 55px rgba(4, 35, 58, 0.24);
}

    .assa-vbr-hero-image::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 180deg, transparent 55%, rgba(4, 39, 65, 0.2) 100% );
        pointer-events: none;
    }

    .assa-vbr-hero-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


/* =========================================================
   PROGRAMME CARD GRID
   ========================================================= */

.assa-vbr-page .assa-programme-feature-grid {
    align-items: stretch;
}

.assa-vbr-page .assa-programme-feature {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    overflow: hidden;
}

.assa-vbr-page a.assa-programme-feature {
    text-decoration: none;
}

.assa-vbr-page .assa-programme-feature-number {
    flex: 0 0 auto;
}


/* =========================================================
   PROGRAMME CARD IMAGES
   ========================================================= */

.assa-vbr-card-image {
    position: relative;
    width: 100%;
    height: 180px;
    flex: 0 0 auto;
    margin: 16px 0 20px;
    overflow: hidden;
    border-radius: 15px;
    background: #e9f0f4;
}

    .assa-vbr-card-image::after {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid rgba(6, 62, 98, 0.08);
        border-radius: inherit;
        pointer-events: none;
    }

    .assa-vbr-card-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        transition: transform 0.35s ease;
    }

.assa-vbr-page .assa-programme-feature:hover
.assa-vbr-card-image img {
    transform: scale(1.045);
}

.assa-vbr-page .assa-programme-feature h3 {
    margin-top: 0;
}

.assa-vbr-page .assa-programme-feature p {
    flex-grow: 1;
}

.assa-vbr-page .assa-programme-feature-link {
    display: inline-flex;
    align-items: center;
    margin-top: auto;
    padding-top: 18px;
}


/* =========================================================
   DETAILED CONTENT SECTIONS
   ========================================================= */

.assa-vbr-page .assa-programme-content-grid {
    align-items: start;
}

    .assa-vbr-page .assa-programme-content-grid > * {
        min-width: 0;
    }

.assa-vbr-section-image {
    position: relative;
    width: 100%;
    height: 285px;
    margin-top: 26px;
    overflow: hidden;
    border-radius: 20px;
    background: #e9f0f4;
    box-shadow: 0 12px 30px rgba(8, 46, 76, 0.1);
}

    .assa-vbr-section-image::after {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid rgba(6, 62, 98, 0.08);
        border-radius: inherit;
        pointer-events: none;
    }

    .assa-vbr-section-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        transition: transform 0.35s ease;
    }

    .assa-vbr-section-image:hover img {
        transform: scale(1.025);
    }


    /* =========================================================
   INDIVIDUAL IMAGE POSITIONING
   Adjust these only when a person's face is being cropped.
   ========================================================= */

    .assa-vbr-section-image img[src*="home-rehabilitation"] {
        object-position: center;
    }

    .assa-vbr-section-image img[src*="community-centre"] {
        object-position: center;
    }

    .assa-vbr-section-image img[src*="early-intervention"] {
        object-position: center 35%;
    }

    .assa-vbr-section-image img[src*="family-empowerment"] {
        object-position: center 30%;
    }

    .assa-vbr-section-image img[src*="assistive-technology"] {
        object-position: center;
    }

    .assa-vbr-section-image img[src*="school-inclusion"] {
        object-position: center 35%;
    }

    .assa-vbr-section-image img[src*="community-owned-model"] {
        object-position: center;
    }


/* =========================================================
   LISTS IN CONTENT SECTIONS
   ========================================================= */

.assa-vbr-page .assa-programme-content ul {
    display: grid;
    gap: 10px;
    margin: 18px 0 22px;
    padding: 0;
    list-style: none;
}

.assa-vbr-page .assa-programme-content li {
    position: relative;
    padding-left: 24px;
    color: #455866;
    line-height: 1.65;
}

    .assa-vbr-page .assa-programme-content li::before {
        content: "";
        position: absolute;
        top: 0.7em;
        left: 0;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--assa-gold);
    }


/* =========================================================
   LIVELIHOOD CARDS
   ========================================================= */

.assa-vbr-livelihood-image {
    height: 175px;
}

#livelihood-empowerment .assa-programme-feature {
    min-height: 100%;
}


/* =========================================================
   INTERNAL ANCHOR POSITION
   Prevent sticky header from covering section headings.
   ========================================================= */

.assa-vbr-page section[id] {
    scroll-margin-top: 120px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1050px) {

    .assa-vbr-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(310px, 0.8fr);
        gap: 38px;
    }

    .assa-vbr-hero-image {
        height: 360px;
    }

    .assa-vbr-card-image {
        height: 170px;
    }

    .assa-vbr-section-image {
        height: 260px;
    }
}


@media screen and (max-width: 991px) {

    .assa-vbr-hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
    }

    .assa-vbr-hero-image {
        width: 100%;
        max-width: 720px;
        height: 390px;
    }

    .assa-vbr-page .assa-programme-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-vbr-card-image {
        height: 210px;
    }

    .assa-vbr-page .assa-programme-content-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .assa-vbr-section-image {
        width: 100%;
        height: 360px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 575px) {

    .assa-vbr-page .assa-container {
        width: 100%;
        max-width: 100%;
        padding-right: 18px;
        padding-left: 18px;
    }

    .assa-vbr-hero-grid {
        gap: 26px;
    }

    .assa-vbr-hero-content h1 {
        font-size: 2.15rem;
        line-height: 1.08;
    }

    .assa-vbr-hero-image {
        height: 255px;
        border-width: 4px;
        border-radius: 18px;
    }

    .assa-vbr-page .assa-programme-feature-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .assa-vbr-card-image,
    .assa-vbr-livelihood-image {
        height: 205px;
        margin: 14px 0 18px;
        border-radius: 13px;
    }

    .assa-vbr-page .assa-programme-content-grid {
        gap: 25px;
    }

    .assa-vbr-section-image {
        height: 225px;
        margin-top: 20px;
        border-radius: 16px;
    }

    .assa-vbr-page section[id] {
        scroll-margin-top: 90px;
    }
}
/* =========================================================
   INSTITUTION-BASED REHABILITATION PAGE
   ========================================================= */

.assa-ibr-page,
.assa-ibr-page * {
    box-sizing: border-box;
}

.assa-ibr-page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

    .assa-ibr-page img {
        display: block;
        max-width: 100%;
    }


/* =========================================================
   HERO
   ========================================================= */

.assa-ibr-hero {
    overflow: hidden;
}

.assa-ibr-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    align-items: center;
    gap: 58px;
}

.assa-ibr-hero-content {
    min-width: 0;
}

    .assa-ibr-hero-content h1 {
        max-width: 760px;
    }

    .assa-ibr-hero-content p {
        max-width: 720px;
    }

.assa-ibr-hero-image {
    position: relative;
    width: 100%;
    height: 420px;
    overflow: hidden;
    border: 6px solid rgba(255, 255, 255, 0.16);
    border-radius: 26px;
    background: #dfe9ef;
    box-shadow: 0 24px 55px rgba(4, 35, 58, 0.24);
}

    .assa-ibr-hero-image::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 180deg, transparent 55%, rgba(4, 39, 65, 0.22) 100% );
        pointer-events: none;
    }

    .assa-ibr-hero-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


/* =========================================================
   SERVICE CARDS
   ========================================================= */

.assa-ibr-page .assa-programme-feature-grid {
    align-items: stretch;
}

.assa-ibr-page .assa-programme-feature {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    overflow: hidden;
}

.assa-ibr-page a.assa-programme-feature {
    text-decoration: none;
}

.assa-ibr-page .assa-programme-feature-number {
    flex: 0 0 auto;
}

.assa-ibr-page .assa-programme-feature h3 {
    margin-top: 0;
}

.assa-ibr-page .assa-programme-feature p {
    flex-grow: 1;
}

.assa-ibr-page .assa-programme-feature-link {
    display: inline-flex;
    align-items: center;
    margin-top: auto;
    padding-top: 18px;
}


/* =========================================================
   SERVICE CARD IMAGES
   ========================================================= */

.assa-ibr-card-image {
    position: relative;
    width: 100%;
    height: 180px;
    flex: 0 0 auto;
    margin: 16px 0 20px;
    overflow: hidden;
    border-radius: 15px;
    background: #e9f0f4;
}

    .assa-ibr-card-image::after {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid rgba(6, 62, 98, 0.08);
        border-radius: inherit;
        pointer-events: none;
    }

    .assa-ibr-card-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        transition: transform 0.35s ease;
    }

.assa-ibr-page .assa-programme-feature:hover
.assa-ibr-card-image img {
    transform: scale(1.045);
}


/* =========================================================
   DETAILED CONTENT
   ========================================================= */

.assa-ibr-page .assa-programme-content-grid {
    align-items: start;
}

    .assa-ibr-page .assa-programme-content-grid > * {
        min-width: 0;
    }

.assa-ibr-section-image {
    position: relative;
    width: 100%;
    height: 290px;
    margin-top: 26px;
    overflow: hidden;
    border-radius: 20px;
    background: #e9f0f4;
    box-shadow: 0 12px 30px rgba(8, 46, 76, 0.1);
}

    .assa-ibr-section-image::after {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid rgba(6, 62, 98, 0.08);
        border-radius: inherit;
        pointer-events: none;
    }

    .assa-ibr-section-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        transition: transform 0.35s ease;
    }

    .assa-ibr-section-image:hover img {
        transform: scale(1.025);
    }


/* =========================================================
   CONTENT LISTS
   ========================================================= */

.assa-ibr-page .assa-programme-content ul {
    display: grid;
    gap: 10px;
    margin: 18px 0 22px;
    padding: 0;
    list-style: none;
}

.assa-ibr-page .assa-programme-content li {
    position: relative;
    padding-left: 24px;
    color: #455866;
    line-height: 1.65;
}

    .assa-ibr-page .assa-programme-content li::before {
        content: "";
        position: absolute;
        top: 0.72em;
        left: 0;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--assa-gold);
    }

.assa-ibr-page .assa-programme-content h3 {
    margin: 28px 0 10px;
    color: var(--assa-blue-dark);
    font-size: 1.2rem;
    line-height: 1.3;
}


/* =========================================================
   CARE BEYOND THERAPY
   ========================================================= */

.assa-ibr-integrated {
    padding: 78px 0;
    background: var(--assa-blue-dark);
    color: #fff;
}

.assa-ibr-integrated-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.85fr) minmax(0, 1.15fr);
    align-items: center;
    gap: 58px;
}

.assa-ibr-integrated-image {
    position: relative;
    height: 500px;
    overflow: hidden;
    border-radius: 24px;
    background: #dfe9ef;
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.2);
}

    .assa-ibr-integrated-image::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 180deg, transparent 55%, rgba(4, 39, 65, 0.25) 100% );
        pointer-events: none;
    }

    .assa-ibr-integrated-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

.assa-ibr-integrated-content {
    min-width: 0;
}

    .assa-ibr-integrated-content .assa-eyebrow {
        color: var(--assa-gold);
    }

    .assa-ibr-integrated-content > h2 {
        margin: 8px 0 16px;
        color: #fff;
        font-size: clamp(2rem, 3vw, 3rem);
        line-height: 1.1;
    }

    .assa-ibr-integrated-content > p {
        margin: 0 0 28px;
        color: rgba(255, 255, 255, 0.78);
        line-height: 1.75;
    }

.assa-ibr-integrated-points {
    display: grid;
    gap: 13px;
}

.assa-ibr-integrated-point {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.06);
}

    .assa-ibr-integrated-point > span {
        display: grid;
        width: 46px;
        height: 46px;
        place-items: center;
        border-radius: 12px;
        background: var(--assa-gold);
        color: var(--assa-blue-dark);
        font-size: 0.78rem;
        font-weight: 900;
    }

    .assa-ibr-integrated-point h3 {
        margin: 1px 0 6px;
        color: #fff;
        font-size: 1.05rem;
    }

    .assa-ibr-integrated-point p {
        margin: 0;
        color: rgba(255, 255, 255, 0.72);
        font-size: 0.86rem;
        line-height: 1.6;
    }


/* =========================================================
   IMAGE POSITIONING
   ========================================================= */

.assa-ibr-section-image img[src*="residential"] {
    object-position: center 35%;
}

.assa-ibr-section-image img[src*="medical-testing"] {
    object-position: center;
}

.assa-ibr-section-image img[src*="spinal"] {
    object-position: center 35%;
}

.assa-ibr-section-image img[src*="special-needs"] {
    object-position: center 30%;
}

.assa-ibr-section-image img[src*="foster-parent"] {
    object-position: center 30%;
}

.assa-ibr-section-image img[src*="rehabilitation-centre"] {
    object-position: center;
}

.assa-ibr-section-image img[src*="youth-trainee"] {
    object-position: center 35%;
}


/* =========================================================
   ANCHOR POSITIONING
   ========================================================= */

.assa-ibr-page section[id] {
    scroll-margin-top: 120px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1050px) {

    .assa-ibr-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(310px, 0.8fr);
        gap: 38px;
    }

    .assa-ibr-hero-image {
        height: 370px;
    }

    .assa-ibr-card-image {
        height: 170px;
    }

    .assa-ibr-section-image {
        height: 265px;
    }

    .assa-ibr-integrated-grid {
        gap: 40px;
    }

    .assa-ibr-integrated-image {
        height: 470px;
    }
}


@media screen and (max-width: 991px) {

    .assa-ibr-hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
    }

    .assa-ibr-hero-image {
        width: 100%;
        max-width: 720px;
        height: 390px;
    }

    .assa-ibr-page .assa-programme-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-ibr-card-image {
        height: 210px;
    }

    .assa-ibr-page .assa-programme-content-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .assa-ibr-section-image {
        width: 100%;
        height: 360px;
    }

    .assa-ibr-integrated-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .assa-ibr-integrated-image {
        width: 100%;
        max-width: 720px;
        height: 420px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 575px) {

    .assa-ibr-page .assa-container {
        width: 100%;
        max-width: 100%;
        padding-right: 18px;
        padding-left: 18px;
    }

    .assa-ibr-hero-grid {
        gap: 26px;
    }

    .assa-ibr-hero-content h1 {
        font-size: 2.15rem;
        line-height: 1.08;
    }

    .assa-ibr-hero-image {
        height: 255px;
        border-width: 4px;
        border-radius: 18px;
    }

    .assa-ibr-page .assa-programme-feature-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .assa-ibr-card-image {
        height: 205px;
        margin: 14px 0 18px;
        border-radius: 13px;
    }

    .assa-ibr-page .assa-programme-content-grid {
        gap: 25px;
    }

    .assa-ibr-section-image {
        height: 225px;
        margin-top: 20px;
        border-radius: 16px;
    }

    .assa-ibr-integrated {
        padding: 55px 0;
    }

    .assa-ibr-integrated-grid {
        gap: 32px;
    }

    .assa-ibr-integrated-image {
        height: 280px;
        border-radius: 18px;
    }

    .assa-ibr-integrated-content > h2 {
        font-size: 2rem;
    }

    .assa-ibr-integrated-point {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 13px;
        padding: 16px;
    }

        .assa-ibr-integrated-point > span {
            width: 42px;
            height: 42px;
        }

    .assa-ibr-page section[id] {
        scroll-margin-top: 90px;
    }
}
/* =========================================================
   CHILD EARLY INTERVENTION PAGE
   ========================================================= */

.assa-ei-page,
.assa-ei-page * {
    box-sizing: border-box;
}

.assa-ei-page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

    .assa-ei-page img {
        display: block;
        max-width: 100%;
    }


/* =========================================================
   HERO
   ========================================================= */

.assa-ei-hero {
    overflow: hidden;
}

.assa-ei-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    align-items: center;
    gap: 58px;
}

.assa-ei-hero-content {
    min-width: 0;
}

    .assa-ei-hero-content h1 {
        max-width: 760px;
    }

    .assa-ei-hero-content p {
        max-width: 720px;
    }

.assa-ei-hero-image {
    position: relative;
    width: 100%;
    height: 420px;
    overflow: hidden;
    border: 6px solid rgba(255, 255, 255, 0.16);
    border-radius: 26px;
    background: #dfe9ef;
    box-shadow: 0 24px 55px rgba(4, 35, 58, 0.24);
}

    .assa-ei-hero-image::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 180deg, transparent 55%, rgba(4, 39, 65, 0.2) 100% );
        pointer-events: none;
    }

    .assa-ei-hero-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


/* =========================================================
   PROGRAMME CARDS
   ========================================================= */

.assa-ei-page .assa-programme-feature-grid {
    align-items: stretch;
}

.assa-ei-page .assa-programme-feature {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    overflow: hidden;
}

.assa-ei-page a.assa-programme-feature {
    text-decoration: none;
}

.assa-ei-page .assa-programme-feature-number {
    flex: 0 0 auto;
}

.assa-ei-page .assa-programme-feature h3 {
    margin-top: 0;
}

.assa-ei-page .assa-programme-feature p {
    flex-grow: 1;
}

.assa-ei-page .assa-programme-feature-link {
    display: inline-flex;
    align-items: center;
    margin-top: auto;
    padding-top: 18px;
}


/* =========================================================
   PROGRAMME CARD IMAGES
   ========================================================= */

.assa-ei-card-image {
    position: relative;
    width: 100%;
    height: 180px;
    flex: 0 0 auto;
    margin: 16px 0 20px;
    overflow: hidden;
    border-radius: 15px;
    background: #e9f0f4;
}

    .assa-ei-card-image::after {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid rgba(6, 62, 98, 0.08);
        border-radius: inherit;
        pointer-events: none;
    }

    .assa-ei-card-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        transition: transform 0.35s ease;
    }

.assa-ei-page .assa-programme-feature:hover
.assa-ei-card-image img {
    transform: scale(1.045);
}


/* =========================================================
   CONTENT SECTION IMAGES
   ========================================================= */

.assa-ei-page .assa-programme-content-grid {
    align-items: start;
}

    .assa-ei-page .assa-programme-content-grid > * {
        min-width: 0;
    }

.assa-ei-section-image {
    position: relative;
    width: 100%;
    height: 290px;
    margin-top: 26px;
    overflow: hidden;
    border-radius: 20px;
    background: #e9f0f4;
    box-shadow: 0 12px 30px rgba(8, 46, 76, 0.1);
}

    .assa-ei-section-image::after {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid rgba(6, 62, 98, 0.08);
        border-radius: inherit;
        pointer-events: none;
    }

    .assa-ei-section-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        transition: transform 0.35s ease;
    }

    .assa-ei-section-image:hover img {
        transform: scale(1.025);
    }

.assa-ei-app-image img {
    object-position: center top;
}


/* =========================================================
   CONTENT LISTS
   ========================================================= */

.assa-ei-page .assa-programme-content ul {
    display: grid;
    gap: 10px;
    margin: 18px 0 22px;
    padding: 0;
    list-style: none;
}

.assa-ei-page .assa-programme-content li {
    position: relative;
    padding-left: 24px;
    color: #455866;
    line-height: 1.65;
}

    .assa-ei-page .assa-programme-content li::before {
        content: "";
        position: absolute;
        top: 0.72em;
        left: 0;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--assa-gold);
    }


/* =========================================================
   ENABLING INCLUSION MODEL
   ========================================================= */

.assa-ei-model-section {
    background: #ffffff;
}

.assa-ei-model-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.assa-ei-model-card {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(8, 46, 76, 0.06);
}

.assa-ei-model-image {
    min-height: 230px;
    overflow: hidden;
    background: #e9f0f4;
}

    .assa-ei-model-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: transform 0.35s ease;
    }

.assa-ei-model-card:hover
.assa-ei-model-image img {
    transform: scale(1.04);
}

.assa-ei-model-content {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 24px;
}

.assa-ei-model-number {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    place-items: center;
    margin-bottom: 17px;
    border-radius: 12px;
    background: var(--assa-gold);
    color: var(--assa-blue-dark);
    font-size: 0.76rem;
    font-weight: 900;
}

.assa-ei-model-content h3 {
    margin: 0 0 10px;
    color: var(--assa-blue-dark);
    font-size: 1.18rem;
    line-height: 1.25;
}

.assa-ei-model-content p {
    margin: 0;
    color: var(--assa-muted);
    font-size: 0.87rem;
    line-height: 1.65;
}


/* =========================================================
   IMAGE POSITIONING
   Adjust when a person's face is cropped.
   ========================================================= */

.assa-ei-section-image img[src*="screening"] {
    object-position: center 30%;
}

.assa-ei-section-image img[src*="individualised"] {
    object-position: center 35%;
}

.assa-ei-section-image img[src*="community-service"] {
    object-position: center;
}

.assa-ei-section-image img[src*="parent-empowerment"] {
    object-position: center 30%;
}

.assa-ei-section-image img[src*="assistive-technology"] {
    object-position: center;
}

.assa-ei-section-image img[src*="capacity-building"] {
    object-position: center 35%;
}

.assa-ei-section-image img[src*="centre-of-excellence"] {
    object-position: center;
}


/* =========================================================
   ANCHOR POSITION
   ========================================================= */

.assa-ei-page section[id] {
    scroll-margin-top: 120px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1050px) {

    .assa-ei-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(310px, 0.8fr);
        gap: 38px;
    }

    .assa-ei-hero-image {
        height: 370px;
    }

    .assa-ei-card-image {
        height: 170px;
    }

    .assa-ei-section-image {
        height: 265px;
    }

    .assa-ei-model-card {
        grid-template-columns: 150px minmax(0, 1fr);
    }
}


@media screen and (max-width: 991px) {

    .assa-ei-hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
    }

    .assa-ei-hero-image {
        width: 100%;
        max-width: 720px;
        height: 390px;
    }

    .assa-ei-page .assa-programme-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-ei-card-image {
        height: 210px;
    }

    .assa-ei-page .assa-programme-content-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .assa-ei-section-image {
        width: 100%;
        height: 360px;
    }

    .assa-ei-model-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .assa-ei-model-card {
        grid-template-columns: 230px minmax(0, 1fr);
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 575px) {

    .assa-ei-page .assa-container {
        width: 100%;
        max-width: 100%;
        padding-right: 18px;
        padding-left: 18px;
    }

    .assa-ei-hero-grid {
        gap: 26px;
    }

    .assa-ei-hero-content h1 {
        font-size: 2.15rem;
        line-height: 1.08;
    }

    .assa-ei-hero-image {
        height: 255px;
        border-width: 4px;
        border-radius: 18px;
    }

    .assa-ei-page .assa-programme-feature-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .assa-ei-card-image {
        height: 205px;
        margin: 14px 0 18px;
        border-radius: 13px;
    }

    .assa-ei-page .assa-programme-content-grid {
        gap: 25px;
    }

    .assa-ei-section-image {
        height: 225px;
        margin-top: 20px;
        border-radius: 16px;
    }

    .assa-ei-model-grid {
        gap: 17px;
    }

    .assa-ei-model-card {
        display: flex;
        flex-direction: column;
    }

    .assa-ei-model-image {
        width: 100%;
        height: 215px;
        min-height: 0;
    }

    .assa-ei-model-content {
        padding: 21px;
    }

    .assa-ei-page section[id] {
        scroll-margin-top: 90px;
    }
}
/* =========================================================
   ENABLING INCLUSION MODEL – ALIGNED CARDS
   Shows complete images without cropping
   ========================================================= */

.assa-ei-model-section {
    padding: 70px 0;
    background: #ffffff;
}

.assa-ei-model-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 22px;
}


/* ---------- Individual Card ---------- */

.assa-ei-model-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 8px 25px rgba(8, 46, 76, 0.06);
}


/* ---------- Image Area ---------- */

.assa-ei-model-image {
    display: flex;
    width: 100%;
    height: 270px;
    flex: 0 0 270px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 8px;
    border-bottom: 1px solid var(--assa-line);
    background: #eef5f7;
}

    .assa-ei-model-image img {
        display: block;
        width: 100%;
        height: 100%;
        max-width: 100%;
        object-fit: contain;
        object-position: center;
        transition: transform 0.3s ease;
    }

.assa-ei-model-card:hover
.assa-ei-model-image img {
    transform: scale(1.015);
}


/* ---------- Card Content ---------- */

.assa-ei-model-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    padding: 24px;
}

.assa-ei-model-number {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    margin-bottom: 17px;
    border-radius: 12px;
    background: var(--assa-gold);
    color: var(--assa-blue-dark);
    font-size: 0.76rem;
    font-weight: 900;
}

.assa-ei-model-content h3 {
    margin: 0 0 10px;
    color: var(--assa-blue-dark);
    font-size: 1.18rem;
    line-height: 1.3;
}

.assa-ei-model-content p {
    margin: 0;
    color: var(--assa-muted);
    font-size: 0.87rem;
    line-height: 1.65;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 991px) {

    .assa-ei-model-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .assa-ei-model-image {
        height: 235px;
        flex-basis: 235px;
    }

    .assa-ei-model-content {
        padding: 21px;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 700px) {

    .assa-ei-model-section {
        padding: 55px 0;
    }

    .assa-ei-model-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .assa-ei-model-image {
        height: 250px;
        flex-basis: 250px;
    }
}


@media screen and (max-width: 420px) {

    .assa-ei-model-image {
        height: 220px;
        flex-basis: 220px;
        padding: 6px;
    }

    .assa-ei-model-content {
        padding: 20px;
    }
}
/* =========================================================
   REHAB ORCHARD PAGE
   ========================================================= */

.assa-orchard-page,
.assa-orchard-page * {
    box-sizing: border-box;
}

.assa-orchard-page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

    .assa-orchard-page img {
        display: block;
        max-width: 100%;
    }


/* =========================================================
   HERO
   ========================================================= */

.assa-orchard-hero {
    overflow: hidden;
}

.assa-orchard-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    align-items: center;
    gap: 58px;
}

.assa-orchard-hero-content {
    min-width: 0;
}

    .assa-orchard-hero-content h1 {
        max-width: 760px;
    }

    .assa-orchard-hero-content p {
        max-width: 720px;
    }

.assa-orchard-hero-image {
    position: relative;
    width: 100%;
    height: 420px;
    overflow: hidden;
    border: 6px solid rgba(255, 255, 255, 0.16);
    border-radius: 26px;
    background: #dfe9df;
    box-shadow: 0 24px 55px rgba(4, 35, 58, 0.24);
}

    .assa-orchard-hero-image::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 180deg, transparent 55%, rgba(2, 47, 40, 0.24) 100% );
        pointer-events: none;
    }

    .assa-orchard-hero-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


/* =========================================================
   FIVE PATHWAY CARDS
   ========================================================= */

.assa-orchard-feature-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
}

.assa-orchard-feature-card {
    display: flex;
    grid-column: span 2;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    text-decoration: none;
}

    .assa-orchard-feature-card:nth-child(4) {
        grid-column: 2 / span 2;
    }

    .assa-orchard-feature-card:nth-child(5) {
        grid-column: 4 / span 2;
    }

    .assa-orchard-feature-card p {
        flex-grow: 1;
    }

    .assa-orchard-feature-card
    .assa-programme-feature-link {
        margin-top: auto;
        padding-top: 18px;
    }


/* =========================================================
   CARD IMAGES
   Complete photograph is visible without cropping
   ========================================================= */

.assa-orchard-card-image {
    display: flex;
    width: 100%;
    height: 190px;
    flex: 0 0 190px;
    align-items: center;
    justify-content: center;
    margin: 16px 0 20px;
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(6, 62, 98, 0.08);
    border-radius: 15px;
    background: #eef5ef;
}

    .assa-orchard-card-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        transition: transform 0.3s ease;
    }

.assa-orchard-feature-card:hover
.assa-orchard-card-image img {
    transform: scale(1.015);
}


/* =========================================================
   DETAIL SECTION IMAGES
   ========================================================= */

.assa-orchard-page .assa-programme-content-grid {
    align-items: start;
}

    .assa-orchard-page
    .assa-programme-content-grid > * {
        min-width: 0;
    }

.assa-orchard-section-image {
    position: relative;
    width: 100%;
    height: 295px;
    margin-top: 26px;
    overflow: hidden;
    border-radius: 20px;
    background: #e9f1e9;
    box-shadow: 0 12px 30px rgba(8, 46, 40, 0.1);
}

    .assa-orchard-section-image::after {
        content: "";
        position: absolute;
        inset: 0;
        border: 1px solid rgba(6, 62, 98, 0.08);
        border-radius: inherit;
        pointer-events: none;
    }

    .assa-orchard-section-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: transform 0.35s ease;
    }

    .assa-orchard-section-image:hover img {
        transform: scale(1.025);
    }

.assa-orchard-kalam-image img {
    object-position: center 25%;
}


/* =========================================================
   CONTENT LISTS
   ========================================================= */

.assa-orchard-page
.assa-programme-content ul {
    display: grid;
    gap: 10px;
    margin: 18px 0 22px;
    padding: 0;
    list-style: none;
}

.assa-orchard-page
.assa-programme-content li {
    position: relative;
    padding-left: 24px;
    color: #455866;
    line-height: 1.65;
}

    .assa-orchard-page
    .assa-programme-content li::before {
        content: "";
        position: absolute;
        top: 0.72em;
        left: 0;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--assa-gold);
    }


/* =========================================================
   OUTCOME CARDS
   ========================================================= */

.assa-orchard-outcome-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 20px;
}

.assa-orchard-outcome-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(8, 46, 76, 0.06);
}

.assa-orchard-outcome-image {
    display: flex;
    width: 100%;
    height: 220px;
    flex: 0 0 220px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 7px;
    border-bottom: 1px solid var(--assa-line);
    background: #eef5ef;
}

    .assa-orchard-outcome-image img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        transition: transform 0.3s ease;
    }

.assa-orchard-outcome-card:hover
.assa-orchard-outcome-image img {
    transform: scale(1.015);
}

.assa-orchard-outcome-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 24px;
}

    .assa-orchard-outcome-content
    .assa-programme-feature-number {
        margin-bottom: 17px;
    }

    .assa-orchard-outcome-content h3 {
        margin: 0 0 10px;
        color: var(--assa-blue-dark);
        font-size: 1.2rem;
        line-height: 1.3;
    }

    .assa-orchard-outcome-content p {
        margin: 0;
        color: var(--assa-muted);
        font-size: 0.87rem;
        line-height: 1.65;
    }


/* =========================================================
   ANCHOR POSITION
   ========================================================= */

.assa-orchard-page section[id] {
    scroll-margin-top: 120px;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1050px) {

    .assa-orchard-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(310px, 0.8fr);
        gap: 38px;
    }

    .assa-orchard-hero-image {
        height: 370px;
    }

    .assa-orchard-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-orchard-feature-card,
    .assa-orchard-feature-card:nth-child(4),
    .assa-orchard-feature-card:nth-child(5) {
        grid-column: auto;
    }

        .assa-orchard-feature-card:last-child {
            grid-column: 1 / -1;
            width: calc(50% - 9px);
            justify-self: center;
        }
}


@media screen and (max-width: 991px) {

    .assa-orchard-hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
    }

    .assa-orchard-hero-image {
        width: 100%;
        max-width: 720px;
        height: 390px;
    }

    .assa-orchard-card-image {
        height: 220px;
        flex-basis: 220px;
    }

    .assa-orchard-page
    .assa-programme-content-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .assa-orchard-section-image {
        width: 100%;
        height: 360px;
    }

    .assa-orchard-outcome-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .assa-orchard-outcome-card {
        display: grid;
        grid-template-columns: 300px minmax(0, 1fr);
    }

    .assa-orchard-outcome-image {
        height: 100%;
        min-height: 240px;
        flex-basis: auto;
        border-right: 1px solid var(--assa-line);
        border-bottom: 0;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 650px) {

    .assa-orchard-page .assa-container {
        width: 100%;
        max-width: 100%;
        padding-right: 18px;
        padding-left: 18px;
    }

    .assa-orchard-hero-grid {
        gap: 26px;
    }

    .assa-orchard-hero-content h1 {
        font-size: 2.15rem;
        line-height: 1.08;
    }

    .assa-orchard-hero-image {
        height: 255px;
        border-width: 4px;
        border-radius: 18px;
    }

    .assa-orchard-feature-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .assa-orchard-feature-card,
    .assa-orchard-feature-card:last-child {
        grid-column: auto;
        width: 100%;
    }

    .assa-orchard-card-image {
        height: 220px;
        flex-basis: 220px;
        margin: 14px 0 18px;
        border-radius: 13px;
    }

    .assa-orchard-page
    .assa-programme-content-grid {
        gap: 25px;
    }

    .assa-orchard-section-image {
        height: 235px;
        margin-top: 20px;
        border-radius: 16px;
    }

    .assa-orchard-outcome-card {
        display: flex;
        flex-direction: column;
    }

    .assa-orchard-outcome-image {
        height: 225px;
        min-height: 0;
        flex: 0 0 225px;
        border-right: 0;
        border-bottom: 1px solid var(--assa-line);
    }

    .assa-orchard-outcome-content {
        padding: 21px;
    }

    .assa-orchard-page section[id] {
        scroll-margin-top: 90px;
    }
}
/* =========================================================
   REHABILITATION PATHWAY CARD ALIGNMENT
   ========================================================= */

.assa-programme-detail-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

    /* Equal heading area for all cards */
    .assa-programme-detail-card h3 {
        display: flex;
        align-items: flex-start;
        min-height: 3.2rem;
        margin: 0 0 16px;
        line-height: 1.25;
    }

/* Equal image size and position */
.assa-programme-detail-image {
    width: 100%;
    height: 190px;
    flex: 0 0 190px;
    margin-bottom: 18px;
    overflow: hidden;
    border-radius: 12px;
    background: #edf3f6;
}

    .assa-programme-detail-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

/* Keep descriptions and bottom links aligned */
.assa-programme-detail-card p {
    flex-grow: 1;
}

.assa-programme-detail-card > span:last-child {
    margin-top: auto;
}

/* Allow natural title height when cards become single-column */
@media screen and (max-width: 575px) {
    .assa-programme-detail-card h3 {
        min-height: 0;
    }

    .assa-programme-detail-image {
        height: 210px;
        flex-basis: 210px;
    }
}
/* =========================================================
   COE – SIDE-BY-SIDE CONTENT AND IMAGE SECTIONS
   ========================================================= */

/* ---------- Core Capabilities introduction ---------- */

.assa-coe-capabilities-lead {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 0.95fr);
    align-items: center;
    gap: 48px;
    margin-bottom: 46px;
}

    .assa-coe-capabilities-lead .assa-coe-heading {
        margin: 0;
        max-width: 620px;
    }

.assa-coe-pathway-image {
    width: 100%;
    height: 340px;
    overflow: hidden;
    border-radius: 22px;
    background: #e9f0f4;
    box-shadow: 0 16px 38px rgba(8, 46, 76, 0.12);
}

    .assa-coe-pathway-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


/* ---------- Wider Impact section ---------- */

.assa-coe-impact-box {
    display: grid;
    grid-template-columns: minmax(380px, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 48px;
    padding: 42px;
    overflow: hidden;
    border-radius: 26px;
}

.assa-coe-impact-image {
    width: 100%;
    height: 360px;
    overflow: hidden;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.1);
}

    .assa-coe-impact-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

.assa-coe-impact-content {
    min-width: 0;
}

    .assa-coe-impact-content h2 {
        margin: 12px 0 18px;
        text-align: left;
    }

    .assa-coe-impact-content p {
        margin: 0;
        max-width: 620px;
        text-align: left;
    }


/* ---------- Tablet ---------- */

@media screen and (max-width: 991px) {

    .assa-coe-capabilities-lead,
    .assa-coe-impact-box {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .assa-coe-pathway-image,
    .assa-coe-impact-image {
        height: 360px;
    }

    .assa-coe-impact-box {
        padding: 32px;
    }
}


/* ---------- Mobile ---------- */

@media screen and (max-width: 575px) {

    .assa-coe-capabilities-lead {
        gap: 24px;
        margin-bottom: 32px;
    }

    .assa-coe-pathway-image,
    .assa-coe-impact-image {
        height: 240px;
        border-radius: 16px;
    }

    .assa-coe-impact-box {
        gap: 24px;
        padding: 22px;
        border-radius: 20px;
    }

    .assa-coe-impact-content h2 {
        font-size: 2rem;
    }
}
/* =========================================================
   SOCIAL IMPACT PAGE
   ========================================================= */

.assa-impact-page,
.assa-impact-page * {
    box-sizing: border-box;
}

.assa-impact-page {
    width: 100%;
    overflow-x: hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.assa-impact-hero {
    padding: 72px 0;
    background: linear-gradient( 135deg, var(--assa-blue-dark) 0%, var(--assa-blue) 100% );
    color: #fff;
}

.assa-impact-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(440px, 0.92fr);
    align-items: center;
    gap: 58px;
}

.assa-impact-hero .assa-page-hero-copy {
    min-width: 0;
}

.assa-impact-hero .assa-eyebrow {
    margin: 0 0 14px;
    color: var(--assa-gold);
}

.assa-impact-hero h1 {
    margin: 0 0 22px;
    color: #fff;
    font-size: clamp(3rem, 5vw, 4.8rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.assa-impact-hero .assa-page-hero-copy > p:not(.assa-eyebrow) {
    max-width: 700px;
    margin: 0 0 16px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1rem;
    line-height: 1.75;
}

.assa-impact-hero-visual {
    position: relative;
    min-width: 0;
    padding-bottom: 76px;
}

.assa-impact-hero-image {
    width: 100%;
    height: 410px;
    overflow: hidden;
    border-radius: 24px;
    background: #e9f0f4;
    box-shadow: 0 24px 55px rgba(0, 0, 0, 0.2);
}

    .assa-impact-hero-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

.assa-impact-hero-panel {
    position: absolute;
    right: 26px;
    bottom: 0;
    left: 26px;
    padding: 24px 28px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 15px 35px rgba(5, 38, 64, 0.22);
}

    .assa-impact-hero-panel .assa-page-hero-panel-label {
        margin: 0 0 6px;
        color: var(--assa-gold-dark);
        font-size: 0.72rem;
        font-weight: 900;
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }

    .assa-impact-hero-panel h2 {
        margin: 0 0 8px;
        color: var(--assa-blue-dark);
        font-size: 1.65rem;
        line-height: 1.15;
    }

    .assa-impact-hero-panel > p:last-child {
        margin: 0;
        color: #516371;
        font-size: 0.86rem;
        line-height: 1.6;
    }


/* =========================================================
   COMMON SECTION HEADING
   ========================================================= */

.assa-impact-section {
    padding: 76px 0;
    background: #fff;
}

.assa-impact-section-heading {
    max-width: 820px;
    margin-bottom: 38px;
}

    .assa-impact-section-heading .assa-eyebrow {
        margin: 0 0 9px;
    }

    .assa-impact-section-heading h2 {
        margin: 0 0 15px;
        color: var(--assa-blue-dark);
        font-size: clamp(2rem, 3.5vw, 3.2rem);
        line-height: 1.08;
        letter-spacing: -0.025em;
    }

    .assa-impact-section-heading > p:not(.assa-eyebrow) {
        margin: 0;
        color: #526573;
        line-height: 1.75;
    }


/* =========================================================
   IMPACT PATHWAY CARDS
   ========================================================= */

.assa-impact-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.assa-impact-card {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(8, 46, 76, 0.07);
    color: inherit;
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

    .assa-impact-card:hover {
        transform: translateY(-5px);
        border-color: rgba(242, 158, 26, 0.55);
        box-shadow: 0 18px 42px rgba(8, 46, 76, 0.13);
    }

.assa-impact-card-image {
    width: 100%;
    height: 225px;
    flex: 0 0 225px;
    overflow: hidden;
    background: #e9f0f4;
}

    .assa-impact-card-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: transform 0.35s ease;
    }

.assa-impact-card:hover .assa-impact-card-image img {
    transform: scale(1.035);
}

.assa-impact-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px;
}

.assa-impact-card-number {
    margin-bottom: 9px;
    color: var(--assa-gold-dark);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.assa-impact-card h3 {
    margin: 0 0 12px;
    color: var(--assa-blue-dark);
    font-size: 1.45rem;
    line-height: 1.2;
}

.assa-impact-card p {
    flex: 1;
    margin: 0 0 20px;
    color: var(--assa-muted);
    font-size: 0.9rem;
    line-height: 1.68;
}

.assa-impact-card-link {
    margin-top: auto;
    color: var(--assa-blue);
    font-size: 0.83rem;
    font-weight: 900;
}

.assa-impact-card:hover .assa-impact-card-link {
    color: var(--assa-gold-dark);
}


/* =========================================================
   HIGHLIGHT STATISTICS
   ========================================================= */

.assa-impact-highlights {
    background: #f3f8fb;
}

.assa-impact-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.assa-impact-stat-card {
    position: relative;
    min-width: 0;
    padding: 30px 25px;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 7px 24px rgba(8, 46, 76, 0.05);
}

    .assa-impact-stat-card::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: 5px;
        background: var(--assa-gold);
    }

.assa-impact-stat-number {
    display: block;
    margin-bottom: 12px;
    color: var(--assa-blue-dark);
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.035em;
}

.assa-impact-stat-card h3 {
    margin: 0 0 9px;
    color: var(--assa-blue-dark);
    font-size: 1rem;
    line-height: 1.3;
}

.assa-impact-stat-card p {
    margin: 0;
    color: var(--assa-muted);
    font-size: 0.85rem;
    line-height: 1.6;
}


/* =========================================================
   SOURCE NOTE
   ========================================================= */

.assa-impact-source {
    padding: 28px 0 65px;
    background: #f3f8fb;
}

.assa-impact-source-box {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    max-width: 930px;
    padding: 20px 22px;
    border: 1px solid var(--assa-line);
    border-radius: 16px;
    background: #fff;
}

.assa-impact-source-icon {
    display: flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--assa-blue-dark);
    color: #fff;
    font-family: Georgia, serif;
    font-size: 1rem;
    font-weight: 700;
}

.assa-impact-source-box p {
    margin: 3px 0 0;
    color: #536674;
    font-size: 0.85rem;
    line-height: 1.65;
}


/* =========================================================
   RESPONSIVE – TABLET
   ========================================================= */

@media screen and (max-width: 991px) {

    .assa-impact-hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 40px;
    }

    .assa-impact-hero-visual {
        max-width: 720px;
    }

    .assa-impact-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-impact-card:last-child {
        grid-column: span 2;
        max-width: calc(50% - 11px);
        justify-self: center;
    }

    .assa-impact-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   RESPONSIVE – MOBILE
   ========================================================= */

@media screen and (max-width: 575px) {

    .assa-impact-hero {
        padding: 50px 0;
    }

        .assa-impact-hero h1 {
            font-size: 2.65rem;
        }

    .assa-impact-hero-visual {
        padding-bottom: 0;
    }

    .assa-impact-hero-image {
        height: 260px;
        border-radius: 18px 18px 0 0;
    }

    .assa-impact-hero-panel {
        position: static;
        padding: 22px;
        border-radius: 0 0 18px 18px;
    }

    .assa-impact-section {
        padding: 55px 0;
    }

    .assa-impact-section-heading {
        margin-bottom: 28px;
    }

    .assa-impact-links,
    .assa-impact-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .assa-impact-card:last-child {
        grid-column: auto;
        max-width: none;
    }

    .assa-impact-card-image {
        height: 220px;
        flex-basis: 220px;
    }

    .assa-impact-source {
        padding-bottom: 50px;
    }
}
/* =========================================================
   SOCIAL IMPACT – REACH PAGE
   ========================================================= */

.assa-reach-page,
.assa-reach-page * {
    box-sizing: border-box;
}

.assa-reach-page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.assa-reach-hero {
    padding: 70px 0;
    background: linear-gradient( 135deg, var(--assa-blue-dark) 0%, var(--assa-blue) 100% );
    color: #fff;
}

.assa-reach-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(430px, 0.92fr);
    align-items: center;
    gap: 56px;
}

.assa-reach-hero .assa-page-hero-copy {
    min-width: 0;
}

.assa-reach-hero .assa-eyebrow {
    margin: 0 0 14px;
    color: var(--assa-gold);
}

.assa-reach-hero h1 {
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(3rem, 5vw, 4.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.assa-reach-hero .assa-page-hero-copy > p:not(.assa-eyebrow) {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1rem;
    line-height: 1.75;
}

.assa-reach-hero-visual {
    position: relative;
    min-width: 0;
    padding-bottom: 74px;
}

.assa-reach-hero-image {
    width: 100%;
    height: 395px;
    overflow: hidden;
    border-radius: 24px;
    background: #e8f0f4;
    box-shadow: 0 24px 55px rgba(0, 0, 0, 0.2);
}

    .assa-reach-hero-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

.assa-reach-hero-panel {
    position: absolute;
    right: 25px;
    bottom: 0;
    left: 25px;
    padding: 22px 26px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 16px 35px rgba(5, 38, 64, 0.22);
}

    .assa-reach-hero-panel .assa-page-hero-panel-label {
        margin: 0 0 5px;
        color: var(--assa-gold-dark);
        font-size: 0.7rem;
        font-weight: 900;
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }

    .assa-reach-hero-panel h2 {
        margin: 0 0 6px;
        color: var(--assa-blue-dark);
        font-size: 2rem;
        line-height: 1;
    }

    .assa-reach-hero-panel > p:last-child {
        margin: 0;
        color: #526573;
        font-size: 0.84rem;
        line-height: 1.55;
    }


/* =========================================================
   COMMON SECTIONS
   ========================================================= */

.assa-reach-section {
    padding: 72px 0;
    background: #fff;
}

.assa-reach-section-heading {
    max-width: 850px;
    margin-bottom: 36px;
}

    .assa-reach-section-heading .assa-eyebrow {
        margin: 0 0 9px;
    }

    .assa-reach-section-heading h2,
    .assa-reach-capacity-copy h2,
    .assa-reach-demographics-content > h2 {
        margin: 0 0 15px;
        color: var(--assa-blue-dark);
        font-size: clamp(2rem, 3.5vw, 3.1rem);
        line-height: 1.08;
        letter-spacing: -0.025em;
    }

    .assa-reach-section-heading > p:not(.assa-eyebrow),
    .assa-reach-capacity-copy > p:not(.assa-eyebrow) {
        margin: 0;
        color: #526573;
        line-height: 1.75;
    }


/* =========================================================
   REACH STATISTICS
   ========================================================= */

.assa-reach-overview {
    background: #fff;
}

.assa-reach-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.assa-reach-stat-card {
    position: relative;
    min-width: 0;
    padding: 28px 24px;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 7px 24px rgba(8, 46, 76, 0.06);
}

    .assa-reach-stat-card::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: 5px;
        background: var(--assa-gold);
    }

.assa-reach-stat-number {
    display: block;
    margin-bottom: 12px;
    color: var(--assa-blue-dark);
    font-size: clamp(1.9rem, 2.8vw, 2.65rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.035em;
}

.assa-reach-stat-card h3 {
    margin: 0 0 9px;
    color: var(--assa-blue-dark);
    font-size: 1rem;
    line-height: 1.3;
}

.assa-reach-stat-card p {
    margin: 0;
    color: var(--assa-muted);
    font-size: 0.85rem;
    line-height: 1.6;
}


/* =========================================================
   CORE PROGRAMMES
   ========================================================= */

.assa-reach-programmes {
    background: #f3f8fb;
}

.assa-reach-programme-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.assa-reach-programme-card {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(8, 46, 76, 0.07);
}

.assa-reach-programme-image {
    width: 100%;
    height: 225px;
    flex: 0 0 225px;
    overflow: hidden;
    background: #e8f0f4;
}

    .assa-reach-programme-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

.assa-reach-programme-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px;
}

.assa-reach-programme-label {
    margin-bottom: 8px;
    color: var(--assa-gold-dark);
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.assa-reach-programme-card h3 {
    margin: 0 0 12px;
    color: var(--assa-blue-dark);
    font-size: 2.35rem;
    line-height: 1;
    letter-spacing: -0.035em;
}

.assa-reach-programme-card p {
    margin: 0;
    color: var(--assa-muted);
    font-size: 0.88rem;
    line-height: 1.68;
}


/* =========================================================
   CAPACITY BUILDING
   ========================================================= */

.assa-reach-capacity {
    background: #fff;
}

.assa-reach-capacity-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 0.9fr);
    align-items: center;
    gap: 48px;
    margin-bottom: 42px;
}

.assa-reach-capacity-copy {
    min-width: 0;
}

.assa-reach-capacity-image {
    width: 100%;
    height: 320px;
    overflow: hidden;
    border-radius: 22px;
    background: #e8f0f4;
    box-shadow: 0 14px 34px rgba(8, 46, 76, 0.1);
}

    .assa-reach-capacity-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

.assa-reach-capacity-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.assa-reach-capacity-card {
    position: relative;
    min-width: 0;
    padding: 25px;
    border: 1px solid var(--assa-line);
    border-radius: 18px;
    background: #f8fbfd;
}

    .assa-reach-capacity-card > span {
        display: block;
        margin-bottom: 9px;
        color: var(--assa-gold-dark);
        font-size: 0.7rem;
        font-weight: 900;
        letter-spacing: 0.1em;
    }

    .assa-reach-capacity-card h3 {
        margin: 0 0 9px;
        color: var(--assa-blue-dark);
        font-size: 1.85rem;
        line-height: 1;
    }

    .assa-reach-capacity-card p {
        margin: 0;
        color: var(--assa-muted);
        font-size: 0.85rem;
        line-height: 1.6;
    }


/* =========================================================
   WHO WE REACH
   ========================================================= */

.assa-reach-demographics {
    background: #f3f8fb;
}

.assa-reach-demographics-grid {
    display: grid;
    grid-template-columns: minmax(390px, 0.92fr) minmax(0, 1fr);
    align-items: center;
    gap: 50px;
}

.assa-reach-demographics-visual,
.assa-reach-demographics-content {
    min-width: 0;
}

.assa-reach-demographics-image {
    width: 100%;
    height: 470px;
    overflow: hidden;
    border-radius: 24px;
    background: #e8f0f4;
    box-shadow: 0 15px 36px rgba(8, 46, 76, 0.11);
}

    .assa-reach-demographics-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

.assa-reach-demographics-caption {
    margin: 14px 8px 0;
    color: #647581;
    font-size: 0.78rem;
    line-height: 1.55;
}

.assa-reach-demographics-content > .assa-eyebrow {
    margin: 0 0 9px;
}

.assa-reach-demographics-cards {
    display: grid;
    gap: 14px;
    margin-top: 28px;
}

.assa-reach-demographic-card {
    padding: 21px 23px;
    border: 1px solid var(--assa-line);
    border-left: 5px solid var(--assa-gold);
    border-radius: 15px;
    background: #fff;
}

    .assa-reach-demographic-card h3 {
        margin: 0 0 7px;
        color: var(--assa-blue-dark);
        font-size: 1.2rem;
        line-height: 1.25;
    }

    .assa-reach-demographic-card p {
        margin: 0;
        color: var(--assa-muted);
        font-size: 0.86rem;
        line-height: 1.62;
    }


/* =========================================================
   SOURCE AND BACK LINK
   ========================================================= */

.assa-reach-source {
    padding: 32px 0 65px;
    background: #f3f8fb;
}

.assa-reach-source-box {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    max-width: 960px;
    padding: 20px 22px;
    border: 1px solid var(--assa-line);
    border-radius: 16px;
    background: #fff;
}

.assa-reach-source-icon {
    display: flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--assa-blue-dark);
    color: #fff;
    font-family: Georgia, serif;
    font-size: 1rem;
    font-weight: 700;
}

.assa-reach-source-box p {
    margin: 3px 0 0;
    color: #536674;
    font-size: 0.85rem;
    line-height: 1.65;
}

.assa-impact-back-wrap {
    margin: 27px 0 0;
}

.assa-impact-back {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #FFFFFF;
    font-size: 0.86rem;
    font-weight: 900;
    text-decoration: none;
}

    .assa-impact-back:hover {
        color: var(--assa-gold-dark);
    }


/* =========================================================
   RESPONSIVE – TABLET
   ========================================================= */

@media screen and (max-width: 991px) {

    .assa-reach-hero-grid,
    .assa-reach-capacity-intro,
    .assa-reach-demographics-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

    .assa-reach-hero-visual {
        max-width: 720px;
    }

    .assa-reach-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-reach-programme-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-reach-programme-card:last-child {
        grid-column: span 2;
        width: calc(50% - 11px);
        justify-self: center;
    }

    .assa-reach-capacity-image {
        max-width: 720px;
    }

    .assa-reach-capacity-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-reach-demographics-visual {
        max-width: 720px;
    }

    .assa-reach-demographics-image {
        height: 390px;
    }
}


/* =========================================================
   RESPONSIVE – MOBILE
   ========================================================= */

@media screen and (max-width: 575px) {

    .assa-reach-hero {
        padding: 48px 0;
    }

        .assa-reach-hero h1 {
            font-size: 2.65rem;
        }

    .assa-reach-hero-visual {
        padding-bottom: 0;
    }

    .assa-reach-hero-image {
        height: 250px;
        border-radius: 18px 18px 0 0;
    }

    .assa-reach-hero-panel {
        position: static;
        padding: 21px;
        border-radius: 0 0 18px 18px;
    }

    .assa-reach-section {
        padding: 54px 0;
    }

    .assa-reach-stat-grid,
    .assa-reach-programme-grid,
    .assa-reach-capacity-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .assa-reach-programme-card:last-child {
        grid-column: auto;
        width: 100%;
    }

    .assa-reach-programme-image {
        height: 220px;
        flex-basis: 220px;
    }

    .assa-reach-capacity-image {
        height: 245px;
        border-radius: 17px;
    }

    .assa-reach-demographics-image {
        height: 300px;
        border-radius: 18px;
    }

    .assa-reach-source {
        padding-bottom: 50px;
    }
}
/* =========================================================
   SOCIAL IMPACT – OUTCOMES PAGE
   ========================================================= */

.assa-outcomes-page,
.assa-outcomes-page * {
    box-sizing: border-box;
}

.assa-outcomes-page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.assa-outcomes-hero {
    padding: 70px 0;
    color: #fff;
    background: linear-gradient( 135deg, var(--assa-blue-dark) 0%, var(--assa-blue) 100% );
}

.assa-outcomes-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(430px, 0.92fr);
    align-items: center;
    gap: 56px;
}

.assa-outcomes-hero .assa-eyebrow {
    margin: 0 0 14px;
    color: var(--assa-gold);
}

.assa-outcomes-hero h1 {
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(3rem, 5vw, 4.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.assa-outcomes-hero .assa-page-hero-copy > p:not(.assa-eyebrow) {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.75;
}

.assa-outcomes-hero-visual {
    position: relative;
    min-width: 0;
    padding-bottom: 75px;
}

.assa-outcomes-hero-image {
    width: 100%;
    height: 390px;
    overflow: hidden;
    border-radius: 24px;
    background: #e8f0f4;
    box-shadow: 0 24px 55px rgba(0, 0, 0, 0.2);
}

    .assa-outcomes-hero-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        background: #fff;
    }

.assa-outcomes-hero-panel {
    position: absolute;
    right: 25px;
    bottom: 0;
    left: 25px;
    padding: 22px 26px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 16px 35px rgba(5, 38, 64, 0.22);
}

    .assa-outcomes-hero-panel .assa-page-hero-panel-label {
        margin: 0 0 5px;
        color: var(--assa-gold-dark);
        font-size: 0.7rem;
        font-weight: 900;
        letter-spacing: 0.09em;
        text-transform: uppercase;
    }

    .assa-outcomes-hero-panel h2 {
        margin: 0 0 7px;
        color: var(--assa-blue-dark);
        font-size: 2rem;
        line-height: 1;
    }

    .assa-outcomes-hero-panel > p:last-child {
        margin: 0;
        color: #526573;
        font-size: 0.84rem;
        line-height: 1.55;
    }


/* =========================================================
   COMMON SECTIONS
   ========================================================= */

.assa-outcomes-section {
    padding: 72px 0;
    background: #fff;
}

.assa-outcomes-heading {
    max-width: 840px;
    margin-bottom: 36px;
}

    .assa-outcomes-heading .assa-eyebrow,
    .assa-outcomes-feature-copy .assa-eyebrow,
    .assa-outcomes-family-content .assa-eyebrow {
        margin: 0 0 9px;
    }

    .assa-outcomes-heading h2,
    .assa-outcomes-feature-copy h2,
    .assa-outcomes-family-content > h2 {
        margin: 0 0 15px;
        color: var(--assa-blue-dark);
        font-size: clamp(2rem, 3.5vw, 3.1rem);
        line-height: 1.08;
        letter-spacing: -0.025em;
    }

    .assa-outcomes-heading > p:not(.assa-eyebrow),
    .assa-outcomes-feature-copy > p:not(.assa-eyebrow),
    .assa-outcomes-family-intro {
        margin: 0;
        color: #526573;
        line-height: 1.75;
    }


/* =========================================================
   KEY OUTCOMES
   ========================================================= */

.assa-outcomes-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.assa-outcomes-stat-card {
    position: relative;
    min-width: 0;
    padding: 28px 24px;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 7px 24px rgba(8, 46, 76, 0.06);
}

    .assa-outcomes-stat-card::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: 5px;
        background: var(--assa-gold);
    }

.assa-outcomes-stat-number {
    display: block;
    margin-bottom: 12px;
    color: var(--assa-blue-dark);
    font-size: 2.55rem;
    font-weight: 900;
    line-height: 1;
}

.assa-outcomes-stat-card h3 {
    margin: 0 0 9px;
    color: var(--assa-blue-dark);
    font-size: 1rem;
}

.assa-outcomes-stat-card p {
    margin: 0;
    color: var(--assa-muted);
    font-size: 0.85rem;
    line-height: 1.6;
}


/* =========================================================
   FEATURE INTRODUCTION
   ========================================================= */

.assa-outcomes-rehabilitation,
.assa-outcomes-family,
.assa-outcomes-quality {
    background: #f3f8fb;
}

.assa-outcomes-feature {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 0.9fr);
    align-items: center;
    gap: 48px;
    margin-bottom: 40px;
}

.assa-outcomes-feature-reverse {
    grid-template-columns: minmax(0, 1fr) minmax(390px, 0.9fr);
}

.assa-outcomes-feature-copy,
.assa-outcomes-feature-image {
    min-width: 0;
}

.assa-outcomes-feature-image {
    width: 100%;
    height: 330px;
    overflow: hidden;
    border-radius: 22px;
    background: #e8f0f4;
    box-shadow: 0 14px 34px rgba(8, 46, 76, 0.1);
}

    .assa-outcomes-feature-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


/* =========================================================
   RESULT CARDS
   ========================================================= */

.assa-outcomes-result-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.assa-outcomes-result-card {
    min-width: 0;
    padding: 26px;
    border: 1px solid var(--assa-line);
    border-left: 5px solid var(--assa-gold);
    border-radius: 18px;
    background: #fff;
}

    .assa-outcomes-result-card h3 {
        margin: 0 0 11px;
        color: var(--assa-blue-dark);
        font-size: 2.3rem;
        line-height: 1;
    }

    .assa-outcomes-result-card p {
        margin: 0;
        color: var(--assa-muted);
        font-size: 0.88rem;
        line-height: 1.65;
    }


/* =========================================================
   EDUCATION AND SKILLS
   ========================================================= */

.assa-outcomes-education {
    background: #fff;
}

.assa-outcomes-programme-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.assa-outcomes-programme-card {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(8, 46, 76, 0.07);
}

.assa-outcomes-programme-image {
    width: 100%;
    height: 225px;
    flex: 0 0 225px;
    overflow: hidden;
    background: #e8f0f4;
}

    .assa-outcomes-programme-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

.assa-outcomes-programme-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px;
}

    .assa-outcomes-programme-content > span {
        margin-bottom: 8px;
        color: var(--assa-gold-dark);
        font-size: 0.7rem;
        font-weight: 900;
        letter-spacing: 0.09em;
        text-transform: uppercase;
    }

    .assa-outcomes-programme-content h3 {
        margin: 0 0 12px;
        color: var(--assa-blue-dark);
        font-size: 1.65rem;
        line-height: 1.15;
    }

    .assa-outcomes-programme-content p {
        margin: 0;
        color: var(--assa-muted);
        font-size: 0.88rem;
        line-height: 1.65;
    }


/* =========================================================
   FAMILY OUTCOMES
   ========================================================= */

.assa-outcomes-family-grid {
    display: grid;
    grid-template-columns: minmax(390px, 0.9fr) minmax(0, 1fr);
    align-items: center;
    gap: 50px;
}

.assa-outcomes-family-image {
    width: 100%;
    height: 460px;
    overflow: hidden;
    border-radius: 24px;
    background: #e8f0f4;
    box-shadow: 0 15px 36px rgba(8, 46, 76, 0.11);
}

    .assa-outcomes-family-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

.assa-outcomes-family-cards {
    display: grid;
    gap: 14px;
    margin-top: 27px;
}

    .assa-outcomes-family-cards article {
        padding: 20px 22px;
        border: 1px solid var(--assa-line);
        border-left: 5px solid var(--assa-gold);
        border-radius: 15px;
        background: #fff;
    }

    .assa-outcomes-family-cards h3 {
        margin: 0 0 7px;
        color: var(--assa-blue-dark);
        font-size: 1.8rem;
        line-height: 1;
    }

    .assa-outcomes-family-cards p {
        margin: 0;
        color: var(--assa-muted);
        font-size: 0.86rem;
        line-height: 1.6;
    }


/* =========================================================
   SOURCE
   ========================================================= */

.assa-outcomes-source {
    padding: 32px 0 65px;
    background: #f3f8fb;
}

.assa-outcomes-source-box {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    max-width: 960px;
    padding: 20px 22px;
    border: 1px solid var(--assa-line);
    border-radius: 16px;
    background: #fff;
}

.assa-outcomes-source-icon {
    display: flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--assa-blue-dark);
    color: #fff;
    font-family: Georgia, serif;
    font-weight: 700;
}

.assa-outcomes-source-box p {
    margin: 3px 0 0;
    color: #536674;
    font-size: 0.85rem;
    line-height: 1.65;
}


/* =========================================================
   RESPONSIVE – TABLET
   ========================================================= */

@media screen and (max-width: 991px) {

    .assa-outcomes-hero-grid,
    .assa-outcomes-feature,
    .assa-outcomes-family-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

    .assa-outcomes-hero-visual,
    .assa-outcomes-feature-image,
    .assa-outcomes-family-image {
        max-width: 720px;
    }

    .assa-outcomes-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-outcomes-programme-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .assa-outcomes-programme-card:last-child {
        grid-column: span 2;
        width: calc(50% - 11px);
        justify-self: center;
    }

    .assa-outcomes-family-image {
        height: 390px;
    }
}


/* =========================================================
   RESPONSIVE – MOBILE
   ========================================================= */

@media screen and (max-width: 575px) {

    .assa-outcomes-hero {
        padding: 48px 0;
    }

        .assa-outcomes-hero h1 {
            font-size: 2.55rem;
        }

    .assa-outcomes-hero-visual {
        padding-bottom: 0;
    }

    .assa-outcomes-hero-image {
        height: 250px;
        border-radius: 18px 18px 0 0;
    }

    .assa-outcomes-hero-panel {
        position: static;
        padding: 21px;
        border-radius: 0 0 18px 18px;
    }

    .assa-outcomes-section {
        padding: 54px 0;
    }

    .assa-outcomes-stat-grid,
    .assa-outcomes-result-grid,
    .assa-outcomes-programme-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .assa-outcomes-programme-card:last-child {
        grid-column: auto;
        width: 100%;
    }

    .assa-outcomes-feature-image,
    .assa-outcomes-family-image {
        height: 260px;
        border-radius: 18px;
    }

    .assa-outcomes-programme-image {
        height: 220px;
        flex-basis: 220px;
    }

    .assa-outcomes-source {
        padding-bottom: 50px;
    }
}
/* =========================================================
   SOCIAL IMPACT – LASTING IMPACT PAGE
   ========================================================= */

.assa-lasting-impact-page,
.assa-lasting-impact-page * {
    box-sizing: border-box;
}

.assa-lasting-impact-page {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}


/* =========================================================
   HERO
   ========================================================= */

.assa-lasting-impact-hero {
    padding: 70px 0;
    color: #fff;
    background: linear-gradient( 135deg, var(--assa-blue-dark) 0%, var(--assa-blue) 100% );
}

.assa-lasting-impact-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(430px, 0.92fr);
    align-items: center;
    gap: 56px;
}

.assa-lasting-impact-hero .assa-eyebrow {
    margin: 0 0 14px;
    color: var(--assa-gold);
}

.assa-lasting-impact-hero h1 {
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(3rem, 5vw, 4.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.assa-lasting-impact-hero
.assa-page-hero-copy > p:not(.assa-eyebrow) {
    max-width: 690px;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.75;
}

.assa-lasting-impact-hero-visual {
    position: relative;
    min-width: 0;
    padding-bottom: 75px;
}

.assa-lasting-impact-hero-image {
    width: 100%;
    height: 390px;
    overflow: hidden;
    border-radius: 24px;
    background: #e8f0f4;
    box-shadow: 0 24px 55px rgba(0, 0, 0, 0.2);
}

    .assa-lasting-impact-hero-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: fit;
        object-position: center;
    }

.assa-lasting-impact-hero-panel {
    position: absolute;
    right: 25px;
    bottom: 0;
    left: 25px;
    padding: 22px 26px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 16px 35px rgba(5, 38, 64, 0.22);
}

    .assa-lasting-impact-hero-panel
    .assa-page-hero-panel-label {
        margin: 0 0 5px;
        color: var(--assa-gold-dark);
        font-size: 0.7rem;
        font-weight: 900;
        letter-spacing: 0.1em;
        text-transform: uppercase;
    }

    .assa-lasting-impact-hero-panel h2 {
        margin: 0 0 7px;
        color: var(--assa-blue-dark);
        font-size: 2rem;
        line-height: 1;
    }

    .assa-lasting-impact-hero-panel > p:last-child {
        margin: 0;
        color: #526573;
        font-size: 0.84rem;
        line-height: 1.55;
    }


/* =========================================================
   COMMON SECTIONS
   ========================================================= */

.assa-lasting-impact-section {
    padding: 72px 0;
    background: #fff;
}

.assa-lasting-impact-alt {
    background: #f3f8fb;
}

.assa-lasting-impact-heading {
    max-width: 840px;
    margin-bottom: 36px;
}

    .assa-lasting-impact-heading .assa-eyebrow,
    .assa-lasting-impact-feature-copy .assa-eyebrow {
        margin: 0 0 9px;
    }

    .assa-lasting-impact-heading h2,
    .assa-lasting-impact-feature-copy h2 {
        margin: 0 0 15px;
        color: var(--assa-blue-dark);
        font-size: clamp(2rem, 3.5vw, 3.1rem);
        line-height: 1.08;
        letter-spacing: -0.025em;
    }

    .assa-lasting-impact-heading > p:not(.assa-eyebrow),
    .assa-lasting-impact-feature-copy > p:not(.assa-eyebrow) {
        margin: 0 0 13px;
        color: #526573;
        line-height: 1.75;
    }


/* =========================================================
   IMPACT STATISTICS
   ========================================================= */

.assa-lasting-impact-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.assa-lasting-impact-stat {
    position: relative;
    min-width: 0;
    padding: 28px 24px;
    overflow: hidden;
    border: 1px solid var(--assa-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 7px 24px rgba(8, 46, 76, 0.06);
}

    .assa-lasting-impact-stat::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: 5px;
        background: var(--assa-gold);
    }

    .assa-lasting-impact-stat > span {
        display: block;
        margin-bottom: 12px;
        color: var(--assa-blue-dark);
        font-size: 2.5rem;
        font-weight: 900;
        line-height: 1;
    }

    .assa-lasting-impact-stat h3 {
        margin: 0 0 9px;
        color: var(--assa-blue-dark);
        font-size: 1rem;
    }

    .assa-lasting-impact-stat p {
        margin: 0;
        color: var(--assa-muted);
        font-size: 0.85rem;
        line-height: 1.6;
    }


/* =========================================================
   FEATURE IMAGE AND COPY
   ========================================================= */

.assa-lasting-impact-feature {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(390px, 0.9fr);
    align-items: center;
    gap: 48px;
    margin-bottom: 40px;
}

.assa-lasting-impact-feature-reverse {
    grid-template-columns: minmax(390px, 0.9fr) minmax(0, 1fr);
}

.assa-lasting-impact-feature-copy,
.assa-lasting-impact-feature-image {
    min-width: 0;
}

.assa-lasting-impact-feature-image {
    width: 100%;
    height: 340px;
    overflow: hidden;
    border-radius: 22px;
    background: #e8f0f4;
    box-shadow: 0 14px 34px rgba(8, 46, 76, 0.1);
}

    .assa-lasting-impact-feature-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }


/* =========================================================
   IMPACT CARDS
   ========================================================= */

.assa-lasting-impact-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.assa-lasting-impact-card {
    min-width: 0;
    padding: 25px;
    border: 1px solid var(--assa-line);
    border-left: 5px solid var(--assa-gold);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(8, 46, 76, 0.04);
}

    .assa-lasting-impact-card > span {
        display: block;
        margin-bottom: 9px;
        color: var(--assa-gold-dark);
        font-size: 0.72rem;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .assa-lasting-impact-card h3 {
        margin: 0 0 10px;
        color: var(--assa-blue-dark);
        font-size: 1.2rem;
        line-height: 1.25;
    }

    .assa-lasting-impact-card p {
        margin: 0;
        color: var(--assa-muted);
        font-size: 0.87rem;
        line-height: 1.65;
    }


/* =========================================================
   SOURCE
   ========================================================= */

.assa-lasting-impact-source {
    padding: 32px 0 65px;
    background: #f3f8fb;
}

.assa-lasting-impact-source-box {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    max-width: 960px;
    padding: 20px 22px;
    border: 1px solid var(--assa-line);
    border-radius: 16px;
    background: #fff;
}

.assa-lasting-impact-source-icon {
    display: flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--assa-blue-dark);
    color: #fff;
    font-family: Georgia, serif;
    font-weight: 700;
}

.assa-lasting-impact-source-box p {
    margin: 3px 0 0;
    color: #536674;
    font-size: 0.85rem;
    line-height: 1.65;
}


/* =========================================================
   RESPONSIVE – TABLET
   ========================================================= */

@media screen and (max-width: 991px) {

    .assa-lasting-impact-hero-grid,
    .assa-lasting-impact-feature,
    .assa-lasting-impact-feature-reverse {
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

    .assa-lasting-impact-hero-visual,
    .assa-lasting-impact-feature-image {
        max-width: 720px;
    }

    .assa-lasting-impact-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   RESPONSIVE – MOBILE
   ========================================================= */

@media screen and (max-width: 575px) {

    .assa-lasting-impact-hero {
        padding: 48px 0;
    }

        .assa-lasting-impact-hero h1 {
            font-size: 2.55rem;
        }

    .assa-lasting-impact-hero-visual {
        padding-bottom: 0;
    }

    .assa-lasting-impact-hero-image {
        height: 250px;
        border-radius: 18px 18px 0 0;
    }

    .assa-lasting-impact-hero-panel {
        position: static;
        padding: 21px;
        border-radius: 0 0 18px 18px;
    }

    .assa-lasting-impact-section {
        padding: 54px 0;
    }

    .assa-lasting-impact-stat-grid,
    .assa-lasting-impact-card-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .assa-lasting-impact-feature-image {
        height: 260px;
        border-radius: 18px;
    }

    .assa-lasting-impact-source {
        padding-bottom: 50px;
    }
}
/* =========================================================
   FIX: HOME SOCIAL IMPACT CARD CONTENT
   Keep this at the END of site.css
   ========================================================= */

.assa-social-impact .assa-impact-panel {
    visibility: hidden;
    display: none;
    opacity: 0;
}

    .assa-social-impact .assa-impact-panel.active {
        visibility: visible;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px;
        opacity: 1;
    }


    /* Restore complete card content */

    .assa-social-impact .assa-impact-panel .assa-impact-card {
        display: flex !important;
        flex-direction: column !important;
        width: 100%;
        min-width: 0;
        min-height: 205px;
        padding: 25px 22px;
        overflow: visible !important;
        border: 1px solid #d9e4eb;
        border-radius: 20px;
        background: #ffffff !important;
        color: #435968 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }


        /* Number */

        .assa-social-impact .assa-impact-panel .assa-impact-card > b {
            display: block !important;
            margin: 0 0 18px !important;
            padding: 0 !important;
            color: #f5a11d !important;
            font-size: clamp(2rem, 3vw, 2.65rem) !important;
            font-weight: 900 !important;
            line-height: 1 !important;
            letter-spacing: -0.035em;
            opacity: 1 !important;
            visibility: visible !important;
        }


        /* Card heading */

        .assa-social-impact .assa-impact-panel .assa-impact-card > strong {
            display: block !important;
            margin: 0 0 8px !important;
            padding: 0 !important;
            color: #073f68 !important;
            font-family: inherit !important;
            font-size: 1rem !important;
            font-weight: 800 !important;
            line-height: 1.4 !important;
            letter-spacing: 0 !important;
            text-transform: none !important;
            opacity: 1 !important;
            visibility: visible !important;
        }


        /* Card description */

        .assa-social-impact .assa-impact-panel .assa-impact-card > span {
            display: block !important;
            position: static !important;
            width: auto !important;
            height: auto !important;
            margin: auto 0 0 !important;
            padding: 0 !important;
            overflow: visible !important;
            clip: auto !important;
            white-space: normal !important;
            color: #647887 !important;
            font-family: inherit !important;
            font-size: 0.86rem !important;
            font-weight: 400 !important;
            line-height: 1.55 !important;
            letter-spacing: 0 !important;
            text-indent: 0 !important;
            text-transform: none !important;
            opacity: 1 !important;
            visibility: visible !important;
        }


    /* Ensure hidden panels do not occupy space */

    .assa-social-impact
    .assa-impact-panel:not(.active)
    .assa-impact-card {
        display: none !important;
    }


/* Tablet */

@media screen and (max-width: 991px) {
    .assa-social-impact .assa-impact-panel.active {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* Mobile */

@media screen and (max-width: 575px) {
    .assa-social-impact .assa-impact-panel.active {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .assa-social-impact .assa-impact-panel .assa-impact-card {
        min-height: 0;
        padding: 22px 20px;
    }

        .assa-social-impact .assa-impact-panel .assa-impact-card > b {
            margin-bottom: 13px !important;
            font-size: 2.2rem !important;
        }

        .assa-social-impact .assa-impact-panel .assa-impact-card > span {
            margin-top: 3px !important;
        }
}