
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--night:#090b30;--panel:#111746;--pink:#ff19b7;--cyan:#22f4f2;--yellow:#ffe45b;--white:#f8f5ff;--muted:#c6c7e7;--line:#414a92}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--white);font:16px/1.55 'DM Sans',Arial,sans-serif}a{color:inherit}a:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}.wrap{width:min(1220px,calc(100% - 48px));margin:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.05;letter-spacing:-.055em}header{background:radial-gradient(ellipse at 83% 28%,#251d78 0%,#101344 44%,#080a2c 85%);position:relative;overflow:hidden}header:before{content:"";position:absolute;inset:0;opacity:.19;pointer-events:none;background:linear-gradient(transparent 96%,#3589d0 97%),linear-gradient(90deg,transparent 96%,#3589d0 97%);background-size:62px 62px;mask-image:linear-gradient(to bottom,transparent 25%,black)}header .wrap{position:relative}nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.wordmark span{color:var(--pink)}.links{display:flex;gap:28px;font-size:.88rem;font-weight:700}.links a{text-decoration:none}.links a:hover{color:var(--cyan)}.hero{padding:75px 0 91px;display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:60px}.eyebrow,.kicker{margin-bottom:24px;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800;color:var(--cyan)}h1{font-size:clamp(3.5rem,7.4vw,7rem);text-transform:uppercase;margin-bottom:22px}h1 em{font-style:normal;color:var(--pink);text-shadow:0 0 26px #ff19b782}.intro{font-size:clamp(1.12rem,1.7vw,1.38rem);color:#dbe0ff;max-width:690px;margin:0}.hero-side{border-left:2px solid var(--cyan);padding-left:26px;max-width:360px;color:#d3d5f5}.hero-side strong{display:block;color:var(--yellow);margin-bottom:8px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 22px;background:var(--pink);color:var(--night);font-size:.87rem;font-weight:800;text-decoration:none;box-shadow:0 0 20px #ff19b767;transition:transform .18s,box-shadow .18s}.button:hover{transform:translateY(-2px);box-shadow:0 0 30px #ff19b7ae}.text-link{font-weight:800;text-underline-offset:5px}.text-link:hover{color:var(--cyan)}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:30px}.section{padding:84px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:28px}.section-title h2{font-size:clamp(2.6rem,5vw,4.6rem);margin:0}.section-title p{color:var(--muted);max-width:420px;margin:0}.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}.filters a{display:inline-block;border:1px solid #5361ad;padding:8px 13px;font-size:.82rem;font-weight:700;text-decoration:none;color:#dce4ff}.filters a:hover{border-color:var(--cyan);color:var(--cyan)}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.work{min-width:0;background:var(--panel);border:1px solid #424a94;display:flex;flex-direction:column}.work.featured{grid-column:span 7}.work.wide{grid-column:span 5}.work.third{grid-column:span 4}.work-media{height:260px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(140deg,#17164b,#2f1b68 64%,#5a196c)}.work.featured .work-media{height:355px;background:radial-gradient(circle at center,#403077,#0b0c32 68%)}.work-media img{height:90%;max-width:80%;object-fit:contain}.work-media.type{justify-items:start;align-items:end;padding:23px;background:linear-gradient(145deg,#171862,#371969 70%,#7a165f)}.work-media.type b{font-weight:800;letter-spacing:-.09em;line-height:.8;font-size:clamp(5rem,13vw,12rem);color:#ff19b7;text-shadow:8px 7px 0 #20f5f1,0 0 35px #e90dbb71}.work-media.systems{background:linear-gradient(135deg,#111d58,#182476 55%,#4e1d77)}.workflow{display:flex;align-items:center;gap:9px;width:85%;color:var(--cyan)}.workflow span{border:1px solid var(--cyan);padding:14px 10px;flex:1;text-align:center;font-size:.79rem;font-weight:800;box-shadow:0 0 12px #22f4f239}.workflow i{height:2px;flex:.35;background:var(--pink)}.work-media.photoshop{background:linear-gradient(122deg,#fe38aa 0 45%,#172260 45% 100%)}.work-media.photoshop b,.work-media.photo b,.work-media.ai b{font-size:clamp(3.5rem,7vw,6rem);font-weight:800;letter-spacing:-.09em}.work-media.photoshop b{color:#fff;mix-blend-mode:overlay;transform:rotate(-7deg)}.work-media.photo{background:linear-gradient(155deg,#0c183f 15%,#373070 48%,#e1549d 77%,#ffd45a)}.work-media.photo b{color:#100d36;text-shadow:0 1px 0 #fff}.work-media.ai{background:radial-gradient(circle at 50% 50%,#9153c7,#26207a 54%,#10164d)}.work-media.ai b{color:var(--cyan);text-shadow:0 0 15px var(--cyan),0 0 48px var(--pink)}.work-copy{padding:24px 26px 28px;flex:1}.work-copy small{color:var(--cyan);font-size:.73rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.work-copy h3{font-size:clamp(1.6rem,2.2vw,2.2rem);margin:8px 0 10px}.work-copy p{color:var(--muted);margin:0;max-width:560px}.work-copy a{display:inline-block;margin-top:15px;color:var(--yellow);font-weight:700;text-underline-offset:4px}.note{margin:26px 0 0;color:#bfc4e9;font-size:.9rem}.about{background:#111548;padding:82px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about h2{font-size:clamp(2.8rem,5vw,4.5rem);margin:0}.about p{color:var(--muted)}.contact{padding:93px 0;text-align:center;background:radial-gradient(ellipse at 50% 100%,#4b217c,#090b30 68%)}.contact h2{font-size:clamp(3rem,5vw,5rem);margin:0 0 20px}.contact p{color:var(--muted)}.contact .button{margin-top:12px}footer{border-top:1px solid var(--line);padding:23px 0;color:#b4b8d8;font-size:.82rem}footer .wrap{display:flex;justify-content:space-between;gap:20px}footer a{color:var(--cyan);text-decoration:none}@media(max-width:900px){.hero{gap:32px}.work.featured,.work.wide{grid-column:span 6}.work.third{grid-column:span 6}.work.featured .work-media{height:260px}}@media(max-width:650px){.wrap{width:calc(100% - 34px)}nav{min-height:66px}.wordmark{font-size:.85rem;letter-spacing:0}.links{gap:12px;font-size:.8rem}.hero{grid-template-columns:1fr;padding:65px 0 70px;gap:27px}h1{font-size:clamp(3.25rem,12.5vw,5.4rem)}.section{padding:62px 0}.section-title{display:block}.section-title p{margin-top:14px}.gallery{gap:16px}.work.featured,.work.wide,.work.third{grid-column:span 12}.work-media,.work.featured .work-media{height:250px}.work-media.type b{font-size:9rem}.about{padding:66px 0}.about-grid{grid-template-columns:1fr;gap:20px}.contact{padding:75px 0}footer .wrap{display:block}}

