:root{
  --espresso:#241412;
  --espresso-2:#2F1C19;
  --oxblood:#563333;
  --terracota:#7F3E3B;
  --terracota-lt:#D8A098; /* terracota clara: só para texto sobre fundo escuro (contraste AA) */
  --gold:#EED3A8;
  --gold-bright:#F7E7CC;
  --brass:#9C7340;
  --taupe:#756858;
  --parchment:#F6F0E5;
  --parchment-2:#EDE3D1;
  --line-dark:rgba(238,211,168,.22);
  --line-light:rgba(86,51,51,.18);
  --rail:1240px;
  --gutter:clamp(20px,5vw,56px);

  --f-display:"Marcellus",'Times New Roman',serif;
  --f-accent:"Cormorant Garamond",Georgia,serif;
  --f-body:"Jost",'Helvetica Neue',Arial,sans-serif;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--espresso);color:var(--parchment);
  font-family:var(--f-body);font-weight:300;font-size:16px;line-height:1.7;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  .btn:hover,.wa:hover,.celeb:hover img{transform:none!important}}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- primitives ---------- */
.rail{width:100%;max-width:var(--rail);margin-inline:auto;padding-inline:var(--gutter)}
[id]{scroll-margin-top:104px}
.section{padding-block:clamp(72px,10vw,132px)}
.eyebrow{
  font-size:.75rem;letter-spacing:.26em;text-transform:uppercase;font-weight:400;
  color:var(--gold);margin:0 0 22px;display:flex;align-items:center;gap:14px;
}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--line-dark);max-width:120px}
.eyebrow.center{justify-content:center}
.eyebrow.center::before{content:"";flex:1;height:1px;background:var(--line-dark);max-width:120px}
.on-light .eyebrow{color:var(--terracota)}
.on-light .eyebrow::after,.on-light .eyebrow::before{background:var(--line-light)}

h1,h2,h3,h4{font-family:var(--f-display);font-weight:400;margin:0;text-wrap:balance;letter-spacing:-.005em}
.d1{font-size:clamp(2.6rem,6.2vw,5rem);line-height:1.04}
.d2{font-size:clamp(2rem,4.2vw,3.35rem);line-height:1.12}
.d3{font-size:clamp(1.35rem,2.1vw,1.7rem);line-height:1.25}
.italic{font-family:var(--f-accent);font-style:italic;font-weight:300}
.lead{font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.8;color:rgba(246,240,229,.74);max-width:56ch}
.on-light .lead{color:rgba(36,20,18,.72)}
p{margin:0 0 1.15em}
.measure{max-width:62ch}
.nowrap{white-space:nowrap}
/* texto só para leitor de tela */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.btn{
  display:inline-flex;align-items:center;gap:11px;font-family:var(--f-body);
  font-size:.78rem;letter-spacing:.17em;text-transform:uppercase;font-weight:400;
  padding:17px 30px;border:1px solid transparent;cursor:pointer;
  transition:background .45s ease,color .45s ease,border-color .45s ease,transform .45s ease;
}
.btn svg{width:15px;height:15px;flex:none}
.btn-gold{background:var(--gold);color:var(--espresso)}
.btn-gold:hover{background:var(--gold-bright);transform:translateY(-2px)}
.btn-ghost{border-color:var(--line-dark);color:var(--gold)}
.btn-ghost:hover{border-color:var(--gold);background:rgba(238,211,168,.07)}
.btn-dark{background:var(--terracota);color:var(--parchment)}
.btn-dark:hover{background:var(--oxblood);transform:translateY(-2px)}
.btn-outline-dark{border-color:rgba(86,51,51,.3);color:var(--oxblood)}
.btn-outline-dark:hover{border-color:var(--terracota);background:rgba(127,62,59,.06)}
.btns{display:flex;flex-wrap:wrap;gap:14px}

