: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;
    }
}




/* ==========================================================================
   PARTNER IT - TECHNOLOGY BRAND LOGO SHOWCASE V6
   ========================================================================== */

.brand-showcase-section{
    position:relative;
    overflow:hidden;
    padding:
        clamp(48px,6vw,88px)
        0;
    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(174,38,36,.07),
            transparent 40%
        ),
        #f7f7f7;
    border-top:1px solid #e9e9e9;
    border-bottom:1px solid #e5e5e5;
}

.brand-showcase-section::before{
    content:"";
    position:absolute;
    width:400px;
    height:400px;
    right:-230px;
    top:-250px;
    border-radius:50%;
    background:rgba(174,38,36,.055);
    filter:blur(60px);
    pointer-events:none;
}

.brand-showcase-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:25px;
    margin-bottom:28px;
}

.brand-showcase-head > div{
    min-width:0;
}

.brand-showcase-kicker{
    display:inline-flex;
    align-items:center;
    padding:6px 9px;
    margin-bottom:9px;
    border:1px solid #dedede;
    border-radius:999px;
    background:#fff;
    color:#ae2624;
    font-size:8px;
    font-weight:950;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.brand-showcase-head h2{
    margin:0;
    color:#20201f;
    font-size:clamp(27px,3vw,45px);
    line-height:1.06;
    letter-spacing:-.025em;
}

.brand-showcase-head p{
    max-width:650px;
    margin:8px 0 0;
    color:#777;
    font-size:12px;
    line-height:1.55;
}

.brand-showcase-products-link{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:43px;
    padding:0 14px;
    border:1px solid #ddd;
    border-radius:10px;
    background:#fff;
    color:#292928!important;
    font-size:10px;
    font-weight:900;
    text-decoration:none!important;
    transition:
        transform .18s ease,
        border-color .18s ease,
        color .18s ease,
        box-shadow .18s ease;
}

.brand-showcase-products-link span{
    font-size:15px;
    transition:transform .18s ease;
}

.brand-showcase-products-link:hover{
    transform:translateY(-2px);
    border-color:#ae2624;
    color:#ae2624!important;
    box-shadow:0 10px 22px rgba(0,0,0,.07);
}

.brand-showcase-products-link:hover span{
    transform:translateX(3px);
}

.brand-logo-marquee{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:5px 0;
    isolation:isolate;
}

.brand-logo-track{
    display:flex;
    align-items:stretch;
    width:max-content;
    will-change:transform;
}

.brand-logo-sequence{
    display:flex;
    align-items:stretch;
    gap:14px;
    padding-right:14px;
}

.brand-logo-card{
    position:relative;
    flex:0 0 auto;
    width:180px;
    min-height:115px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:15px;
    border:1px solid #e1e1e1;
    border-radius:16px;
    background:rgba(255,255,255,.96);
    color:#2b2b2a!important;
    text-decoration:none!important;
    box-shadow:
        0 9px 24px rgba(0,0,0,.04);
    transition:
        transform .24s cubic-bezier(.22,.61,.36,1),
        border-color .24s ease,
        box-shadow .24s ease,
        background .24s ease;
}

.brand-logo-card:not(.duplicate):hover{
    transform:translateY(-6px);
    border-color:rgba(174,38,36,.38);
    background:#fff;
    box-shadow:
        0 18px 38px rgba(0,0,0,.11);
}

.brand-logo-image{
    width:100%;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.brand-logo-image img{
    display:block;
    max-width:140px;
    max-height:57px;
    width:auto;
    height:auto;
    object-fit:contain;
    filter:
        grayscale(1)
        saturate(.2);
    opacity:.72;
    transition:
        filter .30s ease,
        opacity .30s ease,
        transform .30s ease;
}

.brand-logo-card:not(.duplicate):hover .brand-logo-image img{
    filter:none;
    opacity:1;
    transform:scale(1.06);
}

.brand-logo-text{
    min-height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#2c2c2b;
    font-size:17px;
    font-weight:950;
    text-align:center;
}

.brand-logo-name{
    color:#858585;
    font-size:8px;
    font-weight:850;
    letter-spacing:.03em;
    text-align:center;
    transition:color .22s ease;
}

.brand-logo-card:not(.duplicate):hover .brand-logo-name{
    color:#ae2624;
}

.brand-logo-fade{
    position:absolute;
    top:0;
    bottom:0;
    z-index:4;
    width:75px;
    pointer-events:none;
}

.brand-logo-fade.left{
    left:0;
    background:
        linear-gradient(
            90deg,
            #f7f7f7 0%,
            rgba(247,247,247,.95) 30%,
            rgba(247,247,247,0) 100%
        );
}

.brand-logo-fade.right{
    right:0;
    background:
        linear-gradient(
            270deg,
            #f7f7f7 0%,
            rgba(247,247,247,.95) 30%,
            rgba(247,247,247,0) 100%
        );
}

.brand-logo-marquee[data-brand-marquee-ready="1"] .brand-logo-track{
    animation:
        pitBrandMarquee
        var(--pit-brand-duration,38s)
        linear
        infinite;
}

.brand-logo-marquee:hover .brand-logo-track{
    animation-play-state:paused;
}

.brand-showcase-note{
    display:flex;
    align-items:center;
    gap:7px;
    margin-top:17px;
    color:#8a8a8a;
    font-size:9px;
}

.brand-showcase-note b{
    color:#555;
}

.brand-showcase-live{
    width:6px;
    height:6px;
    flex:0 0 auto;
    border-radius:50%;
    background:#45a65f;
    box-shadow:0 0 0 0 rgba(69,166,95,.35);
    animation:pitBrandLive 2.5s ease-out infinite;
}

@keyframes pitBrandMarquee{
    from{
        transform:translate3d(0,0,0);
    }
    to{
        transform:translate3d(-50%,0,0);
    }
}

@keyframes pitBrandLive{
    0%{
        box-shadow:0 0 0 0 rgba(69,166,95,.35);
    }
    70%{
        box-shadow:0 0 0 7px rgba(69,166,95,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(69,166,95,0);
    }
}

/* Extra-large screens / TV */
@media(min-width:1800px){
    .brand-logo-card{
        width:205px;
        min-height:130px;
    }

    .brand-logo-image{
        height:68px;
    }

    .brand-logo-image img{
        max-width:160px;
        max-height:64px;
    }
}

@media(max-width:820px){
    .brand-showcase-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .brand-logo-card{
        width:155px;
        min-height:105px;
        padding:12px;
    }

    .brand-logo-image{
        height:52px;
    }

    .brand-logo-image img{
        max-width:120px;
        max-height:48px;
    }

    .brand-logo-fade{
        width:35px;
    }
}

@media(max-width:600px){
    .brand-showcase-section{
        padding:44px 0;
    }

    .brand-logo-marquee{
        width:calc(100% + 16px);
    }

    .brand-logo-card{
        width:142px;
        min-height:98px;
        border-radius:14px;
    }

    .brand-logo-name{
        font-size:7px;
    }

    .brand-showcase-products-link{
        width:100%;
        justify-content:center;
    }

    .brand-showcase-note{
        align-items:flex-start;
        line-height:1.5;
    }
}

/*
Touch devices can still swipe/scroll naturally if animation is unavailable.
*/
@media(prefers-reduced-motion:reduce){
    .brand-logo-marquee[data-brand-marquee-ready="1"] .brand-logo-track{
        animation:none!important;
    }

    .brand-logo-marquee{
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }

    .brand-logo-marquee::-webkit-scrollbar{
        display:none;
    }

    .brand-logo-sequence[aria-hidden="true"]{
        display:none;
    }
}




/* ==========================================================================
   PARTNER IT - DYNAMIC SOLUTIONS V7
   ========================================================================== */

.pit-solutions-kicker{
    display:inline-flex;
    align-items:center;
    margin-bottom:8px;
    padding:5px 8px;
    border:1px solid currentColor;
    border-radius:999px;
    color:#e0524f;
    font-size:8px;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
    opacity:.9;
}

.pit-dynamic-solutions-grid{
    display:grid;
    grid-template-columns:repeat(
        auto-fit,
        minmax(min(245px,100%),1fr)
    );
    gap:13px;
}

.pit-dynamic-solution-card{
    position:relative;
    min-height:245px;
    display:flex;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    background:
        linear-gradient(
            145deg,
            #2b2b2a,
            #383130
        );
    color:#fff!important;
    text-decoration:none!important;
    box-shadow:
        0 14px 34px rgba(0,0,0,.13);
    isolation:isolate;
    transition:
        transform .26s cubic-bezier(.22,.61,.36,1),
        border-color .26s ease,
        box-shadow .26s ease;
}

.pit-dynamic-solution-card:hover{
    transform:translateY(-7px);
    border-color:rgba(229,43,41,.45);
    box-shadow:
        0 24px 50px rgba(0,0,0,.24);
}

.pit-dynamic-solution-image{
    position:absolute;
    inset:0;
    z-index:-3;
}

.pit-dynamic-solution-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.02);
    filter:
        brightness(.52)
        saturate(.75);
    transition:
        transform .8s cubic-bezier(.22,.61,.36,1),
        filter .35s ease;
}

.pit-dynamic-solution-card:hover
.pit-dynamic-solution-image img{
    transform:scale(1.09);
    filter:
        brightness(.62)
        saturate(.9);
}

.pit-dynamic-solution-overlay{
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        linear-gradient(
            180deg,
            rgba(22,22,21,.13) 0%,
            rgba(22,22,21,.52) 45%,
            rgba(18,18,17,.94) 100%
        );
}

.pit-dynamic-solution-content{
    width:100%;
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:20px;
}

.pit-dynamic-solution-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:auto;
}

