/* ==========================================================================
   Art Cercas | Home (HTML + CSS limpos, sem jQuery)
   Réplica visual da home Avada. Breakpoints herdados do original:
   - 640px  : troca header/hero desktop x mobile (Avada "small")
   - 1024px : menu principal colapsa em botão (data-breakpoint do Avada)
   - 768px  : botão flutuante vira barra fixa no rodapé
   ========================================================================== */

/* 1. Fontes ---------------------------------------------------------------- */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/montserrat-latin-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/montserrat-latin-italic-var.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 2. Tokens ---------------------------------------------------------------- */
:root {
  /* cores da marca (paleta Avada do site) */
  --art-c-primary: #02b1ff;
  --art-c-primary-active: #029aff;
  --art-c-text: #141617;
  --art-c-nav: #212934;
  --art-c-nav-mobile: #4a4e57;
  --art-c-white: #ffffff;
  --art-c-soft: #f8f8f8;
  --art-c-card: #f9f9f9;
  --art-c-header-a: #f9f9fb;
  --art-c-header-b: #f2f3f5;
  --art-c-line-soft: #f2f3f5;
  --art-c-submenu-line: #e2e2e2;
  --art-c-dark: #434544;
  --art-c-btn-hover-a: #434549;
  --art-c-btn-hover-b: #2c2e31;
  --art-c-muted: #555555;
  --art-c-cta-blue: #0073aa;
  --art-c-cta-blue-hover: #005f88;
  --art-c-wa: #25d366;
  --art-c-wa-hover: #1ebe5d;
  --art-c-wa-deep: #1c8a4a;
  --art-c-wa-mid: #1ebe5b;

  /* rodapé */
  --art-f-navy: #0a2033;
  --art-f-blue: #123a5e;
  --art-f-deep: #0c2e4c;
  --art-f-cyan: #17b6d6;
  --art-f-cyan-2: #4fd6f0;
  --art-f-text: #c7d6e3;
  --art-f-muted: #93a9bd;
  --art-f-strong: #d3e3f0;
  --art-f-line: rgba(255, 255, 255, .12);

  /* tipografia */
  --art-font: "Montserrat", Arial, Helvetica, sans-serif;
  --art-fs-body: 16px;
  --art-lh-body: 1.4;
  --art-ls-body: .015em;
  --art-ls-heading: -.015em;
  --art-ls-menu: .8px;
  --art-fs-h1: 40px;
  --art-fs-h2: 34px;
  --art-fs-h3: 26px;
  --art-lh-heading: 1.2;

  /* espaçamentos */
  --art-container: 1200px;
  --art-gutter: 10px;
  --art-section-y: 50px;
  --art-col-gap: 20px;           /* margem inferior padrão das colunas */
  --art-title-gap: 15px;
  --art-radius: 12px;
  --art-radius-pill: 90px;
  --art-header-h: 60px;
  --art-header-h-mobile: 47px;
  --art-hero-ratio: 2000 / 680;  /* banners desktop 2000x680 */
  --art-hero-ratio-mobile: 400 / 560; /* banners mobile 400x560 */
  --art-hero-fade: .8s;
  --art-fab-offset: 22px;
}

/* 3. Base ------------------------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--art-c-white);
  color: var(--art-c-text);
  font-family: var(--art-font);
  font-size: var(--art-fs-body);
  font-weight: 400;
  line-height: var(--art-lh-body);
  letter-spacing: var(--art-ls-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, video, picture { max-width: 100%; }
img { height: auto; border: 0; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 20px; }
strong, b { font-weight: 700; }
h1, h2, h3, h4 { margin: 0; letter-spacing: var(--art-ls-heading); line-height: var(--art-lh-heading); }
button { font: inherit; letter-spacing: inherit; }

:focus-visible { outline: 2px solid var(--art-c-primary); outline-offset: 2px; }

.art-sr {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.art-skip {
  position: absolute;
  left: 12px; top: -60px;
  z-index: 1000;
  padding: 10px 16px;
  border-radius: 6px;
  background: var(--art-c-text);
  color: var(--art-c-white);
  font-weight: 600;
  transition: top .2s;
}
.art-skip:focus { top: 12px; }

.art-center { text-align: center; }
.art-rounded { display: block; max-width: 100%; height: auto; border-radius: var(--art-radius); }

/* 4. Grid (equivale às colunas Avada: padding lateral = 4% da coluna) ------- */
.art-section { padding: var(--art-section-y) var(--art-gutter); }

.art-row {
  display: flex;
  flex-wrap: wrap;
  max-width: var(--art-container);
  margin: 0 auto;
}
.art-row--center { align-items: center; justify-content: center; }
.art-row--top { align-items: flex-start; }

.art-col { width: 100%; padding-inline: 4%; margin-bottom: var(--art-col-gap); }
.art-col--100 { width: 100%; padding-inline: 4%; }
.art-col--60 { width: 60%; padding-inline: 2.4%; }
.art-col--50 { width: 50%; padding-inline: 2%; }

/* 5. Tipografia de títulos -------------------------------------------------- */
.art-title { margin: 10px 0 var(--art-title-gap); color: var(--art-c-text); }
.art-title--h1 { font-size: var(--art-fs-h1); font-weight: 700; }
.art-title--h2 { font-size: var(--art-fs-h2); font-weight: 600; }
.art-title--h3 { font-size: var(--art-fs-h3); font-weight: 600; }

