/* ==========================================================
   CRESTBRIDGE SERVICES
   HOME PAGE
   Premium Design System v2.0
========================================================== */


.hero{
    position:relative;
    isolation:isolate;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:100svh;
    background:var(--navy);
    color:var(--white);
    overflow:hidden;
}

.hero__media{
    position:absolute;
    inset:0;
    z-index:-2;
    overflow:hidden;
}

.hero__image{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:78% center;
    filter:saturate(.88) brightness(.62) contrast(1.05);
    transform:scale(1.03);
}

.hero__scrim{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(8,18,38,.94) 0%,
            rgba(8,18,38,.82) 34%,
            rgba(8,18,38,.48) 60%,
            rgba(8,18,38,.20) 100%
        ),
        linear-gradient(
            180deg,
            rgba(6,13,28,.10) 0%,
            rgba(6,13,28,.30) 55%,
            rgba(6,13,28,.82) 100%
        );
}

.hero__scrim::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(
            circle at 18% 35%,
            rgba(255,255,255,.08),
            transparent 48%
        );
}

.hero__scrim::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            to right,
            rgba(0,0,0,.16),
            transparent 35%
        );
    mix-blend-mode:soft-light;
}

.hero__inner{
    display:flex;
    align-items:center;
    flex:1;
    padding-top:0;
    padding-bottom:0;
}

.hero__content{
    width:min(640px,100%);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2.6rem;
}

.hero__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:1rem;
    margin:0;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--gold);
}

.hero__eyebrow::before{
    content:"";
    width:56px;
    height:1px;
    background:currentColor;
    opacity:.8;
}

.hero__title{
    margin:0;
    font-family:var(--font-heading);
    font-size:clamp(3.2rem,5vw,5.3rem);
    max-width:650px;
    line-height:.96;
    font-weight:600;
    letter-spacing:-.05em;
    color:#fff;
    text-wrap:balance;
}

.hero__title span{
    display:block;
    color:#fff;
}

.hero__description{
    max-width:38rem;
}

.hero__description p,
.hero__description{
    margin:0;
    font-size:1.15rem;
    line-height:2;
    font-weight:400;
    color:rgba(255,255,255,.74);
    text-wrap:pretty;
}

.hero__actions{
    display:flex;
    align-items:center;
    gap:1.75rem;
    margin-top:.75rem;
}

.btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:64px;
    padding:0 2.5rem;
    border:none;
    border-radius:999px;
    background:linear-gradient(
        135deg,
        var(--gold),
        #e5c06a
    );
    color:var(--navy);
    font-size:.95rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    text-decoration:none;
    box-shadow:
        0 20px 40px rgba(0,0,0,.28),
        0 0 0 1px rgba(255,255,255,.08) inset;
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        background .35s ease;
}

.btn-primary:hover{
    transform:translateY(-4px);
    box-shadow:
        0 28px 55px rgba(0,0,0,.34),
        0 0 0 1px rgba(255,255,255,.12) inset;
}

.btn-primary:focus-visible{
    outline:2px solid var(--gold);
    outline-offset:4px;
}

.hero__link{
    display:inline-flex;
    align-items:center;
    gap:.8rem;
    font-size:.98rem;
    font-weight:600;
    letter-spacing:.02em;
    color:rgba(255,255,255,.9);
    text-decoration:none;
    transition:
        color .3s ease,
        gap .3s ease,
        transform .3s ease;
}

.hero__link i{
    font-size:.95rem;
    transition:
        transform .3s ease;
}

.hero__link:hover{
    gap:1rem;
    color:#fff;
}

.hero__link:hover i{
    transform:translateX(6px);
}

.hero__footer{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:5;
    background:rgba(8,18,38,.72);
    backdrop-filter:blur(20px);
    border-top:1px solid rgba(255,255,255,.08);
}

.hero__capabilities{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2rem;
    min-height:88px;
    flex-wrap:wrap;
}

.hero__capability{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:6px 0;

    text-decoration:none;

    font-size:.9rem;

    font-weight:600;

    letter-spacing:.18em;

    text-transform:uppercase;

    color:rgba(255,255,255,.78);

    white-space:nowrap;

    transition:
        color .3s ease,
        transform .3s ease;
}

