:root{
  --azul-oceano:#0891b2;
  --azul-escuro:#065f73;
  --azul-claro:#06b6d4;
  --amarelo-ouro:#f59e0b;
  --verde:#10b981;
  --laranja:#f97316;
  --cinza-claro:#f3f4f6;
  --cinza-medio:#d1d5db;
  --cinza-escuro:#4b5563;
  --branco:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;color:#1f2937;background:var(--branco);line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* NAV */
nav.site{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--cinza-claro)}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:16px}
.logo{font-weight:800;font-size:20px;color:var(--azul-escuro);white-space:nowrap}
.logo span{color:var(--amarelo-ouro)}
.nav-links{display:flex;gap:24px;font-size:14px;font-weight:500;color:var(--cinza-escuro);align-items:center}
.nav-links a:hover{color:var(--azul-oceano)}
.nav-links a.active{color:var(--azul-oceano);font-weight:700}

/* NAV DROPDOWN */
.nav-drop{position:relative}
.nav-drop .drop-toggle{cursor:pointer;display:inline-flex;align-items:center;gap:4px}
.nav-drop-menu{position:absolute;top:100%;left:-14px;padding-top:12px;display:none;z-index:120}
.nav-drop:hover .nav-drop-menu{display:block}
.nav-drop-inner{background:#fff;border:1px solid var(--cinza-claro);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.14);min-width:215px;padding:8px}
.nav-drop-inner a{display:flex;gap:9px;padding:9px 12px;border-radius:9px;font-size:13.5px;font-weight:500;white-space:nowrap;color:#374151}
.nav-drop-inner a:hover{background:var(--cinza-claro);color:var(--azul-escuro)}
.nav-drop-inner a.all{border-top:1px solid var(--cinza-claro);margin-top:6px;padding-top:11px;font-weight:700;color:var(--azul-oceano)}
.nav-drop-inner.wide{min-width:322px;padding:10px}
.nav-drop-inner.wide a{align-items:flex-start;gap:11px;white-space:normal;padding:10px 12px}
.nav-drop-inner.wide .ico{font-size:20px;line-height:1.15;flex-shrink:0;width:24px;text-align:center}
.nav-drop-inner.wide .txt b{display:block;font-size:13.5px;color:#222;font-weight:700}
.nav-drop-inner.wide .txt small{display:block;font-size:11.5px;color:#9CA3AF;font-weight:400;margin-top:1px;line-height:1.35}
.nav-drop-inner.cols{display:flex;gap:6px;min-width:480px;padding:10px}
.nav-drop-inner.cols .colm{flex:1;min-width:225px}
.nav-drop-inner.cols .col-h{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#9CA3AF;padding:4px 12px 6px}

/* BUTTONS */
.btn{display:inline-block;padding:10px 22px;border-radius:10px;font-weight:600;font-size:14px;transition:.2s;cursor:pointer;border:none;font-family:inherit;text-align:center}
.btn-primary{background:var(--azul-oceano);color:#fff}
.btn-primary:hover{background:var(--azul-escuro)}
.btn-gold{background:var(--amarelo-ouro);color:#fff;font-size:16px;padding:14px 32px}
.btn-gold:hover{background:var(--laranja)}
.btn-outline{background:#fff;color:var(--azul-escuro);border:1.5px solid var(--cinza-medio)}
.btn-outline:hover{border-color:var(--azul-oceano);color:var(--azul-oceano)}
.whats{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#25D366;color:#fff;font-weight:700;font-size:16px;padding:15px 34px;border-radius:12px;transition:.2s;border:none;cursor:pointer;font-family:inherit}
.whats:hover{transform:scale(1.04)}

/* LAYOUT */
section{padding:70px 24px}
.container{max-width:1200px;margin:0 auto}
.container-narrow{max-width:860px;margin:0 auto}
.section-tag{display:inline-block;background:#e0f2fe;color:var(--azul-oceano);font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:99px;margin-bottom:14px}
h1.page{font-size:clamp(30px,4.5vw,46px);font-weight:800;line-height:1.15}
h2{font-size:clamp(24px,3vw,34px);font-weight:800;color:#111827;line-height:1.2}
.section-sub{color:var(--cinza-escuro);font-size:16.5px;margin-top:12px;max-width:680px}

/* PAGE HERO (gradient banners) */
.page-hero{padding:150px 24px 70px;text-align:center;color:#fff;position:relative}
.page-hero .kicker{display:inline-block;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.28);padding:6px 16px;border-radius:99px;font-size:12.5px;font-weight:600;margin-bottom:18px}
.page-hero p.sub{max-width:640px;margin:16px auto 0;font-size:17px;opacity:.94}
.g-sunset{background:linear-gradient(150deg,#065f73,#0891b2 40%,#f59e0b 80%,#f97316)}
.g-dive{background:linear-gradient(160deg,#065f73,#0891b2 50%,#06b6d4)}
.g-boat{background:linear-gradient(140deg,#0891b2,#06b6d4 60%,#67e8f9)}
.g-trail{background:linear-gradient(150deg,#065f46,#10b981 60%,#34d399)}
.g-buggy{background:linear-gradient(150deg,#92400e,#f59e0b 60%,#fbbf24)}
.g-canoe{background:linear-gradient(155deg,#0e7490,#06b6d4 45%,#f59e0b 95%)}
.g-party{background:linear-gradient(150deg,#581c87,#9333ea 45%,#f59e0b 95%)}
.g-sailing{background:linear-gradient(150deg,#0c4a6e,#0891b2 50%,#7dd3fc)}
.g-family{background:linear-gradient(150deg,#065f73,#0891b2 45%,#10b981 95%)}
.g-honeymoon{background:linear-gradient(150deg,#9f1239,#f43f5e 40%,#f59e0b 85%)}

/* CARDS */
.card{background:#fff;border:1px solid var(--cinza-claro);border-radius:18px;overflow:hidden;transition:.25s;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(8,145,178,.15)}
.stars{color:var(--amarelo-ouro);font-size:13.5px;font-weight:600}
.stars span{color:var(--cinza-escuro);font-weight:400}
.chip{display:inline-block;background:var(--cinza-claro);color:var(--cinza-escuro);font-size:12.5px;font-weight:600;padding:5px 13px;border-radius:99px}
.chip.blue{background:#e0f2fe;color:var(--azul-escuro)}
.chip.green{background:#d1fae5;color:#065f46}
.chip.gold{background:#fef3c7;color:#92400e}

/* FOOTER */
footer.site{background:#0b1220;color:#9ca3af;padding:44px 24px 28px;font-size:14px;text-align:center;margin-top:40px}
footer.site .foot-links{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-bottom:18px;font-size:13.5px}
footer.site a:hover{color:#fff}
.preview-note{position:fixed;bottom:16px;right:16px;z-index:200;background:#111827;color:#fbbf24;font-size:11.5px;font-weight:600;padding:8px 14px;border-radius:99px;opacity:.92}

.bg-alt{background:linear-gradient(to bottom,#f8fafc,#f0f9ff)}
@media(max-width:860px){.nav-links{display:none}}

/* ================================================
   AIRBNB SKIN — clean chrome, coral accent
   ================================================ */
:root{
  --rausch:#FF385C;
  --rausch-grad:linear-gradient(90deg,#E61E4D 0%,#E31C5F 50%,#D70466 100%);
  --rausch-grad-hover:linear-gradient(90deg,#D70466 0%,#BD1E59 100%);
  --ink:#222222;
  --ink-2:#717171;
  --line:#EBEBEB;
  --bg-soft:#F7F7F7;
}
body{font-family:'Plus Jakarta Sans','Inter',-apple-system,sans-serif;color:var(--ink)}
h1,h2,h3,h4{letter-spacing:-.02em}
h2{color:var(--ink)}
.section-sub{color:var(--ink-2);font-family:'Inter',sans-serif;font-weight:400;line-height:1.6;letter-spacing:0}

nav.site{background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none}
.logo{color:var(--ink)}
.logo span{color:var(--rausch)}
.nav-links{color:var(--ink);font-weight:600}
.nav-links a:hover{color:var(--rausch)}
.nav-links a.active{color:var(--rausch)}
.nav-drop-inner{border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.15);border:1px solid var(--line)}
.nav-drop-inner a:hover{background:var(--bg-soft);color:var(--ink)}
.nav-drop-inner a.all{color:var(--rausch)}

.btn{border-radius:10px;font-weight:700}
.btn-primary{background:var(--rausch-grad);box-shadow:0 2px 8px rgba(215,4,102,.25)}
.btn-primary:hover{background:var(--rausch-grad-hover);transform:scale(1.02)}
.btn-gold{background:var(--rausch-grad);box-shadow:0 4px 16px rgba(215,4,102,.35)}
.btn-gold:hover{background:var(--rausch-grad-hover);transform:scale(1.03)}
.btn-outline{border:1.5px solid var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--bg-soft);border-color:var(--ink);color:var(--ink)}
.whats{border-radius:14px;box-shadow:0 4px 14px rgba(37,211,102,.32)}

.section-tag{background:#FFF0F3;color:var(--rausch);letter-spacing:.1em}
.card{border:none;border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.08)}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.16)}
.stars{color:var(--ink)}
.chip,.chip.blue,.chip.green,.chip.gold{background:#fff;border:1px solid #DDDDDD;color:var(--ink);font-weight:600}

footer.site{background:var(--bg-soft);color:var(--ink-2);border-top:1px solid var(--line)}
footer.site a:hover{color:var(--ink);text-decoration:underline}
.preview-note{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 4px 14px rgba(0,0,0,.14)}
.bg-alt{background:var(--bg-soft)}

/* ================================================
   LAVA 3D ICONS — glossy squircle plates + depth
   ================================================ */
.card-img,.guide-banner,.g-tile,.page-hero .big-emoji{
  text-shadow:0 14px 24px rgba(0,0,0,.38),0 5px 10px rgba(0,0,0,.24);
}
.opt .ico,.tour-mini .ico{
  width:50px;height:50px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#ffffff 0%,#edf1f7 100%);
  border-radius:16px;
  box-shadow:0 4px 10px rgba(0,0,0,.14),
             inset 0 1.5px 0 rgba(255,255,255,.95),
             inset 0 -2.5px 5px rgba(0,0,0,.06);
  text-shadow:0 4px 7px rgba(0,0,0,.25);
}
.step-n,.a-step .n{
  background:linear-gradient(145deg,#FF5A76,#D70466);
  box-shadow:0 6px 14px rgba(215,4,102,.4),
             inset 0 2px 3px rgba(255,255,255,.45),
             inset 0 -3px 5px rgba(0,0,0,.15);
}
.avatar,.avatar-big{
  box-shadow:0 6px 14px rgba(0,0,0,.22),
             inset 0 2px 3px rgba(255,255,255,.4),
             inset 0 -3px 6px rgba(0,0,0,.18);
}

/* ===== LAVA 3D ICON SYSTEM ===== */
.lava{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
  background:linear-gradient(145deg,#ffffff,#e7edf5);
  box-shadow:0 6px 14px rgba(0,0,0,.16),
             inset 0 2px 0 rgba(255,255,255,.95),
             inset 0 -3px 6px rgba(0,0,0,.08);
  text-shadow:0 5px 9px rgba(0,0,0,.26)}
.lava::before{content:"";position:absolute;top:5%;left:11%;right:11%;height:40%;
  background:linear-gradient(to bottom,rgba(255,255,255,.9),rgba(255,255,255,0));
  border-radius:48% 48% 42% 42%;pointer-events:none}
.lava-sm{width:42px;height:42px;font-size:21px;border-radius:13px}
.lava-md{width:60px;height:60px;font-size:29px;border-radius:18px}
.lava-lg{width:78px;height:78px;font-size:38px;border-radius:24px}
.lava-ocean{background:linear-gradient(145deg,#7dd3fc,#0891b2)}
.lava-coral{background:linear-gradient(145deg,#FF7A93,#D70466)}
.lava-gold{background:linear-gradient(145deg,#fde68a,#f59e0b)}
.lava-navy{background:linear-gradient(145deg,#37516e,#0f1c2e)}

/* ===== VIDEO BACKGROUNDS ===== */
.has-vbg{position:relative;overflow:hidden}
.has-vbg>*:not(.vbg){position:relative;z-index:2}
.vbg{position:absolute;inset:0;z-index:0;overflow:hidden}
.vbg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}
.vbg video.on{opacity:1}
.vbg .ibg{position:absolute;inset:0;background-size:cover;background-position:center}
.vbg .veil{position:absolute;inset:0;z-index:1;
  background:linear-gradient(170deg,rgba(5,44,62,.52),rgba(7,70,95,.38) 45%,rgba(9,16,30,.58))}
.has-video .sun{display:none}
