/* ==========================================================================
   CASA MUNDO VIAGENS — Folha de estilo principal
   --------------------------------------------------------------------------
   Este arquivo controla TODA a aparência do site.
   Se quiser mudar cores ou fontes do site inteiro, mude apenas os valores
   dentro do bloco ":root" logo abaixo. Nada mais precisa ser tocado.
   ========================================================================== */

:root{
  /* ——— CORES DA MARCA (do logo da Casa Mundo) ——— */
  --ink-deep:   #082E3A;   /* azul mais escuro — fundos escuros            */
  --ink:        #0E4C5E;   /* azul-tinta do logo                           */
  --teal:       #21A0CC;   /* teal EXATO do logo — detalhes e bordas       */
  --teal-deep:  #16789B;   /* teal escurecido — textos e botões no claro   */
  --teal-soft:  #8FD0E4;   /* teal claro — detalhes sobre fundo escuro     */
  --bone:       #FBF9F5;   /* fundo claro principal                        */
  --sand:       #EFE7DA;   /* fundo claro alternativo                      */
  --sand-line:  #DFD3C0;   /* linhas e bordas sobre fundo claro            */
  --text:       #17272D;   /* cor do texto no fundo claro                  */
  --muted:      #5C7079;   /* texto secundário                             */
  --white:      #FFFFFF;

  /* ——— TIPOGRAFIA ——— */
  --font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-body:    "EB Garamond", Georgia, "Times New Roman", serif;
  --font-label:   "Jost", "Helvetica Neue", Arial, sans-serif;

  /* ——— MEDIDAS ——— */
  --wrap: 1240px;
  --gutter: clamp(1.25rem, 5vw, 3.5rem);
  --radius: 2px;
  --shadow: 0 18px 50px -22px rgba(8,46,58,.45);
  --shadow-soft: 0 10px 30px -18px rgba(8,46,58,.35);
  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ========================= BASE ========================= */
*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:hidden; }

body{
  margin:0;
  background:var(--bone);
  color:var(--text);
  font-family:var(--font-body);
  font-size:clamp(1.0625rem, .98rem + .35vw, 1.1875rem);
  line-height:1.72;
  font-feature-settings:"kern" 1,"liga" 1,"onum" 1;
  overflow-x:hidden;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.008em;
  margin:0 0 .5em;
  color:var(--ink);
}
h1{ font-size:clamp(2.6rem, 1.7rem + 4.2vw, 5.1rem); }
h2{ font-size:clamp(2.05rem, 1.5rem + 2.4vw, 3.4rem); }
h3{ font-size:clamp(1.4rem, 1.2rem + .9vw, 1.9rem); }
h4{ font-size:clamp(1.15rem, 1.05rem + .4vw, 1.35rem); }
p{ margin:0 0 1.15em; }
p:last-child{ margin-bottom:0; }

::selection{ background:var(--teal-deep); color:#fff; }

/* Sobre fundos escuros, o rótulo usa a versão clara do teal */
.hero .eyebrow,
.pillar .eyebrow,
.cta-band .eyebrow,
.lp-hero .eyebrow,
.section--ink .eyebrow{ color:var(--teal-soft); }

/* Rótulos pequenos em caixa alta (a "assinatura" gráfica do site) */
.eyebrow{
  font-family:var(--font-label);
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--teal-deep);
  margin:0 0 1.2rem;
  display:flex;
  align-items:center;
  gap:.85rem;
}
.eyebrow::before{
  content:"";
  width:2.2rem; height:1px;
  background:currentColor;
  flex:none;
  opacity:.65;
}
.eyebrow--center{ justify-content:center; }
.eyebrow--plain::before{ display:none; }

.lead{
  font-size:clamp(1.15rem, 1.05rem + .5vw, 1.45rem);
  line-height:1.6;
  color:var(--muted);
}

/* ========================= LAYOUT ========================= */
.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.wrap--narrow{ max-width:820px; }

