/* Quiet engineering-paper texture, with open space behind reading areas. */
:root{--paper:#f1f3ed}
body{background-color:var(--paper);background-image:linear-gradient(#5062470b 1px,transparent 1px),linear-gradient(90deg,#5062470b 1px,transparent 1px);background-size:48px 48px}
.hero{isolation:isolate}
.hero:before{content:"";position:absolute;z-index:-1;inset:0 -30px;background:radial-gradient(ellipse at 21% 45%,#f1f3ed 15%,#f1f3edee 32%,#f1f3ed00 72%);pointer-events:none}
@media(max-width:800px){.hero:before{inset-inline:-20px}}
.site-header{background:linear-gradient(90deg,#f1f3edfa,#f1f3ed77)}
.identity{gap:13px;flex-shrink:0}.identity-symbol{width:40px;height:40px;flex-shrink:0}.identity-wordmark{font-size:18px;letter-spacing:-.045em;font-weight:650;line-height:1.1}.identity-role{font-size:9px;font-weight:400;letter-spacing:.015em;margin-top:6px}
.tech-strip,.section-heading,.service-row,.process-note,.about-copy{background:linear-gradient(90deg,#f1f3edf5,#f1f3edcc 70%,#f1f3ed00)}
.work-section{padding-top:70px;border-top:1px solid var(--line)}
.demo-section{background-color:#e5eadd;background-image:linear-gradient(#536b3a09 1px,transparent 1px),linear-gradient(90deg,#536b3a09 1px,transparent 1px);background-size:48px 48px}.demo-section .section-heading{background:none}
.firmware-section{padding-bottom:75px}.firmware-section .section-heading h2{font-size:clamp(40px,4.2vw,60px)}
.firmware-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.firmware-detail{min-width:0;background:radial-gradient(ellipse at 25% 40%,#f1f3edfa 35%,#f1f3ed00 95%)}
.firmware-intro{font-size:15px;line-height:1.8;max-width:490px;color:#4b5a41;margin-bottom:28px}
.firmware-capability{display:flex;gap:21px;padding:21px 0;border-top:1px solid #cdd5c5}.firmware-capability>.micro{font-size:9px;color:#6a8053;min-width:18px;padding-top:4px}.firmware-capability h3{font-size:20px;letter-spacing:-.025em;margin-bottom:8px;line-height:1.25}.firmware-capability p{font-size:12px;line-height:1.8;color:#647158;max-width:440px}
.architecture-panel{margin:0;padding:31px 30px 24px;background-color:#233025;background-image:radial-gradient(#b8cd9421 .8px,transparent .8px);background-size:17px 17px;border:1px solid #364e34;border-radius:8px;color:#f3f7eb;position:relative;overflow:hidden}
.architecture-panel figcaption>.micro{color:#b5c6a0;font-size:9px}.architecture-panel h3{font-size:32px;letter-spacing:-.04em;line-height:1.08;margin:17px 0 12px}.architecture-panel figcaption>p{color:#b4c6a0;font:10px/1.6 var(--mono)}
.firmware-stack{list-style:none;margin:27px 0 19px;padding:0;display:grid;gap:8px}.firmware-stack li{display:flex;align-items:center;gap:15px;padding:15px 16px;border:1px solid #bacda333;border-radius:3px;background:#2b392bef}.layer-number{color:#9eaf8d;font:9px var(--mono);flex-shrink:0}.firmware-stack li>div{flex:1;min-width:0}.firmware-stack strong{display:block;font-size:13px;font-weight:500;margin-bottom:5px}.firmware-stack li>div>span{font:9px/1.6 var(--mono);color:#b8c7a6;display:block}.layer-symbol{font-size:17px;color:#adc48e;flex-shrink:0}
.firmware-stack .driver-layer{border-color:#c4dc8f;background:#ddefab;color:#273720}.driver-layer .layer-number,.driver-layer .layer-symbol,.firmware-stack .driver-layer>div>span{color:#506333}
.architecture-panel .architecture-note{font-size:9px;line-height:1.8;color:#b8c6a8;border-top:1px solid #a9bd8e35;padding-top:15px}
.firmware-proof{margin-top:35px;padding:24px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1.1fr 1fr 1.05fr auto;align-items:center;gap:28px;background:linear-gradient(90deg,#f1f3edf5,#f1f3edcc)}.firmware-proof .micro{font-size:8px;color:#667c50}.firmware-proof p{font-size:11px;margin-top:6px;color:#657259}.firmware-proof strong{font-size:23px;letter-spacing:-.035em;font-weight:500;display:block;margin-bottom:5px}.firmware-proof>div>span:not(.micro){font-size:9px;line-height:1.6;color:#66755a;display:block}.firmware-proof .text-link{font-size:10px;gap:15px;justify-self:end}
@media(max-width:1150px){.firmware-layout{gap:42px}.firmware-intro{font-size:14px}.firmware-capability{padding-block:18px;gap:16px}.firmware-capability h3{font-size:18px}.architecture-panel{padding:25px 23px}.firmware-proof{grid-template-columns:1.1fr 1fr 1fr;gap:22px}.firmware-proof .text-link{grid-column:1/-1;justify-self:start}}
@media(max-width:800px){.identity-wordmark{font-size:16px}.identity-role{font-size:8px}.identity-symbol{width:34px;height:34px}.site-header nav{gap:18px}.firmware-layout{gap:28px}.firmware-capability{gap:12px}.firmware-capability h3{font-size:17px}.firmware-capability p{font-size:11px}.firmware-intro{font-size:13px}.architecture-panel{padding:23px 19px}.architecture-panel h3{font-size:28px}.firmware-stack li{padding:13px 11px;gap:10px}.firmware-stack strong{font-size:12px}.firmware-stack li>div>span{font-size:8px}.layer-symbol{display:none}.firmware-proof strong{font-size:21px}.work-section{padding-top:58px}.firmware-section{padding-bottom:55px}}
@media(max-width:680px){.firmware-layout{grid-template-columns:1fr;gap:25px}.firmware-intro{max-width:none}.firmware-capability p{font-size:12px;max-width:none}.firmware-capability h3{font-size:19px}.architecture-panel{padding:28px 25px}.architecture-panel h3{font-size:32px}.firmware-stack li{padding:16px;gap:15px}.firmware-stack strong{font-size:13px}.firmware-stack li>div>span{font-size:9px}.layer-symbol{display:block}.firmware-proof{grid-template-columns:1fr 1fr;gap:23px}.firmware-proof>div:first-child{grid-column:1/-1}.firmware-proof .text-link{font-size:11px}.firmware-section .section-heading h2{font-size:43px}}
@media(min-width:581px) and (max-width:740px){.site-header nav{gap:12px;font-size:10px}.nav-contact{padding:9px 10px;gap:8px}.identity{gap:8px}.identity-wordmark{font-size:14px}.identity-role{font-size:7px}.identity-symbol{width:30px;height:30px}}
@media(max-width:580px){body,.demo-section{background-size:36px 36px}.hero:before{inset:0 -20px;background:radial-gradient(ellipse at 30% 20%,#f1f3ed 15%,#f1f3edf0 35%,transparent 75%)}.site-header nav{gap:0;background:var(--paper)}.identity-symbol{width:33px;height:33px}.identity-wordmark{font-size:17px}.identity-role{font-size:8px}.hero-actions{gap:16px}.hero-actions .button{font-size:11px;gap:18px;padding-inline:17px}.hero-actions .text-link{font-size:10px;gap:12px}.firmware-section .section-heading h2{font-size:40px}.firmware-intro{font-size:13px;margin-bottom:23px}.firmware-capability{gap:15px;padding-block:20px}.firmware-capability h3{font-size:18px}.firmware-capability p{font-size:12px}.architecture-panel{padding:25px 20px}.firmware-stack li{padding:14px 12px;gap:12px}.firmware-stack li>div>span{font-size:8px}.architecture-panel .architecture-note{font-size:8px}.firmware-proof strong{font-size:23px}.firmware-proof>div>span:not(.micro){font-size:9px}.firmware-proof .micro{font-size:8px}.firmware-section{padding-bottom:45px}.work-section{padding-top:48px}}
@media(max-width:360px){.hero-actions{gap:13px}.hero-actions .button{font-size:10px;padding-inline:12px;gap:10px}.hero-actions .text-link{font-size:9px;gap:10px}.firmware-section .section-heading h2{font-size:34px}.architecture-panel{padding:23px 15px}.architecture-panel h3{font-size:29px}.firmware-stack li{padding:13px 10px;gap:9px}.firmware-stack strong{font-size:11px}.firmware-stack li>div>span{font-size:7px}.layer-symbol{display:none}.firmware-proof strong{font-size:20px}}
@media(min-width:581px) and (max-width:740px){.menu-toggle{display:flex;align-items:center;gap:20px;background:none;padding:10px 0;font-size:11px}.menu-toggle>span{font-size:23px}.site-header nav{display:none;position:absolute;top:79px;left:-20px;right:-20px;flex-direction:column;align-items:stretch;padding:20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #17201310;gap:0}.site-header nav.is-open{display:flex}.site-header nav>a{font-size:15px;padding:15px 5px}.site-header nav .nav-contact{padding:13px 17px;justify-content:space-between;margin-top:10px}.identity-wordmark{font-size:16px}.identity-role{font-size:8px}.identity-symbol{width:34px;height:34px}}
