/* ==========================================================================
   SGCS | CAPABILITIES
   ==========================================================================
   File        : capability.css
   Version     : 5.0.0

   Capability overview page

   PHASE 4
   Refactored onto the SGCS foundation variables.

   Existing SGCS composition, selectors and responsive structure preserved.
   ========================================================================== */


/* ==========================================================================
   01. PAGE
========================================================================== */

.capability-page{

    overflow:hidden;

    background:var(--surface-default);

    color:var(--text-primary);

}


/* ==========================================================================
   02. HERO
========================================================================== */

.capability-hero{

    position:relative;

    min-height:78svh;

    display:flex;

    align-items:center;

    overflow:hidden;

    background:var(--surface-default);

}

.capability-hero::after{

    content:"";

    position:absolute;

    width:42rem;

    height:42rem;

    right:-18rem;

    top:-16rem;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(216,174,72,.10) 0%,
            rgba(216,174,72,0) 68%
        );

    pointer-events:none;

}

.capability-hero .container{

    position:relative;

    z-index:1;

}

.capability-hero__content{

    max-width:var(--content-editorial);

    padding-top:clamp(
        var(--space-128),
        13vw,
        var(--space-160)
    );

}

.capability-hero__title{

    max-width:var(--content-editorial);

    margin:0;

    font-family:var(--font-body);

    font-size:var(--display-xl);

    font-weight:var(--weight-regular);

    line-height:.88;

    letter-spacing:-.055em;

    color:var(--text-primary);

}

.capability-hero__lead{

    max-width:680px;

    margin:clamp(
        var(--space-32),
        4vw,
        var(--space-56)
    ) 0 0;

    font-family:var(--font-body);

    font-size:var(--body-xl);

    line-height:1.55;

    color:var(--text-secondary);

}

.capability-hero__statement{

    max-width:900px;

    margin:clamp(
        var(--space-80),
        10vw,
        var(--space-144)
    ) 0 0 auto;

    padding-bottom:clamp(
        var(--space-80),
        9vw,
        var(--space-128)
    );

}

.capability-hero__statement p{

    margin:0;

    font-family:var(--font-display);

    font-size:clamp(
        var(--h3),
        4vw,
        4.2rem
    );

    line-height:1.05;

    letter-spacing:-.035em;

    color:var(--text-secondary);

}

.capability-hero__statement span{

    color:var(--accent-burgundy);

}


/* ==========================================================================
   03. INTRODUCTION
========================================================================== */

.capability-intro{

    padding:var(--section-space-xl) 0;

    background:var(--surface-alt);

}

.capability-intro__grid{

    display:grid;

    grid-template-columns:120px minmax(0,1fr);

    gap:clamp(
        var(--space-48),
        7vw,
        var(--space-112)
    );

    max-width:1150px;

    margin:0 auto;

}

.capability-intro__number{

    padding-top:var(--space-8);

    font-family:var(--font-display);

    font-size:var(--display-lg);

    font-weight:var(--weight-light);

    line-height:1;

    color:var(--accent-burgundy);

}

.capability-intro__grid h2{

    max-width:900px;

    margin:0;

    font-family:var(--font-display);

    font-size:var(--display-lg);

    font-weight:var(--weight-regular);

    line-height:.94;

    letter-spacing:-.045em;

    color:var(--text-primary);

}

.capability-intro__grid p{

    max-width:720px;

    margin:var(--space-40) 0 0;

    font-family:var(--font-body);

    font-size:var(--body-xl);

    line-height:1.7;

    color:var(--text-secondary);

}


/* ==========================================================================
   04. CAPABILITY LIST
========================================================================== */

.capability-list{

    width:100%;

    background:var(--surface-default);

}


/* ==========================================================================
   05. CAPABILITY ITEM
========================================================================== */

