*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --black: #1A1A1A;
      --gray-dark: #3E3E3E;
      --gray-mid: #6B6B6B;
      --gray-light: #8A8A8A;
      --gray-pale: #D4D2CC;
      --cream: #F9F9F9;
      --white: #FFFFFF;
      --gold: #D3AF37;
      --gold-dark: #B8962E;
      --gold-hover: #BF9E2F;
      --gold-glow: rgba(211,175,55,0.12);
      --border-dark: rgba(255,255,255,0.10);
      --border-light: rgba(0,0,0,0.07);
      --shadow-soft: 0 24px 80px rgba(0,0,0,0.08);
      --radius-card: 12px;
      --radius-frame: 26px;
      --radius-pill: 999px;
      --font-serif: 'Playfair Display', Georgia, serif;
      --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);

      --text-display: clamp(40px, 4.6vw, 60px); /* hero H1 */
      --text-title: clamp(32px, 3.8vw, 52px);   /* all other H2s */
      --text-h3: 19px;
      --text-body-lg: 17px;
      --text-body: 16px;
      --text-sm: 14px;
      --text-caption: 12px;
      --text-overline: 11px; /* floor: nothing below 11px */

      --space-1: 8px;
      --space-2: 16px;
      --space-3: 24px;
      --space-4: 32px;
      --space-5: 48px;
      --space-6: 64px;
      --space-7: 96px;
      --space-8: 128px;
      --section-pad: var(--space-7);
}

/* Region selector shared by the national and launch-market pages. */
.regions__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 52px;
  border-top: 1px solid var(--border-light);
  border-left: 1px solid var(--border-light);
}

.region-card {
  min-height: 178px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 32px;
  color: var(--black);
  text-decoration: none;
  border-right: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
  transition: background-color 180ms ease, color 180ms ease;
}

.region-card:hover,
.region-card:focus-visible {
  color: var(--white);
  background: var(--black);
  outline: none;
}

.region-card__number {
  align-self: start;
  color: var(--gold);
  font: 500 0.68rem/1 var(--font-sans);
  letter-spacing: 0.12em;
}

.region-card__content {
  display: grid;
  gap: 10px;
}

.region-card__content strong {
  font: 500 clamp(1.5rem, 3vw, 2.25rem)/1.1 var(--font-serif);
}

.region-card__content small {
  color: var(--gray-mid);
  font: 400 0.8rem/1.5 var(--font-sans);
}

.region-card:hover .region-card__content small,
.region-card:focus-visible .region-card__content small {
  color: rgba(255, 255, 255, 0.68);
}

.region-card__arrow {
  font-size: 1.4rem;
  transition: transform 180ms ease;
}

.region-card:hover .region-card__arrow,
.region-card:focus-visible .region-card__arrow {
  transform: translateX(5px);
}

.city-presence { overflow: hidden; }

.city-presence__layout {
  grid-template-columns: minmax(0, 0.92fr) minmax(320px, 0.78fr);
}

.city-presence__content { max-width: 560px; }

.city-presence__media {
  width: min(100%, 460px);
  aspect-ratio: 4 / 5;
  justify-self: end;
  overflow: hidden;
  border-radius: var(--radius-card);
  background: #ddd9d0;
  box-shadow: var(--shadow-soft);
}

.city-presence__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.city-presence__eyebrow {
  margin-bottom: 20px;
  color: var(--gold-dark);
  font-size: var(--text-overline);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.city-presence__body {
  margin-top: 24px;
  color: var(--gray-dark);
  font-size: var(--text-body);
  font-weight: 300;
  line-height: 1.75;
}

.city-presence__neighborhoods {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 28px 0 36px;
  padding: 0;
  list-style: none;
}

.city-presence__neighborhoods li {
  padding: 8px 13px;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.62);
  color: var(--gray-dark);
  font-size: var(--text-caption);
}

@media (max-width: 760px) {
  .regions__grid { grid-template-columns: 1fr; margin-top: 36px; }
  .region-card { min-height: 142px; padding: 24px; gap: 18px; }

  .city-presence__layout {
    grid-template-columns: 1fr;
  }

  .city-presence__media {
    width: min(100%, 390px);
    justify-self: center;
    aspect-ratio: 4 / 3;
  }

  .city-presence__content { max-width: none; }
}

    @media (max-width: 960px) {
      :root { --section-pad: var(--space-6); }
    }

