:root{--red:#ae2624;--red2:#e52b29;--dark:#1e1e1e;--dark2:#2a2a29;--card:#fff;--ink:#202226;--muted:#6d737c;--line:#e2e4e8;--soft:#f5f6f7;--green:#426146;--radius:22px;--shadow:0 18px 50px rgba(0,0,0,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:#f6f6f5;line-height:1.55}a{color:inherit;text-decoration:none}.site-wrap{width:min(1180px,calc(100% - 34px));margin:auto}.site-top{background:var(--red);color:#fff;font-size:12px;font-weight:700}.top-inner{min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:12px}.top-inner div{display:flex;gap:8px;align-items:center}.site-header{position:sticky;top:0;z-index:50;background:rgba(30,30,30,.96);backdrop-filter:blur(12px);box-shadow:0 10px 28px rgba(0,0,0,.16)}.nav-row{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;color:#fff;min-width:220px}.brand img{width:62px;height:46px;object-fit:contain;background:#fff;border-radius:11px;padding:5px}.brand span{display:grid}.brand b{font-size:15px}.brand small{color:#b9bdc3;font-size:10px}.site-nav{display:flex;align-items:center;gap:5px}.site-nav a{color:#f2f2f2;padding:10px 10px;border-radius:10px;font-size:12px;font-weight:750}.site-nav a:hover{background:#383837}.site-nav .portal-link,.site-nav .quote-link{background:var(--red);color:#fff}.quote-link span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;background:#fff;color:var(--red);border-radius:20px;font-size:9px}.nav-toggle{display:none;border:0;background:#383837;color:#fff;border-radius:10px;padding:9px 11px;font-size:20px}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 10%,rgba(229,43,41,.24),transparent 35%),linear-gradient(135deg,#151514,#252524 65%,#3a2524);color:#fff}.hero:before{content:"";position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.05) 48%,transparent 60%);animation:sweep 9s linear infinite}.hero-inner{position:relative;z-index:2;min-height:590px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;padding:70px 0}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.06);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-size:clamp(40px,6vw,72px);line-height:.98;margin:18px 0 18px;max-width:800px}.hero h1 em{font-style:normal;color:#ff5753}.hero p{font-size:17px;color:#d6d8dc;max-width:680px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:0;border-radius:12px;background:var(--red);color:#fff;font-weight:850;font-size:12px;cursor:pointer;box-shadow:0 12px 28px rgba(174,38,36,.25)}.btn:hover{transform:translateY(-1px)}.btn.light{background:#fff;color:var(--dark)}.btn.dark{background:var(--dark)}.btn.outline{background:transparent;border:1px solid #cfd2d8;color:var(--ink);box-shadow:none}.hero-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px;perspective:900px}.hero-chip{min-height:150px;padding:20px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);box-shadow:0 18px 50px rgba(0,0,0,.2);animation:floaty 5s ease-in-out infinite}.hero-chip:nth-child(2){animation-delay:-1s}.hero-chip:nth-child(3){animation-delay:-2s}.hero-chip:nth-child(4){animation-delay:-3s}.hero-chip b{display:block;font-size:27px;margin-bottom:7px}.hero-chip span{color:#c9cbd0;font-size:11px}.section{padding:72px 0}.section.white{background:#fff}.section.dark{background:var(--dark);color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section-head h1,.section-head h2{margin:0;font-size:clamp(28px,4vw,42px);line-height:1.05}.section-head p{margin:8px 0 0;color:var(--muted);max-width:690px}.section.dark .section-head p{color:#b7bbc1}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.25s}.card:hover{transform:translateY(-5px);box-shadow:0 24px 65px rgba(0,0,0,.12)}.card-img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e9eaec}.card-body{padding:20px}.card h3{margin:0 0 7px;font-size:18px}.card p{margin:0;color:var(--muted);font-size:12px}.card-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:16px}.badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:850;background:#eceef1}.badge.in{background:#e4f1e6;color:#315438}.badge.low{background:#fff0c8;color:#765900}.badge.out{background:#fde5e3;color:#8b2c25}.price{font-size:17px;font-weight:900;color:var(--red)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service{padding:22px;border-radius:20px;background:#282827;border:1px solid #3a3a39}.service .icon{font-size:32px}.service h3{margin:12px 0 5px}.service p{margin:0;color:#b7bbc1;font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:800;color:#565b63}.input,.select,.textarea{width:100%;border:1px solid #cfd3d9;border-radius:12px;background:#fff;padding:12px 13px;font:inherit;font-size:13px}.textarea{min-height:125px;resize:vertical}.alert{padding:12px 14px;border-radius:12px;font-weight:800;margin-bottom:14px}.alert.ok{background:#e3f2e6;color:#315438}.alert.err{background:#fde6e4;color:#842c24}.product-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.product-toolbar .input,.product-toolbar .select{max-width:280px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}.branch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.branch-card{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}.branch-card h3{margin:0 0 7px}.branch-card p{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{text-align:left;padding:11px 10px;border-bottom:1px solid #eceef1;font-size:12px}.table th{font-size:10px;text-transform:uppercase;color:#626872;background:#fafafa}.portal-shell{display:grid;grid-template-columns:240px 1fr;gap:16px;align-items:start}.portal-menu{position:sticky;top:100px;display:grid;gap:6px}.portal-menu a{padding:11px 12px;border-radius:10px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:800}.portal-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.portal-kpi{padding:16px;border-radius:16px;background:#fff;border:1px solid var(--line)}.portal-kpi strong{font-size:24px;display:block;color:var(--red)}.site-footer{background:#171716;color:#fff;padding:50px 0 20px;border-top:4px solid var(--red)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}.footer-grid a{display:block;color:#c6c8cc;font-size:12px;margin:7px 0}.footer-grid p{color:#aaa;font-size:12px}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{width:58px;height:44px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}.footer-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #333;margin-top:30px;padding-top:18px;color:#8f939a;font-size:10px}.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#267d4d;color:#fff;font-weight:900;box-shadow:0 16px 32px rgba(0,0,0,.22)}.empty{padding:35px;text-align:center;border:1px dashed #cfd3d9;border-radius:18px;color:var(--muted)}@keyframes floaty{0%,100%{transform:translateY(0) rotateX(0)}50%{transform:translateY(-8px) rotateX(2deg)}}@keyframes sweep{to{transform:translateX(45%)}}@media(max-width:980px){.site-nav{display:none;position:absolute;left:17px;right:17px;top:76px;background:#252524;border:1px solid #3a3a39;border-radius:16px;padding:10px;flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.nav-toggle{display:block}.hero-inner{grid-template-columns:1fr;min-height:auto}.hero-panel{max-width:600px}.cards{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.branch-grid{grid-template-columns:1fr 1fr}.portal-shell{grid-template-columns:1fr}.portal-menu{position:static;grid-template-columns:repeat(3,1fr)}.portal-kpis{grid-template-columns:1fr 1fr}}@media(max-width:620px){.top-inner>span{display:none}.top-inner{justify-content:center}.brand span small{display:none}.brand{min-width:auto}.brand img{width:54px}.section{padding:52px 0}.hero-inner{padding:52px 0}.hero-panel{grid-template-columns:1fr 1fr}.hero-chip{min-height:120px;padding:16px}.cards,.service-grid,.branch-grid,.split,.footer-grid,.form-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.field.full{grid-column:auto}.portal-menu{grid-template-columns:1fr 1fr}.portal-kpis{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column}.site-wrap{width:min(100% - 24px,1180px)}}


/* ==========================================================================
   PARTNER IT WEBSITE - HEADER / BRAND / SOCIAL FINAL V3
   ========================================================================== */

.site-top{
    position:relative;
    z-index:70;
    background:
        linear-gradient(90deg,#8d1d1b 0%,#ae2624 45%,#c82b28 100%)!important;
    color:#fff;
    box-shadow:0 1px 0 rgba(255,255,255,.08) inset;
}

.top-inner{
    min-height:38px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
}

.top-brand-note{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    font-size:11px;
    font-weight:850;
    white-space:nowrap;
}

.top-pulse{
    width:7px;
    height:7px;
    border-radius:999px;
    background:#fff;
    box-shadow:0 0 0 0 rgba(255,255,255,.5);
    animation:partnerPulse 2.4s ease-out infinite;
}

.top-right{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:14px!important;
    min-width:0;
}

.top-contact{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    min-width:0;
}

.top-contact a{
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    color:#fff!important;
    font-size:10px!important;
    font-weight:800!important;
    white-space:nowrap;
    opacity:.96;
}

.top-contact a:hover{
    opacity:1;
    text-decoration:underline;
    text-underline-offset:3px;
}

.top-separator{
    opacity:.5;
}

.top-socials,
.footer-socials{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
}

.social-button{
    position:relative;
    flex:0 0 auto;
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.35)!important;
    border-radius:999px!important;
    color:#fff!important;
    background:rgba(255,255,255,.08)!important;
    font-size:9px!important;
    font-weight:950!important;
    line-height:1!important;
    box-shadow:none!important;
    transition:
        transform .18s ease,
        background .18s ease,
        color .18s ease,
        border-color .18s ease!important;
}

.social-button:hover{
    transform:translateY(-2px) scale(1.04);
    background:#fff!important;
    color:#ae2624!important;
    border-color:#fff!important;
}

.site-header{
    position:sticky!important;
    top:0!important;
    z-index:65!important;
    background:rgba(27,27,27,.975)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    box-shadow:0 10px 32px rgba(0,0,0,.18)!important;
    border-bottom:1px solid rgba(255,255,255,.06);
    transition:
        background .22s ease,
        box-shadow .22s ease!important;
}

.nav-row{
    min-height:104px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;
    transition:min-height .22s ease!important;
}

.brand.brand-main{
    flex:0 0 auto!important;
    width:360px!important;
    min-width:360px!important;
    max-width:360px!important;
    height:88px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
}

.main-logo-frame{
    width:100%!important;
    height:82px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:5px 10px!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid rgba(255,255,255,.2)!important;
    border-radius:13px!important;
    box-shadow:
        0 12px 30px rgba(0,0,0,.22),
        inset 0 0 0 1px rgba(0,0,0,.03)!important;
    transition:
        height .22s ease,
        box-shadow .22s ease,
        transform .22s ease!important;
}

.brand.brand-main:hover .main-logo-frame{
    transform:translateY(-1px);
    box-shadow:
        0 16px 36px rgba(0,0,0,.28),
        inset 0 0 0 1px rgba(0,0,0,.03)!important;
}

/* Strong override against all older .brand img rules. */
.brand.brand-main .main-logo-frame > img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
}

