.elementor-14 .elementor-element.elementor-element-375f743{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-b1f5591 *//* ============================================================
   PROLOCATE SERVICES
============================================================ */

:root{
    --pls-navy:#231560;
    --pls-purple:#4B258C;
    --pls-orange:#FF6E18;
    --pls-red:#E62133;

    --pls-dark:#080411;
    --pls-dark2:#100720;

    --pls-light:#F7F6F9;
    --pls-light2:#F0EDF3;

    --pls-text:#20182C;
    --pls-muted:#726B79;

    --pls-white:#FFFFFF;
}


/* ============================================================
   RESET
============================================================ */

.pls-page,
.pls-page *{
    box-sizing:border-box;
}


.pls-page{
    width:100%;

    overflow:hidden;

    color:
        var(--pls-text);

    font-family:
        Inter,
        "Segoe UI",
        Arial,
        sans-serif;
}


.pls-page a{
    text-decoration:none !important;
}


.pls-page button{
    font-family:inherit;
}


/* Official standalone Prolocate P mark */

.pls-brand-p{
    display:block;

    flex:0 0 auto;

    max-width:none !important;
    height:auto;

    object-fit:contain;

    pointer-events:none;
    user-select:none;
}


/* Elementor / title clipping protection */

.pls-page h1,
.pls-page h2,
.pls-page h3,
.pls-page h1 *,
.pls-page h2 *,
.pls-page h3 *{
    overflow:visible !important;
}


/* ============================================================
   CONTAINER
============================================================ */

.pls-container{
    position:relative;

    z-index:3;

    width:
        calc(100% - 84px);

    max-width:1460px;

    margin:0 auto;
}


/* ============================================================
   BACKGROUND GRIDS
============================================================ */

.pls-dark-grid,
.pls-light-grid{
    position:absolute;

    inset:0;

    pointer-events:none;
}


.pls-dark-grid{
    opacity:.13;

    background-image:
        linear-gradient(
            rgba(255,255,255,.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.035) 1px,
            transparent 1px
        );

    background-size:
        82px 82px;
}


.pls-light-grid{
    opacity:.44;

    background-image:
        linear-gradient(
            rgba(35,21,96,.04) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(35,21,96,.04) 1px,
            transparent 1px
        );

    background-size:
        82px 82px;
}


/* ============================================================
   EYEBROW
============================================================ */

.pls-eyebrow{
    display:flex;

    align-items:center;

    gap:12px;

    color:
        rgba(35,21,96,.44);

    font-size:9px;

    font-weight:850;

    letter-spacing:.18em;

    text-transform:uppercase;
}


.pls-eyebrow > span{
    width:42px;
    height:2px;

    background:
        linear-gradient(
            90deg,
            var(--pls-orange),
            var(--pls-red)
        );
}


.pls-eyebrow--light{
    color:
        rgba(255,255,255,.43);
}


/* ============================================================
   SAFE LARGE TYPOGRAPHY
   IMPORTANT: room for y / g / p / q / j
============================================================ */

.pls-hero__copy h1,
.pls-section-head h2,
.ploc-title,
.pls-related__copy h2,
.pls-cta__box h2{
    overflow:visible !important;

    padding-bottom:.13em;

    line-height:1.055 !important;
}


.pls-hero__copy h1 em,
.pls-section-head h2 em,
.ploc-title em,
.pls-related__copy h2 em,
.pls-cta__box h2 em{
    display:block;

    overflow:visible !important;

    padding-bottom:.13em;

    line-height:1.055 !important;
}


/* ============================================================
   SECTION HEAD
============================================================ */

.pls-section-head{
    margin-bottom:62px;
}


.pls-section-head__row{
    margin-top:22px;

    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    gap:70px;
}


.pls-section-head h2{
    max-width:850px;

    margin:0;

    color:
        var(--pls-text);

    font-size:
        clamp(
            50px,
            5vw,
            79px
        );

    font-weight:520;

    letter-spacing:-.066em;
}


.pls-section-head h2 em{
    margin-top:0;

    color:transparent;

    font-style:normal;

    font-weight:520;

    background:
        linear-gradient(
            95deg,
            var(--pls-orange),
            var(--pls-red),
            #A344C1
        );

    -webkit-background-clip:text;

    background-clip:text;
}


.pls-section-head__row > p{
    max-width:355px;

    margin:
        0 0
        .55em;

    color:
        var(--pls-muted);

    font-size:13px;

    line-height:1.75;
}


.pls-section-head--dark h2{
    color:#fff;
}


.pls-section-head--dark
.pls-section-head__row > p{
    color:
        rgba(255,255,255,.40);
}


/* ============================================================
   BUTTON
============================================================ */

.pls-button{
    min-height:58px;

    display:inline-flex;

    align-items:stretch;

    overflow:hidden;

    border-radius:9px;

    font-size:12px;

    font-weight:750;

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}


.pls-button span{
    padding:
        0 22px;

    display:flex;

    align-items:center;
}


.pls-button i{
    width:52px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-left:
        1px solid
        rgba(255,255,255,.14);

    font-style:normal;
}


.pls-button:hover{
    transform:
        translateY(-2px);
}


.pls-button--primary{
    color:#fff !important;

    background:
        linear-gradient(
            105deg,
            var(--pls-orange),
            var(--pls-red),
            var(--pls-purple)
        );

    box-shadow:
        0 15px 35px
        rgba(230,33,51,.17);
}


.pls-button--ghost{
    color:
        rgba(255,255,255,.72) !important;

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

    background:
        rgba(255,255,255,.025);
}


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

.pls-hero{
    position:relative;

    min-height:
        min(930px,100vh);

    padding:
        155px 0
        105px;

    overflow:hidden;

    color:#fff;

    background:
        radial-gradient(
            circle at 88% 10%,
            rgba(75,37,140,.25),
            transparent 34%
        ),
        radial-gradient(
            circle at 0 100%,
            rgba(255,110,24,.08),
            transparent 30%
        ),
        linear-gradient(
            155deg,
            #07030F,
            #0B0417 52%,
            #080311
        );
}


.pls-hero-orb{
    position:absolute;

    border-radius:50%;

    pointer-events:none;
}


.pls-hero-orb--1{
    width:760px;
    height:760px;

    right:-400px;
    top:-300px;

    background:
        radial-gradient(
            circle,
            rgba(75,37,140,.24),
            transparent 68%
        );
}


.pls-hero-orb--2{
    width:520px;
    height:520px;

    left:-310px;
    bottom:-330px;

    background:
        radial-gradient(
            circle,
            rgba(255,110,24,.11),
            transparent 68%
        );
}


.pls-hero__layout{
    min-height:650px;

    display:grid;

    grid-template-columns:
        .93fr
        1.07fr;

    align-items:center;

    gap:
        clamp(
            65px,
            7vw,
            110px
        );
}


/* HERO COPY */

.pls-hero__copy h1{
    max-width:700px;

    margin:
        25px 0
        22px;

    color:#fff;

    font-size:
        clamp(
            66px,
            5.9vw,
            102px
        );

    font-weight:510;

    letter-spacing:-.075em;
}


.pls-hero__copy h1 em{
    margin-top:0;

    color:transparent;

    font-style:normal;

    background:
        linear-gradient(
            95deg,
            var(--pls-orange),
            var(--pls-red),
            #A244C2
        );

    -webkit-background-clip:text;

    background-clip:text;
}


.pls-hero__lead{
    max-width:590px;

    margin:0;

    color:
        rgba(255,255,255,.43);

    font-size:14px;

    line-height:1.8;
}


.pls-hero__actions{
    margin-top:38px;

    display:flex;

    flex-wrap:wrap;

    gap:10px;
}


.pls-hero__facts{
    margin-top:55px;

    display:flex;

    align-items:stretch;
}


.pls-hero__facts > div{
    min-width:145px;

    padding:
        0 24px;

    border-right:
        1px solid
        rgba(255,255,255,.10);
}


.pls-hero__facts > div:first-child{
    padding-left:0;
}


.pls-hero__facts > div:last-child{
    border-right:0;
}


.pls-hero__facts strong{
    display:block;

    margin-bottom:7px;

    color:#fff;

    font-size:19px;

    font-weight:700;
}


.pls-hero__facts span{
    display:block;

    color:
        rgba(255,255,255,.27);

    font-size:7px;

    font-weight:750;

    letter-spacing:.08em;

    text-transform:uppercase;
}


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

.pls-network-wrap{
    position:relative;

    min-width:0;
}


.pls-network-meta{
    margin-bottom:18px;

    display:flex;

    align-items:center;

    gap:12px;

    color:
        rgba(255,255,255,.23);

    font-size:7px;

    font-weight:800;

    letter-spacing:.16em;
}


.pls-network-meta i{
    flex:1;

    height:1px;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.06),
            rgba(255,110,24,.25)
        );
}


