/* cyrillic-ext */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/43bd439a-a55e-45a6-b304-577ce2759609.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/e4a247eb-a1ac-4c3d-b439-2245d47d5861.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/d78eb019-11e5-4da7-aeef-2236b648896e.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/37ffcfea-e248-4437-9f67-86dbfdf7c8b4.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/3931b0ec-e609-40b5-9f56-c1edca898250.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f8eb87ef-e957-4b09-8024-0274e0bdb629.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/b84778a1-c863-4798-9d9e-0b2388688862.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/efd7446e-81c7-4878-a5a2-fe7c0bb54cc2.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/ac2c603f-8e79-4f47-a94d-bda03e917878.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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/5d69f69a-3d85-4280-86b9-6e7dfdad42e4.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 */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/f5488cce-fb40-4f66-b98f-5fae44ddd602.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/32dd50c9-4dd8-4990-b6eb-8fc4a321aaad.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: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/17a804cb-3f2e-4e6a-87b7-cac604911cab.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 */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/f5488cce-fb40-4f66-b98f-5fae44ddd602.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/32dd50c9-4dd8-4990-b6eb-8fc4a321aaad.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: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/17a804cb-3f2e-4e6a-87b7-cac604911cab.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 */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f5488cce-fb40-4f66-b98f-5fae44ddd602.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/32dd50c9-4dd8-4990-b6eb-8fc4a321aaad.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: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/17a804cb-3f2e-4e6a-87b7-cac604911cab.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 */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/f5488cce-fb40-4f66-b98f-5fae44ddd602.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/32dd50c9-4dd8-4990-b6eb-8fc4a321aaad.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: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/17a804cb-3f2e-4e6a-87b7-cac604911cab.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;
}

