/* =========================================================
   PROFILE WORLD V2 — PROFESSIONAL DIGITAL TWIN
   Public professional graph. Private health/benefit data excluded.
   ========================================================= */

.pdv2-head{
    display:grid;
    grid-template-columns:1fr minmax(320px,.72fr);
    gap:44px;
    align-items:end;
    margin-bottom:20px;
}
.pdv2-head span{
    color:rgb(var(--world-accent)/.88);
    font:700 .43rem/1 monospace;
    letter-spacing:.1em;
}
.pdv2-head h2{
    margin:10px 0 0;
    max-width:980px;
    font-size:clamp(2.2rem,4vw,4.5rem);
    line-height:.91;
    letter-spacing:-.058em;
}
.pdv2-head p{
    margin:0;
    color:var(--ws-muted);
    font-size:.62rem;
    line-height:1.7;
}

.pdv2-boundary{
    margin-bottom:12px;
    padding:11px 13px;
    border:1px solid rgba(100,247,161,.13);
    border-radius:16px;
    color:rgba(162,255,198,.60);
    background:rgba(100,247,161,.025);
    font:650 .39rem/1.55 monospace;
}

.pdv2-spine{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-bottom:10px;
}
.pdv2-spine-card{
    position:relative;
    min-height:180px;
    padding:15px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.075);
    border-radius:22px;
    background:
        radial-gradient(circle at 0 0,rgb(var(--world-accent)/.075),transparent 42%),
        linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.01)),
        rgba(12,24,36,.70);
    box-shadow:
        0 18px 50px rgba(0,0,0,.10),
        inset 0 1px 0 rgba(255,255,255,.045);
}
.pdv2-spine-card::after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-50px;
    bottom:-50px;
    border-radius:50%;
    background:radial-gradient(circle,rgb(var(--world-accent)/.08),transparent 66%);
}
.pdv2-spine-card span{
    color:var(--ws-dim);
    font:700 .35rem/1 monospace;
    letter-spacing:.07em;
}
.pdv2-spine-card strong{
    display:block;
    margin-top:22px;
    color:#fff;
    font-size:2rem;
    line-height:.9;
    letter-spacing:-.05em;
}
.pdv2-spine-card small{
    display:block;
    margin-top:10px;
    color:rgba(255,255,255,.40);
    font-size:.48rem;
    line-height:1.45;
}
.pdv2-spine-card button{
    margin-top:14px;
    min-height:30px;
    padding:0 9px;
    border:1px solid rgba(255,255,255,.065);
    border-radius:999px;
    color:rgb(var(--world-accent)/.66);
    background:rgba(255,255,255,.012);
    cursor:pointer;
    font:700 .34rem/1 monospace;
}

.pdv2-layout{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
    gap:10px;
    align-items:start;
}

.pdv2-constellation,
.pdv2-inspector{
    border:1px solid rgba(255,255,255,.085);
    border-radius:28px;
    background:
        radial-gradient(circle at 12% 10%,rgb(var(--world-accent)/.06),transparent 36%),
        linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.01)),
        rgba(10,22,34,.72);
    box-shadow:
        0 24px 66px rgba(0,0,0,.13),
        inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter:blur(20px) saturate(160%);
}

.pdv2-constellation{
    min-height:650px;
    padding:18px;
    position:relative;
    overflow:hidden;
}
.pdv2-constellation::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.023) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.019) 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:radial-gradient(circle at 50% 45%,#000,transparent 82%);
}

.pdv2-core{
    position:relative;
    z-index:2;
    width:min(360px,78%);
    margin:0 auto 18px;
    padding:17px 18px;
    text-align:center;
    border:1px solid rgb(var(--world-accent)/.16);
    border-radius:999px;
    background:
        linear-gradient(135deg,rgb(var(--world-accent)/.065),rgba(91,234,255,.03)),
        rgba(8,18,28,.72);
    box-shadow:
        0 0 44px rgb(var(--world-accent)/.05),
        inset 0 1px 0 rgba(255,255,255,.05);
}
.pdv2-core strong{
    display:block;
    color:#fff;
    font-size:1rem;
}
.pdv2-core span{
    display:block;
    margin-top:5px;
    color:rgb(var(--world-accent)/.66);
    font:700 .36rem/1 monospace;
    letter-spacing:.08em;
}

.pdv2-domains{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
}
.pdv2-domain{
    min-height:110px;
    padding:12px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    color:inherit;
    background:rgba(255,255,255,.01);
    text-align:left;
    cursor:pointer;
    transition:
        transform .18s var(--ws-ease),
        border-color .18s ease,
        background .18s ease;
}
.pdv2-domain:hover,
.pdv2-domain.is-active{
    transform:translateY(-2px);
    border-color:rgb(var(--world-accent)/.22);
    background:
        linear-gradient(135deg,rgb(var(--world-accent)/.045),rgba(91,234,255,.02));
}
.pdv2-domain span{
    color:rgb(var(--world-accent)/.56);
    font:700 .33rem/1 monospace;
    letter-spacing:.06em;
}
.pdv2-domain strong{
    margin-top:14px;
    color:#fff;
    font-size:.61rem;
    line-height:1.3;
}

