/* =========================================================
   HUB SPECIALIST V15
   Studio Production · Game Library · Public Architecture
   Investor / Partner Room
   ========================================================= */

.hs15-section{
    position:relative;
    overflow:hidden;
    padding:92px 0;
    border-bottom:1px solid rgba(255,255,255,.055);
    background:
        radial-gradient(circle at 12% 18%,rgb(var(--world-accent)/.06),transparent 30%),
        radial-gradient(circle at 88% 84%,rgb(var(--world-accent-2)/.045),transparent 32%),
        rgba(7,17,26,.38);
}

#hubSpecialistMount{min-height:320px}

.hs15-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.68fr);
    gap:44px;
    align-items:end;
    margin:34px 0 22px;
}
.hs15-head:first-child{margin-top:0}
.hs15-head small{
    color:rgb(var(--world-accent)/.82);
    font:750 .43rem/1 monospace;
    letter-spacing:.10em;
}
.hs15-head h2{
    margin:10px 0 0;
    max-width:920px;
    color:#fff;
    font-size:clamp(2rem,4vw,4.25rem);
    line-height:.94;
    letter-spacing:-.055em;
}
.hs15-head p{
    margin:0;
    color:var(--ws-muted);
    font-size:.62rem;
    line-height:1.72;
}

.hs15-note{
    margin-top:12px;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:16px;
    color:rgba(255,255,255,.42);
    background:
        linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.006)),
        rgba(9,20,30,.44);
    font:600 .40rem/1.6 monospace;
}

.hs15-pipeline{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:7px;
}
.hs15-stage{
    min-height:188px;
    padding:13px;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.075);
    border-radius:22px;
    background:
        radial-gradient(circle at 0 0,rgb(var(--world-accent)/.08),transparent 42%),
        linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.008)),
        rgba(13,26,38,.68);
    box-shadow:
        0 16px 44px rgba(0,0,0,.10),
        inset 0 1px 0 rgba(255,255,255,.04);
}
.hs15-stage:not(:last-child)::after{
    content:"→";
    position:absolute;
    right:-7px;
    top:50%;
    z-index:4;
    transform:translate(50%,-50%);
    color:rgb(var(--world-accent)/.48);
}
.hs15-stage b{
    color:rgb(var(--world-accent)/.66);
    font:800 .39rem/1 monospace;
}
.hs15-stage strong{
    display:block;
    margin-top:22px;
    color:#fff;
    font-size:.62rem;
}
.hs15-stage p{
    margin:9px 0 0;
    color:rgba(238,246,255,.38);
    font-size:.42rem;
    line-height:1.55;
}

.hs15-access{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
}
.hs15-access-card{
    --a:91 234 255;
    min-height:150px;
    padding:14px;
    border:1px solid rgb(var(--a)/.10);
    border-radius:22px;
    background:
        radial-gradient(circle at 0 0,rgb(var(--a)/.075),transparent 42%),
        rgba(255,255,255,.008);
}
.hs15-access-card.public{--a:91 234 255}
.hs15-access-card.member{--a:108 141 255}
.hs15-access-card.supporter{--a:255 114 183}
.hs15-access-card.customer{--a:173 140 255}
.hs15-access-card.owner{--a:255 172 104}
.hs15-access-card small{
    color:rgb(var(--a)/.68);
    font:750 .37rem/1 monospace;
    letter-spacing:.075em;
}
.hs15-access-card strong{
    display:block;
    margin-top:24px;
    color:#fff;
    font-size:.60rem;
    line-height:1.4;
}

.hs15-product-grid,
.hs15-link-grid,
.hs15-slot-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}