.brand-fallback{
    color:#fff;
    display:grid;
}

.brand-fallback strong{
    font-size:18px;
}

.brand-fallback small{
    color:#b9bdc3;
    font-size:10px;
}

.site-nav{
    flex:1 1 auto!important;
    min-width:0;
    display:flex;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:3px!important;
}

.site-nav > a{
    position:relative;
    flex:0 0 auto;
    color:#f2f2f2!important;
    padding:10px 8px!important;
    border-radius:10px!important;
    font-size:11px!important;
    font-weight:800!important;
    white-space:nowrap;
    transition:
        color .18s ease,
        background .18s ease,
        transform .18s ease!important;
}

.site-nav > a:not(.quote-link):not(.portal-link):hover{
    background:#383837!important;
    transform:translateY(-1px);
}

.site-nav > a.active:not(.quote-link):not(.portal-link){
    color:#fff!important;
    background:rgba(174,38,36,.24)!important;
}

.site-nav > a.active:not(.quote-link):not(.portal-link)::after{
    content:"";
    position:absolute;
    left:9px;
    right:9px;
    bottom:3px;
    height:2px;
    border-radius:999px;
    background:#e52b29;
}

.site-nav .quote-link,
.site-nav .portal-link{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    min-height:38px!important;
    color:#fff!important;
    background:linear-gradient(180deg,#c8322f,#a62220)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 8px 20px rgba(174,38,36,.16)!important;
}

.site-nav .quote-link:hover,
.site-nav .portal-link:hover{
    transform:translateY(-1px);
    background:linear-gradient(180deg,#db3935,#b42623)!important;
}

.quote-count{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:19px!important;
    height:19px!important;
    padding:0 5px!important;
    border-radius:999px!important;
    background:#fff!important;
    color:#ae2624!important;
    font-size:9px!important;
    font-weight:950!important;
}

.nav-toggle{
    display:none;
    width:44px;
    height:42px;
    padding:10px!important;
    border:1px solid #444!important;
    border-radius:11px!important;
    background:#2e2e2d!important;
    cursor:pointer;
}

.nav-toggle span{
    display:block;
    width:100%;
    height:2px;
    margin:4px 0;
    border-radius:99px;
    background:#fff;
    transition:transform .18s ease,opacity .18s ease;
}

.nav-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0;
}

.nav-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
}

.site-header.is-scrolled .nav-row{
    min-height:84px!important;
}

.site-header.is-scrolled .brand.brand-main{
    height:72px!important;
}

.site-header.is-scrolled .main-logo-frame{
    height:67px!important;
    box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}

/* Footer */
.footer-company{
    min-width:0;
}

.footer-logo-frame{
    width:min(390px,100%)!important;
    height:116px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:8px 12px!important;
    overflow:hidden!important;
    border-radius:14px!important;
    background:#fff!important;
    border:1px solid #2d2d2c!important;
    box-shadow:0 14px 32px rgba(0,0,0,.16);
}

.footer-logo-frame img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    padding:0!important;
    margin:0!important;
    border-radius:0!important;
    background:#fff!important;
    object-fit:contain!important;
    object-position:center!important;
}

.footer-tagline{
    max-width:390px;
    margin:14px 0 0!important;
}

.footer-socials{
    margin-top:16px!important;
    flex-wrap:wrap;
}

.footer-social-button{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    background:#282827!important;
    border-color:#444!important;
}

/* Keep main content from moving under sticky header anchors. */
html{
    scroll-padding-top:115px;
}

@keyframes partnerPulse{
    0%{box-shadow:0 0 0 0 rgba(255,255,255,.5)}
    70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}
    100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}
}

@media(max-width:1180px){
    .brand.brand-main{
        width:310px!important;
        min-width:310px!important;
        max-width:310px!important;
    }

    .site-nav > a{
        padding:9px 6px!important;
        font-size:10px!important;
    }
}

@media(max-width:1020px){
    .nav-row{
        min-height:90px!important;
    }

    .brand.brand-main{
        width:300px!important;
        min-width:300px!important;
        max-width:300px!important;
        height:76px!important;
    }

    .main-logo-frame{
        height:72px!important;
    }

    .nav-toggle{
        display:block!important;
        margin-left:auto;
    }

    .site-nav{
        display:none!important;
        position:absolute!important;
        left:17px!important;
        right:17px!important;
        top:calc(100% - 2px)!important;
        z-index:100!important;
        max-height:calc(100vh - 115px);
        overflow:auto;
        padding:12px!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:5px!important;
        background:rgba(32,32,31,.99)!important;
        border:1px solid #444!important;
        border-radius:0 0 16px 16px!important;
        box-shadow:0 20px 40px rgba(0,0,0,.3)!important;
    }

    .site-nav.open{
        display:flex!important;
    }

    .site-nav > a{
        width:100%;
        justify-content:flex-start!important;
        padding:12px 13px!important;
        font-size:12px!important;
    }

    .site-nav .quote-link,
    .site-nav .portal-link{
        justify-content:center!important;
    }
}

