@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500&display=swap');

:root{
    --ps-navy:#0F172A;
    --ps-dark:#061626;
    --ps-red:#7F1D1D;
    --ps-text:#111827;
    --ps-muted:#64748B;
    --ps-light:#F8FAFC;
    --ps-border:#E5E7EB;
    --ps-white:#FFFFFF;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Outfit', sans-serif;
    font-weight:300;
    color:var(--ps-text);
    background:var(--ps-white);
    line-height:1.6;
}

a{
    text-decoration:none;
    color:inherit;
}

img{
    max-width:100%;
    display:block;
}

h1,h2,h3,h4,h5,h6{
    font-weight:500;
    line-height:1.15;
    color:var(--ps-navy);
}

p,span,a,li,input,textarea,button{
    font-weight:300;
}

.ps-container{
    width:92%;
    max-width:1240px;
    margin:0 auto;
}

.ps-section{
    min-height:100vh;
    display:flex;
    align-items:center;
    padding:80px 0;
}

.ps-section-sm{
    padding:80px 0;
}

.ps-btn-primary,
.ps-btn-outline,
.ps-header-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 30px;
    border-radius:0;
    font-size:15px;
    font-weight:500;
    transition:.25s ease;
}

.ps-btn-primary,
.ps-header-btn{
    background:var(--ps-red);
    color:#fff;
    border:1px solid var(--ps-red);
}

.ps-btn-primary:hover,
.ps-header-btn:hover{
    background:var(--ps-navy);
    border-color:var(--ps-navy);
}

.ps-btn-outline{
    background:transparent;
    color:#fff;
    border:1px solid #fff;
}

.ps-btn-outline:hover{
    background:#fff;
    color:var(--ps-navy);
}

/* HEADER */

.ps-header{
    width:100%;
    background:#fff;
    border-bottom:1px solid var(--ps-border);
    position:sticky;
    top:0;
    z-index:999;
}

.ps-header-inner{
    height:88px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}

.ps-logo img{
    width:220px;
    height:auto;
}

.ps-nav{
    display:flex;
    align-items:center;
    gap:26px;
}

.ps-nav a{
    font-size:15px;
    font-weight:400;
    color:var(--ps-navy);
    padding:32px 0;
    position:relative;
}

.ps-nav a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:24px;
    width:0;
    height:2px;
    background:var(--ps-red);
    transition:.25s ease;
}

.ps-nav a:hover{
    color:var(--ps-red);
}

.ps-nav a:hover::after{
    width:100%;
}

.ps-menu-toggle{
    display:none;
    width:44px;
    height:44px;
    background:#fff;
    border:1px solid var(--ps-border);
    border-radius:0;
    cursor:pointer;
}

.ps-menu-toggle span{
    display:block;
    width:22px;
    height:2px;
    background:var(--ps-navy);
    margin:5px auto;
}

/* HERO IMAGE */

.ps-hero{
    min-height:calc(100vh - 88px);
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:var(--ps-dark);
}

.ps-hero-media{
    position:absolute;
    inset:0;
    z-index:1;
}

.ps-hero-media picture,
.ps-hero-media img{
    width:100%;
    height:100%;
}

.ps-hero-media img{
    object-fit:cover;
    object-position:center;
}

.ps-hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(
        90deg,
        rgba(6,22,38,.94) 0%,
        rgba(6,22,38,.82) 44%,
        rgba(6,22,38,.22) 100%
    );
}

.ps-hero-content{
    position:relative;
    z-index:3;
    max-width:720px;
    padding:70px 0;
}

.ps-eyebrow{
    display:inline-block;
    font-size:14px;
    font-weight:400;
    letter-spacing:1.7px;
    text-transform:uppercase;
    color:#fff;
    margin-bottom:18px;
}

.ps-hero h1{
    font-size:64px;
    color:#fff;
    margin-bottom:20px;
}

.ps-hero p{
    max-width:520px;
    color:#E5E7EB;
    font-size:19px;
    font-weight:300;
    line-height:1.65;
    margin-bottom:30px;
}

.ps-hero-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

/* FOOTER */

.ps-footer{
    background:var(--ps-dark);
    color:#fff;
    padding:42px 0 26px;
}

.ps-footer-grid{
    display:grid;
    grid-template-columns:2fr 1.2fr 1.2fr 1.3fr;
    gap:56px;
}

.ps-footer-brand img{
    width:240px;
    margin-bottom:24px;
}

.ps-footer-brand p{
    max-width:360px;
    color:#CBD5E1;
    font-size:14px;
    line-height:1.8;
}