.section{ padding-block:clamp(4.5rem, 9vw, 8.5rem); }
.section--tight{ padding-block:clamp(3.25rem, 6vw, 5.5rem); }

.section--sand{ background:var(--sand); }
.section--ink{ background:var(--ink-deep); color:#E6EFF2; }
.section--ink h2,.section--ink h3,.section--ink h4{ color:var(--white); }
.section--ink .lead{ color:#A9C4CD; }
.section--ink .eyebrow{ color:var(--teal-soft); }

.section-head{ max-width:52ch; margin-bottom:clamp(2.5rem,5vw,4rem); }
.section-head--center{ margin-inline:auto; text-align:center; }
.section-head--center .eyebrow{ justify-content:center; }

/* ========================= BOTÕES ========================= */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  font-family:var(--font-label);
  font-size:.78rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  padding:1.05rem 2.15rem;
  border:1px solid transparent;
  border-radius:var(--radius);
  text-decoration:none;
  cursor:pointer;
  transition:background .35s var(--ease), color .35s var(--ease),
             border-color .35s var(--ease), transform .35s var(--ease);
}
.btn:hover{ transform:translateY(-2px); }
.btn:focus-visible{ outline:2px solid var(--teal-deep); outline-offset:3px; }

.btn--primary{ background:var(--teal-deep); color:#fff; border-color:var(--teal-deep); }
.btn--primary:hover{ background:var(--ink); border-color:var(--ink); }

.btn--dark{ background:var(--ink); color:#fff; border-color:var(--ink); }
.btn--dark:hover{ background:var(--teal-deep); border-color:var(--teal-deep); }

.btn--ghost{ background:transparent; color:var(--ink); border-color:var(--sand-line); }
.btn--ghost:hover{ border-color:var(--ink); background:var(--ink); color:#fff; }

.btn--light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.45); }
.btn--light:hover{ background:#fff; color:var(--ink); border-color:#fff; }

.btn-row{ display:flex; flex-wrap:wrap; gap:.9rem; }
.btn-row--center{ justify-content:center; }

/* Link com seta */
.arrow-link{
  font-family:var(--font-label);
  font-size:.74rem; font-weight:500;
  letter-spacing:.17em; text-transform:uppercase;
  color:var(--ink);
  text-decoration:none;
  display:inline-flex; align-items:center; gap:.65rem;
  border-bottom:1px solid var(--sand-line);
  padding-bottom:.45rem;
  transition:color .3s var(--ease), border-color .3s var(--ease), gap .3s var(--ease);
}
.arrow-link::after{ content:"→"; font-size:1rem; line-height:1; transition:transform .3s var(--ease); }
.arrow-link:hover{ color:var(--teal-deep); border-color:var(--teal-deep); gap:.95rem; }

/* ========================= CABEÇALHO ========================= */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:100;
  padding-block:1.15rem;
  transition:background .4s var(--ease), box-shadow .4s var(--ease), padding .4s var(--ease);
}
.site-header__inner{
  display:flex; align-items:center; justify-content:space-between; gap:2rem;
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter);
}

/* Estado sobre o topo da imagem (transparente, texto branco) */
.site-header--over{ background:transparent; }
.site-header--over .brand,
.site-header--over .nav__link{ color:#fff; }
.site-header--over .brand__sub{ color:rgba(255,255,255,.72); }
.site-header--over .burger span{ background:#fff; }
.site-header--over::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(to bottom, rgba(8,46,58,.55), rgba(8,46,58,0));
  pointer-events:none;
}

/* Estado depois da rolagem (fundo sólido) */
.site-header.is-stuck{
  background:rgba(251,249,245,.96);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  box-shadow:0 1px 0 var(--sand-line);
  padding-block:.8rem;
}
.site-header.is-stuck .brand,
.site-header.is-stuck .nav__link{ color:var(--ink); }
.site-header.is-stuck .brand__sub{ color:var(--muted); }
.site-header.is-stuck .burger span{ background:var(--ink); }
.site-header.is-stuck::after{ opacity:0; }

/* — Marca / logo — */
.brand{
  display:flex; align-items:center; gap:.85rem;
  text-decoration:none; color:var(--ink);
  transition:color .4s var(--ease), opacity .3s var(--ease);
}
.brand:hover{ opacity:.78; }
.brand__mark{ width:40px; height:auto; flex:none; }   /* logo oficial (espiral) */
.brand__mark svg{ width:100%; height:100%; display:block; }
.brand__text{ display:flex; flex-direction:column; line-height:1; }
.brand__name{
  font-family:var(--font-display);
  font-size:1.32rem; letter-spacing:.11em; text-transform:uppercase;
}
.brand__sub{
  font-family:var(--font-label);
  font-size:.53rem; font-weight:400; letter-spacing:.42em; text-transform:uppercase;
  color:var(--muted); margin-top:.32rem;
}
/* Se você trocar o SVG por um PNG, esta classe controla o tamanho */
.brand__img{ height:44px; width:auto; display:block; }

/* — Navegação — */
.nav{ display:flex; align-items:center; gap:2.1rem; }
.nav__link{
  font-family:var(--font-label);
  font-size:.76rem; font-weight:400;
  letter-spacing:.15em; text-transform:uppercase;
  color:var(--ink); text-decoration:none;
  position:relative; padding-block:.3rem;
  transition:color .3s var(--ease);
}
.nav__link::after{
  content:""; position:absolute; left:0; bottom:0;
  width:100%; height:1px; background:currentColor;
  transform:scaleX(0); transform-origin:right;
  transition:transform .4s var(--ease);
}
.nav__link:hover::after,.nav__link[aria-current="page"]::after{ transform:scaleX(1); transform-origin:left; }
.nav .btn{ padding:.8rem 1.5rem; font-size:.72rem; }

.burger{
  display:none;
  width:44px; height:44px;
  background:none; border:0; padding:10px;
  cursor:pointer;
  flex-direction:column; justify-content:center; gap:6px;
}
.burger span{
  display:block; height:1.5px; width:100%;
  background:var(--ink);
  transition:transform .35s var(--ease), opacity .25s var(--ease), background .4s var(--ease);
}
.burger.is-open span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.burger.is-open span:nth-child(2){ opacity:0; }
.burger.is-open span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

@media (max-width:1000px){
  /* O botão precisa ficar ACIMA do menu aberto para poder fechá-lo */
  .burger{ display:flex; position:relative; z-index:2; }
  .nav{
    z-index:1;
    position:fixed; inset:0 0 0 auto;
    width:min(88vw, 400px);
    background:var(--ink-deep);
    flex-direction:column; align-items:flex-start; justify-content:center;
    gap:1.6rem;
    padding:5rem var(--gutter);
    transform:translateX(100%);
    visibility:hidden;
    transition:transform .5s var(--ease), visibility 0s linear .5s;
    overflow-y:auto;
  }
  .nav.is-open{ transform:translateX(0); visibility:visible; transition:transform .5s var(--ease), visibility 0s; }
  .nav__link{ color:#fff !important; font-size:1rem; letter-spacing:.13em; }
  .nav .btn{ width:100%; padding:1rem 1.5rem; font-size:.78rem; }
  body.nav-open{ overflow:hidden; }
  /* Com o menu escuro aberto, as barras do botão ficam sempre brancas */
  body.nav-open .burger span{ background:#fff !important; }
  body.nav-open .site-header .brand{ color:#fff; }
}

/* ========================= HERO ========================= */
.hero{
  position:relative;
  min-height:min(94vh, 900px);
  display:flex; align-items:flex-end;
  padding-block:clamp(8rem,16vh,11rem) clamp(3.5rem,8vh,6rem);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
.hero--short{ min-height:min(72vh, 680px); }
.hero__media{ position:absolute; inset:0; z-index:-2; }
.hero__media img{ width:100%; height:100%; object-fit:cover; }
.hero::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(to top, rgba(6,32,41,.90) 0%, rgba(6,32,41,.42) 45%, rgba(6,32,41,.28) 100%),
    linear-gradient(to right, rgba(6,32,41,.55), rgba(6,32,41,0) 65%);
}
.hero__inner{ position:relative; width:100%; }
.hero h1{ color:#fff; max-width:16ch; margin-bottom:.35em; }
.hero .eyebrow{ color:var(--teal-soft); }
.hero__text{ max-width:56ch; color:rgba(255,255,255,.86); font-size:clamp(1.08rem,1rem + .45vw,1.32rem); }
.hero .btn-row{ margin-top:2.4rem; }

/* Faixa de credibilidade abaixo do hero */
.trust{
  background:var(--ink);
  color:rgba(255,255,255,.82);
  padding-block:1.5rem;
  font-family:var(--font-label);
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
}
.trust__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(210px, 1fr));
  align-items:center; gap:1rem 2.5rem;
}
.trust__item{ display:flex; align-items:center; gap:.6rem; }
.trust__item svg{ width:15px; height:15px; flex:none; color:var(--teal-soft); }

/* ========================= DUAS FRENTES ========================= */
.pillars{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(1.2rem,2.5vw,2rem); }
@media (max-width:860px){ .pillars{ grid-template-columns:1fr; } }

.pillar{
  position:relative;
  display:flex; flex-direction:column; justify-content:flex-end;
  min-height:clamp(420px, 52vw, 560px);
  padding:clamp(1.8rem,3.5vw,3rem);
  color:#fff; overflow:hidden;
  text-decoration:none;
  border-radius:var(--radius);
  isolation:isolate;
}
.pillar__media{ position:absolute; inset:0; z-index:-2; }
.pillar__media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.pillar::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(to top, rgba(6,32,41,.95) 30%, rgba(6,32,41,.62) 62%, rgba(6,32,41,.25) 100%);
  transition:background .5s var(--ease);
}
.pillar:hover .pillar__media img{ transform:scale(1.055); }
.pillar:hover::after{ background:linear-gradient(to top, rgba(6,32,41,.95) 8%, rgba(10,55,69,.55) 60%, rgba(6,32,41,.25) 100%); }
.pillar h3{ color:#fff; font-size:clamp(1.85rem,1.4rem + 1.5vw,2.6rem); margin-bottom:.4rem; }
.pillar p{ color:rgba(255,255,255,.9); max-width:40ch; font-size:1.06rem; text-shadow:0 1px 12px rgba(6,32,41,.5); }
.pillar .arrow-link{ color:#fff; border-color:rgba(255,255,255,.4); margin-top:1.5rem; align-self:flex-start; }
.pillar .arrow-link:hover{ color:var(--teal-soft); border-color:var(--teal-soft); }

/* ========================= GRID DE CARTÕES ========================= */
.cards{ display:grid; gap:clamp(1.6rem,3vw,2.6rem); }
.cards--3{ grid-template-columns:repeat(3,1fr); }
.cards--2{ grid-template-columns:repeat(2,1fr); }
.cards--4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1000px){ .cards--4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:900px){ .cards--3{ grid-template-columns:1fr 1fr; } }
@media (max-width:660px){ .cards--3,.cards--2,.cards--4{ grid-template-columns:1fr; } }

.card{ text-decoration:none; color:inherit; display:flex; flex-direction:column; }
.card__media{ overflow:hidden; margin-bottom:1.4rem; border-radius:var(--radius); aspect-ratio:4/3; }
.card__media img{ width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease); }
.card:hover .card__media img{ transform:scale(1.06); }
.card__tag{
  font-family:var(--font-label); font-size:.66rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--teal-deep);
  margin-bottom:.6rem;
}
.card h3{ margin-bottom:.5rem; }
.card p{ color:var(--muted); font-size:1rem; }
.card .arrow-link{ margin-top:1.2rem; align-self:flex-start; }

/* ========================= LISTA DE SERVIÇOS ========================= */
.features{ display:grid; gap:clamp(1.8rem,3vw,3rem) clamp(2rem,4vw,4rem); }
.features--3{ grid-template-columns:repeat(3,1fr); }
.features--2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:860px){ .features--3{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .features--3,.features--2{ grid-template-columns:1fr; } }

.feature{ padding-top:1.6rem; border-top:1px solid var(--sand-line); }
.section--ink .feature{ border-color:rgba(255,255,255,.18); }
.feature__icon{ width:26px; height:26px; color:var(--teal-deep); margin-bottom:1rem; }
.feature__icon svg{ width:100%; height:100%; }
.feature h4{ margin-bottom:.5rem; }
.feature p{ color:var(--muted); font-size:.99rem; margin:0; }
.section--ink .feature p{ color:#A9C4CD; }

/* ========================= PASSOS NUMERADOS ========================= */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1.5rem,3vw,2.5rem); counter-reset:step; }
@media (max-width:960px){ .steps{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .steps{ grid-template-columns:1fr; } }
.step{ position:relative; padding-top:2.6rem; border-top:1px solid var(--sand-line); counter-increment:step; }
.section--ink .step{ border-color:rgba(255,255,255,.18); }
.step::before{
  content:"0" counter(step);
  position:absolute; top:1.3rem; left:0;
  font-family:var(--font-label); font-size:.72rem; font-weight:500;
  letter-spacing:.2em; color:var(--teal-deep);
}
.step h4{ margin-bottom:.45rem; }
.step p{ color:var(--muted); font-size:.98rem; margin:0; }
.section--ink .step p{ color:#A9C4CD; }

/* ========================= SPLIT (texto + imagem) ========================= */
.split{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,5rem); align-items:center;
}
.split--reverse .split__media{ order:-1; }
@media (max-width:880px){
  .split{ grid-template-columns:1fr; }
  .split--reverse .split__media{ order:0; }
}
.split__media img{ width:100%; border-radius:var(--radius); box-shadow:var(--shadow); }
.split__body{ max-width:54ch; }

/* ========================= CITAÇÃO ========================= */
.quote{ text-align:center; max-width:24ch; margin-inline:auto; }
.quote blockquote{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(1.9rem,1.4rem + 2.2vw,3.3rem);
  line-height:1.22; color:var(--white);
  max-width:22ch; margin-inline:auto;
}
.quote cite{
  display:block; margin-top:2rem;
  font-family:var(--font-label); font-style:normal;
  font-size:.7rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--teal-soft);
}

/* ========================= DEPOIMENTOS ========================= */
.testimonial{
  background:var(--white);
  border:1px solid var(--sand-line);
  border-radius:var(--radius);
  padding:clamp(1.8rem,3vw,2.6rem);
  display:flex; flex-direction:column;
}
.testimonial p{ font-size:1.06rem; color:var(--text); }
.testimonial__who{
  margin-top:auto; padding-top:1.4rem;
  font-family:var(--font-label); font-size:.7rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.testimonial__who strong{ display:block; color:var(--ink); font-weight:500; letter-spacing:.14em; }
.stars{ color:var(--teal-deep); letter-spacing:.18em; margin-bottom:.9rem; font-size:.95rem; }

/* ========================= FAQ ========================= */
.faq{ max-width:860px; margin-inline:auto; }
.faq__item{ border-bottom:1px solid var(--sand-line); }
.faq__q{
  width:100%; background:none; border:0; cursor:pointer;
  display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem;
  padding:1.6rem 0; text-align:left;
  font-family:var(--font-display); font-size:clamp(1.15rem,1.05rem + .5vw,1.45rem);
  color:var(--ink); line-height:1.3;
  transition:color .3s var(--ease);
}
.faq__q:hover{ color:var(--teal-deep); }
.faq__q::after{
  content:"+"; font-family:var(--font-label); font-size:1.5rem; font-weight:300;
  line-height:1; color:var(--teal-deep); flex:none;
  transition:transform .4s var(--ease);
}
.faq__item.is-open .faq__q::after{ transform:rotate(45deg); }
.faq__a{
  overflow:hidden; max-height:0;
  transition:max-height .5s var(--ease), padding .4s var(--ease);
}
.faq__item.is-open .faq__a{ padding-bottom:1.7rem; }
.faq__a p{ color:var(--muted); margin:0 0 .9rem; max-width:70ch; }
.faq__a p:last-child{ margin-bottom:0; }

/* ========================= CTA FINAL ========================= */
.cta-band{
  background:var(--ink-deep); color:#fff;
  padding-block:clamp(4rem,8vw,7rem);
  text-align:center;
  position:relative; overflow:hidden;
}
.cta-band h2{ color:#fff; max-width:20ch; margin-inline:auto; }
.cta-band p{ color:#A9C4CD; max-width:56ch; margin-inline:auto; font-size:1.12rem; }
.cta-band .btn-row{ margin-top:2.4rem; }

/* ========================= FORMULÁRIO ========================= */
.form-shell{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,5rem); align-items:start;
}
@media (max-width:900px){ .form-shell{ grid-template-columns:1fr; } }

.form{ display:grid; gap:1.35rem; }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1.35rem; align-items:end; }
@media (max-width:560px){ .form__row{ grid-template-columns:1fr; } }
.field{ display:flex; flex-direction:column; gap:.5rem; }
.field label{
  font-family:var(--font-label); font-size:.68rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.field input,.field select,.field textarea{
  font-family:var(--font-body); font-size:1.02rem; color:var(--text);
  background:var(--white);
  border:1px solid var(--sand-line);
  border-radius:var(--radius);
  padding:.95rem 1.05rem;
  width:100%;
  transition:border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.field textarea{ min-height:140px; resize:vertical; line-height:1.6; }
.field input:focus,.field select:focus,.field textarea:focus{
  outline:0; border-color:var(--teal-deep); box-shadow:0 0 0 3px rgba(22,120,155,.15);
}
.field--full{ grid-column:1/-1; }
.form__note{ font-size:.9rem; color:var(--muted); }
.form__note a{ color:var(--teal-deep); }

.contact-list{ display:grid; gap:1.6rem; }
.contact-item{ display:flex; gap:1rem; align-items:flex-start; }
.contact-item svg{ width:20px; height:20px; color:var(--teal-deep); flex:none; margin-top:.35rem; }
.contact-item h4{ margin:0 0 .15rem; font-size:1.15rem; }
.contact-item a,.contact-item span{ color:var(--muted); text-decoration:none; font-size:1.02rem; }
.contact-item a:hover{ color:var(--teal-deep); }

/* ========================= RODAPÉ ========================= */
.site-footer{ background:var(--ink-deep); color:#A9C4CD; padding-block:clamp(3.5rem,6vw,5rem) 2rem; }
.footer-grid{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr;
  gap:clamp(2rem,4vw,3.5rem);
  padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.14);
}
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }
.site-footer .brand{ color:#fff; margin-bottom:1.2rem; }
.site-footer .brand__sub{ color:rgba(255,255,255,.6); }
.footer-about p{ font-size:.98rem; max-width:36ch; }
.footer-col h5{
  font-family:var(--font-label); font-size:.68rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:#fff;
  margin:0 0 1.2rem;
}
.footer-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:.75rem; }
.footer-col a{ color:#A9C4CD; text-decoration:none; font-size:.98rem; transition:color .3s var(--ease); }
.footer-col a:hover{ color:var(--teal-soft); }
.footer-bottom{
  padding-top:2rem;
  display:flex; flex-wrap:wrap; gap:1rem 2rem; justify-content:space-between;
  font-family:var(--font-label); font-size:.7rem; letter-spacing:.1em;
  color:rgba(169,196,205,.75);
}
.social{ display:flex; gap:1rem; }
.social a{ width:20px; height:20px; color:#A9C4CD; transition:color .3s var(--ease); }
.social a:hover{ color:var(--teal-soft); }
.social svg{ width:100%; height:100%; }

/* ========================= WHATSAPP FLUTUANTE ========================= */
.wa-float{
  position:fixed; right:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem);
  z-index:90;
  width:58px; height:58px; border-radius:50%;
  background:#25D366; color:#fff;
  display:grid; place-items:center;
  box-shadow:0 10px 30px -8px rgba(37,211,102,.55);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.wa-float:hover{ transform:translateY(-3px) scale(1.05); box-shadow:0 16px 36px -8px rgba(37,211,102,.7); }
.wa-float svg{ width:30px; height:30px; }

/* ========================= LANDING PAGES (Google Ads) ========================= */
.lp-header{ padding-block:1.4rem; background:var(--bone); border-bottom:1px solid var(--sand-line); }
.lp-header__inner{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter);
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
}
.lp-phone{
  font-family:var(--font-label); font-size:.76rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink); text-decoration:none; display:flex; align-items:center; gap:.6rem;
}
.lp-phone svg{ width:16px; height:16px; color:var(--teal-deep); }

.lp-hero{ background:var(--ink-deep); color:#fff; padding-block:clamp(3.5rem,7vw,5.5rem); }
.lp-hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2.5rem,5vw,5rem); align-items:center; }
@media (max-width:940px){ .lp-hero__grid{ grid-template-columns:1fr; } }
.lp-hero h1{ color:#fff; font-size:clamp(2.3rem,1.7rem + 2.8vw,3.9rem); max-width:18ch; }
.lp-hero .lead{ color:#A9C4CD; }
.lp-checks{ list-style:none; margin:2rem 0 0; padding:0; display:grid; gap:.85rem; }
.lp-checks li{ display:flex; gap:.85rem; align-items:flex-start; color:#DCE9ED; font-size:1.05rem; }
.lp-checks svg{ width:19px; height:19px; color:var(--teal-soft); flex:none; margin-top:.34rem; }

.lp-form-card{
  background:var(--bone); color:var(--text);
  border-radius:var(--radius); padding:clamp(1.7rem,3vw,2.4rem);
  box-shadow:var(--shadow);
}
.lp-form-card h2{ font-size:clamp(1.5rem,1.3rem + .8vw,2rem); margin-bottom:.35rem; }
.lp-form-card .form__note{ margin-top:.2rem; }

.logos-band{
  padding-block:2.2rem; background:var(--sand);
  font-family:var(--font-label); font-size:.7rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--muted); text-align:center;
}

/* ========================= UTILITÁRIOS ========================= */
.text-center{ text-align:center; }
.mt-0{ margin-top:0; }
.divider{ height:1px; background:var(--sand-line); border:0; margin:0; }
.visually-hidden{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.skip-link{
  position:absolute; top:-100px; left:1rem; z-index:200;
  background:var(--ink); color:#fff; padding:.8rem 1.2rem;
  font-family:var(--font-label); font-size:.75rem; letter-spacing:.12em; text-transform:uppercase;
  text-decoration:none;
}
.skip-link:focus{ top:1rem; }

/* Animação de entrada ao rolar */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.is-visible{ opacity:1; transform:none; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; transition-duration:.01ms!important; }
  html{ scroll-behavior:auto; }
  .reveal{ opacity:1; transform:none; }
}
