
:root{--indigo:#14463d;--mango:#ffb200;--paper:#ffffff;--ink:#0f172a;--muted:#6b7280;--ring:0 0 0 3px rgba(20,70,61,.25)}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#f7faf9}
img{max-width:100%;display:block;height:auto}a{text-decoration:none;color:var(--indigo)}
.container{max-width:1140px;margin:0 auto;padding:0 1rem}.row{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}
.col-12{grid-column:span 12}.col-6{grid-column:span 6}.col-4{grid-column:span 4}@media (max-width:900px){.col-6,.col-4{grid-column:span 12}}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.1rem;border-radius:14px;border:1px solid #e5e7eb;background:#fff;font-weight:600;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.btn.primary{background:var(--indigo);border:none;color:#fff}.btn.accent{background:var(--mango);border:none;color:#111}.btn.ghost{background:transparent}
.input,textarea,select{width:100%;padding:.9rem 1rem;border:1px solid #e5e7eb;border-radius:14px;background:#fff;outline:none}
.input:focus,textarea:focus,select:focus{box-shadow:var(--ring);border-color:#cde2dd}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:1.25rem;box-shadow:0 6px 24px rgba(0,0,0,.06)}
.badge{background:#ecfdf5;border:1px solid #d1fae5;color:#065f46;padding:.3rem .6rem;border-radius:999px;font-weight:700;font-size:.8rem}
.header{position:sticky;top:0;background:rgba(255,255,255,.85);backdrop-filter:blur(10px);border-bottom:1px solid #eef2f7;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}
.nav-links a{padding:.55rem .8rem;border-radius:12px;font-weight:600}.nav-links a:hover{background:#ecfdf5}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:900;color:var(--indigo)}.brand img{height:42px;width:auto;border-radius:10px}
.hero{position:relative;border-radius:24px;overflow:hidden;border:1px solid #e5e7eb}
.hero .bg{position:absolute;inset:0;background:url('../img/banner.jpg') center/cover no-repeat;filter:brightness(.55)}
.hero .overlay{position:relative;padding:3rem 1.25rem;min-height:320px;display:flex;flex-direction:column;justify-content:center;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.hero h1{font-size:clamp(1.8rem,3vw+1.2rem,3rem);margin:0}.hero p{max-width:780px}
.section{padding:2rem 0}.footer{padding:2rem 0;border-top:1px solid #eef2f7;color:#4b5563}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:70}
.lightbox.open{display:flex}.lightbox-content{position:relative;max-width:min(92vw,1200px);max-height:90vh}
.lightbox-img{max-height:80vh;border-radius:12px}.lightbox-caption{color:#fff;text-align:center;margin-top:.6rem}
.lightbox-btn{position:absolute;top:50%;transform:translateY(-50%);border:none;background:rgba(255,255,255,.2);color:#fff;padding:.6rem 1rem;border-radius:12px;cursor:pointer}
.lightbox-prev{left:-3rem}.lightbox-next{right:-3rem}.lightbox-close{position:absolute;top:-2.8rem;right:0;background:rgba(255,255,255,.2);color:#fff;border:none;padding:.4rem .7rem;border-radius:10px;cursor:pointer}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.gallery-item{display:block}
.gallery-item figure{margin:0}.gallery-item figcaption{font-size:.92rem;color:#374151;margin-top:.4rem}
#whats{position:fixed;right:18px;bottom:18px;z-index:90;box-shadow:0 10px 30px rgba(0,0,0,.15)}