/* 6. Botões ------------------------------------------------------------------ */
.art-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 29px;
  border-radius: var(--art-radius-pill);
  background: var(--art-c-primary);
  color: var(--art-c-white);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  transition: background .2s, color .2s, box-shadow .2s;
}
.art-btn:hover, .art-btn:focus-visible {
  background: linear-gradient(180deg, var(--art-c-btn-hover-a) 0%, var(--art-c-btn-hover-b) 100%);
  color: var(--art-c-white);
}
.art-btn--spaced { margin: 30px 0; }
.art-btn__icon { flex: none; margin-left: 11.2px; width: 8px; height: 16px; }
.art-btn__icon--rss { width: 15px; }

/* 7. Header ------------------------------------------------------------------ */
.art-header {
  position: relative;
  z-index: 100;
  padding: 10px 5px;
  border-top: 1px solid var(--art-c-primary);
  background: linear-gradient(90deg, var(--art-c-header-a) 0%, var(--art-c-header-b) 100%);
  box-shadow: 2px 2px 0 0 rgba(0, 0, 0, .07);
}
.art-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: var(--art-container);
  height: var(--art-header-h);
  margin: 0 auto;
}
.art-header__brand { width: 20%; padding-inline: .8%; }
.art-header__logo { display: block; }
.art-header__logo img { display: block; width: 100%; max-width: 221px; }
.art-header__social { display: none; }
.art-header__cta { width: 20%; padding-inline: .8%; text-align: center; }

.art-nav { width: 60%; padding-inline: 2.4%; }
.art-nav__toggle { display: none; }

.art-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.art-menu__item { position: relative; }
.art-menu__link {
  display: flex;
  align-items: center;
  color: var(--art-c-nav);
  font-size: 15px;
  font-weight: 500;
  line-height: 21px;
  letter-spacing: var(--art-ls-menu);
  transition: color .3s cubic-bezier(.42, .01, .58, 1);
}
.art-menu__item.is-current > .art-menu__link,
.art-menu__item:hover > .art-menu__link,
.art-menu__item:focus-within > .art-menu__link { color: var(--art-c-primary); }
.art-menu__caret { flex: none; width: 9px; height: 5px; margin: 1px 1.5px 0 7.5px; }
.art-menu__sub-toggle { display: none; }

.art-submenu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  min-width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s cubic-bezier(.42, .01, .58, 1), visibility .3s;
}
.art-menu__item:hover > .art-submenu,
.art-menu__item:focus-within > .art-submenu,
.art-menu__item.is-open > .art-submenu { opacity: 1; visibility: visible; }
.art-submenu li {
  background: var(--art-c-primary);
  border-bottom: 1px solid var(--art-c-submenu-line);
  transition: background .3s;
}
.art-submenu li:last-child { border-bottom: 0; }
.art-submenu li:hover, .art-submenu li:focus-within { background: var(--art-c-primary-active); }
.art-submenu a {
  display: block;
  padding: 12px 20px;
  color: var(--art-c-white);
  font-size: 14px;
  font-weight: 400;
  line-height: 19.6px;
  letter-spacing: var(--art-ls-menu);
  white-space: nowrap;
}
.art-submenu a:focus-visible { outline-color: var(--art-c-white); outline-offset: -3px; }

/* 8. Hero (slider fade) ------------------------------------------------------ */
.art-hero { background: var(--art-c-text); }
.art-hero__link { display: block; }
.art-hero__link:focus-visible { outline-offset: -4px; outline-color: var(--art-c-white); }
.art-hero__track { display: grid; }
.art-hero__slide {
  display: block;
  grid-area: 1 / 1;
  opacity: 0;
  transition: opacity var(--art-hero-fade) ease;
}
.art-hero__slide.is-active { opacity: 1; }
.art-hero__slide img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: var(--art-hero-ratio);
  object-fit: cover;
}
/* Opcional: altura fixa 600px com corte (comportamento do Avada) */
.art-hero--cover .art-hero__slide img { height: 600px; aspect-ratio: auto; }

/* 9. Faixa de 4 ícones ------------------------------------------------------- */
.art-features { padding: 20px var(--art-gutter); background: var(--art-c-soft); }
.art-features__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  max-width: var(--art-container);
  margin: 0 auto;
}
.art-feature { display: flex; align-items: center; width: 25%; padding-inline: 1%; }
.art-feature__icon { width: 25%; padding-inline: 1%; margin-bottom: 20px; text-align: right; line-height: 0; }
.art-feature__icon img { display: inline-block; vertical-align: top; }
.art-feature__text { width: 75%; padding-inline: 3%; margin: 10px 0 20px; }
.art-feature--first .art-feature__text { margin: 0 0 10px; }

