@charset "UTF-8";@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url("./media/big-shoulders-display-latin-800-normal-3L6CXV4H.woff2") format("woff2"),url("./media/big-shoulders-display-latin-800-normal-DMDNNCVZ.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-latin-400-normal-COQVXTP6.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-400-normal-JC3YNCCZ.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-latin-500-normal-JTONHBWS.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-500-normal-7DOULDHV.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-latin-600-normal-DTNZULF4.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-600-normal-B3O423MA.woff") format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/jetbrains-mono-latin-400-normal-3OOWLGQ2.woff2") format("woff2"),url("./media/jetbrains-mono-latin-400-normal-WDD34GPP.woff") format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url("./media/jetbrains-mono-latin-600-normal-5PVSJ4PH.woff2") format("woff2"),url("./media/jetbrains-mono-latin-600-normal-DJM6S6N3.woff") format("woff")}:root{--ink: #1d2124;--steel: #3a4248;--teal: #378b8f;--teal-deep: #2b7478;--gold: #f1a719;--accent-text: var(--teal-deep);--paper: #eceae4;--signal: #e5582b;--bg: var(--paper);--surface: #fbfaf7;--fg: var(--ink);--muted: #4c555b;--line: var(--ink);--hair: #cfcbc0;--band: var(--ink);--band-fg: var(--paper);--shadow: var(--ink);--grid-line: rgba(29, 33, 36, .06);--sketch-bg: #e4e1d8;--font-display: "Big Shoulders Display", "Arial Narrow", "Roboto Condensed", sans-serif;--font-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--wrap: 1440px;--gutter: clamp(16px, 4vw, 40px);color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #15181a;--surface: #1f2427;--fg: #eceae4;--muted: #a7adb1;--line: #5a646b;--hair: #343c42;--band: #0e1011;--band-fg: #eceae4;--shadow: var(--gold);--accent-text: var(--gold);--grid-line: rgba(236, 234, 228, .05);--sketch-bg: #1b1f22;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}img,svg{max-width:100%}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}h1,h2,h3,h4{margin:0;text-wrap:balance}p{margin:0}.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--teal);color:#fff;padding:10px 14px;font-weight:600}.skip:focus{left:12px;top:12px}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(56px,8vw,104px)}.section.tight{padding-block:clamp(40px,5vw,64px)}.stack{display:grid;gap:16px;align-content:start}.stack-lg{display:grid;gap:clamp(28px,4vw,48px)}.grid-2,.grid-3,.grid-4{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(420px,(100% - 20px) / 2)),1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(300px,(100% - 40px) / 3)),1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(240px,(100% - 60px) / 4)),1fr))}.grid-2>*,.grid-3>*,.grid-4>*{min-width:0}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(28px,5vw,72px);align-items:start}@media(max-width:860px){.split{grid-template-columns:1fr}}.display{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.005em;line-height:.95}.h1{font-size:clamp(46px,8vw,92px)}.h2{font-size:clamp(34px,5vw,56px)}.h3{font-size:clamp(24px,3vw,30px);line-height:1}.hl{background:var(--gold);color:var(--ink);padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.label{font:600 12px/1.3 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.label.on-dark{color:var(--gold)}.lede{font-size:clamp(18px,2vw,21px);line-height:1.55;max-width:60ch;color:var(--muted)}.muted{color:var(--muted)}.prose{max-width:68ch;display:grid;gap:18px}.prose h2{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(26px,3.2vw,34px);line-height:1;margin-top:18px}.prose ul{margin:0;padding-left:22px;display:grid;gap:8px}.prose a{text-decoration:underline}.btn{display:inline-flex;align-items:center;gap:8px;font:600 16px/1 var(--font-body);padding:14px 20px;border:2px solid var(--fg);color:var(--fg);background:transparent;text-decoration:none;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}.btn.primary{background:var(--teal);color:#fff;border-color:var(--ink);box-shadow:4px 4px 0 var(--shadow)}.btn.primary:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--shadow)}.btn.primary:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--shadow)}.btn:not(.primary):hover{background:var(--fg);color:var(--bg)}.btn.on-dark{color:var(--paper);border-color:var(--paper)}.btn.on-dark:hover{background:var(--paper);color:var(--ink)}.btns{display:flex;flex-wrap:wrap;gap:12px}.tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.tag{font:12px/1 var(--font-mono);border:1px solid currentColor;padding:5px 8px}.tags.big .tag{font-size:14px;padding:8px 12px}:root{--cat-frontend: #2b7478;--cat-backend: #1d4ed8;--cat-data: #92400e;--cat-cloud: #166534;--cat-ai: #6d28d9;--cat-integration: #475569}@media(prefers-color-scheme:dark){:root{--cat-frontend: #6cc3c7;--cat-backend: #7aa2f7;--cat-data: #f1a719;--cat-cloud: #4ade80;--cat-ai: #b69cfb;--cat-integration: #a7adb1}}.tag[data-cat]{display:inline-flex;align-items:center;gap:6px;color:var(--cat);border-color:color-mix(in srgb,var(--cat) 55%,transparent);background:color-mix(in srgb,var(--cat) 10%,transparent);transition:background .12s ease,transform .12s ease}.tag[data-cat]:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cat);flex:none}.tag[data-cat]:hover{background:color-mix(in srgb,var(--cat) 18%,transparent);transform:translateY(-1px)}.tag[data-cat=frontend]{--cat: var(--cat-frontend)}.tag[data-cat=backend]{--cat: var(--cat-backend)}.tag[data-cat=data]{--cat: var(--cat-data)}.tag[data-cat=cloud]{--cat: var(--cat-cloud)}.tag[data-cat=ai]{--cat: var(--cat-ai)}.tag[data-cat=integration]{--cat: var(--cat-integration)}.badge{font:600 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;padding:6px 8px;background:var(--teal);color:#fff;white-space:nowrap}.card{background:var(--surface);border:2px solid var(--line);display:grid;align-content:start;min-width:0}.card-body{padding:20px 22px 22px;display:grid;gap:10px;align-content:start}a.card{text-decoration:none;color:inherit;transition:transform .12s ease,box-shadow .12s ease}a.card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--shadow)}.card .more{font:600 13px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}.band{background:var(--band);color:var(--band-fg)}.band .lede,.band .muted{color:#b9bfc2}.strip{background:var(--teal);color:#fff;font:600 13px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.strip ul{list-style:none;margin-block:0;padding-block:14px;display:flex;flex-wrap:wrap;gap:8px 28px}.spec{background:var(--ink);color:var(--paper);border-left:6px solid var(--teal);padding:20px 22px;font:13px/1.8 var(--font-mono);min-width:0;overflow-wrap:anywhere}.spec dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:0 14px}.spec dt{color:#9aa2a7;text-transform:uppercase}.spec dd{margin:0}.spec .job{color:var(--gold);font-weight:600;margin-bottom:6px;text-transform:uppercase}.list-check{list-style:none;margin:0;padding:0;display:grid;gap:10px}.list-check li{padding-left:30px;position:relative}.list-check li:before{content:"";position:absolute;left:0;top:.35em;width:16px;height:16px;background:var(--teal);border:2px solid var(--ink)}.picker{display:flex;flex-wrap:wrap;gap:8px}.picker button{font:600 14px var(--font-body);padding:8px 12px;border:2px solid var(--line);background:transparent;color:var(--fg);cursor:pointer}.picker button[aria-pressed=true]{background:var(--ink);color:var(--gold);border-color:var(--ink)}.feature{border-top:2px solid var(--line);padding-top:14px;display:grid;gap:6px}.feature h3{font:600 18px/1.3 var(--font-body)}.feature p{color:var(--muted);font-size:16px}.th{height:150px;position:relative;overflow:hidden;display:grid;place-items:center;border-bottom:2px solid var(--line);background:repeating-linear-gradient(0deg,transparent 0 15px,var(--grid-line) 15px 16px),repeating-linear-gradient(90deg,transparent 0 15px,var(--grid-line) 15px 16px),var(--sketch-bg)}.th .ui{background:#fbfaf7;border:1.5px solid #1d2124;box-shadow:3px 3px #1d2124;border-radius:2px}.th .bar{height:6px;border-radius:3px;background:#d6d2c6}.th .bar.d{background:#1d2124}.th .bar.a{background:var(--teal)}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font:12px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.crumbs li+li:before{content:"/";margin-right:6px}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}.faq{display:grid;border-top:2px solid var(--line)}.faq details{border-bottom:2px solid var(--line)}.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font-weight:600;font-size:18px;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:4px;top:12px;font:800 30px/1 var(--font-display)}.faq details[open] summary:after{content:"\2212"}.faq details p{padding:0 0 20px;max-width:68ch;color:var(--muted)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.page-head{padding-block:clamp(40px,6vw,80px);border-bottom:2px solid var(--line)}.ruled{border-top:2px solid var(--line)}