.capability-item{

    display:grid;

    grid-template-columns:minmax(0,1fr) minmax(0,1fr);

    align-items:center;

    gap:clamp(
        var(--space-64),
        8vw,
        var(--space-144)
    );

    max-width:1440px;

    margin:0 auto;

    padding:
        clamp(
            var(--space-96),
            10vw,
            var(--space-160)
        )
        clamp(
            var(--space-32),
            5vw,
            var(--space-80)
        );

    border-bottom:var(--border-width) solid var(--border-light);

}


/* ==========================================================================
   06. CAPABILITY IMAGE
========================================================================== */

.capability-item__media{

    position:relative;

    width:100%;

    aspect-ratio:var(--ratio-square);

    overflow:hidden;

    background:var(--surface-alt);

}

.capability-item__media img{

    display:block;

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center center;

    opacity:.88;

    transform:scale(1);

    transition:
        transform var(--motion-editorial) cubic-bezier(.22,1,.36,1),
        opacity var(--motion-normal) ease;

}

.capability-item:hover .capability-item__media img{

    opacity:1;

    transform:scale(1.035);

}


/* ==========================================================================
   IMAGE LINK / KNOW MORE
   Supports the current image-led capability navigation.
========================================================================== */

.capability-item__media > a{

    position:absolute;

    inset:0;

    z-index:2;

    display:block;

    text-decoration:none;

}

.capability-item__know-more{

    position:absolute;

    right:var(--space-20);

    bottom:var(--space-20);

    z-index:3;

    display:inline-flex;

    align-items:center;

    gap:var(--space-8);

    padding:var(--space-8) var(--space-12);

    background:rgba(247,247,245,.84);

    border:var(--border-width) solid rgba(27,27,26,.12);

    color:var(--text-primary);

    font-family:var(--font-display);

    font-size:var(--caption);

    font-weight:var(--weight-medium);

    line-height:1;

    letter-spacing:.04em;

    text-decoration:none;

    backdrop-filter:blur(8px);

    -webkit-backdrop-filter:blur(8px);

    transition:
        background-color var(--transition-normal),
        color var(--transition-normal),
        transform var(--transition-normal);

}

.capability-item__know-more::after{

    content:"→";

    transition:transform var(--transition-normal);

}

.capability-item:hover .capability-item__know-more,

.capability-item__media > a:focus-visible .capability-item__know-more{

    background:rgba(106,52,49,.92);

    color:var(--text-inverse);

    transform:translateY(-2px);

}

.capability-item:hover .capability-item__know-more::after,

.capability-item__media > a:focus-visible .capability-item__know-more::after{

    transform:translateX(4px);

}


/* ==========================================================================
   07. CAPABILITY CONTENT
========================================================================== */

.capability-item__content{

    max-width:600px;

}

.capability-item__meta{

    display:flex;

    align-items:center;

    gap:var(--space-20);

    margin-bottom:var(--space-32);

    font-family:var(--font-display);

    font-size:var(--caption);

    font-weight:var(--weight-semibold);

    line-height:1;

    letter-spacing:var(--tracking-wide);

    text-transform:uppercase;

    color:var(--text-secondary);

}

.capability-item__meta span:first-child{

    color:var(--accent-burgundy);

}

.capability-item__meta span:last-child{

    padding-left:var(--space-20);

    border-left:var(--border-width) solid var(--border-medium);

}

.capability-item h2{

    max-width:620px;

    margin:0;

    font-family:var(--font-display);

    font-size:var(--h2);

    font-weight:var(--weight-regular);

    line-height:.94;

    letter-spacing:-.045em;

    color:var(--text-primary);

}

.capability-item h2 span{

    display:block;

    margin-top:.15em;

    color:var(--text-secondary);

}

.capability-item__content > p{

    max-width:540px;

    margin:var(--space-40) 0 0;

    font-family:var(--font-body);

    font-size:var(--body-xl);

    line-height:1.65;

    color:var(--text-secondary);

}

.capability-item .btn.btn-primary{

    margin-top:var(--space-40);

}


/* ==========================================================================
   08. ALTERNATING ORDER
========================================================================== */

.capability-item:nth-child(even) .capability-item__media{

    order:2;

}