.ps-footer-col h4{
    color:#fff;
    font-size:16px;
    margin-bottom:20px;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.ps-footer-col h4::after{
    content:"";
    display:block;
    width:46px;
    height:2px;
    background:var(--ps-red);
    margin-top:5px;
}

.ps-footer-col a,
.ps-footer-col p{
    display:block;
    color:#CBD5E1;
    font-size:15px;
    margin-bottom:5px;
}

.ps-footer-col a:hover{
    color:#fff;
}

.ps-footer-bottom{
    border-top:1px solid rgba(255,255,255,.18);
    margin-top:58px;
    padding-top:24px;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    align-items:center;
    gap:18px;
}

.ps-footer-bottom p,
.ps-footer-bottom a,
.ps-footer-bottom span{
    color:#E5E7EB;
    font-size:14px;
}

.ps-footer-bottom p:nth-child(2){
    text-align:center;
}

.ps-footer-bottom p:nth-child(2) a{
    font-weight:500;
    color:#fff;
}

.ps-footer-bottom p:nth-child(2) a:hover,
.ps-footer-bottom div a:hover{
    color:#EF4444;
}

.ps-footer-bottom div{
    text-align:right;
}

/* FUTURE COMMON CLASSES */

.ps-grid-3{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.ps-card{
    border:1px solid var(--ps-border);
    background:#fff;
    padding:28px;
    border-radius:0;
}

.ps-title{
    font-size:46px;
    margin-bottom:16px;
}

.ps-text{
    color:var(--ps-muted);
    font-size:17px;
    line-height:1.75;
}

/* RESPONSIVE */

@media(max-width:1100px){
    .ps-nav{
        gap:18px;
    }

    .ps-logo img{
        width:190px;
    }
}

@media(max-width:991px){
    .ps-header-inner{
        height:74px;
    }

    .ps-logo img{
        width:170px;
    }

    .ps-menu-toggle{
        display:block;
    }

    .ps-header-btn{
        display:none;
    }

    .ps-nav{
        position:absolute;
        left:0;
        top:74px;
        width:100%;
        display:none;
        flex-direction:column;
        align-items:flex-start;
        gap:0;
        background:#fff;
        border-bottom:1px solid var(--ps-border);
        padding:8px 4%;
    }

    .ps-nav.active{
        display:flex;
    }

    .ps-nav a{
        width:100%;
        padding:14px 0;
        border-bottom:1px solid #F1F5F9;
        font-size:15px;
    }

    .ps-nav a::after{
        display:none;
    }

    .ps-hero{
        min-height:calc(100vh - 74px);
    }

    .ps-hero::after{
        background:linear-gradient(
            180deg,
            rgba(6,22,38,.90) 0%,
            rgba(6,22,38,.74) 58%,
            rgba(6,22,38,.42) 100%
        );
    }

    .ps-hero h1{
        font-size:44px;
    }

    .ps-hero p{
        font-size:17px;
    }

    .ps-grid-3,
    .ps-footer-grid{
        grid-template-columns:1fr;
    }

    .ps-footer-bottom{
        grid-template-columns:1fr;
        text-align:center;
    }

    .ps-footer-bottom div{
        text-align:center;
    }
}

@media(max-width:575px){
    .ps-container{
        width:90%;
    }

    .ps-hero h1{
        font-size:36px;
    }

    .ps-hero-content{
        padding:52px 0;
    }

    .ps-hero-actions{
        flex-direction:column;
    }

    .ps-hero-actions a{
        width:100%;
    }

    .ps-title{
        font-size:34px;
    }

    .ps-footer{
        padding-top:52px;
    }

    .ps-footer-brand img{
        width:200px;
    }
}







.ps-services-section{
    min-height:100vh;
    display:flex;
    align-items:center;
    background:#fff;
    padding:70px 0;
}

.ps-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:30px;
    margin-bottom:34px;
}

.ps-eyebrow-dark{
    display:inline-block;
    color:var(--ps-red);
    font-size:13px;
    font-weight:400;
    letter-spacing:1.6px;
    text-transform:uppercase;
    margin-bottom:12px;
}

.ps-section-head h2{
    font-size:44px;
    font-weight:500;
    margin-bottom:10px;
}

.ps-section-head p{
    color:var(--ps-muted);
    font-size:17px;
    font-weight:300;
}

.ps-view-all{
    border:1px solid var(--ps-red);
    color:var(--ps-red);
    padding:14px 26px;
    font-size:15px;
    font-weight:500;
}

.ps-view-all:hover{
    background:var(--ps-red);
    color:#fff;
}

.ps-services-slider{
    display:flex;
    gap:24px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:16px;
}

.ps-services-slider::-webkit-scrollbar{
    height:6px;
}

.ps-services-slider::-webkit-scrollbar-thumb{
    background:var(--ps-red);
}

.ps-service-card{
    min-width:300px;
    max-width:300px;
    min-height:310px;
    border:1px solid var(--ps-border);
    background:#fff;
    padding:34px 30px;
    scroll-snap-align:start;
    transition:.25s ease;
}

.ps-service-card:hover{
    border-color:var(--ps-red);
}

.ps-service-icon{
    width:72px;
    height:72px;
    background:var(--ps-navy);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:28px;
}

.ps-service-icon svg{
    width:34px;
    height:34px;
    stroke:#fff;
}

.ps-service-card h3{
    font-size:24px;
    font-weight:500;
    line-height:1.2;
    margin-bottom:12px;
    color:var(--ps-navy);
}

.ps-service-card p{
    color:var(--ps-muted);
    font-size:16px;
    font-weight:300;
    line-height:1.7;
}

@media(max-width:767px){
    .ps-services-section{
        min-height:auto;
        padding:54px 0;
    }

    .ps-section-head{
        flex-direction:column;
        align-items:flex-start;
        margin-bottom:26px;
    }

    .ps-section-head h2{
        font-size:34px;
    }

    .ps-services-slider{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:14px;
        overflow:visible;
        padding-bottom:0;
    }

    .ps-service-card{
        min-width:0;
        max-width:100%;
        min-height:230px;
        padding:22px 18px;
    }

    .ps-service-card:nth-child(n+5){
        display:none;
    }

    .ps-service-icon{
        width:54px;
        height:54px;
        margin-bottom:18px;
    }

    .ps-service-icon svg{
        width:26px;
        height:26px;
    }

    .ps-service-card h3{
        font-size:18px;
    }

    .ps-service-card p{
        font-size:14px;
    }

    .ps-view-all{
        width:100%;
        text-align:center;
    }
}








.ps-featured-sites{
    min-height:100vh;
    display:flex;
    align-items:center;
    background:var(--ps-light);
    padding:70px 0;
}

.ps-sites-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:26px;
}

.ps-site-card{
    background:#fff;
    border:1px solid var(--ps-border);
}

.ps-site-image{
    position:relative;
    display:block;
    height:250px;
    overflow:hidden;
    background:var(--ps-navy);
}

.ps-site-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.35s ease;
}

.ps-site-card:hover .ps-site-image img{
    transform:scale(1.04);
}

.ps-site-image span{
    position:absolute;
    top:18px;
    left:18px;
    background:var(--ps-red);
    color:#fff;
    padding:8px 14px;
    font-size:13px;
    font-weight:400;
    text-transform:uppercase;
}

.ps-site-content{
    padding:26px;
}

.ps-site-content h3{
    font-size:24px;
    font-weight:500;
    margin-bottom:8px;
}

.ps-site-content p{
    color:var(--ps-muted);
    font-size:15px;
    margin-bottom:22px;
}

