@font-face{font-family:MiSans;font-display:swap;src:url('assets/MiSans-Regular.woff2')}@font-face{font-family:MiSans;font-display:swap;src:url('assets/MiSans-Medium.woff2');font-weight:500}@font-face{font-family:MiSans;font-display:swap;src:url('assets/MiSans-Bold.woff2');font-weight:700}@font-face{font-family:MiSans;font-display:swap;src:url('assets/MiSans-Heavy.woff2');font-weight:900}
:root{--ink:#080817;--violet:#b8a2ff;--white:#f5f1ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:'Noto Sans SC',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--violet);outline-offset:7px}header{position:fixed;inset:0 0 auto;height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 4.3vw;z-index:20;background:linear-gradient(#08081770,transparent)}.logo{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:700;font-size:32px;letter-spacing:2px}.logo span{display:block;font:9px 'Noto Sans SC',sans-serif;letter-spacing:2px;margin-top:3px}nav{display:flex;gap:32px;align-items:center;font-size:12px}nav button{padding:12px 0}nav sup{font-size:9px;color:var(--violet)}.availability{font-size:9px;letter-spacing:1.8px;color:var(--violet)}.journey{height:360vh}.stage{position:sticky;top:0;height:100vh;overflow:hidden;background:radial-gradient(ellipse at 70% 40%,#4d3783 0,#14112e 40%,#080817 75%)}.scene{position:absolute;inset:0;will-change:opacity,transform}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.release{position:absolute;inset:0;opacity:0}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#070712b0,transparent 60%),linear-gradient(0deg,#080817cc,transparent 25%);pointer-events:none}.hero-copy{position:absolute;z-index:1;left:7vw;top:24vh}.eyebrow{font-size:10px;letter-spacing:3px;color:#d5c7ff;margin:0 0 22px}.hero h1{font-size:clamp(48px,5.3vw,102px);line-height:1.2;letter-spacing:-4px;margin:0;font-weight:900}.hero h1 span{color:var(--violet)}.hero-caption{margin-top:32px;font-size:18px;line-height:2}.hero-caption span{font-size:11px;letter-spacing:2px;color:#dbd2f5}.hero-bottom{position:absolute;z-index:1;bottom:6vh;left:7vw;right:7vw;display:flex;align-items:end;justify-content:space-between;font-size:10px;line-height:1.8;letter-spacing:2px}.hero-bottom button{border-bottom:1px solid #b8a2ff77;padding:12px 0;font-size:12px}.hero-bottom button span{margin-left:60px}.about,.catalogue{opacity:0;pointer-events:none}.about{padding:16vh 8vw 5vh;background:radial-gradient(ellipse at 95% 85%,#6350b655,transparent 55%),#080817}.about-title h2,.catalogue h2{font:600 clamp(56px,7.6vw,145px)/.85 'Barlow Condensed',Impact,sans-serif;letter-spacing:-2px;margin:0}.about-title h2 i,.catalogue h2 i{font-family:Georgia,serif;font-weight:400;color:var(--violet)}.about-title{border-bottom:1px solid #c2b3ff33;padding-bottom:3vh}.about-content{display:grid;grid-template-columns:1.1fr 1fr;gap:12vw;padding-top:4vh;width:86%}.intro h3{font-size:40px;margin:0 0 12px}.intro small{font:italic 22px Georgia,serif;color:var(--violet);margin-left:18px}.intro .eyebrow{margin-bottom:10px}.roles{font-size:12px;letter-spacing:1px;color:var(--violet)}.statement{font-size:clamp(22px,2vw,36px);line-height:1.55;margin:22px 0}.bio{color:#bbb5cf;font-size:12px;line-height:2}.contact{display:flex;flex-direction:column;gap:9px;font-size:12px;margin-top:20px}.contact button{padding:0;text-align:left}.experience article{position:relative;border-bottom:1px solid #d6c8ff25;padding:0 0 15px;margin-bottom:16px}.experience article span{font-size:10px;color:var(--violet);float:right}.experience h4{font-size:16px;margin:0 0 9px}.experience article p{font-size:11px;color:#c4bfd3;margin:4px 0}.skills{font-size:10px;line-height:2;letter-spacing:1px;color:#9991b0}.resume{display:block;margin-top:15px;font-size:11px}.catalogue{padding:16vh 7vw 5vh;background:radial-gradient(ellipse at 50% 70%,#6551b4a0,transparent 60%),radial-gradient(ellipse at 95% 0,#6959c599,transparent 40%),#080817}.catalogue-title{text-align:center}.catalogue-title h2{font-size:clamp(50px,7.2vw,130px)}.catalogue-title>p:last-child{font-size:11px;color:#bfb5d7;margin-top:22px;letter-spacing:2px}.cards{position:absolute;inset:0;perspective:1200px}.project-card{position:absolute;width:clamp(135px,13vw,250px);height:clamp(180px,17.4vw,335px);padding:0;transition:filter .3s;transform-style:preserve-3d}.project-card:nth-child(1){left:10%;top:34%}.project-card:nth-child(2){left:29%;top:57%}.project-card:nth-child(3){right:10%;top:34%}.project-card:nth-child(4){right:29%;top:57%}.frame{position:absolute;inset:0;width:100%;height:100%;clip-path:polygon(3% 3%,80% 3%,98% 14%,98% 98%,3% 98%);pointer-events:none}.cover{position:absolute;left:10.5%;top:15%;width:79%;height:70%;object-fit:cover;border-radius:12px;pointer-events:none;box-shadow:inset 0 0 30px #000}.project-card .label{position:absolute;left:0;top:-32px;white-space:nowrap;font-size:13px;letter-spacing:1px;font-weight:700}.label em{font-style:normal;color:var(--violet);margin-right:12px}.project-card:before{content:'';position:absolute;inset:-12px;border:1px solid #bda0ff00;border-radius:20px;transition:.4s}.project-card:hover:before{border-color:#bda0ff55;box-shadow:0 0 35px #bda0ff33}.project-card:hover{filter:brightness(1.13)}.particle{position:absolute;width:3px;height:3px;box-shadow:0 0 8px #d5baff;background:#e0caff;border-radius:50%;pointer-events:none;animation:particle .95s ease-out forwards}@keyframes particle{to{transform:translate(var(--dx),var(--dy));opacity:0}}.catalogue-note{position:absolute;bottom:4vh;left:0;width:100%;text-align:center;font-size:9px;letter-spacing:3px;color:#c1b0ef}.apple-track{position:absolute;z-index:4;left:59%;top:46%;width:9vw;height:10vw;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 25px 28px #07030c88)}.apple{position:absolute;width:100%;height:100%;object-fit:contain;opacity:0}.a1{clip-path:polygon(46% 14%,51% 13%,53% 26%,65% 18%,78% 21%,86% 31%,91% 46%,89% 64%,80% 80%,64% 91%,31% 91%,16% 80%,10% 62%,11% 39%,20% 26%,35% 19%,47% 23%)}.a2{clip-path:polygon(49% 7%,56% 7%,54% 24%,73% 18%,85% 24%,91% 37%,94% 58%,89% 76%,77% 93%,58% 99%,33% 96%,17% 83%,5% 63%,5% 60%,16% 56%,25% 46%,31% 31%,23% 16%,34% 11%,49% 16%)}.progress{position:absolute;z-index:8;right:3vw;top:43%;display:flex;flex-direction:column;align-items:center;gap:16px;font:11px 'Barlow Condensed',sans-serif;color:#d1c2f4}.progress>div{height:100px;width:1px;background:#ffffff33}.progress i{display:block;width:1px;height:0;background:var(--violet)}.project-view{position:fixed;inset:0;background:#0b0a13;z-index:50;overflow:auto}.project-view[hidden]{display:none}.viewer-header{height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:2;background:#0b0a13ee;backdrop-filter:blur(12px);border-bottom:1px solid #b8a2ff22}.viewer-header>span{font-size:12px;letter-spacing:2px}.viewer-header button,.dialog-close{font-size:35px;font-weight:300}.project-heading{padding:70px 8vw 50px;max-width:1200px;margin:auto}.project-heading h2{font-size:clamp(35px,5vw,80px);margin:15px 0}.project-heading p{font-size:13px;color:#c4b9d5;line-height:1.9}.project-images{max-width:1200px;margin:auto;padding:0 30px;display:flex;flex-direction:column;align-items:center;gap:35px}.project-images img{max-width:100%;height:auto;cursor:zoom-in;background:#151220}.project-images img.long{width:min(100%,850px)}.back-project{display:block;margin:60px auto 80px;border-bottom:1px solid var(--violet);padding:15px 30px}.project-content{animation:arrive .6s ease both}@keyframes arrive{from{opacity:0;transform:translateY(40px)}}dialog{color:var(--white);background:#161128;border:1px solid #b8a2ff55;padding:40px;max-width:90vw}dialog::backdrop{background:#05040bea;backdrop-filter:blur(10px)}.dialog-close{position:absolute;right:12px;top:2px}.social-crop{position:relative;width:320px;height:160px;overflow:hidden;margin:20px 0}.social-crop img{position:absolute;width:1792px;max-width:none;left:-1260px;top:-785px}#socialDialog h3{font-size:17px}#socialDialog p,#socialDialog a{font-size:12px}#zoomDialog{padding:35px 0 0;border:0;max-height:94vh;max-width:94vw;overflow:auto;background:transparent}#zoomDialog img{max-width:90vw;display:block}#zoomDialog .dialog-close{position:fixed;right:4vw;top:2vh}body.locked{overflow:hidden}
@media(min-width:1800px){.about-content{padding-top:5vh}.experience article{padding-bottom:22px;margin-bottom:24px}.intro h3{font-size:52px}.bio,.contact{font-size:15px}.experience h4{font-size:20px}.experience article p{font-size:14px}}
@media(max-width:1000px){.availability{display:none}header{height:76px}nav{gap:20px}.about{padding:15vh 7vw 3vh}.about-content{gap:5vw;width:95%}.statement{font-size:24px}.catalogue-title h2{font-size:70px}.project-card:nth-child(2){left:25%}.project-card:nth-child(4){right:25%}}
@media(max-width:650px){header{padding:0 5vw}.logo{font-size:24px}.logo span{font-size:7px}nav{gap:15px;font-size:10px}.hero-copy{top:30%;left:7vw}.hero h1{font-size:50px;letter-spacing:-2px}.hero-bottom>span:last-child{display:none}.hero-image{object-position:60% center}.about-title h2{font-size:60px}.about-content{grid-template-columns:1fr;gap:20px}.experience{display:none}.intro h3{font-size:35px}.statement{font-size:25px}.about{padding-top:18vh}.catalogue{padding-top:18vh}.catalogue-title h2{font-size:45px}.catalogue-title>p:last-child{font-size:9px}.project-card{width:120px;height:158px}.project-card:nth-child(1){left:7%;top:38%}.project-card:nth-child(2){left:7%;top:68%}.project-card:nth-child(3){right:7%;top:38%}.project-card:nth-child(4){right:7%;top:68%}.project-card .label{font-size:10px;top:-25px}.catalogue-note{font-size:7px;bottom:2vh}.progress{right:2vw}.viewer-header>span{font-size:10px}.project-images{padding:0 12px;gap:16px}.project-heading{padding:35px 6vw}.social-crop{width:280px}dialog{padding:30px 20px}}
.a1,.a2,.frame{clip-path:none}.cover{object-position:center top}.letter-title span{display:inline-block;opacity:var(--letter-opacity,1);transform:translateY(var(--letter-y,0px)) rotate(var(--letter-r,0deg));transition:transform .25s ease,opacity .25s ease}.hero .hold{object-fit:fill}.hero .release{object-fit:fill}.project-view{animation:viewer-open .75s ease both}@keyframes viewer-open{0%{opacity:0}40%{opacity:.08}100%{opacity:1}}
body,button,a,.eyebrow,.hero-caption,.portrait-caption,.catalogue-note,.viewer-header,.project-heading p{font-family:MiSans,sans-serif}header{top:24px;height:auto;justify-content:center;pointer-events:none;background:none}nav{pointer-events:auto;gap:30px;padding:7px 25px;background:#12102766;border:1px solid #d0bcff35;border-radius:40px;backdrop-filter:blur(18px);font-size:13px}nav button{padding:9px 0}nav .active{color:var(--violet)}.journey{height:300vh}.scene{transition:opacity .24s ease}.release{transition:opacity .12s ease}.hero-copy{left:5.1%;top:35%}.hero h1{font-family:MiSans,sans-serif;font-weight:900;line-height:1.6;letter-spacing:-2px}.hero h1 span,.hero-caption strong,.project-card .label{background:linear-gradient(160deg,#fff 15%,#ece4ff 50%,#aa8bff 100%);color:transparent;background-clip:text;-webkit-background-clip:text}.hero-rule{height:7px;width:54px;background:#8256ff;margin-top:26px}.hero-caption{margin:44px 0 0}.hero-caption strong{font-size:clamp(22px,2.2vw,44px);font-weight:700}.hero-caption strong span{font-size:inherit;margin-left:18px;color:inherit}.hero-caption small{display:block;color:#aba0ff;font-size:18px;letter-spacing:8px;margin-top:10px}.hero-bottom{justify-content:center;bottom:4%}.hero-bottom button span{margin-left:13px}.about{padding:11vh 5vw 4vh}.about-title{border:0;padding:0;margin-bottom:3vh}.about-title h2{font-family:Georgia,serif;font-size:clamp(46px,5.2vw,100px);font-weight:400;letter-spacing:-3px;color:var(--violet)}.about-content{grid-template-columns:1fr 1.15fr .8fr;gap:2.6vw;width:100%;padding:4px 12px 18px 0;max-height:74vh;overflow:auto;scrollbar-width:thin;scrollbar-color:#a389d566 transparent}.identity h3{font-size:clamp(32px,3.5vw,65px);margin:0 0 8px;font-weight:900}.roles{display:inline-block;padding:7px 14px;border:1px solid #b49cff80;border-radius:30px;background:#6c40a660;margin:4px 0 14px;font-size:clamp(11px,1vw,18px)}.identity-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:clamp(10px,.87vw,16px);color:#d7d2e6;margin-bottom:26px}.info-block{margin-bottom:20px}.info-block h4,.experience h4{font-size:clamp(17px,1.5vw,27px);margin:0 0 10px;font-weight:700}.info-block h4>span{color:var(--violet);margin-right:9px}.block-body{border:1px solid #b795ff66;border-radius:22px;padding:18px 20px;background:linear-gradient(130deg,#9375c825,#4b2d8738)}.block-body h5{font-size:clamp(12px,1vw,19px);margin:0 0 7px;font-weight:700}.block-body p,.experience article p{font-size:clamp(10px,.8vw,15px);line-height:1.7;margin:9px 0;color:#dfd8ed}.block-body b{font-weight:500;color:#f4edff}.date,.experience article span{font-size:clamp(9px,.75vw,14px)!important;color:#c4b0ef!important;white-space:nowrap;float:none}.article-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.article-top h5{max-width:73%}.position{color:var(--violet)!important}.experience article{padding-bottom:15px;margin-bottom:20px;border-bottom:1px solid #b998d633}.experience article:last-child{border:0;margin-bottom:0;padding-bottom:0}.experience strong{color:#e6d3ff}.portrait{position:relative;overflow:hidden;border-radius:26px;aspect-ratio:.8;background:#c1b3db}.portrait img{position:absolute;width:414%;max-width:none;height:auto;left:-292%;top:-52.5%}.portrait-caption{display:flex;flex-direction:column;gap:5px;font-size:10px;letter-spacing:1.5px;color:#c2b2df;margin-top:12px}.catalogue{padding:0;background:#100d30}.catalogue-background{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cards{z-index:6;pointer-events:none}.project-card{width:14vw;height:18.5vw;max-width:275px;max-height:364px;pointer-events:auto;transition:filter .25s,transform .2s}.project-card:nth-child(1){left:8%;top:33%}.project-card:nth-child(2){left:24%;top:64%}.project-card:nth-child(3){right:8%;top:29%}.project-card:nth-child(4){right:24%;top:64%}.cover{left:10.2%;top:14.5%;width:79.5%;height:71%;object-position:center}.project-card .label{top:-45px;font-weight:900;font-size:clamp(18px,1.7vw,33px);letter-spacing:0;transition:transform .25s;transform-origin:left bottom}.project-card:hover:before{border-color:#d4baff99;box-shadow:0 0 24px #a97aff77,0 0 70px #a97aff55}.project-card:hover{filter:brightness(1.17) drop-shadow(0 18px 35px #9e65ff55);z-index:10}.project-card:hover .label{transform:scale(1.08)}.particle{width:4px;height:4px;box-shadow:0 0 12px #dbbcff}.catalogue-note{bottom:2%;font-size:11px}.apple{transition:opacity .09s linear}.apple-orbit{position:absolute;inset:-12%;width:124%;height:124%;opacity:0;transition:opacity .3s}.project-heading{max-width:1920px}.project-images{width:min(100%,1920px);max-width:1920px;padding:0;gap:0}.project-images img,.project-images img.long{display:block;width:100%;max-width:none;height:auto}.viewer-header #viewerBack{font-size:13px}
@media(max-width:1100px){.about-content{grid-template-columns:1fr 1.1fr;gap:24px;max-height:75vh}.portrait-column{grid-column:1/-1;display:grid;grid-template-columns:220px 1fr;gap:24px}.portrait{grid-row:1/3}.portrait-caption{justify-content:end;font-size:12px}.block-body p,.experience article p{font-size:12px;line-height:1.75}.block-body h5{font-size:15px}.date{font-size:10px!important}.project-card{width:16vw;height:21vw}.project-card:nth-child(2){left:20%}.project-card:nth-child(4){right:20%}.project-card .label{font-size:19px;top:-36px}.hero-caption strong{font-size:28px}.hero-copy{top:33%}}
@media(max-width:650px){nav{gap:20px;padding:5px 18px;font-size:11px}.about-content{grid-template-columns:1fr;max-height:75vh}.experience{display:block}.portrait-column{grid-column:auto;grid-template-columns:150px 1fr}.project-card{width:22vw;height:29vw}.project-card:nth-child(1){left:5%;top:35%}.project-card:nth-child(3){right:5%;top:35%}.project-card:nth-child(2){left:8%;top:72%}.project-card:nth-child(4){right:8%;top:72%}.project-card .label{font-size:13px;top:-27px}.project-images{padding:0}.hero-caption strong{font-size:21px}.hero-caption strong span{margin-left:8px}.hero-caption small{font-size:14px}.hero-rule{margin-top:15px}.hero-caption{margin-top:25px}}
.portrait{aspect-ratio:.89}.portrait img{top:-46.5%}.about-title h2{font-size:clamp(46px,4.5vw,86px)}.block-body{padding:14px 18px}.block-body p,.experience article p{font-size:clamp(11px,.72vw,14px);line-height:1.6;margin:7px 0}.experience article{padding-bottom:12px;margin-bottom:14px}.identity-meta{margin-bottom:18px}.info-block{margin-bottom:16px}
@media(max-width:1100px){.portrait-column{display:block;grid-column:auto;grid-row:1;grid-column:1}.intro{grid-column:1;grid-row:2}.experience{grid-column:2;grid-row:1/3}.portrait{width:150px;float:left;margin:0 18px 14px 0}.portrait-caption{font-size:10px;padding-top:18px}.portrait-column .contact{margin-top:15px;font-size:11px}.about-content{grid-template-rows:auto 1fr;gap:18px 24px}.block-body p,.experience article p{font-size:12px}.apple-track{filter:drop-shadow(0 15px 20px #160a2855)}}
@media(max-width:650px){.portrait-column,.intro,.experience{grid-column:1;grid-row:auto}.portrait{width:130px}.about-content{display:block}.portrait-column{min-height:170px;margin-bottom:20px}}
nav{min-width:440px;justify-content:space-evenly;gap:32px;padding:8px 35px}nav .resume-trigger{padding:9px 0}.about{background:#110b31}.about-background{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.about-title{position:relative;height:25vh;margin:0}.about-content{position:relative;max-height:60vh;overflow-y:auto;padding:10px 16px 24px 5px}.block-body{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease;transform-origin:center center;background:linear-gradient(130deg,#3e236dcc,#1b143bcc);backdrop-filter:blur(12px)}.block-body:hover,.block-body:focus-within{transform:scale(1.018);border-color:#ddccff;box-shadow:0 0 18px #bc8cff55,0 0 45px #b490ff33;background:linear-gradient(130deg,#604391ee,#21183fee);position:relative;z-index:2}.work-page{width:100%;display:block}.work-page img{display:block;width:100%;height:auto}#resumeDialog{padding:35px 0 0;border:0;max-height:94vh;max-width:94vw;overflow:auto;background:transparent}#resumeDialog>img{display:block;width:min(850px,88vw);height:auto}#resumeDialog .dialog-close{position:fixed;right:3vw;top:2vh;text-shadow:0 0 10px #000;background:#130e22aa;border-radius:50%;width:45px;height:45px}.contact .resume-trigger{padding:0;text-align:left}.opening-video{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:1;opacity:1;transition:opacity .65s ease;pointer-events:none}.hero-copy{z-index:3;opacity:0;transition:opacity .25s ease}.intro-finished .hero-copy{opacity:1}.hero h1 .title-line{color:var(--white);background:none}.hero h1 .gradient-line{color:var(--violet)}.hero h1 .float-letter{display:inline-block;color:inherit;background:none}.hero h1 .gradient-line .float-letter{background:linear-gradient(150deg,#fff 15%,#d9cbff 55%,#a58cff 100%);background-clip:text;-webkit-background-clip:text;color:transparent}.hero-bottom{z-index:5}.hero-bottom button .explore-label{margin-left:0}.intro-playing .hero-bottom{opacity:0;pointer-events:none}#skipIntro{position:absolute;z-index:8;bottom:5vh;right:5vw;font-size:12px;border:1px solid #bda3ff55;border-radius:30px;background:#130e2780;padding:12px 20px}#skipIntro[hidden]{display:none}.water-ripples{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}.water-ring{position:absolute;width:120px;height:120px;border:1px solid #d8d0ff55;border-radius:50%;box-shadow:inset 0 0 10px #af99ff22,0 0 10px #d9c7ff22;backdrop-filter:blur(.5px);animation:water-wave 1.3s ease-out forwards;transform:translate(-50%,-50%)}.water-ring:after{content:'';position:absolute;inset:10px;border:1px solid #f5f0ff33;border-radius:50%}@keyframes water-wave{from{transform:translate(-50%,-50%) scale(.08);opacity:.65}to{transform:translate(-50%,-50%) scale(1.9);opacity:0}}
@media(max-width:1100px){.about-content{max-height:61vh}.about-title{height:22vh}}
@media(max-width:650px){nav{min-width:0;width:90vw;padding:5px 18px;gap:15px}.about-title{height:19vh}.about-content{max-height:64vh}#skipIntro{bottom:9vh}.opening-video{object-fit:cover}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Fourth edition: one-screen introduction and orbital gallery. */
.about{padding:0}.about-layout{position:absolute;left:50%;top:50%;width:1920px;height:1080px;transform-origin:center}.about-title{height:0}.about-content{position:absolute;left:100px;top:250px;width:1720px;height:780px;max-height:none;overflow:visible;padding:0;display:grid;grid-template-columns:580px 580px 465px;grid-template-rows:1fr;gap:45px}.intro{grid-column:1;grid-row:1;padding-top:130px}.experience{grid-column:2;grid-row:1;display:block}.portrait-column{grid-column:3;grid-row:1;display:block}.identity h3{font-size:80px;display:inline-block;margin-right:20px}.roles{font-size:23px;padding:10px 20px;vertical-align:middle;max-width:330px}.identity-meta{font-size:19px;gap:10px 28px;margin:6px 0 32px}.info-block{margin-bottom:18px}.info-block h4,.experience h4{font-size:27px;margin-bottom:12px}.block-body{padding:18px 24px;border-radius:28px}.block-body h5{font-size:19px}.block-body p,.experience article p{font-size:15px;line-height:1.5;margin:8px 0}.date,.experience article span{font-size:15px!important}.degree,.position{font-size:16px!important}.experience article{padding-bottom:10px;margin-bottom:15px}.portrait{float:none;width:465px;height:580px;aspect-ratio:auto;margin:0;border-radius:32px}.portrait img{width:414%;left:-292%;top:-46.5%}.portrait-caption{font-size:14px;padding-top:0;margin-top:15px}.portrait-column .contact{font-size:17px;margin-top:20px}.skills-block .block-body{padding:13px 24px}.skills-block h4{font-size:23px;margin-bottom:8px}.article-top h5{max-width:70%}.project-card{width:min(16vw,23vh,250px);height:min(21.2vw,30.5vh,331px);max-width:none;max-height:none;transition:filter .25s}.project-card .frame,.project-card .cover{transition:transform .3s}.project-card:hover .frame,.project-card:hover .cover,.project-card.selected .frame,.project-card.selected .cover{transform:scale(1.14)}.project-card.selected{filter:brightness(1.2) drop-shadow(0 0 40px #bc90ff88)}.project-card.selected .label{transform:scale(1.08)}.viewer-header{justify-content:center}.viewer-header #closeProject{position:absolute;right:5vw}.catalogue-note{bottom:3%}
.about-content{height:770px;align-items:start}.intro{padding-top:115px}.identity h3{font-size:72px;margin-right:14px}.roles{font-size:19px;padding:9px 16px;max-width:none}.identity-meta{font-size:17px;margin-bottom:22px}.block-body{padding:13px 20px}.block-body p,.experience article p{font-size:14px;line-height:1.4;margin:7px 0}.info-block{margin-bottom:14px}.info-block h4{margin-bottom:9px}.block-body h5{font-size:18px}.skills-block .block-body{padding:10px 20px}.experience article{margin-bottom:12px;padding-bottom:8px}
.project-card{width:min(15vw,21vh,230px);height:min(19.9vw,27.8vh,305px)}.portrait{height:540px}.portrait img{top:-50%}

/* Fixed constellation: project and apple resonate on hover. */
.project-card{width:14vw;height:18.5vw;max-width:275px;max-height:364px;transition:filter .25s,transform .25s}.project-card:nth-child(1){left:8%;top:33%;right:auto}.project-card:nth-child(2){left:24%;top:64%;right:auto}.project-card:nth-child(3){left:auto;right:8%;top:29%}.project-card:nth-child(4){left:auto;right:24%;top:64%}.resonance-link{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;opacity:0;transition:opacity .25s;overflow:visible}.resonance-link.active{opacity:1}.resonance-link path{fill:none;stroke-linecap:round}.link-halo{stroke:#b78aff;stroke-width:5;filter:blur(5px);opacity:.65}.link-dash{stroke:#eee0ff;stroke-width:1.7;stroke-dasharray:7 9;filter:drop-shadow(0 0 5px #c696ff);animation:link-flow 1.4s linear infinite}.link-node{fill:#fff1ff;filter:drop-shadow(0 0 8px #d4a7ff);animation:node-pulse 1.1s ease-in-out infinite}.apple-track:after{content:'';position:absolute;inset:16%;border-radius:50%;background:radial-gradient(ellipse,#cba3ff22,transparent 65%);box-shadow:0 0 60px #bd8dff33;opacity:0;transition:opacity .25s;z-index:-1}.apple-track.resonating:after{opacity:1;animation:apple-resonance 1.3s ease-in-out infinite}.apple-track.resonating .a3{animation:apple-light 1.3s ease-in-out infinite}@keyframes link-flow{to{stroke-dashoffset:-32}}@keyframes node-pulse{50%{opacity:.5;r:6}}@keyframes apple-resonance{50%{transform:scale(1.08);box-shadow:0 0 95px #cfa8ff66}}@keyframes apple-light{50%{filter:brightness(1.12) drop-shadow(0 0 16px #c69fff88)}}
@media(max-width:1100px){.project-card{width:16vw;height:21vw}.project-card:nth-child(2){left:20%}.project-card:nth-child(4){right:20%}}
@media(max-width:650px){.project-card{width:22vw;height:29vw}.project-card:nth-child(1){left:5%;top:35%}.project-card:nth-child(3){right:5%;top:35%}.project-card:nth-child(2){left:8%;top:72%}.project-card:nth-child(4){right:8%;top:72%}}

/* Clear information headers, original portrait and routed links. */
.opening-still{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:2;pointer-events:none;opacity:1;transition:opacity .22s}.opening-still.playing{opacity:0}.portrait img{position:static;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:50% 48%;left:auto;top:auto}.summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;white-space:nowrap;font-family:MiSans,sans-serif;margin:0 0 15px;color:#f8f3ff;font-weight:700}.summary-row h5,.summary-row span,.summary-row time{font-size:17px!important;font-weight:700!important;color:inherit!important;line-height:1.5;margin:0!important;float:none!important}.work-row{gap:9px}.work-row h5,.work-row span,.work-row time{font-size:14px!important}.summary-row time{margin-left:auto!important}.resonance-link{z-index:9}.project-card:nth-child(3){left:auto;right:24%;top:64%}.project-card:nth-child(4){left:auto;right:8%;top:29%}
@media(max-width:1100px){.project-card:nth-child(3){right:20%}.project-card:nth-child(4){right:8%}}
@media(max-width:650px){.project-card:nth-child(3){right:8%;top:72%}.project-card:nth-child(4){right:5%;top:35%}}

/* Larger readable introduction, transparent glass navigation. */
header{top:22px}nav{min-width:570px;gap:40px;padding:11px 42px;font-size:17px;background:linear-gradient(135deg,#f0e8ff16,#a994db0a);border:1px solid #efe1ff50;box-shadow:inset 0 1px 0 #ffffff24,inset 0 -1px 0 #ad8bef16,0 8px 28px #08031520;backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}nav button{padding:10px 0}.about-content{top:240px;grid-template-columns:600px 630px 400px;gap:45px;width:1720px;height:800px}.block-body p,.experience article p{font-size:17px;line-height:1.42;margin:9px 0}.block-body{padding:16px 21px}.block-body b{font-weight:700}.info-block h4,.experience h4{font-size:30px}.skills-block h4{font-size:26px}.identity h3{font-size:82px}.identity-meta{font-size:20px;gap:9px 20px;line-height:1.45}.roles{font-size:20px}.summary-row h5,.summary-row span,.summary-row time{font-size:18px!important}.work-row h5,.work-row span,.work-row time{font-size:16px!important}.portrait{width:400px;height:580px}.portrait img{object-position:50% 52%;transform:scale(1.16)}.portrait-column .contact{font-size:19px;margin-top:24px}.experience article{margin-bottom:16px;padding-bottom:12px}.link-node{r:4.5}
@media(max-width:650px){nav{min-width:0;width:92vw;font-size:13px;padding:8px 18px;gap:22px}}
.skill-details{border-top:1px solid #d6c2ff33;padding-top:8px;margin-top:13px}.intro{padding-top:105px}

/* Larger contact panel; keep project names clear while artwork grows. */
#socialDialog{width:min(650px,90vw);padding:48px 54px 42px;border-radius:24px;background:linear-gradient(145deg,#261c3fee,#100c20f5);box-shadow:0 20px 90px #03020a88;max-height:90vh;overflow:auto}#socialDialog h3{font-size:26px;margin:0 0 16px}#socialDialog p,#socialDialog a{font-size:17px;line-height:1.6}#socialDialog .social-crop{width:100%;height:auto;aspect-ratio:2;margin:26px 0}#socialDialog .social-crop img{width:560%;left:-393.75%;top:-490.625%}#socialDialog .dialog-close{right:18px;top:12px;font-size:36px}.project-card .frame,.project-card .cover{transform-origin:50% 0}.project-card .label{z-index:20;top:-49px;line-height:1.15}.project-card:hover .label,.project-card.selected .label{transform:translateY(-5px) scale(1.08)}
@media(max-width:1100px){.project-card .label{top:-39px}}
@media(max-width:650px){#socialDialog{padding:42px 24px 28px}#socialDialog h3{font-size:22px}#socialDialog p,#socialDialog a{font-size:14px}.project-card .label{top:-30px}}
.project-card:nth-child(2):hover .frame,.project-card:nth-child(2):hover .cover,.project-card:nth-child(3):hover .frame,.project-card:nth-child(3):hover .cover{transform:scale(1.08)}
