:root{color-scheme:light;--bg: #f7f4ef;--surface: #fffaf3;--surface-strong: #ffffff;--text: #141414;--muted: #5d6470;--line: #d8d2c8;--accent: #0f766e;--accent-strong: #0b4f4a;--ink: #1f2937;--code-bg: #111827;--code-text: #e5e7eb;--max: 1120px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);color:var(--text)}body{margin:0;min-height:100vh;font-size:18px;line-height:1.65}a{color:inherit;text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent);text-decoration-thickness:.08em;text-underline-offset:.2em}a:hover{color:var(--accent-strong)}img,svg{max-width:100%}.skip-link{background:var(--text);color:#fff;left:1rem;padding:.5rem .75rem;position:absolute;top:1rem;transform:translateY(-150%);z-index:10}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,white);position:sticky;top:0;z-index:4}.nav-shell,.site-footer,.section,.hero{margin:0 auto;max-width:var(--max);padding-inline:1.25rem}.nav-shell{align-items:center;display:flex;gap:1.5rem;justify-content:space-between;min-height:72px}.brand{align-items:center;display:inline-flex;font-weight:750;gap:.65rem;text-decoration:none;white-space:nowrap}.brand-mark{align-items:center;background:var(--ink);border-radius:8px;color:#fff;display:inline-flex;font-size:.78rem;height:36px;justify-content:center;width:36px}.nav-links{align-items:center;display:flex;flex-wrap:wrap;gap:.9rem 1.25rem;justify-content:flex-end;font-size:.94rem}.nav-links a{color:var(--muted);text-decoration:none}.nav-links a:hover{color:var(--text)}.hero{display:grid;gap:2.5rem;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);padding-block:5rem 3rem}.hero h1,.page-title h1{font-size:clamp(2.4rem,6vw,5.7rem);line-height:.98;margin:0;max-width:11ch}.article-header h1{font-size:clamp(2.4rem,4.5vw,4.5rem);line-height:1.04;margin:0;max-width:18ch}.hero-copy{align-self:end}.lede{color:var(--muted);font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.55;margin:1.5rem 0 0;max-width:680px}.hero-actions,.inline-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.button{align-items:center;background:var(--text);border:1px solid var(--text);border-radius:8px;color:#fff;display:inline-flex;font-size:.95rem;font-weight:700;min-height:44px;padding:.55rem .9rem;text-decoration:none}.button.secondary{background:transparent;color:var(--text)}.notebook-panel{align-self:stretch;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 16%,transparent) 1px,transparent 1px),linear-gradient(var(--line) 1px,transparent 1px),var(--surface);background-size:48px 48px,100% 32px,auto;border:1px solid var(--line);border-radius:8px;min-height:390px;padding:1.25rem;position:relative}.system-map{display:grid;gap:.85rem;height:100%}.map-node{align-content:center;background:color-mix(in srgb,white 84%,var(--bg));border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;box-shadow:0 14px 36px #1f293714;min-height:74px;padding:.8rem 1rem}.map-node strong{display:block;font-size:.95rem;line-height:1.3}.map-node span{color:var(--muted);display:block;font-size:.82rem;line-height:1.45;margin-top:.15rem}.section{padding-block:3rem}.section-header{align-items:end;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.section-header h2,.page-title h1{margin:0}.section-header p,.page-title p{color:var(--muted);margin:.4rem 0 0;max-width:650px}.grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.capability,.writing-card,.empty-state{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:1.15rem}.capability h3,.writing-card h2,.empty-state h2,.empty-state h3{font-size:1.15rem;line-height:1.3;margin:0}.capability p,.writing-card p,.empty-state p{color:var(--muted);margin:.65rem 0 0}.writing-list{display:grid;gap:1rem}.writing-card-meta,.article-meta{color:var(--muted);display:flex;flex-wrap:wrap;font-size:.9rem;gap:.45rem .8rem;margin-bottom:.65rem}.tag-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.tag-list span{background:color-mix(in srgb,var(--accent) 10%,white);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;color:var(--accent-strong);font-size:.78rem;font-weight:700;padding:.18rem .55rem}.page-title,.article-shell{margin:0 auto;max-width:860px;padding:4.5rem 1.25rem 2rem}.article-header{border-bottom:1px solid var(--line);margin-bottom:2.5rem;padding-bottom:2rem}.eyebrow{color:var(--accent-strong);font-size:.85rem;font-weight:800;margin:0 0 .85rem;text-transform:uppercase}.prose{max-width:760px}.prose h2{font-size:1.7rem;line-height:1.2;margin:2.2rem 0 .75rem}.prose h3{font-size:1.25rem;margin:1.8rem 0 .5rem}.prose p,.prose li{color:color-mix(in srgb,var(--text) 86%,var(--muted))}.prose pre{background:var(--code-bg);border-radius:8px;color:var(--code-text);overflow-x:auto;padding:1rem}.prose code{font-size:.92em}.prose :not(pre)>code{background:color-mix(in srgb,var(--accent) 10%,white);border-radius:6px;padding:.08rem .28rem}.prose figure{margin:2rem 0}.prose figure img{border:1px solid var(--line);border-radius:8px;display:block}.prose figcaption{color:var(--muted);font-size:.9rem;line-height:1.5;margin-top:.65rem}.contact-section{max-width:860px}.contact-form-frame{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:1.15rem}.contact-form-frame iframe{border:0;display:block;min-height:780px;width:100%}.form-note{color:var(--muted);font-size:.9rem;margin:0}.site-footer{align-items:start;border-top:1px solid var(--line);color:var(--muted);display:flex;gap:1rem;justify-content:space-between;margin-top:4rem;padding-block:2rem}.site-footer p{margin:.3rem 0 0}.footer-links{display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:flex-end}@media (max-width: 820px){body{font-size:16px}.nav-shell{align-items:flex-start;flex-direction:column;gap:.75rem;padding-block:1rem}.nav-links{justify-content:flex-start}.hero{grid-template-columns:1fr;padding-block:3rem 2rem}.hero h1,.page-title h1{font-size:clamp(2.35rem,15vw,4rem)}.article-header h1{font-size:clamp(2.25rem,11vw,3.25rem)}.grid{grid-template-columns:1fr}.section-header,.site-footer{align-items:flex-start;flex-direction:column}.footer-links{justify-content:flex-start}}