@media(max-width:760px){
    .site-top{
        padding:4px 0;
    }

    .top-inner{
        min-height:35px!important;
    }

    .top-brand-note{
        display:none!important;
    }

    .top-right{
        width:100%;
        justify-content:space-between!important;
        gap:7px!important;
    }

    .top-contact{
        overflow:hidden;
        max-width:50vw;
    }

    .top-contact a{
        font-size:9px!important;
    }

    .top-contact .top-separator,
    .top-contact a[href^="mailto:"]{
        display:none!important;
    }

    .top-socials{
        margin-left:auto;
        overflow:hidden;
    }

    .social-button{
        width:24px!important;
        height:24px!important;
        min-width:24px!important;
    }

    .nav-row{
        min-height:82px!important;
    }

    .brand.brand-main{
        width:min(270px,calc(100vw - 92px))!important;
        min-width:0!important;
        max-width:270px!important;
        height:68px!important;
    }

    .main-logo-frame{
        height:64px!important;
        padding:5px 8px!important;
    }

    .site-header.is-scrolled .brand.brand-main{
        height:64px!important;
    }

    .site-header.is-scrolled .main-logo-frame{
        height:59px!important;
    }
}

@media(max-width:440px){
    .top-contact{
        max-width:135px;
    }

    .top-socials .social-button:nth-child(n+5){
        display:none!important;
    }

    .brand.brand-main{
        width:min(225px,calc(100vw - 86px))!important;
        max-width:225px!important;
    }

    .main-logo-frame{
        height:58px!important;
        padding:4px 7px!important;
    }

    .nav-row{
        min-height:74px!important;
    }

    .nav-toggle{
        width:41px;
        height:39px;
        padding:9px!important;
    }
}

/* Respect reduced-motion preferences. */
@media(prefers-reduced-motion:reduce){
    *,
    *::before,
    *::after{
        scroll-behavior:auto!important;
        animation-duration:.001ms!important;
        animation-iteration-count:1!important;
        transition-duration:.001ms!important;
    }
}


/* ==========================================================================
   PARTNER IT HOME PAGE - PREMIUM AUTO PHOTO SLIDER V1
   ========================================================================== */

.hero.hero-super{
    overflow:hidden;
    background:
        radial-gradient(circle at 82% 18%,rgba(174,38,36,.34),transparent 37%),
        linear-gradient(115deg,#171716 0%,#20201f 48%,#482525 100%)!important;
}

.hero.hero-super::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(90deg,#000,transparent 82%);
    opacity:.34;
}

.hero-super .hero-inner{
    position:relative;
    z-index:2;
    grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr)!important;
    gap:46px!important;
    min-height:610px!important;
}

.hero-copy{
    position:relative;
    z-index:4;
}

.hero-super .hero-copy h1{
    max-width:660px;
}

.hero-trust-row{
    display:flex;
    flex-wrap:wrap;
    gap:8px 15px;
    margin-top:24px;
    color:#c5c7ca;
    font-size:10px;
    font-weight:800;
}

.hero-trust-row span{
    display:inline-flex;
    align-items:center;
    gap:4px;
}

.hero-photo-slider{
    position:relative;
    width:100%;
    height:470px;
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.14);
    border-radius:27px;
    background:#171716;
    box-shadow:
        0 35px 75px rgba(0,0,0,.38),
        inset 0 0 0 1px rgba(255,255,255,.03);
    isolation:isolate;
    transform:translateZ(0);
}

.hero-photo-slider::before{
    content:"";
    position:absolute;
    inset:-1px;
    z-index:9;
    pointer-events:none;
    border-radius:27px;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.08),
        inset 0 -90px 120px rgba(0,0,0,.18);
}

.hero-slider-stage{
    position:absolute;
    inset:0;
}

.hero-photo-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transform:scale(1.025);
    transition:
        opacity .85s cubic-bezier(.22,.61,.36,1),
        transform 1.15s cubic-bezier(.22,.61,.36,1),
        visibility .85s;
}

.hero-photo-slide.active{
    opacity:1;
    visibility:visible;
    transform:scale(1);
    z-index:2;
}

.hero-photo-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    transform:scale(1.04);
    transition:transform 7s ease;
}

.hero-photo-slide.active img{
    transform:scale(1.11);
}

.hero-slide-shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.04) 8%,
            rgba(0,0,0,.10) 40%,
            rgba(0,0,0,.78) 100%
        );
}

.hero-slide-caption{
    position:absolute;
    left:28px;
    right:78px;
    bottom:49px;
    z-index:4;
    max-width:560px;
    color:#fff;
    opacity:0;
    transform:translateY(17px);
    transition:
        opacity .55s ease .18s,
        transform .55s ease .18s;
}

.hero-photo-slide.active .hero-slide-caption{
    opacity:1;
    transform:translateY(0);
}

.hero-slide-kicker{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-bottom:8px;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.23);
    border-radius:999px;
    background:rgba(20,20,20,.46);
    backdrop-filter:blur(10px);
    color:#fff;
    font-size:8px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.hero-slide-caption h2{
    margin:0;
    color:#fff;
    font-size:clamp(24px,3vw,39px);
    line-height:1.04;
    text-shadow:0 8px 28px rgba(0,0,0,.38);
}

.hero-slide-caption p{
    max-width:520px;
    margin:10px 0 0;
    color:#e2e3e5;
    font-size:12px;
    line-height:1.55;
}

.hero-slide-link{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-top:14px;
    padding:9px 12px;
    border:1px solid rgba(255,255,255,.25);
    border-radius:10px;
    background:rgba(174,38,36,.88);
    color:#fff!important;
    font-size:10px;
    font-weight:900;
    backdrop-filter:blur(10px);
    transition:
        transform .18s ease,
        background .18s ease;
}

.hero-slide-link:hover{
    transform:translateY(-2px);
    background:#c8322f;
}

.hero-slider-arrow{
    position:absolute;
    top:50%;
    z-index:12;
    width:39px;
    height:39px;
    margin-top:-19px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.24);
    border-radius:50%;
    background:rgba(15,15,15,.48);
    color:#fff;
    font-size:26px;
    line-height:1;
    backdrop-filter:blur(12px);
    cursor:pointer;
    opacity:.74;
    transition:
        opacity .18s ease,
        transform .18s ease,
        background .18s ease;
}

.hero-slider-arrow:hover{
    opacity:1;
    transform:scale(1.06);
    background:rgba(174,38,36,.86);
}

.hero-slider-arrow.prev{
    left:15px;
}

.hero-slider-arrow.next{
    right:15px;
}

.hero-slider-dots{
    position:absolute;
    z-index:13;
    left:28px;
    bottom:19px;
    display:flex;
    align-items:center;
    gap:6px;
}

.hero-slider-dots button{
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.48);
    cursor:pointer;
    transition:
        width .22s ease,
        background .22s ease;
}

.hero-slider-dots button.active{
    width:28px;
    background:#e52b29;
}

.hero-slider-progress{
    position:absolute;
    z-index:13;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    overflow:hidden;
    background:rgba(255,255,255,.12);
}

.hero-slider-progress span{
    display:block;
    width:0;
    height:100%;
    background:
        linear-gradient(
            90deg,
            #ae2624,
            #ff4d49
        );
}

.hero-slider-progress span.run{
    animation:
        partnerSliderProgress
        var(--slider-duration,5000ms)
        linear
        forwards;
}

.hero-slider-label{
    position:absolute;
    z-index:13;
    top:16px;
    right:16px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 9px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:999px;
    background:rgba(16,16,16,.42);
    color:#fff;
    font-size:8px;
    font-weight:950;
    letter-spacing:.07em;
    backdrop-filter:blur(12px);
}

.hero-slider-label span{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#4bd072;
    box-shadow:0 0 0 0 rgba(75,208,114,.5);
    animation:partnerSlideLive 2s infinite;
}

@keyframes partnerSliderProgress{
    from{width:0}
    to{width:100%}
}