/* 10. Solução + blocos criança/pet ----------------------------------------- */
.art-checklist { margin: 30px 0 0; /* 20px do parágrafo + 10px, como no Avada */ padding: 0; list-style: none; line-height: 27.2px; }
.art-checklist li {
  position: relative;
  padding: 0 0 5.6px 38.4px;
}
.art-checklist li + li { margin-top: 5.6px; }
.art-checklist li::before {
  content: "";
  position: absolute;
  left: 5.6px;
  top: 5.6px;
  width: 16px;
  height: 16px;
  background: var(--art-c-primary);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM227.3 387.3l184-184c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0L216 308.1l-70.1-70.1c-6.2-6.2-16.4-6.2-22.6 0l-22.6 22.6c-6.2 6.2-6.2 16.4 0 22.6l104 104c6.2 6.2 16.4 6.2 22.6 0z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM227.3 387.3l184-184c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0L216 308.1l-70.1-70.1c-6.2-6.2-16.4-6.2-22.6 0l-22.6 22.6c-6.2 6.2-6.2 16.4 0 22.6l104 104c6.2 6.2 16.4 6.2 22.6 0z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* 11. Matéria-prima / atendimento ------------------------------------------ */
.art-quality {
  padding: var(--art-section-y) var(--art-gutter) 40px;
  background: var(--art-c-dark) url("https://artcercas.com.br/wp-content/uploads/2025/09/bg.png") 50% 50% / cover no-repeat;
  color: var(--art-c-white);
}
.art-quality .art-row { align-items: flex-start; }
.art-quality__item { text-align: center; }
.art-quality__item img { display: block; margin: 0 auto; }
.art-quality .art-title { color: var(--art-c-white); }

/* 12. Depoimentos em vídeo -------------------------------------------------- */
.art-testimonials-wrap { padding-top: 0; padding-bottom: 0; }
.art-testimonials { max-width: var(--art-container); margin: 0 auto; padding: 40px 20px 60px; }
.art-testimonials__header { margin-bottom: 30px; text-align: center; }
.art-testimonials__title { margin: 10px 0; font-size: 30px; font-weight: 700; }
.art-testimonials__header p { max-width: 720px; margin: 0 auto; line-height: 1.6; }

.art-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}
.art-testimonial { display: flex; flex-direction: column; gap: 10px; margin: 0; }

.art-video {
  position: relative;
  overflow: hidden;
  border-radius: var(--art-radius);
  aspect-ratio: 463 / 600;
  background: #000;
}
.art-video__el {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.92);
  transition: transform .25s ease, filter .25s ease;
}
.art-video__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--art-c-white);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 36px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .5);
  cursor: pointer;
}
.art-video__play:focus-visible { outline-color: var(--art-c-white); outline-offset: -4px; }
.art-video:hover .art-video__el { transform: scale(1.03); filter: brightness(1); }
.art-video.is-playing .art-video__play { display: none; }
.art-video.is-playing .art-video__el { transform: none; filter: none; object-fit: contain; }

.art-testimonial__caption h3 { margin: 0 0 4px; font-size: 16px; font-weight: 600; }
.art-testimonial__caption p { margin: 0; color: var(--art-c-muted); font-size: 14px; line-height: 1.5; }

.art-testimonials__cta { margin-top: 10px; text-align: center; }
.art-testimonials__cta h2 { margin: 10px 0 8px; font-size: 22px; font-weight: 600; }
.art-testimonials__cta p { margin: 0 0 10px; font-size: 15px; }
.art-testimonials__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 15px;
}
.art-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 40px;
  color: var(--art-c-white);
  font-size: 15px;
  line-height: 1.4;
  transition: background-color .25s ease, transform .2s ease;
}
.art-pill:hover { transform: translateY(-1px); }
.art-pill--blue { padding: 10px 26px; background: var(--art-c-cta-blue); font-weight: 500; }
.art-pill--blue:hover { background: var(--art-c-cta-blue-hover); }
.art-pill--wa { padding: 10px 22px; background: var(--art-c-wa); font-weight: 600; }
.art-pill--wa:hover { background: var(--art-c-wa-hover); }

.art-reviews-col { margin-top: 30px; }

/* 13. FAQ (details/summary) ------------------------------------------------- */
.art-faq { padding-bottom: 0; background: var(--art-c-soft); }
.art-faq .art-col { margin-bottom: 0; }
.art-faq__media img { display: block; }
.art-faq__title { margin-bottom: 25px; }

.art-accordion__item {
  margin-bottom: 10px;
  border: 1px solid var(--art-c-line-soft);
  background: var(--art-c-white);
}
.art-accordion__item summary {
  display: flex;
  align-items: flex-start;
  padding: 15px 25px;
  color: var(--art-c-text);
  font-size: 16px;
  font-weight: 600;
  line-height: 22px;
  letter-spacing: var(--art-ls-heading);
  list-style: none;
  cursor: pointer;
  transition: color .2s linear;
}
.art-accordion__item summary::-webkit-details-marker { display: none; }
.art-accordion__item summary:hover .art-accordion__q { color: var(--art-c-primary); }
.art-accordion__item summary:focus-visible { outline-offset: -2px; }
.art-accordion__icon {
  position: relative;
  flex: none;
  width: 25px;
  height: 25px;
  background: var(--art-c-text);
  transition: background .2s linear;
}
.art-accordion__icon::before,
.art-accordion__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 2px;
  background: var(--art-c-white);
  transform: translate(-50%, -50%);
}
.art-accordion__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.art-accordion__item[open] .art-accordion__icon::after { display: none; }
.art-accordion__item summary:hover .art-accordion__icon { background: var(--art-c-primary); }
.art-accordion__q { margin: 1px 0 0 18px; transition: color .2s linear; }
.art-accordion__a { padding: 10px 25px 15px; font-size: 16px; line-height: 22.4px; }