:root{--navy:#0A1633;--deep:#071026;--harbour:#1B315D;--indigo:#2A327A;--teal:#009FAE;--sky:#1BB5D6;--aqua:#7FD6E6;
--deepteal:#00737E;--mist:#F3F6FA;--line:#DCE3EC;--slate:#44526A;--grey:#5A6880;--steel:#8C9CB8;--fog:#C9D3E3;
--gutter:clamp(20px,4vw,32px);--mono:'IBM Plex Mono',ui-monospace,monospace}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-color:var(--steel) var(--mist)}
body{margin:0;background:#fff;font-family:'Jost','Century Gothic','Avenir Next',sans-serif;color:var(--navy);-webkit-font-smoothing:antialiased}
a{color:var(--deepteal);text-underline-offset:.2em}a:hover{color:var(--navy)}
img{max-width:100%}
::selection{background:var(--sky);color:var(--navy)}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;padding:10px 16px;background:var(--navy);color:#fff;border-radius:4px}
.skip:focus{left:16px}
/* group bar */
.group{background:var(--deep);color:#fff}
.group .wrap{min-height:40px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 22px;font-size:14px}
.group span{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.group a{color:var(--fog);text-decoration:none;padding:9px 0}.group a:hover{color:#fff}
.group a[aria-current]{color:#fff;font-weight:500;border-bottom:2px solid var(--sky)}
@media (max-width:640px){.group span{display:none}}
/* header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.site-header .wrap{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{position:relative;display:block;width:200px;height:47px;flex-shrink:0}
.logo img{position:absolute;left:0;top:0;width:20.697%;height:100%}
.logo img.wm{left:21.895%;top:21.296%;width:78.105%;height:50%}
.nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,34px);font-size:16px;font-weight:500}
.nav a,.btn{white-space:nowrap}
.nav a{color:var(--harbour);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent;transition:border-color .2s ease,color .2s ease}
.nav a:hover,.nav a[aria-current]{color:var(--deepteal);border-bottom-color:var(--sky)}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:4px;font-size:16px;font-weight:500;text-decoration:none;transition:background .2s ease}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--harbour);color:#fff}
.btn-sky{background:var(--sky);color:var(--navy)}.btn-sky:hover{background:#5FCCE3;color:var(--navy)}
.menu{display:none}
.menu summary{list-style:none;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border:1.5px solid var(--harbour);border-radius:4px;color:var(--harbour);font-size:16px;font-weight:500;cursor:pointer}
.menu summary::-webkit-details-marker{display:none}
.menu .panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);padding:8px var(--gutter) 24px;display:flex;flex-direction:column;box-shadow:0 20px 30px -20px rgba(10,22,51,.35)}
.menu .panel a{display:flex;align-items:center;min-height:56px;border-bottom:1px solid var(--line);font-size:19px;font-weight:500;color:var(--harbour);text-decoration:none}
.menu .panel .btn{margin-top:16px;justify-content:center;border:0;color:#fff}
@media (max-width:1099px){.nav,.header-cta{display:none}.menu{display:block}}
/* page hero */
.hero{position:relative;overflow:hidden;background:var(--navy);background-image:radial-gradient(55% 90% at 85% 20%,rgba(42,50,122,.65),transparent 70%),radial-gradient(40% 80% at 5% 120%,rgba(0,159,174,.2),transparent 70%);color:#fff}
.hero .wrap{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,6vw,72px)}
.crumbs{margin:0 0 28px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--aqua)}
.crumbs a{color:var(--aqua);text-decoration:none}.crumbs a:hover{color:#fff}
.crumbs li+li::before{content:'/';margin-right:8px;color:var(--steel)}
.hero h1{margin:0;max-width:18ch;font-size:clamp(40px,5.4vw,72px);line-height:1;font-weight:500;letter-spacing:-.025em;text-wrap:balance}
.hero p.lead{margin:24px 0 0;max-width:60ch;font-size:clamp(18px,1.5vw,21px);line-height:1.6;font-weight:300;color:var(--fog);text-wrap:pretty}
.hero .meta{margin:28px 0 0;font-family:var(--mono);font-size:13px;letter-spacing:.08em;color:var(--aqua)}
/* body */
.doc .wrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:72px;padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(64px,8vw,112px)}
.toc{position:sticky;top:112px;align-self:start}
.toc h2,.toc summary{margin:0 0 14px;font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.toc ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.toc li a{display:grid;grid-template-columns:30px 1fr;gap:6px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.4;color:var(--slate);text-decoration:none}
.toc li a span{font-family:var(--mono);font-size:12px;color:var(--steel);padding-top:2px}
.toc li a:hover{color:var(--navy)}.toc li a:hover span{color:var(--deepteal)}
.toc details{display:none}
article{max-width:720px}
article section{padding:36px 0;border-top:1px solid var(--line);scroll-margin-top:110px}
article section:first-child{border-top:0;padding-top:0}
article h2{margin:0 0 18px;display:flex;gap:16px;align-items:baseline;font-size:clamp(24px,2.4vw,30px);line-height:1.2;font-weight:500;letter-spacing:-.01em;color:var(--navy)}
article h2 span{font-family:var(--mono);font-size:14px;font-weight:400;color:var(--deepteal);letter-spacing:0;flex:0 0 auto}
article h3{margin:26px 0 10px;font-size:18px;font-weight:600;color:var(--navy)}
article p,article li,article dd{font-size:18px;line-height:1.7;color:var(--slate)}
article p{margin:0 0 14px;text-wrap:pretty}article p:last-child{margin-bottom:0}
article ul{margin:4px 0 16px;padding:0;list-style:none}
article li{position:relative;padding-left:26px;margin:0 0 8px}
article li::before{content:'';position:absolute;left:2px;top:.85em;width:12px;height:2px;background:var(--sky)}
article strong{font-weight:600;color:var(--navy)}
.facts{margin:0 0 16px;display:grid;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.facts div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:14px 18px;border-top:1px solid var(--line);background:#fff}
.facts div:first-child{border-top:0}
.facts dt{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);padding-top:5px}
.facts dd{margin:0;color:var(--navy)}
.help{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;padding:clamp(24px,3vw,36px);border-radius:8px;background:var(--mist)}
.help h2{margin:0 0 6px;font-size:22px;font-weight:500}
.help p{margin:0;font-size:16px;color:var(--slate)}
@media (max-width:979px){.doc .wrap{grid-template-columns:minmax(0,1fr);gap:28px}.toc{position:static}.toc>h2,.toc>ol{display:none}
 .toc details{display:block;border:1px solid var(--line);border-radius:6px;padding:0 16px}
 .toc details summary{margin:0;padding:16px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
 .toc details summary::-webkit-details-marker{display:none}.toc details summary::after{content:'+';font-size:18px;color:var(--deepteal)}
 .toc details[open] summary::after{content:'–'}.toc details ol{margin-bottom:12px}}
/* footer */
footer{background:var(--deep);color:var(--fog)}
footer .wrap{padding-top:72px;padding-bottom:32px;display:flex;flex-direction:column;gap:56px}
.fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:40px 48px}
.fcols>div{display:flex;flex-direction:column;gap:14px}
.flogo{position:relative;width:260px;max-width:100%;aspect-ratio:1836/432}
.flogo img{position:absolute}
.fcols h2{margin:0 0 4px;font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.fcols a{color:#E4EAF3;text-decoration:none;font-size:16px}.fcols a:hover{color:var(--sky)}
.fcols p{margin:0;font-size:15px;line-height:1.6;color:var(--steel);max-width:32ch}
.creds{display:flex;align-items:center;gap:28px;margin-top:10px}
.creds a{display:block;line-height:0;border-radius:4px;transition:transform .25s ease,filter .25s ease}
.creds a:hover{transform:translateY(-2px);filter:brightness(1.12)}
.creds img{display:block;width:51px;height:64px}.creds img.aif{width:109px;height:36px;opacity:.9}
.fbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;color:var(--steel)}
.fbar div{display:flex;flex-wrap:wrap;gap:12px 24px}
.fbar a{color:var(--fog);text-decoration:none}.fbar a:hover,.fbar a[aria-current]{color:#fff}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.group,.site-header,.toc,footer,.help{display:none}.hero{background:none;color:#000}.hero p.lead,.hero .meta,.crumbs{color:#333}article p,article li{color:#000}}

.btn-ghost{border:1.5px solid rgba(255,255,255,.4);color:#fff}.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06);color:#fff}
.btn-line{border:1.5px solid var(--navy);color:var(--navy)}.btn-line:hover{background:var(--navy);color:#fff}
.kick{margin:0;font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--aqua)}
.kick.dark{color:var(--deepteal)}
.sec{padding:clamp(72px,9vw,120px) 0}
.sec.mist{background:var(--mist)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 64px;margin-bottom:clamp(32px,4vw,48px)}
.sec-head h2{margin:0;max-width:20ch;font-size:clamp(32px,3.6vw,50px);line-height:1.04;font-weight:500;letter-spacing:-.02em;color:var(--navy);text-wrap:balance}
.sec-head h2 em{font-style:normal;color:var(--sky)}
.sec-head p{margin:0;max-width:46ch;font-size:18px;line-height:1.6;color:var(--slate);text-wrap:pretty}
/* hero */
.ihero .wrap{position:relative;padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.ihero h1{max-width:16ch}
.hero h1{margin-top:0}
.ihero .ghostnum{position:absolute;right:var(--gutter);bottom:clamp(24px,4vw,48px);font-size:clamp(120px,18vw,260px);line-height:.8;font-weight:500;letter-spacing:-.05em;color:rgba(255,255,255,.06);pointer-events:none}
.ihero .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.ihero .tally{display:flex;flex-wrap:wrap;gap:8px 28px;margin:40px 0 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.14);font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--fog)}
.ihero .tally b{font-weight:500;color:#fff;margin-right:6px}
@media (max-width:719px){.ihero .ghostnum{display:none}.ihero .tally{gap:6px 14px}.ihero .tally span{display:none}}
/* capability switcher */
.capbar{position:sticky;top:78px;z-index:30;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.capbar .wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:10px;padding-bottom:10px}
.capbar .wrap::-webkit-scrollbar{display:none}
@media (min-width:1280px){.capbar .wrap{justify-content:space-between}}
.capbar a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);font-size:14.5px;font-weight:500;color:var(--harbour);text-decoration:none;white-space:nowrap;transition:border-color .2s,background .2s,color .2s}
.capbar a span{font-family:var(--mono);font-size:12px;color:var(--steel)}
.capbar a:hover{border-color:var(--sky);color:var(--navy)}
.capbar a[aria-current]{background:var(--navy);border-color:var(--navy);color:#fff}.capbar a[aria-current] span{color:var(--aqua)}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:24px}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr))}
.card{position:relative;display:flex;flex-direction:column;gap:14px;padding:clamp(26px,2.6vw,34px);border-radius:8px;background:#fff;border:1px solid var(--line);color:inherit;text-decoration:none;transition:border-color .25s ease,transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.card:hover{border-color:var(--sky);transform:translateY(-3px);box-shadow:0 24px 40px -28px rgba(10,22,51,.45)}
.card .tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.tag{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;background:#E4F5F8;color:var(--deepteal)}
.tag.article{background:#E9ECF8;color:var(--indigo)}.tag.brochure{background:#FFF1E2;color:#8A4B0B}
.tag.also{background:transparent;border:1px solid var(--fog);color:var(--grey)}
.card h3{margin:0;font-size:21px;line-height:1.25;font-weight:500;letter-spacing:-.005em;color:var(--navy);text-wrap:balance}
.card p{margin:0;font-size:16px;line-height:1.6;color:var(--slate);text-wrap:pretty}
.card .foot{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;font-size:14px}
.card .foot .meta{color:var(--grey)}
.card .foot .go{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--deepteal)}
.card:hover .go svg{transform:translateX(3px)}.go svg{transition:transform .25s ease}
.result{background:var(--navy);border-color:var(--navy);color:#fff;background-image:radial-gradient(80% 90% at 100% 0%,rgba(42,50,122,.7),transparent 70%)}
.result:hover{border-color:var(--sky)}
.result .big{margin:6px 0 4px;font-size:clamp(28px,2.8vw,38px);line-height:1.08;font-weight:500;letter-spacing:-.02em;color:#fff;text-wrap:balance}
.result .big::before{content:'';display:block;width:36px;height:3px;margin-bottom:18px;background:var(--sky)}
.result h3{font-size:17px;font-weight:400;color:var(--fog)}
.result p{color:var(--steel);font-size:15px}
.result .foot .meta{color:var(--steel)}.result .foot .go{color:var(--aqua)}
.result .tag{background:rgba(127,214,230,.14);color:var(--aqua)}.result .tag.also{border-color:rgba(255,255,255,.25);color:var(--fog);background:transparent}
/* feature article */
.thinking{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px}
.thinking .stack{display:grid;gap:24px}
.feature{padding:0;overflow:hidden}
.feature .pic{aspect-ratio:16/8.4;background:#EEF2F7;overflow:hidden}
.feature .pic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.feature:hover .pic img{transform:scale(1.03)}
.feature .body{display:flex;flex-direction:column;gap:14px;padding:clamp(26px,2.6vw,34px);flex:1}
.feature h3{font-size:clamp(24px,2.2vw,30px);line-height:1.15}
.byline{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--grey)}
.byline img{width:36px;height:36px;border-radius:50%;object-fit:cover;background:var(--mist)}
.byline b{display:block;font-weight:500;color:var(--navy)}
.thinking.solo{grid-template-columns:minmax(0,1fr)}.thinking.solo .stack{display:none}
.thinking.solo .feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.thinking.solo .feature .pic{aspect-ratio:auto;min-height:320px}
@media (max-width:899px){.thinking,.thinking.solo .feature{grid-template-columns:minmax(0,1fr)}.thinking.solo .feature .pic{min-height:0;aspect-ratio:16/8.4}}
/* brochure band */
.promo{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center;margin-top:24px;padding:clamp(28px,3.4vw,44px);border-radius:8px;background:var(--mist);border:1px solid var(--line)}
.promo .cover{display:block;aspect-ratio:16/9;border-radius:4px;overflow:hidden;box-shadow:0 24px 40px -24px rgba(10,22,51,.55);transform:rotate(-2deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.promo:hover .cover{transform:rotate(0) translateY(-4px)}
.promo .cover img{display:block;width:100%;height:100%;object-fit:cover}
.promo .copy{display:flex;flex-direction:column;align-items:flex-start}
.promo h3{margin:14px 0 10px;font-size:clamp(24px,2.4vw,32px);line-height:1.12;font-weight:500;letter-spacing:-.015em}
.promo p{margin:0 0 22px;max-width:60ch;font-size:17px;line-height:1.6;color:var(--slate)}
@media (max-width:719px){.promo{grid-template-columns:minmax(0,1fr)}.promo .cover{max-width:320px}}
/* faq */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:clamp(32px,6vw,96px);align-items:start}
.faq .intro{position:sticky;top:160px}
.faq .intro h2{margin:14px 0 18px;font-size:clamp(32px,3.6vw,50px);line-height:1.04;font-weight:500;letter-spacing:-.02em;text-wrap:balance}
.faq .intro p{margin:0 0 28px;font-size:18px;line-height:1.6;color:var(--slate)}
.qa{border-top:1px solid var(--fog)}
.qa details{border-bottom:1px solid var(--fog)}
.qa summary{list-style:none;display:grid;grid-template-columns:44px minmax(0,1fr) 36px;gap:12px;align-items:center;min-height:76px;padding:20px 0;cursor:pointer;font-size:clamp(18px,1.6vw,21px);line-height:1.35;font-weight:500;color:var(--navy)}
.qa summary::-webkit-details-marker{display:none}
.qa summary span{font-family:var(--mono);font-size:13px;color:var(--deepteal)}
.qa summary i{display:flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--fog);color:var(--deepteal);transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s,color .3s}
.qa details[open] summary i{transform:rotate(45deg);background:var(--navy);border-color:var(--navy);color:var(--sky)}
.qa summary:hover{color:var(--deepteal)}
.qa .a{padding:0 48px 26px 56px}
.qa .a p{margin:0;font-size:17px;line-height:1.7;color:var(--slate);text-wrap:pretty}
@media (max-width:899px){.faq{grid-template-columns:minmax(0,1fr)}.faq .intro{position:static}.qa .a{padding:0 0 24px 56px}}
/* dark bands */
.band{position:relative;overflow:hidden;background:var(--navy);color:#fff}
.band::before{content:'';position:absolute;right:-12%;top:-40%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(42,50,122,.7),transparent 65%);pointer-events:none}
.band .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 64px;align-items:center;padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(64px,8vw,104px)}
.band h2{margin:14px 0 14px;max-width:22ch;font-size:clamp(30px,3.2vw,44px);line-height:1.06;font-weight:500;letter-spacing:-.02em;text-wrap:balance}
.band p{margin:0;max-width:56ch;font-size:18px;line-height:1.6;font-weight:300;color:var(--fog)}
.band .acts{display:flex;flex-wrap:wrap;gap:12px}
.band .idx{display:block;width:150px;aspect-ratio:153/224;border-radius:4px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);transform:rotate(4deg)}
.band .idx img{display:block;width:100%;height:100%;object-fit:cover}
.band.cta{background:var(--deep)}
@media (max-width:719px){.band .wrap{grid-template-columns:minmax(0,1fr)}.band .idx{display:none}}
/* library */
.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.chips .lbl{min-width:100px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.chip{min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--fog);background:#fff;font:inherit;font-size:15px;color:var(--harbour);cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.chip:hover{border-color:var(--sky)}
.chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.status{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;margin-bottom:24px;border-top:1px solid var(--line);font-size:15px;color:var(--slate)}
.status strong{color:var(--navy);font-weight:500}
.linkbtn{min-height:44px;background:none;border:0;font:inherit;font-size:15px;font-weight:500;color:var(--deepteal);text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
/* capability tiles */
.caps{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cap{display:flex;flex-direction:column;gap:12px;padding:clamp(26px,3vw,36px);background:#fff;color:inherit;text-decoration:none;transition:background .25s ease}
.cap:hover{background:var(--mist)}
.cap .n{font-family:var(--mono);font-size:13px;letter-spacing:.12em;color:var(--deepteal)}
.cap h3{margin:0;font-size:22px;line-height:1.2;font-weight:500;color:var(--navy)}
.cap p{margin:0;font-size:16px;line-height:1.55;color:var(--slate)}
.cap .foot{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--grey)}
.cap .foot .go{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--deepteal)}
.soon{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);border:1px dashed var(--fog);border-radius:999px;padding:4px 10px}
/* article */
.ahero .wrap{padding-top:clamp(44px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}
.ahero h1{max-width:22ch;font-size:clamp(36px,4.6vw,62px);line-height:1.04}
.ahero .lead{max-width:54ch}
.ahero .who{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:36px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}
.ahero .who .byline{color:var(--fog)}.ahero .who .byline b{color:#fff}.ahero .who .byline img{width:48px;height:48px}
.ahero .who .when{display:flex;flex-wrap:wrap;gap:8px 24px;font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--aqua)}
.read .wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:clamp(40px,6vw,96px);padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(64px,8vw,112px)}
.prose{max-width:720px;min-width:0}
.prose>p:first-of-type::first-letter{float:left;margin:6px 12px 0 0;font-size:76px;line-height:.8;font-weight:500;color:var(--navy)}
.prose p,.prose li{font-size:19px;line-height:1.72;color:var(--slate);text-wrap:pretty}
.prose p{margin:0 0 22px}
.prose h2,.author h2{display:block}
.prose h2{margin:56px 0 20px;scroll-margin-top:150px;font-size:clamp(26px,2.5vw,34px);line-height:1.15;font-weight:500;letter-spacing:-.015em;color:var(--navy);text-wrap:balance}
.prose h2::before{content:'';display:block;width:36px;height:3px;margin-bottom:22px;background:var(--sky)}
.prose strong{font-weight:600;color:var(--navy)}
.prose ul,.prose ol{margin:0 0 24px;padding:0;list-style:none}
.prose ol{counter-reset:n}.prose ol>li{counter-increment:n}.prose ol>li::before{content:counter(n,decimal-leading-zero);width:auto;height:auto;top:.15em;background:none;font-family:var(--mono);font-size:13px;color:var(--deepteal)}
.prose ol>li{padding-left:36px}
.prose h3{margin:36px 0 12px;font-size:21px;line-height:1.3;font-weight:500;color:var(--navy)}
.prose blockquote{margin:32px 0;padding:6px 0 6px 28px;border-left:3px solid var(--sky)}
.prose blockquote p{margin:0;font-size:clamp(21px,2vw,25px);line-height:1.45;font-weight:500;color:var(--navy)}
.prose li{position:relative;padding-left:28px;margin:0 0 12px}
.prose li::before{content:'';position:absolute;left:2px;top:.85em;width:13px;height:2px;background:var(--sky)}
.prose a{color:var(--deepteal);text-decoration-thickness:1px}
.prose figure{margin:40px 0;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:#fff}
.prose figure img{display:block;width:100%;height:auto}
.prose figcaption{padding:14px 18px;font-size:14px;color:var(--grey);border-top:1px solid var(--line)}
.note{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;margin:0 0 36px;padding:20px 22px;border-radius:8px;background:#E4F5F8;border-left:3px solid var(--teal)}
.note b{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--deepteal);padding-top:4px;white-space:nowrap}
.note p{margin:0!important;font-size:16px!important;line-height:1.6!important;color:var(--harbour)!important}
.tbl{margin:8px 0 32px;overflow-x:auto;border:1px solid var(--line);border-radius:8px}
.tbl table{width:100%;border-collapse:collapse;min-width:560px}
.tbl th{padding:14px 18px;text-align:left;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--aqua);background:var(--navy)}
.tbl td{padding:16px 18px;vertical-align:top;border-top:1px solid var(--line);font-size:16px;line-height:1.6;color:var(--slate)}
.tbl td:first-child{width:44%;color:var(--navy);font-weight:500}
.tbl tr:nth-child(even) td{background:var(--mist)}
.rail{position:sticky;top:150px;align-self:start;display:flex;flex-direction:column;gap:28px}
.rail h2{margin:0 0 12px;font-family:var(--mono);font-size:12px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--grey)}
.rail ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.rail li a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.4;color:var(--slate);text-decoration:none}
.rail li a:hover,.rail li a.on{color:var(--deepteal)}
.rail .ask{padding:24px;border-radius:8px;background:var(--navy);color:#fff}
.rail .ask p{margin:0 0 16px;font-size:17px;line-height:1.45}
.rail .share{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--deepteal);text-decoration:none}
.author{display:grid;grid-template-columns:88px minmax(0,1fr);gap:22px;margin-top:56px;padding:28px;border-radius:8px;background:var(--mist)}
.author img{width:88px;height:88px;border-radius:50%;object-fit:cover}
.author h2{margin:0 0 2px;font-size:20px;font-weight:500;color:var(--navy)}
.author .role{margin:0 0 12px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--deepteal)}
.author p{margin:0 0 12px;font-size:16px;line-height:1.6;color:var(--slate)}
.author a{font-size:15px;font-weight:500}
@media (max-width:979px){.read .wrap{grid-template-columns:minmax(0,1fr)}.rail{position:static;order:2}.rail nav{display:none}}
@media (max-width:560px){.prose p,.prose li{font-size:18px}.author{grid-template-columns:minmax(0,1fr)}.note{grid-template-columns:minmax(0,1fr);gap:6px}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.card,.card:hover{transform:none}}