.ps-site-meta{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid var(--ps-border);
    border-bottom:1px solid var(--ps-border);
    margin-bottom:22px;
}

.ps-site-meta div{
    padding:16px 0;
}

.ps-site-meta div + div{
    border-left:1px solid var(--ps-border);
    padding-left:18px;
}

.ps-site-meta strong{
    display:block;
    font-size:13px;
    font-weight:400;
    color:var(--ps-muted);
    margin-bottom:4px;
}

.ps-site-meta span{
    display:block;
    font-size:15px;
    font-weight:400;
    color:var(--ps-navy);
}

.ps-site-link{
    color:var(--ps-red);
    font-size:15px;
    font-weight:500;
}

.ps-site-link:hover{
    color:var(--ps-navy);
}

@media(max-width:991px){
    .ps-featured-sites{
        min-height:auto;
        padding:54px 0;
    }

    .ps-sites-grid{
        grid-template-columns:1fr;
    }

    .ps-site-image{
        height:220px;
    }
}







.ps-locations-section{
    min-height:100vh;
    display:flex;
    align-items:center;
    background:#fff;
    padding:70px 0;
}

.ps-locations-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:22px;
}

.ps-location-card{
    position:relative;
    height:360px;
    overflow:hidden;
    background:var(--ps-navy);
    border:1px solid var(--ps-border);
}

.ps-location-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.78;
    transition:.35s ease;
}

.ps-location-card:hover img{
    transform:scale(1.06);
    opacity:.55;
}

.ps-location-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(15,23,42,.05) 0%, rgba(15,23,42,.88) 100%);
    z-index:1;
}

.ps-location-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:#fff;
    font-size:72px;
    font-weight:500;
    background:var(--ps-navy);
}

.ps-location-content{
    position:absolute;
    left:24px;
    right:24px;
    bottom:24px;
    z-index:2;
}

.ps-location-content span{
    color:#fff;
    font-size:13px;
    font-weight:400;
    letter-spacing:1.4px;
    text-transform:uppercase;
    display:block;
    margin-bottom:10px;
}

.ps-location-content h3{
    color:#fff;
    font-size:24px;
    font-weight:500;
    margin-bottom:8px;
}

.ps-location-content p{
    color:#CBD5E1;
    font-size:15px;
    line-height:1.6;
}

@media(max-width:991px){
    .ps-locations-section{
        min-height:auto;
        padding:54px 0;
    }

    .ps-locations-grid{
        grid-template-columns:1fr 1fr;
        gap:14px;
    }

    .ps-location-card{
        height:260px;
    }
}

@media(max-width:575px){
    .ps-location-card{
        height:220px;
    }

    .ps-location-content{
        left:18px;
        right:18px;
        bottom:18px;
    }

    .ps-location-content h3{
        font-size:20px;
    }
}













.ps-why-section{
    min-height:100vh;
    display:flex;
    align-items:center;
    background:var(--ps-light);
    padding:70px 0;
}

.ps-why-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:70px;
    align-items:center;
}

.ps-why-left h2{
    font-size:46px;
    font-weight:500;
    margin-bottom:18px;
}

.ps-why-left p{
    color:var(--ps-muted);
    font-size:18px;
    line-height:1.75;
    max-width:520px;
    margin-bottom:30px;
}

.ps-why-list{
    display:grid;
    gap:20px;
}

.ps-why-item{
    display:grid;
    grid-template-columns:70px 1fr;
    gap:24px;
    background:#fff;
    border:1px solid var(--ps-border);
    padding:28px;
}

.ps-why-item > span{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    background:var(--ps-navy);
    color:#fff;
    font-size:16px;
    font-weight:500;
}

.ps-why-item h3{
    font-size:24px;
    font-weight:500;
    margin-bottom:8px;
}

.ps-why-item p{
    color:var(--ps-muted);
    font-size:16px;
    line-height:1.7;
}

@media(max-width:991px){
    .ps-why-section{
        min-height:auto;
        padding:54px 0;
    }

    .ps-why-grid{
        grid-template-columns:1fr;
        gap:36px;
    }

    .ps-why-left h2{
        font-size:34px;
    }

    .ps-why-item{
        grid-template-columns:1fr;
    }
}















.ps-testimonials-section{
    min-height:100vh;
    display:flex;
    align-items:center;
    background:#fff;
    padding:70px 0;
    overflow:hidden;
}

.ps-testimonial-marquee{
    width:100%;
    overflow:hidden;
}

.ps-testimonial-track{
    display:flex;
    gap:24px;
    width:max-content;
    animation:psTestimonialSlide 38s linear infinite;
}

.ps-testimonial-marquee:hover .ps-testimonial-track{
    animation-play-state:paused;
}

.ps-testimonial-card{
    width:380px;
    min-height:230px;
    background:var(--ps-light);
    border:1px solid var(--ps-border);
    padding:30px;
    flex-shrink:0;
}

.ps-testimonial-top{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:24px;
}

.ps-avatar{
    width:58px;
    height:58px;
    background:var(--ps-navy);
    color:#fff;
    display:grid;
    place-items:center;
    font-size:22px;
    font-weight:500;
}

.ps-testimonial-top h3{
    font-size:20px;
    font-weight:500;
    margin-bottom:4px;
}

.ps-testimonial-top span{
    color:var(--ps-red);
    font-size:14px;
    font-weight:400;
}

.ps-testimonial-card p{
    color:var(--ps-muted);
    font-size:16px;
    line-height:1.75;
}

@keyframes psTestimonialSlide{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}

@media(max-width:991px){
    .ps-testimonials-section{
        min-height:auto;
        padding:54px 0;
    }

    .ps-testimonial-card{
        width:calc((100vw - 56px) / 2);
        padding:22px;
    }
}

@media(max-width:575px){

    .ps-testimonials-section{
        padding:54px 0;
    }

    .ps-testimonial-card{
        width:320px;
        min-height:240px;
        padding:22px;
    }

    .ps-avatar{
        width:48px;
        height:48px;
        font-size:18px;
    }

    .ps-testimonial-top{
        flex-direction:row;
        align-items:center;
        gap:14px;
    }

    .ps-testimonial-top h3{
        font-size:17px;
    }

    .ps-testimonial-card p{
        font-size:14px;
        line-height:1.7;
    }
}