.hero__capability:hover{

    color:#d8dde6;

    text-shadow:0 0 10px rgba(216,221,230,.25);

    transform:translateY(-2px);

}

.hero__capability:focus-visible{

    outline:2px solid var(--gold);

    outline-offset:4px;

    border-radius:4px;

}

.hero__divider{
    width:1px;
    height:18px;
    background:rgba(212,175,55,.45);
}

.hero::before{
    content:"";
    position:absolute;
    inset:auto auto -180px -180px;
    width:520px;
    height:520px;
    border-radius:50%;
    background:radial-gradient(
        circle,
        rgba(212,175,55,.14),
        transparent 70%
    );
    filter:blur(30px);
    pointer-events:none;
}

.hero::after{
    content:"";
    position:absolute;
    top:0;
    right:-140px;
    width:420px;
    height:100%;
    background:linear-gradient(
        to left,
        rgba(255,255,255,.04),
        transparent
    );
    transform:skewX(-18deg);
    pointer-events:none;
}

.hero *{
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    text-rendering:optimizeLegibility;
}

.hero a,
.hero button,
.hero img{
    user-select:none;
}

.hero img{
    display:block;
}

.hero :focus-visible{
    outline:2px solid var(--gold);
    outline-offset:4px;
}

@media (max-width:1200px){

    .hero__title{
        font-size:clamp(3rem,5vw,5rem);
    }

}

@media (max-width:992px){

    .hero{
        min-height:auto;
    }

    .hero__image{
        object-position:72% center;
    }

    .hero__inner{
        padding-top:8rem;
        padding-bottom:8rem;
    }

    .hero__content{
        max-width:600px;
        gap:1.75rem;
    }

    .hero__description,
    .hero__description p{
        font-size:1.05rem;
        line-height:1.8;
    }

    .hero__capabilities{
        gap:1.5rem;
    }

}

@media (max-width:768px){

    .hero{
        min-height:auto;
    }

    .hero__image{
        object-position:74% center;
        transform:none;
    }

    .hero__scrim{
        background:
            linear-gradient(
                180deg,
                rgba(6,13,28,.12) 0%,
                rgba(6,13,28,.38) 45%,
                rgba(6,13,28,.72) 100%
            );
    }

    .hero__inner{
        align-items:flex-start;
        padding-top:6.75rem;
        padding-bottom:2.25rem;
    }

    .hero__content{
        max-width:100%;
        gap:2rem;
    }

    .hero__eyebrow{
        font-size:.72rem;
        letter-spacing:.20em;
    }

    .hero__eyebrow::before{
        width:40px;
    }

    .hero__title{
        font-size:clamp(2.7rem,9vw,3.4rem);
        line-height:.95;
        letter-spacing:-.04em;
    }

    .hero__description{
        max-width:34ch;
    }

    .hero__description,
    .hero__description p{
        font-size:1rem;
        line-height:1.8;
    }

    .hero__actions{
        flex-direction:column;
        align-items:stretch;
        gap:1rem;
        width:100%;
    }

    .btn-primary{
        width:100%;
        min-height:60px;
    }

    .hero__link{
        width:100%;
        justify-content:center;
    }

    .hero__capabilities{

        display:flex;

        flex-wrap:nowrap;

        overflow-x:auto;

        overflow-y:hidden;

        justify-content:flex-start;

        gap:1.25rem;

        padding:0 20px;

        scrollbar-width:none;

        -ms-overflow-style:none;

        -webkit-overflow-scrolling:touch;

        scroll-snap-type:x proximity;

    }

    .hero__capabilities::-webkit-scrollbar{

        display:none;

    }

    .hero__capability{

        flex:0 0 auto;

        white-space:nowrap;

        scroll-snap-align:start;

    }

    .hero__divider{

        flex:0 0 auto;

    }

}

@media (max-width:576px){

    .hero__inner{
        padding-top:5.8rem;
        padding-bottom:3rem;
    }

    .hero__title{
        font-size:2.55rem;
    }

    .hero__description,
    .hero__description p{
        font-size:.96rem;
        line-height:1.75;
    }

    .btn-primary{
        min-height:58px;
        font-size:.9rem;
    }

    .hero__link{
        font-size:.92rem;
    }

}