.hs15-card{
    min-height:190px;
    padding:16px;
    position:relative;
    overflow:hidden;
    display:block;
    border:1px solid rgba(255,255,255,.09);
    border-radius:24px;
    color:inherit;
    background:
        radial-gradient(circle at 0 0,rgb(var(--world-accent)/.085),transparent 40%),
        radial-gradient(circle at 100% 100%,rgb(var(--world-accent-2)/.055),transparent 42%),
        linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.01)),
        rgba(14,27,40,.70);
    box-shadow:
        0 18px 52px rgba(0,0,0,.12),
        inset 0 1px 0 rgba(255,255,255,.045);
    transition:
        transform .2s var(--ws-ease),
        border-color .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}
.hs15-card:hover{
    transform:translateY(-3px);
    border-color:rgb(var(--world-accent)/.24);
    background:
        radial-gradient(circle at 0 0,rgb(var(--world-accent)/.12),transparent 42%),
        radial-gradient(circle at 100% 100%,rgb(var(--world-accent-2)/.08),transparent 42%),
        rgba(18,32,45,.76);
    box-shadow:
        0 24px 64px rgba(0,0,0,.16),
        0 0 28px rgb(var(--world-accent)/.035),
        inset 0 1px 0 rgba(255,255,255,.06);
}
.hs15-card>small{
    color:rgb(var(--world-accent)/.72);
    font:750 .38rem/1 monospace;
    letter-spacing:.075em;
}
.hs15-card h3{
    margin:13px 0 8px;
    color:#fff;
    font-size:.88rem;
    letter-spacing:-.025em;
}
.hs15-card p{
    margin:0;
    color:rgba(238,246,255,.44);
    font-size:.50rem;
    line-height:1.6;
}
.hs15-card footer{
    margin-top:15px;
    display:flex;
    gap:6px;
    align-items:center;
    flex-wrap:wrap;
}
.hs15-card footer i{
    margin-left:auto;
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border:1px solid rgb(var(--world-accent)/.14);
    border-radius:50%;
    color:rgb(var(--world-accent)/.72);
    background:rgb(var(--world-accent)/.025);
    font-style:normal;
}

.hs15-pill{
    padding:5px 7px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:999px;
    color:rgba(255,255,255,.38);
    background:rgba(255,255,255,.012);
    font:650 .34rem/1 monospace;
}
.hs15-pill.pending{
    color:rgba(255,196,130,.72);
    border-color:rgba(255,172,104,.14);
}

.hs15-slot{
    min-height:160px;
    padding:14px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:22px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.007)),
        rgba(14,27,40,.60);
}
.hs15-slot small{
    color:rgb(var(--world-accent)/.66);
    font:750 .37rem/1 monospace;
}
.hs15-slot strong{
    display:block;
    margin:23px 0 12px;
    color:#fff;
    font-size:.62rem;
    line-height:1.4;
}

.hs15-layer-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
}
.hs15-layer{
    min-height:200px;
    padding:14px;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    background:
        radial-gradient(circle at 0 0,rgb(var(--world-accent)/.08),transparent 42%),
        rgba(14,27,40,.64);
}
.hs15-layer b{
    color:rgb(var(--world-accent)/.58);
    font:800 .38rem/1 monospace;
}
.hs15-layer strong{
    display:block;
    margin-top:26px;
    color:#fff;
    font-size:.64rem;
}
.hs15-layer p{
    margin:9px 0 0;
    color:rgba(238,246,255,.38);
    font-size:.42rem;
    line-height:1.55;
}

.hs15-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
}
.hs15-metric{
    min-height:138px;
    padding:15px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    background:
        radial-gradient(circle at 0 0,rgb(var(--world-accent)/.08),transparent 44%),
        rgba(255,255,255,.01);
}
.hs15-metric strong{
    display:block;
    color:#fff;
    font-size:1.55rem;
    letter-spacing:-.045em;
}
.hs15-metric span{
    display:block;
    margin-top:9px;
    color:rgb(var(--world-accent)/.62);
    font:700 .37rem/1.35 monospace;
    letter-spacing:.055em;
}