.ground-light{background:var(--parchment);color:var(--espresso)}
.ground-deep{background:var(--espresso-2)}
.ground-oxblood{background:linear-gradient(160deg,#3A2320 0%,var(--oxblood) 100%)}

/* meridian motif */
.meridian{stroke:currentColor;fill:none;stroke-width:.7;opacity:.5}
.ornament{width:30px;height:30px;color:var(--gold);opacity:.65;margin-bottom:18px}
.on-light .ornament{color:var(--terracota)}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:60;
  background:rgba(36,20,18,.88);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(238,211,168,.14);
}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:78px}
.nav-logo img{height:38px;width:auto}
.nav-links{display:flex;gap:34px;font-size:.75rem;letter-spacing:.17em;text-transform:uppercase}
.nav-links a{color:rgba(246,240,229,.72);transition:color .3s;position:relative;padding-block:6px}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .4s ease}
.nav-links a:hover{color:var(--gold)}
.nav-links a:hover::after{width:100%}
.nav-cta{padding:13px 22px;font-size:.75rem}
@media(max-width:940px){.nav-links{display:none}}
@media(max-width:560px){.nav-in{height:66px}.nav-logo img{height:30px}.nav-cta{padding:11px 16px;letter-spacing:.12em}}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--espresso)}
.hero-glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(70% 55% at 12% 22%,rgba(127,62,59,.5) 0%,transparent 62%),
             radial-gradient(45% 40% at 85% 88%,rgba(156,115,64,.22) 0%,transparent 70%)}
.hero-mark{position:absolute;right:-10%;top:-8%;width:min(58vw,760px);color:var(--gold);opacity:.08;pointer-events:none}
.hero-in{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,5vw,76px);align-items:center;
  padding-block:clamp(56px,7vw,104px)}
.hero-in>*{min-width:0}
/* título do hero: no celular quebra livre; do tablet pra cima "expert em Orlando." fica junto e a fonte se ajusta à coluna */
@media(min-width:600px){
  .nw-md{white-space:nowrap}
  .hero-copy{container-type:inline-size}
  .hero h1.d1{font-size:min(clamp(2.6rem,6.2vw,5rem),11cqi)}
}
.hero-copy{max-width:640px}
.hero h1{margin-bottom:26px}
.hero h1 .italic{display:block;color:var(--gold);font-size:1.06em;margin-top:.06em}
.hero .lead{margin-bottom:38px}
.hero-figure{position:relative}
.hero-figure img,.hero-figure video{width:100%;aspect-ratio:708/1142;object-fit:cover;object-position:50% 28%}
.hero-figure video{position:absolute;inset:0;opacity:0;transition:opacity 700ms var(--ease-out,ease)}
.hero-figure video.is-playing{opacity:1}
.hero-figure::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(238,211,168,.2);pointer-events:none}
.figcap{
  position:absolute;left:0;bottom:0;right:0;padding:44px 22px 16px;
  background:linear-gradient(to top,rgba(24,11,10,.88),transparent);
  font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,240,229,.85)
}
.figcap b{color:var(--gold);font-weight:400}
@media(max-width:900px){
  .hero-in{grid-template-columns:1fr;padding-block:48px 0}
  .hero-figure{margin-inline:calc(var(--gutter) * -1);margin-top:44px}
  .hero-figure img,.hero-figure video{aspect-ratio:4/3;object-position:50% 22%}
  .hero-mark{width:130vw;right:-40%;top:auto;bottom:22%}
}

/* stats */
.stats{border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);background:rgba(0,0,0,.16)}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:30px 26px;border-left:1px solid var(--line-dark)}
.stat:first-child{border-left:0}
.stat b{display:block;font-family:var(--f-display);font-size:clamp(1.5rem,2.3vw,2rem);color:var(--gold);line-height:1.1;margin-bottom:6px;font-weight:400;font-variant-numeric:tabular-nums}
.stat span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(246,240,229,.6)}
@media(max-width:820px){.stats-in{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line-dark)}}
@media(max-width:420px){.stat{padding:22px 16px}}