@media (prefers-reduced-motion:reduce){

    .hero *,
    .hero *::before,
    .hero *::after{
        transition:none!important;
        animation:none!important;
        scroll-behavior:auto!important;
    }

}

/* =====================================================
   CAPABILITIES
   Version 1.0
===================================================== */

.capabilities{
    position:relative;
    padding:0 10px 0;
    background:#F8F7F4;
    overflow:hidden;
}

/*======================================================
LAYOUT
======================================================*/

.capabilities__layout{

    display:grid;
    grid-template-columns:32% 68%;
    gap:48px;
    align-items:start;

}

/*======================================================
LEFT
======================================================*/

.capabilities__intro{

    position:sticky;
    top:40px;

}

.capabilities__title{

    margin:0;

    font-size:clamp(3rem,4vw,4.8rem);

    line-height:.92;

    letter-spacing:-.05em;

    color:var(--navy);

}

.capabilities__title span{

    display:block;

    margin-top:10px;

    font-weight:300;

    color:#7A8593;

}

.capabilities__text{

    margin-top:42px;

}

.capabilities__text p{

    margin:0 0 22px;

    max-width:380px;

    font-size:1.05rem;

    line-height:1.8;

    color:#66707D;

}

.capabilities__text p:last-child{

    margin-bottom:0;

}

/*======================================================
RIGHT
======================================================*/

.capabilities__right{

    width:100%;

}

.capabilities__items{

    display:flex;
    flex-direction:column;

}

/*======================================================
CAPABILITY
======================================================*/

.capability{

    position:relative;

    display:block;

    padding:34px 32px;

    text-decoration:none;

    color:inherit;

    border-top:1px solid rgba(8,18,38,.08);

    overflow:hidden;

    transition:
        background .45s ease,
        box-shadow .45s ease;

}

.capability:last-child{

    border-bottom:1px solid rgba(8,18,38,.08);

}

/*======================================================
BACKGROUND
======================================================*/

.capability::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(8,18,38,.025);

    transform:scaleX(0);

    transform-origin:left;

    transition:transform .45s cubic-bezier(.22,1,.36,1);

}

/*======================================================
WATERMARK
======================================================*/

.capability__watermark{

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%) scale(.96);

    font-size:9rem;

    font-weight:700;

    letter-spacing:-.08em;

    line-height:1;

    color:rgba(8,18,38,.012);

    opacity:0;

    user-select:none;

    pointer-events:none;

    transition:

        opacity .45s ease,

        transform .45s ease;

}

/*======================================================
BODY
======================================================*/

.capability__body{

    position:relative;

    z-index:2;

    transition:transform .45s cubic-bezier(.22,1,.36,1);

}

/*======================================================
HEADER
======================================================*/

.capability__header{

    display:grid;

    grid-template-columns:1fr auto;

    align-items:center;

    gap:24px;

}

.capability__header h3{

    margin:0;

    font-size:2rem;

    font-weight:800;

    letter-spacing:-.03em;

    color:var(--navy);

    transition:color .35s ease;

}

/*======================================================
ARROW
======================================================*/

.capability__arrow{

    display:flex;

    align-items:center;

    justify-content:center;

    width:44px;

    height:44px;

    font-size:1.2rem;

    color:#AEB8C3;

    transition:

        transform .35s ease,

        color .35s ease;

}

/*======================================================
LINE
======================================================*/

.capability__line{

    display:block;

    width:0;

    height:2px;

    margin:20px 0 24px;

    background:var(--gold);

    transition:width .45s cubic-bezier(.22,1,.36,1);

}

/*======================================================
TEXT
======================================================*/

.capability__body p{

    margin:0;

    max-width:680px;

    font-size:1.02rem;

    line-height:1.8;

    color:#66707D;

    transition:color .35s ease;

}

/*======================================================
HOVER
======================================================*/

.capability:hover{

    box-shadow:inset 4px 0 0 var(--gold);

}

.capability:hover::before{

    transform:scaleX(1);

}

.capability:hover .capability__body{

    transform:translateX(-6px);

}

.capability:hover .capability__line{

    width:72px;

}

