/* =========================================================
   Dra. Carla Ferreira — página de vendas
   Paleta: chocolate + ambar/dourado | Tipografia: Montserrat (padrao das referencias)
   ========================================================= */
:root{
  --bg-1:#1A1512;          /* espresso suave (topo do gradiente) */
  --bg-2:#0A0807;
  --surface:#080706;
  --ink:#EAE4DC;           /* creme */
  --muted:#948A80;         /* texto secundário */
  --brand:#C9A46A;         /* dourado fosco */
  --brand-2:#B08F58;
  --accent:#D8C3A1;        /* nude claro */
  --accent-soft:rgba(216,195,161,.14);
  --chip:#1A1411;
  --line:rgba(255,255,255,.07);
  --btn-ink:#17110D;
  --radius:14px;
  --shadow:0 10px 28px rgba(0,0,0,.26);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{height:100%}
body{
  margin:0;
  font-family:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif;
  color:var(--ink);
  background:var(--surface);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Títulos: creme sólido, peso contido */
.hero__headline,
.section-video__title,
.frentes__title,
.services__title,
.queixas__title,
.videos__title,
.trivids__title,
.place__title,
.faq__title,
.about__title,
.about__name{
  color:var(--ink);
  font-weight:600;
  letter-spacing:-.2px;
  text-wrap:balance;
  line-height:1.22;
}

.sr-only{
  position:absolute !important;
  width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
a:focus-visible, button:focus-visible, summary:focus-visible{
  outline:2px solid var(--accent); outline-offset:4px; border-radius:6px;
}

/* =========================================================
   BOTÕES
   ========================================================= */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  text-decoration:none; cursor:pointer; user-select:none;
  padding:15px 26px; border-radius:10px;
  font-weight:600; font-size:15px; letter-spacing:.1px; line-height:1;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.btn--wa, .btn--brand{
  color:var(--btn-ink);
  background:var(--brand);
  border:1px solid var(--brand);
}
.btn--wa:hover, .btn--brand:hover{ background:var(--accent); border-color:var(--accent); }
.btn--wa .btn__icon{ color:var(--btn-ink); }
.btn__icon{ display:inline-flex; align-items:center; justify-content:center; width:19px; height:19px; line-height:0; }
.btn--block{ display:inline-flex; width:100%; justify-content:center; padding-top:17px; padding-bottom:17px; }

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;
  min-height:100svh;
  display:flex; align-items:center;
  isolation:isolate; overflow:hidden;
}
.hero__bg{
  position:absolute; inset:0; z-index:-2;
  background:
    radial-gradient(1200px 600px at 20% 20%, rgba(90,70,50,.28), transparent 60%),
    radial-gradient(800px 500px at 72% 80%, rgba(90,70,50,.32), transparent 65%),
    linear-gradient(135deg, var(--bg-1) 0%, var(--bg-2) 70%);
}
.hero__glow{
  position:absolute; right:-8vw; bottom:-10vh;
  width:60vw; height:60vw; max-height:80vh;
  background:radial-gradient(closest-side, rgba(95,74,52,.18), rgba(0,0,0,0));
  filter:blur(55px); pointer-events:none; z-index:-1;
}

.hero__container{
  width:min(1280px, 92vw);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:max(44px, 4vw);
  align-items:center;
  padding-inline:clamp(8px, 1.6vw, 24px);
  padding-block:clamp(24px, 4vh, 48px);
}

.hero__content{ display:flex; flex-direction:column; gap:26px; }
.hero__brand{ display:inline-flex; width:fit-content; }
.hero__logo{ height:clamp(52px, 6vw, 76px); width:auto; }
.hero__copy{ max-width:560px; }
.hero__title{ margin:0; }
.hero__headline{
  display:block; line-height:1.16; font-weight:600;
  font-size:clamp(30px, 4.1vw, 46px);
  letter-spacing:-.4px; margin-bottom:10px;
}
.hero__line{ margin:14px 0 0; max-width:520px; font-size:clamp(15px, 1.2vw, 16.5px); color:var(--muted); line-height:1.75; }
.hero__chips{ display:flex; gap:10px; flex-wrap:wrap; margin:16px 0 2px; }
.chip{
  background:transparent;
  border:1px solid var(--line);
  color:var(--muted);
  padding:9px 14px; border-radius:999px;
  font-size:12.5px; font-weight:500; letter-spacing:.2px;
}
.chip--alt{ color:var(--accent); border-color:rgba(216,195,161,.26); }
.hero__sub{ margin-top:14px; color:var(--muted); font-size:clamp(13px, 1.1vw, 16px); line-height:1.7; }
.hero__cta{ margin-top:12px; }

.hero__art{
  position:relative; height:100%;
  display:flex; align-items:flex-end; justify-content:center;
  padding:clamp(18px,2.4vw,30px) clamp(12px,2.2vw,32px) 0;
}
.hero__photo{
  width:auto; height:auto;
  max-height:90svh; max-width:46vw;
  object-fit:contain; object-position:bottom center;
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.26));
}

