:root{
  --primary:#0f766e;
  --primary-contrast:#fff;
  --accent:#f59e0b;
  --bg:#0b1220;
  --text:#0f172a;
  --muted:#475569;
  --card:#ffffff;
  --ring:rgba(15,118,110,.35);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,Cantarell,Helvetica,Arial;color:var(--text)}
a{color:var(--primary);text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1200px,92%);margin:0 auto}
.grid{display:grid;gap:1.25rem}

/* Hero */
.hero{position:relative;background:var(--bg) url('/assets/img/capa.jpg') center/cover no-repeat;color:#e2e8f0;min-height:70vh;display:flex;align-items:center}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,18,32,.55),rgba(11,18,32,.85))}
.hero-inner{position:relative;z-index:1;padding:3rem 0}
.pill{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.4rem .75rem;font-size:.85rem}
.title{font-size:clamp(2rem,3vw+1rem,3.2rem);line-height:1.1;margin:.75rem 0 1rem;color:#fff}
.hero-sub{color:#cbd5e1;font-size:clamp(1rem,1vw+.8rem,1.25rem);max-width:60ch}
.cta-row{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:.75rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.1rem;border-radius:.75rem;border:1px solid transparent;font-weight:600;cursor:pointer;transition:.2s}
.btn.primary{background:var(--primary);color:var(--primary-contrast)}
.btn.primary:hover{filter:brightness(1.05);box-shadow:0 0 0 4px var(--ring)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.trust{margin-top:1.25rem;color:#94a3b8;font-size:.9rem}

section{padding:3rem 0;background:#f8fafc}
section.alt{background:#fff}
.card{background:var(--card);border:1px solid #e5e7eb;border-radius:1rem;padding:1.25rem;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.features{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.ficha{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}

/* Carousel */
.carousel{position:relative}
.carousel .track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem}
.carousel .slide{flex:0 0 auto;scroll-snap-align:start;border-radius:.75rem;overflow:hidden;width:300px;max-width:90vw}
.carousel img{height:200px;object-fit:cover;transition:transform .35s ease}
.carousel .slide:hover img{transform:scale(1.05)}
.carousel .nav{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid #e5e7eb;border-radius:.6rem;padding:.4rem .6rem;cursor:pointer}
.carousel .prev{left:-.5rem}
.carousel .next{right:-.5rem}

/* POIs */
.pois-ui .poi-grid{grid-template-columns:1fr 1fr}
.map{width:100%;height:420px;border-radius:.75rem}
#poi-list{list-style:none;margin:0;padding:0;max-height:420px;overflow:auto}
#poi-list li{border-bottom:1px solid #e5e7eb;padding:.75rem}
#poi-list li:hover{background:#f8fafc}
.filter-chip{display:inline-block;margin:.25rem .25rem 1rem 0;padding:.35rem .6rem;border:1px solid #e5e7eb;border-radius:.75rem;cursor:pointer}
.filter-chip.active{background:var(--primary);color:#fff;border-color:transparent}

/* Formulário */
.form-grid{grid-template-columns:repeat(2,1fr)}
.form-grid .full{grid-column:1/-1}
label span{display:block;margin-bottom:.35rem;font-weight:600}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;padding:.7rem .8rem;border:1px solid #e5e7eb;border-radius:.6rem}
.hp{position:absolute;left:-9999px;visibility:hidden}
.consent{display:flex;align-items:flex-start;gap:.5rem;margin:1rem 0}
.muted{color:#64748b}

footer{background:#0f172a;color:#e2e8f0;padding:1.5rem 0}
footer a{color:#93c5fd}
.foot{display:flex;align-items:center;justify-content:space-between}

/* Obrigado */
.thanks{display:flex;align-items:center;min-height:60vh;background:#fff}

/* Responsivo */
@media (max-width:900px){
  .pois-ui .poi-grid{grid-template-columns:1fr}
}
@media (max-width:700px){
  .form-grid{grid-template-columns:1fr}
}
