.brand-universe{
    position:relative;
    padding:92px 0 96px;
    overflow:hidden;
    border-top:1px solid rgba(255,255,255,.07);
    border-bottom:1px solid rgba(255,255,255,.06);
    background:
        radial-gradient(circle at 10% 15%,rgba(91,234,255,.09),transparent 30%),
        radial-gradient(circle at 88% 12%,rgba(173,140,255,.10),transparent 30%),
        radial-gradient(circle at 78% 88%,rgba(255,114,183,.055),transparent 30%),
        radial-gradient(circle at 16% 84%,rgba(184,255,104,.055),transparent 28%),
        linear-gradient(180deg,rgba(15,28,41,.82),rgba(9,19,29,.88));
}
.brand-universe::before{
    content:"";
    position:absolute;inset:0;
    pointer-events:none;
    opacity:.24;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:72px 72px;
    mask-image:radial-gradient(circle at 50% 40%,#000,transparent 82%);
}
.brand-universe-head{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
    gap:44px;
    align-items:end;
}
.brand-universe-head h2{
    max-width:900px;
    margin:14px 0 0;
    font-size:clamp(2.5rem,4.6vw,5rem);
    line-height:.92;
    letter-spacing:-.06em;
    background:linear-gradient(102deg,#fff 0%,#dffaff 38%,#d6d0ff 62%,#ffd3ea 78%,#eaffd1 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.brand-universe-head>p{
    margin:0 0 4px auto;
    max-width:540px;
    color:rgba(241,248,255,.62);
    font-size:.68rem;
    line-height:1.7;
    text-align:right;
}
.brand-universe-stage{
    margin-top:30px;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
    gap:12px;
}
.brand-feature,
.brand-tile,
.brand-environment,
.brand-subbrand{
    position:relative;
    overflow:hidden;
    padding:0;
    border:1px solid rgba(255,255,255,.14);
    color:inherit;
    background:rgba(18,31,44,.72);
    cursor:pointer;
    text-align:left;
    box-shadow:0 24px 70px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.06);
}
.brand-feature{
    min-height:540px;
    border-radius:22px;
}
.brand-feature img,
.brand-tile img,
.brand-environment img,
.brand-subbrand img{
    width:100%;height:100%;display:block;object-fit:cover;
    transition:transform .6s cubic-bezier(.2,.75,.2,1),filter .35s ease;
}
.brand-feature img{position:absolute;inset:0;}
.brand-feature::after,
.brand-tile::after,
.brand-environment::after,
.brand-subbrand::after{
    content:"";
    position:absolute;inset:0;
    pointer-events:none;
    background:
        linear-gradient(180deg,transparent 44%,rgba(4,10,16,.74) 100%),
        radial-gradient(circle at 8% 8%,rgba(91,234,255,.11),transparent 28%),
        radial-gradient(circle at 92% 92%,rgba(173,140,255,.09),transparent 28%);
}
.brand-feature:hover img,
.brand-tile:hover img,
.brand-environment:hover img,
.brand-subbrand:hover img{
    transform:scale(1.025);
    filter:brightness(1.07) saturate(1.08);
}
.brand-feature-overlay{
    position:absolute;left:24px;right:24px;bottom:24px;z-index:2;
}
.brand-feature-overlay span{
    color:#7befff;font:650 .45rem/1 monospace;letter-spacing:.11em;
}
.brand-feature-overlay strong{
    display:block;margin-top:9px;color:#fff;font-size:clamp(1.7rem,3vw,3.2rem);letter-spacing:-.05em;
}
.brand-feature-overlay small{
    display:block;margin-top:7px;color:rgba(255,255,255,.6);font-size:.5rem;letter-spacing:.08em;
}
.brand-feature>i{
    position:absolute;right:18px;top:18px;z-index:2;
    padding:7px 9px;border:1px solid rgba(255,255,255,.14);border-radius:999px;
    color:rgba(255,255,255,.5);background:rgba(7,15,23,.48);backdrop-filter:blur(12px);
    font:600 .4rem/1 monospace;font-style:normal;letter-spacing:.07em;
}
.brand-universe-mosaic{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:12px;
}
.brand-tile{min-height:264px;border-radius:18px;}
.brand-tile img{position:absolute;inset:0;}
.brand-tile span,
.brand-environment span{
    position:absolute;left:14px;bottom:13px;z-index:2;
    color:#fff;font:650 .45rem/1 monospace;letter-spacing:.08em;
    text-shadow:0 6px 20px rgba(0,0,0,.5);
}
.brand-tile:nth-child(1){border-color:rgba(91,234,255,.20)}
.brand-tile:nth-child(2){border-color:rgba(173,140,255,.20)}
.brand-tile:nth-child(3){border-color:rgba(255,114,183,.18)}
.brand-tile:nth-child(4){border-color:rgba(184,255,104,.18)}
.brand-environment-rail{
    margin-top:12px;
    display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:12px;
}
.brand-environment{
    min-height:220px;border-radius:17px;
}
.brand-environment img{position:absolute;inset:0;}
.brand-subbrands{
    margin-top:12px;padding:20px;
    border:1px solid rgba(255,255,255,.11);border-radius:19px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015)),
        rgba(17,30,43,.70);
    box-shadow:0 22px 64px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter:blur(20px) saturate(160%);
}
.brand-subbrands-head{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.07);
}
.brand-subbrands-head span{color:#74ecff;font:650 .45rem/1 monospace;letter-spacing:.1em}
.brand-subbrands-head strong{color:rgba(255,255,255,.42);font-size:.54rem}
.brand-subbrand-grid{
    margin-top:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;
}
.brand-subbrand{
    min-height:180px;border-radius:14px;
}
.brand-subbrand img{
    position:absolute;inset:0;
}
.brand-subbrand>span,
.brand-subbrand>strong{
    position:absolute;left:12px;z-index:2;
}
.brand-subbrand>span{
    bottom:34px;color:rgba(255,255,255,.52);font:600 .4rem/1 monospace;letter-spacing:.08em;
}
.brand-subbrand>strong{
    bottom:13px;color:#fff;font-size:.62rem;letter-spacing:.02em;
}
.brand-subbrand:nth-child(1){border-color:rgba(91,234,255,.22)}
.brand-subbrand:nth-child(2){border-color:rgba(108,141,255,.22)}
.brand-subbrand:nth-child(3){border-color:rgba(255,114,183,.22)}
.brand-subbrand:nth-child(4){border-color:rgba(184,255,104,.20)}
.brand-concept-note{
    margin-top:12px;padding:13px 15px;
    display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;
    border:1px solid rgba(255,255,255,.07);border-radius:12px;
    background:rgba(255,255,255,.012);
}
.brand-concept-note span{
    color:rgba(184,255,104,.78);font:650 .42rem/1 monospace;letter-spacing:.08em;
}
.brand-concept-note p{
    margin:0;color:rgba(255,255,255,.30);font-size:.5rem;line-height:1.55;
}
.brand-viewer{
    position:fixed;inset:0;z-index:97500;display:grid;place-items:center;padding:18px;
    opacity:0;visibility:hidden;pointer-events:none;transition:.2s;
}
.brand-viewer.is-open{opacity:1;visibility:visible;pointer-events:auto}
.brand-viewer-backdrop{
    position:absolute;inset:0;border:0;background:rgba(3,8,13,.76);backdrop-filter:blur(24px) saturate(140%);
}
.brand-viewer-panel{
    position:relative;z-index:2;width:min(1180px,100%);max-height:calc(100vh - 36px);overflow:auto;
    border:1px solid transparent;border-radius:24px;
    background:
        radial-gradient(circle at 4% 0%,rgba(91,234,255,.14),transparent 30%) padding-box,
        radial-gradient(circle at 100% 100%,rgba(173,140,255,.12),transparent 32%) padding-box,
        rgba(13,25,37,.97) padding-box,
        linear-gradient(125deg,rgba(91,234,255,.45),rgba(173,140,255,.34),rgba(255,114,183,.24),rgba(184,255,104,.32)) border-box;
    box-shadow:0 55px 170px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.09);
}
.brand-viewer-head{
    padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.brand-viewer-head span{color:#72ebff;font:650 .45rem/1 monospace;letter-spacing:.1em}
.brand-viewer-head h2{margin:7px 0 0;color:#fff;font-size:1.45rem;letter-spacing:-.04em}
.brand-viewer-head button{
    width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:50%;
    color:#fff;background:rgba(255,255,255,.025);cursor:pointer;font-size:1.25rem;
}
.brand-viewer-media{padding:14px;}
.brand-viewer-media img{
    width:100%;max-height:72vh;display:block;object-fit:contain;border-radius:16px;background:#09131c;
}
.brand-viewer-foot{
    padding:13px 18px 16px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;
    border-top:1px solid rgba(255,255,255,.07);
}
.brand-viewer-foot span{color:#b8ff68;font:650 .42rem/1 monospace;letter-spacing:.08em}
.brand-viewer-foot p{margin:0;color:rgba(255,255,255,.3);font-size:.48rem;text-align:right}
@media(max-width:900px){
    .brand-universe-head{grid-template-columns:1fr;gap:18px}
    .brand-universe-head>p{margin:0;text-align:left}
    .brand-universe-stage{grid-template-columns:1fr}
    .brand-feature{min-height:430px}
    .brand-environment-rail{grid-template-columns:1fr 1fr}
    .brand-environment:last-child{grid-column:1/-1}
    .brand-subbrand-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
    .brand-universe{padding:68px 0 74px}
    .brand-feature{min-height:340px}
    .brand-universe-mosaic{grid-template-columns:1fr;grid-template-rows:auto}
    .brand-tile{min-height:220px}
    .brand-environment-rail{grid-template-columns:1fr}
    .brand-environment:last-child{grid-column:auto}
    .brand-subbrand-grid{grid-template-columns:1fr}
    .brand-subbrand{min-height:210px}
    .brand-concept-note,
    .brand-viewer-foot{grid-template-columns:1fr}
    .brand-viewer-foot p{text-align:left}
}

.brand-universe::after{
    content:"";
    position:absolute;
    right:-4%;
    top:7%;
    width:min(760px,48vw);
    aspect-ratio:2.48/1;
    pointer-events:none;
    opacity:.055;
    background:url("../images/brand-v1/te-header-horizontal.webp") center/contain no-repeat;
    filter:blur(.2px) saturate(1.15);
    mix-blend-mode:screen;
}
.brand-environment-rail{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
@media(max-width:900px){
    .brand-environment-rail{grid-template-columns:repeat(2,1fr)}
    .brand-environment:last-child{grid-column:auto}
}
@media(max-width:560px){
    .brand-environment-rail{grid-template-columns:1fr}
}

.brand-subbrand-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
}
.brand-subbrand:nth-child(1){border-color:rgba(184,255,104,.22)}
.brand-subbrand:nth-child(2){border-color:rgba(91,234,255,.22)}
.brand-subbrand:nth-child(3){border-color:rgba(108,141,255,.22)}
.brand-subbrand:nth-child(4){border-color:rgba(255,114,183,.22)}
.brand-subbrand:nth-child(5){border-color:rgba(255,172,104,.20)}
@media(max-width:1080px){
    .brand-subbrand-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
    .brand-subbrand-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
    .brand-subbrand-grid{grid-template-columns:1fr}
}

/* Native-resolution brand viewer controls */
.brand-viewer-actions{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.brand-viewer-actions>span{
    min-width:100px;
    color:rgba(255,255,255,.34);
    font:600 .4rem/1 monospace;
    letter-spacing:.06em;
    text-align:right;
}
.brand-viewer-actions button{
    min-width:38px;
    height:38px;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    color:#fff;
    background:
        linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
    cursor:pointer;
    font:650 .48rem/1 monospace;
}
.brand-viewer-actions button:hover{
    border-color:rgba(91,234,255,.34);
    background:
        linear-gradient(135deg,rgba(91,234,255,.12),rgba(173,140,255,.07));
}
.brand-viewer-actions #brandViewerClose{
    min-width:42px;
    width:42px;
    padding:0;
    font-size:1.2rem;
}
.brand-viewer-media{
    max-height:72vh;
    overflow:auto;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    overscroll-behavior:contain;
    background:
        radial-gradient(circle at 50% 20%,rgba(91,234,255,.035),transparent 34%),
        #08121b;
    scrollbar-gutter:stable both-edges;
}
.brand-viewer-media.is-native{
    justify-content:flex-start;
    cursor:grab;
}
.brand-viewer-media.is-dragging{
    cursor:grabbing;
    user-select:none;
}
.brand-viewer-media img{
    flex:0 0 auto;
    width:auto;
    max-width:100%;
    max-height:72vh;
    height:auto;
    object-fit:contain;
    image-rendering:auto;
    transition:width .18s cubic-bezier(.2,.75,.2,1);
}
@media(max-width:720px){
    .brand-viewer-head{
        align-items:flex-start;
    }
    .brand-viewer-actions{
        max-width:230px;
    }
    .brand-viewer-actions>span{
        width:100%;
        text-align:left;
    }
}