.capability:hover .capability__arrow{

    color:var(--gold);

    transform:translateX(6px);

}

.capability:hover .capability__watermark{

    opacity:1;

    transform:translateY(-50%) scale(1);

}

.capability:hover h3{

    color:#06101E;

}

.capability:hover p{

    color:#4D5966;

}

/*======================================================
TABLET
======================================================*/

@media(max-width:991px){

    .capabilities{

        padding:80px 0;

    }

    .capabilities__layout{

        display:block;

    }

    .capabilities__intro{

        position:relative;

        top:auto;

        margin-bottom:48px;

    }

    .capabilities__title{

        max-width:520px;

    }

    .capabilities__text{

        margin-top:30px;

    }

    .capabilities__text p{

        max-width:100%;

    }

    .capability{

        padding:28px 0;

    }

    .capability__watermark{

        display:none;

    }

    .capability__header h3{

        font-size:1.65rem;

    }

    .capability__body p{

        max-width:100%;

    }

}

/*======================================================
MOBILE
======================================================*/

@media(max-width:767px){

    .capabilities{

        padding:60px 0;

    }

    .capabilities__intro{

        margin-bottom:36px;

    }

    .capabilities__title{

        font-size:2.3rem;

        line-height:1;

    }

    .capabilities__title span{

        margin-top:8px;

    }

    .capabilities__text{

        margin-top:24px;

    }

    .capabilities__text p{

        font-size:.95rem;

        line-height:1.7;

    }

    .capability{

        padding:24px 0;

    }

    .capability__header{

        gap:16px;

    }

    .capability__header h3{

        font-size:1.3rem;

        line-height:1.3;

    }

    .capability__arrow{

        width:36px;

        height:36px;

        font-size:1rem;

    }

    .capability__line{

        margin:14px 0 18px;

    }

    .capability__body p{

        font-size:.94rem;

        line-height:1.7;

    }

    .capability:hover .capability__body{

        transform:none;

    }

    .capability:hover .capability__arrow{

        transform:translateX(3px);

    }

}

/* =====================================================
   OUR BELIEF
===================================================== */

.perspective{

    position:relative;

    padding:0 0 50px;

    background:#fff;

    overflow:hidden;

}

/*======================================================
INTRO
======================================================*/

.perspective .container{

    width:min(1180px,92%);
    margin:0 auto;

}

.perspective__eyebrow{

    display:inline-block;

    position:relative;

    margin-bottom:26px;

    padding-left:72px;

    font-size:.82rem;

    font-weight:700;

    letter-spacing:.32em;

    text-transform:uppercase;

    color:var(--gold);

}

.perspective__eyebrow::before{

    content:"";

    position:absolute;

    left:0;
    top:50%;

    width:54px;
    height:2px;

    background:var(--gold);

    transform:translateY(-50%);

}

.perspective__title{

    max-width:760px;

    margin:0;

    font-size:clamp(3.2rem,4.5vw,5.3rem);

    font-weight:800;

    line-height:.93;

    letter-spacing:-.055em;

    color:var(--navy);

}

.perspective__title span{

    display:block;

    margin-top:18px;

    max-width:620px;

    font-size:clamp(1.4rem,1.8vw,1.9rem);

    font-weight:500;

    line-height:1.38;

    letter-spacing:-.02em;

    color:#6B7480;

}

/*======================================================
IMAGE
======================================================*/

.perspective__hero{

    width:min(1440px,95vw);

    margin:5px auto 60px;

    overflow:hidden;

    border-radius:8px;

}

.perspective__hero img{

    display:block;

    width:100%;

    height:420px;

    object-fit:cover;

    object-position:bottom;

    transition:transform .8s ease;

}

.perspective:hover .perspective__hero img{

    transform:scale(1.02);

}

/*======================================================
CONTENT
======================================================*/

.perspective__content{

    display:grid;

    grid-template-columns:1fr;

    gap:20px;
    

}

.perspective__content p{

    max-width:1080px;

    margin:0;
    

    font-size:1.2rem;

    line-height:1.50;

    color:#59616C;

}

/*======================================================
PHILOSOPHY
======================================================*/

