html{background:#12101c;color:#f4f0f9}body{font-family:'Segoe UI',Arial,sans-serif}#scene{background:radial-gradient(ellipse at 68% 40%,#30273f 0%,#181622 48%,#11101a 85%)}header{padding:22px 4vw;background:linear-gradient(#12101ce8,transparent)}.brand{font-size:34px}.brand span{font:10px 'Segoe UI',sans-serif;letter-spacing:2px;margin-top:4px}header nav{display:flex;gap:10px;align-items:center}header button{font-size:14px;border-radius:30px;padding:11px 19px}header nav>button:first-child{border-color:transparent}.contact-link{border-color:#ad99c6}#play{font-size:13px;color:#d1c5e0}.copy{top:28vh;max-width:470px}.eyebrow{font-size:12px;letter-spacing:1.8px;color:#c5b5d9;margin-bottom:25px}h1{font:400 clamp(52px,5.2vw,88px)/1.03 Georgia,serif;letter-spacing:-2px}h2{font:400 clamp(36px,3.6vw,60px)/1.12 Georgia,serif;letter-spacing:-1.5px}em{color:#d4b4f3}.lead{font-size:16px;line-height:1.75;color:#c7c2d0;max-width:390px}.facts,.skill-list{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.facts span,.skill-list span{border:1px solid #ffffff26;border-radius:5px;padding:7px 10px;font-size:12px;color:#d9d1e4}.primary{display:inline-block;background:#dcc8f2;color:#241531;border:1px solid #dcc8f2;border-radius:30px;font-size:14px;padding:13px 20px;text-decoration:none}.primary:hover{background:#eddefa}.hint,.case-note{font-size:13px;line-height:1.7;color:#b0a3bf;letter-spacing:0}.hint{margin-top:24px}.case-note{margin:22px 0}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions button{border-radius:30px;font-size:14px}#layers{top:106px;max-width:700px}#layers button{font-size:12px;border-radius:20px;background:#181421c9;padding:10px 13px}footer{background:linear-gradient(transparent,#12101c 60%);color:#b8abc7;font-size:12px;padding:20px 4vw}footer button{font-size:12px;border:0}.scrubber{width:32%}#loading{inset:auto 4vw 90px auto;max-width:340px;border:1px solid #73667e;border-radius:12px;padding:20px;background:#191423eb;z-index:5;align-items:stretch}#loading p{margin:0;font-size:14px;line-height:1.4}#loading small{font-size:12px;color:#a99ab8;margin-top:12px}.load-track{width:100%;margin-top:15px}#loading.hidden{visibility:hidden}#retry{margin-top:15px}dialog{width:min(720px,calc(100% - 32px));max-height:calc(100svh - 40px);border:1px solid #736080;border-radius:18px;background:#20182d;color:#eee7f7;padding:32px 38px;box-shadow:0 24px 120px #0008;overflow:auto}dialog::backdrop{background:#09060cd6;backdrop-filter:blur(7px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-head .eyebrow{margin:0}.close{font-size:25px;border:0;border-radius:50%;padding:3px 12px}dialog h2{font-size:40px;margin:22px 0 10px}dialog p{font-size:16px;line-height:1.7;color:#d2c9dc}.dialog-lead{font-size:19px!important;margin:0}.resume-meta,.date,.muted{font-size:13px!important;color:#b6a6c7!important;line-height:1.6}.resume-meta{margin:14px 0 28px}.resume-block{padding:22px 0;border-top:1px solid #ffffff20}.resume-block h3{font-size:14px;color:#d0b4e9;letter-spacing:.7px;margin:0 0 13px}.resume-block h4{font-size:18px;font-weight:500;margin:10px 0}.resume-block p{margin:8px 0}.dialog-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:20px}dialog a{color:inherit}.dialog-actions .primary{color:#241531}.contact-row{display:block;padding:22px 0;border-bottom:1px solid #ffffff25;text-decoration:none}.contact-row span{display:block;font-size:13px;color:#b6a6c7;margin-bottom:8px}.contact-row strong{font-size:clamp(18px,4vw,25px);font-weight:400;overflow-wrap:anywhere}.contact-row:hover strong{text-decoration:underline}.modal-open{overflow:hidden}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:#fff;color:#20182d;padding:12px}.skip:focus{top:10px}.no-script{position:fixed;inset:120px 5vw auto;z-index:10;background:#20182d;padding:30px;line-height:1.8}.no-script a{color:white}body.exploring #explore{background:#20182d;z-index:6}
@media(max-width:760px){header{padding:16px 5vw}.brand{font-size:25px}.brand span{display:none}header nav{gap:4px}header button{font-size:12px;padding:10px 12px}#play{font-size:0;width:40px;height:40px;padding:0}#play:after{content:'▶';font-size:13px}#play[data-playing=true]:after{content:'Ⅱ'}.copy{left:7vw;top:15vh;max-width:86vw}h1{font-size:clamp(44px,10vw,64px);letter-spacing:-1px}h2{font-size:clamp(32px,8vw,44px);letter-spacing:-.8px}.eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:18px}.lead{font-size:14px;max-width:340px;line-height:1.6}.facts{gap:5px;margin:15px 0}.facts span{font-size:11px;padding:5px 7px}.primary{padding:11px 16px}.hint{display:none}.case-note{font-size:12px;margin:15px 0}#layers{top:auto;bottom:94px;max-width:none;gap:5px}#layers button{font-size:10px;padding:8px 10px}footer{padding:12px 6vw;gap:6px}#status{font-size:10px}.scrubber{width:100%}footer .footer-note{display:block;position:absolute;right:6vw;bottom:60px;padding:0;font-size:11px}#loading{bottom:168px;right:6vw;left:6vw;max-width:none;padding:16px}dialog{padding:22px;max-height:calc(100svh - 24px)}dialog h2{font-size:31px}.dialog-head .eyebrow{font-size:11px}.actions button{font-size:12px}body.exploring #explore{left:6vw;bottom:175px}}
@media(max-height:690px) and (min-width:761px){.copy{top:23vh}.copy h1{font-size:60px}.lead{font-size:15px}.facts{margin:14px 0}.hint{margin-top:14px}}

/* Expanded professional resume */
#profile{width:min(900px,calc(100% - 32px))}.competencies{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px}.competencies h4{font-size:17px;color:#f2e7ff}.competencies p{font-size:15px}.project-history{list-style:none;padding:0;margin:25px 0 0}.project-history li{padding:0 0 24px 22px;border-left:1px solid #937aaf;margin:0 0 8px}.project-history li:last-child{padding-bottom:0}.project-history h4{margin:7px 0;font-size:19px}.role-name{font-size:20px!important;color:#f2e7ff!important}dialog .dialog-head{position:sticky;top:-1px;background:#20182d;z-index:2;padding:10px 0}dialog{scrollbar-color:#8c719d #20182d}html{scrollbar-color:#8c719d #12101c}
@media(max-width:650px){.competencies{grid-template-columns:1fr;gap:16px}.project-history li{padding-left:15px}#profile h2{font-size:30px}}

/* Portfolio examples link */
.examples-link{display:inline-flex;align-items:center;justify-content:center;color:#eee2f8;border:1px solid #9c83b2;border-radius:30px;padding:11px 18px;font-size:14px;text-decoration:none}.examples-link:hover{background:#40304e}.actions .examples-link{padding:11px 16px}@media(max-width:760px){header .examples-link{font-size:12px;padding:10px}.actions{gap:8px}.actions .examples-link{font-size:12px;padding:10px 13px}header nav{gap:2px}header .contact-link{padding:10px 8px}}