.ps-blog-section{
    min-height:100vh;
    display:flex;
    align-items:center;
    background:var(--ps-light);
    padding:70px 0;
}

.ps-blog-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:26px;
}

.ps-blog-card{
    background:#fff;
    border:1px solid var(--ps-border);
}

.ps-blog-image{
    height:230px;
    display:block;
    overflow:hidden;
    background:var(--ps-navy);
}

.ps-blog-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.35s ease;
}

.ps-blog-card:hover .ps-blog-image img{
    transform:scale(1.05);
}

.ps-blog-content{
    padding:26px;
}

.ps-blog-content > span{
    color:var(--ps-red);
    font-size:13px;
    font-weight:400;
    letter-spacing:1.2px;
    text-transform:uppercase;
    display:block;
    margin-bottom:14px;
}

.ps-blog-content h3{
    font-size:24px;
    font-weight:500;
    margin-bottom:12px;
}

.ps-blog-content p{
    color:var(--ps-muted);
    font-size:16px;
    line-height:1.7;
    margin-bottom:22px;
}

.ps-blog-link{
    color:var(--ps-red);
    font-size:15px;
    font-weight:500;
}

.ps-blog-link:hover{
    color:var(--ps-navy);
}

@media(max-width:991px){
    .ps-blog-section{
        min-height:auto;
        padding:54px 0;
    }

    .ps-blog-grid{
        grid-template-columns:1fr;
    }

    .ps-blog-image{
        height:220px;
    }
}   










.ps-cta-section{
    background:var(--ps-dark);
    padding:120px 0;
    position:relative;
    overflow:hidden;
}

.ps-cta-section::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:1px;
    background:rgba(255,255,255,.08);
}

.ps-cta-box{
    max-width:900px;
    margin:0 auto;
    text-align:center;
}

.ps-cta-tag{
    display:inline-block;
    color:#CBD5E1;
    font-size:13px;
    font-weight:400;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:20px;
}

.ps-cta-box h2{
    font-size:64px;
    font-weight:500;
    line-height:1.05;
    color:#ffffff;
    margin-bottom:20px;
}

.ps-cta-box p{
    max-width:680px;
    margin:0 auto 36px;
    color:#CBD5E1;
    font-size:18px;
    font-weight:300;
    line-height:1.8;
}

.ps-cta-actions{
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}

.ps-btn-cta-outline{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 30px;
    border:1px solid rgba(255,255,255,.35);
    color:#ffffff;
    font-size:15px;
    font-weight:500;
    transition:.25s ease;
}

.ps-btn-cta-outline:hover{
    background:#ffffff;
    color:var(--ps-dark);
}

@media(max-width:991px){

    .ps-cta-section{
        padding:80px 0;
    }

    .ps-cta-box h2{
        font-size:42px;
    }

    .ps-cta-box p{
        font-size:17px;
    }
}

@media(max-width:575px){

    .ps-cta-box h2{
        font-size:34px;
    }

    .ps-cta-actions{
        flex-direction:column;
    }

    .ps-cta-actions a{
        width:100%;
    }
}














.ps-clients-section{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#fff;
    padding:70px 0;
    overflow:hidden;
}

.ps-clients-head{
    text-align:center;
    margin-bottom:44px;
}

.ps-clients-head h2{
    font-size:44px;
    font-weight:500;
    margin-bottom:10px;
}

.ps-clients-head p{
    color:var(--ps-muted);
    font-size:17px;
    font-weight:300;
}

.ps-logo-marquee{
    width:100%;
    overflow:hidden;
    margin:12px 0;
}

.ps-logo-track{
    display:flex;
    align-items:center;
    gap:42px;
    width:max-content;
}

.ps-logo-left{
    animation:psLogoLeft 42s linear infinite;
}

.ps-logo-right{
    animation:psLogoRight 42s linear infinite;
}

.ps-logo-item{
    width:150px;
    height:82px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    background:transparent;
    border:0;
    padding:0;
}

.ps-logo-item img{
    max-width:145px;
    max-height:74px;
    width:auto;
    height:auto;
    object-fit:contain;
    filter:none;
    opacity:1;
}

.ps-logo-item:hover img{
    filter:none;
    opacity:1;
}

@keyframes psLogoLeft{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}

@keyframes psLogoRight{
    from{
        transform:translateX(-50%);
    }
    to{
        transform:translateX(0);
    }
}

@media(max-width:575px){
    .ps-clients-section{
        min-height:auto;
        padding:54px 0;
    }

    .ps-clients-head h2{
        font-size:34px;
    }

    .ps-logo-track{
        gap:28px;
    }

    .ps-logo-item{
        width:115px;
        height:64px;
    }

    .ps-logo-item img{
        max-width:110px;
        max-height:58px;
    }
}













.ps-page-hero{
    background:var(--ps-dark);
    min-height:250px;
    display:flex;
    align-items:center;
    color:#fff;
}

.ps-page-hero h1{
    color:#fff;
    font-size:58px;
    font-weight:500;
    margin-bottom:14px;
}

.ps-page-hero p{
    color:#CBD5E1;
    font-size:20px;
    font-weight:300;
}

.ps-services-page{
    padding:80px 0;
    background:#fff;
}

.ps-services-page-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:26px;
}

.ps-service-page-card{
    border:1px solid var(--ps-border);
    padding:34px;
    background:#fff;
}

.ps-service-page-card h2{
    font-size:26px;
    font-weight:500;
    margin-bottom:14px;
}

.ps-service-page-card p{
    color:var(--ps-muted);
    font-size:16px;
    line-height:1.75;
    margin-bottom:26px;
}

.ps-service-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.ps-btn-service-outline{
    min-height:52px;
    padding:0 24px;
    border:1px solid var(--ps-red);
    color:var(--ps-red);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    font-weight:500;
}