.pdv2-inspector{
    position:sticky;
    top:112px;
    padding:18px;
    min-height:520px;
}
.pdv2-inspector>span{
    color:rgb(var(--world-accent)/.72);
    font:700 .39rem/1 monospace;
    letter-spacing:.075em;
}
.pdv2-inspector h3{
    margin:12px 0 8px;
    color:#fff;
    font-size:clamp(2rem,3.4vw,3.5rem);
    line-height:.92;
    letter-spacing:-.055em;
}
.pdv2-inspector>p{
    margin:0;
    color:rgba(255,255,255,.46);
    font-size:.56rem;
    line-height:1.65;
}
.pdv2-inspector-note{
    margin-top:12px;
    padding:12px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:15px;
    color:rgba(255,255,255,.34);
    background:rgba(255,255,255,.01);
    font-size:.47rem;
    line-height:1.55;
}
.pdv2-inspector-actions{
    margin-top:12px;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.pdv2-inspector-actions a{
    min-height:40px;
    padding:0 13px;
    display:inline-flex;
    align-items:center;
    border:1px solid rgba(255,255,255,.075);
    border-radius:999px;
    color:rgba(255,255,255,.58);
    background:rgba(255,255,255,.012);
    font:700 .4rem/1 monospace;
}
.pdv2-inspector-actions a:hover{
    color:#fff;
    border-color:rgb(var(--world-accent)/.23);
    background:rgb(var(--world-accent)/.04);
}

.pdv2-outcomes,
.pdv2-qualifications{
    margin-top:12px;
    padding:16px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:24px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.008)),
        rgba(9,20,31,.62);
}
.pdv2-section-head{
    display:grid;
    grid-template-columns:1fr minmax(260px,.62fr);
    gap:30px;
    align-items:end;
    margin-bottom:12px;
}
.pdv2-section-head span{
    color:rgb(var(--world-accent)/.68);
    font:700 .39rem/1 monospace;
    letter-spacing:.075em;
}
.pdv2-section-head h3{
    margin:9px 0 0;
    color:#fff;
    font-size:1.5rem;
    letter-spacing:-.04em;
}
.pdv2-section-head p{
    margin:0;
    color:rgba(255,255,255,.39);
    font-size:.51rem;
    line-height:1.55;
}

.pdv2-outcome-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
}
.pdv2-outcome{
    min-height:180px;
    padding:13px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    background:rgba(255,255,255,.01);
}
.pdv2-outcome span{
    color:rgb(var(--world-accent)/.58);
    font:700 .34rem/1 monospace;
    letter-spacing:.06em;
}
.pdv2-outcome h4{
    margin:15px 0 7px;
    color:#fff;
    font-size:.75rem;
}
.pdv2-outcome p{
    margin:0;
    color:rgba(255,255,255,.38);
    font-size:.46rem;
    line-height:1.52;
}

