/* Poppins hospedada no próprio domínio (melhoria UX 9) */
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/poppins-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/poppins-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/poppins-latin-600-normal.woff2') format('woff2');}

/* ============================================================
   Soul Rio Barão de Mesquita — landing page "Em breve" (template Apetopia, layout Gaea)
   Paleta: o degradê do banner — verde da Floresta da Tijuca ao
   coral e âmbar do pôr do sol atrás do Maciço (aceno ao salão
   Degradée, que funcionou no nº 320). Motivo: as curvas
   arredondadas das letras da marca Soul Rio.
   ============================================================ */

:root{
  /* ---------- PALETA DE CORES ---------- */
  --charcoal: #1D4B3E;        /* verde-floresta da Tijuca */
  --charcoal-dark: #12302A;   /* verde profundo — ficha e rodapé */
  --cream: #FBF6F0;           /* areia clara */
  --cream-2: #F5E6DD;         /* coral bem claro — seções .alt */
  --white: #ffffff;
  --terracotta: #C2462B;      /* coral do pôr do sol — botões */
  --terracotta-dark: #9C3620;
  --gold: #EFA43E;            /* âmbar do degradê */
  --gold-dark: #7E5210;       /* âmbar escuro para texto sobre claro */
  --leaf: #2E6A57;            /* verde-mata médio */
  --stone: #7A4B6B;           /* ameixa do entardecer */
  --text-main: #1E2A26;
  --text-muted: #55605A;
  --border: #EAD8CC;
  --overlay-rgb: 12,36,30;
  /* motivo: curvas arredondadas da marca */
  --motivo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%23C2462B' stroke-opacity='.045' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M20 24 v40 a14 14 0 0 0 28 0 v-40'/%3E%3Cpath d='M80 20 v52'/%3E%3Cpath d='M96 20 v36 a10 10 0 0 0 20 0'/%3E%3Ccircle cx='120' cy='120' r='16'/%3E%3Cpath d='M24 136 c10 -22 34 -22 44 0'/%3E%3C/g%3E%3C/svg%3E");

  /* ---------- ESTRUTURA ---------- */
  --radius: 16px;
  --shadow: 0 20px 50px -20px rgba(12,36,30,.38);
  --serif: 'Poppins', 'Helvetica Neue', Arial, sans-serif;
  --sans: 'Poppins', 'Helvetica Neue', Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--sans);color:var(--text-main);background:var(--cream);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
