/* Futuristic presentation layer. Runtime motion remains real Three.js geometry. */
:root{--bg:#060b14;--paper:#eff7ff;--accent:#7dedde;--line:#91d3ed26}body{background:#060b14}.vignette{background:linear-gradient(90deg,#060b14f5 3%,#060b14b8 35%,transparent 70%),linear-gradient(0deg,#060b14 4%,transparent 38%)}header{top:24px}.brand>span{color:var(--accent)}.resume{border-color:#7dedde66;background:#7dedde09;border-radius:3px}.availability{color:#87aabb}.scene-switch{position:fixed;top:95px;right:3.5vw;z-index:9;display:flex;gap:4px;align-items:center;background:#081422bd;border:1px solid var(--line);padding:5px;border-radius:5px;backdrop-filter:blur(14px)}.scene-switch>span{font:8px monospace;letter-spacing:.13em;padding:0 12px;color:#8ba5bb}.scene-switch button{font:10px monospace;padding:8px 13px;border-radius:2px;color:#9bb5c7}.scene-switch button[aria-pressed=true]{background:#7dedde20;color:#bffff4;box-shadow:inset 0 0 0 1px #7dedde55}#welcome{left:6.5vw;top:clamp(135px,21vh,220px);max-width:600px}#welcome>.eyebrow{letter-spacing:.2em;font-size:9px;color:#a3bdcc}.status-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 16px var(--accent);animation:beacon 3s infinite}h1{font-size:clamp(65px,7.3vw,118px);font-weight:600;letter-spacing:-.065em;line-height:.86;margin:26px 0}h1 .name-outline{display:block;font-size:.66em;color:transparent;-webkit-text-stroke:1px #cee7f3;letter-spacing:-.04em;margin-top:14px}h1 em{display:block;font:400 clamp(23px,2.7vw,42px)/1.2 'Space Grotesk',Arial,sans-serif;letter-spacing:-.055em;color:var(--accent);margin-top:23px}.lead{max-width:410px;color:#9fb6c7;font-size:13px;line-height:1.9}.primary{border-radius:3px;background:linear-gradient(120deg,#a1ffe9,#70d8eb);box-shadow:0 5px 35px #61dfda20;padding:16px 22px}.text-button{color:#c4d9e7;font-size:11px}.hero-proof{gap:0;margin-top:29px}.hero-proof button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;padding:0 20px;border-right:1px solid var(--line)}.hero-proof button:first-child{padding-left:0}.hero-proof button:last-child{border:0}.hero-proof strong{font:500 12px 'Space Grotesk',sans-serif;color:#d4e9f4}.hero-proof span{font-size:8px;color:#789bad}.portrait-card{top:clamp(150px,22vh,230px);right:9vw;width:clamp(260px,28vw,470px);height:calc(100vh - 340px);max-height:660px;min-height:300px;border:0;background:none;box-shadow:none;backdrop-filter:none;transform:none;perspective:1000px;pointer-events:none}.portrait-card:hover{transform:none}.portrait-card img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 0 40px #6eb2d517);transition:transform .4s;transform:translateZ(30px);mask-image:linear-gradient(black 85%,transparent);opacity:.95}.portrait-card:not(.cutout) img{mask-image:linear-gradient(transparent,black 9%,black 70%,transparent);border-radius:45% 45% 0 0}.portrait-card.cutout{right:7vw;width:34vw;top:17vh;height:calc(100vh - 275px)}.portrait-top{position:absolute;top:2%;left:0;right:0;z-index:2;font:8px monospace;letter-spacing:.13em;color:#92c1d3;padding:0}.portrait-bottom{position:absolute;bottom:-15px;left:12%;right:12%;z-index:3;border-left:2px solid var(--accent);padding:11px 15px;background:linear-gradient(90deg,#081728e8,#08172800);pointer-events:auto}.portrait-bottom strong{font:11px monospace;letter-spacing:.06em}.portrait-bottom>span{color:#b4c8d5;font-size:9px}.portrait-bottom button{border:0;padding:0;margin:3px 0;color:var(--accent)}.portrait-bottom small{font-size:7px;letter-spacing:.1em;color:#7f98a7}.portrait-orbit{position:absolute;width:125%;height:35%;left:-12%;bottom:6%;border:1px solid #74e9e35c;border-radius:50%;box-shadow:0 0 35px #62efe414,inset 0 0 30px #62efe410;transform:rotateX(65deg);animation:orbit-glow 6s ease-in-out infinite}.portrait-orbit:after{content:'';position:absolute;inset:12%;border:1px dashed #8bacc777;border-radius:50%}.node-label{padding:7px 9px;background:#071727b5;border:1px solid #83d9dd22;backdrop-filter:blur(4px);border-radius:3px;font-size:8px}.node-label.active{box-shadow:0 0 22px #7dedde25}.node-label.hide{visibility:hidden}#world-nav{background:#0b182778;border:1px solid #8dc1de20;border-radius:6px;padding:15px 6px}#world-nav button{font-size:9px}#world-nav button:hover{background:#7dedde10}#world-nav button.active:before{top:-16px;background:#7dedde;box-shadow:0 0 15px #7dedde}footer{background:linear-gradient(0deg,#060b14 85%,transparent)}#detail{background:#0a1624f2;border-color:#74b8d340;box-shadow:0 20px 100px #0008,0 0 40px #56cfe908;border-radius:8px}.detail-toolbar,.detail-tabs{background:#0d1b2cfa}.detail-card h3{color:#eff7ff}.detail-tabs{gap:18px}.detail-metrics{padding:15px 0;border-bottom:1px solid var(--line)}.source-link{background:#87cdd405;padding-left:12px;padding-right:12px}.about-links{display:flex;gap:18px;margin:20px 0}.about-links button{color:var(--accent);padding:0;font-size:12px}.exploring .scene-switch{top:89px}.exploring .vignette{background:linear-gradient(0deg,#060b14,transparent 28%),linear-gradient(90deg,#060b1477,transparent 45%)}.blueprint #scene{filter:saturate(.65)}.blueprint .portrait-orbit{border-style:dashed}.motion-paused .status-dot,.motion-paused .portrait-orbit{animation-play-state:paused}dialog{max-height:88vh;overflow:auto;border-radius:8px;background:#0c1928}#intro-image{max-height:65vh;object-fit:contain}.webgl-failed .scene-switch{display:none}@keyframes beacon{50%{opacity:.35;box-shadow:0 0 6px #7dedde}}@keyframes orbit-glow{50%{opacity:.4;transform:rotateX(65deg) scale(1.08)}}
@media(max-height:800px) and (min-width:901px){#welcome{top:130px}h1{font-size:clamp(65px,6.4vw,94px);margin:20px 0}h1 em{font-size:30px;margin-top:18px}.lead{font-size:12px}.hero-proof{margin-top:23px}.portrait-card.cutout{top:19vh;height:calc(100vh - 295px)}.portrait-card{top:24vh}.hero-actions{margin-top:20px}}
@media(max-width:1100px){#welcome{left:5vw;max-width:55vw}h1{font-size:75px}h1 em{font-size:28px}.lead{max-width:350px}.portrait-card{right:4vw;width:30vw}.portrait-card.cutout{width:40vw;right:1vw}.hero-proof button{padding:0 13px}.scene-switch>span{display:none}.availability{display:none}}
@media(max-width:700px){.scene-switch{top:77px;right:6vw}.scene-switch button{font-size:8px;padding:6px 10px}#welcome{top:133px;left:7vw;max-width:86vw}h1{font-size:clamp(58px,16vw,90px);margin:20px 0}h1 .name-outline{font-size:.55em}h1 em{font-size:26px;margin-top:18px}.lead{max-width:290px;font-size:11px}.portrait-card,.portrait-card.cutout{display:none}.hero-actions{gap:12px;flex-wrap:wrap;margin-top:22px}.primary{padding:14px 16px;font-size:11px}.hero-proof{margin-top:25px}.hero-proof strong{font-size:10px}.hero-proof span{font-size:7px}.hero-proof button{padding:0 12px}.vignette{background:linear-gradient(90deg,#060b14dc,transparent),linear-gradient(0deg,#060b14 15%,transparent 80%)}#explorer{top:130px}.exploring .scene-switch{top:75px}#detail{top:115px;bottom:154px}#world-nav{padding:13px 5px}#scene-status{font-size:7px}#orbit-help{font-size:7px}.intro-layout{gap:10px}.about-links{flex-direction:column;gap:14px}.about-links button{text-align:left}#intro-image{height:220px}#intro-dialog{max-height:85vh}}
@media(max-height:670px) and (max-width:700px){#welcome{top:118px}h1{font-size:54px}h1 em{font-size:22px}.hero-proof{display:none}.lead{font-size:10px;line-height:1.65}.hero-actions{margin-top:14px}.text-button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.status-dot,.portrait-orbit{animation:none!important}}
/* Keep the full name readable within the existing explorer composition. */
#welcome h1{font-size:clamp(48px,6vw,94px)}
@media(max-width:700px){#welcome h1{font-size:clamp(38px,11vw,64px)}}
