
/* ========================================================
   P033C SERVICES INDEX
   Approved Poshesh V2 visual system
   ======================================================== */

.psv-services{
    --navy:#061722;
    --navy2:#081e2a;
    --navy3:#0a2531;
    --navy4:#0d2a36;

    --cyan:#58d8e2;
    --teal:#36a7a3;
    --gold:#d8aa62;
    --violet:#8b6cc7;
    --blue:#628bc7;

    background:#061722;
    color:#edf5f6;
}

.psv-shell{
    width:min(1180px,calc(100% - 48px));
    margin-inline:auto;
}


/* ========================================================
   HERO
   ======================================================== */

.psv-hero{
    min-height:650px;

    display:flex;
    align-items:center;

    padding:
        clamp(90px,10vw,145px) 0
        clamp(82px,9vw,125px);

    border-bottom:
        1px solid rgba(88,216,226,.12);

    background:
        linear-gradient(
            125deg,
            #071b27 0%,
            #08202b 64%,
            #1b1020 100%
        );
}

.psv-hero-grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.35fr)
        minmax(300px,.65fr);

    align-items:center;

    gap:
        clamp(55px,8vw,115px);
}

.psv-kicker{
    display:block;

    margin-bottom:20px;

    color:#58d8e2;

    font-size:13px;
    font-weight:750;
}

.psv-hero h1{
    max-width:790px;

    margin:0;

    color:#f2f7f8;

    font-size:
        clamp(3rem,5.5vw,5.7rem);

    line-height:1.22;

    letter-spacing:-.045em;
}

.psv-hero h1 strong{
    display:block;

    margin-top:5px;

    color:#d8aa62;

    font-weight:680;
}

.psv-hero-copy > p{
    max-width:730px;

    margin:29px 0 0;

    color:#a9bbc1;

    font-size:
        clamp(16px,1.15vw,17.5px);

    line-height:2.1;
}

.psv-actions{
    display:flex;

    align-items:center;

    gap:22px;

    margin-top:34px;
}

.psv-btn{
    display:inline-flex;

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

    min-height:50px;

    padding:0 22px;

    border-radius:11px;

    font-size:14px;
    font-weight:750;

    text-decoration:none;
}

.psv-btn-primary{
    border:
        1px solid rgba(88,216,226,.43);

    background:
        rgba(88,216,226,.10);

    color:#e2fafb !important;
}

.psv-btn-secondary{
    border:
        1px solid rgba(255,255,255,.10);

    color:#c7d6da !important;
}

.psv-text-link{
    color:#cbdcde !important;

    font-size:14px;

    text-decoration:none;
}


/* --------------------------------------------------------
   PAGE SIGNATURE
   -------------------------------------------------------- */

.psv-page-index{
    position:relative;

    display:grid;

    gap:10px;

    padding:
        12px 0 30px;

    border-bottom:
        1px solid rgba(216,170,98,.20);
}

.psv-page-index::after{
    content:"";

    position:absolute;

    right:0;
    bottom:-1px;

    width:88px;
    height:2px;

    background:
        linear-gradient(
            90deg,
            #d8aa62,
            #58d8e2
        );
}

.psv-page-index strong{
    direction:ltr;

    color:#dce7e9;

    font-size:
        clamp(4.2rem,5.8vw,6rem);

    font-weight:300;

    line-height:.95;

    letter-spacing:-.05em;
}

.psv-page-index span{
    color:#d8aa62;

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

    font-weight:650;

    line-height:1.3;
}

.psv-page-index small{
    margin-top:2px;

    color:#78949d;

    font-size:12px;
}


/* ========================================================
   HEADERS
   ======================================================== */

.psv-services-section,
.psv-method{
    padding:
        clamp(90px,9vw,135px) 0;
}

.psv-section-head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(310px,.68fr);

    gap:70px;

    align-items:end;

    margin-bottom:
        clamp(46px,6vw,72px);
}

.psv-section-head span{
    display:block;

    margin-bottom:13px;

    color:#58d8e2;

    font-size:13px;
    font-weight:750;
}