.perspective__quote{

    margin-top:45px;

    padding-top:2px;

    border-top:1px solid rgba(8,18,38,.08);

    text-align:center;

}

.perspective__quote p{

    max-width:none;

    margin:0;

    font-size:clamp(2rem,3vw,3rem);

    font-weight:300;

    font-style: bold;

    line-height:1.22;

    letter-spacing:-.03em;

    color:var(--silver);
    
    background-color: var(--navy);


}

.perspective__quote span{

    display:block;

    margin-top:0;

    font-size:.82rem;

    font-weight:600;

    letter-spacing:.28em;

    text-transform:uppercase;

    color:var(--silver);
    
    background-color: var(--navy);
}

/*======================================================
TABLET
======================================================*/

@media (max-width:991px){

    .perspective{
        padding:90px 0;
    }

    .perspective__grid{
        grid-template-columns:1fr;
        gap:56px;
    }

    .perspective__content{
        max-width:100%;
    }

    .perspective__visual{
        max-width:700px;
        margin:0 auto;
    }

}

/*======================================================
MOBILE
======================================================*/

@media (max-width:767px){

    .perspective{
        padding:64px 0;
    }

    .perspective__grid{
        gap:40px;
    }

    .perspective__eyebrow{
        margin-bottom:18px;
    }

    .perspective__title{
        font-size:2.3rem;
        line-height:1.05;
    }

    .perspective__lead{
        font-size:1rem;
        line-height:1.75;
        margin-top:22px;
    }

    .perspective__body{
        margin-top:26px;
    }

    .perspective__body p{
        font-size:.95rem;
        line-height:1.75;
    }

    .perspective__visual{
        border-radius:20px;
    }

}

/* ==========================================================
   HOME - OUR METHODOLOGY
========================================================== */

.methodology {

    padding: 0;

    background: #f8fafc;

    position: relative;

    overflow: visible;

}

.methodology__eyebrow{

    display:inline-block;

    position:relative;

    margin-bottom:26px;

    padding-left:72px;

    font-size:.82rem;

    font-weight:700;

    letter-spacing:.32em;

    text-transform:uppercase;

    color:var(--gold);

}

.methodology__eyebrow::before{

    content:"";

    position:absolute;

    left:0;
    top:50%;

    width:54px;
    height:2px;

    background:var(--gold);

    transform:translateY(-50%);

}


/* ==========================================================
   HEADER
========================================================== */

.methodology__header {

    max-width: 1100px;

    margin: 0 1rem 1rem;

    text-align: left;

}

.methodology .section-tag {

    display:inline-block;

    position:relative;

    margin-bottom:26px;

    padding-left:72px;

    font-size:.82rem;

    font-weight:700;

    letter-spacing:.32em;

    text-transform:uppercase;

    color:var(--gold);

}

.methodology .section-tag::before{

    content:"";

    position:absolute;

    left:0;
    top:50%;

    width:54px;
    height:2px;

    background:var(--gold);

    transform:translateY(-50%);
    
}

.methodology .section-title {

    margin-bottom: 0;

    font-size: clamp(2.8rem,5vw,4.2rem);

    font-weight: 1000;

    line-height: 1.08;

    letter-spacing: -.03em;

    color: var(--navy);

}

.methodology .section-description {

    max-width: 1100px;

    margin: 1rem;

    font-size: 1.08rem;

    line-height: 1.9;

    color: var(--color-text);

}


/* ==========================================================
   GRID
========================================================== */

.methodology__grid {

    display: grid;

    grid-template-columns: repeat(4,1fr);

    gap: 2rem;

    align-items: stretch;

}


/* ==========================================================
   CARD
========================================================== */

.methodology-card {

    position: relative;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    height:auto;
    min-height:unset;

    padding: 0.35rem;

    background: #ffffff;

    border: 1px solid rgba(15,23,42,.06);

    border-radius: 22px;

    overflow: hidden;

    transition:
        transform .45s ease,
        box-shadow .45s ease,
        border-color .45s ease;

}


/* ==========================================================
   TOP ACCENT
========================================================== */

.methodology-card::before {

    content: "";

    position: absolute;

    left: 0;

    top: 0;

    width: 100%;

    height: 3px;

    background: var(--navy);

    transform: scaleX(0);

    transform-origin: left;

    transition: transform .45s ease;

}


