.circular-gallery{cursor:grab;width:100%;height:100%;overflow:hidden}.circular-gallery canvas{width:100%;height:100%;display:block}.circular-gallery:active{cursor:grabbing}.circular-gallery:focus-visible{outline-offset:4px;outline:2px solid #b8ff2ce6}.grainient-container{width:100%;height:100%;position:relative;overflow:hidden}:root{color:#ffffffe0;font-family:var(--font-cn);font-synthesis:none;text-rendering:optimizelegibility;--font-display:"Space Grotesk", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans:Inter, "Space Grotesk", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-cn:"MiSans", "HarmonyOS Sans SC", "Alibaba PuHuiTi", "PingFang SC", "Microsoft YaHei", sans-serif;--bg:#050506;--panel:#ffffff12;--panel-strong:#ffffff1c;--line:#ffffff29;--text:#fffc;--text-strong:#ffffffeb;--muted:#fffc;--soft:#ffffff8f;--accent:#b8ff2c;--accent-blue:#8fa7ff;--max:1700px;--scroll-y:0;--ease-luxury:cubic-bezier(.16, 1, .3, 1);--ease-glide:cubic-bezier(.19, 1, .22, 1);--ease-mask:cubic-bezier(.77, 0, .18, 1);background:#050506}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--text);font-family:var(--font-cn);background:radial-gradient(circle at 12% 8%,#8fa7ff3d,#0000 28rem),radial-gradient(circle at 78% 2%,#f8c55b21,#0000 30rem),linear-gradient(135deg,#050506 0%,#0c0d10 46%,#050506 100%);margin:0;font-weight:400;line-height:1.6;overflow-x:hidden}body.is-lightbox-open{overflow:hidden}body:before{z-index:-2;content:"";background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:72px 72px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 20%,#000,#0000 76%);mask-image:radial-gradient(circle at 50% 20%,#000,#0000 76%)}body:after{z-index:-1;pointer-events:none;content:"";opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.35'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.site-shell{min-height:100vh;color:var(--text)}.lower-page{z-index:0;isolation:isolate;background:#02050a;min-height:100vh;margin-top:-160px;padding-top:160px;position:relative;overflow:hidden}.lower-page:before{z-index:1;content:"";pointer-events:none;background:linear-gradient(#02050a47 0%,#02050a8a 42%,#02050ab8 100%),radial-gradient(circle at 14% 18%,#b8ff2c11,#0000 30rem),radial-gradient(circle at 86% 72%,#8fa7ff0f,#0000 36rem);position:absolute;inset:0}.lower-page:after{z-index:1;content:"";pointer-events:none;opacity:.18;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:86px 86px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 42%,#000,#0000 86%);mask-image:radial-gradient(circle at 50% 42%,#000,#0000 86%)}.lower-grainient{z-index:0;pointer-events:none;opacity:.78;filter:brightness(.68)contrast(1.04)saturate(.96);width:100%;height:100%;position:absolute;inset:0}.lower-page-content{z-index:2;position:relative}.section{min-height:100vh;padding:132px 36px;position:relative}.section-inner{width:min(100%, var(--max));margin:0 auto}.section-kicker{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:600}.section-heading h2,.projects-header h2,.about-content h2,.contact-copy h2{letter-spacing:0;margin:0;font-size:clamp(48px,6vw,104px);line-height:.96}.project-count{color:var(--soft);margin:18px 0 0;font-size:15px}.projects-header h2{font-size:clamp(34px,3.2vw,54px)}.navbar{z-index:20;width:min(calc(100% - 48px), var(--max));border:1px solid var(--line);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);animation:navbarOpening 1.3s var(--ease-luxury) .42s both;background:#08090b9e;border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:12px;display:grid;position:fixed;top:24px;left:50%;transform:translate(-50%);box-shadow:0 28px 80px #00000047}.brand,.nav-contact,.nav-links button{color:#f7f7f2;cursor:pointer;background:0 0;border:0}.brand{text-align:left;align-items:center;gap:12px;width:fit-content;padding:0 8px;display:inline-flex}.brand-mark{color:#0a0a08;background:linear-gradient(135deg, #efff8d, var(--accent));border:1px solid #b8ff2c99;border-radius:50%;place-items:center;width:42px;height:42px;font-size:13px;font-weight:600;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.08em;font-size:14px}.brand small{color:var(--soft);letter-spacing:.16em;margin-top:2px;font-size:10px}.nav-links{--nav-item-width:84px;align-items:center;gap:4px;padding:3px;display:flex;position:relative}.nav-links button{z-index:2;width:var(--nav-item-width);color:var(--muted);transition:color .28s var(--ease-glide), text-shadow .28s var(--ease-glide);border-radius:999px;padding:11px 15px;font-size:13px;position:relative}.nav-links button:hover{color:#fff}.nav-links button.is-active{color:var(--text-strong);text-shadow:0 0 18px #b8ff2c3d}.nav-active-indicator{z-index:1;width:var(--nav-item-width);transform:translate3d(calc(var(--active-index) * (var(--nav-item-width) + 4px)), 0, 0);transition:transform .52s var(--ease-glide), border-color .28s ease, background .28s ease;pointer-events:none;background:linear-gradient(#b8ff2c21,#b8ff2c0b),#ffffff09;border:1px solid #b8ff2c47;border-radius:999px;position:absolute;top:3px;bottom:3px;left:3px;box-shadow:inset 0 0 0 1px #ffffff09,0 14px 36px #b8ff2c1a}.nav-active-indicator:after{content:"";background:var(--accent);border-radius:999px;height:2px;position:absolute;bottom:4px;left:18px;right:18px;box-shadow:0 0 16px #b8ff2c8c}.nav-contact{background:#ffffff0f;border:1px solid #ffffff38;border-radius:999px;justify-self:end;padding:12px 20px;font-size:13px;transition:border-color .18s,background .18s}.nav-contact:hover{background:#b8ff2c1f;border-color:#b8ff2cad}.hero{z-index:1;min-height:100vh;padding:0 36px;display:block;position:relative;overflow:hidden}.hero:after{z-index:2;content:"";pointer-events:none;background:linear-gradient(#02050a00 0%,#02050a6b 54%,#02050a 100%);height:280px;position:absolute;bottom:-1px;left:0;right:0}.hero-video{object-fit:cover;opacity:1;width:100%;height:100%;transform:translate3d(0, calc(var(--scroll-y) * .08px), 0) scale(1.08);transform-origin:50%;filter:brightness(1.12)contrast(1.05)saturate(1.08);will-change:transform;position:absolute;inset:0}.hero-placeholder-motion{background:linear-gradient(112deg,#b8ff2c29,#0000 22%),radial-gradient(circle at 72% 42%,#8fa7ff2e,#0000 24rem),linear-gradient(135deg,#07090a 0%,#11161a 42%,#030304 100%);animation:18s ease-in-out infinite alternate heroPlaceholderDrift;overflow:hidden}.hero-placeholder-motion:before,.hero-placeholder-motion:after{content:"";pointer-events:none;position:absolute;inset:-12%}.hero-placeholder-motion:before{opacity:.34;background:linear-gradient(100deg,#0000 10%,#ffffff29 10.5%,#0000 11.4%),repeating-linear-gradient(112deg,#0000 0 68px,#ffffff1f 70px,#0000 74px);transform:rotate(-8deg)scale(1.12)}.hero-placeholder-motion:after{filter:blur(.2px);background:radial-gradient(circle at 38% 28%,#ffffff2e,#0000 5rem),radial-gradient(circle at 62% 46%,#b8ff2c1a,#0000 10rem),linear-gradient(#0000,#000000b8)}.hero-shade{pointer-events:none;background:linear-gradient(90deg,#030405a8 0%,#03040547 48%,#03040585 100%),linear-gradient(#00000047 0%,#0000001f 42%,#02050ab8 100%);position:absolute;inset:0}.hero-inner{z-index:2;min-height:100vh;padding-top:clamp(300px,34vh,410px);padding-bottom:230px;display:block;position:relative}.hero-copy{z-index:2;max-width:920px}.hero-copy.reveal{opacity:1;filter:none;transition:none;transform:none}.hero h1{align-items:flex-end;gap:.9em;margin:0;line-height:.9;display:flex}.hero-name{color:var(--accent);letter-spacing:.15em;text-shadow:0 18px 60px #0000006b;font-size:clamp(53px,5.6vw,97px);font-weight:600}.hero-name,.hero-signature,.hero-copy h2,.hero-subtitle span{opacity:0;will-change:transform, clip-path, filter, opacity}.hero-copy.is-visible .hero-name{animation:heroNameIn 1.5s var(--ease-luxury) .54s both}.hero-copy.is-visible .hero-signature{animation:heroSignatureIn 1.3s var(--ease-luxury) .9s both}.hero-copy.is-visible h2{animation:heroLineIn 1.3s var(--ease-luxury) .78s both}.hero-copy.is-visible .hero-subtitle span:first-child{animation:heroLineIn 1.3s var(--ease-luxury) 1.04s both}.hero-copy.is-visible .hero-subtitle span:last-child{animation:heroLineIn 1.3s var(--ease-luxury) 1.18s both}.hero h2{color:#ffffffeb;letter-spacing:.14em;max-width:790px;margin:18px 0 0;font-size:clamp(17px,1.32vw,24px);font-weight:600;line-height:1.28}.hero-signature{color:var(--accent);text-shadow:0 10px 30px #b8ff2c33;margin-bottom:.04em;font-family:Brush Script MT,Segoe Script,cursive;font-size:clamp(20px,1.6vw,31px);font-weight:400;line-height:1;display:inline-block;transform:rotate(-6deg)}.hero-subtitle{color:#ffffffd1;letter-spacing:.03em;max-width:none;margin:20px 0 0;font-size:clamp(15px,1.1vw,20px);line-height:1.75}.hero-subtitle span{white-space:nowrap;display:block}.hero-actions,.contact-actions{flex-wrap:wrap;gap:14px;margin-top:38px;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:0 24px;font-size:15px;font-weight:500;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#0b0a07;background:linear-gradient(135deg, #efff8d, var(--accent));box-shadow:0 18px 48px #b8ff2c38}.button-ghost{border:1px solid var(--line);color:#fff;background:#ffffff0f}.button-ghost:hover{background:#8fa7ff1f;border-color:#8fa7ffb3}.hero-gallery{z-index:3;height:clamp(250px,31vh,390px);position:absolute;bottom:10px;left:0;right:0}.hero-gallery-opening{opacity:0;clip-path:inset(100% 0 0);filter:blur(18px)saturate(.86);animation:heroGalleryIn 1.7s var(--ease-mask) 1.22s both;will-change:opacity, clip-path, filter, transform;transform:translateY(96px)scale(.965)}.hero-gallery:before{content:"";pointer-events:none;background:linear-gradient(#0000,#0000005c);position:absolute;inset:18% 0 0}.mobile-hero-strip{display:none}.profile-section{background:0 0;min-height:100vh;padding-top:126px;overflow:hidden}.profile-inner{z-index:1;position:relative}.profile-heading h2{margin:0;font-size:clamp(34px,3.2vw,54px);line-height:1}.profile-about-grid{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:stretch;gap:clamp(24px,3.2vw,48px);display:grid}.profile-portrait{border:1px solid var(--line);background:#ffffff14;border-radius:28px;width:100%;max-width:360px;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000052}.profile-portrait:after,.project-media:after,.qr-wrap:after{z-index:2;content:"";pointer-events:none;background:linear-gradient(100deg,#0000 0%,#ffffff2e 42%,#0000 74%),linear-gradient(90deg,#b8ff2c2e,#8fa7ff2e);position:absolute;inset:0;transform:translate(-112%)skew(-10deg)}[data-parallax]{--parallax-y:0px}.profile-portrait img{aspect-ratio:.78;object-fit:cover;object-position:center 52%;filter:grayscale(.08)contrast(1.04);width:100%;transform:translate3d(0, var(--parallax-y), 0) scale(1.02);transition:transform .9s var(--ease-luxury);will-change:transform;display:block}.profile-portrait.is-visible:after{animation:mediaSweep 1.5s var(--ease-mask) .26s both}.profile-portrait.is-visible img{animation:portraitImageIn 1.7s var(--ease-luxury) .16s backwards}.profile-info{flex-direction:column;justify-content:space-between;padding-top:2px;padding-bottom:2px;display:flex}.profile-info h3{letter-spacing:0;margin:0;font-size:clamp(24px,2.4vw,44px);line-height:1.08}.profile-bio{max-width:860px;color:var(--muted);margin:14px 0 0;font-size:clamp(13px,.9vw,15px);line-height:1.9}.profile-info-bottom{margin-top:26px}.profile-meta-grid{border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.profile-meta-grid div{border-bottom:1px solid #ffffff14;min-height:60px;padding:12px 22px 12px 0}.profile-meta-grid div:nth-last-child(-n+2){border-bottom:0}.profile-meta-grid span,.profile-panel-title .section-kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.profile-meta-grid strong,.profile-meta-grid a{color:#fff;font-size:13px;font-weight:500}.profile-stats{border-bottom:1px solid #ffffff1f;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;display:grid}.profile-stats div{min-height:76px}.profile-stats strong{color:var(--accent);font-size:clamp(28px,2.8vw,44px);line-height:1;display:block}.profile-stats span{color:var(--muted);margin-top:7px;font-size:12px;display:block}.profile-skills-panel{margin-top:42px}.profile-timeline-panel{margin-top:30px}.profile-panel-title{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.profile-panel-title h3{color:#ffffffc7;margin:0;font-size:clamp(24px,2.4vw,44px);font-weight:600}.profile-skill-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.profile-skill-card{min-height:132px;transition:transform .26s var(--ease-luxury), border-color .26s ease, box-shadow .26s ease, background .26s ease;background:#ffffff0b;border:1px solid #ffffff24;border-radius:20px;padding:18px 22px;box-shadow:0 18px 54px #00000029}.profile-skill-card:hover{background:#fff1;border-color:#ffffff42;transform:translateY(-4px);box-shadow:0 26px 70px #0000003d}.profile-skill-card span{color:var(--accent);letter-spacing:.12em;font-size:11px;font-weight:600}.profile-skill-card h4{margin:22px 0 8px;font-size:20px}.profile-skill-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.58}.profile-timeline{border-top:1px solid #b8ff2c80;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.profile-timeline-item{padding:26px 30px 0 0;position:relative}.profile-timeline-item:before{content:"";background:var(--accent);clip-path:polygon(50% 0%,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0% 50%,35% 35%);width:13px;height:13px;position:absolute;top:-7px;left:0;box-shadow:0 0 22px #b8ff2cb3}.profile-timeline-item span{color:var(--accent);font-size:13px;font-weight:600}.profile-timeline-item h4{margin:12px 0 8px;font-size:22px}.profile-timeline-item p{color:var(--muted);margin:0;font-size:15px}.about{padding-top:220px}.about-grid{grid-template-columns:minmax(340px,.68fr) minmax(0,1.1fr);align-items:center;gap:76px;display:grid}.portrait-card,.contact-card,.skill-card,.timeline-item{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .26s var(--ease-luxury), border-color .26s ease, box-shadow .26s ease, background .26s ease;border-radius:8px;box-shadow:0 24px 80px #00000038}.portrait-card:hover,.contact-card:hover,.skill-card:hover,.timeline-item:hover{background:#ffffff16;border-color:#ffffff47;transform:translateY(-4px);box-shadow:0 30px 92px #0000004d}.portrait-card.reveal.is-visible:hover,.contact-card.reveal.is-visible:hover,.skill-card.reveal.is-visible:hover,.timeline-item.reveal.is-visible:hover{transform:translateY(-4px)}.portrait-card{overflow:hidden}.portrait-card img{aspect-ratio:.82;object-fit:cover;object-position:center 18%;filter:grayscale(.12)contrast(1.04);width:100%;display:block}.portrait-meta{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;padding:22px;display:flex}.portrait-meta span{color:var(--soft);letter-spacing:.16em;text-transform:uppercase;font-size:12px}.portrait-meta strong{text-align:right;max-width:260px;font-size:18px;line-height:1.25}.about-content p{max-width:880px;color:var(--muted);margin:30px 0 0;font-size:clamp(18px,1.45vw,25px);line-height:1.9}.contact-strip{border:1px solid var(--line);background:#ffffff1a;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:42px;display:grid;overflow:hidden}.contact-strip a,.contact-strip span{color:#ffffffdb;background:#ffffff0b;min-height:86px;padding:24px}.skill-grid{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:58px;display:grid}.skill-card{min-height:330px;padding:30px;position:relative;overflow:hidden}.skill-card:before{content:"";background:radial-gradient(circle,#f8c55b24,#0000 70%);border:1px solid #f8c55b42;border-radius:50%;width:96px;height:96px;position:absolute;inset:auto 24px 24px auto}.skill-card:hover{background:#ffffff16;border-color:#ffffff47;transform:translateY(-4px)}.skill-card span{color:var(--accent-blue);letter-spacing:.14em;font-size:12px;font-weight:600}.skill-card h3{margin:70px 0 18px;font-size:30px;line-height:1.1}.skill-card p{color:var(--muted);margin:0;font-size:17px;line-height:1.7}.projects-header{justify-content:space-between;align-items:end;gap:36px;display:flex}.filter-bar{flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:740px;display:flex}.filter-bar button{border:1px solid var(--line);min-height:44px;color:var(--muted);cursor:pointer;background:#ffffff0d;border-radius:999px;padding:0 18px;transition:color .18s,border-color .18s,background .18s}.filter-bar button:hover,.filter-bar .is-active{color:#0b0a07;background:var(--accent);border-color:#f8c55bc7}.project-grid{column-count:4;column-gap:14px;margin-top:52px;display:block}.project-card{width:100%;min-height:0;aspect-ratio:var(--project-ratio,.78);border:1px solid var(--line);cursor:pointer;break-inside:avoid;page-break-inside:avoid;background:#0c0e12eb;border-radius:8px;margin:0 0 14px;transition:border-color .26s,box-shadow .26s,background .26s;display:block;position:relative;overflow:hidden;box-shadow:0 20px 68px #0000002e}.project-card.reveal{clip-path:inset(12% 0 round 8px);transform:translate3d(0, var(--project-reveal-y), 0) scale(.94);transition:opacity 1.1s var(--ease-luxury), clip-path 1.35s var(--ease-mask), filter 1.2s var(--ease-luxury), transform 1.45s var(--ease-luxury), border-color .26s ease, box-shadow .26s ease, background .26s ease}.project-card.reveal.is-visible{clip-path:inset(0 round 8px);transform:translate(0,0)scale(1)}.project-card.reveal.is-visible:hover{border-color:#ffffff4d;transform:translateY(-4px)scale(1);box-shadow:0 30px 92px #00000057}.project-open{z-index:2;color:#0000;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.project-card-large{min-height:0;aspect-ratio:var(--project-ratio,1.35)}.project-card-wide:not(.project-card-large){aspect-ratio:var(--project-ratio,1.6)}.project-card-video-hero{width:100%;min-height:0;aspect-ratio:var(--project-ratio,16 / 9);column-span:all;display:block}.project-video-rotator{aspect-ratio:16/7;background:radial-gradient(circle at 28% 18%,#b0ff361f,#0000 34%),linear-gradient(135deg,#0c1012f5,#020509fa);border:1px solid #ffffff24;border-radius:8px;width:100%;margin-top:46px;position:relative;overflow:hidden;box-shadow:0 28px 90px #00000047}.project-video-rotator.reveal{clip-path:inset(14% 0 round 8px);transform:translate3d(0, var(--project-reveal-y), 0) scale(.96);transition:opacity 1.1s var(--ease-luxury), clip-path 1.35s var(--ease-mask), filter 1.2s var(--ease-luxury), transform 1.45s var(--ease-luxury), border-color .26s ease, box-shadow .26s ease}.project-video-rotator.reveal.is-visible{clip-path:inset(0 round 8px);transform:translate(0,0)scale(1)}.project-video-rotator:after{content:"";pointer-events:none;background:linear-gradient(#00000014,#00000052),linear-gradient(90deg,#00000038,#0000 34%,#00000042);position:absolute;inset:0}.project-video-rotator-media,.project-video-rotator-media video{width:100%;height:100%}.project-video-rotator-media{cursor:pointer;background:#020408}.project-video-rotator-media video{object-fit:cover;filter:saturate(1.04)contrast(1.04);display:block}.project-video-rotator-control{z-index:4;color:#ffffffd6;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#06090c6b;border:1px solid #ffffff29;border-radius:999px;place-items:center;width:46px;height:46px;transition:color .22s,border-color .22s,background .22s,box-shadow .22s,transform .22s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 18px 48px #00000042}.project-video-rotator-control:hover{color:#0b0a07;background:#b0ff36e0;border-color:#b0ff367a;box-shadow:0 20px 58px #00000052}.project-video-rotator-control span{font-family:var(--font-display);margin-top:-2px;font-size:34px;font-weight:400;line-height:1;display:block}.project-video-rotator-control-prev{left:22px}.project-video-rotator-control-next{right:22px}.project-video-rotator-indicator{z-index:3;pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;bottom:20px;right:24px}.project-video-rotator-indicator span{background:#ffffff47;border-radius:999px;width:22px;height:2px;transition:width .26s,background .26s,box-shadow .26s;box-shadow:0 0 #b0ff3600}.project-video-rotator-indicator .is-active{background:var(--accent);width:42px;box-shadow:0 0 18px #b0ff3647}.project-video-rotator+.project-grid{margin-top:14px}.project-media,.project-media img,.project-media video{width:100%;height:100%}.project-media{background:radial-gradient(circle at 50% 36%,#ffffff0d,#0000 48%),linear-gradient(#111318 0%,#08090c 100%);position:relative;overflow:hidden}.project-card-light .project-media{background:radial-gradient(circle at 50% 32%,#ffffffeb,#0000 42%),linear-gradient(#f6f7f2 0%,#d9dee2 100%)}.project-media img,.project-media video{object-fit:contain;transform:translate3d(0, var(--parallax-y), 0) scale(1);transition:transform .9s var(--ease-luxury), filter .7s var(--ease-luxury);will-change:transform, filter;display:block}.project-card.is-visible .project-media:after{animation:mediaSweep 1.4s var(--ease-mask) .18s both}.project-card.is-visible .project-media img,.project-card.is-visible .project-media video{animation:projectMediaImageIn 1.2s var(--ease-luxury) backwards}.project-overlay{display:none}.project-overlay span{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:600}.project-overlay h3{margin:12px 0 0;font-size:clamp(25px,2vw,40px);line-height:1.04}.project-overlay p{max-width:620px;color:var(--muted);margin:14px 0 0;font-size:15px;line-height:1.65}.project-overlay small{color:#ffffff75;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:12px;font-size:12px;display:block;overflow:hidden}.project-overlay button{z-index:4;pointer-events:auto;color:#fff;cursor:pointer;opacity:0;background:0 0;border:0;margin-top:20px;padding:0;font-size:14px;font-weight:500;transition:opacity .26s,transform .26s;position:relative;transform:translateY(8px)}.project-card:hover .project-media img,.project-card:hover .project-media video{filter:saturate(1.05)contrast(1.04);transform:translate3d(0, var(--parallax-y), 0) scale(1.025)}.project-card:hover .project-overlay{transform:translateY(0)}.project-card:hover .project-overlay button{opacity:1;transform:translateY(0)}.experience-grid{grid-template-columns:.72fr 1fr;align-items:start;gap:76px;display:grid}.sticky-heading{position:sticky;top:140px}.timeline{gap:18px;display:grid;position:relative}.timeline:before{content:"";border-left:1px solid #ffffff29;position:absolute;top:0;bottom:0;left:23px}.timeline-item{margin-left:56px;padding:28px 32px;position:relative}.timeline-item:before{content:"";background:var(--accent);border:1px solid #f8c55b9e;border-radius:50%;width:13px;height:13px;position:absolute;top:30px;left:-43px;box-shadow:0 0 0 8px #f8c55b1a}.timeline-item span{color:var(--accent-blue);font-size:14px;font-weight:600}.timeline-item h3{margin:12px 0 8px;font-size:26px}.timeline-item p{color:var(--muted);margin:0;font-size:18px}.contact{align-items:center;min-height:auto;padding:92px 0 118px;display:flex;overflow:hidden}.contact:before{display:none}.contact-inner{justify-content:center;display:flex;position:relative}.contact-glass-card{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(135deg,#ffffff13,#ffffff08),#04080cb8;border:1px solid #ffffff1a;border-radius:28px;grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:center;gap:clamp(46px,6vw,116px);width:min(100%,1480px);padding:clamp(32px,4vw,68px);display:grid;position:relative;overflow:hidden;box-shadow:0 34px 110px #00000052}.contact-glass-card:before{z-index:-1;content:"";opacity:.82;background:radial-gradient(circle at 14% 22%,#b8ff2c14,#0000 26rem),radial-gradient(circle at 92% 72%,#7c9cff14,#0000 30rem);border-radius:27px;position:absolute;inset:1px}.contact-copy h2{letter-spacing:.065em;max-width:860px;font-size:clamp(36px,4vw,72px);line-height:1.04}.contact-copy h3{color:#ffffffb8;max-width:820px;margin:28px 0 0;font-size:clamp(15px,1vw,19px);font-weight:400;line-height:1.9}.contact-card{background:#ffffff0e;padding:18px}.contact-info-card{background:#ffffff0b;border-radius:22px;justify-items:center;padding:22px;display:grid;box-shadow:0 24px 70px #0000003d}.qr-wrap{background:#fff;border-radius:16px;width:min(100%,210px);position:relative;overflow:hidden}.qr-wrap img{aspect-ratio:1;object-fit:cover;width:100%;transform:translate3d(0, calc(var(--parallax-y) * .35), 0) scale(1.01);transition:transform .9s var(--ease-luxury);will-change:transform;display:block}.contact-card.is-visible .qr-wrap:after{animation:mediaSweep 1.4s var(--ease-mask) .18s both}.contact-card.is-visible .qr-wrap img{animation:mediaImageIn 1.5s var(--ease-luxury) backwards}.contact-list{width:min(100%,210px);color:var(--muted);justify-self:center;gap:10px;margin-top:22px;display:grid}.contact-list a{color:#ffffffb8;align-items:center;gap:10px;font-size:15px;display:flex}.contact-icon{background:#ffffff0b;border:1px solid #ffffff1f;border-radius:999px;flex:none;place-items:center;width:30px;height:30px;display:grid}.contact-icon svg{fill:none;width:15px;height:15px;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65px}.project-lightbox{z-index:80;place-items:center;padding:34px;display:grid;position:fixed;inset:0}.lightbox-backdrop{cursor:zoom-out;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#000000c2;border:0;position:absolute;inset:0}.lightbox-backdrop span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.lightbox-panel{background:#08090beb;border:1px solid #ffffff2e;border-radius:8px;grid-template-columns:minmax(0,1fr) 360px;width:min(1500px,100%);max-height:min(88vh,900px);display:grid;position:relative;overflow:hidden;box-shadow:0 34px 120px #0000009e}.lightbox-close{z-index:4;color:#fff;cursor:pointer;background:#0000006b;border:1px solid #ffffff2e;border-radius:999px;min-height:42px;padding:0 16px;position:absolute;top:18px;right:18px}.lightbox-media{background:#050506;place-items:center;min-height:520px;display:grid}.lightbox-media img,.lightbox-media video{object-fit:contain;width:100%;height:100%;max-height:88vh;display:block}.lightbox-info{align-self:end;padding:34px}.lightbox-info span{color:var(--accent);letter-spacing:.16em;font-size:12px;font-weight:600}.lightbox-info h2{margin:16px 0 0;font-size:34px;line-height:1.05}.lightbox-info p{color:var(--muted);margin:18px 0 0;line-height:1.7}.lightbox-info small{overflow-wrap:anywhere;color:var(--soft);margin-top:18px;display:block}.reveal{--reveal-y:92px;--title-reveal-y:130px;--project-reveal-y:118px;--title-item-y:112px;--shard-y:42px;--card-stagger-y:38px;--media-reveal-y:18px;opacity:0;filter:blur(16px);transform:translate3d(0, var(--reveal-y), 0) scale(.965);transition:opacity 1.1s var(--ease-luxury), filter 1.2s var(--ease-luxury), transform 1.3s var(--ease-luxury);will-change:opacity, filter, transform}.reveal.is-scrolling-up{--reveal-y:-92px;--title-reveal-y:-130px;--project-reveal-y:-118px;--title-item-y:-112px;--shard-y:-42px;--card-stagger-y:-38px;--media-reveal-y:-18px}.reveal.is-visible{opacity:1;filter:blur();transform:translate(0,0)scale(1)}.profile-heading.reveal,.projects-header.reveal,.contact-copy.reveal{clip-path:inset(0 0 28%);transform:translate3d(0, var(--title-reveal-y), 0) scale(.92);transition:opacity 1.1s var(--ease-luxury), clip-path 1.3s var(--ease-mask), filter 1.2s var(--ease-luxury), transform 1.4s var(--ease-luxury)}.profile-heading.reveal.is-visible,.projects-header.reveal.is-visible,.contact-copy.reveal.is-visible{clip-path:inset(0);transform:translate(0,0)scale(1)}.profile-heading .section-kicker,.profile-heading h2,.projects-header .section-kicker,.projects-header h2,.projects-header .project-count,.filter-bar,.contact-copy .section-kicker,.contact-copy h2,.contact-copy h3,.contact-actions{opacity:0;will-change:opacity, transform, filter;transform:translateY(44px)scale(.96)}.profile-heading.is-visible .section-kicker,.projects-header.is-visible .section-kicker,.contact-copy.is-visible .section-kicker{animation:titleShardIn 1.1s var(--ease-luxury) 90ms both}.profile-heading.is-visible h2,.projects-header.is-visible h2,.contact-copy.is-visible h2{animation:sectionTitleIn 1.4s var(--ease-luxury) .18s both}.projects-header.is-visible .project-count,.contact-copy.is-visible h3{animation:titleShardIn 1.1s var(--ease-luxury) .42s both}.projects-header.is-visible .filter-bar,.contact-copy.is-visible .contact-actions{animation:titleShardIn 1.1s var(--ease-luxury) .56s both}.profile-info-bottom .profile-meta-grid>div,.profile-stats>div,.profile-skill-card,.profile-timeline-item,.contact-card .qr-wrap,.contact-list>*,.project-overlay>:not(button){opacity:0;transform:translateY(34px)}.profile-info.is-visible .profile-meta-grid>div,.profile-info.is-visible .profile-stats>div,.profile-skills-panel.is-visible .profile-skill-card,.profile-timeline-panel.is-visible .profile-timeline-item,.contact-card.is-visible .qr-wrap,.contact-card.is-visible .contact-list>*,.project-card.is-visible .project-overlay>:not(button){opacity:1;filter:blur();animation:cardStaggerIn 1.05s var(--ease-luxury) backwards;transform:translate(0,0)scale(1)}.profile-info.is-visible .profile-meta-grid>div:first-child,.profile-skills-panel.is-visible .profile-skill-card:first-child,.profile-timeline-panel.is-visible .profile-timeline-item:first-child,.contact-card.is-visible .qr-wrap,.project-card.is-visible .project-overlay>:not(button):first-child{animation-delay:.12s}.profile-info.is-visible .profile-meta-grid>div:nth-child(2),.profile-skills-panel.is-visible .profile-skill-card:nth-child(2),.profile-timeline-panel.is-visible .profile-timeline-item:nth-child(2),.contact-card.is-visible .contact-list>:first-child,.project-card.is-visible .project-overlay>:not(button):nth-child(2){animation-delay:.22s}.profile-info.is-visible .profile-meta-grid>div:nth-child(3),.profile-skills-panel.is-visible .profile-skill-card:nth-child(3),.profile-timeline-panel.is-visible .profile-timeline-item:nth-child(3),.contact-card.is-visible .contact-list>:nth-child(2),.project-card.is-visible .project-overlay>:not(button):nth-child(3){animation-delay:.32s}.profile-info.is-visible .profile-meta-grid>div:nth-child(4),.profile-skills-panel.is-visible .profile-skill-card:nth-child(4),.profile-timeline-panel.is-visible .profile-timeline-item:nth-child(4),.contact-card.is-visible .contact-list>:nth-child(3),.project-card.is-visible .project-overlay>:not(button):nth-child(4){animation-delay:.42s}.profile-info.is-visible .profile-stats>div:first-child{animation-delay:.52s}.profile-info.is-visible .profile-stats>div:nth-child(2){animation-delay:.62s}.profile-info.is-visible .profile-stats>div:nth-child(3){animation-delay:.72s}.profile-skills-panel.is-visible .profile-skill-card:hover{background:#ffffff12;border-color:#ffffff47;transform:translateY(-4px)scale(1);box-shadow:0 28px 74px #00000042}@keyframes navbarOpening{0%{opacity:0;filter:blur(14px);transform:translate(-50%,-26px)scale(.98)}to{opacity:1;filter:blur();transform:translate(-50%)scale(1)}}@keyframes heroNameIn{0%{opacity:0;clip-path:inset(0 100% 0 0);filter:blur(18px);transform:translate(-28px,58px)scaleX(.72)scaleY(1.16)}62%{opacity:1;filter:blur(2px)}to{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)scaleX(1)scaleY(1)}}@keyframes heroSignatureIn{0%{opacity:0;filter:blur(12px);transform:translate(-18px,18px)rotate(-10deg)scale(.72)}to{opacity:1;filter:blur();transform:translate(0,0)rotate(-6deg)scale(1)}}@keyframes heroLineIn{0%{opacity:0;clip-path:inset(0 100% 0 0);filter:blur(12px);transform:translateY(28px)scaleX(.92)}to{opacity:1;clip-path:inset(0);filter:blur();transform:translate(0,0)scaleX(1)}}@keyframes heroGalleryIn{0%{opacity:0;clip-path:inset(100% 0 0);filter:blur(18px)saturate(.86);transform:translateY(96px)scaleX(.94)scaleY(1.08)}48%{opacity:1;filter:blur(8px)saturate(.95)}to{opacity:1;clip-path:inset(0);filter:blur()saturate();transform:translate(0,0)scaleX(1)scaleY(1)}}@keyframes sectionTitleIn{0%{opacity:0;filter:blur(18px);clip-path:inset(0 100% 0 0);transform:translate3d(-34px, var(--title-item-y), 0) scaleX(.72) scaleY(1.16)}to{opacity:1;filter:blur();clip-path:inset(0);transform:translate(0,0)scaleX(1)scaleY(1)}}@keyframes titleShardIn{0%{opacity:0;filter:blur(12px);transform:translate3d(0, var(--shard-y), 0) scale(.96)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}@keyframes cardStaggerIn{0%{opacity:0;filter:blur(10px);transform:translate3d(0, var(--card-stagger-y), 0) scale(.96)}to{opacity:1;filter:blur();transform:translate(0,0)scale(1)}}@keyframes mediaSweep{0%{opacity:0;transform:translate(-112%)skew(-10deg)}26%{opacity:.92}to{opacity:0;transform:translate(112%)skew(-10deg)}}@keyframes mediaImageIn{0%{filter:blur(12px)saturate(.82);transform:translate3d(0, calc(var(--parallax-y) + var(--media-reveal-y)), 0) scale(1.14)}to{filter:blur()saturate();transform:translate3d(0, var(--parallax-y), 0) scale(1.06)}}@keyframes projectMediaImageIn{0%{opacity:.72;filter:blur(10px)saturate(.84);transform:translate3d(0, calc(var(--parallax-y) + var(--media-reveal-y)), 0) scale(.985)}to{opacity:1;filter:blur()saturate();transform:translate3d(0, var(--parallax-y), 0) scale(1)}}@keyframes portraitImageIn{0%{filter:blur(14px)grayscale(.18)contrast(1.05);transform:translate3d(0, calc(var(--parallax-y) + var(--media-reveal-y)), 0) scale(1.14)}to{filter:blur()grayscale(.08)contrast(1.04);transform:translate3d(0, var(--parallax-y), 0) scale(1.06)}}@keyframes floatGlow{0%{transform:translate(-2%,-2%)scale(1)}to{transform:translate(3%,4%)scale(1.08)}}@keyframes scan{0%,46%{transform:translate(-90%)}to{transform:translate(90%)}}@keyframes heroImage{0%{transform:scale(1.04)translate(-1.5%)}to{transform:scale(1.1)translate(1.5%)}}@keyframes heroPlaceholderDrift{0%{transform:scale(1.02)translate(-.8%,-.6%)}to{transform:scale(1.08)translate(1%,.8%)}}.section-kicker,.brand strong,.brand small,.hero-name,.hero h2,.profile-stats strong,.profile-skill-card span,.profile-timeline-item span,.project-overlay span,.contact-copy h2,.lightbox-info span{font-family:var(--font-display)}.profile-heading h2,.projects-header h2,.profile-info h3,.profile-panel-title h3,.contact-copy h3,.lightbox-info h2{color:var(--text-strong);font-family:var(--font-cn);letter-spacing:0;font-weight:600}.profile-skill-card h4,.profile-timeline-item h4,.project-overlay h3,.skill-card h3,.timeline-item h3{color:var(--text-strong);font-family:var(--font-cn);letter-spacing:0;font-weight:500}.section-kicker,.profile-meta-grid span,.profile-panel-title .section-kicker,.profile-skill-card span,.profile-timeline-item span,.project-overlay span,.lightbox-info span{letter-spacing:.18em;font-size:11px;font-weight:600;line-height:1.4}.hero-name{letter-spacing:.14em;font-weight:600}.contact-copy h2{font-weight:600}.hero h2{color:var(--text-strong);letter-spacing:.13em;font-weight:600}.hero-subtitle,.profile-bio,.profile-skill-card p,.profile-timeline-item p,.project-overlay p,.project-count,.contact-copy h3,.contact-list,.contact-list a,.contact-list span,.lightbox-info p,.timeline-item p,.skill-card p{color:var(--text);font-family:var(--font-cn);font-weight:400}.hero-subtitle,.profile-bio,.profile-skill-card p,.profile-timeline-item p,.project-overlay p,.lightbox-info p,.skill-card p{line-height:1.82}.brand-mark{font-family:var(--font-display);font-weight:600}.brand strong{font-family:var(--font-display);letter-spacing:.1em;font-weight:600}.brand small{color:var(--soft);font-family:var(--font-display);letter-spacing:.18em;font-weight:500}.nav-links button,.nav-contact,.button,.filter-bar button,.project-overlay button,.lightbox-close{font-family:var(--font-cn);font-weight:500}.nav-links button,.filter-bar button{color:#ffffffb8}.nav-links button:hover,.button-ghost,.project-overlay button,.lightbox-close{color:var(--text-strong)}.profile-meta-grid strong,.profile-meta-grid a{color:var(--text-strong);font-weight:500}.profile-stats strong{font-family:var(--font-display);font-weight:600}.profile-stats span,.project-overlay small,.project-count{color:var(--soft);font-weight:400}.profile-heading{margin-bottom:36px}.section-kicker{margin-bottom:22px}.profile-bio{margin-top:24px}.profile-panel-title{margin-bottom:22px}.project-count{margin-top:24px}.profile-skill-card h4{margin-top:22px;margin-bottom:8px}.profile-timeline-item h4,.project-overlay h3{margin-top:16px}.profile-timeline-panel .profile-panel-title{margin-bottom:18px}.profile-timeline-item h4{margin-top:12px;margin-bottom:6px}.project-overlay p{margin-top:18px}.contact-copy h3{margin-top:36px}.contact-strip a,.contact-strip span,.timeline-item p,.lightbox-info small{color:var(--soft);font-weight:400}.skill-card span,.timeline-item span,.lightbox-backdrop span{font-family:var(--font-display);letter-spacing:.14em;font-weight:600}.skill-card h3,.timeline-item h3{font-weight:500}.lightbox-info h2,.lightbox-info span{font-weight:600}.contact-list a:hover{color:var(--text-strong)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-delay:0s!important}.reveal,.hero-gallery-opening,.profile-heading.reveal,.projects-header.reveal,.contact-copy.reveal,.project-card.reveal,.hero-name,.hero-signature,.hero-copy h2,.hero-subtitle span,.profile-heading .section-kicker,.profile-heading h2,.projects-header .section-kicker,.projects-header h2,.projects-header .project-count,.filter-bar,.contact-copy .section-kicker,.contact-copy h2,.contact-copy h3,.contact-actions,.profile-info-bottom .profile-meta-grid>div,.profile-stats>div,.profile-skill-card,.profile-timeline-item,.contact-card .qr-wrap,.contact-list>*,.project-overlay>:not(button){opacity:1!important;clip-path:none!important;filter:none!important;transform:none!important}.hero-video,.project-media img,.project-media video,.profile-portrait img,.qr-wrap img{transform:none!important}}@media (width<=1180px){.profile-about-grid,.about-grid,.experience-grid,.contact-inner{grid-template-columns:1fr}.hero-inner{padding-bottom:230px;display:block}.lightbox-panel{grid-template-columns:1fr;overflow-y:auto}.lightbox-info{align-self:start}.skill-grid,.profile-skill-grid,.profile-timeline{grid-template-columns:repeat(2,1fr)}.project-grid{column-count:2}.profile-portrait{max-width:480px}.sticky-heading{position:static}.contact-card{width:min(100%,420px)}.contact-glass-card{grid-template-columns:1fr;gap:40px}.contact-info-card{justify-self:center;width:min(100%,360px)}}@media (width<=900px){.section{min-height:auto;padding:104px 20px}.navbar{border-radius:24px;grid-template-columns:1fr auto;width:calc(100% - 24px);top:14px}.nav-links,.brand small,.nav-contact{display:none}.hero-name{letter-spacing:.07em;font-size:clamp(42px,13vw,68px)}.hero h2{letter-spacing:.08em;font-size:clamp(14px,4.1vw,18px)}.hero-signature{font-size:clamp(17px,5vw,24px)}.hero-subtitle span{white-space:normal}.hero{min-height:100svh;padding-left:20px;padding-right:20px}.hero.section{padding-top:0;padding-bottom:0}.hero-video{filter:brightness(1.08)contrast(1.04)saturate(1.04);will-change:auto;transform:scale(1.03)}.hero-inner{min-height:100svh;padding-top:clamp(132px,23vh,188px);padding-bottom:198px}.hero-copy{max-width:100%}.hero-subtitle{max-width:310px;font-size:14px;line-height:1.68}.hero-gallery{height:190px;bottom:18px;left:-20px;right:-20px;overflow:hidden}.hero-gallery:before{background:linear-gradient(#0000,#00000085);inset:20% 0 0}.mobile-hero-strip{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;height:100%;padding:8px 20px 24px;scroll-padding-inline:20px;display:flex;overflow:auto hidden}.mobile-hero-strip::-webkit-scrollbar{display:none}.mobile-hero-card{color:#ffffffbd;scroll-snap-align:start;text-align:center;min-width:0;animation:mobileHeroCardIn .76s var(--ease-luxury) var(--mobile-card-delay,0s) both;background:0 0;border:0;flex:0 0 clamp(150px,44vw,186px);padding:0}.mobile-hero-card img{aspect-ratio:1.05;object-fit:cover;background:#ffffff0d;border-radius:8px;width:100%;display:block;box-shadow:0 18px 44px #00000042}.mobile-hero-card span{text-overflow:ellipsis;white-space:nowrap;margin-top:10px;font-size:12px;font-weight:500;line-height:1.3;display:block;overflow:hidden}.contact-strip,.skill-grid,.profile-meta-grid,.profile-stats,.profile-skill-grid,.profile-timeline{grid-template-columns:1fr}.project-grid{column-count:1;column-gap:0;margin-top:34px}.project-video-rotator{aspect-ratio:16/10;border-radius:8px;margin-top:32px;box-shadow:0 22px 70px #00000042}.project-video-rotator.reveal{clip-path:none;transition:opacity .76s var(--ease-luxury), filter .76s var(--ease-luxury), transform .82s var(--ease-luxury);transform:translateY(22px)scale(.985)}.project-video-rotator.reveal.is-visible{transform:translate(0,0)scale(1)}.project-video-rotator-indicator{gap:6px;bottom:14px;right:14px}.project-video-rotator-control{width:38px;height:38px}.project-video-rotator-control span{font-size:28px}.project-video-rotator-control-prev{left:12px}.project-video-rotator-control-next{right:12px}.project-video-rotator-indicator span{width:16px}.project-video-rotator-indicator .is-active{width:30px}.project-video-rotator+.project-grid{margin-top:14px}.profile-section{padding-top:104px}.profile-skill-card{border-radius:8px}.profile-timeline-item{padding-right:0}.profile-meta-grid div:nth-last-child(-n+2){border-bottom:1px solid #ffffff14}.profile-meta-grid div:last-child{border-bottom:0}.project-card-large{min-height:0;aspect-ratio:var(--project-ratio,1);grid-column:span 1}.project-card.reveal{clip-path:none;transition:opacity .76s var(--ease-luxury), filter .76s var(--ease-luxury), transform .82s var(--ease-luxury), border-color .22s ease, box-shadow .22s ease, background .22s ease;transform:translateY(22px)scale(.985)}.project-card.reveal.is-visible,.project-card.reveal.is-visible:hover{transform:translate(0,0)scale(1)}.project-card.is-visible .project-media:after{animation:none;display:none}.project-card.is-visible .project-media img,.project-card.is-visible .project-media video,.project-card:hover .project-media img,.project-card:hover .project-media video{filter:none;animation:none;transform:none}.project-media img,.project-media video{will-change:auto;transform:none}.project-card-wide:not(.project-card-large),.project-card-video-hero{column-span:none}.contact-glass-card{border-radius:24px;padding:28px}.contact-copy h2{letter-spacing:.045em;font-size:clamp(34px,11vw,54px)}.contact-actions{margin-top:28px}.projects-header{display:block}.filter-bar{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;max-width:none;margin-top:28px;margin-left:-20px;margin-right:-20px;padding:0 20px 8px;scroll-padding-inline:20px;display:flex;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.filter-bar button{flex:none;min-height:40px;padding:0 16px;font-size:13px}.portrait-meta{display:block}.portrait-meta strong{text-align:left;margin-top:10px;display:block}.project-lightbox{padding:14px}.lightbox-media{min-height:320px}}@keyframes mobileHeroCardIn{0%{opacity:0;transform:translate(18px,24px)scale(.96)}to{opacity:1;transform:translate(0,0)scale(1)}}
