/* PinLivo public home v4 - photoreal reference rebuild */
:root{
    --ph-bg:#040d25;
    --ph-panel:#071a3d;
    --ph-panel2:#0b1640;
    --ph-line:#5649ff;
    --ph-purple:#c24cff;
    --ph-blue:#43a8ff;
    --ph-text:#f7f8ff;
    --ph-muted:#b9c7e6;
}

body:has(#pl-home){
    margin:0;
    color:var(--ph-text);
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
    background:
      radial-gradient(circle at 10% 28%,rgba(46,87,255,.26),transparent 24%),
      radial-gradient(circle at 88% 24%,rgba(127,49,255,.22),transparent 24%),
      linear-gradient(180deg,#02091c 0%,#07142e 48%,#020817 100%);
}
body:has(#pl-home) *{box-sizing:border-box}

main.app:has(#pl-home){
    width:min(1440px,100%);
    max-width:1440px;
    margin:0 auto;
    border:0;
    background:transparent;
    box-shadow:none;
    border-radius:0;
    overflow:visible;
}

main.app:has(#pl-home)>header{
    position:sticky;
    top:0;
    z-index:100;
    display:flex;
    align-items:center;
    gap:22px;
    min-height:78px;
    padding:13px clamp(18px,3vw,46px);
    border-bottom:1px solid rgba(102,130,255,.22);
    background:rgba(3,13,39,.88);
    backdrop-filter:blur(18px) saturate(120%);
}
main.app:has(#pl-home)>header>strong{
    flex:0 0 auto;
    font-size:34px;
    line-height:1;
    letter-spacing:-.04em;
    color:#fff;
}
main.app:has(#pl-home)>header>strong span{
    display:block;
    margin-top:5px;
    color:#adb9d8;
    font-size:9px;
    letter-spacing:.25em;
}
main.app:has(#pl-home)>header>p{display:none}

body:has(#pl-home) .pl-public-menu{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex:1;
    margin-left:auto;
}
body:has(#pl-home) .pl-public-menu>.pl-nav-link,
body:has(#pl-home) .pl-public-menu>.pl-security-trigger{
    min-height:40px;
    padding:8px 12px;
    border:0;
    background:transparent;
    color:#eef2ff;
    font:inherit;
    font-size:13px;
    text-decoration:none;
    cursor:pointer;
    border-radius:9px;
}
body:has(#pl-home) .pl-public-menu>.pl-nav-link:hover,
body:has(#pl-home) .pl-public-menu>.pl-security-trigger:hover{
    background:rgba(110,86,255,.16);
}
body:has(#pl-home) .pl-login-trigger{
    width:auto;
    min-height:40px;
    margin:0 0 0 4px;
    padding:8px 18px;
    border:1px solid #b75bff;
    border-radius:12px;
    background:linear-gradient(180deg,rgba(27,32,85,.9),rgba(20,18,63,.9));
    color:#fff;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 0 18px rgba(163,59,255,.22);
}

body:has(#pl-home) #pinlivo-entry-language{
    display:flex!important;
    align-items:center;
    width:auto!important;
    margin:0!important;
}
body:has(#pl-home) #pinlivo-entry-language>button,
body:has(#pl-home) #pinlivo-entry-language>[role="status"]:empty{
    display:none!important;
}
body:has(#pl-home) .pl-language-select{
    appearance:none;
    min-height:40px;
    min-width:72px;
    padding:8px 28px 8px 12px;
    border:0;
    border-radius:9px;
    background:
      linear-gradient(45deg,transparent 50%,#dfe7ff 50%) calc(100% - 13px) 17px/5px 5px no-repeat,
      linear-gradient(135deg,#dfe7ff 50%,transparent 50%) calc(100% - 8px) 17px/5px 5px no-repeat,
      transparent;
    color:#fff;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}
body:has(#pl-home) .pl-language-select option{
    color:#111;
    background:#fff;
}

main.app:has(#pl-home)>.content{
    display:block!important;
    width:100%;
    max-width:none!important;
    padding:0!important;
}
main.app:has(#pl-home)>.content>.message{
    margin:12px auto 0;
    width:min(1320px,calc(100% - 32px));
}

#pl-home{
    width:min(1320px,calc(100% - 24px));
    margin:0 auto;
    padding:24px 0 28px;
}

.ph-hero{
    display:grid;
    grid-template-columns:minmax(330px,.82fr) minmax(620px,1.58fr);
    align-items:center;
    gap:24px;
    min-height:500px;
}
.ph-hero-copy{padding-left:10px}
.ph-eyebrow{
    margin:0 0 12px;
    color:#9fb5eb;
    font-size:10px;
    font-weight:800;
    letter-spacing:.23em;
}
#pl-home-title{
    margin:0 0 15px;
    font-size:clamp(43px,4.2vw,64px);
    line-height:.96;
    letter-spacing:-.055em;
    font-weight:900;
}
#pl-home-title span,
#pl-home-title em{display:block}
#pl-home-title em{
    font-style:normal;
    background:linear-gradient(90deg,#a966ff,#e34cff);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}
.ph-lead{
    max-width:485px;
    margin:0 0 18px;
    color:#d6dff2;
    font-size:15px;
    line-height:1.48;
}
.ph-actions{
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:wrap;
}
.ph-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 24px;
    border:1px solid #c26bff;
    border-radius:13px;
    background:linear-gradient(120deg,#7256ff,#a73cff);
    color:#fff;
    text-decoration:none;
    font-weight:800;
    font-size:14px;
    box-shadow:0 0 22px rgba(126,61,255,.45),inset 0 1px rgba(255,255,255,.28);
}
.ph-watch{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:46px;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    cursor:pointer;
}
.ph-play{
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    border:2px solid #a67cff;
    border-radius:50%;
    color:#fff;
    font-size:14px;
}
.ph-watch strong,.ph-watch small{display:block;text-align:left}
.ph-watch strong{font-size:13px}
.ph-watch small{color:#9fb0d2;font-size:10px}
.ph-worldline{
    margin:17px 0 0;
    color:#8ba0cc;
    font-size:9px;
    font-weight:800;
    letter-spacing:.22em;
}

.ph-visual-stage{
    position:relative;
    min-height:475px;
    overflow:hidden;
    border-radius:24px;
    background:
      radial-gradient(circle at 72% 35%,rgba(76,61,255,.23),transparent 35%),
      linear-gradient(135deg,#061731,#100a2c 72%);
    box-shadow:inset 0 0 0 1px rgba(62,117,255,.18);
}
.ph-visual-stage::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 25% 65%,rgba(89,153,255,.18),transparent 30%),
      radial-gradient(circle at 82% 80%,rgba(188,55,255,.16),transparent 24%);
    pointer-events:none;
}
.ph-globe{
    position:absolute;
    right:38px;
    top:18px;
    width:330px;
    height:330px;
    border:2px solid rgba(95,99,255,.66);
    border-radius:50%;
    background:
      repeating-radial-gradient(circle,transparent 0 28px,rgba(77,116,255,.2) 29px 30px),
      repeating-linear-gradient(90deg,transparent 0 43px,rgba(85,105,255,.16) 44px 45px);
    box-shadow:0 0 48px rgba(88,71,255,.5),inset 0 0 35px rgba(57,80,255,.2);
    opacity:.85;
}
.ph-globe::after{
    content:"";
    position:absolute;
    inset:-10%;
    border-radius:50%;
    background:radial-gradient(circle at 40% 40%,transparent 0 44%,rgba(72,111,255,.15) 45% 47%,transparent 48%);
}
.ph-globe-orbit{
    position:absolute;
    right:5px;
    top:105px;
    width:410px;
    height:150px;
    border:2px solid rgba(190,69,255,.55);
    border-radius:50%;
    transform:rotate(-9deg);
}
.ph-orbit-b{top:70px;transform:rotate(16deg);opacity:.65}

.ph-laptop{
    position:absolute;
    left:18px;
    top:42px;
    z-index:4;
    width:min(650px,78%);
    padding:10px 10px 18px;
    border:3px solid #10192f;
    border-radius:20px 20px 12px 12px;
    background:#020712;
    box-shadow:0 30px 70px #0008,0 0 0 1px #626dff;
}
.ph-laptop::after{
    content:"";
    position:absolute;
    left:-7%;
    right:-7%;
    bottom:-24px;
    height:24px;
    background:linear-gradient(180deg,#17213b,#070b14);
    clip-path:polygon(5% 0,95% 0,100% 100%,0 100%);
    border-radius:0 0 14px 14px;
}
.ph-laptop-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:31px;
    padding:0 8px;
    color:#eaf1ff;
    font-size:12px;
}
.ph-call-grid{
    display:grid;
    grid-template-columns:126px minmax(250px,1fr) 126px;
    gap:7px;
    height:295px;
}
.ph-side-stack{
    display:grid;
    grid-template-rows:repeat(3,1fr);
    gap:7px;
}
.ph-person,.ph-main-person{
    position:relative;
    overflow:hidden;
    margin:0;
    border-radius:8px;
    background:#12254a;
}
.ph-person img,.ph-main-person img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.ph-person figcaption{
    position:absolute;
    left:5px;
    right:5px;
    bottom:5px;
    padding:3px 5px;
    border-radius:5px;
    background:rgba(4,18,48,.86);
    color:#fff;
    font-size:9px;
    line-height:1.15;
    text-align:center;
}
.ph-person-alt img{filter:saturate(.82) hue-rotate(22deg)}
.ph-main-person::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 55%,rgba(4,10,25,.18));
}
.ph-caption{
    position:absolute;
    z-index:3;
    left:10%;
    bottom:18px;
    width:80%;
    padding:10px 13px;
    border:1px solid #726bff;
    border-radius:12px;
    background:rgba(7,33,79,.91);
    color:#fff;
    box-shadow:0 8px 22px #0005;
    font-size:13px;
    line-height:1.5;
}
.ph-call-controls{
    display:flex;
    align-items:center;
    justify-content:space-around;
    height:38px;
    color:#eef3ff;
    font-size:12px;
}
.ph-call-controls span{
    display:flex;
    align-items:center;
    gap:4px;
}
.ph-call-controls small{font-size:8px}
.ph-hangup{
    width:34px;
    height:34px;
    justify-content:center;
    border-radius:50%;
    background:#ff364f;
    transform:rotate(135deg);
}
.ph-handnote{
    position:absolute;
    z-index:5;
    right:16px;
    top:72px;
    width:150px;
    color:#f6eaff;
    font-size:18px;
    line-height:1.22;
    font-style:italic;
    transform:rotate(-4deg);
    text-shadow:0 0 15px #9f60ff;
}
.ph-handnote::after{
    content:"";
    display:block;
    width:75px;
    height:3px;
    margin:8px 0 0 40px;
    background:#e400ff;
    transform:rotate(-8deg);
}
.ph-desk-decor{
    position:absolute;
    right:18px;
    bottom:24px;
    z-index:5;
    display:flex;
    align-items:flex-end;
    gap:8px;
}
.ph-mug{
    width:84px;
    min-height:112px;
    padding:13px 9px;
    border-radius:8px 8px 18px 18px;
    background:linear-gradient(135deg,#151329,#261944);
    color:#f0eaff;
    font-size:12px;
    font-style:italic;
    line-height:1.12;
    text-align:center;
    box-shadow:0 12px 20px #0007,inset 0 0 0 1px #4d3b77;
}
.ph-mug::before{
    content:"";
    position:absolute;
    width:28px;
    height:46px;
    margin:18px 0 0 -30px;
    border:5px solid #241c3d;
    border-right:0;
    border-radius:18px 0 0 18px;
}
.ph-books{
    display:grid;
    gap:4px;
}
.ph-books b{
    display:block;
    min-width:98px;
    padding:5px 8px;
    border:1px solid #274a86;
    border-radius:2px;
    background:#0b1b3a;
    color:#ef7cff;
    font-size:10px;
    text-align:center;
}

.ph-features{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:11px;
}
.ph-features article,
.ph-pricing,
.ph-privacy{
    border:1px solid #8748ff;
    border-top-color:#3d9fff;
    border-radius:14px;
    background:linear-gradient(135deg,rgba(9,31,70,.96),rgba(9,18,48,.96));
    box-shadow:inset 0 1px rgba(255,255,255,.03),0 12px 35px #0003;
}
.ph-features article{
    min-height:150px;
    padding:18px 20px;
}
.ph-iconrow{
    display:flex;
    gap:9px;
    margin-bottom:8px;
    color:#d289ff;
    font-size:27px;
    text-shadow:0 0 12px #a83cff;
}
#pl-home h2{
    margin:0 0 7px;
    color:#fff;
    font-size:18px;
    line-height:1.15;
    letter-spacing:-.025em;
}
#pl-home p{
    color:#bfcbe5;
    font-size:12px;
    line-height:1.45;
}
.ph-features p{margin:0}

.ph-lower-grid{
    display:grid;
    grid-template-columns:1.55fr 1fr;
    gap:12px;
    margin-top:10px;
}
.ph-pricing{padding:10px 14px 12px}
.ph-section-head h2{font-size:16px}
.ph-section-head p{margin:0 0 8px;font-size:10px}
.ph-pricing-row{
    display:grid;
    grid-template-columns:1fr 1fr 1.25fr;
    gap:9px;
}
.ph-price-card{
    position:relative;
    display:flex;
    align-items:center;
    gap:9px;
    min-height:92px;
    padding:10px 12px;
    border:1px solid #4d73ff;
    border-radius:10px;
    background:rgba(4,26,66,.82);
}
.ph-price-icon{color:#be66ff;font-size:27px;text-shadow:0 0 12px #8f47ff}
.ph-price-card b,.ph-price-card strong,.ph-price-card small{display:block}
.ph-price-card b{font-size:11px}
.ph-price-card strong{
    margin:2px 0;
    color:#e785ff;
    font-size:25px;
    line-height:1;
}
.ph-price-card small{color:#e3eaff;font-size:10px}
.ph-annual strong{color:#e8f3ff}
.ph-best{
    position:absolute;
    top:6px;
    right:6px;
    padding:2px 6px;
    border-radius:999px;
    background:#7736ef;
    font-size:8px;
    font-weight:800;
}
.ph-expiry{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px;
}
.ph-check{
    display:grid;
    flex:0 0 24px;
    width:24px;height:24px;
    place-items:center;
    border-radius:50%;
    background:#17bcf4;
    color:#04152b;
    font-weight:900;
}
.ph-expiry b{font-size:11px}
.ph-expiry p{margin:3px 0 0;font-size:9px!important}

.ph-privacy{
    display:grid;
    grid-template-columns:1fr 135px;
    align-items:center;
    gap:8px;
    padding:13px 15px;
}
.ph-privacy-copy{
    display:flex;
    gap:11px;
    align-items:flex-start;
}
.ph-shield{
    display:grid;
    flex:0 0 42px;
    width:42px;height:42px;
    place-items:center;
    border:2px solid #43aaff;
    border-radius:14px;
    color:#b9e8ff;
    font-size:25px;
    box-shadow:0 0 16px #426cff55;
}
.ph-privacy h2{font-size:15px!important}
.ph-privacy p{margin:0;font-size:10px!important}
.ph-lockball{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:128px;height:128px;
    border-radius:50%;
    background:
      repeating-radial-gradient(circle,rgba(46,83,255,.07) 0 13px,rgba(64,80,255,.18) 14px 15px),
      radial-gradient(circle,#12347b 0,#081a45 62%,transparent 65%);
    color:#fff;
    text-align:center;
    box-shadow:0 0 25px rgba(48,88,255,.45);
}
.ph-lockball>span{font-size:28px}
.ph-lockball strong{font-size:14px}
.ph-lockball small{max-width:100px;font-size:8px;line-height:1.2}

.ph-bottom{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    overflow:hidden;
    min-height:170px;
    margin-top:10px;
    border:1px solid #345acb;
    border-radius:14px;
    background:linear-gradient(90deg,#091a36,#10103e);
}
.ph-bottom-photo{
    position:relative;
    min-height:170px;
    overflow:hidden;
}
.ph-bottom-photo img{
    position:absolute;
    inset:0;
    width:100%;height:100%;
    object-fit:cover;
    object-position:center 42%;
    filter:saturate(.9) brightness(.7) contrast(1.06);
}
.ph-bottom-photo::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(5,13,35,.25),rgba(5,13,35,.02) 50%,rgba(10,17,48,.92));
}
.ph-bottom-note{
    position:absolute;
    z-index:2;
    left:20px;
    bottom:20px;
    width:130px;
    color:#fff;
    font-style:italic;
    font-size:17px;
    line-height:1.12;
    transform:rotate(-7deg);
    text-shadow:0 0 12px #7e42ff;
}
.ph-bottom-note::after{
    content:"";
    display:block;
    width:70px;height:3px;
    margin:6px 0 0 22px;
    background:#e900ff;
}
.ph-bottom-copy{
    position:relative;
    z-index:3;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding:17px 20px;
}
.ph-bottom-copy h2{
    margin:0 0 2px!important;
    font-size:23px!important;
}
.ph-bottom-copy>strong{
    color:#e361ff;
    font-size:13px;
}
.ph-bottom-copy>p{
    margin:4px 0 9px;
    font-size:10px!important;
}
.ph-bottom-cta{min-height:38px;padding:0 17px;font-size:11px}
.ph-open-world{
    position:absolute;
    right:16px;
    bottom:16px;
    display:flex;
    align-items:center;
    gap:7px;
    width:145px;
}
.ph-open-world>span{color:#62baff;font-size:28px}
.ph-open-world small{font-size:7px;line-height:1.3;letter-spacing:.14em;color:#e6ebff}

/* login + security page */
#pl-login-modal{
    width:min(460px,calc(100% - 28px));
    max-height:calc(100dvh - 30px);
    padding:0;
    overflow:auto;
    border:1px solid #795fd0;
    border-radius:18px;
    background:#08162f;
    color:#fff;
    box-shadow:0 24px 90px #000a;
}
#pl-login-modal::backdrop{background:#020716d9;backdrop-filter:blur(7px)}
#pl-login-modal #pl-home-login{
    position:static;
    width:100%;max-width:none;
    margin:0;padding:30px;
    border:0;background:#08162f;box-shadow:none;
}
#pl-login-modal .pl-login-close{
    float:right;
    width:38px;height:38px;
    margin:10px 10px 0 0;
    padding:0;
    border:1px solid #4f6184;
    border-radius:9px;
    background:#15233f;
    color:#fff;
    font-size:22px;
    cursor:pointer;
}
#pl-security-page{
    width:min(920px,100%);
    margin:0 auto;
    padding:34px 20px;
}
#pl-security-page>button{
    width:auto;
    padding:9px 14px;
    border:1px solid #68558c;
    border-radius:9px;
    background:#111d38;
    color:#fff;
}
#pl-security-page h1{color:#d8bdff;font-size:clamp(30px,5vw,50px)}
#pl-security-page article{
    margin:12px 0;
    padding:20px;
    border:1px solid #425579;
    border-radius:14px;
    background:#0e1c36;
}
#pl-security-page p{line-height:1.6}

main.app:has(#pl-home)>footer{
    padding:12px 20px 28px;
    border:0;
    background:transparent;
    color:#7d8bac;
    font-size:11px;
}

body:has(#pl-home) :is(a,button,select,input,summary):focus-visible{
    outline:3px solid #76d7ff;
    outline-offset:3px;
}

/* tablet */
@media(max-width:1080px){
    main.app:has(#pl-home)>header{
        flex-wrap:wrap;
    }
    body:has(#pl-home) .pl-public-menu{
        flex-wrap:wrap;
    }
    .ph-hero{
        grid-template-columns:1fr;
    }
    .ph-hero-copy{
        max-width:760px;
        margin:0 auto;
        padding:12px 15px 0;
        text-align:center;
    }
    .ph-actions{justify-content:center}
    .ph-worldline{text-align:center}
    .ph-visual-stage{min-height:500px}
    .ph-laptop{left:5%;width:72%}
    .ph-lower-grid{grid-template-columns:1fr}
}

/* mobile */
@media(max-width:720px){
    main.app:has(#pl-home)>header{
        position:relative;
        padding:12px 13px;
    }
    main.app:has(#pl-home)>header>strong{font-size:28px}
    body:has(#pl-home) .pl-public-menu{
        width:100%;
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:5px;
    }
    body:has(#pl-home) .pl-public-menu>.pl-nav-link,
    body:has(#pl-home) .pl-public-menu>.pl-security-trigger{
        padding:7px 4px;
        font-size:10px;
        text-align:center;
    }
    body:has(#pl-home) #pinlivo-entry-language{
        grid-column:1/3;
        justify-content:stretch;
    }
    body:has(#pl-home) .pl-language-select{
        width:100%;
        border:1px solid #51447b;
        background-color:#0b1732;
    }
    body:has(#pl-home) .pl-login-trigger{
        grid-column:3/5;
        width:100%;
        margin:0;
    }

    #pl-home{
        width:min(100% - 16px,720px);
        padding-top:15px;
    }
    #pl-home-title{
        font-size:clamp(38px,12vw,54px);
    }
    .ph-lead{font-size:14px}
    .ph-visual-stage{
        min-height:380px;
        border-radius:16px;
    }
    .ph-globe{
        right:-30px;
        width:260px;height:260px;
    }
    .ph-globe-orbit{display:none}
    .ph-laptop{
        left:3%;
        top:44px;
        width:86%;
        padding:7px 7px 13px;
    }
    .ph-call-grid{
        grid-template-columns:78px minmax(150px,1fr) 78px;
        height:215px;
        gap:4px;
    }
    .ph-side-stack{gap:4px}
    .ph-person figcaption{
        left:2px;right:2px;bottom:2px;
        padding:2px;
        font-size:6px;
    }
    .ph-caption{
        left:7%;width:86%;bottom:10px;
        padding:6px 8px;
        font-size:9px;
    }
    .ph-call-controls{height:30px;font-size:9px}
    .ph-call-controls small{display:none}
    .ph-hangup{width:26px;height:26px}
    .ph-handnote{
        right:3px;top:15px;width:105px;
        font-size:12px;
    }
    .ph-desk-decor{right:4px;bottom:8px;transform:scale(.68);transform-origin:right bottom}

    .ph-features{grid-template-columns:1fr;gap:8px}
    .ph-features article{min-height:0;padding:15px}
    .ph-lower-grid{gap:8px}
    .ph-pricing-row{grid-template-columns:1fr}
    .ph-privacy{grid-template-columns:1fr}
    .ph-lockball{margin:0 auto}
    .ph-bottom{grid-template-columns:1fr}
    .ph-bottom-photo{min-height:180px}
    .ph-bottom-copy{padding:18px;text-align:center;align-items:center}
    .ph-open-world{position:static;width:auto;margin-top:12px}
    .ph-bottom-note{font-size:15px}
}

/* very small */
@media(max-width:420px){
    .ph-visual-stage{min-height:335px}
    .ph-laptop{width:92%;left:1%;top:45px}
    .ph-call-grid{grid-template-columns:62px minmax(130px,1fr) 62px;height:188px}
    .ph-handnote{display:none}
    .ph-desk-decor{display:none}
    .ph-actions{gap:10px}
    .ph-cta{width:100%}
    .ph-watch{margin:auto}
}

@media(prefers-reduced-motion:reduce){
    body:has(#pl-home) *{scroll-behavior:auto!important}
}

/* PinLivo mobile cleanup v5 */
@media(max-width:720px){
    main.app:has(#pl-home)>header{
        position:sticky;
        top:0;
        min-height:58px;
        padding:8px 10px;
        flex-wrap:nowrap;
        gap:8px;
    }

    main.app:has(#pl-home)>header>div{
        min-width:0;
        flex:1 1 auto;
    }

    main.app:has(#pl-home)>header>div>strong{
        font-size:24px;
        white-space:nowrap;
    }

    main.app:has(#pl-home)>header>div>strong span{
        display:none;
    }

    main.app:has(#pl-home)>header>div>p{
        display:none!important;
    }

    body:has(#pl-home) .pl-public-menu{
        width:auto;
        flex:0 0 auto;
        display:flex;
        flex-wrap:nowrap;
        align-items:center;
        gap:5px;
        margin-left:auto;
    }

    /* Hide Features on phones; content is directly below hero anyway. */
    body:has(#pl-home) .pl-public-menu>.pl-nav-link{
        display:none!important;
    }

    body:has(#pl-home) .pl-public-menu>.pl-security-trigger{
        min-width:0;
        min-height:36px;
        padding:6px 8px;
        font-size:10px;
        white-space:nowrap;
    }

    body:has(#pl-home) #pinlivo-entry-language{
        width:auto!important;
        grid-column:auto!important;
    }

    body:has(#pl-home) .pl-language-select{
        width:54px!important;
        min-width:54px;
        min-height:36px;
        padding:5px 20px 5px 8px;
        font-size:11px;
        border:1px solid #51447b;
        background-color:#0b1732;
        background-position:
            calc(100% - 10px) 15px,
            calc(100% - 6px) 15px;
    }

    body:has(#pl-home) .pl-login-trigger{
        grid-column:auto!important;
        width:auto!important;
        min-height:36px;
        margin:0;
        padding:6px 10px;
        font-size:10px;
        white-space:nowrap;
    }

    #pl-home{
        width:100%;
        padding:12px 12px 24px;
    }

    .ph-hero{
        display:block;
        min-height:0;
    }

    .ph-hero-copy{
        max-width:none;
        margin:0;
        padding:8px 4px 15px;
        text-align:left;
    }

    .ph-eyebrow{
        margin-bottom:8px;
        font-size:8px;
        letter-spacing:.15em;
    }

    #pl-home-title{
        margin-bottom:12px;
        font-size:clamp(34px,10vw,44px);
        line-height:1.01;
        letter-spacing:-.045em;
    }

    .ph-lead{
        max-width:none;
        margin-bottom:14px;
        font-size:13px;
        line-height:1.45;
    }

    .ph-actions{
        justify-content:flex-start;
        gap:10px;
    }

    .ph-cta{
        min-height:42px;
        width:auto;
        padding:0 17px;
        font-size:12px;
    }

    .ph-watch{
        min-height:42px;
    }

    .ph-play{
        width:36px;
        height:36px;
    }

    .ph-worldline{
        margin-top:13px;
        text-align:left;
        font-size:7px;
        letter-spacing:.12em;
    }

    .ph-visual-stage{
        min-height:305px;
        margin-top:2px;
        border-radius:14px;
    }

    .ph-globe{
        right:-46px;
        top:-22px;
        width:210px;
        height:210px;
        opacity:.52;
    }

    .ph-globe-orbit,
    .ph-handnote,
    .ph-desk-decor{
        display:none!important;
    }

    .ph-laptop{
        left:3%;
        top:23px;
        width:94%;
        padding:6px 6px 10px;
        border-width:2px;
        border-radius:12px;
    }

    .ph-laptop::after{
        left:-3%;
        right:-3%;
        bottom:-14px;
        height:14px;
    }

    .ph-laptop-top{
        height:24px;
        padding:0 5px;
        font-size:9px;
    }

    .ph-call-grid{
        grid-template-columns:62px minmax(0,1fr) 62px;
        gap:4px;
        height:210px;
    }

    .ph-side-stack{
        gap:4px;
    }

    .ph-person{
        border-radius:5px;
    }

    .ph-person figcaption{
        display:none;
    }

    .ph-main-person{
        border-radius:6px;
    }

    .ph-caption{
        left:6%;
        bottom:8px;
        width:88%;
        padding:5px 7px;
        border-radius:7px;
        font-size:8px;
        line-height:1.35;
    }

    .ph-call-controls{
        height:27px;
        font-size:9px;
    }

    .ph-call-controls small{
        display:none;
    }

    .ph-hangup{
        width:23px;
        height:23px;
    }

    .ph-features{
        margin-top:10px;
        grid-template-columns:1fr;
        gap:8px;
    }

    .ph-features article{
        min-height:0;
        padding:15px;
    }

    .ph-iconrow{
        margin-bottom:6px;
        font-size:22px;
    }

    #pl-home h2{
        font-size:17px;
    }

    #pl-home p{
        font-size:12px;
    }

    .ph-lower-grid{
        display:block;
        margin-top:8px;
    }

    .ph-pricing,
    .ph-privacy{
        margin-top:8px;
        padding:14px;
    }

    .ph-pricing-row{
        display:grid;
        grid-template-columns:1fr;
        gap:8px;
    }

    .ph-price-card{
        min-height:86px;
    }

    .ph-expiry{
        min-height:68px;
    }

    .ph-privacy{
        grid-template-columns:1fr 105px;
        gap:8px;
    }

    .ph-lockball{
        width:100px;
        height:100px;
    }

    .ph-lockball>span{
        font-size:22px;
    }

    .ph-bottom{
        margin-top:8px;
        grid-template-columns:1fr;
        min-height:0;
    }

    .ph-bottom-photo{
        min-height:170px;
    }

    .ph-bottom-copy{
        padding:17px 15px 18px;
        text-align:left;
        align-items:flex-start;
    }

    .ph-bottom-copy h2{
        font-size:21px!important;
    }

    .ph-open-world{
        position:static;
        width:auto;
        margin-top:11px;
    }
}

@media(max-width:420px){
    main.app:has(#pl-home)>header>div>strong{
        font-size:21px;
    }

    body:has(#pl-home) .pl-public-menu>.pl-security-trigger{
        padding-left:6px;
        padding-right:6px;
    }

    body:has(#pl-home) .pl-login-trigger{
        padding-left:8px;
        padding-right:8px;
    }

    #pl-home-title{
        font-size:34px;
    }

    .ph-visual-stage{
        min-height:278px;
    }

    .ph-laptop{
        top:20px;
    }

    .ph-call-grid{
        grid-template-columns:52px minmax(0,1fr) 52px;
        height:190px;
    }

    .ph-watch small{
        display:none;
    }

    .ph-privacy{
        grid-template-columns:1fr;
    }

    .ph-lockball{
        margin:8px auto 0;
    }
}