.capability-item:nth-child(even) .capability-item__content{

    order:1;

}


/* ==========================================================================
   09. CONNECTION
========================================================================== */

.capability-connection{

    padding:var(--section-space-xl) 0;

    background:var(--surface-default);

}

.capability-connection__content{

    max-width:1050px;

}

.capability-connection__number{

    margin-bottom:var(--space-32);

    font-family:var(--font-display);

    font-size:var(--caption);

    font-weight:var(--weight-semibold);

    letter-spacing:var(--tracking-wide);

    color:var(--text-secondary);

}

.capability-connection h2{

    max-width:1000px;

    margin:0;

    font-family:var(--font-display);

    font-size:var(--display-lg);

    font-weight:var(--weight-regular);

    line-height:.94;

    letter-spacing:-.045em;

}

.capability-connection p{

    max-width:700px;

    margin:var(--space-48) 0 0;

    font-family:var(--font-body);

    font-size:var(--body-xl);

    line-height:1.7;

    color:var(--text-secondary);

}


/* ==========================================================================
   10. CONNECTION FLOW
========================================================================== */

.capability-connection__line{

    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        auto
        minmax(0,1fr)
        auto
        minmax(0,1fr)
        auto
        minmax(0,1fr);

    align-items:center;

    gap:var(--space-24);

    margin-top:var(--space-112);

    padding:var(--space-40) 0;

    border-top:var(--border-width) solid var(--border-light);

    border-bottom:var(--border-width) solid var(--border-light);

}

.capability-connection__line div{

    display:flex;

    flex-direction:column;

    gap:var(--space-8);

}

.capability-connection__line div span{

    font-family:var(--font-display);

    font-size:var(--caption);

    line-height:1;

    letter-spacing:var(--tracking-wide);

    text-transform:uppercase;

    color:var(--text-secondary);

}

.capability-connection__line div strong{

    font-family:var(--font-display);

    font-size:var(--h5);

    font-weight:var(--weight-medium);

    color:var(--text-primary);

}

.capability-connection__arrow{

    font-family:var(--font-display);

    font-size:var(--h5);

    color:var(--accent-burgundy);

}


/* ==========================================================================
   11. CLOSING
========================================================================== */

.capability-closing{

    padding:var(--section-space-xl) 0;

    background:var(--surface-alt);

}

.capability-closing__content{

    max-width:1000px;

    margin:0 auto;

    text-align:center;

}

.capability-closing h2{

    max-width:950px;

    margin:0 auto;

    font-family:var(--font-display);

    font-size:var(--display-lg);

    font-weight:var(--weight-regular);

    line-height:.92;

    letter-spacing:-.05em;

}

.capability-closing p{

    max-width:650px;

    margin:var(--space-40) auto 0;

    font-family:var(--font-body);

    font-size:var(--body-xl);

    line-height:1.65;

    color:var(--text-secondary);

}

.capability-closing .btn.btn-primary{

    margin-top:var(--space-48);

}


/* ==========================================================================
   12. REVEAL
========================================================================== */

.capability-page .reveal{

    opacity:0;

    transform:translateY(28px);

    transition:
        opacity var(--motion-editorial) cubic-bezier(.22,1,.36,1),
        transform var(--motion-editorial) cubic-bezier(.22,1,.36,1);

}

.capability-page .reveal.in-view{

    opacity:1;

    transform:none;

}


/* ==========================================================================
   13. TABLET
========================================================================== */

@media (max-width:992px){

    .capability-hero__title{

        max-width:850px;

    }

    .capability-intro__grid{

        grid-template-columns:80px minmax(0,1fr);

        gap:var(--space-48);

    }

    .capability-item{

        gap:var(--space-64);

        padding:
            var(--space-96)
            var(--space-40);

    }

    .capability-item h2{

        font-size:var(--h2);

    }

}


/* ==========================================================================
   14. MOBILE
========================================================================== */

