:root{--bg-color:#0a0a0a;--text-color:#f5f5f5;--text-dim:#a0a0a0;--link-color:#ffffff;--link-hover:#0066cc;--border-color:#222222;--accent-color:#ffffff;--font-serif:"Iowan Old Style", "Apple Garamond", "Baskerville", "Times New Roman", serif;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, Arial, sans-serif;--max-width:900px;--transition:all 0.3s ease}@media(prefers-color-scheme:light){:root{--bg-color:#ffffff;--text-color:#1a1a1a;--text-dim:#666666;--link-color:#000000;--link-hover:#0066cc;--border-color:#eeeeee;--accent-color:#000000}}body{font-family:var(--font-sans);line-height:1.7;color:var(--text-color);background-color:var(--bg-color);margin:0;padding:0;-webkit-font-smoothing:antialiased}header{padding:3rem 0;border-bottom:1px solid var(--border-color)}nav{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:baseline;padding:0 2rem}nav .site-logo a{font-family:var(--font-sans);font-weight:800;font-size:1.2rem;text-decoration:none;color:var(--accent-color);letter-spacing:.15em;text-transform:uppercase;transition:var(--transition)}nav .site-logo a:hover{color:var(--link-hover)}nav ul{list-style:none;display:flex;margin:0;padding:0}nav ul li{margin-left:2rem}nav ul li a{text-decoration:none;color:var(--text-dim);font-size:.95rem;font-weight:500;transition:var(--transition)}nav ul li a:hover{color:var(--accent-color)}main{max-width:var(--max-width);margin:4rem auto;padding:0 2rem}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--accent-color);line-height:1.2;margin-top:2.5rem}h1{font-size:3rem;margin-bottom:2rem;letter-spacing:-.03em}h2{font-size:2rem;margin-bottom:1.5rem}a{color:var(--link-color);text-decoration-thickness:1px;text-underline-offset:3px;transition:var(--transition)}a:hover{color:var(--link-hover)}p{margin-bottom:1.5rem;font-size:1.1rem}footer{max-width:var(--max-width);margin:8rem auto 4rem;padding:2rem;border-top:1px solid var(--border-color);text-align:center;font-size:.85rem;color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase}.recent-posts ul,.blog-list ul{list-style:none;padding:0}.recent-posts li,.blog-list li{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.recent-posts li a,.blog-list li a{font-family:var(--font-serif);font-size:1.5rem;text-decoration:none;display:block;margin-bottom:.25rem}time{color:var(--text-dim);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:4rem}.gallery-item{overflow:hidden;background:#111;transition:var(--transition)}.gallery-item img{width:100%;height:auto;display:block;filter:grayscale(20%);transition:transform .6s cubic-bezier(.165,.84,.44,1)}.gallery-item:hover img{transform:scale(1.05);filter:grayscale(0%)}.hero{padding:6rem 0;border-bottom:1px solid var(--border-color);margin-bottom:4rem}.hero h1{font-size:4rem;margin-top:0}.hero p{font-size:1.4rem;color:var(--text-dim);max-width:700px;margin-bottom:3rem}.cta-group{display:flex;gap:1.5rem}.button{padding:.75rem 1.5rem;border:1px solid var(--accent-color);text-decoration:none;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center}.button:hover{background:var(--accent-color);color:var(--bg-color)}.button.primary{background:var(--accent-color);color:var(--bg-color)}.button.primary:hover{background:0 0;color:var(--accent-color)}.home-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem}@media(max-width:768px){.home-grid{grid-template-columns:1fr}.hero h1{font-size:2.5rem}}.recent-posts .summary{color:var(--text-dim);font-size:1rem;margin-top:.5rem}.view-all{display:inline-block;margin-top:2rem;font-weight:600;text-decoration:none;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em}.teaser-card{background:#111;padding:2rem;border:1px solid var(--border-color);margin-bottom:2rem;transition:var(--transition)}@media(prefers-color-scheme:light){.teaser-card{background:#f9f9f9}}.teaser-card h3{margin-top:0;font-size:1.5rem}.teaser-card p{font-size:.95rem;color:var(--text-dim);margin-bottom:1.5rem}.status{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;padding:.3rem .6rem;background:var(--border-color);color:var(--text-dim);border-radius:2px}