/* ============================================================
   CIDADES IMOBILIÁRIA — Landing de captação
   Paleta da marca: navy #1A1A4E + laranja #EE7509, fundo bone #F7F5F1
   Estrutura: #header  #hero (#busca)  #resultados  #contato  #confianca  #footer
   ============================================================ */
:root{
  --navy:#1A1A4E; --navy-800:#14143E; --navy-deep:#0A263A;
  --orange:#EE7509; --orange-600:#C25E06; --orange-100:#FDE8D3; --orange-soft:#FFB371;
  --blue:#1F4AB8; --blue-100:#DDE5F5;
  --bone:#F7F5F1; --white:#fff;
  --gray-100:#E8EAF0; --gray-200:#D5D8E2; --gray-400:#8A8FA3; --gray-500:#5E6378;
  --green:#1F8A5B; --whatsapp:#25D366;
  --r-md:12px; --r-lg:18px; --r-xl:24px; --r-pill:999px;
  --shadow-sm:0 2px 6px rgba(15,18,50,.06),0 1px 2px rgba(15,18,50,.04);
  --shadow-md:0 8px 20px rgba(15,18,50,.10);
  --shadow-lg:0 24px 48px rgba(15,18,50,.28);
  --shadow-orange:0 12px 24px rgba(238,117,9,.28);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Poppins','Montserrat',system-ui,-apple-system,'Segoe UI',sans-serif;
  background:var(--bone); color:var(--navy);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;}
a{color:inherit;}
.container{max-width:1240px; margin:0 auto; padding-left:20px; padding-right:20px;}

@keyframes fadeUp{from{transform:translateY(14px);}to{transform:translateY(0);}}

/* ---------- HEADER ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(247,245,241,.82);
  backdrop-filter:blur(16px) saturate(140%); -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--gray-100);
}
.site-header__inner{display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:12px; padding-bottom:12px;}
.site-header__logo{height:34px; width:auto; display:block;}
/* Marca: Sophia (cursivo) by Cidades */
.brand{display:inline-flex; flex-direction:column; line-height:1; text-decoration:none;}
.brand__name{font-family:'Dancing Script',cursive; font-weight:700; font-size:34px; color:var(--navy); letter-spacing:.5px;}
.brand__by{font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gray-400); margin-top:2px; padding-left:3px;}
.header-actions{display:flex; align-items:center; gap:10px;}
.header-phone{display:inline-flex; align-items:center; gap:7px; color:var(--navy); text-decoration:none; font-weight:600; font-size:14px; white-space:nowrap;}

/* WhatsApp */
.wa-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--orange); color:#fff; text-decoration:none; font-weight:600; font-size:14px;
  padding:9px 17px 9px 14px; border-radius:var(--r-pill);
  box-shadow:0 6px 16px rgba(238,117,9,.45),0 0 0 1px rgba(238,117,9,.25);
  transition:background .2s var(--ease), box-shadow .2s var(--ease), transform .12s var(--ease);
}
.wa-btn:hover{background:var(--orange-600); box-shadow:0 8px 22px rgba(238,117,9,.6); transform:translateY(-1px);}