.pls-network-meta b{
    color:
        var(--pls-orange);

    font-family:
        monospace;

    font-size:8px;
}


.pls-network{
    --net-x:0px;
    --net-y:0px;

    position:relative;

    min-height:515px;

    overflow:hidden;

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

    border-radius:19px;

    background:
        radial-gradient(
            circle at 70% 15%,
            rgba(75,37,140,.20),
            transparent 32%
        ),
        rgba(255,255,255,.015);

    box-shadow:
        inset 0 1px 0
        rgba(255,255,255,.025);

    transform:
        translate(
            var(--net-x),
            var(--net-y)
        );

    transition:
        transform .14s ease-out;
}


.pls-network__grid{
    position:absolute;

    inset:0;

    opacity:.5;

    background-image:
        linear-gradient(
            rgba(255,255,255,.025) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.025) 1px,
            transparent 1px
        );

    background-size:
        54px 54px;
}


.pls-network__ring{
    position:absolute;

    left:50%;
    top:50%;

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

    border-radius:50%;

    transform:
        translate(-50%,-50%);
}


.pls-network__ring--1{
    width:72%;
    height:72%;
}


.pls-network__ring--2{
    width:46%;
    height:46%;

    border-color:
        rgba(255,110,24,.09);
}


.pls-network__core{
    position:absolute;

    z-index:6;

    left:50%;
    top:50%;

    width:170px;
    height:170px;

    transform:
        translate(-50%,-50%);

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

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

    border-radius:50%;

    background:
        radial-gradient(
            circle at 30% 20%,
            #45277C,
            #150A2C 72%
        );

    box-shadow:
        0 30px 65px
        rgba(0,0,0,.32);
}


.pls-network__core small{
    color:
        rgba(255,255,255,.30);

    font-size:7px;

    font-weight:800;

    letter-spacing:.16em;
}


.pls-network__core .pls-brand-p{
    margin:
        5px 0 3px;

    width:50px;
    height:50px;
}


.pls-network__core span{
    color:
        var(--pls-orange);

    font-size:6px;

    font-weight:850;

    letter-spacing:.14em;
}


/* NETWORK NODE */

.pls-network-node{
    position:absolute;

    z-index:8;

    width:205px;

    min-height:91px;

    padding:
        15px 16px;

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

    border-radius:13px;

    color:#fff;

    background:
        rgba(13,7,27,.91);

    box-shadow:
        0 18px 40px
        rgba(0,0,0,.22);

    text-align:left;

    cursor:pointer;

    transition:
        transform .24s ease,
        background .24s ease,
        border-color .24s ease,
        box-shadow .24s ease;
}


.pls-network-node:hover,
.pls-network-node.is-active{
    transform:
        translateY(-3px);

    border-color:
        rgba(255,110,24,.24);

    background:
        rgba(20,10,39,.96);

    box-shadow:
        0 25px 48px
        rgba(0,0,0,.28);
}


.pls-network-node small{
    display:block;

    margin-bottom:7px;

    color:
        var(--pls-orange) !important;

    font-family:
        monospace;

    font-size:7px;
}


.pls-network-node strong{
    display:block;

    color:#fff !important;

    font-size:14px;

    font-weight:700;

    line-height:1.2;
}


.pls-network-node span{
    display:block;

    margin-top:6px;

    color:
        rgba(255,255,255,.38);

    font-size:8px;

    line-height:1.45;
}


.pls-network-node--1{
    left:26px;
    top:44px;
}


.pls-network-node--2{
    left:38px;
    bottom:43px;
}


.pls-network-node--3{
    right:26px;
    top:54px;
}


.pls-network-node--4{
    right:38px;
    bottom:43px;
}


/* CONNECTORS */

.pls-connector{
    position:absolute;

    z-index:3;

    height:1px;

    transform-origin:left center;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,110,24,.65),
            rgba(230,33,51,.30)
        );
}


.pls-connector i{
    position:absolute;

    right:-4px;
    top:-4px;

    width:8px;
    height:8px;

    border:
        2px solid
        #0B0517;

    border-radius:50%;

    background:
        var(--pls-orange);

    box-shadow:
        0 0 13px
        rgba(255,110,24,.45);
}


.pls-connector--1{
    width:185px;

    left:188px;
    top:135px;

    transform:
        rotate(20deg);
}


.pls-connector--2{
    width:190px;

    left:188px;
    bottom:137px;

    transform:
        rotate(-18deg);
}


.pls-connector--3{
    width:185px;

    right:188px;
    top:135px;

    transform:
        rotate(160deg);
}


.pls-connector--4{
    width:190px;

    right:188px;
    bottom:137px;

    transform:
        rotate(198deg);
}


.pls-net-tag{
    position:absolute;

    z-index:5;

    padding:
        8px 10px;

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

    border-radius:6px;

    color:
        rgba(255,255,255,.38);

    background:
        rgba(8,4,17,.82);

    font-size:7px;
}


.pls-net-tag small{
    display:block;

    margin-bottom:3px;

    color:
        var(--pls-orange);

    font-size:6px;

    font-weight:850;
}


.pls-net-tag--1{
    left:50%;
    bottom:25px;

    transform:
        translateX(-50%);
}


.pls-net-tag--2{
    left:50%;
    top:24px;

    transform:
        translateX(-50%);
}


.pls-network-status{
    margin-top:14px;

    padding-top:14px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

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


.pls-network-status > div{
    display:flex;

    align-items:center;

    gap:8px;

    color:
        rgba(255,255,255,.27);

    font-size:7px;

    font-weight:850;

    letter-spacing:.14em;
}


.pls-network-status > div i{
    width:6px;
    height:6px;

    border-radius:50%;

    background:#51D48A;

    box-shadow:
        0 0 9px
        rgba(81,212,138,.5);
}


.pls-network-status > strong{
    color:
        rgba(255,255,255,.58);

    font-size:9px;

    font-weight:650;
}


/* ============================================================
   SERVICE SYSTEM
============================================================ */

.pls-system{
    position:relative;

    padding:
        120px 0;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            var(--pls-light),
            var(--pls-light2)
        );
}


.pls-service-ui{
    display:grid;

    grid-template-columns:
        .67fr
        1.33fr;

    min-height:585px;

    overflow:hidden;

    border:
        1px solid
        rgba(35,21,96,.09);

    border-radius:18px;

    background:#fff;

    box-shadow:
        0 35px 90px
        rgba(35,21,96,.07);
}


.pls-service-tabs{
    display:flex;

    flex-direction:column;

    border-right:
        1px solid
        rgba(35,21,96,.08);
}


