@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#10120f;--panel:#171a15;--panel2:#1d2119;--text:#f0f0e8;--muted:#a2a69a;--line:#30352a;--lime:#d4ff72;--green:#8fac55;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}.site-shell{max-width:1440px;margin:auto;padding:0 6.2%}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.wordmark{display:flex;align-items:center;gap:12px}.mark{font-size:30px;font-weight:800;letter-spacing:-3px}.mark span{color:var(--lime)}.wordmark-name{font:11px var(--mono);letter-spacing:1.5px}.nav{display:flex;align-items:center;gap:34px;font-size:12px;color:#c3c6bc}.nav a:hover,.text-link:hover{color:var(--lime)}.nav-contact{border:1px solid #555b4b;padding:10px 14px;border-radius:3px}.nav-contact span,.button span{color:var(--lime);margin-left:10px}.menu-toggle{display:none;background:none;border:0}.hero{min-height:650px;padding:92px 0 76px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:5%}.eyebrow{font:10px var(--mono);letter-spacing:1.6px;color:#b2c98b;display:flex;align-items:center;gap:10px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px #d4ff7266}.eyebrow-line{height:1px;width:30px;background:#596747}.hero h1{font-size:clamp(38px,4.4vw,64px);line-height:1.15;letter-spacing:-2.8px;margin:28px 0 22px;font-weight:600}.hero h1 em,h2 em{font-style:normal;color:var(--lime)}.hero-intro{max-width:590px;color:#b3b7ab;font-size:15px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;font-size:12px;font-weight:700;border-radius:3px;transition:transform .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--lime);color:#171b10}.button-primary span{color:#171b10}.button-outline{border:1px solid #454b3c}.text-link{font-size:12px}.hero-meta{display:flex;gap:42px;margin-top:55px}.hero-meta>div{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#d0d2c9}.meta-label{font:9px var(--mono);letter-spacing:1.3px;color:#8c9480}.hero-art{position:relative;min-height:450px;border:1px solid #30382a;background:radial-gradient(ellipse at center,#1b2416 0%,#121610 60%,#10120f 100%);overflow:hidden}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#c7ed6a0a 1px,transparent 1px),linear-gradient(90deg,#c7ed6a0a 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,#000,transparent 95%)}.circuit{position:absolute;width:100%;height:100%;inset:0}.art-caption{position:absolute;bottom:0;left:0;right:0;padding:13px 16px;display:flex;justify-content:space-between;border-top:1px solid #30382a;background:#10120fbb;color:#8c9879;font:9px var(--mono);letter-spacing:1px}.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;white-space:nowrap;color:#aeb49e;font:10px var(--mono);letter-spacing:1.4px}.ticker div{display:flex;justify-content:space-around;gap:25px}.ticker span{color:var(--lime)}.section{padding:105px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading h2,.about-content h2{font-size:clamp(30px,3.5vw,46px);line-height:1.2;letter-spacing:-1.8px;font-weight:600;margin:14px 0 0}.section-heading>p{max-width:350px;color:var(--muted);font-size:12px;margin:0 0 4px}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.project-card{border:1px solid var(--line);background:#141611;min-width:0;transition:border-color .2s,transform .2s}.project-card:hover{border-color:#667c42;transform:translateY(-3px)}.project-visual{height:230px;position:relative;overflow:hidden;background:#1b2117;border-bottom:1px solid var(--line)}.visual-label,.visual-foot{position:absolute;left:18px;right:18px;color:#a9bd87;font:9px var(--mono);letter-spacing:1.2px}.visual-label{top:16px}.visual-foot{bottom:14px}.motor-visual{background:radial-gradient(circle at 50% 50%,#29351d,#171b14 68%)}.motor-rings{position:absolute;width:165px;height:165px;border:1px solid #6f9143;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-48%);display:grid;place-items:center}.motor-rings:before,.motor-rings:after,.motor-rings span{content:"";position:absolute;border:1px solid #506a30;border-radius:50%;inset:12px}.motor-rings:after{inset:25px;border-color:#8eb14e}.motor-rings span:nth-child(2){inset:-12px;border-style:dashed;opacity:.6}.motor-rings span:nth-child(3){inset:42px;border-color:#d4ff72}.motor-rings b{font:14px var(--mono);line-height:1.5;text-align:center;color:var(--lime);z-index:1}.mep-visual{background:linear-gradient(135deg,#1b2418,#121611)}.mep-visual svg{position:absolute;width:90%;height:80%;top:10%;left:5%}.integration-visual{background:linear-gradient(130deg,#1e2118,#141611)}.block-diagram{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:9px}.block-diagram span{border:1px solid #667c42;padding:11px 8px;color:var(--lime);font:9px var(--mono)}.block-diagram i{font-style:normal;color:#8fae54}.it-visual{background:#121712}.terminal{position:absolute;top:50%;left:50%;transform:translate(-50%,-42%);width:75%;background:#0d100c;border:1px solid #35432b;padding:18px;font:10px/2 var(--mono);color:#9fae8b}.terminal span,.terminal b{color:var(--lime);font-weight:400}.terminal i{color:var(--lime);font-style:normal}.project-info{padding:24px}.project-tags{display:flex;gap:8px;flex-wrap:wrap}.project-tags span{border:1px solid #343c2d;color:#b6c59b;padding:4px 7px;font:9px var(--mono)}.project-info h3{font-size:19px;line-height:1.4;letter-spacing:-.5px;margin:17px 0 10px}.project-info p{color:#a9ada2;font-size:12px;line-height:1.85;margin:0 0 19px}.project-note{border-top:1px solid var(--line);padding-top:14px;color:#84916f;font:10px var(--mono)}.section-footnote{color:#777e6d;font-size:10px;margin-top:20px}.about-section{display:grid;grid-template-columns:.55fr 1.45fr;gap:10%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-stamp{font-size:90px;line-height:1;font-weight:800;letter-spacing:-8px;color:#313b27;margin-top:40px}.about-stamp span{color:var(--lime)}.aside-caption{font:10px var(--mono);color:#929a84;margin-top:15px}.about-content h2{margin-top:0;max-width:650px}.about-content>p{font-size:13px;color:#adb1a5;line-height:2;max-width:730px}.about-content .about-lead{font-size:16px;color:#e0e2d9;margin-top:25px}.education{margin-top:32px;padding-top:22px;border-top:1px solid var(--line);display:flex;gap:40px}.education>div{display:flex;flex-direction:column;gap:5px}.education strong{font-size:13px}.education span:not(.meta-label){font-size:11px;color:#9ea494}.toolkit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.toolkit-item{padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:165px}.tool-number{font:10px var(--mono);color:var(--lime)}.toolkit-item h3{font-size:15px;margin:12px 0 8px}.toolkit-item p{font-size:11px;color:#a5aa9b;line-height:1.9;margin:0}.certs{margin-top:28px;padding:22px;border:1px solid var(--line);background:#141611}.certs p{color:#a7ad9c;font-size:11px;line-height:2;margin:12px 0 0}.contact-section{padding:85px 8%;text-align:center;border:1px solid #3c4930;background:radial-gradient(ellipse at 50% 0%,#27341b 0%,#151912 60%,#12140f 100%)}.contact-section .eyebrow{justify-content:center}.contact-section h2{font-size:clamp(30px,4vw,49px);line-height:1.2;letter-spacing:-1.8px;margin:23px 0}.contact-section>p{max-width:550px;margin:0 auto;color:#aeb3a5;font-size:12px}.contact-actions{display:flex;justify-content:center;gap:12px;margin-top:28px;flex-wrap:wrap}.contact-email{margin-top:28px;color:#a3b77e;font:11px var(--mono)}.footer{min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#858c7a;font-size:10px}.footer .mark{font-size:25px}.footer .wordmark-name{font-size:9px}.footer>span:nth-child(2){font:9px var(--mono);letter-spacing:.4px}@media(max-width:900px){.site-shell{padding:0 5%}.hero{grid-template-columns:1fr;padding:70px 0;gap:40px}.hero-art{min-height:380px}.hero-copy{max-width:720px}.about-section{gap:5%}.hero h1{font-size:clamp(40px,7vw,62px)}}@media(max-width:640px){.topbar{height:72px}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:10px}.menu-toggle span{width:22px;height:1px;background:var(--lime)}.nav{display:none;position:absolute;top:72px;left:0;right:0;z-index:10;padding:20px 5%;background:#151812;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:20px}.nav.open{display:flex}.nav-contact{text-align:center}.hero{padding:55px 0 50px}.hero h1{font-size:39px;letter-spacing:-1.8px}.hero-intro{font-size:13px}.hero-meta{gap:25px;margin-top:38px}.hero-art{min-height:320px}.ticker div{justify-content:flex-start;width:max-content;animation:marquee 25s linear infinite}.section{padding:70px 0}.section-heading{display:block}.section-heading>p{margin-top:17px}.work-grid{grid-template-columns:1fr;gap:16px}.project-visual{height:210px}.project-info{padding:20px}.about-section{grid-template-columns:1fr;gap:25px}.about-stamp{font-size:65px;margin-top:18px}.about-content h2{font-size:33px}.education{gap:20px}.toolkit-grid{grid-template-columns:1fr}.toolkit-item{min-height:auto;padding:22px}.contact-section{padding:55px 20px}.contact-section h2{font-size:32px}.footer{padding:25px 0;align-items:flex-start;flex-direction:column;gap:12px}.footer>span:nth-child(2){order:3}.art-caption{font-size:8px}}@keyframes marquee{to{transform:translateX(-25%)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Project detail pages */
.project-open{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font:10px var(--mono);letter-spacing:.5px;color:var(--lime)}.project-open span{font-size:15px}.project-open:hover{color:#fff}.detail-hero{padding:65px 0 45px;border-bottom:1px solid var(--line)}.detail-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.15;letter-spacing:-2px;max-width:900px;margin:20px 0}.detail-lead{max-width:780px;color:#b3b7ab;font-size:15px;line-height:1.9}.detail-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px}.detail-meta div{display:flex;flex-direction:column;gap:5px}.detail-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);gap:45px;padding:55px 0 85px}.detail-main h2{font-size:23px;letter-spacing:-.7px;margin:0 0 14px}.detail-main p,.detail-main li{color:#aeb3a5;font-size:13px;line-height:2}.detail-main section{margin-bottom:38px}.detail-side{border:1px solid var(--line);padding:23px;height:max-content;background:#141611}.detail-side h3{font-size:14px;margin:0 0 14px}.detail-side a{display:block;color:var(--lime);font-size:12px;margin:12px 0;overflow-wrap:anywhere}.detail-side p{color:#929a84;font-size:11px;line-height:1.8}.doc-placeholder{border:1px dashed #4a553c;padding:17px;margin-top:12px;color:#9ea98b;font-size:11px;line-height:1.8}.detail-back{display:inline-flex;margin-top:18px;font-size:11px;color:var(--lime)}.detail-note{border-left:2px solid var(--lime);padding:12px 15px;background:#1a1e15;color:#aeb3a5;font-size:11px;line-height:1.9}@media(max-width:700px){.detail-layout{grid-template-columns:1fr;gap:25px;padding-top:35px}.detail-hero{padding-top:45px}.detail-meta{gap:18px}.detail-hero h1{letter-spacing:-1px}}

.project-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  margin-top: 24px;
}

.gallery-item {
  margin: 0;
  border: 1px solid #30352b;
  background: #151811;
}

.gallery-item a {
  display: block;
  overflow: hidden;
}

.gallery-item img {
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.gallery-item a:hover img {
  transform: scale(1.03);
}

.gallery-item figcaption {
  padding: 12px;
  color: #b5c09f;
  font-size: 0.85rem;
}
