:root{--navy:#395078;--navy-deep:#2c3e5e;--yellow:#ffdd57;--green:#076936;--cream:#fcf8ef;--white:#fff;--ink:#1a1a1a;--navy-20:#d7dce5;--navy-08:#eef1f5;--radius:12px;--radius-pill:999px;--tap:44px;--gap-section:clamp(56px, 6vw, 100px);--gap-section-mobile:44px;--wrap:1120px;--gutter:24px;--header-h:72px;--sans:"Archivo", "Archivo Fallback", system-ui, sans-serif;--mono:"IBM Plex Mono", "Cascadia Mono", Consolas, ui-monospace, monospace;--fs-display:clamp(38px, 1.7rem + 2.6vw, 60px);--fs-heading:clamp(25px, 1.3rem + 1.1vw, 33px);--fs-stat:clamp(30px, 1.6rem + 1.2vw, 38px);--fs-subheading:20px;--fs-body:16px;--fs-article:17px;--fs-mono:13px;--lh-display:1.15;--lh-body:1.65;--lh-article:1.75;--measure-article:64ch;--shadow-card:0 1px 2px #39507812;--shadow-lift:0 12px 28px #39507821;--shadow-panel:0 20px 48px #2c3e5e33;--shadow-header:0 1px 0 #3950781f;--ease:cubic-bezier(.16, 1, .3, 1)}html{background:var(--cream);color:var(--ink);scroll-padding-top:calc(var(--header-h) + 16px)}body{font-family:var(--sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;margin:0}h1{font-size:var(--fs-display);letter-spacing:-.02em;font-weight:700;line-height:var(--lh-display);color:var(--navy);margin:0}h2{font-size:var(--fs-heading);letter-spacing:-.015em;font-weight:600;line-height:var(--lh-display);color:var(--navy);margin:0}h3{font-size:var(--fs-subheading);font-weight:600;line-height:var(--lh-display);color:var(--navy);margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}a{color:var(--green)}:focus-visible{outline:3px solid var(--navy);outline-offset:2px;border-radius:var(--radius)}.site-footer :focus-visible,.panel :focus-visible{outline-color:var(--cream)}.btn{min-height:var(--tap);border-radius:var(--radius);font-size:15px;font-weight:650;font-family:var(--sans);line-height:var(--lh-display);background:var(--navy);color:var(--white);cursor:pointer;transition:background-color .2s var(--ease), transform .12s var(--ease), box-shadow .2s var(--ease);border:none;justify-content:center;align-items:center;padding:12px 22px;text-decoration:none;display:inline-flex}@media (hover:hover){.btn:hover{background:var(--navy-deep);box-shadow:var(--shadow-lift)}}.btn:active{box-shadow:none;transform:translateY(1px)}.mono{font-family:var(--mono);font-size:var(--fs-mono);font-variant-numeric:tabular-nums}.btn-secondary{color:var(--navy);border:1.5px solid var(--navy);background:0 0}@media (hover:hover){.btn-secondary:hover{background:var(--navy-08);color:var(--navy-deep)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@font-face{font-family:Archivo;src:url(/fonts/archivo-vi.woff2)format("woff2-variations");font-weight:100 900;font-stretch:62% 125%;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-vi.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Archivo Fallback;src:local(Segoe UI),local(Roboto),local(Helvetica Neue);size-adjust:105.2%;ascent-override:87.8%;descent-override:21%;line-gap-override:0%}.wrap{max-width:var(--wrap);padding:0 var(--gutter);margin:0 auto}.site-header{z-index:10;border-bottom:1px solid var(--navy-20);background:var(--cream);box-shadow:var(--shadow-header);position:sticky;top:0}.site-header .wrap{min-height:var(--header-h);align-items:center;gap:30px;display:flex}.brand-mark{width:196px;min-height:var(--tap);flex:none;display:block}.brand-mark img{width:100%;height:auto;display:block}.nav-links{gap:4px;display:flex}.nav-link{min-height:var(--tap);border-radius:var(--radius);color:var(--ink);transition:background-color .18s var(--ease), color .18s var(--ease);align-items:center;padding:0 12px;font-weight:500;text-decoration:none;display:inline-flex}@media (hover:hover){.nav-link:hover{background:var(--navy-08);color:var(--navy)}}.header-right{align-items:center;gap:14px;margin-left:auto;display:flex}.hotline{font-family:var(--mono);color:var(--navy);min-height:var(--tap);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}@media (hover:hover){.hotline:hover{color:var(--navy-deep);text-decoration:underline}}.site-footer{background:var(--navy);color:var(--cream);padding:52px 0 34px}.site-footer .footer-grid{grid-template-columns:1.15fr 1.1fr .75fr;gap:32px;display:grid}.footer-key{font-family:var(--mono);font-size:var(--fs-mono);color:var(--navy-20);display:block}.site-footer .brand-mark{width:100%;max-width:232px}.footer-brand p{max-width:34ch}.footer-grid>*{min-width:0}.site-footer h2{font-size:var(--fs-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cream);font-family:var(--mono);margin-bottom:10px;font-weight:600}.footer-list{gap:4px;margin:0;padding:0;list-style:none}.footer-list li{padding:0}.footer-contact{border-top:1px solid var(--navy-20);margin-top:40px;padding-top:28px}.footer-contact h2{margin-bottom:16px}.contact-strip{grid-template-columns:.8fr .95fr 1fr 1.45fr;gap:8px 32px;display:grid}.contact-strip>li{min-width:0}.contact-strip .footer-link,.contact-strip .footer-val{align-items:flex-start}.footer-val{min-height:var(--tap);line-height:var(--lh-body);align-items:center;display:flex}.footer-link{color:var(--cream);min-height:var(--tap);align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover){.footer-link:hover{text-decoration:underline}}.legal{border-top:1px solid var(--navy-20);font-family:var(--mono);font-size:var(--fs-mono);line-height:var(--lh-body);color:var(--cream);margin-top:30px;padding-top:18px}@media (width<=860px){.site-header{box-shadow:none;position:static}.site-header .wrap{flex-wrap:wrap;gap:6px 12px;min-height:0;padding-top:10px;padding-bottom:4px}.site-header .btn{padding:10px 16px}.brand-mark{width:108px}.nav-links{flex-wrap:nowrap;order:3;gap:0 22px;width:100%}.nav-link{padding:0}.header-right{flex-wrap:nowrap;gap:10px;margin-left:auto}.hero-proof{gap:20px;margin-top:30px}.site-footer .footer-grid{grid-template-columns:1fr;gap:28px}.contact-strip{grid-template-columns:1fr;gap:0}.footer-contact{margin-top:28px}}@media (width>=861px) and (width<=1024px){.contact-strip{grid-template-columns:repeat(2,1fr)}}.hero{padding:var(--gap-section) 0}.hero .wrap{grid-template-columns:1.08fr .92fr;align-items:center;gap:56px;display:grid}.hero h1{margin-top:18px}.hero-lede{font-size:var(--fs-article);line-height:var(--lh-article);max-width:44ch;margin-top:18px}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hero-proof{border-top:1px solid var(--navy-20);grid-template-columns:repeat(3,auto);justify-content:start;gap:34px;margin-top:38px;padding-top:26px;display:grid}.hero-proof b{font-family:var(--mono);font-size:var(--fs-stat);color:var(--navy);line-height:var(--lh-display);font-variant-numeric:tabular-nums;letter-spacing:-.03em;display:block}.hero-proof span{font-size:var(--fs-mono);line-height:var(--lh-body);color:var(--navy-deep);margin-top:4px;display:block}.badge{border-radius:var(--radius-pill);background:var(--navy-08);color:var(--navy);font-size:var(--fs-mono);font-weight:600;font-family:var(--mono);padding:6px 14px;display:inline-block}.panel{background:var(--navy);color:var(--cream);border-radius:var(--radius);box-shadow:var(--shadow-panel);padding:24px 26px}.panel-head{border-bottom:1px solid var(--navy-20);justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.panel-row{border-bottom:1px solid var(--navy-20);grid-template-columns:1fr auto;align-items:center;gap:12px;padding:13px 0;display:grid}.panel-row:last-child{border-bottom:none}.panel-id{font-family:var(--mono);display:block}.panel-spec{font-family:var(--mono);font-size:var(--fs-mono);margin-top:2px;display:block}.state{font-size:var(--fs-mono);border-radius:var(--radius-pill);padding:4px 12px;font-weight:600}.state-ok{border:1px solid var(--cream);color:var(--cream)}.state-due{background:var(--yellow);color:var(--navy)}@media (width<=860px){.hero{padding:var(--gap-section-mobile) 0}.hero .wrap{grid-template-columns:1fr;gap:24px}}.section{padding:var(--gap-section) 0;border-top:1px solid var(--navy-20)}.section-flush{border-top:none}.section-head{max-width:52ch;margin-bottom:40px}.section-head p{max-width:62ch;font-size:var(--fs-article);line-height:var(--lh-article);margin-top:12px}.band{background:var(--navy-08);border-top:none}.band+.band{padding-top:0}.band .card,.band .media-slot{background:var(--cream)}.grid-3{grid-template-rows:auto auto 1fr auto;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto auto 1fr auto;gap:20px;display:grid}.grid-3>.card{grid-row:span 4;grid-template-rows:subgrid;display:grid}.card{background:var(--white);border:1px solid var(--navy-20);border-radius:var(--radius);box-shadow:var(--shadow-card);transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);flex-direction:column;gap:9px;padding:26px 24px;display:flex}@media (hover:hover){.card:hover{box-shadow:var(--shadow-lift);border-color:var(--navy);transform:translateY(-2px)}}.card-label{font-family:var(--mono);font-size:var(--fs-mono);color:var(--navy-deep);letter-spacing:.08em;text-transform:uppercase;border-bottom:3px solid var(--yellow);padding-bottom:10px;font-weight:600}.card p{font-size:var(--fs-body);line-height:var(--lh-body)}.quote{flex-direction:column;gap:16px;margin:0;display:flex}.quote-who{font-size:var(--fs-mono);font-family:var(--mono);line-height:var(--lh-body);color:var(--navy-deep)}.quote blockquote{margin:0}.quote blockquote p{font-size:var(--fs-article);line-height:var(--lh-article);color:var(--navy-deep);margin:0}.quote blockquote:before{content:"“";font-family:var(--sans);font-size:var(--fs-stat);color:var(--navy-20);font-weight:700;line-height:var(--lh-display);margin-bottom:-8px;display:block}.quote-rail{scroll-snap-type:x mandatory;grid-auto-columns:minmax(300px,1fr);grid-auto-flow:column;gap:18px;padding-bottom:10px;display:grid;overflow-x:auto}.quote-rail>*{scroll-snap-align:start}.cta-band{background:var(--yellow);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;padding:40px 44px;display:flex}.cta-band>div{max-width:56ch}.cta-band b{font-size:var(--fs-heading);color:var(--navy);line-height:var(--lh-display);letter-spacing:-.015em;display:block}.cta-band span{color:var(--navy-deep);line-height:var(--lh-body);margin-top:10px;display:block}@media (width>=861px) and (width<=1024px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width<=860px){.grid-3{grid-template-rows:none;grid-template-columns:1fr;grid-auto-rows:auto}.grid-3>.card{grid-row:auto;grid-template-rows:none;display:flex}.section{padding:var(--gap-section-mobile) 0}.cta-band{padding:28px 24px}}.media-slot{aspect-ratio:16/10;text-align:center;background:var(--navy-08);border:1px dashed var(--navy-20);border-radius:var(--radius);min-height:0;color:var(--navy-deep);font-family:var(--mono);font-size:var(--fs-mono);line-height:var(--lh-body);place-items:center;padding:24px;display:grid}.media-slot span{max-width:34ch}.commit-grid{grid-template-columns:1fr 1.1fr;align-items:center;gap:56px;display:grid}.commit-body{font-size:var(--fs-article);line-height:var(--lh-article);max-width:46ch;margin-top:16px}.step-row{grid-template-columns:repeat(4,1fr);gap:24px;margin:0;padding:0;list-style:none;display:grid}.step{border-top:2px solid var(--navy);flex-direction:column;gap:8px;padding-top:18px;display:flex}.step-index{font-family:var(--mono);font-size:var(--fs-mono);color:var(--navy-deep);letter-spacing:.08em;font-weight:600}.step p{font-size:var(--fs-body);line-height:var(--lh-body)}.why-grid{grid-template-columns:1fr;align-items:start;gap:40px;display:grid}.why-intro{max-width:52ch}.why-intro p{font-size:var(--fs-article);line-height:var(--lh-article);max-width:56ch;margin-top:12px}.why-list{grid-template-columns:repeat(3,1fr);gap:28px 32px;display:grid}.why-card{border-left:2px solid var(--navy-20);flex-direction:column;gap:6px;padding-left:20px;display:flex}.why-card p{font-size:var(--fs-body);line-height:var(--lh-body)}@media (width<=1024px){.why-list{grid-template-columns:repeat(2,1fr)}}@media (width<=860px){.commit-grid,.why-grid{grid-template-columns:1fr;gap:28px}.why-list{grid-template-columns:1fr;gap:22px}.step-row{grid-template-columns:1fr;gap:18px}}.spec-list{border-top:1px solid var(--navy-20);flex-direction:column;gap:6px;margin:4px 0 0;padding:12px 0 0;list-style:none;display:flex}.spec-list li{font-family:var(--mono);font-size:var(--fs-mono);line-height:var(--lh-body);padding-left:14px;position:relative}.spec-list li:before{content:"·";color:var(--navy);position:absolute;left:2px}.deliverable-list{flex-direction:column;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.deliverable-list li{line-height:var(--lh-body);padding-left:20px;position:relative}.deliverable-list li:before{content:"→";color:var(--navy);font-family:var(--mono);position:absolute;left:0}.step-output{font-family:var(--mono);font-size:var(--fs-mono);line-height:var(--lh-body);color:var(--navy);margin-top:10px}.step-output span{text-transform:uppercase;letter-spacing:.1em;color:var(--navy-deep);display:block}.std-list{grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0;display:grid}.std-row{background:var(--white);border:1px solid var(--navy-20);border-radius:var(--radius);align-content:start;gap:10px;padding:20px 22px;display:grid}.std-row dt{font-family:var(--mono);font-size:var(--fs-mono);color:var(--navy);letter-spacing:.04em;font-weight:600}.std-row dd{line-height:var(--lh-body);color:var(--navy-deep);margin:0}.project-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.project-card{gap:14px}.project-lead{grid-column:1/-1;grid-template-rows:1fr 1fr;grid-template-columns:1.55fr 1fr;gap:12px 36px;display:grid}.project-lead .media-slot{aspect-ratio:16/9;grid-row:1/span 2}.project-lead h3{align-self:end}.project-lead p{align-self:start}.faq-grid{grid-template-columns:1fr;align-items:start;gap:36px;display:grid}.faq-intro{max-width:52ch}.faq-intro p{font-size:var(--fs-article);line-height:var(--lh-article);max-width:56ch;margin-top:12px}.faq-list{grid-template-columns:repeat(2,1fr);align-content:start;gap:0 48px;display:grid}.faq-item{border-bottom:1px solid var(--navy-20);padding:6px 0}.faq-item:nth-child(-n+2){border-top:1px solid var(--navy-20)}.faq-item>summary{min-height:var(--tap);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:8px 0;list-style:none;display:flex}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary:after{content:"+";font-family:var(--mono);color:var(--navy);flex:none}.faq-item[open]>summary:after{content:"−"}.faq-item>summary h3{margin:0}.faq-item>p{max-width:64ch;line-height:var(--lh-body);margin:0 0 14px}@media (hover:hover){.faq-item>summary:hover h3{color:var(--navy)}}.flow-figure{background:var(--navy);border-radius:var(--radius);margin:0;padding:24px}.flow-svg{width:100%;height:auto;display:block}.flow-shell{fill:var(--navy-deep);stroke:none}.flow-floor{fill:var(--navy-deep)}.flow-floor-line{stroke:var(--navy-20);stroke-width:1.5px;stroke-dasharray:26 18}.flow-machine{fill:var(--navy);stroke:var(--navy-20);stroke-width:1.5px}.flow-device{fill:var(--navy);stroke:var(--cream);stroke-width:1.5px}.flow-mount{stroke:var(--cream);stroke-width:2px}.flow-seam{stroke:var(--navy-20);stroke-width:1px}.flow-lens{fill:var(--cream)}.flow-lamp-ok{fill:var(--green)}.flow-slot{fill:var(--navy-deep);stroke:var(--navy-20);stroke-width:1px}.flow-port{fill:var(--navy-20)}.flow-shade{fill:var(--cream)}.flow-plinth{fill:var(--navy-deep);stroke:var(--navy-20);stroke-width:1px}.flow-vent{stroke:var(--navy-20);stroke-width:1px}.flow-handle{stroke:var(--cream);stroke-width:2px;stroke-linecap:round}.flow-rail{stroke:var(--navy-20);stroke-width:2px}.flow-lamp-dim{fill:var(--navy-20)}.flow-lamp-live{fill:var(--yellow)}.flow-wire{fill:none;stroke:var(--cream);stroke-width:2px;stroke-dasharray:7 7;opacity:.42}.flow-dot{fill:var(--green)}.flow-lead{stroke:var(--navy-20);stroke-width:1px}.flow-chip-bg{fill:var(--navy-deep);stroke:var(--navy-20);stroke-width:1px}.flow-chip-text,.flow-dir{fill:var(--cream);font-family:var(--mono);font-size:var(--fs-mono);text-anchor:middle}.flow-name{fill:var(--cream);font-family:var(--sans);font-size:var(--fs-mono);text-anchor:middle;font-weight:600}.flow-detail{fill:var(--navy-20);font-family:var(--mono);font-size:var(--fs-mono);text-anchor:middle}.flow-legend{color:var(--cream);margin-top:20px}.flow-dirs{flex-wrap:wrap;gap:8px 32px;margin:0 0 16px;display:flex}.flow-dirs span{font-family:var(--mono);font-size:var(--fs-mono);line-height:var(--lh-body)}.flow-dirs b{color:var(--navy-20);margin-right:8px;font-weight:600}.flow-legend ul{grid-template-columns:repeat(2,1fr);gap:8px 32px;margin:0;padding:0;list-style:none;display:grid}.flow-legend li{border-bottom:1px solid var(--navy-20);justify-content:space-between;gap:16px;padding:8px 0;display:flex}.flow-legend li:nth-last-child(-n+2){border-bottom:none}.flow-legend-from{color:var(--cream)}.flow-legend-proto{font-family:var(--mono);font-size:var(--fs-mono);color:var(--navy-20)}@media (width<=1024px){.std-list{grid-template-columns:repeat(2,1fr)}}@media (width<=860px){.std-list{grid-template-columns:1fr;gap:12px}.project-grid{grid-template-columns:1fr}.project-lead{grid-column:auto;grid-template-rows:auto;grid-template-columns:1fr;gap:14px}.project-lead .media-slot{aspect-ratio:16/10;grid-row:auto}.faq-grid{gap:24px}.faq-list{grid-template-columns:1fr}.faq-item:nth-child(2){border-top:none}.quote-rail{grid-auto-columns:minmax(260px,85%)}.flow-legend ul{grid-template-columns:1fr}.flow-legend li:nth-last-child(2){border-bottom:1px solid var(--navy-20)}}.state-due{animation:2.4s ease-in-out infinite state-blink}@keyframes state-blink{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.flow-wire,.state-due{animation:none}.flow-dot{display:none}}.card p,.why-card p,.step p,.quote p,.project-card p{margin:0}.step{grid-template-rows:auto auto 1fr auto;gap:8px;display:grid}.why-card{grid-template-rows:auto 1fr;gap:8px;display:grid}.cred-strip{background:var(--navy-20);border:1px solid var(--navy-20);border-radius:var(--radius);box-shadow:var(--shadow-card);grid-template-columns:repeat(4,1fr);gap:1px;margin:0;display:grid;overflow:hidden}.cred-cell{background:var(--white);align-content:start;gap:10px;padding:24px 22px;display:grid}.cred-cell dt{font-family:var(--mono);font-size:var(--fs-mono);line-height:var(--lh-body);color:var(--navy-deep);text-transform:uppercase;letter-spacing:.06em}.cred-cell dd{font-size:var(--fs-article);line-height:var(--lh-body);color:var(--navy);margin:0;font-weight:600}@media (width<=1024px){.cred-strip{grid-template-columns:repeat(2,1fr)}}@media (width<=860px){.cred-strip{grid-template-columns:1fr}}
