:root{--fg: #1a1a1a;--muted: #666;--accent: #7a5c34;--bg: #fafaf8;--border: #e2ded6;--tile: #eee;--maxw: 900px}:root[data-theme=dark]{--fg: #e7e3da;--muted: #9a9488;--accent: #cba46a;--bg: #17140f;--border: #332f28;--tile: #26221b}*{box-sizing:border-box}html{font-family:Georgia,Times New Roman,serif;color:var(--fg);background:var(--bg);line-height:1.6}body{margin:0}a,a:visited{color:var(--accent)}.site-header{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.2rem;max-width:var(--maxw);margin:.6rem auto 0;padding:.9rem 1.2rem;background:var(--tile);border-radius:6px}.site-title{margin-right:.5rem}.brand{font-size:2.2rem;font-weight:700;text-decoration:none;color:var(--fg);line-height:1.1}.tagline{margin:.15rem 0 0;font-size:.9rem;font-style:italic;color:var(--muted)}.site-nav{flex-basis:100%;margin-top:.3rem;display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;align-items:baseline}.site-nav a{text-decoration:none;color:var(--accent)}.site-nav a:hover,.site-nav a.active{text-decoration:underline}.site-utils{margin-left:auto;display:flex;align-items:center;gap:.5rem}.lang-switch{font-size:.95em}.theme-toggle{background:none;border:1px solid var(--border);border-radius:4px;color:var(--accent);cursor:pointer;font-size:1rem;line-height:1;padding:.2rem .45rem;margin-left:.5rem}.theme-toggle:hover{border-color:var(--accent)}.content{max-width:var(--maxw);margin:0 auto;padding:1.5rem 1rem 3rem}.content h1{font-size:1.9rem;margin:.5rem 0 1rem}.lead{font-size:1.15rem;color:var(--fg)}.todo{color:var(--muted);font-style:italic}.site-footer{max-width:var(--maxw);margin:0 auto;padding:1.5rem 1rem;color:var(--muted);border-top:1px solid var(--border);font-size:.9rem}@media (max-width: 600px){.site-header{flex-direction:column;align-items:flex-start}.brand{margin-right:0}}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.6rem;margin:1rem 0}.gallery-item{display:block;overflow:hidden;border-radius:4px;background:var(--tile)}.gallery-item img{width:100%;height:100%;aspect-ratio:1 / 1;object-fit:cover;display:block;transition:transform .2s}.gallery-item:hover img{transform:scale(1.04)}.gallery-index{list-style:none;padding:0;columns:2}.gallery-index li{margin:0 0 .5rem;break-inside:avoid}.gallery-index .count{color:var(--muted);font-size:.9em}@media (max-width: 600px){.gallery-index{columns:1}}.carousel{position:relative;max-width:var(--maxw);margin:.6rem auto 0}.carousel-track{position:relative;width:100%;height:clamp(200px,32vw,340px);border-radius:6px;overflow:hidden;background:var(--tile)}.carousel-slide{position:absolute;inset:0;transition:opacity .6s ease;display:block}.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block}.carousel-prev,.carousel-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:#0006;color:#fff;border:0;cursor:pointer;width:2.2rem;height:3rem;font-size:1.8rem;line-height:1;border-radius:4px}.carousel-prev{left:.4rem}.carousel-next{right:.4rem}.carousel-prev:hover,.carousel-next:hover{background:#000000a6}.home-intro{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;margin:1.5rem 0}.home-intro img{flex:1 1 260px;min-width:0;max-width:460px;height:auto;border-radius:4px;object-fit:contain}.gallery-covers{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin:1.2rem 0}.cover{text-decoration:none;color:inherit;display:block}.cover img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:4px;display:block;background:var(--tile)}.cover-label{display:block;margin-top:.35rem;color:var(--accent)}.cover-label em{color:var(--muted);font-style:normal;font-size:.9em}.cover:hover .cover-label{text-decoration:underline}.lb{position:fixed;inset:0;background:#000000eb;display:none;z-index:1000}.lb.open{display:block}.lb-img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:92vw;max-height:92vh;pointer-events:none}.lb-prev,.lb-next{position:absolute;top:0;height:100%;width:50%}.lb-prev{left:0;cursor:w-resize}.lb-next{right:0;cursor:e-resize}.lb-close{position:absolute;top:.5rem;right:.8rem;z-index:2;background:none;border:0;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer}.phones{list-style:none;padding:0;margin:.3rem 0}.phones li{margin:0 0 .3rem}