/* ---------- celebridades ---------- */
.celeb-head{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;margin-bottom:54px}
.celeb-head h2{max-width:20ch}
.celeb-note{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);text-align:right;max-width:24ch;line-height:1.9}
@media(max-width:820px){.celeb-head{grid-template-columns:1fr}.celeb-note{text-align:left}}
.celeb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,26px)}
.celeb figure{margin:0;position:relative;overflow:hidden;background:var(--parchment-2)}
.celeb img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.3,1)}
.celeb:hover img{transform:scale(1.045)}
.celeb figcaption{padding-top:14px;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase;color:var(--oxblood)}
.celeb small{display:block;font-size:.75rem;letter-spacing:.12em;color:var(--taupe);margin-top:4px}
@media(max-width:820px){.celeb-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- editorial split ---------- */
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(34px,6vw,90px)}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:34px}}
.bignum{font-family:var(--f-display);font-size:clamp(3.4rem,8vw,6.2rem);line-height:.92;color:var(--gold);margin:0 0 4px;font-variant-numeric:tabular-nums}
.bignum-label{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,240,229,.62);max-width:32ch;line-height:2}
.hairline{height:1px;background:var(--line-dark);margin-block:38px}
.turn{border-left:2px solid var(--terracota);padding-left:26px;margin-top:38px}
.turn strong{color:var(--gold);font-weight:400}

/* ---------- vip destaque ---------- */
.vip-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
@media(max-width:760px){.vip-cards{grid-template-columns:1fr}}
.vip-card{border:1px solid var(--line-dark);padding:clamp(26px,3.4vw,40px);background:rgba(0,0,0,.14);transition:border-color .5s,background .5s}
.vip-card:hover{border-color:rgba(238,211,168,.45);background:rgba(0,0,0,.24)}
.vip-card h3{color:var(--gold);margin-bottom:10px}
.vip-card .price{font-family:var(--f-display);font-size:1.9rem;color:var(--parchment);margin:20px 0 2px;font-variant-numeric:tabular-nums}
.vip-card .price small{font-size:.8rem;font-family:var(--f-body);color:rgba(246,240,229,.66);letter-spacing:.08em}
.vip-card ul{list-style:none;padding:0;margin:20px 0 0;font-size:.94rem}
.vip-card li{padding-left:22px;position:relative;margin-bottom:9px;color:rgba(246,240,229,.75)}
.vip-card li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:1px;background:var(--gold)}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,34px);margin-top:56px}
@media(max-width:860px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.steps{grid-template-columns:1fr}}
.step{border-top:1px solid var(--line-dark);padding-top:22px}
.step em{font-family:var(--f-display);font-style:normal;font-size:.8rem;letter-spacing:.2em;color:var(--terracota-lt);display:block;margin-bottom:12px}
.step h4{font-size:1.08rem;color:var(--gold);margin-bottom:9px}
.step p{font-size:.92rem;color:rgba(246,240,229,.68);margin:0}

/* ---------- quote band ---------- */
.band{position:relative;isolation:isolate;min-height:clamp(340px,46vw,520px);display:flex;align-items:center}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;z-index:-2}
.band::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(105deg,rgba(24,11,10,.93) 0%,rgba(36,20,18,.78) 48%,rgba(36,20,18,.32) 100%)}
.band blockquote{margin:0;max-width:min(30ch,640px)}
.band .q{font-family:var(--f-accent);font-style:italic;font-weight:300;font-size:clamp(1.7rem,3.6vw,2.9rem);line-height:1.3;color:var(--gold-bright)}
.band cite{display:block;margin-top:24px;font-style:normal;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,240,229,.66)}

