@font-face{font-display:swap;font-family:ibm plex mono;font-style:normal;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-400.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:normal;font-weight:700;src:url(/fonts/ibm-plex-mono-latin-700.woff2)format("woff2")}:root{color-scheme:light;--ink:#17201b;--muted:#5f6b65;--line:#d9dfda;--paper:#faf9f4;--panel:#fff;--panel-soft:#eef3ef;--accent:#0e6d62;--accent-strong:#084f48;--warm:#b96f2c;--shadow:0 24px 70px rgb(23 32 27 / 14%);--radius:8px;--shell:min(1120px, calc(100vw - 40px));--mono:"IBM Plex Mono", ui-monospace, sfmono-regular, menlo, monaco, consolas, "Liberation Mono", monospace;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,sans-serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{margin:0;font-size:17px;line-height:1.6;text-rendering:optimizeLegibility}img{display:block;max-width:100%}a{color:var(--accent-strong);text-decoration-thickness:.08em;text-underline-offset:.2em}a:hover{color:var(--warm)}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:absolute;left:1rem;top:1rem;z-index:20;translate:0 -180%;border-radius:var(--radius);background:var(--ink);color:#fff;padding:.6rem .9rem}.skip-link:focus{translate:0}.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid rgb(255 255 255/24%);background:rgb(250 249 244/86%);backdrop-filter:blur(18px)}.header-inner,.footer-grid,.section-grid,.split,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:2rem}.header-inner{min-height:72px}.brand{display:inline-flex;align-items:center;color:var(--ink);text-decoration:none}.wordmark{border:1px solid var(--line);border-radius:var(--radius);background:rgb(255 255 255/72%);box-shadow:0 8px 24px rgb(23 32 27/8%);color:var(--ink);font-family:var(--mono);font-size:.95rem;font-weight:700;letter-spacing:0;line-height:1;padding:.62rem .72rem}.site-nav{display:flex;align-items:center;gap:clamp(.8rem,2vw,1.5rem);font-size:.94rem}.site-nav a{color:var(--ink);text-decoration:none}.site-nav a:hover{color:var(--accent)}.hero{position:relative;display:grid;min-height:calc(86vh - 72px);overflow:hidden;background:linear-gradient(90deg,rgb(12 18 16/88%) 0%,rgb(12 18 16/72%) 38%,rgb(12 18 16/28%) 72%),var(--hero-image)50%/cover no-repeat,#1d2823;color:#fff}.hero-overlay{position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(0deg,var(--paper) 0%,rgb(250 249 244/0%) 100%);pointer-events:none}.hero-content{position:relative;z-index:1;align-self:center;padding-block:clamp(5rem,12vh,8rem)}.eyebrow{margin:0 0 .7rem;color:var(--warm);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.hero .eyebrow{color:#f2b56f}h1,h2,h3{margin:0;line-height:1.06}h1{max-width:760px;font-size:clamp(3.5rem,9vw,7.4rem)}.hero-wordmark{font-family:var(--mono);font-weight:700;letter-spacing:0}h2{max-width:620px;font-size:clamp(2rem,4.4vw,4.3rem)}h3{font-size:1.25rem}.hero-lede{max-width:680px;margin:1.3rem 0 0;font-size:clamp(1.35rem,2.4vw,2.15rem);line-height:1.25}.hero-copy{max-width:620px;margin:1rem 0 0;color:rgb(255 255 255/82%)}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius);padding:.74rem 1rem;font-weight:750;text-decoration:none}.button-primary{background:var(--accent);color:#fff}.button-secondary{border-color:rgb(255 255 255/.4);color:#fff}.button:hover{translate:0 -1px}.section,.page{padding-block:clamp(4.5rem,9vw,7.5rem)}.section-muted{background:var(--panel-soft)}.section-grid{align-items:flex-start}.section-grid>*:first-child{flex:0 0 min(32rem,42%)}.service-grid,.post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%}.service-card,.post-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:clamp(1.1rem,2vw,1.5rem);box-shadow:0 12px 36px rgb(23 32 27/6%)}.service-card h3,.post-card h2,.post-card h3{margin-bottom:.6rem}.service-card p,.post-card p,.split p,.page-header p,.footer-grid p{margin:.55rem 0 0;color:var(--muted)}.split{align-items:flex-start}.split>*{flex:1}.section-heading{align-items:end;margin-bottom:1.5rem}.text-link{font-weight:750}.post-list-wide{grid-template-columns:1fr}.post-card time{display:block;margin-bottom:.5rem;color:var(--muted);font-size:.9rem}.post-card a{color:var(--ink);text-decoration:none}.post-card a:hover{color:var(--accent)}.page{min-height:58vh}.page-header{max-width:780px;margin-bottom:2rem}.page-header h1{color:var(--ink);font-size:clamp(2.6rem,6vw,5.7rem)}.prose{max-width:780px}.prose h2{margin-top:2.2rem;font-size:clamp(1.7rem,3vw,2.4rem)}.prose p,.prose li{color:#334139}.prose ul,.prose ol{padding-left:1.2rem}.prose code{border:1px solid var(--line);border-radius:5px;background:var(--panel-soft);padding:.12rem .28rem;font-size:.9em}.term-cloud{display:flex;flex-wrap:wrap;gap:.75rem}.term-cloud a{border:1px solid var(--line);border-radius:999px;background:var(--panel);padding:.55rem .8rem;text-decoration:none}.term-cloud span{color:var(--muted)}.site-footer{border-top:1px solid var(--line);background:#151d19;color:#fff;padding-block:3rem 1.25rem}.site-footer a{color:#fff}.footer-grid{align-items:flex-start}.footer-grid>div{flex:1}.footer-grid h2{font-size:1rem}.footer-brand{color:#fff}.footer-brand .wordmark{border-color:rgb(255 255 255/18%);background:rgb(255 255 255/8%);color:#fff}.footer-bottom{margin-top:2rem;border-top:1px solid rgb(255 255 255/14%);padding-top:1rem;color:rgb(255 255 255/68%);font-size:.9rem}@media(max-width:760px){:root{--shell:min(100vw - 28px, 1120px)}body{font-size:16px}.header-inner,.footer-grid,.section-grid,.split,.section-heading{display:grid;gap:1.2rem}.header-inner{min-height:auto;padding-block:.9rem}.site-nav{flex-wrap:wrap;gap:.65rem 1rem}.hero{min-height:78vh;background:linear-gradient(180deg,rgb(12 18 16/.9) 0%,rgb(12 18 16/76%) 52%,rgb(12 18 16/42%) 100%),var(--hero-image)50%/cover no-repeat,#1d2823}h1{font-size:clamp(3rem,17vw,4.4rem)}.service-grid,.post-list{grid-template-columns:1fr}.button{width:100%}}