.pit-dynamic-solution-icon{
    width:43px;
    height:43px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.16);
    border-radius:12px;
    background:rgba(255,255,255,.08);
    font-size:21px;
    backdrop-filter:blur(8px);
    transition:
        transform .25s cubic-bezier(.2,.85,.25,1.08),
        background .25s ease;
}

.pit-dynamic-solution-card:hover
.pit-dynamic-solution-icon{
    transform:translateY(-3px) scale(1.08) rotate(-3deg);
    background:rgba(174,38,36,.82);
}

.pit-dynamic-solution-top small{
    max-width:120px;
    padding:5px 7px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:999px;
    background:rgba(15,15,15,.35);
    color:#ddd;
    font-size:7px;
    font-weight:900;
    line-height:1.2;
    text-align:center;
    text-transform:uppercase;
    letter-spacing:.05em;
    backdrop-filter:blur(8px);
}

.pit-dynamic-solution-content > strong{
    display:block;
    margin-top:40px;
    color:#fff;
    font-size:18px;
    line-height:1.12;
}

.pit-dynamic-solution-text{
    display:-webkit-box;
    margin-top:8px;
    overflow:hidden;
    color:#c9c9ca;
    font-size:10px;
    line-height:1.55;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
}

.pit-dynamic-solution-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:14px;
    color:#ff625e;
    font-size:9px;
    font-weight:950;
}

.pit-dynamic-solution-link i{
    font-style:normal;
    transition:transform .2s ease;
}

.pit-dynamic-solution-card:hover
.pit-dynamic-solution-link i{
    transform:translateX(4px);
}

.pit-solutions-empty{
    padding:40px 18px;
    border:1px dashed rgba(255,255,255,.18);
    border-radius:15px;
    color:#aaa;
    font-size:11px;
    text-align:center;
}

/* Directory hero */
.pit-solutions-directory-hero{
    position:relative;
    overflow:hidden;
    padding:
        clamp(65px,8vw,125px)
        0;
    background:
        radial-gradient(
            circle at 75% 20%,
            rgba(174,38,36,.28),
            transparent 38%
        ),
        linear-gradient(
            120deg,
            #171716,
            #24201f 60%,
            #4a2928
        );
    color:#fff;
}

.pit-solutions-directory-hero::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,.02) 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:linear-gradient(90deg,#000,transparent 85%);
}

.pit-solutions-directory-hero .site-wrap{
    position:relative;
    z-index:2;
}

.pit-solutions-directory-hero h1{
    max-width:850px;
    margin:19px 0 0;
    color:#fff;
    font-size:clamp(43px,6vw,82px);
    line-height:.98;
    letter-spacing:-.045em;
}

.pit-solutions-directory-hero h1 em{
    display:block;
    color:#ff504c;
    font-style:normal;
}