/* ---------- serviços ---------- */
.serv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-light);border:1px solid var(--line-light);margin-top:50px}
@media(max-width:860px){.serv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.serv-grid{grid-template-columns:1fr}}
.serv{background:var(--parchment);padding:clamp(24px,3vw,36px);transition:background .5s}
.serv:hover{background:var(--parchment-2)}
.serv svg{width:26px;height:26px;color:var(--terracota);margin-bottom:18px;stroke-width:1.1;fill:none;stroke:currentColor}
.serv h3{font-size:1.15rem;margin-bottom:8px;color:var(--oxblood)}
.serv p{font-size:.92rem;color:rgba(36,20,18,.68);margin:0}
.serv-foot{margin-top:40px;display:flex;flex-wrap:wrap;gap:20px 34px;align-items:baseline;justify-content:space-between}
.serv-foot p{margin:0;color:rgba(36,20,18,.7);max-width:52ch}
.slogan{font-family:var(--f-accent);font-style:italic;font-size:1.5rem;color:var(--terracota)}

/* ---------- depoimentos ---------- */
.tst-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,26px);margin-top:52px}
@media(max-width:1040px){.tst-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.tst-grid{grid-template-columns:1fr}}
.tst{border:1px solid var(--line-dark);padding:26px 24px;display:flex;flex-direction:column;gap:16px;background:rgba(0,0,0,.12)}
.tst-who{display:flex;align-items:center;gap:13px}
.tst-who img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none}
.tst-who b{display:block;font-weight:400;font-size:.94rem;color:var(--gold)}
.tst-who span{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(246,240,229,.6)}
.tst p{margin:0;font-size:.92rem;line-height:1.75;color:rgba(246,240,229,.78)}
.stars{color:var(--gold);letter-spacing:.24em;font-size:.75rem}

/* ---------- formulário ---------- */
.form-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,84px);align-items:start}
@media(max-width:920px){.form-wrap{grid-template-columns:1fr}}
.contact-list{list-style:none;padding:0;margin:34px 0 0;font-size:.95rem}
.contact-list li{display:flex;gap:14px;padding-block:13px;border-top:1px solid var(--line-light);color:rgba(36,20,18,.78)}
.contact-list li:last-child{border-bottom:1px solid var(--line-light)}
.contact-list b{font-weight:400;color:var(--taupe);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;min-width:92px;padding-top:4px}
form{display:grid;gap:18px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:560px){.f-row{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe)}
.field input,.field textarea,.field select{
  font-family:var(--f-body);font-size:.97rem;font-weight:300;color:var(--espresso);
  background:transparent;border:0;border-bottom:1px solid rgba(86,51,51,.28);
  padding:10px 2px;transition:border-color .4s;border-radius:0;width:100%;
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-bottom-color:var(--terracota)}
.field textarea{resize:vertical;min-height:84px}
.checks{display:flex;flex-wrap:wrap;gap:9px}
.checks label{
  display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(86,51,51,.24);
  padding:9px 15px;font-size:.78rem;letter-spacing:.05em;color:rgba(36,20,18,.8);
  cursor:pointer;transition:border-color .35s,background .35s;text-transform:none
}
.checks label:hover{border-color:var(--terracota)}
.checks input{accent-color:var(--terracota);width:14px;height:14px}
.checks input:checked+span{color:var(--terracota)}
.form-note{font-size:.76rem;color:var(--taupe);margin:0}

