
:root{
  --bg:#f6f7f8;
  --fg:#222;
  --muted:#666;
  --brand:#0b8f6a;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--fg)}
.container{max-width:1100px;margin:0 auto;padding:20px}
header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e7e7e7;z-index:10}
.nav{display:flex;align-items:center;gap:18px;padding:10px 20px}
.nav .title{font-weight:800;letter-spacing:.4px}
.nav a{padding:10px 14px;border:1px solid #e5e5e5;border-radius:12px;text-decoration:none;color:var(--fg);background:#fff}
.hero{position:relative;height:46vh;min-height:300px;background:#ddd;overflow:hidden}
.hero img{width:100%;height:100%;object-fit:cover;display:block;border-radius:14px}
.badge{position:absolute;left:20px;top:20px;background:#111;color:#fff;padding:10px 14px;border-radius:10px;opacity:.9}
.card{background:#fff;border:1px solid #eee;border-radius:14px;padding:18px}
.grid{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:800px){.grid{grid-template-columns:1.3fr .7fr}}
a.link{color:#0a6fb9;text-decoration:none}
footer{padding:30px 20px;color:var(--muted);font-size:.9rem}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:10px}
.gallery img{width:100%;height:160px;object-fit:cover;border-radius:10px;cursor:pointer;border:1px solid #eee}
/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;padding:20px;z-index:9999}
.lightbox img{max-width:95vw;max-height:88vh;border-radius:10px;display:block}
.lightbox.show{display:flex}
.close{position:absolute;top:16px;right:20px;background:#fff;border-radius:40px;padding:6px 12px;cursor:pointer}
/* carousel */
.carousel{position:relative;overflow:hidden;border-radius:14px}
.carousel-track{display:flex;transition:transform .6s ease}
.carousel img{width:100%;height:46vh;min-height:300px;object-fit:cover;flex:0 0 100%}