/* =========================================================
   MOLDURA COMUM DAS SEÇÕES
   ========================================================= */
.section-video,
.section-frentes,
.section-services,
.section-queixas,
.section-videos,
.section-about,
.section-place,
.section-faq{
  position:relative;
  margin-top:clamp(56px, 9vh, 120px);
  margin-bottom:clamp(56px, 9vh, 120px);
  padding:clamp(56px, 8vh, 104px) 0;
  background:linear-gradient(180deg, rgba(20,15,12,0) 0%, rgba(20,15,12,.38) 100%);
  border-top:1px solid var(--line);
  border-bottom:0;
}

/* =========================================================
   PLAYER PANDA (iframes responsivos)
   ========================================================= */
.video-frame iframe,
.videos__frame iframe{
  display:block; width:100%; height:100%;
  position:absolute; inset:0; border:0;
}
.video-frame,
.videos__frame{ position:relative; aspect-ratio:16 / 9; }

.trivid__wrap iframe{
  display:block;
  position:absolute; top:0; left:0;
  width:100%; height:100%; border:0;
}

/* =========================================================
   VÍDEO DE VENDAS
   ========================================================= */
.section-video__container{
  width:min(1180px, 92vw); margin:0 auto;
  display:flex; flex-direction:column; align-items:center; gap:28px;
}
.section-video__header{ text-align:center; width:100%; max-width:780px; margin:0 auto 6px; }
.section-video__title{
  margin:0 0 14px; font-weight:600;
  font-size:clamp(26px, 3vw, 34px); line-height:1.12; letter-spacing:-.2px;
}
.section-video__subtitle{ margin:0; color:var(--muted); font-size:17px; line-height:1.6; }

.video-wrap{ width:100%; max-width:860px; margin:10px auto 0; }
.video-frame{
  border-radius:12px; overflow:hidden;
  border:1px solid var(--line);
  background:#0D0B09;
}
.video-cta{ width:100%; max-width:860px; margin-top:8px; }

/* =========================================================
   TRÊS FRENTES
   ========================================================= */
.frentes__container{ width:min(1180px, 92vw); margin:0 auto; display:grid; gap:28px; }
.frentes__header{ text-align:center; max-width:640px; margin:0 auto; display:grid; gap:10px; }
.frentes__title{ margin:0; font-weight:600; font-size:clamp(26px, 3vw, 34px); line-height:1.14; }
.frentes__lead{ margin:0; color:var(--muted); font-size:17px; line-height:1.6; }

.frentes__grid{
  list-style:none; margin:8px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;
}
.frente{
  padding:26px 22px;
  border-radius:16px;
  background:rgba(255,255,255,.025);
  border:1px solid var(--line);
}
.frente::before{
  content:""; display:block;
  width:28px; height:1px; margin-bottom:18px;
  background:var(--brand);
}
.frente__title{ margin:0 0 10px; font-weight:600; font-size:18px; line-height:1.35; color:var(--ink); }
.frente__text{ margin:0; color:var(--muted); font-size:15px; line-height:1.7; }

/* =========================================================
   SERVIÇOS
   ========================================================= */
.services__container{ width:min(1180px, 92vw); margin:0 auto; display:grid; gap:24px; }
.services__header{ text-align:center; max-width:640px; margin:0 auto; display:grid; gap:10px; }
.services__title{ margin:0; font-weight:600; font-size:clamp(26px, 3vw, 32px); line-height:1.16; }
.services__lead{ margin:0; color:var(--muted); font-size:17px; line-height:1.6; }