/* ==========================================================
   STEP NUMBER
========================================================== */

.methodology-card__number {

    display: block;

    margin-bottom: 1rem;

    font-size: 3.6rem;

    font-weight: 500;

    line-height: 1;

    color: rgba(15,23,42,.08);

}


/* ==========================================================
   CARD TITLE
========================================================== */

.methodology-card h3 {

    margin-bottom: 0.5rem;

    font-size: 1.45rem;

    font-weight: 1000;

    letter-spacing: -.02em;

    color: var(--color-heading);

}


/* ==========================================================
   CARD BODY
========================================================== */

.methodology-card p {

    flex: 1;

    margin-bottom: 2rem;

    font-size: 1rem;

    line-height: 1.85;

    color: var(--color-text);

}


/* ==========================================================
   LINK
========================================================== */

.methodology-card__link {

    display: inline-flex;

    align-items: center;

    gap: .5rem;

    margin-top: auto;

    font-size: .92rem;

    font-weight: 600;

    letter-spacing: .04em;

    color: var(--color-primary);

}

.methodology-card__link .arrow {

    display: inline-block;

    transition: transform .35s ease;

}

/* ==========================================================
   CARD HOVER
========================================================== */

.methodology-card:hover {

    transform: translateY(-12px);

    border-color: rgba(14,70,140,.18);

    box-shadow:
        0 18px 45px rgba(15,23,42,.08),
        0 35px 80px rgba(15,23,42,.06);

}

.methodology-card:hover::before {

    transform: scaleX(1);

}

.methodology-card:hover .methodology-card__number {

    color: rgba(14,70,140,.18);

}

.methodology-card:hover h3 {

    color: var(--color-primary);

}

.methodology-card:hover .arrow {

    transform: translateX(8px);

}


/* ==========================================================
   INITIAL ANIMATION STATE
========================================================== */

/*
.methodology-card {

    opacity: 0;

    transform: translateY(40px);

}
*/

/* ==========================================================
   GSAP ACTIVE STATE
========================================================== */

.methodology-card.is-visible {

    opacity: 1;

    transform: translateY(0);

}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:1200px){

    .methodology__grid{

        grid-template-columns:repeat(2,1fr);

        gap:2rem;

    }

}

@media (max-width:991px){

    .methodology{

        padding:70px 0;

    }

    .methodology__header{

        margin-bottom:40px;

    }

    .methodology__grid{

        grid-template-columns:repeat(2,1fr);

        gap:1.75rem;

    }

}

@media (max-width:767px){

    .methodology{

        padding:60px 0;

    }

    .methodology__header{

        margin-bottom:32px;

    }

    .methodology .section-tag{

        padding-left:56px;

        font-size:.75rem;

        letter-spacing:.24em;

    }

    .methodology .section-tag::before{

        width:40px;

    }

    .methodology .section-title{

        font-size:2.35rem;

        line-height:1.05;

    }

    .methodology .section-description{

        margin:1rem 0;

        font-size:.96rem;

        line-height:1.75;

    }

    .methodology__grid{

        grid-template-columns:1fr;

        gap:1.5rem;

    }

    .methodology-card{

        padding:1.5rem;

        min-height:auto;

    }

    .methodology-card__number{

        font-size:3rem;

    }

    .methodology-card h3{

        font-size:1.35rem;

    }

    .methodology-card p{

        margin-bottom:1.5rem;

        font-size:.95rem;

        line-height:1.7;

    }

}

@media (max-width:576px){

    .methodology{

        padding:50px 0;

    }

    .methodology .section-title{

        font-size:2rem;

    }

    .methodology-card{

        padding:1.25rem;

    }

    .methodology-card__number{

        font-size:2.7rem;

    }

    .methodology-card h3{

        font-size:1.25rem;

    }

    .methodology-card p{

        font-size:.92rem;

    }

}


@media (prefers-reduced-motion: reduce){

    .methodology-card,
    .methodology-card::before,
    .methodology-card__number,
    .methodology-card h3,
    .methodology-card .arrow{

        transition:none;
        animation:none;
    }

    .methodology-card:hover{

        transform:none;

    }

    .methodology-card:hover .arrow{

        transform:none;

    }

}