.pit-solutions-directory-hero p{
    max-width:690px;
    margin:18px 0 0;
    color:#cfcfd0;
    font-size:clamp(13px,1.3vw,17px);
    line-height:1.6;
}

.pit-solutions-filter{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:25px;
}

.pit-solutions-filter button{
    min-height:38px;
    padding:0 11px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:rgba(255,255,255,.05);
    color:#bbb;
    font-size:8px;
    font-weight:900;
    cursor:pointer;
    transition:
        color .18s ease,
        background .18s ease,
        border-color .18s ease;
}

.pit-solutions-filter button:hover,
.pit-solutions-filter button.active{
    border-color:#ae2624;
    background:#ae2624;
    color:#fff;
}

.pit-solutions-directory-grid{
    display:grid;
    grid-template-columns:repeat(
        auto-fit,
        minmax(min(290px,100%),1fr)
    );
    gap:17px;
}

.pit-solution-directory-card{
    overflow:hidden;
    border:1px solid #343433;
    border-radius:18px;
    background:#222221;
    transition:
        transform .26s ease,
        border-color .26s ease,
        box-shadow .26s ease;
}

.pit-solution-directory-card[hidden]{
    display:none!important;
}

.pit-solution-directory-card:hover{
    transform:translateY(-6px);
    border-color:rgba(174,38,36,.52);
    box-shadow:0 24px 48px rgba(0,0,0,.25);
}

.pit-solution-directory-media{
    min-height:205px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:#191918;
}

.pit-solution-directory-media img{
    width:100%;
    height:220px;
    object-fit:cover;
    filter:
        brightness(.75)
        saturate(.85);
    transition:
        transform .75s ease,
        filter .35s ease;
}

.pit-solution-directory-card:hover
.pit-solution-directory-media img{
    transform:scale(1.06);
    filter:
        brightness(.88)
        saturate(1);
}

.pit-solution-directory-media > span{
    font-size:60px;
}

.pit-solution-directory-body{
    padding:18px;
}

.pit-solution-directory-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.pit-solution-directory-meta span{
    color:#e25a57;
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.pit-solution-directory-meta b{
    padding:4px 6px;
    border-radius:999px;
    background:rgba(174,38,36,.17);
    color:#ff6662;
    font-size:7px;
}

.pit-solution-directory-body h2{
    margin:9px 0 0;
    font-size:19px;
    line-height:1.13;
}

.pit-solution-directory-body h2 a{
    color:#fff!important;
    text-decoration:none!important;
}

.pit-solution-directory-body p{
    display:-webkit-box;
    margin:9px 0 0;
    overflow:hidden;
    color:#aaa;
    font-size:10px;
    line-height:1.55;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
}

.pit-solution-directory-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:15px;
    color:#ff625e!important;
    font-size:9px;
    font-weight:900;
    text-decoration:none!important;
}

.pit-solution-directory-link span{
    transition:transform .18s ease;
}

.pit-solution-directory-link:hover span{
    transform:translateX(4px);
}

/* Detail page */
.pit-solution-detail-hero{
    position:relative;
    min-height:560px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:
        radial-gradient(circle at 75% 25%,rgba(174,38,36,.25),transparent 38%),
        linear-gradient(120deg,#171716,#2c2221 70%,#482827);
    color:#fff;
    isolation:isolate;
}

.pit-solution-detail-hero.has-image::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-4;
    background-image:var(--solution-hero);
    background-position:center;
    background-size:cover;
    filter:
        brightness(.55)
        saturate(.75);
}

.pit-solution-detail-overlay{
    position:absolute;
    inset:0;
    z-index:-3;
    background:
        linear-gradient(
            90deg,
            rgba(17,17,16,.96) 0%,
            rgba(17,17,16,.88) 45%,
            rgba(38,22,22,.67) 100%
        );
}

.pit-solution-detail-hero-inner{
    padding-top:70px;
    padding-bottom:70px;
}

.pit-solution-detail-copy{
    max-width:800px;
}

.pit-solution-back{
    display:inline-flex;
    color:#bbb!important;
    font-size:9px;
    font-weight:850;
    text-decoration:none!important;
}

.pit-solution-detail-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:20px;
}

.pit-solution-detail-meta span,
.pit-solution-detail-meta b{
    display:inline-flex;
    padding:5px 8px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:rgba(255,255,255,.06);
    color:#ddd;
    font-size:7px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.pit-solution-detail-meta b{
    color:#ff6c68;
}

.pit-solution-detail-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    margin-top:18px;
    border:1px solid rgba(255,255,255,.17);
    border-radius:16px;
    background:rgba(255,255,255,.07);
    font-size:28px;
    backdrop-filter:blur(10px);
}

.pit-solution-detail-copy h1{
    max-width:850px;
    margin:18px 0 0;
    color:#fff;
    font-size:clamp(45px,6vw,82px);
    line-height:.98;
    letter-spacing:-.045em;
}

.pit-solution-detail-copy > p{
    max-width:700px;
    margin:17px 0 0;
    color:#d2d2d3;
    font-size:clamp(13px,1.3vw,17px);
    line-height:1.6;
}

.pit-solution-detail-layout{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
    gap:clamp(28px,5vw,70px);
    align-items:start;
}

.pit-solution-detail-content h2{
    margin:5px 0 0;
    color:#252524;
    font-size:clamp(28px,3vw,44px);
    line-height:1.08;
}

.pit-solution-rich-text{
    margin-top:22px;
    color:#626262;
    font-size:13px;
    line-height:1.82;
}

.pit-solution-detail-contact{
    position:sticky;
    top:140px;
    padding:22px;
    border:1px solid #dedede;
    border-radius:17px;
    background:#fff;
    box-shadow:0 16px 38px rgba(0,0,0,.06);
}