.services-grid{
  list-style:none; margin:10px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:14px;
}
.service-card{
  padding:22px 20px; border-radius:14px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--line);
  transition:border-color .2s ease, background .2s ease;
}
.service-card:hover{ border-color:rgba(216,195,161,.28); background:rgba(255,255,255,.05); }
.service-card__text{ display:grid; gap:6px; }
.service-card__title{ font-weight:600; font-size:16px; line-height:1.35; color:var(--ink); }
.service-card__subtitle{ font-weight:400; font-size:13px; color:var(--muted); line-height:1.5; }

/* =========================================================
   DIVIDER
   ========================================================= */
.section-divider{ position:relative; margin:clamp(28px,5vh,56px) 0; }
.divider__container{ width:min(1180px,92vw); margin:0 auto; display:grid; place-items:center; }
.divider__chevron{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:999px;
  color:var(--accent);
  border:1px solid rgba(255,255,255,.10);
  background:radial-gradient(closest-side, rgba(216,195,161,.12), rgba(216,195,161,0));
  box-shadow:0 10px 28px rgba(0,0,0,.26);
}
@keyframes cueDown{ 0%,100%{ transform:translateY(0); opacity:.9 } 50%{ transform:translateY(4px); opacity:1 } }


/* =========================================================
   QUEIXAS
   ========================================================= */
.queixas__container{
  width:min(1180px, 92vw); margin:0 auto;
  display:grid; grid-template-columns:.9fr 1.1fr;
  gap:clamp(24px, 4vw, 48px); align-items:center;
}
.queixas__media{ margin:0; padding:0; align-self:stretch; }
.queixas__photo{
  width:100%; height:100%; min-height:420px; object-fit:cover; object-position:center top;
  border-radius:24px;
  outline:1px solid rgba(255,255,255,.06);
  box-shadow:0 10px 28px rgba(0,0,0,.26);
}
.queixas__content{ display:grid; gap:18px; }
.queixas__header{ display:grid; gap:8px; }
.queixas__title{ margin:0; font-weight:600; font-size:clamp(26px, 3vw, 32px); line-height:1.14; }
.queixas__lead{ margin:0; color:var(--muted); font-size:17px; line-height:1.6; }

.queixas__list{
  list-style:none; padding:0; margin:6px 0 0;
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px 14px;
}
.queixa-chip{
  display:inline-flex; align-items:center; gap:10px;
  padding:12px 14px; border-radius:10px;
  background:transparent; border:1px solid var(--line);
  color:var(--ink); font-weight:400; font-size:14px;
}
.queixa-chip::before{
  content:""; flex:none; width:4px; height:4px; border-radius:999px; background:var(--brand);
}
.queixas__closing{ margin-top:10px; display:grid; gap:12px; justify-items:start; }
.queixas__question{ margin:0; font-weight:700; font-size:18px; color:var(--ink); opacity:.95; line-height:1.5; }

/* =========================================================
   VÍDEOS HORIZONTAIS
   ========================================================= */
.videos__container{
  width:min(1180px, 94vw); margin:0 auto;
  display:grid; gap:clamp(20px, 3.5vh, 32px);
  justify-items:center; text-align:center;
}
.videos__header{ width:100%; max-width:760px; margin:0 auto; display:grid; gap:10px; }
.videos__title{ margin:0; font-weight:600; font-size:clamp(26px, 3.2vw, 36px); line-height:1.12; letter-spacing:-.2px; }
.videos__header--alt .videos__title--alt{ font-size:clamp(24px, 2.9vw, 32px); }
.videos__kicker{ margin:0; color:var(--muted); font-size:16px; line-height:1.6; }

.videos__wrap{ width:100%; max-width:900px; }
.videos__frame{
  border-radius:12px; overflow:hidden;
  border:1px solid var(--line);
  background:#0D0B09;
}


/* =========================================================
   TRÊS VÍDEOS VERTICAIS
   ========================================================= */
.section-trivids{
  position:relative;
  padding:clamp(64px, 9vh, 128px) 0;
  margin:clamp(56px, 9vh, 120px) 0;
  border-top:1px solid var(--line);
  border-bottom:0;
  overflow:hidden;
}
.trivids__bg{
  position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, #14100E 0%, #0A0807 100%);
}
.trivids__container{
  position:relative; z-index:1;
  width:min(1180px, 94vw); margin:0 auto;
  display:grid; gap:clamp(28px, 4vh, 40px);
}
.trivids__header{ text-align:center; display:grid; gap:10px; max-width:720px; margin:0 auto; }
.trivids__title{ margin:0; font-weight:600; font-size:clamp(26px, 3.2vw, 38px); line-height:1.12; }
.trivids__kicker{ margin:0; color:var(--muted); font-size:16px; }

