/* Fonts: self-hosted copies of the exact Google Fonts files and @font-face rules the live bundle embeds.
   Archivo is declared at 400/700/800/900 (the brand pack's weights). The live bundle also declared
   500, but nothing on the site sets Archivo to 500, so dropping it changes no pixel. The ticker's
   font-weight:600 has no face of its own and renders with the 700 face, exactly as it does live. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url("/assets/fonts/archivo-vietnamese.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}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url("/assets/fonts/archivo-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url("/assets/fonts/archivo-latin.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}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url("/assets/fonts/archivo-vietnamese.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}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url("/assets/fonts/archivo-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url("/assets/fonts/archivo-latin.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}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url("/assets/fonts/archivo-vietnamese.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}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url("/assets/fonts/archivo-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url("/assets/fonts/archivo-latin.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}
@font-face{font-family:'Archivo';font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url("/assets/fonts/archivo-vietnamese.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}
@font-face{font-family:'Archivo';font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url("/assets/fonts/archivo-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url("/assets/fonts/archivo-latin.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}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/plexmono-400-cyrillic-ext.woff2") format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/plexmono-400-cyrillic.woff2") format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/plexmono-400-vietnamese.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}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/plexmono-400-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/plexmono-400-latin.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}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/plexmono-500-cyrillic-ext.woff2") format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/plexmono-500-cyrillic.woff2") format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/plexmono-500-vietnamese.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}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/plexmono-500-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url("/assets/fonts/plexmono-500-latin.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}

/* ==========================================================================
   Legarix site styles
   Every value below mirrors the inline styles of the live Claude Design
   bundle (built 2026-09-10). Where this file departs from it, a comment says
   why (mobile overflow fixes, form states the bundle never had).
   ========================================================================== */

