/* vietnamese */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/font-b50a9d90a526.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/font-776f6dcaf036.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/font-a79fdb52d4a5.woff2") format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/font-c4fcfea41f2c.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("/assets/font-2ee17598a98d.woff2") format('woff2');
  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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/font-62213be8a78b.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/font-e17cfd15fb96.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/font-0a557721b1f8.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/font-c89b9cc0bc62.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/font-db5ff4db83e5.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/assets/font-83c005d49d8a.woff2") format('woff2');
  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;
}


body{margin:0;background:#FFFFFF}
.da{font-family:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:#142334;background:#FFFFFF;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
.da *,.da *::before,.da *::after{box-sizing:border-box}
.da h1,.da h2,.da h3,.da h4,.da p,.da dl,.da dd,.da ol,.da ul,.da fieldset{margin:0}
.da img{max-width:100%}
.da a{color:#1A3A5C;text-underline-offset:3px}
.da a:hover{color:#142334}
.disp{font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:800;letter-spacing:-0.035em;line-height:0.98}
.mono{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 40px}
.kick{display:flex;align-items:center;gap:12px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#1A3A5C}
.kick::before{content:"";flex:none;width:40px;height:2px;background:currentColor;transform-origin:left}
.dark .kick{color:#8DB3D9}
.red .kick{color:#FFFFFF}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:2px solid transparent;font-family:'Instrument Sans',sans-serif;font-size:16px;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s}
.btn svg{flex:none}
.da .btn-red{background:#1A3A5C;color:#FFFFFF}
.da .btn-red:hover{background:#0F2438;color:#FFFFFF}
.da .btn-ink{background:#142334;color:#FFFFFF}
.da .btn-ink:hover{background:#1A3A5C;color:#FFFFFF}
.da .btn-line{background:transparent;color:#142334;border-color:#142334}
.da .btn-line:hover{background:#142334;color:#FFFFFF}
.da .dark .btn-line{color:#FFFFFF;border-color:#B9CADC}
.da .dark .btn-line:hover{background:#FFFFFF;color:#142334;border-color:#FFFFFF}
.da .btn-white{background:#FFFFFF;color:#142334}
.da .btn-white:hover{background:#D6E1EC;color:#142334}
.da a:focus-visible,.da button:focus-visible,.da input:focus-visible,.da textarea:focus-visible,.da summary:focus-visible{outline:3px solid #142334;outline-offset:3px}
.da .dark a:focus-visible,.da .dark button:focus-visible,.da .red a:focus-visible,.da .red > .wrap > .contact-grid > .c-left a:focus-visible{outline-color:#FFFFFF}
.da .tlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#142334;text-decoration:none;border-bottom:2px solid #1A3A5C;padding:6px 0 3px;min-height:44px}
.da .tlink:hover{color:#1A3A5C}
.da .dark .tlink{color:#FFFFFF;border-color:#8DB3D9}
.ph{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12.5px;font-weight:600;letter-spacing:.01em;color:#34465B;background:#FFFFFF;border:1.5px dashed #8793A1;border-radius:8px;padding:5px 10px;line-height:1.25}
.ph .dot{width:7px;height:7px;border-radius:50%;background:#8793A1;flex:none}
.dark .ph{color:#E1E9F1;background:transparent}
section[id],article[id]{scroll-margin-top:100px}
.sheet{position:relative;border-radius:44px 44px 0 0;margin-top:-44px}

/* nav */
.nav{position:sticky;top:0;z-index:60;background:#FFFFFF;backdrop-filter:saturate(1.3) blur(12px);-webkit-backdrop-filter:saturate(1.3) blur(12px);border-bottom:1px solid #E3E8EE}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:84px}
.nav-logo{display:flex;align-items:center;min-height:44px}
.nav-logo img{display:block;width:190px;height:auto}
.nav-links{display:flex;align-items:center;gap:30px}
.da .nl{color:#142334;text-decoration:none;font-weight:500;font-size:16px;padding:10px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.da .nl:hover{color:#142334;border-color:#1A3A5C}
.nav-links .btn{min-height:46px;padding:0 22px}
.menu-btn{display:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1.5px solid #142334;background:#FFFFFF;color:#142334;cursor:pointer;padding:0}
.mpanel{display:none}

/* hero */
.hero{position:relative;padding:72px 0 128px;background:#FFFFFF;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.hero h1{font-size:clamp(40px,5.4vw,82px);line-height:.96;margin-top:28px;max-width:14ch}
.hero-sub{font-size:clamp(17px,1.4vw,20px);color:#475467;max-width:52ch;margin-top:22px}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.jump{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;margin-top:26px;font-size:15px}
.jump .mono{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#586577;margin-right:4px}
.da .jump a{color:#142334;font-weight:600;text-decoration-color:#1A3A5C;text-decoration-thickness:2px;padding:10px 0}
.stack{position:relative;height:560px}
.s-layer{position:absolute}
.s-browser{background:#FFFFFF;border-radius:14px;box-shadow:0 40px 70px -30px rgba(20,35,52,.45),0 0 0 1px rgba(20,35,52,.08);overflow:hidden}
.s-bar{display:flex;align-items:center;gap:6px;height:28px;padding:0 12px;background:#EDF1F5}
.s-bar > span{width:8px;height:8px;border-radius:50%;background:#CBD2DA}
.s-bar em{font-style:normal;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:#5F6C7D;margin-left:8px}
.s-card{background:#FFFFFF;border-radius:16px;padding:16px 18px;box-shadow:0 30px 50px -24px rgba(20,35,52,.45),0 0 0 1px rgba(20,35,52,.07)}
.s-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:8px 0 0;margin-top:8px;border-top:1px solid #E9EDF2;color:#4A6B92}
.s-row b{font-weight:600}
.s-term{background:#142334;border-radius:14px;box-shadow:0 30px 50px -20px rgba(20,35,52,.55);overflow:hidden}
.s-tbar{display:flex;gap:6px;padding:10px 12px;border-bottom:1px solid #2A3D52}
.s-tbar span{width:8px;height:8px;border-radius:50%;background:#3A506A}
.s-tbody{padding:12px 16px 16px;font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.75;color:#E8EEF4;white-space:nowrap}
.s-chip{display:inline-flex;align-items:center;gap:8px;background:#1A3A5C;color:#FFFFFF;border-radius:999px;padding:10px 16px;font-size:13.5px;font-weight:600;box-shadow:0 18px 30px -14px rgba(26,58,92,.6)}
.s-dot{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#1A3A5C;box-shadow:0 0 0 5px rgba(26,58,92,.16);z-index:2}
.s-cap{position:absolute;right:0;bottom:-34px;font-family:'JetBrains Mono',monospace;font-size:11px;color:#5F6C7D}
.caret{display:inline-block;color:#8FD9A0}

/* chapters */
.chap{padding:104px 0 132px}
.chap-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px 72px;align-items:end;margin-bottom:76px}
.chap-head h2{font-size:clamp(36px,4.1vw,60px);margin-top:22px}
.chap-head .lede{font-size:18px;color:#475467;max-width:48ch}
.dark .chap-head .lede,.dark .muted{color:#C3D2E3}

/* products */
.prod{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center}
.prod + .prod{margin-top:104px}
.prod.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.prod.rev .p-visual{order:-1}
.eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.eyebrow .mono{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#586577;font-weight:600}
.p-name{font-size:clamp(40px,3.8vw,58px);margin-top:20px}
.p-logo{margin:24px 0 0;line-height:0}
.p-logo img{display:block;height:clamp(44px,4.2vw,60px);width:auto;max-width:100%}
.p-lead{font-size:19px;color:#2A3D52;margin-top:12px;font-weight:500}
.facts{display:grid;gap:16px;margin-top:26px;padding-top:24px;border-top:1px solid #D6DDE5}
.facts > div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px}
.facts dt{font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#586577;padding-top:4px}
.facts dd{font-size:16px;line-height:1.55;color:#24384E}
.p-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:30px}
.p-visual{position:relative;border-radius:32px;overflow:hidden;min-height:520px}
.da-badge{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#F57C00;color:#FFFFFF;font-weight:800;font-size:13px;font-family:'Bricolage Grotesque',sans-serif}
.hs-mark{display:inline-flex;gap:3px}
.hs-mark span{width:11px;height:11px;border-radius:50% 50% 50% 0}
.skel{position:absolute;border-radius:6px}
.ph-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(78%,340px);background:#FFFFFF;border-radius:16px;padding:18px 20px;text-align:center;box-shadow:0 20px 40px -20px rgba(18,96,154,.5)}
.mock-cap{position:absolute;left:6%;bottom:6%;font-family:'JetBrains Mono',monospace;font-size:11.5px;color:#E3EAF1;background:rgba(14,34,54,.85);border-radius:8px;padding:7px 11px}

/* consulting */
.dark{background:#1A3A5C;color:#EEF2F6}
.pills{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pill{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border-radius:999px;border:1.5px solid #4A6B92;color:#D6E1EC;font-weight:600;font-size:15px;transition:background-color .35s,border-color .35s,color .35s}
.pill.on{background:#8DB3D9;border-color:#8DB3D9;color:#0F2438}
.pills svg{color:#8FA8C4}
.flow{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:72px;align-items:start;margin-top:52px}
.stage-col{position:sticky;top:104px}
.stage{position:relative;height:600px;border-radius:28px;background:#15314F;border:1px solid #2E5078;overflow:hidden}
.st-head{position:absolute;left:22px;right:22px;top:18px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px}
.st-ex{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#B9CADC}
.st-phase{font-size:13.5px;font-weight:600;color:#EEF2F6;display:inline-flex;align-items:center;gap:8px}
.st-phase.done::before{content:"";width:9px;height:9px;border-radius:50%;background:#2FD07A;box-shadow:0 0 0 4px rgba(47,208,122,.18)}
.field{position:absolute;left:18px;right:18px;top:70px;bottom:18px}
.frag{position:absolute;width:max-content;max-width:min(232px,46%);padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.35;box-shadow:0 14px 26px -12px rgba(0,0,0,.7)}
.frag b{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px;opacity:.75}
.f-vm{background:#2B415A;color:#EEF2F6;border:1px solid #46638A}
.f-web{background:#FFFFFF;color:#142334}
.f-cal{background:#FFFFFF;color:#142334;border-top:6px solid #1A3A5C}
.f-sms{background:#33506F;color:#FFFFFF;border-radius:16px 16px 16px 4px}
.f-sheet{background:#E6EFE3;color:#1F3A1A;font-family:'JetBrains Mono',monospace;font-size:12px}
.f-inv{background:#FFFFFF;color:#142334;border:1.5px dashed #98A4B2}
.f-note{background:#FFE07A;color:#3A2E00;transform-origin:center}
.f-mail{background:#ECF0F4;color:#142334}
.wire-bg,.wire{position:absolute;left:5.5%;top:12.5%;height:75%;width:2px;margin-left:-1px}
.wire-bg{background:#36577D}
.wire{background:#8DB3D9;transform-origin:top}
.node{position:absolute;left:5.5%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#15314F;border:2px solid #5B7CA3;transition:background-color .3s,border-color .3s,box-shadow .3s}
.node.on{background:#8DB3D9;border-color:#FFFFFF;box-shadow:0 0 0 6px rgba(141,179,217,.25)}
.fcard{position:absolute;left:13%;width:85%;height:21%;display:flex;align-items:center;gap:14px;padding:0 18px;border-radius:14px;background:#FFFFFF;color:#142334}
.fcard .ic{width:42px;height:42px;border-radius:11px;background:#E6EDF5;color:#1A3A5C;display:grid;place-items:center;flex:none}
.fcard strong{display:block;font-size:15.5px;line-height:1.2}
.fcard .s{display:block;font-size:13.5px;color:#4B5869;line-height:1.3;margin-top:2px}
.fcard .src{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:10.5px;line-height:1.4;color:#5F6C7D;text-align:right;flex:none}
.seg-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
.seg-row .mono{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#B9CADC;margin-right:4px}
.seg{min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid #5A6B80;background:transparent;color:#EEF2F6;font:600 14.5px 'Instrument Sans',sans-serif;cursor:pointer}
.seg.on{background:#EEF2F6;color:#142334;border-color:#EEF2F6}
.rm-note{font-size:13.5px;color:#B9CADC;margin-top:10px}
.steps{display:grid}
.step{padding:34px 0 40px;border-top:1px solid #3B5D84;transition:opacity .45s}
.flow.is-live .step{min-height:600px}
.step.off{opacity:.32}
.step-n{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:#8DB3D9;font-weight:600}
.step-h{font-size:clamp(28px,2.6vw,38px);margin-top:14px;color:#FFFFFF}
.step p.muted{font-size:17px;margin-top:14px;max-width:46ch}
.mini{display:grid;gap:10px;margin-top:22px}
.mini > div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;font-size:15px}
.mini dt{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#A9BED6;padding-top:3px}
.mini dd{color:#E8EEF4}
.c-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:64px;padding-top:40px;border-top:1px solid #3B5D84}
.c-ctas .note{margin-left:auto;font-size:15px;color:#C3D2E3}

/* engineering */
.switch{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0 4px;background:transparent;border:0;cursor:pointer;font:600 15px 'Instrument Sans',sans-serif;color:#142334}
.track{position:relative;width:46px;height:26px;border-radius:999px;background:#DDE3EA;border:1.5px solid #B5C0CC;transition:background-color .25s,border-color .25s}
.knob{position:absolute;left:3px;top:3px;width:17px;height:17px;border-radius:50%;background:#142334;transition:transform .25s,background-color .25s}
.switch[aria-pressed="true"] .track{background:#1A3A5C;border-color:#1A3A5C}
.switch[aria-pressed="true"] .knob{transform:translateX(19px);background:#FFFFFF}
.pipe-wrap{position:relative;margin-top:44px}
.pipe-track,.pipe-line{position:absolute;left:28px;right:28px;top:27px;height:2px}
.pipe-track{background:#DDE3EA}
.pipe-line{background:#1A3A5C;transform-origin:left}
.pipe{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;position:relative}
.pipe-intro{font-size:15px;font-weight:600;color:#475467;margin-top:40px}
.pnum{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;background:#FFFFFF;border:2px solid #142334;display:grid;place-items:center;font-size:14px;font-weight:600}
.pstep:last-child .pnum{background:#1A3A5C;border-color:#1A3A5C;color:#FFFFFF}
.pstep h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;letter-spacing:-.02em;font-size:22px;line-height:1.1;margin-top:20px}
.pstep p{font-size:15.5px;line-height:1.5;color:#475467;margin-top:8px;padding-right:8px}
.pstep .dev{margin-top:12px;font-family:'JetBrains Mono',monospace;font-size:12px;line-height:1.55;color:#142334;background:#F2F5F8;border:1px solid #DDE3EA;border-radius:8px;padding:9px 11px}
.dev code{color:#1A3A5C;font-weight:600}
.evo{display:grid;grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);align-items:stretch;margin-top:96px}
.fw{background:#142334;color:#EEF2F6;border-radius:30px;padding:40px}
.troop{background:#FFFFFF;border:2px solid #142334;border-radius:30px;padding:40px;display:flex;flex-direction:column}
.evo h3{font-size:clamp(32px,3vw,44px);margin-top:20px}
.evo p.body{font-size:16.5px;margin-top:14px;max-width:46ch}
.fw p.body{color:#C8D6E5}
.troop p.body{color:#33506F}
.evo-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.evo-top .mono{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}
.tag{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:999px;font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.tag::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.tag-dark{background:#24384E;color:#8FD9A0}
.tag-red{background:#E6EDF5;color:#1A3A5C}
.evo-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#1A3A5C}
.evo-arrow .mono{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#586577;writing-mode:vertical-rl}
.term{margin-top:26px;background:#0D1B2A;border:1px solid #2B415A;border-radius:14px;overflow:hidden}
.term-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 6px 6px 14px;border-bottom:1px solid #22364C}
.term-bar .mono{font-size:11px;color:#8A9DB2;letter-spacing:.06em}
.copy{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:10px;border:1px solid #3B5D84;background:#1A2D42;color:#EEF2F6;font:600 13.5px 'Instrument Sans',sans-serif;cursor:pointer}
.copy:hover{background:#22364C}
.copy.ok{color:#8FD9A0;border-color:#2F5E3B}
.term-body{display:flex;gap:10px;padding:18px 16px;font-family:'JetBrains Mono',monospace;font-size:15px;color:#EEF2F6;overflow-x:auto;white-space:nowrap}
.term-body .prompt{color:#8DB3D9;user-select:none}
.term-body code{font-family:inherit}

/* about */
.mist{background:#F2F5F8}
.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px;align-items:start}
.about-grid h2{font-size:clamp(36px,4.1vw,60px);margin-top:22px}
.about-copy p{font-size:18px;color:#3B5D84;margin-top:22px;max-width:50ch}
.about-copy p.first{font-size:20px;color:#142334}
.princ{list-style:none;padding:0}
.princ li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;padding:26px 0;border-top:1px solid #D6DDE5}
.princ li:last-child{border-bottom:1px solid #D6DDE5}
.princ .n{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:30px;line-height:1;color:#1A3A5C}
.princ h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:23px;letter-spacing:-.02em;line-height:1.15}
.princ p{font-size:16px;color:#475467;margin-top:6px}
.founders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:80px}
.founder{display:grid;grid-template-columns:128px minmax(0,1fr);gap:18px;align-items:center}
.fphoto{aspect-ratio:4/5;border-radius:18px;background:#E5EAF0;border:1.5px dashed #98A4B2;display:grid;place-items:center;text-align:center;font-size:10.5px;line-height:1.4;color:#586577;padding:8px}
.founder h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:22px;letter-spacing:-.02em}
.founder .ph{margin-top:8px}
.fphoto.has-photo{display:block;padding:0;overflow:hidden;border:1px solid #D6DDE5}
.fphoto.has-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.da .founder-role{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:15px;line-height:1.4;color:#3B5D84}
.founder-role span{min-width:0}
.founder-role img{display:block;width:34px;height:24px;object-fit:contain;flex:none}

/* contact */
.red{background:#5B6777;color:#FFFFFF}
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start}
.big{font-size:clamp(72px,9vw,150px);margin-top:20px;line-height:.9}
.c-left p.lede{font-size:19px;margin-top:26px;max-width:36ch}
.mails{list-style:none;padding:0;margin-top:40px;display:grid;gap:0}
.mails li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:14px 0;border-top:1px solid rgba(255,255,255,.4)}
.mails li:last-child{border-bottom:1px solid rgba(255,255,255,.4)}
.mails .mono{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.da .mails a{color:#FFFFFF;font-weight:600;text-decoration-thickness:1.5px}
.da .mails a:hover{color:#FFFFFF;text-decoration-thickness:3px}
.form{background:#FFFFFF;color:#142334;border-radius:30px;padding:36px;box-shadow:0 40px 80px -40px rgba(10,24,40,.6)}
.form fieldset{border:0;padding:0}
.lg{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:24px;letter-spacing:-.02em;padding:0;margin-bottom:16px}
.lg2{font-weight:600;font-size:15px;padding:0;margin:22px 0 10px}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.opt{position:relative;display:block;border:1.5px solid #D2D9E2;border-radius:14px;padding:14px 14px 14px 46px;cursor:pointer;min-height:68px;transition:border-color .2s,background-color .2s}
.opt:hover{border-color:#142334}
.opt input{position:absolute;left:16px;top:17px;width:18px;height:18px;margin:0;accent-color:#1A3A5C}
.opt.on{border-color:#1A3A5C;background:#EDF2F8}
.opt strong{display:block;font-size:15.5px;line-height:1.3}
.opt span{display:block;font-size:13.5px;color:#5A6B80;margin-top:2px;line-height:1.35}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid #D2D9E2;font-size:14.5px;font-weight:600;cursor:pointer;transition:all .2s}
.chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.chip:hover{border-color:#142334}
.chip.on{background:#142334;border-color:#142334;color:#FFFFFF}
.chip:focus-within{outline:3px solid #1A3A5C;outline-offset:2px}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.fld{display:grid;gap:6px;align-content:start}
.fld.full{margin-top:14px}
.fld label{font-weight:600;font-size:14.5px}
.fld label .opt-l{font-weight:400;color:#5F6C7D}
.fld input,.fld textarea{font:inherit;font-size:16px;line-height:1.4;padding:12px 14px;border:1.5px solid #C7D0DA;border-radius:12px;background:#FFFFFF;color:#142334;min-height:50px;width:100%}
.fld textarea{resize:vertical;min-height:110px}
.fld input:hover,.fld textarea:hover{border-color:#8793A1}
.fld input[aria-invalid="true"]{border-color:#B42318;background:#FFF6F7}
.err{display:flex;align-items:center;gap:6px;color:#B42318;font-size:13.5px;font-weight:600}
.f-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:22px}
.route{font-size:14px;color:#5A6B80}
.route strong{color:#142334;font-size:13.5px}
.demo{font-size:13px;color:#5A6B80;margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sent-box{text-align:left}
.ok-ic{width:56px;height:56px;border-radius:50%;background:#E8F7EE;color:#1E7A45;display:grid;place-items:center}
.sent-box h3{font-size:clamp(32px,3vw,44px);margin-top:20px}
.sent-box p{font-size:17px;color:#3B5D84;margin-top:12px}

/* footer */
.foot{background:#FFFFFF;padding:84px 0 36px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px}
.foot h4{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#586577;font-weight:600;margin-bottom:12px}
.foot ul{list-style:none;padding:0;display:grid;gap:2px}
.da .foot ul a{display:inline-block;color:#142334;text-decoration:none;padding:6px 0;font-size:15.5px}
.da .foot ul a:hover{color:#1A3A5C}
.motto{font-family:'JetBrains Mono',monospace;font-size:13px;color:#586577;margin-top:18px}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:64px;padding-top:24px;border-top:1px solid #DDE3EA;font-size:15px;color:#2A3D52}
.legal strong{font-weight:600}

/* motion */
@media (prefers-reduced-motion: no-preference){
  .ld{animation:ldIn .9s cubic-bezier(.2,.75,.25,1) both}
  .ldr{animation:ldR 1.1s cubic-bezier(.2,.75,.25,1) both}
  .d1{animation-delay:.06s}.d2{animation-delay:.14s}.d3{animation-delay:.22s}.d4{animation-delay:.3s}.d5{animation-delay:.42s}.d6{animation-delay:.54s}.d7{animation-delay:.7s}.d8{animation-delay:.86s}
  @keyframes ldIn{from{opacity:0;transform:translateY(26px)}}
  @keyframes ldR{from{opacity:0;transform:translate(70px,20px)}}
  .draw path{stroke-dasharray:1;stroke-dashoffset:1;animation:drawIn 1.5s 1s cubic-bezier(.65,0,.25,1) forwards}
  @keyframes drawIn{to{stroke-dashoffset:0}}
  .caret{animation:blink 1.1s steps(1) infinite}
  @keyframes blink{50%{opacity:0}}
  .is-static .frag,.is-static .fcard{transition:left .9s cubic-bezier(.65,0,.25,1),top .9s cubic-bezier(.65,0,.25,1),transform .9s cubic-bezier(.65,0,.25,1),opacity .5s}
  .is-static .wire{transition:transform .7s .35s cubic-bezier(.65,0,.25,1)}
  @supports (animation-timeline: view()){
    .rv{animation:rvIn linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
    @keyframes rvIn{from{opacity:0;transform:translateY(56px)}}
    .rvk::before{animation:kIn linear both;animation-timeline:view();animation-range:entry 30% entry 100%}
    @keyframes kIn{from{transform:scaleX(0)}}
    .clip{animation:clipIn linear both;animation-timeline:view();animation-range:entry 0% entry 85%}
    @keyframes clipIn{from{clip-path:inset(12% 9% 12% 9% round 32px)}}
    .pxb{animation:pxB linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
    .pxm{animation:pxM linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
    .pxf{animation:pxF linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
    @keyframes pxB{to{transform:translateY(-30px)}}
    @keyframes pxM{to{transform:translateY(-110px)}}
    @keyframes pxF{to{transform:translateY(-200px)}}
    .pipe-line{animation:plIn linear both;animation-timeline:view();animation-range:entry 40% cover 55%}
    @keyframes plIn{from{transform:scaleX(0)}}
  }
}

/* tablet + phone */
@media (max-width:980px){
  .nav-links .nl{display:none}
  .menu-btn{display:inline-flex}
  .mpanel{display:block;border-top:1px solid #E3E8EE;background:#FFFFFF;padding:10px 0 22px;max-height:calc(100vh - 68px);overflow-y:auto}
  .da .mlink{display:flex;align-items:center;justify-content:space-between;min-height:54px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:24px;letter-spacing:-.02em;color:#142334;text-decoration:none;border-bottom:1px solid #E3E8EE}
  .msub{display:flex;flex-wrap:wrap;gap:4px 18px;padding:6px 0 10px;border-bottom:1px solid #E3E8EE}
  .da .msub a{display:inline-flex;align-items:center;min-height:44px;color:#475467;font-weight:600;font-size:15px;text-decoration:none}
  .mpanel .btn{width:100%;margin-top:18px}
}
@media (max-width:900px){
  .wrap{padding:0 20px}
  .nav-in{height:68px;gap:12px}
  .nav-logo img{width:145px}
  .nav-links{gap:10px}
  .nav-links .btn{min-height:44px;padding:0 16px;font-size:15px}
  .hero{padding:40px 0 112px}
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .hero h1{margin-top:20px}
  .ctas{flex-direction:column;align-items:stretch}
  .stack{height:400px}
  .s-cap{bottom:-30px}
  .s-tbody{font-size:11px;padding:10px 12px 12px}
  .s-front{width:84% !important}
  .s-mid{width:64% !important}
  .chap{padding:84px 0 110px}
  .chap-head{grid-template-columns:minmax(0,1fr);margin-bottom:44px}
  .prod,.prod.rev{grid-template-columns:minmax(0,1fr);gap:32px}
  .prod.rev .p-visual{order:0}
  .prod + .prod{margin-top:80px}
  .p-visual{min-height:360px;border-radius:24px}
  .facts > div{grid-template-columns:minmax(0,1fr);gap:2px}
  .p-ctas{flex-direction:column;align-items:stretch}
  .p-ctas .tlink{justify-content:center}
  .flow{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:36px}
  .stage-col{top:76px;z-index:3;background:#1A3A5C;padding-bottom:10px}
  .stage{height:440px;border-radius:22px}
  .field{left:10px;right:10px;top:76px;bottom:10px}
  .frag{font-size:11.5px;padding:8px 10px;max-width:50%}
  .frag b{font-size:9px}
  .fcard{gap:10px;padding:0 12px}
  .fcard .ic{width:34px;height:34px}
  .fcard .src{display:none}
  .fcard strong{font-size:14px}
  .fcard .s{font-size:12px}
  .flow.is-live .step{min-height:460px}
  .c-ctas{flex-direction:column;align-items:stretch}
  .c-ctas .note{margin-left:0}
  .pipe-track,.pipe-line{left:27px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .pipe-line{animation:none !important}
  .pipe{grid-template-columns:minmax(0,1fr);gap:26px}
  .pstep{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 18px}
  .pstep h3{margin-top:12px}
  .evo{grid-template-columns:minmax(0,1fr);margin-top:64px}
  .evo-arrow{flex-direction:row;height:84px}
  .evo-arrow svg{transform:rotate(90deg)}
  .evo-arrow .mono{writing-mode:horizontal-tb}
  .fw,.troop{padding:26px;border-radius:24px}
  .about-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .founders{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:48px}
  .founder{grid-template-columns:96px minmax(0,1fr)}
  .contact-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .form{padding:22px;border-radius:24px}
  .opts,.row2{grid-template-columns:minmax(0,1fr)}
  .f-foot .btn{width:100%}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .foot-brand{grid-column:1 / -1}
  .sheet{border-radius:28px 28px 0 0;margin-top:-28px}
}
