@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--ink: #17221f;--muted: #6a746e;--paper: #f1eee5;--soft: #e7e2d5;--mint: #b9d6a6;--orange: #ef8967;--yellow: #f3c557;--line: rgba(23, 34, 31, .17);--mono: "DM Mono", monospace;--body: "Manrope", sans-serif;--display: "Space Grotesk", sans-serif}:root[data-theme=dark]{--ink: #f1eee5;--muted: #adb8af;--paper: #111a18;--soft: #1c2925;--mint: #7cae8d;--orange: #f39a78;--yellow: #e6bc54;--line: rgba(241, 238, 229, .2)}:root[data-theme=dark] .site-nav{background:#111a18c2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{--pointer-x: 50%;--pointer-y: 18%;--scene-x: 0px;--scene-y: 0px;position:relative;margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.55;isolation:isolate}body:before,body:after{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;content:""}body:before{background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(239,137,103,.23) 0,rgba(239,137,103,.09) 14rem,transparent 36rem),radial-gradient(circle at 88% 78%,rgba(185,214,166,.38) 0,transparent 27rem),radial-gradient(circle at 10% 44%,rgba(243,197,87,.16) 0,transparent 22rem);animation:background-drift 18s ease-in-out infinite alternate}body:after{z-index:-1;opacity:.42;background-image:linear-gradient(rgba(23,34,31,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(23,34,31,.045) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 76%);mask-image:linear-gradient(to bottom,black,transparent 76%)}@keyframes background-drift{0%{transform:scale(1) translate3d(-1%,-1%,0)}to{transform:scale(1.08) translate3d(1%,1%,0)}}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.scroll-progress{position:fixed;inset:0 0 auto;height:4px;background:var(--orange);z-index:30;transform-origin:0 50%}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:40;padding:.7rem 1rem;background:var(--yellow);font-weight:800}.skip-link:focus{top:1rem}.site-nav{position:fixed;inset:0 0 auto;z-index:20;background:#f1eee5ad;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.nav-inner{max-width:1240px;min-height:4.7rem;margin:auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between}.brand{font:700 1.2rem var(--mono);text-decoration:none}.brand span{color:var(--orange)}.nav-links{display:flex;align-items:center;gap:1.6rem}.nav-links a{color:var(--muted);font:500 .68rem var(--mono);letter-spacing:.09em;text-decoration:none;text-transform:uppercase}.nav-links a:hover,.nav-links a[aria-current=true]{color:var(--ink)}.nav-cv{display:flex;align-items:center;gap:.35rem;border-bottom:1px solid currentColor;padding-bottom:.25rem}.menu-button{display:none;border:0;background:none;color:var(--ink)}.theme-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .6rem;border:1px solid var(--line);background:transparent;color:var(--ink);font:500 .63rem var(--mono);text-transform:uppercase;cursor:pointer}.theme-toggle:hover{background:var(--yellow);border-color:var(--yellow)}.hero{min-height:100svh;padding:5rem 0 0;overflow:hidden;background:linear-gradient(115deg,rgba(241,238,229,.35),transparent 55%)}.hero-grid{max-width:1240px;min-height:calc(100svh - 7rem);margin:auto;padding:3.2rem 2rem 1.5rem;display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:2rem}.noise{position:relative}.noise:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.055;content:"";background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E")}.hero-copy,.hero-visual{position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:.5rem;color:var(--orange);font:500 .7rem var(--mono);letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);line-height:.96}h1{max-width:750px;margin:1.5rem 0;font-size:clamp(3.6rem,8vw,7.4rem);letter-spacing:-.075em}h1 em,h2 span,.contact-card em{color:var(--orange);font-style:normal}.hero-lede{max-width:33rem;color:var(--muted);font-size:1rem}.hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:2rem}.button{display:inline-flex;align-items:center;gap:.6rem;min-height:3rem;padding:.75rem 1.1rem;border:1px solid var(--ink);font:500 .7rem var(--mono);text-decoration:none;text-transform:uppercase;transition:transform .25s ease,background .25s ease}.button:hover{transform:translateY(-4px)}.button.primary{background:var(--ink);color:var(--paper)}.button.primary:hover{background:var(--orange);border-color:var(--orange)}.button.light{background:var(--paper)}.text-link{display:inline-flex;align-items:center;gap:.4rem;font:500 .72rem var(--mono);text-decoration:none;text-transform:uppercase}.hero-visual{min-height:440px;display:grid;place-items:center;perspective:1100px}.workspace-scene{position:absolute;width:min(90%,570px);height:450px;transform:rotateX(10deg) rotateY(-8deg) rotate(2deg) translate3d(var(--scene-x),var(--scene-y),0);transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.desk-shadow{position:absolute;right:2%;bottom:9%;left:3%;height:110px;border-radius:50%;background:#17221f2e;filter:blur(18px);transform:rotateX(60deg)}.desk-top{position:absolute;right:0;bottom:10%;left:0;height:58px;border:1px solid var(--ink);background:linear-gradient(135deg,var(--orange),#d76755);box-shadow:0 15px #17221f2e;transform:rotateX(62deg) translateZ(28px);transform-style:preserve-3d}.keyboard{position:absolute;right:16%;bottom:12px;width:170px;height:38px;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:7px;border:1px solid var(--ink);background:var(--paper);transform:translateZ(5px)}.keyboard span{border:1px solid var(--line);background:var(--yellow)}.keyboard span:nth-child(3n){background:var(--mint)}.mouse{position:absolute;right:9%;bottom:13px;width:25px;height:38px;border:1px solid var(--ink);border-radius:48% 48% 42% 42%;background:var(--paper);transform:translateZ(6px) rotate(-10deg)}.monitor{position:absolute;top:10%;left:17%;width:66%;height:245px;transform:translateZ(45px);transform-style:preserve-3d}.monitor-screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border:7px solid var(--ink);border-radius:8px;background:#14221f;box-shadow:13px 13px #17221f2e;transform:translateZ(20px)}.terminal-bar{display:flex;gap:5px;padding:10px 12px;border-bottom:1px solid rgba(241,238,229,.2)}.terminal-bar b{width:7px;height:7px;border-radius:50%;background:var(--orange)}.terminal-bar b:nth-child(2){background:var(--yellow)}.terminal-bar b:nth-child(3){background:var(--mint)}.terminal-code{position:relative;z-index:1;padding:25px;color:#e9f0dc;font:.8rem/2 var(--mono)}.terminal-code span{color:#779b8d}.terminal-code em{color:var(--orange);font-style:normal}.terminal-code strong{color:var(--yellow);font-weight:500}.screen-glow{position:absolute;right:-30%;bottom:-55%;width:90%;aspect-ratio:1;border-radius:50%;background:var(--mint);filter:blur(38px);opacity:.25}.monitor-neck{position:absolute;bottom:-70px;left:45%;width:28px;height:70px;background:var(--ink);transform:translateZ(5px)}.monitor-base{position:absolute;bottom:-80px;left:31%;width:40%;height:25px;border:1px solid var(--ink);background:var(--yellow);transform:rotateX(65deg) translateZ(10px)}.coffee-cup{position:absolute;right:5%;bottom:24%;width:46px;height:45px;border:2px solid var(--ink);border-radius:4px 4px 16px 16px;background:var(--yellow);transform:translateZ(15px) rotate(-5deg)}.coffee-cup:after{position:absolute;right:-16px;top:10px;width:18px;height:18px;border:2px solid var(--ink);border-left:0;border-radius:0 12px 12px 0;content:""}.coffee-cup span{position:absolute;top:6px;left:7px;width:28px;height:5px;border-radius:50%;background:var(--ink)}.scene-stars{position:absolute;top:-5%;right:0;bottom:0;left:0;z-index:3;color:var(--yellow);font:1.5rem var(--display)}.scene-stars i{position:absolute;font-style:normal;animation:star-pulse 2.6s ease-in-out infinite}.scene-stars i:nth-child(1){top:8%;left:4%}.scene-stars i:nth-child(2){top:25%;right:3%;animation-delay:.6s}.scene-stars i:nth-child(3){bottom:30%;left:4%;animation-delay:1.2s}.scene-stars i:nth-child(4){top:3%;right:28%;animation-delay:1.7s}.scene-stars i:nth-child(5){bottom:13%;right:27%;animation-delay:2.2s}.success-orbit{position:absolute;top:-1%;right:13%;z-index:4;width:75px;height:75px;border:1px solid var(--orange);border-radius:50%;animation:success-spin 8s linear infinite}.success-orbit span{position:absolute;top:-15px;right:10px;display:grid;place-items:center;width:31px;height:31px;background:var(--yellow);color:var(--ink);font:1.1rem var(--mono)}@keyframes star-pulse{0%,to{opacity:.35;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(18deg)}}@keyframes success-spin{to{transform:rotate(360deg)}}.photo-frame{position:absolute;right:1%;bottom:6%;z-index:5;width:min(31%,220px);aspect-ratio:.77;overflow:hidden;border:2px solid var(--ink);background:var(--mint);transform:rotate(5deg) translateZ(18px);box-shadow:13px 14px 0 var(--yellow),20px 21px #17221f1f}.photo-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.06)}.photo-fallback{width:100%;height:100%;display:grid;place-content:center;justify-items:center;background:linear-gradient(145deg,var(--mint),#86b8a5)}.photo-fallback span{color:var(--ink);font:700 clamp(4rem,10vw,7rem)/1 var(--display);letter-spacing:-.12em}.photo-fallback small{margin-top:1rem;font:.6rem var(--mono);text-transform:uppercase}.photo-stamp{position:absolute;bottom:1rem;left:-1rem;padding:.5rem .7rem;background:var(--orange);font:700 .7rem/1.1 var(--mono);transform:rotate(-8deg)}.photo-frame:after{position:absolute;right:.7rem;top:.7rem;width:9px;height:9px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px #f3c5572e;content:""}.photo-stamp span{font-size:.55rem}.orbit{position:absolute;border:1px solid var(--line);border-radius:50%;animation:spin 18s linear infinite}.orbit-one{width:86%;aspect-ratio:1;transform:rotate(28deg) skew(9deg)}.orbit-two{width:65%;aspect-ratio:1;border-color:var(--orange);transform:rotate(-45deg) skew(-18deg);animation-direction:reverse;animation-duration:13s}.code-orb{position:absolute;top:17%;right:3%;padding:.6rem .8rem;background:var(--ink);color:var(--paper);font:.62rem var(--mono);transform:rotate(-8deg)}.code-orb span{color:var(--orange)}.code-orb b{color:var(--yellow)}.hero-index{position:absolute;bottom:3%;left:7%;display:flex;align-items:center;gap:.5rem;font:.6rem var(--mono);letter-spacing:.08em}@keyframes spin{to{transform:rotate(388deg) skew(9deg)}}.hero-marquee{display:flex;gap:4rem;overflow:hidden;padding:1.1rem 2rem;background:var(--ink);color:var(--paper);font:.63rem var(--mono);letter-spacing:.13em;white-space:nowrap}.hero-marquee span:nth-child(2n){color:var(--yellow)}.section{position:relative;max-width:1240px;margin:auto;padding:9rem 2rem}.section:before,.section:after{position:absolute;z-index:0;pointer-events:none;content:""}.section>*{position:relative;z-index:1}.about-section:before{top:16%;right:8%;width:110px;height:110px;border:1px solid var(--orange);border-radius:50%;transform:rotateX(62deg) rotate(18deg);animation:section-orbit 10s linear infinite}.about-section:after{top:20%;right:13%;width:11px;height:11px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 10px #f3c55726;animation:section-ping 2.4s ease-in-out infinite}.skills-section:before{top:13%;right:9%;width:82px;height:82px;border:1px solid var(--mint);transform:rotate(35deg) skew(-8deg);animation:section-cube 6s ease-in-out infinite}.skills-section:after{top:18%;right:13%;width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:-42px 35px 0 var(--yellow),38px 58px 0 var(--mint)}.experience-section:before{top:12%;right:9%;width:125px;height:125px;border:1px dashed var(--orange);border-radius:50%;animation:section-orbit 16s linear infinite reverse}.experience-section:after{top:18%;right:15%;width:20px;height:20px;border:1px solid var(--yellow);transform:rotate(45deg);animation:section-ping 3s ease-in-out infinite}.projects-section:before{top:10%;right:9%;width:72px;height:72px;border:1px solid var(--yellow);border-radius:50%;box-shadow:inset 0 0 0 12px #f3c5571a;animation:section-orbit 12s linear infinite}.projects-section:after{top:13%;right:12%;content:"✦";color:var(--orange);font:2rem var(--display);animation:star-pulse 2.6s ease-in-out infinite}.education-section:before{top:18%;right:10%;width:82px;height:82px;border:1px solid var(--yellow);transform:rotate(45deg) rotateX(45deg);animation:section-cube 7s ease-in-out infinite reverse}.education-section:after{top:14%;right:8%;width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 18px #ef896729}.contact-section:before{top:15%;right:10%;width:130px;height:130px;border:1px solid rgba(23,34,31,.32);border-radius:50%;transform:rotateX(68deg) rotate(-20deg);animation:section-orbit 14s linear infinite}.contact-section:after{top:17%;right:15%;width:13px;height:13px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 9px #ef89672e,0 0 0 19px #ef89671a;animation:section-ping 2.8s ease-in-out infinite}@keyframes section-orbit{to{transform:rotateX(62deg) rotate(378deg)}}@keyframes section-cube{0%,to{transform:rotate(35deg) skew(-8deg) translateY(0)}50%{transform:rotate(125deg) skew(-8deg) translateY(-10px)}}@keyframes section-ping{0%,to{opacity:.55;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}.section-top{display:flex;align-items:center;gap:1rem;margin-bottom:4rem}.section-kicker{color:var(--orange);font:.68rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.section-line{flex:1;height:1px;background:var(--line)}h2{margin-bottom:2.5rem;font-size:clamp(3rem,6vw,6.5rem);letter-spacing:-.08em}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}.about-copy{max-width:34rem;color:var(--muted)}.about-copy .lead{color:var(--ink);font-size:1.35rem;line-height:1.4}.mini-stats{display:flex;gap:2.5rem;margin-top:3rem;border-top:1px solid var(--line);padding-top:1rem}.mini-stats div{display:grid;gap:.2rem}.mini-stats strong{font:700 2rem var(--display)}.mini-stats span{color:var(--muted);font:.6rem var(--mono);text-transform:uppercase}.skills-heading,.projects-heading{display:grid;grid-template-columns:1fr .7fr;gap:3rem;align-items:end}.skills-heading p,.projects-heading p{max-width:22rem;margin-bottom:3rem;color:var(--muted)}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.skill-card{position:relative;min-height:230px;padding:1.3rem;background:var(--paper)}.skill-card:hover{background:var(--yellow)}.skill-number{color:var(--orange);font:.65rem var(--mono)}.skill-card h3{margin:2.5rem 0 1rem;font-size:1.35rem}.skill-card ul{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.skill-card li{padding:.28rem .4rem;border:1px solid var(--line);font:.63rem var(--mono)}.experience-section{background:var(--soft);max-width:none;padding-right:max(2rem,calc((100vw - 1240px)/2));padding-left:max(2rem,calc((100vw - 1240px)/2))}.timeline{max-width:920px;margin-left:auto}.timeline-item{position:relative;display:grid;grid-template-columns:170px 1fr;gap:2rem;padding:2rem 0 2.5rem 2rem;border-top:1px solid var(--line)}.timeline-dot{position:absolute;top:2.3rem;left:-5px;width:9px;height:9px;border-radius:50%;background:var(--orange)}.timeline-date{color:var(--orange);font:.65rem var(--mono)}.timeline-item h3{margin-bottom:.3rem;font-size:1.55rem}.timeline-item p{max-width:38rem;margin-bottom:.6rem;color:var(--muted)}.timeline-item .company{display:flex;align-items:center;gap:.4rem;color:var(--ink);font:.67rem var(--mono);text-transform:uppercase}.timeline-detail{font-size:.85rem}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;perspective:1200px}.project-card{position:relative;min-height:410px;display:flex;flex-direction:column;justify-content:space-between;padding:1.4rem;border:1px solid var(--ink);transform-style:preserve-3d}.project-card.mint{background:var(--mint)}.project-card.orange{background:var(--orange)}.project-card.yellow{background:var(--yellow)}.project-top,.project-bottom{display:flex;justify-content:space-between;align-items:start;font:.65rem var(--mono)}.project-body{margin:4rem 0 auto}.project-type{font:.62rem var(--mono);letter-spacing:.08em}.project-body h3{margin:.8rem 0;font-size:3.2rem;letter-spacing:-.08em}.project-body p{max-width:18rem}.tags{display:flex;flex-wrap:wrap;gap:.35rem}.tags span{padding:.3rem .4rem;border:1px solid currentColor;font:.6rem var(--mono)}.project-bottom a{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--ink)}.project-spark{position:absolute;top:46%;right:1.5rem;font-size:4rem;transform:rotate(20deg)}.education-section{background:#17221f;color:#f1eee5;max-width:none;padding-right:max(2rem,calc((100vw - 1240px)/2));padding-left:max(2rem,calc((100vw - 1240px)/2))}:root[data-theme=dark] .education-section{background:#070d0c;color:#f1eee5}.education-section .section-line{background:#f1eee540}.education-intro{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:end}.education-intro h2{margin-bottom:0}.education-intro div{padding-bottom:.8rem;border-bottom:1px solid rgba(241,238,229,.25)}.education-intro p{margin-bottom:.3rem;color:var(--yellow);font:.7rem var(--mono);text-transform:uppercase}.education-intro strong{display:block;font:1.5rem var(--display)}.education-intro small{color:#f1eee599;font:.68rem var(--mono)}.education-intro .cert{margin-top:2rem}.contact-section{max-width:none;padding-right:max(2rem,calc((100vw - 1240px)/2));padding-left:max(2rem,calc((100vw - 1240px)/2))}.contact-card{position:relative;min-height:530px;display:flex;flex-direction:column;justify-content:space-between;padding:3rem;overflow:hidden;background:var(--mint)}.contact-card>*{position:relative;z-index:1}.contact-card h2{margin:1.5rem 0;font-size:clamp(3.5rem,7vw,7rem)}.contact-card p{max-width:28rem;color:var(--muted)}.contact-actions{display:flex;gap:.8rem;margin-top:2rem}.contact-form{position:relative;z-index:2;display:grid;gap:1rem;max-width:720px;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(23,34,31,.22)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form label{display:grid;gap:.45rem;color:var(--ink);font:500 .64rem var(--mono);letter-spacing:.06em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(23,34,31,.35);border-radius:0;padding:.75rem .8rem;background:#f1eee58c;color:var(--ink);font:.86rem var(--body);outline:none}.contact-form textarea{min-height:105px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink);box-shadow:4px 4px 0 var(--yellow)}.contact-form button:disabled{cursor:wait;opacity:.65}.form-trap{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}.form-submit-row{display:flex;align-items:center;gap:1rem}.form-status{color:var(--muted);font:.65rem var(--mono)}:root[data-theme=dark] .contact-form{border-color:#f1eee53d}:root[data-theme=dark] .contact-form input,:root[data-theme=dark] .contact-form textarea{border-color:#17221f59;background:#f1eee5d1;color:#17221f}.contact-aside{display:flex;justify-content:space-between;align-items:end;gap:1rem;color:var(--muted);font:.65rem var(--mono);text-transform:uppercase}.socials{display:flex;gap:.7rem}.socials a{display:grid;place-items:center;width:2.3rem;height:2.3rem;border:1px solid var(--ink)}footer{max-width:1240px;margin:auto;padding:1.5rem 2rem 2.5rem;display:flex;justify-content:space-between;color:var(--muted);font:.62rem var(--mono)}footer a{display:inline-flex;align-items:center;gap:.3rem;text-decoration:none}@media(max-width:800px){body:before{background:radial-gradient(circle at 80% 12%,rgba(239,137,103,.2) 0,transparent 15rem),radial-gradient(circle at 10% 74%,rgba(185,214,166,.3) 0,transparent 17rem);animation-duration:24s}body:after{opacity:.28;background-size:34px 34px}.nav-inner{min-height:4.2rem;padding:0 1.2rem}.menu-button{display:block}.nav-links{position:absolute;inset:4.2rem 0 auto;display:none;flex-direction:column;align-items:stretch;gap:0;padding:.8rem 1.2rem 1.2rem;background:var(--paper);border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.nav-links a{padding:.8rem 0}.nav-cv{width:fit-content}.hero-grid{min-height:auto;padding:3.5rem 1.2rem 1rem;grid-template-columns:1fr}.hero-visual{min-height:330px}.workspace-scene{width:min(98%,520px);height:400px;transform:rotateX(8deg) rotateY(-5deg) rotate(1deg)}.photo-frame{right:3%;bottom:9%;width:min(29%,155px)}h1{font-size:clamp(3.35rem,13vw,5.5rem)}.hero-lede{max-width:31rem;font-size:.95rem}.section{padding:6rem 1.2rem}.section-top{margin-bottom:2.5rem}.about-layout,.skills-heading,.projects-heading,.education-intro{grid-template-columns:1fr;gap:2rem}.skill-grid,.project-grid{grid-template-columns:repeat(2,1fr)}.skills-heading p,.projects-heading p{margin-bottom:1rem}.experience-section,.education-section,.contact-section{padding-right:1.2rem;padding-left:1.2rem}.contact-card{padding:2rem 1.2rem}.form-row{grid-template-columns:1fr}}@media(max-width:520px){.hero-marquee{gap:2rem;padding-left:1.2rem}.hero-visual{min-height:260px}.workspace-scene{width:112%;height:260px;transform:scale(.8) rotateX(7deg) rotateY(-4deg);transform-origin:center}.photo-frame{right:2%;bottom:7%;width:31%}.hero-index{display:none}.code-orb{top:10%;right:0}.hero-index{bottom:0;left:0}.skill-grid,.project-grid{grid-template-columns:1fr}.skill-card{min-height:180px}.timeline-item{grid-template-columns:1fr;gap:.7rem;padding-left:1.2rem}.timeline-date{padding-top:.3rem}.contact-actions,.contact-aside,footer{align-items:flex-start;flex-direction:column}.form-submit-row{align-items:flex-start;flex-direction:column}footer{gap:.8rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.workspace-scene{transition:none}.section:before,.section:after,.scene-stars,.success-orbit{animation:none}body:before{animation:none}}
