:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#05070b;--bg-raised:#090c12;--surface:#111620c7;--surface-solid:#101620;--surface-hover:#151c28;--text:#f3f7fb;--text-soft:#c1c9d3;--muted:#7f8b9a;--cyan:#35e7ff;--cyan-soft:#35e7ff1f;--violet:#9b7bff;--violet-soft:#9b7bff1f;--border:#c0d9eb29;--border-strong:#c0d9eb4d;--success:#5ff0b2;--error:#ff8c9a;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--space-section:clamp(5.5rem, 10vw, 9rem);--page-width:1240px;--font-sans:Inter, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:"Cascadia Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);scroll-padding-top:88px}body{background:radial-gradient(circle at 80% 2%, #7247ff1a, transparent 30rem), var(--bg);min-width:320px;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px}body:before{z-index:-1;content:"";pointer-events:none;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:64px 64px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}::selection{background:var(--cyan);color:#001014}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border:1px solid var(--cyan);border-radius:var(--radius-sm);background:var(--bg);color:var(--cyan);padding:11px 15px;font-weight:700;transition:transform .15s;position:fixed;top:10px;left:10px;transform:translateY(calc(-100% - 14px))}.skip-link:focus{transform:translateY(0)}.scroll-target{position:absolute}#main-content:focus{outline:none}main,.site-footer{width:min(var(--page-width), calc(100% - 48px));margin-inline:auto}.navbar{z-index:50;width:min(var(--page-width), calc(100% - 48px));border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070a0fc7;justify-content:space-between;align-items:center;min-height:64px;margin:14px auto 0;padding:10px 12px;display:flex;position:sticky;top:14px;box-shadow:0 14px 48px #00000040}.navbar-logo,.navbar-links button,.nav-toggle,.footer-brand button,.footer-links button{color:inherit;cursor:pointer;background:0 0;border:0}.navbar-logo{align-items:center;gap:12px;min-height:44px;padding:0;font-weight:700;display:inline-flex}.navbar-logo>span:first-child,.footer-brand button>span{aspect-ratio:1;background:var(--cyan-soft);width:39px;color:var(--cyan);font-family:var(--font-mono);border:1px solid #35e7ff80;border-radius:6px;place-items:center;font-size:13px;display:grid}.brand-name{letter-spacing:-.02em}.navbar-links{align-items:center;gap:2px;display:flex}.navbar-links button{border-radius:var(--radius-sm);min-height:44px;color:var(--text-soft);padding:12px 15px;font-size:13px;font-weight:600;transition:color .16s,background .16s}.navbar-links button small{color:var(--muted);font-family:var(--font-mono);margin-right:7px;font-size:9px}.navbar-links button:hover{color:var(--cyan);background:#ffffff0d}.nav-toggle{display:none}.hero{align-items:center;min-height:calc(100svh - 92px);padding:clamp(6rem,12vh,9rem) 0 3.2rem;display:flex;position:relative;overflow:hidden}.hero-content{z-index:2;width:100%;position:relative}.hero-grid{opacity:.7;background-image:linear-gradient(#35e7ff12 1px,#0000 1px),linear-gradient(90deg,#35e7ff12 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:3% -10% 0 42%;transform:perspective(700px)rotateY(-12deg)rotate(-3deg);-webkit-mask-image:radial-gradient(#000,#0000 68%);mask-image:radial-gradient(#000,#0000 68%)}.hero-grid:before{content:"";border:1px solid #35e7ff33;position:absolute;inset:10% 12%;box-shadow:inset 0 0 60px #35e7ff0d}.signal{background:linear-gradient(90deg, transparent, var(--cyan), transparent);height:1px;box-shadow:0 0 12px var(--cyan);position:absolute}.signal-one{width:55%;top:32%;left:13%;transform:rotate(90deg)}.signal-two{width:68%;bottom:25%;right:5%}.signal-node{border:1px solid var(--cyan);width:8px;height:8px;box-shadow:0 0 12px var(--cyan);border-radius:50%;position:absolute}.node-one{top:32%;left:40%}.node-two{bottom:24.5%;right:28%}.eyebrow,.section-kicker,.panel-label,.contact-aside-label,.filter-bar>span{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;font-size:11px}.eyebrow{color:var(--text-soft);align-items:center;gap:10px;margin:0 0 2rem;display:flex}.status-dot{background:var(--success);width:7px;height:7px;box-shadow:0 0 12px var(--success);border-radius:50%}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.075em;max-width:1150px;margin-bottom:clamp(2.5rem,6vw,4.8rem);font-size:clamp(3.5rem,8.4vw,7.6rem);font-weight:600;line-height:.93}h1 span{color:#0000;background:linear-gradient(100deg, var(--text) 5%, var(--cyan) 75%);-webkit-background-clip:text;background-clip:text}h1 span:last-child{background-image:linear-gradient(100deg, var(--text), var(--violet))}.hero-lower{grid-template-columns:minmax(280px,560px) 1fr;align-items:end;gap:clamp(2rem,7vw,7rem);display:grid}.hero-description{color:var(--text-soft);margin-bottom:0;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.7}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.button,.details-toggle{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:center;gap:16px;min-height:46px;padding:12px 17px;font-size:13px;font-weight:700;transition:transform .16s,color .16s,border-color .16s,background .16s,box-shadow .16s;display:inline-flex}.primary-button{background:var(--cyan);color:#001014;box-shadow:0 0 28px #35e7ff1f}.secondary-button{border-color:var(--border-strong);color:var(--text);background:#ffffff06}.text-button{color:var(--text-soft);background:0 0;border-color:#0000}.button:hover,.details-toggle:hover{transform:translateY(-2px)}.primary-button:hover{box-shadow:0 0 36px #35e7ff42}.secondary-button:hover,.text-button:hover{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-soft)}.hero-labels{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,1fr);margin-top:clamp(3rem,7vw,6rem);display:grid}.hero-labels>span{color:var(--text-soft);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;padding:17px 16px;font-size:11px}.hero-labels>span+span{border-left:1px solid var(--border)}.hero-labels small{color:var(--cyan);margin-right:10px;font-size:9px}.section{padding:var(--space-section) 0;border-top:1px solid var(--border)}.section-intro{grid-template-columns:minmax(150px,.35fr) 1fr;gap:2rem;margin-bottom:clamp(3rem,6vw,5rem);display:grid}.section-kicker{color:var(--muted);gap:13px;padding-top:10px;display:flex}.section-kicker span:first-child{color:var(--cyan)}h2{letter-spacing:-.06em;max-width:850px;margin-bottom:0;font-size:clamp(2.5rem,5.3vw,5rem);font-weight:600;line-height:1}.section-intro>div:last-child>p{max-width:630px;color:var(--muted);margin:1.5rem 0 0;line-height:1.7}.about-layout{grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,6rem);margin-left:max(0px,26% - 39px);display:grid}.about-lead{color:var(--text);letter-spacing:-.035em;margin:0;font-size:clamp(1.45rem,2.8vw,2.2rem);line-height:1.35}.about-copy p{color:var(--text-soft);margin-bottom:1.35rem;line-height:1.75}.about-facts{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(135deg,#35e7ff09,#9b7bff09);grid-column:1/-1;grid-template-columns:repeat(3,1fr);margin:1rem 0 0;display:grid}.about-facts>div{padding:22px}.about-facts>div+div{border-left:1px solid var(--border)}.about-facts dt,.project-meta>div>span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;margin-bottom:8px;font-size:10px}.about-facts dd{color:var(--text);margin:0;font-weight:600}.skills-grid{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.skill-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);grid-column:span 2;min-height:255px;padding:23px;transition:transform .18s,border-color .18s,background .18s;position:relative;overflow:hidden}.skill-panel:nth-child(4),.skill-panel:nth-child(5){grid-column:span 3}.skill-panel:after{content:"";border:1px solid #35e7ff2e;border-radius:50%;width:120px;height:120px;position:absolute;bottom:-65px;right:-65px;box-shadow:0 0 40px #35e7ff0f}.skill-panel:hover{background:var(--surface-hover);border-color:#35e7ff57;transform:translateY(-3px)}.skill-panel-heading{align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.skill-panel-heading>span{color:var(--cyan);font-family:var(--font-mono);font-size:10px}.skill-panel h3{letter-spacing:-.025em;margin:0;font-size:1.15rem}.skill-panel ul,.project-detail ul{margin:0;padding:0;list-style:none}.skill-panel li{color:var(--text-soft);font-family:var(--font-mono);border-top:1px solid #ffffff0f;padding:8px 0;font-size:11px}.filter-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);align-items:flex-start;gap:25px;margin-bottom:1.2rem;padding:14px 0;display:flex}.filter-bar>span{color:var(--muted);flex:none;padding:8px 0}.filter-controls{flex-wrap:wrap;gap:5px;display:flex}.filter-button{min-height:44px;color:var(--muted);cursor:pointer;font-family:var(--font-mono);background:0 0;border:1px solid #0000;border-radius:6px;padding:9px 12px;font-size:10px;transition:color .15s,background .15s,border-color .15s}.filter-button:hover{color:var(--text);background:#ffffff0a}.filter-button.active{background:var(--cyan-soft);color:var(--cyan);border-color:#35e7ff4d}.project-grid{gap:12px;display:grid}.project-card{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(115deg,#121823eb,#0a0e15e0);grid-template-columns:135px 1fr;transition:border-color .18s,transform .18s;display:grid;overflow:hidden}.project-card:hover{border-color:var(--border-strong)}.project-number{border-right:1px solid var(--border);color:var(--cyan);font-family:var(--font-mono);flex-direction:column;justify-content:space-between;gap:30px;padding:25px 20px;display:flex}.project-number>span:first-child{font-size:1.55rem}.project-category{color:var(--muted);text-transform:uppercase;writing-mode:vertical-rl;font-size:9px;line-height:1.5;transform:rotate(180deg)}.project-card-main{min-width:0;padding:clamp(1.5rem,3vw,2.3rem)}.project-card-header{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.project-card h3{letter-spacing:-.045em;max-width:720px;margin:0;font-size:clamp(1.5rem,3vw,2.6rem);font-weight:600;line-height:1.12}.project-status{border:1px solid var(--border);color:var(--text-soft);font-family:var(--font-mono);text-transform:uppercase;border-radius:99px;flex:none;align-items:center;gap:7px;padding:7px 10px;font-size:9px;display:inline-flex}.project-status>span{background:var(--success);width:5px;height:5px;box-shadow:0 0 8px var(--success);border-radius:50%}.project-summary{max-width:800px;color:var(--text-soft);margin:1.2rem 0 1.8rem;line-height:1.7}.project-meta{grid-template-columns:minmax(180px,.35fr) 1fr;gap:2rem;display:grid}.project-meta>div{flex-direction:column;display:flex}.project-meta strong{color:var(--text-soft);font-size:13px;font-weight:500}.tech-stack{flex-wrap:wrap;gap:6px;display:flex}.tech-stack span{background:var(--violet-soft);color:#c7b8ff;font-family:var(--font-mono);border:1px solid #9b7bff33;border-radius:4px;padding:4px 7px;font-size:9px}.project-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.2rem;display:flex}.details-toggle{background:var(--cyan-soft);min-width:145px;color:var(--cyan);border-color:#35e7ff47}.project-links{color:var(--muted);font-family:var(--font-mono);align-items:center;gap:15px;font-size:10px;display:flex}.project-links a{min-height:44px;color:var(--text-soft);align-items:center;padding:8px 0;transition:color .15s;display:inline-flex}.project-links a:hover{color:var(--cyan)}.expanded-details{border-top:1px solid var(--border);margin-top:2rem;padding-top:2rem;animation:.28s both details-in}.project-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.project-detail{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff06;padding:20px}.project-detail.wide{grid-column:1/-1}.project-detail h4{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font-size:10px;font-weight:500}.project-detail p,.project-detail li{color:var(--text-soft);margin:0;font-size:13px;line-height:1.7}.project-detail li{padding:0 0 9px 17px;position:relative}.project-detail li:before{background:var(--violet);content:"";width:5px;height:1px;position:absolute;top:9px;left:0}.contact-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);align-items:start;gap:12px;display:grid}.contact-form-shell,.contact-aside{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.panel-label{border-bottom:1px solid var(--border);color:var(--muted);justify-content:space-between;padding:16px 20px;display:flex}.online-label{color:var(--success)}.online-label:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block;box-shadow:0 0 8px}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:clamp(1.4rem,3vw,2.2rem);display:grid}.form-row{gap:8px;display:grid}.honeypot-field,.form-note,.turnstile-widget,.contact-form>.form-status,.contact-form>.button{grid-column:1/-1}.form-row:has(textarea){grid-column:1/-1}.form-row label{color:var(--text-soft);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.form-row input,.form-row select,.form-row textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:48px;color:var(--text);background:#03060a8c;padding:12px 13px;transition:border-color .15s,background .15s}.form-row textarea{resize:vertical;min-height:155px}.form-row input:hover,.form-row select:hover,.form-row textarea:hover,.form-row input:focus,.form-row select:focus,.form-row textarea:focus{background:#03060acc;border-color:#35e7ff73}.honeypot-field{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-note,.form-status{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.turnstile-widget{max-width:100%;min-height:65px}.form-status{border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffff08;padding:12px}.form-status.success{color:var(--success);border-color:#5ff0b266}.form-status.error{color:var(--error);border-color:#ff8c9a66}.contact-form>.button{width:fit-content;min-width:130px}.contact-aside{background:linear-gradient(150deg, #9b7bff1a, transparent 55%), var(--surface);flex-direction:column;justify-content:space-between;gap:2rem;min-height:355px;padding:25px;display:flex}.contact-aside-label{color:var(--violet);margin-bottom:13px}.contact-aside h3{letter-spacing:-.035em;margin:0;font-size:1.45rem;line-height:1.3}.contact-aside .button{width:100%}.contact-privacy{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.site-footer{border-top:1px solid var(--border);grid-template-columns:1fr auto;gap:3rem;padding:3.5rem 0 2rem;display:grid}.footer-brand button{align-items:center;gap:13px;min-height:44px;padding:0;font-weight:700;display:flex}.footer-brand p{max-width:370px;color:var(--muted);margin:1.2rem 0 0;font-size:13px;line-height:1.6}.footer-links{align-items:flex-start;gap:8px;display:flex}.footer-links a,.footer-links button{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:44px;color:var(--text-soft);align-items:center;padding:10px 12px;font-size:12px;transition:border-color .15s,color .15s;display:inline-flex}.footer-links a:hover,.footer-links button:hover{border-color:var(--cyan);color:var(--cyan)}.footer-bottom{border-top:1px solid var(--border);grid-column:1/-1;justify-content:space-between;padding-top:1.5rem;display:flex}.footer-bottom p{color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:9px}.reveal{opacity:0;transition:opacity .65s,transform .65s cubic-bezier(.2,.8,.2,1);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none}@keyframes details-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media (width<=1100px){.hero-lower{grid-template-columns:1fr;align-items:start;gap:2rem}}@media (width<=900px){.about-layout{margin-left:0}.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-panel,.skill-panel:nth-child(4),.skill-panel:nth-child(5){grid-column:span 1}.skill-panel:last-child{grid-column:1/-1}.contact-layout{grid-template-columns:1fr}.contact-aside{min-height:auto}.project-card{grid-template-columns:112px 1fr}.project-number{padding:22px 16px}}@media (width<=800px){.navbar{margin-top:8px;top:8px}.brand-name{display:none}.nav-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);align-content:center;gap:6px;width:44px;height:44px;padding:12px 10px;display:grid}.nav-toggle>span:not(.sr-only){background:var(--text);height:1px;transition:transform .16s;display:block}.nav-toggle[aria-expanded=true]>span:nth-child(2){transform:translateY(3.5px)rotate(45deg)}.nav-toggle[aria-expanded=true]>span:nth-child(3){transform:translateY(-3.5px)rotate(-45deg)}.navbar-links{border:1px solid var(--border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070a0ff7;flex-direction:column;align-items:stretch;max-height:calc(100svh - 88px);padding:8px;display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 45px #00000059}.navbar-links.open{display:flex}.navbar-links button{text-align:left;min-height:46px}.site-footer{grid-template-columns:1fr;gap:2rem}.footer-links{flex-wrap:wrap}}@media (width<=720px){main,.site-footer,.navbar{width:min(100% - 28px, var(--page-width))}.hero{min-height:auto;padding:5.5rem 0 2rem}.hero-grid{inset:8% -25% 30% 10%}h1{font-size:clamp(3.1rem,15vw,5rem)}.hero-actions{grid-template-columns:1fr 1fr;display:grid}.hero-actions .text-button{grid-column:1/-1}.hero-labels{grid-template-columns:1fr 1fr}.hero-labels>span:nth-child(3){border-left:0;border-top:1px solid var(--border)}.hero-labels>span:nth-child(4){border-top:1px solid var(--border)}.section-intro{grid-template-columns:1fr;gap:1.3rem}.section-kicker{padding-top:0}.about-layout,.about-facts,.skills-grid{grid-template-columns:1fr}.about-facts>div+div{border-top:1px solid var(--border);border-left:0}.skill-panel:last-child{grid-column:auto}.filter-bar{flex-direction:column;gap:5px}.project-card{grid-template-columns:1fr}.project-number{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;padding:15px 18px}.project-number>span:first-child{font-size:1rem}.project-category{writing-mode:initial;transform:none}.project-card-header{flex-direction:column}.project-summary{margin:1rem 0 1.4rem}.project-meta,.project-detail-grid,.contact-form{grid-template-columns:1fr}.project-detail.wide,.form-note,.turnstile-widget,.contact-form>.form-status,.contact-form>.button{grid-column:auto}.form-row:has(textarea){grid-column:auto}.project-actions{flex-direction:column;align-items:stretch;margin-top:1.5rem}.project-links{min-height:35px}.footer-bottom{flex-direction:column;gap:1rem}}@media (width<=440px){:root{--space-section:4.75rem}.hero{padding-top:4.75rem}h1{letter-spacing:-.065em;font-size:clamp(2.85rem,13.2vw,3.55rem);line-height:.96}.project-card-main,.contact-aside{padding:18px}.contact-form{gap:16px;padding:20px}.expanded-details{margin-top:1.5rem;padding-top:1.5rem}.project-detail-grid{gap:8px}.project-detail{padding:14px}}@media (width<=430px){.hero-actions{grid-template-columns:1fr}.hero-actions .text-button{grid-column:auto}.hero-labels{grid-template-columns:1fr}.hero-labels>span+span{border-top:1px solid var(--border);border-left:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