.trivids__grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; justify-items:center; }
.trivid{ margin:0; padding:0; width:100%; max-width:340px; }
.trivid__wrap{
  position:relative; width:100%;
  aspect-ratio:9 / 16;          /* garante a altura do card vertical */
  min-height:420px;             /* reserva mesmo se aspect-ratio falhar */
  border-radius:16px; overflow:hidden;
  background:#0D0B09;
  border:1px solid var(--line);
}
.trivid__tag{
  position:absolute; top:12px; left:12px; z-index:3;
  padding:6px 12px; border-radius:999px;
  font-weight:500; font-size:11.5px; letter-spacing:.3px;
  color:var(--ink);
  background:rgba(8,7,6,.7);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(6px);
}
.trivid__caption{
  margin:12px 6px 0; color:var(--ink);
  font-size:15px; line-height:1.55; text-align:center; opacity:.95;
}
.trivid__caption strong{ color:var(--accent); font-weight:700; }

.trivids__footer{ display:grid; place-items:center; margin-top:clamp(10px,2vh,18px); }
.trivids__callout{
  width:min(1080px, 92vw);
  padding:clamp(22px,4vh,34px) clamp(18px,3vw,28px);
  border-radius:20px;
  display:grid; gap:20px; justify-items:center;
  background:rgba(255,255,255,.025);
  border:1px solid var(--line);
  box-shadow:0 10px 28px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.06);
}
.trivids__desc{ margin:0; max-width:680px; color:var(--ink); font-size:17px; line-height:1.6; text-align:center; opacity:.95; }

/* =========================================================
   SOBRE
   ========================================================= */
