:root{--bg:#faf9f7;--surface:#ffffff;--text:#1c1b1a;--muted:#6b6762;--line:#e6e2dc;--accent:#1c1b1a;--accent-text:#faf9f7;--radius:6px;--gutter:16px;--max:72rem;--icon-moon:block;--icon-sun:none;color-scheme:light;font-family:inter,system-ui,-apple-system,segoe ui,sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121211;--surface:#1b1b1a;--text:#eceae6;--muted:#9b968f;--line:#2c2b29;--accent:#eceae6;--accent-text:#121211;--icon-moon:none;--icon-sun:block;color-scheme:dark}}:root[data-theme=dark]{--bg:#121211;--surface:#1b1b1a;--text:#eceae6;--muted:#9b968f;--line:#2c2b29;--accent:#eceae6;--accent-text:#121211;--icon-moon:none;--icon-sun:block;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-size:17px;line-height:1.6}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3{line-height:1.2;letter-spacing:-.01em;font-weight:600}h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:.5rem 0 1rem}h2{font-size:1.4rem}.muted,.crumbs{color:var(--muted)}.crumbs{font-size:.9rem;margin:1.5rem 0 0}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}main.wrap{min-height:60vh;padding-bottom:4rem}.site-header{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:10}.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;padding-top:1rem;padding-bottom:1rem}.brand{font-weight:700;text-decoration:none;letter-spacing:.02em}.site-header nav{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;font-size:.95rem}.site-header nav a{text-decoration:none;color:var(--muted)}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--text)}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.site-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.5rem;padding-bottom:1.5rem}.site-footer p{margin:0}.hero{padding:clamp(3rem,10vw,7rem)0 3rem;max-width:44rem}.hero h1{font-size:clamp(2.4rem,7vw,4.5rem);margin:0}.tagline{font-size:1.25rem;color:var(--muted);margin:.75rem 0 0}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.button{display:inline-block;padding:.7rem 1.2rem;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);text-decoration:none;font:inherit;font-size:.95rem;cursor:pointer}.button.secondary{background:0 0;color:var(--text)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:3rem 0 1rem}.section-head h2{margin:0}.section-head a{color:var(--muted);font-size:.95rem}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:1.5rem;margin:1.5rem 0}.card{display:block;text-decoration:none}.card-image{aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius);background:var(--line)}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.card:hover .card-image img{transform:scale(1.03)}.card-text h3{margin:.75rem 0 .15rem;font-size:1.05rem}.card-text p{margin:0;color:var(--muted);font-size:.9rem}@media(prefers-reduced-motion:reduce){.card-image img{transition:none}}.post-list{list-style:none;padding:0;margin:1rem 0;max-width:44rem}.post-list li{padding:1rem 0;border-bottom:1px solid var(--line)}.post-list li>div>a{font-weight:600;font-size:1.1rem;text-decoration:none}.post-list li>div>a:hover{text-decoration:underline}.post-list li.has-cover{display:grid;grid-template-columns:9rem 1fr;gap:1rem;align-items:start}.post-thumb img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}@media(max-width:30rem){.post-list li.has-cover{grid-template-columns:6rem 1fr;gap:.75rem}}.post-list .muted{display:block;font-size:.875rem}.post-list p{margin:.35rem 0 0}.prose{max-width:44rem}.post-hero{margin:1.5rem 0 2rem}.post-hero img{display:block;width:100%;height:auto;border-radius:var(--radius)}.contact{display:grid;gap:1rem;max-width:32rem;margin:1.5rem 0}.contact label{display:grid;gap:.3rem;font-size:.9rem;color:var(--muted)}.contact input,.contact textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .75rem}.contact .button{justify-self:start}.theme-toggle{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--line);border-radius:50%;background:0 0;color:var(--text);cursor:pointer}.theme-toggle:hover{border-color:var(--muted)}.theme-toggle svg{width:1.1rem;height:1.1rem}.theme-toggle .icon-moon{display:var(--icon-moon)}.theme-toggle .icon-sun{display:var(--icon-sun)}.header-end{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.video{position:relative;width:100%;margin:1.5rem 0;border-radius:var(--radius);overflow:hidden;background:#000}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.intro{padding:clamp(2rem,6vw,4rem)0 2rem;max-width:44rem}.intro h1{margin:0}.site-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:2rem;margin:1rem 0 3rem}.site-card{display:block;text-decoration:none}.site-card .card-image{aspect-ratio:3/2}.site-card h2{margin:1rem 0 .35rem;font-size:1.4rem}.site-card p{margin:0}.site-card .site-link{margin-top:.6rem;color:var(--muted);font-size:.9rem}.site-card:hover .card-image img{transform:scale(1.03)}.site-card.soon{opacity:.6}.featured{display:grid;grid-template-columns:minmax(0,3fr)minmax(0,2fr);gap:2rem;align-items:center;text-decoration:none;margin:1rem 0 2rem}.featured-image{aspect-ratio:3/2;overflow:hidden;border-radius:var(--radius);background:var(--line)}.featured-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.featured:hover .featured-image img{transform:scale(1.02)}.featured-text h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:.25rem 0 .75rem}.featured-text p{margin:0}@media(max-width:720px){.featured{grid-template-columns:1fr;gap:1rem}}@media(prefers-reduced-motion:reduce){.featured-image img{transition:none}}.badge{display:inline-block;vertical-align:middle;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;border:1px solid var(--muted);color:var(--muted)}.todo{margin:1.5rem 0;padding:.75rem 1rem;border:2px dashed #c2410c;border-radius:var(--radius);color:#c2410c;background:color-mix(in srgb,#c2410c 8%,transparent)}