.ps-btn-service-outline:hover{
    background:var(--ps-red);
    color:#fff;
}

@media(max-width:991px){
    .ps-page-hero{
        min-height:300px;
    }

    .ps-page-hero h1{
        font-size:40px;
    }

    .ps-services-page-grid{
        grid-template-columns:1fr;
    }
}








.ps-billboards-page{
    padding:80px 0;
    background:#fff;
}

.ps-billboard-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.ps-billboard-card{
    border:1px solid var(--ps-border);
    background:#fff;
}

.ps-billboard-img{
    height:260px;
    display:block;
    position:relative;
    overflow:hidden;
}

.ps-billboard-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.35s ease;
}

.ps-billboard-card:hover img{
    transform:scale(1.05);
}

.ps-billboard-img span{
    position:absolute;
    top:18px;
    left:18px;
    background:var(--ps-red);
    color:#fff;
    padding:8px 14px;
    font-size:13px;
    text-transform:uppercase;
}

.ps-billboard-body{
    padding:26px;
}

.ps-billboard-body h2{
    font-size:24px;
    margin-bottom:8px;
}

.ps-billboard-body p{
    color:var(--ps-muted);
    margin-bottom:22px;
}

.ps-billboard-meta{
    display:grid;
    grid-template-columns:1fr 1fr;
    border-top:1px solid var(--ps-border);
    border-bottom:1px solid var(--ps-border);
    margin-bottom:22px;
}

.ps-billboard-meta div{
    padding:16px 0;
}

.ps-billboard-meta div + div{
    border-left:1px solid var(--ps-border);
    padding-left:18px;
}

.ps-billboard-meta strong{
    display:block;
    font-size:13px;
    color:var(--ps-muted);
    font-weight:400;
}

.ps-billboard-meta span{
    display:block;
    font-size:15px;
    color:var(--ps-navy);
    font-weight:400;
}

.ps-billboard-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.ps-projects-section{
    padding:80px 0;
    background:var(--ps-light);
}

.ps-project-gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:220px;
    gap:18px;
}

.ps-project-item{
    overflow:hidden;
    background:var(--ps-navy);
}

.ps-project-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.35s ease;
}

.ps-project-item:hover img{
    transform:scale(1.06);
}

.ps-project-item-1,
.ps-project-item-6{
    grid-column:span 2;
    grid-row:span 2;
}

.ps-project-item-4{
    grid-column:span 2;
}

.ps-pagination{
    margin-top:40px;
}

@media(max-width:991px){
    .ps-billboard-grid{
        grid-template-columns:1fr;
    }

    .ps-project-gallery{
        grid-template-columns:1fr 1fr;
        grid-auto-rows:180px;
    }

    .ps-project-item-1,
    .ps-project-item-6,
    .ps-project-item-4{
        grid-column:span 2;
        grid-row:span 1;
    }
}











.ps-detail-hero{
    min-height:calc(100vh - 88px);
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:var(--ps-dark);
}

.ps-detail-hero-img,
.ps-detail-hero-img img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.ps-detail-hero-img img{
    object-fit:cover;
}

.ps-detail-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(6,22,38,.92), rgba(6,22,38,.55), rgba(6,22,38,.18));
    z-index:1;
}

.ps-detail-content{
    position:relative;
    z-index:2;
}

.ps-detail-content h1{
    color:#fff;
    font-size:64px;
    max-width:760px;
    margin-bottom:16px;
}

.ps-detail-content p{
    color:#CBD5E1;
    font-size:20px;
    margin-bottom:30px;
}

.ps-detail-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.ps-detail-info{
    min-height:100vh;
    display:flex;
    align-items:center;
    background:#fff;
    padding:80px 0;
}

.ps-detail-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:70px;
    align-items:center;
}

.ps-detail-grid h2{
    font-size:46px;
    margin-bottom:18px;
}

.ps-detail-grid p{
    color:var(--ps-muted);
    font-size:18px;
    line-height:1.8;
}

.ps-info-panel{
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid var(--ps-border);
}

.ps-info-panel div{
    padding:26px;
    border-bottom:1px solid var(--ps-border);
}

.ps-info-panel div:nth-child(odd){
    border-right:1px solid var(--ps-border);
}

.ps-info-panel strong{
    display:block;
    font-size:13px;
    color:var(--ps-muted);
    font-weight:400;
    margin-bottom:8px;
    text-transform:uppercase;
}

.ps-info-panel span{
    color:var(--ps-navy);
    font-size:18px;
    font-weight:500;
}

.ps-gallery-section{
    padding:80px 0;
    background:var(--ps-light);
}

.ps-detail-gallery{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:220px;
    gap:18px;
}

.ps-gallery-item{
    overflow:hidden;
    background:var(--ps-navy);
}

.ps-gallery-item:first-child{
    grid-column:span 2;
    grid-row:span 2;
}

.ps-gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.35s ease;
}

.ps-gallery-item:hover img{
    transform:scale(1.06);
}

@media(max-width:991px){
    .ps-detail-hero{
        min-height:calc(100vh - 74px);
    }

    .ps-detail-content h1{
        font-size:42px;
    }

    .ps-detail-info{
        min-height:auto;
        padding:54px 0;
    }

    .ps-detail-grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .ps-info-panel{
        grid-template-columns:1fr;
    }

    .ps-info-panel div:nth-child(odd){
        border-right:0;
    }

    .ps-detail-gallery{
        grid-template-columns:1fr;
        grid-auto-rows:220px;
    }

    .ps-gallery-item:first-child{
        grid-column:auto;
        grid-row:auto;
    }
}











.ps-contact-hero{
    min-height:calc(100vh - 88px);
    display:flex;
    align-items:center;
    background:
        linear-gradient(135deg, rgba(6,22,38,.98), rgba(15,23,42,.96)),
        radial-gradient(circle at 80% 20%, rgba(127,29,29,.32), transparent 35%);
    padding:80px 0;
    position:relative;
    overflow:hidden;
}

.ps-contact-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:44px 44px;
    opacity:.55;
}