@keyframes partnerSlideLive{
    0%{box-shadow:0 0 0 0 rgba(75,208,114,.52)}
    70%{box-shadow:0 0 0 7px rgba(75,208,114,0)}
    100%{box-shadow:0 0 0 0 rgba(75,208,114,0)}
}

@media(max-width:1050px){
    .hero-super .hero-inner{
        grid-template-columns:1fr!important;
        gap:32px!important;
        padding-bottom:54px!important;
    }

    .hero-photo-slider{
        height:500px;
        max-width:780px;
    }
}

@media(max-width:700px){
    .hero-super .hero-inner{
        padding-top:44px!important;
    }

    .hero-photo-slider{
        height:410px;
        border-radius:20px;
    }

    .hero-photo-slider::before{
        border-radius:20px;
    }

    .hero-slide-caption{
        left:20px;
        right:52px;
        bottom:45px;
    }

    .hero-slide-caption p{
        font-size:11px;
    }

    .hero-slider-arrow{
        width:34px;
        height:34px;
        font-size:22px;
    }

    .hero-slider-arrow.prev{
        left:10px;
    }

    .hero-slider-arrow.next{
        right:10px;
    }

    .hero-slider-dots{
        left:20px;
    }

    .hero-slider-label{
        top:11px;
        right:11px;
    }
}

@media(max-width:450px){
    .hero-photo-slider{
        height:350px;
    }

    .hero-slide-caption h2{
        font-size:25px;
    }

    .hero-slide-caption p{
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }

    .hero-trust-row{
        gap:7px 11px;
    }
}

@media(prefers-reduced-motion:reduce){
    .hero-photo-slide,
    .hero-photo-slide img,
    .hero-slide-caption{
        transition:none!important;
    }

    .hero-slider-progress span.run{
        animation:none!important;
        width:100%;
    }
}


/* ==========================================================================
   PARTNER IT HOME - SUBTLE FULL BACKGROUND PHOTO SLIDER V2
   Photos are deliberately faint so headline/cards stay dominant.
   ========================================================================== */

.hero-subtle-bg-slider{
    position:relative!important;
    isolation:isolate;
    overflow:hidden!important;
    min-height:610px;
    background:#191918!important;
}

/* disable older decorative hero pseudo layer */
.hero-subtle-bg-slider::after{
    display:none!important;
}

.hero-subtle-stage{
    position:absolute;
    inset:0;
    z-index:-8;
    overflow:hidden;
    background:#191918;
}

.hero-subtle-slide{
    position:absolute;
    inset:-3%;
    opacity:0;
    visibility:hidden;
    transform:scale(1.03);
    transition:
        opacity 1.25s ease,
        visibility 1.25s,
        transform 8s ease;
    will-change:opacity,transform;
}

.hero-subtle-slide.active{
    opacity:1;
    visibility:visible;
    transform:scale(1.10);
}

.hero-subtle-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    filter:
        brightness(.62)
        saturate(.65)
        contrast(.92);
}

/*
Main readability overlay.
Left side is strongest because the large heading lives there.
Right side remains dark enough for glass solution cards.
*/
.hero-subtle-overlay{
    position:absolute;
    inset:0;
    z-index:-7;
    pointer-events:none;
    background:
        linear-gradient(
            90deg,
            rgba(18,18,17,.92) 0%,
            rgba(18,18,17,.89) 34%,
            rgba(24,22,22,.82) 58%,
            rgba(63,31,31,.76) 100%
        );
}

/* extra edge/vignette depth */
.hero-subtle-vignette{
    position:absolute;
    inset:0;
    z-index:-6;
    pointer-events:none;
    box-shadow:
        inset 0 0 160px rgba(0,0,0,.35),
        inset 0 -95px 125px rgba(0,0,0,.22);
    background:
        radial-gradient(
            circle at 78% 44%,
            rgba(174,38,36,.08),
            transparent 36%
        );
}

/* Hero content always stays above background */
.hero-subtle-bg-slider .hero-inner{
    position:relative;
    z-index:3;
    grid-template-columns:minmax(0,1.03fr) minmax(410px,.97fr)!important;
    gap:64px!important;
    min-height:610px!important;
    padding-top:68px!important;
    padding-bottom:80px!important;
}

.hero-subtle-bg-slider .hero-copy{
    align-self:center;
}

.hero-subtle-bg-slider .hero-copy h1{
    position:relative;
    z-index:4;
    max-width:690px;
    color:#fff!important;
    text-shadow:
        0 5px 22px rgba(0,0,0,.48),
        0 18px 45px rgba(0,0,0,.28);
}

.hero-subtle-bg-slider .hero-copy h1 em{
    color:#ff504c!important;
}

.hero-subtle-bg-slider .hero-copy > p{
    max-width:650px;
    color:#e6e6e7!important;
    text-shadow:0 3px 15px rgba(0,0,0,.52);
}

.hero-subtle-bg-slider .eyebrow{
    color:#fff!important;
    border-color:rgba(255,255,255,.22)!important;
    background:rgba(20,20,20,.50)!important;
    backdrop-filter:blur(10px);
    box-shadow:0 8px 25px rgba(0,0,0,.18);
}

.hero-subtle-bg-slider .hero-actions .btn{
    box-shadow:0 12px 30px rgba(0,0,0,.22);
}

.hero-subtle-bg-slider .hero-trust-row{
    color:#d3d3d5!important;
    text-shadow:0 2px 12px rgba(0,0,0,.55);
}

/* Right-side cards remain visible and premium */
.hero-subtle-bg-slider .hero-panel.hero-subtle-cards{
    position:relative;
    z-index:4;
    align-self:center;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:13px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

.hero-subtle-bg-slider .hero-panel .hero-chip{
    min-height:150px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:8px!important;
    padding:21px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:22px!important;
    background:
        linear-gradient(
            145deg,
            rgba(54,54,53,.72),
            rgba(77,52,52,.67)
        )!important;
    color:#fff!important;
    text-decoration:none!important;
    box-shadow:
        0 18px 44px rgba(0,0,0,.25),
        inset 0 1px 0 rgba(255,255,255,.055)!important;
    backdrop-filter:blur(16px) saturate(118%);
    -webkit-backdrop-filter:blur(16px) saturate(118%);
    transition:
        transform .20s ease,
        border-color .20s ease,
        background .20s ease!important;
}

.hero-subtle-bg-slider .hero-panel .hero-chip:hover{
    transform:translateY(-4px);
    border-color:rgba(229,43,41,.52)!important;
    background:
        linear-gradient(
            145deg,
            rgba(65,60,59,.79),
            rgba(105,55,54,.75)
        )!important;
}

.hero-subtle-bg-slider .hero-panel .hero-chip strong{
    color:#fff!important;
    font-size:15px!important;
    text-shadow:0 2px 10px rgba(0,0,0,.35);
}

.hero-subtle-bg-slider .hero-panel .hero-chip span{
    color:#d8d8da!important;
    font-size:10px!important;
    line-height:1.5!important;
}

/* subtle controls at the bottom — never distract from main content */
.hero-subtle-bottom{
    position:absolute;
    z-index:7;
    left:50%;
    bottom:22px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:13px;
    pointer-events:none;
}

.hero-subtle-dots{
    display:flex;
    align-items:center;
    gap:6px;
    pointer-events:auto;
}

.hero-subtle-dots button{
    width:6px;
    height:6px;
    padding:0;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.38);
    cursor:pointer;
    transition:
        width .22s ease,
        background .22s ease;
}

.hero-subtle-dots button.active{
    width:25px;
    background:#e52b29;
}

.hero-subtle-live{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:rgba(255,255,255,.66);
    font-size:8px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.hero-subtle-live span{
    width:5px;
    height:5px;
    border-radius:50%;
    background:#4acb71;
}

.hero-subtle-progress{
    width:82px;
    height:2px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.14);
}