.pls-service-tab{
    position:relative;

    flex:1;

    min-height:110px;

    padding:
        20px 24px;

    display:grid;

    grid-template-columns:
        34px 1fr 24px;

    align-items:center;

    gap:10px;

    border:0;

    border-bottom:
        1px solid
        rgba(35,21,96,.08);

    color:
        var(--pls-text) !important;

    background:#FAF9FB !important;

    text-align:left;

    cursor:pointer;
}


.pls-service-tab:last-child{
    border-bottom:0;
}


.pls-service-tab::before{
    content:"";

    position:absolute;

    left:0;
    top:0;
    bottom:0;

    width:3px;

    transform:
        scaleY(0);

    background:
        linear-gradient(
            180deg,
            var(--pls-orange),
            var(--pls-red),
            var(--pls-purple)
        );

    transition:
        transform .22s ease;
}


.pls-service-tab:hover,
.pls-service-tab.is-active{
    color:
        var(--pls-text) !important;

    background:#fff !important;
}


.pls-service-tab.is-active::before{
    transform:
        scaleY(1);
}


.pls-service-tab small{
    color:
        rgba(35,21,96,.30);

    font-family:
        monospace;

    font-size:8px;
}


.pls-service-tab.is-active small{
    color:
        var(--pls-orange);
}


.pls-service-tab > span{
    display:flex;

    flex-direction:column;

    gap:3px;

    color:
        var(--pls-text) !important;

    font-size:14px;

    font-weight:700;
}


.pls-service-tab > span strong{
    color:
        var(--pls-text) !important;
}


.pls-service-tab > i{
    color:
        rgba(35,21,96,.20);

    font-style:normal;
}


/* SERVICE STAGE */

.pls-service-stage{
    position:relative;

    min-width:0;

    display:grid;

    overflow:hidden;

    color:#fff;

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(75,37,140,.25),
            transparent 38%
        ),
        radial-gradient(
            circle at 15% 88%,
            rgba(255,110,24,.08),
            transparent 30%
        ),
        #090415;
}


.pls-service-panel{
    position:relative;

    z-index:5;

    grid-area:
        1 / 1;

    width:57%;

    padding:
        58px 30px
        54px 52px;

    align-self:center;

    opacity:0;

    visibility:hidden;

    pointer-events:none;

    transform:
        translateY(15px);

    transition:
        opacity .34s ease,
        transform .34s ease,
        visibility .34s;
}


.pls-service-panel.is-active{
    opacity:1;

    visibility:visible;

    pointer-events:auto;

    transform:
        translateY(0);
}


.pls-panel-meta{
    margin-bottom:25px;

    display:flex;

    align-items:center;

    justify-content:space-between;
}


.pls-panel-meta span{
    color:
        var(--pls-orange);

    font-size:8px;

    font-weight:850;

    letter-spacing:.16em;
}


.pls-panel-meta b{
    color:
        rgba(255,255,255,.055);

    font-size:67px;

    font-weight:800;

    line-height:.8;
}


.pls-service-panel h3{
    margin:
        0 0
        20px;

    padding-bottom:.1em;

    color:#fff;

    font-size:
        clamp(
            34px,
            3.1vw,
            50px
        );

    font-weight:550;

    line-height:1.08;

    letter-spacing:-.055em;
}


.pls-service-panel h3 em{
    display:block;

    padding-bottom:.08em;

    color:
        rgba(255,255,255,.36);

    font-style:normal;

    font-weight:550;
}


.pls-service-panel > p{
    max-width:470px;

    margin:0;

    color:
        rgba(255,255,255,.39);

    font-size:12px;

    line-height:1.75;
}


.pls-pill-list{
    margin:
        27px 0
        29px;

    display:flex;

    flex-wrap:wrap;

    gap:7px;
}


.pls-pill-list span{
    padding:
        7px 10px;

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

    border-radius:999px;

    color:
        rgba(255,255,255,.42);

    background:
        rgba(255,255,255,.025);

    font-size:8px;
}


.pls-panel-link{
    display:inline-flex;

    align-items:center;

    gap:9px;

    color:
        rgba(255,255,255,.75) !important;

    font-size:10px;

    font-weight:700;
}


.pls-panel-link i{
    color:
        var(--pls-orange);

    font-style:normal;
}


/* SERVICE VISUAL */

.pls-service-visual{
    position:absolute;

    width:380px;
    height:380px;

    right:-60px;
    top:50%;

    transform:
        translateY(-50%);
}


.pls-service-orbit{
    position:absolute;

    left:50%;
    top:50%;

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

    border-radius:50%;

    transform:
        translate(-50%,-50%);
}


.pls-service-orbit--1{
    width:100%;
    height:100%;
}


.pls-service-orbit--2{
    width:65%;
    height:65%;

    border-color:
        rgba(255,110,24,.10);
}


.pls-service-core{
    position:absolute;

    left:50%;
    top:50%;

    width:140px;
    height:140px;

    transform:
        translate(-50%,-50%);

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

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

    border-radius:50%;

    background:
        radial-gradient(
            circle at 30% 20%,
            #432477,
            #140A2D 70%
        );
}


.pls-service-core small{
    color:
        rgba(255,255,255,.29);

    font-size:6px;

    font-weight:850;
}


.pls-service-core .pls-brand-p{
    margin:
        4px 0;

    width:42px;
    height:42px;
}


.pls-service-core span{
    color:
        var(--pls-orange);

    font-size:5px;

    font-weight:850;
}


.pls-service-dot{
    position:absolute;

    width:10px;
    height:10px;

    border:
        2px solid
        #090415;

    border-radius:50%;

    background:
        var(--pls-orange);

    box-shadow:
        0 0 13px
        rgba(255,110,24,.46);
}


.pls-service-dot--1{
    left:14%;
    top:49%;
}


.pls-service-dot--2{
    right:14%;
    top:26%;
}


.pls-service-dot--3{
    right:21%;
    bottom:19%;
}


/* ============================================================
   PROCESS
============================================================ */

.pls-process{
    position:relative;

    padding:
        120px 0;

    overflow:hidden;

    color:#fff;

    background:
        radial-gradient(
            circle at 95% 0,
            rgba(75,37,140,.22),
            transparent 32%
        ),
        #080411;
}


.pls-process-orb{
    position:absolute;

    width:650px;
    height:650px;

    left:-350px;
    bottom:-400px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(255,110,24,.10),
            transparent 70%
        );
}


.pls-process-grid{
    position:relative;

    display:grid;

    grid-template-columns:
        repeat(5,1fr);
}


.pls-process-grid::before{
    content:"";

    position:absolute;

    left:0;
    right:0;

    top:45px;

    height:1px;

    background:
        rgba(255,255,255,.08);
}


.pls-process-progress{
    position:absolute;

    z-index:2;

    left:0;
    top:45px;

    width:0;
    height:1px;

    background:
        linear-gradient(
            90deg,
            var(--pls-orange),
            var(--pls-red),
            var(--pls-purple)
        );

    transition:
        width .42s ease;
}


.pls-process-step{
    position:relative;

    z-index:4;

    padding-right:23px;

    opacity:.38;

    cursor:pointer;

    transition:
        opacity .25s ease,
        transform .25s ease;
}


.pls-process-step:hover,
.pls-process-step.is-active{
    opacity:1;
}


.pls-process-step > small{
    display:block;

    margin-bottom:20px;

    color:
        rgba(255,255,255,.19);

    font-family:
        monospace;

    font-size:8px;
}


.pls-process-step > i{
    display:block;

    width:14px;
    height:14px;

    margin-bottom:29px;

    border:
        3px solid
        #080411;

    border-radius:50%;

    background:
        rgba(255,255,255,.25);
}


.pls-process-step.is-active > i{
    background:
        var(--pls-orange);

    box-shadow:
        0 0 14px
        rgba(255,110,24,.35);
}


.pls-process-step > span{
    display:block;

    margin-bottom:9px;

    color:
        var(--pls-orange);

    font-size:7px;

    font-weight:850;

    letter-spacing:.16em;
}