.ps-contact-hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:.95fr 1.05fr;
    gap:60px;
    align-items:center;
}

.ps-contact-hero-content h1{
    max-width:620px;
    color:#fff;
    font-size:58px;
    font-weight:500;
    margin-bottom:18px;
}

.ps-contact-hero-content > p{
    max-width:560px;
    color:#CBD5E1;
    font-size:18px;
    line-height:1.7;
    margin-bottom:30px;
}

.ps-contact-cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:30px;
}

.ps-contact-card{
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.04);
    padding:22px;
}

.ps-contact-card-full{
    grid-column:span 2;
}

.ps-contact-card strong{
    display:block;
    color:#fff;
    font-size:15px;
    font-weight:500;
    margin-bottom:10px;
}

.ps-contact-card a,
.ps-contact-card span{
    display:block;
    color:#CBD5E1;
    font-size:15px;
    line-height:1.7;
    font-weight:300;
}

.ps-contact-card a:hover{
    color:#fff;
}

.ps-contact-form-premium{
    background:#fff;
    border:1px solid rgba(255,255,255,.18);
    padding:36px;
}

.ps-form-title{
    margin-bottom:26px;
}

.ps-form-title h2{
    font-size:34px;
    font-weight:500;
    margin-bottom:8px;
}

.ps-form-title p{
    color:var(--ps-muted);
    font-size:15px;
}

.ps-form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.ps-contact-form-premium label{
    display:block;
    color:var(--ps-navy);
    font-size:14px;
    font-weight:400;
    margin-bottom:8px;
}

.ps-contact-form-premium input,
.ps-contact-form-premium select,
.ps-contact-form-premium textarea{
    width:100%;
    border:1px solid var(--ps-border);
    background:#fff;
    color:var(--ps-text);
    padding:15px;
    font-family:'Outfit', sans-serif;
    font-size:15px;
    font-weight:300;
    margin-bottom:18px;
    border-radius:0;
}

.ps-contact-form-premium input:focus,
.ps-contact-form-premium select:focus,
.ps-contact-form-premium textarea:focus{
    outline:none;
    border-color:var(--ps-red);
}

.ps-contact-form-premium button{
    border-radius:0;
    cursor:pointer;
    border:0;
}

@media(max-width:991px){
    .ps-contact-hero{
        min-height:auto;
        padding:58px 0;
    }

    .ps-contact-hero-grid{
        grid-template-columns:1fr;
        gap:36px;
    }

    .ps-contact-hero-content h1{
        font-size:40px;
    }

    .ps-form-row,
    .ps-contact-cards{
        grid-template-columns:1fr;
    }

    .ps-contact-card-full{
        grid-column:auto;
    }

    .ps-contact-form-premium{
        padding:24px;
    }
}

@media(max-width:575px){
    .ps-contact-hero-content h1{
        font-size:34px;
    }

    .ps-contact-hero-content > p{
        font-size:16px;
    }
}









.ps-about-premium-hero{
    min-height:calc(100vh - 88px);
    display:flex;
    align-items:center;
    background:
        linear-gradient(135deg, rgba(6,22,38,.98), rgba(15,23,42,.96)),
        radial-gradient(circle at 85% 15%, rgba(127,29,29,.28), transparent 34%);
    position:relative;
    overflow:hidden;
    padding:80px 0;
}

.ps-about-premium-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:46px 46px;
    opacity:.5;
}

.ps-about-premium-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr .75fr;
    gap:70px;
    align-items:center;
}

.ps-about-premium-hero h1{
    color:#fff;
    font-size:64px;
    max-width:680px;
    margin-bottom:20px;
}

.ps-about-premium-hero p{
    color:#CBD5E1;
    max-width:560px;
    font-size:19px;
    line-height:1.7;
}

.ps-about-hero-panel{
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.04);
    padding:42px;
}

.ps-about-hero-panel span{
    color:#CBD5E1;
    font-size:13px;
    letter-spacing:1.6px;
    text-transform:uppercase;
}

.ps-about-hero-panel h3{
    color:#fff;
    font-size:34px;
    margin:18px 0 14px;
}

.ps-about-hero-panel p{
    font-size:16px;
}

.ps-about-story{
    min-height:70vh;
    display:flex;
    align-items:center;
    background:#fff;
    padding:80px 0;
}

.ps-about-story-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:80px;
}

.ps-about-story-title h2{
    font-size:52px;
}

.ps-about-story-text p{
    color:var(--ps-muted);
    font-size:19px;
    line-height:1.9;
    margin-bottom:20px;
}

.ps-ceo-premium{
    min-height:90vh;
    display:flex;
    align-items:center;
    background:var(--ps-light);
    padding:80px 0;
}

.ps-ceo-premium-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:80px;
    align-items:center;
}

.ps-ceo-premium-image{
    height:620px;
    background:var(--ps-navy);
    overflow:hidden;
}

.ps-ceo-premium-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.ps-ceo-premium-content h2{
    font-size:58px;
    margin-bottom:8px;
}

.ps-ceo-premium-content h3{
    color:var(--ps-red);
    font-size:22px;
    margin-bottom:24px;
}

.ps-ceo-premium-content p{
    color:var(--ps-muted);
    font-size:19px;
    line-height:1.85;
    max-width:620px;
    margin-bottom:28px;
}

.ps-ceo-signature{
    border-left:4px solid var(--ps-red);
    padding-left:18px;
}

.ps-ceo-signature strong{
    display:block;
    font-size:20px;
    color:var(--ps-navy);
    font-weight:500;
}

.ps-ceo-signature span{
    color:var(--ps-muted);
    font-size:15px;
}

.ps-values-premium{
    min-height:90vh;
    display:flex;
    align-items:center;
    background:#fff;
    padding:80px 0;
}

.ps-values-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.ps-value-card{
    border:1px solid var(--ps-border);
    padding:32px;
    background:#fff;
}

.ps-value-card span{
    width:52px;
    height:52px;
    background:var(--ps-navy);
    color:#fff;
    display:grid;
    place-items:center;
    font-weight:500;
    margin-bottom:24px;
}