.hero-subtle-progress i{
    display:block;
    width:0;
    height:100%;
    background:#e52b29;
}

.hero-subtle-progress i.run{
    animation:
        partnerSubtleProgress
        var(--subtle-duration,5000ms)
        linear
        forwards;
}

@keyframes partnerSubtleProgress{
    from{width:0}
    to{width:100%}
}

/* Keep current fallback clean if slider is disabled */
.hero-subtle-bg-slider:not(:has(.hero-subtle-stage)){
    background:
        radial-gradient(circle at 82% 18%,rgba(174,38,36,.28),transparent 37%),
        linear-gradient(115deg,#171716 0%,#20201f 48%,#482525 100%)!important;
}

@media(max-width:1050px){
    .hero-subtle-bg-slider .hero-inner{
        grid-template-columns:1fr!important;
        gap:32px!important;
        padding-bottom:88px!important;
    }

    .hero-subtle-bg-slider .hero-panel.hero-subtle-cards{
        max-width:760px;
    }

    .hero-subtle-overlay{
        background:
            linear-gradient(
                180deg,
                rgba(18,18,17,.91) 0%,
                rgba(18,18,17,.88) 48%,
                rgba(43,27,27,.82) 100%
            );
    }
}

@media(max-width:700px){
    .hero-subtle-bg-slider{
        min-height:auto;
    }

    .hero-subtle-bg-slider .hero-inner{
        min-height:auto!important;
        padding-top:44px!important;
        padding-bottom:88px!important;
    }

    .hero-subtle-bg-slider .hero-panel.hero-subtle-cards{
        grid-template-columns:1fr 1fr!important;
        gap:10px!important;
    }

    .hero-subtle-bg-slider .hero-panel .hero-chip{
        min-height:132px!important;
        padding:16px!important;
        border-radius:17px!important;
    }

    .hero-subtle-bottom{
        bottom:18px;
    }
}

@media(max-width:480px){
    .hero-subtle-bg-slider .hero-panel.hero-subtle-cards{
        grid-template-columns:1fr!important;
    }

    .hero-subtle-bg-slider .hero-panel .hero-chip{
        min-height:112px!important;
    }

    .hero-subtle-live{
        display:none;
    }

    .hero-subtle-progress{
        width:58px;
    }
}

@media(prefers-reduced-motion:reduce){
    .hero-subtle-slide{
        transition:none!important;
        transform:none!important;
    }

    .hero-subtle-progress i.run{
        animation:none!important;
        width:100%;
    }
}


/* ==========================================================================
   PARTNER IT WEBSITE - FULL PREMIUM MOTION SYSTEM V3
   Performance-oriented. No animation is required for usability.
   ========================================================================== */

:root{
    --pit-ease:cubic-bezier(.22,.61,.36,1);
    --pit-ease-pop:cubic-bezier(.2,.85,.25,1.08);
    --pit-red:#e52b29;
}

/* --------------------------------------------------------------------------
   INITIAL PAGE LOAD
   -------------------------------------------------------------------------- */

.pit-motion-ready body{
    opacity:0;
}

html.pit-motion-active body{
    opacity:1;
    transition:opacity .34s ease;
}

html.pit-motion-active .site-top{
    animation:pitTopBarIn .55s var(--pit-ease) both;
}

html.pit-motion-active .site-header{
    animation:pitHeaderIn .72s var(--pit-ease) .08s both;
}

html.pit-motion-active .brand.brand-main{
    animation:pitBrandIn .78s var(--pit-ease-pop) .16s both;
}

html.pit-motion-active .site-nav > a{
    opacity:0;
    transform:translateY(-10px);
    animation:pitNavIn .46s var(--pit-ease) forwards;
}

html.pit-motion-active .site-nav > a:nth-child(1){animation-delay:.22s}
html.pit-motion-active .site-nav > a:nth-child(2){animation-delay:.26s}
html.pit-motion-active .site-nav > a:nth-child(3){animation-delay:.30s}
html.pit-motion-active .site-nav > a:nth-child(4){animation-delay:.34s}
html.pit-motion-active .site-nav > a:nth-child(5){animation-delay:.38s}
html.pit-motion-active .site-nav > a:nth-child(6){animation-delay:.42s}
html.pit-motion-active .site-nav > a:nth-child(7){animation-delay:.46s}
html.pit-motion-active .site-nav > a:nth-child(8){animation-delay:.50s}
html.pit-motion-active .site-nav > a:nth-child(9){animation-delay:.54s}

/* logo subtle living animation */
html.pit-motion-active .main-logo-frame{
    position:relative;
    overflow:hidden!important;
}

html.pit-motion-active .main-logo-frame::after{
    content:"";
    position:absolute;
    top:-40%;
    bottom:-40%;
    width:62px;
    left:-95px;
    pointer-events:none;
    transform:rotate(18deg);
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.54),
            transparent
        );
    animation:pitLogoShine 7.5s ease-in-out 2.2s infinite;
}

/* --------------------------------------------------------------------------
   HERO INTRO SEQUENCE
   -------------------------------------------------------------------------- */

html.pit-motion-active .hero-copy .eyebrow{
    opacity:0;
    transform:translateY(14px);
    animation:pitHeroUp .62s var(--pit-ease) .38s forwards;
}

html.pit-motion-active .hero-copy h1{
    opacity:0;
    transform:translateY(28px);
    animation:pitHeroUp .84s var(--pit-ease) .47s forwards;
}

html.pit-motion-active .hero-copy h1 em{
    position:relative;
    display:inline-block;
    text-shadow:
        0 7px 26px rgba(229,43,41,.14);
}

html.pit-motion-active .hero-copy h1 em::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-5px;
    height:3px;
    border-radius:999px;
    transform:scaleX(0);
    transform-origin:left;
    background:
        linear-gradient(
            90deg,
            var(--pit-red),
            rgba(229,43,41,.05)
        );
    animation:pitRedLine 1.05s var(--pit-ease) 1.08s forwards;
}

html.pit-motion-active .hero-copy > p{
    opacity:0;
    transform:translateY(18px);
    animation:pitHeroUp .70s var(--pit-ease) .66s forwards;
}

html.pit-motion-active .hero-actions{
    opacity:0;
    transform:translateY(16px);
    animation:pitHeroUp .66s var(--pit-ease) .78s forwards;
}

html.pit-motion-active .hero-actions .btn{
    position:relative;
    overflow:hidden;
}

html.pit-motion-active .hero-actions .btn::after{
    content:"";
    position:absolute;
    inset:0;
    transform:translateX(-130%);
    background:
        linear-gradient(
            105deg,
            transparent 25%,
            rgba(255,255,255,.23) 48%,
            transparent 72%
        );
    transition:transform .52s ease;
}

html.pit-motion-active .hero-actions .btn:hover::after{
    transform:translateX(130%);
}

html.pit-motion-active .hero-trust-row{
    opacity:0;
    transform:translateY(12px);
    animation:pitHeroUp .6s var(--pit-ease) .90s forwards;
}

html.pit-motion-active .hero-trust-row span{
    transition:
        transform .18s ease,
        color .18s ease;
}

html.pit-motion-active .hero-trust-row span:hover{
    transform:translateY(-2px);
    color:#fff;
}

/* solution cards enter one by one */
html.pit-motion-active .hero-subtle-cards .hero-chip{
    opacity:0;
    transform:translateY(24px) scale(.97);
    animation:pitHeroCardIn .72s var(--pit-ease-pop) forwards;
    transform-style:preserve-3d;
    will-change:transform;
}

html.pit-motion-active .hero-subtle-cards .hero-chip:nth-child(1){animation-delay:.52s}
html.pit-motion-active .hero-subtle-cards .hero-chip:nth-child(2){animation-delay:.62s}
html.pit-motion-active .hero-subtle-cards .hero-chip:nth-child(3){animation-delay:.72s}
html.pit-motion-active .hero-subtle-cards .hero-chip:nth-child(4){animation-delay:.82s}