@media(max-width:1180px){
    .hs15-pipeline{grid-template-columns:repeat(4,minmax(0,1fr))}
    .hs15-stage::after{display:none}
    .hs15-layer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .hs15-access{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:900px){
    .hs15-head{grid-template-columns:1fr;gap:14px}
    .hs15-product-grid,
    .hs15-link-grid,
    .hs15-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .hs15-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:650px){
    .hs15-section{padding:68px 0}
    .hs15-pipeline,
    .hs15-layer-grid,
    .hs15-access,
    .hs15-product-grid,
    .hs15-link-grid,
    .hs15-slot-grid,
    .hs15-metrics{
        grid-template-columns:1fr;
    }
    .hs15-stage,
    .hs15-layer,
    .hs15-card,
    .hs15-slot,
    .hs15-access-card,
    .hs15-metric{
        border-radius:20px;
    }
}

/* =========================================================
   V15.1 — IDENTITY / ENTITLEMENT GATEWAY
   ========================================================= */

.hs15-security-status{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    margin-bottom:34px;
}

.hs15-security-card{
    min-height:142px;
    padding:14px;
    border:1px solid rgba(255,255,255,.075);
    border-radius:22px;
    background:
        radial-gradient(circle at 0 0,rgba(91,234,255,.065),transparent 42%),
        linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.007)),
        rgba(12,25,37,.68);
}

.hs15-security-card small{
    color:rgba(91,234,255,.58);
    font:750 .35rem/1 monospace;
    letter-spacing:.07em;
}

.hs15-security-card strong{
    display:block;
    margin-top:24px;
    color:#fff;
    font-size:.62rem;
    line-height:1.3;
}

.hs15-security-card span{
    display:block;
    margin-top:8px;
    color:rgba(255,255,255,.28);
    font:650 .34rem/1.35 monospace;
}

.hs15-auth-flow{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
}

.hs15-auth-step{
    min-height:176px;
    padding:14px;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.075);
    border-radius:22px;
    background:
        radial-gradient(circle at 0 0,rgba(91,234,255,.075),transparent 42%),
        rgba(255,255,255,.008);
}

.hs15-auth-step::after{
    content:"";
    position:absolute;
    inset:auto 14px 0;
    height:1px;
    background:linear-gradient(90deg,rgba(91,234,255,.32),rgba(173,140,255,.12),transparent);
}

.hs15-auth-step b{
    color:rgba(91,234,255,.58);
    font:800 .38rem/1 monospace;
}

.hs15-auth-step strong{
    display:block;
    margin-top:24px;
    color:#fff;
    font-size:.64rem;
}

.hs15-auth-step p{
    margin:9px 0 0;
    color:rgba(238,246,255,.38);
    font-size:.42rem;
    line-height:1.55;
}

.hs15-access-card .hs15-pill{
    display:inline-flex;
    margin-top:14px;
}

.hs15-security-boundary{
    margin-top:14px;
    padding:18px;
    border:1px solid rgba(255,114,183,.12);
    border-radius:24px;
    background:
        radial-gradient(circle at 0 0,rgba(255,114,183,.065),transparent 36%),
        radial-gradient(circle at 100% 100%,rgba(91,234,255,.04),transparent 34%),
        rgba(12,24,36,.68);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.hs15-security-boundary strong{
    color:rgba(255,155,202,.78);
    font:800 .42rem/1 monospace;
    letter-spacing:.08em;
}

.hs15-security-boundary p{
    margin:11px 0 0;
    max-width:1080px;
    color:rgba(238,246,255,.46);
    font-size:.5rem;
    line-height:1.7;
}

@media(max-width:1100px){
    .hs15-security-status{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .hs15-auth-flow{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .hs15-security-status,
    .hs15-auth-flow{
        grid-template-columns:1fr;
    }

    .hs15-security-card,
    .hs15-auth-step,
    .hs15-security-boundary{
        border-radius:20px;
    }
}
