:root {
  --navy: #002a5c;
  --navy-deep: #001f43;
  --blue: #0057b8;
  --blue-mid: #003b7a;
  --blue-light: #7cc7f2;
  --orange: #ff7900;
  --green: #0b9f2f;
  --green-dark: #078527;
  --ink: #072553;
  --muted: #526477;
  --line: #d7e1ec;
  --soft: #edf5fc;
  --white: #fff;
  --shadow: 0 3px 10px rgba(0, 35, 75, .11);
  --container: 1200px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Montserrat, Avenir, "Trebuchet MS", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.42;
  -webkit-font-smoothing: antialiased;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
}

svg {
  display: block;
}

.svg-defs {
  position: fixed;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.container {
  width: min(calc(100% - 44px), var(--container));
  margin-inline: auto;
}

.site-header {
  position: relative;
  z-index: 20;
  background: #fff;
  border-top: 2px solid var(--navy);
  border-bottom: 1px solid #d6e0ea;
  box-shadow: 0 2px 8px rgba(0, 35, 75, .09);
}

.header-inner {
  width: min(calc(100% - 44px), 1260px);
  min-height: 86px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 205px 1fr auto;
  align-items: center;
  gap: 28px;
}

.brand,
.footer-brand {
  display: inline-flex;
  width: 188px;
}

.brand-mark {
  width: 100%;
  height: auto;
  overflow: visible;
}

.brand-mark text {
  fill: #0750a2;
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 800;
}

.brand-mark .brand-sub {
  font-size: 6.4px;
  letter-spacing: .2px;
}

.brand-mark rect {
  fill: #08a5df;
}

.roof-orange {
  fill: #fb7412;
}

.roof-blue {
  fill: #0750a2;
}

.roof-cyan {
  fill: #08a5df;
}

.main-nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: clamp(18px, 2.3vw, 35px);
}

.main-nav a {
  position: relative;
  padding: 30px 0 26px;
  color: #111d2c;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}

.main-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 20px;
  left: 0;
  height: 2px;
  background: var(--blue);
  transform: scaleX(0);
  transition: transform .2s ease;
}

.main-nav a:hover,
.main-nav a.active {
  color: var(--blue);
}

.main-nav a:hover::after,
.main-nav a.active::after {
  transform: scaleX(1);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid transparent;
  font-weight: 800;
  line-height: 1.08;
  text-align: center;
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.button:hover {
  transform: translateY(-2px);
  filter: saturate(1.08);
}

.button:active {
  transform: translateY(0) scale(.985);
}

.button:focus-visible,
.menu-toggle:focus-visible,
summary:focus-visible,
.comparison-range:focus-visible {
  outline: 3px solid rgba(124, 199, 242, .75);
  outline-offset: 3px;
}

.button-whatsapp {
  color: #fff;
  background: var(--green);
  border-color: var(--green-dark);
  box-shadow: 0 3px 8px rgba(0, 90, 25, .22);
}

.button-whatsapp svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.header-cta {
  min-width: 236px;
  padding: 9px 18px;
  border-radius: 30px;
  text-transform: none;
}

.header-cta strong,
.header-cta small {
  display: block;
}

.header-cta strong {
  font-size: 15px;
}

.header-cta small {
  margin-top: 2px;
  font-size: 11px;
}

.menu-toggle {
  display: none;
  width: 42px;
  padding: 6px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  height: 4px;
  margin: 5px 0;
  border-radius: 2px;
  background: #111;
}

.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background: #062c56;
}

.hero-background {
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: url("assets/hero-gutter.png");
  background-position: center right;
  background-size: cover;
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(0, 29, 65, .98) 0%, rgba(0, 42, 92, .89) 38%, rgba(0, 42, 92, .28) 68%, rgba(0, 42, 92, .04) 100%);
}

.hero-inner {
  min-height: 388px;
  display: flex;
  align-items: center;
  padding-block: 31px 27px;
}

.hero-content {
  width: min(570px, 54%);
}

.hero h1 {
  margin: 0 0 8px;
  font-size: clamp(31px, 3.1vw, 45px);
  line-height: .98;
  letter-spacing: -.8px;
  text-transform: uppercase;
}

.hero-kicker {
  margin: 0;
  color: var(--blue-light);
  font-size: 21px;
  font-weight: 800;
  text-transform: uppercase;
}