/* ---------- footer ---------- */
.footer{background:#1C0F0D;border-top:1px solid rgba(238,211,168,.16)}
.footer-in{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(30px,5vw,64px);padding-block:clamp(56px,7vw,84px)}
@media(max-width:840px){.footer-in{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:520px){.footer-in{grid-template-columns:1fr}}
.footer-brand img{width:150px;margin-bottom:22px}
.footer h2{font-family:var(--f-body);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 20px;font-weight:400}
.footer ul{list-style:none;padding:0;margin:0;font-size:.92rem;color:rgba(246,240,229,.66)}
.footer li{margin-bottom:11px}
.footer a:hover{color:var(--gold)}
.footer-base{border-top:1px solid rgba(238,211,168,.13);padding-block:22px;display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between;font-size:.75rem;color:rgba(246,240,229,.58)}

/* whatsapp float */
.wa{
  position:fixed;right:clamp(16px,3vw,28px);bottom:calc(clamp(16px,3vw,28px) + env(safe-area-inset-bottom,0px));
  z-index:70;display:flex;align-items:center;gap:11px;background:var(--gold);color:var(--espresso);
  padding:14px 20px;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;
  box-shadow:0 14px 40px rgba(0,0,0,.42);transition:transform .4s,background .4s;
}
.wa:hover{transform:translateY(-3px);background:var(--gold-bright)}
.wa svg{width:17px;height:17px;fill:currentColor}
@media(max-width:560px){.wa span{display:none}.wa{padding:16px;border-radius:50%}}

/* =========================================================
   Agência: seletor de destino, cartões de destino, páginas de destino
   (nomes próprios para não afetar a landing guia-vip.html)
   ========================================================= */
.step h3{font-size:1.08rem;color:var(--gold);margin-bottom:9px}
.steps-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:860px){.steps-3{grid-template-columns:1fr}}
.vip-cards-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.vip-cards-3{grid-template-columns:1fr}}
.vip-card .where{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,240,229,.7);margin:0 0 6px}
.vip-card .more{display:inline-flex;align-items:center;gap:9px;margin-top:22px;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.vip-card .more svg{width:14px;height:14px}
.fine{font-size:.85rem;color:rgba(246,240,229,.7);margin:26px 0 0}

/* seletor Orlando · Califórnia · Nova York · Paris · Cruzeiros (hero da home) */
/* bordas por colapso (margin negativo): funciona com qualquer número de abas, com ou sem quebra de linha */
.dest-tabs{display:flex;flex-wrap:wrap;width:max-content;max-width:100%;margin:0 0 30px;padding:1px 0 0 1px}
.dest-tabs a{padding:12px 18px;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;text-align:center;color:rgba(246,240,229,.78);
  border:1px solid var(--line-dark);margin:-1px 0 0 -1px;
  transition:background-color 200ms ease,color 200ms ease}
.dest-tabs a[aria-selected="true"]{background:var(--gold);color:var(--espresso);border-color:var(--gold)}
@media(hover:hover) and (pointer:fine){.dest-tabs a:not([aria-selected="true"]):hover{color:var(--gold)}}
@media(max-width:560px){.dest-tabs{width:100%}.dest-tabs a{flex:1 1 auto}}
.dest-panel[hidden]{display:none}
.dest-panel .lead{margin-bottom:34px}
@media (prefers-reduced-motion:no-preference){.dest-panel.swap{animation:fadeUp 420ms var(--ease-out,ease)}}
@media (prefers-reduced-motion:reduce){.dest-panel.swap{animation:fadeIn 200ms ease}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* foto do hero em camadas (uma por destino, troca com fade) */
.hero-figure.stack{aspect-ratio:708/1142}
.stack .layer{position:absolute;inset:0;opacity:0;transition:opacity 600ms var(--ease-out,ease);visibility:hidden}
.stack .layer.on{opacity:1;visibility:visible}
.stack .layer>img,.stack .layer>.ph,.stack .layer>video{width:100%;height:100%;aspect-ratio:auto}
@media(max-width:900px){.hero-figure.stack{aspect-ratio:4/3}}

/* espaço reservado: FOTO/VÍDEO A DEFINIR */
.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;
  background:repeating-linear-gradient(135deg,rgba(238,211,168,.06) 0 12px,transparent 12px 24px),var(--espresso-2);
  outline:1px dashed rgba(238,211,168,.5);outline-offset:-10px;color:var(--gold);min-height:100%}
.ph svg{width:52px;height:52px;opacity:.75}
.ph b{font-weight:400;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.ph span{font-size:.8rem;line-height:1.6;color:rgba(246,240,229,.75);max-width:28ch}

/* cartões de destino */
.dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,24px);margin-top:50px}
@media(min-width:1400px){.dest-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:900px){.dest-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.dest-grid{grid-template-columns:1fr}}
.dest{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-light);transition:border-color 250ms ease}
.dest figure{margin:0;position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--espresso-2)}
.dest figure img,.dest figure .ph{width:100%;height:100%;object-fit:cover}
.dest-body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.dest-kicker{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terracota);margin:0}
.dest h3{font-size:1.5rem;color:var(--oxblood)}
.dest p{margin:0;font-size:.93rem;color:rgba(36,20,18,.72)}
.dest .live{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--oxblood)}
.dest .live i{width:6px;height:6px;border-radius:50%;background:var(--terracota);display:block}
.dest-more{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:9px;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terracota)}
.dest-more svg{width:14px;height:14px}
@media(hover:hover) and (pointer:fine){
  .dest:hover{border-color:var(--terracota)}
  .dest figure img{transition:transform 900ms var(--ease-out,ease)}
  .dest:hover figure img{transform:scale(1.04)}
  .dest-more svg{transition:transform 200ms var(--ease-out,ease)}
  .dest:hover .dest-more svg{transform:translateX(3px)}
}

