/* VOLT — camada final consolidada.
   Mantém styles.css como base histórica e reúne aqui todos os ajustes aprovados.
   Nenhum estilo desta folha depende de JavaScript para existir. */

:root {
  --section-body-size: 16px;
  --section-intro-size: 17px;
  --section-meta-size: 12px;
  --section-button-size: 14px;
  --section-eyebrow-size: 12px;
}

/* Marca final */
.site-header .wordmark,
.site-footer .footer-brand--polished .wordmark {
  grid-template-columns:auto max-content !important;
}
.site-header .wordmark__main,
.site-footer .footer-brand--polished .wordmark__main { white-space:nowrap; }
.site-header .wordmark__sub,
.site-footer .footer-brand--polished .wordmark__sub {
  grid-column:2 !important;
  width:100% !important;
  justify-self:stretch !important;
  text-align:center !important;
  letter-spacing:.17em !important;
}

/* Hierarquia semântica dos selos do Hero */
.hero__trust-card .hero__trust-title {
  margin:0;
  font-family:var(--font-body);
  font-size:10px;
  line-height:1.3;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#e8e9e4;
}

/* CTAs padronizados */
.nav-cta,
.hero__actions .btn,
.service-card__cta,
.services-other__cta,
.diagnostic .btn--accent,
.portfolio-closing__cta,
.about__action .btn,
.faq__cta,
.final-cta__action .btn,
.footer-contact__cta,
.footer-cta { text-transform:uppercase !important; }

/* Serviços */
.services-heading__intro {
  max-width:760px;
  margin:20px 0 0;
  color:#9da39f;
  font-size:.92rem;
  line-height:1.6;
}
.services-other { border-left-color:#202422 !important; }
.service-card { min-height:238px !important; }
.service-card__body { min-height:220px !important; padding-bottom:14px !important; }
.service-card__cta { margin-top:14px !important; }

/* Diagnóstico */
.diagnostic {
  background:
    radial-gradient(620px 360px at 86% 14%, rgba(244,196,0,.055), transparent 68%),
    linear-gradient(180deg,#0a0c0c 0%,#080a0a 100%) !important;
  border-block-color:#202424 !important;
}
.diagnostic__grid {
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr) !important;
  gap:56px !important;
  align-items:center !important;
}
.diagnostic__grid > div:first-child { padding-top:4px; }
.diagnostic h2 {
  max-width:640px !important;
  font-size:clamp(3.1rem,4.5vw,4.25rem);
  margin-bottom:20px;
}
.diagnostic .diagnostic__body {
  max-width:650px;
  margin:0;
  color:#b7bcb7 !important;
  font-size:.94rem !important;
  line-height:1.68 !important;
  font-weight:400 !important;
}
.diagnostic .diagnostic__body--second { margin-top:12px !important; }
.diagnostic .availability-note { display:none !important; }
.diagnostic .diagnostic__cta {
  min-width:360px !important;
  min-height:54px !important;
  margin:0 !important;
  padding-inline:30px !important;
  font-size:.86rem !important;
  letter-spacing:.01em;
  font-weight:900;
}
.diagnostic .diagnostic__cta-row {
  grid-column:1 / -1;
  display:flex;
  justify-content:center;
  width:100%;
  margin-top:8px;
  padding-top:30px;
  border-top:1px solid #272c2a;
}
.diagnostic .problem-panel {
  position:relative;
  align-self:center !important;
  overflow:hidden;
  border:1px solid #373d3a !important;
  background:#0a0c0c !important;
  box-shadow:0 24px 56px rgba(0,0,0,.24) !important;
}
.diagnostic .problem-panel::before { display:none !important; }
.diagnostic .problem-panel__label {
  margin:0 !important;
  padding:20px !important;
  border:0 !important;
  background:linear-gradient(90deg,#f4c400 0%,#e9b900 100%) !important;
  color:#090b0b !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.11em !important;
  line-height:1.2 !important;
  text-align:center !important;
}
.diagnostic .problem-panel ul {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px !important;
  padding:16px !important;
  background:linear-gradient(180deg,#0d1010 0%,#090b0b 100%);
}
.diagnostic .problem-panel li {
  position:relative;
  min-height:78px !important;
  display:flex;
  align-items:center;
  padding:16px 18px 16px 43px !important;
  border:1px solid #303633 !important;
  background:linear-gradient(145deg,#101313 0%,#0b0d0d 100%) !important;
  color:#f0f2ed !important;
  font-size:.84rem !important;
  font-weight:600;
  line-height:1.4 !important;
  transition:transform 170ms ease,border-color 170ms ease,background 170ms ease,box-shadow 170ms ease;
}
.diagnostic .problem-panel li::before {
  left:18px !important;
  top:50% !important;
  width:7px !important;
  height:7px !important;
  transform:translateY(-50%) rotate(45deg) !important;
  background:#f4c400 !important;
  box-shadow:0 0 0 4px rgba(244,196,0,.06);
}
.diagnostic .problem-panel li:hover {
  transform:translateY(-2px);
  border-color:#75691c !important;
  background:linear-gradient(145deg,#151816 0%,#0d100f 100%) !important;
  box-shadow:inset 3px 0 0 rgba(244,196,0,.78),0 10px 22px rgba(0,0,0,.16);
}

/* Trabalhos / Portfólio */
#trabalhos {
  background:radial-gradient(760px 360px at 12% 4%,rgba(244,196,0,.045),transparent 70%),#050606 !important;
}
#trabalhos .section-heading--split {
  display:block !important;
  margin-bottom:36px;
  padding-bottom:24px;
  border-bottom:1px solid #292d2d;
}
#trabalhos .section-heading h2 { max-width:980px; margin-bottom:16px; }
#trabalhos .section-heading h2 span { display:block; }
#trabalhos .portfolio-intro {
  max-width:760px;
  margin:0;
  color:#9ca19c;
  font-size:.9rem;
  line-height:1.6;
}
#trabalhos .portfolio-grid {
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:repeat(6,158px);
  gap:12px;
}
#trabalhos .portfolio-card:nth-child(1) { grid-column:1 / 6; grid-row:1 / 4; }
#trabalhos .portfolio-card:nth-child(2) { grid-column:6 / 10; grid-row:1 / 3; }
#trabalhos .portfolio-card:nth-child(3) { grid-column:10 / 13; grid-row:1 / 3; }
#trabalhos .portfolio-card:nth-child(4) { grid-column:6 / 9; grid-row:3 / 5; }
#trabalhos .portfolio-card:nth-child(5) { grid-column:9 / 13; grid-row:3 / 5; }
#trabalhos .portfolio-card:nth-child(6) { grid-column:1 / 6; grid-row:4 / 7; }
#trabalhos .portfolio-card:nth-child(7) { grid-column:6 / 9; grid-row:5 / 7; }
#trabalhos .portfolio-card:nth-child(8) { grid-column:9 / 13; grid-row:5 / 7; }
#trabalhos .portfolio-card {
  position:relative;
  border-color:#303534;
  background:#0a0c0c;
  transition:transform 190ms var(--ease),border-color 190ms ease,box-shadow 190ms ease;
}
#trabalhos .portfolio-card::before {
  content:"";
  position:absolute;
  z-index:3;
  left:0;
  top:0;
  width:0;
  height:3px;
  background:var(--accent);
  transition:width 220ms var(--ease);
}
#trabalhos .portfolio-card::after {
  background:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.62) 20%,rgba(0,0,0,.16) 52%,transparent 74%) !important;
}
#trabalhos .portfolio-card img {
  filter:saturate(.82) contrast(1.06) brightness(.88);
  transition:transform 360ms var(--ease),filter 360ms ease;
}
#trabalhos .portfolio-card:hover {
  transform:translateY(-3px);
  border-color:#6f651d;
  box-shadow:0 18px 34px rgba(0,0,0,.24);
}
#trabalhos .portfolio-card:hover::before { width:100%; }
#trabalhos .portfolio-card:hover img { transform:scale(1.045); filter:saturate(.98) contrast(1.06) brightness(.96); }
#trabalhos .portfolio-card figcaption { padding:16px 17px 15px; align-items:flex-end; }
#trabalhos .portfolio-card figcaption strong {
  max-width:72%;
  color:#fff;
  font-size:1.24rem;
  line-height:.95;
  letter-spacing:-.01em;
}
#trabalhos .portfolio-card figcaption span {
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 11px;
  border:1px solid #d3aa00;
  border-radius:2px;
  background:var(--accent) !important;
  color:var(--accent-ink) !important;
  font-size:9px;
  font-weight:900;
  line-height:1;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.055em;
  box-shadow:0 4px 12px rgba(0,0,0,.16);
}
#trabalhos .portfolio-card:first-child figcaption { padding:20px; }
#trabalhos .portfolio-card:first-child figcaption strong { font-size:1.65rem; max-width:68%; }
#trabalhos .portfolio-closing {
  max-width:760px;
  margin:46px auto 0;
  padding-top:34px;
  border-top:1px solid #292d2d;
  text-align:center;
}
#trabalhos .portfolio-closing h3 {
  margin:0 0 10px;
  color:#fff;
  font-size:clamp(1.9rem,3vw,2.55rem);
  line-height:1;
}
#trabalhos .portfolio-closing p {
  max-width:620px;
  margin:0 auto 22px;
  color:#9ca19c;
  font-size:.9rem;
  line-height:1.6;
}
#trabalhos .portfolio-closing__cta {
  min-width:320px;
  border:1px solid var(--accent) !important;
  background:#050606 !important;
  color:var(--accent) !important;
  box-shadow:none !important;
}
#trabalhos .portfolio-closing__cta:hover,
#trabalhos .portfolio-closing__cta:focus-visible {
  border-color:var(--accent-hover) !important;
  background:var(--accent) !important;
  color:var(--accent-ink) !important;
  transform:translateY(-2px);
}