.hero-experience {
  margin: 1px 0 12px;
  color: #d2edff;
  font-size: 17px;
}

.hero-description {
  max-width: 480px;
  margin: 0 0 11px;
  font-size: 14px;
}

.check-list {
  display: grid;
  gap: 5px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
  font-size: 13px;
}

.check-list li {
  position: relative;
  padding-left: 24px;
}

.check-list li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: 16px;
  height: 16px;
  place-items: center;
  color: #fff;
  background: var(--orange);
  border-radius: 50%;
  font-size: 11px;
  font-weight: 900;
}

.hero-cta {
  padding: 11px 20px;
  border-radius: 10px;
  font-size: 14px;
}

.service-area-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 16px;
  color: #fff;
  background: linear-gradient(90deg, #075cb8, #004894);
  font-size: 16px;
}

.service-area-bar svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.trust-benefits {
  border-bottom: 1px solid var(--line);
  background: #fff;
}

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding-block: 14px;
}

.benefit-card {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  padding: 6px 24px;
}

.benefit-card + .benefit-card {
  border-left: 1px solid var(--line);
}

.benefit-card > svg,
.benefit-card > .icon-img {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  color: #003b9a;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.benefit-card h2,
.benefit-card p {
  margin: 0;
}

.benefit-card h2 {
  color: #002b78;
  font-size: 13px;
}

.benefit-card p {
  max-width: 170px;
  margin-top: 3px;
  color: #263a50;
  font-size: 11px;
  line-height: 1.35;
}

.section {
  padding-block: 13px 18px;
  background: #fff;
}

.section-title {
  display: flex;
  align-items: center;
  gap: 15px;
  margin: 0 0 13px;
  color: #0345a4;
  font-size: 18px;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
}

.section-title::before,
.section-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #dce4ec;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.service-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid #d5dee8;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 35, 75, .05);
  transition: transform .25s ease, box-shadow .25s ease;
}

.service-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}

.service-media {
  overflow: hidden;
  aspect-ratio: 4 / 2.55;
}

.service-media img {
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.service-card:hover .service-media img {
  transform: scale(1.035);
}

.service-copy {
  position: relative;
  min-height: 116px;
  padding: 20px 18px 16px;
}

.service-icon {
  position: absolute;
  top: -25px;
  left: 16px;
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  color: #053d9c;
  background: #fff;
  border: 1px solid #d9e1e9;
  border-radius: 50%;
  box-shadow: 0 2px 7px rgba(0, 35, 75, .1);
}

.service-icon svg,
.service-icon img {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.service-copy h3 {
  margin: 0 0 5px;
  color: #002b78;
  font-size: 18px;
  line-height: 1.05;
}

.service-copy p {
  margin: 0;
  color: #263a50;
  font-size: 12px;
  line-height: 1.35;
}

.why-section {
  padding-top: 4px;
}

.reasons-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.reason {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 5px 19px;
}

.reason + .reason {
  border-left: 1px solid var(--line);
}

.reason > svg,
.reason > .icon-img {
  flex: 0 0 auto;
  width: 39px;
  height: 39px;
  color: #063d99;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.reason h3,
.reason p {
  margin: 0;
}

.reason h3 {
  color: #002b78;
  font-size: 12px;
}

.reason p {
  margin-top: 3px;
  color: #34465a;
  font-size: 10.5px;
}

.comparison-section {
  padding-top: 8px;
}

.comparison {
  overflow: hidden;
  border-radius: 9px;
  box-shadow: 0 2px 6px rgba(0, 35, 75, .08);
}

.comparison-labels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  color: #fff;
  background: #002a5c;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
}

.comparison-labels span {
  padding: 4px 8px;
}

.comparison-labels span + span {
  border-left: 1px solid rgba(255, 255, 255, .7);
}

.comparison-stage {
  position: relative;
  overflow: hidden;
  aspect-ratio: 5.3 / 1;
  background: #e8eef3;
}

.comparison-before,
.comparison-after {
  height: 100%;
  object-fit: cover;
}

.comparison-before {
  position: absolute;
  inset: 0;
}

.comparison-after-wrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: calc(100% - var(--position));
  overflow: hidden;
}

.comparison-after {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100vw - 44px);
  max-width: var(--container);
}