.pls-process-step h3{
    max-width:210px;

    margin:
        0 0
        10px;

    padding-bottom:.08em;

    color:#fff;

    font-size:18px;

    font-weight:600;

    line-height:1.2;
}


.pls-process-step p{
    max-width:205px;

    margin:0;

    color:
        rgba(255,255,255,.34);

    font-size:9px;

    line-height:1.6;
}


/* ============================================================
   OFFICE RELOCATION
============================================================ */

.ploc-relocation{
    position:relative;

    padding:
        115px 0
        125px;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 100% 10%,
            rgba(75,37,140,.055),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #F8F7FA,
            #F1EEF4
        );
}


.ploc-relocation__intro{
    position:relative;

    z-index:2;

    margin-bottom:55px;

    display:grid;

    grid-template-columns:
        1.35fr
        .65fr;

    align-items:end;

    gap:
        clamp(
            50px,
            7vw,
            100px
        );
}


.ploc-title{
    max-width:900px;

    margin:
        19px 0
        0;

    color:
        var(--pls-text);

    font-size:
        clamp(
            52px,
            5vw,
            82px
        );

    font-weight:520;

    letter-spacing:-.065em;
}


.ploc-title em{
    margin-top:0;

    color:transparent;

    font-style:normal;

    font-weight:520;

    background:
        linear-gradient(
            95deg,
            var(--pls-orange),
            var(--pls-red),
            #A244C2
        );

    -webkit-background-clip:text;

    background-clip:text;
}


.ploc-relocation__intro-copy{
    max-width:420px;

    margin-left:auto;

    padding-bottom:15px;
}


.ploc-relocation__intro-copy > span{
    display:block;

    margin-bottom:15px;

    color:
        rgba(35,21,96,.30);

    font-family:
        monospace;

    font-size:8px;
}


.ploc-relocation__intro-copy p{
    margin:0;

    color:
        var(--pls-muted);

    font-size:12px;

    line-height:1.8;
}


/* CONTROL */

.ploc-control{
    position:relative;

    z-index:3;

    min-height:660px;

    display:grid;

    grid-template-columns:
        300px
        minmax(410px,1fr)
        365px;

    overflow:hidden;

    border:
        1px solid
        rgba(35,21,96,.10);

    border-radius:20px;

    background:#fff;

    box-shadow:
        0 35px 90px
        rgba(35,21,96,.075);
}


/* NAV */

.ploc-control__nav{
    display:flex;

    flex-direction:column;

    background:#FAF9FB;

    border-right:
        1px solid
        rgba(35,21,96,.085);
}


.ploc-control__nav-head{
    min-height:70px;

    padding:
        0 20px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    border-bottom:
        1px solid
        rgba(35,21,96,.08);
}


.ploc-control__nav-head span{
    color:
        rgba(35,21,96,.40);

    font-size:7px;

    font-weight:850;

    letter-spacing:.15em;
}


.ploc-control__nav-head i{
    color:
        var(--pls-orange);

    font-size:7px;

    font-style:normal;

    font-weight:800;
}


.ploc-step{
    position:relative;

    flex:1;

    min-height:62px;

    padding:
        12px 18px;

    display:grid;

    grid-template-columns:
        34px 1fr 20px;

    align-items:center;

    gap:8px;

    border:0;

    border-bottom:
        1px solid
        rgba(35,21,96,.07);

    color:
        var(--pls-text) !important;

    background:
        transparent !important;

    text-align:left;

    cursor:pointer;

    transition:
        background .22s ease,
        padding .22s ease;
}


.ploc-step::before{
    content:"";

    position:absolute;

    left:0;
    top:0;
    bottom:0;

    width:3px;

    transform:
        scaleY(0);

    background:
        linear-gradient(
            180deg,
            var(--pls-orange),
            var(--pls-red),
            var(--pls-purple)
        );

    transition:
        transform .22s ease;
}


.ploc-step:hover,
.ploc-step.is-active{
    padding-left:23px;

    color:
        var(--pls-text) !important;

    background:#fff !important;
}


.ploc-step.is-active::before{
    transform:
        scaleY(1);
}


.ploc-step small{
    color:
        rgba(35,21,96,.27) !important;

    font-family:
        monospace;

    font-size:8px;
}


.ploc-step.is-active small{
    color:
        var(--pls-orange) !important;
}


.ploc-step span{
    color:
        var(--pls-text) !important;

    font-size:11px;

    font-weight:700;
}


.ploc-step > i{
    color:
        rgba(35,21,96,.20) !important;

    font-style:normal;
}


.ploc-step:hover > i,
.ploc-step.is-active > i{
    color:
        var(--pls-orange) !important;
}


/* CENTER */

.ploc-control__visual{
    min-width:0;

    padding:
        26px 27px
        28px;

    color:#fff;

    background:
        radial-gradient(
            circle at 70% 20%,
            rgba(75,37,140,.24),
            transparent 40%
        ),
        radial-gradient(
            circle at 0 100%,
            rgba(255,110,24,.08),
            transparent 28%
        ),
        #090414;
}


.ploc-visual-meta{
    margin-bottom:20px;

    display:flex;

    align-items:center;

    gap:12px;

    color:
        rgba(255,255,255,.25);

    font-size:7px;

    font-weight:850;

    letter-spacing:.15em;
}


.ploc-visual-meta i{
    flex:1;

    height:1px;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.05),
            rgba(255,110,24,.28)
        );
}


.ploc-visual-meta b{
    color:
        var(--pls-orange);

    font-family:
        monospace;

    font-size:8px;
}


/* MAP */

.ploc-map{
    position:relative;

    height:555px;

    overflow:hidden;

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

    border-radius:16px;

    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(75,37,140,.16),
            transparent 46%
        ),
        rgba(255,255,255,.012);
}


.ploc-map__canvas{
    position:absolute;

    left:28px;
    right:28px;

    top:28px;
    bottom:70px;

    overflow:hidden;

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

    border-radius:12px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.015),
            transparent
        );
}


.ploc-map__grid{
    position:absolute;

    inset:0;

    opacity:.7;

    background-image:
        linear-gradient(
            rgba(255,255,255,.03) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.03) 1px,
            transparent 1px
        );

    background-size:
        42px 42px;
}


/* BUILDINGS */

.ploc-building{
    position:absolute;

    z-index:4;

    width:130px;
    height:150px;

    padding:15px;

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

    border-radius:10px;

    background:
        linear-gradient(
            145deg,
            #261647,
            #120A28
        );

    box-shadow:
        0 20px 40px
        rgba(0,0,0,.22);
}


.ploc-building--old{
    left:26px;
    top:50%;

    transform:
        translateY(-50%);
}


.ploc-building--new{
    right:26px;
    top:50%;

    transform:
        translateY(-50%);
}


.ploc-building small{
    display:block;

    margin-bottom:5px;

    color:
        var(--pls-orange);

    font-size:6px;

    font-weight:850;
}


.ploc-building strong{
    color:
        rgba(255,255,255,.72);

    font-size:11px;

    font-weight:700;
}


.ploc-building > div{
    position:absolute;

    left:15px;
    right:15px;

    bottom:15px;

    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:5px;
}


.ploc-building > div i{
    height:52px;

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

    background:
        linear-gradient(
            135deg,
            #304770,
            #131E37
        );
}


/* ROUTE */

.ploc-route{
    position:absolute;

    z-index:3;

    left:155px;
    right:155px;

    top:50%;

    height:4px;

    transform:
        translateY(-50%);
}


.ploc-route__base,
.ploc-route__progress{
    position:absolute;

    left:0;
    top:50%;

    height:1px;

    transform:
        translateY(-50%);
}


.ploc-route__base{
    width:100%;

    background:
        rgba(255,255,255,.09);
}