.psv-section-head h2{
    max-width:770px;

    margin:0;

    color:#edf5f6;

    font-size:
        clamp(2.2rem,3.8vw,3.85rem);

    line-height:1.4;
}

.psv-section-head h2 strong{
    display:block;

    color:#d8aa62;

    font-weight:650;
}

.psv-section-head > p{
    margin:0;

    color:#96aab2;

    font-size:15px;

    line-height:2.05;
}


/* ========================================================
   SERVICE GRID
   ======================================================== */

.psv-services-section{
    background:#071b26;
}

.psv-services-grid{
    display:grid;

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

    gap:16px;
}

.psv-service-card{
    --accent:#58d8e2;

    position:relative;

    min-height:390px;

    display:flex;

    flex-direction:column;

    padding:
        27px 25px 26px;

    overflow:hidden;

    border:
        1px solid rgba(88,216,226,.16);

    border-radius:18px;

    background:#0a2531;
}

.psv-service-card::before{
    content:"";

    position:absolute;

    top:0;
    right:0;

    width:82px;
    height:3px;

    background:var(--accent);
}

.psv-accent-industrial{
    --accent:#36a7a3;
}

.psv-accent-teal{
    --accent:#4eb69f;
}

.psv-accent-gold{
    --accent:#d8aa62;
}

.psv-accent-violet{
    --accent:#8b6cc7;
}

.psv-accent-cyan{
    --accent:#58d8e2;
}

.psv-accent-blue{
    --accent:#628bc7;
}

.psv-accent-health{
    --accent:#57c7d8;
}

.psv-accent-aqua{
    --accent:#52b7ae;
}

.psv-card-top{
    display:flex;

    align-items:center;
    justify-content:space-between;

    margin-bottom:31px;
}

.psv-icon{
    width:47px;
    height:47px;

    display:flex;

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

    border:
        1px solid rgba(255,255,255,.08);

    border-radius:12px;

    background:#081e2a;
}

.psv-icon svg{
    width:25px;
    height:25px;

    fill:none;

    stroke:var(--accent);

    stroke-width:1.65;

    stroke-linecap:round;
    stroke-linejoin:round;
}

.psv-number{
    direction:ltr;

    color:var(--accent);

    font-size:13px;
    font-weight:750;
}

.psv-service-card h3{
    margin:0 0 15px;

    color:#edf5f6;

    font-size:20px;

    line-height:1.65;
}

.psv-service-card p{
    margin:0;

    color:#93a8b0;

    font-size:14.5px;

    line-height:2.05;
}

.psv-service-card > a{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:15px;

    margin-top:auto;

    padding-top:23px;

    border-top:
        1px solid rgba(255,255,255,.055);

    color:#ccdde0 !important;

    font-size:13px;
    font-weight:650;

    text-decoration:none;
}

.psv-service-card > a span{
    color:var(--accent);

    font-size:18px;
}


/* ========================================================
   METHOD
   ======================================================== */

.psv-method{
    border-top:
        1px solid rgba(88,216,226,.07);

    background:#061722;
}

.psv-method-grid{
    display:grid;

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

    gap:18px;
}

.psv-method-grid article{
    min-height:275px;

    padding:
        28px 25px;

    border:
        1px solid rgba(255,255,255,.07);

    border-radius:16px;

    background:#081e2a;
}

.psv-method-grid article:nth-child(1){
    border-top-color:
        rgba(54,167,163,.55);
}

.psv-method-grid article:nth-child(2){
    border-top-color:
        rgba(88,216,226,.55);
}

.psv-method-grid article:nth-child(3){
    border-top-color:
        rgba(139,108,199,.55);
}

.psv-method-grid article:nth-child(4){
    border-top-color:
        rgba(216,170,98,.55);
}

.psv-method-grid span{
    display:block;

    margin-bottom:35px;

    direction:ltr;

    color:#d8aa62;

    font-size:12px;
    font-weight:750;
}

.psv-method-grid h3{
    margin:0 0 13px;

    color:#edf5f6;

    font-size:19px;
}

.psv-method-grid p{
    margin:0;

    color:#91a6ae;

    font-size:14px;

    line-height:2;
}


/* ========================================================
   EXPERIENCE
   ======================================================== */