/* 14. Últimos artigos ------------------------------------------------------- */
.art-latest-posts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: start;
  margin: 0 -15px 50px;
}
.art-post {
  padding: 0 10px;
  border-radius: var(--art-radius);
  background: var(--art-c-card);
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .06);
}
.art-post__thumb { display: block; }
.art-post__thumb img {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: var(--art-radius);
}
.art-post__body { padding: 20px 18px; }
.art-post__title { margin: 15px 0 3px; font-size: 16px; font-weight: 600; }
.art-post__title a { transition: color .2s linear; }
.art-post__title a:hover { color: var(--art-c-primary); }
.art-latest .art-btn--spaced { margin-top: 30px; }

/* 15. Rodapé ------------------------------------------------------------------ */
.art-footer {
  position: relative;
  overflow: hidden;
  color: var(--art-f-text);
  line-height: 1.6;
  background:
    radial-gradient(1200px 420px at 10% 0%, rgba(23, 182, 214, .20), transparent 55%),
    radial-gradient(900px 520px at 96% 8%, rgba(20, 95, 160, .30), transparent 55%),
    linear-gradient(135deg, var(--art-f-navy) 0%, var(--art-f-blue) 55%, var(--art-f-deep) 100%);
}
.art-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .7;
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 9px);
}
.art-footer::after {
  content: "";
  position: absolute;
  left: 0; top: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--art-f-cyan), rgba(23, 182, 214, 0) 55%);
}
.art-footer :focus-visible { outline-color: var(--art-f-cyan-2); }
.art-footer__wrap { position: relative; max-width: var(--art-container); margin: 0 auto; padding: 58px 24px 0; }
.art-footer__cols { display: grid; grid-template-columns: 1.5fr 1fr 1.35fr 1.25fr; gap: 40px; }
.art-footer__logobox {
  display: inline-block;
  margin-bottom: 18px;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 12px;
  background: var(--art-c-white);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .2);
}
.art-footer__logobox img { display: block; width: auto; height: 44px; }
.art-footer__about { max-width: 320px; margin: 0; color: var(--art-f-muted); font-size: 14.5px; }
.art-footer__heading {
  position: relative;
  margin: 0 0 18px;
  padding-bottom: 11px;
  color: var(--art-c-white);
  font-size: 16px;
  font-weight: 700;
}
.art-footer__heading::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 40px; height: 3px;
  border-radius: 3px;
  background: var(--art-f-cyan);
}
.art-footer__links { margin: 0; padding: 0; list-style: none; }
.art-footer__links li { margin-bottom: 11px; }
.art-footer__links a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--art-f-text);
  font-size: 14.5px;
  transition: .18s;
}
.art-footer__links a::before {
  content: "›";
  color: var(--art-f-cyan-2);
  font-size: 17px;
  font-weight: 800;
  line-height: 1;
  transition: .18s;
}
.art-footer__links a:hover { color: var(--art-c-white); transform: translateX(3px); }
.art-footer__links a:hover::before { color: var(--art-c-white); }
.art-footer__contact { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; font-size: 14.5px; }
.art-footer__contact svg { flex: none; width: 20px; height: 20px; margin-top: 2px; color: var(--art-f-cyan-2); }
.art-footer__contact a { color: var(--art-f-text); }
.art-footer__contact a:hover { color: var(--art-c-white); }
.art-footer__social-wrap { margin-top: 22px; }
.art-footer__social-label { margin-bottom: 12px; color: var(--art-c-white); font-size: 14px; font-weight: 700; }
.art-footer__social { display: flex; gap: 12px; }
.art-footer__social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px; height: 54px;
  border: 1px solid var(--art-f-line);
  border-radius: 15px;
  background: rgba(255, 255, 255, .09);
  color: var(--art-c-white);
  transition: .22s;
}
.art-footer__social a svg { width: 27px; height: 27px; }
.art-footer__social a:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(0, 0, 0, .35); }
.art-footer__social a.is-ig:hover { border-color: transparent; background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
.art-footer__social a.is-wa:hover { border-color: transparent; background: var(--art-c-wa); }
.art-footer__bottom {
  position: relative;
  margin-top: 54px;
  padding: 36px 24px 34px;
  border-top: 1px solid var(--art-f-line);
  background: rgba(0, 0, 0, .38);
  color: var(--art-f-muted);
  font-size: 13.5px;
  text-align: center;
}
.art-footer__bottom b { color: var(--art-f-strong); font-weight: 600; }
.art-footer__copy { margin: 0 0 22px; }
.art-footer__totop {
  position: absolute;
  right: 26px; top: -24px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px; height: 48px;
  border-radius: 13px;
  background: var(--art-f-cyan);
  color: #062633;
  box-shadow: 0 12px 26px rgba(23, 182, 214, .45);
  transition: .2s;
}
.art-footer__totop:hover { transform: translateY(-3px); }
.art-footer__totop svg { width: 22px; height: 22px; }
.art-footer__credit {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--art-f-muted);
  font-size: 12px;
  transition: .2s;
}
.art-footer__clogo { position: relative; display: inline-flex; align-items: center; justify-content: center; }
.art-footer__clogo::before {
  content: "";
  position: absolute;
  inset: -5px;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(90, 210, 255, .28), rgba(90, 210, 255, 0) 72%);
  filter: blur(5px);
}
.art-footer__clogo img { position: relative; z-index: 1; display: block; width: auto; height: 26px; }
.art-footer__credit em { font-style: normal; opacity: .72; }
.art-footer__credit:hover { color: var(--art-c-white); }

/* ==========================================================================
   Responsivo
   ========================================================================== */

