
/* Self-hosted latin/latin-ext subsets. Fonts are served from this origin so the
   CSP can keep style-src and font-src at 'self': Google's fonts.googleapis.com
   CSS varies by user-agent, so it is the one subresource that cannot be SRI-pinned.
   Archivo and Instrument Sans are variable fonts — Google serves one byte-identical
   file per subset for every weight, so each is declared once over a weight range. */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/instrument-sans-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:'Instrument Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/instrument-sans-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:500 700;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:500 700;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/ibm-plex-mono-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/ibm-plex-mono-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/ibm-plex-mono-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/ibm-plex-mono-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}

/* --- Base, carried over verbatim from the Claude Design source --- */
html,body{margin:0;padding:0;background:#FAFAF8}
*{box-sizing:border-box}
a{color:#1B3FA8;text-decoration:none}
a:hover{color:#16181A;text-decoration:underline}
button{font:inherit}

/* Skip link: visually hidden until focused, so keyboard users can jump the masthead. */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:#16181A;color:#fff;padding:12px 18px;border-radius:0 0 6px 0;font-size:15px;font-weight:600}
.skip-link:focus{left:0;text-decoration:none;color:#fff}

/* A visible keyboard focus ring everywhere. The design's style-focus removed the
   outline on inputs; dropping it outright would leave keyboard users with no
   indicator, so the border colour change is kept and an outline added on top. */
:focus-visible{outline:2px solid #1B3FA8;outline-offset:2px}

/* Required-field marker: the `required` attribute alone is invisible, so each
   required label carries a visible mark as well. */
.req{color:#A4262C;font-weight:700}

/* Reflow: grid tracks are authored as minmax(min(100%, N), 1fr) in the page sources,
   because an unguarded minmax(Npx, 1fr) cannot shrink below N and overflows 320px. */
/* Long unbroken strings (postcodes, emails, model numbers) must wrap rather than
   push the page wider than the viewport. */
body{overflow-wrap:break-word}
/* Flex items refuse to shrink below min-content while min-width is auto, which
   is how a single long line in the announcement bar overflows a 320px viewport
   at large text sizes. Measured at 320px: the bar span held 467px of a 272px
   slot until min-width:0 let it wrap. */
.bar-item{min-width:0;overflow-wrap:anywhere}

/* --- Extracted from inline style attributes. Class names are a hash of the
   declarations, so identical declarations share one rule and an unchanged page
   produces an unchanged stylesheet. --- */
.s-039b1101{font-family:'Archivo',sans-serif;font-weight:600;font-size:26px;letter-spacing:-0.02em;margin:0 0 18px}
.s-03b2c6df{font-size:14px;font-weight:600}
.s-03decece{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
.s-04194c31{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.s-0a5de7d2{background:#16181A;color:#EDEBE6;border-radius:10px;padding:30px}
.s-0d771c3b{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#5B6067;margin:0 0 26px}
.s-11b29172{margin:0 0 24px;font-size:15px;color:#5B6067}
.s-136ab0cf{margin:0;font-size:16px;line-height:1.55;color:#16181A}
.s-164e9cf7{margin:0;font-size:15px;color:#42474D}
.s-16ec0012{background:#fff;border:1px solid #E2DFD8;border-radius:10px;padding:18px;margin-bottom:44px}
.s-1754c8be{margin:0 0 20px;font-size:18px;line-height:1.6;color:#42474D;max-width:62ch;text-wrap:pretty}
.s-187d9ef8{font-family:'Instrument Sans',Helvetica,sans-serif;color:#16181A;background:#FAFAF8;min-height:100vh;display:flex;flex-direction:column}
.s-1910def9{color:#16181A;border:1px solid #CFCBC2;padding:15px 26px;border-radius:6px;font-size:16px;font-weight:600}
.s-196c06ef{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.s-1d46df42{color:#EDEBE6;text-decoration:underline}
.s-1dd3980b{margin:0;font-size:17px;color:#5B6067;max-width:46ch}
.s-1ff84c40{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.14em;color:#42474D}
.s-230a5d83{color:#C3C7CC;font-size:15px}
.s-2384969c{font-family:'Archivo',sans-serif;font-weight:600;font-size:16px;letter-spacing:0.08em}
.s-2640b937{margin:0;background:#fff;border:1px solid #E2DFD8;border-radius:10px;padding:24px}
.s-26501c0b{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:14px;margin-bottom:44px}
.s-2746efe9{font-size:15px;color:#42474D}
.s-2a1198a7{font-family:'Archivo',sans-serif;font-weight:600;font-size:28px;letter-spacing:-0.02em;margin:0}
.s-2c28c8ec{border-top:2px solid #16181A;padding-top:14px}
.s-2dfc0988{margin:0 0 32px;font-size:16px;line-height:1.6;color:#42474D;max-width:62ch}
.s-2f0844b6{background:#F4F2EC;border:1px solid #E2DFD8;border-radius:10px;padding:18px}
.s-2f741995{margin:0;font-size:14px;color:#42474D;font-weight:600}
.s-3102fb44{margin:0;font-size:13px;color:#5B6067}
.s-3337d21d{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.s-3420b2f7{margin:0;font-size:16px;line-height:1.6;color:#5B6067;max-width:68ch;text-wrap:pretty}
.s-350fcb6a{font-size:18px;line-height:1.55;color:#42474D;margin:0 0 32px;max-width:48ch;text-wrap:pretty}
.s-3690c129{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;flex-wrap:wrap}
.s-36dc9437{font-family:'IBM Plex Mono',monospace;font-size:11px;padding:5px 10px;border-radius:999px;background:#E4E8F5;color:#16327F}
.s-37c195ce{display:grid;gap:7px}
.s-3812c11d{margin:0 0 28px;font-size:17px;line-height:1.55;color:#C3C7CC;max-width:44ch;text-wrap:pretty}
.s-3a71823a{position:sticky;top:0;z-index:20;background:rgba(250,250,248,0.96);backdrop-filter:blur(8px);border-bottom:1px solid #E2DFD8}
.s-3bbd634e{margin:0 0 20px;font-size:18px;line-height:1.6;color:#42474D;text-wrap:pretty}
.s-3cadff90{max-width:1180px;margin:0 auto;padding:56px 24px 80px}
.s-3d9038bd{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.s-3f6e75b3{font-family:'Archivo',sans-serif;font-weight:700;font-size:38px;letter-spacing:-0.025em;margin:0 0 12px}
.s-3fcf3e20{border-bottom:1px solid #E2DFD8;padding-bottom:20px}
.s-3fe411db{background:#F4F2EC;border:1px solid #E2DFD8;border-radius:10px;padding:26px;display:grid;gap:22px}
.s-404321d9{background:#fff;border:1px solid #E2DFD8;border-radius:10px;padding:26px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:28px}
.s-419707b6{justify-self:start;background:#1B3FA8;color:#fff;border:none;padding:14px 26px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer}
.s-41d3a1af{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#5B6067;margin:0 0 16px}
.s-41e0e12a{margin:0 0 40px;font-size:17px;line-height:1.65;color:#42474D;max-width:70ch;text-wrap:pretty}
.s-4370c898{margin:0;font-size:16px;line-height:1.6;color:#5B6067;max-width:64ch;text-wrap:pretty}
.s-4710ddd0{background:#16181A;color:#9AA0A8;margin-top:auto}
.s-481e9261{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:400;color:#1B3FA8;margin-right:10px}
.s-4a0405af{margin:0 0 40px;font-size:18px;line-height:1.55;color:#42474D;max-width:60ch;text-wrap:pretty}
.s-4c55c7fd{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.s-4d2b2d5a{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 44px;padding:0;list-style:none}
.s-4e3e562d{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#5B6067;margin:0 0 14px}
.s-52da9a65{display:grid;gap:22px;max-width:74ch}
.s-55cef87d{max-width:1180px;margin:0 auto;padding:56px 24px 80px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:48px;align-items:start}
.s-563ae4ac{margin:0 0 36px;font-size:18px;line-height:1.6;color:#42474D;text-wrap:pretty}
.s-56675d56{font-family:'Archivo',sans-serif;font-weight:700;font-size:40px;letter-spacing:-0.025em;margin:0 0 14px}
.s-5679a96f{font-family:'IBM Plex Mono',monospace;font-size:12px}
.s-57961abe{margin:0 0 44px;font-size:18px;line-height:1.6;color:#42474D;max-width:62ch;text-wrap:pretty}
.s-57f94871{background:#1B3FA8;color:#fff;padding:11px 18px;border-radius:6px;font-size:15px;font-weight:600}
.s-58282042{background:#fff;border:1px solid #E2DFD8;border-radius:10px;padding:24px}
.s-58ae7d3c{background:#F4F2EC;border:1px solid #E2DFD8;border-radius:10px;padding:26px}
.s-58e2bb45{display:grid;gap:18px}
.s-59756e1b{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;color:#5B6067;margin:0 0 14px}
.s-5a3301e4{border:1px solid #CFCBC2;border-radius:999px;padding:7px 14px;font-size:14px;color:#42474D}
.s-5bfbf5d4{font-family:'Archivo',sans-serif;font-weight:700;font-size:40px;letter-spacing:-0.025em;margin:0 0 16px}
.s-5c359546{margin:0;font-size:14px;line-height:1.45;color:#5B6067}
.s-5d4a82dd{margin:0;font-size:14px;line-height:1.55;color:#5B6067}
.s-5df6266c{margin:0 0 12px;font-size:16px;line-height:1.6;color:#5B6067;max-width:66ch;text-wrap:pretty}
.s-6091d1ae{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px;font-size:15px;line-height:1.6;color:#42474D}
.s-6237e0a8{font-family:'Archivo',sans-serif;font-weight:600;font-size:32px;letter-spacing:-0.02em;margin:0}
.s-6562bac4{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#9AA0A8;margin:0 0 16px}
.s-6589df21{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
.s-65d7bfff{display:grid;gap:34px;max-width:70ch}
.s-65ef9c5d{margin:0 0 14px;font-size:16px;line-height:1.6;color:#16181A;text-wrap:pretty}
.s-661f5883{font-family:'Archivo',sans-serif;font-weight:700;font-size:40px;letter-spacing:-0.025em;margin:0 0 18px}
.s-665ef32c{font-size:15px;font-weight:600;color:#1B3FA8}
.s-68502969{margin:0 0 10px;font-family:'Archivo',sans-serif;font-weight:600;font-size:22px}
.s-6879cc79{color:#C3C7CC}
.s-6a670367{margin:0 0 6px;font-weight:600;font-size:16px}
.s-6a686103{padding:8px 9px;border-radius:6px;font-size:15px;font-weight:500;color:#42474D}
.s-6aa34d74{display:none}
.s-6caf0932{margin:0 0 8px;font-family:'Archivo',sans-serif;font-weight:600;font-size:18px}
.s-6d0f1213{font-family:'Archivo',sans-serif;font-weight:600;font-size:20px}
.s-6d17eae7{font-family:'Archivo',sans-serif;font-weight:600;font-size:21px;letter-spacing:-0.015em;margin:0 0 12px}
.s-6ff5755a{max-width:1180px;margin:0 auto;padding:56px 24px}
.s-75ec56b3{display:grid;gap:14px;margin-bottom:44px}
.s-79996bd7{font-family:'Archivo',sans-serif;font-weight:600;font-size:34px;line-height:1.1;letter-spacing:-0.02em;margin:0 0 16px}
.s-7b59121a{background:#1E2226;padding:20px 22px;display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.s-7b6a49db{background:#16181A;color:#EDEBE6;font-size:13px;padding:9px 0}
.s-7baa106e{display:inline-block;background:#EDEBE6;color:#16181A;padding:14px 24px;border-radius:6px;font-size:16px;font-weight:600}
.s-7c5fd648{margin:0 0 8px;font-family:'Archivo',sans-serif;font-weight:600;font-size:21px}
.s-7d56d726{max-width:1180px;margin:0 auto;padding:0 24px 68px}
.s-7de218a3{margin:0 0 8px;font-family:'Archivo',sans-serif;font-weight:700;font-size:24px}
.s-7ed14f14{margin:0;font-size:15px;line-height:1.55;color:#5B6067}
.s-7ed85056{display:grid;gap:14px;margin:0 0 40px;padding:0;list-style:none}
.s-8059efcd{max-width:1180px;margin:0 auto;padding:68px 24px}
.s-8149907d{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:18px;margin-bottom:48px}
.s-83725d2c{flex:1}
.s-8415eb2b{border-top:1px solid #E2DFD8;border-bottom:1px solid #E2DFD8;background:#F4F2EC}
.s-8442fae2{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.s-854d067f{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#5B6067;margin:0 0 20px}
.s-85b3d0a3{max-width:1180px;margin:0 auto;padding:64px 24px}
.s-860d2ab2{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#5B6067}
.s-865fdbec{display:flex;gap:14px;align-items:flex-start}
.s-887895ea{margin:0 0 32px;font-size:17px;line-height:1.55;color:#42474D;max-width:52ch}
.s-8904549d{margin:0 0 6px;font-family:'Archivo',sans-serif;font-weight:700;font-size:26px}
.s-8a3e7a57{border-top:1px solid #E2DFD8;padding-top:32px;display:grid;gap:22px}
.s-8b06f9bd{font-family:'IBM Plex Mono',monospace;font-size:11px;padding:5px 10px;border-radius:999px;background:#EFEDE7;color:#42474D}
.s-8bc6f37a{border-left:2px solid #1B3FA8;padding-left:18px}
.s-8c04c280{max-width:1180px;margin:0 auto;padding:28px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:28px}
.s-8c5205fc{margin:0;font-size:15px;line-height:1.7}
.s-8f863840{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:28px}
.s-8f984b6f{background:#16181A;color:#fff;padding:15px 26px;border-radius:6px;font-size:16px;font-weight:600}
.s-8fed4271{display:flex;flex-direction:column;gap:7px;margin:0;padding:0;list-style:none}
.s-93315c20{margin:0;font-size:16px;line-height:1.6;color:#C3C7CC;max-width:62ch;text-wrap:pretty}
.s-951fd5d4{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#1B3FA8;padding-top:3px}
.s-95503d07{max-width:1180px;margin:0 auto;padding:68px 24px 60px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:56px;align-items:center}
.s-962dd5e5{background:#fff;border:1px solid #E2DFD8;border-radius:10px;padding:22px}
.s-96ae9136{display:inline-block;background:#1B3FA8;color:#fff;padding:15px 26px;border-radius:6px;font-size:16px;font-weight:600}
.s-97f9f6af{margin:0 0 4px;font-weight:600;font-size:16px}
.s-9a46d1e1{display:inline-block;border:1px solid #CFCBC2;padding:13px 22px;border-radius:6px;font-size:16px;font-weight:600;color:#16181A}
.s-9b4b4dc3{max-width:1180px;margin:0 auto;padding:18px 24px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-family:'IBM Plex Mono',monospace;font-size:12px}
.s-9eb520e2{border-top:1px solid #E2DFD8;background:#F4F2EC}
.s-9faad6a7{background:#16181A;color:#EDEBE6;border-radius:12px;padding:52px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:48px;align-items:center}
.s-a00e06a2{display:flex;gap:16px;align-items:flex-start;border-bottom:1px solid #E2DFD8;padding-bottom:14px}
.s-a1096642{font-family:'Archivo',sans-serif;font-weight:600;font-size:26px;letter-spacing:-0.02em;margin:0 0 14px}
.s-a3e195a2{border-top:2px solid #16181A;padding-top:16px}
.s-a67c5185{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:#5B6067;margin:0 0 10px}
.s-a6bc41f3{font-family:'Archivo',sans-serif;font-weight:700;font-size:20px;line-height:1;letter-spacing:0.01em;color:#16181A}
.s-a7057077{margin:0 0 12px;font-size:16px;line-height:1.7;color:#42474D;text-wrap:pretty}
.s-ab44bdd1{max-width:1180px;margin:0 auto;padding:64px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:56px;align-items:center}
.s-ab79ea2b{margin:0}
.s-ab8922f2{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
.s-acfb9458{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#5B6067}
.s-ad72144a{font-family:'Archivo',sans-serif;font-weight:700;font-size:clamp(38px,5.6vw,56px);line-height:1.04;letter-spacing:-0.03em;margin:0 0 20px;text-wrap:pretty}
.s-aef5f465{margin:0;font-size:16px;line-height:1.6;color:#5B6067;text-wrap:pretty}
.s-b149410b{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;margin:0 0 14px;color:#A9AEB5}
.s-b24c825b{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px;margin-bottom:44px}
.s-b24e6507{background:#fff;border:1px solid #E2DFD8;border-radius:10px;padding:16px}
.s-b3a1e900{margin-bottom:40px}
.s-b45b1667{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;color:#5B6067;margin:0 0 18px}
.s-b53423a0{margin:0 0 14px;font-size:16px;line-height:1.6;color:#5B6067;text-wrap:pretty}
.s-b56b0aec{margin:0;font-size:16px;line-height:1.55;color:#42474D}
.s-b785d43d{display:grid;gap:18px;margin-bottom:48px}
.s-ba5d6a92{border:1px solid #CFCBC2;border-radius:6px;padding:12px 14px;font-size:16px;background:#fff;font-family:inherit;color:#16181A}
.s-bbd8cb16{margin:0 0 7px;font-weight:600;font-size:17px}
.s-bcc72086{margin:0 0 3px;font-family:'Archivo',sans-serif;font-weight:600;font-size:17px}
.s-be4afaac{font-family:'Archivo',sans-serif;font-weight:600;font-size:32px;letter-spacing:-0.02em;margin:0 0 16px}
.s-bfea214b{margin:0;font-size:14px;line-height:1.5;color:#5B6067}
.s-c2745070{border-left:1px solid #E2DFD8;padding-left:22px}
.s-c351b40f{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;color:#5B6067;margin:0 0 8px}
.s-c360c13e{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,195px),1fr));gap:18px;margin-bottom:44px}
.s-c44d5df2{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;flex-wrap:wrap}
.s-c5086c12{margin:0 0 14px;font-size:15px;line-height:1.6}
.s-c5b66bb0{margin:0 0 14px;font-size:15px;color:#5B6067}
.s-c6b6aa9f{margin:0 0 44px;font-size:18px;line-height:1.55;color:#42474D;max-width:60ch;text-wrap:pretty}
.s-c6de24d6{margin:0 auto;max-width:70ch;padding:80px 24px 100px}
.s-c7e5f809{margin:0 0 6px;font-weight:600;font-size:17px}
.s-c86fb6eb{text-align:left;background:#fff;border:1px solid #E2DFD8;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px;color:#16181A}
.s-cae1e81a{font-size:15px;color:#C3C7CC}
.s-cdc60125{color:#C3C7CC;font-size:14px}
.s-d1e9780d{border-top:1px solid #2C3238}
.s-db824d23{display:flex;align-items:center;gap:10px;margin-right:auto;text-decoration:none}
.s-dbb99f09{border:1px solid #CFCBC2;border-radius:6px;padding:12px 14px;font-size:16px;background:#fff;font-family:inherit;color:#16181A;resize:vertical}
.s-dbf28afb{display:inline-block;background:#fff;border:1px solid #CFCBC2;border-radius:999px;padding:7px 14px;font-size:13px;color:#42474D}
.s-de28024a{display:grid;gap:1px;background:#2C3238;border-radius:8px;overflow:hidden}
.s-de648c67{margin:0 0 40px;font-size:18px;line-height:1.6;color:#42474D;max-width:62ch;text-wrap:pretty}
.s-de775684{margin:0 0 16px;font-size:16px;line-height:1.6;color:#42474D;max-width:62ch}
.s-df1035d1{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;margin-bottom:12px}
.s-df1c1e9d{margin:0;font-family:'Archivo',sans-serif;font-weight:600;font-size:19px;margin-right:auto}
.s-e0ac5977{margin-top:48px;border-top:1px solid #E2DFD8;padding-top:26px}
.s-e71eb90d{display:flex;flex-wrap:wrap;gap:28px;align-items:baseline;margin-bottom:40px}
.s-e74d3c40{font-family:'Archivo',sans-serif;font-weight:600;font-size:26px;letter-spacing:-0.02em;margin:0 0 20px}
.s-e987364b{display:flex;gap:0px;align-items:center;flex-wrap:wrap}
.s-e9b87d70{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}
.s-eadb8b17{font-family:'Archivo',sans-serif;font-weight:600;font-size:32px;letter-spacing:-0.02em;margin:0 0 36px}
.s-ed550d3e{display:flex;flex-wrap:wrap;gap:12px}
.s-ee1359e4{margin:0;background:#fff;border:1px solid #E2DFD8;border-radius:10px;padding:22px}
.s-f037ee29{font-family:'Archivo',sans-serif;font-weight:700;font-size:40px;letter-spacing:-0.025em;margin:0 0 36px}
.s-f2324634{margin:0;font-family:'Archivo',sans-serif;font-weight:700;font-size:52px;letter-spacing:-0.03em}
.s-f409fb98{margin:0 0 24px;font-size:17px;line-height:1.55;color:#42474D;max-width:46ch;text-wrap:pretty}
.s-f54b5293{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#1B3FA8;padding-top:4px;min-width:26px}
.s-f5925f18{font-family:'Archivo',sans-serif;font-weight:700;font-size:21px;color:#EDEBE6;margin:0;letter-spacing:0.01em}
.s-f72bff86{margin:0 0 8px;font-family:'Archivo',sans-serif;font-weight:600;font-size:19px}
.s-f9515cfc{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#1B3FA8;margin:0 0 10px}
.s-fa459d7c{margin:0 0 12px;font-size:16px;line-height:1.6;text-wrap:pretty}
.s-fac99e77{display:grid;gap:24px;margin-bottom:44px}
.s-fc974090{max-width:1180px;margin:0 auto;padding:48px 24px 36px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:36px}

/* @@AFTER-INLINE@@ — build.js splits the sheet here. Everything below is emitted
   AFTER the classes hashed out of inline style attributes, so that at equal
   specificity (0,0,1,0) these rules win. Everything above is emitted before them. */
.field:focus{border-color:#1B3FA8;outline:2px solid #1B3FA8;outline-offset:1px}
/* Interaction states. In the Claude Design source these were style-hover /
   style-focus attributes, which do nothing in a browser. Reimplemented as real
   CSS. These rules are emitted AFTER the hashed classes extracted from inline
   style attributes, so at equal specificity (0,0,1,0) they win. */
.nav-link:hover{background:#EFEDE7;color:#16181A;text-decoration:none}
.btn-blue:hover{background:#16327F;color:#fff;text-decoration:none}
.btn-dark:hover{background:#2C3238;color:#fff;text-decoration:none}
.btn-outline:hover{border-color:#16181A;color:#16181A;text-decoration:none}
.btn-light:hover{background:#fff;color:#16181A;text-decoration:none}
.txt-link:hover{color:#16181A}
.card-link:hover{border-color:#16181A;text-decoration:none}
.pill-link:hover{border-color:#16181A;color:#16181A;text-decoration:none}
.foot-link:hover{color:#fff;text-decoration:none}

@media (max-width:640px){
  /* Tap targets to 44px. Every one of these links renders a 19px line box, so
     13px of block padding gives 45px; 12px gives 43px and quietly misses. The
     padding is cancelled by an equal negative margin so the rendered layout does
     not move, and desktop is untouched because this only applies under 640px.
     Measured, not assumed: .nav-link was 35px (19 + 2x8), the header CTA 41px
     (19 + 2x11), .foot-link 19px (no padding). */
  .nav-link{padding-top:13px;padding-bottom:13px;margin-top:-5px;margin-bottom:-5px}
  .txt-link,.pill-link{padding-top:13px;padding-bottom:13px;margin-top:-13px;margin-bottom:-13px;display:inline-block}
  /* The masthead CTA needs its own hook: it shares .btn-blue with the contact
     form's submit button, which already has 14px padding, and one shared rule
     would shrink that button instead of growing this one. */
  .hdr-cta{padding-top:13px;padding-bottom:13px;margin-top:-2px;margin-bottom:-2px}
  /* Footer link columns: 44px targets would overlap a 9px flex gap, and
     overlapping hit areas are worse than a taller footer. The gap is removed and
     the padding supplies the spacing instead. */
  .foot-col{gap:0}
  .foot-link{padding-top:13px;padding-bottom:13px}
}
