:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090d10;--bg-2:#11181c;--surface:#10181ca8;--surface-strong:#121a1ec7;--text:#f3ead9;--muted:#c4bbab;--line:#f3ead938;--accent:#f0dcc0;--accent-2:#50b9db;--accent-hot:#ff8c00;--accent-warn:#ffa600;--danger:#cf6453;--shadow:0 28px 80px #0000007a;--radius:8px;--contour-opacity:.45;--contour-blur:.75px;--background-dim:.45;--background-blur:0px;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:linear-gradient(180deg, #090d101f, #090d10eb 62%), radial-gradient(circle at 74% 18%, #cda9822e, transparent 30%), radial-gradient(circle at 18% 8%, #7396a529, transparent 28%), linear-gradient(90deg, #ffffff05 1px, transparent 1px), linear-gradient(#ffffff04 1px, transparent 1px), var(--bg);background-size:auto,auto,auto,56px 56px,56px 56px;min-width:320px}body{min-width:320px;color:var(--text);margin:0}button,a{font:inherit}a{color:inherit;text-decoration:none}.site-shell{isolation:isolate;min-height:100vh;padding:0 0 56px;position:relative}.contour-background,.background-softener{pointer-events:none;position:fixed;inset:0}.contour-background{z-index:0;opacity:var(--contour-opacity);filter:blur(var(--contour-blur)) saturate(1.08)}.background-softener{z-index:0;background:linear-gradient(180deg, rgb(9 13 16/var(--background-dim)), rgb(9 13 16/var(--background-dim)) 78%), radial-gradient(circle at 16% 14%, #07a2f50a, transparent 30%);-webkit-backdrop-filter:blur(var(--background-blur));backdrop-filter:blur(var(--background-blur))}.topbar,.page,.site-footer{z-index:1;position:relative}.topbar{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#ffffff14,#0000),#080c0ed1;border:0;border-bottom:1px solid #f3ead933;border-radius:0;justify-content:space-between;align-items:center;gap:24px;min-height:74px;padding:0 clamp(16px,4vw,48px);display:flex;position:sticky;top:0;box-shadow:0 18px 46px #0000003d}.brand{letter-spacing:.16em;align-items:center;gap:12px;display:inline-flex}.brand strong,.brand small{display:block}.brand strong{font-size:.95rem;line-height:1.1}.brand small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.nav{align-self:stretch;gap:0;display:flex}.nav a{min-width:100px;height:100%;color:var(--muted);text-align:center;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;padding:0 22px;font-size:.9rem;font-weight:700;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.nav a:hover,.nav a[aria-current=page]{color:var(--text);background:linear-gradient(#ffffff1f,#ffffff0a);border-color:#f3ead947}.page{width:100%;margin:0;padding-top:0}.front-banner{margin-bottom:0}.intro-screen{min-height:calc(100svh - 74px);padding:0}.banner-frame{background:linear-gradient(90deg, #080a0bbd, #080a0b47 48%, #080a0b14), linear-gradient(180deg, transparent 48%, #080a0beb) radial-gradient(circle at 72% 42%, #80ffb82e, transparent 26%), radial-gradient(circle at 58% 64%, #ffd1662e, transparent 30%);min-height:calc(100svh - 74px);box-shadow:var(--shadow);border:0;border-radius:0;position:relative;overflow:hidden}.banner-video,.banner-video-overlay,.banner-depth,.banner-bottom-blend{pointer-events:none;position:absolute}.banner-video,.banner-video-overlay,.banner-bottom-blend{inset:0}.banner-video{object-fit:cover;opacity:.95;filter:saturate(1.08)contrast(1.06);width:100%;height:100%}.banner-video-overlay{background:repeating-linear-gradient(#ffffff01 0 1px,#0000 1px 5px)}.banner-depth{z-index:1;clip-path:polygon(11% 0,100% 0,89% 100%,0 100%)}.banner-depth--orange-one{opacity:.72;background:linear-gradient(90deg,#ff8c0033,#ff8c0005);width:clamp(260px,42vw,620px);height:clamp(92px,11vw,150px);bottom:clamp(118px,17vw,230px);left:clamp(24px,6vw,88px)}.banner-depth--orange-two{opacity:.5;background:#ff8c0021;width:clamp(180px,28vw,420px);height:clamp(56px,7vw,96px);bottom:clamp(72px,10vw,142px);left:clamp(48px,10vw,170px)}.banner-depth--dark-one{opacity:.8;background:#080c0f9e;width:clamp(320px,48vw,700px);height:clamp(86px,10vw,132px);bottom:clamp(162px,22vw,300px);left:clamp(10px,4vw,64px)}.banner-depth--dark-two{opacity:.72;background:linear-gradient(90deg,#080c0fbd,#080c0f1f);width:clamp(260px,38vw,560px);height:clamp(70px,8vw,116px);bottom:clamp(40px,7vw,92px);left:clamp(110px,17vw,240px)}.banner-bottom-blend{z-index:1;filter:blur(10px);background:linear-gradient(#0000,#080c0fbd 52%,#080c0f 100%),radial-gradient(at 50% 100%,#080c0fe6,#0000 64%);height:clamp(150px,24vw,280px);top:auto}.banner-orb,.banner-sweep,.banner-scanlines{pointer-events:none;position:absolute;inset:0}.banner-orb{filter:blur(18px);opacity:.72;background:radial-gradient(circle,#80ffb838,#0000 58%),radial-gradient(circle at 32% 24%,#ffd16629,#0000 42%);border-radius:50%;width:42%;height:72%;inset:auto 5% 6% auto}.banner-sweep{mix-blend-mode:screen;opacity:0;background:linear-gradient(90deg,#0000,#f3ead933,#0000);width:32%;transform:skew(-18deg)}.banner-scanlines{opacity:.28;background:repeating-linear-gradient(#ffffff09 0 1px,#0000 1px 5px)}.banner-frame::selection{background:#f3ead938}.banner-content{z-index:2;flex-direction:column;justify-content:flex-end;width:min(1040px,100%);min-height:calc(100svh - 74px);padding:clamp(56px,8vw,108px);display:flex;position:relative}.banner-code,.panel-key{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:900}.title-letter{will-change:transform, opacity, filter;display:inline-block}.banner-content h1{letter-spacing:0;text-transform:uppercase;text-shadow:0 0 26px #f3ead929,0 0 58px #80ffb814;max-width:920px;margin:14px 0 22px;font-size:clamp(2.5rem,5vw,5rem);line-height:.94}.banner-content p{max-width:680px;color:var(--text);margin-bottom:0;font-size:clamp(1rem,1.7vw,1.28rem);line-height:1.65}.glass-action{border-radius:var(--radius);width:min(340px,100%);min-height:58px;color:var(--text);cursor:pointer;letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff14;border:1px solid #f3ead938;margin-top:28px;font-size:.82rem;font-weight:900;box-shadow:inset 0 0 0 1px #ffffff0a}.scroll-cue{z-index:2;border:1px solid #f3ead933;border-radius:999px;place-items:start center;width:38px;height:72px;display:grid;position:absolute;bottom:clamp(24px,5vw,64px);right:clamp(24px,5vw,72px)}.scroll-cue span{background:var(--accent-hot);border-radius:999px;width:6px;height:18px;margin-top:12px;box-shadow:0 0 20px #ffca806b}.banner-about{z-index:10;position:absolute;top:1.5rem;right:1.5rem}.banner-info-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f6f7f8;letter-spacing:.05em;cursor:pointer;background:#0c1115b3;border:1px solid #ffffff26;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:transform .2s,background-color .2s,border-color .2s,box-shadow .2s;display:inline-flex}.banner-info-btn:hover{border-color:var(--accent-warn);background:#12181ed9;transform:translateY(-2px);box-shadow:0 0 16px #03c3f840,0 0 32px #ff9d0026}.banner-info-btn:active{transform:translateY(0)}.banner-info-btn:focus-visible{border-color:var(--accent-hot);outline:none;box-shadow:0 0 16px #03c3f840,0 0 32px #ff9d0026}.intro-section{width:100%;padding:clamp(72px,9vw,132px) clamp(18px,5vw,72px)}.section-shell{width:min(1240px,100%);margin:0 auto}.section-heading{gap:16px;margin-bottom:clamp(28px,5vw,64px);display:grid}.section-heading h2,.github-copy h2,.skills-intro h2{max-width:960px;margin-bottom:0;font-size:clamp(2.35rem,5vw,5.2rem);line-height:.98}.section-kicker{color:var(--accent-2);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:950}.about-grid{grid-template-columns:minmax(0,1fr) minmax(260px,380px);align-items:center;gap:clamp(36px,6vw,88px);display:grid}.github-section{background:linear-gradient(#0000,#ffffff06,#0000);padding-top:clamp(56px,7vw,104px)}.project-preview-section{background:linear-gradient(#0000,#ffffff08,#0000);padding-top:clamp(56px,7vw,104px)}.project-preview-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(24px,4vw,46px);display:flex}.project-preview-heading h2{text-transform:uppercase;max-width:780px;margin:10px 0 0;font-size:clamp(2.25rem,5vw,5.1rem);line-height:.96}.project-preview-controls{flex:none;gap:8px;display:flex}.project-preview-controls button{aspect-ratio:1;border-radius:var(--radius);width:54px;color:var(--text);cursor:pointer;clip-path:polygon(11px 0,100% 0,calc(100% - 11px) 100%,0 100%);background:linear-gradient(#ffffff1c,#ffffff0b),#080c0eb8;border:1px solid #f3ead938;place-items:center;font-size:1.32rem;font-weight:950;transition:border-color .16s,color .16s,transform .16s;display:grid}.project-preview-controls button:hover{border-color:var(--accent-warn);color:var(--accent-hot);transform:translateY(-2px)}.project-preview-window{background:linear-gradient(90deg,#ffffff0d,#0000 32%),#ffffff06;border-top:1px solid #f3ead929;border-bottom:1px solid #f3ead929;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.project-preview-track{scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px;padding:20px 8px;display:flex;overflow-x:auto}.project-preview-track::-webkit-scrollbar{display:none}.project-preview-card{border-radius:var(--radius);min-height:clamp(260px,34vw,390px);color:var(--text);cursor:pointer;scroll-snap-align:start;text-align:left;box-shadow:var(--shadow);background:#ffffff0a;border:1px solid #f3ead92e;flex:0 0 clamp(220px,28vw,360px);padding:0;transition:border-color .18s,transform .18s;display:grid;position:relative;overflow:hidden}.project-preview-wrapper{border-radius:var(--radius);min-height:clamp(260px,34vw,390px);color:var(--text);cursor:default;scroll-snap-align:start;text-align:left;box-shadow:var(--shadow);background:#ffffff0a;border:1px solid #f3ead92e;flex:0 0 clamp(220px,28vw,360px);padding:0;transition:border-color .18s,transform .18s;display:grid;position:relative;overflow:hidden}.project-preview-card:hover{border-color:var(--accent-hot);transform:translateY(-5px)}.project-preview-media{background:linear-gradient(#0000 32%,#080a0be6),radial-gradient(circle at 70% 28%,#ffd1662e,#0000 28%),linear-gradient(145deg,#35464c,#90988e 36%,#1a262a 64%,#0e1211);position:absolute;inset:0}.project-preview-media:after{border-radius:var(--radius);content:"";-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(90deg,#a9bfd02e,#0000 38%),linear-gradient(#f3ead91f,#0000 52%);border:1px solid #f3ead92e;position:absolute;inset:24px}.project-preview-card .project-simulation:after{clip-path:polygon(8% 12%,86% 6%,94% 72%,72% 92%,18% 82%)}.project-preview-title{z-index:1;text-transform:uppercase;text-shadow:0 8px 24px #00000080;background:linear-gradient(90deg,#ff8c001f,#07a2f50a);align-self:end;padding:22px;font-size:clamp(1.1rem,2vw,1.45rem);font-weight:950;line-height:1.08;position:relative}.glass-panel,.project-card,.link-console{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, #ffffff14, transparent 48%), var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);will-change:transform, opacity;position:relative}.glass-panel:before,.project-card:before,.link-console:before{content:"";pointer-events:none;border:1px solid #ffffff0a;position:absolute;inset:8px}.hero-copy{flex-direction:column;justify-content:center;padding:clamp(24px,4vw,42px);display:flex}.about-copy,.profile-copy{min-width:0}.profile-portrait{place-items:center;margin:0;padding:clamp(28px,5vw,56px);display:grid;position:relative}.profile-portrait-img{width:100%;max-width:320px;display:block}.portrait-frame{z-index:2;place-items:center end;width:min(100%,360px);min-height:clamp(320px,42vw,500px);display:grid;position:relative;overflow:hidden}.portrait-frame:before,.portrait-frame:after{content:"";pointer-events:none;position:absolute}.portrait-ray{z-index:1;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);pointer-events:none;background:linear-gradient(90deg,#ff8c001f,#07a2f50a);border:1px solid #ff8c002e;width:clamp(180px,30vw,360px);height:clamp(180px,30vw,360px);position:absolute}.portrait-ray--left-one{opacity:.46;height:64%;top:12%;left:-14%}.portrait-ray--left-two{opacity:.22;height:42%;bottom:9%;left:-26%}.portrait-ray--right-one{opacity:.36;height:70%;top:7%;right:-16%}.portrait-ray--right-two{opacity:.18;height:48%;bottom:12%;right:-30%}.portrait-frame span{z-index:1;color:var(--accent-2);letter-spacing:.14em;text-transform:uppercase;padding:18px;font-size:.72rem;font-weight:900;position:relative}.system-line{max-width:560px;color:var(--accent);letter-spacing:.09em;text-transform:uppercase;margin:0 0 18px;font-size:.83rem;font-weight:800;line-height:1.5}h1,h2,p{margin-top:0}h1{max-width:820px;margin-bottom:22px;font-size:clamp(2.4rem,7vw,5.9rem);line-height:.94}h2{margin-bottom:12px;font-size:clamp(1.35rem,3vw,2.2rem);line-height:1.05}.hero-copy h2{max-width:760px;margin:22px 0 16px;font-size:clamp(1.7rem,3vw,3rem);line-height:1.03}.hero-text,.page-heading p,.skills-section p,.project-content p,.project-detail p,.contact-layout p{color:var(--muted);line-height:1.75}.hero-text{max-width:760px;font-size:clamp(1rem,1.35vw,1.18rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.primary-action,.secondary-action,.project-toggle{border:1px solid var(--accent-hot);border-radius:var(--radius);cursor:pointer;letter-spacing:.04em;text-transform:uppercase;min-height:44px;font-size:.86rem;font-weight:800}.primary-action{background:var(--text);color:#11181c;padding:0 18px}.secondary-action,.project-toggle{color:var(--text);background:#ffffff14;padding:0 16px}.primary-action:hover,.secondary-action:hover,button.project-toggle:hover{border-color:var(--accent-2)}.status-panel{background:linear-gradient(180deg, #a9bfd024, transparent 38%), var(--surface-strong);flex-direction:column;gap:18px;min-height:420px;padding:22px;display:flex;overflow:hidden}.panel-header{color:var(--accent-2);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:14px;font-size:.84rem;font-weight:800;display:flex}.identity-console{border-radius:var(--radius);background:#ffffff0b;border:1px solid #f3ead929;min-height:112px;margin:24px 0;padding:24px;font-family:Cascadia Code,Courier New,monospace;font-size:clamp(1.1rem,2.2vw,1.55rem);line-height:1.4;box-shadow:inset 0 0 38px #80ffb809}.identity-prefix{color:var(--muted);margin-right:.65ch}.typewriter{color:var(--text)}.typewriter:after{content:"|";margin-left:3px;animation:.8s infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.github-activity{border-radius:var(--radius);background-color:#ffffff09;background-image:linear-gradient(90deg,#f3ead90d 1px,#0000 1px),linear-gradient(#f3ead90a 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #f3ead929;min-height:clamp(280px,34vw,430px);margin-top:clamp(28px,4vw,48px);overflow:hidden;box-shadow:inset 0 0 42px #80ffb808}.github-heatmap{flex-direction:column;justify-content:center;gap:14px;min-height:clamp(280px,34vw,430px);padding:clamp(18px,3vw,34px);display:flex}.github-heatmap span{color:var(--accent-2);letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;font-weight:900}.github-heatmap-image{object-fit:contain;opacity:.96;filter:saturate(1.2)contrast(1.04);width:100%;max-height:310px;display:block}.github-placeholder{flex-direction:column;justify-content:flex-end;min-height:240px;padding:22px;display:flex}.github-placeholder:before{content:"";opacity:.85;background:linear-gradient(90deg,#102219 10px,#0000 10px) 0 0/16px 16px,linear-gradient(90deg,#173c25 10px,#0000 10px) 8px 16px/16px 16px,linear-gradient(90deg,#216e39 10px,#0000 10px) 0 32px/16px 16px,linear-gradient(90deg,#30a14e 10px,#0000 10px) 8px 48px/16px 16px,linear-gradient(90deg,#39d353 10px,#0000 10px) 0 64px/16px 16px;border-radius:4px;width:min(100%,340px);height:120px;margin-bottom:auto;display:block}.github-placeholder span{color:var(--accent-2);letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;font-weight:900}.github-placeholder strong{max-width:280px;color:var(--text);margin-top:8px;font-size:1rem;line-height:1.35}.skills-section{background:radial-gradient(circle at 82% 12%,#80ffb817,#0000 30%),linear-gradient(90deg,#a9bfd014,#0000 36%),linear-gradient(#ffffff12,#0000 44%),#10181c85;grid-template-columns:minmax(240px,.3fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);width:min(1240px,100% - 36px);margin:0 auto;padding:clamp(26px,5vw,54px);display:grid}.skills-intro{align-self:start;position:sticky;top:104px}.skills-intro p{max-width:320px}.skill-carousel-stack{gap:18px;min-width:0;display:grid}.skill-category{gap:10px;min-width:0;display:grid}.skill-category-header{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:16px;padding-inline:2px;font-size:.74rem;font-weight:950;display:flex}.skill-category-header small{color:var(--muted);letter-spacing:.08em;font-size:.68rem;font-weight:900}.skill-carousel-window{border-radius:var(--radius);background:linear-gradient(90deg,#ffffff13,#0000 40%),#ffffff09;border:1px solid #f3ead924;min-width:0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000);mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.skill-carousel-window:before{z-index:1;content:"";pointer-events:none;background:linear-gradient(90deg,#80ffb824,#0000 16% 84%,#ffd1661a),repeating-linear-gradient(90deg,#f3ead90a 0 1px,#0000 1px 24px);position:absolute;inset:0}.skill-carousel-track,.tag-list{gap:10px;margin:0;padding:0;list-style:none;display:flex}.skill-carousel-track{will-change:transform;width:max-content;padding:10px}.skill-carousel-track li,.tag-list li{border-radius:var(--radius);color:var(--text);background:#ffffff0e;border:1px solid #f3ead92e;font-size:.84rem;font-weight:750}.skill-carousel-track li{padding:12px 14px}.tag-list li{padding:8px 10px}.skill-card{isolation:isolate;will-change:transform;flex:0 0 clamp(138px,16vw,174px);align-items:flex-end;min-width:138px;min-height:98px;display:flex;position:relative;overflow:hidden}.skill-card:after{background:linear-gradient(90deg, var(--accent-hot), transparent);content:"";opacity:0;transform-origin:0;height:2px;transition:opacity .18s,transform .22s;position:absolute;inset:auto 12px 10px;transform:scaleX(0)}.skill-card:before{z-index:-1;background-image:var(--skill-logo);content:"";filter:grayscale(.05)saturate(1.12)drop-shadow(0 0 18px #f3ead92e);opacity:.54;background-position:100%;background-repeat:no-repeat;background-size:auto 92%;position:absolute;inset:8px}.skill-card span{z-index:1;overflow-wrap:anywhere;max-width:100%;position:relative}.skill-card:hover:after{opacity:1;transform:scaleX(1)}.site-footer{width:100%;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #f3ead924;justify-content:space-between;gap:16px;margin-top:72px;padding:22px clamp(16px,4vw,56px);font-size:.78rem;font-weight:900;display:flex}.site-footer a{color:var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}.page-heading{width:min(1240px,100% - 32px);max-width:860px;margin:0 auto 28px;padding-top:56px}.page-heading h1{text-transform:uppercase;margin-bottom:16px}.project-heading{flex-direction:column;justify-content:flex-end;min-height:180px;display:flex}.project-grid{gap:22px;width:min(1240px,100% - 32px);margin:0 auto;display:grid}.project-card{grid-template-columns:minmax(360px,1.18fr) minmax(0,.82fr);gap:28px;min-height:420px;padding:18px;scroll-margin-top:6rem;display:grid}.project-card.is-targeted{border-color:var(--accent-hot);box-shadow:var(--shadow), 0 0 0 1px #80ffb82e, 0 0 46px #80ffb81f}.project-media{border-radius:var(--radius);background:linear-gradient(#0000 45%,#080a0bd6),radial-gradient(circle at 68% 28%,#f5d6b22e,#0000 28%),linear-gradient(145deg,#35464c,#90988e 36%,#1a262a 64%,#0e1211);border:1px solid #f3ead92e;min-height:360px;position:relative;overflow:hidden}.project-card>.project-media{height:clamp(330px,31vw,430px)}.project-media span{border-radius:var(--radius);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(90deg,#a9bfd02e,#0000 38%),linear-gradient(#f3ead91f,#0000 52%);border:1px solid #f3ead92e;position:absolute;inset:28px}.project-simulation span{clip-path:polygon(8% 12%,86% 6%,94% 72%,72% 92%,18% 82%)}.project-content{align-self:center}.project-kicker{color:var(--accent);letter-spacing:.09em;text-transform:uppercase;margin-bottom:10px;font-size:.78rem;font-weight:900}.project-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.project-meta span{border-radius:var(--radius);color:var(--muted);letter-spacing:.1em;text-transform:uppercase;border:1px solid #f3ead924;padding:12px;font-size:.76rem;font-weight:900}.project-toggle{margin-top:18px;transition:border-color .18s,background .18s,color .18s,transform .18s}.project-card.is-open .project-toggle{color:var(--accent-warn);background:linear-gradient(#ff8c0038,#ff8c0014),#ffffff14;border-color:#ff8c008c;transform:translateY(-1px)}.project-detail{border-radius:var(--radius);background:linear-gradient(#ffffff0e,#0000 54%),#ffffff0a;border:1px solid #f3ead924;grid-column:1/-1;padding:clamp(20px,3vw,34px)}.project-detail-grid{gap:clamp(28px,4vw,44px);display:grid}.project-detail-section{gap:clamp(14px,2vw,22px);display:grid}.project-detail-section h3{color:var(--accent);text-transform:uppercase;margin:0;font-size:clamp(1.24rem,2.4vw,1.8rem);line-height:1.08}.project-detail-section h4{color:var(--accent)}.project-detail-section a{color:var(--accent-2);text-decoration:underline}.project-detail-row{grid-template-columns:minmax(0,1fr) minmax(240px,.42fr);align-items:center;gap:clamp(22px,4vw,42px);min-height:210px;display:grid}.project-detail-section:nth-child(2n) .project-detail-row{grid-template-columns:minmax(240px,.42fr) minmax(0,1fr)}.project-detail-section:nth-child(2n) .project-detail-copy{order:2}.project-detail-copy{align-content:center;gap:10px;min-width:0;display:grid}.project-detail-media{border-radius:var(--radius);background:linear-gradient(145deg,#07a2f514,#ff8c000f),#ffffff08;border:1px solid #f3ead924;min-height:clamp(180px,22vw,280px);position:relative;overflow:hidden}.project-detail-image,.project-detail-placeholder{width:100%;height:100%;display:block}.project-detail-image{object-fit:cover;filter:saturate(1.02)contrast(1.02)}.project-detail-image--1{object-position:center 44%}.project-detail-image--2{object-position:center 58%}.project-detail-placeholder{background:linear-gradient(90deg,#f3ead914 1px,#0000 1px) 0 0/28px 28px,linear-gradient(#f3ead90f 1px,#0000 1px) 0 0/28px 28px,radial-gradient(circle at 68% 34%,#ff8c0029,#0000 30%)}.project-detail-body a{border:1px solid var(--accent-hot);color:var(--accent-warn);border-radius:999px;margin-top:4px;padding:4px 10px;text-decoration:none;transition:all .2s;display:inline-block}.project-detail-body a:hover{border-color:var(--accent-2);transform:translateY(-1px)}.project-image,.project-video{object-fit:cover;width:100%;height:100%;display:block}.project-image,.project-card .project-media,.project-preview-card>.project-media{aspect-ratio:16/10}.project-preview-card>.project-media{border:0;border-radius:0;width:100%;height:100%;min-height:0;position:absolute;inset:0}.project-preview-card .project-image{aspect-ratio:auto}.project-section-toggle{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.project-section-toggle h3{margin:0}.toggle-icon{font-size:1.5rem;font-weight:700;transition:transform .2s}.project-section-toggle[aria-expanded=true] .toggle-icon{transform:rotate(180deg)}.project-links,.link-console{gap:12px;display:grid}.project-links{grid-template-columns:repeat(auto-fit,minmax(140px,max-content))}.project-links a{color:var(--accent);font-weight:800}.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(320px,1fr);align-items:start;gap:34px;width:min(1240px,100% - 32px);margin:0 auto;padding-top:56px;display:grid}.link-console{padding:18px}.link-console a{border-radius:var(--radius);background:#ffffff0b;border:1px solid #f3ead924;gap:6px;padding:18px;transition:border-color .16s,transform .16s;display:grid}.link-console a:hover{border-color:#f3ead957;transform:translateY(-2px)}.link-console span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:900}.link-console strong{overflow-wrap:anywhere}.resume-panel{opacity:0;max-height:0;transition:max-height .4s,opacity .4s;overflow:hidden}.resume-panel.is-open{opacity:1;max-height:1000px;padding:18px}.resume-container{flex-direction:column;display:flex;position:relative}.resume-viewer{border:none;width:100%;height:750px;display:block}.basic-info-btn{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f6f7f8;letter-spacing:.05em;cursor:pointer;background:#0c1115b3;border:1px solid #ffffff26;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:transform .2s,background-color .2s,border-color .2s,box-shadow .2s;display:inline-flex}@media (width<=820px){.site-shell{padding-top:0}.about-grid,.skills-section,.project-card,.project-preview-heading,.contact-layout{grid-template-columns:1fr}.project-preview-heading{align-items:start;display:grid}.project-preview-controls{justify-self:start}.topbar{gap:12px;min-height:66px;padding-inline:12px}.nav{flex:1;justify-content:flex-end}.nav a{min-width:0;padding-inline:clamp(10px,3vw,18px)}.page{padding-top:0}.skills-section{padding:24px}.skills-intro{position:static}.skill-card{flex-basis:142px;min-height:92px}.portrait-frame{min-height:220px}.github-activity{height:220px}.github-heatmap{min-height:220px;padding:16px}}@media (width<=540px){.nav{gap:4px}.brand strong{font-size:.78rem}.hero-actions,.primary-action,.secondary-action,.project-toggle{width:100%}.primary-action,.secondary-action,.project-toggle{justify-content:center}.project-media{min-height:260px}.project-detail-row,.project-detail-section:nth-child(2n) .project-detail-row{grid-template-columns:1fr}.project-detail-section:nth-child(2n) .project-detail-copy{order:initial}.project-preview-card{flex-basis:78vw}}
