:root{--bg:#f2f0e9;--ink:#101113;--blue:#5d7cff;--dark:#08090b;--line:rgba(16,17,19,.26);--side:clamp(18px,3vw,48px);--sans:"Noto Sans SC",sans-serif;--serif:"Noto Serif SC",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);overflow-x:hidden}a{color:inherit}button{font:inherit;color:inherit}.noise{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.08;background:repeating-linear-gradient(102deg,transparent 0 4px,rgba(0,0,0,.06) 4px 5px);mix-blend-mode:multiply}.progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:120}.progress span{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left}.header{height:62px;padding:0 var(--side);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:sticky;top:0;z-index:90;color:#f2f0e9;background:rgba(8,9,11,.9);border-bottom:1px solid rgba(242,240,233,.25);backdrop-filter:blur(12px);font-size:11px;letter-spacing:.08em}.logo{text-decoration:none;font-weight:700}.role{color:#91a5ff}.header nav{justify-self:end;display:flex;gap:26px}.header nav a{text-decoration:none}.menu{display:none;border:0;background:none}.mobile-nav{position:fixed;inset:62px 0 0;z-index:80;padding:10vh var(--side);background:var(--blue);font:700 11vw/1.4 var(--serif)}.mobile-nav a{display:block;text-decoration:none;border-bottom:1px solid var(--ink)}
.hero{height:calc(100vh - 62px);min-height:660px;padding:26px var(--side) 22px;position:relative;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;color:#f2f0e9;background:var(--dark);isolation:isolate}.hero canvas,.hero-grid{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-grid{z-index:-1;opacity:.13;background-image:linear-gradient(rgba(145,165,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(145,165,255,.25) 1px,transparent 1px);background-size:48px 48px}.hero-top,.hero-bottom{display:grid;grid-template-columns:repeat(12,1fr);z-index:4;font-size:10px;line-height:1.6}.hero-top p,.hero-bottom p{margin:0}.hero-top p:first-child,.hero-bottom p{grid-column:1/4}.hero-top p:last-child{grid-column:9/13;padding-top:9px;border-top:1px solid rgba(242,240,233,.7)}.hero h1{align-self:center;margin:0;position:relative;z-index:4;font-size:clamp(76px,13vw,190px);line-height:.76;letter-spacing:0;font-weight:700}.hero h1>span{display:block}.hero h1>span:nth-child(2){margin-left:12%;color:transparent;-webkit-text-stroke:1px #f2f0e9}.hero h1>span:nth-child(3){margin-left:38%;color:#91a5ff;font-family:var(--serif)}.depth-text{--depth-x:0px;--depth-y:0px;width:max-content;position:relative;isolation:isolate;transform:perspective(700px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:center;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.depth-face{position:relative;z-index:8;color:#aab8ff;text-shadow:0 0 24px rgba(93,124,255,.2)}.depth-layers{position:absolute;inset:0;z-index:-1;pointer-events:none}.depth-layers i{position:absolute;inset:0;font-style:normal;color:#29489f;-webkit-text-stroke:1px rgba(145,165,255,.16);transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .4s}.depth-layers i:nth-child(1){opacity:.8;transform:translate(calc(var(--depth-x)*.18),calc(var(--depth-y)*.18))}.depth-layers i:nth-child(2){opacity:.66;transform:translate(calc(var(--depth-x)*.34),calc(var(--depth-y)*.34))}.depth-layers i:nth-child(3){opacity:.52;transform:translate(calc(var(--depth-x)*.5),calc(var(--depth-y)*.5))}.depth-layers i:nth-child(4){opacity:.38;transform:translate(calc(var(--depth-x)*.66),calc(var(--depth-y)*.66))}.depth-layers i:nth-child(5){opacity:.24;transform:translate(calc(var(--depth-x)*.82),calc(var(--depth-y)*.82))}.depth-layers i:nth-child(6){opacity:.14;transform:translate(var(--depth-x),var(--depth-y))}.hero-bottom{align-items:end}.hero-bottom a{grid-column:9/13;display:flex;justify-content:space-between;padding-top:9px;border-top:1px solid rgba(242,240,233,.7);text-decoration:none}.hero-orbit{position:absolute;width:min(390px,36vw);aspect-ratio:1;left:58%;top:24%;z-index:2;transform-style:preserve-3d;animation:float 8s ease-in-out infinite alternate}.hero-orbit i{position:absolute;inset:5%;border:1px solid #91a5ff;border-radius:50%;animation:spin 11s linear infinite}.hero-orbit i:nth-child(2){inset:19%;transform:rotateX(68deg);animation-direction:reverse}.hero-orbit i:nth-child(3){inset:31%;border-color:#f2f0e9;transform:rotateY(70deg);animation-duration:7s}.hero-orbit b{position:absolute;inset:43%;display:grid;place-items:center;border:1px solid #91a5ff;font-size:11px}.ticker{height:66px;display:flex;align-items:center;overflow:hidden;color:var(--dark);background:var(--blue)}.ticker>div{display:flex;width:max-content;white-space:nowrap;animation:marquee 20s linear infinite;font-size:24px}.ticker span{padding-right:30px}
.works,.about{padding:110px var(--side)}.section-head{display:grid;grid-template-columns:repeat(12,1fr);margin-bottom:56px}.section-head>span{grid-column:1/4;font-size:10px}.section-head h2{grid-column:4/10;margin:0;font:700 clamp(55px,8vw,110px)/.9 var(--serif)}.section-head p{grid-column:10/13;margin:0;padding-top:10px;border-top:1px solid;font-size:12px;line-height:1.8}.filters{position:sticky;top:62px;z-index:30;display:flex;gap:24px;padding:13px 0;margin-bottom:30px;border-top:1px solid;border-bottom:1px solid;background:rgba(242,240,233,.92);backdrop-filter:blur(10px)}.filters button{border:0;padding:0;background:none;font-size:11px;cursor:pointer;opacity:.4}.filters button.active{color:#3858da;opacity:1}.projects{display:grid;grid-template-columns:repeat(12,1fr);gap:70px 22px}.project{grid-column:span 6}.project.featured,.project.wide{grid-column:span 12}.project[hidden]{display:none}.media{width:100%;height:clamp(320px,34vw,570px);padding:0;border:0;display:block;position:relative;overflow:hidden;background:#08090b}.project:not(.featured):not(.wide) .media{height:clamp(340px,38vw,590px)}.media video,.media img{width:100%;height:100%;display:block;object-fit:cover}.image-open{cursor:zoom-in}.image-open img{object-position:top;transition:transform 8s ease}.image-open:hover img{transform:translateY(-12%)}.meta{display:grid;grid-template-columns:40px 1fr auto;gap:4px 10px;padding-top:12px;border-top:1px solid}.meta>span{grid-row:1/3;font-size:10px}.meta h3{margin:0;font:700 clamp(23px,2.5vw,38px)/1.1 var(--serif)}.meta p{margin:0;font-size:10px}.meta time{grid-column:3;grid-row:1/3;font-size:10px}.video-shell:has(video[src]) .video-load{display:none}.video-load{position:absolute;inset:0;border:0;color:#f2f0e9;background:radial-gradient(circle at 50% 50%,rgba(93,124,255,.35),transparent 24%),linear-gradient(135deg,#08090b,#111937);cursor:pointer}.video-load::before{content:"";position:absolute;inset:12%;border:1px solid rgba(145,165,255,.5);border-radius:50%;animation:spin 16s linear infinite}.video-load span,.video-load small{position:relative;display:block}.video-load span{font:700 34px var(--serif)}.video-load small{margin-top:7px;opacity:.6}
.gallery-section{color:#f2f0e9;background:var(--dark)}.gallery-head{min-height:110px;padding:20px var(--side);display:grid;grid-template-columns:1fr 1fr auto;align-items:end;border-bottom:1px solid rgba(242,240,233,.3)}.gallery-head span,.gallery-head p{font-size:10px;line-height:1.6}.gallery-head h2{margin:8px 0 0;color:#91a5ff;font:700 clamp(30px,4vw,55px)/1 var(--serif)}.gallery-head p{text-align:center}.gallery-head strong{font-size:10px}.gallery-head strong b{color:#91a5ff;font-size:28px}.circular{height:min(720px,78vh);min-height:550px;position:relative;overflow:hidden;perspective:1100px;touch-action:pan-y;cursor:default;background-image:linear-gradient(rgba(145,165,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(145,165,255,.08) 1px,transparent 1px);background-size:48px 48px}.circular.dragging{cursor:grabbing;user-select:none}.track{position:absolute;inset:0;transform-style:preserve-3d}.track button{width:clamp(190px,20vw,300px);height:clamp(310px,33vw,490px);padding:0;border:0;position:absolute;left:50%;top:48%;color:#f2f0e9;background:none;transform-origin:50% 110%;will-change:transform,opacity;cursor:zoom-in}.track img{width:100%;height:calc(100% - 34px);object-fit:cover;border:1px solid rgba(242,240,233,.45);pointer-events:none;box-shadow:0 30px 55px #000}.track button span{height:34px;display:block;padding-top:9px;text-align:left;font-size:10px}.rings{position:absolute;inset:0;opacity:.35;pointer-events:none}.rings i{position:absolute;left:50%;top:54%;width:72vw;aspect-ratio:2.2;border:1px solid #91a5ff;border-radius:50%;transform:translate(-50%,-50%) rotateX(68deg)}.rings i:nth-child(2){width:55vw}.rings i:nth-child(3){width:36vw}.drag{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:9px;opacity:.45;pointer-events:none}
.about{display:grid;grid-template-columns:repeat(12,1fr);gap:45px 20px}.section-no{grid-column:1/13;font-size:10px}.about>h2{grid-column:1/13;margin:20px 0;font:700 clamp(60px,10vw,145px)/.86 var(--sans)}.about>h2 em{margin-left:20%;color:#3858da;font-family:var(--serif);font-style:normal}.bio{grid-column:7/12;font-size:14px;line-height:1.9}.skills{grid-column:1/13;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid}.skills>div{min-height:220px;padding:16px;border-right:1px solid var(--line)}.skills b,.skills p{font-size:10px}.skills h3{margin:52px 0 14px;font:700 28px var(--serif)}.contact{min-height:700px;padding:90px var(--side);color:#f2f0e9;background:#3858da}.contact>span{font-size:10px}.contact h2{margin:60px 0;font:700 clamp(65px,11vw,160px)/.85 var(--sans)}.contact h2 em{display:block;margin-left:15%;font-family:var(--serif);font-style:normal}.contact>div{display:flex;justify-content:space-between;align-items:end}.contact a{font:700 clamp(22px,3vw,40px) var(--serif)}.contact p{font-size:11px;line-height:1.7}footer{height:58px;padding:0 var(--side);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;color:#f2f0e9;background:var(--dark);font-size:9px}footer span:nth-child(2){text-align:center}footer a{text-decoration:none}
.lightbox{width:min(94vw,1000px);height:92vh;padding:0;border:1px solid #91a5ff;color:#f2f0e9;background:#08090b}.lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}.lightbox>button{position:absolute;right:12px;top:12px;z-index:2;border:0;padding:8px;color:#08090b;background:#91a5ff;cursor:pointer}.lightbox figure{height:100%;margin:0;padding:38px 20px 18px;display:grid;grid-template-rows:1fr auto;place-items:center}.lightbox img{max-width:100%;max-height:calc(92vh - 80px);object-fit:contain}.lightbox figcaption{width:100%;padding-top:10px;border-top:1px solid rgba(242,240,233,.3);text-align:center;font-size:11px}.reveal{opacity:0;transform:translateY(28px);transition:.8s ease}.reveal.visible{opacity:1;transform:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{to{transform:translateY(18px) rotate(8deg)}}@keyframes marquee{to{transform:translateX(-50%)}}
.lightbox.long{width:min(96vw,1440px);overflow-y:auto;overflow-x:hidden}.lightbox.long>button{position:fixed;right:max(3vw,18px);top:max(4vh,18px)}.lightbox.long figure{height:auto;min-height:100%;display:block;padding:54px 20px 18px;text-align:center}.lightbox.long img{width:min(100%,1400px);height:auto;max-height:none;object-fit:initial}.lightbox.long figcaption{position:sticky;bottom:0;padding:12px;background:rgba(8,9,11,.9);backdrop-filter:blur(8px)}
@media(max-width:700px){.header{grid-template-columns:1fr auto}.role,.header nav{display:none}.menu{display:block;color:#f2f0e9}.hero{min-height:620px}.hero-top p:first-child{grid-column:1/7}.hero-top p:last-child{grid-column:7/13}.hero h1{font-size:19vw}.hero h1>span:nth-child(2){margin-left:0}.hero h1>span:nth-child(3){margin-left:12%}.hero-orbit{width:58vw;left:40%;top:34%}.hero-bottom p{grid-column:1/7}.hero-bottom a{grid-column:8/13}.section-head{gap:25px}.section-head>span,.section-head h2,.section-head p{grid-column:1/13}.section-head p{width:72%;margin-left:28%}.filters{gap:16px;overflow-x:auto}.projects{gap:55px}.project,.project.featured,.project.wide{grid-column:span 12}.media,.project:not(.featured):not(.wide) .media{height:70vw;min-height:280px}.gallery-head{grid-template-columns:1fr auto}.gallery-head p{display:none}.circular{height:70vh}.track button{width:min(58vw,260px);height:min(94vw,420px)}.about>h2{font-size:16vw}.bio{grid-column:2/13}.skills{grid-template-columns:1fr 1fr}.skills>div:nth-child(2){border-right:0}.contact{min-height:600px}.contact h2{font-size:16vw}.contact>div{display:grid;gap:30px}footer{grid-template-columns:1fr auto}footer span:nth-child(2){display:none}}
.track button{cursor:zoom-in}.track img{transition:border-color .25s ease,filter .25s ease}.track button:hover img{border-color:#91a5ff;filter:brightness(1.06)}.drag{padding:7px 10px;color:#08090b;background:#91a5ff;opacity:1;white-space:nowrap}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.depth-layers i:nth-child(1){transform:translate(var(--x1,0),var(--y1,0))}.depth-layers i:nth-child(2){transform:translate(var(--x2,0),var(--y2,0))}.depth-layers i:nth-child(3){transform:translate(var(--x3,0),var(--y3,0))}.depth-layers i:nth-child(4){transform:translate(var(--x4,0),var(--y4,0))}.depth-layers i:nth-child(5){transform:translate(var(--x5,0),var(--y5,0))}.depth-layers i:nth-child(6){transform:translate(var(--x6,0),var(--y6,0))}
.hero .hero-grid{display:none}
.project.character-series{grid-column:1/-1}.character-head{display:grid;grid-template-columns:repeat(12,1fr);gap:8px 20px;padding:18px 0 24px;border-top:1px solid}.character-head>span{grid-column:1/4;font-size:10px}.character-head h3{grid-column:4/10;margin:0;font:700 clamp(34px,5vw,72px)/1 var(--serif)}.character-head p{grid-column:10/13;margin:0;font-size:10px;line-height:1.8}.character-head time{grid-column:1/4;font-size:10px}.character-orbit{height:min(720px,76vh);min-height:590px;position:relative;overflow:hidden;background:#08090b;perspective:1000px}.orbit-line{position:absolute;left:50%;top:49%;width:78%;height:43%;border:1px solid rgba(145,165,255,.38);border-radius:50%;transform:translate(-50%,-50%) rotate(-7deg);box-shadow:0 0 32px rgba(93,124,255,.08);pointer-events:none}.orbit-line-inner{width:58%;height:30%;border-color:rgba(242,240,233,.14);transform:translate(-50%,-50%) rotate(9deg)}.character-tile{width:clamp(88px,9vw,138px);height:clamp(132px,13.5vw,207px);padding:0;border:1px solid rgba(242,240,233,.45);position:absolute;left:50%;top:49%;overflow:hidden;background:#08090b;cursor:zoom-in;will-change:transform,opacity;box-shadow:0 18px 35px rgba(0,0,0,.55)}.character-tile img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:filter .25s ease}.character-tile:hover{border-color:#91a5ff}.character-tile:hover img{filter:brightness(1.12);transform:none}.orbit-tip{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);padding:7px 10px;color:#08090b;background:#91a5ff;font-size:9px;white-space:nowrap;pointer-events:none}
@media(max-width:700px){.character-head{gap:16px}.character-head>span,.character-head h3,.character-head p{grid-column:1/-1}.character-head p{width:75%;margin-left:25%}.character-orbit{height:68vh;min-height:520px}.character-tile{width:72px;height:108px}.orbit-line{width:90%;height:34%}.orbit-line-inner{width:66%;height:23%}}
.project .media:has(>video){height:auto!important;min-height:0!important;aspect-ratio:16/9}.project .media>video{width:100%;height:100%;object-fit:contain;background:#08090b}

/* Gradient-wave hero treatment */
.hero{color:#fff;background:#090713;}
.hero::before{content:"";position:absolute;inset:-16%;z-index:-1;pointer-events:none;background:
  radial-gradient(ellipse 18% 24% at 18% 68%,rgba(35,126,255,.95) 0%,rgba(20,74,210,.58) 28%,transparent 72%),
  radial-gradient(ellipse 13% 30% at 39% 42%,rgba(18,100,255,.9) 0%,rgba(8,38,154,.52) 25%,transparent 72%),
  radial-gradient(ellipse 16% 25% at 61% 70%,rgba(42,139,255,.9) 0%,rgba(12,61,184,.5) 26%,transparent 74%),
  radial-gradient(ellipse 12% 28% at 82% 38%,rgba(30,117,255,.92) 0%,rgba(8,42,160,.5) 26%,transparent 72%),
  linear-gradient(180deg,#050508 0%,#080914 100%);filter:blur(10px) saturate(1.3);animation:ferro-drift 16s ease-in-out infinite alternate;}
.hero::after{content:"";position:absolute;inset:-10%;z-index:-1;pointer-events:none;opacity:.7;background:
  radial-gradient(ellipse 5% 18% at 23% 67%,rgba(116,190,255,.95),transparent 70%),
  radial-gradient(ellipse 4% 20% at 43% 40%,rgba(95,175,255,.9),transparent 70%),
  radial-gradient(ellipse 5% 17% at 65% 69%,rgba(116,194,255,.95),transparent 70%),
  radial-gradient(ellipse 4% 18% at 84% 37%,rgba(107,188,255,.9),transparent 70%);filter:blur(3px);mix-blend-mode:screen;animation:ferro-glow 11s ease-in-out infinite alternate;}
.hero-top,.hero-bottom{color:#fff}
.hero-top p:last-child,.hero-bottom a{border-color:#fff}
.hero h1>span:nth-child(2){-webkit-text-stroke-color:rgba(255,255,255,.95)}
.hero h1>span:nth-child(3){color:#fff}
.depth-face{color:#fff;text-shadow:0 0 24px rgba(8,10,242,.42)}
.depth-layers i{color:#fff;-webkit-text-stroke-color:rgba(255,255,255,.2)}
@keyframes wave-drift{from{transform:translate3d(-2%,-1%,0) scale(1.02)}to{transform:translate3d(2%,1%,0) scale(1.08)}}
@keyframes floating-lines{from{transform:rotate(-7deg) scaleX(1.45) translateX(-3%)}to{transform:rotate(-7deg) scaleX(1.45) translateX(3%)}}
@keyframes ferro-drift{from{transform:translate3d(-2%,1%,0) scale(1.02)}to{transform:translate3d(2%,-1%,0) scale(1.1)}}
@keyframes ferro-glow{from{transform:translateX(-1%) scale(.98)}to{transform:translateX(1%) scale(1.06)}}

/* Iridescent fluid background and particle-text inspired title */
.hero::before{background:radial-gradient(ellipse 70% 34% at 18% 20%,rgba(99,58,180,.68),transparent 70%),radial-gradient(ellipse 75% 36% at 84% 38%,rgba(34,130,166,.68),transparent 72%),radial-gradient(ellipse 62% 30% at 52% 82%,rgba(74,52,170,.7),transparent 70%),linear-gradient(135deg,#29466d 0%,#2f5b72 35%,#4a477b 68%,#304e70 100%);filter:blur(18px) saturate(1.28);animation:iridescent-drift 20s ease-in-out infinite alternate}
@keyframes iridescent-drift{from{transform:translate3d(-2%,1%,0) scale(1.03) rotate(-1deg)}to{transform:translate3d(2%,-1%,0) scale(1.1) rotate(1deg)}}
.closing-showcase{padding:110px var(--side);color:#f2f0e9;background:#0b0c12}.closing-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:20px;align-items:end;margin-bottom:42px}.closing-head span,.closing-head p{font-size:10px}.closing-head h2{margin:0;font:700 clamp(42px,6vw,86px)/.9 var(--serif)}.closing-head p{margin:0;padding-top:9px;border-top:1px solid rgba(242,240,233,.35)}.closing-projects{display:grid;grid-template-columns:repeat(12,1fr);gap:48px 20px}.closing-projects .project{grid-column:span 4}.closing-projects .project .media{height:clamp(260px,28vw,460px)}.closing-projects .project.wide{grid-column:span 12}.closing-projects .project.wide .media{height:clamp(320px,40vw,620px)}.closing-projects .meta{border-color:rgba(242,240,233,.35)}
@media(max-width:700px){.closing-showcase{padding:80px var(--side)}.closing-head{grid-template-columns:1fr;gap:14px}.closing-head p{width:72%;margin-left:28%}.closing-projects .project,.closing-projects .project.wide{grid-column:1/-1}.closing-projects .project .media,.closing-projects .project.wide .media{height:70vw;min-height:260px}}
.circular.accordion{height:min(70vh,620px);min-height:420px;display:flex;align-items:center;padding:34px 26px;background:#08080d;perspective:none}.circular.accordion .rings,.circular.accordion .drag{display:none}.circular.accordion .track{position:relative;inset:auto;width:100%;height:100%;display:flex;gap:10px;align-items:stretch;transform:none}.circular.accordion .track button{position:relative;left:auto;top:auto;flex:1 1 0;width:auto;height:100%;min-width:0;transform:none!important;opacity:.55!important;z-index:1!important;overflow:hidden;border-radius:14px;transition:flex .5s ease,opacity .35s ease}.circular.accordion .track button:hover,.circular.accordion .track button:focus-visible{flex:4 1 0;opacity:1!important;z-index:4!important}.circular.accordion .track img{width:100%;height:100%;object-fit:cover;border:0;box-shadow:none;filter:grayscale(.55) brightness(.72);transition:filter .45s ease,transform .45s ease}.circular.accordion .track button:hover img,.circular.accordion .track button:focus-visible img{filter:grayscale(0) brightness(.92);transform:scale(1.03)}.circular.accordion .track button span{position:absolute;left:18px;bottom:16px;height:auto;padding:0;color:#fff;font-size:12px;text-shadow:0 2px 12px #000;white-space:nowrap}
@media(max-width:700px){.circular.accordion{height:62vh;min-height:380px;padding:18px 12px}.circular.accordion .track{gap:5px}.circular.accordion .track button:hover,.circular.accordion .track button:focus-visible{flex:3 1 0}.circular.accordion .track button span{left:8px;bottom:10px;font-size:9px}}
.closing-projects .project.wide .media{height:auto;max-height:none;background:#0b0c12}.closing-projects .project.wide .media img{height:auto;max-height:none;object-fit:contain;object-position:top}
.lightbox.long{width:min(92vw,1200px);height:94vh;overflow-y:auto}.lightbox.long figure{display:block;height:auto;min-height:100%;padding:48px 24px 20px}.lightbox.long img{display:block;width:min(100%,1100px);height:auto;max-width:100%;max-height:none;margin:0 auto;object-fit:contain}
.closing-projects .project,.closing-projects .project.wide{grid-column:span 4}.closing-projects .project .media,.closing-projects .project.wide .media{height:clamp(360px,42vw,680px);aspect-ratio:3/4;overflow:hidden}.closing-projects .project.wide .media img{width:100%;height:100%;object-fit:cover;object-position:top}
@media(max-width:700px){.closing-projects .project,.closing-projects .project.wide{grid-column:1/-1}.closing-projects .project .media,.closing-projects .project.wide .media{height:120vw;max-height:none}}

/* Homepage editorial title */
.hero-editorial-title{grid-row:1/3;align-self:end;position:relative;z-index:5;width:100%;padding:0 0 clamp(42px,7vh,76px);animation:title-arrive 1.15s cubic-bezier(.16,1,.3,1) both}
.hero-bottom{grid-row:3}
.hero-editorial-title h1{width:100%;margin:0;color:#f7f7f4;font-family:"Barlow Condensed",Arial,sans-serif;font-size:clamp(120px,17vw,260px);font-weight:800;line-height:.68;text-transform:uppercase}
.hero-editorial-title h1 span{display:block;margin:0}
.hero-editorial-title h1 span:nth-child(2){margin:0;color:#f7f7f4;-webkit-text-stroke:0}
.hero-subtitle{width:min(720px,53vw);margin:clamp(30px,5vh,56px) 0 0 auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.75);color:#fff}
.hero-subtitle strong{display:block;font:700 clamp(23px,2.4vw,38px)/1 "Barlow Condensed",Arial,sans-serif;text-transform:uppercase}
.hero-subtitle p{margin:15px 0 0;font:500 clamp(15px,1.25vw,19px)/1.8 "Noto Sans SC",sans-serif;text-transform:none}
.hero-orbit{opacity:.28;filter:blur(.2px)}
@keyframes title-arrive{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:none}}
@media(max-width:700px){.hero-editorial-title{align-self:center;padding:46px 0 16px}.hero-editorial-title h1{font-size:clamp(72px,27vw,126px);line-height:.76}.hero-subtitle{width:88%;margin:34px 0 0 12%;padding-top:11px}.hero-subtitle strong{font-size:clamp(20px,6.2vw,28px);line-height:1.05}.hero-subtitle p{margin-top:12px;font-size:13px;line-height:1.75}.hero-orbit{opacity:.14}}

/* Full second-screen profile */
.about{min-height:calc(100vh - 66px);align-content:space-between;background:#f2f0e9}
.about .skills{align-self:end}
.about .skills h3{font-size:clamp(24px,2.1vw,34px)}
@media(max-width:700px){.about{min-height:auto;padding-top:80px;padding-bottom:80px;align-content:start}.about .skills h3{margin-top:34px;font-size:23px}}

/* Homepage entrance to the AI comic case study */
.comic-entry{min-height:clamp(380px,45vw,650px);background:#08090b}
.comic-entry>a{height:100%;padding:28px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;color:#fff;text-decoration:none;overflow:hidden;position:relative}
.comic-entry>a:before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 72% 36%,rgba(56,88,218,.8),transparent 30%);transition:transform .8s ease}
.comic-entry a>*{position:relative}.comic-entry .entry-no{font-size:12px}.comic-entry h3{grid-column:1/-1;align-self:end;margin:0;font:800 clamp(90px,15vw,220px)/.72 "Barlow Condensed",sans-serif;text-transform:uppercase}.comic-entry p{margin:20px 0 0;font-size:11px}.comic-entry strong{align-self:end;font-size:13px}.comic-entry:hover>a:before{transform:scale(1.15) translateX(-3%)}
@media(max-width:700px){.comic-entry{min-height:420px}.comic-entry>a{padding:20px}.comic-entry h3{font-size:clamp(82px,28vw,130px)}.comic-entry p{width:70%}}

.skill-link h3 a{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none;transition:color .25s ease}.skill-link h3 a span{color:#3858da;font:500 16px sans-serif;transition:transform .25s ease}.skill-link:hover h3 a{color:#3858da}.skill-link:hover h3 a span{transform:translate(4px,-4px)}
