:root{--bg:#B8C7CC;--tx:#1E3D42;--oc:#2F6A70;--co:#C9483F;--co-b:#9A3229;--sa:#A9C4A6;--ar:#EBCB9C;--cr:#F3ECE3;--cr-b:#D9CBB8}
*{box-sizing:border-box}
body{margin:0;background:var(--bg)}
.page{min-height:100vh;background:var(--bg);color:var(--tx);font-family:'DM Sans',system-ui,sans-serif;font-size:17px;line-height:1.6;overflow-x:hidden}
.page a{color:var(--tx)}.page a:hover{color:var(--co)}
.page a.btn-coral,.page a.btn-coral:hover{color:#fff}
a:focus-visible,button:focus-visible{outline:3px solid var(--oc);outline-offset:3px}
.wrap{max-width:1240px;margin:0 auto;padding-left:24px;padding-right:24px}
img{max-width:100%}
.display{font-family:'Bricolage Grotesque',sans-serif}

/* botões 3D */
.btn3d{transition:transform .15s ease,box-shadow .15s ease}
.btn3d:hover{transform:translateY(3px)}
.btn-coral{box-shadow:0 6px 0 var(--co-b),0 16px 28px rgba(30,61,66,.22)}
.btn-coral:hover{box-shadow:0 3px 0 var(--co-b),0 10px 18px rgba(30,61,66,.2)}
.btn-cream{box-shadow:0 6px 0 var(--cr-b),0 16px 28px rgba(30,61,66,.14)}
.btn-cream:hover{box-shadow:0 3px 0 var(--cr-b),0 10px 18px rgba(30,61,66,.12)}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:16px;font-weight:700;text-decoration:none;border:0;font:inherit;font-weight:700;cursor:pointer}
.btn-coral.btn{background:var(--co);color:#fff}
.btn-cream.btn{background:var(--cr);color:var(--tx);padding:0 24px}

/* topo */
.top{padding-top:28px;padding-bottom:28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand-disc{width:64px;height:64px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 0 var(--cr-b),0 14px 22px rgba(30,61,66,.2)}
.brand-disc img{width:54px;height:54px;display:block}
.brand-txt{display:flex;flex-direction:column;line-height:1.15}
.brand-name{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:21px;letter-spacing:-.01em}
.brand-sub{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#264B50}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.nav a{text-decoration:none}
.nav-link{padding:10px 16px;font-weight:500}
.nav-btn{padding:12px 22px;border-radius:14px;background:var(--cr);font-weight:700}

/* hero */
.hero{padding-top:24px;padding-bottom:72px;display:flex;flex-wrap:wrap;align-items:center;gap:40px}
.hero-txt{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:26px;position:relative;z-index:2}
.pill{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:var(--cr);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 0 var(--cr-b)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--co)}
h1{margin:0;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(42px,5.4vw,74px);line-height:1.02;letter-spacing:-.03em;color:var(--tx)}
.lead{margin:0;max-width:470px;font-size:19px;color:#24474C}
.cta{display:flex;flex-wrap:wrap;gap:16px;padding-top:4px}
.ticket{margin-top:10px;max-width:470px;display:flex;border-radius:18px;background:var(--cr);box-shadow:0 6px 0 var(--cr-b),0 18px 30px rgba(30,61,66,.14);overflow:hidden}
.ticket-main{flex:1 1 auto;padding:16px 20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ticket-main div{display:flex;flex-direction:column}
.ticket-l{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#4A6A6F}
.ticket-v{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:17px}
.ticket-stub{flex:0 0 64px;border-left:2px dashed var(--cr-b);background:var(--oc);display:flex;align-items:center;justify-content:center}
.hero-media{flex:1 1 560px;min-width:0;position:relative}
.cloud{position:absolute;z-index:1}
.cloud-a{top:-18px;left:4%}
.cloud-b{bottom:8%;right:2%}
.float-a{animation:floatY 7s ease-in-out infinite}
.float-b{animation:floatY 9s ease-in-out infinite reverse}
.pulse{animation:pulse 1.8s ease-in-out infinite}
.hero-video,.hero-poster{display:block;width:122%;max-width:none;margin-left:-14%;height:auto;-webkit-mask-image:radial-gradient(ellipse 62% 60% at 58% 52%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 62% 60% at 58% 52%,#000 62%,transparent 100%)}
.hero-poster{display:none}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}

/* cadastur */
.sec-cad{padding-top:24px;padding-bottom:88px}
.cad{border-radius:32px;background:var(--cr);box-shadow:0 16px 0 var(--cr-b),0 40px 60px rgba(30,61,66,.18);padding:clamp(28px,4vw,56px);display:flex;flex-wrap:wrap;align-items:center;gap:40px}
.cad-seal{flex:0 0 auto;width:168px;height:168px;border-radius:36px;display:block;box-shadow:0 10px 0 #9FB0B6,0 24px 34px rgba(30,61,66,.22)}
.cad-body{flex:999 1 420px;min-width:0;display:flex;flex-direction:column;gap:10px}
.cad-k{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--oc)}
.cad-n{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-.02em;color:var(--tx)}
.cad-p{margin:6px 0 0;max-width:620px;color:#3A585C}
.btn-white.btn{flex:0 0 auto;background:#fff;color:var(--tx);padding:0 24px;box-shadow:0 6px 0 var(--cr-b),0 16px 28px rgba(30,61,66,.14)}
.btn-white.btn:hover{box-shadow:0 3px 0 var(--cr-b),0 10px 18px rgba(30,61,66,.12)}

/* destinos */
.sec-dest{padding-top:24px;padding-bottom:96px;display:flex;flex-direction:column;gap:36px}
.dest-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px}
h2{margin:0;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.02em}
.dest-head p{margin:0;max-width:420px;color:#24474C}
.dest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:32px}
.card{margin:0;border-radius:28px;background:var(--cr);padding:12px;box-shadow:0 12px 0 var(--cr-b),0 30px 46px rgba(30,61,66,.16);display:flex;flex-direction:column;gap:12px}
.card img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:20px}
.card figcaption{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 6px}
.card-t{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:22px}
.tag{padding:6px 12px;border-radius:999px;font-size:13px;font-weight:700}
.tag-sa{background:var(--sa);box-shadow:0 3px 0 #86A584}
.tag-ar{background:var(--ar);box-shadow:0 3px 0 #CBA672}

/* contato */
.sec-contato{padding-top:24px;padding-bottom:104px;display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.contato-txt{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:20px;padding-top:12px}
.contato-img{display:block;width:260px;max-width:100%;height:auto;margin:-24px 0 -16px -20px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 52%,transparent 72%);mask-image:radial-gradient(circle at 50% 50%,#000 52%,transparent 72%)}
.pill-sa{align-self:flex-start;padding:8px 16px;border-radius:999px;background:var(--sa);color:var(--tx);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 0 #86A584}
.contato-txt p{margin:0;max-width:420px;color:#24474C}
.mail{align-self:flex-start;display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:18px;background:var(--cr);text-decoration:none;box-shadow:0 6px 0 var(--cr-b),0 16px 28px rgba(30,61,66,.12)}
.mail-ico{width:44px;height:44px;border-radius:12px;background:var(--ar);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 0 #CBA672}
.mail-t{display:flex;flex-direction:column;line-height:1.3}
.mail-l{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#4A6A6F}
.mail-v{font-weight:700;color:var(--tx);overflow-wrap:anywhere}
.form-card{flex:1 1 520px;min-width:0;border-radius:28px;background:#fff;box-shadow:0 14px 0 var(--cr-b),0 36px 56px rgba(30,61,66,.18);padding:clamp(24px,3.4vw,44px)}
form{display:flex;flex-direction:column;gap:18px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:18px}
label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}
.opt{font-weight:400;color:#4F686C}
.field{min-height:50px;padding:0 16px;border-radius:14px;border:2px solid #D8E2E5;background:#F7FAFB;font:inherit;font-weight:400;font-size:16px;color:var(--tx);transition:border-color .15s ease,box-shadow .15s ease;width:100%}
textarea.field{padding:14px 16px;resize:vertical}
.field:focus{outline:none;border-color:var(--oc);box-shadow:0 0 0 4px rgba(47,106,112,.18)}
.field[aria-invalid=true]{border-color:var(--co)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn-send{align-self:flex-start;min-height:54px;padding:0 30px}
.btn-send:disabled{opacity:.7;cursor:wait}
.erro{margin:0;padding:12px 16px;border-radius:14px;background:#FBE9E7;color:#7A271F;font-size:15px;font-weight:500}
.erro a{color:#7A271F;font-weight:700}
.ok{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}
.ok-ico{width:88px;height:88px;border-radius:24px;background:var(--sa);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 0 #86A584}
.ok h3{margin:0;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:30px}
.ok p{margin:0;max-width:340px;color:#3A585C}
.link-btn{min-height:44px;padding:0 18px;border:0;background:transparent;color:var(--oc);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
[hidden]{display:none!important}

/* rodapé */
.foot{background:var(--oc);border-top:10px solid var(--cr);color:var(--cr)}
.foot .wrap{padding-top:32px;padding-bottom:32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;font-size:15px}
.foot-l,.foot-r{display:inline-flex;align-items:center}
.foot-l{gap:14px}.foot-r{gap:8px}
.foot-disc{width:44px;height:44px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 0 #1F4C51}
.foot-disc img{width:38px;height:38px;display:block}

@media (max-width:520px){.brand-disc{width:56px;height:56px}.cloud{display:none}.hero-video,.hero-poster{width:112%;margin-left:-6%}.cad-seal{width:128px;height:128px;border-radius:28px}}
@media (prefers-reduced-motion:reduce){.float-a,.float-b,.pulse{animation:none}.btn3d,.field{transition:none}.hero-video{display:none}.hero-poster{display:block}}