.psv-experience{
    padding:
        0 0 clamp(90px,9vw,135px);

    background:#061722;
}

.psv-experience-panel{
    display:grid;

    grid-template-columns:
        minmax(220px,.35fr)
        minmax(0,.65fr);

    align-items:center;

    overflow:hidden;

    border:
        1px solid rgba(216,170,98,.18);

    border-radius:20px;

    background:
        linear-gradient(
            125deg,
            #0a2531,
            #0b202c 68%,
            #1b1020
        );
}

.psv-experience-number{
    padding:
        clamp(38px,5vw,65px);

    border-inline-end:
        1px solid rgba(216,170,98,.16);
}

.psv-experience-number strong{
    display:block;

    direction:ltr;

    color:#d8aa62;

    font-size:
        clamp(4.8rem,8vw,8rem);

    font-weight:250;

    line-height:.9;
}

.psv-experience-number span{
    display:block;

    margin-top:16px;

    color:#a8b9be;

    font-size:13px;
}

.psv-experience-copy{
    padding:
        clamp(38px,5vw,65px);
}

.psv-experience-copy span{
    display:block;

    margin-bottom:14px;

    color:#58d8e2;

    font-size:12px;
    font-weight:750;
}

.psv-experience-copy h2{
    max-width:650px;

    margin:0;

    color:#eef5f6;

    font-size:
        clamp(1.9rem,3.2vw,3.3rem);

    line-height:1.5;
}


/* ========================================================
   CTA
   ======================================================== */

.psv-cta-wrap{
    padding:
        0 0 clamp(95px,10vw,150px);

    background:#071923;
}

.psv-cta{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(220px,.34fr);

    gap:60px;

    align-items:end;

    padding:
        clamp(42px,6vw,75px);

    border:
        1px solid rgba(88,216,226,.18);

    border-radius:20px;

    background:
        linear-gradient(
            130deg,
            #0a2531,
            #0b202c 66%,
            #1b1020
        );
}

.psv-cta > div:first-child > span{
    display:block;

    margin-bottom:14px;

    color:#58d8e2;

    font-size:12px;
    font-weight:750;
}

.psv-cta h2{
    max-width:720px;

    margin:0;

    color:#eef5f6;

    font-size:
        clamp(2rem,3.7vw,3.8rem);

    line-height:1.45;
}

.psv-cta p{
    max-width:650px;

    margin:22px 0 0;

    color:#94a8b0;

    font-size:14.5px;

    line-height:2.05;
}

.psv-cta-actions{
    display:grid;

    gap:10px;
}


/* ========================================================
   TABLET
   ======================================================== */

@media(max-width:1000px){

    .psv-hero-grid,
    .psv-section-head{
        grid-template-columns:1fr;
    }

    .psv-page-index{
        max-width:430px;
    }

    .psv-services-grid,
    .psv-method-grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .psv-cta{
        grid-template-columns:1fr;
    }

    .psv-cta-actions{
        display:flex;
    }

}


/* ========================================================
   MOBILE
   ======================================================== */

@media(max-width:620px){

    .psv-shell{
        width:min(100% - 24px,1180px);
    }

    .psv-hero{
        min-height:0;

        padding:
            72px 0 75px;
    }

    .psv-hero-grid{
        gap:45px;
    }

    .psv-page-index{
        grid-row:1;

        padding-bottom:23px;
    }

    .psv-hero-copy{
        grid-row:2;
    }

    .psv-page-index strong{
        font-size:
            clamp(3.7rem,16vw,4.8rem);
    }

    .psv-page-index span{
        font-size:
            clamp(2.3rem,11vw,3.4rem);
    }

    .psv-hero h1{
        font-size:
            clamp(2.5rem,12vw,4rem);
    }

    .psv-actions{
        align-items:flex-start;
        flex-direction:column;
    }

    .psv-section-head{
        gap:22px;
    }

    .psv-services-grid,
    .psv-method-grid{
        grid-template-columns:1fr;
    }

    .psv-service-card{
        min-height:350px;
    }

    .psv-experience-panel{
        grid-template-columns:1fr;
    }

    .psv-experience-number{
        border-inline-end:0;

        border-bottom:
            1px solid rgba(216,170,98,.16);
    }

    .psv-cta{
        padding:
            35px 24px;
    }

    .psv-cta-actions{
        display:grid;
    }

}