/* Menu colapsado (<= 1024px, igual ao data-breakpoint do Avada) */
@media (max-width: 1024px) {
  .art-nav { display: flex; justify-content: center; }
  .art-nav__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border: 0;
    background: var(--art-c-white);
    color: var(--art-c-nav-mobile);
    line-height: 1;
    cursor: pointer;
  }
  .art-nav__toggle svg { display: block; height: 16px; }
  .art-nav__icon-open { width: 16px; }
  .art-nav__icon-close { display: none !important; width: 16px; }
  .art-nav.is-open .art-nav__icon-open { display: none; }
  .art-nav.is-open .art-nav__icon-close { display: block !important; }

  .art-menu {
    position: absolute;
    left: 0; right: 0; top: 100%;
    display: none;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    background: var(--art-c-white);
    box-shadow: 0 10px 20px -10px rgba(0, 0, 0, .15);
  }
  .art-nav.is-open .art-menu { display: block; }
  .art-menu__item { position: relative; border-bottom: 1px solid rgba(0, 0, 0, .1); }
  .art-menu__link {
    height: 65px;
    padding: 0 24px;
    color: var(--art-c-nav-mobile);
    font-size: 16px;
    font-weight: 400;
    letter-spacing: var(--art-ls-body);
  }
  .art-menu__item.has-sub > .art-menu__link { padding-right: 80px; }
  .art-menu__item.is-current > .art-menu__link,
  .art-menu__item.is-open > .art-menu__link { background: var(--art-c-header-a); }
  .art-menu__item.is-current > .art-menu__link,
  .art-menu__item:hover > .art-menu__link,
  .art-menu__item:focus-within > .art-menu__link { color: var(--art-c-nav-mobile); }
  .art-menu__caret { display: none; }
  .art-menu__sub-toggle {
    position: absolute;
    top: 0; right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px; height: 65px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #000;
    cursor: pointer;
  }
  .art-menu__sub-toggle svg { width: 9px; height: 5px; transition: transform .3s; }
  .art-menu__item.is-open > .art-menu__sub-toggle svg { transform: rotate(180deg); }

  .art-submenu {
    position: static;
    display: none;
    min-width: 0;
    opacity: 1;
    visibility: visible;
    transition: none;
  }
  .art-menu__item:hover > .art-submenu,
  .art-menu__item:focus-within > .art-submenu { display: none; }
  .art-menu__item.is-open > .art-submenu { display: block; }
  .art-submenu li,
  .art-submenu li:hover,
  .art-submenu li:focus-within { background: var(--art-c-white); border-top: 1px solid rgba(0, 0, 0, .1); border-bottom: 0; }
  .art-submenu a {
    display: flex;
    align-items: center;
    height: 65px;
    padding: 0 24px 0 40px;
    color: var(--art-c-nav-mobile);
    font-size: 16px;
    letter-spacing: var(--art-ls-body);
    white-space: normal;
  }
  .art-submenu a:focus-visible { outline-color: var(--art-c-primary); }

  .art-latest-posts { grid-template-columns: repeat(2, 1fr); row-gap: 30px; }
}

@media (max-width: 900px) {
  .art-testimonials__grid { grid-template-columns: repeat(2, 1fr); }
  .art-footer__cols { grid-template-columns: 1fr 1fr; gap: 34px; }
}

/* Celular (<= 640px, breakpoint "small" do Avada) */
@media (max-width: 640px) {
  :root { --art-title-gap: 10px; }

  /* header mobile: logo | instagram | menu */
  .art-header { padding: 8px 10px; border-top: 0; background: var(--art-c-white); box-shadow: none; }
  .art-header__inner { height: var(--art-header-h-mobile); }
  .art-header__brand { width: 60%; padding-inline: 2.4%; }
  .art-header__logo img { max-width: 204px; }
  .art-header__social { order: 2; display: flex; justify-content: center; width: 20%; }
  .art-header__ig { display: flex; color: var(--art-c-primary); }
  .art-header__ig svg { width: 16px; height: 16px; }
  .art-nav { order: 3; justify-content: flex-end; width: 20%; padding-inline: 0 .8%; }
  .art-header__cta { display: none; }
  .art-menu { top: calc(100% - 11.5px); } /* painel encosta no botão, como no Avada */

  /* hero mobile */
  .art-hero__slide img { aspect-ratio: var(--art-hero-ratio-mobile); }
  .art-hero--cover .art-hero__slide img { height: auto; aspect-ratio: var(--art-hero-ratio-mobile); }

  /* faixa de ícones 2x2 */
  .art-features { padding: 10px; }
  .art-feature { flex-direction: column; align-items: stretch; width: 50%; padding-inline: 2%; margin-bottom: 20px; }
  .art-feature__icon, .art-feature__text { width: 100%; padding-inline: 4%; text-align: center; }

  /* colunas empilhadas */
  .art-col--60, .art-col--50 { width: 100%; padding-inline: 4%; }

  .art-latest-posts { grid-template-columns: 1fr; row-gap: 50px; }
}