.ploc-route__progress{
    width:8%;

    background:
        linear-gradient(
            90deg,
            var(--pls-orange),
            var(--pls-red),
            #A244C2
        );

    box-shadow:
        0 0 14px
        rgba(255,110,24,.25);

    transition:
        width .55s
        cubic-bezier(.22,.8,.2,1);
}


.ploc-route-dot{
    position:absolute;

    top:50%;

    width:9px;
    height:9px;

    transform:
        translate(-50%,-50%);

    border:
        2px solid
        #090414;

    border-radius:50%;

    background:
        rgba(255,255,255,.28);
}


.ploc-route-dot--1{ left:0; }
.ploc-route-dot--2{ left:25%; }
.ploc-route-dot--3{ left:50%; }
.ploc-route-dot--4{ left:75%; }
.ploc-route-dot--5{ left:100%; }


.ploc-move-object{
    position:absolute;

    z-index:10;

    left:6%;
    top:50%;

    width:42px;
    height:42px;

    transform:
        translate(-50%,-50%);

    display:flex;

    align-items:center;

    justify-content:center;

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

    border-radius:8px;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--pls-orange),
            var(--pls-red),
            var(--pls-purple)
        );

    box-shadow:
        0 0 0 7px
        rgba(255,110,24,.04),
        0 12px 30px
        rgba(0,0,0,.25);

    transition:
        left .55s
        cubic-bezier(.22,.8,.2,1);
}


.ploc-move-object .pls-brand-p{
    width:18px;
    height:18px;
}


/* LABEL */

.ploc-map-label{
    position:absolute;

    z-index:15;

    left:50%;
    top:27%;

    min-width:125px;

    padding:
        10px 12px;

    transform:
        translateX(-50%);

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

    border-radius:8px;

    color:#fff;

    background:
        rgba(10,5,22,.90);
}


.ploc-map-label small{
    display:block;

    margin-bottom:4px;

    color:
        var(--pls-orange);

    font-family:
        monospace;

    font-size:7px;
}


.ploc-map-label strong{
    color:
        rgba(255,255,255,.70);

    font-size:9px;
}


/* MAP STATUS */

.ploc-map__status{
    position:absolute;

    left:28px;
    right:28px;

    bottom:20px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:18px;
}


.ploc-map__status > div{
    display:flex;

    align-items:center;

    gap:8px;

    color:
        rgba(255,255,255,.28);

    font-size:7px;

    font-weight:850;
}


.ploc-map__status > div i{
    width:6px;
    height:6px;

    border-radius:50%;

    background:#51D48A;

    box-shadow:
        0 0 9px
        rgba(81,212,138,.48);
}


.ploc-map__status > strong{
    color:
        rgba(255,255,255,.55);

    font-size:8px;
}


/* DETAIL */

.ploc-control__details{
    padding:
        42px 35px
        35px;

    display:flex;

    flex-direction:column;

    color:#fff;

    background:
        radial-gradient(
            circle at 100% 0,
            rgba(75,37,140,.30),
            transparent 32%
        ),
        #100720;

    border-left:
        1px solid
        rgba(255,255,255,.06);
}


.ploc-details__top{
    margin-bottom:40px;

    display:flex;

    align-items:center;

    justify-content:space-between;
}


.ploc-details__top span{
    color:
        var(--pls-orange);

    font-size:8px;

    font-weight:850;

    letter-spacing:.16em;
}


.ploc-details__top b{
    color:
        rgba(255,255,255,.055);

    font-size:58px;

    font-weight:800;

    line-height:.9;
}


.ploc-control__details h3{
    margin:
        0 0
        23px;

    padding-bottom:.12em;

    color:#fff;

    font-size:
        clamp(
            34px,
            3vw,
            48px
        );

    font-weight:550;

    line-height:1.08;

    letter-spacing:-.052em;
}


.ploc-control__details h3 em{
    display:block;

    padding-bottom:.10em;

    color:
        rgba(255,255,255,.37);

    font-style:normal;

    font-weight:550;
}


.ploc-control__details > p{
    margin:0;

    color:
        rgba(255,255,255,.39);

    font-size:11px;

    line-height:1.8;
}


.ploc-detail-pills{
    margin-top:28px;

    display:flex;

    flex-wrap:wrap;

    gap:7px;
}


.ploc-detail-pills span{
    padding:
        7px 10px;

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

    border-radius:999px;

    color:
        rgba(255,255,255,.42);

    background:
        rgba(255,255,255,.022);

    font-size:7px;
}


.ploc-detail-footer{
    margin-top:auto;

    padding-top:24px;

    display:flex;

    align-items:center;

    gap:12px;

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


.ploc-detail-footer > span{
    color:
        rgba(255,255,255,.26);

    font-size:7px;

    font-weight:850;
}


.ploc-detail-footer > i{
    flex:1;

    height:1px;

    background:
        linear-gradient(
            90deg,
            rgba(255,110,24,.35),
            rgba(255,255,255,.04)
        );
}


.ploc-detail-footer > small{
    color:
        var(--pls-orange);

    font-size:6px;

    font-weight:850;
}


/* ============================================================
   OFFICE RELATED
============================================================ */

.pls-related{
    position:relative;

    padding:
        120px 0;

    overflow:hidden;

    color:#fff;

    background:
        radial-gradient(
            circle at 90% 5%,
            rgba(75,37,140,.23),
            transparent 34%
        ),
        radial-gradient(
            circle at 5% 90%,
            rgba(255,110,24,.08),
            transparent 28%
        ),
        #080411;
}


.pls-related__layout{
    display:grid;

    grid-template-columns:
        1fr 1fr;

    align-items:center;

    gap:
        clamp(
            70px,
            8vw,
            135px
        );
}


/* WORKPLACE */

.pls-workplace{
    position:relative;

    min-height:555px;

    overflow:hidden;

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

    border-radius:18px;

    background:
        radial-gradient(
            circle at 70% 20%,
            rgba(75,37,140,.17),
            transparent 38%
        ),
        rgba(255,255,255,.012);
}


.pls-workplace__meta{
    position:absolute;

    left:25px;
    top:24px;

    color:
        rgba(255,255,255,.23);

    font-size:7px;

    font-weight:850;
}


.pls-workplace__stage{
    position:absolute;

    width:440px;
    height:330px;

    left:50%;
    top:46%;

    transform:
        translate(-50%,-50%)
        perspective(850px)
        rotateX(57deg)
        rotateZ(-17deg);

    transform-style:
        preserve-3d;
}


.pls-workplace__floor{
    position:absolute;

    inset:0;

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

    background-image:
        linear-gradient(
            rgba(255,255,255,.04) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.04) 1px,
            transparent 1px
        );

    background-size:
        42px 42px;
}


.pls-workdesk{
    position:absolute;

    width:110px;
    height:65px;

    transform:
        translateZ(25px);

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

    background:
        linear-gradient(
            135deg,
            #452A80,
            #211240
        );
}


.pls-workdesk > div{
    position:absolute;

    width:35px;
    height:27px;

    left:50%;
    top:10px;

    transform:
        translateX(-50%);

    background:
        linear-gradient(
            135deg,
            #536F9D,
            #182340
        );
}


.pls-workdesk > i{
    position:absolute;

    left:50%;
    bottom:-32px;

    width:30px;
    height:30px;

    transform:
        translateX(-50%);

    border-radius:6px;

    background:#130D1D;
}


.pls-workdesk--1{
    left:35px;
    top:40px;
}


.pls-workdesk--2{
    right:35px;
    top:40px;
}


.pls-workdesk--3{
    left:35px;
    bottom:65px;
}


.pls-workdesk--4{
    right:35px;
    bottom:65px;
}


.pls-workplace__line{
    position:absolute;

    left:45px;
    right:45px;

    top:50%;

    height:2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--pls-orange),
            var(--pls-red),
            transparent
        );
}


