:root{--color-cream:#fbf7ec;--color-cream-deep:#f3ead6;--color-cream-panel:#fffdf7;--color-ink:#1c1b18;--color-ink-soft:#4a463e;--color-ink-faint:#7c766a;--color-accent:#b5532a;--color-accent-deep:#8a3e1f;--color-gold:#c18a1b;--color-rule:#ded3bc;--color-good:#2e6e4e;--font-serif:"Source Serif 4",Georgia,"Times New Roman",serif;--font-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--text-xs:0.78rem;--text-sm:0.9rem;--text-base:1.05rem;--text-lg:1.25rem;--text-xl:1.6rem;--text-2xl:2.1rem;--text-3xl:2.9rem;--text-4xl:3.8rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-pill:999px;--measure:68ch;--bg:var(--color-cream);--bg-panel:var(--color-cream-panel);--fg:var(--color-ink);--fg-soft:var(--color-ink-soft);--link:var(--color-accent-deep)}.prose{font-family:var(--font-serif);color:var(--fg);font-size:var(--text-base);line-height:1.62;max-width:var(--measure)}.prose>*+*{margin-top:var(--space-4)}.prose h1{font-size:var(--text-3xl);line-height:1.08;letter-spacing:-.02em;margin-top:0}.prose h1,.prose h2{font-family:var(--font-sans);font-weight:700}.prose h2{font-size:var(--text-xl);line-height:1.15;margin-top:var(--space-8);color:var(--color-accent-deep)}.prose h3{font-family:var(--font-sans);font-weight:600;font-size:var(--text-lg);margin-top:var(--space-6)}.prose li,.prose p{font-size:var(--text-base)}.prose strong{color:var(--color-ink);font-weight:700}.prose em{color:var(--color-ink-soft)}.prose ol,.prose ul{padding-left:1.4em}.prose li+li{margin-top:var(--space-2)}.prose a{color:var(--link);text-decoration:underline;text-underline-offset:2px}.prose code{font-family:var(--font-mono);font-size:.92em;background:var(--color-cream-deep);padding:.1em .35em;border-radius:var(--radius-sm)}.prose blockquote{font-family:var(--font-sans);border-left:3px solid var(--color-accent);background:var(--color-cream-panel);padding:var(--space-4) var(--space-6);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-ink);font-size:var(--text-base)}.prose blockquote p{margin-top:var(--space-2)}.prose blockquote>:first-child{margin-top:0}.prose hr{border:none;border-top:1px solid var(--color-rule);margin:var(--space-8) 0}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--link)}h1,h2,h3,h4{font-family:var(--font-sans);letter-spacing:-.02em;line-height:1.1;margin:0}.serif{font-family:var(--font-serif)}.mono{font-family:var(--font-mono)}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 var(--space-6)}.container-narrow{max-width:760px}.section{padding:var(--space-24) 0}.section-tight{padding:var(--space-16) 0}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.grid{display:grid;grid-gap:var(--space-6);gap:var(--space-6);align-items:stretch}@media (min-width:720px){.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.16em;color:var(--color-accent-deep)}.lede{font-family:var(--font-serif);font-size:var(--text-lg);line-height:1.55;max-width:60ch}.lede,.throughline{color:var(--color-ink-soft)}.throughline{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.65;max-width:72ch}.muted{color:var(--color-ink-faint)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--color-cream) 88%,transparent);-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--color-rule)}.site-header__inner{justify-content:space-between;height:64px}.brand,.site-header__inner{display:flex;align-items:center}.brand{gap:var(--space-3);font-family:var(--font-sans);font-weight:700;font-size:var(--text-lg);color:var(--color-ink);text-decoration:none;letter-spacing:-.02em}.brand__mark{display:block;width:30px;height:30px;border-radius:7px;flex-shrink:0}.nav{display:flex;align-items:center;gap:var(--space-6)}.nav a{color:var(--color-ink-soft);text-decoration:none;font-size:var(--text-sm);font-weight:500}.nav a:hover{color:var(--color-ink)}.nav a.btn-primary,.nav a.btn-primary:hover{color:var(--color-cream)}.nav a.btn-ghost{color:var(--color-ink)}.nav .nav-desktop-only{display:none}@media (min-width:860px){.nav .nav-desktop-only{display:inline}}.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:600;font-size:var(--text-sm);padding:.6em 1.1em;border-radius:var(--radius-pill);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:transform .06s ease,background .15s ease,border-color .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-accent);color:var(--color-cream)}.btn-primary:hover{background:var(--color-accent-deep)}.btn-ghost{background:transparent;color:var(--color-ink);border-color:color-mix(in srgb,var(--color-ink-soft) 28%,var(--color-rule))}.btn-ghost:hover{border-color:var(--color-ink-soft);background:color-mix(in srgb,var(--color-cream-deep) 50%,transparent)}.btn-lg{font-size:var(--text-base);padding:.7em 1.4em}.hero{padding:var(--space-24) 0 var(--space-16);background:radial-gradient(1100px 500px at 80% -10%,var(--color-cream-deep),transparent 70%)}@media (max-width:719px){.hero{padding:var(--space-16) 0 var(--space-12)}.nav,.site-header__inner{gap:var(--space-3)}.nav{flex-shrink:0}.brand{font-size:var(--text-base);min-width:0}.nav .btn-primary{padding:.5em .9em;font-size:var(--text-xs);white-space:nowrap}}@media (max-width:420px){.brand__text{display:none}}.hero h1{font-size:clamp(2.4rem,6vw,var(--text-4xl));max-width:16ch;line-height:1.05}.hero .accent{color:var(--color-accent-deep)}.card{background:var(--bg-panel);border:1px solid var(--color-rule);border-radius:var(--radius-lg);padding:var(--space-6)}.card.stack{height:100%}.card h3{font-size:var(--text-lg)}.card--link{text-decoration:none;color:inherit;display:block;transition:border-color .15s ease,transform .08s ease}.card--link:hover{border-color:var(--color-accent);transform:translateY(-2px)}.badge{display:inline-flex;align-items:center;gap:.35em;font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;padding:.25em .6em;border-radius:var(--radius-pill);border:1px solid var(--color-rule);color:var(--color-ink-soft);background:var(--color-cream)}.badge--free{color:var(--color-good);border-color:color-mix(in srgb,var(--color-good) 40%,var(--color-rule))}.badge--gated{color:var(--color-accent-deep);border-color:color-mix(in srgb,var(--color-accent) 40%,var(--color-rule))}.chip{display:inline-block;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--color-ink-soft);background:var(--color-cream-deep);border-radius:var(--radius-sm);padding:.15em .5em;margin:0 .3em .3em 0}.table-wrap{overflow-x:auto;border:1px solid var(--color-rule);border-radius:var(--radius-lg);background:var(--bg-panel)}table.crosswalk{border-collapse:collapse;width:100%;font-size:var(--text-sm)}table.crosswalk td,table.crosswalk th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-rule);vertical-align:top}table.crosswalk th{font-family:var(--font-sans);font-weight:600;background:var(--color-cream-deep);position:-webkit-sticky;position:sticky;top:0}table.crosswalk tr:last-child td{border-bottom:none}.framework-tag{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent-deep)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field label{font-size:var(--text-sm);font-weight:600}.field input,.field select,.field textarea{font-family:var(--font-sans);font-size:var(--text-base);padding:.65em .8em;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--fg)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid color-mix(in srgb,var(--color-accent) 50%,transparent);border-color:var(--color-accent)}.form-note{font-size:var(--text-sm);color:var(--color-ink-faint)}.alert{padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);border:1px solid}.alert--ok{background:color-mix(in srgb,var(--color-good) 8%,var(--bg-panel));border-color:color-mix(in srgb,var(--color-good) 40%,var(--color-rule));color:var(--color-good)}.alert--err{background:color-mix(in srgb,var(--color-accent) 8%,var(--bg-panel));border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-rule));color:var(--color-accent-deep)}.locked{position:relative;border:1px dashed var(--color-rule);border-radius:var(--radius-md);padding:var(--space-4) var(--space-6);background:repeating-linear-gradient(-45deg,var(--color-cream),var(--color-cream) 12px,var(--color-cream-deep) 12px,var(--color-cream-deep) 24px);color:var(--color-ink-soft);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.site-footer{border-top:1px solid var(--color-rule);padding:var(--space-12) 0;margin-top:var(--space-16);font-size:var(--text-sm);color:var(--color-ink-faint)}.site-footer a{color:var(--color-ink-soft);text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer .stack a{display:block}.site-footer .footer-links{gap:var(--space-8)}@media (max-width:719px){.site-footer .footer-grid{grid-template-columns:1fr}.site-footer .footer-links{grid-template-columns:1fr 1fr}}.divider{height:1px;background:var(--color-rule);border:none;margin:var(--space-12) 0}.pill-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.kicker-num{font-family:var(--font-mono);color:var(--color-accent);font-size:var(--text-sm);flex-shrink:0}.band-title{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.status-tag{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:lowercase}.status-tag--authored{color:var(--color-accent-deep)}.status-tag--planned{color:var(--color-ink-faint)}.price{font-family:var(--font-sans);font-weight:700;font-size:var(--text-2xl);letter-spacing:-.02em}.tier-badge-slot{min-height:1.85rem}.tier-desc{min-height:2.85em}ul.clean{list-style:none;padding:0;margin:0}ul.check li{position:relative;padding-left:1.6em;margin-bottom:var(--space-2)}ul.check li:before{content:"→";position:absolute;left:0;color:var(--color-accent);font-weight:700}