p a{color:var(--terracotta-dark);text-decoration:underline;text-underline-offset:2px;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;line-height:1.15;margin:0 0 .5em;color:var(--charcoal-dark);}
h2{position:relative;font-size:clamp(1.65rem,2.7vw,2.15rem);line-height:1.18;}
h3{font-size:1.45rem;}
h4{font-size:1.08rem;}
p{margin:0 0 1em;}
ul{margin:0;padding:0;list-style:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.skip-link{position:absolute;left:-999px;top:0;background:var(--charcoal);color:#fff;padding:10px 16px;z-index:999;}
.skip-link:focus{left:10px;top:10px;}

.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.15em;font-size:.86rem;color:var(--gold-dark);font-weight:600;margin:0 0 .8em;}
.eyebrow.center,.center{text-align:center;}
.section-lead{max-width:740px;margin:0 auto 2.6em;color:var(--text-muted);font-size:1.12rem;}

/* ---------- botões (tamanho do "Falar com especialista") ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:11px 24px;border-radius:999px;font-family:var(--sans);font-weight:500;font-size:.98rem;letter-spacing:.02em;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.btn-primary{background:var(--terracotta);color:#fff;}
@media(hover:hover){.btn-primary:hover{background:var(--terracotta-dark);transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(156,54,32,.45);}}
.btn-block{width:100%;}
.btn-whatsapp{background:#25D366;color:#fff;}
@media(hover:hover){.btn-whatsapp:hover{background:#1ebd59;}}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.6em;}
.cta-row.center{justify-content:center;}

/* ---------- cabeçalho (HD2-1: claro e fixo) ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(251,246,240,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:78px;}
.logo{display:flex;align-items:center;}
.logo img{height:52px;width:auto;}
.main-nav{display:flex;align-items:center;gap:28px;font-size:.98rem;}
.main-nav a{color:var(--text-main);transition:color .15s;position:relative;padding:4px 0;}
@media(hover:hover){.main-nav a:hover{color:var(--terracotta-dark);}}
.main-nav a.nav-cta{background:var(--charcoal);color:#fff !important;padding:11px 24px;border-radius:999px;}
@media(hover:hover){.main-nav a.nav-cta:hover{background:var(--charcoal-dark);}}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.nav-toggle span{width:24px;height:2px;background:var(--charcoal);display:block;}

/* ---------- hero (base) ---------- */
.hero{position:relative;background-size:cover;background-position:center 40%;padding:150px 0 120px;min-height:600px;display:flex;align-items:center;color:#fff;text-align:left;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg, rgba(var(--overlay-rgb),.5) 0%, rgba(var(--overlay-rgb),.2) 50%, rgba(var(--overlay-rgb),.1) 100%);}
.hero-inner{position:relative;width:100%;}
.hero-text{max-width:560px;}
.hero h1{font-size:clamp(2.2rem,4vw,3.1rem);line-height:1.12;color:#fff;letter-spacing:-.02em;}
.hero-tagline{font-size:1.3rem;max-width:600px;color:#fbf3ea;margin:0;}
.hero .eyebrow{color:var(--gold);}
.hero .cta-row{justify-content:flex-start;}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px;fill:var(--cream);}

/* ---------- formulário ---------- */
.lead-form{position:relative;background:#fff;color:var(--text-main);border-radius:var(--radius);padding:30px 28px;box-shadow:var(--shadow);}
.lead-form h3{font-size:1.4rem;text-align:center;margin-bottom:.6em;}
.field{display:block;margin-bottom:14px;font-size:.95rem;}
.field span{display:block;margin-bottom:5px;font-weight:500;color:var(--charcoal-dark);}
.field input,.field select,.field textarea{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:9px;font-family:var(--sans);font-size:1.02rem;background:#fff;color:var(--text-main);}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--terracotta);outline-offset:1px;}
.field-row{display:flex;gap:10px;}
.field-ddi{width:110px;flex-shrink:0;}
.field-phone{flex:1;}
.lead-form-privacy{font-size:.75rem;color:var(--text-muted);margin-top:10px;margin-bottom:0;}
.lead-form-privacy a{color:inherit;}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-status{margin:12px 0 0;padding:12px 14px;border-radius:9px;font-size:.88rem;}
.form-status.ok{background:#e7f6ec;border:1px solid #bfe6cc;color:#1f6b3a;}
.form-status.erro{background:#fbeaea;border:1px solid #efc4c4;color:#8a2222;}
.form-status a{text-decoration:underline;font-weight:600;}

/* ---------- seções ---------- */
.section{padding:96px 0;}
.section.alt{background-color:var(--cream-2);background-image:var(--motivo);background-size:160px 160px;}
.checklist li{position:relative;padding-left:26px;margin-bottom:.6em;color:var(--text-main);text-align:left;font-size:1.02rem;}
.checklist li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--terracotta);}

/* dois lados */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split.top{align-items:start;}
.split.reverse .split-media{order:-1;}
.split-text{text-align:left;}
.split-text .cta-row{justify-content:flex-start;}
.split-media img{width:100%;height:400px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow);}

/* FAQ */
.accordion{margin:1.6em 0 0;}
.accordion-item{border-bottom:1px solid var(--border);}
.accordion-trigger{width:100%;text-align:left;background:none;border:0;padding:20px 4px;gap:16px;font-family:var(--serif);font-size:1.05rem;font-weight:500;color:var(--charcoal-dark);display:flex;justify-content:space-between;align-items:center;cursor:pointer;}
.accordion-trigger span{font-family:var(--sans);font-size:1.4rem;color:var(--terracotta);transition:transform .2s;}
.accordion-item.open .accordion-trigger span{transform:rotate(45deg);}
.accordion-panel{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.accordion-panel p{padding:0 4px 18px;color:var(--text-muted);margin:0;font-size:1.04rem;}

.contact-section{background:var(--cream);}
.contact-section .lead-form{position:sticky;top:100px;margin:0;}

/* rodapé compacto */
.site-footer{background:var(--charcoal-dark);color:#E9E2CF;padding:56px 0 0;}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;padding-bottom:40px;}
.footer-logo{height:64px;width:auto;}
.footer-address{color:#C9C2AC;font-size:.9rem;margin:.9em 0 0;}
.footer-responsavel{color:#E9E2CF;font-weight:500;margin:.5em 0 0;font-size:.85rem;}
.footer-nav{display:flex;gap:22px;flex-wrap:wrap;font-size:.9rem;}
@media(hover:hover){.footer-nav a:hover{color:#fff;}}

.whatsapp-float{position:fixed;bottom:22px;right:22px;background:#25D366;color:#fff;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px -8px rgba(0,0,0,.45);z-index:70;}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
button{font-family:inherit;}


/* ===================================================================
   VARIAÇÕES — Soul Rio Barão de Mesquita (Etapa A, "Em breve")
   Hero: arte em degradê, texto solto à esquerda, ponto pulsante no
   eyebrow, sem onda (a serra da arte encosta nos cartões de números) ·
   Números: cartões flutuando sobre a borda da hero · Sobre: texto |
   painel da marca com o "320" · Tipologias: 2 cartões grandes com
   ícone de planta · Ficha: faixa escura com rótulos âmbar em fluxo
   livre · Linha: 3 cartões dos irmãos com filete degradê · Localização:
   mapa sob clique à esquerda, fixo na rolagem · Chamada final em faixa
   degradê · Formulário com filete degradê no topo · Títulos com
   traço em degradê
   =================================================================== */

/* títulos: traço curto em degradê (verde → coral → âmbar) */
h2::after{content:"";display:block;width:64px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--leaf),var(--terracotta),var(--gold));margin-top:16px;}
.center h2::after,h2.center::after{margin-left:auto;margin-right:auto;}
.cta-band h2::after{background:#fff;opacity:.85;}

.main-nav a.nav-cta{background:var(--terracotta);}
@media(hover:hover){.main-nav a.nav-cta:hover{background:var(--terracotta-dark);}}

/* ---------- HERO ---------- */
.hero{min-height:640px;padding:110px 0 170px;background-position:center 55%;background-color:var(--charcoal-dark);}
.hero-overlay{background:linear-gradient(90deg,rgba(var(--overlay-rgb),.62) 0%,rgba(var(--overlay-rgb),.28) 42%,rgba(var(--overlay-rgb),0) 70%);}
.hero-text{max-width:560px;}
.hero .eyebrow{display:flex;align-items:center;gap:12px;color:#F6C27A;margin-bottom:1.2em;}
.pulse{position:relative;width:10px;height:10px;border-radius:50%;background:var(--gold);flex-shrink:0;}
.pulse::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--gold);opacity:0;animation:pulso 2.2s ease-out infinite;}
@keyframes pulso{0%{transform:scale(.5);opacity:.9;}100%{transform:scale(1.6);opacity:0;}}
@media(prefers-reduced-motion:reduce){.pulse::after{animation:none;}}
.h1-logo{margin:0 0 .55em;line-height:0;}
.h1-logo img{width:clamp(250px,26vw,340px);height:auto;filter:drop-shadow(0 4px 18px rgba(0,0,0,.28));}
.hero-tagline{max-width:520px;margin-bottom:1.2em;text-shadow:0 2px 14px rgba(0,0,0,.3);}
.hero .cta-row{margin-top:0;}

/* ---------- NÚMEROS sobre a borda da hero ---------- */
.float-stats{position:relative;z-index:5;margin:-92px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.float-stats div{background:#fff;border-radius:var(--radius);padding:22px 20px 20px;box-shadow:var(--shadow);display:flex;flex-direction:column;position:relative;overflow:hidden;}
.float-stats div::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--leaf),var(--terracotta),var(--gold));}
.float-stats span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark);font-weight:600;}
.float-stats strong{font-size:1.85rem;line-height:1.15;color:var(--charcoal);font-weight:600;margin:6px 0 2px;}
.float-stats em{font-style:normal;font-size:.92rem;color:var(--text-muted);}

/* ---------- SOBRE: texto | painel da marca ---------- */
#sobre{padding-top:88px;}
.sobre-split{align-items:center;}
.brand-panel{position:relative;border-radius:22px;overflow:hidden;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:40px 24px;
  background:url('/images/hero-800.webp') center 70%/cover,var(--charcoal);box-shadow:var(--shadow);}
.brand-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--overlay-rgb),.35),rgba(var(--overlay-rgb),.1) 60%,rgba(var(--overlay-rgb),.45));}
.brand-panel > *{position:relative;z-index:1;}
.split .split-media.brand-panel img.bp-logo{width:130px;height:auto;border-radius:0;box-shadow:none;object-fit:contain;}
.bp-num{font-size:5.4rem;font-weight:600;line-height:1;color:#fff;margin:18px 0 0;letter-spacing:-.03em;text-shadow:0 6px 30px rgba(0,0,0,.25);}
.bp-rua{color:#F6E2C8;font-size:.95rem;margin:0;letter-spacing:.04em;}
.brand-panel.small{min-height:440px;}

/* ---------- TIPOLOGIAS ---------- */
.tipo-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:980px;margin:0 auto;}
.tipo-card{background:#fff;border-radius:22px;padding:34px 36px 28px;box-shadow:var(--shadow);text-align:left;position:relative;}
.tipo-ico{width:58px;height:58px;fill:none;stroke:var(--terracotta);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px;}
.tipo-card h3{font-size:1.45rem;margin-bottom:.2em;}
.tipo-area{font-size:1.6rem;font-weight:600;color:var(--leaf);margin:0 0 .7em;line-height:1.2;}
.tipo-card p:last-child{color:var(--text-muted);margin:0;}

/* ---------- FICHA TÉCNICA escura ---------- */
.section.ficha-dark{background:linear-gradient(160deg,var(--charcoal-dark) 0%,#173E33 60%,#24503F 100%);color:#EEF2EE;}
.ficha-dark h2{color:#fff;margin-bottom:1.4em;}
.ficha-flow{display:flex;flex-wrap:wrap;justify-content:center;gap:30px 56px;max-width:1040px;margin:0 auto;}
.ficha-flow div{flex:0 1 auto;max-width:300px;text-align:left;}
.ficha-flow dt{font-weight:600;color:var(--gold);font-size:.86rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;}
.ficha-flow dd{margin:0;font-size:1.08rem;line-height:1.5;color:#fff;}

/* ---------- LINHA SOUL RIO ---------- */
.irmaos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1080px;margin:0 auto;}
.irmaos div{background:var(--cream-2);border-radius:var(--radius);padding:26px 24px 22px;text-align:left;position:relative;overflow:hidden;}
.irmaos div::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--leaf),var(--terracotta),var(--gold));}
.irmaos span{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark);font-weight:600;margin-bottom:4px;}
.irmaos strong{display:block;font-size:1.12rem;color:var(--charcoal-dark);font-weight:600;margin-bottom:8px;}
.irmaos p{margin:0;color:var(--text-muted);font-size:.97rem;}
.linha-nota{max-width:760px;margin:36px auto 0;text-align:center;color:var(--text-muted);}

/* ---------- LOCALIZAÇÃO: mapa sob clique ---------- */
.loc-split{align-items:start;}
.loc-split .split-media{position:sticky;top:110px;}
.map-click{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);height:440px;position:relative;
  background:url('/images/hero-800.webp') center 72%/cover,var(--charcoal);}
.map-click iframe{width:100%;height:100%;border:0;display:block;}
.map-btn{position:absolute;inset:0;width:100%;border:0;cursor:pointer;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  background:linear-gradient(180deg,rgba(var(--overlay-rgb),.25),rgba(var(--overlay-rgb),.6));font-family:var(--sans);}
.map-btn strong{font-size:1.25rem;font-weight:600;}
.map-btn em{font-style:normal;font-size:.95rem;color:#F6E2C8;}
.map-pin{width:46px;height:46px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--terracotta);box-shadow:0 10px 24px -6px rgba(0,0,0,.5);margin-bottom:10px;position:relative;}
.map-pin::after{content:"";position:absolute;inset:14px;border-radius:50%;background:#fff;}
.map-btn:focus-visible{outline:3px solid var(--gold);outline-offset:-6px;}
.loc-links{margin-top:1.4em;display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;}
.map-link,.link-more{font-weight:600;color:var(--terracotta-dark);text-decoration:underline;text-underline-offset:4px;}

/* ---------- CHAMADA FINAL em degradê ---------- */
.cta-band{background:linear-gradient(115deg,var(--charcoal-dark) 0%,var(--charcoal) 38%,#8F4A34 78%,#C9702E 100%);color:#fff;padding:88px 0;position:relative;overflow:hidden;}
.cta-band::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;border:3px solid rgba(255,255,255,.12);box-shadow:0 0 0 60px rgba(255,255,255,.04);}
.cta-band-inner{max-width:820px;position:relative;}
.cta-band h2{color:#fff;}
.cta-band p{font-size:1.1rem;color:#F7EDE4;}
.btn-light{background:#fff;color:var(--terracotta-dark);font-weight:600;}
@media(hover:hover){.btn-light:hover{background:#FFF1E4;transform:translateY(-1px);}}

/* ---------- FORMULÁRIO: filete degradê no topo ---------- */
.lead-form{border-top:0;padding-top:34px;}
.lead-form::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--leaf),var(--terracotta),var(--gold));border-radius:var(--radius) var(--radius) 0 0;}
.lead-form h3{color:var(--charcoal-dark);}

/* rodapé */
.footer-logo{height:64px;width:auto;}

/* ================= responsivo ================= */
@media(max-width:980px){
  .main-nav{gap:18px;}
  .split{grid-template-columns:1fr;gap:32px;}
  .split.reverse .split-media{order:0;}
  .float-stats{grid-template-columns:1fr 1fr;}
  .brand-panel{min-height:380px;}
  .loc-split .split-media{position:relative;top:auto;}
  .loc-split .split-media{order:1;}
  .map-click{height:340px;}
  .irmaos{grid-template-columns:1fr;max-width:620px;}
  .contact-section .lead-form{position:relative;top:auto;}
}
@media(max-width:760px){
  body{font-size:16px;}
  .main-nav{position:fixed;top:78px;left:0;right:0;background:var(--cream);flex-direction:column;align-items:stretch;padding:18px 24px;gap:4px;border-bottom:1px solid var(--border);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;}
  .main-nav.open{opacity:1;transform:translateY(0);pointer-events:auto;}
  .main-nav a{padding:12px 0;border-bottom:1px solid var(--border);}
  .main-nav a:last-child{border-bottom:none;}
  .main-nav a.nav-cta{text-align:center;margin-top:8px;}
  .nav-toggle{display:flex;}
  .logo img{height:46px;}
  .wrap{padding:0 16px;}
  .hero{min-height:0;padding:64px 0 210px;align-items:flex-start;background-position:center bottom;}
  .hero-overlay{background:linear-gradient(180deg,rgba(var(--overlay-rgb),.5) 0%,rgba(var(--overlay-rgb),.15) 60%,rgba(var(--overlay-rgb),0) 100%);}
  .h1-logo img{width:230px;}
  .hero h1{font-size:2rem;}
  .hero-tagline{font-size:1.15rem;}
  .hero .eyebrow{font-size:.76rem;letter-spacing:.12em;}
  .float-stats{margin-top:-70px;gap:10px;}
  .float-stats div{padding:16px 14px 14px 18px;}
  .float-stats strong{font-size:1.4rem;}
  .float-stats em{font-size:.84rem;}
  #sobre{padding-top:56px;}
  .section{padding:64px 0;}
  h2{font-size:1.5rem;}
  .bp-num{font-size:4.2rem;}
  .brand-panel,.brand-panel.small{min-height:320px;}
  .tipo-grid{grid-template-columns:1fr;gap:18px;}
  .tipo-card{padding:26px 22px 22px;}
  .ficha-flow{flex-direction:column;gap:20px;align-items:stretch;}
  .ficha-flow div{max-width:none;}
  .map-click{height:300px;}
  .cta-band{padding:64px 0;}
  .cta-band p{font-size:1.02rem;}
  .field-row{flex-direction:column;gap:0;}
  .field-ddi{width:100%;}
  .lead-form{padding:30px 18px 24px;}
  .site-footer{padding:40px 0 0;}
  .footer-inner{padding-bottom:22px;}
}

/* utilidades */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ===== SUBPÁGINA /localizacao/ (nov/2026) ===== */
.hero.hero-sub{min-height:460px;padding:96px 0 110px;}
.hero-sub h1{font-size:clamp(2.2rem,4vw,3.1rem);line-height:1.12;}
.breadcrumb{font-size:.92rem;color:var(--text-muted);padding-top:26px;}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;}
.breadcrumb li+li::before{content:"›";margin-right:6px;color:var(--gold-dark);}
.breadcrumb a{color:var(--terracotta-dark);text-decoration:underline;text-underline-offset:3px;}
.sub-intro{padding-top:56px;}
.map-embed{position:relative;}
.map-embed iframe{display:block;width:100%;height:440px;border:0;border-radius:22px;box-shadow:var(--shadow);position:relative;z-index:1;}
.map-embed::before{content:"";position:absolute;inset:18px -18px -18px 18px;border-radius:22px;background:linear-gradient(135deg,var(--leaf),var(--terracotta),var(--gold));opacity:.75;z-index:0;}
.near-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:2.4em;}
.near-item{background:#fff;border-radius:var(--radius);padding:24px 24px 18px;box-shadow:0 14px 34px -18px rgba(12,36,30,.35);border-left:4px solid var(--gold);text-align:left;}
.near-item:nth-child(3n+2){border-left-color:var(--terracotta);}
.near-item:nth-child(3n){border-left-color:var(--leaf);}
.near-item h3{font-size:1.12rem;margin-bottom:.35em;}
.near-item p{font-size:.96rem;color:var(--text-muted);margin:0;}
.wrap.narrow{max-width:820px;}
.wrap.narrow > p{font-size:1.06rem;}
.hero-crop{min-height:520px;border-radius:22px;box-shadow:var(--shadow);background:url('/images/hero-800.webp') center bottom/cover,var(--charcoal);}
#dia-a-dia .split{align-items:stretch;}
@media(max-width:980px){.hero-crop{min-height:300px;}}
@media(max-width:760px){
  .hero.hero-sub{min-height:0;padding:70px 0 80px;}
  .hero-sub h1{font-size:2rem;}
  .sub-intro{padding-top:40px;}
  .map-embed iframe{height:300px;}
  .map-embed::before{inset:10px -10px -10px 10px;}
  .near-grid{grid-template-columns:1fr;gap:14px;}
  .hero-crop{display:none;}
}


/* ============================================================
   PACOTE DE MELHORIAS UX — Apetopia (nov/2026)
   Barra fixa no celular, menu compacto, formulário, plantas em abas,
   chips de localização, linha do tempo, microanimações, contraste e toque.
   Usa só as variáveis da paleta (:root) — vale para qualquer página.
   ============================================================ */
/* ============================================================
   MELHORIA UX 1 — barra de ação fixa no celular (nov/2026)
   Aparece depois da hero e some quando o formulário ou o rodapé
   entram na tela. No celular substitui o botão redondo do WhatsApp.
   ============================================================ */
.action-bar{display:none;}
@media(max-width:760px){
  .action-bar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:75;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    background:rgba(251,246,238,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border-top:1px solid var(--border);box-shadow:0 -10px 30px -18px rgba(var(--overlay-rgb),.45);
    transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.8,.2,1);}
  .action-bar.show{transform:translateY(0);}
  .action-bar .btn{flex:1 1 0;min-height:48px;padding:12px 10px;font-size:.92rem;white-space:nowrap;}
  .action-bar .btn svg{width:19px;height:19px;flex:none;}
  body.has-action-bar .whatsapp-float{display:none;}
}
@media(prefers-reduced-motion:reduce){.action-bar{transition:none;}}

/* ============================================================
   MELHORIA UX 2 — cabeçalho que encolhe e marca a seção atual
   ============================================================ */
.site-header{transition:box-shadow .3s ease,background .3s ease;}
.site-header.ux-header .header-inner{height:var(--header-h);transition:height .3s ease;}
.site-header .logo-text,.site-header .logo img{transition:transform .3s ease;transform-origin:left center;}
.site-header.ux-header.compact{--header-h:var(--header-h-compact);box-shadow:0 8px 28px -18px rgba(var(--overlay-rgb),.55);}
.site-header.compact .logo-text,.site-header.compact .logo img{transform:scale(.88);}
.main-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:var(--terracotta);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.main-nav a.ativo:not(.nav-cta){color:var(--terracotta-dark);}
.main-nav a.ativo:not(.nav-cta)::after{transform:scaleX(1);}@media(hover:hover){.main-nav a:not(.nav-cta):hover::after{transform:scaleX(1);}}
@media(max-width:760px){
  .site-header.ux-header .main-nav{top:var(--header-h);}
  .main-nav a:not(.nav-cta)::after{display:none;}
  .main-nav a.ativo:not(.nav-cta){padding-left:12px;box-shadow:inset 3px 0 0 var(--terracotta);}
}
html{scroll-padding-top:70px;}
@media(prefers-reduced-motion:reduce){.site-header,.site-header .header-inner,.site-header .logo-text,.main-nav a::after{transition:none;}}

/* ============================================================
   MELHORIA UX 3 — formulário: validação em linha e tela de sucesso
   ============================================================ */
.field input,.field select,.field textarea{transition:border-color .2s ease,box-shadow .2s ease;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 3px color-mix(in srgb,var(--terracotta) 16%,transparent);}
.field{position:relative;}
.field.invalido input{border-color:#C0392B;background:#FFF8F7;box-shadow:none;}
.field.invalido input:focus{box-shadow:0 0 0 3px rgba(192,57,43,.14);}
.field.valido input{border-color:var(--leaf);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F9E5F' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:38px;}
.field-erro{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.82rem;font-weight:500;color:#B03A2E;animation:erroEntra .25s ease;}
.field-erro::before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#C0392B;color:#fff;font-size:.7rem;font-weight:700;flex:none;}
@keyframes erroEntra{from{opacity:0;transform:translateY(-3px);}to{opacity:1;transform:none;}}
.lead-form.enviado > :not(.form-sucesso){display:none;}
.form-sucesso{text-align:center;padding:18px 6px 6px;outline:none;animation:sucessoEntra .5s cubic-bezier(.2,.8,.2,1);}
.form-sucesso h3{font-size:1.45rem;margin:.2em 0 .45em;color:var(--charcoal-dark);}
.form-sucesso p{color:var(--text-muted);max-width:34ch;margin:0 auto 1.5em;}
.sucesso-icone{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:var(--leaf);color:#fff;box-shadow:0 0 0 9px rgba(47,158,95,.14);margin-bottom:10px;}
.sucesso-icone svg{width:32px;height:32px;stroke-dasharray:30;stroke-dashoffset:30;animation:tracoCheck .55s .25s ease forwards;}
@keyframes sucessoEntra{from{opacity:0;transform:scale(.96);}to{opacity:1;transform:none;}}
@keyframes tracoCheck{to{stroke-dashoffset:0;}}
@media(prefers-reduced-motion:reduce){.field-erro,.form-sucesso,.sucesso-icone svg{animation:none;stroke-dashoffset:0;}}

/* ============================================================
   MELHORIA UX 5 — plantas em abas por tipologia, com zoom
   (o JS transforma .plans-grid em abas; sem JS, os cards continuam)
   ============================================================ */
.plans-abas{margin-top:2.4em;}
.abas-lista{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 auto 26px;padding:6px;max-width:max-content;border-radius:999px;background:#fff;border:1px solid var(--border);box-shadow:0 10px 30px -22px rgba(var(--overlay-rgb),.5);}
.aba{appearance:none;border:0;cursor:pointer;font-family:var(--sans);font-size:.92rem;font-weight:500;padding:11px 20px;border-radius:999px;background:transparent;color:var(--text-muted);display:inline-flex;flex-direction:column;align-items:center;line-height:1.2;min-height:44px;transition:background .25s ease,color .25s ease;}
.aba small{font-size:.74rem;font-weight:500;opacity:.8;margin-top:2px;letter-spacing:.02em;}
@media(hover:hover){.aba:hover{color:var(--charcoal-dark);background:var(--cream-2);}}
.aba[aria-selected="true"]{background:var(--charcoal);color:#fff;}
.section.deep .abas-lista{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);box-shadow:none;}
.section.deep .aba{color:rgba(255,255,255,.8);}
@media(hover:hover){.section.deep .aba:hover{color:#fff;background:rgba(255,255,255,.08);}}
.section.deep .aba[aria-selected="true"]{background:var(--gold);color:var(--charcoal-dark);}
.aba:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.plans-abas .plans-grid{display:block;max-width:980px;margin:0 auto;}
.plans-abas .plan-card{display:none;}
.plans-abas .plan-card[hidden]{display:none !important;}
.plans-abas .plan-card.atual{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch;text-align:left;overflow:hidden;border-top:3px solid var(--gold);animation:abaEntra .4s ease;}
.section.deep .plans-abas .plan-card.atual{border-left-width:1px;border-left-color:rgba(255,255,255,.14);}
@media(hover:hover){.plans-abas .plan-card:hover{transform:none;}}
@keyframes abaEntra{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.plans-abas .plan-card.atual > img,.plans-abas .plan-quadro{height:440px;}
.plans-abas .plan-card.atual > img{width:100%;object-fit:cover;}
.plans-abas .plan-body{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:38px 40px;}
.plans-abas .plan-body h3{font-size:1.6rem;}
.plans-abas .plan-area{font-size:2.3rem;margin:.1em 0 .5em;}
.plan-quadro{position:relative;overflow:hidden;background:#C2B8A2;cursor:zoom-in;touch-action:pan-y;}
.plan-quadro img.planta-img{width:100%;height:100%;object-fit:contain;padding:18px;background:transparent;transition:transform .35s ease;transform-origin:50% 50%;}
.plan-quadro.zoom{cursor:zoom-out;touch-action:none;}
.plan-quadro.zoom img.planta-img{transform:scale(2.3);transition:transform .35s ease,transform-origin .05s linear;}
.plan-zoom-dica{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;background:rgba(20,28,94,.82);color:#fff;font-size:.8rem;font-weight:500;pointer-events:none;backdrop-filter:blur(6px);transition:opacity .25s ease;}
.plan-zoom-dica svg{width:15px;height:15px;}
.plan-quadro.zoom .plan-zoom-dica{opacity:0;}
@media(max-width:760px){
  .abas-lista{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;max-width:100%;border-radius:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .abas-lista::-webkit-scrollbar{display:none;}
  .aba{flex:none;padding:10px 16px;}
  .plans-abas .plan-card.atual{grid-template-columns:1fr;}
  .plans-abas .plan-card.atual > img,.plans-abas .plan-quadro{height:340px;}
  .plans-abas .plan-body{padding:24px 22px 26px;}
  .plans-abas .plan-body h3{font-size:1.35rem;}
  .plans-abas .plan-area{font-size:1.9rem;}
}
@media(prefers-reduced-motion:reduce){.plans-abas .plan-card.atual{animation:none;}.plan-quadro img.planta-img{transition:none;}}

/* ============================================================
   MELHORIA UX 6 — localização em chips (ícone + destino + tempo)
   Usar tempos/distâncias reais do material ou medidos no mapa;
   sem número confirmado, descrever ("a poucos minutos a pé").
   ============================================================ */
.chips-loc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:1.6em 0 1.8em;}
.chips-loc li{display:flex;align-items:center;gap:13px;padding:13px 15px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 10px 26px -20px rgba(var(--overlay-rgb),.5);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
@media(hover:hover){.chips-loc li:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 16px 30px -20px rgba(var(--overlay-rgb),.6);}}
.chips-loc li{font-size:.95rem;}.chips-loc .chip-txt strong{font-size:.95rem;line-height:1.3;font-weight:600;}
.chip-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--cream-2);color:var(--terracotta);}
.chip-ico svg{width:22px;height:22px;}
.chip-txt{display:flex;flex-direction:column;line-height:1.25;min-width:0;}
.chip-txt strong{font-weight:600;font-size:.98rem;color:var(--charcoal-dark);}
.chip-txt small{font-size:.84rem;color:var(--text-muted);margin-top:2px;}
.chip-txt b{color:var(--terracotta-dark);font-weight:600;}
@media(max-width:760px){
  .chips-loc{grid-template-columns:1fr;gap:10px;}
  .chips-loc li{padding:12px 14px;}
}

/* ============================================================
   MELHORIA UX 7 — linha do tempo do empreendimento
   Etapas: Pré-lançamento → Lançamento → Obras → Pronto
   (.feita = concluída; .atual = etapa de agora; data só do material)
   ============================================================ */
@keyframes ltPulso{0%,100%{box-shadow:0 0 0 6px color-mix(in srgb,var(--terracotta) 16%,transparent);}50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--terracotta) 5%,transparent);}}
@media(max-width:760px){
}
/* linha do tempo vertical no celular */
@media(max-width:760px){
}

/* ============================================================
   MELHORIA UX 8 — microanimações discretas
   Entrada da hero, revelação em cascata ao rolar, zoom suave nas
   fotos. Tudo desligado para quem pede "reduzir movimento".
   ============================================================ */
.hero{overflow:hidden;}
.hero[style*="background-image"]::before{content:"";position:absolute;inset:0;background:inherit;background-size:cover;background-position:inherit;transform-origin:60% 50%;animation:heroZoom 2.2s cubic-bezier(.2,.7,.2,1) both;}
@keyframes heroZoom{from{transform:scale(1.07);}to{transform:scale(1);}}
.hero .hero-bg,.hero .hero-photo img{animation:heroZoom 2.2s cubic-bezier(.2,.7,.2,1) both;transform-origin:60% 50%;}
.hero-photo{overflow:hidden;}
.reveal{opacity:0;transform:translateY(24px);}
.reveal.in{opacity:1;transform:none;}
.hero-text > *{animation:heroSobe .9s cubic-bezier(.2,.7,.2,1) both;}
.hero-text > :nth-child(1){animation-delay:.15s;}
.hero-text > :nth-child(2){animation-delay:.3s;}
.hero-text > :nth-child(3){animation-delay:.45s;}
.hero-text > :nth-child(4){animation-delay:.6s;}
@keyframes heroSobe{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.reveal{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms);}
.reveal-img{opacity:0;transform:scale(.97);clip-path:inset(6% 6% 6% 6% round 18px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1),clip-path 1.1s cubic-bezier(.2,.7,.2,1);}
.reveal-img.in{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 0);}
@media(hover:hover){
  .trio img,.masonry img,.split-media img{transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s ease,filter .6s ease;}
  .trio img:hover,.masonry img:hover{transform:translateY(-3px) scale(1.012);filter:saturate(1.06);box-shadow:0 26px 50px -22px rgba(var(--overlay-rgb),.55);}
  .btn{will-change:transform;}
}
@media(prefers-reduced-motion:reduce){
  .hero::before,.hero-text > *,.hero .hero-bg,.hero .hero-photo img{animation:none;}
  .reveal,.reveal-img{opacity:1 !important;transform:none !important;clip-path:none !important;transition:none !important;}
}

/* ============================================================
   MELHORIA UX 10 — contraste (WCAG AA) e áreas de toque (44 px)
   Checagem obrigatória a cada paleta nova (ver skill).
   ============================================================ */
/* verde do WhatsApp mais profundo nos botões com texto: branco sobre #15803D = 5,0:1 (antes 2,0:1) */
.btn-whatsapp{background:#15803D;font-weight:600;}
@media(hover:hover){.btn-whatsapp:hover{background:#116B33;}}
.btn:focus-visible,.aba:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
@media(max-width:760px){
  .nav-toggle{min-width:44px;min-height:44px;align-items:center;justify-content:center;}
  .site-header .logo{min-height:44px;}
  .link-more{padding:10px 0;margin-top:.8em;}
  .footer-nav{gap:4px 22px;}
  .footer-nav a{display:inline-flex;align-items:center;min-height:44px;}
  .accordion-trigger{min-height:52px;}
}

/* rodapé sem sobra no celular: a barra fixa some no rodapé e substitui o botão redondo */
@media(max-width:760px){body.has-action-bar .site-footer{padding-bottom:0;}body.has-action-bar .footer-inner{padding-bottom:28px;}}

/* melhoria UX 9: hero menor no celular */
@media(max-width:760px){.hero[style*="hero.webp"]{background-image:url('/images/hero-800.webp') !important;}}


/* AJUSTE DE CONTRASTE AA (melhoria UX 10): paleta já passa de 4,5:1 com os tons escolhidos */

/* ============================================================
   MELHORIA UX 11 — toque único no celular (06/11/2026)
   Os efeitos de :hover valem só em aparelhos com mouse
   (@media(hover:hover)); no toque não há efeito de hover,
   então o primeiro toque já é o clique.
   ============================================================ */
a,button,.btn,.accordion-trigger,[role="button"],label,summary{touch-action:manipulation;}