/* END P033C */


/* ========================================================
   P033D SERVICES TYPOGRAPHY FINAL POLISH
   ======================================================== */

/* Service cards */

.psv-service-card{
    min-height:410px !important;

    padding:
        30px 27px 29px !important;
}

.psv-card-top{
    margin-bottom:
        34px !important;
}

.psv-icon{
    width:50px !important;
    height:50px !important;
}

.psv-icon svg{
    width:27px !important;
    height:27px !important;
}

.psv-number{
    font-size:
        13.5px !important;
}

.psv-service-card h3{
    margin:
        0 0 16px !important;

    font-size:
        clamp(20px,1.45vw,22px) !important;

    font-weight:
        720 !important;

    line-height:
        1.65 !important;
}

.psv-service-card p{
    color:
        #a4b6bc !important;

    font-size:
        15.25px !important;

    line-height:
        2.08 !important;
}

.psv-service-card > a{
    padding-top:
        24px !important;

    font-size:
        14px !important;
}


/* Method / principles */

.psv-method-grid article{
    min-height:
        292px !important;

    padding:
        31px 27px !important;
}

.psv-method-grid span{
    margin-bottom:
        38px !important;

    font-size:
        13px !important;
}

.psv-method-grid h3{
    margin:
        0 0 15px !important;

    font-size:
        21px !important;

    font-weight:
        720 !important;

    line-height:
        1.65 !important;
}

.psv-method-grid p{
    color:
        #a1b3b9 !important;

    font-size:
        15px !important;

    line-height:
        2.08 !important;
}


/* Section supporting copy */

.psv-section-head > p{
    color:
        #a5b6bc !important;

    font-size:
        15.75px !important;

    line-height:
        2.08 !important;
}


/* Experience */

.psv-experience-number span{
    font-size:
        13.5px !important;
}

.psv-experience-copy span{
    font-size:
        13px !important;
}


/* CTA */

.psv-cta p{
    color:
        #a5b6bc !important;

    font-size:
        15.25px !important;
}

.psv-btn{
    min-height:
        52px !important;

    font-size:
        14.5px !important;
}


/* Tablet */

@media(max-width:1000px){

    .psv-service-card{
        min-height:
            365px !important;
    }

}


/* Mobile */

@media(max-width:620px){

    .psv-service-card{
        min-height:
            0 !important;

        padding:
            27px 22px 26px !important;
    }

    .psv-service-card h3{
        font-size:
            20px !important;
    }

    .psv-service-card p,
    .psv-method-grid p{
        font-size:
            14.5px !important;
    }

    .psv-method-grid article{
        min-height:
            0 !important;
    }

}

/* END P033D */