.pls-workplace__stat{
    position:absolute;

    left:26px;
    right:26px;

    bottom:25px;

    padding-top:18px;

    display:flex;

    align-items:flex-end;

    gap:14px;

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


.pls-workplace__stat small{
    margin-right:auto;

    color:
        rgba(255,255,255,.27);

    font-size:7px;

    font-weight:850;
}


.pls-workplace__stat strong{
    color:#fff;

    font-size:37px;

    font-weight:550;

    line-height:1;
}


.pls-workplace__stat span{
    color:
        rgba(255,255,255,.34);

    font-size:8px;
}


/* COPY */

.pls-related__copy h2{
    margin:
        23px 0
        19px;

    color:#fff;

    font-size:
        clamp(
            49px,
            4.8vw,
            74px
        );

    font-weight:520;

    letter-spacing:-.065em;
}


.pls-related__copy h2 em{
    color:transparent;

    font-style:normal;

    font-weight:520;

    background:
        linear-gradient(
            95deg,
            var(--pls-orange),
            var(--pls-red),
            #A244C2
        );

    -webkit-background-clip:text;

    background-clip:text;
}


.pls-related__copy > p{
    max-width:590px;

    margin:0;

    color:
        rgba(255,255,255,.40);

    font-size:13px;

    line-height:1.75;
}


.pls-related-list{
    margin-top:36px;

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


.pls-related-list > div{
    min-height:63px;

    display:grid;

    grid-template-columns:
        50px 1fr;

    align-items:center;

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


.pls-related-list small{
    color:
        var(--pls-orange);

    font-family:
        monospace;

    font-size:8px;
}


.pls-related-list span{
    color:
        rgba(255,255,255,.72);

    font-size:13px;

    font-weight:650;
}


/* ============================================================
   BEYOND
============================================================ */

.pls-beyond{
    position:relative;

    padding:
        120px 0;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #F7F6F9,
            #F0EDF3
        );
}


.pls-beyond-grid{
    display:grid;

    grid-template-columns:
        repeat(3,1fr);

    gap:13px;
}


.pls-beyond-card{
    position:relative;

    min-height:580px;

    padding:23px;

    overflow:hidden;

    border:
        1px solid
        rgba(35,21,96,.09);

    border-radius:16px;

    background:
        rgba(255,255,255,.62);

    box-shadow:
        0 24px 58px
        rgba(35,21,96,.04);

    transition:
        transform .24s ease,
        box-shadow .24s ease;
}


.pls-beyond-card:hover{
    transform:
        translateY(-5px);

    box-shadow:
        0 35px 75px
        rgba(35,21,96,.075);
}


.pls-beyond-card__meta{
    display:flex;

    justify-content:space-between;

    color:
        rgba(35,21,96,.30);

    font-family:
        monospace;

    font-size:8px;
}


.pls-beyond-card__meta b{
    color:
        var(--pls-orange);

    font-family:
        Inter,
        sans-serif;

    font-size:7px;
}


.pls-beyond-card__copy{
    position:absolute;

    left:23px;
    right:23px;

    bottom:25px;
}


.pls-beyond-card__copy h3{
    margin:
        0 0
        14px;

    padding-bottom:.08em;

    color:
        var(--pls-text);

    font-size:
        clamp(
            32px,
            3vw,
            46px
        );

    font-weight:550;

    line-height:1.08;

    letter-spacing:-.054em;
}


.pls-beyond-card__copy h3 em{
    display:block;

    padding-bottom:.08em;

    color:
        var(--pls-purple);

    font-style:normal;

    font-weight:550;
}


.pls-beyond-card__copy p{
    margin:0;

    color:
        var(--pls-muted);

    font-size:10px;

    line-height:1.7;
}


/* STORAGE */

.pls-storage-visual{
    position:absolute;

    width:285px;
    height:240px;

    left:50%;
    top:34%;

    transform:
        translate(-50%,-50%)
        perspective(700px)
        rotateX(52deg)
        rotateZ(-15deg);

    transform-style:
        preserve-3d;
}


.pls-storage-shelf{
    position:absolute;

    width:95px;
    height:180px;

    padding:9px;

    display:grid;

    gap:8px;

    border:
        1px solid
        rgba(35,21,96,.10);

    background:
        linear-gradient(
            135deg,
            #31205C,
            #160D31
        );
}


.pls-storage-shelf i{
    border:
        1px solid
        rgba(255,255,255,.06);

    background:
        rgba(255,255,255,.035);
}


.pls-storage-shelf--1{
    left:15px;
    top:10px;
}


.pls-storage-shelf--2{
    right:15px;
    top:10px;
}


.pls-storage-box{
    position:absolute;

    width:48px;
    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-weight:850;

    background:
        linear-gradient(
            135deg,
            var(--pls-orange),
            var(--pls-red)
        );
}


.pls-storage-box--1{
    left:102px;
    bottom:28px;
}


.pls-storage-box--2{
    left:158px;
    bottom:28px;
}


.pls-storage-box .pls-brand-p{
    width:22px;
    height:22px;
}


.pls-card-stat{
    margin-top:20px;

    padding-top:16px;

    display:flex;

    align-items:flex-end;

    gap:9px;

    border-top:
        1px solid
        rgba(35,21,96,.08);
}


.pls-card-stat strong{
    color:
        var(--pls-navy);

    font-size:35px;

    line-height:1;
}


.pls-card-stat span{
    color:
        var(--pls-muted);

    font-size:8px;
}


/* WORLD */

.pls-world-visual{
    position:absolute;

    width:275px;
    height:275px;

    left:50%;
    top:31%;

    transform:
        translate(-50%,-50%);

    border:
        1px solid
        rgba(35,21,96,.07);

    border-radius:50%;
}


.pls-world-circle{
    position:absolute;

    left:50%;
    top:50%;

    border:
        1px solid
        rgba(35,21,96,.075);

    border-radius:50%;

    transform:
        translate(-50%,-50%);
}


.pls-world-circle--1{
    width:70%;
    height:70%;
}


.pls-world-circle--2{
    width:42%;
    height:42%;
}


.pls-world-visual strong{
    position:absolute;

    left:50%;
    top:50%;

    transform:
        translate(-50%,-50%);

    color:
        var(--pls-navy);

    font-size:18px;
}


.pls-world-point{
    position:absolute;

    width:9px;
    height:9px;

    border:
        2px solid
        #F7F6F9;

    border-radius:50%;

    background:
        var(--pls-orange);
}


.pls-world-point--1{
    left:20%;
    top:39%;
}


.pls-world-point--2{
    right:17%;
    top:29%;
}


.pls-world-point--3{
    right:26%;
    bottom:19%;
}


.pls-world-line{
    position:absolute;

    height:1px;

    transform-origin:left;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--pls-orange),
            var(--pls-red)
        );
}


.pls-world-line--1{
    left:22%;
    top:42%;

    width:120px;

    transform:
        rotate(10deg);
}


.pls-world-line--2{
    left:49%;
    top:51%;

    width:105px;

    transform:
        rotate(39deg);
}


.pls-card-tags{
    margin-top:19px;

    display:flex;

    gap:6px;
}


.pls-card-tags span{
    padding:
        6px 9px;

    border:
        1px solid
        rgba(35,21,96,.09);

    border-radius:999px;

    color:
        rgba(35,21,96,.44);

    font-size:7px;

    font-weight:850;
}


/* DOMESTIC */

.pls-domestic{
    position:absolute;

    left:23px;
    right:23px;

    top:128px;

    height:180px;
}


.pls-domestic__road{
    position:absolute;

    left:0;
    right:0;

    bottom:26px;

    height:2px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(35,21,96,.16),
            transparent
        );
}