.pit-solution-detail-contact > span{
    color:#ae2624;
    font-size:8px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.pit-solution-detail-contact h3{
    margin:8px 0 0;
    color:#252524;
    font-size:22px;
}

.pit-solution-detail-contact p{
    margin:9px 0 16px;
    color:#777;
    font-size:10px;
    line-height:1.6;
}

.pit-solution-detail-contact .btn{
    width:100%;
    justify-content:center;
}

.pit-solution-phone{
    display:block;
    margin-top:12px;
    color:#333!important;
    font-size:11px;
    font-weight:900;
    text-align:center;
    text-decoration:none!important;
}

.pit-related-solutions{
    display:grid;
    grid-template-columns:repeat(
        auto-fit,
        minmax(min(220px,100%),1fr)
    );
    gap:12px;
}

.pit-related-solutions a{
    min-height:155px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:17px;
    border:1px solid #373736;
    border-radius:15px;
    background:#242423;
    color:#fff!important;
    text-decoration:none!important;
    transition:
        transform .22s ease,
        border-color .22s ease;
}

.pit-related-solutions a:hover{
    transform:translateY(-5px);
    border-color:rgba(174,38,36,.55);
}

.pit-related-solutions a > span{
    font-size:24px;
}

.pit-related-solutions b{
    margin-top:9px;
    font-size:13px;
}

.pit-related-solutions small{
    display:-webkit-box;
    margin-top:6px;
    overflow:hidden;
    color:#999;
    font-size:8px;
    line-height:1.45;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
}

@media(max-width:900px){
    .pit-solution-detail-layout{
        grid-template-columns:1fr;
    }

    .pit-solution-detail-contact{
        position:static;
    }
}

@media(max-width:600px){
    .pit-dynamic-solutions-grid,
    .pit-solutions-directory-grid{
        grid-template-columns:1fr;
    }

    .pit-dynamic-solution-card{
        min-height:220px;
    }

    .pit-solutions-directory-hero{
        padding:58px 0;
    }

    .pit-solution-detail-hero{
        min-height:auto;
    }

    .pit-solution-detail-hero-inner{
        padding-top:55px;
        padding-bottom:60px;
    }
}

@media(prefers-reduced-motion:reduce){
    .pit-dynamic-solution-card,
    .pit-solution-directory-card,
    .pit-related-solutions a{
        transition:none!important;
    }
}




/* ==========================================================================
   PARTNER IT - OUR PARTNERS CUSTOMER NETWORK V8
   ========================================================================== */

.pit-customer-network-section{
    position:relative;
    overflow:hidden;
    padding:clamp(58px,7vw,104px) 0;
    background:
        radial-gradient(circle at 80% 12%,rgba(18,94,130,.28),transparent 34%),
        radial-gradient(circle at 15% 90%,rgba(174,38,36,.20),transparent 35%),
        linear-gradient(135deg,#082f49,#074b6b 55%,#07334b);
    color:#fff;
}

.pit-customer-network-section::before{
    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,.02) 1px,transparent 1px);
    background-size:45px 45px;
    mask-image:linear-gradient(180deg,#000,transparent 92%);
}

.pit-network-head{
    position:relative;
    z-index:2;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    margin-bottom:34px;
}

.pit-network-head > div{
    min-width:0;
}

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

.pit-network-form-kicker{
    border-color:#ead2d2;
    background:#f8eaea;
    color:#ae2624;
}

.pit-network-head h2{
    margin:0;
    color:#fff;
    font-size:clamp(33px,4vw,60px);
    line-height:1.02;
    letter-spacing:-.035em;
}

.pit-network-head p{
    max-width:750px;
    margin:11px 0 0;
    color:#c8d8e0;
    font-size:11px;
    line-height:1.65;
}

.pit-network-head .btn{
    flex:0 0 auto;
}

.pit-network-layout{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);
    gap:22px;
    align-items:stretch;
}

.pit-network-map-card,
.pit-network-cities-card,
.pit-network-privacy{
    border:1px solid rgba(255,255,255,.13);
    background:rgba(6,35,52,.58);
    box-shadow:0 25px 65px rgba(0,0,0,.22);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

.pit-network-map-card{
    min-height:650px;
    overflow:hidden;
    border-radius:25px;
}

.pit-network-map-topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:20px 22px 0;
}

.pit-network-map-topline > div:first-child{
    display:grid;
}

.pit-network-map-topline span{
    color:#9cc6d9;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.pit-network-map-topline strong{
    margin-top:3px;
    color:#fff;
    font-size:31px;
    line-height:1;
}

.pit-network-map-topline small{
    margin-top:4px;
    color:#89aebb;
    font-size:8px;
}

.pit-network-live{
    display:inline-flex!important;
    align-items:center;
    gap:7px;
    padding:6px 9px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:999px;
    background:rgba(3,25,38,.62);
    color:#d7f9e1!important;
    font-size:7px!important;
    font-weight:950;
}

.pit-network-live i{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#48d078;
    box-shadow:0 0 0 0 rgba(72,208,120,.46);
    animation:pitNetworkLive 2.2s ease-out infinite;
}

.pit-network-map-wrap{
    position:relative;
    min-height:575px;
    display:grid;
    place-items:center;
    padding:12px 20px 25px;
}

.pit-sri-lanka-map{
    width:min(100%,420px);
    max-height:565px;
    overflow:visible;
    filter:drop-shadow(0 24px 35px rgba(0,0,0,.25));
}

.pit-sri-lanka-shape{
    stroke:rgba(255,255,255,.22);
    stroke-width:2.5;
}

.pit-sri-lanka-circuit{
    pointer-events:none;
}

.pit-network-marker{
    opacity:.26;
    transition:
        opacity .25s ease,
        filter .25s ease;
}

.pit-network-marker.active{
    opacity:1;
    filter:drop-shadow(0 0 6px rgba(229,43,41,.55));
}

.pit-network-pulse{
    fill:rgba(229,43,41,.12);
    stroke:rgba(255,86,82,.28);
    stroke-width:1;
}

.pit-network-marker.active .pit-network-pulse{
    animation:pitDistrictPulse 2.6s ease-out infinite;
    transform-origin:center;
}

.pit-network-dot{
    fill:#e52b29;
    stroke:#fff;
    stroke-width:2;
}

.pit-network-count{
    fill:#fff;
    font-size:7px;
    font-weight:950;
    pointer-events:none;
}

.pit-network-map-note{
    position:absolute;
    left:18px;
    right:18px;
    bottom:16px;
    padding:8px 11px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:10px;
    background:rgba(3,24,37,.62);
    color:#8fb4c4;
    font-size:8px;
    line-height:1.45;
    text-align:center;
}

.pit-network-side{
    display:grid;
    gap:15px;
    align-content:start;
}