/* Processo */
.process {
  background:radial-gradient(680px 340px at 88% 8%,rgba(244,196,0,.045),transparent 72%),#090b0b !important;
}
.process .section-heading--split {
  display:block !important;
  max-width:none;
  margin-bottom:38px;
  padding-bottom:24px;
  border-bottom:1px solid #292d2d;
}
.process .section-heading h2 { max-width:none; margin-bottom:14px; white-space:nowrap; }
.process .process-intro { max-width:730px; margin:0; color:#a5aaa5; font-size:.92rem; line-height:1.65; }
.process .process-grid {
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:0 0 34px;
  padding:0 !important;
  border-top:1px solid #343938 !important;
  border-bottom:1px solid #343938;
  background:transparent;
  overflow:visible;
}
.process .process-grid::before {
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  top:34px;
  height:1px;
  background:#343938;
  pointer-events:none;
}
.process .process-grid li {
  position:relative;
  z-index:1;
  min-height:214px;
  margin:0 !important;
  padding:72px 24px 27px !important;
  border:0 !important;
  border-left:1px solid #252929 !important;
  background:transparent !important;
  transition:background 180ms ease;
}
.process .process-grid li:first-child { border-left:0 !important; }
.process .process-grid li::before { display:none !important; }
.process .process-grid li::after {
  content:"" !important;
  display:block !important;
  position:absolute;
  z-index:2;
  top:31px;
  right:-3px;
  width:6px;
  height:6px;
  background:#5c615d;
  transform:rotate(45deg);
  transition:background 180ms ease,transform 180ms var(--ease);
}
.process .process-grid li:last-child::after { display:none !important; }
.process .process-grid li > span {
  position:absolute;
  z-index:3;
  top:19px;
  left:24px;
  width:40px;
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--accent);
  color:var(--accent-ink);
  box-shadow:0 0 0 7px #090b0b;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  transition:transform 180ms var(--ease),background 180ms ease;
}
.process .process-grid h3 { margin:0 0 10px; max-width:220px; color:#fff; font-size:1.68rem; line-height:.98; }
.process .process-grid p { max-width:235px; margin:0; color:#a9ada9; font-size:.82rem; line-height:1.55; }
.process .process-grid li:hover { background:rgba(255,255,255,.018) !important; }
.process .process-grid li:hover > span { transform:translateY(-2px); background:var(--accent-hover); }
.process .process-grid li:hover::after { background:var(--accent); transform:rotate(45deg) scale(1.15); }
.process .differentials {
  display:grid !important;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.7fr) !important;
  gap:0 !important;
  overflow:hidden;
  border:1px solid #343938;
  background:#0b0d0d;
}
.process .differentials > div:first-child { padding:28px !important; background:var(--accent); color:var(--accent-ink); }
.process .differentials > div:first-child .eyebrow { margin-bottom:12px; color:var(--accent-ink); }
.process .differentials > div:first-child .eyebrow::after { background:var(--accent-ink); opacity:.55; }
.process .differentials > div:first-child h3 { color:var(--accent-ink); font-size:2rem; line-height:.95; }
.process .differentials ul {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 28px;
  padding:28px !important;
  border-left:1px solid #343938;
  background:#0b0d0d;
}
.process .differentials li { padding-left:19px; color:#d0d3cd; font-size:.82rem; line-height:1.45; }
.process .differentials li::before { color:var(--accent); font-weight:900; }
.process .credential-demo { display:none !important; }

/* Depoimentos */
.reviews {
  background:radial-gradient(700px 320px at 9% 4%,rgba(244,196,0,.035),transparent 72%),#050606 !important;
  border-top:1px solid #181b1b;
}
.reviews .reviews-head {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:56px !important;
  align-items:center !important;
  margin-bottom:30px;
  padding-bottom:30px;
  border-bottom:1px solid #292d2d;
}
.reviews .reviews-head > div:first-child { max-width:960px; }
.reviews .reviews-head h2 { max-width:920px; margin-bottom:14px; }
.reviews .reviews-intro { max-width:760px; margin:0; color:#aeb2ad; font-size:.92rem; line-height:1.62; }
.reviews .rating-demo {
  position:relative;
  min-width:202px !important;
  min-height:148px !important;
  padding:15px 22px 14px !important;
  border:1px solid #e5b900 !important;
  border-radius:4px !important;
  background:linear-gradient(180deg,#f4c400 0%,#e6b900 100%) !important;
  color:var(--accent-ink) !important;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center !important;
  text-align:center !important;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(244,196,0,.2),0 0 24px rgba(244,196,0,.2),0 0 46px rgba(244,196,0,.11),inset 0 1px 0 rgba(255,255,255,.2),0 18px 38px rgba(0,0,0,.28) !important;
}
.reviews .rating-demo::before {
  content:'NOTA' !important;
  margin:0 0 10px !important;
  color:var(--accent-ink) !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
}
.reviews .rating-demo::after { content:''; position:absolute; inset:7px !important; border:1px solid rgba(9,10,8,.16); pointer-events:none; }
.reviews .rating-score { display:flex; align-items:flex-end; justify-content:center; gap:7px; margin:0 0 13px; line-height:1; }
.reviews .rating-score strong { margin:0 !important; color:var(--accent-ink) !important; font-size:3.8rem !important; line-height:.78 !important; letter-spacing:-.045em !important; }
.reviews .rating-score span { margin:0 0 5px !important; color:var(--accent-ink) !important; font-size:.96rem !important; line-height:1 !important; font-weight:900 !important; }
.reviews .rating-demo small { margin:0 !important; color:rgba(9,10,8,.82) !important; font-size:9px !important; font-weight:900 !important; line-height:1 !important; letter-spacing:.11em !important; white-space:nowrap; }
.reviews .reviews-grid.reviews-marquee {
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
  width:100% !important;
  margin-top:10px !important;
  padding:6px 0 !important;
  border:0 !important;
  background:transparent !important;
  overflow:visible !important;
}
.reviews .review-marquee-row { position:relative; width:100%; overflow:hidden; padding:7px 0; }
.reviews .review-marquee-row::before,
.reviews .review-marquee-row::after { content:''; position:absolute; z-index:3; top:0; bottom:0; width:34px; pointer-events:none; }
.reviews .review-marquee-row::before { left:0; background:linear-gradient(90deg,#050606 0%,rgba(5,6,6,.72) 42%,rgba(5,6,6,0) 100%); }
.reviews .review-marquee-row::after { right:0; background:linear-gradient(270deg,#050606 0%,rgba(5,6,6,.72) 42%,rgba(5,6,6,0) 100%); }
.reviews .review-marquee-track { display:flex; width:max-content; will-change:transform; }
.reviews .review-marquee-group { display:flex; flex:0 0 auto; gap:16px; padding-right:16px; }
.reviews .review-marquee-row--left .review-marquee-track { animation:volt-review-left 64s linear infinite; }
.reviews .review-marquee-row--right .review-marquee-track { animation:volt-review-right 68s linear infinite; }
.reviews .review-marquee-row:hover .review-marquee-track,
.reviews .review-marquee-row:focus-within .review-marquee-track { animation-play-state:paused; }
.reviews .review-marquee-card {
  position:relative;
  display:flex !important;
  flex-direction:column !important;
  flex:0 0 322px !important;
  width:322px !important;
  min-height:168px !important;
  margin:0 !important;
  padding:18px 18px 17px !important;
  border:1px solid #3a4040 !important;
  border-radius:12px !important;
  background:#111414 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018),0 12px 28px rgba(0,0,0,.30) !important;
  overflow:hidden;
  transition:transform 180ms var(--ease),border-color 180ms ease,box-shadow 180ms ease,background 180ms ease !important;
}
.reviews .review-marquee-card:hover {
  transform:translateY(-3px);
  border-color:rgba(244,196,0,.72) !important;
  background:#141717 !important;
  box-shadow:inset 0 0 0 1px rgba(244,196,0,.045),0 16px 34px rgba(0,0,0,.34),0 0 22px rgba(244,196,0,.065) !important;
}
.reviews .review-marquee-mark { display:block; width:auto; height:22px; margin:0 0 8px; color:var(--accent); font:900 2.2rem/.74 var(--font-display); }
.reviews .review-marquee-message {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  margin:0 0 16px !important;
  color:#f4f5f0 !important;
  font-size:.91rem !important;
  font-weight:760 !important;
  line-height:1.34 !important;
  letter-spacing:-.012em !important;
}
.reviews .review-marquee-person { display:flex !important; align-items:center !important; gap:10px !important; margin-top:auto !important; padding:0 !important; border:0 !important; }
.reviews .review-marquee-avatar {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border:1.5px solid var(--accent);
  border-radius:50%;
  background:#0a0c0c;
  color:var(--accent);
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.02em;
  box-shadow:0 0 0 2px rgba(244,196,0,.025);
}
.reviews .review-marquee-identity { display:flex; flex-direction:column; gap:4px; min-width:0; }
.reviews .review-marquee-identity strong { color:#fff; font-size:.81rem; font-weight:900; line-height:1.05; }
.reviews .review-marquee-location { color:#aeb3ae !important; font-size:.60rem !important; font-weight:800 !important; line-height:1.1 !important; letter-spacing:.075em !important; text-transform:uppercase !important; white-space:nowrap; }
@keyframes volt-review-left { from { transform:translate3d(0,0,0); } to { transform:translate3d(-50%,0,0); } }
@keyframes volt-review-right { from { transform:translate3d(-50%,0,0); } to { transform:translate3d(0,0,0); } }

/* Sobre */
.about {
  position:relative;
  overflow:hidden;
  background:radial-gradient(760px 420px at 5% 16%,rgba(244,196,0,.045),transparent 68%),#090b0b !important;
  border-block:1px solid #1b1f1f !important;
}
.about::before { content:''; position:absolute; top:0; right:7%; width:180px; height:1px; background:linear-gradient(90deg,transparent,rgba(244,196,0,.72)); pointer-events:none; }
.about .about__grid { display:grid !important; grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr) !important; gap:72px !important; align-items:center !important; }
.about .about__image {
  position:relative;
  min-height:610px !important;
  overflow:hidden;
  border:1px solid #363b3a !important;
  border-radius:10px !important;
  background:#0d1010 !important;
  box-shadow:0 24px 60px rgba(0,0,0,.28) !important;
}
.about .about__image::before { content:''; position:absolute; z-index:2; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(5,6,6,.78) 100%); pointer-events:none; }
.about .about__image::after { content:'' !important; position:absolute !important; z-index:3 !important; inset:18px 18px auto auto !important; width:46px !important; height:46px !important; border-top:2px solid var(--accent) !important; border-right:2px solid var(--accent) !important; border-left:0 !important; border-bottom:0 !important; border-radius:0 !important; background:none !important; transform:none !important; opacity:.95 !important; }
.about .about__image img { width:100% !important; height:610px !important; min-height:610px !important; object-fit:cover !important; object-position:center top !important; filter:saturate(.82) contrast(1.07) brightness(.9) !important; transform:scale(1.01); transition:transform 350ms var(--ease),filter 350ms ease; }
.about .about__image:hover img { transform:scale(1.035); filter:saturate(.92) contrast(1.07) brightness(.95) !important; }
.about .about__image-label { position:absolute; z-index:4; left:22px; right:22px; bottom:20px; display:flex; align-items:end; justify-content:space-between; gap:18px; padding-top:16px; border-top:1px solid rgba(255,255,255,.25); }
.about .about__image-label strong { color:#fff; font:800 1.7rem/.92 var(--font-display); letter-spacing:.01em; }
.about .about__image-label span { color:var(--accent); font-size:.62rem; font-weight:900; letter-spacing:.12em; text-align:right; }
.about .about__copy { max-width:780px; }
.about .about__copy .eyebrow { margin-bottom:14px; }
.about .about__copy h2 { max-width:780px !important; margin-bottom:22px !important; font-size:clamp(3rem,4.55vw,4.9rem) !important; line-height:.9 !important; text-transform:uppercase; }
.about .about__copy > p:not(.eyebrow) { max-width:690px !important; margin:0 0 14px !important; color:#a9ada9 !important; font-size:.9rem !important; line-height:1.62 !important; }
.about .about__copy > p.about__lead { margin-bottom:17px !important; color:#a9ada9 !important; font-size:1.02rem !important; line-height:1.58 !important; }
.about .about__proofs { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; margin:30px 0 0 !important; border:1px solid #343938 !important; border-radius:0 !important; background:#0b0d0d !important; overflow:hidden; }
.about .about__proofs .about-proof { min-height:82px !important; padding:16px 15px !important; border:0 !important; border-right:1px solid #343938 !important; border-radius:0 !important; background:transparent !important; display:flex !important; flex-direction:column !important; align-items:flex-start !important; justify-content:center !important; gap:5px !important; color:inherit !important; text-transform:none !important; }
.about .about__proofs .about-proof:last-child { border-right:0 !important; }
.about .about__proofs .about-proof::before { display:none !important; }
.about .about-proof strong { color:var(--accent); font:800 1.18rem/.95 var(--font-display); letter-spacing:.02em; }
.about .about-proof small { color:#8e938e; font-size:.58rem; font-weight:800; line-height:1.2; letter-spacing:.07em; text-transform:uppercase; }
.about .about__action { display:flex; align-items:center; gap:18px; margin-top:26px; }
.about .about__action .btn { flex:0 0 auto; min-width:245px; text-transform:uppercase; }
.about .about__action-micro { max-width:245px !important; margin:0 !important; color:#777c77 !important; font-size:.7rem !important; line-height:1.45 !important; }

/* Área atendida */
.service-area {
  position:relative;
  overflow:hidden;
  background:radial-gradient(680px 360px at 92% 12%,rgba(244,196,0,.05),transparent 70%),#070909 !important;
  border-top:1px solid #1d2120;
}
.service-area::before { content:''; position:absolute; left:0; right:0; top:0; height:1px; background:linear-gradient(90deg,transparent 0%,rgba(244,196,0,.28) 50%,transparent 100%); pointer-events:none; }
.service-area .service-area__grid { display:grid !important; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr) !important; column-gap:56px !important; row-gap:38px !important; align-items:start !important; }
.service-area .service-area__grid > div:first-child { max-width:580px !important; align-self:center; }
.service-area .service-area__grid h2 { max-width:560px; margin-bottom:20px; font-size:clamp(3.1rem,4.6vw,4.8rem); line-height:.9; }
.service-area .lead-text { max-width:510px; margin:0; color:#a9ada9 !important; font-weight:400 !important; line-height:1.62 !important; }
.service-area .service-area__coverage { display:grid; gap:8px; width:100%; margin:0 !important; align-self:start; }
.service-area .service-area__coverage-item {
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(190px,32%) minmax(0,68%);
  align-items:center;
  gap:18px;
  min-height:92px;
  padding:14px 16px;
  border:1px solid #303534;
  border-radius:10px;
  background:linear-gradient(145deg,#101313 0%,#0b0d0d 100%);
  box-shadow:0 8px 22px rgba(0,0,0,.14);
}
.service-area .service-area__coverage-item::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:#3f4542; }
.service-area .service-area__coverage-item--primary { border-color:#4a4420; background:linear-gradient(145deg,rgba(244,196,0,.055) 0%,#0d0f0f 42%,#0a0c0c 100%); }
.service-area .service-area__coverage-item--primary::before { width:3px; background:var(--accent); box-shadow:0 0 16px rgba(244,196,0,.18); }
.service-area .service-area__coverage-head { display:flex; align-items:center; gap:12px; min-width:0; padding-right:16px; border-right:1px solid #2d3230; }
.service-area .service-area__coverage-mark { width:36px; height:36px; display:grid; place-items:center; flex:0 0 36px; border:1px solid #454b48; border-radius:50%; color:#8d938f; font-size:11px !important; font-weight:900; line-height:1; }
.service-area .service-area__coverage-item--primary .service-area__coverage-mark { border-color:var(--accent); background:var(--accent); color:var(--accent-ink); box-shadow:0 0 18px rgba(244,196,0,.12); }
.service-area .service-area__coverage-head > div { min-width:0; }
.service-area .service-area__coverage-item strong { display:block; color:#f4f5f0; font:800 1.18rem/1 var(--font-display); letter-spacing:.015em; white-space:normal; }
.service-area .service-area__coverage-item--primary strong { color:var(--accent); }
.service-area .service-area__coverage-item small { display:block; margin-top:5px; color:#727874; font-size:11px !important; font-weight:800; line-height:1.15; letter-spacing:.08em; }
.service-area .service-area__coverage-neighborhoods { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:0; min-width:0; }
.service-area .service-area__coverage-neighborhoods span { display:inline-flex; align-items:center; min-height:28px; padding:0 10px; border:1px solid #343a37; border-radius:999px; background:#0a0c0c; color:#c6cac5; font-size:12px !important; font-weight:700; line-height:1; white-space:nowrap; }
.service-area .service-area__coverage-item--primary .service-area__coverage-neighborhoods span { border-color:#554d1f; background:rgba(244,196,0,.045); color:#e2dfc9; }
.service-area .service-area__map {
  position:relative;
  grid-column:1 / -1 !important;
  width:100%;
  margin:0 !important;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  min-height:0 !important;
  overflow:hidden;
  border:1px solid rgba(244,196,0,.58) !important;
  border-radius:10px !important;
  background:radial-gradient(520px 150px at 50% 0%,rgba(244,196,0,.11),transparent 72%),#090b0b !important;
  box-shadow:0 0 0 1px rgba(244,196,0,.08),0 0 34px rgba(244,196,0,.10),0 24px 58px rgba(0,0,0,.28) !important;
}
.service-area .service-area__map::before { content:''; position:absolute; z-index:2; left:12%; right:12%; top:0; height:1px; background:var(--accent); box-shadow:0 0 14px rgba(244,196,0,.58); pointer-events:none; }
.service-area .service-area__map-head { position:relative; min-height:78px !important; display:flex !important; align-items:center !important; justify-content:center !important; padding:17px 24px !important; text-align:center; border-bottom:1px solid rgba(244,196,0,.28) !important; background:radial-gradient(280px 100px at 50% 0%,rgba(244,196,0,.14),transparent 72%),linear-gradient(180deg,rgba(244,196,0,.035),rgba(10,12,12,.98)) !important; }
.service-area .service-area__map-head > div { display:flex !important; flex-direction:column; align-items:center; justify-content:center; gap:6px !important; text-align:center; }
.service-area .service-area__map-kicker { color:var(--accent) !important; font-size:11px !important; font-weight:900; line-height:1; letter-spacing:.14em !important; }
.service-area .service-area__map-head strong { color:#fff; font:800 1.45rem/1 var(--font-display); text-align:center; letter-spacing:.025em !important; }
.service-area .service-area__map-frame { position:relative; height:340px !important; min-height:340px !important; flex:none !important; background:#0a0c0c !important; }
.service-area .service-area__map-frame::before { content:''; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(244,196,0,.045) 0%,transparent 18%); }
.service-area .service-area__map-frame iframe { display:block; width:100%; height:100%; min-height:340px !important; border:0; filter:grayscale(.76) saturate(.78) contrast(1.05) brightness(.88) !important; }

/* FAQ */
.faq { position:relative; overflow:hidden; background:radial-gradient(760px 360px at 12% 8%,rgba(244,196,0,.035),transparent 72%),#090b0b !important; border-top:1px solid #1d2120; }
.faq .faq__grid { display:grid !important; grid-template-columns:1fr !important; gap:0 !important; align-items:start !important; }
.faq .faq__intro { position:static !important; max-width:none !important; margin-bottom:40px; }
.faq .faq__intro h2 { max-width:none !important; margin-bottom:18px; font-size:clamp(2.85rem,4.15vw,4.5rem); line-height:.9; white-space:nowrap; }
.faq .faq__intro .section-intro { max-width:700px !important; margin:0; color:#969c97 !important; font-size:17px !important; line-height:1.58 !important; }
.faq .faq__list { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; width:100%; overflow:visible !important; border:0 !important; }
.faq .faq__list::before { display:none !important; }
.faq .faq__column { position:relative; border-top:1px solid #3a403e; border-bottom:1px solid #3a403e; }
.faq .faq__column::before { content:''; position:absolute; top:0; left:0; width:70px; height:1px; background:var(--accent); box-shadow:0 0 12px rgba(244,196,0,.22); pointer-events:none; }
.faq .faq__column details { margin:0 !important; padding:0 !important; border:0 !important; border-bottom:1px solid #292e2c !important; background:transparent !important; }
.faq .faq__column details:last-child { border-bottom:0 !important; }
.faq .faq__column summary { position:relative; display:grid; grid-template-columns:34px minmax(0,1fr) 34px; gap:12px; align-items:center; min-height:72px; padding:16px 2px !important; color:#f3f4ef; cursor:pointer; list-style:none; transition:color 180ms ease,padding-left 180ms ease; }
.faq .faq__column summary::-webkit-details-marker { display:none; }
.faq .faq__column summary:hover .faq__question { color:#fff; }
.faq .faq__number { color:#6f7571; font-size:11px !important; font-weight:900; line-height:1; letter-spacing:.06em; }
.faq .faq__question { min-width:0; color:#f0f2ed; font-size:16px !important; line-height:1.32; font-weight:750; transition:color 180ms ease; }
.faq .faq__column summary::after { content:'+'; width:34px !important; height:34px !important; display:grid !important; place-items:center !important; justify-self:end !important; align-self:center !important; border:1px solid #3b413e !important; border-radius:6px !important; background:#111414 !important; color:#aeb3af !important; font-size:18px !important; font-weight:500 !important; line-height:1 !important; box-shadow:inset 0 0 0 1px rgba(255,255,255,.015); transform:none !important; }
.faq .faq__column summary:hover::after { border-color:rgba(244,196,0,.55) !important; color:var(--accent) !important; background:rgba(244,196,0,.045) !important; }
.faq .faq__column details[open] .faq__number { color:var(--accent); }
.faq .faq__column details[open] summary::after { content:'−' !important; border-color:var(--accent) !important; color:var(--accent) !important; background:rgba(244,196,0,.06) !important; box-shadow:0 0 14px rgba(244,196,0,.08),inset 0 0 0 1px rgba(244,196,0,.035); transform:none !important; }
.faq .faq__column details > p { margin:0 !important; padding:0 42px 22px 46px !important; max-width:680px; color:#979d98 !important; font-size:16px !important; line-height:1.62 !important; }
.faq .faq__cta-wrap { width:min(100%,520px) !important; margin:36px auto 0 !important; padding-top:24px !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:14px !important; text-align:center !important; border-top:1px solid #303534 !important; }
.faq .faq__cta-wrap p { margin:0 !important; color:#8d938e; font-size:14px !important; line-height:1.5; text-align:center !important; }
.faq .faq__cta { min-width:260px; margin:0 auto !important; font-size:14px !important; }

/* CTA final */
.final-cta { position:relative; overflow:hidden; padding:72px 0 !important; background:#050606 !important; border-top:1px solid #1e2221 !important; border-bottom:1px solid #1e2221 !important; }
.final-cta::before,.final-cta::after { content:''; position:absolute; pointer-events:none; }
.final-cta::before { inset:auto -10% -55% auto; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle,rgba(244,196,0,.08),transparent 68%); opacity:1 !important; clip-path:none !important; }
.final-cta::after { left:0; right:0; top:0; height:1px; background:linear-gradient(90deg,transparent 0%,rgba(244,196,0,.55) 24%,rgba(244,196,0,.55) 76%,transparent 100%); }
.final-cta .final-cta__inner { position:relative; z-index:1; display:grid !important; grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr) !important; gap:0 !important; align-items:stretch !important; overflow:hidden; border:1px solid rgba(244,196,0,.7); border-radius:10px; background:var(--accent); box-shadow:0 0 0 1px rgba(244,196,0,.07),0 0 38px rgba(244,196,0,.08),0 26px 70px rgba(0,0,0,.26); }
.final-cta .final-cta__inner > div:first-child { position:relative; padding:48px 52px 46px; color:var(--accent-ink); background:linear-gradient(115deg,rgba(255,255,255,.08),transparent 42%),var(--accent); }
.final-cta .final-cta__inner > div:first-child::after { content:''; position:absolute; right:24px; top:24px; width:70px; height:70px; border-top:1px solid rgba(9,10,8,.3); border-right:1px solid rgba(9,10,8,.3); pointer-events:none; }
.final-cta .eyebrow { margin-bottom:16px; color:var(--accent-ink) !important; }
.final-cta .eyebrow::after { background:var(--accent-ink) !important; opacity:.55; }
.final-cta h2 { max-width:820px !important; margin:0 0 18px !important; color:var(--accent-ink) !important; font-size:clamp(3.25rem,5.2vw,5.5rem) !important; line-height:.87 !important; }
.final-cta .final-cta__intro { max-width:700px !important; margin:0 !important; color:rgba(9,10,8,.72) !important; line-height:1.58 !important; }
.final-cta .final-cta__action { min-width:0 !important; display:flex !important; flex-direction:column; justify-content:center; align-items:stretch; padding:42px 36px !important; text-align:left !important; border-left:1px solid rgba(244,196,0,.34); background:radial-gradient(260px 160px at 50% 0%,rgba(244,196,0,.055),transparent 72%),#090b0b; }
.final-cta .final-cta__action-label { margin:0 0 16px; color:#f1f2ed; font-size:12px !important; font-weight:900; line-height:1.2; letter-spacing:.09em; }
.final-cta .final-cta__action .btn { width:100%; min-height:58px; padding-inline:20px; border:1px solid var(--accent) !important; border-radius:6px !important; background:var(--accent) !important; color:var(--accent-ink) !important; box-shadow:0 0 24px rgba(244,196,0,.09); }
.final-cta .final-cta__action .btn:hover { background:var(--accent-hover) !important; border-color:var(--accent-hover) !important; box-shadow:0 10px 30px rgba(244,196,0,.14); }
.final-cta .final-cta__action small { display:block; max-width:none !important; margin:13px 0 0 !important; color:#8f9690 !important; font-size:12px !important; line-height:1.5; text-align:left; }

/* Footer */
.site-footer { position:relative; overflow:hidden; padding:0 !important; background:#020303 !important; border-top:1px solid #242827; }
.site-footer::before { content:''; position:absolute; top:0; left:50%; width:min(1180px,calc(100% - 48px)); height:1px; transform:translateX(-50%); background:linear-gradient(90deg,var(--accent) 0 92px,#343938 92px 100%); opacity:.9; pointer-events:none; }
.site-footer .footer-grid { display:grid !important; grid-template-columns:minmax(260px,1.42fr) minmax(150px,.76fr) minmax(175px,.92fr) minmax(150px,.72fr) minmax(235px,1fr) !important; gap:0 !important; padding:54px 0 46px; }
.site-footer .footer-grid > * { min-width:0; padding:0 28px; border-left:1px solid #202423; }
.site-footer .footer-grid > *:first-child { padding-left:0; border-left:0; }
.site-footer .footer-grid > *:last-child { padding-right:0; }
.site-footer .footer-brand--polished .wordmark { display:inline-grid !important; grid-template-columns:auto max-content !important; column-gap:8px !important; align-items:center !important; width:auto !important; margin:0 0 20px !important; color:inherit !important; font-size:inherit !important; line-height:1 !important; }
.site-footer .footer-brand--polished .wordmark::before { content:'' !important; display:block !important; grid-row:1 / span 2 !important; width:22px !important; height:34px !important; background:var(--accent) !important; clip-path:polygon(55% 0,12% 53%,43% 53%,27% 100%,88% 38%,57% 38%) !important; }
.site-footer .footer-brand--polished .wordmark__main { display:block !important; color:#f7f7f2 !important; font-family:var(--font-display) !important; font-size:22px !important; font-weight:800 !important; line-height:1 !important; text-transform:uppercase !important; letter-spacing:.015em !important; }
.site-footer .footer-brand--polished .wordmark__sub { display:block !important; color:var(--muted) !important; font-size:9px !important; font-weight:800 !important; line-height:1 !important; letter-spacing:.17em !important; text-align:center !important; }
.footer-brand__text { max-width:290px; margin:0 0 22px !important; color:#858b86 !important; font-size:14px !important; line-height:1.62 !important; }
.footer-brand__location { display:flex; align-items:center; gap:8px; color:#c3c7c2; font-size:10px; font-weight:850; letter-spacing:.1em; }
.footer-brand__location span { width:7px; height:7px; background:var(--accent); transform:rotate(45deg); box-shadow:0 0 12px rgba(244,196,0,.28); }
.site-footer .footer-block__label { margin:2px 0 18px !important; color:var(--accent) !important; font-size:10px !important; line-height:1.2; font-weight:900; letter-spacing:.12em; }
.site-footer .footer-block > p:not(.footer-block__label) { margin:0 0 9px !important; color:#969c97 !important; font-size:13px !important; line-height:1.4; }
.footer-hours { display:grid; gap:2px; margin-bottom:14px; }
.footer-hours span { color:#676d68; font-size:9px; font-weight:850; letter-spacing:.08em; }
.footer-hours strong { color:#d7dad5; font-size:13px; line-height:1.3; font-weight:650; }
.footer-nav { display:grid; gap:8px; }
.site-footer .footer-nav a { width:fit-content; margin:0 !important; color:#969c97 !important; font-size:13px !important; line-height:1.4; transition:color 160ms ease,transform 160ms ease; }
.site-footer .footer-nav a:hover { color:#fff !important; transform:translateX(3px); }
.footer-contact strong { display:block; max-width:220px; margin-bottom:10px; color:#f1f2ee; font-family:var(--font-display); font-size:1.6rem; line-height:.98; text-transform:uppercase; }
.footer-contact > p:not(.footer-block__label) { margin:0 0 18px !important; color:#858b86 !important; font-size:13px !important; line-height:1.5; }
.footer-contact__cta { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:0 15px; border:1px solid #4b504d; background:#080a0a; color:var(--accent); font-size:11px; font-weight:900; letter-spacing:.05em; transition:border-color 170ms ease,background 170ms ease,color 170ms ease,transform 170ms var(--ease); }
.footer-contact__cta:hover { border-color:var(--accent); background:var(--accent); color:var(--accent-ink); transform:translateY(-2px); }
.site-footer .footer-demo { min-height:58px; display:grid !important; grid-template-columns:1fr auto 1fr; align-items:center; padding:12px 0 !important; border-top:1px solid #202423; color:#5f6560 !important; font-size:9px !important; line-height:1.35; font-weight:750; letter-spacing:.065em; text-transform:uppercase; }
.site-footer .footer-demo__badge { grid-column:2; display:flex !important; align-items:center !important; justify-content:center !important; gap:0 !important; min-height:38px; padding:7px 14px !important; border:2px solid var(--accent) !important; border-radius:5px !important; background:#020303 !important; box-shadow:0 0 0 1px rgba(244,196,0,.04),0 0 16px rgba(244,196,0,.035); overflow:hidden; white-space:nowrap; text-align:center; }
.site-footer .footer-demo__copyright,
.site-footer .footer-demo__model { display:inline-flex !important; align-items:center; min-height:20px; padding:0 12px; background:transparent !important; font-size:9px !important; font-weight:850 !important; line-height:1.2 !important; letter-spacing:.065em !important; white-space:nowrap; }
.site-footer .footer-demo__copyright { color:#858b86 !important; border-right:1px solid rgba(244,196,0,.32); }
.site-footer .footer-demo__model { color:var(--accent) !important; }
.site-footer .footer-demo a { grid-column:3; justify-self:end; margin:0 !important; color:#888e89 !important; font-size:9px !important; font-weight:850; letter-spacing:.07em; transition:color 160ms ease; }
.site-footer .footer-demo a:hover { color:var(--accent) !important; }

/* Escala tipográfica aprovada após a Hero */
main > section:not(.hero) .service-card p,
main > section:not(.hero) .services-other p,
main > section:not(.hero) .diagnostic__body--second,
main > section:not(.hero) .problem-panel li,
main > section:not(.hero) .portfolio-closing p,
main > section:not(.hero) .process-grid p,
main > section:not(.hero) .differentials li,
main > section:not(.hero) .review-marquee-message,
main > section.about .about__copy > p:not(.eyebrow),
main > section:not(.hero) .faq details p { font-size:var(--section-body-size) !important; }
main > section.about .about__copy > p.about__lead { font-size:var(--section-body-size) !important; }
main > section:not(.hero) .services-heading__intro,
main > section:not(.hero) .diagnostic__body:not(.diagnostic__body--second),
main > section:not(.hero) .portfolio-intro,
main > section:not(.hero) .process-intro,
main > section:not(.hero) .reviews-intro,
main > section:not(.hero) .service-area .lead-text,
main > section:not(.hero) .faq__intro > p:not(.eyebrow),
main > section:not(.hero) .final-cta__inner > div:first-child > p:not(.eyebrow),
main > section:not(.hero) .section-heading > p:not(.eyebrow) { font-size:var(--section-intro-size) !important; }
main > section:not(.hero) small,
main > section:not(.hero) .about__action-micro,
main > section:not(.hero) .about__image-label span,
main > section:not(.hero) .review-marquee-location,
main > section:not(.hero) .portfolio-card figcaption span,
main > section:not(.hero) .services-other__eyebrow,
main > section:not(.hero) .problem-panel__label { font-size:var(--section-meta-size) !important; }
main > section:not(.hero) .btn,
main > section:not(.hero) .service-card__cta,
main > section:not(.hero) button { font-size:var(--section-button-size) !important; }
main > section:not(.hero) .eyebrow { font-size:var(--section-eyebrow-size) !important; }

/* Revelação progressiva */
.reveal-item { opacity:0; transform:translateY(12px); transition:opacity 420ms ease,transform 420ms var(--ease); transition-delay:var(--reveal-delay,0ms); }
.reveal-item.is-visible { opacity:1; transform:none; }

@media (max-width:1120px) {
  .service-area .service-area__coverage-item { grid-template-columns:minmax(170px,36%) minmax(0,64%); }
}

@media (max-width:1060px) {
  .site-footer .footer-grid { grid-template-columns:1.3fr 1fr 1fr !important; row-gap:36px !important; }
  .site-footer .footer-grid > * { border-left:0; padding:0 24px 0 0; }
  .site-footer .footer-contact,
  .site-footer .footer-nav-block { padding-top:30px; border-top:1px solid #202423; }
}

@media (max-width:980px) {
  .service-card { min-height:218px !important; }
  .service-card__body { min-height:206px !important; padding-bottom:12px !important; }
  .about .about__grid { grid-template-columns:.9fr 1.1fr !important; gap:42px !important; }
  .about .about__image,
  .about .about__image img { min-height:540px !important; height:540px !important; }
  .about .about__proofs { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .about .about__proofs .about-proof:nth-child(2) { border-right:0 !important; }
  .about .about__proofs .about-proof:nth-child(-n+2) { border-bottom:1px solid #343938 !important; }
  .service-area .service-area__grid { grid-template-columns:1fr !important; gap:34px !important; }
  .service-area .service-area__grid > div:first-child { max-width:720px !important; }
  .service-area .lead-text { max-width:680px; }
  .service-area .service-area__coverage { max-width:100%; }
  .service-area .service-area__coverage-item { grid-template-columns:minmax(190px,32%) minmax(0,68%); }
  .service-area .service-area__map { grid-column:1 !important; }
}

@media (max-width:900px) {
  .process .section-heading h2 { white-space:normal; }
  .process .process-grid { display:block; padding:0 !important; border-top:1px solid #343938 !important; border-bottom:1px solid #343938; }
  .process .process-grid::before { left:20px; right:auto; top:0; bottom:0; width:1px; height:auto; }
  .process .process-grid li { min-height:0; padding:26px 20px 26px 70px !important; border-left:0 !important; border-bottom:1px solid #252929 !important; }
  .process .process-grid li:last-child { border-bottom:0 !important; }
  .process .process-grid li > span { top:25px; left:0; box-shadow:0 0 0 7px #090b0b; }
  .process .process-grid li::after { top:auto; right:auto; left:17px; bottom:-3px; }
  .process .process-grid h3,
  .process .process-grid p { max-width:620px; }
  .process .differentials { grid-template-columns:1fr !important; }
  .process .differentials ul { border-left:0; border-top:1px solid #343938; }
  .reviews .reviews-head { gap:34px !important; }
  .reviews .review-marquee-card { flex-basis:306px !important; width:306px !important; min-height:164px !important; }
  .reviews .review-marquee-row::before,
  .reviews .review-marquee-row::after { width:26px; }
  .faq .faq__intro h2 { white-space:normal; }
  .faq .faq__list { grid-template-columns:1fr; gap:26px; }
  .final-cta .final-cta__inner { grid-template-columns:1fr !important; }
  .final-cta .final-cta__action { border-left:0; border-top:1px solid rgba(244,196,0,.34); }
}

@media (max-width:860px) {
  .diagnostic__grid { grid-template-columns:1fr !important; gap:34px !important; }
  .diagnostic .problem-panel { max-width:none; }
  .site-footer .footer-demo { grid-template-columns:1fr; justify-items:center; gap:10px; padding:14px 0 !important; }
  .site-footer .footer-demo__badge { grid-column:1; width:min(100%,520px); flex-wrap:wrap; gap:5px 0 !important; padding:8px 10px !important; white-space:normal; }
  .site-footer .footer-demo__copyright,
  .site-footer .footer-demo__model { justify-content:center; white-space:normal; text-align:center; }
  .site-footer .footer-demo__copyright { width:100%; border-right:0; border-bottom:1px solid rgba(244,196,0,.24); padding-bottom:5px; }
  .site-footer .footer-demo__model { width:100%; padding-top:3px; }
  .site-footer .footer-demo a { grid-column:1; justify-self:center; }
}

@media (max-width:760px) {
  #trabalhos .portfolio-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:none; grid-auto-rows:190px; }
  #trabalhos .portfolio-card,
  #trabalhos .portfolio-card:nth-child(n) { grid-column:auto; grid-row:auto; }
  #trabalhos .portfolio-card:first-child { grid-column:1 / -1; grid-row:span 2; }
  .about .about__grid { grid-template-columns:1fr !important; gap:34px !important; }
  .about .about__image { order:2; min-height:470px !important; }
  .about .about__image img { height:470px !important; min-height:470px !important; }
  .about .about__copy { order:1; }
  .about .about__copy h2 { font-size:clamp(2.7rem,13vw,4.25rem) !important; }
  .about .about__action { align-items:flex-start; flex-direction:column; gap:10px; }
}

@media (max-width:720px) {
  .site-footer::before { width:calc(100% - 36px); }
  .site-footer .footer-grid { grid-template-columns:1fr 1fr !important; gap:30px 20px !important; padding:42px 0 36px; }
  .site-footer .footer-grid > * { padding:0 !important; }
  .footer-brand--polished,
  .footer-contact { grid-column:1 / -1; }
  .site-footer .footer-nav-block,
  .site-footer .footer-contact { padding-top:26px !important; }
}

@media (max-width:680px) {
  .service-area .service-area__coverage-item { grid-template-columns:1fr; gap:12px; min-height:0; padding:14px; border-radius:9px; }
  .service-area .service-area__coverage-head { padding-right:0; padding-bottom:12px; border-right:0; border-bottom:1px solid #2d3230; }
  .service-area .service-area__coverage-neighborhoods { gap:6px; }
  .service-area .service-area__coverage-neighborhoods span { min-height:27px; padding:0 9px; }
}

@media (max-width:620px) {
  .hero__trust-grid--mobile .hero__trust-title { font-size:9px; line-height:1.28; overflow-wrap:anywhere; }
  .diagnostic .problem-panel ul { grid-template-columns:1fr; padding:12px !important; }
  .diagnostic .problem-panel li { min-height:64px !important; }
  .diagnostic .problem-panel__label { padding:17px 16px !important; font-size:12px !important; }
  .diagnostic .diagnostic__cta-row { margin-top:4px; padding-top:26px; }
  .diagnostic .diagnostic__cta-row .diagnostic__cta { width:100% !important; min-width:0 !important; }
  .reviews .reviews-head { grid-template-columns:1fr !important; gap:24px !important; align-items:stretch !important; }
  .reviews .rating-demo { width:100%; min-width:0 !important; min-height:142px !important; align-self:stretch !important; }
  .reviews .rating-score strong { font-size:3.5rem !important; }
  .reviews .reviews-grid.reviews-marquee { gap:12px !important; }
  .reviews .review-marquee-group { gap:12px; padding-right:12px; }
  .reviews .review-marquee-card { flex-basis:282px !important; width:282px !important; min-height:158px !important; padding:16px 16px 15px !important; border-radius:11px !important; }
  .reviews .review-marquee-message { font-size:.86rem !important; margin-bottom:14px !important; }
  .reviews .review-marquee-location { font-size:.56rem !important; }
  .reviews .review-marquee-row--left .review-marquee-track { animation-duration:54s; }
  .reviews .review-marquee-row--right .review-marquee-track { animation-duration:58s; }
  .reviews .review-marquee-row::before,
  .reviews .review-marquee-row::after { width:14px; }
  .service-area .service-area__map-head { min-height:70px !important; padding:14px 18px !important; }
  .service-area .service-area__map-frame,
  .service-area .service-area__map-frame iframe { height:300px !important; min-height:300px !important; }
  .faq .faq__intro { margin-bottom:32px; }
  .faq .faq__intro h2 { font-size:clamp(2.8rem,12vw,4rem); }
  .faq .faq__column summary { grid-template-columns:30px minmax(0,1fr) 34px !important; gap:10px; min-height:66px; padding:14px 0 !important; }
  .faq .faq__column details > p { padding:0 36px 20px 40px !important; }
  .faq .faq__cta-wrap { width:100% !important; max-width:none !important; align-items:center !important; }
  .faq .faq__cta { width:100%; min-width:0; }
  .final-cta { padding:52px 0 !important; }
  .final-cta .final-cta__inner > div:first-child { padding:34px 24px 32px; }
  .final-cta .final-cta__inner > div:first-child::after { width:46px; height:46px; right:16px; top:16px; }
  .final-cta h2 { font-size:clamp(2.8rem,13vw,4rem) !important; }
  .final-cta .final-cta__action { padding:28px 24px !important; }
}

@media (max-width:560px) {
  #trabalhos .portfolio-grid { grid-template-columns:1fr; grid-template-rows:none; grid-auto-rows:220px; }
  #trabalhos .portfolio-card:first-child { grid-column:auto; grid-row:span 2; }
  #trabalhos .portfolio-card figcaption strong,
  #trabalhos .portfolio-card:first-child figcaption strong { max-width:68%; font-size:1.15rem; }
  #trabalhos .portfolio-closing { margin-top:34px; padding-top:28px; }
  #trabalhos .portfolio-closing__cta { width:100%; min-width:0; }
  .process .section-heading--split { margin-bottom:30px; }
  .process .process-grid li { padding-right:8px !important; }
  .process .differentials ul { grid-template-columns:1fr; }
}

@media (max-width:480px) {
  .about .about__image { min-height:420px !important; }
  .about .about__image img { height:420px !important; min-height:420px !important; }
  .about .about__image-label { left:16px; right:16px; bottom:16px; }
  .about .about__image-label strong { font-size:1.45rem; }
  .about .about__proofs { grid-template-columns:1fr 1fr !important; }
  .about .about__action .btn { width:100%; min-width:0; }
  .site-footer .footer-grid { grid-template-columns:1fr !important; }
  .footer-brand--polished,
  .footer-contact { grid-column:auto; }
  .site-footer .footer-grid > * + * { padding-top:22px !important; border-top:1px solid #202423; }
  .site-footer .footer-demo__badge { width:100%; border-width:2px !important; border-radius:5px !important; }
}

@media (prefers-reduced-motion:reduce) {
  .reveal-item { opacity:1 !important; transform:none !important; transition:none !important; }
  .reviews .review-marquee-track { animation:none !important; transform:none !important; }
  .reviews .review-marquee-row { overflow-x:auto; scrollbar-width:none; }
  .reviews .review-marquee-row::-webkit-scrollbar { display:none; }
  .reviews .review-marquee-group[aria-hidden='true'] { display:none; }
}