.hero-subtle-cards .hero-chip b{
    display:inline-block;
    transition:transform .28s var(--pit-ease-pop);
}

.hero-subtle-cards .hero-chip:hover b{
    transform:translateY(-3px) scale(1.14) rotate(-4deg);
}

/* subtle animated ambient red light */
.hero-subtle-vignette::after{
    content:"";
    position:absolute;
    width:460px;
    height:460px;
    right:-130px;
    top:-170px;
    border-radius:50%;
    filter:blur(85px);
    background:rgba(174,38,36,.15);
    animation:pitAmbientDrift 10s ease-in-out infinite alternate;
}

/* --------------------------------------------------------------------------
   SCROLL REVEAL SYSTEM
   JS adds .pit-reveal and .pit-in
   -------------------------------------------------------------------------- */

.pit-reveal{
    opacity:0;
    transform:translateY(34px);
    transition:
        opacity .76s var(--pit-ease),
        transform .76s var(--pit-ease);
    transition-delay:var(--pit-delay,0ms);
}

.pit-reveal.pit-from-left{
    transform:translateX(-36px);
}

.pit-reveal.pit-from-right{
    transform:translateX(36px);
}

.pit-reveal.pit-scale{
    transform:translateY(20px) scale(.965);
}

.pit-reveal.pit-in{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
}

/* section headings */
.section-head h2{
    position:relative;
}

.section-head h2::after{
    content:"";
    display:block;
    width:0;
    height:3px;
    margin-top:8px;
    border-radius:999px;
    background:linear-gradient(90deg,#ae2624,#e52b29);
    transition:width .72s var(--pit-ease) .14s;
}

.pit-in .section-head h2::after,
.section-head.pit-in h2::after{
    width:54px;
}

/* --------------------------------------------------------------------------
   SERVICE / PRODUCT / PROJECT / REVIEW CARDS
   -------------------------------------------------------------------------- */

.service,
.card,
.panel{
    will-change:transform;
}

.service{
    transition:
        transform .25s var(--pit-ease),
        border-color .25s ease,
        box-shadow .25s ease,
        background .25s ease!important;
}

.service:hover{
    transform:translateY(-7px)!important;
    box-shadow:0 18px 38px rgba(0,0,0,.16)!important;
}

.service .icon{
    transition:transform .28s var(--pit-ease-pop);
}

.service:hover .icon{
    transform:translateY(-3px) scale(1.15) rotate(-3deg);
}

.card{
    transition:
        transform .28s var(--pit-ease),
        box-shadow .28s ease,
        border-color .28s ease!important;
}

.card:hover{
    transform:translateY(-8px)!important;
    box-shadow:0 22px 45px rgba(0,0,0,.14)!important;
}

.card-img{
    transition:
        transform .75s var(--pit-ease),
        filter .4s ease!important;
}

.card:hover .card-img{
    transform:scale(1.045);
}

.card .btn,
.panel .btn{
    transition:
        transform .18s ease,
        box-shadow .18s ease!important;
}

.card .btn:hover,
.panel .btn:hover{
    transform:translateY(-2px);
}

/* stock status pulse only for available products */
.badge.stock-ok,
.badge.in-stock{
    position:relative;
}

.badge.stock-ok::before,
.badge.in-stock::before{
    content:"";
    display:inline-block;
    width:5px;
    height:5px;
    margin-right:5px;
    border-radius:50%;
    background:#42a85f;
    box-shadow:0 0 0 0 rgba(66,168,95,.34);
    animation:pitStockPulse 2.6s infinite;
}

/* --------------------------------------------------------------------------
   FOOTER / WHATSAPP
   -------------------------------------------------------------------------- */

.site-footer{
    position:relative;
    overflow:hidden;
}

.site-footer::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    left:-180px;
    bottom:-260px;
    border-radius:50%;
    pointer-events:none;
    filter:blur(75px);
    background:rgba(174,38,36,.10);
    animation:pitFooterGlow 9s ease-in-out infinite alternate;
}

.wa-float{
    animation:pitWaFloat 3.2s ease-in-out infinite;
}

.wa-float::after{
    content:"";
    position:absolute;
    inset:-5px;
    border:1px solid rgba(53,168,86,.45);
    border-radius:50%;
    animation:pitWaRing 2.4s ease-out infinite;
}

/* --------------------------------------------------------------------------
   POINTER PARALLAX HELPERS
   -------------------------------------------------------------------------- */

.hero-subtle-stage{
    transform:
        translate3d(
            var(--pit-parallax-x,0px),
            var(--pit-parallax-y,0px),
            0
        )
        scale(1.025);
    transition:transform .22s ease-out;
}

.hero-copy,
.hero-subtle-cards{
    transform:
        translate3d(
            var(--pit-content-x,0px),
            var(--pit-content-y,0px),
            0
        );
    transition:transform .18s ease-out;
}

/* --------------------------------------------------------------------------
   KEYFRAMES
   -------------------------------------------------------------------------- */

@keyframes pitTopBarIn{
    from{opacity:0;transform:translateY(-14px)}
    to{opacity:1;transform:translateY(0)}
}

@keyframes pitHeaderIn{
    from{opacity:0;transform:translateY(-20px)}
    to{opacity:1;transform:translateY(0)}
}

@keyframes pitBrandIn{
    from{opacity:0;transform:translateX(-22px) scale(.96)}
    to{opacity:1;transform:translateX(0) scale(1)}
}

@keyframes pitNavIn{
    to{opacity:1;transform:translateY(0)}
}

@keyframes pitHeroUp{
    to{opacity:1;transform:translateY(0)}
}

@keyframes pitHeroCardIn{
    to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes pitRedLine{
    to{transform:scaleX(1)}
}

@keyframes pitLogoShine{
    0%,70%{left:-95px;opacity:0}
    76%{opacity:.75}
    88%{left:115%;opacity:.45}
    100%{left:115%;opacity:0}
}

@keyframes pitAmbientDrift{
    from{transform:translate3d(0,0,0) scale(.92)}
    to{transform:translate3d(-90px,60px,0) scale(1.12)}
}

@keyframes pitStockPulse{
    0%{box-shadow:0 0 0 0 rgba(66,168,95,.34)}
    70%{box-shadow:0 0 0 6px rgba(66,168,95,0)}
    100%{box-shadow:0 0 0 0 rgba(66,168,95,0)}
}

@keyframes pitFooterGlow{
    from{transform:translateX(0) scale(.9)}
    to{transform:translateX(160px) scale(1.12)}
}

@keyframes pitWaFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-7px)}
}

@keyframes pitWaRing{
    0%{transform:scale(.82);opacity:.8}
    70%{transform:scale(1.28);opacity:0}
    100%{transform:scale(1.28);opacity:0}
}

/* --------------------------------------------------------------------------
   MOBILE - LESS MOTION, SAME PREMIUM FEEL
   -------------------------------------------------------------------------- */

@media(max-width:760px){
    .hero-subtle-vignette::after{
        width:290px;
        height:290px;
        filter:blur(70px);
    }

    .pit-reveal{
        transform:translateY(22px);
        transition-duration:.62s;
    }

    .pit-reveal.pit-from-left,
    .pit-reveal.pit-from-right{
        transform:translateY(22px);
    }

    .service:hover,
    .card:hover{
        transform:none!important;
    }
}

/* --------------------------------------------------------------------------
   ACCESSIBILITY / BATTERY FRIENDLY
   -------------------------------------------------------------------------- */

@media(prefers-reduced-motion:reduce){
    .pit-motion-ready body{
        opacity:1!important;
    }

    *,
    *::before,
    *::after{
        animation:none!important;
        transition-duration:.001ms!important;
        scroll-behavior:auto!important;
    }

    .pit-reveal{
        opacity:1!important;
        transform:none!important;
    }

    .hero-subtle-stage,
    .hero-copy,
    .hero-subtle-cards{
        transform:none!important;
    }
}


