/* =====================================================================
   Maids & More — design system compartilhado (clean-tech)
   Fonte única de CSS para todas as páginas do site.
   Extraído de index.html (2026-07-28) — ver docs/superpowers/specs/
   ===================================================================== */

/* ===== TOKENS ===== */
:root{
  --teal-900:#003D3D; --teal-700:#007A7A; --teal-500:#009999; --teal-300:#4DBFBF;
  --mint-200:#D7EDB4; --green-700:#185624; --green-500:#008E4A;
  --gold-500:#F5C400; --gold-600:#D9AD00;
  --ink-900:#1B252F; --ink-700:#333333; --ink-500:#595959;
  --paper:#F6FAF9; --white:#FFFFFF; --line:#E4EAEA;

  --grad-hero:linear-gradient(135deg,#003D3D 0%,#009999 55%,#00A99D 100%);
  --grad-band:linear-gradient(100deg,#009999 0%,#007A7A 100%);
  --grad-soft:linear-gradient(180deg,#FFFFFF 0%,#F6FAF9 100%);
  --grad-mesh:radial-gradient(circle at 85% 15%,rgba(215,237,180,.12) 0%,transparent 55%);

  --r-card:16px; --r-form:20px; --r-btn:10px;
  --sh-card:0 4px 20px rgba(0,61,61,.08),0 1px 2px rgba(0,153,153,.06);
  --sh-form:0 24px 60px rgba(0,61,61,.22);
  --sh-hover:0 14px 36px rgba(0,153,153,.22),0 0 0 1px rgba(0,153,153,.08);
  --ease:220ms cubic-bezier(.4,0,.2,1);
  --pad-section:clamp(64px,8vw,112px);

  /* ---- clean-tech fx tokens ---- */
  --glow-teal-soft:0 0 18px rgba(77,191,191,.35);
  --glow-gold:0 0 0 1px rgba(217,164,65,.4),0 0 26px rgba(217,164,65,.4);
  --glass-blur:14px;
  --grid-line:rgba(255,255,255,.07);
  --grid-cell:44px;
  --font-display:'Space Grotesk',system-ui,-apple-system,Arial,sans-serif;
}

/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:Inter,system-ui,-apple-system,Arial,sans-serif;
  font-size:1.0625rem; line-height:1.7; color:var(--ink-500);
  background:var(--white); -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; height:auto; display:block}
h1,h2,h3,h4{margin:0 0 .5em; color:var(--ink-700); line-height:1.15; font-weight:600; font-family:var(--font-display)}
h1{font-size:clamp(2.5rem,5vw,4rem); letter-spacing:-.02em; font-weight:700}
h2{font-size:clamp(2rem,3.5vw,3rem); letter-spacing:-.015em; font-weight:600}
h3{font-size:1.25rem; font-weight:600}
p{margin:0 0 1rem}
a{color:inherit; text-decoration:none}
button,input,select{font:inherit; color:inherit}
:focus-visible{outline:3px solid var(--gold-500); outline-offset:2px}

/* ===== UTILITIES ===== */
.container{max-width:1200px; margin-inline:auto; padding-inline:24px}
.section{padding-block:var(--pad-section); position:relative}
.section--paper{background:var(--paper)}
.section--band{background:var(--grad-band); color:#fff}
.section--band h2,.section--band h3{color:#fff}
.section--dark{background:var(--ink-900); color:rgba(255,255,255,.75)}
.section--dark h2,.section--dark h3{color:#fff}
.section--mesh::before{
  content:""; position:absolute; inset:0; background:var(--grad-mesh); pointer-events:none;
}
.section > .container{position:relative; z-index:1}

.eyebrow{
  font-family:var(--font-display);
  font-size:.875rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.12em; color:var(--teal-500); margin-bottom:.75rem; display:block;
}
.section--band .eyebrow,.section--dark .eyebrow{color:var(--mint-200)}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.875rem 1.75rem; border-radius:var(--r-btn); border:0; cursor:pointer;
  font-size:1rem; font-weight:600; letter-spacing:.01em; transition:var(--ease);
  transition-property:transform,box-shadow,background-color;
}
/* dourado SEMPRE com texto ink-900 — requisito de contraste AA */
.btn--gold{background:var(--gold-500); color:var(--ink-900)}
.btn--gold:hover{background:var(--gold-600); transform:translateY(-2px); box-shadow:0 8px 24px rgba(217,164,65,.35),var(--glow-gold)}
.btn--ghost{background:transparent; color:#fff; border:2px solid rgba(255,255,255,.45)}
.btn--ghost:hover{background:rgba(255,255,255,.12); border-color:#fff; box-shadow:var(--glow-teal-soft)}

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

/* animação de entrada — desativada por prefers-reduced-motion no fim do arquivo */
.reveal{opacity:0; transform:translateY(24px); transition:opacity 600ms ease,transform 600ms ease}
.reveal.is-visible{opacity:1; transform:none}

/* ===== MOTION KEYFRAMES (desligadas por prefers-reduced-motion no fim do arquivo) ===== */
@keyframes gradientBreathe{
  0%,100%{ background-position:0% 50% }
  50%{ background-position:100% 50% }
}
@keyframes gridDrift{
  0%{ background-position:0 0 }
  100%{ background-position:var(--grid-cell) var(--grid-cell) }
}
@keyframes glowPulse{
  0%,100%{ opacity:.55 }
  50%{ opacity:1 }
}
@keyframes energyRun{
  0%{ background-position:0 0 }
  100%{ background-position:40px 0 }
}
@keyframes energyRunY{
  0%{ background-position:0 0 }
  100%{ background-position:0 40px }
}

/* ===== FX UTILITIES ===== */
.fx-grid{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(var(--grid-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:var(--grid-cell) var(--grid-cell);
  animation:gridDrift 34s linear infinite;
}

/* ===== HEADER ===== */
:root{ --header-h:108px; }

.topbar{background:var(--teal-900); color:rgba(255,255,255,.9); font-size:.875rem}
.topbar__inner{display:flex; align-items:center; gap:2rem; min-height:44px}
.topbar__item{display:inline-flex; align-items:baseline; gap:.4rem; transition:color var(--ease)}
.topbar__item:hover{color:var(--mint-200)}
.topbar__label{font-size:.75rem; opacity:.6; margin-left:.25rem}
.topbar__cta{margin-left:auto; padding:.45rem 1.1rem; font-size:.8125rem}

.site-header{
  position:sticky; top:0; z-index:50; min-height:var(--header-h);
  background:transparent; transition:background-color var(--ease),box-shadow var(--ease);
}
.site-header.is-stuck{
  background:rgba(0,61,61,.78);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);
  backdrop-filter:blur(var(--glass-blur)) saturate(140%);
  box-shadow:0 4px 24px rgba(0,61,61,.28),inset 0 -1px 0 rgba(255,255,255,.08);
}
.site-header__inner{display:flex; align-items:center; gap:2rem; min-height:var(--header-h)}
.site-header__logo img{width:180px; height:auto}

.site-nav{display:flex; align-items:center; gap:1.75rem; margin-left:auto}
.site-nav a{
  color:#fff; font-size:.9375rem; font-weight:500; padding:.35rem 0;
  border-bottom:2px solid transparent; transition:border-color var(--ease),color var(--ease);
}
.site-nav a:hover,.site-nav a.is-current{border-bottom-color:var(--gold-500); box-shadow:0 6px 12px -7px rgba(217,164,65,.8)}

.nav-toggle{
  display:none; margin-left:auto; background:transparent; border:0; cursor:pointer;
  padding:.5rem; flex-direction:column; gap:5px;
}
.nav-toggle__bar{display:block; width:26px; height:2px; background:#fff; transition:var(--ease)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2){transform:rotate(45deg) translate(2px,2px)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(4){transform:rotate(-45deg) translate(2px,-2px)}

/* ===== NAV DROPDOWN (Services) ===== */
.site-nav__group{position:relative}
.site-nav__trigger{
  display:inline-flex; align-items:center; gap:.3rem;
  background:transparent; border:0; cursor:pointer; font:inherit;
  color:#fff; font-size:.9375rem; font-weight:500; padding:.35rem 0;
  border-bottom:2px solid transparent; transition:border-color var(--ease),color var(--ease);
}
.site-nav__trigger:hover,
.site-nav__group.is-open .site-nav__trigger,
.site-nav__trigger.is-current{
  border-bottom-color:var(--gold-500); box-shadow:0 6px 12px -7px rgba(217,164,65,.8);
}
.site-nav__caret{display:inline-block; font-size:.65em; transition:transform var(--ease)}
.site-nav__group.is-open .site-nav__caret,
.site-nav__group:hover .site-nav__caret,
.site-nav__group:focus-within .site-nav__caret{transform:rotate(180deg)}

.site-nav__menu{
  position:absolute; top:100%; left:0; margin-top:.65rem; min-width:250px;
  background:rgba(0,50,50,.96); border:1px solid rgba(255,255,255,.14); border-radius:var(--r-card);
  padding:.5rem; display:grid; gap:.15rem;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity var(--ease),transform var(--ease),visibility var(--ease);
  box-shadow:var(--sh-hover);
  -webkit-backdrop-filter:blur(var(--glass-blur)); backdrop-filter:blur(var(--glass-blur));
  z-index:60;
}
.site-nav__menu a{
  display:block; padding:.6rem .75rem; border-radius:8px; font-size:.9rem;
  color:rgba(255,255,255,.85); border-bottom:0;
}
.site-nav__menu a:hover,.site-nav__menu a:focus-visible,.site-nav__menu a.is-current{
  background:rgba(255,255,255,.12); color:#fff;
}
.site-nav__group:hover .site-nav__menu,
.site-nav__group:focus-within .site-nav__menu,
.site-nav__group.is-open .site-nav__menu{
  opacity:1; visibility:visible; transform:none;
}

@media (max-width:900px){
  .nav-toggle{display:flex}
  .site-nav{
    position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0;
    background:var(--teal-900); padding:0 24px; margin:0;
    max-height:0; overflow:hidden; transition:max-height 300ms ease;
  }
  .site-nav.is-open{max-height:80vh; overflow-y:auto; padding-block:1rem}
  .site-nav a{padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.1)}

  .site-nav__group{width:100%; border-bottom:1px solid rgba(255,255,255,.1)}
  .site-nav__trigger{width:100%; justify-content:space-between; padding:.85rem 0; border-bottom:0}
  .site-nav__menu{
    position:static; opacity:1; visibility:visible; transform:none;
    max-height:0; overflow:hidden; padding:0; margin:0; border:0;
    background:rgba(0,0,0,.15); box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none;
    transition:max-height 260ms ease;
  }
  .site-nav__group:hover .site-nav__menu,
  .site-nav__group:focus-within .site-nav__menu,
  .site-nav__group.is-open .site-nav__menu{
    max-height:400px; padding:.2rem 0 .6rem;
  }
  .site-nav__menu a{padding:.65rem 1rem; font-size:.9375rem}
}
@media (max-width:768px){
  .topbar{display:none}
}

/* ===== HERO ===== */
.hero{
  position:relative; margin-top:calc(var(--header-h) * -1);
  padding-top:calc(var(--header-h) + clamp(48px,7vw,96px));
  padding-bottom:clamp(112px,11vw,168px);
  background:var(--grad-hero); background-size:220% 220%;
  animation:gradientBreathe 22s ease-in-out infinite;
  color:#fff; overflow:hidden;
}
.hero::before{content:""; position:absolute; inset:0; background:var(--grad-mesh); pointer-events:none; z-index:0}
.hero__grid{
  opacity:.5;
  mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 78%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 78%,transparent);
}
.hero__particles{position:absolute; inset:0; z-index:0; pointer-events:none; width:100%; height:100%}

/* foto da profissional à direita, com fade na base para fundir com o gradiente */
.hero__media{
  position:absolute; inset:0 0 0 auto; width:52%;
  background:url('hero-cover.png') right center / cover no-repeat;
  -webkit-mask-image:linear-gradient(to left,#000 30%,transparent 100%),
                     linear-gradient(to top,transparent 0%,#000 28%);
  -webkit-mask-composite:source-in; mask-image:linear-gradient(to left,#000 30%,transparent 100%),
                     linear-gradient(to top,transparent 0%,#000 28%);
  mask-composite:intersect;
  opacity:.9;
}
.hero__inner{position:relative; z-index:1}
.hero__copy{max-width:640px}
.hero h1{color:#fff; margin-bottom:.35em}
.hero__highlight{
  display:inline-block; font-size:clamp(1.375rem,2.4vw,1.75rem);
  color:var(--ink-900); background:var(--gold-500);
  padding:.1em .4em; border-radius:8px; box-shadow:var(--glow-gold);
  box-decoration-break:clone; -webkit-box-decoration-break:clone;
}
.hero__sub{font-size:1.125rem; color:rgba(255,255,255,.88); max-width:34ch; margin-bottom:1.75rem}

.hero__badges{display:flex; flex-wrap:wrap; gap:.625rem; list-style:none; margin:0; padding:0}
.hero__badges li{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.4rem .9rem; border-radius:999px; font-size:.875rem; font-weight:500;
  color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25);
}
.hero__badges li::before{content:"\2713"; color:var(--mint-200); font-weight:700}

/* o slot do form avança para fora do hero */
.hero__form-slot{position:relative; z-index:2; margin-top:clamp(32px,5vw,56px); margin-bottom:-96px}

@media (max-width:900px){
  .hero__media{width:100%; opacity:.28}
  .hero__sub{max-width:none}
}
@media (max-width:768px){
  .hero__form-slot{margin-bottom:0}
}

/* ===== QUOTE FORM (hero) ===== */
.quote-card{
  position:relative;
  background:var(--white); border-radius:var(--r-form);
  box-shadow:var(--sh-form),0 0 0 1px rgba(0,153,153,.14);
  padding:6px; transition:box-shadow 400ms ease;
}
.quote-card::after{
  content:""; position:absolute; inset:-2px; z-index:-1; border-radius:inherit;
  box-shadow:0 0 46px rgba(0,153,153,.4); pointer-events:none;
  animation:glowPulse 4.5s ease-in-out infinite;
}
.quote-card.is-highlighted{box-shadow:var(--sh-form),0 0 0 4px var(--gold-500),0 0 48px rgba(217,164,65,.38)}

.quote-form__grid{
  display:grid; align-items:stretch;
  grid-template-columns:1.15fr 1fr 1.35fr 1fr 1fr 1.15fr auto;
}
.qf-cell{position:relative; display:flex}
/* divisórias de 1px entre células — nunca bordas por campo */
.qf-cell + .qf-cell::before{
  content:""; position:absolute; left:0; top:14%; bottom:14%; width:1px; background:var(--line);
}
.qf-cell--submit + .qf-cell::before,.qf-cell--submit::before{display:none}

.qf-cell input,.qf-cell select{
  width:100%; border:0; background:transparent; padding:1.15rem 1rem;
  font-size:.9375rem; color:var(--ink-700); border-radius:14px;
}
.qf-cell input::placeholder{color:#9AA5A5}
.qf-cell select{
  appearance:none; cursor:pointer; color:var(--ink-700);
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%23009999' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.25rem;
}
.qf-cell input:focus,.qf-cell select:focus{
  outline:none; background-color:rgba(0,153,153,.06);
  box-shadow:inset 0 0 0 1px rgba(0,153,153,.35),0 0 0 4px rgba(0,153,153,.1);
}
.qf-cell input:focus-visible,.qf-cell select:focus-visible{outline:3px solid var(--gold-500); outline-offset:-3px}
.qf-cell.has-error input,.qf-cell.has-error select{background-color:rgba(214,69,69,.07); box-shadow:inset 0 0 0 1px #D64545}

.qf-cell--submit{padding:0}
.quote-form__submit{
  height:100%; width:100%; border-radius:14px; padding-inline:1.75rem; white-space:nowrap;
}
.quote-form__error{
  margin:.6rem 1rem .35rem; font-size:.875rem; font-weight:500; color:#D64545;
}
.quote-legal{
  margin:1rem 0 0; font-size:.8125rem; color:rgba(255,255,255,.75); text-align:left;
}
.quote-legal a{text-decoration:underline}
.quote-legal a:hover{color:var(--mint-200)}

.quote-success{padding:2.25rem 1.5rem; text-align:center}
.quote-success__icon{
  width:56px; height:56px; margin:0 auto .75rem; border-radius:50%;
  display:grid; place-items:center; font-size:1.75rem; font-weight:700;
  background:var(--mint-200); color:var(--green-700);
}
.quote-success__title{margin-bottom:.5rem}
.quote-success__text{margin:0; color:var(--ink-500)}
.quote-success__text a{color:var(--teal-500); font-weight:600; text-decoration:underline}

@media (max-width:1099px){
  .quote-form__grid{grid-template-columns:1fr 1fr}
  .qf-cell + .qf-cell::before{display:none}
  .qf-cell{border-top:1px solid var(--line)}
  .qf-cell:nth-child(1),.qf-cell:nth-child(2){border-top:0}
  .qf-cell:nth-child(odd){border-right:1px solid var(--line)}
  .qf-cell--submit{grid-column:1 / -1; border-right:0; padding:6px}
  .quote-form__submit{padding-block:1.05rem}
}
@media (max-width:768px){
  .quote-form__grid{grid-template-columns:1fr}
  .qf-cell{border-top:1px solid var(--line); border-right:0}
  .qf-cell:first-child{border-top:0}
  .quote-legal{text-align:center}
}

/* ===== SERVICES ===== */
.services{padding-top:clamp(112px,10vw,152px); background:var(--grad-soft)}
.services__head{text-align:center; margin-bottom:clamp(32px,4vw,52px)}

.service-card{
  background:var(--white); border-radius:var(--r-card); padding:2rem 1.5rem;
  box-shadow:var(--sh-card); border:1px solid rgba(0,61,61,.06);
  transition:box-shadow var(--ease),background-color 400ms ease,border-color 400ms ease;
}
.service-card:hover{box-shadow:var(--sh-hover),var(--glow-teal-soft)}
.service-card__icon{
  width:76px; height:76px; border-radius:50%; background:var(--mint-200);
  display:grid; place-items:center; margin-bottom:1.25rem;
  transition:box-shadow var(--ease),background-color 400ms ease;
}
.service-card:hover .service-card__icon{box-shadow:0 0 0 4px rgba(0,153,153,.14),0 0 22px rgba(0,153,153,.35)}
.service-card__icon img{width:44px; height:44px; object-fit:contain}
.service-card__icon svg{width:44px; height:44px; color:var(--teal-700); transition:color 400ms ease}
.service-card h3{margin-bottom:.5rem; transition:color 400ms ease}
.service-card p{font-size:.9375rem; margin-bottom:1rem; transition:color 400ms ease}
.service-card__link{
  color:var(--teal-500); font-weight:600; font-size:.9375rem;
  display:inline-flex; gap:.35rem; transition:gap var(--ease),color 400ms ease;
}
.service-card__link:hover{gap:.65rem}

/* ===== SERVICES GRID ===== */
.services-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
}
@media (max-width:1099px){ .services-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .services-grid{grid-template-columns:1fr} }

/* small discreet arrow, used by the services slide on mobile only */
.nav-arrow-sm{
  display:none; position:absolute; top:50%; transform:translateY(-50%); z-index:20;
  width:32px; height:32px; border-radius:50%; border:0; background:rgba(255,255,255,.7);
  color:var(--teal-700); align-items:center; justify-content:center; cursor:pointer;
}
.nav-arrow-sm svg{width:18px; height:18px}
.nav-arrow-sm--prev{left:4px}
.nav-arrow-sm--next{right:4px}
.nav-arrow-sm:focus-visible{outline:3px solid var(--gold-500); outline-offset:2px}

/* services slide: scroll-snap track, mobile only */
@media (max-width:768px){
  .services-track-wrap{position:relative; padding-inline:38px}
  .services-grid{
    display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
    gap:20px; -webkit-overflow-scrolling:touch;
  }
  .services-grid::-webkit-scrollbar{display:none}
  .service-card{flex:0 0 clamp(260px,80vw,320px); scroll-snap-align:start}
  .nav-arrow-sm{display:flex}
}

/* round icon-button used by the reviews carousel nav */
.nav-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:20;
  width:44px; height:44px; border-radius:50%; border:1px solid var(--line);
  background:var(--white); color:var(--teal-700); display:grid; place-items:center; cursor:pointer;
  box-shadow:var(--sh-card); transition:transform var(--ease),box-shadow var(--ease),background var(--ease),color var(--ease);
}
.nav-arrow:hover{background:var(--teal-500); color:#fff; box-shadow:var(--sh-hover)}
.nav-arrow:focus-visible{outline:3px solid var(--gold-500); outline-offset:2px}
.nav-arrow svg{width:20px; height:20px}
.nav-arrow--prev{left:4px}
.nav-arrow--next{right:4px}
@media (max-width:768px){
  .nav-arrow{width:36px; height:36px}
  .nav-arrow svg{width:16px; height:16px}
  .reviews__track-wrap{padding-inline:0}
  .nav-arrow--prev,.nav-arrow--next{display:none}
}

/* ===== LUXURY BAND ===== */
/* faixa curta e contida: respiro entre blocos densos, não seção cheia */
.luxury{padding-block:clamp(36px,4vw,52px)}
.luxury__inner{
  display:flex; align-items:center; justify-content:center; gap:2rem; flex-wrap:wrap; text-align:center;
}
.luxury__text{
  margin:0; max-width:62ch; font-size:clamp(1.0625rem,1.6vw,1.375rem);
  font-weight:500; color:#fff; line-height:1.5;
}
@media (max-width:768px){ .luxury__inner{flex-direction:column; gap:1.25rem} }

.check-list{list-style:none; margin:0 0 1.75rem; padding:0; display:grid; gap:.85rem}
.check-list li{position:relative; padding-left:2rem; font-size:.9375rem}
.check-list li::before{
  content:"\2713"; position:absolute; left:0; top:-1px;
  width:22px; height:22px; border-radius:50%; display:grid; place-items:center;
  font-size:.75rem; font-weight:700; color:#fff; background:var(--green-500);
}

/* ===== WHY CHOOSE US ===== */
.why__inner{display:grid; grid-template-columns:58fr 42fr; gap:clamp(32px,5vw,64px); align-items:center}
.why__list{list-style:none; margin:1.5rem 0 0; padding:0; display:grid; gap:1rem}
.why-item{
  display:flex; gap:1rem; align-items:flex-start;
  background:var(--white); border-radius:var(--r-card); padding:1.15rem 1.35rem;
  box-shadow:var(--sh-card); border:1px solid rgba(0,61,61,.05);
  transition:transform var(--ease),box-shadow var(--ease);
}
.why-item:hover{transform:translateX(4px); box-shadow:var(--sh-hover),var(--glow-teal-soft)}
.why-item__icon{
  flex:0 0 44px; height:44px; border-radius:12px; display:grid; place-items:center;
  background:var(--mint-200); color:var(--green-700); font-size:1.125rem;
  transition:box-shadow var(--ease),transform var(--ease);
}
.why-item:hover .why-item__icon{box-shadow:0 0 16px rgba(0,153,153,.4); transform:scale(1.07)}
.why-item h3{font-size:1.0625rem; margin-bottom:.15rem}
.why-item p{margin:0; font-size:.875rem}

.why__media{display:grid; gap:20px}
.why__media img{width:100%; height:auto; border-radius:var(--r-card); box-shadow:var(--sh-card)}
.why__media img:nth-child(2){transform:translateX(12%); width:88%}

@media (max-width:900px){
  .why__inner{grid-template-columns:1fr}
  .why__media{grid-template-columns:1fr 1fr}
  .why__media img:nth-child(2){transform:none; width:100%}
}
@media (max-width:560px){ .why__media{grid-template-columns:1fr} }

/* ===== HOW IT WORKS (process steps) ===== */
.process__head{max-width:52ch; margin:0 auto clamp(40px,5vw,64px); text-align:center}
.process__head .eyebrow{text-align:center}
.process__steps{
  list-style:none; margin:0 0 clamp(32px,4vw,48px); padding:0; position:relative;
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,4vw,48px);
}
/* linha conectora tracejada entre os números */
.process__steps::before{
  content:""; position:absolute; top:38px; left:16%; right:16%; height:2px;
  background:repeating-linear-gradient(to right,var(--teal-300) 0 10px,transparent 10px 20px);
  background-size:20px 2px; animation:energyRun 1.8s linear infinite;
  z-index:0;
}
.process-step{position:relative; z-index:1; text-align:center}
.process-step__num{
  display:grid; place-items:center; width:76px; height:76px; margin:0 auto 1.25rem;
  border-radius:50%; background:var(--white); border:2px solid var(--mint-200);
  font-family:var(--font-display); font-size:2.25rem; font-weight:700; line-height:1;
  background-image:var(--grad-band);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  box-shadow:var(--sh-card);
}
@supports not (background-clip:text){ .process-step__num{color:var(--teal-500)} }
.process-step p{font-size:.9375rem; margin:0}

@media (max-width:768px){
  .process__steps{grid-template-columns:1fr; gap:2rem}
  .process__steps::before{
    top:0; bottom:0; left:37px; right:auto; width:2px; height:auto;
    background:repeating-linear-gradient(to bottom,var(--teal-300) 0 10px,transparent 10px 20px);
    background-size:2px 20px; animation:energyRunY 1.8s linear infinite;
  }
  .process-step{text-align:left; padding-left:100px}
  .process-step__num{position:absolute; left:0; top:0; margin:0}
}

/* collapsible "what's included" panel inside How it works */
.included-toggle{max-width:640px; margin:0 auto}
.included-toggle__btn{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  background:var(--white); border:1px solid rgba(0,61,61,.1); border-radius:var(--r-card);
  padding:1.1rem 1.5rem; font-size:1rem; font-weight:600; color:var(--ink-700); cursor:pointer;
  box-shadow:var(--sh-card); transition:box-shadow var(--ease);
}
.included-toggle__btn:hover{box-shadow:var(--sh-hover)}
.included-toggle__caret{transition:transform var(--ease); color:var(--teal-500)}
.included-toggle__btn[aria-expanded="true"] .included-toggle__caret{transform:rotate(180deg)}
.included-toggle__panel{padding-top:1.25rem}

/* ===== WHAT'S INCLUDED ===== */
/* chips leves de propósito: é lista de escaneio rápido, não merece card pesado */
.included__title{text-align:center; margin-bottom:clamp(32px,4vw,52px)}
.included__grid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
}
.included__grid li{
  display:flex; align-items:center; gap:.75rem;
  background:var(--white); border:1px solid rgba(0,61,61,.07); border-radius:999px;
  padding:.85rem 1.25rem; font-size:.9375rem; font-weight:500; color:var(--ink-700);
}
.included__grid li::before{
  content:"\2713"; flex:0 0 24px; height:24px; border-radius:50%;
  display:grid; place-items:center; font-size:.75rem; font-weight:700;
  background:var(--green-500); color:#fff;
}
@media (max-width:900px){ .included__grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .included__grid{grid-template-columns:1fr} }

/* ===== SERVICE AREAS ===== */
.areas__head{text-align:center; margin-bottom:clamp(32px,4vw,52px)}
.areas__head .eyebrow{text-align:center}
.areas__grid{
  list-style:none; margin:0 auto; padding:0; max-width:880px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:.85rem 2rem;
}
.areas__grid li{
  display:flex; align-items:center; gap:.65rem;
  font-size:1rem; font-weight:500; color:var(--ink-700);
}
.areas__grid li::before{content:"\2713"; color:var(--teal-500); font-weight:700}
.areas__grid li a{color:inherit; transition:color var(--ease)}
.areas__grid li a:hover{color:var(--teal-500)}
@media (max-width:768px){ .areas__grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:420px){ .areas__grid{grid-template-columns:1fr} }

/* ===== FINAL CTA ===== */
.cta-final{
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 80% 20%,rgba(217,164,65,.10) 0%,transparent 40%),
    linear-gradient(315deg,#003D3D 0%,#009999 55%,#00A99D 100%);
  color:#fff; text-align:center;
}
.cta-final::before{
  content:""; position:absolute; inset:0; opacity:.18; z-index:0;
  background:url('cta-background.webp') center / cover no-repeat;
}
.cta-final__inner{position:relative; z-index:1; max-width:60ch}
.cta-final h2{color:#fff}
.cta-final p{color:rgba(255,255,255,.85); margin-bottom:1.75rem}

/* variante com formulário embutido — páginas de serviço e de subúrbio */
.cta-final--form > .container{position:relative; z-index:1}
.cta-final--form .cta-final__inner{margin-inline:auto; margin-bottom:clamp(28px,4vw,40px)}
.cta-final--form .quote-legal{text-align:center}

/* ===== STICKY MOBILE BAR ===== */
.mobile-bar{display:none}
@media (max-width:768px){
  .mobile-bar{
    display:flex; position:fixed; left:0; right:0; bottom:0; z-index:60;
    gap:8px; padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.96); box-shadow:0 -6px 24px rgba(0,61,61,.16);
    transform:translateY(110%); transition:transform 280ms ease;
  }
  .mobile-bar.is-visible{transform:none}
  .mobile-bar > *{flex:1; justify-content:center; padding-block:.85rem; border-radius:var(--r-btn)}
  .mobile-bar__call{
    display:inline-flex; align-items:center; gap:.4rem;
    background:var(--teal-500); color:#fff; font-weight:600; font-size:.9375rem;
  }
  /* o body ganha espaço para a barra não cobrir o rodapé */
  body{padding-bottom:76px}
}

/* ===== WHATSAPP FLUTUANTE (apresentação — sem link ativo) ===== */
@keyframes whatsappPulse{
  0%,100%{ box-shadow:0 6px 20px rgba(0,0,0,.22),0 0 0 0 rgba(37,211,102,.55) }
  50%{ box-shadow:0 6px 20px rgba(0,0,0,.22),0 0 0 10px rgba(37,211,102,0) }
}
.whatsapp-float{
  position:fixed; right:20px; bottom:20px; z-index:70;
  width:56px; height:56px; border-radius:50%; border:0; padding:0; cursor:pointer;
  display:grid; place-items:center;
  background:#25D366; color:#fff;
  box-shadow:0 6px 20px rgba(0,0,0,.22);
  animation:whatsappPulse 2.6s ease-in-out infinite;
  transition:transform var(--ease),box-shadow var(--ease);
}
.whatsapp-float:hover{ transform:translateY(-3px) scale(1.05); box-shadow:0 10px 26px rgba(0,0,0,.28) }
.whatsapp-float svg{ width:30px; height:30px }
@media (max-width:768px){
  .whatsapp-float{ right:16px; bottom:calc(92px + env(safe-area-inset-bottom)) }
}

/* ===== FOOTER ===== */
.site-footer{
  position:relative; background:var(--ink-900); color:rgba(255,255,255,.7);
  border-top:3px solid transparent;
}
.site-footer{border-image:var(--grad-band) 1}
.site-footer::before{
  content:""; position:absolute; top:-1px; left:0; right:0; height:1px;
  box-shadow:0 0 24px 2px rgba(0,153,153,.55); pointer-events:none;
}
.site-footer__grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr .9fr;
  gap:clamp(28px,4vw,48px); padding-block:clamp(48px,6vw,80px);
}
.site-footer h3{color:#fff; font-size:1rem; margin-bottom:1rem}
.site-footer__brand img{width:200px; height:auto; margin-bottom:1.25rem}
.site-footer__brand p{font-size:.9375rem; margin:0}
.site-footer__list{list-style:none; margin:0; padding:0; display:grid; gap:.6rem; font-size:.9375rem}
.site-footer__list a{transition:color var(--ease)}
.site-footer__list a:hover{color:var(--mint-200)}
.site-footer__bar{border-top:1px solid rgba(255,255,255,.1)}
.site-footer__bar p{margin:0; padding-block:1.25rem; font-size:.8125rem; text-align:center; opacity:.65}

@media (max-width:900px){ .site-footer__grid{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .site-footer__grid{grid-template-columns:1fr} }

/* ===== PAGE BANNER (páginas internas) ===== */
.page-banner{
  position:relative; overflow:hidden; color:#fff;
  background:var(--grad-hero); background-size:220% 220%;
  animation:gradientBreathe 22s ease-in-out infinite;
  margin-top:calc(var(--header-h) * -1);
  padding-top:calc(var(--header-h) + clamp(40px,6vw,64px));
  padding-bottom:clamp(56px,8vw,84px);
}
.page-banner__grid{opacity:.5}
.page-banner__inner{position:relative; z-index:1}
.page-banner h1{color:#fff; margin-bottom:0}
.breadcrumb{
  font-size:.875rem; color:rgba(255,255,255,.75); margin-bottom:.85rem;
  display:flex; gap:.4rem; align-items:center;
}
.breadcrumb a{transition:color var(--ease)}
.breadcrumb a:hover{color:var(--mint-200)}
.breadcrumb span{color:rgba(255,255,255,.55)}

/* ===== SERVICE PAGE (miolo das 5 páginas de serviço) ===== */
.service-page__intro{
  display:grid; grid-template-columns:44fr 56fr; gap:clamp(32px,5vw,64px); align-items:center;
}
.service-page__intro img{border-radius:var(--r-card); box-shadow:var(--sh-card)}
.service-page__intro .check-list{margin-top:1.25rem}
@media (max-width:900px){ .service-page__intro{grid-template-columns:1fr} }

.service-checklist{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2,1fr); gap:16px;
}
.service-checklist li{
  display:flex; align-items:flex-start; gap:.75rem;
  background:var(--white); border:1px solid rgba(0,61,61,.07); border-radius:var(--r-card);
  padding:1rem 1.25rem; font-size:.9375rem; font-weight:500; color:var(--ink-700);
  box-shadow:var(--sh-card);
}
.service-checklist li::before{
  content:"\2713"; flex:0 0 24px; height:24px; border-radius:50%; margin-top:.1rem;
  display:grid; place-items:center; font-size:.75rem; font-weight:700;
  background:var(--green-500); color:#fff;
}
@media (max-width:768px){ .service-checklist{grid-template-columns:1fr} }

.service-page__cta{text-align:center}
.service-page__cta .btn{margin-top:.5rem}

/* ===== PRICING PAGE ===== */
.pricing-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:clamp(32px,4vw,48px);
}
.price-card{
  background:var(--white); border-radius:var(--r-card); padding:1.75rem 1.5rem;
  box-shadow:var(--sh-card); border:1px solid rgba(0,61,61,.06); text-align:center;
  transition:box-shadow var(--ease),transform var(--ease);
}
.price-card:hover{box-shadow:var(--sh-hover),var(--glow-teal-soft); transform:translateY(-3px)}
.price-card__label{
  font-family:var(--font-display); font-weight:600; font-size:.9375rem;
  text-transform:uppercase; letter-spacing:.08em; color:var(--teal-700); margin-bottom:.5rem; display:block;
}
.price-card__value{
  font-family:var(--font-display); font-weight:700; font-size:clamp(1.75rem,3vw,2.25rem);
  color:var(--ink-700); margin:0 0 .35rem;
}
.price-card__value span{font-size:.9rem; font-weight:500; color:var(--ink-500)}
.price-card__note{margin:0; font-size:.8125rem; color:var(--ink-500)}
.price-card--featured{
  background:var(--grad-band); color:#fff; box-shadow:var(--sh-hover);
}
.price-card--featured .price-card__label{color:var(--mint-200)}
.price-card--featured .price-card__value{color:#fff}
.price-card--featured .price-card__note{color:rgba(255,255,255,.85)}
@media (max-width:900px){ .pricing-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .pricing-grid{grid-template-columns:1fr} }

.pricing-note{
  background:var(--paper); border:1px solid rgba(0,61,61,.08); border-radius:var(--r-card);
  padding:1.5rem 1.75rem; margin-bottom:clamp(32px,4vw,48px);
}
.pricing-note h3{margin-bottom:.5rem}
.pricing-note p{margin:0; font-size:.9375rem}

.extras-list{
  list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:.65rem 2.5rem;
}
.extras-list li{
  display:flex; align-items:baseline; gap:.5rem; font-size:.9375rem; color:var(--ink-700);
  padding-bottom:.55rem; border-bottom:1px dashed var(--line);
}
.extras-list li span:first-child{flex:1}
.extras-list li span:last-child{font-weight:700; color:var(--teal-700); white-space:nowrap}
@media (max-width:768px){ .extras-list{grid-template-columns:1fr} }

/* ===== CONTACT PAGE ===== */
.contact-grid{display:grid; grid-template-columns:1fr; gap:clamp(28px,4vw,40px)}
.contact-info{max-width:70ch}
.contact-info__list{
  list-style:none; margin:1.5rem 0 0; padding:0;
  display:grid; grid-template-columns:repeat(2,1fr); gap:1rem;
}
.contact-info__list li{
  display:flex; gap:.85rem; align-items:flex-start;
  background:var(--white); border-radius:var(--r-card); padding:1rem 1.25rem;
  box-shadow:var(--sh-card); border:1px solid rgba(0,61,61,.05); font-size:.9375rem;
}
.contact-info__icon{
  flex:0 0 40px; height:40px; border-radius:10px; display:grid; place-items:center;
  background:var(--mint-200); color:var(--green-700); font-size:1.05rem;
}
.contact-info__list strong{display:block; color:var(--ink-700); margin-bottom:.15rem}
.contact-info__list a{color:var(--teal-500); font-weight:600}

.contact-grid .quote-card{padding:6px; box-shadow:var(--sh-form),0 0 0 1px rgba(0,153,153,.14)}
.quote-legal--dark{color:var(--ink-500)}
.quote-legal--dark a{color:var(--teal-500)}
@media (max-width:560px){ .contact-info__list{grid-template-columns:1fr} }

/* ===== LONGFORM / TERMS ===== */
.longform{max-width:72ch; margin-inline:auto}
.longform h2{font-size:1.375rem; margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--line)}
.longform h2:first-child{margin-top:0; padding-top:0; border-top:0}
.longform p{font-size:.9375rem}
.longform ul{margin:0 0 1rem; padding-left:1.25rem; font-size:.9375rem; display:grid; gap:.4rem}
.longform a{color:var(--teal-500); font-weight:600; text-decoration:underline}
.longform__updated{color:var(--ink-500); font-size:.875rem; margin-bottom:2rem}

/* ===== TRUST STRIP ===== */
.trust-strip{background:var(--paper); border-bottom:1px solid var(--line); padding-block:1.1rem}
.trust-strip__inner{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:.6rem 1.5rem; text-align:center; font-size:.9rem; color:var(--ink-700);
}
.trust-strip__item{display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap}
.trust-strip__item strong{color:var(--ink-700); font-weight:700}
.trust-strip__stars{color:var(--gold-500); letter-spacing:1px; font-size:.85rem}
.trust-strip__divider{width:1px; height:16px; background:var(--line); display:inline-block}
@media (max-width:768px){ .trust-strip__divider{display:none} }
@media (max-width:560px){ .trust-strip__inner{font-size:.8125rem; gap:.5rem 1rem} }

/* ===== HOME PRICING ===== */
.home-pricing__head{max-width:60ch; margin:0 auto clamp(32px,4vw,48px); text-align:center}
.home-pricing__head .eyebrow{text-align:center}
.home-pricing__grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px}
.home-price-card{
  background:var(--white); border-radius:var(--r-card); padding:1.5rem 1rem;
  box-shadow:var(--sh-card); border:1px solid rgba(0,61,61,.06); text-align:center;
  transition:box-shadow var(--ease),transform var(--ease);
}
.home-price-card:hover{box-shadow:var(--sh-hover); transform:translateY(-3px)}
.home-price-card__rooms{
  font-family:var(--font-display); font-weight:600; font-size:.875rem;
  text-transform:uppercase; letter-spacing:.06em; color:var(--teal-700); display:block; margin-bottom:.35rem;
}
.home-price-card__value{
  font-family:var(--font-display); font-weight:700; font-size:clamp(1.5rem,2.6vw,1.9rem);
  color:var(--ink-700); margin:0;
}
.home-price-card--featured{
  background:var(--grad-band); color:#fff; box-shadow:var(--sh-hover); position:relative;
}
.home-price-card--featured .home-price-card__rooms{color:var(--mint-200)}
.home-price-card--featured .home-price-card__value{color:#fff}
.home-price-card__tag{
  position:absolute; top:-11px; left:50%; transform:translateX(-50%);
  background:var(--gold-500); color:var(--ink-900); font-size:.6875rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.04em; padding:.25rem .65rem; border-radius:999px;
  white-space:nowrap;
}
.home-pricing__foot{text-align:center; margin:1.75rem 0 0; font-size:.9375rem}
.home-pricing__foot a{color:var(--teal-500); font-weight:600}
@media (max-width:900px){ .home-pricing__grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:560px){ .home-pricing__grid{grid-template-columns:repeat(2,1fr)} }

/* ===== LOCAL / "NOT A CALL CENTRE" ===== */
.local__inner{max-width:900px; margin:0 auto; text-align:center}
.local__lead{max-width:68ch; margin:0 auto clamp(32px,4vw,48px); font-size:1.0625rem; color:rgba(255,255,255,.9)}
.local__grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; text-align:left}
.local-card{
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:var(--r-card);
  padding:1.75rem 1.5rem; transition:transform var(--ease),background-color var(--ease);
}
.local-card:hover{transform:translateY(-4px); background:rgba(255,255,255,.14)}
.local-card h3{color:#fff; margin-bottom:.4rem; font-size:1.0625rem}
.local-card p{margin:0; font-size:.9375rem; color:rgba(255,255,255,.85)}
.local__cta{
  display:flex; align-items:center; justify-content:center; gap:2rem;
  flex-wrap:wrap; margin-top:clamp(32px,4vw,48px);
}
.local__phone{display:flex; flex-direction:column; line-height:1.25; color:#fff}
.local__phone strong{font-size:1.125rem}
.local__phone span{font-size:.8125rem; opacity:.75}
@media (max-width:900px){ .local__grid{grid-template-columns:1fr} }

/* ===== REVIEWS ===== */
.reviews__head{max-width:60ch; margin:0 auto clamp(32px,4vw,48px); text-align:center}
.reviews__head .eyebrow{text-align:center}
.reviews__summary{
  display:grid; grid-template-columns:auto 1fr; gap:clamp(32px,5vw,64px); align-items:center;
  max-width:780px; margin:0 auto clamp(40px,5vw,56px);
  background:var(--white); border-radius:var(--r-card); box-shadow:var(--sh-card);
  border:1px solid rgba(0,61,61,.06); padding:clamp(24px,3.5vw,36px);
}
.reviews__score{text-align:center; padding-right:clamp(24px,3.5vw,36px); border-right:1px solid var(--line)}
.reviews__number{
  font-family:var(--font-display); font-weight:700; font-size:3rem; line-height:1;
  color:var(--ink-700); margin:0;
}
.reviews__stars{color:var(--gold-500); font-size:1.15rem; letter-spacing:2px; margin:.35rem 0}
.reviews__count{margin:0 0 .85rem; font-size:.8125rem; color:var(--ink-500)}
.reviews__google-badge{
  display:inline-flex; align-items:center; gap:.4rem; font-size:.8125rem; font-weight:600;
  color:var(--ink-700);
}
.reviews__google-icon{width:18px; height:18px; flex:0 0 18px}
.reviews__bars{display:grid; gap:.5rem}
.reviews__bar-row{display:grid; grid-template-columns:14px 1fr 38px; align-items:center; gap:.65rem; font-size:.8125rem; color:var(--ink-500)}
.reviews__bar{height:8px; border-radius:999px; background:var(--paper); overflow:hidden}
.reviews__bar > span{display:block; height:100%; background:var(--gold-500); border-radius:999px}
.reviews__bar-pct{text-align:right; font-variant-numeric:tabular-nums}
@media (max-width:640px){
  .reviews__summary{grid-template-columns:1fr}
  .reviews__score{border-right:0; border-bottom:1px solid var(--line); padding-right:0; padding-bottom:1.5rem}
}

.reviews__track-wrap{position:relative; padding-inline:56px}
.reviews__track{
  display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  padding:.35rem .1rem 1rem; margin:0 -.1rem;
  scrollbar-width:none;
}
.reviews__track::-webkit-scrollbar{display:none}
.review-card{
  flex:0 0 clamp(260px,80vw,320px); scroll-snap-align:start;
  background:var(--white); border-radius:var(--r-card); padding:1.5rem;
  box-shadow:var(--sh-card); border:1px solid rgba(0,61,61,.06);
}
.review-card__head{display:flex; align-items:center; gap:.75rem; margin-bottom:.65rem}
.review-card__avatar{
  width:44px; height:44px; border-radius:50%; flex:0 0 44px;
  display:grid; place-items:center; font-family:var(--font-display); font-weight:700; color:#fff;
  background:var(--avatar-color,var(--teal-500));
}
.review-card__head strong{display:block; font-size:.9375rem; color:var(--ink-700)}
.review-card__head span{display:block; font-size:.8125rem; color:var(--ink-500)}
.review-card__stars{color:var(--gold-500); font-size:.9375rem; letter-spacing:1px; margin-bottom:.55rem}
.review-card p{font-size:.9125rem; margin-bottom:.85rem; color:var(--ink-500)}
.review-card__meta{
  display:inline-flex; align-items:center; gap:.35rem; font-size:.75rem; color:var(--ink-500); opacity:.8;
}
.review-card__meta svg{width:13px; height:13px}

/* ===== SUBURBS ===== */
.suburbs__cols{display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,64px); max-width:880px; margin:0 auto}
.suburbs__col-title{font-size:.9375rem; text-transform:uppercase; letter-spacing:.06em; color:var(--teal-500); margin-bottom:1rem}
.suburbs__note{text-align:center; max-width:56ch; margin:clamp(28px,3.5vw,40px) auto 0; font-size:.9375rem}
@media (max-width:640px){ .suburbs__cols{grid-template-columns:1fr; gap:2rem} }

/* ===== FAQ ===== */
.faq__list{max-width:760px; margin:0 auto; display:grid; gap:12px}
.faq-item{
  background:var(--white); border:1px solid rgba(0,61,61,.08); border-radius:var(--r-card);
  box-shadow:var(--sh-card); overflow:hidden;
}
.faq-item__q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  background:transparent; border:0; cursor:pointer; text-align:left;
  padding:1.15rem 1.5rem; font-size:.9875rem; font-weight:600; color:var(--ink-700);
}
.faq-item__caret{flex:0 0 auto; color:var(--teal-500); transition:transform var(--ease)}
.faq-item__q[aria-expanded="true"] .faq-item__caret{transform:rotate(180deg)}
.faq-item__a{padding:0 1.5rem 1.25rem}
.faq-item__a p{margin:0; font-size:.9125rem; color:var(--ink-500)}

/* ===== REDUCED MOTION (deve ficar por último para vencer em especificidade) ===== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .reveal{opacity:1; transform:none}
}