@media (max-width: 760px) {
      :root { --section-pad: var(--space-5); }
    }

    @media (prefers-reduced-motion: no-preference) {
      html { scroll-behavior: smooth; }
    }

    body {
      min-width: 320px;
      background: var(--cream);
      color: var(--black);
      font-family: var(--font-sans);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    a { color: inherit; }
    img { max-width: 100%; height: auto; display: block; }

    section[id] { scroll-margin-top: 80px; }

    .container {
      width: min(1120px, calc(100% - 48px));
      margin: 0 auto;
    }

    .container--wide {
      width: min(1280px, calc(100% - 48px));
    }

    :focus-visible {
      outline: 2px solid var(--gold-dark);
      outline-offset: 3px;
      border-radius: 2px;
    }

    .section--dark :focus-visible,
    .implantation :focus-visible,
    .cta-section :focus-visible {
      outline-color: var(--white);
    }

    .site-nav {
      position: sticky;
      top: 0;
      z-index: 1000;
      height: 64px;
      background: rgba(249,249,249,0.92);
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      border-bottom: 1px solid var(--border-light);
    }

    .site-nav__inner {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
    }

    .site-nav__logo {
      display: inline-flex;
      align-items: center;
      width: 56px;
      color: var(--black);
      text-decoration: none;
    }

    .site-nav__logo svg {
      width: 56px;
      height: auto;
      overflow: visible;
    }

    .site-nav__links {
      display: flex;
      align-items: center;
      gap: 28px;
    }

    .site-nav__link {
      color: var(--gray-mid);
      font-size: 13px;
      font-weight: 400;
      text-decoration: none;
      transition: color 0.2s var(--ease);
    }

    .site-nav__link:hover,
    .site-nav__link[aria-current="page"] {
      color: var(--black);
    }

    .site-nav__cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 9px 18px;
      border-radius: var(--radius-pill);
      background: var(--gold);
      color: var(--black);
      font-size: 13px;
      font-weight: 600;
      text-decoration: none;
      white-space: nowrap;
      transition: background 0.2s var(--ease);
    }

    .site-nav__cta:hover { background: var(--gold-hover); }

    .hero {
      --hero-progress: 0;
      position: relative;
      height: 175svh;
      background: var(--cream);
    }

    .hero__sticky {
      position: sticky;
      top: 64px;
      height: calc(100svh - 64px);
      overflow: hidden;
      background: var(--cream);
      border-bottom: 1px solid var(--border-light);
    }

    .hero__grid {
      position: relative;
      z-index: 2;
      height: 100%;
      display: flex;
      align-items: center;
    }

    .hero__content {
      position: relative;
      z-index: 2;
      width: min(50%, 580px);
      padding: 72px 0 84px;
    }

    .breadcrumb {
      margin-bottom: 20px;
    }

    .breadcrumb ol {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px;
      list-style: none;
    }

    .breadcrumb li {
      display: flex;
      align-items: center;
      gap: 10px;
      color: var(--gray-mid);
      font-size: var(--text-caption);
      font-weight: 500;
      letter-spacing: 0.02em;
    }

    .breadcrumb li + li::before {
      content: '/';
      color: var(--gray-pale);
    }

    .breadcrumb a {
      text-decoration: none;
      transition: color 0.2s var(--ease);
    }

    .breadcrumb a:hover { color: var(--black); }

    .breadcrumb [aria-current="page"] { color: var(--gold-dark); font-weight: 600; }

    .hero h1 {
      max-width: 580px;
      color: var(--black);
      font-family: var(--font-serif);
      font-size: var(--text-display);
      font-weight: 400;
      line-height: 1.04;
      letter-spacing: -0.025em;
      text-wrap: balance;
    }

    .hero__sub {
      max-width: 560px;
      margin-top: 24px;
      color: var(--gray-dark);
      font-size: var(--text-body);
      font-weight: 300;
      line-height: 1.7;
    }

    .hero__actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 16px;
      margin-top: 24px;
    }

    .hero__animation {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      -webkit-mask-image: linear-gradient(90deg, transparent 34%, rgba(0,0,0,0.04) 45%, #000 58%);
      mask-image: linear-gradient(90deg, transparent 34%, rgba(0,0,0,0.04) 45%, #000 58%);
    }

    .hero__animation::after {
      content: '';
      position: absolute;
      right: 7%;
      bottom: 7%;
      width: min(44vw, 660px);
      height: 18px;
      border-radius: 50%;
      background: radial-gradient(ellipse, rgba(26,26,26,0.12), transparent 70%);
      filter: blur(8px);
      opacity: 0.48;
    }

    .hero__animation svg {
      position: absolute;
      inset: -3% -2% -1% 20%;
      width: 84%;
      height: 106%;
    }

    .hero__animation svg {
      z-index: 2;
      overflow: visible;
      opacity: 0;
      transition: opacity 320ms var(--ease);
      transform: translateX(10%) scale(1.03);
      transform-origin: center bottom;
    }

    .hero__animation.is-ready svg { opacity: 1; }
    .hero__animation.is-running svg { will-change: contents; }

    .hero__scroll-cue {
      position: absolute;
      left: 50%;
      bottom: 24px;
      z-index: 3;
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--gray-mid);
      font-size: var(--text-overline);
      font-weight: 600;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      white-space: nowrap;
      opacity: calc(1 - (var(--hero-progress) * 5));
      transform: translate(-50%, calc(var(--hero-progress) * 12px));
      transition: opacity 120ms linear;
    }

    .hero__scroll-cue span {
      color: var(--gold-dark);
      font-size: 14px;
    }

    .hero__progress {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 4;
      height: 2px;
      background:
        linear-gradient(90deg,
          var(--gold) calc(var(--hero-progress) * 100%),
          rgba(26,26,26,0.08) 0);
      pointer-events: none;
    }

    .hero.is-static {
      height: auto;
      min-height: min(680px, calc(100svh - 120px));
    }

    .hero.is-static .hero__sticky {
      position: relative;
      top: auto;
      height: min(680px, calc(100svh - 120px));
    }

    .hero.is-static .hero__scroll-cue,
    .hero.is-static .hero__progress {
      display: none;
    }

    /* Bloco pós-hero exibido apenas no mobile (sub + CTAs saem do palco sticky) */
    .hero__intro { display: none; }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-height: 48px;
      padding: 14px 28px;
      border-radius: var(--radius-pill);
      border: 1px solid transparent;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.2;
      text-decoration: none;
      transition: transform 0.18s var(--ease), background 0.2s var(--ease), border-color 0.2s var(--ease);
    }

    .btn:hover { transform: translateY(-1px); }
    .btn:active { transform: translateY(0); }
    .btn--primary { background: var(--gold); color: var(--black); box-shadow: 0 8px 24px rgba(211,175,55,0.24); }
    .btn--primary:hover { background: var(--gold-hover); }
    .btn--ghost { border-color: rgba(0,0,0,0.14); color: var(--black); background: rgba(255,255,255,0.56); }
    .btn--ghost:hover { border-color: rgba(0,0,0,0.28); background: var(--white); }

    .section {
      padding: var(--section-pad) 0;
      border-bottom: 1px solid var(--border-light);
    }

    .section--white { background: var(--white); }
    .section--cream { background: var(--cream); }
    .section--dark { background: var(--black); color: var(--cream); border-bottom: 0; }

    .section__header {
      max-width: 760px;
      margin-bottom: 48px;
    }

    .section h1,
    .section h2,
    .section h3 {
      font-family: var(--font-serif);
      font-size: var(--text-title);
      font-weight: 400;
      line-height: 1.08;
      letter-spacing: -0.02em;
    }

    .section__body {
      max-width: 640px;
      margin-top: 24px;
      color: var(--gray-dark);
      font-size: var(--text-body);
      font-weight: 300;
      line-height: 1.7;
    }

    .section--dark .section__body { color: rgba(249,249,249,0.75); }

    .process-tech {
      overflow: hidden;
      padding: var(--section-pad) 0;
    }

    .process-tech__header {
      display: grid;
      grid-template-columns: minmax(0, 0.92fr) minmax(320px, 0.68fr);
      gap: 64px;
      align-items: end;
      margin-bottom: 48px;
    }

    .process-tech__header h2 {
      max-width: 760px;
    }

    .process-tech__header .section__body {
      max-width: 560px;
      margin-top: 0;
      justify-self: end;
    }

    .process-tech__gallery {
      display: grid;
      grid-template-columns: minmax(0, 0.72fr) minmax(0, 0.72fr) minmax(0, 1.56fr);
      gap: 24px;
      align-items: stretch;
    }

    .process-tech__item {
      min-width: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
    }

    .process-tech__frame {
      position: relative;
      overflow: hidden;
      flex: 1 1 auto;
      border: 1px solid rgba(0,0,0,0.06);
      border-radius: var(--radius-frame);
      background: #ECEAE5;
    }

    .process-tech__item--phone .process-tech__frame {
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 6% 10%;
    }

    .process-tech__item--phone .process-tech__frame::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 50% 18%, rgba(255,255,255,0.86), transparent 42%),
        linear-gradient(145deg, rgba(255,255,255,0.36), transparent 58%);
    }

    .process-tech__item--phone img {
      position: relative;
      z-index: 1;
      width: auto;
      height: auto;
      max-width: min(100%, 246px);
      max-height: 100%;
      filter: drop-shadow(0 24px 32px rgba(0,0,0,0.18));
    }

    .process-tech__item--schedule .process-tech__frame {
      display: flex;
      align-items: center;
      padding: 34px;
      background:
        radial-gradient(circle at 76% 18%, rgba(211,175,55,0.14), transparent 36%),
        #E5E3DE;
    }

    /* Cronograma de Manutenções — faithful compact rendering of the real
       product component (Assets/CronogramaManutencao.html) */
    .mplan {
      --ink: #1c1c1e;
      --ink2: #3a3a3c;
      --ink3: #636366;
      --ink4: #aeaeb2;
      --ink5: #c7c7cc;
      --surface: #ffffff;
      --surface2: #f2f1ed;
      --mborder: rgba(0,0,0,0.08);
      --mborder2: rgba(0,0,0,0.045);
      --c-diario: #2563EB;
      --c-semanal: #16a34a;
      --c-quinzenal: #d97706;
      --c-mensal: #7c3aed;
      --c-bimestral: #0891b2;
      --c-trimestral: #b45309;
      --c-semestral: #be185d;
      --c-anual: #6b7280;
      width: 100%;
      font-family: 'DM Sans', var(--font-sans);
      text-align: left;
    }

    .mplan__hdr {
      display: flex;
      align-items: center;
      gap: 13px;
      padding: 12px 18px;
      border-radius: 12px;
      background: var(--ink);
      box-shadow: 0 16px 32px rgba(26,26,26,0.14);
    }

    .mplan__logo {
      width: auto;
      height: 30px;
      aspect-ratio: 96 / 92;
      flex: none;
      color: var(--white);
      opacity: 0.92;
    }

    .mplan__hdr-sep {
      width: 1px;
      height: 30px;
      flex: none;
      background: rgba(255,255,255,0.12);
    }

    .mplan__hdr-text {
      min-width: 0;
    }

    .mplan__eyebrow {
      display: block;
      color: rgba(255,255,255,0.3);
      font-size: 9.5px;
      font-weight: 400;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }

    .mplan__title {
      display: block;
      margin-top: 2px;
      color: rgba(255,255,255,0.92);
      font-size: 14px;
      font-weight: 500;
      letter-spacing: -0.2px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .mplan__sub {
      display: block;
      margin-top: 1px;
      color: rgba(255,255,255,0.28);
      font-size: 11px;
      font-weight: 300;
    }

    .mplan__legend {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px 11px;
      margin-top: 10px;
      padding: 9px 16px;
      border: 0.5px solid var(--mborder);
      border-radius: 10px;
      background: var(--surface);
    }

    .mplan__lg-label {
      margin-right: 2px;
      color: var(--ink4);
      font-size: 9.5px;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
    }

    .mplan__lg-item {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      color: var(--ink3);
      font-size: 10.5px;
      white-space: nowrap;
    }

    .mplan__lg-item i {
      width: 9px;
      height: 9px;
      border-radius: 3px;
      background: var(--chip);
    }

    .mplan__tcard {
      margin-top: 10px;
      overflow: hidden;
      border: 0.5px solid var(--mborder);
      border-radius: 12px;
      background: var(--surface);
      box-shadow: 0 16px 32px rgba(26,26,26,0.10);
    }

    .mplan__toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      padding: 10px 16px;
      border-bottom: 0.5px solid var(--mborder);
    }

    .mplan__toolbar strong {
      color: var(--ink);
      font-size: 12.5px;
      font-weight: 500;
    }

    .mplan__toolbar span {
      color: var(--ink4);
      font-size: 10.5px;
      font-weight: 300;
      white-space: nowrap;
    }

    .mplan__twrap {
      overflow-x: auto;
      scrollbar-width: none;
      -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent);
      mask-image: linear-gradient(90deg, #000 88%, transparent);
    }

    .mplan__twrap::-webkit-scrollbar { display: none; }

    .mplan table {
      width: 100%;
      border-collapse: collapse;
      font-size: 11.5px;
    }

    .mplan__th-month {
      padding: 5px 4px;
      background: var(--ink);
      color: rgba(255,255,255,0.5);
      font-size: 8.5px;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      text-align: center;
      border-right: 0.5px solid rgba(255,255,255,0.06);
    }

    .mplan__th-week {
      padding: 4px 2px;
      background: var(--surface2);
      color: var(--ink4);
      font-size: 8.5px;
      font-weight: 500;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      text-align: center;
      border-bottom: 0.5px solid var(--mborder);
      border-right: 0.5px solid var(--mborder2);
      white-space: nowrap;
    }

    .mplan__id {
      min-width: 30px;
      max-width: 30px;
      color: var(--ink4);
      font-family: 'DM Mono', monospace;
      font-size: 9.5px;
      text-align: center;
    }

    .mplan__lbl {
      min-width: 190px;
      max-width: 190px;
      padding-left: 14px;
      color: var(--ink2);
      font-size: 11.5px;
      font-weight: 400;
      text-align: left;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    th.mplan__lbl { color: var(--ink3); }
    .mplan__th-month.mplan__lbl,
    .mplan__th-month.mplan__id { color: rgba(255,255,255,0.5); }

    .mplan tbody tr { border-bottom: 0.5px solid var(--mborder2); }
    .mplan tbody tr:nth-child(even) { background: #fafaf8; }
    .mplan tbody tr:last-child { border-bottom: none; }

    .mplan td {
      padding: 6px 3px;
      vertical-align: middle;
      border-right: 0.5px solid var(--mborder2);
    }

    .mplan__cell {
      min-width: 19px;
      max-width: 19px;
      padding: 4px 2px !important;
      text-align: center;
      line-height: 0;
    }

    .mplan__dot {
      display: inline-block;
      width: 12px;
      height: 12px;
      border-radius: 3px;
      background: var(--dot);
      opacity: 0.88;
    }

    .mplan__sep { border-right: 1px solid rgba(0,0,0,0.12) !important; }

    .mplan__foot {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 8px 16px;
      border-top: 0.5px solid var(--mborder);
      background: var(--surface2);
      color: var(--ink3);
      font-size: 10px;
    }

    .mplan__foot span:last-child {
      color: var(--ink5);
      font-weight: 300;
    }

    .process-tech__item figcaption {
      padding: 22px 4px 0;
      color: var(--gray-mid);
      font-size: var(--text-sm);
      font-weight: 300;
      line-height: 1.6;
      text-align: center;
    }

    .process-tech__item figcaption strong {
      color: var(--black);
      font-weight: 600;
    }

    .two-col {
      display: grid;
      grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
      gap: 72px;
      align-items: center;
    }

    .two-col--media-left .section-copy { order: 2; }
    .two-col--media-left .section-media { order: 1; }

    .implantation {
      --implantation-progress: 0;
      position: relative;
      min-height: 176vh;
      background: #050505;
      color: var(--cream);
    }

    .implantation__sticky {
      position: sticky;
      top: 64px;
      height: calc(100svh - 64px);
      overflow: hidden;
      isolation: isolate;
    }

    .implantation__sticky::before {
      content: '';
      position: absolute;
      inset: 0;
      z-index: -1;
      background:
        radial-gradient(circle at 22% 54%, rgba(211,175,55,0.08), transparent 32%),
        linear-gradient(90deg, #080808 0%, #050505 66%, #070707 100%);
      opacity: calc(0.72 + (var(--implantation-progress) * 0.28));
    }

    .implantation__layout {
      width: 100%;
      height: 100%;
      margin: 0;
      padding-right: max(20px, calc((100vw - 1540px) / 2));
      display: grid;
      grid-template-columns: minmax(0, 1.42fr) minmax(400px, 0.78fr);
      align-items: center;
      gap: clamp(28px, 4vw, 74px);
    }

    .implantation__visual {
      --implantation-left-crop: clamp(56px, 5vw, 80px);
      position: relative;
      align-self: stretch;
      min-width: 0;
      display: grid;
      align-items: center;
      overflow: hidden;
      transform: none;
      transform-origin: center left;
      opacity: calc(0.92 + (var(--implantation-progress) * 0.08));
      transition: opacity 0.18s linear;
      will-change: transform, opacity;
    }

    .implantation__visual::before {
      content: '';
      position: absolute;
      left: 6%;
      right: 0;
      top: 6%;
      bottom: 12%;
      z-index: -1;
      background: radial-gradient(ellipse at 52% 44%, rgba(249,246,238,0.14), rgba(211,175,55,0.06) 46%, transparent 74%);
      filter: blur(34px);
    }

    .implantation__visual::after {
      content: '';
      position: absolute;
      left: 10%;
      right: 4%;
      bottom: 8%;
      height: 18%;
      z-index: -1;
      border-radius: 50%;
      background: rgba(0,0,0,0.88);
      filter: blur(44px);
      transform: translateY(22%);
    }

    .implantation__device {
      position: relative;
      width: calc(100% + var(--implantation-left-crop));
      aspect-ratio: 4340 / 2860;
      justify-self: end;
      transform: none;
    }

    .implantation__screen {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: contain;
      filter: contrast(1.05) brightness(1.03) drop-shadow(0 28px 45px rgba(0,0,0,0.6));
      transition: opacity 0.68s var(--ease);
    }

    .implantation__screen[aria-hidden="true"] {
      opacity: 0;
      pointer-events: none;
    }

    .implantation__content {
      position: relative;
      z-index: 2;
      width: min(100%, 520px);
      padding-right: clamp(12px, 3vw, 56px);
      transform: translateY(calc(24px - (var(--implantation-progress) * 24px)));
      opacity: calc(0.92 + (var(--implantation-progress) * 0.08));
      will-change: transform, opacity;
    }

    .implantation h2 {
      max-width: 510px;
      font-family: var(--font-serif);
      font-size: clamp(40px, min(4.6vw, 7.5vh), 60px);
      font-weight: 400;
      line-height: 1.04;
      letter-spacing: -0.025em;
      text-wrap: balance;
    }

    .implantation h2 em {
      color: var(--gold);
      font-style: normal;
    }

    .implantation__intro {
      max-width: 470px;
      margin-top: clamp(26px, 3.2vh, 38px);
      color: rgba(249,249,249,0.75);
      font-size: clamp(17px, 1.25vw, 21px);
      font-weight: 300;
      line-height: 1.58;
    }

    .implantation__selector {
      position: relative;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin-top: clamp(26px, 3.5vh, 42px);
      padding: 4px;
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: var(--radius-pill);
      background: #1A1A1C;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
    }

    .implantation__selector::before {
      content: '';
      position: absolute;
      top: 4px;
      bottom: 4px;
      left: 4px;
      width: calc(50% - 4px);
      border-radius: var(--radius-pill);
      background: linear-gradient(135deg, #E0BE4E, #C79E20);
      box-shadow: 0 8px 28px rgba(211,175,55,0.18);
      transform: translateX(calc(var(--active-index, 0) * 100%));
      transition: transform 0.52s var(--ease);
    }

    .implantation__tab {
      position: relative;
      z-index: 1;
      min-height: 50px;
      padding: 0 16px;
      border: 0;
      border-radius: var(--radius-pill);
      background: transparent;
      color: rgba(249,249,249,0.72);
      font: 500 14px/1 var(--font-sans);
      cursor: pointer;
      transition: color 0.32s var(--ease);
    }

    .implantation__tab:not([aria-selected="true"]):hover { color: var(--cream); }

    .implantation__tab[aria-selected="true"] { color: #111; }

    .implantation__tab:focus-visible {
      outline: 2px solid var(--white);
      outline-offset: 3px;
    }

    .implantation__details {
      display: grid;
      min-height: 132px;
      margin-top: 20px;
    }

    .implantation__detail {
      grid-area: 1 / 1;
      padding: 22px 2px 22px 0;
      display: grid;
      grid-template-columns: 44px minmax(0, 1fr);
      gap: 16px;
      align-content: start;
      border-bottom: 1px solid rgba(211,175,55,0.54);
      opacity: 1;
      transform: translateY(0);
      transition: opacity 0.42s var(--ease), transform 0.52s var(--ease);
    }

    .implantation__detail[hidden] {
      display: grid;
      opacity: 0;
      transform: translateY(14px);
      pointer-events: none;
    }

    .implantation__icon {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      color: var(--gold);
    }

    .implantation__icon svg {
      width: 34px;
      height: 34px;
      fill: none;
      stroke: currentColor;
      stroke-width: 1.6;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .implantation__detail h3 {
      font-family: var(--font-sans);
      font-size: var(--text-h3);
      font-weight: 600;
      line-height: 1.3;
      letter-spacing: -0.01em;
    }

    .implantation__detail p {
      margin-top: 8px;
      color: rgba(249,249,249,0.60);
      font-size: 15px;
      font-weight: 300;
      line-height: 1.6;
    }

    .profile-panel {
      border-radius: var(--radius-card);
      overflow: hidden;
      border: 1px solid var(--border-light);
      background: var(--white);
      box-shadow: var(--shadow-soft);
    }

    .profile-panel img {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
    }

    .profile-panel__caption {
      padding: 22px;
      border-top: 1px solid var(--border-light);
    }

    .profile-panel__name {
      font-size: 15px;
      font-weight: 600;
    }

    .profile-panel__meta {
      margin-top: 6px;
      color: var(--gray-mid);
      font-size: 13px;
      font-weight: 300;
      line-height: 1.55;
    }

    .cash-care {
      overflow: hidden;
      padding: var(--section-pad) 0;
    }

    .cash-care__layout {
      display: grid;
      grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
      gap: 64px;
      align-items: center;
    }

    .cash-care__content h2 {
      max-width: 540px;
    }

    .cash-care__content .section__body {
      max-width: 540px;
    }

    .cash-care__savings {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
      margin-top: 24px;
      padding-top: 18px;
      border-top: 1px solid var(--border-dark);
    }

    .cash-care__saving {
      min-width: 0;
    }

    .cash-care__saving + .cash-care__saving {
      padding-left: 20px;
      border-left: 1px solid var(--border-dark);
    }

    .cash-care__value {
      color: var(--gold);
      font-family: var(--font-serif);
      font-size: clamp(38px, 3vw, 46px);
      font-weight: 400;
      line-height: 1;
      letter-spacing: -0.035em;
    }

    .cash-care__value small {
      font-family: var(--font-sans);
      font-size: 0.45em;
      font-weight: 500;
      letter-spacing: -0.01em;
    }

    .cash-care__saving p {
      margin-top: 8px;
      color: rgba(249,249,249,0.75);
      font-size: 13px;
      font-weight: 300;
      line-height: 1.45;
    }

    .cash-care__source {
      display: block;
      margin-top: 7px;
      color: rgba(249,249,249,0.60);
      font-size: var(--text-overline);
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .cash-care__phones {
      height: 528px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      overflow: hidden;
      padding: 24px 32px;
      border: 1px solid var(--border-dark);
      border-radius: 26px;
      background:
        radial-gradient(circle at 50% 18%, rgba(211,175,55,0.15), transparent 42%),
        rgba(255,255,255,0.045);
    }

    .cash-care__phones img {
      width: min(46%, 240px);
      height: auto;
      filter: drop-shadow(0 28px 34px rgba(0,0,0,0.42));
    }

    .journal-showcase {
      padding: var(--section-pad) 0;
    }

    .journal-showcase__header {
      max-width: 980px;
      margin: 0 auto 32px;
      text-align: center;
    }

    .journal-showcase__header .section__body {
      max-width: 720px;
      margin: 12px auto 0;
    }

    .journal-showcase__pages {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 380px));
      gap: 0;
      align-items: start;
      justify-content: center;
    }

    .journal-showcase__page {
      position: relative;
      min-width: 0;
      overflow: hidden;
      border: 1px solid var(--border-light);
      background: var(--white);
      transition: transform 0.55s var(--ease), box-shadow 0.55s var(--ease);
    }

    .journal-showcase__page:first-child {
      border-right: 0;
      border-radius: var(--radius-card) 0 0 var(--radius-card);
      transform: perspective(1200px) rotateY(1.2deg);
      transform-origin: right center;
      box-shadow: -20px 26px 60px rgba(0,0,0,0.09);
    }

    .journal-showcase__page:last-child {
      border-left: 0;
      border-radius: 0 var(--radius-card) var(--radius-card) 0;
      transform: perspective(1200px) rotateY(-1.2deg);
      transform-origin: left center;
      box-shadow: 20px 26px 60px rgba(0,0,0,0.09), inset 1px 0 0 rgba(0,0,0,0.06);
    }

    .journal-showcase__page::after {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
    }

    .journal-showcase__page:first-child::after {
      background: linear-gradient(90deg, transparent 88%, rgba(0,0,0,0.055));
    }

    .journal-showcase__page:last-child::after {
      background: linear-gradient(270deg, transparent 88%, rgba(0,0,0,0.045));
    }

    .journal-showcase__pages:hover .journal-showcase__page {
      transform: perspective(1200px) rotateY(0deg);
    }

    .journal-showcase__page img {
      width: 100%;
      height: auto;
    }

    .sample-media {
      position: relative;
      overflow: hidden;
      border: 1px solid var(--border-light);
      border-radius: var(--radius-card);
      background: var(--white);
      box-shadow: var(--shadow-soft);
    }

    .sample-media img {
      width: 100%;
      aspect-ratio: 3 / 2;
      object-fit: cover;
      background: #F1F0EC;
    }

    .sample-media__badge {
      position: absolute;
      top: 12px;
      left: 12px;
      padding: 7px 9px;
      border-radius: 4px;
      background: rgba(26,26,26,0.88);
      color: var(--white);
      font-size: var(--text-overline);
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .sample-media figcaption {
      padding: 16px 18px;
      border-top: 1px solid var(--border-light);
      color: var(--gray-dark);
      font-size: 13px;
      line-height: 1.5;
    }

    .sample-media--dark {
      border-color: var(--border-dark);
      background: rgba(255,255,255,0.05);
      box-shadow: none;
    }

    .sample-media--dark figcaption { color: rgba(249,249,249,0.72); border-color: var(--border-dark); }

    .condo-item__sample {
      width: 52px;
      height: 42px;
      object-fit: cover;
      border-radius: 4px;
      border: 1px solid var(--border-light);
      background: var(--cream);
    }

    .condo-popup {
      width: 220px;
    }

    .condo-popup__image {
      width: 100%;
      height: 132px;
      object-fit: cover;
      border-radius: 6px 6px 0 0;
      background: var(--cream);
    }

    .condo-popup__content {
      padding: 12px 14px 13px;
    }

    .condo-popup__name {
      display: block;
      color: var(--black);
      font-size: 14px;
      line-height: 1.35;
    }

    .condo-popup__hood {
      display: block;
      margin-top: 3px;
      color: var(--gray-mid);
      font-size: 11px;
    }

    .leaflet-popup-content-wrapper {
      overflow: hidden;
      border-radius: var(--radius-card);
      box-shadow: 0 12px 36px rgba(0,0,0,0.16);
    }

    .leaflet-popup-content { margin: 0; }

    .network-layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 320px;
      gap: 24px;
      align-items: stretch;
    }

    #map {
      min-height: 520px;
      border: 1px solid var(--border-light);
      border-radius: var(--radius-card);
      overflow: hidden;
      background: #ECEAE5;
      z-index: 1;
    }

    .condo-list {
      max-height: 520px;
      overflow: auto;
      border: 1px solid var(--border-light);
      border-radius: var(--radius-card);
      background: var(--white);
    }

    .condo-list__header {
      position: sticky;
      top: 0;
      z-index: 2;
      padding: 18px 18px 14px;
      background: var(--white);
      border-bottom: 1px solid var(--border-light);
    }

    .condo-list__header strong {
      display: block;
      font-size: 14px;
      line-height: 1.3;
    }

    .condo-list__header span {
      display: block;
      margin-top: 4px;
      color: var(--gray-mid);
      font-size: 12px;
    }

    .condo-item {
      width: 100%;
      display: grid;
      grid-template-columns: 52px minmax(0, 1fr);
      gap: 12px;
      align-items: center;
      padding: 13px 16px;
      border: 0;
      border-bottom: 1px solid var(--border-light);
      background: transparent;
      color: inherit;
      font: inherit;
      text-align: left;
      cursor: pointer;
      transition: background 0.2s var(--ease);
    }

    .condo-item:hover,
    .condo-item.is-active {
      background: rgba(211,175,55,0.08);
    }


    .condo-item.is-active .condo-item__letter {
      background: var(--gold);
      color: var(--black);
    }

    .condo-item__name {
      display: block;
      overflow: hidden;
      text-overflow: ellipsis;
      color: var(--black);
      font-size: 13px;
      font-weight: 600;
      white-space: nowrap;
    }

    .condo-item__hood {
      display: block;
      margin-top: 2px;
      color: var(--gray-mid);
      font-size: 11px;
    }

    .mid-cta {
      text-align: center;
    }

    .mid-cta .section__body {
      max-width: 520px;
      margin: 0 auto 24px;
    }

    .cta-section {
      padding: var(--section-pad) 0;
      text-align: center;
      background: var(--black);
      color: var(--cream);
    }

    .cta-section h2 {
      max-width: 760px;
      margin: 0 auto;
      font-family: var(--font-serif);
      font-size: var(--text-title);
      font-weight: 400;
      line-height: 1.08;
      letter-spacing: -0.02em;
    }

    .cta-section p {
      max-width: 560px;
      margin: 24px auto 32px;
      color: rgba(249,249,249,0.75);
      font-size: var(--text-body);
      font-weight: 300;
      line-height: 1.7;
    }

    .footer {
      background: var(--cream);
      border-top: 1px solid var(--border-light);
      padding: 26px 0;
    }

    .footer__row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 24px;
      flex-wrap: wrap;
    }

    .footer__copyright {
      color: var(--gray-mid);
      font-size: var(--text-caption);
    }

    .footer__social {
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .footer__social a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 36px;
      height: 36px;
      border: 1px solid var(--border-light);
      border-radius: var(--radius-pill);
      color: var(--black);
      text-decoration: none;
      transition: background 0.2s var(--ease), border-color 0.2s var(--ease);
    }

    .footer__social a:hover {
      background: var(--gold-glow);
      border-color: var(--gold-dark);
    }

    .reveal {
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 0.75s var(--ease), transform 0.75s var(--ease);
    }

    .reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .whatsapp-fab {
      position: fixed;
      right: 16px;
      bottom: calc(16px + env(safe-area-inset-bottom));
      z-index: 1100;
      display: none;
      align-items: center;
      gap: 8px;
      padding: 14px 18px;
      border-radius: var(--radius-pill);
      background: #25D366;
      color: #fff;
      font: 600 15px/1 var(--font-sans);
      text-decoration: none;
      box-shadow: 0 12px 32px rgba(0,0,0,0.28);
      transition: transform 0.15s var(--ease);
    }

    .whatsapp-fab:active { transform: scale(0.96); }

    .whatsapp-fab.is-visible { display: inline-flex; }

    @media (min-width: 761px) {
      .whatsapp-fab { display: none !important; }
    }

    .leaflet-control-attribution { font-size: var(--text-overline) !important; }

    @media (prefers-reduced-motion: reduce) {
      .reveal { transition: none; }

      .hero__animation svg {
        transition: none;
      }

      .implantation__visual,
      .implantation__content {
        transform: none;
        opacity: 1;
      }

      .implantation__screen,
      .implantation__selector::before,
      .implantation__detail {
        transition: none;
      }

      .journal-showcase__page {
        transition: none;
      }
    }

    @media (max-width: 1159px) {
      .process-tech__gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .process-tech__item--schedule {
        grid-column: 1 / -1;
      }

      .process-tech__item--phone .process-tech__frame {
        flex: 0 0 auto;
        aspect-ratio: 4 / 7;
        max-height: 540px;
      }

      .process-tech__item--schedule .process-tech__frame {
        padding: 40px 34px;
      }
    }

    @media (max-width: 960px) {
      .two-col,
      .network-layout {
        grid-template-columns: 1fr;
      }

      .hero__content { width: min(58%, 560px); }

      .hero__animation {
        -webkit-mask-image: linear-gradient(90deg, transparent 20%, rgba(0,0,0,0.08) 32%, #000 45%);
        mask-image: linear-gradient(90deg, transparent 20%, rgba(0,0,0,0.08) 32%, #000 45%);
      }

      .hero__animation svg {
        left: 0;
        right: -15%;
        width: auto;
      }

      .hero__actions { gap: 12px; }

      .hero__actions .btn {
        padding-inline: 18px;
        font-size: 13px;
      }

      .two-col--media-left .section-copy,
      .two-col--media-left .section-media {
        order: initial;
      }

      .process-tech__header {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 38px;
      }

      .process-tech__header .section__body {
        max-width: 680px;
        justify-self: start;
      }

      .cash-care__layout {
        grid-template-columns: 1fr;
        gap: 48px;
      }

      .cash-care__content .section__body {
        max-width: 680px;
      }

      .cash-care__savings {
        max-width: 680px;
      }

      .cash-care__phones {
        width: 100%;
        max-width: 640px;
        height: 480px;
        margin-inline: auto;
      }

      .implantation {
        min-height: auto;
      }

      .implantation__sticky {
        position: relative;
        top: auto;
        height: auto;
        min-height: 0;
        padding: 94px 0 120px;
      }

      .implantation__layout {
        width: min(100% - 48px, 760px);
        margin: 0 auto;
        padding-right: 0;
        grid-template-columns: 1fr;
        gap: 34px;
      }

      .implantation__content {
        order: -1;
        width: 100%;
        padding-right: 0;
        transform: none;
        opacity: 1;
      }

      .implantation h2 { max-width: 660px; }
      .implantation__intro { max-width: 620px; }
      .implantation__selector { max-width: 520px; }
      .implantation__details { max-width: 520px; min-height: 132px; }

      .implantation__visual {
        --implantation-left-crop: 0px;
        align-self: auto;
        width: calc(100% + 28px);
        margin-left: -28px;
        transform: none;
        opacity: 1;
      }

    }

    @media (max-width: 760px) {
      .container {
        width: min(100% - 32px, 1120px);
      }

      .site-nav__links {
        display: none;
      }

      .site-nav__cta {
        font-size: 12px;
      }

      .hero {
        height: 150svh;
      }

      .hero__sticky {
        display: flex;
        flex-direction: column;
      }

      .hero__grid {
        flex: 0 0 auto;
        height: auto;
        align-items: flex-start;
      }

      .hero__content {
        width: 100%;
        padding: 10px 0 56px;
      }

      /* No mobile o palco mostra só animação + título; sub e CTAs vão para .hero__intro */
      .hero__content .hero__sub,
      .hero__content .hero__actions {
        display: none;
      }

      .hero__intro {
        display: block;
        padding: 32px 0 12px;
        background: var(--cream);
      }

      .hero__intro .hero__sub {
        margin-top: 0;
      }

      .hero__intro .hero__actions {
        align-items: stretch;
      }

      .hero__sub,
      .section__body,
      .cta-section p {
        font-size: 15px;
      }

      .process-tech__header {
        margin-bottom: 32px;
      }

      .process-tech__gallery {
        grid-template-columns: 1fr;
        gap: 36px;
      }

      .process-tech__item--schedule {
        grid-column: auto;
      }

      .process-tech__item--phone .process-tech__frame {
        aspect-ratio: auto;
        height: min(128vw, 540px);
        padding: 24px 30px;
      }

      .process-tech__item--phone img {
        max-width: min(58vw, 246px);
      }

      .process-tech__item--schedule .process-tech__frame {
        aspect-ratio: auto;
        max-height: none;
        height: auto;
        padding: 14px;
        border-radius: 22px;
      }

      .mplan__id { display: none; }

      .mplan__lbl {
        min-width: 146px;
        max-width: 146px;
        padding-left: 12px;
        font-size: 11px;
      }

      .mplan__cell {
        min-width: 16px;
        max-width: 16px;
      }

      .mplan__dot {
        width: 10px;
        height: 10px;
        border-radius: 2.5px;
      }

      .mplan__hdr { padding: 11px 14px; }

      .mplan__twrap {
        -webkit-mask-image: linear-gradient(90deg, #000 84%, transparent);
        mask-image: linear-gradient(90deg, #000 84%, transparent);
      }

      .process-tech__item figcaption {
        padding-top: 16px;
        font-size: 14px;
      }

      .journal-showcase__header {
        margin-bottom: 28px;
      }

      .cash-care__layout {
        gap: 32px;
      }

      .cash-care__saving p {
        font-size: 13px;
      }

      .cash-care__phones {
        height: min(98vw, 380px);
        gap: 10px;
        padding: 28px 14px 0;
        border-radius: 22px;
      }

      .cash-care__phones img {
        width: min(calc((100% - 10px) / 2), 180px);
      }

      .journal-showcase__pages {
        grid-template-columns: 1fr;
        gap: 24px;
      }

      .journal-showcase__page,
      .journal-showcase__page:first-child,
      .journal-showcase__page:last-child {
        border: 1px solid var(--border-light);
        border-radius: var(--radius-card);
        transform: none;
        box-shadow: var(--shadow-soft);
      }

      .journal-showcase__page::after {
        display: none;
      }

      .hero__actions {
        align-items: stretch;
      }

      .implantation__sticky {
        padding: 72px 0 112px;
      }

      .implantation__layout {
        width: min(100% - 32px, 760px);
        gap: 24px;
      }

      .implantation h2 {
        font-size: clamp(38px, 10.6vw, 60px);
        line-height: 0.98;
      }

      .implantation__intro {
        margin-top: 24px;
        font-size: 16px;
      }

      .implantation__selector {
        margin-top: 26px;
      }

      .implantation__tab {
        min-height: 46px;
        padding: 0 10px;
        font-size: 12px;
      }

      .implantation__details {
        min-height: 120px;
        margin-top: 10px;
      }

      .implantation__detail {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 12px;
        padding-top: 18px;
      }

      .implantation__icon,
      .implantation__icon svg {
        width: 32px;
        height: 32px;
      }

      .implantation__detail h3 { font-size: 17px; }
      .implantation__detail p { font-size: 14px; }

      .implantation__visual {
        width: calc(100% + 52px);
        margin-left: -36px;
      }

      .btn {
        width: 100%;
      }

      .hero__animation {
        position: relative;
        inset: auto;
        order: -1;
        z-index: 1;
        flex: 1 1 auto;
        min-height: 0;
        height: auto;
        margin: 10px -16px 4px;
        -webkit-mask-image: none;
        mask-image: none;
      }

      .hero__animation::after { display: none; }

      .hero__animation {
        min-height: 240px;
      }

      .hero__animation svg {
        inset: 0;
        width: 100%;
        height: 100%;
        transform: none;
        overflow: hidden;
      }

      .hero__scroll-cue {
        bottom: 18px;
        font-size: var(--text-overline);
      }

      .hero.is-static {
        height: auto;
        min-height: max(620px, calc(100svh - 118px));
      }

      .hero.is-static .hero__sticky {
        height: max(620px, calc(100svh - 118px));
      }

      #map {
        min-height: 380px;
      }

      .condo-list {
        max-height: 380px;
      }
    }