.pit-network-kpis{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.pit-network-kpis > div{
    min-width:0;
    padding:15px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:15px;
    background:rgba(6,35,52,.56);
    box-shadow:0 15px 35px rgba(0,0,0,.12);
    backdrop-filter:blur(12px);
}

.pit-network-kpis span{
    display:block;
    color:#8eb3c2;
    font-size:7px;
    font-weight:900;
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.pit-network-kpis strong{
    display:block;
    margin-top:7px;
    color:#fff;
    font-size:25px;
}

.pit-network-cities-card{
    overflow:hidden;
    border-radius:19px;
    padding:18px;
}

.pit-network-cities-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:15px;
    padding-bottom:13px;
    border-bottom:1px solid rgba(255,255,255,.10);
}

.pit-network-cities-head > div span{
    color:#7fa9ba;
    font-size:7px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.pit-network-cities-head h3{
    margin:5px 0 0;
    color:#fff;
    font-size:17px;
}

.pit-network-auto{
    display:inline-flex;
    padding:5px 7px;
    border-radius:999px;
    background:rgba(72,208,120,.10);
    color:#77dda0!important;
    font-size:7px!important;
    font-weight:900;
}

.pit-network-city-list{
    display:grid;
    margin-top:5px;
}

.pit-network-city-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:11px 2px;
    border-bottom:1px solid rgba(255,255,255,.075);
}

.pit-network-city-row:last-child{
    border-bottom:0;
}

.pit-network-city-row > span{
    min-width:0;
}

.pit-network-city-row b{
    display:block;
    color:#fff;
    font-size:11px;
}

.pit-network-city-row small{
    display:block;
    margin-top:3px;
    color:#769aaa;
    font-size:7px;
}

.pit-network-city-row > strong{
    flex:0 0 auto;
    min-width:38px;
    text-align:right;
    color:#ff625e;
    font-size:14px;
}

.pit-network-city-empty{
    padding:35px 10px;
    color:#86aab9;
    font-size:9px;
    line-height:1.6;
    text-align:center;
}

.pit-network-privacy{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:12px;
    align-items:start;
    padding:15px;
    border-radius:15px;
}

.pit-network-privacy > span{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    background:rgba(255,255,255,.07);
}

.pit-network-privacy strong{
    display:block;
    color:#fff;
    font-size:10px;
}

.pit-network-privacy p{
    margin:4px 0 0;
    color:#8fb0bd;
    font-size:8px;
    line-height:1.55;
}

.pit-network-register-panel .field small{
    display:block;
    margin-top:5px;
    color:#888;
    font-size:9px;
    line-height:1.45;
}

.pit-network-form-actions{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

@keyframes pitNetworkLive{
    0%{box-shadow:0 0 0 0 rgba(72,208,120,.45)}
    70%{box-shadow:0 0 0 8px rgba(72,208,120,0)}
    100%{box-shadow:0 0 0 0 rgba(72,208,120,0)}
}

@keyframes pitDistrictPulse{
    0%{
        opacity:.85;
        transform:scale(.75);
    }
    70%{
        opacity:0;
        transform:scale(1.55);
    }
    100%{
        opacity:0;
        transform:scale(1.55);
    }
}

@media(max-width:1050px){
    .pit-network-layout{
        grid-template-columns:1fr;
    }

    .pit-network-map-card{
        min-height:610px;
    }

    .pit-network-map-wrap{
        min-height:535px;
    }
}

@media(max-width:760px){
    .pit-network-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .pit-network-head .btn{
        width:100%;
        justify-content:center;
    }

    .pit-network-kpis{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .pit-network-map-card{
        min-height:560px;
        border-radius:19px;
    }

    .pit-network-map-wrap{
        min-height:485px;
        padding-inline:8px;
    }

    .pit-sri-lanka-map{
        max-height:475px;
    }
}

@media(max-width:520px){
    .pit-network-kpis{
        grid-template-columns:1fr;
    }

    .pit-network-map-card{
        min-height:510px;
    }

    .pit-network-map-wrap{
        min-height:430px;
    }

    .pit-sri-lanka-map{
        max-height:410px;
    }

    .pit-network-map-topline{
        padding:16px 16px 0;
    }

    .pit-network-map-note{
        left:10px;
        right:10px;
        font-size:7px;
    }

    .pit-network-form-actions .btn{
        width:100%;
        justify-content:center;
    }
}

@media(prefers-reduced-motion:reduce){
    .pit-network-marker.active .pit-network-pulse,
    .pit-network-live i{
        animation:none!important;
    }
}




/* ==========================================================================
   PARTNER IT V9 - TEAM COLOR SYSTEM
   NO BLUE IN NEW BRAND / CUSTOMER NETWORK SECTIONS
   ========================================================================== */

:root{
    --pit-team-black:#151514;
    --pit-team-panel:#1E1E1E;
    --pit-team-card:#383837;
    --pit-team-silver:#787878;
    --pit-team-red:#AE2624;
    --pit-team-red-dark:#6A2322;
    --pit-team-red-alert:#E52B29;
    --pit-team-text:#F2F2F2;
    --pit-team-muted:#9A9A9A;
    --pit-team-success:#426146;
}

/* --------------------------------------------------------------------------
   TECHNOLOGY BRANDS - PREMIUM PARTNER IT THEME
   -------------------------------------------------------------------------- */

.brand-showcase-section{
    position:relative!important;
    overflow:hidden!important;
    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(174,38,36,.20),
            transparent 30%
        ),
        radial-gradient(
            circle at 12% 82%,
            rgba(106,35,34,.16),
            transparent 32%
        ),
        var(--pit-team-black)!important;
    border-top:1px solid var(--pit-team-card)!important;
    border-bottom:1px solid var(--pit-team-card)!important;
    color:var(--pit-team-text)!important;
}

.brand-showcase-section::before{
    width:520px!important;
    height:520px!important;
    right:-250px!important;
    top:-310px!important;
    background:rgba(174,38,36,.13)!important;
    filter:blur(70px)!important;
}

.brand-showcase-section::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.018) 1px,
            transparent 1px
        ),
        linear-gradient(
            rgba(255,255,255,.014) 1px,
            transparent 1px
        )!important;
    background-size:48px 48px!important;
    mask-image:linear-gradient(180deg,#000,transparent 95%)!important;
}