html,body{margin:0;padding:0;font-family:Archivo,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
body{background:#F4F5F7;color:#1F2429}
body.dark{background:#3E444B;color:#F4F5F7}
a{color:#223A5E;text-decoration:none}
body.dark a{color:#F4F5F7}
a:hover{color:#1B9CE0}
::selection{background:#1B9CE0;color:#F4F5F7}
button,input,textarea,select{font-family:inherit}
img{max-width:100%}
.mono{font-family:'IBM Plex Mono',monospace}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:#1B9CE0;color:#FFFFFF!important;padding:10px 14px;font-weight:800;text-transform:uppercase;font-size:13px}
.skip:focus{top:12px}
:focus-visible{outline:2px solid #1B9CE0;outline-offset:2px}
.c-l{color:#4FB6EA}
.hl{background:#1B9CE0;color:#F4F5F7;padding:0.04em 0.09em 0.09em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* ---------- page wrappers ---------- */
.home{background:#3E444B;color:#F4F5F7;overflow-x:clip}

/* ---------- sticky header: ticker + bar ---------- */
.sticky{position:sticky;top:0;z-index:60}
.ticker{background:#223A5E;color:#FFFFFF;padding:12px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ticker-text{font-size:15px;font-weight:600;letter-spacing:-0.01em}
a.ticker-link,body.dark a.ticker-link{color:#FFFFFF;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;display:flex;align-items:center;gap:9px;white-space:nowrap}
a.ticker-link:hover,body.dark a.ticker-link:hover{color:#4FB6EA}
.ticker-link .arr{font-size:14px}
.bar{background:rgba(244,245,247,0.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 36px;border-bottom:1px solid #D5DAE0;height:68px}
a.brand,body.dark a.brand,a.brand:hover,body.dark a.brand:hover{display:flex;align-items:center;gap:11px;font-size:24px;font-weight:900;letter-spacing:-0.05em;text-transform:uppercase;color:#223A5E;flex-shrink:0}
/* Wordmark: Navy with the A in Cyan, the brand standard since 2026-10-07 (brand.md §01) */
.brand b{font-weight:inherit;color:#1B9CE0}
.brand img{width:34px;height:30px;object-fit:contain;display:block;flex-shrink:0}
.nav{display:flex;align-items:center;gap:18px;min-width:0;white-space:nowrap;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.03em;text-transform:uppercase}
.nav a,body.dark .nav a{color:#4A5560;border-bottom:2px solid transparent;padding-bottom:2px}
.nav a:hover,body.dark .nav a:hover{color:#1B9CE0}
.nav a.is-on,body.dark .nav a.is-on{color:#223A5E;border-bottom-color:#1B9CE0}
a.bar-cta,body.dark a.bar-cta{background:#223A5E;color:#FFFFFF;padding:11px 15px;font-size:12px;font-weight:800;text-transform:uppercase;white-space:nowrap;flex-shrink:0}
a.bar-cta:hover,body.dark a.bar-cta:hover{background:#1B9CE0;color:#FFFFFF}

/* ---------- shared bits ---------- */
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:#4FB6EA}
.label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#AEB6BE}
a.btn,body.dark a.btn{display:inline-block;background:#1B9CE0;color:#FFFFFF;font-weight:800;text-transform:uppercase}
a.btn:hover,body.dark a.btn:hover{background:#F4F5F7;color:#223A5E}

/* ---------- home: hero + audit widget ---------- */
.hero{scroll-margin-top:114px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));border-bottom:1px solid #545B63}
.bg-hero{background-color:#3E444B;background-image:linear-gradient(180deg,rgba(62,68,75,0) 0%,rgba(62,68,75,0.35) 100%),url("/assets/img/hero.jpg");background-image:linear-gradient(180deg,rgba(62,68,75,0) 0%,rgba(62,68,75,0.35) 100%),image-set(url("/assets/img/hero.webp") type("image/webp"),url("/assets/img/hero.jpg") type("image/jpeg"));background-size:cover;background-position:center top}
.hero-copy{padding:76px 48px 64px;border-right:1px solid #545B63;display:flex;flex-direction:column;justify-content:space-between;gap:52px}
.hero h1{margin:26px 0 0;font-size:clamp(48px,5.6vw,108px);line-height:0.84;font-weight:900;letter-spacing:-0.055em;text-transform:uppercase;color:#F4F5F7;text-wrap:pretty}
.hero-lede{margin:30px 0 0;font-size:19px;line-height:1.55;color:#C9D0D7;max-width:42ch}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.hero-btns a{padding:16px 26px;font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:-0.01em}
a.btn-ghost,body.dark a.btn-ghost{border:1px solid #6B737B;color:#F4F5F7}
a.btn-ghost:hover,body.dark a.btn-ghost:hover{border-color:#F4F5F7;color:#F4F5F7}
.kv{display:flex;flex-direction:column;border-top:1px solid #545B63}
.kv-row{display:grid;grid-template-columns:68px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid #4A5057}
.kv-k{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:#4FB6EA;padding-top:3px}
.kv-v{font-size:15px;line-height:1.5;color:#C9D0D7}

.widget{display:flex;flex-direction:column;background:rgba(46,51,57,0.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.w-head{padding:22px 40px 18px;border-bottom:1px solid #545B63;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.w-jobs{flex:1}
.job{width:100%;cursor:pointer;text-align:left;border:none;border-bottom:1px solid #4A5057;border-left:3px solid transparent;background:transparent;color:#F4F5F7;padding:16px 40px;display:grid;grid-template-columns:24px 1fr 96px;gap:18px;align-items:center;transition:background 140ms ease;margin:0;font-size:13.33px}
.job-box{width:15px;height:15px;border:2px solid #6B737B;background:transparent;display:block}
.job-label{font-size:20px;font-weight:700;letter-spacing:-0.03em}
.job-hrs{font-family:'IBM Plex Mono',monospace;font-size:12px;text-align:right;color:#8A929B}
.job[aria-pressed="true"]{background:#2E3339;border-left-color:#1B9CE0}
.job[aria-pressed="true"] .job-box{border-color:#1B9CE0;background:#1B9CE0}
.job[aria-pressed="true"] .job-hrs{color:#4FB6EA}
.job:hover{background:#40464D}
.w-foot{background:#2E3339;border-top:1px solid #545B63;padding:28px 40px 32px;display:flex;flex-direction:column;gap:18px}
.w-sum{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.w-sum-l{display:flex;flex-direction:column;gap:6px}
.w-rate{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.08em;color:#8A929B}
.w-sum-r{text-align:right}
.w-total{font-size:62px;line-height:0.8;font-weight:900;letter-spacing:-0.055em;color:#6B737B}
.w-cost{font-family:'IBM Plex Mono',monospace;font-size:15px;margin-top:10px;color:#6B737B}
.w-total.is-on{color:#4FB6EA}
.w-cost.is-on{color:#F4F5F7}
.w-bars{display:flex;height:8px;gap:2px}
.w-bars span{background:#4A5057}
.w-bars span.on{background:#1B9CE0}
.w-verdict{margin:0;font-size:15px;line-height:1.6;color:#AEB6BE;max-width:54ch}
a.w-cta,body.dark a.w-cta{background:#1B9CE0;color:#FFFFFF;padding:17px 24px;font-weight:800;font-size:17px;text-transform:uppercase;letter-spacing:-0.01em;display:flex;justify-content:space-between;align-items:center;gap:16px}
a.w-cta:hover,body.dark a.w-cta:hover{background:#F4F5F7;color:#223A5E}
.w-cta .arr{font-family:'IBM Plex Mono',monospace;font-size:13px}
.rule-blue{height:3px;background:#1B9CE0}

/* ---------- home: platform ---------- */
.platform{scroll-margin-top:114px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:64px;padding:92px 48px;align-items:center;background:#223A5E;border-bottom:1px solid #2F4A72}
.tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0;margin:0;padding:0;list-style:none}
.tool{background:#F4F5F7;border:1px solid #F4F5F7;padding:22px 12px 18px;text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
.tool:hover{border-color:#1B9CE0}
.tool img{width:36px;height:36px;display:block;object-fit:contain}
.tool span{font-size:13px;font-weight:700;letter-spacing:-0.02em;color:#223A5E}
.platform h2{margin:0;font-size:clamp(38px,3.9vw,66px);line-height:0.92;font-weight:900;letter-spacing:-0.05em;color:#F4F5F7}
.platform p{margin:26px 0 0;font-size:18px;line-height:1.65;color:#C9D0D7;max-width:50ch}
.platform a.btn{margin-top:30px;padding:15px 24px;font-size:15px}

/* ---------- home: what we build (tabs) ---------- */
.build{scroll-margin-top:114px;padding:92px 48px;background:#F4F5F7;border-bottom:1px solid #D5DAE0}
.build-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:40px}
.build-head h2{margin:0;font-size:clamp(38px,4vw,68px);line-height:0.92;font-weight:900;letter-spacing:-0.05em;text-transform:uppercase;color:#1B9CE0}
.build-head .label{color:#4A5560}
.panel{border:1px solid #545B63;background:#353A40}
.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid #545B63}
.tab{flex:1 1 140px;min-width:0;cursor:pointer;background:transparent;border:none;border-bottom:3px solid transparent;color:#AEB6BE;padding:16px 18px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin:0;font-size:13.33px}
.tab-n{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;color:#8A929B}
.tab-name{font-size:15px;font-weight:800;letter-spacing:-0.03em;text-transform:uppercase;white-space:nowrap}
.tab[aria-selected="true"]{background:#2E3339;color:#F4F5F7;border-bottom-color:#1B9CE0}
.tab[aria-selected="true"] .tab-n{color:#4FB6EA}
.tab:hover{background:#40464D}
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:48px;padding:46px 40px 48px;align-items:start}
.js .svc:not(.is-active){display:none}
.svc h3{margin:16px 0 0;font-size:40px;line-height:0.98;font-weight:900;letter-spacing:-0.045em;text-transform:uppercase;color:#F4F5F7}
.svc p{margin:20px 0 0;font-size:17px;line-height:1.6;color:#C9D0D7;max-width:46ch}
.svc a.btn{margin-top:28px;padding:14px 22px;font-size:14px}
.points{display:flex;flex-direction:column;border-top:1px solid #545B63;margin:0;padding:0;list-style:none}
.points li{display:grid;grid-template-columns:18px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid #4A5057;align-items:start}
.points li::before{content:"";width:8px;height:8px;background:#1B9CE0;display:block;margin-top:7px}
.points span{font-size:16px;line-height:1.5;color:#DDE2E7}

/* ---------- home: how it runs (accordion) ---------- */
.run{scroll-margin-top:114px;padding:92px 48px;border-bottom:1px solid #545B63}
.run-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:56px;align-items:start}
.run h2{margin:20px 0 0;font-size:clamp(34px,3.4vw,56px);line-height:0.94;font-weight:900;letter-spacing:-0.05em;color:#F4F5F7}
.run-lede{margin:22px 0 0;font-size:16px;line-height:1.6;color:#AEB6BE;max-width:38ch}
.step{border-bottom:1px solid #4A5057;border-left:3px solid transparent}
.step.is-open{border-left-color:#1B9CE0}
.step-btn{width:100%;cursor:pointer;background:transparent;border:none;color:#F4F5F7;padding:22px 26px;display:grid;grid-template-columns:44px 1fr 28px;gap:16px;align-items:center;text-align:left;margin:0;font-size:13.33px}
.step-btn:hover{background:#40464D}
.step-n{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;color:#8A929B}
.step-name{font-size:21px;font-weight:800;letter-spacing:-0.03em}
.step-sign{font-size:20px;text-align:right;color:#8A929B}
.step.is-open .step-n,.step.is-open .step-sign{color:#4FB6EA}
.step-body{padding:0 26px 26px 86px;display:flex;flex-direction:column;gap:14px}
.js .step:not(.is-open) .step-body{display:none}
.step-body p{margin:0;font-size:16px;line-height:1.6;color:#C9D0D7;max-width:60ch}
.step-meta{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#4FB6EA}

/* ---------- home: tasks, never people ---------- */
.never{background:#F4F5F7;color:#1F2429;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.never-l{padding:76px 48px;border-right:2px solid #223A5E}
.never h2{margin:0;font-size:clamp(40px,4.4vw,76px);line-height:0.86;font-weight:900;letter-spacing:-0.055em;text-transform:uppercase;color:#223A5E;text-wrap:pretty}
.never h2 span{color:#1B9CE0}
.never-r{padding:76px 48px;display:flex;flex-direction:column;gap:22px;justify-content:center}
.never-r p{margin:0;font-size:19px;line-height:1.65;color:#2E3339;max-width:52ch}
.terms{display:flex;flex-direction:column;border-top:2px solid #223A5E}
.terms div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid #C9D0D7}
.terms dt{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:#4A5560;padding-top:3px}
.terms dd{margin:0;font-size:15px;line-height:1.5;color:#1F2429}
.terms{margin:0}

/* ---------- CTA band (big on home, compact elsewhere) ---------- */
.band{position:relative;overflow:hidden;background:linear-gradient(105deg,#12284A 0%,#223A5E 45%,#1580BC 80%,#1B9CE0 100%);color:#FFFFFF;padding:88px 48px;display:flex;flex-direction:column;align-items:center;gap:26px;text-align:center}
.band-lines{position:absolute;inset:-40% -20% -40% -30%;background:repeating-radial-gradient(ellipse 760px 1500px at 6% 112%,rgba(79,182,234,0.7) 0 2.5px,rgba(79,182,234,0) 2.5px 30px);-webkit-mask-image:linear-gradient(96deg,#000 0%,rgba(0,0,0,0.72) 26%,rgba(0,0,0,0.22) 48%,transparent 66%);mask-image:linear-gradient(96deg,#000 0%,rgba(0,0,0,0.72) 26%,rgba(0,0,0,0.22) 48%,transparent 66%);pointer-events:none}
.band-mark{position:absolute;right:-40px;bottom:-60px;width:420px;max-width:none;opacity:0.14;pointer-events:none;filter:grayscale(1) brightness(1.6)}
.band h2{position:relative;margin:0;font-size:clamp(36px,4.2vw,68px);line-height:0.9;font-weight:900;letter-spacing:-0.055em;text-transform:uppercase;max-width:18ch;text-wrap:pretty}
.band p{position:relative;margin:0;font-size:18px;line-height:1.55;max-width:52ch;opacity:0.94}
a.band-btn,body.dark a.band-btn{position:relative;background:#F4F5F7;color:#223A5E;padding:18px 32px;font-size:17px;font-weight:800;text-transform:uppercase;letter-spacing:-0.01em;margin-top:8px}
a.band-btn:hover,body.dark a.band-btn:hover{background:#1F2429;color:#F4F5F7}
.band.compact{padding:56px 48px;gap:18px}
.band.compact .band-mark{width:300px}
.band.compact h2{font-size:clamp(30px,3.2vw,48px)}
.band.compact a.band-btn{padding:15px 26px;font-size:15px}

/* ---------- footer ---------- */
.foot{padding:26px 48px 36px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#AEB6BE;background:#3E444B}
.home .foot{background:transparent}
.foot-brand{display:flex;align-items:center;gap:10px}
.foot-brand img{width:22px;height:20px;object-fit:contain;display:block;flex-shrink:0}
.foot-links{display:flex;gap:26px}
.foot a,.foot a:hover,body.dark .foot a,body.dark .foot a:hover{color:#AEB6BE}

/* ---------- contact / audit / blog masthead ---------- */
.mast{color:#F4F5F7}
.mast-in{max-width:1200px;margin:0 auto;padding:112px 32px 120px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:64px;align-items:start}
.mast-col{display:flex;flex-direction:column;gap:24px}
.mast .eyebrow{font-weight:500;font-size:12px}
.mast h1{margin:0;font-weight:900;font-size:clamp(40px,5.5vw,80px);line-height:0.9;letter-spacing:-0.055em;text-transform:uppercase;color:#F4F5F7;text-wrap:pretty}
.mast-lede{margin:0;font-size:18px;line-height:1.55;color:#C9D0D7;max-width:520px;text-wrap:pretty}
.rows{display:flex;flex-direction:column;border-top:1px solid #6B737B;max-width:520px;margin:0;padding:0}
.rows>div{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #6B737B}
.rows dt{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#4FB6EA}
.rows dd{margin:0}
.rows a,body .rows a{font-weight:800;font-size:20px;letter-spacing:-0.03em;color:#F4F5F7}
.rows a:hover,body .rows a:hover{color:#4FB6EA}
.rows a.upper{text-transform:uppercase}
.rows.facts>div{align-items:start}
.rows.facts dt{padding-top:4px}
.rows.facts dd{font-size:17px;line-height:1.5;color:#F4F5F7;font-weight:600;letter-spacing:-0.01em}

/* ---------- forms (contact + audit) ---------- */
.card{display:flex;flex-direction:column;gap:16px;background:#FFFFFF;border:1px solid #D5DAE0;padding:40px;color:#1F2429;margin:0}
.card h2{margin:0 0 4px;font-size:26px;line-height:1;font-weight:900;letter-spacing:-0.04em;text-transform:uppercase;color:#223A5E}
.card-note{margin:-8px 0 4px;font-size:14px;line-height:1.5;color:#4A5560}
.field{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}
.field-label,.field legend{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#4A5560;padding:0}
.field legend{margin-bottom:8px}
.input{border:1px solid #D5DAE0;border-left:3px solid #D5DAE0;border-radius:0;background:#F4F5F7;color:#1F2429;font-size:15px;padding:14px 16px;width:100%;margin:0}
textarea.input{resize:vertical}
select.input{-webkit-appearance:none;appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23223A5E' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.input:focus{outline:none;border-left-color:#1B9CE0!important}
.input[aria-invalid="true"]{border-left-color:#B3261E}
.field-error{margin:0;font-size:13px;line-height:1.4;color:#B3261E;font-weight:600}
.field-hint{margin:0;font-size:13px;line-height:1.4;color:#4A5560}
.submit{align-self:flex-start;margin-top:8px;border:0;cursor:pointer;background:#223A5E;color:#F4F5F7;font-weight:800;font-size:15px;text-transform:uppercase;padding:18px 28px}
.submit:hover{background:#F4F5F7;color:#223A5E;box-shadow:inset 0 0 0 1px #223A5E}
.submit[disabled]{cursor:progress;opacity:0.7}
.form-fail{margin:0;font-size:14px;color:#B3261E}
.form-fail a{color:#B3261E;text-decoration:underline}
.sent{border-left:3px solid #1B9CE0;padding:8px 0 8px 24px;font-size:17px;line-height:1.55}
.sent p{margin:0;color:#C9D0D7}
.sent p.sent-head{font-weight:800;color:#F4F5F7}
.sent p+p{margin-top:8px}
.sent:focus{outline:none}
.hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.noscript{margin:0;font-size:14px;line-height:1.5;color:#1F2429;background:#F4F5F7;border-left:3px solid #1B9CE0;padding:12px 14px}
.noscript a{color:#223A5E;text-decoration:underline}

/* audit form extras */
.chips{display:none;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}
.js .chips{display:flex}
/* Hard edges, hairline rules; interaction lights the blue left edge (brand pack components rule) */
.chip{cursor:pointer;border:1px solid #D5DAE0;border-left:3px solid #D5DAE0;border-radius:0;background:#F4F5F7;color:#223A5E;font-size:13px;font-weight:700;letter-spacing:-0.01em;padding:9px 12px;line-height:1.2;text-align:left;margin:0}
.chip::before{content:"+ ";font-family:'IBM Plex Mono',monospace;color:#4A5560}
.chip:hover{border-left-color:#1B9CE0}
.chip[aria-pressed="true"]{background:#FFFFFF;border-color:#1B9CE0;border-left-color:#1B9CE0;color:#223A5E}
.chip[aria-pressed="true"]::before{content:"\2713  ";color:#1B9CE0}
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg label{flex:1 1 120px;display:flex;align-items:center;gap:10px;border:1px solid #D5DAE0;border-left:3px solid #D5DAE0;background:#F4F5F7;padding:13px 16px;cursor:pointer;font-size:15px;font-weight:700;color:#1F2429}
.seg input{accent-color:#1B9CE0;width:16px;height:16px;margin:0;flex-shrink:0}
.seg label:has(input:checked){border-left-color:#1B9CE0;background:#FFFFFF;border-color:#1B9CE0}
.seg label:has(input:focus-visible){outline:2px solid #1B9CE0;outline-offset:2px}

/* ---------- blog ---------- */
.blog-mast .mast-in{display:flex;flex-direction:column;gap:24px;padding:112px 32px 80px}
.blog-mast h1{font-size:clamp(40px,6vw,88px);max-width:1000px}
.blog-mast .mast-lede{max-width:640px}
.blog-list{background:#F4F5F7}
.blog-list-in{max-width:1200px;margin:0 auto;padding:64px 32px 120px}
.empty{border-left:3px solid #1B9CE0;padding:8px 0 8px 24px;max-width:640px;display:flex;flex-direction:column;gap:12px}
.empty p{margin:0;font-size:16px;line-height:1.6;text-wrap:pretty}
.empty p.empty-head{font-weight:800;font-size:22px;letter-spacing:-0.03em;color:#223A5E}
.empty a{color:#1B9CE0;text-decoration:underline}
.post-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:16px}
.post-card{margin:0}
.post-card a{display:flex;flex-direction:column;height:100%;background:#FFFFFF;border:1px solid #D5DAE0;border-left:3px solid #D5DAE0;padding:28px;color:#1F2429}
.post-card a:hover{border-left-color:#1B9CE0;color:#1F2429}
.post-card-date{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#4A5560}
.post-card-title{margin:12px 0 0;font-size:24px;line-height:1.1;font-weight:800;letter-spacing:-0.03em;color:#223A5E}
.post-card-desc{margin:12px 0 0;font-size:16px;line-height:1.6;color:#1F2429}
.post-card-more{margin-top:auto;padding-top:18px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#1B9CE0}

.post-mast .mast-in{display:flex;flex-direction:column;gap:22px;padding:96px 32px 72px;max-width:920px}
.post-mast h1{font-size:clamp(34px,4.6vw,64px);line-height:0.96;letter-spacing:-0.05em;text-transform:none}
.post-meta{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#AEB6BE}
.post-meta a,body .post-meta a{color:#4FB6EA}
.post-body{background:#F4F5F7}
.prose{max-width:720px;margin:0 auto;padding:64px 32px 88px;font-size:18px;line-height:1.7;color:#1F2429}
.prose>*:first-child{margin-top:0}
.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose table{margin:0 0 1.15em}
.prose h2{margin:1.9em 0 0.6em;font-size:30px;line-height:1.1;font-weight:900;letter-spacing:-0.04em;color:#223A5E}
.prose h3{margin:1.6em 0 0.5em;font-size:22px;line-height:1.2;font-weight:800;letter-spacing:-0.03em;color:#223A5E}
.prose a{color:#1580BC;text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:#1B9CE0}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin:0.35em 0}
.prose li::marker{color:#1B9CE0}
.prose blockquote{border-left:3px solid #1B9CE0;padding:4px 0 4px 22px;color:#2E3339;font-size:19px}
.prose code{font-family:'IBM Plex Mono',monospace;font-size:0.88em;background:#E6E9ED;padding:0.1em 0.35em}
.prose pre{background:#2E3339;color:#F4F5F7;padding:18px 20px;overflow-x:auto}
.prose pre code{background:none;padding:0;color:inherit}
.prose img{height:auto;display:block}
.prose hr{border:0;border-top:1px solid #C9D0D7;margin:2em 0}
.prose table{border-collapse:collapse;width:100%;font-size:16px;display:block;overflow-x:auto}
.prose th,.prose td{border-bottom:1px solid #C9D0D7;padding:10px 12px;text-align:left}
.post-back{max-width:720px;margin:0 auto;padding:0 32px 72px;font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase}
.post-back a{color:#223A5E}

/* ---------- 404 ---------- */
.nf .mast-in{display:flex;flex-direction:column;gap:24px;padding:120px 32px 140px}
.nf-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.nf-btns a{padding:16px 26px;font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:-0.01em}

/* ---------- narrow screens ----------
   The live bundle has no breakpoints: under ~860px its nav links run
   underneath the "Book a free audit" button and push the page sideways
   (contact.html scrolls to 597px wide on a 390px phone). Hiding the
   in-page links there, and pulling the bar padding in on phones, is the one
   deliberate visual change. Everything else reflows as the bundle does. */
@media (max-width:860px){.nav{display:none}}
@media (max-width:480px){
  .bar{padding:14px 20px}
  .audit-card{padding:24px 20px}
}
