/* Blue-violet designer studio: code-native grid and independently animated assets. */
:root{--accent:#8b7cff;--line:#29243f;--studio-purple:#7760ff;--studio-blue:#446cff}body{background:#030305}.signature{left:clamp(24px,2.5vw,48px);top:30px;right:3%}.signature>a{color:#c5bbff}.signature-note{color:#8c839e;letter-spacing:2px}.side-nav a.active,.side-nav a:hover{color:#bcb0ff}.side-nav a.active:before{background:#8b7cff;box-shadow:0 0 10px #8b7cff}.hero-studio{background:#030305;min-height:800px;height:100svh;align-items:center;justify-content:initial;border-bottom:1px solid #34254c}.hero-studio .aura{left:35%;top:8%;width:65%;height:85%;background:radial-gradient(ellipse at 55% 50%,#5f3cef42,#263f7824 45%,transparent 70%);filter:blur(65px)}.studio-grid{position:absolute;inset:0;z-index:-2;opacity:.3;background-image:linear-gradient(#6e62982d 1px,transparent 1px),linear-gradient(90deg,#6e62982d 1px,transparent 1px);background-size:74px 74px;mask-image:radial-gradient(ellipse at 65% 45%,#000 15%,transparent 75%);animation:grid-drift 30s linear infinite}.studio-floor{position:absolute;left:-20%;right:-20%;height:70%;bottom:-39%;background-image:linear-gradient(#9b86f955 1px,transparent 1px),linear-gradient(90deg,#9b86f955 1px,transparent 1px);background-size:85px 85px;transform:perspective(650px) rotateX(62deg);transform-origin:center top;mask-image:linear-gradient(transparent,#0009 35%,transparent);z-index:-1;animation:floor-drift 18s linear infinite}.studio-ribbon{position:absolute;right:-50px;top:100px;width:520px;padding:11px 0;transform:rotate(16deg);background:#7963ff;overflow:hidden;color:#1b1046;z-index:3;border-top:1px solid #b09aff;border-bottom:1px solid #b09aff;box-shadow:0 0 40px #5f3cee24}.studio-ribbon div{white-space:nowrap;width:max-content;font-size:14px;font-weight:700;letter-spacing:1px;animation:ribbon-slide 18s linear infinite}.hero-frame{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;width:calc(100% - clamp(140px,10vw,180px) - clamp(24px,3vw,64px));margin-left:clamp(140px,10vw,180px);padding:95px 0 130px;position:relative;z-index:1}.hero-studio .hero-content{text-align:left;padding:0;z-index:2;min-width:0}.hero-studio .eyebrow{font-size:11px;letter-spacing:2px;margin:0 0 26px;color:#afa4cc}.hero-plus{color:#a797ff;font-size:19px;margin-right:10px}.hero-year{color:#a99aff;font-size:clamp(27px,2.8vw,48px);font-weight:700;letter-spacing:-2px;margin-bottom:18px;display:flex;align-items:center;gap:25px}.hero-year span{font-size:10px;font-weight:400;letter-spacing:2px;color:#888196}.hero-studio h1{font-size:clamp(60px,5.65vw,132px);font-weight:900;letter-spacing:-.05em;line-height:1.2;margin:0;white-space:nowrap;text-shadow:4px 4px 0 #5436aa40}.hero-studio h1 span{color:#a18dff}.hero-outline{font-size:clamp(36px,4.2vw,80px);line-height:1.15;color:transparent;-webkit-text-stroke:1px #9b89e6;font-weight:500;letter-spacing:-3px;margin:18px 0 25px}.hero-studio .hero-subtitle{font-size:clamp(12px,1vw,17px);letter-spacing:1px;margin:0 0 16px;color:#c9c0db}.hero-studio .hero-subtitle span{color:#76668f;padding:0 6px}.hero-studio .hero-description{color:#8d819e;font-size:13px;line-height:1.9;margin:0 0 28px}.hero-work-link{display:inline-flex;align-items:center;gap:18px;background:#7860f3;color:#fff;padding:14px 22px;border:1px solid #a18dff;border-radius:4px;font-size:13px;box-shadow:0 0 30px #694de22a;transition:background .3s,box-shadow .3s}.hero-work-link span{font-size:9px;letter-spacing:1px;color:#ded6ff}.hero-work-link:hover{background:#937afc;box-shadow:0 0 40px #7f5dff44}.hero-scene{position:relative;aspect-ratio:1;min-width:0;isolation:isolate}.ip-character{position:absolute;width:112%;height:auto;max-width:none;left:-7%;top:-2%;filter:drop-shadow(0 30px 55px #170b5f70);animation:ip-float 7s ease-in-out infinite;z-index:2;pointer-events:none}.character-glow{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(#6c46e940,transparent 70%);filter:blur(35px);animation:glow-breathe 7s ease-in-out infinite}.orbit{position:absolute;left:5%;top:28%;width:94%;height:45%;border:1px solid #9b83d24a;border-radius:50%;transform:rotate(-25deg);z-index:-1;box-shadow:0 0 20px #8974d414}.orbit-two{transform:rotate(35deg);height:72%;width:69%;left:20%;top:10%;border-style:dashed;opacity:.45}.software{position:absolute;z-index:4;display:flex;flex-direction:column;align-items:center;gap:10px;animation:prop-float 6s ease-in-out infinite;--turn:-12deg}.software>span{width:clamp(66px,6.6vw,112px);aspect-ratio:1;border-radius:13px;display:grid;place-items:center;font-size:clamp(35px,3.7vw,65px);font-weight:600;letter-spacing:-3px;border:2px solid;box-shadow:8px 9px 0 #0007,inset 0 0 18px #ffffff0d;transform:perspective(300px) rotateY(-15deg) rotateZ(var(--turn));background:#101d3d}.software small{font-size:9px;letter-spacing:1.3px;color:#a89fba;text-shadow:0 2px 6px #000}.software-ps{left:6%;top:3%;animation-delay:-2s}.software-ps>span{color:#67bbff;border-color:#3982cf;background:linear-gradient(145deg,#153763,#081529)}.software-c4d{right:0%;top:24%;animation-duration:7.3s;animation-delay:-4s;--turn:12deg}.software-c4d>span{color:#e8e0ff;border-color:#957ce4;background:linear-gradient(145deg,#5134a5,#1b1249);font-size:clamp(23px,2.4vw,42px);letter-spacing:-1px;border-radius:50%}.software-ai{right:12%;bottom:0%;animation-duration:6.4s;animation-delay:-1s;--turn:10deg}.software-ai>span{color:#f5ac69;border-color:#b47850;background:linear-gradient(145deg,#492b1e,#21100d)}.scene-spark{position:absolute;color:#a794ff;z-index:3;animation:spark-float 9s ease-in-out infinite}.spark-one{font-size:70px;left:-2%;top:58%;animation-delay:-3s}.spark-two{font-size:45px;right:9%;top:4%;color:#d1c8ea;animation-delay:-6s}.scene-coordinate{position:absolute;font-size:9px;letter-spacing:1.5px;color:#76648e;line-height:1.8}.coordinate-one{left:4%;bottom:8%}.coordinate-two{right:0;bottom:29%}.hero-background-word{position:absolute;bottom:-55px;left:15%;font-size:clamp(170px,22vw,490px);line-height:1;font-weight:700;letter-spacing:-15px;color:#8770d20a;-webkit-text-stroke:1px #967de413;z-index:-1;pointer-events:none}.hero-studio .hero-bottom{left:clamp(140px,10vw,180px);right:3%;bottom:32px;color:#897b9f;font-size:9px;letter-spacing:1.5px}.hero-studio .hero-bottom a{left:50%;color:#bdadf4}.section-heading{border-top-color:#3c3058}.section-heading h2 span{color:#b4a2ff}.section-heading h2{color:#8d81a2}.section-heading .muted{color:#6f618b}.portfolio-intro h3,.skills-intro h3{color:#ece7fb}.tabs button[aria-selected=true]{color:#b8a7ff}.tabs button[aria-selected=true]:after{background:#9b80ff;box-shadow:0 0 12px #7752f966}.project-card{border-color:#302342;background:#0c0912}.project-card-caption small{color:#b8a7dc}.project-card-caption strong{color:#f1edff}.project-open-label{color:#c0adff}.project-view-heading button,.image-edit-toggle{border-color:#654997;color:#c9b9f5}.about-top{gap:clamp(35px,5vw,110px)}.portrait{background:radial-gradient(ellipse at 20% 10%,#332257,#0a0710 80%);border-color:#483261;box-shadow:0 0 60px #7344c310}.about-info .eyebrow{color:#a18ccb}.about-info h3 span{color:#9c82c0}.info-tags>*{border-color:#3b2b4e;background:#100b18;color:#b4a4cb}.experience{border-color:#30213f}.experience-date{color:#b19acf}.experience-date span,.experience li:before{color:#82699d}.skills-grid article{background:linear-gradient(140deg,#151020,#09070f);border-color:#362449}.skills-grid article:hover{border-color:#8964c2;background:#191026}.skill-icon{color:#a183ff}.skills-grid p,.experience li{color:#a092b3}.skill-number{color:#9073b6}.contact-main{position:relative;background:radial-gradient(ellipse at center,#5c2fa118,transparent 65%)}.contact-main h3 span{color:#aa91fa}.contact-main i{color:#8e66ee}.contact-buttons>a{background:#8c70ed;color:white;border-color:#a38af7}.contact-buttons>button{background:#1a102d;border-color:#6a4a98}.contact-details>div>span{color:#9c7dc5}.contact-details a,.contact-details p,.contact-details button{color:#c9b8e4}footer{border-color:#342342}
@keyframes ip-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-28px) rotate(1deg)}}@keyframes prop-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-22px) rotate(4deg)}}@keyframes spark-float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(16px) rotate(35deg)}}@keyframes glow-breathe{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@keyframes grid-drift{to{background-position:74px 74px}}@keyframes floor-drift{to{background-position:0 85px}}@keyframes ribbon-slide{to{transform:translateX(-45%)}}
@media(min-width:1900px){.hero-frame{grid-template-columns:1.15fr 1fr}.hero-scene{width:min(100%,870px);justify-self:center}.hero-studio h1{font-size:clamp(120px,6.2vw,155px)}}
@media(max-width:1100px){.hero-frame{margin-left:112px;width:calc(100% - 144px);grid-template-columns:1.1fr 1fr}.hero-studio h1{font-size:clamp(48px,5.5vw,65px)}.hero-outline{font-size:48px}.hero-studio .hero-subtitle{font-size:11px;letter-spacing:0}.hero-studio .hero-description{font-size:12px}.hero-studio .hero-bottom{left:112px}.software small{font-size:7px}.studio-ribbon{width:350px;top:95px;right:-45px}.studio-ribbon div{font-size:11px}.scene-coordinate{display:none}.spark-one{font-size:44px}}
@media(max-width:650px){.hero-studio{height:auto;min-height:100svh;padding-top:80px;padding-bottom:70px}.hero-frame{width:calc(100% - 88px);margin-left:65px;padding:35px 0 30px;grid-template-columns:1fr;gap:25px}.hero-studio .hero-content{width:100%;padding:0;text-align:left}.hero-studio .eyebrow{font-size:8px;letter-spacing:1px;margin:0 0 17px}.hero-plus{font-size:13px;margin-right:5px}.hero-year{font-size:29px;gap:15px;margin-bottom:12px}.hero-year span{font-size:7px;letter-spacing:1px}.hero-studio h1{font-size:clamp(41px,10.8vw,68px);line-height:1.25}.hero-outline{font-size:38px;margin:12px 0 18px;letter-spacing:-1.5px}.hero-studio .hero-subtitle{font-size:10px;line-height:1.9;letter-spacing:0;margin-bottom:10px}.hero-studio .hero-subtitle span{padding:0 2px}.hero-studio .hero-description{font-size:11px;line-height:1.8;margin-bottom:18px}.hero-work-link{font-size:11px;gap:12px;padding:11px 15px}.hero-work-link span{font-size:8px}.hero-scene{width:100%;max-width:400px;justify-self:center;margin-top:10px}.ip-character{width:106%;left:-3%;top:0}.software>span{width:54px;font-size:32px;border-radius:9px}.software-c4d>span{font-size:20px;border-radius:50%}.software-ps{left:0;top:0}.software-c4d{right:-6px;top:30%}.software-ai{right:6%;bottom:-5px}.software small{font-size:6px;letter-spacing:.5px}.software{gap:7px}.spark-one{font-size:35px;left:-7%}.spark-two{font-size:24px;right:8%;top:-5%}.studio-ribbon{top:60px;right:-75px;width:270px;padding:7px 0;transform:rotate(18deg)}.studio-ribbon div{font-size:8px}.hero-studio .hero-bottom{left:65px;right:23px;bottom:22px;font-size:7px}.hero-studio .hero-bottom a{left:auto;right:0}.hero-background-word{font-size:130px;letter-spacing:-6px;left:50px;bottom:45px}.studio-grid{background-size:40px 40px}.about-top{gap:30px}}
@media(prefers-reduced-motion:reduce){.hero-studio *{animation:none!important}.hero-studio .ip-character{transform:none}.studio-grid,.studio-floor,.studio-ribbon div{animation:none!important}}

.replace-ip-character{display:none;position:absolute;left:50%;bottom:-30px;transform:translateX(-50%);z-index:8;border:1px solid #7051a4;border-radius:20px;background:#150c24;color:#c5b1ee;padding:10px 17px;font-size:12px}.editing-images .replace-ip-character{display:block}

/* Graphic poster title: offset outlines, controlled cuts and violet-pink accents. */
.hero-studio h1.portfolio-display{display:flex;align-items:baseline;gap:.045em;width:max-content;max-width:100%;font-family:'Noto Sans SC',sans-serif;font-size:clamp(100px,10vw,240px);font-weight:900;line-height:1.3;letter-spacing:-.035em;transform:skewX(-8deg);transform-origin:left center;white-space:nowrap;margin:12px 0 8px;padding-right:.07em;color:#f6f3ff;text-shadow:none;-webkit-text-stroke:0;filter:none;}
.hero-studio h1.portfolio-display>.display-letter{display:block;position:relative;isolation:isolate;color:#f6f3ff;--cut-start:45%;--cut-end:48%;}
.display-letter .letter-face{position:relative;display:block;z-index:2;color:#f6f3ff;-webkit-text-stroke:0;text-shadow:none;mask-image:linear-gradient(to bottom,#000 0%,#000 var(--cut-start),transparent var(--cut-start),transparent var(--cut-end),#000 var(--cut-end),#000 100%);}
.display-letter .letter-outline{position:absolute;inset:0;transform:translate(.028em,.035em);color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px #bfb0ec;z-index:0;pointer-events:none;}
.display-letter:before{content:attr(data-letter);position:absolute;inset:0;color:#c667c5;-webkit-text-stroke:0;transform:translate(-.036em,-.012em);clip-path:polygon(0 7%,28% 7%,28% 40%,0 40%);z-index:1;pointer-events:none;}
.display-letter .letter-slice{position:absolute;inset:0;z-index:3;color:#f6f3ff;-webkit-text-stroke:0;clip-path:polygon(0 var(--cut-start),100% var(--cut-start),100% var(--cut-end),0 var(--cut-end));transform:translate(.04em,-.006em);pointer-events:none;}
.display-letter:nth-child(2){--cut-start:64%;--cut-end:67%;}.display-letter:nth-child(2):before{clip-path:polygon(68% 60%,100% 60%,100% 90%,68% 90%);transform:translate(.045em,.012em);}.display-letter:nth-child(3){--cut-start:54%;--cut-end:57%;}.display-letter:nth-child(3):before{color:#9f80ef;clip-path:polygon(0 12%,28% 12%,28% 51%,0 51%);}
@media(max-width:1100px){.hero-studio h1.portfolio-display{font-size:clamp(74px,9.5vw,110px);}}
@media(max-width:650px){.hero-studio h1.portfolio-display{font-size:clamp(64px,21vw,116px);gap:.035em;margin:15px 0 10px;line-height:1.3;}.display-letter .letter-outline{-webkit-text-stroke:.75px #bfb0ec;}}

/* Restrained color accents on primarily white glyph faces. */
.hero-studio .display-letter .letter-face{background:linear-gradient(125deg,#f6f3ff 0%,#f6f3ff 42%,#ad95ff 42%,#ad95ff 49%,#f6f3ff 49%,#f6f3ff 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.hero-studio .display-letter:nth-child(2) .letter-face{background-image:linear-gradient(125deg,#f6f3ff 0%,#f6f3ff 73%,#ce98ce 73%,#ce98ce 80%,#f6f3ff 80%,#f6f3ff 100%);}
.hero-studio .display-letter:nth-child(3) .letter-face{background-image:linear-gradient(125deg,#f6f3ff 0%,#f6f3ff 54%,#a993ed 54%,#a993ed 62%,#f6f3ff 62%,#f6f3ff 100%);}
.hero-studio .display-letter .letter-slice{color:#f6f3ff;}.hero-studio .display-letter:nth-child(2) .letter-slice{color:#f6f3ff;}.hero-studio .display-letter:nth-child(3) .letter-slice{color:#b6a2f2;}

/* Prominent floating top navigation; content no longer reserves a side rail. */
html{scroll-padding-top:112px}.signature{position:fixed;top:33px;z-index:20;pointer-events:none}.signature>a{pointer-events:auto;text-shadow:0 2px 12px #000}.signature-note{text-shadow:0 2px 12px #000}
.side-nav{position:fixed;top:22px;left:50%;right:auto;transform:translateX(-50%);display:flex;flex-direction:row;align-items:center;gap:6px;padding:7px;background:rgba(14,10,24,.88);border:1px solid #6d539b;border-radius:50px;box-shadow:0 8px 32px #0008,0 0 24px #7850d41c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:30;}
.side-nav a{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:35px;font-size:15px;font-weight:500;line-height:1.3;color:#c5b9da;white-space:nowrap;transition:background .25s,color .25s,box-shadow .25s;}
.side-nav a span:first-child{font-size:11px;color:#937fab;font-weight:500}.side-nav a.active{background:#7656d6;color:#fff;box-shadow:inset 0 1px 0 #baa1f64d,0 3px 15px #6544c535}.side-nav a.active span:first-child{color:#ddd0ff}.side-nav a:hover{color:#fff;background:#342147}.side-nav a.active:hover{background:#8a67e6}.side-nav a.active:before{display:none}
.section{width:auto;max-width:none;margin:0 clamp(24px,5vw,96px);scroll-margin-top:16px}.hero-frame{width:calc(100% - 2 * clamp(24px,5vw,96px));margin-left:clamp(24px,5vw,96px)}.hero-studio .hero-bottom{left:clamp(24px,5vw,96px);right:clamp(24px,5vw,96px)}#gallery{scroll-margin-top:112px}
@media(max-width:1100px){.side-nav a{padding:12px 17px;font-size:14px}.signature-note{display:none}.section{margin:0 32px}.hero-frame{margin-left:32px;width:calc(100% - 64px)}.hero-studio .hero-bottom{left:32px;right:32px}}
@media(max-width:650px){html{scroll-padding-top:90px}.signature{display:none}.side-nav{top:12px;left:16px;right:16px;width:auto;transform:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:5px;border-radius:28px}.side-nav a{padding:12px 4px;gap:5px;font-size:12px;min-width:0;flex-direction:row}.side-nav a span:first-child{font-size:9px}.section{margin:0 22px;scroll-margin-top:12px}.hero-frame{margin-left:22px;width:calc(100% - 44px);padding-top:25px}.hero-studio .hero-bottom{left:22px;right:22px}.hero-studio{padding-top:92px}.studio-ribbon{top:90px;right:-90px;width:235px}#gallery{scroll-margin-top:90px}}

/* Personal profile: editorial typography and restrained blue-violet atmosphere. */
.about-studio{position:relative;isolation:isolate;padding-bottom:45px}.about-studio:before{content:'';position:absolute;inset:65px 0 0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 16% 32%,#5038a42b,transparent 42%),radial-gradient(ellipse at 83% 24%,#26499922,transparent 43%),radial-gradient(ellipse at 64% 83%,#62357612,transparent 46%);animation:about-light 14s ease-in-out infinite alternate}.about-studio:after{content:'';position:absolute;inset:100px 0 40px;z-index:-1;pointer-events:none;background-image:linear-gradient(#7863a00c 1px,transparent 1px),linear-gradient(90deg,#7863a00c 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at 20% 32%,#000,transparent 74%)}
.about-studio .about-heading{align-items:flex-end;padding-top:32px;gap:28px}.about-studio .about-heading h2{font-size:clamp(38px,3.3vw,72px);font-weight:600;line-height:1.2;letter-spacing:-1.5px;color:#f2edfc}.about-studio .about-heading h2>span{display:block;font-size:12px;font-weight:400;letter-spacing:2px;margin:0 0 24px;color:#a790dd}.about-studio .about-heading h2 em{display:inline-block;font-family:'Space Grotesk',sans-serif;font-size:clamp(34px,3.7vw,84px);font-style:normal;font-weight:500;letter-spacing:-3px;margin-left:28px;color:#aa97e5}.about-heading-note{font-size:16px;line-height:1.8;color:#a093b3;margin:0;text-align:right}.about-heading-note span{display:block;font-size:10px;letter-spacing:2px;margin-top:14px;color:#756488}
.about-studio .about-top{display:grid;grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);gap:clamp(45px,6vw,130px);align-items:center;margin:70px 0 75px}.profile-visual{max-width:410px;width:100%;position:relative}.profile-photo-label{display:flex;justify-content:space-between;font-size:10px;color:#9f8abd;letter-spacing:1.5px;margin-bottom:15px}.about-studio .portrait{width:100%;aspect-ratio:4/4.7;border-radius:14px;border:1px solid #664990;background:radial-gradient(ellipse at 15% 15%,#49327366,transparent 64%),linear-gradient(150deg,#17101f,#080911);box-shadow:0 15px 65px #32157422,inset 0 1px 0 #d2b6ff12}.about-studio .portrait-initials{font-size:clamp(65px,6vw,112px);font-weight:500;letter-spacing:-7px;color:#8b72ad55}.about-studio .portrait-caption{font-size:11px;letter-spacing:1px;color:#9f88b5}.about-studio .portrait-cross{color:#c2a5ed;font-size:20px}.profile-disciplines{display:flex;justify-content:space-between;gap:8px;padding-top:18px;font-size:9px;color:#a997c5;letter-spacing:1px}.about-studio .about-info .eyebrow{font-size:12px;letter-spacing:2px;color:#a78bd0;margin-bottom:22px}.about-studio .about-info h3{font-size:clamp(38px,3.5vw,66px);font-weight:600;line-height:1.3;letter-spacing:-1px;margin:0}.about-studio .about-info h3 span{display:block;margin:14px 0 0;font-size:14px;font-weight:400;color:#9d88bb;letter-spacing:3px}.about-studio .about-statement{font-size:clamp(19px,1.65vw,30px);color:#d1c1ed;line-height:1.6;margin:30px 0 14px}.about-bio{max-width:690px;font-size:16px;color:#9588a9;line-height:1.95;margin:0 0 30px}.about-studio .info-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-width:820px;border-top:1px solid #473354}.about-studio .info-tags>*{display:flex;flex-direction:column;gap:11px;text-align:left;border:0;border-bottom:1px solid #30223e;background:transparent;border-radius:0;padding:20px 18px 20px 0;min-width:0;transition:background .2s,color .2s}.about-studio .info-tags a:hover,.about-studio .info-tags button:hover{background:#8e67d40c}.info-caption{font-size:10px;color:#85709d;letter-spacing:1.5px}.info-value{font-size:16px;color:#d1c6e3;overflow-wrap:anywhere}
.about-studio .experience-label{display:flex;align-items:baseline;justify-content:space-between;font-size:26px;font-weight:500;margin-bottom:25px;color:#e8dff7}.about-studio .experience-label span{font-size:11px;font-weight:400;letter-spacing:2px;color:#8c74a6;margin-left:20px}.experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.about-studio .experience{display:flex;flex-direction:column;gap:28px;position:relative;margin:0;padding:clamp(26px,2.4vw,46px);border:1px solid #3d2a51;border-radius:12px;background:linear-gradient(135deg,#191020d9,#090911d9);box-shadow:inset 0 1px 0 #b194e608}.about-studio .experience:first-child{border-color:#68518f;background:linear-gradient(135deg,#241735bb,#0b0d1abb)}.about-studio .experience-date{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:15px;font-weight:500;color:#c1a9e9;padding-bottom:23px;border-bottom:1px solid #563c682e}.about-studio .experience-date span{display:block;font-size:10px;letter-spacing:1.5px;color:#8e74aa;margin:0}.about-studio .experience h4{font-size:clamp(18px,1.4vw,25px);font-weight:500;line-height:1.6;letter-spacing:0;margin:0 0 12px;color:#e8e0f2}.about-studio .role{display:inline-block;font-size:13px;color:#b99add;border:1px solid #63407f;border-radius:30px;padding:7px 14px;background:#7e49af10;margin:0 0 22px}.about-studio .experience li{font-size:15px;color:#a398b2;line-height:1.9;padding-left:30px;margin:15px 0}.about-studio .experience li:before{font-size:11px;color:#aa85cd}
@keyframes about-light{from{opacity:.7}to{opacity:1}}
@media(max-width:1100px){.about-studio .about-top{grid-template-columns:minmax(220px,.5fr) minmax(0,1fr);gap:42px}.about-studio .about-heading h2 em{margin-left:18px}.about-heading-note{font-size:13px}.about-studio .experience{padding:25px}.about-studio .experience li{font-size:14px}.about-studio .experience-date{font-size:12px;gap:10px}.about-studio .experience-date span{font-size:8px}}
@media(max-width:750px){.about-studio .about-heading{align-items:flex-start}.about-studio .about-heading h2{font-size:35px}.about-studio .about-heading h2 em{display:block;font-size:44px;letter-spacing:-2px;margin:12px 0 0}.about-heading-note{font-size:12px;padding-top:45px}.about-heading-note span{font-size:8px;letter-spacing:1px}.about-studio .about-top{grid-template-columns:1fr;gap:36px;margin:42px 0 50px}.profile-visual{max-width:290px}.about-studio .portrait{aspect-ratio:4/4.2}.about-studio .portrait-initials{font-size:80px}.about-studio .about-info h3{font-size:39px}.about-studio .about-info h3 span{font-size:12px}.about-studio .about-statement{font-size:21px;margin-top:24px}.about-bio{font-size:14px}.about-studio .info-tags>*{padding:17px 8px 17px 0}.info-value{font-size:13px}.info-caption{font-size:9px;letter-spacing:.6px}.about-studio .experience-label{font-size:23px;gap:12px}.about-studio .experience-label span{font-size:8px;letter-spacing:1px;margin-left:0}.experience-grid{grid-template-columns:1fr;gap:15px}.about-studio .experience{padding:24px;gap:22px}.about-studio .experience-date{font-size:13px}.about-studio .experience-date span{font-size:9px}.about-studio .experience h4{font-size:18px}.about-studio .experience li{font-size:14px}.about-studio:after{background-size:40px 40px}}
@media(prefers-reduced-motion:reduce){.about-studio:before{animation:none}}

/* Large, staggered artwork category navigation. */
.portfolio .category-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:clamp(16px,2vw,36px);width:min(100%,1760px);margin:65px auto 75px;padding:22px 0 30px;border:0;position:relative;isolation:isolate;scroll-margin-top:112px}.category-cards:before{content:'';position:absolute;inset:0 -2% -20px;z-index:-1;background:radial-gradient(ellipse at 50% 55%,#6640ba1c,transparent 70%);pointer-events:none}.category-card-shell{position:relative;min-width:0}.category-card-shell:nth-child(even){margin-top:72px}.tabs .category-card{position:relative;display:block;width:100%;aspect-ratio:3/4.5;overflow:hidden;text-align:left;padding:0;margin:0;border:1px solid #4a345f;border-radius:18px;background:#100b19;color:#fff;box-shadow:0 12px 40px #0004;transition:transform .4s,border-color .3s,box-shadow .3s}.tabs .category-card:hover{transform:translateY(-10px);border-color:#a380dc;box-shadow:0 20px 50px #39206638}.tabs .category-card[aria-selected=true]{border-color:#b08cf4;box-shadow:0 0 0 1px #9b74d82a,0 15px 50px #7347ac24;color:#fff}.tabs .category-card:after,.tabs .category-card[aria-selected=true]:after{content:'';position:absolute;inset:0;height:auto;width:auto;background:linear-gradient(180deg,#08041148 0%,transparent 38%,#0b071394 66%,#090610f5 100%);pointer-events:none;box-shadow:none}.tabs .category-image{display:block;position:absolute;inset:0;width:100%;height:100%;margin:0;background-position:var(--position);background-size:300% 200%;transition:transform .6s}.category-image img{width:100%;height:100%;object-fit:cover;display:block}.category-card:hover .category-image{transform:scale(1.04)}.tabs .category-number{position:absolute;left:23px;top:21px;z-index:2;display:block;margin:0;font-size:clamp(28px,2.7vw,54px);font-weight:600;letter-spacing:-2px;color:#e4d9fa;text-shadow:0 3px 14px #0008}.tabs .category-caption{position:absolute;left:24px;right:24px;bottom:28px;z-index:2;margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.tabs .category-name{font-size:clamp(19px,1.6vw,30px);font-weight:500;line-height:1.4;color:#f2eaff;margin:0;letter-spacing:0}.tabs .category-en{font-size:10px;font-weight:400;color:#b8a3d0;letter-spacing:1.5px;margin:0;line-height:1.7}.tabs .category-enter{font-size:12px;color:#d8c4fc;border-top:1px solid #bb93ff30;padding-top:15px;margin:8px 0 0;width:100%;letter-spacing:1px}.tabs .category-cover-edit{position:absolute;right:15px;top:16px;z-index:4;margin:0;padding:8px 12px;border:1px solid #d8baff45;border-radius:30px;color:#e0d3f0;font-size:10px;background:#100818b3;backdrop-filter:blur(10px)}.tabs .category-cover-edit:hover{background:#684698;border-color:#b29bcc}.category-view-header{display:flex;align-items:center;gap:25px;margin:0 0 28px;padding-top:24px;border-top:1px solid #49325e;scroll-margin-top:112px}.category-view-header h3{font-size:26px;letter-spacing:0;font-weight:500;margin:0;color:#e5d9f8}.category-view-header>button{padding:10px 17px;border:1px solid #61417d;border-radius:30px;background:#130c1c;font-size:12px;color:#bfa2df}.category-view-header[hidden],#gallery[hidden],.gallery-footer[hidden]{display:none!important}.gallery-footer{margin-bottom:30px}
@media(max-width:1100px){.portfolio .category-cards{gap:17px;margin-top:45px}.tabs .category-card{aspect-ratio:3/5}.tabs .category-caption{left:17px;right:17px;bottom:20px;gap:9px}.tabs .category-name{font-size:19px}.tabs .category-en{font-size:8px;letter-spacing:1px}.tabs .category-number{left:17px;top:18px;font-size:32px}.tabs .category-cover-edit{right:10px;top:12px;font-size:9px;padding:7px 9px}.category-card-shell:nth-child(even){margin-top:46px}}
@media(max-width:780px){.portfolio .category-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:35px auto 50px;padding-top:10px}.tabs .category-card{aspect-ratio:3/4.4}.category-card-shell:nth-child(even){margin-top:30px}.category-card-shell:nth-child(3){margin-top:-12px}.tabs .category-name{font-size:clamp(16px,3vw,22px)}.tabs .category-cover-edit{font-size:9px}.tabs .category-number{font-size:30px}.tabs .category-caption{left:15px;right:15px;bottom:18px}.tabs .category-enter{font-size:10px;padding-top:10px;margin-top:2px}.category-view-header{scroll-margin-top:90px;gap:15px}.category-view-header h3{font-size:21px}.category-view-header>button{font-size:11px}.portfolio .category-cards{scroll-margin-top:90px}}
@media(max-width:400px){.portfolio .category-cards{gap:12px}.tabs .category-caption{left:12px;right:12px;bottom:14px;gap:6px}.tabs .category-name{font-size:16px}.tabs .category-en{font-size:7px;letter-spacing:.5px}.tabs .category-number{font-size:26px;left:12px}.tabs .category-cover-edit{font-size:8px;padding:6px 7px;right:8px}.tabs .category-card{border-radius:12px}}
@media(prefers-reduced-motion:reduce){.tabs .category-card,.tabs .category-image{transition:none}.tabs .category-card:hover{transform:none}}


/* Creative toolkit and welcoming contact studio. */
.skills-studio,.contact-studio{position:relative;isolation:isolate}.skills-studio:before,.contact-studio:before{content:'';position:absolute;inset:100px 0 0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 15% 45%,#5836a622,transparent 48%),radial-gradient(ellipse at 88% 28%,#29427e22,transparent 45%)}.skills-studio:after,.contact-studio:after{content:'';position:absolute;inset:160px 0 50px;z-index:-1;background-image:linear-gradient(#8871b30b 1px,transparent 1px),linear-gradient(90deg,#8871b30b 1px,transparent 1px);background-size:65px 65px;mask-image:radial-gradient(ellipse,#000,transparent 80%);pointer-events:none}.skills-heading h2,.contact-heading h2{font-size:clamp(30px,2.7vw,58px);font-weight:600;letter-spacing:-1px;color:#f0eafb;line-height:1.25}.skills-heading h2>span,.contact-heading h2>span{display:block;font-size:11px;letter-spacing:2px;margin:0 0 22px;color:#9d83c9}.skills-heading h2 em,.contact-heading h2 em{display:inline-block;margin-left:18px;font-family:'Space Grotesk',sans-serif;font-size:1.1em;font-weight:500;font-style:normal;letter-spacing:-2px;color:#aa94df}.skills-studio .skills-intro{margin:45px 0 40px;align-items:center}.skills-studio .skills-intro h3{font-size:clamp(26px,2.5vw,43px);font-weight:500;line-height:1.5;letter-spacing:-1px}.skill-tools{text-align:right}.skill-tools p{font-size:14px;color:#9c8fae;margin:0 0 20px}.skill-tools>div{display:flex;gap:8px;justify-content:flex-end}.skill-tools>div>span{display:inline-block;border:1px solid #644480;background:#26153255;border-radius:7px;padding:9px 14px;font-size:12px;letter-spacing:1px;color:#b79cdc}
.skills-studio .skills-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;grid-auto-rows:minmax(215px,auto)}.skills-studio .capability-card{grid-column:span 4;min-height:0;padding:30px;border-radius:15px;border:1px solid #4a2f60;background:linear-gradient(140deg,#1b1228da,#0a0910ed);overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform .35s,border-color .35s,box-shadow .35s}.skills-studio .capability-card:hover{transform:translateY(-5px);border-color:#a277d2;box-shadow:0 15px 40px #32124028;background:linear-gradient(140deg,#281736,#0b0c17)}.skills-studio .capability-1{grid-column:span 5;grid-row:span 2;background:radial-gradient(ellipse at 60% 30%,#5b369347,transparent 65%),linear-gradient(135deg,#20162b,#0a0a13);border-color:#795399}.skills-studio .capability-2{grid-column:span 7}.skills-studio .capability-3{grid-column:span 3}.skills-studio .capability-4{grid-column:span 4}.skills-studio .capability-5{grid-column:span 5}.skills-studio .capability-6{grid-column:span 7;background:radial-gradient(ellipse at 95% 70%,#364b8f30,transparent 58%),linear-gradient(140deg,#21132d,#0b0c14)}.skills-studio .skill-number{font-size:11px;color:#a784c5;letter-spacing:1px}.skills-studio .skill-icon{position:absolute;right:28px;top:23px;font-size:35px;color:#b394f1;float:none}.skills-studio .capability-card h4{font-size:clamp(18px,1.45vw,26px);font-weight:500;line-height:1.4;margin:35px 0 13px;color:#eae1f6}.skills-studio .capability-card p{font-size:14px;line-height:1.85;color:#a799b8;max-width:700px;margin:0 0 25px}.skill-footnote{margin-top:auto;padding-top:15px;border-top:1px solid #b58ce51a;font-size:9px;letter-spacing:1.5px;line-height:1.8;color:#836797}.skills-studio .capability-1 h4{font-size:clamp(25px,2vw,36px);margin-top:auto}.skills-studio .capability-1 p{max-width:430px}.skill-orbit-art{height:215px;position:relative;margin:20px auto;width:90%;max-width:330px;display:flex;align-items:center;justify-content:center;isolation:isolate}.skill-orbit-art strong{font-family:'Space Grotesk',sans-serif;font-size:80px;font-weight:500;color:#c6aaf1;letter-spacing:-4px;text-shadow:0 0 40px #8453c550}.skill-orbit-art small{position:absolute;bottom:5px;font-size:8px;letter-spacing:3px;color:#a88ac9}.skill-orbit-ring{position:absolute;left:9%;top:14%;width:82%;height:70%;border:1px solid #a577d365;border-radius:50%;transform:rotate(-27deg)}.ring-b{transform:rotate(31deg);border-color:#6084b360}.ring-c{transform:rotate(85deg);border-color:#a783c63a}.skill-orbit-art:after{content:'+';position:absolute;right:12%;top:7%;color:#c0a0eb;font-size:27px;animation:prop-float 8s ease-in-out infinite}.skill-layout-art{position:absolute;top:34px;right:110px;width:135px;display:grid;gap:8px;opacity:.5;transform:rotate(-8deg)}.skill-layout-art span{height:9px;border:1px solid #8970b3;border-radius:3px;background:#a078cf16}.skill-layout-art span:nth-child(2){width:70%;border-color:#677fae}.skill-layout-art span:nth-child(3){width:87%}.capability-6:after{content:'✳';position:absolute;right:8%;top:25%;font-size:125px;color:#9380c914;transform:rotate(15deg);pointer-events:none}.skills-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:24px;color:#7c6a8f;font-size:10px;letter-spacing:1px}
.contact-studio .contact-layout{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:30px;position:relative;margin:30px 0 55px;min-height:580px}.contact-studio .contact-main{padding:70px 0;text-align:left;background:none;position:relative;z-index:2}.contact-studio .contact-main .eyebrow{font-size:11px;letter-spacing:2px;color:#aa8dcc;margin-bottom:28px}.contact-studio .contact-main h3{font-size:clamp(48px,5.5vw,110px);font-weight:700;line-height:1.35;letter-spacing:-3px;margin:0;white-space:nowrap}.contact-studio .contact-main h3 span{color:#ac93f3}.contact-studio .contact-main i{right:-55px;top:-12px;font-size:34px;color:#bb92e8}.contact-studio .contact-buttons{justify-content:flex-start;gap:16px;margin-top:38px}.contact-studio .contact-buttons>*{padding:17px 35px;font-size:15px;min-width:150px;border-radius:35px}.contact-studio .contact-buttons>a{background:linear-gradient(125deg,#9270e8,#7952d0);box-shadow:0 10px 30px #6841a32a}.contact-studio .contact-buttons>button{background:#1b112e;border-color:#8562ad}.contact-scene{position:relative;min-width:0;aspect-ratio:1/1.12;max-height:760px;isolation:isolate}.contact-scene:before{content:'';position:absolute;inset:14% 4%;background:radial-gradient(ellipse,#5c359b40,transparent 67%);filter:blur(30px);z-index:-1;animation:glow-breathe 10s ease-in-out infinite}.contact-ip{position:absolute;width:94%;height:100%;left:4%;top:0;object-fit:contain;filter:drop-shadow(0 25px 40px #1a0d3344);animation:contact-float 8s ease-in-out infinite;z-index:2;pointer-events:none}.contact-orbit{position:absolute;left:2%;top:25%;width:97%;height:54%;border:1px solid #9365c94a;border-radius:50%;transform:rotate(-24deg);z-index:-1}.contact-orbit.orbit-tilted{left:16%;width:68%;height:84%;top:3%;transform:rotate(28deg);border-style:dashed;border-color:#667aaa30}.contact-floating-label{position:absolute;top:16%;left:-7%;z-index:3;font-size:14px;font-weight:500;letter-spacing:2px;color:#d8c6f3;border:1px solid #795794;border-radius:10px;padding:14px 20px;background:#1a0f2bd9;transform:rotate(-9deg);animation:prop-float 7s ease-in-out infinite;backdrop-filter:blur(10px)}.contact-spark{position:absolute;right:5%;top:14%;font-size:46px;color:#aa84d8;animation:spark-float 9s ease-in-out infinite;z-index:3}.contact-plus{position:absolute;left:0;bottom:23%;font-size:32px;color:#9594d1;animation:prop-float 6s ease-in-out infinite}.contact-scene-caption{position:absolute;bottom:0;left:12%;font-size:8px;color:#8c73a4;letter-spacing:1.5px}.contact-studio .contact-details{display:grid;grid-template-columns:1.3fr 1fr .85fr;gap:18px;border:0;padding:0 0 35px}.contact-studio .contact-details>div{padding:25px 28px;border:1px solid #4a305e;border-radius:12px;background:linear-gradient(140deg,#1b1126c9,#0a0b10e6)}.contact-studio .contact-details>div>span{font-size:10px;letter-spacing:2px;color:#9977ba}.contact-studio .contact-details a,.contact-studio .contact-details button,.contact-studio .contact-details p{font-size:16px;overflow-wrap:anywhere;color:#d0bee2}.contact-studio footer{padding-bottom:30px}
@keyframes contact-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-18px) rotate(1deg)}}
@media(max-width:1100px){.skills-studio .capability-card{padding:24px}.skills-studio .skills-grid{gap:12px}.skill-layout-art{right:90px;width:90px}.skills-studio .capability-card p{font-size:13px}.contact-studio .contact-main h3{font-size:clamp(44px,5.6vw,65px)}.contact-studio .contact-main i{right:-25px;font-size:25px}.contact-studio .contact-layout{min-height:440px}.contact-studio .contact-details>div{padding:23px 20px}.contact-studio .contact-details a,.contact-studio .contact-details button,.contact-studio .contact-details p{font-size:14px}.contact-floating-label{font-size:10px;padding:11px 14px}.contact-studio .contact-buttons>*{padding:15px 27px;min-width:125px;font-size:13px}}
@media(max-width:750px){.skills-heading h2,.contact-heading h2{font-size:30px}.skills-heading h2 em,.contact-heading h2 em{font-size:35px;margin-left:12px}.skills-studio .skills-intro{display:block;margin:32px 0}.skills-studio .skills-intro h3{font-size:29px}.skill-tools{text-align:left;margin-top:22px}.skill-tools>div{justify-content:flex-start}.skill-tools p{font-size:12px;margin-bottom:12px}.skills-studio .skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}.skills-studio .capability-card{grid-column:span 1;grid-row:auto;padding:20px;min-height:230px}.skills-studio .capability-1,.skills-studio .capability-2,.skills-studio .capability-6{grid-column:span 2}.skill-orbit-art{height:175px;width:240px;margin:12px auto 20px}.skill-orbit-art strong{font-size:66px}.skills-studio .capability-1 h4{font-size:25px}.skills-studio .capability-card h4{font-size:18px;line-height:1.55;margin-top:32px}.skills-studio .skill-icon{font-size:29px;top:20px;right:20px}.skill-footnote{font-size:7px;letter-spacing:.8px}.skills-bottom{font-size:9px}.skills-bottom>span:last-child{display:none}.contact-studio .contact-layout{grid-template-columns:1fr;gap:8px;margin:30px 0 35px;min-height:0}.contact-studio .contact-main{padding:28px 0 0}.contact-studio .contact-main h3{font-size:clamp(40px,10vw,68px);letter-spacing:-2px;line-height:1.4}.contact-studio .contact-main .eyebrow{font-size:10px}.contact-studio .contact-main i{font-size:25px;right:-27px;top:3px}.contact-studio .contact-buttons{margin-top:25px}.contact-studio .contact-buttons>*{padding:14px 27px;min-width:120px;font-size:13px}.contact-scene{width:90%;max-width:400px;justify-self:center;aspect-ratio:1/1.1;margin-top:20px}.contact-floating-label{left:0;top:18%;font-size:10px;padding:10px 13px}.contact-spark{font-size:30px}.contact-scene-caption{font-size:7px;letter-spacing:.7px;left:5%}.contact-studio .contact-details{grid-template-columns:1fr;gap:10px;padding-bottom:25px}.contact-studio .contact-details>div{padding:20px 22px}.contact-studio .contact-details>div>span{margin-bottom:10px}.contact-studio .contact-details a,.contact-studio .contact-details button,.contact-studio .contact-details p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.contact-ip,.contact-scene:before,.contact-floating-label,.contact-spark,.contact-plus,.skill-orbit-art:after{animation:none}.skills-studio .capability-card{transition:none}.skills-studio .capability-card:hover{transform:none}}

.replace-contact-ip{display:none;position:absolute;left:50%;bottom:-25px;transform:translateX(-50%);z-index:5;padding:10px 16px;border:1px solid #785394;border-radius:25px;background:#1d102c;color:#d1b6eb;font-size:12px}.editing-images .replace-contact-ip{display:block}

/* Portfolio atmosphere: low light, local grid and fine orbital accents. */
.portfolio{position:relative;isolation:isolate}.portfolio:before{content:'';position:absolute;inset:65px 0 0;z-index:-3;pointer-events:none;background:radial-gradient(ellipse 650px 650px at 16% 290px,#6040ba28,transparent 72%),radial-gradient(ellipse 780px 540px at 90% 580px,#315a9a22,transparent 72%),radial-gradient(ellipse 700px 420px at 50% 100%,#67459a12,transparent 76%);animation:portfolio-light-breathe 14s ease-in-out infinite alternate}.portfolio:after{content:'';position:absolute;top:125px;left:0;right:0;height:1050px;max-height:80%;z-index:-2;pointer-events:none;background-image:linear-gradient(#8e77bc13 1px,transparent 1px),linear-gradient(90deg,#8e77bc13 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse at 75% 30%,#0008,transparent 72%)}.portfolio-atmosphere{position:absolute;top:145px;left:0;right:0;height:900px;max-height:85%;overflow:hidden;z-index:-1;pointer-events:none}.portfolio-orbit{position:absolute;border:1px solid #9572c527;border-radius:50%;width:750px;height:315px;right:-90px;top:35px;transform:rotate(-27deg)}.portfolio-orbit.orbit-secondary{width:630px;height:235px;right:-115px;top:100px;transform:rotate(24deg);border-style:dashed;border-color:#6282ad23}.portfolio-spark{position:absolute;color:#a289c861;animation:portfolio-spark-drift 10s ease-in-out infinite}.portfolio-spark.spark-left{left:3%;top:33%;font-size:28px;font-weight:400}.portfolio-spark.spark-right{right:24%;top:6%;font-size:38px;animation-delay:-5s;color:#8a76bf50}.portfolio-edge-mark{position:absolute;top:115px;right:7%;width:9px;height:9px;border:1px solid #c1a3e651;transform:rotate(45deg);box-shadow:0 0 20px #8267bd1a}.portfolio .section-heading{position:relative}.portfolio .section-heading:after{content:'';position:absolute;top:-1px;left:0;width:95px;height:2px;background:linear-gradient(90deg,#a281dd99,transparent);box-shadow:0 0 18px #9771d52a}
@keyframes portfolio-light-breathe{from{opacity:.7}to{opacity:1}}@keyframes portfolio-spark-drift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(12deg)}}
@media(max-width:750px){.portfolio:before{background:radial-gradient(ellipse 350px 500px at 15% 260px,#6040ba23,transparent 72%),radial-gradient(ellipse 360px 450px at 95% 640px,#315a9a1c,transparent 72%)}.portfolio:after{height:800px;background-size:44px 44px}.portfolio-atmosphere{height:700px;top:155px}.portfolio-orbit{width:400px;height:200px;right:-160px;top:35px}.portfolio-orbit.orbit-secondary{width:350px;height:160px;right:-170px;top:80px}.portfolio-spark.spark-right{right:12%;top:6%;font-size:26px}.portfolio-spark.spark-left{font-size:20px}.portfolio-edge-mark{right:5%;top:90px}}
@media(prefers-reduced-motion:reduce){.portfolio:before,.portfolio-spark{animation:none}}

/* Compact project collection: small previews with independent editorial captions. */
.project-collection{width:min(100%,1460px);margin:0 auto;padding:15px 0 28px}.project-collection-note{display:flex;justify-content:space-between;gap:20px;margin-bottom:25px;font-size:11px;letter-spacing:1.5px;color:#a38abc}.project-collection-note>span:last-child{letter-spacing:0;color:#8b7a9e}.project-collection .project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;align-items:start}.project-collection .project-card{width:100%;aspect-ratio:auto;padding:14px;border:1px solid #49305f;border-radius:14px;background:linear-gradient(145deg,#1b1228e6,#0a0a12f0);text-align:left;box-shadow:0 10px 35px #0002;transition:transform .35s,border-color .35s,box-shadow .35s}.project-collection .project-card:nth-child(even){margin-top:28px}.project-collection .project-card:hover{transform:translateY(-6px);border-color:#a580d8;box-shadow:0 15px 35px #54307b26}.project-collection .project-card:after{display:none}.project-card-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#9878b3;padding:2px 3px 13px}.project-card-top>span:last-child{font-size:14px;color:#c2a6e5;letter-spacing:0}.project-image-frame{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:#090a10}.project-collection .project-cover{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.project-collection .project-card-caption{position:static;display:flex;flex-direction:column;align-items:flex-start;gap:22px;margin:0;padding:20px 4px 6px;text-shadow:none}.project-collection .project-card-caption strong{font-size:22px;font-weight:500;color:#ebe2f7}.project-collection .project-card-caption small{font-size:9px;letter-spacing:1px;line-height:1.8;margin-top:8px;color:#947ba9}.project-collection .project-open-label{display:block;width:100%;border-top:1px solid #a47dc326;padding-top:12px;color:#c4a8e6;font-size:11px}
/* Nine-image coverflow gallery. */
.render-carousel{width:min(100%,1480px);margin:auto;border:1px solid #4d345f;border-radius:22px;background:radial-gradient(ellipse at 50% 52%,#48336936,transparent 64%),linear-gradient(135deg,#100c19ef,#080a12f5);overflow:hidden;position:relative;box-shadow:0 20px 70px #26103324}.render-carousel:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#9a84be0a 1px,transparent 1px),linear-gradient(90deg,#9a84be0a 1px,transparent 1px);background-size:55px 55px;mask-image:radial-gradient(ellipse,#000,transparent 78%);pointer-events:none}.render-carousel-heading{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:32px 40px 0}.render-carousel-heading span{font-size:9px;color:#a58bbe;letter-spacing:2px}.render-carousel-heading h4{font-size:25px;font-weight:500;color:#e5d8f6;margin:12px 0 0}.render-carousel-heading p{font-size:12px;color:#9d8cae;margin:0 0 4px}.render-carousel-stage{position:relative;height:clamp(350px,51svh,580px);perspective:1400px;overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;outline-offset:-4px}.render-carousel-stage.is-dragging{cursor:grabbing}.render-slide{position:absolute;left:50%;top:50%;aspect-ratio:1/1.13;padding:0;border:1px solid #654877;border-radius:15px;background:#110d1a;overflow:hidden;box-shadow:0 25px 50px #0007;cursor:pointer;transform-origin:center;transition:transform .65s cubic-bezier(.22,.68,.16,1),opacity .55s,border-color .35s;will-change:transform}.render-slide.is-current{border-color:#ba97f0;box-shadow:0 25px 60px #0008,0 0 35px #8a56c120}.is-dragging .render-slide{transition:none;cursor:grabbing}.render-slide-image{position:absolute;inset:0 0 13%;display:block;overflow:hidden}.render-slide-image img,.render-slide-image .work-art{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.render-slide-caption{position:absolute;left:0;right:0;bottom:0;height:13%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:#140d20}.render-slide-caption strong{font-weight:500;font-size:13px;color:#e2d2f6;white-space:nowrap}.render-slide-caption small{font-size:7px;letter-spacing:1px;color:#a087b6;white-space:nowrap}.render-carousel-controls{position:relative;display:flex;justify-content:center;align-items:center;gap:22px;padding:12px 30px 27px}.render-step{display:grid;place-items:center;width:43px;height:43px;border:1px solid #72528c;border-radius:50%;background:#241431;color:#dfc5fc;font-size:30px;line-height:1;transition:background .2s}.render-step:hover{background:#6b4693}.render-dots{display:flex;align-items:center;gap:9px}.render-dots button{display:block;width:7px;height:7px;min-width:7px;border:0;border-radius:10px;padding:0;background:#746180;transition:width .3s,background .3s;position:relative}.render-dots button:before{content:'';position:absolute;inset:-8px -3px}.render-dots button.is-current{width:24px;background:#b799f2}.render-count{position:absolute;right:35px;font-size:11px;letter-spacing:2px;color:#ac8ecb}
@media(max-width:1100px){.project-collection .project-grid{gap:14px}.project-collection .project-card{padding:10px}.project-collection .project-card-caption strong{font-size:19px}.project-collection .project-card-caption small{font-size:8px;letter-spacing:.5px}.render-carousel-heading{padding:27px 27px 0}.render-carousel-heading h4{font-size:22px}.render-count{right:22px;letter-spacing:1px}}
@media(max-width:900px){.project-collection{max-width:760px}.project-collection .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-collection .project-card:nth-child(even){margin-top:22px}.project-collection .project-card:nth-child(3){margin-top:-6px}}
@media(max-width:650px){.project-collection-note{font-size:8px;letter-spacing:1px}.project-collection-note>span:last-child{font-size:9px}.project-collection .project-grid{gap:12px}.project-collection .project-card{padding:9px;border-radius:11px}.project-card-top{font-size:7px;letter-spacing:1px;padding-bottom:9px}.project-card-top>span:last-child{font-size:11px}.project-collection .project-card-caption{padding:14px 3px 3px;gap:15px}.project-collection .project-card-caption strong{font-size:17px}.project-collection .project-card-caption small{font-size:7px;letter-spacing:.5px}.project-collection .project-open-label{font-size:9px;padding-top:10px}.render-carousel{border-radius:15px}.render-carousel-heading{padding:22px 20px 0;display:block}.render-carousel-heading span{font-size:8px;letter-spacing:1px}.render-carousel-heading h4{font-size:20px}.render-carousel-heading p{margin-top:12px;font-size:10px}.render-carousel-stage{height:clamp(300px,44svh,440px);perspective:1000px}.render-slide{border-radius:11px}.render-slide-caption{padding:8px 12px}.render-slide-caption strong{font-size:10px}.render-slide-caption small{display:none}.render-carousel-controls{gap:13px;padding:8px 15px 24px}.render-step{width:35px;height:35px;font-size:25px}.render-dots{gap:7px}.render-dots button{width:6px;height:6px;min-width:6px}.render-dots button.is-current{width:16px}.render-count{position:static;font-size:9px;letter-spacing:.5px;margin-left:0}}
@media(prefers-reduced-motion:reduce){.render-slide,.render-dots button,.project-collection .project-card{transition:none}.project-collection .project-card:hover{transform:none}}

.render-carousel-controls{position:static}.render-carousel .render-step{position:absolute;top:52%;transform:translateY(-50%);z-index:20}.render-carousel [data-render-prev]{left:22px}.render-carousel [data-render-next]{right:22px}@media(max-width:650px){.render-carousel [data-render-prev]{left:8px}.render-carousel [data-render-next]{right:8px}}

/* Four prominent project cards, with the editorial treatment preserved. */
.project-collection{width:min(100%,1720px);padding-top:18px}.project-collection .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.project-collection .project-card{padding:20px;border-radius:18px}.project-collection .project-card:nth-child(even){margin-top:36px}.project-collection .project-card:nth-child(3){margin-top:0}.project-image-frame{aspect-ratio:16/10;border-radius:12px}.project-card-top{font-size:11px;padding:3px 4px 16px}.project-card-top>span:last-child{font-size:20px}.project-collection .project-card-caption{padding:24px 6px 8px;flex-direction:row;align-items:flex-end;gap:20px}.project-collection .project-card-caption strong{font-size:clamp(24px,2vw,35px)}.project-collection .project-card-caption small{font-size:11px;letter-spacing:1.5px}.project-collection .project-open-label{width:auto;white-space:nowrap;border:1px solid #705085;border-radius:25px;padding:10px 16px;font-size:12px;background:#38204833}
.detail-carousel .render-carousel-stage{height:clamp(420px,59svh,640px)}.detail-carousel .render-slide{aspect-ratio:3/4;border-radius:16px}.detail-carousel .render-slide-image{bottom:11%}.detail-carousel .render-slide-caption{height:11%}.detail-carousel .render-slide-image>.detail-uploaded{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:top}.detail-carousel .render-slide-image>.detail-preview{margin:0;height:100%;overflow:hidden;pointer-events:none}.detail-carousel .detail-inner{display:block;height:75%;min-height:0}.detail-carousel .detail-copy{display:none}.detail-carousel .detail-image{width:100%;height:100%;min-height:0;aspect-ratio:auto}.detail-carousel .detail-features{font-size:9px;padding:18px 15px;gap:10px}.detail-carousel .detail-features small{font-size:6px;letter-spacing:.5px}.detail-carousel .detail-lower{height:80px;font-size:13px;letter-spacing:2px}.detail-carousel .render-slide-caption small{font-size:7px}
@media(max-width:900px){.project-collection{max-width:none}.project-collection .project-grid{gap:18px}.project-collection .project-card{padding:14px}.project-collection .project-card-caption{flex-direction:column;align-items:flex-start;gap:16px}.project-collection .project-card-caption strong{font-size:25px}.project-collection .project-card-caption small{font-size:9px}.project-collection .project-open-label{font-size:11px;padding:9px 14px}.project-image-frame{aspect-ratio:4/3}}
@media(max-width:650px){.project-collection .project-grid{grid-template-columns:1fr;gap:20px}.project-collection .project-card:nth-child(even){margin-top:0}.project-collection .project-card{padding:15px;border-radius:15px}.project-collection .project-card-caption{flex-direction:row;align-items:flex-end;padding:21px 3px 4px;gap:12px}.project-collection .project-card-caption strong{font-size:25px}.project-collection .project-card-caption small{font-size:8px;letter-spacing:1px}.project-collection .project-open-label{font-size:10px;padding:9px 13px}.project-card-top{font-size:9px;padding-bottom:13px}.project-card-top>span:last-child{font-size:16px}.project-image-frame{aspect-ratio:16/11}.detail-carousel .render-carousel-stage{height:clamp(360px,50svh,480px)}.detail-carousel .render-slide{border-radius:12px}}

/* Two AIGC collections, each opening one complete long visual. */
.aigc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;width:min(100%,1520px);margin:12px auto 35px}.aigc-card-shell{position:relative;min-width:0}.aigc-card{position:relative;display:block;width:100%;aspect-ratio:4/3.8;padding:0;overflow:hidden;border:1px solid #62427b;border-radius:20px;background:#100b18;text-align:left;box-shadow:0 12px 45px #27113322;transition:transform .35s,border-color .35s}.aigc-card:hover{transform:translateY(-6px);border-color:#ba93e5}.aigc-cover{position:absolute;inset:0;display:block}.aigc-cover img,.aigc-cover .work-art{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s}.aigc-card:hover .aigc-cover>*{transform:scale(1.03)}.aigc-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#09041145,transparent 35%,#0b071b99 70%,#0b061af2);pointer-events:none}.aigc-number{position:absolute;left:28px;top:24px;font-size:35px;font-weight:500;color:#e0cff8;z-index:1;letter-spacing:-1px}.aigc-caption{position:absolute;left:30px;right:30px;bottom:30px;z-index:1;display:flex;flex-direction:column;gap:12px}.aigc-caption strong{font-size:clamp(23px,2vw,34px);font-weight:500;color:#eee5fc}.aigc-caption small{font-size:10px;letter-spacing:2px;color:#b198cd}.aigc-caption>span{font-size:12px;margin-top:10px;padding-top:17px;border-top:1px solid #bc98e93b;color:#d8bced}.aigc-cover-edit{position:absolute;top:24px;right:24px;padding:9px 14px;border:1px solid #bb98d755;border-radius:25px;background:#1c0d2ab8;color:#dac1eb;backdrop-filter:blur(12px);font-size:11px;z-index:3}.aigc-cover-edit:hover{background:#714395}.ai-long-intro{padding:45px 35px;background:radial-gradient(ellipse at top right,#66409340,transparent 65%),#120b1d}.ai-long-intro>span{font-size:10px;letter-spacing:2px;color:#aa85c9}.ai-long-intro h3{font-size:30px;font-weight:500;color:#e9d6fa;margin:20px 0}.ai-long-intro p{font-size:14px;color:#a788be;margin:0}
@media(max-width:750px){.aigc-grid{grid-template-columns:1fr;gap:22px;max-width:540px}.aigc-card{aspect-ratio:4/3.7;border-radius:15px}.aigc-number{font-size:29px;left:23px;top:21px}.aigc-caption{left:23px;right:23px;bottom:23px}.aigc-caption strong{font-size:25px}.aigc-caption small{font-size:9px;letter-spacing:1.1px}.aigc-cover-edit{right:20px;top:22px;font-size:10px}.ai-long-intro{padding:32px 24px}.ai-long-intro h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.aigc-card,.aigc-cover>*{transition:none}.aigc-card:hover,.aigc-card:hover .aigc-cover>*{transform:none}}

/* Three prominent project entries with equal visual weight. */
.project-collection-three{width:min(100%,1900px)}.project-collection-three .project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}.project-collection-three .project-card:nth-child(n){margin-top:0;height:100%}.project-collection-three .project-image-frame{aspect-ratio:4/3.8}.project-collection-three .project-card-caption{flex-direction:column;align-items:flex-start;gap:20px}.project-collection-three .project-open-label{width:100%;border:0;border-top:1px solid #a47dc330;border-radius:0;padding:14px 0 0;background:none}
@media(max-width:1100px){.project-collection-three{max-width:950px}.project-collection-three .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.project-collection-three .project-card:last-child{grid-column:1/-1}.project-collection-three .project-card:last-child .project-image-frame{aspect-ratio:16/7}.project-collection-three .project-card:last-child .project-card-caption{flex-direction:row;align-items:flex-end}.project-collection-three .project-card:last-child .project-open-label{width:auto;border:1px solid #705085;border-radius:25px;padding:10px 16px}}
@media(max-width:650px){.project-collection-three .project-grid{grid-template-columns:1fr;gap:22px}.project-collection-three .project-card:last-child{grid-column:auto}.project-collection-three .project-image-frame,.project-collection-three .project-card:last-child .project-image-frame{aspect-ratio:4/3}.project-collection-three .project-card-caption{flex-direction:row;align-items:flex-end}.project-collection-three .project-open-label{width:auto;white-space:nowrap;border:1px solid #705085;border-radius:25px;padding:9px 12px}.project-collection-three .project-card:last-child .project-open-label{padding:9px 12px}}
