*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;color:#0f172a;background:#f8fafc;scroll-behavior:smooth}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.topbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:rgba(255,255,255,.9);backdrop-filter:saturate(1.2) blur(8px);z-index:50;border-bottom:1px solid #e5e7eb}
.brand{display:flex;align-items:center;gap:.5rem;font-weight:700}
.logo{height:36px;width:auto;border-radius:.5rem}
#menu{display:flex;gap:1rem;list-style:none}
#menu a{padding:.5rem .75rem;border-radius:.5rem}
#menu a:hover{background:#eef2ff}
#menuBtn{display:none;font-size:1.25rem;background:none;border:none}

.hero{position:relative;min-height:72vh;display:grid;place-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05)}
.overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.2))}
.hero-content{position:relative;text-align:center;color:#fff;padding:2rem;z-index:1}
.hero h1{font-size:clamp(2rem,6vw,3rem);margin:.25rem 0}
.hero p{opacity:.95;margin:.5rem 0 1rem}

.btn{display:inline-block;border:2px solid #f59e0b;padding:.65rem 1rem;border-radius:.75rem;font-weight:700}
.btn.primary{background:#f59e0b;color:#111}
.btn.outline{background:transparent;color:#0f172a}
.section{padding:3rem 1rem;max-width:1100px;margin:0 auto}
.section.slim{padding:2rem 1rem}
.section h2{font-size:clamp(1.5rem,4vw,2rem);margin:0 0 1rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1rem;box-shadow:0 8px 30px rgba(2,8,20,.04)}
.card h3{margin-top:0;color:#0ea5b7}

.social-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;align-items:start}
.social-embed{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1rem}

.gallery{columns:1;column-gap:12px}
@media(min-width:600px){.gallery{columns:2}}
@media(min-width:900px){.gallery{columns:3}}
.gallery a{display:block;margin:0 0 12px;border-radius:12px;overflow:hidden;position:relative}
.gallery a:after{content:"🔍";position:absolute;right:.5rem;bottom:.5rem;font-size:1rem;opacity:.85;background:#fff;border-radius:999px;padding:.15rem .35rem}
.hint{opacity:.7;font-size:.9rem;margin-top:.5rem}

.video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:1rem;background:#000}
.video-wrap .yt{position:absolute;top:0;left:0;width:100%;height:100%}

.contact-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}
.contact-form,.map{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;padding:1rem}
.contact-form .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
label{display:grid;gap:.25rem;font-weight:600;color:#1f2937}
input,select,textarea{border:1px solid #d1d5db;border-radius:.5rem;padding:.6rem;background:#fff;font:inherit}
.footer{background:#0b1220;color:#e5e7eb;padding:1.5rem 1rem;margin-top:2rem}
.footer a{color:#e5e7eb;text-decoration:underline}
.footer-grid{max-width:1100px;margin:0 auto;display:flex;gap:1rem;justify-content:space-between;align-items:center;flex-wrap:wrap}

.wa{position:fixed;right:16px;bottom:16px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25D366;box-shadow:0 10px 20px rgba(0,0,0,.2);z-index:1000}
.wa img{width:30px;height:30px;filter:brightness(0) invert(1)}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:1rem;z-index:100}
.lightbox.open{display:flex}
.lightbox img{max-width:96vw;max-height:86vh;border-radius:1rem}

@media (max-width:900px){
  .contact-wrap{grid-template-columns:1fr}
  .contact-form .grid{grid-template-columns:1fr}
  #menu{display:none;position:absolute;right:1rem;top:56px;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:.5rem;flex-direction:column}
  #menuBtn{display:block}
}