/* serviços: 7 cartões, o de roteiro ocupa 2 colunas no computador */
.serv-grid.serv-7{grid-template-columns:repeat(4,1fr)}
.serv-7 .serv-wide{grid-column:span 2}
@media(max-width:1040px){.serv-grid.serv-7{grid-template-columns:repeat(2,1fr)}.serv-7 .serv-wide{grid-column:span 2}}
@media(max-width:520px){.serv-grid.serv-7{grid-template-columns:1fr}.serv-7 .serv-wide{grid-column:auto}}

/* famosos sobre fundo escuro */
.celeb-dark .celeb figcaption{color:var(--gold)}
.celeb-dark .celeb small{color:rgba(246,240,229,.66)}
.celeb-dark .celeb-note{color:rgba(246,240,229,.7)}
.celeb-dark .celeb figure{background:var(--espresso)}

/* tabela de valores do guia (páginas de destino) */
.price-cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,30px);margin-top:50px}
.price-cards.single{grid-template-columns:minmax(0,560px)}
@media(max-width:820px){.price-cards{grid-template-columns:1fr}}
.price-card{border:1px solid var(--line-light);background:#fff;padding:clamp(26px,3.4vw,40px);display:flex;flex-direction:column}
.price-card.feature{border-color:var(--terracota)}
.price-card .tag{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracota);margin-bottom:14px;display:block}
.price-card h3{color:var(--oxblood);margin-bottom:8px}
.price-card>p{color:rgba(36,20,18,.7);font-size:.96rem}
.price-table{width:100%;border-collapse:collapse;margin:24px 0 20px;font-size:.98rem}
.price-table th{text-align:left;font-weight:400;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe);padding-bottom:12px;border-bottom:1px solid var(--line-light)}
.price-table th:last-child{text-align:right}
.price-table td{padding:15px 0;border-bottom:1px solid rgba(86,51,51,.1);color:rgba(36,20,18,.82)}
.price-table td:last-child{text-align:right;font-family:var(--f-display);font-size:1.45rem;color:var(--terracota);font-variant-numeric:tabular-nums}
.price-note{font-size:.85rem;color:var(--taupe);margin:0 0 22px;line-height:1.7}
.price-card .btn{margin-top:auto;align-self:flex-start}

