:root{--bg:#090f0c;--panel:#111a14;--panel2:#17231a;--panel3:#1d2b20;--ink:#eff3e9;--muted:#9cae9f;--gold:#d6b976;--lime:#b4d99b;--darklime:#769a79;--border:rgba(204,225,193,.14);--font:'DM Sans',Arial,sans-serif;--display:'Space Grotesk',Arial,sans-serif;--max:1240px}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px;overflow-x:clip}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:clip}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}::selection{background:rgba(174,221,148,.32)}.wrap{width:min(var(--max),calc(100% - 100px));margin:auto}.skip-link{position:absolute;z-index:120;left:12px;top:-50px;background:var(--lime);color:#07100b;padding:12px}.skip-link:focus{top:12px}
#world{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.72}.grain{position:fixed;inset:0;z-index:12;pointer-events:none;opacity:.10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.5' filter='url(%23n)'/%3E%3C/svg%3E")}
main,.footer{position:relative;z-index:2}.nav{position:fixed;z-index:40;width:100%;top:0;border-bottom:1px solid transparent;transition:background .3s,border-color .3s,backdrop-filter .3s}.nav.scrolled{background:rgba(9,16,12,.88);backdrop-filter:blur(24px);border-color:var(--border)}.nav-inner{height:88px;display:flex;align-items:center;gap:38px;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap}.brand-symbol{font:700 33px/1 var(--display);letter-spacing:-.09em}.brand-symbol span,.footer-brand>span{color:var(--gold)}.brand-type{font:700 12px var(--display);letter-spacing:.16em}.brand-type small{font:500 9px var(--display);color:var(--muted);letter-spacing:.11em}.nav-links{display:flex;align-items:center;gap:28px;margin-left:auto}.nav-links a{font:600 11px var(--display);color:#b7c8b9;transition:color .2s}.nav-links a:hover,.nav-links a:focus-visible{color:var(--lime)}.nav-contact{border:1px solid rgba(194,223,177,.38);padding:15px 18px;color:var(--lime);font:700 10px var(--display);letter-spacing:.14em;display:flex;gap:21px;align-items:center;transition:background .25s,color .25s}.nav-contact:hover{background:var(--lime);color:#0a110a}.nav-contact span{font-size:17px}.menu-button,.mobile-menu{display:none}.menu-button{border:0;background:none;width:40px;height:40px;cursor:pointer}.menu-button span{display:block;width:24px;height:2px;margin:5px auto;background:var(--ink)}
.hero{min-height:850px;height:min(960px,100vh);max-height:none;display:grid;grid-template-columns:52% 48%;align-items:center;position:relative;padding-top:90px}.hero-copy{position:relative;z-index:4;padding-top:18px}.eyebrow{font:700 10px var(--display);letter-spacing:.21em;color:var(--lime);padding:13px 17px;border:1px solid rgba(165,206,137,.25);display:inline-flex;align-items:center;gap:12px;background:rgba(24,44,29,.5)}.pulse-dot,.live-light{width:6px;height:6px;background:var(--lime);box-shadow:0 0 0 6px rgba(169,216,151,.12),0 0 18px var(--lime);border-radius:50%;display:inline-block;animation:pulse 2.5s infinite}.overline{margin:31px 0 16px;color:var(--gold);font:700 11px var(--display);letter-spacing:.2em}.hero h1{font:600 clamp(48px,5.25vw,82px)/1.06 var(--display);letter-spacing:-.072em;margin:0;max-width:720px}.hero-outline{color:var(--lime)}.hero-description{font-size:16px;line-height:1.8;color:#bbc8bb;max-width:510px;margin:30px 0 32px}.hero-description strong{color:var(--ink);font-weight:600}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;min-width:185px;padding:17px 21px;gap:20px;font:700 11px var(--display);letter-spacing:.08em;transition:transform .25s,background .25s,border-color .25s}.btn:hover{transform:translateY(-3px)}.btn span{font-size:19px;line-height:1}.btn-primary{background:var(--lime);color:#10180e}.btn-primary:hover{background:#d3efb5}.btn-quiet{border:1px solid var(--border);color:#deebd9;background:rgba(26,44,32,.35)}.btn-quiet:hover,.btn-outline:hover{border-color:var(--lime);background:rgba(80,113,70,.18)}.hero-foot{display:flex;gap:31px;margin-top:68px;padding-top:23px;border-top:1px solid var(--border);max-width:500px}.microstat{display:flex;gap:13px;align-items:center}.microstat-number{font:600 26px var(--display);color:var(--ink);letter-spacing:-.05em}.microstat>span:last-child{font:600 9px/1.6 var(--display);letter-spacing:.13em;color:var(--muted)}.hero-bottom-label{position:absolute;bottom:8px;left:0;display:flex;gap:14px;align-items:center;color:#a8b9a8;font:700 9px var(--display);letter-spacing:.2em}.scroll-line{width:58px;height:1px;background:var(--darklime)}
.hero-visual{position:relative;height:min(680px,70vh);min-height:540px;isolation:isolate;perspective:900px;overflow:visible}.stage-effects{position:absolute;inset:0;overflow:clip;pointer-events:none}.stage-grid{position:absolute;inset:11% -7%;opacity:.28;background:linear-gradient(to right,rgba(112,155,114,.16) 1px,transparent 1px),linear-gradient(to bottom,rgba(112,155,114,.16) 1px,transparent 1px);background-size:33px 33px;mask-image:radial-gradient(ellipse,black 8%,transparent 73%);transform:rotateX(61deg) scale(1.1)}.stage-glow{position:absolute;width:610px;height:580px;left:50%;top:42%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(58,108,59,.29),transparent 65%);filter:blur(15px)}.orbit{position:absolute;border:1px solid rgba(149,205,127,.18);border-radius:50%;width:470px;height:470px;top:9%;left:4%;transform:rotateX(66deg) rotateZ(-21deg);animation:orbits 30s linear infinite}.orbit-two{width:590px;height:590px;top:1%;left:-6%;border-color:rgba(212,182,121,.09);animation-direction:reverse;animation-duration:46s}.pcb-scene{position:absolute;z-index:2;width:min(530px,98%);height:360px;left:50%;top:47%;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(19deg) rotateY(-25deg) rotateZ(-6deg);cursor:grab;user-select:none;touch-action:pan-y;will-change:transform;filter:drop-shadow(15px 45px 36px rgba(0,0,0,.55))}.pcb-scene:active{cursor:grabbing}.pcb-face,.pcb-thickness{position:absolute;inset:0;border-radius:15px;background:#0b1710;border:2px solid rgba(177,225,146,.5);overflow:hidden;transform-style:preserve-3d;box-shadow:inset 0 0 45px rgba(45,86,41,.5),0 0 38px rgba(68,131,61,.12)}.pcb-face{transform:translateZ(25px)}.pcb-face>img{width:100%;height:100%;object-fit:contain;background:#152019;filter:saturate(.76) brightness(.82)}.pcb-thickness{transform:translateZ(1px);background:#234a2d;border:2px solid #a3c28f;box-shadow:0 0 0 2px #11311c,0 0 0 22px rgba(20,55,28,.22)}.pcb-glint{position:absolute;inset:0;background:linear-gradient(120deg,transparent 12%,rgba(202,255,201,.11) 39%,transparent 50%);background-size:200% 100%;animation:shimmer 7s ease-in-out infinite;mix-blend-mode:screen}.pcb-scan{position:absolute;left:0;right:0;top:-4px;height:2px;background:#aeea8c;box-shadow:0 0 11px #aeea8c;animation:scan 6s ease-in-out infinite}.signal{position:absolute;width:9px;height:9px;border-radius:50%;background:#cfff98;box-shadow:0 0 8px #d5ffad,0 0 22px #bbd98a;animation:pulse 2s infinite}.signal-a{top:36%;left:48%}.signal-b{top:70%;left:78%;animation-delay:.8s}.pcb-hud{position:absolute;transform:translateZ(70px);color:#d8f0cb;background:rgba(19,44,27,.9);padding:10px 14px;border:1px solid rgba(190,235,159,.46);font:700 9px var(--display);letter-spacing:.13em;white-space:nowrap;box-shadow:0 0 18px rgba(106,180,94,.19)}.hud-one{top:-28px;left:25px}.hud-two{bottom:9px;right:-28px}.stage-note{position:absolute;z-index:3;font:700 9px var(--display);letter-spacing:.16em;color:#aec3ab;display:flex;align-items:center;gap:12px}.stage-note-top{top:9%;right:0}.stage-note-bottom{bottom:9%;left:2%}.stage-note-bottom span{font-size:20px;color:var(--gold)}.visual-caption{position:absolute;right:1%;bottom:8%;color:#819988;font:600 8px var(--display);letter-spacing:.2em;writing-mode:vertical-rl}
.section{padding-top:128px;padding-bottom:128px}.section-kicker{display:flex;align-items:center;gap:15px;color:#bfd3bb;font:700 10px var(--display);letter-spacing:.18em;margin-bottom:48px}.section-kicker>span:first-child{color:var(--gold)}.kicker-line{display:block;height:1px;width:55px;background:var(--darklime)}.section h2{font:600 clamp(42px,5vw,68px)/1.1 var(--display);letter-spacing:-.065em;margin:0}.section h2 em{font-style:normal;color:var(--lime)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-heading>p{font-size:14px;line-height:1.7;max-width:340px;color:var(--muted);margin:0 0 7px}.about-section{padding-top:105px;padding-bottom:135px;border-top:1px solid var(--border)}.about-layout{display:grid;grid-template-columns:1.04fr .96fr;gap:110px}.about-left{position:relative}.about-left:after{content:'// 0x01';position:absolute;font:700 12px var(--display);color:rgba(181,218,158,.3);letter-spacing:.13em;bottom:0;left:0}.about-right p{font-size:16px;line-height:1.85;color:#b9c5ba;margin:0 0 22px}.about-right strong{color:#e1eae0}.about-links{display:flex;flex-wrap:wrap;gap:26px;margin-top:40px}.about-links a{font:700 11px var(--display);letter-spacing:.05em;color:var(--lime);border-bottom:1px solid rgba(174,218,147,.32);padding-bottom:9px}.about-links a:hover{border-color:var(--lime)}.about-links a span{margin-left:13px;color:var(--gold)}
.work-section{background:linear-gradient(135deg,#101b13 0%,#0b130e 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.experience-grid{border-top:1px solid var(--border)}.job{display:grid;grid-template-columns:240px 1fr;border-bottom:1px solid var(--border);padding:46px 0 49px;gap:50px}.job-side{display:flex;flex-direction:column;align-items:start}.job-index{color:var(--gold);font:700 11px var(--display);letter-spacing:.13em}.job-mark{font:700 84px var(--display);line-height:1.1;letter-spacing:-.15em;color:#2a4430;margin:14px 0 4px}.job-dates{font:700 10px var(--display);letter-spacing:.07em;color:#adbfaa}.job-main h3{font:600 29px var(--display);letter-spacing:-.04em;margin:0 0 9px}.job-main h3>span{font-size:13px;font-weight:500;letter-spacing:0;color:var(--lime);margin-left:9px}.job-company{font-size:13px;color:#c6d4c2;margin:0 0 23px}.job-company i{margin:0 4px;color:var(--gold);font-style:normal}.job-main ul{margin:0;padding:0 0 0 20px;max-width:840px}.job-main li{font-size:14px;line-height:1.8;color:#aabdad;padding-left:6px;margin-bottom:10px}.job-main li::marker{color:var(--lime)}.job-tags,.tech-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.job-tags span{font:700 9px var(--display);letter-spacing:.07em;color:var(--gold);background:rgba(197,164,101,.07);padding:9px 11px;border:1px solid rgba(197,164,101,.17)}
.projects-section{padding-bottom:150px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filter{background:transparent;color:#aebead;border:1px solid var(--border);padding:12px 18px;font:700 10px var(--display);letter-spacing:.08em;cursor:pointer;transition:.2s}.filter:hover,.filter.active{color:#101811;background:var(--lime);border-color:var(--lime)}.filter sup{font-size:8px;opacity:.75}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:stretch}.project-card{display:flex;flex-direction:column;text-align:left;padding:0;background:#101912;border:1px solid rgba(175,209,166,.17);color:inherit;cursor:pointer;min-width:0;overflow:hidden;position:relative;transition:transform .3s,border-color .3s,box-shadow .3s;transform-style:preserve-3d}.project-card:hover,.project-card:focus-visible{transform:translateY(-8px);border-color:rgba(174,225,155,.55);box-shadow:0 24px 60px rgba(0,0,0,.29);outline:none}.project-card[hidden]{display:none}.card-visual{height:235px;position:relative;background:#122317;overflow:hidden}.card-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 53%,rgba(0,0,0,.3) 100%);pointer-events:none}.card-visual img{width:100%;height:100%;object-fit:cover;transition:transform .8s;filter:saturate(.77)}.project-card:hover img{transform:scale(1.07)}.image-label{position:absolute;bottom:17px;left:17px;background:rgba(6,17,10,.78);backdrop-filter:blur(12px);padding:8px 10px;color:#bde2b1;font:700 9px var(--display);letter-spacing:.13em;z-index:1}.card-text{padding:25px 24px 27px;display:flex;flex-direction:column;flex:1}.card-category{font:700 9px var(--display);letter-spacing:.15em;color:var(--gold);margin-bottom:12px}.card-text h3{font:600 23px/1.22 var(--display);letter-spacing:-.04em;margin:0 0 14px;display:flex;gap:12px;justify-content:space-between}.card-arrow{color:var(--lime);font-size:25px;flex:none;transition:transform .25s}.project-card:hover .card-arrow{transform:translate(3px,-4px)}.card-text p{font-size:13px;color:#aabca9;line-height:1.75;margin:0;flex:1}.tech-tags{margin-top:19px}.tech-tags span{font:600 9px var(--display);color:#b7ceb3;padding:7px 9px;border:1px solid rgba(164,205,151,.17)}.project-featured{grid-column:span 1}.board-visual img{object-position:center}.conceptual{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(48,86,48,.45),#0f2016 80%)}.concept-svg{width:100%;height:100%;object-fit:contain}.motor-rotor{transform-origin:center;animation:spin 5s linear infinite}.terminal-art{width:85%;height:75%;background:#0b140e;border:1px solid #487256;box-shadow:0 14px 30px rgba(0,0,0,.3);transform:perspective(500px) rotateY(-8deg) rotateX(4deg);overflow:hidden}.terminal-bar{display:flex;align-items:center;gap:5px;height:28px;padding-left:12px;background:#1c2e20;border-bottom:1px solid #3b6343}.terminal-bar>span{width:5px;height:5px;border-radius:50%;background:#bacda5}.terminal-bar>span:nth-child(2){background:#d2ba7d}.terminal-bar>span:nth-child(3){background:#72977b}.terminal-bar b{margin-left:7px;font:500 9px var(--display);color:#bcd1bb}.terminal-content{padding:13px 15px;color:#c7dfb3;font:11px/1.8 monospace;white-space:nowrap}.term-prompt{color:var(--gold)}.term-muted{color:#708a70}.term-good{color:#91cb73}.term-cursor{color:#d4e7ce;animation:blink .7s steps(1) infinite}.portfolio-banner{border:1px solid rgba(192,213,181,.18);background:linear-gradient(105deg,rgba(48,84,49,.24),rgba(17,28,18,.6));padding:30px 34px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px}.banner-eyebrow{font:700 9px var(--display);letter-spacing:.15em;color:var(--gold)}.portfolio-banner h3{font:600 24px var(--display);letter-spacing:-.03em;margin:9px 0 8px}.portfolio-banner p{font-size:13px;color:var(--muted);margin:0}.btn-outline{border:1px solid rgba(176,224,152,.35);color:var(--lime);flex:none}
.skills-section{background:#121e16;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.skill-card{background:#121e16;padding:29px 23px 40px;min-height:240px}.skill-no{font:700 11px var(--display);color:var(--gold);margin-bottom:40px}.skill-card h3{font:600 19px var(--display);letter-spacing:-.03em;margin:0 0 13px}.skill-card p{font-size:13px;line-height:1.8;color:#a7baa7;margin:0}.terms{display:flex;gap:29px;align-items:baseline;border-top:1px solid var(--border);margin-top:32px;padding-top:19px}.terms span{font:700 10px var(--display);letter-spacing:.14em;color:var(--gold);white-space:nowrap}.terms p{font-size:12px;line-height:1.8;color:#92a995;margin:0}.terms strong{color:#cbdcc4}
.contact-section{padding-bottom:150px}.contact-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:110px}.contact-pre{color:var(--gold);font:700 11px var(--display);letter-spacing:.14em;margin:0 0 20px}.contact-title h2{margin-bottom:26px}.contact-title>p:last-child{font-size:16px;line-height:1.8;color:#a9b8a7;max-width:400px}.contact-actions{display:flex;flex-direction:column;gap:10px}.email-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--lime);color:#182315;padding:22px 24px;gap:10px}.email-card>span:first-child{width:100%;font:700 10px var(--display);letter-spacing:.16em}.email-card strong{font:600 18px var(--display);letter-spacing:-.03em;word-break:break-all}.email-card>.link-arrow{font-size:27px}.contact-small{border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:22px 6px;color:#becfbb;font:700 11px var(--display);letter-spacing:.1em;transition:color .2s}.contact-small:hover{color:var(--lime)}.contact-small span:last-child{font-size:22px}.footer{border-top:1px solid var(--border);padding:33px 0;color:#839b86}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font:700 27px var(--display);letter-spacing:-.1em;color:var(--ink)}.footer-brand small{font:600 8px var(--display);letter-spacing:.15em;color:var(--muted);margin-left:17px}.footer-inner>div:nth-child(2),.footer-inner>a{font:700 9px var(--display);letter-spacing:.11em}.footer a:hover{color:var(--lime)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:translateY(0)}
.project-modal{position:fixed;width:min(940px,calc(100% - 28px));max-height:min(90vh,920px);border:1px solid rgba(174,220,151,.27);padding:0;background:#101b13;color:var(--ink);box-shadow:0 40px 100px rgba(0,0,0,.65);overflow:visible}.project-modal::backdrop{background:rgba(4,10,5,.88);backdrop-filter:blur(8px)}.modal-shell{position:relative}.modal-close{position:absolute;top:18px;right:17px;z-index:5;background:rgba(14,31,18,.93);color:#e5f5d8;border:1px solid rgba(189,229,167,.34);width:43px;height:43px;cursor:pointer;font-size:19px}.modal-close:hover{background:#2b5333}.modal-body{overflow:auto;max-height:min(90vh,920px)}.modal-header{padding:48px 44px 29px;background:linear-gradient(120deg,#193020,#101a13)}.modal-kicker{font:700 10px var(--display);letter-spacing:.18em;color:var(--gold)}.modal-header h2{font:600 clamp(31px,5vw,45px) var(--display);letter-spacing:-.05em;margin:13px 0}.modal-header p{font-size:15px;color:#becfbb;line-height:1.7;margin:0;max-width:730px}.modal-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.modal-tags span{border:1px solid var(--border);padding:8px 10px;font:700 9px var(--display);color:#b4d5aa}.modal-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:20px 44px}.modal-gallery figure{margin:0;min-width:0}.modal-gallery figure:first-child:last-child{grid-column:span 2}.modal-gallery img{display:block;width:100%;height:220px;object-fit:contain;background:#e6eae1;cursor:zoom-in;border:1px solid var(--border)}.modal-gallery figcaption{color:#8da28e;font-size:11px;margin-top:7px}.modal-noimage{border:1px solid var(--border);padding:22px;margin:0 44px;color:#a5bba3;font:13px var(--display)}.modal-details{padding:15px 44px 45px;display:grid;grid-template-columns:1fr 1fr;gap:36px}.modal-details h3{font:600 18px var(--display);margin:0 0 13px;color:var(--lime)}.modal-details p,.modal-details li{font-size:13px;line-height:1.8;color:#b6c7b4}.modal-details p{margin:0 0 13px}.modal-details ul{padding-left:20px;margin:0}.modal-details li{padding-left:5px;margin-bottom:8px}.modal-details li::marker{color:var(--lime)}.modal-lightbox{cursor:zoom-out}.project-modal.fullscreen .modal-gallery img{height:50vh}
@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(169,216,151,.05),0 0 22px var(--lime)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}70%,100%{background-position:-200% 0}}@keyframes scan{0%,100%{transform:translateY(0);opacity:.2}50%{transform:translateY(350px);opacity:.8}}@keyframes orbits{to{transform:rotateX(66deg) rotateZ(339deg)}}@keyframes blink{50%{opacity:0}}
@media(min-width:1450px){.hero{min-height:890px}}@media(max-width:1200px){.wrap{width:min(var(--max),calc(100% - 68px))}.nav-links{gap:19px}.hero h1{font-size:clamp(49px,5.5vw,69px)}.hero-visual{min-height:490px}.pcb-scene{height:300px}.orb{display:none}.about-layout{gap:60px}.contact-layout{gap:70px}.skill-card{padding:25px 17px}.skill-card p{font-size:12px}.project-card .card-text{padding:21px 17px}}@media(max-width:900px){.nav-links,.nav-contact{display:none}.menu-button{display:block}.mobile-menu{display:none;position:absolute;left:0;right:0;top:88px;flex-direction:column;padding:24px 7%;background:rgba(9,16,12,.98);border-bottom:1px solid var(--border)}.mobile-menu.open{display:flex}.mobile-menu a{padding:13px 0;font:600 16px var(--display)}.hero{height:auto;min-height:unset;grid-template-columns:1fr;padding-top:150px;padding-bottom:95px;gap:20px}.hero-copy{padding-top:0}.hero-visual{height:510px;min-height:510px;max-width:650px;width:100%;margin:auto}.pcb-scene{width:460px;height:290px}.hero-bottom-label{bottom:24px}.hero-foot{margin-top:45px}.about-layout{gap:30px}.job{grid-template-columns:150px 1fr;gap:24px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-grid{grid-template-columns:repeat(2,1fr)}.contact-layout{grid-template-columns:1fr;gap:42px}}@media(max-width:620px){.wrap{width:calc(100% - 38px)}.nav-inner{height:72px}.mobile-menu{top:72px}.brand-symbol{font-size:28px}.brand-type small{display:none}.hero{padding-top:125px;padding-bottom:65px}.eyebrow{font-size:8px;letter-spacing:.13em}.overline{font-size:10px}.hero h1{font-size:clamp(41px,10.4vw,58px)}.hero-description{font-size:14px;line-height:1.8;margin:23px 0}.hero-actions{gap:9px}.btn{padding:14px 15px;font-size:10px;min-width:0}.hero-foot{gap:17px;margin-top:33px;flex-wrap:wrap}.microstat{gap:9px}.microstat-number{font-size:20px}.microstat>span:last-child{font-size:7px}.hero-visual{height:350px;min-height:350px;margin:10px auto 0}.pcb-scene{width:min(360px,93%);height:220px}.stage-grid{inset:1% -10%}.stage-glow{width:400px;height:340px}.orbit{width:320px;height:320px}.orbit-two{width:400px;height:400px}.pcb-hud{font-size:7px;padding:7px 8px}.hud-two{right:-2px}.stage-note{font-size:7px}.visual-caption{display:none}.hero-bottom-label{bottom:11px;font-size:8px}.section{padding-top:84px;padding-bottom:86px}.section-kicker{margin-bottom:30px;font-size:9px}.section h2{font-size:clamp(39px,10vw,52px)}.about-layout{grid-template-columns:1fr;gap:23px}.about-left:after{display:none}.about-right p{font-size:14px}.about-links{gap:16px}.about-links a{font-size:9px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin:17px 0 0;font-size:13px}.job{grid-template-columns:1fr;gap:12px;padding:35px 0}.job-side{flex-direction:row;align-items:center;justify-content:space-between}.job-mark{display:none}.job-dates{font-size:9px}.job-main h3{font-size:24px}.job-main h3>span{display:inline-block;font-size:12px}.job-main li{font-size:13px}.project-grid{grid-template-columns:1fr}.card-visual{height:220px}.filters{gap:6px}.filter{font-size:9px;padding:11px 12px}.portfolio-banner{display:block;padding:24px}.portfolio-banner .btn{margin-top:21px}.portfolio-banner h3{font-size:20px}.skills-grid{grid-template-columns:1fr}.skill-card{min-height:0;padding:22px 24px 30px}.skill-no{margin-bottom:18px}.terms{display:block}.terms p{margin-top:13px}.contact-layout{gap:30px}.contact-title h2{font-size:44px}.contact-title>p:last-child{font-size:14px}.email-card strong{font-size:15px}.footer-inner{flex-wrap:wrap}.footer-brand{width:100%}.footer-brand small{font-size:7px}.modal-header{padding:37px 22px 23px}.modal-gallery{padding:15px 22px;grid-template-columns:1fr}.modal-gallery figure:first-child:last-child{grid-column:span 1}.modal-gallery img{height:185px}.modal-details{grid-template-columns:1fr;padding:13px 22px 30px;gap:20px}.modal-noimage{margin:0 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}

@media print{#world,.grain{display:none}.reveal{opacity:1!important;transform:none!important}}

/* Faithful silhouette of the actual PCB. No rectangular photo backdrop. */
.pcb-scene{width:min(550px,98%);height:270px;filter:drop-shadow(10px 24px 24px rgba(0,0,0,.58))}
.pcb-face,.pcb-thickness{border:0;border-radius:0;background:transparent;overflow:hidden;box-shadow:none;
  -webkit-mask-image:url('assets/flight-board-cutout.webp');mask-image:url('assets/flight-board-cutout.webp');
  -webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.pcb-face{transform:translateZ(21px)}
.pcb-face>img{display:block;width:100%;height:100%;object-fit:fill;background:transparent;filter:saturate(.87) brightness(.93)}
.pcb-thickness{transform:translateY(8px) translateZ(0);background:#2f603b;filter:brightness(.8)}
.pcb-glint{opacity:.8}
.pcb-hud.hud-one{display:none}
@media(max-width:1200px){.pcb-scene{height:240px}}
@media(max-width:620px){.pcb-scene{height:186px}}

/* Cross-browser PCB rendering fix. Use the actual alpha PNG/WebP pixels
   directly instead of masking a transformed DOM subtree. */
.pcb-face,.pcb-thickness {
  -webkit-mask-image: none !important;
  mask-image: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
  transform-style: preserve-3d;
}
.pcb-face { transform: translateZ(24px) !important; }
.pcb-face>img,.pcb-thickness>img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.pcb-face>img {
  filter: brightness(1.16) contrast(1.09) saturate(1.10) drop-shadow(1px 2px 6px rgba(0,0,0,.7)) !important;
}
.pcb-thickness {
  transform: translate3d(4px,12px,-12px) !important;
  opacity: .73;
  filter: brightness(.43) sepia(.45) hue-rotate(53deg) saturate(.75);
}
.pcb-glint,.pcb-scan,.pcb-face .signal { display:none !important; }
@media(max-width:620px) { .pcb-thickness { transform:translate3d(2px,8px,-12px)!important; } }


/* Project dates - subtle integrated labels, not new sections. */
.card-category{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.project-year{font:700 11px var(--display);letter-spacing:.08em;color:#d4e9c8;border:1px solid rgba(185,215,155,.34);padding:5px 9px;border-radius:999px;background:rgba(167,201,151,.08);white-space:nowrap}
