:root{color-scheme:dark;--text:#e9f0f5;--muted:#9cabb9;--line:#b7d7f024;--accent:#a4e4f3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--text);background:#070c12;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}#world{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 70% 40%,#1b344b,transparent 65%)}#world canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity 1s}.world-ready #world canvas{opacity:1}.world-shade{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#070c12dd 0%,#070c1270 30%,transparent 70%),linear-gradient(0deg,#070c1260,transparent 20%,transparent 80%,#070c1233);transition:background .8s}body[data-chapter="1"] .world-shade,body[data-chapter="2"] .world-shade,body[data-chapter="3"] .world-shade,body[data-chapter="4"] .world-shade{background:linear-gradient(90deg,#070c1244,#070c1230 30%,#070c12bb 70%),linear-gradient(0deg,#070c1230,transparent)}header{position:fixed;z-index:30;top:0;left:0;right:0;height:94px;padding:0 6%;display:flex;align-items:center;gap:22px;background:linear-gradient(#070c12cc,#070c1260,transparent);color:#edf6fc}.brand{font-size:28px;letter-spacing:-2px;font-weight:700}.brand span{color:var(--accent)}.identity{font-size:10px;letter-spacing:1.5px;line-height:1.9}.identity small{font-size:9px;color:var(--muted)}nav{margin-left:auto;display:flex;gap:28px;font-size:12px}header nav a{position:relative;color:#bbc8d4;padding:8px 0}header nav a:after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--accent);transition:width .3s}header nav a:hover:after{width:100%}header nav a:hover{color:white}main{position:relative;z-index:3;max-width:1800px;margin:auto}.scene{position:relative;padding:140px 9% 130px;min-height:110svh}.home{min-height:100svh;display:flex;align-items:center;padding-top:160px;padding-bottom:130px}.home .copy{width:55%;max-width:800px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:500;color:var(--muted);margin:0 0 28px}.tiny-line{display:inline-block;width:25px;height:1px;vertical-align:middle;background:var(--accent);margin-right:10px}h1{font-size:clamp(80px,9.2vw,154px);line-height:.94;letter-spacing:-6px;font-weight:400;margin:0}.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;letter-spacing:-.055em;color:#d9edf5}.intro{font-size:17px;line-height:1.85;color:#a7b8c8;margin:34px 0;max-width:410px}.pill{display:inline-flex;align-items:center;gap:45px;font-size:13px;padding:13px 0;border-bottom:1px solid #96c5df80;transition:color .2s,gap .3s}.pill:hover{color:var(--accent);gap:55px}.hero-meta{display:flex;gap:32px;font-size:9px;letter-spacing:1.5px;color:#718596;margin-top:55px}.bottomline{position:absolute;left:9%;bottom:42px;font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:25px;color:#94a8b8}.scroll-line{display:block;width:80px;height:1px;background:#66869c;transform-origin:left;animation:scrollHint 3s ease-in-out infinite}.scene-coordinate{position:absolute;right:9%;bottom:100px;display:flex;flex-direction:column;gap:8px;font-size:9px;letter-spacing:1.8px;text-align:right;color:#8498a9}.scene-coordinate span:first-child{color:#bcd6e6}.work,.craft,.projects,.about{display:grid;grid-template-columns:.82fr 1.18fr;gap:7%;align-items:start}.section-head{position:sticky;top:155px;text-shadow:0 4px 30px #000;max-width:490px}.section-head h2{font-size:clamp(46px,5.2vw,83px);line-height:1.07;font-weight:400;letter-spacing:-3px;margin:0}.section-note{font-size:14px;line-height:1.9;color:#adbdca;max-width:330px;margin-top:28px}.experience-list,.stack-grid,.personal-grid,.bio{min-width:0;background:linear-gradient(120deg,#0d1620e8,#0b131ce8);border:1px solid #a3c5df22;box-shadow:0 20px 80px #0003;backdrop-filter:blur(16px);padding:30px}.job{border-top:1px solid var(--line)}.job:first-child{border-top:0}.job-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;list-style:none;cursor:pointer;padding:23px 0}.job-summary::-webkit-details-marker{display:none}.job-summary>div{min-width:0;flex:1}.job-meta{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#8197a8}.job h3{font-size:23px;font-weight:500;letter-spacing:-.6px;line-height:1.25;margin:13px 0 8px}.job-role{font-size:13px;color:#a2b2bf;margin:0}.job-summary:hover h3{color:var(--accent)}.job-toggle{flex:0 0 18px;font-size:20px;font-weight:300;color:#6f91a7}.job-toggle:before{content:'+'}.job[open] .job-toggle:before{content:'−'}.job-content{padding-bottom:25px;animation:contentEnter .35s ease}.job-focus{font-size:12px;color:#80bbd5;margin:0 0 18px}.job ul{padding-left:18px;margin:0 0 24px}.job li{font-size:14px;line-height:1.85;color:#a9bdcc;margin:10px 0}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips span{padding:5px 9px;border:1px solid #8ac1da24;color:#9eb8c9;font-size:11px;border-radius:2px}.craft{min-height:135svh}.stack-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px}.skill-group{padding-top:15px;border-top:1px solid var(--line)}.skill-group h3{font-size:15px;font-weight:500;margin:0 0 15px}.personal-grid{display:grid;grid-template-columns:1fr;gap:0}.personal-card{position:relative;padding:24px 0;border-bottom:1px solid var(--line);transition:background .3s,padding .3s}.personal-card:first-child{padding-top:0}.personal-card:last-child{border-bottom:0}.personal-card .eyebrow{font-size:10px;letter-spacing:1px}.personal-card h3{font-size:25px;line-height:1.2;letter-spacing:-.6px;font-weight:400;margin:15px 0}.personal-card p{color:#9eb1c1;font-size:14px;line-height:1.8}.personal-card.selected h3{color:var(--accent)}.personal-card.selected:before{content:'';position:absolute;left:-30px;top:20px;bottom:20px;width:2px;background:var(--accent)}.project-focus{margin-top:23px;padding:9px 0;border:0;border-bottom:1px solid #587b9288;background:none;font-size:12px;display:flex;width:100%;align-items:center;justify-content:space-between;transition:color .2s}.project-focus:hover,.project-focus[aria-pressed=true]{color:var(--accent)}.project-focus span{font-size:18px}.bio>p{font-size:16px;line-height:1.95;color:#afc0ce;margin:0 0 24px}.facts{display:grid;grid-template-columns:1fr 1.5fr;gap:25px;padding:25px 0;margin:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts strong{display:block;font-size:38px;font-weight:300;letter-spacing:-1px}.facts span{display:block;font-size:12px;color:#94a9b9;margin-top:8px;line-height:1.7}.bio .education{font-size:13px;color:#8ea5b7}.contact{display:flex;align-items:center;min-height:105svh;padding-bottom:180px}.contact .copy{width:65%;max-width:950px}.contact h2{font-weight:400;font-size:clamp(58px,7vw,110px);line-height:1.05;letter-spacing:-4px;margin:0}.contact .intro{font-size:16px}#contact-links{display:flex;flex-direction:column;gap:12px;align-items:flex-start}#contact-links a{font-size:18px;padding:8px 0;border-bottom:1px solid #8eb2c84d;transition:color .2s;overflow-wrap:anywhere}#contact-links a:hover{color:var(--accent)}footer{position:absolute;bottom:80px;left:9%;right:9%;display:flex;justify-content:space-between;font-size:10px;color:#7894a8;border-top:1px solid var(--line);padding-top:24px}.chapter-nav{position:fixed;right:28px;top:42%;z-index:25;display:flex;flex-direction:column;gap:17px;margin:0}.chapter-nav a{display:flex;gap:10px;align-items:center;color:#4c697f}.chapter-nav span{font-size:9px;font-family:monospace;opacity:0;transition:opacity .3s}.chapter-nav i{height:1px;width:13px;background:currentColor;transition:width .3s}.chapter-nav a[aria-current],.chapter-nav a:hover{color:#c1e9fa}.chapter-nav a[aria-current] span,.chapter-nav a:hover span{opacity:1}.chapter-nav a[aria-current] i{width:25px}.world-caption{position:fixed;z-index:10;right:5%;bottom:25px;display:flex;gap:15px;align-items:center;color:#829fb3;font-size:9px;letter-spacing:1.5px;pointer-events:none}#world-number{font-family:Georgia,serif;font-size:24px;color:#b0d1e6;font-style:italic}.skip{position:absolute;top:-100px;left:15px;background:white;color:black;padding:10px;z-index:60}.skip:focus{top:10px}#progress{position:fixed;top:0;left:0;height:2px;background:#a5dfff;z-index:60;width:0}.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.no-webgl .world-caption{display:none}@keyframes contentEnter{from{opacity:.2;transform:translateY(-6px)}to{opacity:1;transform:none}}@keyframes scrollHint{0%,100%{transform:scaleX(.4);opacity:.4}50%{transform:scaleX(1);opacity:1}}
@media(min-width:1650px){.scene{padding-left:10%;padding-right:10%}}@media(max-width:1100px){header{padding:0 5%}.identity{display:none}.scene{padding-left:7%;padding-right:7%}.work,.craft,.projects,.about{grid-template-columns:.75fr 1.25fr;gap:5%}.section-head h2{font-size:54px}.experience-list,.stack-grid,.personal-grid,.bio{padding:23px}.personal-card.selected:before{left:-23px}.chapter-nav{right:12px}.chapter-nav span{display:none}.home .copy{width:65%}.stack-grid{grid-template-columns:1fr}.job h3{font-size:21px}}
@media(max-width:760px){header{height:80px;background:linear-gradient(#070c12ed,#070c12b0,transparent)}header nav{gap:19px;font-size:12px}.scene{padding:100px 7%;min-height:auto}.home{min-height:100svh;align-items:flex-start;padding-top:150px;padding-bottom:100px}.home .copy{width:100%}h1{font-size:clamp(80px,15vw,118px);letter-spacing:-4px}.home .intro{font-size:16px;margin:25px 0}.hero-meta{flex-direction:column;gap:8px;margin-top:40px}.scene-coordinate{display:none}.bottomline{bottom:35px;left:7%}.work,.craft,.projects,.about{display:block}.section-head{position:static;margin:0 0 45px;max-width:none}.section-head h2{font-size:57px}.section-note{margin-top:20px}.stack-grid{grid-template-columns:1fr 1fr}.chapter-nav{display:none}.contact{min-height:100svh;padding-top:150px;padding-bottom:200px}.contact .copy{width:100%}.contact h2{font-size:68px;letter-spacing:-3px}#contact-links a{font-size:17px}.world-shade{background:linear-gradient(90deg,#070c12d9,#070c1255),linear-gradient(0deg,#070c1266,transparent)!important}.world-caption{font-size:8px;right:7%;bottom:16px}.world-caption #world-number{font-size:20px}.experience-list,.stack-grid,.personal-grid,.bio{background:#0a131dde;backdrop-filter:blur(9px)}footer{left:7%;right:7%;bottom:75px;gap:25px}.job-meta{font-size:11px}.job li{font-size:14px}.bio>p{font-size:15px}}
@media(max-width:470px){header nav{gap:13px;font-size:11px}.brand{font-size:25px}header{gap:16px}h1{font-size:81px}.eyebrow{font-size:10px;letter-spacing:1.3px}.section-head h2{font-size:48px}.stack-grid{grid-template-columns:1fr}.experience-list,.stack-grid,.personal-grid,.bio{padding:20px}.personal-card.selected:before{left:-20px}.contact h2{font-size:54px}.facts{gap:15px}.facts strong{font-size:32px}.job h3{font-size:20px}.personal-card h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Refined translucent surfaces let the architecture remain visible. */
:root{--line:#b7d7f02e}
.experience-list,.stack-grid,.personal-grid,.bio{background:linear-gradient(135deg,rgba(14,25,36,.48),rgba(9,18,28,.22));border:1px solid #afdbf52a;border-radius:8px;backdrop-filter:blur(7px) saturate(115%);-webkit-backdrop-filter:blur(7px) saturate(115%);box-shadow:inset 0 1px 0 #d5eeff12,0 18px 60px #00000012;padding:34px}
body[data-chapter="1"] .world-shade,body[data-chapter="2"] .world-shade,body[data-chapter="3"] .world-shade,body[data-chapter="4"] .world-shade{background:linear-gradient(90deg,#070c1240,#070c1220 35%,#070c125a 75%),linear-gradient(0deg,#070c1230,transparent)}
.job h3{font-size:24px;line-height:1.3}.job-summary{padding:27px 0}.job-meta{color:#a3b9cb;font-size:12px}.job-role{color:#c3d2dd;font-size:14px}.job li{color:#d0dce5;font-size:15px;line-height:1.85}.job-focus{color:#a0d5ea;font-size:13px}.job-content{padding-bottom:30px}.job[open]{position:relative}.job[open]:before{content:'';position:absolute;left:-34px;top:27px;bottom:27px;width:2px;background:linear-gradient(transparent,#aadceb,transparent);opacity:.65}.job-toggle{transition:color .25s,transform .35s}.job-summary:hover .job-toggle{color:#d8f4ff;transform:rotate(90deg)}
.chips span{background:#0c1c2b26;border-color:#a2cfe530;color:#c1d5e2;font-size:12px;padding:6px 10px}.skill-group h3{font-size:16px;color:#e2edf5}.personal-card p{color:#c1d1dc;font-size:15px}.personal-card .eyebrow{color:#a0b7c8;font-size:11px}.project-focus{font-size:13px;color:#c5dbe9}.personal-card.selected:before{left:-34px}.bio>p{color:#d0dce5;font-size:17px;line-height:1.85}.section-note{color:#c1d2df;font-size:16px}.section-head h2{letter-spacing:-2.5px}.section-head{padding-top:4px}.facts span,.bio .education{color:#b9cbd9}.facts strong{font-family:Georgia,serif;font-size:43px}.section-head .eyebrow{display:flex;align-items:center;gap:13px}.section-head .eyebrow:before{content:'';width:25px;height:1px;background:#99bfd3aa;flex:none}.world-caption{background:#0610194d;padding:10px 15px;border:1px solid #8ca8b522;border-radius:4px;backdrop-filter:blur(8px)}#world-depth{border-left:1px solid #7191a34d;padding-left:14px;color:#a8c6d8;font-size:8px;min-width:135px}header{background:linear-gradient(#070c12e0,#070c1266,transparent)}
@media(max-width:1100px){.experience-list,.stack-grid,.personal-grid,.bio{padding:25px}.job[open]:before,.personal-card.selected:before{left:-25px}.job h3{font-size:22px}}
@media(max-width:760px){.experience-list,.stack-grid,.personal-grid,.bio{background:linear-gradient(130deg,#0b17247a,#07131f5e);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.world-shade{background:linear-gradient(90deg,#070c12a8,#070c1244),linear-gradient(0deg,#070c1244,transparent)!important}.world-caption{padding:6px 10px;gap:10px;font-size:8px}#world-depth{font-size:7px;padding-left:8px;min-width:110px}.job-meta{font-size:11px}.job li{font-size:15px}.bio>p{font-size:16px}.section-note{font-size:15px}}
@media(max-width:470px){.experience-list,.stack-grid,.personal-grid,.bio{padding:22px}.job[open]:before,.personal-card.selected:before{left:-22px}.job h3{font-size:21px}.chips span{font-size:11px}.world-caption #world-number{font-size:17px}#world-depth{display:none}}
@media(prefers-reduced-transparency:reduce){.experience-list,.stack-grid,.personal-grid,.bio{background:#0c1621;backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.job-summary:hover .job-toggle{transform:none}}