/* ==========================================================
   HOME - ACADEMY
========================================================== */

.academy-home {

    background: var(--navy);

    overflow: hidden;

    position: relative;

    padding: 0 10px 10px;

}

.academy-home::before {

    content: "";

    position: absolute;

    width: 700px;

    height: 700px;

    left: -180px;

    top: -150px;

    background: radial-gradient(
        circle,
        rgba(255,255,255,.05) 0%,
        transparent 70%
    );

    pointer-events: none;

}

.academy-home__content {

    display: grid;

    grid-template-columns: 1.05fr .95fr;

    align-items: stretch;

    gap: 4rem;

}

/* ==========================================================
   TEXT
========================================================== */

.academy-home__text {

    display: flex;

    flex-direction: column;

    justify-content: flex-start;

    max-width: 820px;

    padding: 1rem 0;

}

.academy-home .section-tag {

    display: inline-block;

    margin-bottom: 0.5rem;

    font-size: .85rem;

    font-weight: 600;

    letter-spacing: .28em;

    text-transform: uppercase;

    color:var(--gold-light);

}

.academy-home .section-title {

    margin-bottom: 1.75rem;

    font-size: clamp(3rem,5vw,4.25rem);

    font-weight: 300;

    line-height: 1.08;

    letter-spacing: -.03em;

    color:var(--silver);

}

.academy-home .section-description {

    margin-bottom: 0.5rem;

    font-size: 1.08rem;

    line-height: 1.9;

    color: rgba(236,239,242,.82);

}

/* ==========================================================
   FEATURES
========================================================== */

.academy-home__features {

    list-style: none;

    margin: 0 0 2.75rem;

    padding: 0;

}

.academy-home__features li {

    display: flex;

    align-items: center;

    gap: .9rem;

    margin-bottom: 1rem;

    font-size: 1rem;

    font-weight: 500;

    color:var(--silver);

}

.academy-home__features li::before {

    content: "✓";

    display: flex;

    align-items: center;

    justify-content: center;

    width: 28px;

    height: 28px;

    border-radius: 50%;

    background:rgba(200,164,93,.12);
    border:1px solid rgba(200,164,93,.25);
    color:var(--gold);

    font-size: .8rem;

    font-weight: 700;

}

/* ==========================================================
   BUTTON
========================================================== */

.academy-home .btn {

    margin-top: .5rem;

    align-self: flex-start;

}

/* ==========================================================
   IMAGE
========================================================== */

.academy-home__image {

    max-height: 575px;

}

.academy-home__image img {

        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center;

    border-radius: 0;

    box-shadow: none;
    
    opacity:0.5;

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:1100px){

    .academy-home__content{

        gap:3rem;

    }

}


@media (max-width:991px){

    .academy-home{
        padding:0 10px 60px;
    }

    .academy-home__content{
        grid-template-columns:1fr;
        gap:3rem;
    }

    .academy-home__text{
        max-width:100%;
        order:2;
    }

    .academy-home__image{
        max-height:450px;
        order:1;
    }

}


@media (max-width:767px){

    .academy-home{
        padding:0 10px 50px;
    }

    .academy-home__content{
        grid-template-columns:1fr;
        gap:2rem;
    }

    .academy-home__text{
        padding:0;
    }

    .academy-home .section-title{
        font-size:2.35rem;
    }

    .academy-home .section-description{
        font-size:.96rem;
        line-height:1.75;
    }

    .academy-home__image{
        max-height:360px;
    }

    .academy-home__image img{
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center;
    }

    .academy-home .btn{
        width:100%;
    }

}

@media (max-width:576px){

    .academy-home .section-title{
        font-size:2rem;
    }

    .academy-home__image{
        max-height:300px;
    }

}

/* ==========================================================
   HOME - INDUSTRIES
========================================================== */

.industries {

    padding: 0 10px 1rem;

    background: var(--silver);

}

.industries .section-header {

    max-width: 1100px;

    margin: 0 10px 1.75rem;

    text-align: left;

}