.brand-showcase-head{
    position:relative!important;
    z-index:3!important;
}

.brand-showcase-kicker{
    border-color:rgba(229,43,41,.36)!important;
    background:rgba(174,38,36,.15)!important;
    color:#ff6a66!important;
}

.brand-showcase-head h2{
    color:var(--pit-team-text)!important;
}

.brand-showcase-head p{
    color:var(--pit-team-muted)!important;
}

.brand-showcase-products-link{
    border-color:var(--pit-team-card)!important;
    background:var(--pit-team-panel)!important;
    color:var(--pit-team-text)!important;
}

.brand-showcase-products-link:hover{
    border-color:var(--pit-team-red)!important;
    color:#fff!important;
    box-shadow:0 14px 30px rgba(174,38,36,.20)!important;
}

.brand-logo-marquee{
    position:relative!important;
    z-index:3!important;
    padding:8px 0!important;
}

.brand-logo-card{
    width:190px!important;
    min-height:122px!important;
    border-color:#424241!important;
    background:
        linear-gradient(
            145deg,
            #252524,
            var(--pit-team-panel)
        )!important;
    color:var(--pit-team-text)!important;
    box-shadow:
        0 10px 28px rgba(0,0,0,.28)!important;
}

.brand-logo-card:not(.duplicate):hover{
    transform:translateY(-7px) scale(1.02)!important;
    border-color:rgba(229,43,41,.72)!important;
    background:
        linear-gradient(
            145deg,
            #302323,
            #24201f
        )!important;
    box-shadow:
        0 20px 46px rgba(0,0,0,.38),
        0 0 0 1px rgba(174,38,36,.15),
        0 0 34px rgba(174,38,36,.12)!important;
}

.brand-logo-image img{
    filter:
        grayscale(1)
        brightness(1.65)
        contrast(.92)!important;
    opacity:.72!important;
}

.brand-logo-card:not(.duplicate):hover .brand-logo-image img{
    filter:none!important;
    opacity:1!important;
    transform:scale(1.08)!important;
}

.brand-logo-text{
    color:var(--pit-team-text)!important;
}

.brand-logo-name{
    color:var(--pit-team-muted)!important;
}

.brand-logo-card:not(.duplicate):hover .brand-logo-name{
    color:#ff6864!important;
}

.brand-logo-fade.left{
    background:
        linear-gradient(
            90deg,
            var(--pit-team-black) 0%,
            rgba(21,21,20,.92) 34%,
            rgba(21,21,20,0) 100%
        )!important;
}

.brand-logo-fade.right{
    background:
        linear-gradient(
            270deg,
            var(--pit-team-black) 0%,
            rgba(21,21,20,.92) 34%,
            rgba(21,21,20,0) 100%
        )!important;
}

.brand-logo-marquee[data-brand-marquee-ready="1"] .brand-logo-track{
    animation-duration:28s!important;
}

.brand-showcase-note{
    position:relative!important;
    z-index:3!important;
    color:var(--pit-team-muted)!important;
}

.brand-showcase-note b{
    color:#d8d8d8!important;
}

.brand-showcase-live{
    background:var(--pit-team-red)!important;
    box-shadow:0 0 0 0 rgba(174,38,36,.38)!important;
    animation:pitBrandTeamPulse 2.2s ease-out infinite!important;
}

@keyframes pitBrandTeamPulse{
    0%{
        box-shadow:0 0 0 0 rgba(174,38,36,.45);
    }
    70%{
        box-shadow:0 0 0 9px rgba(174,38,36,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(174,38,36,0);
    }
}

/* --------------------------------------------------------------------------
   OUR PARTNERS - CUSTOMER NETWORK: CHARCOAL / RED / SILVER ONLY
   -------------------------------------------------------------------------- */

.pit-customer-network-section{
    background:
        radial-gradient(
            circle at 80% 10%,
            rgba(174,38,36,.22),
            transparent 32%
        ),
        radial-gradient(
            circle at 10% 92%,
            rgba(106,35,34,.20),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #151514,
            #1E1E1E 55%,
            #24201f
        )!important;
    color:var(--pit-team-text)!important;
    border-top:1px solid #343433!important;
    border-bottom:1px solid #343433!important;
}

.pit-customer-network-section::before{
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.021) 1px,
            transparent 1px
        ),
        linear-gradient(
            rgba(255,255,255,.018) 1px,
            transparent 1px
        )!important;
}

.pit-network-kicker{
    border-color:rgba(229,43,41,.38)!important;
    background:rgba(174,38,36,.14)!important;
    color:#ff6a66!important;
}

.pit-network-head h2{
    color:var(--pit-team-text)!important;
}

.pit-network-head p{
    color:#b7b7b7!important;
}

.pit-network-map-card,
.pit-network-cities-card,
.pit-network-privacy{
    border-color:#414140!important;
    background:
        linear-gradient(
            145deg,
            rgba(56,56,55,.74),
            rgba(30,30,30,.86)
        )!important;
    box-shadow:
        0 25px 65px rgba(0,0,0,.35)!important;
}

.pit-network-map-topline span,
.pit-network-map-topline small,
.pit-network-kpis span,
.pit-network-cities-head > div span,
.pit-network-city-row small{
    color:var(--pit-team-muted)!important;
}

.pit-network-map-topline strong,
.pit-network-kpis strong,
.pit-network-cities-head h3,
.pit-network-city-row b,
.pit-network-privacy strong{
    color:var(--pit-team-text)!important;
}

.pit-network-live{
    border-color:#454544!important;
    background:#20201f!important;
    color:#f0d5d4!important;
}

.pit-network-live i{
    background:var(--pit-team-red-alert)!important;
    animation:pitTeamLive 2.2s ease-out infinite!important;
}

.pit-network-kpis > div{
    border-color:#414140!important;
    background:
        linear-gradient(
            145deg,
            #2d2d2c,
            #222221
        )!important;
}

.pit-network-auto{
    background:rgba(174,38,36,.16)!important;
    color:#ff7773!important;
}

.pit-network-city-row{
    border-bottom-color:#3b3b3a!important;
}

.pit-network-city-row > strong{
    color:#ff625e!important;
}

.pit-network-city-empty,
.pit-network-privacy p{
    color:var(--pit-team-muted)!important;
}