/* ---------- HERO ---------- */
.hero{
  position:relative; color:#fff; overflow:hidden; isolation:isolate;
  background:linear-gradient(160deg,#1A1A4E 0%,#14143E 55%,#0A263A 100%);
}
/* Camada de vídeo: rede digital quase transparente, integrada ao azul */
.hero__media{position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden;}
.hero__media video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
  opacity:.28;                 /* quase transparente */
  mix-blend-mode:screen;       /* a rede luminosa soma luz ao azul do hero */
  filter:saturate(130%) hue-rotate(38deg) contrast(108%); /* gira o ciano da rede para o azul da marca */
}
/* Véu para garantir contraste do texto e reforçar o tom azul */
.hero__veil{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(130% 110% at 14% 22%, rgba(10,38,58,0) 0%, rgba(20,20,62,.42) 60%, rgba(20,20,62,.72) 100%),
    linear-gradient(160deg, rgba(26,26,78,.55) 0%, rgba(20,20,62,.28) 48%, rgba(10,38,58,.60) 100%);
}
.hero__selo{position:absolute; right:-60px; bottom:-50px; width:340px; opacity:.07; z-index:1; pointer-events:none;}
.hero__inner{position:relative; z-index:2; padding-top:clamp(40px,7vw,80px); padding-bottom:clamp(36px,6vw,64px);}
.hero__copy{max-width:760px; animation:fadeUp .5s var(--ease) both;}
.badge-ia{
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(238,117,9,.16); border:1px solid rgba(238,117,9,.45); color:var(--orange-soft);
  font-weight:600; font-size:13px; padding:7px 14px; border-radius:var(--r-pill);
}
.hero h1{font-size:clamp(30px,6.2vw,56px); font-weight:700; letter-spacing:-.02em; line-height:1.06; margin:18px 0 0; text-wrap:balance;}
.hero__sub{font-size:clamp(15px,2.4vw,19px); line-height:1.55; color:#C9CCE3; margin:16px 0 0; max-width:560px;}
.hero__sub strong{color:#fff; font-weight:600;}

/* Hero em 2 colunas: chat (esq) + anunciar (dir) */
.hero__cols{display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:clamp(16px,2.4vw,28px); align-items:start; margin-top:clamp(24px,4vw,36px);}
.hero__cols .chat-card{margin-top:0; max-width:none;}
.anuncie-card{background:#fff; border-radius:var(--r-xl); box-shadow:var(--shadow-lg); padding:clamp(18px,2.4vw,26px); animation:fadeUp .6s var(--ease) both;}
.anuncie-card__eyebrow{display:inline-block; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--orange);}
.anuncie-card h3{font-size:clamp(19px,2.3vw,23px); font-weight:700; color:var(--navy); margin:8px 0 0; letter-spacing:-.01em;}
.anuncie-card__head p{color:var(--gray-500); font-size:13.5px; line-height:1.5; margin:8px 0 16px;}
@media(max-width:920px){.hero__cols{grid-template-columns:1fr;}}

/* ---------- SEARCH FORM ---------- */
.search-card{
  position:relative; z-index:2;
  margin-top:clamp(24px,4vw,36px); background:#fff; border-radius:var(--r-xl);
  padding:clamp(16px,2.5vw,24px); box-shadow:var(--shadow-lg); animation:fadeUp .6s var(--ease) both;
}
.search-card__eyebrow{display:flex; align-items:center; gap:8px; margin-bottom:14px; font-size:12px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--gray-500);}
.segmented{display:flex; background:#F4F5F8; border-radius:var(--r-md); padding:4px; gap:4px; margin-bottom:16px; max-width:340px;}
.segmented button{
  flex:1; border:0; cursor:pointer; font-size:14px; font-weight:600; padding:10px 8px;
  border-radius:9px; background:transparent; color:var(--gray-500); transition:all .2s var(--ease);
}
.segmented button.is-active{background:var(--navy); color:#fff; box-shadow:0 2px 6px rgba(15,18,50,.18);}
.fields{display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:14px;}
.field label{display:block; font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--gray-500); margin-bottom:7px;}
.field__wrap{position:relative;}
.field__icon{position:absolute; left:13px; top:50%; transform:translateY(-50%); pointer-events:none;}
.field__prefix{position:absolute; left:13px; top:50%; transform:translateY(-50%); font-size:13px; font-weight:600; color:var(--gray-400); pointer-events:none;}
.field__chev{position:absolute; right:14px; top:50%; transform:translateY(-50%); pointer-events:none;}
.field select{
  width:100%; padding:14px 38px 14px 38px; font-family:inherit; font-size:15px;
  border:1px solid var(--gray-200); border-radius:var(--r-md); background:#fff; color:var(--navy);
  appearance:none; -webkit-appearance:none; cursor:pointer; transition:border-color .2s var(--ease), box-shadow .2s var(--ease);
}
.field select.no-icon{padding-left:14px;}
.field select.has-prefix{padding-left:42px;}
.field select:focus{outline:0; border-color:var(--orange); box-shadow:0 0 0 3px rgba(238,117,9,.15);}
.btn-primary{
  margin-top:16px; width:100%; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:var(--orange); color:#fff; border:0; font-family:inherit; font-size:clamp(16px,2.4vw,18px); font-weight:600;
  padding:17px 24px; border-radius:14px; cursor:pointer; box-shadow:var(--shadow-orange);
  transition:background .22s var(--ease), transform .12s var(--ease);
}
.btn-primary:hover{background:var(--orange-600); transform:translateY(-1px);}
.btn-primary:active{transform:translateY(0);}
.search-card__note{margin:12px 0 0; font-size:12.5px; color:var(--gray-400); text-align:center;}

/* ===== CHAT GUIADO PELA IA ===== */
.chat-card{width:100%; max-width:560px; margin-top:clamp(24px,4vw,36px); background:#fff; border-radius:var(--r-xl); box-shadow:var(--shadow-lg); overflow:hidden; display:flex; flex-direction:column; animation:fadeUp .6s var(--ease) both;}
.chat-card__head{display:flex; align-items:center; gap:11px; padding:14px 18px; background:var(--navy); color:#fff;}
.chat-avatar{width:42px; height:42px; border-radius:50%; flex:none; overflow:hidden; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:19px; color:#fff; background:linear-gradient(135deg,var(--orange),var(--orange-soft));}
.chat-avatar img{width:100%; height:100%; object-fit:cover; display:block;}
.chat-name{font-weight:700; font-size:15px; line-height:1.1;}
.chat-status{display:flex; align-items:center; gap:6px; margin-top:2px; font-size:12px; opacity:.85;}
.chat-status .dot{width:7px; height:7px; border-radius:50%; background:#46e08a; animation:pulse 1.8s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(70,224,138,.5)}70%{box-shadow:0 0 0 7px rgba(70,224,138,0)}100%{box-shadow:0 0 0 0 rgba(70,224,138,0)}}
.chat-body{display:flex; flex-direction:column; gap:10px; padding:18px; min-height:220px; max-height:340px; overflow-y:auto; background:var(--bone);}
.msg{max-width:85%; padding:11px 14px; border-radius:16px; font-size:14.5px; line-height:1.45; animation:fadeUp .3s var(--ease) both;}
.msg--bot{align-self:flex-start; background:#fff; color:var(--navy); border-bottom-left-radius:5px; box-shadow:var(--shadow-sm);}
.msg--user{align-self:flex-end; background:var(--navy); color:#fff; border-bottom-right-radius:5px;}
.msg.typing{display:inline-flex; gap:5px; align-items:center;}
.msg.typing span{width:7px; height:7px; border-radius:50%; background:var(--gray-400); animation:blink 1.2s infinite;}
.msg.typing span:nth-child(2){animation-delay:.2s} .msg.typing span:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,60%,100%{opacity:.25; transform:translateY(0)} 30%{opacity:1; transform:translateY(-3px)}}
.chat-replies{display:flex; flex-wrap:wrap; gap:8px; padding:14px 18px; border-top:1px solid var(--gray-100); background:#fff;}
.chip{font-family:inherit; font-size:14px; font-weight:600; color:var(--navy); background:#fff; border:1.5px solid var(--gray-200); border-radius:var(--r-pill); padding:9px 16px; cursor:pointer; transition:all .18s var(--ease);}
.chip:hover{border-color:var(--orange); background:var(--orange-100); color:var(--orange-600); transform:translateY(-1px);}
.chip--go{background:var(--orange); color:#fff; border-color:var(--orange); box-shadow:var(--shadow-orange);}
.chip--go:hover{background:var(--orange-600); color:#fff;}
@media(max-width:600px){.chat-body{max-height:300px;}}

/* Campo de texto do chat (IA real) */
.chat-input{display:flex; gap:8px; padding:12px 14px; border-top:1px solid var(--gray-100); background:#fff;}
.chat-input input{flex:1; min-width:0; padding:12px 15px; border:1px solid var(--gray-200); border-radius:var(--r-pill); font-family:inherit; font-size:14.5px; color:var(--navy);}
.chat-input input:focus{outline:0; border-color:var(--orange); box-shadow:0 0 0 3px rgba(238,117,9,.15);}
.chat-send{flex:none; width:44px; height:44px; border:0; border-radius:50%; background:var(--orange); color:#fff; font-size:15px; cursor:pointer; box-shadow:var(--shadow-orange); transition:background .2s var(--ease);}
.chat-send:hover{background:var(--orange-600);}

/* ===== MODAL DE CAPTURA (portão de lead) ===== */
.capture{position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:18px;}
.capture.is-open{display:flex;}
.capture__backdrop{position:absolute; inset:0; background:rgba(10,14,40,.62); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);}
.capture__card{position:relative; z-index:1; width:100%; max-width:440px; background:#fff; border-radius:var(--r-xl); box-shadow:var(--shadow-lg); overflow:hidden; animation:fadeUp .28s var(--ease) both;}
.capture__head{display:flex; align-items:center; gap:11px; padding:16px 18px; border-bottom:1px solid var(--gray-100);}
.capture__sub{font-size:12px; color:var(--gray-500); margin-top:2px;}
.capture__x{position:absolute; top:10px; right:14px; background:none; border:0; font-size:26px; line-height:1; color:var(--gray-400); cursor:pointer;}
.capture__body{padding:18px; display:flex; flex-direction:column; gap:12px;}
.capture__row{display:flex; gap:8px;}
.capture__row input{flex:1; min-width:0; padding:13px 14px; border:1px solid var(--gray-200); border-radius:var(--r-md); font-family:inherit; font-size:15px; color:var(--navy);}
.capture__row input:focus{outline:0; border-color:var(--orange); box-shadow:0 0 0 3px rgba(238,117,9,.15);}
.capture__row .btn-primary{margin-top:0; width:auto; flex:none; padding:13px 18px;}
.capture__ok{text-align:center; padding:8px 4px;}
.capture__ok h3{margin:0 0 6px; color:var(--navy);}
.capture__ok p{color:var(--gray-500); margin:0 0 14px; font-size:14px;}
.capture__ok .btn-outline{display:inline-flex;}

/* ===== ANUNCIAR (proprietários) ===== */
.anunciar{background:#fff; border:1px solid var(--gray-100); border-radius:var(--r-xl); box-shadow:var(--shadow-md); padding:clamp(22px,4vw,40px); display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(20px,4vw,46px); align-items:center;}
.anunciar__copy h2{font-size:clamp(22px,3.4vw,32px); font-weight:700; letter-spacing:-.02em; line-height:1.1; margin:10px 0 0;}
.anunciar__copy p{color:var(--gray-500); margin:12px 0 0; line-height:1.55;}
.anunciar__form{display:flex; flex-direction:column; gap:12px;}
.anunciar__row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.anunciar__form input, .anunciar__form select, .anunciar__form textarea{width:100%; padding:13px 14px; border:1px solid var(--gray-200); border-radius:var(--r-md); font-family:inherit; font-size:15px; color:var(--navy); background:#fff; appearance:none; -webkit-appearance:none;}
.anunciar__form textarea{resize:vertical; min-height:48px;}
.anunciar__form input:focus, .anunciar__form select:focus, .anunciar__form textarea:focus{outline:0; border-color:var(--orange); box-shadow:0 0 0 3px rgba(238,117,9,.15);}
.anunciar__form .btn-primary{margin-top:4px;}
.anunciar__note{margin:0; font-size:12.5px; color:var(--gray-400); text-align:center;}
.anunciar__ok{text-align:center; padding:10px;}
.anunciar__ok .lead-success__check{margin:0 auto 10px;}
.anunciar__ok h3{margin:0 0 6px;}
.anunciar__ok p{color:var(--gray-500); margin:0;}
@media(max-width:760px){.anunciar{grid-template-columns:1fr; gap:20px;} .anunciar__row{grid-template-columns:1fr;}}

/* ---------- SECTION HEADER ---------- */
.section{padding-top:clamp(40px,6vw,72px); padding-bottom:clamp(40px,6vw,72px);}
.sec-head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:28px;}
.marker-eyebrow{display:flex; align-items:center; gap:10px; margin-bottom:8px;}
.marker-line{width:28px; height:2px; background:var(--orange); display:block;}
.eyebrow{font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--orange);}
.sec-head h2{font-size:clamp(24px,4vw,34px); font-weight:700; letter-spacing:-.01em; margin:0;}
.sec-count{font-size:14px; color:var(--gray-500);}

/* ---------- RESULTS GRID ---------- */
.grid-cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:22px;}
.listing-card{background:#fff; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); transition:box-shadow .22s var(--ease), transform .22s var(--ease);}
.listing-card.is-hidden{display:none;}
.listing-card:hover{box-shadow:var(--shadow-md); transform:translateY(-3px);}
.listing-card:hover .listing-card__photo img{transform:scale(1.04);}
.listing-card__photo{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--navy);}
.listing-card__photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s var(--ease);}
.listing-card__badge{position:absolute; top:12px; left:12px; color:#fff; padding:5px 11px; border-radius:var(--r-pill); font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;}
.badge--orange{background:var(--orange);} .badge--navy{background:var(--navy);}
.listing-card__body{padding:16px 18px 18px;}
.listing-card__hood{font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--orange);}
.listing-card__title{font-size:17px; font-weight:600; letter-spacing:-.01em; line-height:1.28; margin:5px 0 0;}
.listing-card__attrs{display:flex; gap:14px; margin-top:11px; color:var(--gray-500); font-size:13px; flex-wrap:wrap;}
.attr{display:inline-flex; align-items:center; gap:5px;}
.listing-card__foot{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid var(--gray-100);}
.price{font-weight:700; font-size:20px; letter-spacing:-.01em;}
.price small{font-size:11px; color:var(--gray-500); font-weight:500; margin-right:2px;}
.price span{font-size:12px; color:var(--gray-500); font-weight:500;}
.btn-outline{display:inline-flex; align-items:center; gap:5px; background:transparent; color:var(--navy); border:1.5px solid var(--navy); text-decoration:none; font-size:13px; font-weight:600; padding:8px 14px; border-radius:10px; transition:background .22s var(--ease), color .22s var(--ease); cursor:pointer;}
.btn-outline:hover{background:var(--navy); color:#fff;}
.no-results{text-align:center; padding:32px 20px; color:var(--gray-500);}
.no-results a{color:var(--orange); font-weight:600; text-decoration:none;}
.is-hidden{display:none;}

/* ---------- LEAD CAPTURE ---------- */
.lead{background:linear-gradient(160deg,#1A1A4E 0%,#0A263A 100%); color:#fff;}
.lead__inner{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:clamp(28px,5vw,56px); align-items:center; padding-top:clamp(40px,6vw,80px); padding-bottom:clamp(40px,6vw,80px);}
.lead h2{font-size:clamp(24px,4vw,36px); font-weight:700; letter-spacing:-.01em; line-height:1.12; margin:0; color:#fff;}
.lead__sub{font-size:clamp(15px,2.2vw,18px); line-height:1.55; color:#C9CCE3; margin:16px 0 0; max-width:480px;}
.lead__eyebrow{color:var(--orange-soft);}
.lead-form{background:#fff; border-radius:var(--r-xl); padding:clamp(20px,3vw,32px); box-shadow:var(--shadow-lg); color:var(--navy);}
.lead-form label{display:block; font-size:11px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--gray-500); margin-bottom:7px;}
.lead-form input{width:100%; padding:14px 16px; font-family:inherit; font-size:15px; border:1px solid var(--gray-200); border-radius:var(--r-md); background:#fff; color:var(--navy); margin-bottom:14px; transition:border-color .2s var(--ease), box-shadow .2s var(--ease);}
.lead-form input:focus{outline:0; border-color:var(--orange); box-shadow:0 0 0 3px rgba(238,117,9,.15);}
.lead-form__trust{display:flex; align-items:center; justify-content:center; gap:7px; margin-top:14px; color:var(--gray-400); font-size:12.5px; text-align:center;}
.lead-success{text-align:center; padding:18px 8px;}
.lead-success__check{width:60px; height:60px; border-radius:var(--r-pill); background:var(--green); display:flex; align-items:center; justify-content:center; margin:0 auto 16px;}
.lead-success h3{font-size:22px; font-weight:700; margin:0;}
.lead-success p{font-size:15px; color:var(--gray-500); margin:10px 0 0;}

/* ---------- TRUST BLOCK ---------- */
.trust-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:20px;}
.trust-card{background:#fff; border-radius:var(--r-lg); padding:28px 24px; box-shadow:var(--shadow-sm);}
.trust-card__icon{width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.icon-orange{background:var(--orange-100);} .icon-blue{background:var(--blue-100);}
.trust-card h3{font-size:19px; font-weight:700; letter-spacing:-.01em; margin:0;}
.trust-card p{font-size:14.5px; color:var(--gray-500); line-height:1.55; margin:8px 0 0;}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--navy-800); color:#fff;}
.site-footer__inner{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:32px; padding-top:clamp(36px,5vw,56px); padding-bottom:clamp(36px,5vw,56px);}
.site-footer__logo{height:38px; width:auto; display:block; margin-bottom:16px;}
.site-footer p{font-size:14px; color:#B7BBD2; line-height:1.6; margin:0; max-width:280px;}
.footer-col h4{font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--orange-soft); margin:0 0 14px;}
.footer-col address{font-style:normal; font-size:14px; color:#C9CCE3; line-height:1.6;}
.footer-col p.footer-hours{font-size:14px; color:#C9CCE3; line-height:1.6; max-width:none;}
.footer-contacts{display:flex; flex-direction:column; gap:10px;}
.footer-contacts a{display:inline-flex; align-items:center; gap:8px; color:#C9CCE3; text-decoration:none; font-size:14px;}
.footer-contacts a:hover{color:#fff;}
.site-footer__bottom{border-top:1px solid rgba(255,255,255,.12);}
.site-footer__bottom div{padding-top:18px; padding-bottom:18px; font-size:12.5px; color:var(--gray-400);}

/* ---------- FLOATING WHATSAPP ---------- */
.wa-float{
  position:fixed; right:20px; bottom:20px; z-index:60;
  display:inline-flex; align-items:center; justify-content:center;
  width:60px; height:60px; border-radius:50%;
  background:var(--whatsapp); color:#fff; text-decoration:none;
  box-shadow:0 10px 24px rgba(37,211,102,.42),0 4px 10px rgba(15,18,50,.22);
  transition:transform .22s var(--ease), box-shadow .22s var(--ease);
}
.wa-float svg, .wa-float img{width:32px; height:32px; position:relative; z-index:1;}
.wa-ico{display:block; flex:none;}
.wa-float:hover{transform:translateY(-2px) scale(1.05); box-shadow:0 14px 30px rgba(37,211,102,.5);}
/* anel de pulso sutil para chamar atenção (desativado em prefers-reduced-motion) */
.wa-float::before{
  content:""; position:absolute; inset:0; border-radius:50%;
  box-shadow:0 0 0 0 rgba(37,211,102,.45); animation:waPulse 2.4s var(--ease) infinite;
}
@keyframes waPulse{to{box-shadow:0 0 0 16px rgba(37,211,102,0);}}

/* ---------- Acessibilidade / movimento ---------- */
@media (prefers-reduced-motion: reduce){
  /* O JS não dá play no vídeo neste modo, então o <video> exibe só o poster estático (sem movimento). */
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important;}
}

/* ---------- Mobile ---------- */
@media (max-width:560px){
  .header-phone{display:none;}      /* no celular o WhatsApp já cobre o contato */
}
