
*{box-sizing:border-box}
:root{--container:1100px}
html,body{margin:0;padding:0}
body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6;color:#111}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
.container{max-width:var(--container);margin-inline:auto;padding:0 16px}

/* Header */
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.brand img{height:44px;width:auto}
.nav{display:flex;gap:24px;align-items:center}
.nav a{padding:10px 4px;font-weight:500}
.nav a:hover{opacity:.7}
.nav-toggle{display:none;border:1px solid #ddd;background:#fff;border-radius:8px;padding:8px 10px;cursor:pointer}

/* Hero */
.hero{padding:56px 0 40px;background:linear-gradient(180deg,#faf7ef,transparent)}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}
.hero h1{font-size:clamp(28px,3.5vw,48px);margin:.2em 0}
.hero p{font-size:clamp(16px,1.8vw,18px);color:#333;margin:0 0 18px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:12px 18px;border-radius:12px;background:#111;color:#fff;font-weight:600}
.btn-secondary{background:#f0f0f0;color:#111}

/* Features */
.features{padding:36px 0 64px}
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{border:1px solid #eee;border-radius:16px;padding:22px;background:#fff}
.card h3{margin-top:0}

/* Page hero */
.page-hero{padding:40px 0 10px;background:#fafafa;border-bottom:1px solid #eee}
.page-hero h1{margin:.2em 0}

/* Gallery */
.gallery{padding:24px 0 64px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery-item{border-radius:12px;overflow:hidden;border:1px solid #eee;background:#fff}
.gallery-item img{aspect-ratio:1/1;object-fit:cover;transition:transform .25s ease}
.gallery-item:hover img{transform:scale(1.03)}

/* Contact */
.contact{padding:24px 0 64px}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
.contact-form{border:1px solid #eee;border-radius:16px;padding:18px;background:#fff}
.contact-form label{display:block;margin:10px 0;font-weight:500}
.contact-form input,.contact-form textarea{width:100%;margin-top:6px;padding:12px 12px;border:1px solid #ddd;border-radius:10px;font:inherit}
.contact-form button{margin-top:8px}
.form-note{font-size:12px;color:#555;margin-top:8px}
.contact-info{border:1px solid #eee;border-radius:16px;padding:18px;background:#fff}
.contact-info ul{list-style:none;padding:0;margin:0 0 12px}
.contact-info li{margin:6px 0}

/* Footer */
.site-footer{border-top:1px solid #eee;background:#fafafa}
.footer-inner{padding:18px 0;text-align:center;color:#444}

/* Responsive */
@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr}
  .features-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}
  .nav{display:none;position:absolute;inset:60px 0 auto 0;background:#fff;border-bottom:1px solid #eee;padding:10px 16px;flex-direction:column}
  .nav-toggle{display:block}
  .nav.show{display:flex}
}