/* P526B-PAGE-NUMBER-GOLD */
.psv-page-index strong{color:#d8aa62!important;font-family:inherit!important;font-size:clamp(4.2rem,5.8vw,6rem)!important;font-weight:300!important;line-height:.95!important;letter-spacing:normal!important}
/* END-P526B */
\n/* P533-FINAL-PAGE-NUMBER-STYLE */\n
.psv-page-index strong{
    direction:ltr!important;
    color:#d8aa62!important;
    font-family:inherit!important;
    font-size:clamp(4.2rem,5.8vw,6rem)!important;
    font-weight:300!important;
    line-height:.95!important;
    letter-spacing:normal!important;
}
/* END-P533 */\n
/* P535-SPECIAL-SERVICES */
.psv-related-services{
    margin-top:30px;
    padding-top:24px;
    border-top:1px solid rgba(99,220,232,.10);
}

.psv-related-services>span{
    display:block;
    margin-bottom:14px;
    color:#d8aa62;
    font-size:11px;
    font-weight:750;
}

.psv-related-service-links{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.psv-related-service-links a{
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:12px 17px;
    border:1px solid rgba(99,220,232,.15);
    border-radius:10px;
    color:#a9c0c7;
    background:rgba(99,220,232,.025);
    text-decoration:none;
    transition:.2s ease;
}

.psv-related-service-links a:hover{
    color:#fff;
    border-color:rgba(99,220,232,.35);
    background:rgba(99,220,232,.06);
}

.psv-related-service-links b{
    color:#63dce8;
    font-weight:400;
}

@media(max-width:680px){
    .psv-related-service-links{
        flex-direction:column;
    }

    .psv-related-service-links a{
        width:100%;
        justify-content:space-between;
    }
}
/* END-P535-SPECIAL-SERVICES */

/* =========================================================
   P550B2-SERVICES-IA
   ========================================================= */

.psv-ia-section{
    padding:clamp(78px,8vw,120px) 0 clamp(90px,9vw,140px);
}

.psv-service-utilities{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px 24px;
    margin:0 0 34px;
    padding:15px 20px;
    border:1px solid rgba(216,170,98,.15);
    background:linear-gradient(90deg,rgba(216,170,98,.035),rgba(99,220,232,.018));
}

.psv-service-utilities strong{
    margin-inline-end:auto;
    color:#d8aa62;
    font-size:11px;
}

.psv-service-utilities a{
    color:#9eb3ba;
    font-size:11px;
    font-weight:650;
    text-decoration:none;
}

.psv-service-utilities a:hover{
    color:#63dce8;
}

.psv-family-stack{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.psv-family{
    display:grid;
    grid-template-columns:minmax(240px,.8fr) minmax(0,2.2fr);
    gap:42px;
    padding:clamp(28px,3vw,42px);
    border:1px solid rgba(255,255,255,.065);
    background:linear-gradient(135deg,rgba(255,255,255,.026),rgba(255,255,255,.009));
}

.psv-family-head{
    padding-inline-start:22px;
    border-inline-start:1px solid rgba(216,170,98,.16);
}

.psv-family-head>b{
    display:block;
    margin-bottom:24px;
    color:#d8aa62;
    font-size:clamp(2.8rem,4.5vw,4.7rem);
    font-weight:280;
    line-height:.9;
}

.psv-family-head span{
    display:block;
    margin-bottom:8px;
    color:#63dce8;
    font-size:9px;
    font-weight:800;
    letter-spacing:.14em;
    direction:ltr;
    text-align:right;
}

.psv-family-head h3{
    margin:0;
    color:#f1f6f7;
    font-size:clamp(21px,2vw,27px);
    line-height:1.55;
}

.psv-family-head p{
    margin:14px 0 0;
    color:#8399a2;
    font-size:12px;
    line-height:1.95;
}

.psv-family-services{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    background:rgba(255,255,255,.055);
}

.psv-family-service{
    display:flex;
    min-height:145px;
    flex-direction:column;
    justify-content:space-between;
    gap:18px;
    padding:22px 24px;
    background:#06141d;
    color:inherit;
    text-decoration:none;
    transition:background .2s ease,transform .2s ease;
}

.psv-family-service:hover,
.psv-family-service:focus-visible{
    background:#08202a;
    transform:translateY(-2px);
}

.psv-family-service h4{
    margin:0;
    color:#edf5f7;
    font-size:15px;
    line-height:1.7;
}

.psv-family-service p{
    margin:7px 0 0;
    color:#7f949d;
    font-size:11px;
    line-height:1.9;
}

.psv-family-service>span{
    color:#63dce8;
    font-size:10px;
    font-weight:750;
}

@media(max-width:980px){

    .psv-family{
        grid-template-columns:1fr;
        gap:26px;
    }

    .psv-family-head{
        padding-inline-start:0;
        padding-bottom:24px;
        border-inline-start:0;
        border-bottom:1px solid rgba(216,170,98,.12);
    }
}

@media(max-width:680px){

    .psv-service-utilities{
        align-items:flex-start;
        flex-direction:column;
    }

    .psv-service-utilities strong{
        margin-inline-end:0;
    }

    .psv-family{
        padding:24px 18px;
    }

    .psv-family-services{
        grid-template-columns:1fr;
    }

    .psv-family-service{
        min-height:0;
        padding:20px;
    }
}

/* END P550B2-SERVICES-IA */