@media (max-width: 600px) {
  .art-testimonials__grid { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .art-footer__cols { grid-template-columns: 1fr; }
  .art-footer__totop { display: none; }
}


@media (prefers-reduced-motion: reduce) {
  .art-hero__slide { transition-duration: .01s; }
}

@media print {
  .art-nav__toggle { display: none !important; }
}

/* ==========================================================================
   Páginas internas, cidades, blog e FAQ
   ========================================================================== */
.art-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.art-ico { width: 1.15em; height: 1.15em; flex: none; vertical-align: -.2em; }
.art-wrap { max-width: var(--art-container); margin: 0 auto; padding-inline: 20px; }
.art-wrap--narrow { max-width: 860px; }
.art-main { display: block; }

.art-eyebrow { display: inline-block; margin: 0 0 10px; color: var(--art-c-primary-active); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.art-h2 { margin: 0 0 24px; font-size: clamp(26px, 3.2vw, 34px); font-weight: 700; color: var(--art-c-text); }
.art-link { color: var(--art-c-primary-active); font-weight: 600; }
.art-link:hover { text-decoration: underline; }

.art-btn--wa { gap: 10px; background: linear-gradient(135deg, var(--art-c-wa-deep) 0%, var(--art-c-wa) 60%, var(--art-c-wa-mid) 100%); font-weight: 700; box-shadow: 0 10px 24px -12px rgba(28, 138, 74, .8); }
.art-btn--wa .art-ico { width: 20px; height: 20px; }
.art-btn--wa:hover, .art-btn--wa:focus-visible { background: var(--art-c-wa-deep); }
.art-btn--light { background: #fff; color: var(--art-c-wa-deep); }
.art-btn--light:hover, .art-btn--light:focus-visible { background: #effff5; color: var(--art-c-wa-deep); }

/* Breadcrumb */
.art-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0 0 14px; padding: 0; list-style: none; font-size: 13px; color: var(--art-c-muted); }
.art-crumbs li + li::before { content: "/"; margin: 0 8px; opacity: .5; }
.art-crumbs a:hover { color: var(--art-c-primary-active); }

/* Faixa de título das páginas internas */
.art-pagehead { padding: 40px 0 34px; background: linear-gradient(180deg, var(--art-c-header-a), var(--art-c-header-b)); border-bottom: 1px solid var(--art-c-line-soft); }
.art-pagehead__title { margin: 0; font-size: clamp(28px, 4vw, 40px); font-weight: 700; }
.art-pagehead__lead { max-width: 760px; margin: 12px 0 0; color: var(--art-c-muted); font-size: 17px; line-height: 1.55; }

/* Texto corrido */
.art-content { padding-top: 40px; padding-bottom: 60px; }
.art-prose { font-size: 17px; line-height: 1.7; }
.art-prose > * + * { margin-top: 0; }
.art-prose h2 { margin: 36px 0 14px; font-size: clamp(24px, 3vw, 30px); font-weight: 700; }
.art-prose h3 { margin: 28px 0 10px; font-size: 21px; font-weight: 700; }
.art-prose p { margin: 0 0 18px; }
.art-prose ul, .art-prose ol { margin: 0 0 20px; padding-left: 22px; }
.art-prose li { margin-bottom: 6px; }
.art-prose a { color: var(--art-c-primary-active); text-decoration: underline; text-underline-offset: 2px; }
.art-prose a.art-btn { color: #fff; text-decoration: none; }
.art-prose img { border-radius: var(--art-radius); }
.art-prose blockquote { margin: 24px 0; padding: 14px 22px; border-left: 4px solid var(--art-c-primary); background: var(--art-c-soft); }
.art-prose table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 15px; }
.art-prose th, .art-prose td { padding: 10px 12px; border: 1px solid #e3e6ea; text-align: left; }
.art-prose th { background: var(--art-c-soft); }

/* Hero das páginas de cidade */
.art-lhero { padding: 34px 0 30px; background: linear-gradient(135deg, #eaf8ff 0%, #f7fbfd 55%, #ffffff 100%); }
.art-lhero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 44px; align-items: center; }
.art-lhero__title { margin: 0 0 14px; font-size: clamp(30px, 4.2vw, 46px); font-weight: 800; line-height: 1.12; }
.art-lhero__lead { max-width: 600px; margin: 0 0 24px; color: #2f3a44; font-size: 18px; line-height: 1.55; }
.art-lhero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; }
.art-lhero__hint { display: inline-flex; align-items: center; gap: 8px; color: var(--art-c-muted); font-size: 14px; }
.art-lhero__media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 18px; box-shadow: 0 24px 50px -24px rgba(10, 32, 51, .45); }

.art-trust { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: -18px 0 0; padding: 16px 18px; list-style: none; position: relative; z-index: 2; background: #fff; border-radius: 14px; box-shadow: 0 10px 30px -14px rgba(10, 32, 51, .3); }
.art-trust li { display: flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.3; }
.art-trust .art-ico { width: 26px; height: 26px; color: var(--art-c-primary-active); }

/* Conteúdo local + lateral */
.art-local { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 48px; padding-top: 50px; padding-bottom: 50px; }
.art-local__main h2:first-child { margin-top: 0; }
.art-local__side { display: flex; flex-direction: column; gap: 20px; }
.art-sidecard { position: sticky; top: 20px; padding: 24px; border-radius: 16px; background: var(--art-f-navy); color: var(--art-f-text); }
.art-sidecard__title { margin: 0 0 8px; color: #fff; font-size: 20px; font-weight: 700; }
.art-sidecard p { font-size: 15px; line-height: 1.55; }
.art-sidecard .art-btn { width: 100%; }
.art-places { padding: 22px 24px; border: 1px solid #e3e9ef; border-radius: 16px; }
.art-places h3 { margin: 0 0 12px; font-size: 17px; }
.art-places ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.art-places li { display: inline-flex; align-items: center; gap: 4px; padding: 6px 10px; border-radius: 99px; background: var(--art-c-soft); font-size: 13px; }
.art-places .art-ico { color: var(--art-c-primary-active); }

.art-local-faq { margin-top: 36px; }
.art-local-faq h2 { margin-top: 0; }

/* Acordeão genérico (FAQ local, página de FAQ, shortcode) */
.art-acc__item, .art-local-faq details { margin-bottom: 10px; border: 1px solid #e5e9ee; border-radius: 12px; background: #fff; }
.art-acc__item summary, .art-local-faq summary { position: relative; padding: 16px 52px 16px 20px; font-size: 16px; font-weight: 600; line-height: 1.4; list-style: none; cursor: pointer; }
.art-acc__item summary::-webkit-details-marker, .art-local-faq summary::-webkit-details-marker { display: none; }
.art-acc__item summary::after, .art-local-faq summary::after { content: "+"; position: absolute; right: 18px; top: 50%; width: 26px; height: 26px; margin-top: -13px; border-radius: 50%; background: var(--art-c-text); color: #fff; font-size: 18px; line-height: 26px; text-align: center; transition: background .2s; }
.art-acc__item[open] summary::after, .art-local-faq details[open] summary::after { content: "−"; background: var(--art-c-primary); }
.art-acc__body, .art-local-faq details > div, .art-local-faq details > p { padding: 0 20px 16px; font-size: 16px; line-height: 1.6; }
.art-acc__body p:last-child { margin-bottom: 0; }

/* Blocos comuns */
.art-block { padding: 64px 0; }
.art-block--tint { background: var(--art-c-soft); }
.art-block--dark { background: linear-gradient(135deg, var(--art-f-navy), var(--art-f-deep)); color: var(--art-f-text); }
.art-block--dark .art-h2 { color: #fff; }
.art-block--dark .art-eyebrow { color: var(--art-f-cyan-2); }

.art-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.art-benefit { padding: 24px; border-radius: 16px; background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .05); }
.art-benefit .art-ico { width: 30px; height: 30px; padding: 6px; border-radius: 50%; background: #e3f6ff; color: var(--art-c-primary-active); }
.art-benefit h3 { margin: 12px 0 6px; font-size: 18px; }
.art-benefit p { margin: 0; color: var(--art-c-muted); font-size: 15px; line-height: 1.55; }

.art-floors { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.art-floor { overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); transition: transform .2s, box-shadow .2s; }
.art-floor:hover { transform: translateY(-3px); box-shadow: 0 12px 26px -12px rgba(0, 0, 0, .3); }
.art-floor img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.art-floor__body { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px 20px; font-size: 14px; color: var(--art-c-muted); }
.art-floor__body b { color: var(--art-c-text); font-size: 16px; }

.art-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin: 0; padding: 0; list-style: none; }
.art-step { padding: 26px; border: 1px solid var(--art-f-line); border-radius: 16px; background: rgba(255, 255, 255, .04); }
.art-step__n { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--art-f-cyan); color: #fff; font-weight: 800; }
.art-step h3 { margin: 14px 0 8px; color: #fff; font-size: 19px; }
.art-step p { margin: 0; font-size: 15px; line-height: 1.55; }

.art-svc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; }
.art-svc { display: flex; flex-direction: column; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .06); transition: transform .2s, box-shadow .2s; }
.art-svc:hover { transform: translateY(-3px); box-shadow: 0 14px 28px -14px rgba(0, 0, 0, .3); }
.art-svc__img img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.art-svc__body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 16px 18px 18px; }
.art-svc__title { font-size: 16px; font-weight: 700; }
.art-svc__desc { flex: 1; color: var(--art-c-muted); font-size: 14px; line-height: 1.5; }
.art-svc__more { display: inline-flex; align-items: center; gap: 6px; color: var(--art-c-primary-active); font-size: 14px; font-weight: 700; }

.art-cities { columns: 3 260px; column-gap: 36px; }
.art-cities__group { break-inside: avoid; margin-bottom: 26px; }
.art-cities__region { margin: 0 0 10px; font-size: 17px; font-weight: 700; }
.art-cities ul, .art-citylinks { margin: 0; padding: 0; list-style: none; }
.art-cities li a, .art-citylinks a { display: inline-flex; align-items: center; gap: 6px; padding: 4px 0; font-size: 15px; }
.art-cities li a:hover, .art-citylinks a:hover { color: var(--art-c-primary-active); }
.art-cities .art-ico, .art-citylinks .art-ico { color: var(--art-c-primary-active); }
.art-citylinks { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 4px 24px; }

.art-reviews { min-height: 120px; }

.art-ctaband { padding: 44px 0; background: linear-gradient(135deg, #0d99d9 0%, var(--art-c-primary) 100%); color: #fff; }
.art-ctaband .art-wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; }
.art-ctaband h2 { margin: 0 0 6px; font-size: clamp(22px, 3vw, 30px); font-weight: 800; }
.art-ctaband p { max-width: 640px; margin: 0; opacity: .92; }

/* Páginas com layout próprio (landing pages migradas) */
.art-bare__crumbs { padding-top: 16px; }
.art-bare__crumbs .art-crumbs ol { margin-bottom: 6px; }

/* Blog */
.art-blog { padding-top: 34px; padding-bottom: 60px; }
.art-blog .art-latest-posts, .art-latest-posts--3 { grid-template-columns: repeat(3, 1fr); gap: 26px; margin: 0 0 40px; }
.art-latest-posts--3 .art-post { padding: 0; }
.art-latest-posts--3 .art-post__thumb img { height: auto; aspect-ratio: 700 / 441; border-radius: var(--art-radius) var(--art-radius) 0 0; }
.art-post__body p { margin: 0; color: var(--art-c-muted); font-size: 14px; line-height: 1.5; }
.art-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.art-chip { padding: 8px 14px; border: 1px solid #dfe5ea; border-radius: 99px; font-size: 14px; font-weight: 600; }
.art-chip:hover, .art-chip.is-active { border-color: var(--art-c-primary); background: var(--art-c-primary); color: #fff; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.nav-links .page-numbers { display: inline-flex; min-width: 42px; height: 42px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid #dfe5ea; border-radius: 99px; font-weight: 600; }
.nav-links .page-numbers.current, .nav-links a.page-numbers:hover { border-color: var(--art-c-primary); background: var(--art-c-primary); color: #fff; }

.art-article__head { padding: 34px 0 10px; }
.art-article__title { margin: 6px 0 10px; font-size: clamp(28px, 4vw, 42px); font-weight: 800; line-height: 1.15; }
.art-article__meta { color: var(--art-c-muted); font-size: 14px; }
.art-article__img { margin-top: 10px; margin-bottom: 24px; }
.art-article__img img { display: block; width: 100%; border-radius: 16px; }
.art-article > .art-prose { padding-bottom: 40px; }
.art-article--ownhead .art-article__head { display: none; }
.art-article__rich { overflow: hidden; }
.art-article__rich > .video-shortcode, .art-article__rich > video { display: block; max-width: 860px; margin: 0 auto; }

.art-faqpage { padding-top: 40px; padding-bottom: 50px; }
.art-faqgroup { margin-bottom: 40px; }
.art-faqgroup .art-h2 { font-size: 24px; }
.art-links { padding-left: 20px; }

/* Responsivo das páginas internas */
@media (max-width: 1024px) {
  .art-local { grid-template-columns: 1fr; gap: 30px; }
  .art-sidecard { position: static; }
  .art-floors { grid-template-columns: repeat(2, 1fr); }
  .art-benefits { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
  .art-lhero__grid { grid-template-columns: 1fr; gap: 24px; }
  .art-lhero__media { order: -1; }
  .art-trust { grid-template-columns: repeat(2, 1fr); margin-top: 18px; }
  .art-steps { grid-template-columns: 1fr; }
  .art-blog .art-latest-posts, .art-latest-posts--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .art-block { padding: 44px 0; }
  .art-benefits, .art-floors { grid-template-columns: 1fr; }
  .art-blog .art-latest-posts, .art-latest-posts--3 { grid-template-columns: 1fr; }
  .art-lhero { padding-top: 18px; }
  .art-lhero__lead { font-size: 16px; }
  .art-lhero__actions .art-btn { width: 100%; }
  .art-prose { font-size: 16px; }
  .art-ctaband .art-btn { width: 100%; }
}

/* Páginas migradas do Avada (estrutura convertida em HTML limpo).
   Regras com :where() têm especificidade zero: o CSS próprio de cada landing
   page (que vinha no conteúdo) sempre vence, como no Avada. */
.art-sec { position: relative; }
.art-sec--box > .art-wrap { max-width: var(--art-container); }
.art-sec--full > .art-sec__in { width: 100%; }
:where(.art-sec) ul, :where(.art-sec) ol { margin: 0 0 20px; }
.art-cols { display: flex; flex-wrap: wrap; align-items: flex-start; margin: 0 -14px; }
.art-col-x { flex: 0 0 var(--w, 100%); max-width: var(--w, 100%); padding: 0 14px; margin-bottom: 20px; }
:where(.art-figure) { margin: 0 0 20px; }
:where(.art-figure) img { display: block; height: auto; }
:where(.art-check) { margin: 0 0 20px; padding: 0; list-style: none; }
:where(.art-check) li { position: relative; margin-bottom: 10px; padding-left: 30px; }
:where(.art-check) li::before { content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--art-c-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E") center / 12px no-repeat; }
:where(.art-gallery) { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin: 0 0 24px; }
:where(.art-gallery) figure { margin: 0; }
:where(.art-gallery) img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--art-radius); }
:where(.art-sec, .art-article__rich, .art-prose) video { max-width: 100%; height: auto; }
.art-sec iframe { max-width: 100%; }
@media (max-width: 800px) {
  .art-col-x { flex-basis: 100%; max-width: 100%; }
}
.art-article__rich > .pfWrap { max-width: 1200px; margin: 0 auto; padding: 24px 20px 10px; }

.art-4vids { align-items: start; }
/* Blocos de depoimento em vídeo com 4 cards (o 4º foi incluído na migração). */
@media (min-width: 1025px) {
  .art-4vids { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (min-width: 641px) and (max-width: 1024px) {
  .art-4vids { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Páginas de cidade: blocos com variação por página */
@media (min-width: 1025px) { .art-benefits--4 { grid-template-columns: repeat(4, 1fr); } }
.art-svc--compact .art-svc__img img { aspect-ratio: 16 / 9; }
.art-svc--compact .art-svc__body { padding: 12px 14px 14px; }
.art-svc--compact .art-svc__title { font-size: 15px; line-height: 1.35; }