.pls-domestic__road i{
    position:absolute;

    top:16px;

    width:50px;
    height:2px;

    background:
        rgba(35,21,96,.10);
}


.pls-domestic__road i:nth-child(1){
    left:10%;
}


.pls-domestic__road i:nth-child(2){
    left:43%;
}


.pls-domestic__road i:nth-child(3){
    right:6%;
}


.pls-domestic-truck{
    position:absolute;

    left:50%;
    bottom:25px;

    width:
        min(
            264px,
            calc(100% - 12px)
        );

    aspect-ratio:
        280 / 130;

    transform:
        translateX(-50%);

    transition:
        transform .28s ease;
}


.pls-domestic-truck__svg{
    display:block;

    width:100%;
    height:auto;

    overflow:visible;

    shape-rendering:
        geometricPrecision;
}


.pls-domestic-truck__shadow{
    fill:
        rgba(35,21,96,.12);
}


.pls-domestic-truck__chassis{
    fill:#17151D;
}


.pls-domestic-truck__cargo,
.pls-domestic-truck__cab{
    stroke:
        rgba(255,255,255,.15);

    stroke-width:1;
}


.pls-domestic-truck__highlight,
.pls-domestic-truck__cargo-line{
    fill:none;

    stroke:
        rgba(255,255,255,.20);

    stroke-width:1;
    stroke-linecap:round;
}


.pls-domestic-truck__logo{
    opacity:.96;

    pointer-events:none;
}


.pls-domestic-truck__window{
    fill:#142238;

    stroke:#687792;
    stroke-width:1;
}


.pls-domestic-truck__body-line{
    fill:none;

    stroke:
        rgba(255,255,255,.13);

    stroke-width:1;
}


.pls-domestic-truck__handle{
    fill:#C2C0C9;
}


.pls-domestic-truck__step{
    fill:#8D8B94;

    stroke:#D4D2D8;
    stroke-width:1;
}


.pls-domestic-truck__mirror-arm,
.pls-domestic-truck__grille{
    fill:none;

    stroke:#A9A7B0;
    stroke-width:1.5;
    stroke-linecap:round;
}


.pls-domestic-truck__mirror,
.pls-domestic-truck__bumper{
    fill:#AAA8B0;

    stroke:#DDDCE0;
    stroke-width:1;
}


.pls-domestic-truck__marker{
    fill:
        var(--pls-orange);
}


.pls-domestic-truck__headlight{
    fill:#FFE2A3;

    stroke:#FFF3D7;
    stroke-width:1;
}


.pls-domestic-truck__tire{
    fill:#07070A;

    stroke:#201D27;
    stroke-width:2;
}


.pls-domestic-truck__sidewall{
    fill:#292631;
}


.pls-domestic-truck__rim{
    fill:#A6A3AD;

    stroke:#E3E1E6;
    stroke-width:1;
}


.pls-domestic-truck__hub{
    fill:
        var(--pls-purple);
}


.pls-beyond-card:hover
.pls-domestic-truck{
    transform:
        translateX(-50%)
        translateY(-3px);
}


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

.pls-cta{
    position:relative;

    padding:
        90px 0;

    overflow:hidden;

    background:#080411;
}


.pls-cta__box{
    position:relative;

    min-height:380px;

    padding:58px;

    display:grid;

    grid-template-columns:
        1.25fr
        .75fr;

    align-items:center;

    gap:70px;

    overflow:hidden;

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

    border-radius:19px;

    background:
        radial-gradient(
            circle at 90% 0,
            rgba(75,37,140,.26),
            transparent 35%
        ),
        radial-gradient(
            circle at 0 100%,
            rgba(255,110,24,.10),
            transparent 28%
        ),
        rgba(255,255,255,.015);
}


.pls-cta__box h2{
    margin:
        23px 0
        0;

    color:#fff;

    font-size:
        clamp(
            55px,
            5.5vw,
            86px
        );

    font-weight:520;

    letter-spacing:-.07em;
}


.pls-cta__box h2 em{
    color:transparent;

    font-style:normal;

    background:
        linear-gradient(
            90deg,
            var(--pls-orange),
            var(--pls-red),
            #A244C2
        );

    -webkit-background-clip:text;

    background-clip:text;
}


.pls-cta__right{
    position:relative;

    z-index:5;
}


.pls-cta__right p{
    margin:
        0 0
        25px;

    color:
        rgba(255,255,255,.40);

    font-size:12px;

    line-height:1.75;
}


.pls-cta-button{
    min-height:62px;

    display:flex;

    align-items:stretch;

    overflow:hidden;

    border-radius:9px;

    color:#fff !important;

    background:
        linear-gradient(
            105deg,
            var(--pls-orange),
            var(--pls-red),
            var(--pls-purple)
        );
}


.pls-cta-button span{
    flex:1;

    padding:
        0 22px;

    display:flex;

    align-items:center;

    font-size:13px;

    font-weight:750;
}


.pls-cta-button i{
    width:60px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-left:
        1px solid
        rgba(255,255,255,.16);

    font-style:normal;
}


.pls-cta-route{
    position:absolute;

    width:540px;
    height:200px;

    right:-100px;
    bottom:-110px;

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

    border-radius:50%;
}


.pls-cta-route > span{
    position:absolute;

    left:0;
    right:0;

    top:50%;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--pls-orange),
            var(--pls-red),
            transparent
        );
}


.pls-cta-route > i{
    position:absolute;

    top:50%;

    width:8px;
    height:8px;

    transform:
        translateY(-50%);

    border:
        2px solid
        #080411;

    border-radius:50%;

    background:
        var(--pls-orange);
}


.pls-cta-route > i:nth-of-type(1){
    left:24%;
}


.pls-cta-route > i:nth-of-type(2){
    left:54%;
}


.pls-cta-route > i:nth-of-type(3){
    right:17%;
}


/* ============================================================
   REVEAL
============================================================ */

.pls-reveal{
    opacity:0;

    transform:
        translateY(26px);

    transition:
        opacity .68s ease,
        transform .68s ease;
}


.pls-reveal.is-visible{
    opacity:1;

    transform:
        translateY(0);
}


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