.pit-network-privacy > span{
    background:#383837!important;
}

.pit-network-map-note{
    border-color:#444443!important;
    background:rgba(21,21,20,.86)!important;
    color:#aaa!important;
}

/* --------------------------------------------------------------------------
   TRUE SRI LANKA DISTRICT MAP
   -------------------------------------------------------------------------- */

.pit-network-map-wrap{
    overflow:hidden!important;
}

.pit-true-sri-lanka-map{
    position:relative;
    width:min(100%,470px);
    aspect-ratio:500/766;
    margin:4px auto 28px;
    isolation:isolate;
}

.pit-sri-lanka-map-image{
    position:absolute;
    inset:0;
    z-index:2;
    width:100%;
    height:100%;
    object-fit:contain;
    filter:
        drop-shadow(0 22px 30px rgba(0,0,0,.42))
        drop-shadow(0 0 14px rgba(174,38,36,.15));
    user-select:none;
    pointer-events:none;
}

.pit-map-red-glow{
    position:absolute;
    z-index:1;
    left:20%;
    top:12%;
    width:60%;
    height:75%;
    border-radius:50%;
    background:rgba(174,38,36,.16);
    filter:blur(58px);
    animation:pitMapGlow 4.5s ease-in-out infinite;
    pointer-events:none;
}

.pit-network-marker-layer{
    position:absolute;
    inset:0;
    z-index:5;
    pointer-events:none;
}

.pit-network-marker{
    position:absolute!important;
    left:var(--mx)!important;
    top:var(--my)!important;
    width:28px!important;
    height:28px!important;
    margin:-14px 0 0 -14px!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:transparent!important;
    opacity:.38!important;
    transform:none!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    filter:none!important;
    transition:
        opacity .22s ease,
        transform .22s ease!important;
}

.pit-network-marker.active{
    opacity:1!important;
}

.pit-network-marker:hover,
.pit-network-marker.selected{
    z-index:12!important;
    opacity:1!important;
    transform:scale(1.18)!important;
}

.pit-network-pulse{
    position:absolute!important;
    inset:0!important;
    width:auto!important;
    height:auto!important;
    border:1px solid rgba(229,43,41,.42)!important;
    border-radius:50%!important;
    background:rgba(174,38,36,.17)!important;
}

.pit-network-marker.active .pit-network-pulse{
    animation:pitTrueMapPulse 2.4s ease-out infinite!important;
}

.pit-network-dot{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:16px!important;
    height:16px!important;
    display:grid!important;
    place-items:center!important;
    transform:translate(-50%,-50%)!important;
    border:2px solid #f2f2f2!important;
    border-radius:50%!important;
    background:var(--pit-team-red-alert)!important;
    box-shadow:
        0 3px 10px rgba(0,0,0,.42),
        0 0 10px rgba(229,43,41,.28)!important;
}

.pit-network-count{
    color:#fff!important;
    font-size:7px!important;
    font-weight:950!important;
    line-height:1!important;
}

.pit-network-marker-label{
    position:absolute!important;
    left:50%!important;
    bottom:calc(100% + 7px)!important;
    width:max-content!important;
    max-width:130px!important;
    padding:6px 8px!important;
    border:1px solid #4a4a49!important;
    border-radius:8px!important;
    background:rgba(21,21,20,.94)!important;
    color:#fff!important;
    box-shadow:0 8px 20px rgba(0,0,0,.32)!important;
    font-size:8px!important;
    font-weight:900!important;
    line-height:1!important;
    opacity:0!important;
    transform:translate(-50%,5px)!important;
    pointer-events:none!important;
    white-space:nowrap!important;
    transition:
        opacity .18s ease,
        transform .18s ease!important;
}

.pit-network-marker:hover .pit-network-marker-label,
.pit-network-marker.selected .pit-network-marker-label{
    opacity:1!important;
    transform:translate(-50%,0)!important;
}

.pit-map-scan-line{
    position:absolute;
    z-index:7;
    left:17%;
    top:10%;
    width:66%;
    height:2px;
    border-radius:999px;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(229,43,41,.85),
            transparent
        );
    box-shadow:0 0 14px rgba(229,43,41,.32);
    opacity:.65;
    animation:pitMapScan 5.8s linear infinite;
    pointer-events:none;
}

@keyframes pitTeamLive{
    0%{box-shadow:0 0 0 0 rgba(229,43,41,.45)}
    70%{box-shadow:0 0 0 8px rgba(229,43,41,0)}
    100%{box-shadow:0 0 0 0 rgba(229,43,41,0)}
}

@keyframes pitTrueMapPulse{
    0%{
        opacity:.75;
        transform:scale(.65);
    }
    75%{
        opacity:0;
        transform:scale(1.65);
    }
    100%{
        opacity:0;
        transform:scale(1.65);
    }
}

@keyframes pitMapGlow{
    0%,100%{
        opacity:.48;
        transform:scale(.94);
    }
    50%{
        opacity:.9;
        transform:scale(1.05);
    }
}

@keyframes pitMapScan{
    0%{
        top:12%;
        opacity:0;
    }
    10%{
        opacity:.65;
    }
    86%{
        opacity:.65;
    }
    100%{
        top:87%;
        opacity:0;
    }
}

@media(max-width:760px){
    .pit-true-sri-lanka-map{
        width:min(100%,400px);
    }

    .brand-logo-card{
        width:160px!important;
        min-height:108px!important;
    }

    .brand-logo-marquee[data-brand-marquee-ready="1"] .brand-logo-track{
        animation-duration:22s!important;
    }
}

@media(max-width:520px){
    .pit-true-sri-lanka-map{
        width:min(100%,350px);
    }

    .pit-network-marker{
        width:24px!important;
        height:24px!important;
        margin:-12px 0 0 -12px!important;
    }

    .pit-network-dot{
        width:14px!important;
        height:14px!important;
    }

    .pit-map-scan-line{
        left:15%;
        width:70%;
    }
}

@media(prefers-reduced-motion:reduce){
    .pit-map-red-glow,
    .pit-map-scan-line,
    .pit-network-marker.active .pit-network-pulse,
    .brand-showcase-live{
        animation:none!important;
    }

    .brand-logo-marquee[data-brand-marquee-ready="1"] .brand-logo-track{
        animation:none!important;
    }
}