@media (max-width:768px){

    .capability-hero{

        min-height:auto;

    }

    .capability-hero__content{

        padding-top:var(--space-112);

    }

    .capability-hero__title{

        font-size:var(--h1);

        line-height:.94;

    }

    .capability-hero__lead{

        margin-top:var(--space-32);

        font-size:var(--body-lg);

    }

    .capability-hero__statement{

        margin-top:var(--space-64);

        padding-bottom:var(--space-80);

    }

    .capability-hero__statement p{

        font-size:var(--h3);

        line-height:1.08;

    }


    /* ----------------------------------------------------------------------
       INTRO
    ---------------------------------------------------------------------- */

    .capability-intro{

        padding:var(--space-80) 0;

    }

    .capability-intro__grid{

        grid-template-columns:1fr;

        gap:var(--space-24);

    }

    .capability-intro__number{

        font-size:var(--h2);

    }

    .capability-intro__grid h2{

        font-size:var(--h2);

    }

    .capability-intro__grid p{

        margin-top:var(--space-28);

        font-size:var(--body);

    }


    /* ----------------------------------------------------------------------
       CAPABILITY ITEMS
    ---------------------------------------------------------------------- */

    .capability-item{

        display:flex;

        flex-direction:column;

        align-items:stretch;

        gap:var(--space-40);

        padding:
            var(--space-80)
            var(--container-padding);

    }

    .capability-item:nth-child(even) .capability-item__media,
    .capability-item:nth-child(even) .capability-item__content{

        order:initial;

    }

    .capability-item__media{

        width:100%;

        aspect-ratio:var(--ratio-square);

    }

    .capability-item__content{

        max-width:none;

    }

    .capability-item__meta{

        margin-bottom:var(--space-24);

        font-size:var(--caption);

    }

    .capability-item__meta span:last-child{

        padding-left:var(--space-16);

    }

    .capability-item h2{

        max-width:none;

        font-size:var(--h2);

        line-height:.94;

    }

    .capability-item__content > p{

        margin-top:var(--space-24);

        font-size:var(--body);

    }

    .capability-item .btn.btn-primary{

        margin-top:var(--space-32);

    }

    .capability-item__know-more{

        right:var(--space-12);

        bottom:var(--space-12);

        padding:var(--space-8) var(--space-12);

    }


    /* ----------------------------------------------------------------------
       CONNECTION
    ---------------------------------------------------------------------- */

    .capability-connection{

        padding:var(--space-96) 0;

    }

    .capability-connection h2{

        font-size:var(--h2);

    }

    .capability-connection p{

        margin-top:var(--space-32);

        font-size:var(--body);

    }

    .capability-connection__line{

        grid-template-columns:1fr;

        gap:var(--space-20);

        margin-top:var(--space-64);

        padding:var(--space-32) 0;

    }

    .capability-connection__arrow{

        justify-self:start;

        margin-left:var(--space-16);

        transform:rotate(90deg);

    }


    /* ----------------------------------------------------------------------
       CLOSING
    ---------------------------------------------------------------------- */

    .capability-closing{

        padding:var(--space-96) 0;

    }

    .capability-closing h2{

        font-size:var(--h2);

    }

    .capability-closing p{

        font-size:var(--body);

    }

    .capability-closing .btn.btn-primary{

        margin-top:var(--space-40);

    }

}


/* ==========================================================================
   15. SMALL MOBILE
========================================================================== */

@media (max-width:480px){

    .capability-hero__title{

        font-size:var(--h1);

    }

    .capability-hero__statement p{

        font-size:var(--h3);

    }

    .capability-item{

        padding:
            var(--space-72)
            var(--container-padding);

    }

    .capability-item h2{

        font-size:var(--h2);

    }

    .capability-connection h2{

        font-size:var(--h2);

    }

    .capability-closing h2{

        font-size:var(--h2);

    }

}


/* ==========================================================================
   16. REDUCED MOTION
========================================================================== */

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

    .capability-page .reveal{

        opacity:1;

        transform:none;

        transition:none;

    }

    .capability-item__media img,

    .capability-item__know-more{

        transition:none;

    }

}
