:root{color-scheme:dark;--bg: #050506;--bg-soft: #0a0b0d;--panel: rgba(17, 19, 23, .62);--panel-strong: rgba(22, 24, 29, .78);--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .18);--text: #f0eee9;--muted: rgba(240, 238, 233, .66);--faint: rgba(240, 238, 233, .38);--cyan: #77d9d2;--violet: #a695ff;--ember: #ff8a62;--green: #8de0b0;--max-width: 1700px;--serif: "Times New Roman", "Noto Serif SC", Georgia, serif;--sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{min-width:320px;margin:0;background:radial-gradient(circle at 24% 8%,rgba(109,110,255,.08),transparent 30rem),radial-gradient(circle at 76% 28%,rgba(119,217,210,.05),transparent 32rem),var(--bg);color:var(--text);font-family:var(--sans);line-height:1.5;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}body:before,body:after{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;content:""}body:before{opacity:.22;background-image:radial-gradient(circle,rgba(255,255,255,.18) .7px,transparent .8px),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:18px 18px,80px 80px,80px 80px;-webkit-mask-image:linear-gradient(to bottom,black 0%,black 72%,transparent 100%);mask-image:linear-gradient(to bottom,black 0%,black 72%,transparent 100%)}body:after{opacity:.08;background-image:repeating-radial-gradient(circle at 17% 23%,rgba(255,255,255,.6) 0 .6px,transparent .8px 2.4px),repeating-linear-gradient(90deg,transparent 0 2px,rgba(255,255,255,.35) 2px 3px);background-size:140px 140px,5px 5px;mix-blend-mode:overlay}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button,input,textarea{font:inherit}::selection{background:#77d9d247}.section-shell{position:relative;width:min(100%,var(--max-width));margin-inline:auto;padding-inline:clamp(24px,4vw,72px)}.site-nav{position:fixed;top:18px;left:50%;z-index:20;display:grid;width:min(calc(100% - 32px),calc(var(--max-width) - 56px));grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:14px 18px;border:1px solid transparent;border-radius:999px;transform:translate(-50%);transition:background .42s ease,border-color .42s ease,backdrop-filter .42s ease}.site-nav--scrolled{border-color:var(--line);background:#08090ba3;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.site-nav__logo{width:fit-content;color:var(--text);font-family:var(--serif);font-size:18px}.site-nav__links{display:flex;align-items:center;gap:clamp(18px,2vw,34px);color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.site-nav__links a,.site-nav__contact{transition:color .28s ease,opacity .28s ease}.site-nav__links a:hover,.site-nav__contact:hover{color:var(--text)}.site-nav__contact{justify-self:end;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.hero{min-height:100vh;display:grid;place-items:center;overflow:hidden;isolation:isolate}.hero:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;content:"";background:linear-gradient(180deg,rgba(5,5,6,.55),rgba(5,5,6,.78) 62%,var(--bg)),radial-gradient(circle at 50% 52%,transparent 0 16%,rgba(5,5,6,.44) 46%,rgba(5,5,6,.94) 100%)}.hero__video-layer{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;z-index:-3;transform:translate3d(0,var(--hero-shift, 0),0) scale(1.04)}.hero__video-layer video,.hero__video-placeholder{width:100%;height:100%;object-fit:cover}.hero__video-placeholder{background:radial-gradient(circle at 34% 40%,rgba(166,149,255,.18),transparent 22rem),radial-gradient(circle at 60% 55%,rgba(119,217,210,.13),transparent 24rem),linear-gradient(135deg,#050506,#0d0d13 42%,#060707);animation:spectral-drift 18s ease-in-out infinite alternate}.hero__glass-orb{position:absolute;top:17%;left:56%;z-index:-2;width:clamp(360px,35vw,680px);aspect-ratio:1;border:1px solid rgba(255,255,255,.13);border-radius:42% 58% 54% 46%/48% 38% 62% 52%;background:radial-gradient(circle at 38% 28%,rgba(255,255,255,.34),transparent 0 9%,transparent 26%),radial-gradient(circle at 70% 28%,rgba(119,217,210,.26),transparent 0 18%,transparent 42%),linear-gradient(135deg,#a695ff2e,#77d9d214 43%,#ff8a6224);box-shadow:inset 0 0 60px #ffffff14,0 28px 120px #536fff21;filter:blur(.2px) saturate(.82);transform:translate3d(0,calc(var(--hero-shift, 0) * -.55),0) rotate(-12deg);animation:liquid-breathe 12s ease-in-out infinite alternate}.hero__ribbon{position:absolute;z-index:-2;width:min(46vw,720px);height:96px;border-radius:999px;opacity:.36;filter:blur(28px) saturate(.8)}.hero__ribbon--one{top:25%;left:4%;background:linear-gradient(90deg,transparent,rgba(119,217,210,.5),rgba(166,149,255,.18),transparent);transform:rotate(-18deg)}.hero__ribbon--two{right:2%;bottom:19%;background:linear-gradient(90deg,transparent,rgba(255,138,98,.42),rgba(119,217,210,.18),transparent);transform:rotate(16deg)}.hero__content{width:min(100%,1180px);margin-top:4vh;text-align:center}.eyebrow{margin:0 0 18px;color:var(--muted);font-size:clamp(12px,.88vw,15px);font-weight:500;letter-spacing:.22em;text-transform:uppercase}.hero h1{display:grid;gap:0;margin:0;font-family:var(--serif);font-weight:300;line-height:.82}.hero h1 span{font-size:clamp(72px,13vw,230px)}.hero h1 strong{color:transparent;font-family:var(--sans);font-size:clamp(62px,11vw,190px);font-weight:100;letter-spacing:.02em;-webkit-text-stroke:1px rgba(240,238,233,.66)}.hero__subline{display:flex;justify-content:center;gap:clamp(18px,4vw,68px);margin-top:clamp(26px,4vw,58px);color:var(--muted);font-size:13px;letter-spacing:.16em;text-transform:uppercase}.floating-cta{position:fixed;right:clamp(18px,3vw,46px);bottom:clamp(18px,3vw,46px);z-index:22;display:inline-flex;align-items:center;gap:12px;padding:15px 18px 15px 20px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#0d0f1294;color:var(--text);box-shadow:0 14px 44px #00000047;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:transform .38s ease,border-color .38s ease,box-shadow .38s ease}.floating-cta span{font-size:12px;letter-spacing:.14em;text-transform:uppercase}.floating-cta i,.footer-contact__button:after{width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;content:"";transform:rotate(45deg)}.floating-cta:hover{border-color:#77d9d257;box-shadow:0 18px 54px #77d9d21f,0 14px 44px #00000057;transform:translate3d(-3px,-4px,0)}.profile,.projects,.skills{padding-top:clamp(110px,12vw,190px);padding-bottom:clamp(90px,10vw,170px)}.section-kicker{display:flex;align-items:center;gap:16px;margin-bottom:clamp(28px,5vw,72px);color:var(--faint);font-size:12px;letter-spacing:.14em;text-transform:uppercase}.section-kicker:after{flex:1;height:1px;content:"";background:linear-gradient(90deg,var(--line),transparent)}.section-kicker span{color:var(--muted)}.section-kicker p{margin:0}.section-heading{display:grid;grid-template-columns:minmax(0,.78fr) minmax(260px,.3fr);gap:clamp(28px,6vw,120px);align-items:end;margin-bottom:clamp(48px,7vw,96px)}.section-heading h2,.profile__panel h2,.footer-contact h2{margin:0;font-family:var(--serif);font-size:clamp(38px,5vw,88px);font-weight:300;line-height:.98}.section-heading p,.profile__bio,.skill-card p,.project-card p{margin:0;color:var(--muted);font-size:15px}.profile__grid{display:grid;grid-template-columns:minmax(280px,.44fr) minmax(0,.72fr);gap:clamp(36px,7vw,130px);align-items:center}.profile__portrait-wrap{position:relative}.profile__portrait{position:relative;overflow:hidden;min-height:clamp(460px,54vw,760px);border:1px solid var(--line);border-radius:8px;background:radial-gradient(circle at 62% 22%,rgba(166,149,255,.18),transparent 16rem),linear-gradient(160deg,#ffffff14,#ffffff03)}.profile__portrait:before{position:absolute;top:10%;right:10%;bottom:10%;left:10%;border:1px solid rgba(255,255,255,.07);border-radius:999px 999px 10px 10px;content:"";background:radial-gradient(circle at 50% 24%,rgba(240,238,233,.16),transparent 0 9%,transparent 23%),linear-gradient(180deg,rgba(119,217,210,.16),transparent 58%);filter:blur(.1px)}.profile__portrait img{width:100%;height:100%;object-fit:cover}.profile__portrait-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:end start;padding:28px}.profile__portrait-placeholder span{color:var(--faint);font-size:12px;letter-spacing:.18em;text-transform:uppercase}.profile__caption{position:absolute;right:-28px;bottom:38px;max-width:260px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#0c0d0f99;color:var(--muted);font-size:13px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.profile__panel,.skill-card,.project-card{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.profile__panel{position:relative;overflow:hidden;padding:clamp(28px,4vw,64px);border-radius:8px}.profile__panel:before{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";background:radial-gradient(circle at 82% 10%,rgba(119,217,210,.08),transparent 22rem)}.profile__bio{max-width:760px;margin-top:28px}.profile__tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}.profile__tags span,.skill-card__tags span{border:1px solid rgba(255,255,255,.1);border-radius:999px;color:var(--muted);font-size:12px}.profile__tags span{padding:9px 13px}.profile__contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:38px}.profile__contacts a{display:grid;gap:8px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#ffffff06;transition:border-color .32s ease,transform .32s ease}.profile__contacts a:hover{border-color:#77d9d242;transform:translateY(-3px)}.profile__contacts span,.footer-contact__channels span{color:var(--faint);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.profile__contacts strong{color:var(--text);font-size:15px;font-weight:400}.profile__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:44px;background:var(--line)}.profile__stats div{display:grid;gap:4px;padding:20px 16px;background:#090a0ca8}.profile__stats strong{font-family:var(--serif);font-size:clamp(30px,3vw,54px);font-weight:300}.profile__stats span{color:var(--faint);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.projects__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2vw,28px)}.projects__grid>.reveal:nth-child(1),.projects__grid>.reveal:nth-child(4){grid-column:span 7}.projects__grid>.reveal:nth-child(2),.projects__grid>.reveal:nth-child(3),.projects__grid>.reveal:nth-child(5),.projects__grid>.reveal:nth-child(6){grid-column:span 5}.projects__grid>.reveal:nth-child(3){margin-top:clamp(42px,5vw,86px)}.project-card{position:relative;overflow:hidden;height:100%;border-radius:8px;transition:transform .52s ease,border-color .52s ease,background .52s ease}.project-card:after{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";opacity:0;transition:opacity .52s ease}.project-card--cyan:after{background:linear-gradient(135deg,rgba(119,217,210,.22),transparent 42%)}.project-card--violet:after{background:linear-gradient(135deg,rgba(166,149,255,.2),transparent 42%)}.project-card--ember:after{background:linear-gradient(135deg,rgba(255,138,98,.18),transparent 42%)}.project-card--green:after{background:linear-gradient(135deg,rgba(141,224,176,.18),transparent 42%)}.project-card:hover{transform:translateY(-8px)}.project-card:hover:after{opacity:1}.project-card--cyan:hover{border-color:#77d9d257}.project-card--violet:hover{border-color:#a695ff57}.project-card--ember:hover{border-color:#ff8a6252}.project-card--green:hover{border-color:#8de0b052}.project-card__media{aspect-ratio:16 / 9;overflow:hidden;background:#090a0d}.project-card__media img,.project-card__placeholder{width:100%;height:100%;transition:transform .62s ease,filter .62s ease}.project-card__media img{object-fit:cover}.project-card:hover .project-card__media img,.project-card:hover .project-card__placeholder{filter:saturate(1.08);transform:scale(1.035)}.project-card__placeholder{position:relative;display:grid;place-items:center;background:radial-gradient(circle at 24% 26%,rgba(255,255,255,.14),transparent 0 8%,transparent 24%),radial-gradient(circle at 62% 50%,rgba(119,217,210,.16),transparent 0 18%,transparent 40%),linear-gradient(142deg,#ffffff12,#ffffff03)}.project-card--violet .project-card__placeholder{background:radial-gradient(circle at 30% 32%,rgba(166,149,255,.21),transparent 0 18%,transparent 42%),linear-gradient(142deg,#ffffff12,#ffffff03)}.project-card--ember .project-card__placeholder{background:radial-gradient(circle at 68% 30%,rgba(255,138,98,.19),transparent 0 18%,transparent 42%),linear-gradient(142deg,#ffffff12,#ffffff03)}.project-card--green .project-card__placeholder{background:radial-gradient(circle at 44% 42%,rgba(141,224,176,.17),transparent 0 18%,transparent 42%),linear-gradient(142deg,#ffffff12,#ffffff03)}.project-card__placeholder:before{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:1px solid rgba(255,255,255,.08);border-radius:45% 55% 50% 50%/52% 42% 58% 48%;content:"";background:linear-gradient(135deg,#ffffff14,#ffffff03);filter:blur(.2px)}.project-card__placeholder span{position:relative;color:#f0eee933;font-family:var(--serif);font-size:clamp(76px,8vw,150px)}.project-card__content{position:relative;z-index:1;display:grid;gap:14px;padding:clamp(22px,2.5vw,36px)}.project-card__meta{display:flex;justify-content:space-between;gap:16px;color:var(--faint);font-size:11px;letter-spacing:.13em;text-transform:uppercase}.project-card h3{margin:0;font-family:var(--serif);font-size:clamp(32px,3vw,56px);font-weight:300;line-height:1}.project-card a{width:fit-content;margin-top:6px;color:var(--text);font-size:12px;letter-spacing:.14em;opacity:0;text-transform:uppercase;transform:translateY(8px);transition:opacity .36s ease,transform .36s ease}.project-card:hover a{opacity:1;transform:translateY(0)}.skills__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,26px)}.skill-card{min-height:330px;display:grid;align-content:start;gap:20px;padding:clamp(24px,2.5vw,38px);border-radius:8px;transition:transform .42s ease,border-color .42s ease,background .42s ease}.skill-card:hover{border-color:#77d9d23d;background:radial-gradient(circle at 80% 0%,rgba(119,217,210,.08),transparent 18rem),var(--panel-strong);transform:translateY(-6px)}.skill-card__icon{width:48px;height:48px;color:#f0eee9b8;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.2}.skill-card h3{margin:12px 0 0;font-family:var(--serif);font-size:clamp(26px,2.2vw,38px);font-weight:300;line-height:1.04}.skill-card__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.skill-card__tags span{padding:7px 10px}.footer-contact{min-height:96vh;display:grid;align-content:center;gap:clamp(42px,6vw,88px);overflow:hidden;padding-top:clamp(100px,12vw,180px);padding-bottom:34px;isolation:isolate}.footer-contact:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-3;content:"";background:radial-gradient(circle at 78% 28%,rgba(255,138,98,.08),transparent 26rem),radial-gradient(circle at 30% 72%,rgba(119,217,210,.08),transparent 28rem),linear-gradient(180deg,var(--bg),#08080a 46%,#030304)}.footer-contact__aura{position:absolute;right:10%;bottom:16%;z-index:-2;width:min(48vw,720px);height:180px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(166,149,255,.18),rgba(255,138,98,.13),transparent);filter:blur(42px);transform:rotate(-12deg)}.footer-contact__content{max-width:1180px}.footer-contact h2{max-width:980px;font-size:clamp(48px,8vw,138px)}.footer-contact__button{display:inline-flex;align-items:center;gap:14px;margin-top:clamp(28px,4vw,58px);padding:15px 20px;border:1px solid var(--line-strong);border-radius:999px;color:var(--text);font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:transform .36s ease,border-color .36s ease,box-shadow .36s ease}.footer-contact__button:hover{border-color:#ff8a6252;box-shadow:0 20px 62px #ff8a621a;transform:translateY(-4px)}.footer-contact__channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--line);background:var(--line)}.footer-contact__channels div{display:grid;align-content:start;gap:10px;min-height:170px;padding:clamp(22px,2.6vw,38px);background:#0a0b0db3}.footer-contact__channels a{width:fit-content;color:var(--muted);transition:color .28s ease}.footer-contact__channels a:hover{color:var(--text)}.footer-contact__bottom{display:flex;justify-content:space-between;gap:24px;color:var(--faint);font-size:12px}.reveal{opacity:0;transform:translateY(26px);transition:opacity .78s ease,transform .78s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes spectral-drift{0%{transform:scale(1) translateZ(0);filter:hue-rotate(0deg) saturate(.8)}to{transform:scale(1.04) translate3d(-1.4%,1.2%,0);filter:hue-rotate(12deg) saturate(.92)}}@keyframes liquid-breathe{0%{border-radius:42% 58% 54% 46%/48% 38% 62% 52%}to{border-radius:56% 44% 48% 52%/38% 52% 48% 62%}}@media(max-width:1180px){.section-heading,.profile__grid{grid-template-columns:1fr}.profile__portrait{min-height:520px}.projects__grid>.reveal:nth-child(n){grid-column:span 6;margin-top:0}.skills__grid,.footer-contact__channels{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.section-shell{padding-inline:18px}.site-nav{top:10px;grid-template-columns:auto 1fr;border-color:var(--line);background:#08090ba3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-nav__links{display:none}.site-nav__contact{font-size:11px}.hero__subline,.footer-contact__bottom{flex-direction:column;align-items:center;gap:10px;text-align:center}.hero__glass-orb{left:28%;top:18%;width:420px}.floating-cta{right:16px;bottom:16px}.profile__caption{right:14px}.profile__contacts,.profile__stats,.skills__grid,.footer-contact__channels,.projects__grid{grid-template-columns:1fr}.projects__grid>.reveal:nth-child(n){grid-column:auto}.project-card{min-height:500px}.project-card a{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