/* faixa de rostos (prova social) e CTA final das páginas de destino */
.faces-row{display:flex;flex-wrap:wrap;gap:14px 22px;margin-top:34px}
.faces-row span{display:flex;align-items:center;gap:10px;font-size:.8rem;color:rgba(246,240,229,.78)}
.faces-row img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 30%}
.cta-end{text-align:center}
.cta-end h2{max-width:22ch;margin-inline:auto}
.cta-end .lead{margin:22px auto 34px}
.cta-end .btns{justify-content:center}
.serv-grid.serv-8{grid-template-columns:repeat(4,1fr)}
@media(max-width:1040px){.serv-grid.serv-8{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.serv-grid.serv-8{grid-template-columns:1fr}}
.footer-in.footer-4{grid-template-columns:1.4fr 1fr 1fr 1.2fr}
@media(max-width:980px){.footer-in.footer-4{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer-in.footer-4{grid-template-columns:1fr}}
.vip-card .from{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,240,229,.7);margin:22px 0 0}
.vip-card .from+.price{margin-top:4px}
.vip-card .price-2{margin-top:2px}

/* =========================================================
   Vídeo de fundo (hero e seções): poster sempre; vídeo só se
   houver JS, sem movimento reduzido e sem conexão lenta.
   ========================================================= */
.bgmedia{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.bgmedia img,.bgmedia video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bgmedia video{opacity:0;transition:opacity 700ms var(--ease-out,ease)}
.bgmedia video.is-playing{opacity:1}
/* camada escura para o texto ficar legível */
.bgmedia::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(24,11,10,.93) 0%,rgba(28,15,13,.84) 42%,rgba(36,20,18,.6) 100%)}
@media(max-width:900px){.bgmedia::after{background:linear-gradient(180deg,rgba(24,11,10,.9) 0%,rgba(24,11,10,.8) 55%,rgba(24,11,10,.92) 100%)}}
/* seção vinho com vídeo (Guia VIP): mantém o tom vinho da marca */
.has-bgmedia{position:relative;isolation:isolate;overflow:hidden}
.has-bgmedia>.rail{position:relative}
.has-bgmedia.ground-oxblood .bgmedia::after{background:linear-gradient(160deg,rgba(50,30,28,.92) 0%,rgba(86,51,51,.93) 100%)}
/* hero das páginas sem foto de cliente: só texto sobre o vídeo */
.hero--media .hero-in{min-height:clamp(520px,82vh,760px)}
@media(max-width:900px){.hero--media .hero-in{min-height:clamp(560px,88vh,760px);padding-block:56px}}

/* galeria de famílias (Orlando) */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,18px);margin-top:40px}
@media(max-width:700px){.gallery{grid-template-columns:repeat(2,1fr)}}
.g-item figure{margin:0;overflow:hidden;background:var(--espresso)}
.g-item img{width:100%;aspect-ratio:4/5;object-fit:cover}
@media(hover:hover) and (pointer:fine){.g-item img{transition:transform 900ms var(--ease-out,ease)}.g-item:hover img{transform:scale(1.04)}}

/* botão de pausa dos vídeos de fundo */
.bg-pause{all:unset;box-sizing:border-box;position:absolute;left:16px;bottom:16px;z-index:4;cursor:pointer;display:grid;place-items:center;width:44px;height:44px;background:rgba(24,11,10,.72);border:1px solid var(--line-dark);color:var(--parchment)}
.bg-pause[hidden]{display:none}
.bg-pause:hover{border-color:var(--gold);color:var(--gold)}
.bg-pause:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.bg-pause svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bg-pause .i-play{display:none;fill:currentColor}
.bg-pause.is-paused .i-pause{display:none}
.bg-pause.is-paused .i-play{display:block}

/* cartão de serviço que leva a uma página (Aluguel de carro) */
a.serv-link{display:block;text-decoration:none;color:inherit}
a.serv-link:hover{background:#fbf7ee}
a.serv-link:focus-visible{outline:2px solid var(--terracota);outline-offset:-2px}
.serv-more{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--terracota)}
.serv-more svg{width:14px;height:14px}