/* Motion controller helpers */
.site-header.pit-header-shadow{
    box-shadow:
        0 15px 38px rgba(0,0,0,.28)!important;
}

@media(min-width:1021px){
    .site-header.pit-scrolling-down{
        transform:translateY(-5px);
    }
}

.service,
.card,
.panel{
    position:relative;
    overflow:hidden;
}

.service::after,
.card::after,
.panel::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:0;
    background:
        radial-gradient(
            220px circle at
            var(--pit-mx,50%)
            var(--pit-my,50%),
            rgba(229,43,41,.09),
            transparent 66%
        );
    transition:opacity .25s ease;
}

.service:hover::after,
.card:hover::after,
.panel:hover::after{
    opacity:1;
}

.service > *,
.card > *,
.panel > *{
    position:relative;
    z-index:1;
}



/* ==========================================================================
   PARTNER IT WEBSITE - GLOBAL RESPONSIVE SYSTEM V4
   Mobile • Tablet • Laptop • Desktop • TV / 4K
   Applies to all public website + customer portal pages that use _header.php.
   ========================================================================== */

:root{
    --pit-page-max: 1600px;
    --pit-page-pad: clamp(16px, 4vw, 64px);
    --pit-section-y: clamp(44px, 6vw, 96px);
    --pit-touch: 44px;
}

/* --------------------------------------------------------------------------
   GLOBAL SAFETY
   -------------------------------------------------------------------------- */

