@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800;900&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--muted:#717178;--line:#252529;--accent:#aba7ff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:55px}body{margin:0;background:#000;color:#f2f1f4;font-family:'Space Grotesk','Noto Sans SC',sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#514b80;color:white}.skip-link{position:fixed;left:20px;top:-100px;z-index:99;background:white;color:black;padding:12px}.skip-link:focus{top:20px}.signature{position:absolute;top:38px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;z-index:2}.signature>a{font-size:25px;font-weight:700;letter-spacing:-2px}.signature>a span{vertical-align:top;font-size:11px;letter-spacing:0;margin-left:5px}.signature-note{font-size:10px;letter-spacing:2px;color:#77777f}.side-nav{position:fixed;left:clamp(24px,2.5vw,48px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:27px;z-index:9}.side-nav a{display:flex;gap:13px;align-items:center;font-size:12px;color:#62626b;transition:color .25s}.side-nav a span:first-child{font-size:12px;font-weight:500}.side-nav a:hover,.side-nav a.active{color:#fff}.side-nav a.active:before{content:'';width:3px;height:3px;border-radius:50%;background:#b8b3ef;position:absolute;left:-12px}.hero{min-height:760px;height:100svh;position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;overflow:hidden}.aura{position:absolute;z-index:-1;width:76%;height:85%;left:17%;top:4%;background:radial-gradient(ellipse at 48% 44%,#3f34514a 0%,#26225150 22%,#172b5a35 40%,transparent 64%);filter:blur(55px);animation:drift 14s ease-in-out infinite alternate}.hero:after{content:'';position:absolute;z-index:-1;width:43%;height:36%;top:27%;left:35%;background:radial-gradient(ellipse,#8881a911,transparent 68%);filter:blur(35px)}.hero-content{text-align:center;padding:70px 20px 20px;position:relative}.eyebrow{font-size:11px;letter-spacing:2.5px;color:#a3a0b1;margin:0 0 40px}.hero h1{font-size:clamp(70px,7.8vw,126px);font-weight:800;line-height:1.25;letter-spacing:-.055em;margin:0;position:relative}.hero h1>span{color:#efedf4}.hero-star{position:absolute;font-size:42px;color:#8a80b2;right:-68px;top:45%;font-style:normal;font-weight:400}.hero-subtitle{margin:33px 0 18px;font-size:16px;letter-spacing:2px;color:#cac7d1}.hero-subtitle span{padding:0 10px;color:#67616f}.hero-description{font-size:13px;line-height:2;color:#74717e}.hero-bottom{position:absolute;bottom:34px;left:12%;right:6%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#62616b}.hero-bottom a{position:absolute;left:45%;font-size:24px;color:#a7a3b7;animation:bob 2s infinite}.section{width:auto;max-width:none;margin:0 clamp(24px,3vw,64px) 0 clamp(140px,10vw,180px);padding:120px 0 20px;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:25px}.section-heading h2{font-size:13px;font-weight:400;margin:0;color:#99969f}.section-heading h2 span{font-size:12px;letter-spacing:1.8px;color:#e0dde5;margin-right:15px}.muted{font-size:9px;letter-spacing:1.5px;color:#65626c}.portfolio-intro{display:flex;justify-content:space-between;align-items:flex-end;margin:65px 0 48px}.portfolio-intro h3,.skills-intro h3{font-size:42px;line-height:1.4;letter-spacing:-2px;font-weight:600;margin:0}.portfolio-intro p{font-size:13px;line-height:2;color:#78757f;margin:0 0 5px}.tabs{display:flex;gap:35px;margin-bottom:28px;border-bottom:1px solid var(--line)}.tabs button{position:relative;border:0;background:none;color:#77737f;padding:18px 0;font-size:14px}.tabs button span{font-size:10px;margin-right:8px;color:#64616c}.tabs button[aria-selected=true]{color:#fff}.tabs button[aria-selected=true]:after{position:absolute;content:'';height:2px;background:#cdc6ec;bottom:-1px;left:0;right:0}.tabs button:hover{color:#dad4e6}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.work{padding:0;position:relative;overflow:hidden;border:0;background:#101014;text-align:left;aspect-ratio:1;display:block;width:100%}.work-art{width:100%;height:100%;background-image:url('assets/product-sheet.png');background-size:300% 200%;background-position:var(--position);transition:transform .7s,filter .5s}.work:hover .work-art{transform:scale(1.055);filter:brightness(1.15)}.work-label{position:absolute;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;align-items:flex-end;color:#fff;font-size:12px;text-shadow:0 2px 6px #000}.work-label span:last-child{font-size:9px;color:#a6a1b0}.work:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none}.work-label{z-index:1}.work .zoom{position:absolute;right:16px;top:16px;width:28px;height:28px;border:1px solid #ffffff30;border-radius:50%;display:grid;place-items:center;color:#bbb;font-size:18px;opacity:0;transition:opacity .3s}.work:hover .zoom,.work:focus-visible .zoom{opacity:1}.detail-preview{margin-top:8px;width:100%;background:#0c0d11;border:0;text-align:left;padding:0;display:block;cursor:pointer}.detail-inner{display:grid;grid-template-columns:1fr 1fr;min-height:400px;align-items:center}.detail-copy{padding:50px 14%}.detail-copy .eyebrow{font-size:9px;letter-spacing:3px;margin-bottom:28px}.detail-copy h4{font-size:clamp(24px,3.2vw,48px);letter-spacing:-1px;font-weight:500;line-height:1.25;margin:0 0 16px}.detail-copy p{color:#868695;font-size:12px;line-height:1.8}.detail-image{aspect-ratio:1;background:url('assets/product-sheet.png') 0 0/300% 200%;height:100%;min-height:300px}.detail-features{display:flex;justify-content:space-between;padding:25px 7%;border-top:1px solid #ffffff0d;color:#a4a1ae;font-size:12px}.detail-features span small{display:block;font-size:9px;color:#575563;letter-spacing:2px;margin-top:8px}.detail-lower{height:150px;display:flex;align-items:center;justify-content:center;background:linear-gradient(110deg,#13121c,#0b1019);font-size:22px;letter-spacing:9px;color:#cbc8da}.gallery-footer{display:flex;justify-content:space-between;padding-top:22px;color:#64616b;font-size:10px;letter-spacing:1px}.about{padding-top:150px}.about-top{display:grid;grid-template-columns:240px 1fr;gap:70px;align-items:center;margin:65px 0 75px}.portrait{aspect-ratio:4/5;border:1px solid #29262e;background:linear-gradient(145deg,#17151d,#08080b);border-radius:10px;position:relative;display:grid;place-items:center;overflow:hidden}.portrait-initials{color:#46404f;font-size:53px;letter-spacing:-5px}.portrait-cross{position:absolute;left:18px;top:15px;color:#79717e}.portrait-caption{position:absolute;bottom:20px;color:#68616f;font-size:9px;letter-spacing:1px}.about-info .eyebrow{margin-bottom:20px;font-size:10px}.about-info h3{font-size:43px;font-weight:500;margin:0}.about-info h3 span{font-size:12px;color:#77717f;display:inline-block;margin-left:22px;letter-spacing:2px}.about-statement{font-size:16px;color:#a7a0ae;margin:20px 0 28px}.info-tags{display:flex;flex-wrap:wrap;gap:9px}.info-tags>*{border:1px solid #29252e;background:#0b090d;border-radius:4px;padding:9px 13px;font-size:12px;color:#a39baa}.info-tags a:hover,.info-tags button:hover{border-color:#6b5a7d}.experience-label{font-size:15px;margin-bottom:24px}.experience-label span{color:#59505f;font-size:10px;letter-spacing:2px;margin-left:12px}.experience{border-top:1px solid var(--line);padding:35px 0;display:grid;grid-template-columns:31% 1fr;gap:25px}.experience-date{font-size:13px;color:#b6aabd}.experience-date span{display:block;font-size:9px;color:#665a70;letter-spacing:2px;margin-top:15px}.experience h4{font-size:18px;font-weight:500;margin:0 0 12px}.role{font-size:13px;color:#aaa0b1;margin:0 0 22px}.experience ol{list-style:none;counter-reset:exp;margin:0;padding:0}.experience li{counter-increment:exp;position:relative;padding-left:29px;margin:12px 0;font-size:13px;line-height:1.9;color:#7f7488}.experience li:before{content:'0' counter(exp) '.';position:absolute;left:0;font-size:11px;color:#5b4e66}.skills{padding-top:130px}.skills-intro{display:flex;align-items:flex-end;justify-content:space-between;margin:60px 0 45px}.skills-intro>span{font-size:13px;color:#746d7e}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.skills-grid article{min-height:245px;padding:29px;background:#0b0a0e;border:1px solid #242028;border-radius:7px;position:relative;transition:border-color .3s,background .3s}.skills-grid article:hover{border-color:#534260;background:#100d16}.skill-number{font-size:10px;color:#726579}.skill-icon{float:right;font-size:33px;color:#9f8bae;line-height:1}.skills-grid h4{font-size:19px;font-weight:500;margin:60px 0 14px}.skills-grid p{font-size:13px;line-height:1.9;color:#7f7389;margin:0}.contact{padding-top:150px}.contact-main{text-align:center;padding:100px 0 80px}.contact-main .eyebrow{font-size:10px;margin-bottom:30px}.contact-main h3{display:inline-block;font-size:clamp(58px,6.2vw,95px);line-height:1.35;font-weight:700;letter-spacing:-4px;margin:0;position:relative}.contact-main h3 span{color:#c6bccf}.contact-main i{position:absolute;right:-55px;top:25px;font-size:35px;color:#9a80b2;font-style:normal}.contact-buttons{display:flex;justify-content:center;gap:16px;margin-top:40px}.contact-buttons>*{padding:16px 38px;border-radius:50px;border:1px solid #3b2f44;font-size:14px;background:#19131f;min-width:146px;transition:background .3s,border-color .3s}.contact-buttons>a{background:#e3dbe9;color:#17111b;border-color:#e3dbe9}.contact-buttons span{margin-right:9px}.contact-buttons>*:hover{background:#554261;border-color:#9d87ad}.contact-details{border-top:1px solid var(--line);padding:35px 0 45px;display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:20px}.contact-details>div>span{display:block;font-size:10px;color:#6e5b7b;letter-spacing:2px;margin-bottom:15px}.contact-details a,.contact-details p,.contact-details button{font-size:14px;color:#b3a5bf;margin:0}.contact-details button{padding:0;border:0;background:none}footer{border-top:1px solid var(--line);padding:25px 0 20px;display:flex;justify-content:space-between;font-size:10px;color:#66596f}footer a{font-size:9px;letter-spacing:1px}dialog{width:min(1000px,94vw);max-height:92svh;background:#0d0b11;color:#fff;border:1px solid #3c3345;border-radius:10px;padding:0}dialog::backdrop{background:#000d;backdrop-filter:blur(14px)}.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 25px;border-bottom:1px solid #29232e;position:sticky;top:0;background:#0d0b11;z-index:1}.lightbox-toolbar h2{margin:0;font-size:16px;font-weight:500}.lightbox-toolbar p{font-size:11px;color:#807287;margin:7px 0 0}.lightbox-toolbar button{background:none;border:1px solid #43344e;width:36px;height:36px;border-radius:50%}#lightbox-content .full-art{width:100%;aspect-ratio:1;background-image:url('assets/product-sheet.png');background-size:300% 200%;background-position:var(--position)}#lightbox-content .detail-preview{margin:0;cursor:default}body.modal-open{overflow:hidden}#toast{position:fixed;bottom:35px;left:50%;transform:translate(-50%,20px);background:#ddd2e6;color:#211a26;padding:13px 24px;border-radius:50px;font-size:13px;opacity:0;transition:.3s;pointer-events:none;z-index:99;white-space:nowrap}#toast.visible{opacity:1;transform:translate(-50%,0)}.ai-grid .work:nth-child(2){filter:hue-rotate(30deg)}.ai-grid .work:nth-child(3){filter:hue-rotate(-25deg)}.detail-grid{display:grid;gap:20px}.detail-grid .detail-preview:nth-child(2) .detail-image{background-position:50% 0}.detail-grid .detail-preview:nth-child(3) .detail-image{background-position:100% 100%}@keyframes drift{from{transform:translate(-3%,-2%) scale(.95)}to{transform:translate(4%,5%) scale(1.12)}}@keyframes bob{50%{transform:translateY(7px)}}
@media(max-width:1000px){.side-nav{left:22px}.side-nav a{gap:8px}.section{width:auto;margin:0 32px 0 112px}.hero-star{right:-40px;font-size:30px}.hero h1{font-size:84px}.about-top{grid-template-columns:190px 1fr;gap:35px}.about-info h3 span{display:block;margin:15px 0 0}.skills-grid article{padding:24px}.skills-grid h4{font-size:17px}.detail-inner{min-height:300px}.portfolio-intro h3,.skills-intro h3{font-size:36px}.tabs{gap:22px}}
@media(max-width:650px){.signature{top:25px;left:24px;right:24px}.signature-note{font-size:8px;letter-spacing:1px}.side-nav{left:12px;gap:25px}.side-nav a{flex-direction:column;gap:5px;font-size:9px}.side-nav a span:first-child{font-size:10px}.side-nav a.active:before{left:-6px}.hero{height:100svh;min-height:640px}.hero-content{padding-left:48px;padding-right:22px;width:100%}.hero .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:36px}.hero h1{font-size:clamp(44px,10.6vw,68px);line-height:1.35;letter-spacing:-2px}.hero-star{font-size:23px;right:-5px;top:-17px}.hero-subtitle{font-size:11px;letter-spacing:.5px;margin-top:25px}.hero-subtitle span{padding:0 4px}.hero-description{font-size:11px;line-height:2}.hero-description br{display:none}.hero-bottom{left:65px;right:22px;font-size:7px;letter-spacing:1px;bottom:30px}.hero-bottom span:last-child{display:none}.hero-bottom a{left:auto;right:0}.aura{width:130%;left:-10%;height:70%;top:13%}.section{width:auto;margin:0 23px 0 65px;padding-top:90px}.section-heading{padding-top:20px}.section-heading h2{font-size:11px;line-height:1.8}.section-heading h2 span{font-size:10px;letter-spacing:1px;margin-right:8px}.muted{display:none}.portfolio-intro{margin:35px 0 25px;display:block}.portfolio-intro h3,.skills-intro h3{font-size:30px;letter-spacing:-1px}.portfolio-intro p{margin-top:20px;font-size:11px}.tabs{gap:0;justify-content:space-between}.tabs button{font-size:11px;padding:15px 0}.tabs button span{display:block;font-size:9px;margin:0 0 7px}.work-grid{gap:5px}.work-label{left:9px;right:9px;bottom:9px;font-size:9px}.work-label span:last-child{display:none}.work .zoom{display:none}.detail-inner{grid-template-columns:1fr 1fr;min-height:155px}.detail-copy{padding:15px}.detail-copy .eyebrow{font-size:6px;letter-spacing:1px;margin-bottom:12px}.detail-copy h4{font-size:20px}.detail-copy p{font-size:8px}.detail-image{min-height:155px}.detail-features{padding:14px 7%;font-size:8px}.detail-features small{font-size:6px!important;letter-spacing:1px!important}.detail-lower{height:75px;font-size:12px;letter-spacing:3px}.gallery-footer{font-size:8px}.gallery-footer span:last-child{display:none}.about-top{grid-template-columns:1fr;margin:35px 0 45px;gap:30px}.portrait{width:155px}.about-info .eyebrow{font-size:9px}.about-info h3{font-size:34px}.about-info h3 span{display:inline-block;font-size:9px;margin-left:12px}.about-statement{font-size:13px}.info-tags{gap:6px}.info-tags>*{font-size:10px;padding:8px 9px}.experience{grid-template-columns:1fr;gap:22px;padding:26px 0}.experience-date{font-size:11px}.experience-date span{display:inline-block;margin:0 0 0 15px;font-size:8px}.experience h4{font-size:15px;line-height:1.6}.experience li{font-size:12px}.skills-intro{display:block;margin:35px 0 28px}.skills-intro>span{display:block;margin-top:20px;font-size:11px}.skills-grid{grid-template-columns:repeat(2,1fr);gap:8px}.skills-grid article{padding:17px;min-height:215px}.skill-icon{font-size:23px}.skill-number{font-size:8px}.skills-grid h4{font-size:14px;margin-top:40px;line-height:1.6}.skills-grid p{font-size:11px}.contact-main{padding:65px 0 50px}.contact-main h3{font-size:clamp(36px,9vw,60px);letter-spacing:-2px}.contact-main i{right:-17px;top:-18px;font-size:24px}.contact-main .eyebrow{font-size:8px;letter-spacing:1.5px}.contact-buttons{gap:10px}.contact-buttons>*{padding:13px 22px;min-width:0;font-size:12px}.contact-details{grid-template-columns:1fr;gap:27px;padding:28px 0}.contact-details>div>span{font-size:9px;margin-bottom:9px}.contact-details a,.contact-details p,.contact-details button{font-size:13px}footer{font-size:8px;gap:10px;align-items:center;line-height:1.8}footer a{font-size:7px;white-space:nowrap}.lightbox-toolbar{padding:15px}.lightbox-toolbar h2{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.uploaded-art{display:block;object-fit:cover;background:none}.full-uploaded,.full-detail{display:block;width:100%;height:auto;object-fit:contain}.detail-uploaded{display:block;width:100%;height:auto;max-height:2040px;object-fit:cover;object-position:top}.full-detail{max-height:none}.portrait-image{width:100%;height:100%;object-fit:cover}.portrait{cursor:pointer}.image-edit-toggle{background:none;border:1px solid #51405e;border-radius:20px;padding:6px 14px;font-size:11px;color:#c5b3d1}.image-edit-hint{font-size:12px;line-height:1.8;color:#b7a4c5;border:1px solid #42324e;padding:12px 16px;border-radius:6px}.editing-images .work,.editing-images button.detail-preview,.editing-images .portrait{outline:1px dashed #b995d0;outline-offset:-3px}.editing-images .work .zoom{opacity:1}.replace-lightbox-image{margin-left:auto;margin-right:14px;width:auto!important;border-radius:20px!important;padding:0 14px;font-size:12px}.lightbox-toolbar button[hidden],.image-edit-hint[hidden]{display:none}footer{flex-wrap:wrap;align-items:center;gap:12px}

/* Project entry cards and nested six-image project galleries. */
#gallery{scroll-margin-top:30px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-card{position:relative;display:block;aspect-ratio:1;width:100%;padding:0;border:1px solid #242028;background:#0b0a0e;overflow:hidden;text-align:left}.project-cover{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s}.project-card:hover .project-cover{transform:scale(1.035)}.project-card:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#000c);pointer-events:none}.project-card-caption{position:absolute;bottom:30px;left:30px;right:30px;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.project-card-caption strong{display:block;font-size:26px;font-weight:500}.project-card-caption small{display:block;font-size:11px;color:#bbb0c5;letter-spacing:1.5px;margin-top:10px}.project-open-label{font-size:12px;white-space:nowrap}.project-view-heading{display:flex;align-items:center;gap:24px;margin:0 0 24px}.project-view-heading h4{font-size:22px;font-weight:500;margin:0}.project-view-heading button{border:1px solid #44334f;border-radius:24px;background:#100c15;padding:11px 18px;font-size:12px}.project-view-heading [data-replace-cover]{margin-left:auto}.project-view-heading button:hover{border-color:#a082b6}.project-view-heading [data-replace-cover]:focus-visible,.project-card:focus-visible{outline:2px solid #aba7ff;outline-offset:4px}@media(max-width:650px){.project-grid{gap:8px}.project-card-caption{left:12px;right:12px;bottom:14px;display:block}.project-card-caption strong{font-size:17px}.project-card-caption small{font-size:8px;letter-spacing:.5px;margin-top:5px}.project-open-label{display:block;margin-top:12px;font-size:9px}.project-view-heading{gap:10px;flex-wrap:wrap}.project-view-heading h4{font-size:18px}.project-view-heading button{font-size:10px;padding:9px 12px}}