.ps-value-card h3{
    font-size:24px;
    margin-bottom:12px;
}

.ps-value-card p{
    color:var(--ps-muted);
    font-size:16px;
    line-height:1.75;
}

@media(max-width:991px){
    .ps-about-premium-hero,
    .ps-about-story,
    .ps-ceo-premium,
    .ps-values-premium{
        min-height:auto;
        padding:58px 0;
    }

    .ps-about-premium-grid,
    .ps-about-story-grid,
    .ps-ceo-premium-grid,
    .ps-values-grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .ps-about-premium-hero h1,
    .ps-about-story-title h2,
    .ps-ceo-premium-content h2{
        font-size:38px;
    }

    .ps-ceo-premium-image{
        height:420px;
    }
}








.ps-blog-hero,
.ps-blog-detail-hero{
    min-height:250px;
    display:flex;
    align-items:center;
    background:
        linear-gradient(135deg, rgba(6,22,38,.98), rgba(15,23,42,.95)),
        radial-gradient(circle at 80% 20%, rgba(127,29,29,.28), transparent 34%);
    position:relative;
    overflow:hidden;
}

.ps-blog-hero::before,
.ps-blog-detail-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:46px 46px;
    opacity:.5;
}

.ps-blog-hero .ps-container,
.ps-blog-detail-hero .ps-container{
    position:relative;
    z-index:2;
}

.ps-blog-hero h1,
.ps-blog-detail-hero h1{
    color:#fff;
    font-size:58px;
    max-width:820px;
    margin-bottom:16px;
}

.ps-blog-hero p,
.ps-blog-detail-hero p{
    color:#CBD5E1;
    font-size:18px;
}

.ps-blog-listing{
    padding:80px 0;
    background:#fff;
}

.ps-blog-detail-page{
    padding:80px 0;
    background:#fff;
}

.ps-blog-detail-wrap{
    max-width:980px;
}

.ps-blog-detail-image{
    height:520px;
    overflow:hidden;
    background:var(--ps-navy);
    margin-bottom:40px;
}

.ps-blog-detail-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.ps-blog-body{
    color:var(--ps-text);
    font-size:18px;
    line-height:1.9;
}

.ps-blog-body h2,
.ps-blog-body h3,
.ps-blog-body h4{
    margin:34px 0 14px;
}

.ps-blog-body p{
    color:var(--ps-muted);
    margin-bottom:18px;
}

.ps-blog-body ul,
.ps-blog-body ol{
    margin:18px 0 18px 22px;
    color:var(--ps-muted);
}

.ps-blog-body li{
    margin-bottom:10px;
}

.ps-blog-body a{
    color:var(--ps-red);
    font-weight:400;
}

@media(max-width:991px){
    .ps-blog-hero,
    .ps-blog-detail-hero{
        min-height:330px;
    }

    .ps-blog-hero h1,
    .ps-blog-detail-hero h1{
        font-size:38px;
    }

    .ps-blog-listing,
    .ps-blog-detail-page{
        padding:54px 0;
    }

    .ps-blog-detail-image{
        height:280px;
    }
}














.ps-rates-hero{
    min-height:250px;
    display:flex;
    align-items:center;
    background:
        linear-gradient(135deg, rgba(6,22,38,.98), rgba(15,23,42,.95)),
        radial-gradient(circle at 80% 20%, rgba(127,29,29,.28), transparent 34%);
    position:relative;
    overflow:hidden;
}

.ps-rates-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:46px 46px;
    opacity:.5;
}

.ps-rates-hero .ps-container{
    position:relative;
    z-index:2;
}

.ps-rates-hero h1{
    color:#fff;
    font-size:58px;
    margin-bottom:16px;
}

.ps-rates-hero p{
    color:#CBD5E1;
    font-size:18px;
}

.ps-rates-page{
    padding:80px 0;
    background:#fff;
}

.ps-rates-table-wrap{
    width:100%;
    overflow-x:auto;
    border:1px solid var(--ps-border);
}

.ps-rates-table{
    width:100%;
    min-width:980px;
    border-collapse:collapse;
    background:#fff;
}

.ps-rates-table th{
    background:var(--ps-navy);
    color:#fff;
    text-align:left;
    padding:18px;
    font-size:14px;
    font-weight:500;
    text-transform:uppercase;
}

.ps-rates-table td{
    padding:20px 18px;
    border-bottom:1px solid var(--ps-border);
    color:var(--ps-text);
    font-size:15px;
    vertical-align:middle;
}

.ps-rates-table td strong{
    display:block;
    font-size:16px;
    font-weight:500;
    color:var(--ps-navy);
    margin-bottom:4px;
}

.ps-rates-table td span{
    display:block;
    color:var(--ps-muted);
    font-size:14px;
}

.ps-status-badge{
    display:inline-block !important;
    background:rgba(127,29,29,.08);
    color:var(--ps-red) !important;
    padding:7px 12px;
    font-size:13px !important;
    font-weight:400 !important;
    text-transform:uppercase;
}

.ps-rates-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.ps-rates-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:0 14px;
    border:1px solid var(--ps-red);
    color:var(--ps-red);
    font-size:13px;
    font-weight:500;
}

.ps-rates-actions a:first-child{
    background:var(--ps-red);
    color:#fff;
}

.ps-rates-actions a:hover{
    background:var(--ps-navy);
    border-color:var(--ps-navy);
    color:#fff;
}

@media(max-width:991px){
    .ps-rates-hero{
        min-height:330px;
    }

    .ps-rates-hero h1{
        font-size:38px;
    }

    .ps-rates-page{
        padding:54px 0;
    }
}







.ps-service-detail-hero{
    min-height:250px;
    display:flex;
    align-items:center;
    background:
        linear-gradient(135deg, rgba(6,22,38,.98), rgba(15,23,42,.95)),
        radial-gradient(circle at 85% 18%, rgba(127,29,29,.30), transparent 34%);
    position:relative;
    overflow:hidden;
}

.ps-service-detail-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:46px 46px;
    opacity:.5;
}

