@font-face{font-family:Plex Sans;src:url(/fonts/plex-sans-var.woff2)format("woff2-variations");font-weight:100 700;font-style:normal;font-display:swap}@font-face{font-family:Plex Sans;src:url(/fonts/plex-sans-400-italic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Plex Serif;src:url(/fonts/plex-serif-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Plex Serif;src:url(/fonts/plex-serif-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Plex Mono;src:url(/fonts/plex-mono-400.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Plex Mono;src:url(/fonts/plex-mono-500.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{color-scheme:light dark;--font-sans:"Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"Plex Serif", ui-serif, Georgia, "Times New Roman", serif;--font-mono:"Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--paper:#fbfaf7;--surface:#fff;--sunken:#f1eee7;--ink:#14181b;--ink-2:#454d55;--ink-3:#5e6873;--edge:#e3dfd5;--edge-strong:#cec8ba;--brand:#0e5c4e;--brand-hover:#0a483d;--allow:#0f6e59;--deny:#a5372a;--evidence:#8a5b0b;--evidence-fill:#fbf3e0;--inverse-bg:#10161a;--inverse-ink:#eae7e0;--inverse-ink-2:#a7b0b6;--inverse-edge:#29333a;--accent-on-dark:#4fc9ac;--evidence-on-dark:#d9a94e;--w-max:76rem;--w-prose:39rem;--gutter:clamp(1.25rem, 4vw, 3rem);--band:clamp(4rem, 8vw, 7rem);--radius:12px;--radius-lg:18px;--shadow:0 1px 2px #14181b0d, 0 8px 24px -12px #14181b24}@media (prefers-color-scheme:dark){:root{--paper:#0d1113;--surface:#141a1d;--sunken:#10161a;--ink:#e9e7e1;--ink-2:#b3bac1;--ink-3:#8a939c;--edge:#242c31;--edge-strong:#354048;--brand:#5fcfb4;--brand-hover:#86e0c9;--allow:#4fc9ac;--deny:#e8836f;--evidence:#d9a94e;--evidence-fill:#221c0e;--inverse-bg:#06090a;--inverse-ink:#e9e7e1;--inverse-ink-2:#98a2a9;--inverse-edge:#1d262b;--accent-on-dark:#4fc9ac;--shadow:0 1px 2px #00000080, 0 12px 32px -14px #000000b3}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-feature-settings:"kern" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:17px;line-height:1.62}@media (width<=40rem){body{font-size:16px}}h1,h2,h3,h4{letter-spacing:-.022em;text-wrap:balance;margin:0;font-weight:600;line-height:1.14}h1{letter-spacing:-.033em;font-size:clamp(2.35rem,1.4rem + 3.6vw,3.9rem);font-weight:650;line-height:1.02}h2{letter-spacing:-.028em;font-size:clamp(1.7rem,1.2rem + 1.8vw,2.35rem)}h3{letter-spacing:-.014em;font-size:1.14rem}p{margin:0 0 1.05em}p:last-child{margin-bottom:0}a{color:var(--brand);text-underline-offset:.18em;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb, var(--brand) 40%, transparent);transition:color .14s,text-decoration-color .14s}a:hover{color:var(--brand-hover);text-decoration-color:currentColor}:focus-visible{outline:2.5px solid var(--brand);outline-offset:3px;border-radius:3px}strong{font-weight:600}code,kbd,samp{font-family:var(--font-mono);font-size:.885em}:not(pre)>code{background:color-mix(in srgb, var(--ink) 5%, transparent);border:1px solid var(--edge);overflow-wrap:anywhere;border-radius:5px;padding:.08em .32em}hr{border:0;border-top:1px solid var(--edge);margin:2.5rem 0}.wrap{width:100%;max-width:var(--w-max);padding-inline:var(--gutter);margin-inline:auto}.prose{max-width:var(--w-prose)}.band{padding-block:var(--band);border-top:1px solid var(--edge)}.band:first-of-type{border-top:0}.band-sunken{background:var(--sunken)}.band-inverse{background:var(--inverse-bg);color:var(--inverse-ink);border-top-color:var(--inverse-edge)}.band-inverse h2,.band-inverse h3{color:var(--inverse-ink)}.band-inverse .dim{color:var(--inverse-ink-2)}.band-inverse a{color:var(--accent-on-dark)}.band-tight{padding-block:clamp(2.5rem,5vw,4rem)}.eyebrow{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:.75rem;margin:0 0 1.1rem;font-size:.72rem;font-weight:500;display:flex}.eyebrow:after{content:"";background:var(--edge);flex:1;height:1px}.band-inverse .eyebrow{color:var(--inverse-ink-2)}.band-inverse .eyebrow:after{background:var(--inverse-edge)}.eyebrow .n{color:var(--brand)}.band-inverse .eyebrow .n{color:var(--accent-on-dark)}.lead{font-family:var(--font-serif);color:var(--ink-2);letter-spacing:-.004em;font-size:clamp(1.16rem,1rem + .5vw,1.36rem);line-height:1.55}.dim{color:var(--ink-3)}.small{font-size:.9rem;line-height:1.55}.band-inverse .lead{color:var(--inverse-ink)}.stack>*+*{margin-top:1.05em}.stack-lg>*+*{margin-top:2rem}.cols{grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,3vw,2.5rem);display:grid}@media (width>=54rem){.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-split{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.cols-split-wide{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}@media (width>=68rem){.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=54rem) and (width<=67.99rem){.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.sticky-head{align-self:start;position:sticky;top:6rem}@media (width<=53.99rem){.sticky-head{position:static}}.card{background:var(--surface);border:1px solid var(--edge);border-radius:var(--radius);padding:clamp(1.25rem,2.5vw,1.6rem)}.card h3{margin-bottom:.4rem}.card-flush{background:0 0;border:0;padding:0}.band-inverse .card{background:color-mix(in srgb, var(--inverse-ink) 4%, transparent);border-color:var(--inverse-edge)}.ruled{gap:0;display:grid}.ruled>*{border-top:1px solid var(--edge);padding:1.4rem 0}.ruled>:first-child{border-top:0;padding-top:0}@media (width>=54rem){.ruled-2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,4vw,3.5rem)}.ruled-2>*{border-top:1px solid var(--edge);padding:1.5rem 0}.ruled-2>:first-child,.ruled-2>:nth-child(2){border-top:0;padding-top:0}.ruled-3{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(1.75rem,3vw,3rem)}.ruled-3>*{border-top:1px solid var(--edge);padding:1.5rem 0}.ruled-3>:nth-child(-n+3){border-top:0;padding-top:0}}.band-inverse .ruled>*{border-top-color:var(--inverse-edge)}.band-inverse ul.ticks>li:before{background:var(--accent-on-dark)}.band-inverse ul.plain>li:before{background:var(--inverse-ink-2)}.band-inverse .more:hover,.band-inverse a:hover{color:#86e0c9}.btn{font-family:var(--font-sans);letter-spacing:-.008em;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:9px;align-items:center;gap:.5rem;padding:.82rem 1.15rem;font-size:.98rem;font-weight:550;line-height:1;text-decoration:none;transition:transform .12s,background .14s,border-color .14s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:color-mix(in srgb, var(--ink) 86%, var(--brand));color:var(--paper)}.btn-ghost{border-color:var(--edge-strong);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--ink-3);color:var(--ink);background:color-mix(in srgb, var(--ink) 3%, transparent)}.band-inverse .btn-primary{background:var(--inverse-ink);color:var(--inverse-bg)}.band-inverse .btn-ghost{border-color:var(--inverse-edge);color:var(--inverse-ink)}.band-inverse .btn-ghost:hover{border-color:var(--inverse-ink-2);background:color-mix(in srgb, var(--inverse-ink) 8%, transparent)}.btns{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.more{align-items:center;gap:.4rem;font-size:.95rem;font-weight:550;text-decoration:none;display:inline-flex}.more svg{width:.85em;height:.85em;transition:transform .16s}.more:hover svg{transform:translate(3px)}.more:hover{text-underline-offset:.22em;text-decoration:underline}ul.plain,ol.plain{margin:1rem 0;padding:0;list-style:none}ul.plain>li{margin:.55rem 0;padding-left:1.5rem;position:relative}ul.plain>li:before{content:"";background:var(--edge-strong);width:.6rem;height:1.5px;position:absolute;top:.62em;left:0}ul.ticks>li:before{content:"";background:var(--allow);width:.72rem;height:.72rem;-webkit-mask:var(--tick) center / contain no-repeat;mask:var(--tick) center / contain no-repeat;position:absolute;top:.42em;left:0}:root{--tick:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8.6l4 4L14 3.6' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.code{background:var(--surface);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.code-head{border-bottom:1px solid var(--edge);background:color-mix(in srgb, var(--ink) 3%, transparent);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;padding:.6rem .95rem;font-size:.74rem;display:flex}.code pre{font-family:var(--font-mono);tab-size:2;margin:0;padding:1rem .95rem 1.15rem;font-size:.8rem;line-height:1.72;overflow-x:auto}.code pre code{white-space:pre;background:0 0;border:0;padding:0}.c-com{color:var(--ink-3);font-style:italic}.c-key{color:var(--ink-2)}.c-str{color:var(--brand)}.c-num{color:var(--evidence)}.c-allow{color:var(--allow);font-weight:500}.c-deny{color:var(--deny);font-weight:500}.c-path{color:var(--ink);font-weight:500}.c-prompt{color:var(--ink-3);user-select:none}.note{border:1px solid color-mix(in srgb, var(--evidence) 45%, transparent);background:var(--evidence-fill);border-radius:var(--radius);padding:1rem 1.15rem;font-size:.94rem;line-height:1.58}.note strong{color:var(--evidence)}.band-inverse .note{background:color-mix(in srgb, var(--evidence-on-dark) 10%, transparent);border-color:color-mix(in srgb, var(--evidence-on-dark) 35%, transparent);color:var(--inverse-ink)}.band-inverse .note strong{color:var(--evidence-on-dark)}.pull{font-family:var(--font-serif);letter-spacing:-.015em;border-left:3px solid var(--brand);text-wrap:pretty;margin:0;padding-left:clamp(1rem,2.5vw,1.75rem);font-size:clamp(1.3rem,1rem + 1.3vw,1.85rem);line-height:1.34}.band-inverse .pull{border-left-color:var(--accent-on-dark)}.tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--edge-strong);color:var(--ink-3);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .55rem;font-size:.7rem;font-weight:500;display:inline-flex}.tag-free{border-color:color-mix(in srgb, var(--allow) 50%, transparent);color:var(--allow)}.tag-service{border-color:color-mix(in srgb, var(--evidence) 50%, transparent);color:var(--evidence)}.skip{background:var(--ink);color:var(--paper);z-index:100;border-radius:0 0 8px;padding:.7rem 1rem;text-decoration:none;position:absolute;top:0;left:-9999px}.skip:focus{left:0}header.site{z-index:20;background:color-mix(in srgb, var(--paper) 88%, transparent);backdrop-filter:saturate(150%)blur(10px);border-bottom:1px solid var(--edge);position:sticky;top:0}header.site>.wrap{flex-wrap:wrap;align-items:center;gap:clamp(1rem,3vw,2.25rem);min-height:4.1rem;display:flex}.mark{color:var(--ink);align-items:baseline;gap:.55rem;margin-right:auto;text-decoration:none;display:inline-flex}.mark b{letter-spacing:-.045em;font-size:1.3rem;font-weight:650}.mark span{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:.68rem}@media (width<=47rem){.mark span{display:none}.mark{width:100%;margin-right:0}header.site{position:static}nav.site .sep{display:none}}nav.site{flex-wrap:wrap;align-items:center;gap:clamp(.85rem,2vw,1.6rem);padding-bottom:.4rem;display:flex}nav.site a{color:var(--ink-2);padding-block:.3rem;font-size:.94rem;text-decoration:none;position:relative}nav.site a:hover{color:var(--ink)}nav.site a[aria-current=page]{color:var(--ink);font-weight:550}nav.site a[aria-current=page]:after{content:"";background:var(--brand);border-radius:2px;height:2px;position:absolute;bottom:-.55rem;left:0;right:0}nav.site .sep{background:var(--edge);width:1px;height:1.1rem}footer.site{border-top:1px solid var(--edge);background:var(--sunken);color:var(--ink-2);padding-block:clamp(2.5rem,5vw,3.5rem);font-size:.92rem}footer.site .cols{gap:2rem clamp(2rem,5vw,4rem)}footer.site h4{font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.7rem;font-size:.7rem;font-weight:500}footer.site ul{margin:0;padding:0;list-style:none}footer.site li{margin:.35rem 0}footer.site a{color:var(--ink-2);text-decoration:none}footer.site a:hover{color:var(--brand);text-decoration:underline}.colophon-line{border-top:1px solid var(--edge);color:var(--ink-3);flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;margin-top:2.5rem;padding-top:1.5rem;font-size:.86rem;display:flex}.hero{padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(2.5rem,5vw,4rem)}.hero-ground{position:relative;overflow:hidden}.hero-ground:before{content:"";background-image:linear-gradient(to right, color-mix(in srgb, var(--ink) 6%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--ink) 6%, transparent) 1px, transparent 1px);pointer-events:none;background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(120% 80% at 50% 0,#000 0%,#0000 72%);mask-image:radial-gradient(120% 80% at 50% 0,#000 0%,#0000 72%)}.hero-ground>*{position:relative}@media (prefers-reduced-motion:no-preference){.rise{animation:.55s cubic-bezier(.16,.84,.44,1) both rise}.rise-2{animation-delay:70ms}.rise-3{animation-delay:.14s}.rise-4{animation-delay:.21s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}table.spec{border-collapse:collapse;width:100%;font-size:.92rem}table.spec th,table.spec td{text-align:left;border-bottom:1px solid var(--edge);vertical-align:top;padding:.75rem 1rem .75rem 0}table.spec thead th{font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);border-bottom-color:var(--edge-strong);font-size:.7rem;font-weight:500}table.spec tbody th{width:34%;font-weight:550}.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}.est{border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);gap:0;display:grid;overflow:hidden}@media (width>=56rem){.est{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}.est-form{padding:clamp(1.5rem,3vw,2.25rem)}.est-answer{background:var(--inverse-bg);color:var(--inverse-ink);border-top:1px solid var(--inverse-edge);flex-direction:column;justify-content:center;padding:clamp(1.5rem,3vw,2.25rem);display:flex}@media (width>=56rem){.est-answer{border-top:0;border-left:1px solid var(--inverse-edge)}}.est-fields{gap:1.6rem;display:grid}@media (width>=34rem){.est-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}}.est-field>.label{min-height:2.6em;font-family:var(--font-mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap;align-items:flex-end;margin-bottom:.5rem;font-size:.71rem;font-weight:500;display:flex}.est-field input{width:100%;font-family:var(--font-mono);letter-spacing:-.01em;color:var(--ink);background:var(--paper);border:1px solid var(--edge-strong);border-radius:9px;padding:.6rem .7rem;font-size:1.4rem;font-weight:500;transition:border-color .14s,box-shadow .14s}.est-field input:hover{border-color:var(--ink-3)}.est-field input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 22%, transparent);outline:none}.est-field .hint{color:var(--ink-3);margin-top:.5rem;font-size:.83rem;line-height:1.45;display:block}.est-field .badge{border:1px solid var(--edge-strong);letter-spacing:.08em;color:var(--ink-3);vertical-align:1px;border-radius:999px;margin-bottom:.05rem;margin-left:.45rem;padding:.08rem .35rem;font-size:.62rem;display:inline-block}.est-field.is-inert input{color:var(--ink-2);border-style:dashed}.ans-tier{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-on-dark);margin:0 0 .35rem;font-size:.71rem;font-weight:500}.ans-price{flex-wrap:wrap;align-items:baseline;gap:.4rem;margin:0 0 .9rem;display:flex}.ans-num{letter-spacing:-.035em;font-size:clamp(2.1rem,1.4rem + 2.2vw,2.9rem);font-weight:650;line-height:1}.ans-per{color:var(--inverse-ink-2);font-size:.95rem}.ans-talk{font-family:var(--font-serif);letter-spacing:-.015em;font-size:clamp(1.3rem,1.05rem + 1vw,1.6rem);font-weight:400;line-height:1.25}.ans-lines{border-top:1px solid var(--inverse-edge);margin:0 0 1rem;padding:0;list-style:none}.ans-lines li{border-bottom:1px solid var(--inverse-edge);color:var(--inverse-ink-2);justify-content:space-between;gap:1rem;padding:.6rem 0;font-size:.86rem;line-height:1.5;display:flex}.ans-lines .amt{font-family:var(--font-mono);white-space:nowrap;color:var(--inverse-ink)}.ans-note{color:var(--inverse-ink-2);margin:0 0 .75rem;font-size:.86rem;line-height:1.5}.ans-foot{border-top:1px dashed var(--inverse-edge);color:var(--inverse-ink-2);margin:0;padding-top:.9rem;font-size:.86rem;line-height:1.5}.ans-foot strong{color:var(--inverse-ink);font-weight:600}.tier{background:var(--surface);border:1px solid var(--edge);border-radius:var(--radius);flex-direction:column;padding:clamp(1.25rem,2.5vw,1.6rem);display:flex}.tier-name{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .6rem;font-size:.73rem;font-weight:500}.tier-price{align-items:baseline;gap:.35rem;margin:0 0 .75rem;display:flex}.tier-price b{letter-spacing:-.035em;font-size:2rem;font-weight:650;line-height:1}.tier-price span{color:var(--ink-3);font-size:.9rem}.tier-who{color:var(--ink-2);border-bottom:1px solid var(--edge);margin:0 0 1rem;padding-bottom:1rem;font-size:.92rem;line-height:1.55}.tier-builds{color:var(--ink-3);margin:0 0 .6rem;font-size:.86rem}.tier ul{margin:0 0 1.25rem}.tier ul li{font-size:.92rem}.tier .foot{margin-top:auto}.not-a-tier{border:1px solid color-mix(in srgb, var(--allow) 45%, transparent);background:color-mix(in srgb, var(--allow) 5%, var(--surface));border-radius:var(--radius-lg);padding:clamp(1.4rem,3vw,2rem)}@media (width>=54rem){.not-a-tier{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(1.5rem,3vw,2.5rem);display:grid}}