.comparison-divider {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--position);
  width: 2px;
  background: #fff;
  box-shadow: 0 0 5px rgba(0, 0, 0, .35);
  transform: translateX(-1px);
}

.comparison-handle {
  position: absolute;
  top: 50%;
  left: var(--position);
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: #003b7a;
  background: #fff;
  border: 1px solid #d6e0ea;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 25, 55, .25);
  font-size: 25px;
  font-weight: 800;
  letter-spacing: 4px;
  transform: translate(-50%, -50%);
}

.comparison-range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: ew-resize;
  opacity: 0;
}

.gallery-section {
  padding-top: 0;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 13px;
}

.gallery-item {
  overflow: hidden;
  aspect-ratio: 4 / 2.7;
  margin: 0;
  border-radius: 9px;
  background: #e8eef3;
}

.gallery-item img {
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease, filter .4s ease;
}

.gallery-item:hover img {
  transform: scale(1.05);
  filter: saturate(1.08);
}

.about-section {
  padding: 0 0 12px;
  background: #fff;
}

.about-panel {
  display: grid;
  grid-template-columns: 42% 58%;
  overflow: hidden;
  background: var(--soft);
  border-radius: 10px;
}

.about-media {
  min-height: 190px;
}

.about-media img {
  height: 100%;
  object-fit: cover;
}

.about-copy {
  align-self: center;
  padding: 25px 38px;
}

.about-copy h2 {
  margin: 0 0 8px;
  color: #0345a4;
  font-size: 18px;
  text-transform: uppercase;
}

.about-copy > p {
  max-width: 620px;
  margin: 0;
  color: #263a50;
  font-size: 13px;
}

.about-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 21px;
}

.about-features span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #263a50;
  font-size: 10.5px;
  line-height: 1.25;
}

.about-features svg {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  color: #0345a4;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.coverage-section {
  padding-top: 4px;
}

.map-panel {
  position: relative;
  isolation: isolate;
  min-height: 108px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #002a5c;
  background:
    linear-gradient(105deg, rgba(220, 228, 226, .6), rgba(247, 246, 238, .9)),
    #eef1ee;
  border-radius: 9px;
}

.map-lines {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: rgba(255, 255, 255, .95);
  stroke-width: 4;
}

.map-lines .river {
  stroke: rgba(110, 203, 239, .45);
  stroke-width: 8;
}

.map-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}

.map-pin {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  color: #fff;
  background: #0345a4;
  border: 4px solid #fff;
  border-radius: 50%;
  box-shadow: var(--shadow);
}

.map-pin svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.results-section {
  padding-top: 4px;
}

.results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.result-card {
  overflow: hidden;
  border: 1px solid #d6e0ea;
  border-radius: 9px;
  background: #fff;
}

.result-card img {
  aspect-ratio: 16 / 5.7;
  object-fit: cover;
}

.result-card h3 {
  margin: 0;
  padding: 7px 10px;
  color: #072553;
  font-size: 11px;
  text-align: center;
}

.faq-section {
  padding-top: 4px;
  padding-bottom: 24px;
}

.faq-item {
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
}

.faq-item:first-of-type {
  border-radius: 9px 9px 0 0;
}

.faq-item:last-of-type {
  border-radius: 0 0 9px 9px;
}

.faq-item + .faq-item {
  border-top: 0;
}

.faq-item summary {
  position: relative;
  padding: 10px 42px 3px 15px;
  color: #002b78;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: "⌄";
  position: absolute;
  top: 8px;
  right: 16px;
  color: #0345a4;
  font-size: 20px;
  transition: transform .2s ease;
}

.faq-item[open] summary::after {
  transform: rotate(180deg);
}

.faq-item p {
  margin: 0;
  padding: 0 42px 9px 15px;
  color: #526477;
  font-size: 10.5px;
}

.final-cta {
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(120deg, rgba(0, 48, 95, .95), rgba(0, 31, 67, .98)),
    #002a5c;
}

.final-cta-inner {
  min-height: 118px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding-block: 20px;
}

.final-cta h2 {
  margin: 0;
  font-size: 21px;
  line-height: 1.05;
  text-transform: uppercase;
}

.final-cta p {
  margin: 4px 0 0;
  color: #d8ebf9;
  font-size: 12px;
}

.final-button {
  min-width: 270px;
  padding: 11px 20px;
  border-radius: 11px;
  font-size: 13px;
}

