:root{--black:#030303;--panel:#101010;--panel-2:#171717;--paper:#f5f1e8;--line:#ffffff1f;--line-strong:#ffffff42;--text:#f7f7f2;--muted:#a3a09a;--dim:#6d6962;--orange:#ff8a1c;--orange-deep:#c74a00;--orange-soft:#ffc078;--orange-pale:#ffe3bd;color:var(--text);background:var(--black);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Aptos,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{background:linear-gradient(#ffffff09 1px, transparent 1px), linear-gradient(90deg, #ffffff08 1px, transparent 1px), radial-gradient(circle at 82% 8%, #ff8a1c29, transparent 29rem), var(--black);background-size:48px 48px,48px 48px,auto,auto;min-width:320px;margin:0}a{color:inherit;text-decoration:none}main{overflow:hidden}.nav{z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#030303b8;border-radius:8px;gap:8px;padding:6px;display:flex;position:fixed;top:20px;right:clamp(18px,5vw,72px)}.nav a,.button,.contact__links a{border:1px solid var(--line);min-height:42px;color:var(--text);background:#ffffff0e;border-radius:6px;justify-content:center;align-items:center;padding:10px 14px;font-weight:850;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.nav a:hover,.button:hover,.contact__links a:hover{border-color:var(--line-strong);background:#ffffff1f;transform:translateY(-2px)}.hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(310px,.52fr);align-items:center;gap:clamp(36px,8vw,120px);min-height:100svh;padding:112px clamp(20px,5vw,80px) 72px;display:grid}.hero__content{max-width:940px}.eyebrow{width:fit-content;color:var(--orange-soft);letter-spacing:0;text-transform:uppercase;background:#ff8a1c12;border:1px solid #ff8a1c47;border-radius:6px;margin:0 0 18px;padding:8px 10px;font-size:.76rem;font-weight:900}h1,h2,h3,p{margin-top:0}h1{max-width:920px;color:var(--paper);letter-spacing:0;margin-bottom:28px;padding-bottom:.08em;font-size:clamp(4.2rem,12.8vw,10.8rem);line-height:.9}h2{color:var(--paper);letter-spacing:0;margin-bottom:0;font-size:clamp(2.5rem,7vw,6.2rem);line-height:.9}h3{color:var(--paper);letter-spacing:0;margin-bottom:14px;font-size:clamp(1.6rem,3vw,2.15rem)}.hero__summary{max-width:680px;color:var(--muted);margin-top:5px;font-size:clamp(1.08rem,2vw,1.34rem);line-height:1.55}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button--primary{background:var(--paper);color:var(--black);border-color:var(--paper)}.button--primary:hover{background:var(--orange);border-color:var(--orange)}.portrait-panel{justify-items:center;gap:24px;display:grid;position:relative}.portrait-wrap{aspect-ratio:1;isolation:isolate;border-radius:999px;place-items:center;width:min(34vw,420px);min-width:270px;display:grid;position:relative}.portrait-aurora{border-radius:inherit;background:conic-gradient(from 110deg, transparent 0deg, var(--orange-deep) 48deg, var(--orange) 130deg, var(--orange-pale) 214deg, var(--orange-soft) 292deg, transparent 360deg);filter:blur(42px);opacity:0;z-index:-2;transition:opacity .22s,filter .22s,transform .22s;animation:7s linear infinite paused auroraSpin;position:absolute;inset:-18%;transform:scale(.78)rotate(0)}.portrait-wrap:before{content:"";border-radius:inherit;z-index:-1;background:linear-gradient(145deg,#ffffffb8,#ffffff0a,#ff8a1c7a);position:absolute;inset:-4px}.portrait-wrap:hover .portrait-aurora{opacity:.86;filter:blur(54px);animation-play-state:running}.portrait-wrap:hover .portrait{filter:grayscale(0)contrast(1.05);transform:scale(.975)}@keyframes auroraSpin{0%{transform:scale(.86)rotate(0)}50%{transform:scale(1)rotate(180deg)}to{transform:scale(.86)rotate(360deg)}}.portrait{border-radius:inherit;object-fit:cover;background:var(--panel);filter:grayscale(.18)contrast(1.06);width:calc(100% - 14px);height:calc(100% - 14px);transition:transform .24s,filter .24s}.portrait--placeholder{color:var(--paper);background:radial-gradient(circle at 30% 24%,#ff8a1c3d,#0000 34%),linear-gradient(145deg,#1b1b1e,#070707);place-items:center;font-size:clamp(4rem,11vw,8rem);font-weight:950;line-height:1;display:grid}.profile-facts{grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,440px);margin:0;display:grid}.profile-facts div{border:1px solid var(--line);background:#ffffff0e;border-radius:8px;padding:14px}.profile-facts dt{color:var(--dim);text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:900}.profile-facts dd{color:var(--paper);margin:0;font-weight:850}.skills-section,.projects,.contact{padding:clamp(60px,8vw,108px) clamp(20px,5vw,80px);scroll-margin-top:96px}.skills-section{border-bottom:1px solid var(--line);background:linear-gradient(#ffffff06,#0000);grid-template-columns:minmax(260px,.52fr) minmax(0,1fr);align-items:start;gap:clamp(28px,6vw,84px);display:grid}.skill-list{flex-wrap:wrap;align-content:flex-start;gap:10px;display:flex}.skill-list span{border:1px solid var(--line);background:linear-gradient(180deg, #ffffff17, #ffffff09), var(--panel);min-height:50px;color:var(--muted);border-radius:8px;align-items:center;gap:10px;padding:10px 15px 10px 12px;font-weight:850;transition:transform .18s,color .18s,border-color .18s;display:inline-flex}.skill-list svg{width:22px;height:22px;color:var(--paper);transition:color .18s,filter .18s,transform .18s}.skill-list span:hover{color:var(--text);border-color:var(--line-strong);transform:translateY(-4px)}.skill-list span:hover svg{color:var(--orange-soft);filter:drop-shadow(0 0 12px #ff8a1c75);transform:rotate(-5deg)scale(1.08)}.section-heading{grid-template-columns:minmax(260px,.56fr) minmax(0,1fr);align-items:end;gap:clamp(22px,5vw,70px);margin-bottom:34px;display:grid}.section-note{color:#f7f7f275;max-width:620px;margin:0;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.7}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.project-card{border:1px solid var(--line);background:linear-gradient(180deg, #ffffff17, #ffffff08), var(--panel);border-radius:8px;flex-direction:column;justify-content:space-between;gap:28px;min-height:440px;padding:clamp(22px,3vw,32px);transition:transform .22s,border-color .22s,background .22s;display:flex;position:relative;overflow:hidden}.project-card:after{content:"";background:var(--orange);filter:blur(46px);opacity:0;border-radius:999px;width:92px;height:92px;transition:opacity .22s,transform .22s;position:absolute;inset:auto 18px 18px auto}.project-card:hover{border-color:var(--line-strong);background:linear-gradient(180deg, #ffffff21, #ffffff0b), var(--panel-2);transform:translateY(-10px)}.project-card:hover:after{opacity:.36;transform:translate(-18px,-18px)scale(1.16)}.project-card>*{z-index:1;position:relative}.project-card__topline{justify-content:space-between;align-items:center;gap:10px;min-height:28px;margin-bottom:28px;display:flex}.project-card__topline>span:first-child{color:#f7f7f25c;font-size:.8rem;font-weight:950}.status-badge{color:#7cffaa;background:#47ff8f1a;border:1px solid #47ff8f66;border-radius:8px;padding:5px 8px;font-size:.72rem;font-weight:950;line-height:1}.project-card__stack{color:var(--orange-soft);letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:900}.project-card__type{color:#f7f7f285;margin-bottom:22px;font-weight:850}.project-card p:not(.project-card__stack):not(.project-card__type){color:var(--muted);line-height:1.65}.project-card__link{width:fit-content;color:var(--paper);align-items:center;gap:8px;font-weight:900;transition:color .18s,transform .18s;display:inline-flex}.project-card__link svg{width:12px;height:12px}.project-card__link:hover{color:var(--orange-soft);transform:translate(4px)}.contact{border-top:1px solid var(--line);background:linear-gradient(120deg,#ff8a1c14,#0000 38%),#050505;grid-template-columns:minmax(0,720px) auto;justify-content:start;align-items:center;gap:clamp(28px,6vw,96px);padding-top:clamp(42px,6vw,72px);padding-bottom:clamp(42px,6vw,72px);display:grid}.contact h2{max-width:620px;font-size:clamp(2.4rem,6vw,5.2rem)}.contact__note{color:#f7f7f285;max-width:540px;margin:18px 0 0;font-size:1rem;line-height:1.65}.contact__links{flex-wrap:wrap;justify-content:center;align-self:center;gap:12px;display:flex}.contact__links a{gap:10px;min-width:164px;min-height:58px;padding-inline:24px;font-size:1.05rem}.contact__links svg{width:20px;height:20px;color:var(--orange-soft);transition:color .18s,transform .18s}.contact__links a:hover svg{color:var(--paper);transform:translateY(-1px)scale(1.08)}@media (width<=1080px){.hero,.skills-section,.section-heading,.contact{grid-template-columns:1fr}.portrait-panel{order:-1}.portrait-wrap{width:min(72vw,390px)}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){html{scroll-padding-top:88px}.nav{left:12px;right:12px;overflow-x:auto}.nav a{white-space:nowrap}.hero{padding-top:96px}.profile-facts{grid-template-columns:1fr}.hero__actions,.contact__links{width:100%}.button,.contact__links a{flex:150px}.project-grid{grid-template-columns:1fr}.project-card{min-height:320px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