.pdv2-qualification-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}
.pdv2-qualification{
    padding:13px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    background:rgba(255,255,255,.01);
}
.pdv2-qualification>span{
    color:rgb(var(--world-accent)/.60);
    font:700 .35rem/1 monospace;
    letter-spacing:.06em;
}
.pdv2-chip-row{
    margin-top:11px;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.pdv2-chip{
    min-height:31px;
    padding:0 9px;
    display:inline-flex;
    align-items:center;
    border:1px solid rgba(255,255,255,.065);
    border-radius:999px;
    color:rgba(255,255,255,.48);
    background:rgba(255,255,255,.01);
    font-size:.45rem;
}
.pdv2-language-list{
    margin-top:11px;
    display:grid;
    gap:6px;
}
.pdv2-language{
    padding:9px 10px;
    display:flex;
    justify-content:space-between;
    gap:12px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:13px;
}
.pdv2-language strong{
    color:rgba(255,255,255,.70);
    font-size:.5rem;
}
.pdv2-language span{
    color:rgba(255,255,255,.32);
    font-size:.44rem;
    text-align:right;
}

@media(max-width:1080px){
    .pdv2-head{grid-template-columns:1fr;gap:14px}
    .pdv2-spine{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pdv2-layout{grid-template-columns:1fr}
    .pdv2-inspector{position:relative;top:auto;min-height:0}
}
@media(max-width:760px){
    .pdv2-domains{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pdv2-outcome-grid{grid-template-columns:1fr}
    .pdv2-qualification-grid{grid-template-columns:1fr}
    .pdv2-section-head{grid-template-columns:1fr}
}
@media(max-width:520px){
    .pdv2-spine{grid-template-columns:1fr}
    .pdv2-domains{grid-template-columns:1fr}
    .pdv2-constellation,.pdv2-inspector{border-radius:21px}
}

/* Profile V2 proof viewer */
.pdv2-proof{
    position:fixed;
    inset:0;
    z-index:99600;
    display:grid;
    place-items:center;
    padding:16px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:.2s ease;
}
.pdv2-proof.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.pdv2-proof-backdrop{
    position:absolute;
    inset:0;
    border:0;
    background:
        radial-gradient(circle at 14% 14%,rgba(100,247,161,.05),transparent 28%),
        radial-gradient(circle at 86% 16%,rgba(91,234,255,.05),transparent 30%),
        rgba(2,7,11,.84);
    backdrop-filter:blur(30px) saturate(145%);
}
.pdv2-proof-panel{
    position:relative;
    z-index:2;
    width:min(860px,100%);
    max-height:calc(100vh - 32px);
    overflow:auto;
    padding:20px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:30px;
    background:
        radial-gradient(circle at 0 0,rgba(100,247,161,.055),transparent 32%),
        linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.01)),
        rgba(8,18,28,.98);
    box-shadow:0 54px 180px rgba(0,0,0,.52);
}
.pdv2-proof-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding-bottom:15px;
    border-bottom:1px solid rgba(255,255,255,.07);
}
.pdv2-proof-head span{
    color:rgb(var(--world-accent)/.72);
    font:700 .39rem/1 monospace;
    letter-spacing:.075em;
}
.pdv2-proof-head h3{
    margin:10px 0 0;
    color:#fff;
    font-size:1.25rem;
    line-height:1.25;
}
.pdv2-proof-head button{
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:50%;
    color:#fff;
    background:rgba(255,255,255,.015);
    cursor:pointer;
    font-size:1.15rem;
}
.pdv2-proof-value{
    margin-top:14px;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:14px;
    align-items:center;
    padding:13px;
    border:1px solid rgba(255,255,255,.06);
    border-radius:18px;
    background:rgba(255,255,255,.012);
}
.pdv2-proof-value strong{
    color:#fff;
    font-size:2rem;
    letter-spacing:-.04em;
}
.pdv2-proof-value span{
    color:rgba(255,255,255,.42);
    font-size:.52rem;
    line-height:1.5;
}
.pdv2-proof-meta{
    margin-top:9px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
}
.pdv2-proof-meta div,
.pdv2-proof-source{
    padding:10px;
    border:1px solid rgba(255,255,255,.055);
    border-radius:14px;
    background:rgba(255,255,255,.01);
}
.pdv2-proof-meta span,
.pdv2-proof-source span{
    display:block;
    color:var(--ws-dim);
    font:650 .34rem/1 monospace;
    letter-spacing:.06em;
}
.pdv2-proof-meta strong,
.pdv2-proof-source strong{
    display:block;
    margin-top:7px;
    color:rgba(255,255,255,.70);
    font-size:.49rem;
    line-height:1.4;
}
.pdv2-proof-sources{
    margin-top:9px;
    display:grid;
    gap:7px;
}
@media(max-width:620px){
    .pdv2-proof-panel{border-radius:22px;padding:15px}
    .pdv2-proof-value{grid-template-columns:1fr}
    .pdv2-proof-meta{grid-template-columns:1fr}
}

/* V12 entity deep-links */
.pdv2-inspector-actions a,
.pdv2-proof-detail{
    border-radius:999px;
}
.pdv2-proof-actions{
    padding:0 16px 16px;
    display:flex;
    justify-content:flex-end;
}
.pdv2-proof-detail{
    min-height:38px;
    padding:0 12px;
    display:inline-flex;
    align-items:center;
    border:1px solid rgba(255,255,255,.08);
    color:rgba(255,255,255,.58);
    background:rgba(255,255,255,.015);
    font:700 .36rem/1 monospace;
    letter-spacing:.05em;
}
.pdv2-proof-detail:hover{
    color:#fff;
    border-color:rgba(100,247,161,.22);
    background:rgba(100,247,161,.035);
}

/* V12 — Professional Digital Twin system door */
.pdv2-twin-door{
    margin:0 0 12px;
    min-height:102px;
    padding:15px 16px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:8px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.075);
    border-radius:24px;
    color:#fff;
    background:
        radial-gradient(circle at 0 0,rgba(100,247,161,.11),transparent 38%),
        radial-gradient(circle at 100% 100%,rgba(91,234,255,.07),transparent 42%),
        linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.008)),
        rgba(255,255,255,.01);
    box-shadow:
        0 18px 52px rgba(0,0,0,.12),
        inset 0 1px 0 rgba(255,255,255,.04);
    font-size:.75rem;
    font-weight:780;
    transition:
        transform .2s var(--ws-ease),
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}
.pdv2-twin-door small{
    color:rgba(255,255,255,.34);
    font:650 .34rem/1.4 monospace;
    letter-spacing:.05em;
}
.pdv2-twin-door:hover{
    transform:translateY(-2px);
    border-color:rgba(100,247,161,.25);
    background:
        radial-gradient(circle at 0 0,rgba(100,247,161,.15),transparent 40%),
        radial-gradient(circle at 100% 100%,rgba(91,234,255,.095),transparent 42%),
        rgba(255,255,255,.014);
    box-shadow:
        0 23px 62px rgba(0,0,0,.15),
        0 0 30px rgba(100,247,161,.04),
        inset 0 1px 0 rgba(255,255,255,.055);
}
