:root {
  --primary: #005bac;
  --primary-dark: #003f7d;
  --accent: #00b894;
  --light-bg: #f9fafc;
  --dark-text: #222;
  --max-width: 1200px;
}

* { box-sizing: border-box; margin:0; padding:0; }
html { scroll-behavior: smooth; }
body { font-family:'Poppins',sans-serif; background: var(--light-bg); color:var(--dark-text); }

.container { max-width: var(--max-width); margin:0 auto; padding:0 1rem; }

.site-header { position:sticky; top:0; background:var(--primary); z-index:100; }
.header-inner { display:flex; align-items:center; justify-content:space-between; padding:1rem 0; }
.logo { color:#fff; font-size:1.5rem; font-weight:700; }
header nav { display:flex; gap:1rem; }
header nav a { color:#fff; text-decoration:none; font-weight:500; transition:opacity .2s; }
header nav a:hover { opacity:.7; }
.burger { display:none; background:none; border:none; color:#fff; font-size:1.5rem; }

.hero-section { position:relative; height:100vh; overflow:hidden; }
.hero-overlay { position:absolute; inset:0; background:rgba(0,0,0,.5); }
.parallax { position:absolute; inset:0; background-size:cover; background-position:center; pointer-events:none; }
.hero-content { position:relative; z-index:2; color:#fff; text-align:center; top:50%; transform:translateY(-50%); animation:fadeIn 1s ease-out; }
.hero-content h1 { font-size:3rem; margin-bottom:1rem; }
.hero-content p { font-size:1.2rem; margin-bottom:1.5rem; }
.btn { display:inline-block; padding:.75rem 1.5rem; border-radius:5px; background:var(--accent); color:#fff; text-decoration:none; transition:background .3s; }
.btn:hover { background:#017b60; }

.section { padding:4rem 0; }
.section h2 { text-align:center; margin-bottom:1rem; color:var(--primary-dark); }

.about-section .about-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:2rem; align-items:center; }
.about-grid img { width:100%; border-radius:8px; box-shadow:0 2px 8px rgba(0,0,0,.1); }

.cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:2rem; margin-bottom:2rem; }
.card { background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 4px 12px rgba(0,0,0,.05); transition:transform .2s,box-shadow .2s; position:relative; }
.card:hover { transform:translateY(-5px); box-shadow:0 6px 20px rgba(0,0,0,.1); }
.card img { width:100%; height:150px; object-fit:cover; }

.contact-form { display:flex; flex-direction:column; gap:1rem; max-width:500px; margin:0 auto; }
.contact-form input, .contact-form textarea { padding:.75rem; border:1px solid #ccc; border-radius:5px; font:inherit; }
.contact-form button { padding:.75rem; background:var(--primary); color:#fff; border:none; border-radius:5px; cursor:pointer; transition:background .3s; }
.contact-form button:hover { background:var(--primary-dark); }

.site-footer { background:#f0f0f0; text-align:center; padding:2rem 0; color:#555; }

@keyframes fadeIn { from{opacity:0;transform:translateY(20px);} to{opacity:1;transform:translateY(0);} }

@media (max-width:768px) {
  header nav { display:none; }
  .burger { display:block; }
  nav.open { display:flex; flex-direction:column; gap:1rem; margin-top:1rem; }
  .hero-content h1 { font-size:2rem; }
}
@media (max-width:480px) {
  .hero-content h1 { font-size:1.5rem; }
  .section { padding:2rem 0; }
}

/* Full-width gallery embed */
.gallery-embed {
  width: 100%;
  max-width: 100%;
}

.gallery-embed blockquote {
  width: 100% !important;
}

.gallery-embed iframe {
  width: 100% !important;
  min-height: 600px;
}