/* Light portfolio palette */
:root{--night:#12224c;--panel:#fff;--pink:#f9008c;--cyan:#243c78;--yellow:#f9008c;--white:#fff;--muted:#34446a;--line:#d9dfec}
body{background:#fff;color:var(--night)}header{background:#fff}header:before{display:none}nav{border-color:var(--line)}.wordmark{font-size:1.65rem;font-weight:800;letter-spacing:-.035em;line-height:1.1}.wordmark span{color:var(--night)}.links a:hover{color:var(--pink)}.hero{padding:75px 0 80px}.eyebrow,.kicker{color:var(--pink)}h1 em{color:var(--pink);text-shadow:none}.intro{color:var(--muted)}.hero-side{color:var(--muted);border-color:var(--pink)}.hero-side strong{color:var(--night)}.button{background:var(--pink);color:#fff;box-shadow:none}.button:hover{box-shadow:0 7px 20px #f9008c42}.text-link,.work-copy a,footer a{color:var(--pink)}.text-link:hover,.work-copy a:hover,footer a:hover{color:#b90069}.section-title p,.work-copy p,.about p,.contact p{color:var(--muted)}.filters a{border-color:#bdc7dd;color:var(--night)}.filters a:hover{border-color:var(--pink);color:var(--pink)}.work{background:#fff;border-color:#dce1ec;box-shadow:0 10px 26px #1628590d}.work-copy small{color:#b90069}.work-media{background:#eaf0fa}.work.featured .work-media{background:#121c46}.work-media.type{background:linear-gradient(145deg,#eaf0fc,#c8d7f7)}.work-media.type b{color:var(--night);text-shadow:7px 6px 0 #f9008c}.work-media.systems{background:#e8edfa}.workflow{color:var(--night)}.workflow span{border-color:var(--night);box-shadow:none}.workflow i{background:var(--pink)}.work-media.photoshop{background:linear-gradient(122deg,#ff9ed2 0 45%,#dae4fa 45% 100%)}.work-media.photoshop b{color:var(--night);mix-blend-mode:normal}.work-media.photo{background:linear-gradient(155deg,#e3ebfc 10%,#b7c9ed 50%,#fa9acc 83%,#f7e3ef)}.work-media.photo b{color:var(--night);text-shadow:none}.work-media.ai{background:radial-gradient(circle,#e4d8fb,#dce7fa 60%,#c4d5f3)}.work-media.ai b{color:var(--night);text-shadow:5px 5px 0 #f9008c}.about{background:#f4f6fb}.contact{background:#fff;border-top:1px solid var(--line)}footer{background:#f4f6fb;color:var(--muted);border-color:var(--line)}
@media(max-width:650px){.wordmark{font-size:1.13rem;letter-spacing:-.04em}.hero{padding:58px 0 66px}}

/* Two-part wave and scrolling blue work surface */
.wordmark{font-size:clamp(1.85rem,3vw,2.7rem);font-weight:800;letter-spacing:-.06em;white-space:nowrap}.wordmark span{color:var(--night)}nav{min-height:100px}
.wave-transition{height:150px;background:#fff;overflow:hidden;line-height:0}.wave-transition svg{display:block;width:100%;height:100%;filter:drop-shadow(0 -9px 12px rgba(6,18,54,.38))}
.work-zone{background-color:#12224c;background-image:radial-gradient(circle at center,rgba(255,255,255,.08) 1px,transparent 1.6px),repeating-linear-gradient(115deg,transparent 0 125px,rgba(103,145,220,.07) 126px 127px,transparent 128px 260px);background-size:32px 32px,cover;background-attachment:fixed;color:#fff;margin-top:-1px;position:relative}
.work-zone .section{padding-top:62px;padding-bottom:105px}.work-zone .section-title{border-color:#6775a2}.work-zone .section-title p{color:#d5def4}.work-zone .filters a{border-color:#8c9bc5;color:#fff;background:#ffffff12}.work-zone .filters a:hover{border-color:var(--pink);color:#fff;background:var(--pink)}.work-zone .work{color:var(--night)}
@media(max-width:650px){nav{flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;padding:16px 0}.wordmark{font-size:clamp(1.55rem,7vw,2rem)}.links{gap:23px}.wave-transition{height:92px}.work-zone{background-attachment:scroll}.work-zone .section{padding-top:45px;padding-bottom:72px}}

/* Soft concrete surface; shadow falls inside the blue */
body,header,.wave-transition,.contact{background-color:#f2f3f2;background-image:radial-gradient(circle,rgba(27,42,74,.065) .65px,transparent .9px),linear-gradient(135deg,#f5f6f5,#eceeed);background-size:8px 8px,cover}
.wave-transition{height:180px}.wave-transition svg{filter:none}.work{background:#fafbfa}.work-zone .work{background:#fafbfa}
@media(max-width:650px){.wave-transition{height:112px}}

/* Real portfolio pieces and repeated section transitions */
.work-media.real{background:#e7e9f3}.work-media.real img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}.work-media.real.contain{background:#11142a}.work-media.real.contain img{object-fit:contain;padding:14px}
.wave-transition.reverse{background:#12224c}.wave-transition.final{background:#f4f6fb}
.contact{background:#12224c;color:#fff}.contact p{color:#d5def4}.contact .kicker{color:#ff75ba}

/* Animated neon orbit around a dark underline */
@property --orbit-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
.wordmark{position:relative;display:inline-block;padding-bottom:15px}.name-underline{position:absolute;left:0;right:0;bottom:3px;height:9px;display:block;pointer-events:none}.name-underline:after{content:"";position:absolute;left:0;right:0;top:3px;height:3px;background:#080910;border-radius:999px}.name-underline:before{content:"";position:absolute;inset:-1px;border-radius:999px;padding:2px;background:conic-gradient(from var(--orbit-angle),transparent 0 58%,#f9008c 70%,#11e9ff 80%,#ffdf35 90%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 4px #f9008c) drop-shadow(0 0 7px #10ddf5);animation:orbit-around 3s linear infinite,color-shift 7s linear infinite}
@keyframes orbit-around{to{--orbit-angle:360deg}}@keyframes color-shift{to{filter:hue-rotate(360deg) drop-shadow(0 0 5px #f9008c) drop-shadow(0 0 8px #10ddf5)}}
@media(prefers-reduced-motion:reduce){.name-underline:before{animation:none}}

/* A single light travels around the dark line */
.name-underline:after{top:4px;height:2px}
.name-underline:before{inset:auto;left:0;top:0;width:9px;height:9px;padding:0;border-radius:50%;background:#ff1399;-webkit-mask:none;mask:none;filter:none;box-shadow:0 0 5px 2px #ff1399,0 0 13px 4px #ff139988;animation:dot-orbit 4.8s linear infinite,dot-hue 7s linear infinite}
@keyframes dot-orbit{0%{left:0;top:0}48%{left:calc(100% - 9px);top:0}50%{left:calc(100% - 9px);top:8px}98%{left:0;top:8px}100%{left:0;top:0}}
@keyframes dot-hue{to{filter:hue-rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.name-underline:before{animation:none}}
/* Internal project pages */
.detail-header{padding:62px 0 70px}.detail-header h1{font-size:clamp(3.2rem,7vw,6rem);margin:0 0 20px}.detail-header p:last-child{max-width:700px;color:var(--muted);font-size:1.2rem}.detail-zone{background-color:#12224c;background-image:radial-gradient(circle at center,rgba(255,255,255,.08) 1px,transparent 1.6px);background-size:32px 32px;color:#fff;padding:55px 0 100px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:45px;align-items:start}.detail-art{background:#e9eaf0;min-height:340px;display:grid;place-items:center}.detail-art.dark{background:#11142a}.detail-art img{display:block;width:100%;height:auto;max-height:750px;object-fit:contain}.detail-info h2{font-size:clamp(2rem,3vw,3rem)}.detail-info p{color:#d6ddf3}.detail-info a{color:#ff80bf;text-underline-offset:5px}.detail-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}.detail-actions a{font-weight:800}.backlink{font-weight:800;color:#f9008c;text-decoration:none}.backlink:hover{text-decoration:underline}.work-zone .work-copy a{color:#c0006c}.work-zone .work-copy a:hover{color:#86004b}.work-index{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.work-index a{display:block;background:#f9f9fa;color:#12224c;text-decoration:none;border:1px solid #dce1ec;overflow:hidden}.work-index img{display:block;width:100%;height:230px;object-fit:cover}.work-index strong{display:block;font-size:1.5rem;padding:18px}.work-index a:hover strong{color:#d00076}
@media(max-width:800px){.detail-layout{grid-template-columns:1fr}.work-index{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.work-index{grid-template-columns:1fr}.detail-zone{padding:40px 0 70px}}

/* Bubble surfaces and a crisp, reusable bright RGB spectrum */
:root{--rgb-pink:#ff0a9c;--rgb-red:#ff3434;--rgb-orange:#ff8a00;--rgb-yellow:#ffe600;--rgb-green:#20ed49;--rgb-cyan:#00eaff;--rgb-blue:#2860ff;--rgb-violet:#aa36ff}
.name-underline:before{width:5px;height:5px;top:2px;background:var(--rgb-pink);box-shadow:0 0 0 1px #fff9;filter:none;animation:crisp-orbit 4.8s linear infinite,rgb-cycle 8s steps(1,end) infinite}
@keyframes crisp-orbit{0%{left:0;top:2px}48%{left:calc(100% - 5px);top:2px}50%{left:calc(100% - 5px);top:7px}98%{left:0;top:7px}100%{left:0;top:2px}}
@keyframes rgb-cycle{0%,100%{background:var(--rgb-pink)}12.5%{background:var(--rgb-red)}25%{background:var(--rgb-orange)}37.5%{background:var(--rgb-yellow)}50%{background:var(--rgb-green)}62.5%{background:var(--rgb-cyan)}75%{background:var(--rgb-blue)}87.5%{background:var(--rgb-violet)}}
header,.about{background-image:radial-gradient(circle at 87% 31%,#fff9 0 2px,#ffffff18 3px 32px,transparent 35px),radial-gradient(circle at 7% 82%,#fff9 0 1px,#ffffff20 2px 22px,transparent 25px),radial-gradient(circle at 57% 12%,#fff7 0 1px,#ffffff18 2px 16px,transparent 19px),linear-gradient(125deg,#ffffff4d,transparent 40%,#d8e0ec36 78%,#ffffff70);background-color:#f2f3f2}
.work-zone,.detail-zone{background-image:radial-gradient(circle at 18% 28%,#ffffff60 0 1px,#ffffff18 2px 28px,transparent 31px),radial-gradient(circle at 76% 67%,#ffffff54 0 1px,#ffffff12 2px 42px,transparent 45px),radial-gradient(circle at center,#ffffff12 1px,transparent 1.6px);background-size:420px 380px,550px 510px,32px 32px}
.work,.work-index a,.detail-art{border-radius:18px;overflow:hidden;box-shadow:inset 0 2px 2px #ffffffb0,0 14px 25px #07133436}.work-media:after,.work-index a:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 2px 1px #ffffff80,inset 0 -7px 14px #07133419}.work-index a{position:relative}.button{border-radius:999px;box-shadow:inset 0 2px 1px #ffffff8c,0 8px 17px #ad136b38}

/* Scrollable work rails */
.carousel-head{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:0 0 16px}.carousel-status{font-size:.9rem;font-weight:700;color:inherit;min-width:4rem;text-align:center}.carousel-control{width:44px;height:44px;border-radius:50%;border:1px solid #ffffff7d;background:#ff0a9c;color:#fff;font-family:inherit;font-size:1.4rem;font-weight:700;line-height:1;cursor:pointer;box-shadow:inset 0 2px 1px #ffffff8c,0 5px 15px #07133440}.carousel-control:hover{background:#d9007f}.carousel-control:disabled{opacity:.45;cursor:default}.carousel-control:focus-visible{outline:3px solid var(--rgb-yellow);outline-offset:3px}
.gallery.carousel-track,.work-index.carousel-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#ff0a9c transparent;padding:4px 5px 23px;overscroll-behavior-inline:contain}.gallery.carousel-track>.work{flex:0 0 min(390px,85vw);scroll-snap-align:start}.gallery.carousel-track .work-media,.gallery.carousel-track .work.featured .work-media{height:285px}.work-index.carousel-track>a{flex:0 0 min(350px,82vw);scroll-snap-align:start}.gallery.carousel-track .work-copy h3{font-size:1.75rem}.gallery.carousel-track .work-copy{padding:22px}.work-zone .carousel-status{color:#fff}
.detail-zone .carousel-head{width:min(1220px,calc(100% - 48px));margin-inline:auto}
@media(max-width:650px){.gallery.carousel-track>.work{flex-basis:85vw}.gallery.carousel-track .work-media,.gallery.carousel-track .work.featured .work-media{height:245px}}
@media(prefers-reduced-motion:reduce){.name-underline:before{animation:none}.gallery.carousel-track,.work-index.carousel-track{scroll-behavior:auto}}

/* One neutral concrete surface, with midnight blue and scattered neon lights */
:root{--midnight:#080d26;--concrete:#f1f1f0;--night:#12224c;--panel:var(--concrete);--line:#c9c9c9}
body,header,.about,.wave-transition,.wave-transition.final,footer{background-color:var(--concrete);background-image:radial-gradient(circle,#22222210 .65px,transparent .9px),radial-gradient(circle,#ffffffad .6px,transparent 1.1px),linear-gradient(135deg,#f4f4f3,#ededec);background-size:7px 7px,11px 11px,cover;color:var(--night)}
.wave-transition.reverse{background-color:var(--midnight);background-image:none}
.work-zone,.detail-zone,.contact{background-color:var(--midnight);background-image:radial-gradient(circle at 15% 22%,#ffffffee 0 1px,#00eaff99 2px,#00eaff28 7px,transparent 18px),radial-gradient(circle at 82% 64%,#ffffffec 0 1px,#ff0a9ca6 2px,#ff0a9c2e 7px,transparent 19px),radial-gradient(circle at 64% 17%,#ffffffde 0 1px,#2860ff9c 2px,#2860ff2a 6px,transparent 16px),radial-gradient(circle at 38% 78%,#ffffffe8 0 1px,#20ed49a0 2px,#20ed4924 6px,transparent 17px),radial-gradient(circle at center,#ffffff14 .8px,transparent 1.5px),linear-gradient(130deg,#0b1533,var(--midnight) 55%,#070b1c);background-size:510px 460px,650px 540px,720px 610px,810px 670px,32px 32px,cover;color:#fff}
.work-zone{background-attachment:fixed}.contact{border-top:0}.contact p{color:#d5def4}
.work,.work-zone .work,.work-index a,.detail-art{background-color:var(--concrete)}.work-media.real{background-color:var(--concrete)}
@media(max-width:650px){.work-zone{background-attachment:scroll}}

/* A little more Felicia: bold rhythm and controlled irregularity */
.hero{position:relative}.hero-main{position:relative;z-index:1}.hero h1{font-weight:800;letter-spacing:-.09em}.hero h1 em{display:inline-block;transform:rotate(-2deg) translateX(8px);text-shadow:3px 4px 0 #e991cd,-2px -2px 0 #93eff0}.hero-period{display:inline-block;transform:translate(10px,-12px) rotate(14deg);color:#ff782c;text-shadow:3px 3px 0 #f40096}
.hero-side{max-width:310px;padding-left:20px;border-left:5px solid #ff792d;box-shadow:-6px 0 0 #f10099;font-weight:500}.hero-side strong{font-size:1.1rem;line-height:1.3;margin-bottom:12px}
.hero-orbit{width:176px;height:176px;margin:0 0 32px auto;border-radius:50%;position:relative;display:grid;place-items:center;background:conic-gradient(from 25deg,#ff812d 0 17%,transparent 17% 28%,#f500a6 28% 46%,transparent 46% 58%,#28dce8 58% 72%,transparent 72% 83%,#7b55b7 83% 95%,transparent 95%);transform:rotate(-12deg);filter:drop-shadow(0 8px 2px #3b254629)}
.hero-orbit:before{content:"";position:absolute;inset:12px;border-radius:50%;background:radial-gradient(circle,#ffffff 0 8%,#ededec 9% 60%,#f8f8f7 61%);border:2px solid #3a235a}.hero-orbit:after{content:"";position:absolute;width:205px;height:85px;border:2px solid #392055;border-radius:50%;transform:rotate(-33deg)}.hero-orbit span{z-index:1;font-size:2.4rem;font-weight:800;letter-spacing:-.11em;color:#30234d;transform:rotate(12deg)}
.portfolio-intro{position:relative;overflow:hidden}.portfolio-intro:after{content:"";position:absolute;right:24%;top:10px;width:85px;height:85px;border:5px solid #ff8a32;border-radius:15px 55px 15px 55px;transform:rotate(28deg);box-shadow:15px 7px 0 #f600a1,25px 12px 0 #23e1e866;pointer-events:none}.portfolio-intro h2{font-style:italic;letter-spacing:-.075em}
.portfolio-lane{position:relative;--lane-accent:#ff65b8}.portfolio-lane[data-ghost="02"]{--lane-accent:#3fe9ed}.portfolio-lane[data-ghost="03"]{--lane-accent:#ffad54}
.portfolio-lane:before{content:attr(data-ghost);position:absolute;right:2%;top:26px;font-size:clamp(8rem,19vw,17rem);font-weight:800;line-height:1;letter-spacing:-.12em;color:transparent;-webkit-text-stroke:2px #ffffff1d;pointer-events:none}
.lane-heading{position:relative;z-index:1}.lane-heading h2{font-style:italic;transform:rotate(-2deg);transform-origin:left bottom;text-shadow:5px 5px 0 #20152d}.lane-heading .lane-period{color:var(--lane-accent)}.lane-number{color:var(--lane-accent)}
.portfolio-lane .gallery.carousel-track{counter-reset:piece;padding-top:14px;padding-bottom:58px;align-items:flex-start}.portfolio-lane .gallery.carousel-track>.work{counter-increment:piece;position:relative;border:2px solid #fff8;box-shadow:10px 12px 0 #130c273d,0 18px 35px #100e2944;border-radius:10px 42px 10px 32px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.portfolio-lane .gallery.carousel-track>.work:nth-child(even){transform:translateY(24px);border-radius:36px 9px 32px 10px}.portfolio-lane .gallery.carousel-track>.work:hover{transform:translateY(-4px) rotate(-.6deg);box-shadow:13px 16px 0 #130c2755,0 20px 35px #100e2966}.portfolio-lane .gallery.carousel-track>.work:nth-child(even):hover{transform:translateY(7px) rotate(.6deg)}
.portfolio-lane .gallery.carousel-track>.work:before{content:counter(piece,decimal-leading-zero);position:absolute;z-index:2;left:13px;top:13px;background:var(--lane-accent);color:#1b1730;padding:4px 11px;border-radius:5px 17px 5px 17px;font-size:.85rem;font-weight:800;box-shadow:2px 3px 0 #2212378a}
.portfolio-lane .work-media{border-bottom:7px solid var(--lane-accent)}.portfolio-lane .gallery.carousel-track>.work:first-child{flex-basis:min(455px,85vw)}
.portfolio-lane .work-copy h3{letter-spacing:-.055em}.portfolio-lane .work-copy a{text-decoration-thickness:2px;text-decoration-color:var(--lane-accent)}
.index-lane:nth-child(2) .lane-period{color:#3fe9ed}.index-lane:nth-child(3) .lane-period{color:#ffad54}
@media(max-width:800px){.hero-orbit{margin-left:0}.portfolio-intro:after{right:6%;opacity:.6}}
@media(max-width:650px){.hero h1 em{transform:rotate(-2deg) translateX(3px);text-shadow:2px 2px 0 #e991cd}.hero-period{transform:translate(3px,-5px)}.hero-orbit{width:112px;height:112px;margin:0 0 22px}.hero-orbit:after{width:135px;height:55px}.hero-orbit span{font-size:1.6rem}.portfolio-intro:after{top:5px;right:10px;width:46px;height:46px;border-width:3px;box-shadow:8px 5px 0 #f600a1}.portfolio-lane:before{top:15px;font-size:8rem}.portfolio-lane .gallery.carousel-track>.work:nth-child(even){transform:translateY(12px)}.portfolio-lane .gallery.carousel-track{padding-bottom:38px}}
@media(prefers-reduced-motion:reduce){.portfolio-lane .gallery.carousel-track>.work{transition:none}}

/* Create / Build / Invent: a composed editorial structure */
nav .links{flex-wrap:wrap;justify-content:flex-end;gap:8px clamp(12px,2vw,26px)}
nav .links a{white-space:nowrap}
.hero{grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);align-items:end;gap:clamp(24px,5vw,80px);padding-block:92px 104px}
.hero h1{font-size:clamp(3rem,7vw,8rem);line-height:.9;letter-spacing:-.085em;text-transform:uppercase;margin:0 0 32px;max-width:1050px}
.hero h1 em{color:var(--night);text-shadow:none;white-space:nowrap}.hero-period{color:var(--pink)}
.hero .intro{max-width:700px;color:#29375d;font-size:clamp(1.15rem,2vw,1.55rem)}
.hero-side{border-left:1px solid var(--pink);padding-left:25px;font-size:1rem;line-height:1.6}
.work-zone .section{padding-top:88px}.portfolio-intro{display:grid;grid-template-columns:1fr minmax(240px,.75fr);gap:30px;align-items:end;padding-bottom:64px;border-bottom:1px solid #ffffff36}.portfolio-intro .eyebrow{grid-column:1/-1;margin:0;color:#ff61b8}.portfolio-intro h2{font-size:clamp(3rem,6.5vw,6.5rem);line-height:.95;margin:0}.portfolio-intro>p:last-child{max-width:470px;margin:0;color:#cbd3ec;font-size:1.1rem}
.portfolio-lane{padding:48px 0 64px;border-bottom:1px solid #ffffff30;scroll-margin-top:24px}.portfolio-lane:last-of-type{border:0}.lane-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.lane-number{display:block;font-size:.83rem;letter-spacing:.16em;font-weight:800;color:#fca4d4;text-transform:uppercase;margin-bottom:8px}.lane-heading h2,.index-lane h2{font-size:clamp(3rem,6vw,6rem);margin:0 0 5px;letter-spacing:-.07em}.lane-period{color:var(--pink)}.lane-heading p,.index-lane p{margin:0;color:#cbd3ec;font-size:1.04rem}.lane-heading .carousel-head{margin:0 0 4px}.portfolio-lane .gallery.carousel-track{padding-bottom:22px}.all-projects{display:inline-flex;margin:12px 0 0;padding:12px 0;color:#ff89c7;font-weight:800;text-underline-offset:5px}
.project-index{padding-block:60px 90px}.index-lane{margin-bottom:76px}.index-lane:last-child{margin-bottom:0}.index-lane p{margin-bottom:10px}.index-lane .carousel-head{margin-bottom:12px}.index-lane .work-index.carousel-track{width:100%;margin:0}.work-index.carousel-track>a{background:var(--concrete)}
@media(max-width:900px){nav{flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:18px 0}.hero{grid-template-columns:1fr}.hero-side{max-width:700px}.hero h1{font-size:clamp(3.4rem,10vw,7.5rem)}}
@media(max-width:650px){nav{align-items:flex-start}.links{justify-content:flex-start!important;gap:6px 15px!important;font-size:.86rem}.hero{padding:64px 0 70px}.hero h1{font-size:clamp(3.1rem,12vw,5.4rem);margin-bottom:24px}.hero-side{font-size:.94rem}.portfolio-intro{display:block;padding-bottom:40px}.portfolio-intro h2{margin:14px 0 18px}.portfolio-lane{padding:35px 0 42px}.lane-heading{align-items:flex-end}.lane-heading h2{font-size:clamp(2.5rem,11vw,4.2rem)}.lane-heading .carousel-head{gap:5px}.lane-heading .carousel-status{min-width:3rem;font-size:.8rem}.lane-heading .carousel-control{width:38px;height:38px}.project-index{padding-top:44px}.index-lane{margin-bottom:56px}}

/* Reference study: monochrome analog grain and quiet synth geometry */
body,header,.about,.wave-transition,.wave-transition.final,footer{background-color:#f0f0ef;background-image:url('/assets/light-geometry.svg'),radial-gradient(circle,#1b1b1b16 .55px,transparent .9px),radial-gradient(circle,#ffffffc0 .5px,transparent 1px),linear-gradient(135deg,#f4f4f3,#ededec);background-size:1200px 820px,5px 5px,7px 7px,cover;background-position:center top,0 0,2px 3px,center}
.work,.work-zone .work,.work-index a,.detail-art{background-color:#f0f0ef}.work-copy,.work-index strong{background-image:radial-gradient(circle,#24242412 .55px,transparent .9px),linear-gradient(140deg,#f5f5f4,#eeeeed);background-size:5px 5px,cover}
.wave-transition.reverse{background-color:#44305f;background-image:url('/assets/purple-pattern.svg'),linear-gradient(125deg,#25203e,#4b3269 55%,#6c4785);background-size:520px 520px,cover}
.work-zone,.detail-zone,.contact{background-color:#39294f;background-image:url('/assets/purple-pattern.svg'),linear-gradient(120deg,#25203e 0%,#42305d 45%,#684686 100%);background-size:520px 520px,cover;background-position:center top,center;color:#fff}
.work-zone{background-attachment:fixed}.contact{border-top:0}.contact p{color:#f0eaf8}.work-zone .section-title p,.portfolio-intro>p:last-child,.lane-heading p,.index-lane p,.detail-info p{color:#e7dcf0}.wave-transition svg{overflow:visible}
@media(max-width:650px){.work-zone{background-attachment:scroll}}

/* Plum and deep teal textile rhythm from the new visual reference */
.wave-transition.reverse{background-color:#352b4a;background-image:url('/assets/purple-pattern.svg'),radial-gradient(ellipse at 15% 80%,#174b54b5,transparent 55%),linear-gradient(120deg,#29223e,#553a70 75%,#624678);background-size:720px 540px,cover,cover}
.work-zone,.detail-zone,.contact{background-color:#352b4a;background-image:url('/assets/purple-pattern.svg'),radial-gradient(ellipse at 10% 80%,#124a55ae,transparent 58%),radial-gradient(ellipse at 89% 16%,#75529792,transparent 48%),linear-gradient(118deg,#29223e,#46315f 55%,#624678);background-size:720px 540px,cover,cover,cover;background-position:center top,center,center,center}

/* Continuous material through the shaped section edges */
:root{--concrete:#dededc;--light-surface:url('/assets/light-geometry.svg'),radial-gradient(circle,#16161619 .55px,transparent .9px),radial-gradient(circle,#fff9 .5px,transparent 1px),linear-gradient(135deg,#e5e5e3,#d9d9d7);--purple-surface:url('/assets/purple-pattern.svg'),radial-gradient(ellipse at 10% 80%,#124a55ae,transparent 58%),radial-gradient(ellipse at 89% 16%,#75529792,transparent 48%),linear-gradient(118deg,#29223e,#46315f 55%,#624678)}
body,header,.about,footer{background-color:var(--concrete);background-image:var(--light-surface);background-size:1200px 820px,5px 5px,7px 7px,cover;background-position:center top,0 0,2px 3px,center;background-attachment:fixed}
.work,.work-zone .work,.work-index a,.detail-art{background-color:#e1e1df}
.work-copy,.work-index strong{background-image:radial-gradient(circle,#18181815 .55px,transparent .9px),linear-gradient(140deg,#e8e8e6,#dbdbd9);background-size:5px 5px,cover}
.wave-transition{position:relative;isolation:isolate;background-color:var(--concrete);background-image:var(--light-surface);background-size:1200px 820px,5px 5px,7px 7px,cover;background-position:center top,0 0,2px 3px,center;background-attachment:fixed}
.wave-transition.reverse{background-color:#352b4a;background-image:var(--purple-surface);background-size:720px 540px,cover,cover,cover;background-position:center top,center,center,center;background-attachment:fixed}
.wave-transition.final{background-color:var(--concrete);background-image:var(--light-surface)}
.wave-transition:before{content:"";position:absolute;inset:0;background-color:#352b4a;background-image:var(--purple-surface);background-size:720px 540px,cover,cover,cover;background-position:center top,center,center,center;background-attachment:fixed;-webkit-mask-image:url('/assets/wave-mask.svg');mask-image:url('/assets/wave-mask.svg');-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.wave-transition.reverse:before{background-color:var(--concrete);background-image:var(--light-surface);background-size:1200px 820px,5px 5px,7px 7px,cover;background-position:center top,0 0,2px 3px,center}
.wave-transition svg{position:relative;z-index:1}
.work-zone,.detail-zone,.contact{background-color:#352b4a;background-image:var(--purple-surface);background-size:720px 540px,cover,cover,cover;background-position:center top,center,center,center;background-attachment:fixed}
@media(max-width:650px){.wave-transition,.wave-transition:before,.wave-transition.reverse,.work-zone,.detail-zone,.contact,body,header,.about,footer{background-attachment:scroll}}
.work-index-graphic{height:230px;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#342148,#174d56);color:#fff;padding:24px}.work-index-graphic.systems span{border:2px solid #65e0dd;padding:12px 9px;font-size:.9rem;font-weight:800;text-transform:uppercase;transform:rotate(-3deg)}.work-index-graphic.systems span:nth-child(2){border-color:#ff83c4;transform:rotate(3deg)}.work-index-graphic.systems span:nth-child(3){border-color:#ff9b4c}.work-index-graphic.ai{flex-direction:column;background:radial-gradient(circle at 65% 40%,#71469b,#241d3d 70%)}.work-index-graphic.ai b{font-size:5rem;line-height:1;letter-spacing:-.1em;color:#6cece4;text-shadow:4px 4px 0 #ef4bb1}.work-index-graphic.ai span{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
/* One shared pattern coordinate, including the cutout itself */
body,header,.about,footer,.wave-transition.reverse:before{background-position:center var(--texture-y,0px),0 0,2px 3px,center}
.wave-transition,.wave-transition.final{background-position:center var(--texture-y,0px),0 0,2px 3px,center}
.wave-transition.reverse,.wave-transition:before,.work-zone,.detail-zone,.contact{background-position:center var(--texture-y,0px),center,center,center}
body,header,.about,footer,.wave-transition,.wave-transition.final,.wave-transition.reverse:before{background-attachment:scroll,scroll,scroll,fixed}
.wave-transition.reverse,.wave-transition:before,.work-zone,.detail-zone,.contact{background-attachment:scroll,fixed,fixed,fixed}
@media(max-width:650px){body,header,.about,footer,.wave-transition,.wave-transition.final,.wave-transition.reverse,.wave-transition:before,.wave-transition.reverse:before,.work-zone,.detail-zone,.contact{background-attachment:scroll}}
.wave-transition.reverse svg path[filter="url(#light-edge-blur)"]{display:none}
.work-media.real,.work-media.systems{background-color:#e1e1df}
/* Desktop parallax: the wave and its section sample the same viewport-anchored surface. */
@media(min-width:651px){
  body,header,.about,footer,.wave-transition,.wave-transition.final,.wave-transition.reverse:before{background-position:center top,0 0,2px 3px,center;background-attachment:fixed}
  .wave-transition.reverse,.wave-transition:before,.work-zone,.detail-zone,.contact{background-position:center top,center,center,center;background-attachment:fixed}
}
/* Sharper blue circuit field: the black linework becomes Felicia's neon spectrum. */
:root{--purple-surface:url('/assets/purple-pattern.svg'),radial-gradient(ellipse at 14% 78%,#0b52595e,transparent 56%),radial-gradient(ellipse at 88% 10%,#51277376,transparent 52%),linear-gradient(120deg,#0b1638 0%,#172750 52%,#30225a 100%)}
.wave-transition.reverse,.wave-transition:before,.work-zone,.detail-zone,.contact{background-color:#101c43;background-image:var(--purple-surface);background-size:1100px 760px,cover,cover,cover}
/* Single blue surface cut by uneven recessed routes; neon is reserved for the next pass. */
:root{--purple-surface:url('/assets/purple-pattern.svg'),linear-gradient(120deg,#203f70,#0d1d45)}
.wave-transition.reverse,.wave-transition:before,.work-zone,.detail-zone,.contact{background-color:#122852;background-image:var(--purple-surface);background-size:cover,cover;background-repeat:no-repeat;background-position:center center,center center;background-attachment:fixed}
@media(max-width:650px){.wave-transition.reverse,.wave-transition:before,.work-zone,.detail-zone,.contact{background-position:center center,center center;background-attachment:scroll}}

/* Faceted indigo surface from Felicia's latest reference: colored light lives only on the bevels. */
:root{--purple-surface:linear-gradient(90deg,#05071f63,#05071f2e 50%,#05071f63),url('/assets/neon-underglow.webp')}
.wave-transition.reverse,.wave-transition:before,.work-zone,.detail-zone,.contact{background-color:#0a1038;background-image:var(--purple-surface);background-size:cover,cover;background-repeat:no-repeat;background-position:center center,center center;background-attachment:fixed}
@media(max-width:650px){.wave-transition.reverse,.wave-transition:before,.work-zone,.detail-zone,.contact{background-position:center center,center center;background-attachment:scroll}}
/* Expressive editorial name treatment */
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.8rem,8.4vw,9rem);font-weight:700;line-height:.86;letter-spacing:-.075em;text-transform:none;max-width:1120px}
.hero h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-style:italic;letter-spacing:-.09em;transform:rotate(-2deg) translateX(.035em);white-space:normal}
.hero h1 .hero-period{font-family:'DM Sans',Arial,sans-serif;font-style:normal;font-size:.85em;color:#9060db;text-shadow:2px 3px 0 #27f3ed}
@media(max-width:650px){.hero h1{font-size:clamp(3.05rem,12vw,5.7rem);line-height:.93;letter-spacing:-.085em}.hero h1 em{letter-spacing:-.095em}}
@font-face{font-family:Blazium;src:url('/assets/blazium.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.hero h1,.hero h1 em{font-family:Blazium,Georgia,serif;font-weight:400;font-style:normal;letter-spacing:.005em;line-height:1.04}
.hero h1{font-size:clamp(3.5rem,7.2vw,8rem)}
.hero h1 em{display:inline-block;transform:rotate(-2deg) translateX(.02em);white-space:normal}
@media(max-width:650px){.hero h1{font-size:clamp(3rem,11vw,5.2rem);line-height:1.07}}

.font-credit{font-size:.75rem;opacity:.72;text-align:center;margin:12px auto 0}.font-credit a{text-decoration:underline}
/* Project galleries: keep the homepage presentation intact. */
.series-page{padding:clamp(50px,7vw,100px) 0 80px}
.series-lead{max-width:850px;margin-bottom:clamp(55px,8vw,110px)}
.series-lead .eyebrow{display:block;color:#83e4e9;margin-bottom:20px}
.series-lead h2{font-size:clamp(3.4rem,8vw,8rem);margin:0 0 22px;line-height:.9;letter-spacing:-.065em;color:#f4f0ff}
.series-lead p{font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.5;color:#e8ddf1;max-width:700px}
.series-chapter{margin-bottom:clamp(65px,8vw,120px)}
.chapter-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;border-top:1px solid #c7b2f86b;padding:24px 0 30px}
.chapter-heading h3{font-size:clamp(2rem,4vw,4rem);margin:0;color:#fff}
.chapter-heading p{max-width:420px;margin:0;color:#e8ddf1;font-size:1rem}
.series-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.series-frame{margin:0;min-width:0;background:#14122b;border:1px solid #bb96e753;box-shadow:0 13px 40px #05071f5c;overflow:hidden}
.series-frame:first-child:nth-last-child(odd){grid-column:span 2}
.series-frame img{width:100%;height:min(45vw,520px);display:block;object-fit:contain;background:#0d102a}
.series-frame:first-child:nth-last-child(odd) img{height:min(58vw,690px)}
.series-frame figcaption{font:700 .78rem/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.12em;color:#b8a8df;padding:11px 16px;border-top:1px solid #ffffff22}
.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-bottom:100px}
.process-grid article{background:#10122de8;border:1px solid #ad86de6d;padding:35px;min-height:275px}
.process-grid span{display:block;color:#65ece9;font-weight:800;letter-spacing:.15em;margin-bottom:35px}
.process-grid h3{font-size:clamp(1.7rem,2vw,2.4rem);color:#fff;margin:0 0 16px}
.process-grid p{font-size:1rem;line-height:1.55;color:#e5dcf2;margin:0}
.series-next{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #bd9af16b;padding:25px 0;font-weight:800}
.series-next a{color:#eab2ff;text-underline-offset:6px}
@media(max-width:650px){.chapter-heading{display:block}.chapter-heading p{margin-top:12px}.series-grid{grid-template-columns:1fr}.series-frame:first-child:nth-last-child(odd){grid-column:auto}.series-frame img,.series-frame:first-child:nth-last-child(odd) img{height:auto;max-height:570px}.series-lead h2{overflow-wrap:anywhere}.process-grid{margin-bottom:65px}}

/* Clearer homepage hierarchy: expressive brand, orderly project lanes. */
header .wordmark{font-family:Blazium,Georgia,serif;font-size:clamp(1.1rem,1.65vw,1.5rem);font-weight:400;line-height:1.12;letter-spacing:.01em;text-transform:none;white-space:normal;max-width:350px;padding-bottom:17px}
header .wordmark span{color:#ed008d}
header .wordmark .name-underline{bottom:2px}
.portfolio-intro:after{content:none}
.portfolio-lane{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:24px 38px;align-items:start;padding:52px 0;border-bottom:1px solid #ffffff50}
.portfolio-lane:before{content:none}
.portfolio-lane .lane-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:26px;min-height:285px;margin:0;padding:4px 0 0 19px;border-left:4px solid var(--lane-accent)}
.portfolio-lane .lane-heading h2{font-size:clamp(2.8rem,4vw,4.3rem);transform:none;text-shadow:none;margin:10px 0}
.portfolio-lane .lane-heading p{max-width:220px;line-height:1.4}
.portfolio-lane .lane-heading .carousel-head{margin:0;align-self:flex-start}
.portfolio-lane .gallery.carousel-track{padding:4px 4px 30px;align-items:stretch;min-width:0}
.portfolio-lane .gallery.carousel-track>.work,.portfolio-lane .gallery.carousel-track>.work:nth-child(even),.portfolio-lane .gallery.carousel-track>.work:first-child{flex:0 0 min(320px,78vw);transform:none;border-radius:10px 24px 10px 24px}
.portfolio-lane .gallery.carousel-track>.work:hover,.portfolio-lane .gallery.carousel-track>.work:nth-child(even):hover{transform:translateY(-4px)}
.portfolio-lane .work-copy{display:flex;flex-direction:column;align-items:flex-start}
.portfolio-lane .work-copy a{margin-top:auto;padding-top:15px}
@media(max-width:950px){.portfolio-lane{grid-template-columns:minmax(180px,220px) minmax(0,1fr);gap:22px}.portfolio-lane .lane-heading{min-height:260px}.portfolio-lane .gallery.carousel-track>.work,.portfolio-lane .gallery.carousel-track>.work:nth-child(even),.portfolio-lane .gallery.carousel-track>.work:first-child{flex-basis:min(290px,70vw)}}
@media(max-width:700px){header .wordmark{font-size:clamp(.88rem,3.4vw,1.2rem);max-width:220px}.portfolio-lane{display:block;padding:36px 0 42px}.portfolio-lane .lane-heading{min-height:0;flex-direction:row;align-items:flex-end;padding-left:13px;margin-bottom:23px;gap:12px}.portfolio-lane .lane-heading h2{font-size:clamp(2.4rem,9vw,3.6rem)}.portfolio-lane .lane-heading p{font-size:.92rem}.portfolio-lane .lane-heading .carousel-head{align-self:flex-end;flex-shrink:0}.portfolio-lane .gallery.carousel-track>.work,.portfolio-lane .gallery.carousel-track>.work:nth-child(even),.portfolio-lane .gallery.carousel-track>.work:first-child{flex-basis:min(310px,84vw)}}
@media(max-width:700px){header nav{flex-wrap:wrap;gap:8px;padding:13px 0}header nav .links{width:100%;display:flex;justify-content:space-between;gap:8px;overflow-x:auto;white-space:nowrap;padding-bottom:4px}header nav .links a{flex-shrink:0}}
/* Blazium belongs to Felicia's hero name; the role uses the original bold sans face. */
header .wordmark{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(1rem,1.55vw,1.45rem);font-weight:800;line-height:1.16;letter-spacing:-.035em;text-transform:uppercase;max-width:370px}
@media(max-width:700px){header .wordmark{font-size:clamp(.85rem,3.2vw,1.1rem);max-width:260px}}

/* Pointer light and gentle movement on the display name. */
body:after{content:"";position:fixed;z-index:8;left:0;top:0;width:360px;height:360px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#25d9e91a 0%,#a461df0c 34%,transparent 70%);transform:translate3d(calc(var(--glow-x,-500px) - 50%),calc(var(--glow-y,-500px) - 50%),0);opacity:var(--glow-opacity,0);transition:opacity .35s;mix-blend-mode:screen}
.reactive-name .name-first,.reactive-name em{display:inline-block;will-change:transform;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.reactive-name .name-first{transform:translate3d(calc(var(--name-x,0) * -1),calc(var(--name-y,0) * -1),0)}
.reactive-name em{transform:translate3d(var(--name-x,0),var(--name-y,0),0) rotate(calc(-2deg + var(--name-tilt,0deg)))}
@media(prefers-reduced-motion:reduce){body:after{display:none}.reactive-name .name-first,.reactive-name em{transition:none;transform:none}}

/* Photoshop series: a composed burst that opens into a full-size viewer. */
.explosion-gallery{display:block;position:relative;min-height:920px;isolation:isolate}
.explosion-gallery .series-frame{position:absolute;width:32%;min-width:0;grid-column:auto!important;transition:transform .3s ease,box-shadow .3s ease;transform:rotate(var(--art-angle,0deg));box-shadow:0 16px 35px #07071b88}
.explosion-gallery .series-frame:hover,.explosion-gallery .series-frame:focus-within{z-index:10;transform:translateY(-10px) rotate(0deg) scale(1.045);box-shadow:0 25px 55px #03051bb3}
.explosion-gallery .series-frame:nth-child(1){left:2%;top:64px;--art-angle:-9deg}
.explosion-gallery .series-frame:nth-child(2){left:35%;top:0;--art-angle:5deg}
.explosion-gallery .series-frame:nth-child(3){left:67%;top:108px;--art-angle:9deg}
.explosion-gallery .series-frame:nth-child(4){left:13%;top:340px;--art-angle:6deg}
.explosion-gallery .series-frame:nth-child(5){left:54%;top:325px;--art-angle:-7deg}
.explosion-gallery .series-frame:nth-child(6){left:2%;top:633px;--art-angle:-4deg}
.explosion-gallery .series-frame:nth-child(7){left:42%;top:605px;--art-angle:7deg}
.explosion-gallery .artwork-open{display:block;width:100%;padding:0;border:0;background:#10112a;cursor:zoom-in}
.explosion-gallery .artwork-open:focus-visible{outline:3px solid #5af6ee;outline-offset:4px}
.explosion-gallery .artwork-open img,.explosion-gallery .series-frame:first-child:nth-last-child(odd) img{width:100%;height:218px;object-fit:contain}
.artwork-viewer{position:fixed;inset:0;z-index:100;background:#070a1cf2;color:#fff;border:0;padding:clamp(18px,3vw,42px);max-width:none;max-height:none;width:100%;height:100%;overflow:auto}
.artwork-viewer::backdrop{background:#050619eb}
.artwork-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:15px}
.artwork-viewer-top,.artwork-viewer-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px}
.artwork-viewer img{width:100%;height:100%;max-height:calc(100vh - 175px);object-fit:contain}
.artwork-viewer button{background:#ffffff19;color:#fff;border:1px solid #ffffff60;padding:8px 16px;font:700 1rem 'DM Sans',Arial,sans-serif;cursor:pointer}
.artwork-viewer button:hover,.artwork-viewer button:focus-visible{background:#ff19b7;color:#0a0d2c}
@media(max-width:900px){.explosion-gallery{display:grid;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.explosion-gallery .series-frame{position:static;width:auto;transform:none}.explosion-gallery .series-frame:hover,.explosion-gallery .series-frame:focus-within{transform:none}.explosion-gallery .artwork-open img,.explosion-gallery .series-frame:first-child:nth-last-child(odd) img{height:300px}}
@media(max-width:600px){.explosion-gallery{grid-template-columns:1fr}.explosion-gallery .artwork-open img,.explosion-gallery .series-frame:first-child:nth-last-child(odd) img{height:auto;max-height:520px}}
@media(prefers-reduced-motion:reduce){.explosion-gallery .series-frame,.explosion-gallery .series-frame:hover,.explosion-gallery .series-frame:focus-within{transition:none;transform:none}}

/* Bloom N Bones: one image opens at a time across the series. */
.bloom-accordion{display:flex;gap:10px;height:540px;min-height:0}
.bloom-accordion .series-frame,.bloom-accordion .series-frame:first-child:nth-last-child(odd){grid-column:auto;position:relative;flex:1 1 0;min-width:0;overflow:hidden;transition:flex .55s cubic-bezier(.22,.8,.25,1),transform .35s;border-color:#bd8ae276}
.bloom-accordion .series-frame:hover,.bloom-accordion .series-frame:focus-within{flex:5 1 0;z-index:1;border-color:#ee92e4}
.bloom-accordion .artwork-open{display:block;width:100%;height:100%;padding:0;border:0;background:#11122c;cursor:zoom-in}
.bloom-accordion .artwork-open:focus-visible{outline:3px solid #5af6ee;outline-offset:-4px}
.bloom-accordion .artwork-open img,.bloom-accordion .series-frame:first-child:nth-last-child(odd) img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;display:block}
.bloom-accordion .series-frame:hover img,.bloom-accordion .series-frame:focus-within img{object-fit:contain}
.bloom-accordion figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#090c2cca);color:#fff;border:0;pointer-events:none;padding:25px 15px 13px}
@media(max-width:850px){.bloom-accordion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto;gap:15px}.bloom-accordion .series-frame,.bloom-accordion .series-frame:first-child:nth-last-child(odd){width:auto;min-width:0}.bloom-accordion .artwork-open{height:300px}.bloom-accordion .artwork-open img,.bloom-accordion .series-frame:first-child:nth-last-child(odd) img{height:100%;object-fit:contain}}
@media(max-width:600px){.bloom-accordion{grid-template-columns:1fr}.bloom-accordion .artwork-open{height:auto}.bloom-accordion .artwork-open img,.bloom-accordion .series-frame:first-child:nth-last-child(odd) img{height:auto;max-height:550px}}
@media(prefers-reduced-motion:reduce){.bloom-accordion .series-frame{transition:none}}

/* Nearby pictures shift like small points in a constellation. */
.work-media.real img,.work-index img,.series-frame img{transform:translate3d(var(--photo-x,0px),var(--photo-y,0px),0);transition:transform .35s ease;will-change:transform}
@media(prefers-reduced-motion:reduce){.work-media.real img,.work-index img,.series-frame img{transition:none;transform:none}}

/* Motion studies: a small hover lift reveals a lit frame around each video. */
.video-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.video-frame{margin:0;min-width:0;padding:9px;background:#13142fdc;border:1px solid #bd89ee79;box-shadow:0 12px 36px #03051855;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.video-frame:hover,.video-frame:focus-within{transform:translateY(-6px) scale(1.012);border-color:#5df4ef;box-shadow:0 14px 40px #42e6e333,0 16px 44px #04071990}
.video-embed{width:100%;position:relative;background:#090d2d}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-frame figcaption{font:700 .82rem/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.08em;color:#d2c3ed;padding:12px 7px 5px}
.video-to-puft{display:block;position:relative;max-width:680px;background:#161431;border:1px solid #caabef5e;text-decoration:none;overflow:hidden}
.video-to-puft img{display:block;width:100%;max-height:370px;object-fit:cover;transition:transform .3s}
.video-to-puft:hover img{transform:scale(1.03)}
.video-to-puft span{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,#111127e8);padding:40px 25px 20px;color:#fff;font-weight:800;font-size:1.35rem}
.work-media.modeling,.work-index-graphic.modeling{display:grid;place-items:center;background:radial-gradient(circle at 72% 20%,#9658be,#28317a 42%,#080e36);color:#78eee9}
.work-media.modeling b,.work-index-graphic.modeling b{font:800 clamp(4rem,10vw,8rem)/1 'DM Sans',Arial,sans-serif;letter-spacing:-.1em;text-shadow:0 0 22px #63fffd8a}
@media(max-width:700px){.video-gallery{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.video-frame,.video-to-puft img{transition:none}.video-frame:hover,.video-frame:focus-within,.video-to-puft:hover img{transform:none}}
.type-intro{max-width:720px}.type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.5vw,32px)}.type-grid .series-frame{margin:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.type-grid .series-frame img{width:100%;height:auto;max-height:600px;object-fit:contain}.type-grid .type-wide{grid-column:1/-1}.type-grid .type-wide img{max-height:680px}.type-grid .series-frame figcaption{text-align:left;padding:12px 4px 2px}.type-grid .series-frame.type-logo img{max-height:420px}@media(max-width:700px){.type-grid{grid-template-columns:1fr}.type-grid .type-wide{grid-column:auto}}
.bloom-accordion .series-frame:first-child:hover,.bloom-accordion .series-frame:first-child:focus-within{flex:5 1 0;z-index:1;border-color:#ee92e4}.bloom-accordion .series-frame:first-child:hover img,.bloom-accordion .series-frame:first-child:focus-within img{object-fit:contain}
.video-embed{position:relative}.video-embed iframe{pointer-events:none}.video-embed.is-interactive iframe{pointer-events:auto}.video-preview-target{position:absolute;inset:0;z-index:1;border:0;background:transparent;color:#fff;cursor:pointer;font:700 .78rem/1.2 'DM Sans',Arial,sans-serif;letter-spacing:.05em;text-align:right;padding:16px;display:flex;align-items:end;justify-content:end}.video-preview-target span{padding:9px 12px;background:#0c1239d9;border:1px solid #95f1ee;border-radius:100px;box-shadow:0 0 18px #40eade55}.video-preview-target:focus-visible{outline:3px solid #5af6ee;outline-offset:-3px}.video-embed.is-interactive .video-preview-target{display:none}
.systems-case{padding:clamp(55px,7vw,110px) 0 90px}.systems-lead{max-width:950px;margin-bottom:clamp(65px,8vw,125px)}.systems-lead .backlink{display:inline-block;margin-bottom:30px}.systems-lead h2{font-size:clamp(2.5rem,5.8vw,5.6rem);line-height:1.04;letter-spacing:-.055em;max-width:1000px;margin:20px 0}.systems-lead>p:not(.draft-note){font-size:clamp(1.05rem,1.65vw,1.35rem);max-width:750px;line-height:1.65;color:#eee7f5}.draft-note{font:600 .78rem/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.025em;color:#e7cbf2;background:#251a3f;padding:13px 18px;border-left:3px solid #f86cbd;max-width:760px}.systems-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.systems-meta span{padding:8px 12px;border:1px solid #b499d080;border-radius:30px;color:#d3c3e5;font-size:.76rem}.systems-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,36px);margin-bottom:80px}.systems-project{color:#fff;text-decoration:none;background:linear-gradient(145deg,#282142,#181936);border:1px solid #9176b16e;border-radius:16px;padding:clamp(24px,3vw,42px);transition:transform .25s,border-color .25s,box-shadow .25s}.systems-project:hover,.systems-project:focus-visible{transform:translateY(-6px);border-color:#55eae5;box-shadow:0 16px 45px #38ded929}.systems-project-symbol{position:relative;font:900 clamp(5rem,12vw,10rem)/1 'DM Sans',Arial,sans-serif;letter-spacing:-.1em;color:#66d9df;padding:60px 0 30px;text-shadow:6px 7px 0 #792fb2}.systems-project-symbol.texture{color:#f65bb5;text-shadow:6px 7px 0 #4a8bec}.systems-project-symbol span{font-size:clamp(2rem,4vw,4rem);vertical-align:top;letter-spacing:0}.systems-project h3{font-size:clamp(1.5rem,2.5vw,2.5rem);margin:0 0 10px}.systems-project p{color:#d5cbe3;line-height:1.65;max-width:400px}.systems-project strong{display:block;color:#ff8bc8;margin-top:25px;font-size:.9rem}.case-block{border-top:1px solid #bc9cd077;padding:clamp(48px,6vw,90px) 0}.case-number{display:block;font:700 .74rem/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#75e2e6;margin-bottom:28px}.case-block h3{font-size:clamp(2rem,3.4vw,3.6rem);line-height:1.08;letter-spacing:-.04em;max-width:700px;margin:0 0 27px}.case-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,75px);align-items:start}.case-copy{display:grid;gap:5px}.case-copy h4,.case-three h4{font-size:1.2rem;margin:20px 0 0;color:#fff}.case-copy p,.case-block p{color:#ddd4ea;line-height:1.72}.case-demo{min-width:0;background:radial-gradient(circle at 40% 45%,#474388,#12172f 65%);border:1px solid #9e77c594;border-radius:15px;box-shadow:0 25px 60px #090b2790;overflow:hidden}.case-demo-top{display:flex;align-items:center;gap:9px;padding:17px 20px;color:#c2b5da;font:700 .67rem/1 'DM Sans',Arial,sans-serif;letter-spacing:.14em;border-bottom:1px solid #a7a9d442}.case-demo-top span:last-child{margin-left:auto}.demo-led{width:9px;height:9px;background:#ff6cbc;border-radius:50%;box-shadow:0 0 12px #ff4aac}.case-diagram{display:flex;align-items:center;justify-content:center;gap:10px;min-height:295px;padding:24px}.case-node{min-width:0;flex:1;padding:18px 12px;border:1px solid #8e8cbfa6;border-radius:11px;background:#0b183b9e;text-align:center}.case-node.highlighted{border-color:#5bedea;box-shadow:0 0 30px #5af4e33d}.case-node small{display:block;color:#8eebec;font-size:.61rem;letter-spacing:.12em}.case-node strong{display:block;font-size:clamp(.85rem,1.2vw,1.15rem);margin:12px 0 7px}.case-node span{display:block;color:#c5badc;font-size:.72rem}.case-arrow{color:#fb8acc;font-size:1.4rem;flex:none}.case-demo-foot{padding:13px 20px;border-top:1px solid #a7a9d442;color:#aaadcb;font-size:.72rem}.case-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.case-three article{min-height:200px;padding:25px;background:#1f2040aa;border:1px solid #9e83bc6b;border-radius:12px}.case-three article>span{color:#ff8dcc;font-size:.8rem;font-weight:700}.case-three p{font-size:.92rem}.case-inline-note{margin-top:25px}.case-split.outcome{align-items:center}.case-next{display:grid;grid-template-columns:1fr 135px;gap:8px;align-items:center;background:#1b1c38;border:1px solid #947db39e;padding:20px;border-radius:12px;color:#fff;text-decoration:none}.case-next span{grid-column:1;color:#d2bfe1}.case-next strong{grid-column:1;font-size:1.35rem}.case-next img{grid-column:2;grid-row:1/3;width:135px;height:115px;object-fit:cover;border-radius:8px}.case-next:hover{border-color:#62e8e6}.case-next-tool{padding:40px 0 90px}.case-next-tool h3{font-size:2.4rem;margin:14px 0}.case-next-tool p{max-width:600px}@media(max-width:850px){.case-split,.systems-projects{grid-template-columns:1fr}.case-demo{max-width:760px}}@media(max-width:600px){.case-three{grid-template-columns:1fr}.case-three article{min-height:0}.case-diagram{gap:4px;padding:12px;min-height:220px}.case-node{padding:10px 5px}.case-node small{font-size:.47rem}.case-node strong{font-size:.68rem}.case-node span{font-size:.55rem}.case-arrow{font-size:1rem}.case-next{grid-template-columns:1fr 90px}.case-next img{width:90px;height:90px}}

.systems-project-feature{grid-column:1/-1}.systems-project-feature .systems-project-symbol{font-size:clamp(4rem,8vw,7rem);padding:20px 0}.systems-project-feature .hud-symbol{color:#f585c2;text-shadow:4px 4px 0 #376a9b}.hud-editorial .series-lead h2{font-size:clamp(2.9rem,6.2vw,6.2rem);line-height:1;max-width:1050px}.hud-editorial .series-lead{max-width:1050px}.hud-editorial .series-lead p{max-width:740px}.hud-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:27px}.hud-facts span{font:600 .74rem/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.025em;color:#d8cbeb;border:1px solid #9b85b56b;padding:9px 12px;border-radius:25px}.hud-editorial .chapter-heading h3{font-size:clamp(2rem,3.8vw,3.7rem)}.hud-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,70px);max-width:1100px}.hud-story p{margin:0;color:#e5dcf2;font-size:1.04rem;line-height:1.75}.hud-editorial code{font:.88em/1.5 monospace;color:#a2efec;background:#1c2140;padding:2px 5px;border-radius:3px;overflow-wrap:anywhere}.hud-process{margin-bottom:25px}.hud-process article{min-height:230px;padding:clamp(22px,3vw,35px)}.hud-process span{margin-bottom:27px}.hud-process h3{font-size:clamp(1.45rem,2vw,2.2rem)}.hud-note{max-width:740px;padding-left:17px;border-left:2px solid #7fdfe1;color:#d3c5e6;line-height:1.65}.hud-details{display:grid;gap:10px;max-width:1080px}.hud-details details{border:1px solid #a998c370;background:#1116308a}.hud-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px;padding:22px;color:#fff}.hud-details summary::-webkit-details-marker{display:none}.hud-details summary span:first-child{color:#88e4e5;font-size:.76rem;letter-spacing:.1em}.hud-details summary strong{font-size:1.1rem}.hud-details summary span:last-child{margin-left:auto;color:#f58ccb;font-size:1.2rem}.hud-details details[open] summary span:last-child{transform:rotate(45deg)}.hud-details details[open]{border-color:#8adfe4}.hud-details details p{max-width:820px;margin:0;padding:0 22px 25px 55px;line-height:1.65;color:#e5dcf2}.hud-cover,.hud-index{background:linear-gradient(135deg,#233154,#18142f 70%);color:#f190c8;display:flex;flex-direction:column;align-items:center;justify-content:center}.hud-cover>span{font:900 clamp(3rem,7vw,6rem)/1 'DM Sans',Arial,sans-serif;letter-spacing:-.08em}.hud-cover>span span{font-size:.4em;vertical-align:top}.hud-cover>small,.hud-index span{color:#9ce8ea;letter-spacing:.1em;font-size:.7rem}.hud-index b{font-size:3.4rem;letter-spacing:-.08em}@media(max-width:700px){.hud-story{grid-template-columns:1fr}.hud-editorial .series-lead h2{font-size:clamp(2.6rem,10vw,4rem)}.hud-details details p{padding-left:22px}.hud-editorial .chapter-heading p{max-width:none}}
.case-standard .series-lead{max-width:900px;margin-bottom:clamp(40px,6vw,80px)}.case-standard .series-lead h2{font-size:clamp(2.8rem,6.3vw,6rem);line-height:1;overflow-wrap:anywhere}.case-standard .series-lead p{max-width:780px}.case-at-glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #bfa6dc8c;border-bottom:1px solid #bfa6dc8c;margin-bottom:clamp(65px,8vw,115px)}.case-at-glance>div{padding:23px 22px;border-right:1px solid #bfa6dc55}.case-at-glance>div:first-child{padding-left:0}.case-at-glance>div:last-child{border-right:0}.case-at-glance span{display:block;color:#83e4e9;font:700 .7rem/1.2 'DM Sans',Arial,sans-serif;letter-spacing:.13em;margin-bottom:11px}.case-at-glance strong{display:block;color:#f2eafa;font-size:.91rem;line-height:1.45}.case-section{display:grid;grid-template-columns:minmax(210px,.36fr) minmax(0,.64fr);gap:clamp(35px,5vw,90px);border-top:1px solid #bfa6dc77;padding:clamp(35px,5vw,75px) 0;max-width:1170px}.case-section-heading>span{font:700 .77rem 'DM Sans',Arial,sans-serif;color:#82e8e9;letter-spacing:.15em}.case-section-heading h3{font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.07;letter-spacing:-.04em;margin:15px 0;color:#fff}.case-section-heading p{color:#cfbfe1;line-height:1.55;max-width:280px}.case-section-body>p,.case-prose p{font-size:1.06rem;line-height:1.75;color:#e8e0f1;margin:0 0 20px}.case-standard code{color:#93f0ed;background:#191c3a;padding:2px 5px;border-radius:3px;font-size:.86em;overflow-wrap:anywhere}.case-timeline{list-style:none;padding:0;margin:0;counter-reset:none}.case-timeline li{display:grid;grid-template-columns:105px 1fr;gap:18px;border-bottom:1px solid #bfa6dc4d;padding:0 0 24px;margin-bottom:25px}.case-timeline li:first-child{padding-top:0}.case-timeline li:last-child{border-bottom:0;margin-bottom:0}.case-timeline li>span{font:700 .69rem/1.5 'DM Sans',Arial,sans-serif;color:#f48bc9;letter-spacing:.09em;padding-top:5px}.case-timeline h4{font-size:1.28rem;line-height:1.25;margin:0 0 9px;color:#fff}.case-timeline p{line-height:1.65;color:#e0d7ed;margin:0}.case-spec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px solid #bfa6dc6d;margin-top:35px;padding-top:20px}.case-spec>div{padding-right:12px}.case-spec span{display:block;color:#84e3e6;font-size:.68rem;letter-spacing:.12em;font-weight:700}.case-spec strong{display:block;color:#fff;font-size:1.35rem;margin:8px 0}.case-spec small{color:#c8bade;line-height:1.45}.case-evidence{border-left:2px solid #f18eca;padding-left:17px;color:#d9c8e9!important;font-size:.95rem!important}@media(max-width:850px){.case-at-glance{grid-template-columns:repeat(2,minmax(0,1fr))}.case-at-glance>div:nth-child(2){border-right:0}.case-at-glance>div:nth-child(-n+2){border-bottom:1px solid #bfa6dc55}.case-at-glance>div:nth-child(3){padding-left:0}.case-section{grid-template-columns:1fr;gap:20px}.case-section-heading p{max-width:620px}}@media(max-width:550px){.case-at-glance>div{padding:18px 12px}.case-at-glance>div:first-child,.case-at-glance>div:nth-child(3){padding-left:0}.case-at-glance strong{font-size:.8rem}.case-timeline li{grid-template-columns:1fr;gap:5px}.case-spec{grid-template-columns:1fr;gap:18px}.case-standard .series-lead h2{font-size:clamp(2.5rem,10vw,4rem)}}
.case-standard .case-at-glance{background:#171a36;border:1px solid #ad91c677;border-radius:12px;box-shadow:0 14px 32px #080b2755;overflow:hidden;margin-bottom:clamp(32px,5vw,70px)}
.case-standard .case-at-glance>div:first-child,.case-standard .case-at-glance>div:nth-child(3){padding-left:22px}
.case-standard .case-section{background:linear-gradient(135deg,#202040,#171a34 74%);border:1px solid #a78cc280;border-left:3px solid #7cdbdc;border-radius:12px;padding:clamp(26px,4vw,55px);margin-bottom:18px;box-shadow:0 16px 40px #090b2850}
.case-standard .case-section:nth-of-type(even){border-left-color:#e684be}
.case-standard .case-section-heading p{color:#e5d9ef}
.case-standard .case-section-body>p,.case-standard .case-prose p{color:#f0e9f5}
.case-standard .case-timeline li{background:#101630b0;border:1px solid #aaa0c469;border-radius:8px;padding:20px;margin-bottom:12px}
.case-standard .case-timeline li:first-child{padding-top:20px}
.case-standard .case-timeline li:last-child{border-bottom:1px solid #aaa0c469;margin-bottom:0}
.case-standard .case-spec{gap:10px}
.case-standard .case-spec>div{background:#111a37;border:1px solid #9b94ba78;border-radius:8px;padding:17px}
.case-standard .case-evidence{background:#221b40;border-radius:0 8px 8px 0;padding:14px 17px;color:#f0e2f0!important}
.resume-heading .eyebrow{margin-top:30px}.resume-heading h1{max-width:940px}.resume-zone{background-image:none}.resume-intro{max-width:850px;padding:10px 0 42px}.resume-intro h2{font-size:clamp(2.8rem,5vw,5.5rem);line-height:1.05;margin:17px 0 22px}.resume-intro p{font-size:1.15rem;line-height:1.7;color:#f0e9f5}.resume-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.resume-panel{background:linear-gradient(135deg,#202040,#171a34 74%);border:1px solid #a78cc280;border-left:3px solid #7cdbdc;border-radius:12px;padding:clamp(24px,3vw,42px);box-shadow:0 16px 40px #090b2850}.resume-panel-main{grid-column:1/-1;border-left-color:#e684be}.resume-panel h3{font-size:clamp(1.45rem,2.3vw,2.2rem);line-height:1.2;margin:15px 0}.resume-panel p,.resume-panel li{color:#f0e9f5;font-size:1.03rem;line-height:1.65}.resume-panel p{max-width:760px}.resume-panel ul{padding-left:21px;margin-bottom:0}.resume-panel li+li{margin-top:10px}.resume-work{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:start;padding:85px 0 70px}.resume-work h2{font-size:clamp(2.3rem,4vw,4.3rem);line-height:1.1;margin:15px 0}.resume-work p{color:#e8dff1;font-size:1.05rem;line-height:1.6}.resume-work-links{display:grid;gap:12px}.resume-work-links a{display:block;background:#131937;border:1px solid #9d92b978;border-radius:9px;padding:22px 25px;text-decoration:none;color:#fff;transition:transform .2s,border-color .2s}.resume-work-links a:hover,.resume-work-links a:focus-visible{transform:translateY(-3px);border-color:#83f1ed}.resume-work-links strong,.resume-work-links span{display:block}.resume-work-links strong{font-size:1.12rem}.resume-work-links span{color:#efabd8;margin-top:7px}@media(max-width:700px){.resume-grid,.resume-work{grid-template-columns:1fr}.resume-panel-main{grid-column:auto}.resume-work{gap:20px;padding:65px 0 50px}}
@media(max-width:550px){.case-standard .case-section{padding:23px 19px}.case-standard .case-at-glance>div:first-child,.case-standard .case-at-glance>div:nth-child(3){padding-left:12px}.case-standard .case-timeline li{padding:16px}.case-standard .case-timeline li:first-child{padding-top:16px}}
.resume-zone{background-image:linear-gradient(90deg,#06112acf,#06112a9e 50%,#06112acc),url('/assets/resume-underglow.webp');background-size:cover,cover;background-position:center;background-attachment:fixed}
.resume-experience{padding-top:clamp(65px,9vw,110px)}.resume-experience>h2{font-size:clamp(2.6rem,4.5vw,4.8rem);margin:14px 0 30px}.resume-experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.resume-experience-grid .resume-panel{border-left-color:#e684be}.resume-experience-grid .resume-panel-wide{grid-column:1/-1;border-left-color:#7cdbdc}.resume-toolkit{background:#131937;border:1px solid #9d92b978;border-radius:10px;padding:clamp(24px,3vw,40px);margin-bottom:60px}.resume-toolkit p{color:#f0e9f5;line-height:1.8;font-size:1.05rem;margin:0}.resume-toolkit .eyebrow{display:block;margin-bottom:12px}@media(max-width:700px){.resume-experience-grid{grid-template-columns:1fr}.resume-experience-grid .resume-panel-wide{grid-column:auto}.resume-zone{background-attachment:scroll}}

/* Invent cards share the same editorial lettering system as the HUD case study. */
#invent .work-media.case-cover{background:linear-gradient(135deg,#233154,#18142f 70%);color:#f190c8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px}
#invent .work-media.case-cover>span{font:900 clamp(3rem,7vw,6rem)/1 'DM Sans',Arial,sans-serif;letter-spacing:-.08em;color:#f190c8;text-shadow:none}
#invent .work-media.case-cover>span span{font-size:.4em;vertical-align:top}
#invent .work-media.case-cover>small{color:#9ce8ea;letter-spacing:.1em;font-size:.7rem;text-transform:uppercase;font-weight:700}

.portfolio-case-hero{margin:0 0 38px;border:1px solid #82cbde6e;border-radius:12px;overflow:hidden;background:#0a1732;box-shadow:0 18px 40px #090b2859}.portfolio-case-hero img{display:block;width:100%;height:auto;max-height:470px;object-fit:cover}.portfolio-case-hero figcaption{color:#d7c9e8;font-size:.86rem;padding:12px 20px;background:#101833}.portfolio-case .case-section-body a{color:#91e9ed;text-underline-offset:4px}.portfolio-pipeline{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.portfolio-pipeline span{display:inline-flex;align-items:center;background:#121936;border:1px solid #8ca7d58a;border-radius:30px;padding:9px 13px;color:#f0e9f5;font-size:.85rem;font-weight:700}.portfolio-pipeline span:not(:last-child):after{content:"→";color:#e684be;margin-left:13px}