/* PINLIVO HEADER ALIGNMENT 20261003 V1
   Keep public navigation, language selector and login button on one optical axis. */
@media (min-width:651px) {
    body:has(#pl-home) .pl-public-menu {
        display:flex;
        flex-wrap:nowrap;
        align-items:center;
        min-height:40px;
    }

    body:has(#pl-home) .pl-public-menu > .pl-nav-link,
    body:has(#pl-home) .pl-public-menu > .pl-security-trigger,
    body:has(#pl-home) .pl-public-menu > .pl-login-trigger {
        box-sizing:border-box;
        height:40px;
        min-height:40px;
        margin-top:0;
        margin-bottom:0;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        line-height:1;
        vertical-align:middle;
    }

    body:has(#pl-home) #pinlivo-entry-language {
        box-sizing:border-box;
        height:40px;
        min-height:40px;
        display:flex!important;
        align-items:center!important;
        justify-content:center;
        align-self:center;
        margin:0!important;
        padding:0!important;
        line-height:1;
    }

    body:has(#pl-home) .pl-language-select {
        box-sizing:border-box;
        display:block;
        height:40px;
        min-height:40px;
        margin:0;
        line-height:normal;
        vertical-align:middle;
        background-position:
            calc(100% - 13px) 17px,
            calc(100% - 8px) 17px;
    }
}

/* PINLIVO MOBILE HEADER ALIGNMENT 20261003 V2 */
@media (max-width:650px) {
    main.app:has(#pl-home)>header {
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:center!important;
        gap:6px!important;
        min-height:58px;
        padding:8px 9px!important;
    }

    main.app:has(#pl-home)>header>div {
        flex:1 1 auto;
        min-width:0;
        align-self:center;
    }

    body:has(#pl-home) .pl-public-menu {
        width:auto!important;
        flex:0 0 auto!important;
        display:flex!important;
        flex-wrap:nowrap!important;
        align-items:center!important;
        justify-content:flex-end!important;
        align-self:center!important;
        gap:4px!important;
        margin:0 0 0 auto!important;
        min-height:36px;
    }

    body:has(#pl-home) .pl-public-menu>.pl-nav-link {
        display:none!important;
    }

    body:has(#pl-home) .pl-public-menu>.pl-security-trigger,
    body:has(#pl-home) .pl-public-menu>.pl-login-trigger {
        box-sizing:border-box!important;
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        height:36px!important;
        min-height:36px!important;
        max-height:36px!important;
        margin:0!important;
        padding-top:0!important;
        padding-bottom:0!important;
        line-height:1!important;
        vertical-align:middle!important;
        align-self:center!important;
        white-space:nowrap;
    }

    body:has(#pl-home) #pinlivo-entry-language {
        box-sizing:border-box!important;
        width:54px!important;
        height:36px!important;
        min-height:36px!important;
        max-height:36px!important;
        margin:0!important;
        padding:0!important;
        display:flex!important;
        flex:0 0 54px!important;
        align-items:center!important;
        justify-content:center!important;
        align-self:center!important;
        line-height:1!important;
    }

    body:has(#pl-home) .pl-language-select {
        box-sizing:border-box!important;
        display:block!important;
        width:54px!important;
        height:36px!important;
        min-width:54px!important;
        min-height:36px!important;
        max-height:36px!important;
        margin:0!important;
        padding:0 20px 0 8px!important;
        line-height:34px!important;
        vertical-align:middle!important;
        align-self:center!important;
        background-position:
            calc(100% - 10px) 15px,
            calc(100% - 6px) 15px!important;
    }
}

@media (max-width:420px) {
    main.app:has(#pl-home)>header {
        gap:4px!important;
        padding-left:7px!important;
        padding-right:7px!important;
    }

    body:has(#pl-home) .pl-public-menu {
        gap:3px!important;
    }

    body:has(#pl-home) .pl-public-menu>.pl-security-trigger {
        padding-left:5px!important;
        padding-right:5px!important;
        font-size:9px!important;
    }

    body:has(#pl-home) .pl-public-menu>.pl-login-trigger {
        padding-left:7px!important;
        padding-right:7px!important;
        font-size:9px!important;
    }

    body:has(#pl-home) #pinlivo-entry-language,
    body:has(#pl-home) .pl-language-select {
        width:50px!important;
        min-width:50px!important;
        flex-basis:50px!important;
    }
}
