:root{color-scheme:dark;--bg:#080c16;--panel:#111a2b;--blue:#a9cfff;--muted:#8f9cb3;--white:#e3ecfa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--white);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:6px}button:disabled{opacity:.6;cursor:wait}.topbar{position:fixed;z-index:20;top:0;left:0;width:100%;height:88px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#080c16eb,#080c1600);transition:background .3s}.entered .topbar{background:#080c16df;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff0c}.wordmark{font-size:19px;font-weight:600;letter-spacing:-.6px}.wordmark span{display:block;font-size:8px;letter-spacing:2.3px;color:var(--muted);margin-top:1px}nav{display:flex;align-items:center;gap:32px;font-size:12px}nav a{color:#b6c4d9}nav a:hover{color:white}.skip{border:1px solid #51627c;border-radius:30px;background:#111a2b77;padding:9px 19px;font-size:12px}.skip span{margin-left:18px}.skip-link{position:fixed;top:-80px;left:20px;z-index:99;background:white;color:#080c16;padding:12px}.skip-link:focus{top:10px}.intro{height:440vh}.stage{position:sticky;top:0;height:100vh;overflow:hidden;isolation:isolate}.ambient{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 70%,#31548245,transparent 55%),linear-gradient(130deg,#15223955,transparent 35%)}.ambient:before{content:"";position:absolute;width:90vw;height:30vw;left:-50vw;top:-28vw;border:1px solid #87b9fa88;border-radius:50%;box-shadow:0 0 40px #8ab5ff33;transform:rotate(-35deg)}.hero-name{position:absolute;top:20%;left:0;width:100%;text-align:center;font-size:clamp(65px,13.2vw,200px);font-weight:800;line-height:.91;letter-spacing:-.065em;color:#273c60;text-shadow:0 -1px 1px #86b4f988}.hero-name span{background:linear-gradient(158deg,#263b60 12%,#334b76 40%,#abd5ff 73%,#4777bc);background-clip:text;-webkit-text-fill-color:transparent}.scene{position:absolute;inset:0;perspective:1700px;perspective-origin:50% 42%}.laptop{position:absolute;width:650px;height:420px;left:50%;top:51%;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(-5deg) rotateY(-65deg) rotateZ(-14deg);will-change:transform}.lid{position:absolute;width:100%;height:100%;bottom:0;transform-origin:center bottom;transform-style:preserve-3d;transform:rotateX(-69deg)}.lid-back{position:absolute;inset:0;border-radius:20px;background:linear-gradient(130deg,#718299,#e1e8f2 3%,#3b495e 5%,#111c2c 50%,#8d9bae 99%);transform:translateZ(-7px);backface-visibility:hidden}.screen{position:absolute;inset:0;padding:12px;border-radius:20px;background:#02050a;border:3px solid #8191a7;box-shadow:0 0 3px 1px #dfe9ff88,0 0 70px #87baff25;backface-visibility:hidden;overflow:hidden}.camera{position:absolute;z-index:2;top:5px;left:50%;width:4px;height:4px;background:#1c2b43;border-radius:50%}.screen-content{height:100%;background:#080c16;padding:22px 32px;overflow:hidden}.mini-nav{font-size:12px;font-weight:700;margin-bottom:34px}.mini-nav span{float:right;font-size:7px;color:#8f9cb3;letter-spacing:1px}.mini-label{font-size:8px;letter-spacing:2px;color:#a9cfff}.screen h2{font-size:42px;line-height:1.08;letter-spacing:-2px;margin:15px 0}.screen p{font-size:10px;color:var(--muted)}em{font-style:normal;color:var(--blue)}.mini-cards{display:flex;gap:10px;margin-top:26px}.mini-cards div{flex:1;background:linear-gradient(120deg,#1e2e48,#101725);border:1px solid #24334a;padding:13px;font-size:11px;border-radius:5px}.mini-cards span{display:block;font-size:8px;color:#7592ba;margin-bottom:12px}.base{position:absolute;width:100%;height:420px;top:100%;transform-origin:center top;transform:rotateX(88deg);background:linear-gradient(100deg,#7f90a8,#d9e1ed 25%,#66758d 90%);border-radius:5px 5px 23px 23px;border:3px solid #a0aec1;box-shadow:0 8px 0 #3f4c60;backface-visibility:visible}.keyboard{width:86%;height:48%;margin:30px auto 0;border:8px solid #78879b;border-radius:10px;background:repeating-linear-gradient(0deg,transparent 0 27px,#768599 28px 33px),repeating-linear-gradient(90deg,#182333 0 30px,#768599 31px 37px)}.trackpad{width:34%;height:28%;margin:23px auto;border:1px solid #59697e;border-radius:8px;background:#a2afc0}.hero-description{position:absolute;width:100%;text-align:center;bottom:12%;pointer-events:none}.hero-description p{font-size:clamp(23px,3vw,38px);margin:0 0 4px;font-weight:500;letter-spacing:-1px}.hero-description span{font-size:clamp(12px,1.45vw,19px);color:#a3b4cc}.scroll-cue{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);text-align:center;font-size:9px;letter-spacing:2px;color:#a7b9d4}.line{height:28px;width:1px;background:#32425a;margin:10px auto 0;overflow:hidden}.line i{display:block;width:1px;height:12px;background:#c2dcff;animation:scroll 1.8s infinite}.sequence-count{position:absolute;bottom:5%;right:6%;font-size:11px;letter-spacing:3px;color:#70829c}.sequence-count span{color:#d9eaff}@keyframes scroll{from{transform:translateY(-12px)}to{transform:translateY(35px)}}main{position:relative;background:var(--bg);margin-top:-1px}.wrap{width:88%;max-width:1220px;margin:auto}.welcome{padding-top:100px;padding-bottom:120px}.eyebrow{font-size:10px;letter-spacing:2.3px;color:#9ebde5;font-weight:600;margin-bottom:24px}h1{font-size:clamp(48px,7vw,96px);line-height:1.07;letter-spacing:-.055em;font-weight:500;margin:0 0 44px}h2{font-size:clamp(32px,4vw,52px);line-height:1.13;letter-spacing:-.045em;font-weight:500;margin:0}h3,h4{font-weight:500}p{color:var(--muted)}.welcome-bottom{display:flex;align-items:flex-end;justify-content:space-between}.welcome p{font-size:17px;line-height:1.8;margin:0}.text-link{font-size:13px;border:0;border-bottom:1px solid #607b9e;padding:10px 0;background:none;display:inline-block}.text-link span{margin-left:50px}.section{padding-top:100px;padding-bottom:100px;border-top:1px solid #ffffff10}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:48px;gap:30px}.section-heading p{font-size:13px;line-height:1.8;margin:0}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{position:relative;text-align:left;min-width:0;padding:28px;background:linear-gradient(145deg,#17253c,#0c1422);border:1px solid #28364b;border-radius:13px;overflow:hidden;transition:transform .3s,border-color .3s}.project:hover{transform:translateY(-7px);border-color:#789cc8}.project-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.4px;color:#a7bddb}.project-meta span{font-size:20px}.project-visual{height:180px;display:flex;align-items:center;justify-content:center;position:relative}.code-symbol{font-family:monospace;font-size:90px;letter-spacing:10px;color:#90baff;text-shadow:0 0 40px #5d9dff44}.code-symbol i{font-style:normal;font-size:55px;color:#e3ecfa}.orb{height:110px;width:110px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#d9dfea,#8b9fbf 20%,#2b3e60 50%,#0e1729 75%);box-shadow:10px 15px 35px #0007,inset -10px -5px 20px #abc9ff44}.wish-symbol{font-size:145px;font-weight:100;color:#bdd5f8;text-shadow:0 0 40px #abcfff33}.project h3{font-size:25px;letter-spacing:-.7px;margin:0 0 10px}.project p{line-height:1.5;font-size:15px;min-height:48px}.project-bottom{display:flex;justify-content:space-between;margin-top:33px;padding-top:20px;border-top:1px solid #ffffff15;font-size:10px;color:#adbed5}.project-bottom b{font-weight:400;color:#587498}.disclosure{font-size:10px;color:#64758e;margin-top:20px}.engineering{background:linear-gradient(#0b111d,#080c16)}.demo{border:1px solid #26364e;border-radius:14px;padding:28px;background:#0d1523}.demo-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.6px;color:#a9bedb}.demo-tag{color:#637b9c;font-size:8px}.nodes{display:flex;align-items:center;gap:20px;margin:44px 0}.node{flex:1;padding:20px;border:1px solid #28364b;border-radius:8px;transition:.25s}.node span{font-size:9px;color:#6684aa}.node b{display:block;font-size:18px;font-weight:500;margin:12px 0 3px}.node small{font-size:11px;color:#8295b0}.nodes i{font-style:normal;color:#465f80}.node.active{border-color:#a9cfff;box-shadow:0 0 24px #729bda18;background:#172740}.node.error{border-color:#d4a4b4}.demo-controls{display:flex;justify-content:space-between;align-items:center;gap:16px}.demo label{font-size:11px;color:#91a2bb}.demo select{display:block;background:#101c2e;border:1px solid #334762;color:#c2d3ea;padding:9px 35px 9px 12px;border-radius:5px;margin-top:5px;font-size:12px}.primary{border:0;background:#c8dfff;color:#14233a;padding:12px 20px;border-radius:30px;font-size:12px}.primary span{margin-left:35px}output{display:block;margin-top:24px;font:11px/1.6 monospace;color:#92abc9;min-height:18px}.skills{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:50px}.skills span{font-size:9px;letter-spacing:2px;color:#6887b0}.skills h3{font-size:19px;margin:12px 0}.skills p{font-size:13px;line-height:1.9}.job{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;padding:36px 0;border-top:1px solid #ffffff15}.job span{font-size:10px;color:#738eaf;letter-spacing:1px}.job h3{font-size:28px;margin:10px 0}.job h4{font-size:17px;margin:3px 0 12px}.job p{font-size:14px;line-height:1.9;max-width:600px}.about{display:grid;grid-template-columns:1.5fr 1fr;gap:100px}.about>div>p{font-size:15px;max-width:580px;line-height:1.9;margin-top:28px}.about .education{font-size:12px}.about aside{border:1px solid #26364e;border-radius:12px;padding:30px;background:#101a2a}.about aside>span{font-size:9px;letter-spacing:2px;color:#8aa9d2}.about aside h3{font-size:26px;line-height:1.3;margin:18px 0}.about aside p{font-size:12px}.guide-q{display:block;width:100%;text-align:left;padding:13px 0;background:none;border:0;border-top:1px solid #28374e;font-size:12px}.guide-q:hover{color:#a9cfff}footer{padding:75px 0 45px;border-top:1px solid #ffffff15;display:flex;justify-content:space-between;gap:30px}footer h2{font-size:34px}.footer-note{font-size:13px;max-width:290px;padding-top:40px}.footer-note span{font-size:10px;color:#70839e;display:block;margin:10px 0}.replay{margin-top:20px}dialog{background:#101a2a;color:#e3ecfa;border:1px solid #405675;border-radius:15px;padding:50px;max-width:600px;width:90%;box-shadow:0 30px 150px #000a}dialog::backdrop{background:#030710c9;backdrop-filter:blur(10px)}dialog h2{font-size:42px}dialog p,dialog li{font-size:14px;color:#9eafc7}dialog h3{font-size:16px;margin-top:30px}.close{position:absolute;right:15px;top:12px;background:none;border:0;font-size:30px;color:#94aac6}.motion-off .intro{display:none}.motion-off .welcome{padding-top:145px}@media(max-width:760px){.topbar{height:76px;padding:0 6%}.wordmark{font-size:15px}.wordmark span{font-size:6px}nav{gap:0}nav>a{display:none}.skip{font-size:10px;padding:8px 13px}.skip span{margin-left:8px}.intro{height:340vh}.hero-name{top:29%;font-size:14.5vw}.laptop{top:48%;width:540px;height:350px}.base{height:350px}.hero-description{bottom:20%;padding:0 30px}.hero-description span{display:block;font-size:12px;max-width:250px;margin:auto}.scene{perspective:1200px}.sequence-count{bottom:5%}.welcome{padding-top:115px;padding-bottom:75px}.welcome-bottom,.section-heading{display:block}.welcome-bottom .text-link{margin-top:25px}.section-heading p{margin-top:25px}.section{padding-top:70px;padding-bottom:70px}.projects{grid-template-columns:1fr}.project{padding:25px}.project-visual{height:140px}.project p{min-height:0}.project-bottom{margin-top:22px}.demo{padding:20px}.demo-tag{max-width:90px;text-align:right}.nodes{gap:7px;margin:30px 0}.node{padding:11px 7px}.node b{font-size:12px}.node small{font-size:8px}.nodes i{font-size:10px}.node span{font-size:8px}.demo-controls{align-items:flex-end}.demo select{font-size:10px;padding:10px 5px;max-width:160px}.primary{font-size:10px;padding:11px 15px}.primary span{margin-left:10px}.skills{grid-template-columns:1fr;gap:15px}.skills>div{border-bottom:1px solid #ffffff10;padding-bottom:18px}.skills p{margin-bottom:0}.job{grid-template-columns:1fr;gap:15px}.job h3{margin-bottom:0}.about{grid-template-columns:1fr;gap:35px}footer{display:block}footer h2{font-size:29px}.footer-note{padding-top:30px}dialog{padding:40px 25px}.mini-cards{margin-top:12px}.screen-content{padding:15px 24px}.screen h2{font-size:35px}.mini-nav{margin-bottom:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro{display:none}.welcome{padding-top:145px}}

.enhanced main{margin-top:-100vh;z-index:3}.portal{position:absolute;inset:0;background:#080c16;opacity:0;pointer-events:none;transform-origin:50% 45%;will-change:opacity,transform}.portal .welcome{padding-top:100px}.motion-off main{margin-top:0}.motion-off .portal{display:none}@media(max-width:760px){.portal .welcome{padding-top:115px}}@media(prefers-reduced-motion:reduce){.enhanced main{margin-top:0}}

/* One persistent 3D laptop from side profile through the screen handoff. */
.scene{opacity:1;z-index:3;perspective:2200px;perspective-origin:50% 65%}.ambient{z-index:0}.hero-name{display:block;z-index:1;top:22%;font-size:clamp(65px,15vw,200px)}.hero-description{display:block;z-index:3;bottom:13%}.laptop{top:0;left:0;transform-origin:50% 100%;transform-style:preserve-3d}.portal{z-index:5;background:#000}.screen-content,main,.engineering{background:#000}.entered .topbar{background:#000e}.scroll-cue,.sequence-count{z-index:6}.topbar{background:#080c16e8}.stage{height:100svh}.intro{height:440svh}.enhanced main{margin-top:-100svh}.script-warning{position:fixed;bottom:0;left:0;width:100%;padding:14px;background:#21314a;text-align:center;z-index:40}.screen{background:#000;border-color:#a5b0bf;box-shadow:0 0 2px 2px #edf4ff88,0 0 90px #87baff28}.lid-back{background:linear-gradient(100deg,#657389,#dae3ef 2%,#8190a2 30%,#e3e9f2 80%,#78879c);backface-visibility:visible}.base{box-shadow:0 8px 0 #5a687e,0 11px 1px #e7efff66}.base:after{content:"";position:absolute;bottom:-8px;left:15%;width:28%;height:5px;border-radius:5px;background:repeating-linear-gradient(90deg,#172132 0 18px,#9ba9bd 19px 42px)}
@media(max-width:760px){.intro{height:340svh}.hero-name{top:30%;font-size:15vw}.hero-description{top:72%;bottom:auto}.hero-description p{font-size:23px}.hero-description span{font-size:12px}.scroll-cue,.sequence-count{bottom:6%}.scene{perspective:1500px;perspective-origin:50% 65%}.stage:after{display:none}.portal{z-index:5}}
@media(prefers-reduced-motion:reduce){.enhanced main{margin-top:0}}
.lid:before{content:"";position:absolute;left:0;top:0;width:7px;height:100%;background:linear-gradient(90deg,#4c5c70,#e5edf8 35%,#9fadc1);transform-origin:left center;transform:rotateY(-90deg);border-radius:4px;backface-visibility:visible}.base{transform-style:preserve-3d}.base:before{content:"";position:absolute;top:0;left:0;width:8px;height:100%;background:linear-gradient(90deg,#475368,#eff4fb 35%,#8796ab 80%);transform-origin:left center;transform:rotateY(-90deg);border-radius:3px}
.lid:before{width:3.5px}.base:before{background:linear-gradient(0deg,transparent 0 58%,#182130 58% 61%,transparent 61% 68%,#182130 68% 71%,transparent 71% 78%,#182130 78% 82%,transparent 82%),linear-gradient(90deg,#475368,#eff4fb 35%,#8796ab 80%)}
@media(max-width:760px){.hero-description{top:58%}}
/* Physical aluminium model; the CSS model is retained only as a WebGL fallback. */
.laptop-render{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}.webgl-ready .scene{display:none}.hero-name{color:#17253b;text-shadow:0 -1px 0 #53678666;background:linear-gradient(158deg,#17253b 0 50%,#1c2e48 54%,#7ba8df 58%,#a9d5ff 60%,#41658d 64%,#1b2c45 71%);background-clip:text;-webkit-text-fill-color:transparent}.hero-name span{background:none;-webkit-text-fill-color:inherit}.hero-name:after{content:"";position:absolute;inset:0;pointer-events:none}
/* Responsive artboard keeps name, screen light and hardware in one coordinate system. */
.hero-artboard{position:absolute;left:50%;top:50%;width:min(96vw,144svh);aspect-ratio:1.6;transform:translate(-50%,-50%);container-type:inline-size;z-index:3}.hero-artboard .hero-name{top:22%;left:0;width:100%;font-size:15cqw;line-height:.91;z-index:1}.laptop-sequence{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;transform-origin:center}.sequence-ready .scene{display:none}.hero-description,.scroll-cue,.sequence-count{display:none!important}.topbar{opacity:0;visibility:hidden;pointer-events:none}.entered .topbar,.motion-off .topbar{opacity:1;visibility:visible;pointer-events:auto}.stage{background:#080c16}.portal{z-index:8}.hero-artboard .hero-name{background:linear-gradient(158deg,#142137 0 48%,#192a43 52%,#6188b9 57%,#b4ddff 59%,#4b7199 62%,#1a2b45 68%);background-clip:text;-webkit-text-fill-color:transparent}.hero-artboard .hero-name span{background:none;-webkit-text-fill-color:inherit}.ambient:before{display:none}@media(max-height:500px) and (orientation:landscape){.hero-artboard{width:140svh}.topbar{height:58px}.welcome{padding-top:85px}.portal .welcome{padding-top:85px}.intro{height:500svh}.hero-artboard .hero-name{font-size:15cqw}}@media(prefers-reduced-motion:reduce){.topbar{opacity:1;visibility:visible;pointer-events:auto}}@supports not (font-size:1cqw){.hero-artboard .hero-name{font-size:min(14.4vw,21.6vh)}}

.sequence-enabled .scene{display:none}
/* V4: precision-machined CSS laptop, continuing the original V2 geometry. */
.hero-artboard .scene{z-index:3;overflow:visible}
.lid:before{width:3px;background:linear-gradient(90deg,#101d30,#c7e5ff 30%,#6e8ca8 56%,#182d43 90%);box-shadow:0 0 1px #c7e5ff;border-radius:2px}
.lid-back{border-radius:14px;background:linear-gradient(125deg,#324457,#91a8bd 3%,#26394c 6%,#526a80 50%,#1b2d40 95%,#a0b6c9);transform:translateZ(-3px)}
.screen{border:1.5px solid #9aafc2;border-radius:14px;padding:10px;background:#030609;box-shadow:0 0 0 1px #152439,0 1px 2px #b7d5eb66,0 0 45px #8ac5ff15}
.screen:after{content:"";position:absolute;inset:1px;border-radius:12px;pointer-events:none;background:linear-gradient(145deg,#e2f1ff0a,transparent 35%);box-shadow:inset 0 0 0 1px #ffffff0b}
.camera{top:4px;width:3px;height:3px;background:#172c3c;box-shadow:0 0 0 2px #020407}
.base{border:1px solid #9eb1c1;border-radius:4px 4px 15px 15px;background:linear-gradient(115deg,#283c50,#7991a6 24%,#465e73 55%,#263b50 88%,#768da1);box-shadow:0 3px 0 #152336,0 4px 0 #7996af,0 5px 1px #07101a}
.base:before{width:5px;background:linear-gradient(0deg,transparent 0 63%,#0a1422 63% 65%,transparent 65% 74%,#0a1422 74% 76%,transparent 76%),linear-gradient(90deg,#132338,#b8d2e5 22%,#527087 65%,#172b40);border-radius:2px}
.base:after{bottom:-3px;left:42%;width:16%;height:2px;background:#0c1b2b;border-radius:0 0 4px 4px}
.keyboard{width:82%;height:44%;margin:25px auto 0;border:5px solid #223549;border-radius:7px;background:repeating-linear-gradient(0deg,transparent 0 24px,#5f778d 25px 29px),repeating-linear-gradient(90deg,#080f19 0 29px,#5f778d 30px 34px);box-shadow:inset 0 2px 3px #0008,0 1px 0 #b7cee333}
.trackpad{width:34%;height:29%;margin:20px auto;border:1px solid #233d54;border-radius:5px;background:linear-gradient(135deg,#577187,#3f596f);box-shadow:0 1px 0 #b5c9d333}
.base:before{width:7px;background:linear-gradient(90deg,#17293c,#bdd3e4 16%,#6d8ba5 35%,#304b63 75%,#15283a);box-shadow:inset 0 0 0 1px #8ca9bf55}
.lid:before{width:4px}
.screen-content{transition:opacity .08s linear}
.lid-back{visibility:hidden}.keyboard,.trackpad{transform:translateZ(.4px)}
.face-on .base{transform-style:flat}.face-on .base:before{display:none}.face-on .keyboard,.face-on .trackpad{transform:none}
.face-on .lid:before{display:none}
/* V5: screen-led light on a true-black stage. */
body,.stage{background:#000}.ambient{background:radial-gradient(ellipse at 50% 62%,#142b461c,transparent 48%)}
.hero-artboard .hero-name{background:linear-gradient(158deg,#1b2738 0 42%,#324b68 49%,#83b9ea 56%,#d8eeff 59%,#7caed7 62%,#293e57 70%,#182535 100%);background-clip:text;-webkit-background-clip:text;text-shadow:none}
.hero-artboard .hero-name:after{content:attr(data-name);white-space:pre;inset:0;text-align:center;font:inherit;letter-spacing:inherit;line-height:inherit;background:linear-gradient(110deg,transparent 39%,#aedbff00 44%,#d7eeff99 49%,#f1faffcc 51%,#9ed8ff00 57%,transparent 62%);background-size:260% 100%;background-position:150% 0;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;opacity:.5;animation:letter-light 9s ease-in-out infinite;filter:drop-shadow(0 0 5px #79bdff33)}
@keyframes letter-light{0%,18%{background-position:150% 0;opacity:0}25%{opacity:.5}70%{opacity:.5}82%,100%{background-position:-60% 0;opacity:0}}
.screen{box-shadow:0 0 0 1px #182738,0 1px 2px #c6e6ff88,0 0 24px #a2d9ff25,0 0 60px #8cc9ff13}
.screen:before{content:"";position:absolute;inset:11px;border-radius:5px;background:linear-gradient(155deg,#c7e8ff,#7caed8 38%,#233d58);opacity:1;pointer-events:none;transition:opacity .4s linear}
.face-on .screen:before{opacity:0}
@media(prefers-reduced-motion:reduce){.hero-artboard .hero-name:after{animation:none;opacity:0}}
/* V6: natural display and a continuous, slower reflected-light drift. */
.screen:before{opacity:.16;background:linear-gradient(155deg,#7594ad,#263e52 45%,#080e16)}
.face-on .screen:before{opacity:0}
.screen{box-shadow:0 0 0 1px #182738,0 1px 2px #9ebbd044,0 0 22px #8cc9ff0b}
.hero-artboard .hero-name:after{animation:letter-light-drift 18s ease-in-out infinite alternate;opacity:.38;background-position:80% 0}
@keyframes letter-light-drift{from{background-position:80% 0}to{background-position:20% 0}}
@media(prefers-reduced-motion:reduce){.hero-artboard .hero-name:after{animation:none;opacity:0}}
/* V7: legible moving reflection, with the natural laptop screen unchanged. */
.hero-artboard .hero-name:after{background-image:linear-gradient(110deg,transparent 36%,#8ccfff22 42%,#c5eaffbb 47%,#f3fbff 50%,#c5eaffbb 53%,#8ccfff22 58%,transparent 64%);opacity:.86;filter:drop-shadow(0 0 8px #8acbff55);animation:letter-light-visible 14s ease-in-out infinite alternate}
@keyframes letter-light-visible{from{background-position:80% 0}to{background-position:20% 0}}
@media(prefers-reduced-motion:reduce){.hero-artboard .hero-name:after{animation:none;opacity:0}}
/* V8: dark lettering with a narrow travelling reflection, never a full-name pulse. */
.hero-artboard .hero-name{background:none;color:#14202e;-webkit-text-fill-color:#14202e;text-shadow:none}
.hero-artboard .hero-name span{-webkit-text-fill-color:inherit}
.hero-artboard .hero-name:after{background-image:linear-gradient(110deg,transparent 44%,#88bde222 46%,#b9e3ffcc 48%,#effaff 50%,#b9e3ffcc 52%,#88bde222 54%,transparent 56%);background-size:200% 100%;-webkit-text-fill-color:transparent;opacity:.94;filter:drop-shadow(0 0 5px #90cfff33);animation:letter-light-local 14s ease-in-out infinite alternate}
@keyframes letter-light-local{from{background-position:76% 0}to{background-position:24% 0}}
@media(prefers-reduced-motion:reduce){.hero-artboard .hero-name{color:#71869f;-webkit-text-fill-color:#71869f}.hero-artboard .hero-name:after{animation:none;opacity:0}}
/* V9: a slightly lighter base and refined contemporary display typography. */
.hero-artboard .hero-name{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:700;letter-spacing:-.055em;color:#2b3b50;-webkit-text-fill-color:#2b3b50}
.hero-artboard .hero-name:after{font-family:inherit;font-weight:inherit;letter-spacing:inherit;-webkit-text-fill-color:transparent}
@media(prefers-reduced-motion:reduce){.hero-artboard .hero-name{color:#71869f;-webkit-text-fill-color:#71869f}}
/* V10: clear reference-inspired introduction inside the laptop experience. */
main,.portal{font-family:"Helvetica Neue",Arial,sans-serif;color:#f4f6fa;--muted:#aeb6c1}
.profile-heading{font-size:clamp(40px,5.4vw,72px);font-weight:700;letter-spacing:-.035em;line-height:1.15;margin-bottom:30px}
.profile-heading>span{display:inline-block;font-size:clamp(14px,1.6vw,20px);font-weight:500;letter-spacing:0;color:#929ca9;margin-left:22px;vertical-align:middle}
.type-intro{margin-bottom:42px}.type-line{font-size:clamp(25px,3.1vw,42px);line-height:1.6;font-weight:400;letter-spacing:-.02em;min-height:2.9em;max-width:100%;color:#f3f6fa}
.typed-role{color:#15d65b;border-bottom:2px solid #137c38;padding-bottom:8px;overflow-wrap:anywhere}.type-cursor{color:#f3f6fa;margin-left:2px;animation:type-blink 1s steps(1) infinite}
@keyframes type-blink{50%{opacity:0}}
.typing-toggle{display:block;padding:0;background:none;border:0;color:#8693a3;font-size:11px;margin-top:4px}.typing-toggle:hover{color:#e5edf7}
.typing-paused .type-cursor{animation:none;opacity:1}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.profile-heading>span{display:block;margin:10px 0 0}.type-line{font-size:26px;min-height:4.8em;line-height:1.7}.type-intro{margin-bottom:28px}.welcome p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.type-cursor{animation:none}.typing-toggle{display:none}}
.entered .intro{pointer-events:none}
/* V13: dimensional About studio, readable content remains in document flow. */
.about.about-studio{display:grid;grid-template-columns:.9fr 1.15fr;gap:7%;align-items:start;padding-bottom:100px}.avatar-column{text-align:center;position:relative}.avatar-column .eyebrow{margin-bottom:22px}.avatar-column .hello{font-size:20px;margin:0;color:#bac6da}.avatar-column h2{font:700 clamp(34px,3.5vw,52px)/1.12 "Helvetica Neue",Arial,sans-serif;color:#eef4ff;margin-top:10px}.avatar-stage{position:relative;height:380px;margin:12px 0 0;perspective:900px;isolation:isolate}.avatar-halo{position:absolute;inset:3% -5% 0;background:radial-gradient(ellipse,#224cd380,#1e25b030 42%,transparent 70%);filter:blur(20px);z-index:-1}.avatar-button{display:block;position:absolute;inset:0;width:100%;border:0;padding:0;background:transparent;perspective:900px}.avatar-rig{position:relative;display:block;width:230px;height:300px;margin:auto;transform-style:preserve-3d;transition:transform .2s ease-out}.avatar-head{position:absolute;left:36px;top:16px;width:158px;height:180px;border-radius:48% 48% 44% 44%;background:radial-gradient(ellipse at 25% 20%,#d3e7ff,#748eac 23%,#293f61 65%,#0c172c 95%);box-shadow:inset -5px -3px 8px #071323,inset 2px 2px 3px #e0efffaa,10px 16px 30px #0007;transform:translateZ(35px)}.avatar-visor{position:absolute;top:55px;left:13px;right:13px;height:84px;background:linear-gradient(135deg,#0b2031,#02070f 70%);border-radius:35px 35px 31px 31px;box-shadow:inset 0 2px 3px #d3e8ff44,0 1px 0 #cce1ff44;display:flex;justify-content:center;gap:24px;padding-top:26px}.avatar-eye{width:17px;height:12px;border-radius:8px;background:#9bdaff;box-shadow:0 0 12px #72c5ff88;animation:avatar-blink 6s infinite}.avatar-mouth{position:absolute;left:48%;bottom:17px;width:12px;height:3px;background:#8dbbe3;border-radius:50%}.avatar-ear{position:absolute;top:69px;width:15px;height:47px;background:linear-gradient(90deg,#1c2a40,#7f9dbb,#263b57);border-radius:9px;z-index:-1}.avatar-ear.left{left:-9px}.avatar-ear.right{right:-9px}.avatar-neck{position:absolute;top:172px;left:91px;width:48px;height:50px;background:linear-gradient(90deg,#101d32,#697e9a,#16273f);border-radius:15px}.avatar-body{position:absolute;top:202px;left:5px;width:220px;height:103px;border-radius:90px 90px 20px 20px;background:linear-gradient(120deg,#526681,#172338 44%,#08101f);box-shadow:inset 2px 2px 2px #bddcff44,0 20px 25px #0006;transform:translateZ(8px)}.avatar-badge{position:absolute;top:241px;left:99px;font:600 13px monospace;letter-spacing:2px;color:#abc6e9;transform:translateZ(18px)}.avatar-hint{position:absolute;bottom:9px;left:0;width:100%;font-size:11px;color:#8395ac;pointer-events:none}.avatar-caption{font-size:14px!important;line-height:1.65!important;min-height:70px;color:#cad7ea!important;margin:12px auto!important;max-width:340px}.avatar-controls{display:flex;gap:10px;justify-content:center}.avatar-controls button{font-size:12px;border:1px solid #34435b;padding:8px 13px;background:#101827;border-radius:20px}.concept-note{font-size:10px!important;line-height:1.6!important;color:#718096!important;margin-top:14px!important}.about-details h3{font-size:26px;color:#e8edf7;margin:0 0 14px;letter-spacing:-.6px}.about-details p{font-size:14px;line-height:1.8;color:#9baabd;margin:0 0 15px}.about-details strong{font-weight:500;color:#d9e4f4}.about-details small{color:#7790af}.bio-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:27px 0}.toolkit{display:flex;flex-wrap:wrap;gap:20px}.toolkit>span{display:flex;flex-direction:column;align-items:center;gap:7px;color:#9eaec2;font-size:10px}.toolkit b{display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff18;border-radius:10px;background:#0e1422;box-shadow:0 8px 15px #0007;font-size:17px;transform:perspective(500px) rotateY(-9deg)}.purple{color:#a691ff}.red{color:#e7798d}.cyan{color:#79d4ed}.blue,.azure{color:#79b6f6}.slate{color:#b8c7de}.about-studio .avatar-guide{background:transparent;border:0;border-top:1px solid #26334b;border-radius:0;padding:25px 0 0;margin-top:28px}.avatar-topics{display:flex;flex-wrap:wrap;gap:9px}.avatar-topics .guide-q{width:auto;padding:9px 12px;border:1px solid #283953;border-radius:7px;font-size:11px;background:#0c1421}.greeting .avatar-mouth{animation:avatar-talk .28s infinite alternate}.greeting .avatar-head{filter:brightness(1.12)}@keyframes avatar-blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.1)}}@keyframes avatar-talk{to{height:8px;width:14px}}@media(max-width:800px){.about.about-studio{grid-template-columns:1fr;gap:50px}.avatar-stage{height:340px}.avatar-column{max-width:480px;margin:auto}.about-details{min-width:0}.bio-grid{gap:15px}.toolkit{gap:16px}.about-details h3{font-size:24px}}@media(prefers-reduced-motion:reduce){.avatar-eye,.greeting .avatar-mouth{animation:none}.avatar-rig,.project{transition:none!important;transform:none!important}}


/* Local salvaged head rig: progressively enhanced, lazy loaded. */
.avatar-stage{height:auto;aspect-ratio:1/1.12;min-height:320px}.avatar-button{bottom:30px;height:calc(100% - 30px)}.avatar-poster{display:block!important;width:100%;height:100%;margin:0;transform:none!important}.avatar-poster img{width:100%;height:100%;object-fit:contain;border-radius:14px}.avatar-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.avatar-ready .avatar-poster{visibility:hidden}.avatar-hint{bottom:0}.avatar-halo{display:none}.avatar-caption{min-height:80px}@media(max-width:800px){.avatar-stage{width:min(100%,440px);margin:20px auto 0}.avatar-column{width:100%}}
/* Reference-led inside-screen profile: white typography, black and electric blue. */
main #about{padding-top:108px;border-top:0;grid-template-columns:1fr 1.12fr;gap:6%;font-family:Arial,"Helvetica Neue",sans-serif}
#about .avatar-column{position:sticky;top:108px;overflow:hidden}
#about .hello{font-size:24px;color:#eeeaf7;margin:0 0 7px}
#about .avatar-column h1{font-size:clamp(36px,4.4vw,64px);font-weight:700;letter-spacing:-.035em;line-height:1.1;margin:0;position:relative;z-index:2}
#about .avatar-stage{margin:0;min-height:0;aspect-ratio:1/1.04;overflow:hidden}
#about .avatar-halo{display:block;inset:0 -10% -8%;filter:blur(18px);background:radial-gradient(ellipse at 55% 43%,#392cffa6 0,#1628dd99 30%,#0739bc44 53%,transparent 73%)}
#about .avatar-poster img{border-radius:0;object-fit:contain;mask-image:linear-gradient(#000 0 83%,transparent 100%)}
#about .avatar-canvas{mask-image:linear-gradient(#000 0 83%,transparent 100%)}
#about .avatar-caption{min-height:46px;font-size:13px!important;margin:7px auto!important}
#about .about-details h3{font-size:clamp(26px,2.55vw,36px);font-weight:400;color:#eeeaf7;margin-bottom:12px;letter-spacing:-.035em}
#about .about-details p{color:#c3c0cf;font-size:14px;line-height:1.75}
#about .about-details strong{color:#f0edf7}#about .about-details small{color:#9e9aaa}
#about .bio-grid{margin:25px 0;gap:24px}
#about .toolkit{gap:14px}#about .toolkit b{background:#10101c;border-color:#69608033;box-shadow:none}
#about .type-intro{margin:28px 0 0}#about .type-line{font-size:22px;min-height:3.2em}.contact-tiles{display:flex;gap:12px;margin-top:26px}.contact-tiles button{position:relative;display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:14px 12px;background:linear-gradient(125deg,#1b1b28,#09090e);border:1px solid #696878;border-radius:5px;color:#dedce7;opacity:.8;cursor:not-allowed;text-align:left}.contact-tiles b{font-size:25px;line-height:1}.contact-tiles span{font-size:10px}.contact-tiles i{position:absolute;right:7px;top:2px;font-style:normal;font-size:13px}.about-details .contact-pending{font-size:10px!important;color:#9e99af!important;margin-top:9px!important}
#about .avatar-controls button{background:#12121c;border-color:#454152}#about .concept-note{color:#a29aad!important;font-size:10px!important}
@media(max-width:800px){main #about{grid-template-columns:1fr;padding-top:88px;gap:36px}#about .avatar-column{position:relative;top:auto;max-width:460px}#about .avatar-column h1{font-size:clamp(36px,8vw,54px)}#about .avatar-stage{max-height:470px}#about .about-details h3{font-size:29px}#about .type-line{font-size:21px;min-height:3.2em}}
@media(max-width:380px){#about .bio-grid{grid-template-columns:1fr}.contact-tiles span{display:none}}
@media(orientation:landscape) and (max-height:600px) and (min-width:700px){#about .avatar-column{position:relative;top:0}main #about{padding-top:95px;gap:4%}#about .avatar-column h1{font-size:36px}}

.portal-profile{display:grid;grid-template-columns:1fr 1.12fr;gap:6%;padding-top:108px}.portal-profile>div:first-child{text-align:center;background:radial-gradient(ellipse,#2228c477,transparent 70%)}.portal-profile h1{font-size:clamp(36px,4.4vw,64px);font-weight:700;margin:0}.portal-profile img{width:90%;max-height:450px;object-fit:contain;mask-image:linear-gradient(#000 0 75%,transparent)}.portal-profile h2{font-size:32px}.portal-profile p{font-size:14px}.portal-profile>div:first-child>p{font-size:24px;color:white;margin:0}.avatar-poster img,.avatar-canvas{mask-image:linear-gradient(#000 0 70%,transparent 100%)!important}@media(max-width:800px){.portal-profile{grid-template-columns:1fr;padding-top:88px}.portal-profile>div:nth-child(2){display:none}}
/* V15: studio light, not a blue portrait tile. The halo spills softly into black. */
#about{isolation:isolate}
#about .avatar-column{overflow:visible;isolation:isolate}
#about .avatar-stage{overflow:visible;isolation:isolate}
#about .avatar-halo{inset:-18% -24% -9%;z-index:-1;filter:blur(28px);opacity:.9;background:radial-gradient(ellipse 35% 38% at 64% 39%,#2524dfba 0%,#151aa56b 40%,transparent 76%),radial-gradient(ellipse 24% 40% at 31% 53%,#0759b48c 0%,#05275c40 50%,transparent 85%);mask-image:radial-gradient(ellipse 65% 56% at 50% 46%,#000 35%,transparent 100%)}
#about .avatar-poster img,#about .avatar-canvas{filter:brightness(.8) saturate(.85);mask-image:linear-gradient(#000 0 64%,transparent 97%)!important}
#about .avatar-column h1{color:#e5e3f0;text-shadow:none}
#about .hello{color:#c7c4d6;font-weight:400}
#about .about-details h3{color:#dedbe9;text-shadow:none}
#about .about-details p{color:#b6b2c6;font-weight:400}
#about .about-details strong{color:#d7d3e2;font-weight:400}
#about .about-details small{color:#9995aa}
#about .toolkit b{background:#0a0b14;border-color:#59546b25}
#about .contact-tiles button{background:linear-gradient(125deg,#15141d99,#07070b66);color:#c5c1d3;border-color:#55515f}
.portal-profile>div:first-child{position:relative;isolation:isolate;background:none}
.portal-profile>div:first-child:before{content:"";position:absolute;z-index:-1;inset:12% -15% 0;pointer-events:none;filter:blur(28px);background:radial-gradient(ellipse 37% 40% at 64% 40%,#2524dfaa,transparent 82%),radial-gradient(ellipse 27% 39% at 31% 53%,#0759b477,transparent 85%)}
.portal-profile img{filter:brightness(.8) saturate(.85)}
.portal-profile h1{color:#e5e3f0}.portal-profile>div:first-child>p{color:#c7c4d6}.portal-profile h2{color:#dedbe9}.portal-profile p{color:#b6b2c6}
@media(max-width:800px){#about .avatar-halo{inset:-14% -13% -7%;filter:blur(22px)}}
/* V16: photographic portrait, not a rendered or cursor-tracked 3D avatar. */
#about .avatar-poster img{filter:brightness(.96) saturate(.94);object-fit:contain;mask-image:linear-gradient(#000 0 76%,transparent 100%)!important}
#about .avatar-rig{transform:none!important;transition:none!important}.portal-profile img{filter:brightness(.96) saturate(.94)}
#about .avatar-button:hover{filter:brightness(1.025)}#about .avatar-button:focus-visible{outline:2px solid #a9cfff;outline-offset:3px;border-radius:12px}
@media(prefers-reduced-motion:reduce){#about .avatar-button{transition:none}}

/* Decorative glow must not create sideways scrolling on narrow screens. */
main{overflow-x:clip}

/* Awaiting new direction: no portrait, avatar or picture elements. */
#about .avatar-column{position:relative;top:0;min-height:0;text-align:left}#about .avatar-column h1{margin-top:10px}.portal-profile>div:first-child:before{display:none}
/* City journey vertical slice. Original architecture; no portrait or character assets. */
.city-nav{display:none}.city-enabled .original-nav{display:none}.city-enabled .city-nav{display:flex;gap:24px}.city-nav button{border:0;background:none;color:#eae3d9;font-size:12px;padding:12px 0;position:relative}.city-nav button[aria-current="location"]:after{content:"";height:1px;background:#e8d2b6;position:absolute;bottom:4px;left:0;right:0}.city-nav .reading-toggle{border:1px solid #d6c9b33d;border-radius:30px;padding:9px 16px}.city-enabled.entered .topbar{background:linear-gradient(#1423329c,#14233200);backdrop-filter:none;border:0}.city-enabled .wordmark{color:#fff4e6}.city-enabled .wordmark span{color:#ded3c4}
.city-enabled .reading-view{display:none}.journey-spacer{display:none}.city-enabled .journey-spacer{display:block;height:420vh;height:420svh}.city-enabled main{overflow:visible;background:#192b3c}.city-portal{position:fixed!important;inset:0!important;width:100%!important;height:100vh!important;height:100svh!important;z-index:10!important;padding:0!important;background:#283c50!important;overflow:hidden;pointer-events:none!important;transform-origin:center center}.entered .city-portal{pointer-events:auto!important}.city-visual{position:absolute;inset:0}.city-visual canvas{display:block;width:100%;height:100%;object-fit:cover}.city-visual canvas[hidden]{display:none}.city-visual #city-fallback{position:absolute;inset:0}.city-webgl #city-fallback{display:none}.city-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#111b2c8c,transparent 27%,transparent 65%,#111b2c33),linear-gradient(90deg,#14233230,transparent 50%)}
.city-introduction{position:absolute;left:8%;top:24%;color:#fff7e9;text-shadow:0 2px 22px #25354b55;transition:opacity .6s,transform .6s;max-width:650px}.city-kicker{font:500 10px/1.5 "Helvetica Neue",Arial,sans-serif;letter-spacing:.24em;color:#f1e2ce}.city-introduction h1{font:400 clamp(48px,5.7vw,84px)/1.05 "Helvetica Neue",Arial,sans-serif;letter-spacing:-.045em;margin:22px 0 20px}.city-introduction p{color:#f0e5d8;font-size:15px;font-weight:300}.city-portal:not([data-station="arrival"]) .city-introduction{opacity:0;transform:translateY(-14px);pointer-events:none}.city-road-label{position:absolute;left:59%;top:56%;display:flex;align-items:center;flex-direction:column;gap:6px;color:#fff6e7;opacity:0;transition:opacity .5s;pointer-events:none;text-shadow:0 2px 15px #23364c}.city-road-label span{font-size:8px;letter-spacing:.2em}.city-road-label b{font-size:28px;font-weight:400;letter-spacing:-.04em}.city-road-label i{font-size:28px;font-style:normal}.city-portal[data-station="riverfront"] .city-road-label{opacity:1}.city-webgl .city-road-label{display:none}
.city-about{position:absolute;right:6%;top:50%;transform:translateY(-45%);width:min(430px,40vw);padding:32px 34px;background:#112132db;backdrop-filter:blur(20px);border:1px solid #f2ddba26;border-radius:3px;box-shadow:0 20px 70px #1825361a;color:#f6eee3;opacity:0;pointer-events:none;transition:opacity .65s,transform .65s}.city-portal[data-station="about"] .city-about{opacity:1;pointer-events:auto;transform:translateY(-50%)}.city-about h2{font-size:clamp(30px,3vw,43px);letter-spacing:-.04em;margin:18px 0}.city-about p{font-size:14px;line-height:1.85;color:#d3d9dd;margin:0 0 22px}.city-facts{border-top:1px solid #ffffff21;padding-top:20px;display:grid;gap:17px}.city-facts div{display:flex;flex-direction:column;gap:4px}.city-facts span{font-size:8px;letter-spacing:.18em;color:#a7b5c3}.city-facts strong{font-size:14px;font-weight:400;color:#f2e9dc}.city-facts small{font-size:11px;color:#b0bfcb}.city-about .city-slice-note{font-size:10px;line-height:1.7;color:#a1b3c3;margin:22px 0 14px}.city-read-more{background:none;border:0;border-bottom:1px solid #dcc6a570;padding:8px 0;font-size:11px;letter-spacing:.02em;color:#f3dfc0}
.city-bottom{position:absolute;left:6%;right:6%;bottom:5%;display:flex;align-items:center;gap:35px;color:#efe4d5}.city-bottom>div:first-child{min-width:190px}.city-bottom span{font-size:9px;letter-spacing:.16em}.city-bottom p{font-size:12px;color:#d2d9df;margin:5px 0 0}.city-progress{height:1px;background:#e6e9f52e;flex:1;max-width:230px}.city-progress span{display:block;height:1px;background:#f0d6b0;width:0}.city-return{margin-left:auto;border:0;background:none;color:#eee2ce;font-size:11px;padding:8px}.city-return:hover{color:white}#city-render-status{position:absolute;bottom:7px;right:6%;color:#d5dfeb99;font-size:9px;margin:0;pointer-events:none}.city-fallback #city-render-status{color:#f0dfc6;font-size:10px;background:#142232aa;padding:4px 8px;border-radius:3px}
.city-enabled .screen-content{padding:0;position:relative;background:#253b4f}.mini-city{width:100%;height:100%;object-fit:cover;display:block}.city-enabled .screen:before{display:none}
.reading-mode .intro,.reading-mode .city-portal,.reading-mode .journey-spacer{display:none!important}.reading-mode .reading-view{display:block}.reading-mode main{visibility:visible!important;background:#000}.reading-mode .topbar{visibility:visible!important;opacity:1!important;pointer-events:auto!important;background:#000d!important}.reading-mode .city-nav{display:flex}.reading-mode .city-nav [data-city-go]{display:none}.reading-mode .wordmark{color:#f3f4f8}
@media(max-width:760px){.city-enabled .city-nav{gap:13px}.city-nav button{font-size:10px}.city-nav button[data-city-go="0.45"]{display:none}.city-nav .reading-toggle{padding:7px 11px}.city-introduction{left:7%;right:7%;top:25%}.city-introduction h1{font-size:clamp(42px,11vw,65px)}.city-introduction p{font-size:13px}.city-kicker{font-size:8px;letter-spacing:.19em}.city-about{top:auto;bottom:110px;left:6%;right:6%;width:auto;padding:24px;transform:translateY(15px)!important;max-height:66svh;overflow:auto}.city-portal[data-station="about"] .city-about{transform:translateY(0)!important}.city-about h2{font-size:30px;margin:12px 0}.city-about p{font-size:13px;line-height:1.7;margin-bottom:16px}.city-facts{gap:12px;padding-top:13px}.city-facts strong{font-size:12px}.city-facts small{font-size:10px}.city-bottom{bottom:36px;gap:16px}.city-bottom>div:first-child{min-width:0;flex:1}.city-bottom p{font-size:10px}.city-progress{max-width:60px}.city-return{font-size:9px;max-width:95px;text-align:right;line-height:1.6}.city-bottom span{font-size:8px}.city-about .city-slice-note{font-size:9px;margin:14px 0 6px}.city-road-label{left:58%;top:55%}.city-road-label b{font-size:23px}.city-fallback #city-render-status{left:6%;right:auto;font-size:8px;bottom:8px}}
@media(orientation:landscape) and (max-height:550px){.city-introduction{top:24%;left:8%}.city-introduction h1{font-size:40px;margin:10px 0}.city-introduction p{font-size:12px}.city-about{left:auto;right:5%;top:82px;bottom:68px;width:48%;transform:none!important;padding:18px 22px;max-height:none;overflow:auto}.city-about h2{font-size:27px;margin:10px 0}.city-about p{font-size:12px}.city-bottom{bottom:26px}.city-facts{gap:10px}.city-introduction .city-kicker{font-size:8px}.city-fallback #city-render-status{bottom:3px}}
@media(prefers-reduced-motion:reduce){.city-about,.city-introduction,.city-road-label{transition:none}.city-portal{transform:none!important}}
/* Full city itinerary: calm stops and a compact journey menu. */
.city-enabled .journey-spacer{height:950vh;height:950svh}
.city-select-label select{max-width:180px;background:#182632bd;color:#fff1dc;border:1px solid #b4a58b66;border-radius:24px;padding:10px 34px 10px 15px;font:inherit;font-size:12px}.city-select-label option{background:#182632;color:#fff}
.city-portal .city-stop{opacity:0!important;visibility:hidden;pointer-events:none;transition:opacity .35s,transform .35s;transform:translateY(-45%)!important}
.city-portal .city-stop.active{opacity:1!important;visibility:visible;pointer-events:auto;transform:translateY(-50%)!important}
.city-stop ul{padding-left:18px;font-size:13px;line-height:1.9;color:#d4d5d0}.city-stop .city-read-more{display:block;margin-top:15px}.city-contact-pending{display:flex;gap:10px;flex-wrap:wrap}.city-contact-pending span{border:1px solid #ffffff29;padding:8px 12px;color:#a8b0b5;font-size:12px;border-radius:5px}.city-bottom .city-next{max-width:160px}.city-next[hidden]{display:none}.reading-mode .city-select-label{display:none}
@media(max-width:760px){.city-enabled .city-nav{gap:9px}.city-select-label select{max-width:112px;font-size:10px;padding:8px}.city-portal .city-stop,.city-portal .city-stop.active{transform:none!important}.city-start{display:none}.city-bottom{gap:10px}.city-about{bottom:100px}.city-bottom .city-next{max-width:115px}}
@media(orientation:landscape) and (max-height:550px){.city-portal .city-stop,.city-portal .city-stop.active{transform:none!important}}
/* Reference-led navy / ice-blue landing. Same continuous hardware and letter sweep. */
.stage{background:#030711}
.ambient{background:radial-gradient(ellipse at 50% 74%,#254e843b 0,transparent 43%),linear-gradient(155deg,#060c18,#030711 60%,#06101d)}
.ambient:before,.ambient:after{content:"";display:block;position:absolute;pointer-events:none;width:76vw;height:32vw;border-radius:50%;border:1px solid #a6caff66;background:linear-gradient(165deg,#071225 16%,#132641 45%,#315a954d 69%,#87b8fa66 96%,#d5e7ffcc);box-shadow:0 0 9px #8ebaff66,inset 0 -3px 15px #8ebcff55}
.ambient:before{left:-43vw;top:-22vw;transform:rotate(-39deg)}
.ambient:after{right:-40vw;bottom:-26vw;transform:rotate(-25deg);width:80vw;height:35vw;background:linear-gradient(160deg,#060e1b 12%,#112745 54%,#527cb855 85%,#b6d6ffbb 100%)}
.hero-artboard:before{content:"";position:absolute;left:5%;right:5%;top:72%;height:9%;background:radial-gradient(ellipse,#75a9ed44,transparent 70%);filter:blur(12px);pointer-events:none;opacity:.65}
.hero-artboard .hero-name{background:linear-gradient(180deg,#36527d 0%,#172d4e 40%,#0d1a2d 49%,#29466f 58%,#20395b 78%,#101f35 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:#29466c;text-shadow:0 -1px 0 #8eb6f013}
.hero-artboard .hero-name:after{opacity:.94;animation:letter-light-local 14s ease-in-out infinite alternate}
.lid:before{background:linear-gradient(90deg,#27394f,#edf4ff 28%,#a6bfd8 53%,#4a627d 90%);box-shadow:0 0 2px #d1e6ff}
.screen{border-color:#b6c7da;box-shadow:0 0 0 1px #182a41,0 1px 2px #dcecff77,0 0 26px #85baff13}
.base{background:linear-gradient(115deg,#65788e,#c0cfdd 24%,#879aaf 55%,#455b73 88%,#a9bed1);border-color:#afc1d3;box-shadow:0 3px 0 #3d5069,0 4px 0 #acc6df,0 5px 2px #040a12}
.base:before{background:linear-gradient(90deg,#4f657e,#e1ecf7 18%,#9bb3cc 40%,#5b7390 78%,#1f324a);box-shadow:inset 0 0 0 1px #b1c8e077}
.trackpad{background:linear-gradient(135deg,#8ea5bd,#7089a2);border-color:#536c86}
.screen-wallpaper{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 78% 30%,#6899d7 0,#214a7e 23%,transparent 53%),linear-gradient(145deg,#050d1c 0 24%,#102b50 25%,#456da4 46%,#9ac8ff 47%,#244a7d 49%,#0a1c35 68%,#030912 100%);opacity:1}
.screen-wallpaper:after{content:"";position:absolute;width:120%;height:55%;left:-10%;top:48%;transform:rotate(-24deg);border-radius:50%;border-top:1px solid #c6e2ff99;background:linear-gradient(180deg,#497cb366,#0a1b36 50%,#030a15);box-shadow:0 -6px 18px #79b4ff33}
@media(max-width:760px){.ambient:before{width:120vw;height:65vw;left:-79vw;top:-33vw}.ambient:after{width:130vw;height:60vw;right:-79vw;bottom:-29vw}.hero-artboard:before{filter:blur(8px)}}
@media(max-height:500px) and (orientation:landscape){.ambient:before{top:-30vw}.ambient:after{bottom:-28vw}}
@media(prefers-reduced-motion:reduce){.hero-artboard .hero-name:after{animation:none;opacity:0}}
.screen-wallpaper{z-index:1;background:radial-gradient(ellipse at 78% 30%,#a6ccff 0,#4b7dbb 25%,transparent 58%),linear-gradient(145deg,#0b1b33 0 24%,#244f84 25%,#729ed7 46%,#c1e0ff 47%,#4e7fb7 49%,#17365d 68%,#071329 100%)}
@media(max-height:500px) and (orientation:landscape){.ambient:before{top:-20vw}.ambient:after{bottom:-23vw}}

/* V18 local draft: readable type directly in the city, never a content card. */
.city-portal .city-stop{background:transparent!important;backdrop-filter:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:12px 0;color:#fff;text-shadow:0 2px 3px #07101fe6,0 0 14px #07101fd9}
.city-portal .city-stop p,.city-portal .city-stop li,.city-portal .city-stop small,.city-portal .city-stop strong,.city-portal .city-stop .city-kicker{color:#fff6e9}
.city-portal .city-stop .city-facts{border:0;padding-top:6px}
.city-portal .city-contact-pending span{background:none;border:0;border-radius:0;padding:4px 10px 4px 0;color:#e0e6ee}
@media(max-width:760px){.city-portal .city-stop{padding:8px 0;right:7%;left:7%;width:auto;max-height:62svh}.city-portal .city-stop p{font-size:14px}}
@media(orientation:landscape) and (max-height:550px){.city-portal .city-stop{left:auto;right:5%;width:44%;max-height:none;padding:0}}
.city-portal .city-stop .city-facts span{color:#eee9e0;font-size:10px;font-weight:600}
.city-portal .city-stop .city-facts small{font-size:12px;color:#fff6e9}
.city-portal .city-stop .city-kicker{font-size:11px;font-weight:600}
@media(max-width:760px){.city-portal .city-stop .city-facts small{font-size:11px}.city-portal .city-stop .city-kicker{font-size:10px}}
/* Verified, shared content: city chapters and accessible reading view. */
.city-stop{max-height:68svh;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.city-stop h2{margin:8px 0 16px}.city-stop h3{font-size:21px;margin:20px 0 7px}.city-detail{border:0;background:none;margin:13px 0;padding:0}.city-detail summary{cursor:pointer;font-size:14px;color:#fff0ce;line-height:1.8;list-style-position:inside}.city-detail[open] summary{margin-bottom:10px}.city-detail:focus-within{outline:1px solid #fff4;outline-offset:4px}.verified-tools{display:flex;flex-wrap:wrap;gap:7px 13px;font-size:12px;line-height:1.7}.project-mark{display:inline-block;width:44px;height:44px;object-fit:contain;margin:10px 0}.city-stop .project-meta{font-size:12px;color:#fff3d6;margin-bottom:14px}.city-stop .link-pending{font-size:11px;color:#efe8de}.city-stop a,.direct-contact a{color:#ffe5a8;text-underline-offset:5px}.direct-contact{display:flex;gap:25px;flex-wrap:wrap}.city-previous{margin-left:auto}.city-bottom .city-next{margin-left:0}.city-bottom .city-start{margin-left:0}.reading-index{display:flex;flex-wrap:wrap;gap:18px;padding:110px 7% 20px}.reading-index a{color:#e5edff}.verified-section{max-width:960px;margin:auto;scroll-margin-top:90px}.verified-section p{line-height:1.8}.verified-section .city-detail{margin:22px 0}.verified-section li{line-height:1.8;margin-bottom:8px}.verified-section .employment{margin-bottom:35px}.verified-section .verified-tools{font-size:14px}.verified-section .project-mark{width:58px;height:58px}.verified-section h2{font-size:clamp(30px,4vw,56px)}
@media(max-width:760px){.city-stop{max-height:62svh}.city-bottom .city-start{display:none}.city-bottom .city-previous{font-size:9px}.city-bottom .city-next{max-width:95px}.city-progress{display:none}}
@media(orientation:landscape) and (max-height:550px){.city-stop{max-height:none}.city-stop h2{font-size:26px}}
/* The laptop contains the real opening city frame, not an unrelated wallpaper. */
.screen-wallpaper[hidden]{display:none!important}.mini-introduction{position:absolute;left:8%;top:24%;color:#fff6e9;text-shadow:0 2px 7px #152437;pointer-events:none}.mini-introduction small{font-size:6px;letter-spacing:.2em}.mini-introduction strong{display:block;font:400 36px/1.05 'Helvetica Neue',Arial,sans-serif;letter-spacing:-.04em;margin-top:14px}
.city-points{position:absolute;left:5%;top:27%;display:grid;gap:1px;z-index:3}.city-points button{display:flex;align-items:center;gap:10px;min-height:34px;border:0;background:none;color:#fff4df;padding:3px 8px;text-shadow:0 1px 5px #06111d;cursor:pointer;font-size:11px;text-align:left}.city-points i{display:grid;place-items:center;width:22px;height:22px;border:1px solid #fff9;border-radius:50%;font-size:9px;font-style:normal}.city-points button[aria-current] i{background:#ffe7aa;color:#172434;border-color:#ffe7aa}.city-points button:focus-visible{outline:2px solid #ffe7aa;outline-offset:3px}.city-portal[data-station="arrival"] .city-points{top:auto;bottom:17%;grid-template-columns:repeat(3,auto);gap:5px 18px}
@media(max-width:760px){.city-points,.city-portal[data-station="arrival"] .city-points{left:5%;right:5%;top:auto;bottom:97px;display:flex;gap:8px;overflow-x:auto;overscroll-behavior:contain;padding-bottom:7px}.city-points button{flex-direction:column;min-width:52px;min-height:48px;gap:5px;font-size:8px;padding:2px}.city-points i{width:22px;height:22px}.city-portal .city-stop{bottom:170px;max-height:58svh}.mini-introduction strong{font-size:30px}}
@media(orientation:landscape) and (max-height:550px){.city-points,.city-portal[data-station="arrival"] .city-points{left:4%;right:auto;top:80px;bottom:65px;display:grid;grid-template-columns:repeat(2,auto);gap:1px 12px;overflow:auto}.city-points button{min-height:32px;font-size:9px}.city-portal .city-stop{bottom:68px;max-height:none}}
.verified-tools>span{display:inline-flex;align-items:center;gap:6px}.verified-tools img{position:static!important;display:inline-block;width:18px;height:18px;object-fit:contain;filter:none!important}
/* Latest direction: one refined dropdown, no numbered point navigation. */
.city-select-label select{appearance:none;-webkit-appearance:none;border-radius:7px;border:1px solid #dce8ff45;background:linear-gradient(135deg,#101824ed,#070d16ed);box-shadow:inset 0 1px 0 #ffffff12,0 5px 20px #0002;color:#f3f6fb;letter-spacing:.035em;font:500 12px/1.4 'Helvetica Neue',Arial,sans-serif;padding:12px 40px 12px 16px;min-width:172px;max-width:210px;cursor:pointer}.city-select-label{position:relative}.city-select-label:after{content:'⌄';position:absolute;right:15px;top:10px;color:#b9d9fa;font-size:16px;pointer-events:none}.city-select-label select:focus-visible{outline:2px solid #b9d9fa;outline-offset:4px}.city-nav .reading-toggle{border-radius:7px;font-size:11px}.city-portal .city-stop{bottom:auto}
@media(max-width:760px){.city-select-label select{min-width:122px;max-width:145px;font-size:10px;padding:10px 27px 10px 10px}.city-select-label:after{right:10px;top:7px}.city-nav .reading-toggle{font-size:9px;padding:9px}.city-enabled .city-nav{gap:8px}.city-portal .city-stop{bottom:110px;max-height:64svh}}
@media(orientation:landscape) and (max-height:550px){.city-portal .city-stop{bottom:68px;max-height:none}}
/* V19: native wheel/trackpad/touch scroll flows out of chapter content at edges. */
.city-portal .city-stop{overscroll-behavior:auto;touch-action:pan-y}
/* V20 local: focus on text without putting it in a card. */
.city-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:#000;opacity:0;transition:opacity .35s ease}
.city-portal:not([data-station="arrival"]):not([data-station="travel"]) .city-visual:after{opacity:.68}
.city-portal .city-stop{z-index:2;color:#fff;text-shadow:0 1px 2px #0008}
.city-portal .city-stop p,.city-portal .city-stop li,.city-portal .city-stop small,.city-portal .city-stop strong{color:#f9fafc}
.city-portal .city-stop .city-kicker{color:#d9e8ff}.city-detail summary{font-weight:500;color:#e8f0ff}
@media(prefers-reduced-motion:reduce){.city-visual:after{transition:none}}
/* V23: header identity travels to the Contact destination, not the arrival. */
.contact-identity{position:fixed;left:0;top:0;z-index:21;pointer-events:none;color:#fff4e6;transform-origin:0 0;display:none;text-shadow:0 2px 12px #07101f80;white-space:nowrap}
.contact-identity strong{display:block;font-weight:600;line-height:1.15;letter-spacing:-.035em}
.contact-identity span{display:block;line-height:1.3;color:#ded3c4;font-weight:400;margin-top:1px}
@media(max-width:760px) and (orientation:portrait){.city-stop[data-stop="contact"]{top:45%;bottom:95px;max-height:42svh!important}}

/* Quiet first-person detail beneath the final identity. Fixed space prevents layout shifts. */
.contact-statement{white-space:normal;width:min(37vw,470px);min-height:3em;margin:18px 0 0;font:400 clamp(13px,1.4vw,19px)/1.5 "Helvetica Neue",Arial,sans-serif;letter-spacing:0;color:#e4e8ee;transition:opacity .2s}
.contact-statement i{font-style:normal}.contact-statement b{font-weight:300;color:#aabed5;margin-left:3px}
.contact-typing-control{background:none;border:0;padding:0;margin:18px 0 0;color:#c6cbd2;font-size:11px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.contact-typing-control[hidden]{display:none}.contact-typing-control:focus-visible{outline:2px solid #e4e8ee;outline-offset:5px}
@media(max-width:760px) and (orientation:portrait){.contact-statement{width:82vw;font-size:14px;margin-top:14px}}
@media(orientation:landscape) and (max-height:550px){.contact-statement{font-size:12px;margin-top:12px;width:36vw}.contact-typing-control{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.contact-statement{transition:none}.contact-statement b{display:none}}

/* Arrival: direct professional context and quiet, usable ways into the work. */
.city-introduction{max-width:720px}.city-introduction .city-kicker{font-size:10px;letter-spacing:.19em;color:#f5ead9}.city-introduction h1{font-size:clamp(44px,5.5vw,78px);line-height:1.03;margin:20px 0 23px;letter-spacing:-.05em}.city-introduction h1 span{color:#e1e9ee}.city-introduction .arrival-summary{max-width:510px;font-size:16px;line-height:1.65;color:#f4f3ef;margin:0}.arrival-actions{display:flex;align-items:center;gap:28px;margin-top:27px;pointer-events:auto}.arrival-actions button,.arrival-actions a{font-family:inherit;font-size:13px;font-weight:500;line-height:1.4;color:#fff7eb;border:0;background:none;padding:8px 0;cursor:pointer;text-decoration:none;letter-spacing:0}.arrival-actions button{border-bottom:1px solid #fff7eb70}.arrival-actions button span{margin-left:14px}.arrival-actions a{color:#d6dfe7}.arrival-actions button:hover,.arrival-actions a:hover{color:white}.arrival-actions :focus-visible{outline:2px solid #e8edf4;outline-offset:5px}.city-introduction .arrival-scroll{display:flex;align-items:center;gap:12px;color:#e0e6e8;font-size:11px;letter-spacing:.06em;margin-top:32px}.arrival-scroll svg{animation:arrival-nudge 2.8s ease-in-out infinite}@keyframes arrival-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(max-width:760px){.city-introduction h1{font-size:clamp(40px,10.5vw,66px)}.city-introduction .arrival-summary{font-size:14px;max-width:90%}.arrival-actions{gap:24px;margin-top:20px}.city-introduction .arrival-scroll{margin-top:25px}.city-introduction .city-kicker{font-size:8px}}
@media(orientation:landscape) and (max-height:550px){.city-introduction{top:21%;max-width:74vw}.city-introduction h1{font-size:37px;margin:10px 0 13px}.city-introduction .arrival-summary{font-size:12px;line-height:1.5;max-width:520px}.arrival-actions{margin-top:10px}.arrival-actions button,.arrival-actions a{font-size:11px}.city-introduction .arrival-scroll{margin-top:10px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.arrival-scroll svg{animation:none}}
.city-portal[data-station="arrival"] .city-visual:after{opacity:.58}
/* V31: one live surface; warm architectural landing follows the city's materials. */
.city-enabled .screen-content{background:#141a1d;transition:none}
.city-portal[data-surface="laptop"],.city-portal[data-surface="expanding"]{pointer-events:none!important;will-change:transform;backface-visibility:hidden}
.city-portal[data-surface="viewport"]{will-change:auto}
.stage{background:#0b1115}
.ambient{background:radial-gradient(ellipse at 48% 74%,#9e795326,transparent 58%),linear-gradient(140deg,#253a421f,transparent 50%)}
.ambient:before{border-color:#c0a27b55;box-shadow:0 0 45px #bda67f22;background:radial-gradient(ellipse,#ac8f6222,transparent 66%)}
.ambient:after{border-color:#79969f44;box-shadow:0 0 50px #78979e20;background:radial-gradient(ellipse,#6e8c961a,transparent 68%)}
.hero-artboard:before{background:radial-gradient(ellipse,#d4b78b30,transparent 70%)}
.hero-artboard .hero-name{background:none;color:#35434a;-webkit-text-fill-color:#35434a}
.hero-artboard .hero-name:after{background-image:linear-gradient(110deg,transparent 44%,#b5c3c922 46%,#e6d5b8cc 48%,#fff4dc 50%,#d9d7cacc 52%,#8aa7ac22 54%,transparent 56%);filter:drop-shadow(0 0 5px #e1c89d33)}
.screen{border-color:#b5b8b3;box-shadow:0 0 0 1px #1c292e,0 1px 2px #e8dec877,0 0 26px #d0b1840b}
@media(prefers-reduced-motion:reduce){.hero-artboard .hero-name{color:#88959a;-webkit-text-fill-color:#88959a}.city-portal{will-change:auto!important}}
/* Same V4 shell, quieter titanium finish and individually shaped keys. */
.base{background:linear-gradient(112deg,#59656c,#a3adb1 23%,#7b888f 56%,#47545c 87%,#87969c);border-color:#aab4b8;box-shadow:0 2px 0 #34434b,0 3px 0 #9daeb4,0 4px 1px #03090d}
.base:before,.lid:before{background:linear-gradient(90deg,#35454d,#d4dcdb 24%,#8c9ba0 56%,#36474f 90%);box-shadow:inset 0 0 0 1px #c2d2d433}
.keyboard{display:flex;flex-direction:column;gap:3px;padding:5px;border:1px solid #34434b;background:#253039;box-shadow:inset 0 1px 3px #0008,0 1px 0 #c7d4d533;border-radius:6px}
.key-row{display:flex;gap:3px;flex:1;min-height:0}.key-row span{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;border:1px solid #343e45;border-radius:3px;background:linear-gradient(#20292f,#11191e);box-shadow:0 1px 0 #090d10;color:#bbc7ca;font:400 5px/1 Arial,sans-serif}.key-row:first-child span{font-size:4px}.key-row .wide-key{flex:1.45}.key-row .space-key{flex:6}
.trackpad{background:linear-gradient(125deg,#87969c,#73838a);border-color:#53656d;box-shadow:0 1px 0 #d0dbdb33}
.screen:after{background:linear-gradient(145deg,#fff5df04,transparent 30%);box-shadow:inset 0 0 0 1px #e4e3dc0c}
/* V32: one identity settles beside the open laptop; a restrained scroll invitation. */
.stage>.scroll-cue{display:block!important;bottom:max(22px,4svh);color:#d9d6ca;letter-spacing:.18em;font-size:9px;pointer-events:none;z-index:7}
.scroll-cue .line{height:24px;background:#aab7b333;margin:9px auto 0}.scroll-cue .line i{background:#e1d1ae}
.hero-artboard .hero-name{transform-origin:0 0;will-change:left,top,font-size;white-space:normal}
@media(orientation:landscape) and (max-height:550px){.stage>.scroll-cue{bottom:12px;font-size:8px}.scroll-cue .line{height:14px;margin-top:5px}}
@media(prefers-reduced-motion:reduce){.stage>.scroll-cue{display:none!important}.hero-artboard .hero-name{will-change:auto}}

/* V33 revision: compact native scroll distance, no delayed/forced hold. */
body.enhanced:not(.reading-mode):not(.motion-off) .intro{height:240vh;height:240svh}

/* V34: a quiet graphite introduction; the name remains part of the backdrop. */
.stage{background:#0b0e12}.ambient{background:radial-gradient(ellipse at 65% 48%,#9caeb817,transparent 54%),radial-gradient(ellipse at 18% 90%,#6e7b8710,transparent 55%),#0b0e12!important}
.ambient:before,.ambient:after{opacity:.18;box-shadow:none!important;border-color:#899ba62b!important}
.hero-artboard .hero-name:after{filter:saturate(.25);opacity:.65}
.intro-welcome{position:absolute;left:7%;top:35%;width:39%;z-index:2;pointer-events:none;opacity:0;color:#cbd3da;will-change:opacity,transform}
.intro-welcome .welcome-kicker{display:block;font-size:9px;letter-spacing:.17em;color:#82929f;margin-bottom:20px}
.intro-welcome h2{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:clamp(28px,4.2vw,65px);line-height:1.05;letter-spacing:-.05em;margin:0 0 22px;color:#b9c6d1}
.intro-welcome p{font-size:clamp(11px,1.1vw,16px);line-height:1.6;color:#8999a7;margin:0}
@media(max-width:760px) and (orientation:portrait){.intro-welcome{top:26%;left:8%;width:84%;text-align:center}.intro-welcome h2{font-size:30px;margin-bottom:12px}.intro-welcome .welcome-kicker{font-size:7px;margin-bottom:12px}.intro-welcome p{font-size:11px}.intro-welcome p br{display:none}}
@media(orientation:landscape) and (max-height:550px){.intro-welcome{top:29%}.intro-welcome h2{font-size:29px;margin-bottom:12px}.intro-welcome .welcome-kicker{font-size:7px;margin-bottom:12px}.intro-welcome p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.intro-welcome{display:none!important}}

/* V44: Arrival, header and Contact share one reversible visual identity. */
.city-enabled .wordmark,.contact-identity{font-family:"Helvetica Neue",Arial,sans-serif}
.wordmark strong{display:block;font:inherit;letter-spacing:inherit}
.city-introduction .arrival-identity-title>span{display:block;white-space:nowrap;font:inherit;letter-spacing:inherit}
.city-introduction .arrival-identity-title .arrival-name{color:#fff7e9}
.city-introduction .arrival-identity-title .arrival-role{color:#e1e9ee}
.arrival-identity-pending .wordmark{opacity:0!important;pointer-events:none!important}
.city-introduction .arrival-identity-title>span{transform-origin:0 0;will-change:transform}
/* Use one face throughout: system fonts cannot interpolate 400 → 600 smoothly. */
.city-enabled .wordmark{font-weight:400}
/* Moving title stays below the navigation; avoid tinting it under a header scrim. */
.city-enabled:has(.city-portal[data-station="arrival"]) .topbar{background:transparent}
.city-introduction>.city-kicker,.city-introduction>.arrival-summary,.city-introduction>.arrival-actions,.city-introduction>.arrival-scroll{opacity:var(--arrival-details-opacity,1)}
@media(max-width:380px) and (orientation:portrait){.city-introduction .arrival-identity-title{font-size:10.5vw}}
@media(prefers-reduced-motion:reduce){.city-introduction .arrival-identity-title>span{will-change:auto}}
/* The identity owns its movement; do not add the old panel-exit translation. */
.city-introduction{transform:none!important}

/* Keep both header lines intact so the Arrival bridge lands without wrapping. */
.city-enabled .wordmark{flex-shrink:0}
.city-enabled .wordmark strong,.city-enabled .wordmark span{white-space:nowrap}
@media(max-width:380px){
 .city-enabled .wordmark{font-size:12px;letter-spacing:-.4px}
 .city-enabled .wordmark span{font-size:5.5px;letter-spacing:.9px}
 .city-enabled .city-nav{gap:6px}
 .city-select-label select{min-width:98px;max-width:98px;font-size:9px;padding:9px 21px 9px 8px}
 .city-nav .reading-toggle{font-size:8px;white-space:nowrap;padding:9px 6px}
}

/* Focusable city chapters must not show the browser's mouse-click frame.
   Keep an explicit visible indicator when the browser identifies keyboard focus. */
.city-portal .city-stop:focus:not(:focus-visible){outline:none}
.city-portal .city-stop:focus-visible{outline:2px solid #a9cfff;outline-offset:4px}
