/* Isolated opening: no rules apply to the project pages. */
.universe { position:relative; isolation:isolate; height:calc(100svh - 58px); min-height:480px; padding:0; overflow:hidden; background:#03040b; color:#f5f3fa; border:0; }
.universe[hidden] { display:none; }
.portfolio-nav[hidden] { display:none; }
html.universe-opening, html.universe-opening body { width:100%; height:100%; overflow:hidden; overscroll-behavior:none; }
html.universe-opening .universe { position:fixed; z-index:250; inset:0; width:100%; height:100vh; height:100dvh; min-height:0; touch-action:none; }
.universe::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 65% 40%,#38234b55,transparent 50%),radial-gradient(ellipse at 25% 70%,#16345466,transparent 60%); }
.universe canvas {position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transition:opacity .7s ease;}
.universe-content {position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center;z-index:2;transition:opacity .65s ease,transform 1.3s ease;}
.universe h1 {margin:0;width:100%;font-family:"Anton",Impact,sans-serif;font-weight:400;font-size:clamp(92px,22vw,370px);line-height:1.05;letter-spacing:.015em;color:#f4f1fa;text-shadow:0 3px 45px #0008;}
.universe-name {display:block;color:inherit;}
.universe-label {display:block;margin:0 0 22px;color:#dad5e7;font-size:11px;letter-spacing:.55em;text-indent:.55em;text-transform:uppercase;}
.universe-explore {display:inline-flex;align-items:center;gap:28px;padding:16px 0 12px;border-bottom:1px solid #c8b5f280;margin-top:35px;color:#ede8f6;font-size:13px;letter-spacing:.03em;}
.universe-explore:hover {color:#c9afff;border-color:#c9afff;}
.universe a:focus-visible,.universe button:focus-visible {outline:2px solid #d6bdff;outline-offset:8px;}
.universe-bottom {position:absolute;bottom:calc(26px + env(safe-area-inset-bottom));left:clamp(20px,5vw,80px);right:clamp(20px,5vw,80px);display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:3;}
.universe-note {font-size:9px;letter-spacing:.2em;color:#b6b0c5;text-transform:uppercase;}
.universe + .hero-details .hero-intro { grid-template-columns: minmax(0, 1fr); gap: 0; }
.universe.is-travelling .universe-content {opacity:0;transform:scale(1.04);pointer-events:none;}
.universe.is-fading canvas {opacity:0;}
.universe.is-reduced-transition {opacity:0;transition:opacity .24s ease-out!important;}
.universe + .hero-details {position:relative;z-index:1;background:#111015;color:#f1eef5;padding:32px max(24px,calc((100vw - 1260px)/2));}
.universe + .hero-details p {color:#dbd7e2;}
.universe + .hero-details .internship-availability {color:#ceb7f3;}
@media(max-width:600px){.universe{min-height:480px;height:calc(88svh - 50px)}.universe h1{font-size:24vw}.universe-label{font-size:9px;letter-spacing:.4em}.universe-explore{margin-top:28px}.universe-note{font-size:8px;max-width:150px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.universe *, .universe canvas {transition:none!important;}}
@media(max-width:600px){.universe + .hero-details{grid-template-columns:1fr;gap:24px}.universe + .hero-details .hero-intro{grid-template-columns:1fr}.universe + .hero-details .hero-labels{display:flex;gap:14px}}
