
:root{
  --bg:#fafafa;
  --text:#222;
  --muted:#666;
  --accent:#111;
  --pastel-1:#ffe0cc;
  --pastel-2:#cdebea;
  --pastel-3:#e0d1ff;
  --pastel-4:#d2e8ff;
  --pastel-5:#fffccc;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu;scroll-behavior:smooth;background:var(--bg);color:var(--text)}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.section{padding:72px 0}
h1,h2,h3{margin:0 0 16px}
h1{font-size:clamp(28px,5vw,48px);line-height:1.1}
h2{font-size:clamp(22px,3.2vw,32px)}
p{line-height:1.7;color:var(--muted)}
.navbar{position:sticky;top:0;background:rgba(250,250,250,.85);backdrop-filter:saturate(180%) blur(8px);z-index:50;border-bottom:1px solid #eee}
.navbar .inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.navbar img{width:40px;height:40px;border-radius:12px}
.navbar .links a{margin-left:16px;text-decoration:none;color:#333;font-weight:600;opacity:.85}
.navbar .links a:hover{opacity:1}
.hero{position:relative;height:72vh;min-height:480px;border-bottom:1px solid #eee;overflow:hidden}
.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.hero .slide.active{opacity:1}
.hero .slide img{width:100%;height:100%;object-fit:cover;filter:saturate(0.95) contrast(1.05)}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,250,250,0.35),rgba(250,250,250,0.75) 60%,rgba(250,250,250,1))}
.hero .content{position:absolute;left:50%;bottom:12%;transform:translateX(-50%);text-align:center}
.hero .content h1{margin-bottom:12px}
.cta{display:inline-block;background:var(--accent);color:#fff;padding:12px 18px;border-radius:14px;text-decoration:none;font-weight:700}
.cta.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){.grid{grid-template-columns:repeat(2,1fr)}}
.card{background:#fff;border:1px solid #eee;border-radius:18px;overflow:hidden;transition:transform .2s ease, box-shadow .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.05)}
.card img{width:100%;height:180px;object-fit:cover}
.card .body{padding:14px}
.kicker{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;color:#444;background:#f2f2f2;margin-bottom:8px}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.badge{padding:8px 12px;border:1px solid #ddd;border-radius:12px;background:#fff;font-size:14px;cursor:pointer;user-select:none}
.badge.active{background:#111;color:#fff;border-color:#111}
.portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:1024px){.portfolio{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.portfolio{grid-template-columns:1fr}}
.portfolio figure{margin:0;background:#fff;border:1px solid #eee;border-radius:16px;overflow:hidden}
.portfolio img{width:100%;height:260px;object-fit:cover}
.portfolio figcaption{padding:12px;font-size:14px;color:#555}
.strip{height:8px;background:linear-gradient(90deg,var(--pastel-1),var(--pastel-2),var(--pastel-3),var(--pastel-4),var(--pastel-5));border-top:1px solid #eee;border-bottom:1px solid #eee}
.footer{padding:36px 0;border-top:1px solid #eee;text-align:center;color:#777}
.footer a{color:#444;text-decoration:none;font-weight:600}
.footer .mini{font-size:12px;color:#9a9a9a;margin-top:6px}
.notice{padding:14px;border:1px dashed #ddd;border-radius:12px;background:#fff}
.gallery-filter{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 24px}
figure a{display:block}
figure a:hover img{transform:scale(1.02);transition:transform .2s ease}
.lightbox-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:1000}
.lightbox-backdrop img{max-width:90vw;max-height:80vh;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lightbox-backdrop.show{display:flex}