/* ==========================================================================
   PARTNER IT V11 - PERMANENT DISTRICT PARTNER CALLOUTS
   ========================================================================== */

/*
Only ACTIVE district markers show the premium permanent callout.
Inactive districts remain as subtle map points.
*/

.pit-network-marker-label{
    display:none!important;
}

.pit-network-marker.active .pit-network-marker-label{
    position:absolute!important;
    display:flex!important;
    align-items:center!important;
    width:145px!important;
    max-width:none!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--pit-team-text)!important;
    opacity:1!important;
    transform:none!important;
    pointer-events:none!important;
    white-space:normal!important;
    z-index:20!important;
}

/* Districts on left half of island point their card to the RIGHT. */
.pit-network-marker.callout-right.active .pit-network-marker-label{
    left:calc(100% + 5px)!important;
    right:auto!important;
    bottom:auto!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    flex-direction:row!important;
}

/* Districts on right half of island point their card to the LEFT. */
.pit-network-marker.callout-left.active .pit-network-marker-label{
    right:calc(100% + 5px)!important;
    left:auto!important;
    bottom:auto!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    flex-direction:row-reverse!important;
}

.pit-network-callout-line{
    position:relative!important;
    flex:0 0 34px!important;
    width:34px!important;
    height:1px!important;
    background:
        linear-gradient(
            90deg,
            rgba(229,43,41,.92),
            rgba(120,120,120,.55)
        )!important;
}

.pit-network-marker.callout-left
.pit-network-callout-line{
    background:
        linear-gradient(
            90deg,
            rgba(120,120,120,.55),
            rgba(229,43,41,.92)
        )!important;
}

.pit-network-callout-line::after{
    content:""!important;
    position:absolute!important;
    top:50%!important;
    width:5px!important;
    height:5px!important;
    border-radius:50%!important;
    background:var(--pit-team-red-alert)!important;
    box-shadow:0 0 8px rgba(229,43,41,.75)!important;
    transform:translateY(-50%)!important;
}

.pit-network-marker.callout-right
.pit-network-callout-line::after{
    right:-1px!important;
}

.pit-network-marker.callout-left
.pit-network-callout-line::after{
    left:-1px!important;
}

.pit-network-callout-card{
    min-width:104px!important;
    display:grid!important;
    gap:2px!important;
    padding:7px 9px!important;
    border:1px solid rgba(120,120,120,.48)!important;
    border-radius:9px!important;
    background:
        linear-gradient(
            145deg,
            rgba(56,56,55,.96),
            rgba(30,30,30,.97)
        )!important;
    box-shadow:
        0 10px 24px rgba(0,0,0,.34),
        inset 2px 0 0 rgba(174,38,36,.90)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
}

.pit-network-marker.callout-left
.pit-network-callout-card{
    box-shadow:
        0 10px 24px rgba(0,0,0,.34),
        inset -2px 0 0 rgba(174,38,36,.90)!important;
}

.pit-network-callout-card b{
    color:var(--pit-team-text)!important;
    font-size:8px!important;
    font-weight:950!important;
    line-height:1.15!important;
    letter-spacing:.01em!important;
}

.pit-network-callout-card strong{
    color:#ff625e!important;
    font-size:8px!important;
    font-weight:900!important;
    line-height:1.15!important;
}

/* Make active district nodes stronger. */
.pit-network-marker.active .pit-network-dot{
    box-shadow:
        0 3px 10px rgba(0,0,0,.48),
        0 0 12px rgba(229,43,41,.55)!important;
}

/* No hover is required anymore; hover only gives subtle emphasis. */
.pit-network-marker.active:hover{
    transform:scale(1.08)!important;
}

.pit-network-marker.active:hover
.pit-network-callout-card{
    border-color:rgba(229,43,41,.65)!important;
    box-shadow:
        0 12px 28px rgba(0,0,0,.38),
        0 0 20px rgba(174,38,36,.13),
        inset 2px 0 0 rgba(229,43,41,1)!important;
}

/* Large desktop / TV: make permanent callouts more readable. */
@media(min-width:1800px){
    .pit-network-marker.active .pit-network-marker-label{
        width:172px!important;
    }

    .pit-network-callout-line{
        flex-basis:43px!important;
        width:43px!important;
    }

    .pit-network-callout-card{
        min-width:124px!important;
        padding:8px 10px!important;
    }

    .pit-network-callout-card b,
    .pit-network-callout-card strong{
        font-size:9px!important;
    }
}

/*
Tablet:
keep all active labels visible but shorten connector lines.
*/
@media(max-width:900px){
    .pit-network-marker.active .pit-network-marker-label{
        width:122px!important;
    }

    .pit-network-callout-line{
        flex:0 0 22px!important;
        width:22px!important;
    }

    .pit-network-callout-card{
        min-width:94px!important;
        padding:6px 7px!important;
    }

    .pit-network-callout-card b,
    .pit-network-callout-card strong{
        font-size:7px!important;
    }
}

/*
Phone:
still permanent, but compact.
If many districts become active later, the map remains usable because labels
are divided left/right and the map container is allowed more horizontal room.
*/
@media(max-width:600px){
    .pit-network-map-wrap{
        padding-left:4px!important;
        padding-right:4px!important;
    }

    .pit-true-sri-lanka-map{
        width:min(82vw,355px)!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }

    .pit-network-marker.active .pit-network-marker-label{
        width:98px!important;
    }

    .pit-network-callout-line{
        flex:0 0 13px!important;
        width:13px!important;
    }

    .pit-network-callout-card{
        min-width:82px!important;
        max-width:86px!important;
        padding:5px 6px!important;
        border-radius:7px!important;
    }

    .pit-network-callout-card b{
        font-size:6px!important;
    }

    .pit-network-callout-card strong{
        font-size:6px!important;
    }
}

/*
Very small phones:
hide district names inside the point itself but KEEP partner callouts.
*/
@media(max-width:380px){
    .pit-network-marker.active .pit-network-marker-label{
        width:88px!important;
    }

    .pit-network-callout-line{
        flex-basis:8px!important;
        width:8px!important;
    }

    .pit-network-callout-card{
        min-width:76px!important;
        max-width:78px!important;
        padding:4px 5px!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .pit-network-marker.active:hover{
        transform:none!important;
    }
}