.site-footer {
  color: #fff;
  background: var(--navy-deep);
}

.footer-grid {
  display: grid;
  grid-template-columns: 250px 1fr 1.3fr;
  align-items: center;
  gap: 40px;
  padding-block: 23px;
}

.footer-brand {
  width: 180px;
}

.footer-brand .brand-mark text {
  fill: #fff;
}

.footer-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(80px, 1fr));
  gap: 8px 35px;
  font-size: 12px;
}

.footer-nav a:hover {
  color: var(--blue-light);
}

.footer-contact {
  display: grid;
  gap: 8px;
  margin: 0;
  font-style: normal;
  font-size: 12px;
}

.footer-contact p,
.footer-contact a {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.footer-contact svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.reveal {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .55s ease, transform .55s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

.services-grid .reveal:nth-child(2),
.benefits-grid .reveal:nth-child(2),
.reasons-grid .reveal:nth-child(2) {
  transition-delay: .06s;
}

.services-grid .reveal:nth-child(3),
.benefits-grid .reveal:nth-child(3),
.reasons-grid .reveal:nth-child(3) {
  transition-delay: .12s;
}

.services-grid .reveal:nth-child(4),
.benefits-grid .reveal:nth-child(4),
.reasons-grid .reveal:nth-child(4) {
  transition-delay: .18s;
}

@media (max-width: 1080px) {
  .header-inner {
    grid-template-columns: 175px 1fr auto;
    gap: 16px;
  }

  .brand {
    width: 170px;
  }

  .main-nav {
    gap: 15px;
  }

  .main-nav a {
    font-size: 10px;
  }

  .header-cta {
    min-width: 205px;
    padding-inline: 13px;
  }

  .benefit-card {
    padding-inline: 13px;
  }

  .service-copy h3 {
    font-size: 16px;
  }
}

@media (max-width: 768px) {
  html {
    scroll-padding-top: 122px;
  }

  body {
    font-size: 13px;
  }

  .container,
  .header-inner {
    width: min(calc(100% - 28px), var(--container));
  }

  .site-header {
    border-width: 1px;
  }

  .header-inner {
    min-height: auto;
    grid-template-columns: 1fr auto;
    gap: 5px 12px;
    padding-block: 7px 9px;
  }

  .brand {
    width: 154px;
  }

  .menu-toggle {
    display: block;
  }

  .main-nav {
    grid-column: 1 / -1;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 5px 0;
    border-top: 1px solid var(--line);
  }

  .main-nav.is-open {
    display: flex;
  }

  .main-nav a {
    padding: 10px 4px;
    font-size: 12px;
  }

  .main-nav a::after {
    display: none;
  }

  .header-cta {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    margin-top: 1px;
    padding: 7px 12px;
  }

  .header-cta svg {
    width: 25px;
    height: 25px;
  }

  .header-cta strong {
    font-size: 14px;
  }

  .hero-background {
    background-position: 64% center;
  }

  .hero::after {
    background: linear-gradient(90deg, rgba(0, 31, 67, .97), rgba(0, 42, 92, .85));
  }

  .hero-inner {
    min-height: 0;
    padding-block: 19px 18px;
  }

  .hero-content {
    width: 100%;
  }

  .hero h1 {
    max-width: 390px;
    margin-bottom: 6px;
    font-size: clamp(23px, 7vw, 29px);
    line-height: 1.03;
  }

  .hero-kicker {
    font-size: 17px;
  }

  .hero-experience {
    margin-bottom: 10px;
    font-size: 14px;
  }

  .hero-description {
    max-width: 350px;
    font-size: 12px;
  }

  .check-list {
    gap: 4px;
    font-size: 11px;
  }

  .hero-cta {
    padding: 10px 14px;
    font-size: 12px;
  }

  .service-area-bar {
    padding-block: 7px;
    font-size: 12px;
  }

  .service-area-bar svg {
    width: 17px;
    height: 17px;
  }

  .benefits-grid {
    grid-template-columns: repeat(2, 1fr);
    padding-block: 10px;
  }

  .benefit-card {
    min-height: 110px;
    flex-direction: column;
    gap: 5px;
    padding: 10px 7px;
    text-align: center;
  }

  .benefit-card + .benefit-card {
    border-left: 0;
  }

  .benefit-card:nth-child(even) {
    border-left: 1px solid var(--line);
  }

  .benefit-card:nth-child(n+3) {
    border-top: 1px solid var(--line);
  }

  .benefit-card > svg,
.benefit-card > .icon-img {
    width: 36px;
    height: 36px;
  }

  .benefit-card h2 {
    font-size: 11px;
  }

  .benefit-card p {
    font-size: 10px;
  }

  .section {
    padding-block: 11px 15px;
  }

  .section-title {
    gap: 7px;
    margin-bottom: 10px;
    font-size: 14px;
  }

  .section-title::before,
  .section-title::after {
    min-width: 12px;
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .service-card {
    display: grid;
    grid-template-columns: 34% 66%;
    min-height: 95px;
    border-radius: 8px;
  }

  .service-media {
    height: 100%;
    min-height: 95px;
    aspect-ratio: auto;
  }

  .service-copy {
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 10px 12px;
  }

  .service-icon {
    display: none;
  }

  .service-copy h3 {
    margin-bottom: 4px;
    font-size: 14px;
  }

  .service-copy p {
    font-size: 10.5px;
  }

  .reasons-grid {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .reason {
    padding: 6px 8px;
  }

  .reason + .reason {
    border-left: 0;
  }

  .reason > svg,
.reason > .icon-img {
    width: 32px;
    height: 32px;
  }

  .reason h3 {
    font-size: 11px;
  }

  .reason p {
    font-size: 10px;
  }

  .comparison-stage {
    aspect-ratio: 3.15 / 1;
  }

  .comparison-labels {
    font-size: 10px;
  }

  .comparison-labels span {
    padding: 3px;
  }

  .comparison-handle {
    width: 32px;
    height: 32px;
    font-size: 16px;
    letter-spacing: 2px;
  }

  .comparison-after {
    width: calc(100vw - 28px);
  }

  .gallery-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
  }

  .gallery-item {
    aspect-ratio: 1.1 / 1;
    border-radius: 6px;
  }

  .about-panel {
    grid-template-columns: 1fr;
  }

  .about-media {
    min-height: 0;
    aspect-ratio: 16 / 7;
  }

  .about-copy {
    padding: 14px;
  }

  .about-copy h2 {
    font-size: 14px;
  }

  .about-copy > p {
    font-size: 10.5px;
  }

  .about-features {
    gap: 8px;
    margin-top: 13px;
  }

  .about-features span {
    flex-direction: column;
    gap: 4px;
    text-align: center;
    font-size: 8.5px;
  }

  .about-features svg {
    width: 24px;
    height: 24px;
  }

  .map-panel {
    min-height: 90px;
  }

  .map-label {
    font-size: 11px;
  }

  .results-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 7px;
  }

  .result-card:last-child {
    grid-column: 1 / -1;
  }

  .result-card img {
    aspect-ratio: 16 / 8;
  }

  .result-card:last-child img {
    aspect-ratio: 16 / 5;
  }

  .result-card h3 {
    padding: 5px;
    font-size: 9.5px;
  }

  .faq-item summary {
    padding: 9px 35px 5px 10px;
    font-size: 10px;
  }

  .faq-item summary::after {
    top: 6px;
    right: 11px;
  }

  .faq-item p {
    padding: 0 35px 8px 10px;
    font-size: 9px;
  }

  .final-cta-inner {
    min-height: 0;
    flex-direction: column;
    gap: 13px;
    padding-block: 18px;
    text-align: center;
  }

  .final-cta h2 {
    font-size: 16px;
  }

  .final-button {
    width: min(100%, 310px);
    min-width: 0;
    font-size: 11px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 19px;
    padding-block: 20px;
    text-align: center;
  }

  .footer-brand {
    width: 165px;
  }

  .footer-nav {
    width: min(100%, 300px);
    text-align: left;
  }

  .footer-contact {
    justify-items: center;
  }
}

@media (max-width: 390px) {
  .hero h1 {
    font-size: 22px;
  }

  .hero-kicker {
    font-size: 15px;
  }

  .about-features {
    grid-template-columns: 1fr;
  }

  .about-features span {
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}
/* SF_PREMIUM_POLISH_V5_11_15_START */
:root{--sf-brand-primary:#0057B8;--sf-brand-glow-fallback:rgba(0,87,184,.24)}
html{scroll-behavior:smooth}
/* IMPORTANTE: nunca sobrescrever background/color/border dos botões. A prévia é a fonte visual. */
.sf-premium-button{position:relative;isolation:isolate;transition:transform .22s cubic-bezier(.2,.75,.2,1),box-shadow .22s ease,filter .22s ease,border-color .22s ease!important;will-change:transform;transform:translateZ(0)}
.sf-premium-button:hover{transform:translateY(-2px);filter:brightness(1.045);box-shadow:0 11px 28px rgba(0,0,0,.20),0 0 20px var(--sf-btn-glow,var(--sf-brand-glow-fallback))}
.sf-premium-button:active{transform:translateY(0) scale(.985)}
.sf-premium-button:focus-visible{outline:3px solid var(--sf-btn-outline,var(--sf-brand-primary));outline-offset:3px}
.sf-premium-button svg,.sf-premium-button .icon,.sf-premium-button [class*="icon"]{transition:transform .22s ease,opacity .22s ease!important}
.sf-premium-button:hover svg,.sf-premium-button:hover .icon,.sf-premium-button:hover [class*="icon"]{transform:translateX(2px)}
.sf-premium-card{transition:transform .30s cubic-bezier(.2,.75,.2,1),box-shadow .30s ease,border-color .30s ease,filter .30s ease;will-change:transform}
.sf-premium-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.14);filter:brightness(1.012)}
.sf-premium-icon{transition:transform .28s cubic-bezier(.2,.75,.2,1),filter .28s ease,opacity .28s ease!important;transform-origin:center;will-change:transform}
.sf-premium-card:hover .sf-premium-icon{transform:translateY(-2px) scale(1.045)}
.sf-premium-card img{transition:transform .55s cubic-bezier(.2,.75,.2,1),filter .4s ease!important}
.sf-premium-card:hover img{transform:scale(1.018);filter:saturate(1.03) contrast(1.01)}
.sf-reveal:nth-of-type(2n){--sf-reveal-delay:.055s}.sf-reveal:nth-of-type(3n){--sf-reveal-delay:.105s}.sf-reveal:nth-of-type(4n){--sf-reveal-delay:.155s}
.sf-reveal.sf-animate-in{animation-delay:var(--sf-reveal-delay,0s)}
.sf-motion-active .sf-reveal:not(.sf-animate-in){opacity:0;transform:translateY(18px)}
.sf-motion-active .sf-reveal-left:not(.sf-animate-in){transform:translateX(-22px)}
.sf-motion-active .sf-reveal-right:not(.sf-animate-in){transform:translateX(22px)}
.sf-reveal.sf-animate-in{animation:sfRevealUp .68s cubic-bezier(.2,.75,.2,1) both}
.sf-reveal-left.sf-animate-in{animation-name:sfRevealLeft}
.sf-reveal-right.sf-animate-in{animation-name:sfRevealRight}
@keyframes sfRevealUp{from{opacity:.04;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes sfRevealLeft{from{opacity:.04;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes sfRevealRight{from{opacity:.04;transform:translateX(24px)}to{opacity:1;transform:none}}
@media(max-width:768px){.sf-reveal-left.sf-animate-in,.sf-reveal-right.sf-animate-in{animation-name:sfRevealUp}.sf-premium-card:hover{transform:translateY(-2px)}}
body.sf-motion-profile-energy .sf-premium-button:hover{filter:brightness(1.06)}
body.sf-motion-profile-dynamic .sf-premium-button:hover{transform:translateY(-3px) scale(1.01)}
body.sf-motion-profile-fluid .sf-premium-card:hover{transform:translateY(-3px)}
body.sf-motion-profile-soft .sf-premium-button,body.sf-motion-profile-soft .sf-premium-card,body.sf-motion-profile-soft .sf-premium-icon{transition-duration:.34s!important}
/* MOBILE REAL = edge-to-edge. A moldura arredondada pertence somente à imagem/mockup da prévia. */
@media(max-width:768px){
  html,body{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow-x:hidden!important;border-radius:0!important}
  body{min-width:0!important}
  .sf-mobile-header-whatsapp{display:none!important}
  .sf-mobile-page-shell{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
  .sf-mobile-page-shell>header:first-child,.sf-mobile-page-shell>main:first-child,.sf-mobile-page-shell>main,.sf-mobile-page-shell>footer:last-child{max-width:none!important;margin-left:0!important;margin-right:0!important;border-left:0!important;border-right:0!important}
  body>header,body>main,body>footer{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;border-radius:0!important}
  body>.site-wrapper,body>.page-wrapper,body>.site-shell,body>.page-shell,body>.site-frame,body>.page-frame,body>.mockup,body>.preview,body>#app,body>#root{width:100%!important;max-width:none!important;margin:0!important;padding-left:0!important;padding-right:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  header .sf-mobile-header-whatsapp{display:none!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sf-premium-button,.sf-premium-card,.sf-premium-icon,.sf-reveal{transition:none!important;animation:none!important;transform:none!important}.sf-reveal{opacity:1!important}}
/* SF_PREMIUM_POLISH_V5_11_15_END */


/* Site Fácil IA V5.7.7 — WhatsApp e ícones fiéis */
.sf-whatsapp-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:44px!important;
  padding:11px 18px!important;
  border-radius:8px!important;
  background:#25D366!important;
  color:#fff!important;
  border:0!important;
  text-decoration:none!important;
  font-weight:800!important;
  line-height:1.1!important;
  box-shadow:none!important;
}
.sf-whatsapp-button:hover{filter:brightness(.96)}
.sf-whatsapp-floating{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  padding:0!important;
  border-radius:999px!important;
}
.sf-faithful-icon,.sf-wa-icon{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 auto!important;
  width:20px!important;
  height:20px!important;
}
.sf-whatsapp-floating .sf-wa-icon{width:22px!important;height:22px!important}
.sf-faithful-icon svg,.sf-wa-icon svg,.sf-faithful-icon-host svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
}
.sf-faithful-icon-host{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  border-radius:999px!important;
  background:#0057c8!important;
  color:#fff!important;
}
.sf-faithful-icon-host svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.sf-wa-icon svg{color:#fff!important}
@media(max-width:768px){
  .sf-whatsapp-button{min-height:42px!important;padding:10px 14px!important;font-size:13px!important}
  .sf-whatsapp-floating{width:44px!important;height:44px!important;padding:0!important}
}

/* Site Fácil IA: proteção de integridade visual */
html,body{max-width:100%;overflow-x:clip}main>section{position:relative;isolation:isolate;clear:both}img{max-width:100%;height:auto}img[src*="assets/"]{object-fit:contain}


/* Ajustes finais para fidelidade com a prévia */
.about-section,
.coverage-section,
.results-section,
.faq-section {
  display: none !important;
}

@media (max-width: 768px) {
  .site-header .sf-mobile-header-whatsapp,
  .site-header .header-cta {
    display: inline-flex !important;
  }

  .site-header .header-cta {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    margin-top: 2px;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    justify-content: center !important;
  }

  .site-header .header-cta span {
    align-items: center;
    text-align: center;
  }

  .site-header .header-cta strong {
    font-size: 13px;
    line-height: 1.05;
  }

  .site-header .header-cta small {
    font-size: 10px;
    line-height: 1.05;
  }
}

/* ============================================================
   MC COBERTURAS — TRAVA DE FIDELIDADE DA PRÉVIA APROVADA
   Não permitir que scripts genéricos deformem ou substituam os ícones.
   ============================================================ */
.preview-icon,
.service-preview-icon {
  display: block !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background-color: transparent !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}
.icon-benefit-shield { background-image: url("assets/icons/benefit-shield.svg") !important; }
.icon-benefit-worker { background-image: url("assets/icons/benefit-worker.svg") !important; }
.icon-benefit-medal { background-image: url("assets/icons/benefit-medal.svg") !important; }
.icon-benefit-clock { background-image: url("assets/icons/benefit-clock.svg") !important; }
.icon-service-drop { --service-icon-image: url("assets/icons/service-drop.svg"); }
.icon-service-roller { --service-icon-image: url("assets/icons/service-roller.svg"); }
.icon-service-wrench { --service-icon-image: url("assets/icons/service-wrench.svg"); }
.icon-service-shield { --service-icon-image: url("assets/icons/service-shield.svg"); }
.icon-reason-experience { background-image: url("assets/icons/reason-experience.svg") !important; }
.icon-reason-attendance { background-image: url("assets/icons/reason-attendance.svg") !important; }

/* Linha de benefícios — exatamente no estilo fino azul da prévia */
.benefit-card > .benefit-preview-icon {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  max-width: 46px !important;
  max-height: 46px !important;
}

/* Ícones circulares dos cards de serviço no desktop */
.service-card .service-preview-icon {
  position: absolute !important;
  top: -24px !important;
  left: 16px !important;
  display: grid !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  place-items: center !important;
  background: #fff !important;
  border: 1px solid #d5dee8 !important;
  border-radius: 999px !important;
  box-shadow: 0 2px 7px rgba(0,35,75,.10) !important;
}
.service-card .service-preview-icon::before {
  content: "" !important;
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  background-image: var(--service-icon-image) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}

/* Razões — quatro colunas no desktop, ícone pequeno à esquerda */
.reason > .reason-preview-icon {
  width: 39px !important;
  height: 39px !important;
  min-width: 39px !important;
  min-height: 39px !important;
  max-width: 39px !important;
  max-height: 39px !important;
}
.reasons-grid {
  align-items: stretch !important;
}
.reason {
  min-width: 0 !important;
  overflow: visible !important;
}
.reason > div {
  min-width: 0 !important;
}

/* Neutraliza qualquer host genérico criado por versões antigas do polimento */
.benefit-card .sf-faithful-icon-host,
.reason .sf-faithful-icon-host,
.service-card .sf-faithful-icon-host {
  background: transparent !important;
  color: inherit !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

@media (max-width: 768px) {
  /* Benefícios 2x2 como na prévia mobile */
  .benefits-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    padding-block: 10px !important;
  }
  .benefit-card {
    min-height: 112px !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 10px 8px !important;
    text-align: center !important;
  }
  .benefit-card > .benefit-preview-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
  }
  .benefit-card h2 { font-size: 11px !important; line-height: 1.15 !important; }
  .benefit-card p { font-size: 9.7px !important; line-height: 1.25 !important; }

  /* Cards de serviços horizontais e SEM bolha azul, como a prévia */
  .services-grid {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
  .service-card {
    display: grid !important;
    grid-template-columns: 31% 69% !important;
    min-height: 74px !important;
    border-radius: 8px !important;
  }
  .service-media {
    min-height: 74px !important;
    height: 100% !important;
    aspect-ratio: auto !important;
  }
  .service-media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
  .service-copy {
    min-height: 74px !important;
    padding: 8px 10px !important;
    justify-content: center !important;
  }
  .service-card .service-preview-icon,
  .service-card .service-icon,
  .service-card .sf-faithful-icon-host {
    display: none !important;
  }
  .service-copy h3 {
    margin: 0 0 3px !important;
    font-size: 11.3px !important;
    line-height: 1.12 !important;
  }
  .service-copy p {
    margin: 0 !important;
    font-size: 9.2px !important;
    line-height: 1.23 !important;
  }

  /* Por que escolher: lista vertical compacta, igual ao mockup mobile */
  .why-section {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .reasons-grid {
    grid-template-columns: 1fr !important;
    gap: 3px !important;
  }
  .reason {
    display: grid !important;
    grid-template-columns: 31px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 4px 3px !important;
    border-left: 0 !important;
  }
  .reason + .reason {
    border-left: 0 !important;
  }
  .reason > .reason-preview-icon {
    width: 29px !important;
    height: 29px !important;
    min-width: 29px !important;
    min-height: 29px !important;
    max-width: 29px !important;
    max-height: 29px !important;
    justify-self: center !important;
  }
  .reason h3 {
    font-size: 10.8px !important;
    line-height: 1.12 !important;
  }
  .reason p {
    margin-top: 2px !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
  }
  .why-section .section-title {
    margin-bottom: 6px !important;
    font-size: 11.4px !important;
    line-height: 1.16 !important;
  }

  /* Comparador e galeria compactos como na prévia */
  .comparison-section { padding-top: 5px !important; }
  .comparison-section .section-title { margin-bottom: 6px !important; }
  .gallery-section { padding-top: 6px !important; }
  .gallery-section .section-title { margin-bottom: 7px !important; }
  .gallery-grid {
    grid-template-columns: repeat(6, minmax(0,1fr)) !important;
    gap: 5px !important;
  }
  .gallery-item {
    aspect-ratio: 1.05 / 1 !important;
    border-radius: 6px !important;
  }
}