.ps-service-detail-hero .ps-container{
    position:relative;
    z-index:2;
}

.ps-service-detail-hero h1{
    color:#fff;
    font-size:62px;
    max-width:760px;
    margin-bottom:18px;
}

.ps-service-detail-hero p{
    max-width:560px;
    color:#CBD5E1;
    font-size:18px;
    line-height:1.7;
    margin-bottom:30px;
}

.ps-service-overview{
    min-height:80vh;
    display:flex;
    align-items:center;
    background:#fff;
    padding:80px 0;
}

.ps-service-overview-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:70px;
    align-items:center;
}

.ps-service-overview h2{
    font-size:48px;
    margin-bottom:18px;
}

.ps-service-overview p{
    color:var(--ps-muted);
    font-size:18px;
    line-height:1.85;
}

.ps-service-info-panel{
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid var(--ps-border);
}

.ps-service-info-panel div{
    padding:28px;
    border-bottom:1px solid var(--ps-border);
}

.ps-service-info-panel div:nth-child(odd){
    border-right:1px solid var(--ps-border);
}

.ps-service-info-panel strong{
    display:block;
    color:var(--ps-muted);
    font-size:13px;
    font-weight:400;
    text-transform:uppercase;
    margin-bottom:8px;
}

.ps-service-info-panel span{
    color:var(--ps-navy);
    font-size:18px;
    font-weight:500;
}

.ps-service-benefits{
    min-height:90vh;
    display:flex;
    align-items:center;
    background:var(--ps-light);
    padding:80px 0;
}

.ps-service-process{
    min-height:90vh;
    display:flex;
    align-items:center;
    background:#fff;
    padding:80px 0;
}

.ps-process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.ps-process-card{
    border:1px solid var(--ps-border);
    padding:32px;
    background:#fff;
}

.ps-process-card strong{
    width:52px;
    height:52px;
    background:var(--ps-navy);
    color:#fff;
    display:grid;
    place-items:center;
    font-weight:500;
    margin-bottom:24px;
}

.ps-process-card h3{
    font-size:24px;
    margin-bottom:12px;
}

.ps-process-card p{
    color:var(--ps-muted);
    font-size:16px;
    line-height:1.75;
}

@media(max-width:991px){
    .ps-service-detail-hero{
        min-height:360px;
        padding:58px 0;
    }

    .ps-service-detail-hero h1{
        font-size:38px;
    }

    .ps-service-overview,
    .ps-service-benefits,
    .ps-service-process{
        min-height:auto;
        padding:54px 0;
    }

    .ps-service-overview-grid,
    .ps-service-info-panel,
    .ps-process-grid{
        grid-template-columns:1fr;
    }

    .ps-service-info-panel div:nth-child(odd){
        border-right:0;
    }
}












.ps-thank-you-section{
    min-height:calc(100vh - 88px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:80px 0;
    background:
        linear-gradient(135deg, rgba(6,22,38,.98), rgba(15,23,42,.95)),
        radial-gradient(circle at 80% 20%, rgba(127,29,29,.28), transparent 34%);
    position:relative;
    overflow:hidden;
}

.ps-thank-you-section::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:46px 46px;
    opacity:.5;
}

.ps-thank-you-box{
    position:relative;
    z-index:2;
    max-width:980px;
    margin:0 auto;
    text-align:center;
}

.ps-thank-you-icon{
    width:90px;
    height:90px;
    margin:0 auto 26px;
    display:grid;
    place-items:center;
    background:#fff;
    color:var(--ps-red);
    font-size:38px;
    font-weight:500;
}

.ps-thank-you-box h1{
    color:#fff;
    font-size:68px;
    font-weight:500;
    margin-bottom:18px;
}

.ps-thank-you-box > p{
    max-width:700px;
    margin:0 auto 50px;
    color:#CBD5E1;
    font-size:19px;
    line-height:1.8;
}

.ps-next-steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-bottom:40px;
}

.ps-step-card{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.12);
    padding:30px;
}

.ps-step-card span{
    width:50px;
    height:50px;
    margin:0 auto 18px;
    display:grid;
    place-items:center;
    background:#fff;
    color:var(--ps-red);
    font-weight:500;
}

.ps-step-card h3{
    color:#fff;
    font-size:22px;
    margin-bottom:10px;
}

.ps-step-card p{
    color:#CBD5E1;
    font-size:15px;
    line-height:1.7;
}

.ps-thank-actions{
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}

@media(max-width:991px){

    .ps-thank-you-section{
        min-height:auto;
        padding:60px 0;
    }

    .ps-thank-you-box h1{
        font-size:42px;
    }

    .ps-next-steps{
        grid-template-columns:1fr;
    }
}

@media(max-width:575px){

    .ps-thank-you-box h1{
        font-size:34px;
    }

    .ps-thank-you-box > p{
        font-size:16px;
    }

    .ps-thank-actions{
        flex-direction:column;
    }

    .ps-thank-actions a{
        width:100%;
    }
}





.ps-footer-social{
display:flex;
align-items:center;
gap:10px;
margin-top:24px;
}

.ps-footer-social a{
width:42px;
height:42px;
display:flex;
align-items:center;
justify-content:center;
border:1px solid rgba(255,255,255,.15);
color:#fff;
transition:.3s ease;
}

.ps-footer-social a:hover{
background:var(--ps-red);
border-color:var(--ps-red);
transform:translateY(-2px);
}

.ps-footer-social i{
font-size:15px;
}

.ps-footer-col p{
line-height:1.8;
}













.ps-legal-page{
    padding:80px 0;
    background:#fff;
}

.ps-legal-content{
    max-width:900px;
}

.ps-legal-content h2{
    font-size:32px;
    font-weight:500;
    color:var(--ps-navy);
    margin:40px 0 16px;
}

.ps-legal-content p{
    font-size:18px;
    line-height:1.9;
    color:var(--ps-muted);
}

@media(max-width:991px){

    .ps-legal-page{
        padding:54px 0;
    }

    .ps-legal-content h2{
        font-size:24px;
    }

    .ps-legal-content p{
        font-size:16px;
    }
}