@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-var-latin.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-400-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-500-latin.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--color-bg: #1d4f91;--color-bg-glow: #275ea4;--color-bg-edge: #173f78;--color-bg-deep: #163a6e;--color-text: #f3f8fe;--color-text-muted: #dbe7f6;--color-heading: #ffffff;--color-link: #ffffff;--color-accent: #a8e6ff;--color-surface-muted: #163a6e;--color-on-surface: #ffffff;--color-border: #9fbbe2;--color-field: #173f78;--color-pill: #ffffff;--color-on-pill: #1d4f91;--color-line: rgb(255 255 255 / .92);--color-line-soft: rgb(255 255 255 / .5);--color-line-faint: rgb(255 255 255 / .16);--color-banner-bg: #e8eff8;--color-banner-text: #0f2a52;--bp-line: var(--color-line);--bp-soft: var(--color-line-soft);--bp-faint: var(--color-line-faint);--bp-label: #ffffff;--bp-pulse: var(--color-accent);--bp-fill: var(--color-bg);--bp-halo: rgb(168 230 255 / .28);--font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading: var(--font-body);--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--step--2: .75rem;--step--1: .875rem;--step-0: 1.0625rem;--step-1: clamp(1.125rem, 1.04rem + .38vw, 1.3125rem);--step-2: clamp(1.25rem, 1.12rem + .55vw, 1.5rem);--step-3: clamp(1.75rem, 1.36rem + 1.7vw, 2.625rem);--step-4: clamp(2.25rem, 1.5rem + 3.3vw, 4rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--section-pad: clamp(4rem, 2.6rem + 5.6vw, 7.5rem);--frame: clamp(.5rem, .25rem + .9vw, 1.125rem);--gutter: clamp(1rem, .4rem + 2.6vw, 3rem);--container: 76rem;--measure: 62ch;--radius-pill: 999px;--rule: 1px solid var(--color-line-soft);--rule-faint: 1px solid var(--color-line-faint);--space: 1rem;--ease-draw: cubic-bezier(.45, .05, .25, 1)}@supports (color: light-dark(#fff,#000)){:root{color-scheme:light dark;--color-bg: light-dark(#1d4f91, #0b1d3a);--color-bg-glow: light-dark(#275ea4, #10284d);--color-bg-edge: light-dark(#173f78, #081630);--color-bg-deep: light-dark(#163a6e, #06122a);--color-text: light-dark(#f3f8fe, #e4edf9);--color-text-muted: light-dark(#dbe7f6, #c5d5ea);--color-heading: light-dark(#ffffff, #f4f8fe);--color-link: light-dark(#ffffff, #eef4fc);--color-accent: light-dark(#a8e6ff, #8fdcff);--color-surface-muted: light-dark(#163a6e, #06122a);--color-on-surface: light-dark(#ffffff, #eef4fc);--color-border: light-dark(#9fbbe2, #6d8cb8);--color-field: light-dark(#173f78, #081630);--color-pill: light-dark(#ffffff, #eef4fc);--color-on-pill: light-dark(#1d4f91, #0b1d3a);--color-line: light-dark(rgb(255 255 255 / .92), rgb(214 232 255 / .86));--color-line-soft: light-dark(rgb(255 255 255 / .5), rgb(196 220 255 / .4));--color-line-faint: light-dark(rgb(255 255 255 / .16), rgb(190 215 255 / .13));--color-banner-bg: light-dark(#e8eff8, #16305a);--color-banner-text: light-dark(#0f2a52, #eef4fc);--bp-label: light-dark(#ffffff, #e6f0fc);--bp-halo: light-dark(rgb(168 230 255 / .28), rgb(143 220 255 / .3))}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:var(--step-0);font-weight:400;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}main :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,summary,figcaption,th,td){overflow-wrap:anywhere}img,svg{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-heading);font-weight:500;line-height:1.12;letter-spacing:-.015em;margin-block:0 var(--space-4);text-wrap:balance;overflow-wrap:normal;word-break:normal}h1{font-size:var(--step-4);font-weight:450;letter-spacing:-.025em;line-height:1.04}h2{font-size:var(--step-3);letter-spacing:-.02em}h3{font-size:var(--step-2);line-height:1.25}p{margin-block:0 var(--space-4);text-wrap:pretty}a{color:var(--color-link);text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:var(--color-line-soft);transition:text-decoration-color .2s ease}a:hover{text-decoration-color:currentColor}strong{font-weight:600;color:var(--color-heading)}::selection{background:var(--color-pill);color:var(--color-on-pill)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.sheet{position:relative;margin-inline:var(--frame);margin-block:var(--frame);border:var(--rule)}.sheet:before,.sheet:after{content:"";position:absolute;inset-block:0;inline-size:6px;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0,transparent 119px,var(--color-line-soft) 119px,var(--color-line-soft) 120px)}.sheet:before{inset-inline-start:0}.sheet:after{inset-inline-end:0}.container{inline-size:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}.section{position:relative;padding-block:var(--section-pad);border-block-start:var(--rule-faint)}.sheet-no{position:absolute;inset-block-start:0;inset-inline-end:var(--gutter);transform:translateY(-50%);padding-inline:var(--space-2);background:var(--color-bg);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;color:var(--color-text-muted);line-height:1.6}.section-head{display:grid;gap:var(--space-4) var(--space-7);margin-block-end:clamp(var(--space-6),4vw,var(--space-8))}.section-head>:last-child{margin-block-end:0}.section-head h2{max-inline-size:18ch;margin-block-end:0}.section-head p{max-inline-size:var(--measure);color:var(--color-text-muted);font-size:var(--step-1);line-height:1.55}@media(min-width:60em){.section-head--split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:var(--space-8);align-items:end}}.lead{font-size:var(--step-1);line-height:1.55;color:var(--color-text-muted);max-inline-size:var(--measure)}.mono{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase}.tag{display:inline-block;padding-block:.2rem;padding-inline:.55rem;border:1px solid var(--color-line-soft);font-family:var(--font-mono);font-size:var(--step--2);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text);line-height:1.5}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-block-size:2.75rem;padding-block:.6rem;padding-inline:1.35rem;border:1.5px solid var(--color-pill);border-radius:var(--radius-pill);background:transparent;color:var(--color-link);font-family:var(--font-body);font-size:var(--step--1);font-weight:500;letter-spacing:.005em;line-height:1.25;text-decoration:none;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .2s ease}.button:hover{background:#ffffff1f}.button:active{transform:translateY(1px)}.button--primary{background:var(--color-pill);color:var(--color-on-pill)}.button--primary:hover{background:var(--color-pill);color:var(--color-on-pill);box-shadow:0 0 0 4px #ffffff29}.button .arrow{font-family:var(--font-mono);transition:transform .2s ease}.button:hover .arrow,.arrow-link:hover .arrow{transform:translate(3px)}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.arrow-link{display:inline-flex;align-items:baseline;gap:var(--space-2);min-block-size:1.5rem;padding-block:.25rem;font-weight:500;color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-line-soft);text-underline-offset:.3em}.arrow-link .arrow{display:inline-block;font-family:var(--font-mono);transition:transform .2s ease}.spec{margin:0;border-block-start:var(--rule)}.spec>div{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:var(--space-4);padding-block:.85rem;border-block-end:var(--rule-faint)}.spec dt{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);padding-block-start:.2em}.spec dd{margin:0;color:var(--color-text)}.spec dd a{display:inline-block;min-block-size:24px}@media(max-width:30em){.spec>div{grid-template-columns:minmax(0,1fr);gap:var(--space-1)}}.drawing-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;margin:0;padding-block:.5rem;padding-inline:.85rem;border-block-start:var(--rule);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted)}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;z-index:20;inset-block-start:0;inset-inline-start:0;padding-block:.75rem;padding-inline:1.5rem;background:var(--color-pill);color:var(--color-on-pill);font-weight:600;text-decoration:none;transform:translateY(-200%)}.skip-link:focus{transform:none}.demo-banner{margin:0;padding-block:.55rem;padding-inline:var(--gutter);background:var(--color-banner-bg);color:var(--color-banner-text);text-align:center;font-family:var(--font-mono);font-size:.8125rem;font-weight:500;letter-spacing:.02em;line-height:1.45}.site-header{position:relative;z-index:5;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:var(--space-4) var(--space-5);inline-size:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto;padding-block:clamp(.85rem,.6rem + .8vw,1.25rem);color:var(--color-on-surface)}.site-header>*{min-inline-size:0}.site-header .brand,.site-header .nav-cta{flex-shrink:0}.site-header .brand{display:inline-flex;align-items:center;gap:.6rem;padding-block:.25rem;color:var(--color-on-surface);font-size:clamp(1.125rem,1.02rem + .45vw,1.375rem);font-weight:500;letter-spacing:-.01em;line-height:1.2;text-decoration:none}.brand-mark{inline-size:1.75em;block-size:1.75em;flex-shrink:0;color:var(--color-on-surface)}.site-header .brand img{display:block;height:auto;max-height:2.5rem;max-width:100%;width:auto}.site-header nav{flex:1 1 auto;display:flex;justify-content:flex-end}.site-header nav ul{flex-wrap:wrap;list-style:none;margin:0;padding:0}.nav-inline{display:none;gap:0 clamp(.5rem,.2rem + .9vw,1.25rem);align-items:center}.site-header nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-inline-size:24px;min-block-size:2.25rem;padding-block:.4rem;padding-inline:.35rem;color:var(--color-on-surface);font-size:.9375rem;font-weight:450;text-decoration:none;overflow-wrap:anywhere}.nav-inline a:after{content:"";position:absolute;inset-inline:.35rem;inset-block-end:.05rem;block-size:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform .25s var(--ease-draw)}.nav-inline a:hover:after,.nav-inline a[aria-current=page]:after{transform:scaleX(1)}.nav-cta{display:none;align-items:center;min-block-size:2.5rem;padding-block:.45rem;padding-inline:1.15rem;border:1.5px solid var(--color-on-surface);border-radius:var(--radius-pill);color:var(--color-on-surface);font-size:.9375rem;font-weight:500;line-height:1.2;text-decoration:none;transition:background-color .2s ease,color .2s ease}.nav-cta:hover{background:var(--color-pill);color:var(--color-on-pill)}.nav-menu{position:static}.nav-menu>summary{list-style:none;display:inline-flex;align-items:center;gap:.5rem;min-block-size:2.5rem;padding-block:.45rem;padding-inline:1rem;border:1.5px solid var(--color-line-soft);border-radius:var(--radius-pill);color:var(--color-on-surface);font-size:.9375rem;font-weight:500;cursor:pointer}.nav-menu>summary::-webkit-details-marker{display:none}.nav-menu>summary .menu-glyph{display:inline-grid;gap:4px;inline-size:14px}.nav-menu>summary .menu-glyph span{display:block;block-size:1.5px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.nav-menu[open]>summary .menu-glyph span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.nav-menu[open]>summary .menu-glyph span:nth-child(2){opacity:0}.nav-menu[open]>summary .menu-glyph span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}.nav-menu:not([open])>ul{display:none}.nav-menu[open]>ul{position:absolute;inset-inline:0;inset-block-start:calc(100% - .25rem);display:grid;gap:0;padding:var(--space-3) var(--space-4);background:var(--color-bg-deep);border:var(--rule);box-shadow:0 24px 48px -24px #030c1e99}.nav-menu[open]>ul li+li{border-block-start:var(--rule-faint)}.nav-menu[open]>ul a{display:flex;justify-content:space-between;inline-size:100%;min-block-size:3rem;font-size:1.0625rem}.nav-menu[open]>ul a[aria-current=page]{text-decoration:underline;text-underline-offset:.3em}.nav-menu .menu-cta a{font-weight:600}@media(min-width:40em){.nav-cta{display:inline-flex}.nav-menu .menu-cta{display:none}.site-header nav{justify-content:flex-end}}@media(min-width:64em){.nav-inline{display:flex}.nav-menu{display:none}}.site-footer{border-block-start:var(--rule);background:var(--color-bg-deep);color:var(--color-on-surface);font-size:var(--step--1)}.footer-grid{display:grid;gap:var(--space-6) var(--space-7);padding-block:clamp(var(--space-7),6vw,var(--space-9)) var(--space-7)}@media(min-width:48em){.footer-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}}@media(min-width:64em){.footer-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1.3fr)}}.footer-brand .brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--color-on-surface);font-size:1.25rem;font-weight:500;text-decoration:none}.footer-brand p{margin-block:var(--space-4) 0;max-inline-size:34ch;color:var(--color-text-muted);line-height:1.6}.footer-heading{margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--step--2);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}.site-footer a{display:inline-block;padding-block:.3rem;color:var(--color-on-surface);text-decoration:none}.site-footer a:hover{text-decoration:underline;text-underline-offset:.25em}.footer-contact{font-style:normal}.footer-contact p{margin:0;color:var(--color-text-muted)}.footer-contact .footer-address{padding-block:.3rem;line-height:1.5}.footer-contact a{overflow-wrap:anywhere}.footer-social{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-block-start:var(--space-3)}.footer-social a{min-inline-size:24px}.footer-base{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-6);padding-block:var(--space-4) var(--space-5);border-block-start:var(--rule-faint)}.footer-note{margin:0;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.04em;color:var(--color-text-muted)}.language-picker ul{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);list-style:none;margin:0;padding:0}.language-picker a{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase}.language-picker a[aria-current=true]{font-weight:500;text-decoration:underline;text-underline-offset:.3em}.footer-legal{color:var(--color-text-muted)}.lang-suggest{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2) var(--space-4);padding-block:.6rem;padding-inline:var(--gutter);background:var(--color-bg-deep);color:var(--color-on-surface);border-block-end:var(--rule);text-align:center;font-size:var(--step--1)}.lang-suggest-message{margin:0}.lang-suggest-action{display:inline-flex;align-items:center;justify-content:center;min-inline-size:24px;padding-block:.375rem;padding-inline:.5rem;color:var(--color-on-surface);font-weight:600;text-decoration:underline;text-underline-offset:.25em}.lang-suggest-dismiss{cursor:pointer;font:inherit;color:var(--color-on-surface);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-pill);padding-block:.3rem;padding-inline:.85rem}.contact-list{list-style:none;padding:0}.contact-list a{display:inline-block;padding-block:.375rem;padding-inline:.25rem}.contact-form{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5);margin-block-start:var(--space-6)}.contact-form .form-field{display:grid;gap:.4rem;margin:0}.contact-form label{font-family:var(--font-mono);font-size:var(--step--2);font-weight:500;letter-spacing:.07em;text-transform:uppercase}.contact-form .form-required{font-weight:400;color:var(--color-text-muted)}.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form select,.contact-form textarea{font:inherit;color:var(--color-text);background:var(--color-field);border:1px solid var(--color-border);border-radius:2px;padding-block:.75rem;padding-inline:.85rem;min-inline-size:0;max-inline-size:100%}.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.contact-form button{cursor:pointer;font:inherit;font-weight:500;justify-self:start;min-block-size:2.75rem;padding-block:.65rem;padding-inline:1.5rem;color:var(--color-on-pill);background:var(--color-pill);border:1.5px solid var(--color-pill);border-radius:var(--radius-pill)}@media(max-width:40em){.button,.contact-form button{white-space:normal;text-align:center}}.form-error{display:none}.form-error:target{display:block;margin:0;padding-block:.75rem;padding-inline:var(--space-4);border:1px solid var(--color-border);font-weight:600}.contact-form .form-extra{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.hero{padding-block:var(--space-6)}.hero--media{position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;min-block-size:50vh;padding-inline:var(--gutter)}.hero-bg,.hero--media .hero-poster{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;z-index:0}.hero--media .hero-poster{display:none}.hero-scrim{position:absolute;inset:0;z-index:1;background:#0009}.hero-content{position:relative;z-index:2;inline-size:min(var(--measure),100%)}.hero--media .hero-content,.hero--media .hero-content h1,.hero--media .hero-content p,.hero--media .hero-content a{color:#fff}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero .hero-bg,.hero canvas.hero-bg{display:none!important}.hero .hero-poster{display:block!important}}