@media(max-width:1200px){

    .pls-container{
        width:
            calc(100% - 42px);
    }


    .pls-hero{
        min-height:auto;
    }


    .pls-hero__layout{
        grid-template-columns:1fr;

        min-height:auto;

        gap:70px;
    }


    .pls-network-wrap{
        width:100%;

        max-width:800px;

        margin:auto;
    }


    .pls-section-head__row{
        align-items:flex-start;

        flex-direction:column;

        gap:24px;
    }


    .pls-section-head__row > p{
        max-width:600px;
    }


    /* SERVICES */

    .pls-service-ui{
        grid-template-columns:1fr;
    }


    .pls-service-tabs{
        display:grid;

        grid-template-columns:
            repeat(5,1fr);

        border-right:0;
    }


    .pls-service-tab{
        min-height:96px;

        padding:14px;

        grid-template-columns:
            24px 1fr;

        border-right:
            1px solid
            rgba(35,21,96,.08);
    }


    .pls-service-tab > i{
        display:none;
    }


    .pls-service-stage{
        min-height:555px;
    }


    .pls-service-panel{
        width:61%;
    }


    /* RELOCATION */

    .ploc-relocation__intro{
        grid-template-columns:1fr;

        gap:22px;
    }


    .ploc-relocation__intro-copy{
        max-width:620px;

        margin:0;
    }


    .ploc-control{
        grid-template-columns:
            275px
            1fr;
    }


    .ploc-control__details{
        grid-column:
            1 / -1;

        min-height:370px;

        border-left:0;

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


    .ploc-detail-footer{
        margin-top:50px;
    }


    /* RELATED */

    .pls-related__layout{
        grid-template-columns:1fr;

        gap:70px;
    }


    .pls-workplace{
        max-width:720px;

        width:100%;

        margin:auto;
    }


    /* BEYOND */

    .pls-beyond-grid{
        grid-template-columns:1fr;
    }


    .pls-beyond-card{
        min-height:500px;
    }


    .pls-beyond-card__copy{
        max-width:430px;
    }

}


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

@media(max-width:700px){

    .pls-container{
        width:
            calc(100% - 36px);
    }


    /* GLOBAL TITLES */

    .pls-hero__copy h1,
    .pls-section-head h2,
    .ploc-title,
    .pls-related__copy h2,
    .pls-cta__box h2{
        line-height:1.08 !important;

        padding-bottom:.16em;
    }


    .pls-hero__copy h1 em,
    .pls-section-head h2 em,
    .ploc-title em,
    .pls-related__copy h2 em,
    .pls-cta__box h2 em{
        line-height:1.08 !important;

        padding-bottom:.16em;
    }


    /* HERO */

    .pls-hero{
        padding:
            125px 0
            80px;
    }


    .pls-hero__copy h1{
        font-size:
            clamp(
                53px,
                14vw,
                76px
            );
    }


    .pls-hero__lead{
        font-size:12px;
    }


    .pls-hero__actions{
        flex-direction:column;
    }


    .pls-button{
        width:100%;
    }


    .pls-button span{
        flex:1;
    }


    .pls-hero__facts{
        display:grid;

        grid-template-columns:
            repeat(3,1fr);
    }


    .pls-hero__facts > div{
        min-width:0;

        padding:
            0 10px;
    }


    /* HERO NETWORK */

    .pls-network{
        min-height:615px;

        padding:
            22px 17px;
    }


    .pls-network__ring,
    .pls-connector,
    .pls-net-tag{
        display:none;
    }


    .pls-network__core{
        position:relative;

        left:auto;
        top:auto;

        width:130px;
        height:130px;

        margin:
            10px auto
            20px;

        transform:none;
    }


    .pls-network-node{
        position:relative !important;

        left:auto !important;
        right:auto !important;
        top:auto !important;
        bottom:auto !important;

        width:100%;

        min-height:75px;

        margin-top:9px;
    }


    .pls-network-status{
        align-items:flex-start;

        flex-direction:column;
    }


    /* SECTIONS */

    .pls-system,
    .pls-process,
    .ploc-relocation,
    .pls-related,
    .pls-beyond{
        padding:
            84px 0;
    }


    .pls-section-head{
        margin-bottom:44px;
    }


    .pls-section-head h2,
    .ploc-title,
    .pls-related__copy h2{
        font-size:
            clamp(
                44px,
                12vw,
                62px
            );
    }


    /* SERVICE */

    .pls-service-tabs{
        grid-template-columns:1fr;
    }


    .pls-service-tab{
        min-height:67px;

        padding:
            13px 16px;

        grid-template-columns:
            30px 1fr 20px;

        border-right:0;
    }


    .pls-service-tab > i{
        display:block;
    }


    .pls-service-tab > span{
        flex-direction:row;

        gap:5px;

        font-size:12px;
    }


    .pls-service-stage{
        min-height:620px;
    }


    .pls-service-panel{
        width:100%;

        padding:
            38px 24px
            295px;
    }


    .pls-service-visual{
        width:285px;
        height:285px;

        right:50%;
        top:auto;

        bottom:-28px;

        transform:
            translateX(50%);
    }


    /* PROCESS */

    .pls-process-grid{
        display:flex;

        flex-direction:column;
    }


    .pls-process-grid::before{
        left:6px;
        right:auto;

        top:0;
        bottom:0;

        width:1px;
        height:auto;
    }


    .pls-process-progress{
        display:none;
    }


    .pls-process-step{
        min-height:150px;

        padding:
            0 0 0
            43px;
    }


    .pls-process-step > small{
        margin-bottom:6px;
    }


    .pls-process-step > i{
        position:absolute;

        left:0;
        top:24px;

        margin:0;
    }


    .pls-process-step h3{
        max-width:none;

        font-size:19px;
    }


    /* RELOCATION */

    .ploc-relocation__intro{
        margin-bottom:38px;
    }


    .ploc-control{
        display:block;

        min-height:0;

        border-radius:15px;
    }


    .ploc-control__nav{
        display:grid;

        grid-template-columns:
            repeat(3,1fr);

        border-right:0;
    }


    .ploc-control__nav-head{
        grid-column:
            1 / -1;
    }


    .ploc-step{
        min-height:82px;

        padding:
            12px 10px;

        grid-template-columns:
            20px 1fr;

        border-right:
            1px solid
            rgba(35,21,96,.07);
    }


    .ploc-step:hover,
    .ploc-step.is-active{
        padding-left:10px;
    }


    .ploc-step > i{
        display:none;
    }


    .ploc-step span{
        font-size:9px;
    }


    .ploc-control__visual{
        padding:
            20px 17px;
    }


    .ploc-map{
        height:420px;
    }


    .ploc-map__canvas{
        left:15px;
        right:15px;

        top:20px;
        bottom:65px;
    }


    .ploc-building{
        width:88px;
        height:118px;

        padding:10px;
    }


    .ploc-building--old{
        left:12px;
    }


    .ploc-building--new{
        right:12px;
    }


    .ploc-building strong{
        font-size:8px;
    }


    .ploc-building > div{
        left:10px;
        right:10px;

        bottom:10px;
    }


    .ploc-building > div i{
        height:40px;
    }


    .ploc-route{
        left:102px;
        right:102px;
    }


    .ploc-map-label{
        top:20%;
    }


    .ploc-control__details{
        padding:
            35px 24px;

        min-height:390px;
    }


    .ploc-control__details h3{
        font-size:
            clamp(
                36px,
                10vw,
                48px
            );

        line-height:1.1;
    }


    /* RELATED */

    .pls-workplace{
        min-height:420px;
    }


    .pls-workplace__stage{
        transform:
            translate(-50%,-50%)
            scale(.72)
            perspective(850px)
            rotateX(57deg)
            rotateZ(-17deg);
    }


    /* BEYOND */

    .pls-beyond-card{
        min-height:515px;
    }


    /* CTA */

    .pls-cta{
        padding:
            70px 0;
    }


    .pls-cta__box{
        min-height:500px;

        padding:
            35px 27px;

        grid-template-columns:1fr;

        align-content:center;

        gap:45px;
    }


    .pls-cta__box h2{
        font-size:
            clamp(
                48px,
                13vw,
                67px
            );
    }

}


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

@media(max-width:470px){

    .pls-hero__facts span{
        font-size:6px;
    }


    .pls-network{
        min-height:645px;
    }


    .pls-service-stage{
        min-height:645px;
    }


    .ploc-control__nav{
        grid-template-columns:
            repeat(2,1fr);
    }


    .ploc-step{
        min-height:76px;
    }


    .ploc-map{
        height:380px;
    }


    .ploc-building{
        width:76px;
        height:103px;
    }


    .ploc-route{
        left:90px;
        right:90px;
    }


    .ploc-map-label{
        display:none;
    }


    .pls-workplace{
        min-height:390px;
    }


    .pls-workplace__stage{
        transform:
            translate(-50%,-50%)
            scale(.64)
            perspective(850px)
            rotateX(57deg)
            rotateZ(-17deg);
    }


    .pls-workplace__stat strong{
        font-size:30px;
    }


    .pls-beyond-card{
        min-height:500px;
    }

}


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

@media(prefers-reduced-motion:reduce){

    .pls-reveal{
        opacity:1 !important;

        transform:none !important;

        transition:none !important;
    }


    .pls-network{
        transform:none !important;

        transition:none !important;
    }


    .ploc-route__progress,
    .ploc-move-object,
    .pls-domestic-truck{
        transition:none !important;
    }

}/* End custom CSS */