.industries-grid {

    display: grid;

    grid-template-columns: repeat(3,1fr);

    gap: 1.5rem;

}

/* ==========================================================
   CARD
========================================================== */

.industry-card {

    background: #dae7f2;

    border: 1px solid var(--border);

    border-radius: 18px;

    padding: 2rem;

    transition:
        background .35s ease,
        color .35s ease,
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

}

.industry-card:hover {

    background: var(--navy);

    border-color: var(--navy);

    transform: translateY(-8px);

    box-shadow: 0 22px 45px rgba(15,39,69,.18);

}

/* ==========================================================
   ICON
========================================================== */

.industry-card i {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 52px;

    height: 52px;

    margin-bottom: 1.5rem;

    border-radius: 50%;

    background: rgba(200,164,93,.12);

    color: var(--gold);

    font-size: 1.15rem;

    transition: all .35s ease;

}

.industry-card:hover i{

    background: rgba(255,255,255,.12);

    color: var(--gold-light);

}

/* ==========================================================
   TITLE
========================================================== */

.industry-card h3 {

    margin-bottom: .85rem;

    font-size: 1.22rem;

    font-weight: 600;

    color: var(--navy-dark);

    line-height: 1.35;

    transition: color .35s ease;

}

.industry-card:hover h3{

    color: var(--silver);

}

/* ==========================================================
   TEXT
========================================================== */

.industry-card p {

    margin: 0;

    font-size: .97rem;

    line-height: 1.75;

    color: var(--text-light);

    transition: color .35s ease;

}

.industry-card:hover p{

    color: rgba(236,239,242,.82);

}

/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width:991px){

    .industries{
        padding:90px 0;
    }

    .industries__header{
        margin-bottom:48px;
    }

    .industries__grid{
        grid-template-columns:repeat(2,1fr);
        gap:24px;
    }

}

@media (max-width:767px){

    .industries{
        padding:64px 0;
    }

    .industries__header{
        margin-bottom:36px;
    }

    .industries__title{
        font-size:2.3rem;
        line-height:1.05;
    }

    .industries__grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .industry-card{
        padding:24px;
    }

    .industry-card h3{
        font-size:1.3rem;
    }

    .industry-card p{
        font-size:.95rem;
        line-height:1.7;
    }

}

@media (max-width:576px){

    .industry-card{
        padding:20px;
    }

    .industry-card h3{
        font-size:1.2rem;
    }

    .industry-card p{
        font-size:.92rem;
    }

}

.final-cta{

    padding:5rem 0 5.5rem;

    background:var(--white);

    border-top:1px solid var(--border);

}

.final-cta-content{

    max-width:760px;

}

.final-cta .section-label{

    margin-bottom:1rem;

}

.final-cta h2{

    margin-bottom:1.5rem;

    color:var(--navy-dark);

    font-size:clamp(2.6rem,5vw,4rem);

    line-height:1.1;

    letter-spacing:-.04em;

}

.final-cta p{

    max-width:620px;

    margin-bottom:2.5rem;

    font-size:1.08rem;

    line-height:1.9;

    color:var(--text-light);

}

.final-cta .hero-buttons{

    display:flex;

    gap:1rem;

    flex-wrap:wrap;

}

@media (max-width:991px){

    .cta-final{
        padding:90px 0;
    }

    .cta-final__content{
        max-width:760px;
        margin:0 auto;
        text-align:center;
    }

    .cta-final__actions{
        justify-content:center;
        gap:18px;
    }

}

@media (max-width:767px){

    .cta-final{
        padding:64px 0;
    }

    .cta-final__title{
        font-size:2.3rem;
        line-height:1.05;
    }

    .cta-final__description{
        font-size:.95rem;
        line-height:1.75;
        max-width:100%;
    }

    .cta-final__actions{
        display:flex;
        flex-direction:column;
        align-items:stretch;
        gap:14px;
        margin-top:32px;
    }

    .cta-final__actions .btn-primary,
    .cta-final__actions .btn-secondary{
        width:100%;
    }

}

@media (max-width:576px){

    .cta-final__title{
        font-size:2.05rem;
    }

    .cta-final__description{
        font-size:.92rem;
    }

    .cta-final__actions{
        gap:12px;
    }

}