html{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

img,
svg,
video,
canvas,
iframe{
    max-width:100%;
    height:auto;
}

img{
    object-fit:cover;
}

pre,
code{
    max-width:100%;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
a,
span,
strong,
small,
label{
    overflow-wrap:anywhere;
}

input,
select,
textarea,
button{
    max-width:100%;
}

/* Prevent flex/grid children from forcing horizontal overflow. */
.site-wrap,
.nav-row,
.site-nav,
.hero-inner,
.hero-copy,
.hero-panel,
.section,
.section-head,
.split,
.cards,
.service-grid,
.footer-grid,
.panel,
.card,
form,
fieldset{
    min-width:0;
}

/* --------------------------------------------------------------------------
   FLUID MAIN CONTAINER
   -------------------------------------------------------------------------- */

.site-wrap{
    width:min(
        calc(100% - (var(--pit-page-pad) * 2)),
        var(--pit-page-max)
    )!important;
    max-width:var(--pit-page-max)!important;
    margin-inline:auto!important;
}

main{
    width:100%;
}

.section{
    padding-top:var(--pit-section-y)!important;
    padding-bottom:var(--pit-section-y)!important;
}

/* --------------------------------------------------------------------------
   RESPONSIVE TYPOGRAPHY
   -------------------------------------------------------------------------- */

.hero-copy h1{
    font-size:clamp(38px, 5vw, 78px)!important;
    line-height:.98!important;
    letter-spacing:-.035em!important;
}

.hero-copy > p{
    font-size:clamp(14px, 1.15vw, 18px)!important;
    line-height:1.58!important;
}

.section-head h2{
    font-size:clamp(26px, 3vw, 46px)!important;
    line-height:1.07!important;
}

.section-head p,
.panel p,
.card p,
.service p{
    line-height:1.55!important;
}

/* --------------------------------------------------------------------------
   BUTTONS / TOUCH TARGETS
   -------------------------------------------------------------------------- */

.btn,
.site-nav a,
.nav-toggle,
.wa-float,
button,
input[type="button"],
input[type="submit"],
input[type="reset"]{
    min-height:var(--pit-touch);
}

.btn,
button,
.site-nav a{
    touch-action:manipulation;
}

/* --------------------------------------------------------------------------
   GENERIC RESPONSIVE GRIDS
   -------------------------------------------------------------------------- */

.service-grid{
    display:grid!important;
    grid-template-columns:repeat(
        auto-fit,
        minmax(min(220px,100%),1fr)
    )!important;
    gap:clamp(12px,1.5vw,22px)!important;
}

.cards{
    display:grid!important;
    grid-template-columns:repeat(
        auto-fit,
        minmax(min(260px,100%),1fr)
    )!important;
    gap:clamp(14px,1.6vw,24px)!important;
}

.split{
    display:grid!important;
    grid-template-columns:repeat(
        2,
        minmax(0,1fr)
    )!important;
    gap:clamp(20px,4vw,58px)!important;
    align-items:center;
}

/* --------------------------------------------------------------------------
   CARD / MEDIA NORMALIZATION
   -------------------------------------------------------------------------- */

.card,
.panel,
.service{
    width:100%;
    min-width:0;
}

.card-img,
.card img,
.panel img,
.service img{
    max-width:100%;
}

.card-img{
    aspect-ratio:16/10;
    object-fit:cover;
}

/* --------------------------------------------------------------------------
   HEADER / NAVIGATION
   -------------------------------------------------------------------------- */

.site-header,
.site-top{
    width:100%;
}

.nav-row{
    width:100%;
}

.brand.brand-main{
    flex-shrink:1!important;
}

.site-nav{
    min-width:0;
}

.top-inner,
.top-right,
.top-contact{
    min-width:0;
}

/* --------------------------------------------------------------------------
   HERO - UNIVERSAL
   -------------------------------------------------------------------------- */

.hero{
    width:100%;
}

.hero-inner{
    width:100%;
}

.hero-subtle-bg-slider .hero-inner{
    grid-template-columns:
        minmax(0,1.05fr)
        minmax(390px,.95fr)!important;
}

.hero-subtle-cards{
    min-width:0;
}

.hero-subtle-bg-slider .hero-panel .hero-chip{
    min-width:0;
}

/* --------------------------------------------------------------------------
   FORMS
   -------------------------------------------------------------------------- */

form{
    width:100%;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea{
    width:100%;
}

textarea{
    resize:vertical;
}

.form-grid,
.form-row,
.fields,
.grid-form{
    min-width:0;
}

/* --------------------------------------------------------------------------
   TABLES
   -------------------------------------------------------------------------- */

.pit-responsive-table{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    border-radius:12px;
}

.pit-responsive-table > table{
    margin:0;
}

table{
    border-collapse:collapse;
}

/* --------------------------------------------------------------------------
   FOOTER
   -------------------------------------------------------------------------- */

.footer-grid{
    display:grid!important;
    grid-template-columns:
        minmax(0,1.5fr)
        minmax(150px,.65fr)
        minmax(190px,.75fr)!important;
    gap:clamp(24px,5vw,80px)!important;
}

/* ==========================================================================
   TV / 4K / VERY LARGE DESKTOP
   ========================================================================== */

@media (min-width:1800px){
    :root{
        --pit-page-max:1680px;
        --pit-page-pad:64px;
    }

    .top-inner{
        min-height:44px!important;
    }

    .nav-row{
        min-height:116px!important;
    }

    .brand.brand-main{
        width:420px!important;
        min-width:420px!important;
        max-width:420px!important;
        height:94px!important;
    }

    .main-logo-frame{
        height:88px!important;
    }

    .site-nav > a{
        font-size:13px!important;
        padding-inline:11px!important;
    }

    .hero-subtle-bg-slider .hero-inner{
        min-height:680px!important;
        gap:84px!important;
    }

    .hero-copy h1{
        max-width:760px!important;
    }

    .hero-subtle-bg-slider .hero-panel .hero-chip{
        min-height:175px!important;
        padding:26px!important;
    }

    .hero-subtle-bg-slider .hero-panel .hero-chip strong{
        font-size:18px!important;
    }

    .hero-subtle-bg-slider .hero-panel .hero-chip span{
        font-size:12px!important;
    }
}

/* 4K television / presentation displays */
@media (min-width:2400px){
    :root{
        --pit-page-max:2000px;
        --pit-page-pad:90px;
    }

    body{
        font-size:18px;
    }

    .nav-row{
        min-height:138px!important;
    }

    .brand.brand-main{
        width:490px!important;
        min-width:490px!important;
        max-width:490px!important;
        height:108px!important;
    }

    .main-logo-frame{
        height:103px!important;
    }

    .site-nav > a{
        font-size:15px!important;
        min-height:48px!important;
        padding-inline:13px!important;
    }

    .hero-subtle-bg-slider .hero-inner{
        min-height:810px!important;
    }

    .hero-copy h1{
        font-size:88px!important;
        max-width:890px!important;
    }

    .hero-copy > p{
        font-size:21px!important;
    }

    .hero-subtle-bg-slider .hero-panel .hero-chip{
        min-height:210px!important;
        padding:32px!important;
    }
}

/* ==========================================================================
   LAPTOP / SMALL DESKTOP
   ========================================================================== */

@media (min-width:1021px) and (max-width:1500px){
    :root{
        --pit-page-pad:clamp(24px,3vw,46px);
    }

    .brand.brand-main{
        width:310px!important;
        min-width:310px!important;
        max-width:310px!important;
    }

    .site-nav > a{
        font-size:10px!important;
        padding-inline:6px!important;
    }

    .hero-subtle-bg-slider .hero-inner{
        grid-template-columns:
            minmax(0,1.05fr)
            minmax(380px,.95fr)!important;
        gap:42px!important;
    }

    .hero-subtle-bg-slider .hero-panel .hero-chip{
        min-height:142px!important;
        padding:18px!important;
    }
}

/* ==========================================================================
   TABLET LANDSCAPE / SMALL LAPTOP
   ========================================================================== */

@media (max-width:1020px){
    :root{
        --pit-page-pad:clamp(18px,3vw,30px);
    }

    .nav-row{
        position:relative;
    }

    .nav-toggle{
        display:block!important;
    }

    .site-nav{
        max-width:none!important;
    }

    .hero-subtle-bg-slider .hero-inner{
        grid-template-columns:1fr!important;
        gap:34px!important;
        min-height:auto!important;
    }

    .hero-copy{
        max-width:760px;
    }

    .hero-subtle-bg-slider .hero-panel.hero-subtle-cards{
        width:100%;
        max-width:820px;
    }

    .split{
        grid-template-columns:1fr!important;
    }

    .footer-grid{
        grid-template-columns:
            minmax(0,1.2fr)
            minmax(150px,.8fr)!important;
    }

    .footer-grid > :last-child{
        grid-column:1/-1;
    }
}

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

@media (max-width:820px){
    :root{
        --pit-page-pad:20px;
        --pit-section-y:54px;
    }

    .top-contact a[href^="mailto:"]{
        display:none!important;
    }

    .hero-copy h1{
        font-size:clamp(44px,9vw,66px)!important;
    }

    .hero-subtle-bg-slider .hero-panel.hero-subtle-cards{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }

    .hero-subtle-bg-slider .hero-panel .hero-chip{
        min-height:135px!important;
    }

    .cards{
        grid-template-columns:repeat(
            2,
            minmax(0,1fr)
        )!important;
    }

    .footer-grid{
        grid-template-columns:1fr 1fr!important;
    }
}

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

@media (max-width:600px){
    :root{
        --pit-page-pad:16px;
        --pit-section-y:46px;
        --pit-touch:46px;
    }

    body{
        font-size:14px;
    }

    .site-wrap{
        width:calc(100% - 32px)!important;
    }

    .top-inner{
        min-height:34px!important;
    }

    .top-brand-note{
        display:none!important;
    }

    .top-contact{
        max-width:155px!important;
    }

    .top-contact a{
        font-size:9px!important;
    }

    .top-socials{
        gap:4px!important;
    }

    .top-socials .social-button{
        width:27px!important;
        height:27px!important;
        min-width:27px!important;
    }

    .nav-row{
        min-height:76px!important;
        gap:10px!important;
    }

    .brand.brand-main{
        width:min(235px,calc(100vw - 92px))!important;
        min-width:0!important;
        max-width:235px!important;
        height:62px!important;
    }

    .main-logo-frame{
        height:58px!important;
        border-radius:11px!important;
    }

    .nav-toggle{
        flex:0 0 44px;
        width:44px!important;
        min-width:44px!important;
        height:44px!important;
    }

    .site-nav{
        left:12px!important;
        right:12px!important;
        max-height:calc(100dvh - 110px);
    }

    .site-nav > a{
        min-height:46px!important;
        font-size:13px!important;
    }

    .hero-subtle-bg-slider .hero-inner{
        padding-top:42px!important;
        padding-bottom:76px!important;
        gap:27px!important;
    }

    .hero-copy h1{
        font-size:clamp(40px,12.8vw,58px)!important;
        line-height:1.00!important;
    }

    .hero-copy > p{
        font-size:14px!important;
    }

    .hero-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:9px!important;
    }

    .hero-actions .btn{
        width:100%!important;
        justify-content:center!important;
        text-align:center!important;
    }

    .hero-trust-row{
        display:grid!important;
        grid-template-columns:1fr 1fr;
        gap:9px 12px!important;
    }

    .hero-subtle-bg-slider .hero-panel.hero-subtle-cards{
        grid-template-columns:1fr!important;
    }

    .hero-subtle-bg-slider .hero-panel .hero-chip{
        min-height:105px!important;
        padding:15px!important;
    }

    .service-grid,
    .cards{
        grid-template-columns:1fr!important;
    }

    .section-head{
        display:block!important;
    }

    .section-head > *{
        max-width:100%!important;
    }

    .footer-grid{
        grid-template-columns:1fr!important;
        gap:28px!important;
    }

    .footer-grid > :last-child{
        grid-column:auto;
    }

    .footer-logo-frame{
        width:100%!important;
        max-width:340px!important;
        height:auto!important;
        aspect-ratio:3.2/1!important;
    }

    .wa-float{
        width:52px!important;
        height:52px!important;
        min-width:52px!important;
        right:14px!important;
        bottom:14px!important;
    }

    .pit-responsive-table{
        margin-inline:0;
    }
}

/* ==========================================================================
   VERY SMALL MOBILE
   ========================================================================== */

@media (max-width:380px){
    :root{
        --pit-page-pad:13px;
    }

    .site-wrap{
        width:calc(100% - 26px)!important;
    }

    .brand.brand-main{
        width:min(205px,calc(100vw - 82px))!important;
        max-width:205px!important;
    }

    .main-logo-frame{
        height:53px!important;
    }

    .hero-copy h1{
        font-size:38px!important;
    }

    .hero-trust-row{
        grid-template-columns:1fr!important;
    }

    .top-socials .social-button:nth-child(n+4){
        display:none!important;
    }
}

/* ==========================================================================
   LANDSCAPE PHONE
   ========================================================================== */

@media (max-height:520px) and (orientation:landscape) and (max-width:950px){
    .site-top{
        display:none!important;
    }

    .site-header{
        position:relative!important;
    }

    .hero-subtle-bg-slider .hero-inner{
        padding-top:30px!important;
        padding-bottom:55px!important;
    }

    .hero-copy h1{
        font-size:clamp(36px,7vw,52px)!important;
    }
}

/* ==========================================================================
   PRINT FALLBACK
   ========================================================================== */

@media print{
    .site-top,
    .site-header,
    .wa-float,
    .hero-subtle-bottom,
    .hero-subtle-stage,
    .hero-subtle-vignette{
        display:none!important;
    }

    body{
        background:#fff!important;
        color:#000!important;
    }

    .site-wrap{
        width:100%!important;
        max-width:none!important;
    }

    *{
        animation:none!important;
        transition:none!important;
        box-shadow:none!important;
    }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto!important;
    }
}