.about__container{
  width:min(1180px, 92vw); margin:0 auto;
  display:grid; grid-template-columns:1.1fr .9fr;
  gap:clamp(28px, 4vw, 52px); align-items:center;
}
.about__content{ display:grid; gap:18px; }
.about__header{ display:grid; gap:12px; }
.about__title{ margin:0; font-weight:600; font-size:clamp(26px, 3.1vw, 34px); line-height:1.12; color:var(--ink); }
.about__role{ margin:0; color:var(--muted); font-weight:700; font-size:16px; }
.about__rqe{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 16px; border-radius:14px;
  font-size:15px; font-weight:500; letter-spacing:.3px;
  background:transparent;
  color:var(--ink);
  border:1px solid var(--line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 10px 28px rgba(0,0,0,.26);
  width:fit-content;
}
.about__body{ display:grid; gap:14px; max-width:600px; }
.about__body p{ margin:0; color:var(--muted); font-size:16px; line-height:1.7; }
.about__lead{ color:var(--ink) !important; font-size:18px !important; opacity:.95; }
.about__body strong{ color:var(--ink); font-weight:700; }

.about__tags{ list-style:none; padding:0; margin:8px 0 0; display:flex; flex-wrap:wrap; gap:8px; }
.tag{
  display:inline-flex; align-items:center;
  padding:7px 13px; border-radius:999px;
  font-weight:500; font-size:12px; letter-spacing:.2px;
  color:var(--muted);
  background:transparent; border:1px solid var(--line);
}

.about__media{ margin:0; padding:0; align-self:stretch; }
.about__photo{
  width:100%; height:100%; max-width:520px;
  aspect-ratio:3 / 4; object-fit:cover; object-position:center;
  border-radius:24px;
  outline:1px solid rgba(255,255,255,.06);
  box-shadow:0 10px 28px rgba(0,0,0,.26);
  background:#0A0807;
}

/* =========================================================
   CONSULTÓRIO
   ========================================================= */
.place__container{ width:min(1180px, 92vw); margin:0 auto; display:grid; gap:26px; }
.place__header{ text-align:center; }
.place__title{ margin:0; font-weight:600; font-size:clamp(24px, 2.8vw, 32px); }
.place__grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
.place__card{
  padding:26px 24px; border-radius:18px;
  background:rgba(255,255,255,.025);
  border:1px solid var(--line);
  box-shadow:0 10px 28px rgba(0,0,0,.26);
  display:grid; gap:8px; align-content:start;
}
.place__label{ font-size:13px; font-weight:700; letter-spacing:.3px; color:var(--accent); }
.place__value{ margin:0; font-size:21px; font-weight:800; color:var(--ink); }
.place__addr{ margin:0; font-style:normal; color:var(--muted); font-size:15px; line-height:1.75; }
.place__card--cta .btn{ margin-top:10px; width:100%; }

/* =========================================================
   FAQ
   ========================================================= */
.faq__container{ width:min(920px, 92vw); margin:0 auto; display:grid; gap:28px; }
.faq__header{ text-align:center; display:grid; gap:8px; }
.faq__title{ margin:0; font-weight:600; font-size:clamp(26px, 3vw, 34px); }
.faq__lead{ margin:0; color:var(--muted); font-size:16px; }

.faq__list{ display:grid; gap:14px; }
.faq{
  background:rgba(255,255,255,.025);
  border:1px solid var(--line);
  border-radius:12px; overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 10px 28px rgba(0,0,0,.26);
  transition:border-color .22s ease, box-shadow .22s ease;
}
.faq[open]{ border-color:rgba(216,195,161,.22); box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 10px 28px rgba(0,0,0,.26); }
.faq__question{
  list-style:none; cursor:pointer; position:relative;
  display:grid; align-items:center;
  padding:18px 56px 18px 20px;
  color:var(--ink); font-weight:500; font-size:17px; letter-spacing:.1px; line-height:1.45;
  user-select:none;
}
.faq__question::-webkit-details-marker{ display:none; }
.faq__question::after{
  content:"+"; position:absolute; right:18px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; border-radius:999px;
  display:grid; place-items:center; font-weight:800;
  color:var(--brand); background:transparent; border:1px solid var(--line);
  font-size:16px; font-weight:400;
}
.faq[open] .faq__question::after{ content:"–"; }
.faq__answer{ color:var(--muted); font-size:16px; line-height:1.7; padding:0 20px 18px 20px; }

/* =========================================================
   FOOTER
   ========================================================= */
.section-footer{
  position:relative;
  margin-top:clamp(72px, 11vh, 150px);
  padding:clamp(56px, 8vh, 96px) 0 0;
  background:linear-gradient(180deg, rgba(26,20,17,.6), rgba(8,7,6,.92));
  border-top:1px solid rgba(255,255,255,.08);
}
.footer__container{
  width:min(1180px, 92vw); margin:0 auto;
  display:grid; grid-template-columns:1.1fr 1fr 1fr;
  align-items:start; gap:clamp(24px, 4vw, 48px);
  padding-bottom:clamp(32px, 6vh, 56px);
}
.footer__brand{ display:grid; gap:12px; justify-items:start; }
.footer__logo{ width:220px; height:auto; filter:drop-shadow(0 10px 28px rgba(0,0,0,.26)); }
.footer__tagline{ margin:0; color:var(--muted); font-size:16px; line-height:1.6; }
.footer__contact{ display:grid; gap:12px; }
.footer__addr, .footer__phone{ margin:0; font-style:normal; color:var(--ink); font-size:16px; line-height:1.7; opacity:.95; }
.footer__addr strong, .footer__phone strong{ color:var(--accent); font-weight:800; font-size:14px; letter-spacing:.3px; }
.footer__social{ display:grid; gap:12px; justify-items:start; align-content:start; }
.btn-social{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:999px;
  color:var(--muted); text-decoration:none; font-weight:500; font-size:14px; letter-spacing:.2px;
  border:1px solid var(--line);
  background:transparent;
  box-shadow:0 10px 28px rgba(0,0,0,.26), inset 0 0 0 1px rgba(255,255,255,.04);
  transition:transform .16s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.btn-social:hover{ transform:translateY(-1px); background:rgba(216,195,161,.13); border-color:rgba(216,195,161,.5); }
.footer__credits{
  border-top:1px solid rgba(255,255,255,.08);
  padding:16px 0; display:grid; place-items:center;
  background:linear-gradient(180deg, rgba(8,7,6,.6), rgba(8,7,6,.85));
}
.footer__small{ margin:0; color:var(--muted); font-size:14px; opacity:.9; }
.footer__small a{ color:var(--accent); text-decoration:none; border-bottom:1px dashed rgba(216,195,161,.4); }

/* =========================================================
   WHATSAPP FLUTUANTE
   ========================================================= */
.wa-float{
  position:fixed;
  right:clamp(16px, 2vw, 28px);
  bottom:clamp(16px, 2vw, 28px);
  z-index:999;
  width:62px; height:62px; border-radius:999px;
  background:#25D366;
  display:grid; place-items:center; text-decoration:none;
  box-shadow:0 10px 28px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .16s ease, box-shadow .22s ease;
  animation:waFloat 2.6s ease-in-out infinite;
}
.wa-float::after{
  content:""; position:absolute; inset:-6px; border-radius:inherit;
  background:radial-gradient(closest-side, rgba(37,211,102,.2), rgba(37,211,102,0));
  pointer-events:none;
}
.wa-float:hover{ transform:translateY(-2px); box-shadow:0 24px 58px rgba(0,0,0,.6); }
.wa-float:active{ transform:translateY(0) scale(.98); }
.wa-float__icon{ display:block; }
@keyframes waFloat{ 0%,100%{ transform:translateY(0) } 50%{ transform:translateY(-3px) } }
@media (prefers-reduced-motion:reduce){
  .wa-float, .divider__chevron{ animation:none; }
}

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media (max-width:1280px){
  .hero__container{ width:min(1180px, 94vw); grid-template-columns:1fr 1fr; gap:max(32px, 3vw); }
}

@media (max-width:1100px){
  .hero__photo{ max-width:52vw; max-height:80svh; }
  .hero__copy{ max-width:600px; }
  .services-grid{ grid-template-columns:repeat(2, 1fr); }
  .frentes__grid{ grid-template-columns:1fr; }
  .place__grid{ grid-template-columns:1fr; }
}

@media (max-width:960px){
  .hero{ min-height:auto; }
  .hero__container{
    grid-template-columns:1fr;
    padding-inline:clamp(14px, 3.5vw, 24px);
    padding-block-start:clamp(20px, 4vh, 38px);
    gap:8px;
  }
  .hero__content{ order:1; align-items:center; text-align:center; gap:22px; }
  .hero__brand{ margin:0 auto; }
  .hero__copy{ max-width:600px; }
  .hero__chips{ justify-content:center; }
  .hero__art{ order:2; padding:8px 0 0; }
  .hero__photo{ max-width:88vw; max-height:64svh; }
  .hero__cta{ width:100%; }
  .btn--wa{ width:100%; }

  .queixas__container{ grid-template-columns:1fr; gap:24px; }
  .queixas__photo{ min-height:260px; max-height:380px; }
  .queixas__closing{ justify-items:stretch; }
  .queixas__cta{ width:100%; }

  .trivids__grid{ grid-template-columns:repeat(2, 1fr); }
  .trivid{ max-width:300px; }

  .about__container{ grid-template-columns:1fr; gap:26px; }
  .about__media{ justify-self:center; }
  .about__photo{ max-width:min(92vw, 460px); }

  .footer__container{ grid-template-columns:1fr; justify-items:center; text-align:center; gap:24px; }
  .footer__brand, .footer__social{ justify-items:center; }
}

@media (max-width:720px){
  .queixas__list{ grid-template-columns:1fr; }
  .trivids__grid{ grid-template-columns:1fr; }
  .trivid{ max-width:min(92vw, 340px); }
  .vplayer__play{ width:66px; height:66px; }
  .trivids__callout .btn{ width:100%; }
  .faq__question{ padding:16px 54px 16px 16px; font-size:17px; }
  .faq__answer{ font-size:15px; padding:0 16px 16px; }
  .footer__logo{ width:140px; }
}

@media (max-width:560px){
  .hero__logo{ height:clamp(46px, 11vw, 62px); }
  .hero__headline{ font-size:clamp(26px, 9vw, 34px); }
  .hero__line{ font-size:clamp(14px, 3.6vw, 16px); }
  .chip{ font-size:13px; padding:9px 12px; }
  .services-grid{ grid-template-columns:1fr; }
  .service-card{ grid-template-columns:48px 1fr; padding:16px; gap:12px; }
  .service-card__icon{ width:48px; height:48px; font-size:22px; }
  .frente{ padding:24px 20px; }
  .vplayer__play{ width:58px; height:58px; }
  .divider__chevron{ width:40px; height:40px; }
  .wa-float{ width:56px; height:56px; right:14px; bottom:14px; }
}

@media (max-width:400px){
  .btn{ padding:15px 20px; font-size:14px; }
  .btn__icon{ width:20px; height:20px; }
  .queixa-chip{ font-size:13px; padding:11px 12px; }
}


