
    /* =============================================================
       COMPONENTES DA PÁGINA INICIAL
       Primitivas e semântica compartilhadas em assets/design-system.css.
       ============================================================= */
    :root {
      /* 3. COMPONENTES: dimensões e ritmo locais, ligados à semântica */
      --nav-content-max: 1360px;
      --nav-inset-x: clamp(var(--space-4), 4vw, var(--space-12));
      --nav-logo-height: 68px;
      --nav-logo-height-mobile: 54px;
      --nav-height-mobile: 84px;
      --nav-hamburger-width: 24px;
      --nav-hamburger-height: 13px;
      --nav-hamburger-line-height: var(--p-border-2);
      --nav-hamburger-line-radius: var(--radius-rule);
      --nav-link-gap: var(--spacing-nav-link-gap);
      --nav-item-gap: var(--space-1);
      --nav-cta-padding: var(--spacing-control-inset-y) var(--spacing-control-inset-x);
      --nav-cta-radius: var(--radius-pill);
      --nav-z-index: 100;
      --nav-toggle-z-index: var(--z-menu-control);
      --drawer-z-index: var(--z-menu);
      --drawer-padding: var(--space-10) var(--spacing-control-inset-x);
      --drawer-link-gap: var(--spacing-drawer-link-gap);
      --drawer-cta-padding: var(--space-4) var(--space-9);
      --drawer-cta-radius: var(--radius-pill);
      --hero-min-height: 96vh;
      --hero-min-height-mobile: 88vh;
      --hero-padding-top: clamp(112px, 12vw, 150px);
      --hero-padding-top-mobile: 100px;
      --hero-container-gutter: clamp(var(--space-4), 4vw, var(--space-9));
      --hero-bottom-padding: var(--space-lg);
      --hero-bottom-padding-mobile: var(--space-md);
      --hero-copy-gap: var(--space-md);
      --hero-service-gap: var(--space-lg);
      --hero-logo-gap: clamp(var(--space-lg), 4vw, var(--space-2xl));
      --hero-logo-label-gap: var(--space-sm);
      --hero-content-max: 1120px;
      --hero-heading-max: 1080px;
      --hero-copy-max: 60ch;
      --hero-backdrop-layer: 1;
      --hero-content-layer: 2;
      --hero-heading-size: clamp(38px, 4.1vw, 56px);
      --hero-heading-size-mobile: 32px;
      --hero-heading-leading: var(--p-leading-hero);
      --hero-heading-leading-mobile: var(--p-leading-hero-mobile);
      --hero-heading-max-mobile: 420px;
      --hero-copy-size: clamp(15px, 1.8vw, 18px);
      --hero-copy-size-mobile: 15px;
      --hero-copy-max-mobile: 335px;
      --hero-services-gap: var(--space-sm);
      --hero-service-padding: var(--space-2-5) var(--space-5);
      --hero-service-icon-gap: var(--space-2);
      --hero-service-icon-size: 17px;
      --hero-service-icon-radius: var(--p-radius-4);
      --hero-service-radius: var(--radius-pill);
      --hero-button-size: 52px;
      --hero-button-size-mobile: 48px;
      --hero-button-min-width: 250px;
      --hero-button-max-width-mobile: 290px;
      --hero-button-padding-x: var(--space-9);
      --hero-button-padding-x-mobile: var(--space-6);
      --hero-button-radius: var(--radius-pill);
      --hero-button-shadow: var(--p-shadow-brand);
      --hero-button-copy-gap: var(--space-2-5);
      --hero-button-copy-size: var(--text-caption);
      --hero-button-label-size: var(--text-button);
      --hero-logos-max: 1280px;
      --hero-logo-size-desktop: 80px;
      --hero-logo-size-mobile: 64px;
      --hero-logo-content-inset: clamp(var(--space-4), 4vw, var(--space-9));
      --hero-logo-content-inset-mobile: var(--space-5);
      --hero-logo-label-size: var(--text-label);
      --hero-logo-shadow: 0 1px 6px rgba(0, 0, 0, 0.8);
      --hero-logo-track-gap: var(--space-14);
      --hero-logo-track-gap-mobile: var(--space-8);
      --hero-logo-track-height: var(--hero-logo-size-desktop);
      --hero-logo-track-max-height: 85px;
      --hero-logo-hover-duration: var(--duration-short);
      --hero-trusted-layer: var(--z-content-layer);
      --hero-ring-duration: 2.6s;
      --hero-ring-easing: cubic-bezier(0.2, 0, 0.4, 1);
      --hero-ring-expansion: -20px;
      --hero-marquee-duration: 24s;
      --hero-marquee-duration-mobile: 20s;
      --hero-logo-filter: brightness(0) invert(1);
      --section-heading-max: 52rem;
      --section-heading-space: var(--space-2xl);
      --section-heading-audience-max: 62rem;
      --section-eyebrow-space: var(--space-lg);
      --section-title-space: var(--space-lg);
      --section-title-size: var(--text-display);
      --section-title-leading: var(--lh-tight);
      --section-prompt-size: clamp(1.125rem, 2.5vw, 1.625rem);
      --section-prompt-weight: var(--font-weight-bold);
      --section-prompt-rule-width: 48px;
      --section-prompt-rule-height: var(--p-border-2);
      --accordion-height: 480px;
      --accordion-card-collapsed-width: 200px;
      --accordion-card-rest-width: 230px;
      --accordion-card-top-padding: var(--space-2xl) var(--space-xl) var(--space-md);
      --accordion-card-top-padding-mobile: var(--space-xl) var(--space-xl) var(--space-md);
      --accordion-card-content-padding-x: var(--space-xl);
      --accordion-card-content-gap: var(--space-md);
      --accordion-card-bottom-height: 120px;
      --accordion-title-size: clamp(1.25rem, 2vw, 1.625rem);
      --accordion-number-size: clamp(6rem, 10vw, 8rem);
      --accordion-step-size: 24px;
      --accordion-step-border: var(--p-alpha-red-55);
      --accordion-step-line: var(--p-alpha-red-28);
      --accordion-active-border: var(--p-alpha-red-30);
      --accordion-step-number-size: var(--text-tiny);
      --accordion-step-line-inset: 11px;
      --accordion-number-offset-right: -8px;
      --accordion-number-offset-bottom: -16px;
      --accordion-stat-gap: var(--space-0-5);
      --accordion-stat-size: var(--text-stat);
      --accordion-stat-size-mobile: var(--text-stat-mobile);
      --portfolio-grid-gap: var(--spacing-portfolio-grid);
      --portfolio-card-padding: var(--spacing-portfolio-card);
      --portfolio-gallery-gap: var(--spacing-gallery);
      --portfolio-gallery-radius: var(--radius-sm);
      --portfolio-gallery-ratio: 4 / 5;
      --portfolio-cta-min-height: 48px;
      --portfolio-cta-padding-x: var(--space-6);
      --portfolio-cta-radius: var(--radius-pill);
      --portfolio-cta-hover-lift: -1px;
      --portfolio-cta-hover-brightness: 1.1;
      --portfolio-card-head-min-height: 64px;
      --portfolio-image-hover-duration: var(--duration-fast);
      --portfolio-image-focus-scale: 1.04;
      --portfolio-overlay-blur: var(--blur-overlay);
      --portfolio-logo-size: 58px;
      --portfolio-logo-padding: var(--space-1-5);
      --portfolio-logo-bg: var(--p-white);
      --portfolio-logo-ink: var(--p-ink-800);
      --portfolio-logo-bg-dark: var(--p-ink-800);
      --portfolio-logo-text-size: var(--text-tiny);
      --portfolio-card-description-min: 4.5em;
      --portfolio-card-services-min: 3.2em;
      --portfolio-location-offset: var(--space-1);
      --portfolio-card-category-gap: var(--space-2);
      --portfolio-gallery-max-width: 760px;
      --coverage-map-max-width: 900px;
      --coverage-map-max-height: 590px;
      --coverage-list-row-gap: var(--space-2-5);
      --coverage-list-column-gap: var(--space-4);
      --coverage-intro-max-width: 680px;
      --coverage-title-copy-gap: var(--space-lg);
      --coverage-map-tablet-max-width: 680px;
      --coverage-dot-size: 9px;
      --coverage-dot-gap: var(--spacing-control-gap);
      --lightbox-width: min(92vw, var(--portfolio-gallery-max-width));
      --lightbox-max-height: 92vh;
      --lightbox-padding: var(--space-lg);
      --lightbox-radius: var(--radius-lg);
      --lightbox-image-max-height: calc(92vh - 3rem);
      --lightbox-close-offset: -14px;
      --lightbox-close-font-size: 1.4rem;
      --lightbox-center-transform: translate(-50%, -50%);
      --lightbox-close-size: 40px;
      --gallery-overlay-layer: 0;
      --gallery-image-layer: 1;
      --gallery-hover-layer: var(--z-gallery-hover);
      --gallery-image-max-width: 92vw;
      --gallery-image-max-height: 90vh;
      --focus-outline-width: var(--p-border-2);
      --focus-outline-offset: var(--space-1);
      --motion-check-hidden-scale: 0.6;
      --motion-check-visible-scale: 1;
      --motion-button-hover-scale: 1.02;
      --motion-button-active-scale: 0.98;
      --motion-logo-hover-scale: 1.05;
      --motion-accordion-enter-offset: 10px;
      --motion-stat-enter-offset: 6px;
      --motion-offset-zero: translateY(0);
      --motion-marquee-start: translateX(0);
      --motion-marquee-end: translateX(-50%);
    }

    *, *::before, *::after {
      box-sizing: border-box;
      margin: var(--p-space-0);
      padding: var(--p-space-0);
    }

    html, body {
      background-color: var(--color-page);
      color: var(--color-text-primary);
      font-family: var(--font-family);
      font-size: var(--text-base);
      line-height: var(--lh-normal);
      overflow-x: hidden;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

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

    :focus-visible {
      outline: var(--focus-outline-width) solid var(--color-focus);
      outline-offset: var(--focus-outline-offset);
      border-radius: inherit;
    }

    /* -------------------------------------------------------------
       NAVBAR (LOGO AMPLIADA NO TAMANHO APROVADO COM MÁXIMA PRESENÇA)
       ------------------------------------------------------------- */
    .rs-nav {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      z-index: var(--nav-z-index);
      height: var(--nav-height);
      display: flex;
      align-items: center;
      padding: var(--p-space-0) var(--nav-inset-x);
      background: transparent;
    }

    .rs-nav__inner {
      width: 100%;
      max-width: var(--nav-content-max);
      margin: var(--p-space-0) auto;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .rs-nav__left {
      display: flex;
      align-items: center;
      gap: var(--spacing-nav-gap);
    }

    .rs-nav__logo img {
      height: var(--nav-logo-height);
      width: auto;
      display: block;
      transition: height var(--duration-short) var(--p-ease-standard);
      filter: drop-shadow(var(--p-shadow-nav));
    }

    @media (max-width: 767px) {
      .rs-nav {
        height: var(--nav-height-mobile);
      }
      .rs-nav__logo img {
        height: var(--nav-logo-height-mobile);
      }
    }

    .rs-nav__links {
      display: none;
      align-items: center;
      gap: var(--nav-link-gap);
    }

    @media (min-width: 992px) {
      .rs-nav__links {
        display: flex;
      }
    }

    .rs-nav__link {
      font-size: var(--text-nav);
      font-weight: var(--font-weight-medium);
      color: var(--p-alpha-white-88);
      display: inline-flex;
      align-items: center;
      gap: var(--nav-item-gap);
      transition: color var(--duration-short) var(--p-ease-standard);
    }

    .rs-nav__link:hover {
      color: var(--color-ink);
    }

    .rs-nav__right {
      display: flex;
      align-items: center;
      gap: var(--spacing-inline);
    }

    .rs-nav__btn-pill {
      display: none;
      align-items: center;
      justify-content: center;
      padding: var(--nav-cta-padding);
      border-radius: var(--nav-cta-radius);
      font-size: var(--text-nav-cta);
      font-weight: var(--font-weight-semibold);
      color: var(--color-ink);
      background: var(--p-alpha-white-05);
      border: var(--border-width-hairline) solid var(--p-alpha-white-35);
      backdrop-filter: blur(var(--blur-control));
      -webkit-backdrop-filter: blur(var(--blur-control));
      transition: background-color var(--duration-short) var(--p-ease-standard),
                  color var(--duration-short) var(--p-ease-standard),
                  border-color var(--duration-short) var(--p-ease-standard);
      white-space: nowrap;
    }

    @media (min-width: 992px) {
      .rs-nav__btn-pill {
        display: inline-flex;
      }
    }

    .rs-nav__btn-pill:hover {
      background: var(--color-ink);
      color: var(--color-bg);
      border-color: var(--color-ink);
    }

    .rs-nav__hamburger {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      width: var(--nav-hamburger-width);
      height: var(--nav-hamburger-height);
      cursor: pointer;
      z-index: var(--nav-toggle-z-index);
    }

    @media (min-width: 992px) {
      .rs-nav__hamburger {
        display: none;
      }
    }

    .rs-nav__hamburger span {
      display: block;
      width: 100%;
      height: var(--nav-hamburger-line-height);
      background-color: var(--color-ink);
      border-radius: var(--nav-hamburger-line-radius);
      transition: background-color var(--duration-normal) var(--p-ease-standard),
                  transform var(--duration-normal) var(--p-ease-standard);
    }

    /* -------------------------------------------------------------
       MENU MOBILE DRAWER OVERLAY
       ------------------------------------------------------------- */
    .mobile-menu-drawer {
      position: fixed;
      inset: 0;
      background: var(--p-black);
      z-index: var(--drawer-z-index);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: var(--drawer-padding);
      opacity: 0;
      pointer-events: none;
      transition: opacity var(--duration-normal) var(--p-ease-standard);
    }

    .mobile-menu-drawer.is--open {
      opacity: 1;
      pointer-events: auto;
    }

    .mobile-menu-links {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: var(--drawer-link-gap);
      margin-bottom: var(--spacing-section);
      text-align: center;
    }

    .mobile-menu-link {
      font-size: var(--text-lg);
      font-weight: var(--font-weight-bold);
      color: var(--color-ink);
      transition: color var(--duration-short) var(--p-ease-standard);
    }

    .mobile-menu-link:hover {
      color: var(--p-alpha-white-70);
    }

    .mobile-menu-btn-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: var(--drawer-cta-padding);
      border-radius: var(--drawer-cta-radius);
      font-size: var(--text-base);
      font-weight: var(--font-weight-bold);
      color: var(--p-black);
      background: var(--color-ink);
      text-decoration: none;
      box-shadow: var(--p-shadow-button);
      transition: transform var(--duration-short) var(--p-ease-standard);
    }

    .mobile-menu-btn-pill:active {
      transform: scale(0.96);
    }

    /* -------------------------------------------------------------
       HERO (SEÇÃO 1 · CLONE EXATO RIVERSIDE)
       ------------------------------------------------------------- */
    .home-hero {
      position: relative;
      min-height: var(--hero-min-height);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding-top: var(--hero-padding-top);
      padding-bottom: var(--hero-bottom-padding);
      background-image: url('assets/bg-toronto.jpg');
      background-size: cover;
      background-position: center 55%;
      background-repeat: no-repeat;
    }

    @media (max-width: 767px) {
      .home-hero {
        background-image: url('assets/bg-toronto.jpg');
        background-position: 65% 30%;
        padding-top: var(--hero-padding-top-mobile);
        padding-bottom: var(--hero-bottom-padding-mobile);
        min-height: var(--hero-min-height-mobile);
      }
    }

    .hero-vignette {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        180deg, 
        var(--p-alpha-ink-45) 0%,
        var(--p-alpha-ink-10) 32%,
        var(--p-alpha-ink-60) 80%,
        rgba(10, 10, 13, 0.78) 88%,
        rgba(10, 10, 13, 0.92) 95%,
        var(--color-bg) 100%
      );
      pointer-events: none;
      z-index: var(--hero-backdrop-layer);
    }

    .hero-container {
      position: relative;
      z-index: var(--hero-content-layer);
      width: 100%;
      max-width: var(--hero-content-max);
      margin: var(--p-space-0) auto;
      padding: var(--p-space-0) var(--hero-container-gutter);
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .homepage-headline {
      font-size: var(--hero-heading-size);
      font-weight: var(--font-weight-extrabold);
      line-height: var(--hero-heading-leading);
      letter-spacing: var(--p-track-hero);
      margin-bottom: var(--p-space-0);
      color: var(--color-ink);
      background: radial-gradient(74.38% 173.17% at 50% 59.76%, var(--color-ink) 0%, var(--p-ink-100) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: var(--color-ink);
      max-width: var(--hero-heading-max);
      filter: drop-shadow(var(--p-shadow-text-hero));
    }

    .hero-rotating-line {
      display: block;
      white-space: nowrap;
      text-align: center;
    }

    .hero-rotating-slot {
      display: inline;
      width: auto;
      max-width: none;
      text-align: inherit;
      vertical-align: baseline;
    }

    .hero-rotating-sizer,
    .hero-rotating-word {
      display: inline;
      white-space: nowrap;
    }

    .hero-rotating-sizer {
      display: none;
      pointer-events: none;
    }

    .hero-rotating-word {
      position: relative;
      display: inline-block;
      max-width: 100%;
      color: var(--color-ink);
      -webkit-text-fill-color: var(--color-ink);
    }

    .hero-rotating-word::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -0.12em;
      height: 0.12em;
      min-height: 3px;
      background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.38) 10%, rgba(255,255,255,.88) 28%, #fff 50%, rgba(255,255,255,.88) 72%, rgba(255,255,255,.38) 90%, transparent 100%);
      border-radius: 50% 50% 42% 42% / 24% 24% 76% 76%;
      transform: scaleX(var(--underline-progress, 0));
      transform-origin: left center;
      transition: transform 45ms linear;
      pointer-events: none;
    }

    .hero-rotating-word.is-typing::after {
      animation: hero-typewriter-caret 0.72s steps(2, end) infinite;
    }

    .hero-rotating-word::after {
      content: "";
      display: inline-block;
      width: 0.055em;
      height: 0.78em;
      margin-left: 0.08em;
      vertical-align: -0.02em;
      background: var(--color-brand-red);
      animation: hero-typewriter-caret 1s steps(2, end) infinite;
    }

    @keyframes hero-typewriter-caret {
      50% { opacity: 0; }
    }

    @media (min-width: 768px) {
      .rs__paragraph {
        margin-top: clamp(64px, 5vw, 76px);
        margin-bottom: clamp(32px, 3vw, 48px);
      }

      .home-hero__checkbox-wrapper {
        margin-bottom: clamp(32px, 3vw, 48px);
      }
    }

    @media (max-width: 767px) {
      .homepage-headline {
        font-size: var(--hero-heading-size-mobile);
        line-height: var(--hero-heading-leading-mobile);
        letter-spacing: var(--tracking-display);
        margin-bottom: var(--p-space-0);
        max-width: var(--hero-heading-max-mobile);
        -webkit-text-fill-color: var(--color-ink);
        background: none;
      }

      .hero-rotating-line {
        font-size: var(--hero-heading-size-mobile);
        letter-spacing: var(--tracking-display);
        white-space: normal;
      }

      .hero-rotating-word {
        display: inline;
        max-width: none;
        white-space: normal;
      }
    }

    .rs__paragraph {
      font-size: var(--hero-copy-size);
      color: var(--p-alpha-white-90);
      line-height: var(--p-leading-copy);
      max-width: var(--hero-copy-max);
      margin: var(--hero-copy-gap) auto var(--hero-service-gap);
      text-shadow: var(--p-shadow-text-copy);
      font-weight: var(--font-weight-regular);
    }

    @media (max-width: 767px) {
      .rs__paragraph {
        font-size: var(--hero-copy-size-mobile);
        line-height: var(--lh-normal);
        max-width: var(--hero-copy-max-mobile);
        margin-top: var(--space-lg);
        margin-bottom: var(--space-xl);
      }
    }

    .home-hero__checkbox-wrapper {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: var(--hero-services-gap);
      margin-bottom: var(--hero-service-gap);
      width: 100%;
      flex-wrap: wrap;
    }

    @media (max-width: 767px) {
      .home-hero__checkbox-wrapper {
        display: none !important;
      }
    }

    .home-hero__checkbox {
      display: inline-flex;
      align-items: center;
      gap: var(--hero-service-icon-gap);
      padding: var(--hero-service-padding);
      border-radius: var(--hero-service-radius);
      font-size: var(--text-base);
      font-weight: var(--font-weight-medium);
      color: var(--color-ink);
      background-color: var(--color-pill-bg);
      backdrop-filter: blur(var(--blur-glass));
      -webkit-backdrop-filter: blur(var(--blur-glass));
      border: 1.5px solid var(--color-pill-border);
      cursor: pointer;
      transition: background-color var(--duration-short) var(--ease-out),
                  border-color var(--duration-short) var(--ease-out),
                  box-shadow var(--duration-short) var(--ease-out);
      user-select: none;
      box-shadow: var(--p-shadow-pill);
      white-space: nowrap;
    }

    .home-hero__checkbox:hover {
      border-color: var(--p-alpha-white-40);
      background-color: var(--p-pill-surface-hover);
    }

    .home-hero__checkbox.is--checked {
      background-color: var(--color-pill-checked-bg);
      border-color: var(--color-pill-checked-border);
      box-shadow: var(--p-shadow-pill-checked);
    }

    .home-hero__checkbox-icon-wrapper {
      width: var(--hero-service-icon-size);
      height: var(--hero-service-icon-size);
      border-radius: var(--hero-service-icon-radius);
      border: var(--border-width-control) solid var(--p-alpha-white-40);
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background-color var(--duration-short) var(--p-ease-standard),
                  border-color var(--duration-short) var(--p-ease-standard),
                  transform var(--duration-short) var(--p-ease-standard);
      flex-shrink: 0;
    }

    .home-hero__checkbox.is--checked .home-hero__checkbox-icon-wrapper {
      background-color: var(--color-brand-red);
      border-color: var(--color-brand-red);
    }

    .home-hero__checkbox-icon-wrapper svg {
      opacity: 0;
      transform: scale(var(--motion-check-hidden-scale));
      transition: opacity var(--duration-short) var(--p-ease-standard),
                  transform var(--duration-short) var(--p-ease-standard);
    }

    .home-hero__checkbox.is--checked .home-hero__checkbox-icon-wrapper svg {
      opacity: 1;
      transform: scale(var(--motion-check-visible-scale));
    }

    .button-wrap {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: var(--hero-button-copy-gap);
      width: 100%;
    }

    #animated-button {
      position: relative;
      display: inline-flex;
      box-sizing: border-box;
      min-width: var(--hero-button-min-width);
      height: var(--hero-button-size);
      padding: var(--p-space-0) var(--hero-button-padding-x);
      background: var(--color-brand-red);
      border-radius: var(--hero-button-radius);
      cursor: pointer;
      text-decoration: none;
      align-items: center;
      justify-content: center;
      box-shadow: var(--hero-button-shadow);
      transition: background-color var(--duration-emphasis) var(--p-ease-standard),
                  transform var(--duration-emphasis) var(--p-ease-standard),
                  box-shadow var(--duration-emphasis) var(--p-ease-standard);
      overflow: visible;
    }

    @media (max-width: 767px) {
      #animated-button {
        width: 100%;
        max-width: var(--hero-button-max-width-mobile);
        height: var(--hero-button-size-mobile);
        padding: var(--p-space-0) var(--hero-button-padding-x-mobile);
      }

      .button-wrap {
        gap: var(--space-3);
        margin-top: var(--space-3);
      }
    }

    #animated-button:hover {
      background: var(--color-brand-red-hover);
      transform: scale(var(--motion-button-hover-scale));
      box-shadow: var(--p-shadow-brand-hover);
    }

    #animated-button:active {
      transform: scale(var(--motion-button-active-scale));
    }

    #animated-button .ab-text {
      font-size: var(--hero-button-label-size);
      font-weight: var(--font-weight-bold);
      letter-spacing: var(--p-track-button);
      white-space: nowrap;
      user-select: none;
      color: var(--color-ink);
    }

    .ab-ring {
      position: absolute;
      inset: 0;
      border-radius: var(--hero-button-radius);
      border: var(--border-width-control) solid var(--p-alpha-red-50);
      pointer-events: none;
      animation: ab-ringExpand var(--hero-ring-duration) var(--hero-ring-easing) forwards;
    }

    @keyframes ab-ringExpand {
      0%   { inset: 0; opacity: var(--p-opacity-80); }
      40%  { opacity: var(--p-opacity-40); }
      100% { inset: var(--hero-ring-expansion); opacity: var(--p-opacity-0); }
    }

    .sub-button-text {
      font-size: var(--hero-button-copy-size);
      color: var(--p-alpha-white-65);
      font-weight: var(--font-weight-regular);
      text-shadow: var(--p-shadow-text-caption);
    }

    .hero-trusted-wrapper {
      position: relative;
      z-index: var(--hero-trusted-layer);
      width: 100%;
      max-width: var(--hero-logos-max);
      margin: var(--hero-logo-gap) auto 0;
      padding: var(--p-space-0) var(--hero-logo-content-inset);
      text-align: left;
    }

    @media (max-width: 767px) {
      .hero-trusted-wrapper {
         margin-top: var(--hero-logo-gap);
         padding: var(--p-space-0) var(--hero-logo-content-inset-mobile);
      }
    }

    .hero-trusted__label {
      font-size: var(--hero-logo-label-size);
      font-weight: var(--font-weight-semibold);
      color: var(--p-alpha-white-80);
      margin-bottom: var(--hero-logo-label-gap);
      text-shadow: var(--hero-logo-shadow);
    }

    .logo-marquee-container {
      width: 100%;
      overflow: hidden;
      contain: paint;
      mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
      -webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent);
    }

    .logo-marquee-track {
      display: flex;
      align-items: center;
      gap: var(--hero-logo-track-gap);
      padding-right: var(--hero-logo-track-gap);
      width: max-content;
      will-change: transform;
      backface-visibility: hidden;
      animation: marquee var(--hero-marquee-duration) linear infinite;
    }

    @media (hover: hover) and (pointer: fine) {
      .logo-marquee-track:hover {
        animation-play-state: paused;
      }
    }

    @keyframes marquee {
      0% { transform: var(--motion-marquee-start); }
      100% { transform: var(--motion-marquee-end); }
    }

    .logo-marquee-track img {
      height: var(--hero-logo-track-height);
      max-height: var(--hero-logo-track-max-height);
      width: auto;
      flex: 0 0 auto;
      object-fit: contain;
      filter: var(--hero-logo-filter);
      opacity: var(--p-opacity-95);
      transition: opacity var(--hero-logo-hover-duration) var(--p-ease-standard),
                  transform var(--hero-logo-hover-duration) var(--p-ease-standard);
    }

    .logo-marquee-track img:hover {
      opacity: 1;
      transform: scale(var(--motion-logo-hover-scale));
    }

    @media (max-width: 767px) {
      .logo-marquee-track {
        gap: var(--hero-logo-track-gap-mobile);
        padding-right: var(--hero-logo-track-gap-mobile);
        animation-duration: var(--hero-marquee-duration-mobile);
      }

      .logo-marquee-track img {
        height: var(--hero-logo-size-mobile);
        max-height: calc(var(--hero-logo-size-mobile) + var(--p-space-1));
      }
    }

    /* =============================================================
       SEÇÃO 2: PÚBLICO-ALVO — ACCORDION FIEL AO CALENDLY
       ============================================================= */
    .rs-section {
      padding: var(--section-py) 0;
      position: relative;
    }

    .rs-container {
      width: 100%;
      max-width: var(--page-max);
      margin: var(--p-space-0) auto;
      padding: var(--p-space-0) var(--page-gutter);
    }

    /* ── Cabeçalho ─────────────────────────────────────────── */
    .rs-heading-center {
      text-align: center;
      max-width: var(--section-heading-max);
      margin: var(--p-space-0) auto var(--section-heading-space);
    }

    .rs-eyebrow {
      display: inline-block;
      font-size: var(--text-xs);
      font-weight: var(--font-weight-bold);
      letter-spacing: var(--tracking-wide);
      text-transform: uppercase;
      color: var(--color-brand-red);
      margin-bottom: var(--section-eyebrow-space);
    }

    .rs-h2 {
      font-size: var(--section-title-size);
      font-weight: var(--font-weight-extrabold);
      line-height: var(--section-title-leading);
      letter-spacing: var(--tracking-display);
      color: var(--color-ink);
      margin-bottom: var(--section-title-space);
    }

    /* “Se você quer:” em destaque com tracer vermelho */
    .rs-wants-row {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: var(--space-md);
      margin-bottom: var(--section-head-gap);
    }

    .rs-wants-line {
      flex: 0 0 var(--section-prompt-rule-width);
      height: var(--section-prompt-rule-height);
      background: var(--color-brand-red);
      border-radius: var(--p-radius-2);
    }

    .rs-wants-text {
      font-size: var(--section-prompt-size);
      font-weight: var(--section-prompt-weight);
      color: var(--color-ink);
      letter-spacing: var(--tracking-tight);
    }

    /* ── Cards da seção 2 ───────────────────────────────── */
    .acc-row {
      display: flex;
      gap: var(--spacing-card-content);
      align-items: stretch;
      height: var(--accordion-height);
    }

    /* ── Card base ───────────────────────────────────────── */
    .acc-card {
      flex: 0 0 var(--accordion-card-collapsed-width);
      border-radius: var(--radius-lg);
      background: var(--color-surface);
      border: var(--border-width-hairline) solid var(--color-outline);
      overflow: hidden;
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-between; /* rodapé sempre no fundo */
      cursor: pointer;
      transition: flex var(--duration-layout) var(--ease-out),
                  border-color var(--dur-short) var(--ease-out),
                  background var(--dur-short) var(--ease-out);
    }

    /* Desktop: expande o card sob o mouse. */
    .acc-card.is--active {
      flex: 1 1 0;
      border-color: var(--accordion-active-border);
      background: var(--color-surface-hover);
    }

    @media (min-width: 769px) {
      .acc-card:not(.is--active) {
        flex-basis: var(--accordion-card-rest-width);
      }
      .acc-card.is--active .acc-card__top {
        padding-bottom: var(--space-xs);
      }
      .acc-card.is--active .acc-card__mid {
        height: 100%;
        justify-content: flex-start;
      }
      .acc-card.is--active .acc-card__desc {
        margin-top: var(--space-sm);
      }
      .acc-card.is--active .acc-card__bullets {
        margin-block: auto;
      }
    }

    /* ── TOPO do card: título sempre visível ──────────────── */
    .acc-card__top {
      padding: var(--accordion-card-top-padding);
      position: relative;
      z-index: var(--hero-content-layer);
    }

    /* .acc-card__label foi removido por pedido do usuário */
    .acc-card__label { display: none; }


    .acc-card__title {
      font-size: var(--accordion-title-size);
      font-weight: var(--font-weight-extrabold);
      color: var(--color-ink);
      line-height: var(--lh-snug);
      letter-spacing: var(--tracking-tight);
      white-space: normal;
    }

    /* ── Conteúdo ocupa o espaço entre topo e rodapé no desktop ── */
    @media (min-width: 769px) {
      .acc-card__collapsible {
        flex: 1 1 0;
        min-height: 0;
      }
    }

    /* ── Conteúdo dos cards ────────────────────────────────── */
    .acc-card__mid {
      padding: var(--p-space-0) var(--accordion-card-content-padding-x);
      display: flex;
      flex-direction: column;
      gap: var(--accordion-card-content-gap);
      position: relative;
      z-index: var(--hero-content-layer);
      opacity: 0;
      transform: translateY(var(--motion-accordion-enter-offset));
      transition: opacity var(--duration-emphasis) var(--ease-out) 0.15s,
                  transform var(--duration-emphasis) var(--ease-out) 0.15s;
      pointer-events: none;
    }

    .acc-card.is--active .acc-card__mid {
      opacity: 1;
      transform: var(--motion-offset-zero);
      pointer-events: auto;
    }

    .acc-card__desc {
      font-size: var(--text-sm);
      color: var(--color-muted);
      line-height: var(--lh-relaxed);
    }

    .acc-card__bullets {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
      counter-reset: feature-step;
    }

    .acc-card__bullet {
      display: flex;
      align-items: flex-start;
      gap: var(--space-sm);
      font-size: var(--text-sm);
      color: var(--color-ink-2);
      font-weight: var(--font-weight-medium);
      position: relative;
      counter-increment: feature-step;
    }

    .acc-card__bullet-dot {
      width: var(--accordion-step-size);
      height: var(--accordion-step-size);
      border-radius: var(--p-radius-round);
      background: var(--p-alpha-red-08);
      border: var(--border-width-hairline) solid var(--accordion-step-border);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      position: relative;
      z-index: var(--z-base);
      color: var(--color-brand-red);
      font-size: var(--accordion-step-number-size);
      font-weight: var(--font-weight-bold);
    }

    .acc-card__bullet-dot svg {
      display: none;
    }

    .acc-card__bullet-dot::before {
      content: counter(feature-step);
    }

    .acc-card__bullet:not(:last-child)::after {
      content: '';
      position: absolute;
      left: var(--accordion-step-line-inset);
      top: var(--accordion-step-size);
      bottom: calc(0px - var(--space-sm));
      width: var(--p-space-px);
      background: var(--accordion-step-line);
    }

    /* ── RODAPÉ: número decorativo (sempre visível) ───────── */
    .acc-card__bottom {
      position: relative;
      overflow: hidden;
      height: var(--accordion-card-bottom-height);
      flex-shrink: 0;
    }

    /* Número decorativo no rodapé */
    .acc-card__deco-number {
      position: absolute;
      right: var(--accordion-number-offset-right);
      bottom: var(--accordion-number-offset-bottom);
      font-size: var(--accordion-number-size);
      font-weight: var(--font-weight-black);
      line-height: var(--p-leading-none);
      letter-spacing: var(--p-track-number);
      color: transparent;
      -webkit-text-stroke: var(--p-border-2) var(--p-alpha-white-60);
      user-select: none;
      pointer-events: none;
      transition: -webkit-text-stroke var(--duration-normal) var(--ease-out);
    }

    .acc-card.is--active .acc-card__deco-number {
      -webkit-text-stroke: var(--p-border-2) var(--p-alpha-red-70);
    }

    /* Preview aparece apenas nos cards recolhidos do mobile. */
    .acc-card__preview { display: none; }

    /* Stat block */
    .acc-card__stat {
      position: absolute;
      left: var(--space-xl);
      bottom: var(--space-xl);
      display: flex;
      flex-direction: column;
      gap: var(--accordion-stat-gap);
      opacity: 0;
      transform: translateY(var(--motion-stat-enter-offset));
      transition: opacity var(--duration-emphasis) var(--ease-out) 0.25s,
                  transform var(--duration-emphasis) var(--ease-out) 0.25s;
    }

    .acc-card.is--active .acc-card__stat {
      opacity: 1;
      transform: var(--motion-offset-zero);
    }

    .acc-card__stat-value {
      font-size: var(--accordion-stat-size);
      font-weight: var(--font-weight-extrabold);
      color: var(--color-brand-red);
      letter-spacing: var(--p-track-heading);
      line-height: var(--p-leading-none);
    }

    .acc-card__stat-label {
      font-size: var(--text-xs);
      color: var(--color-muted);
      font-weight: var(--font-weight-medium);
    }

    /* ── Cards sempre abertos no mobile ────────────────────── */
    @media (max-width: 768px) {
      .acc-row {
        flex-direction: column;
        height: auto;
        gap: var(--space-sm);
      }

      .acc-card {
        flex: none;
        min-height: 0;
        border-color: var(--p-alpha-white-10);
        background: var(--color-surface);
        justify-content: flex-start;
      }

      .acc-card.is--active {
        flex: none;
        border-color: var(--p-alpha-white-10);
        background: var(--color-surface);
      }

      /* Topo no mobile */
      .acc-card .acc-card__top {
        padding: var(--accordion-card-top-padding-mobile);
        display: flex;
        flex-direction: column;
        gap: var(--space-xs);
      }

      .acc-card__preview { display: none; }

      /* No mobile, prioriza o título e as etapas numeradas do card. */
      #acc-row .acc-card__desc { display: none; }

      .acc-card__collapsible {
        display: block;
        max-height: none;
        overflow: visible;
        transition: none;
      }

      .acc-card__mid {
        flex: none;
        opacity: 1;
        transform: none;
        pointer-events: auto;
        padding: var(--space-sm) var(--accordion-card-content-padding-x) var(--space-xl);
      }

      /* Stat inline */
      .acc-card__stat {
        position: static;
        opacity: 1;
        transform: none;
        padding: var(--space-sm) var(--accordion-card-content-padding-x) var(--space-xl);
        display: flex;
        flex-direction: row;
        align-items: baseline;
        gap: var(--space-xs);
      }

      .acc-card__stat-value { font-size: var(--accordion-stat-size-mobile); }

      /* Esconde rodapé decorativo */
      .acc-card__bottom { display: none; }

      .rs-wants-line { display: none; }
    }

    /* Cases em destaque e mapa de presença */
    .rs-heading-center--audience {
      max-width: var(--section-heading-audience-max);
      margin-bottom: var(--space-xl);
    }

    .rs-heading-center--audience .rs-h2 { margin-bottom: var(--p-space-0); }

    .work-section {
      --portfolio-grid-gap: var(--spacing-portfolio-grid);
      --portfolio-card-padding: var(--spacing-portfolio-card);
      --portfolio-gallery-gap: var(--spacing-gallery);
    }

    .case-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: var(--portfolio-grid-gap);
    }

    .case-card {
      min-width: 0;
      padding: var(--portfolio-card-padding);
      background: var(--color-surface);
      border: var(--border-width-hairline) solid var(--color-outline);
      border-radius: var(--radius-lg);
    }

    .case-card__head {
      display: flex;
      align-items: center;
      gap: var(--spacing-inline);
      min-height: var(--portfolio-card-head-min-height);
    }

    .case-card__logo {
      display: grid;
      place-items: center;
      flex: 0 0 var(--portfolio-logo-size);
      width: var(--portfolio-logo-size);
      height: var(--portfolio-logo-size);
      padding: var(--portfolio-logo-padding);
      overflow: hidden;
      color: var(--portfolio-logo-ink);
      background: var(--portfolio-logo-bg);
      border-radius: var(--radius-sm);
      font-size: var(--portfolio-logo-text-size);
      font-weight: var(--font-weight-extrabold);
    }

    .case-card__logo img { width: 100%; height: 100%; object-fit: contain; }
    .case-card__logo--dark { background: var(--portfolio-logo-bg-dark); }

    .case-card__title {
      margin: var(--p-space-0);
      color: var(--color-text-primary);
      font-size: var(--text-lg);
      font-weight: var(--font-weight-extrabold);
      line-height: var(--lh-snug);
    }

    .case-card__location {
      display: block;
      margin-top: var(--portfolio-location-offset);
      color: var(--color-text-primary);
      font-size: var(--text-xs);
      font-weight: var(--font-weight-bold);
    }

    .case-card__category {
      margin: var(--space-md) 0 var(--portfolio-card-category-gap);
      color: var(--color-action);
      font-size: var(--text-xs);
      font-weight: var(--font-weight-bold);
    }

    .case-card__description {
      min-height: var(--portfolio-card-description-min);
      margin: var(--p-space-0) var(--p-space-0) var(--space-sm);
      color: var(--color-text-secondary);
      font-size: var(--text-sm);
      line-height: var(--lh-relaxed);
    }

    .case-card__services {
      min-height: var(--portfolio-card-services-min);
      margin: var(--p-space-0) var(--p-space-0) var(--space-md);
      color: var(--color-text-muted);
      font-size: var(--text-xs);
      line-height: var(--lh-relaxed);
    }

    .case-card__services strong { color: var(--color-text-primary); }

    .case-gallery {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: var(--portfolio-gallery-gap);
    }

    .case-gallery__item {
      display: block;
      width: 100%;
      padding: var(--p-space-0);
      overflow: hidden;
      aspect-ratio: var(--portfolio-gallery-ratio);
      background: var(--color-surface-hover);
      border: var(--border-width-hairline) solid var(--color-outline);
      border-radius: var(--portfolio-gallery-radius);
      cursor: default;
    }

    .case-gallery__item img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: inherit;
      transition: transform var(--portfolio-image-hover-duration) var(--ease-out);
    }
    .case-gallery__progress { display: none; }

    .case-gallery__item:focus-visible img { transform: scale(var(--portfolio-image-focus-scale)); }
    .case-actions { display: flex; justify-content: center; margin-top: var(--space-2xl); }

    .work-portfolio-cta {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: var(--portfolio-cta-min-height);
      padding: var(--p-space-0) var(--portfolio-cta-padding-x);
      color: var(--color-ink);
      background: var(--color-action);
      border-radius: var(--portfolio-cta-radius);
      font-weight: var(--font-weight-bold);
      text-decoration: none;
      transition: filter var(--duration-short) var(--p-ease-standard),
                  transform var(--duration-short) var(--p-ease-standard);
    }

    .work-portfolio-cta:hover {
      filter: brightness(var(--portfolio-cta-hover-brightness));
      transform: translateY(var(--portfolio-cta-hover-lift));
    }

    .coverage-section { overflow: hidden; background: var(--color-surface); }
    .coverage-section .rs-heading-center { margin-bottom: var(--coverage-title-copy-gap); }
    .coverage-section .rs-heading-center .rs-h2 { margin-bottom: var(--p-space-0); }
    .coverage-layout { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; }

    .coverage-intro {
      max-width: var(--coverage-intro-max-width);
      margin: var(--p-space-0) auto var(--space-lg);
      color: var(--color-text-muted);
      font-size: var(--text-sm);
      line-height: var(--lh-relaxed);
      text-align: center;
    }

    .coverage-map-wrap {
      width: min(100%, var(--coverage-map-max-width));
      margin: var(--p-space-0) auto;
    }

    .coverage-map {
      display: block;
      width: 100%;
      height: auto;
      max-height: var(--coverage-map-max-height);
    }

    .coverage-list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--coverage-list-row-gap) var(--coverage-list-column-gap);
      margin: var(--p-space-0);
      padding: var(--p-space-0);
      list-style: none;
    }

    .coverage-list li {
      display: flex;
      align-items: center;
      gap: var(--coverage-dot-gap);
      color: var(--color-text-secondary);
      font-size: var(--text-xs);
      font-weight: var(--font-weight-semibold);
    }

    .coverage-list li::before {
      content: "";
      flex: 0 0 var(--coverage-dot-size);
      width: var(--coverage-dot-size);
      height: var(--coverage-dot-size);
      border-radius: var(--p-radius-round);
      background: var(--color-action);
    }

    .coverage-map-credit {
      display: block;
      margin-top: var(--space-md);
      color: var(--color-text-muted);
      font-size: var(--text-caption);
    }

    .coverage-map-credit a { color: inherit; }

    /* =============================================================
       SEÇÃO 5: PROCESSO DE ANÚNCIOS + RADAR COMPARATIVO
       Cards de processo com progresso guiado pela rolagem.
       ============================================================= */
    .precision-section {
      --precision-marker-size: 2.5rem;
      overflow: hidden;
      background: var(--color-bg);
    }

    .precision-section .rs-heading-center { margin-bottom: var(--space-2xl); }
    .precision-section .rs-heading-center .rs-h2 { margin-bottom: 0; }

    .precision-timeline {
      position: relative;
      width: min(100%, 56rem);
      margin: 0 auto;
      padding: 0 0 0 var(--space-1);
      --precision-progress: 0;
    }

    .precision-timeline::before,
    .precision-timeline::after {
      content: "";
      position: absolute;
      z-index: 0;
      top: var(--precision-rail-start, calc(var(--precision-marker-size) / 2));
      bottom: auto;
      height: var(--precision-rail-height, calc(100% - var(--precision-marker-size)));
      left: calc(var(--space-1) + var(--precision-marker-size) / 2);
      width: var(--border-width-hairline);
      transform: translateX(-50%);
      transform-origin: top;
      pointer-events: none;
    }

    .precision-timeline::before { background: var(--color-border); }
    .precision-timeline::after {
      background: var(--color-brand-red);
      transform: translateX(-50%) scaleY(var(--precision-progress));
      transition: transform var(--p-duration-short) var(--ease-out);
    }

    .precision-step {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: var(--precision-marker-size) minmax(0, 1fr);
      align-items: start;
      gap: var(--space-8);
      padding: 0 0 var(--space-10);
    }

    .precision-step:last-child { padding-bottom: 0; }

    .precision-step__number {
      display: grid;
      width: var(--precision-marker-size);
      height: var(--precision-marker-size);
      place-items: center;
      border: var(--border-width-control) solid var(--color-outline);
      border-radius: var(--p-radius-round);
      background: var(--color-bg);
      color: var(--color-text-muted);
      font-size: var(--text-sm);
      font-weight: var(--font-weight-bold);
      font-variant-numeric: tabular-nums;
      transition: border-color var(--p-duration-short) var(--ease-out), background-color var(--p-duration-short) var(--ease-out), color var(--p-duration-short) var(--ease-out), box-shadow var(--p-duration-short) var(--ease-out), opacity var(--p-duration-short) var(--ease-out);
    }

    .precision-step.is-passed .precision-step__number,
    .precision-step.is-current .precision-step__number {
      border-color: var(--color-brand-red);
      color: var(--color-brand-red);
    }

    .precision-step.is-current .precision-step__number {
      border-color: #fff;
      background: #fff;
      color: var(--color-brand-red);
      box-shadow: 0 0 0 4px var(--p-alpha-red-08);
    }

    .precision-step__copy {
      --precision-card-title: var(--color-text-primary);
      --precision-card-copy: var(--color-text-secondary);
      position: relative;
      min-width: 0;
      overflow: hidden;
      padding: var(--space-7);
      border: var(--border-width-hairline) solid var(--color-border);
      border-radius: var(--radius-md);
      background: var(--p-ink-900);
      box-shadow: 0 10px 28px var(--p-alpha-ink-45);
      transition: transform var(--p-duration-short) var(--ease-out), background-color var(--p-duration-emphasis) var(--ease-out), box-shadow var(--p-duration-short) var(--ease-out);
    }

    .precision-step__copy::before {
      content: "";
      position: absolute;
      top: var(--space-5);
      bottom: var(--space-5);
      left: 0;
      width: var(--p-border-2);
      border-radius: var(--radius-rule);
      background: var(--color-border-hover);
      opacity: 0;
      transition: opacity var(--p-duration-short) var(--ease-out), background-color var(--p-duration-short) var(--ease-out);
    }

    .precision-step.is-current .precision-step__copy {
      --precision-card-title: var(--p-ink-900);
      --precision-card-copy: var(--p-ink-700);
      background-color: var(--p-white);
      box-shadow: 0 14px 36px var(--p-alpha-ink-45);
    }

    .precision-step.is-current .precision-step__copy::before {
      background: var(--color-brand-red);
      opacity: 1;
    }

    @media (hover: hover) and (pointer: fine) {
      .precision-step .precision-step__copy:hover {
        transform: translate3d(0, -3px, 0);
        border-color: var(--color-border);
        box-shadow: 0 16px 40px var(--p-alpha-ink-45);
      }
    }

    .precision-step__title {
      margin: 0 0 var(--space-3);
      color: var(--precision-card-title);
      font-size: clamp(1.2rem, 1.7vw, 1.45rem);
      font-weight: var(--font-weight-bold);
      line-height: var(--lh-snug);
      letter-spacing: var(--tracking-tight);
      transition: color var(--p-duration-emphasis) var(--ease-out);
    }

    .precision-step__title::after {
      content: "";
      display: block;
      width: 1.75rem;
      height: var(--p-border-2);
      margin-top: var(--space-2);
      border-radius: var(--radius-rule);
      background: var(--color-brand-red);
      opacity: 0.5;
      transition: width var(--p-duration-short) var(--ease-out), opacity var(--p-duration-short) var(--ease-out);
    }

    .precision-step.is-current .precision-step__title::after { width: 2.5rem; opacity: 1; }

    .precision-step__description {
      max-width: 62ch;
      margin: 0;
      color: var(--precision-card-copy);
      font-size: clamp(0.9375rem, 1.05vw, 1rem);
      line-height: var(--lh-relaxed);
      transition: color var(--p-duration-emphasis) var(--ease-out);
    }

    .services-section { position: relative; overflow: hidden; min-height: 100svh; padding: clamp(64px, 8vh, 100px) 24px 48px; background: #09090b; color: #f8f8fa; }
    body.services-detail-open::after { position: fixed; z-index: 9998; inset: 0; background: rgba(0,0,0,.78); content: ""; pointer-events: none; }
    .services-section.is-service-open { z-index: 9999; overflow: visible; }
    .services-section.is-service-open::after { position: absolute; z-index: 0; inset: 0; background: rgba(0,0,0,.68); content: ""; pointer-events: none; }
    .services-section.is-service-open .services-heading { z-index: 1; opacity: .12; transition: opacity 220ms ease; }
    .services-section.is-service-open .services-explorer { z-index: 2; }
    .services-heading { position: relative; z-index: 2; max-width: 76rem; margin: 0 auto; text-align: center; }
    .services-heading h2 { margin: 0; color: #fff; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.05; letter-spacing: -.04em; }
    .services-heading p { max-width: 44ch; margin: 12px auto 0; color: rgba(255,255,255,.62); font-size: .98rem; line-height: 1.55; }
    .services-explorer { position: relative; width: min(100%, 920px); height: clamp(570px, 72vh, 760px); min-height: 570px; margin: 4px auto 0; perspective: 1000px; isolation: isolate; }
    .services-orbit { position: absolute; inset: 0; display: grid; place-items: center; transform-style: preserve-3d; touch-action: none; -webkit-user-select: none; user-select: none; }
    .services-orbit.has-active .services-orbit__ring { opacity: .22; }
    .services-orbit__drag-area { position: absolute; z-index: 4; width: min(430px, 74vw); aspect-ratio: 1; border-radius: 50%; cursor: grab; touch-action: none; -webkit-tap-highlight-color: transparent; }
    .services-orbit__drag-area:active { cursor: grabbing; }
    .services-orbit.has-active .services-orbit__drag-area { pointer-events: none; }
    .services-orbit.has-active { touch-action: pan-y; }
    .services-orbit__ring { position: absolute; width: min(430px, 74vw); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; pointer-events: none; }
    .services-orbit__ring::before, .services-orbit__ring::after { position: absolute; inset: 12%; border: 1px solid rgba(255,255,255,.075); border-radius: 50%; content: ""; }
    .services-orbit__ring::after { inset: 26%; border-style: dashed; border-color: rgba(255,255,255,.1); }
    .services-orbit__center { position: absolute; z-index: 5; display: grid; width: 66px; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: linear-gradient(135deg, #a3131c, #441016 60%, #111); box-shadow: 0 0 32px rgba(237,35,45,.22); color: #fff; animation: services-reference-pulse 2s cubic-bezier(.4,0,.6,1) infinite; }
    .services-orbit__center::before, .services-orbit__center::after { position: absolute; inset: -10px; border: 1px solid rgba(237,35,45,.35); border-radius: 50%; content: ""; animation: services-orbit-ping 1s cubic-bezier(0,0,.2,1) infinite; }
    .services-orbit__center::after { inset: -14px; animation-delay: .5s; }
    .services-orbit__center svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
    .services-node { position: absolute; z-index: var(--node-z, 100); top: 50%; left: 50%; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #fff; cursor: pointer; opacity: var(--node-opacity, 1); transform: translate(calc(-50% + var(--node-x, 0px)), calc(-50% + var(--node-y, 0px))); transition: transform 700ms cubic-bezier(.4,0,.2,1), opacity 350ms ease, filter 350ms ease; -webkit-tap-highlight-color: transparent; }
    .services-orbit.has-active .services-node:not(.is-selected) { visibility: hidden; pointer-events: none; }
    .services-orbit.has-active .services-orbit__center { visibility: hidden; opacity: 0; }
    .services-orbit.has-active .services-node.is-selected { z-index: 1000 !important; }
    .services-orbit.has-active .services-node.is-selected .services-node__icon,
    .services-orbit.has-active .services-node.is-selected .services-node__label { visibility: hidden; opacity: 0; }
    .services-orbit.has-active .services-orbit__hint { visibility: hidden; opacity: 0; }
    .services-orbit:not(.has-active) .services-node { transition: opacity 350ms ease, filter 350ms ease; will-change: transform; }
    .services-node__trigger, .services-orbit__center { touch-action: none; user-select: none; -webkit-user-select: none; }
    .services-node__trigger { position: absolute; inset: 0; display: grid; width: 100%; height: 100%; place-items: center; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; }
    .services-node__trigger:focus-visible { border-radius: 50%; outline: 2px solid #fff; outline-offset: 5px; }
    .services-node__halo { position: absolute; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.2) 0%, rgba(255,255,255,0) 70%); opacity: .75; transition: opacity 250ms ease; pointer-events: none; }
    .services-node__icon { position: relative; display: grid; width: 44px; height: 44px; place-items: center; border: 1.5px solid rgba(255,255,255,.46); border-radius: 50%; background: #09090b; color: rgba(255,255,255,.8); transition: color 300ms ease, background 300ms ease, border-color 300ms ease, box-shadow 300ms ease, transform 300ms ease; }
    .services-node__icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
    .services-node__label { position: absolute; top: 52px; left: 50%; display: -webkit-box; width: max-content; max-width: 156px; overflow: hidden; color: rgba(255,255,255,.82); font-size: .82rem; font-weight: 650; letter-spacing: .01em; line-height: 1.2; text-align: center; text-shadow: 0 1px 10px #09090b; text-wrap: balance; -webkit-box-orient: vertical; -webkit-line-clamp: 2; transform: translateX(-50%); transition: color 300ms ease, opacity 300ms ease, transform 300ms ease; }
    .services-node__trigger[aria-expanded="true"] { z-index: 300; }
    .services-node__trigger[aria-expanded="true"] .services-node__icon { transform: scale(1.5); border-color: #fff; background: #fff; color: #09090b; box-shadow: 0 0 24px rgba(255,255,255,.2); }
    .services-node__trigger[aria-expanded="true"] .services-node__label { color: #fff; transform: translateX(-50%) scale(1.25); }
    .services-node__icon > span { font-size: .66rem; font-weight: 750; letter-spacing: .03em; }
    .services-orbit.is-rotating .services-node__icon { animation: services-node-invite 5.4s ease-in-out infinite; }
    .services-fallback-nodes { display: contents; }
    .services-fallback-detail { position: absolute; top: 50%; left: 50%; z-index: 2000; width: min(480px, calc(100vw - 40px)); max-height: min(72svh, 640px); overflow: auto; padding: 26px; border: 1px solid rgba(255,255,255,.3); border-radius: 16px; background: #101013; box-shadow: 0 28px 90px rgba(0,0,0,.72), 0 0 38px rgba(255,255,255,.05); color: #fff; text-align: left; transform: translate(-50%,-50%); }
    .services-fallback-detail[hidden] { display: none; }
    .services-fallback-detail .service-orbital-card__title { margin: 9px 0 7px; color: #fff; font-size: 1.08rem; line-height: 1.25; }
    .services-fallback-detail .service-orbital-card__content { margin: 0; color: rgba(255,255,255,.74); font-size: .86rem; line-height: 1.5; }
    .services-fallback-detail .service-orbital-card__list { display: grid; gap: 7px; margin: 13px 0 0; padding: 0; color: rgba(255,255,255,.88); font-size: .84rem; line-height: 1.45; list-style: none; }
    .services-fallback-detail .service-orbital-card__list li { position: relative; padding-left: 15px; }
    .services-fallback-detail .service-orbital-card__list li::before { position: absolute; top: .58em; left: 1px; width: 5px; height: 5px; border-radius: 50%; background: #ed232d; content: ""; }
    .services-node.is-related .services-node__icon { border-color: rgba(255,255,255,.85); background: rgba(255,255,255,.7); color: #09090b; animation: services-reference-pulse 2s cubic-bezier(.4,0,.6,1) infinite; }
    .services-node.is-related .services-node__halo { opacity: 1; animation: services-reference-pulse 2s cubic-bezier(.4,0,.6,1) infinite; }
    .service-orbital-card { position: absolute; top: 50%; left: 50%; z-index: 2000; width: min(480px, calc(100vw - 40px)); max-height: min(72svh, 640px); overflow: auto; padding: 26px; border: 1px solid rgba(255,255,255,.3); border-radius: 16px; background: #101013; box-shadow: 0 28px 90px rgba(0,0,0,.72), 0 0 38px rgba(255,255,255,.05); color: #fff; text-align: left; transform: translate(-50%,-50%); transform-origin: center; animation: service-orbital-card-in 280ms cubic-bezier(.2,.75,.25,1) both; }
    .service-orbital-card[hidden] { display: none; }
    .service-orbital-card h3 { margin: 0; color: #fff; font-size: 1.35rem; font-weight: 720; line-height: 1.2; letter-spacing: -.02em; }
    .service-orbital-card__copy { margin: 14px 0 0; color: rgba(255,255,255,.84); font-size: 1rem; line-height: 1.6; }
    .service-orbital-card__items { display: grid; gap: 11px; margin: 19px 0 0; padding: 0; list-style: none; }
    .service-orbital-card__items li { position: relative; padding-left: 18px; color: rgba(255,255,255,.92); font-size: .96rem; line-height: 1.5; }
    .service-orbital-card__items li::before { position: absolute; top: .52em; left: 1px; width: 5px; height: 5px; border-radius: 50%; background: #ed232d; content: ""; }
    .services-orbit__hint { position: absolute; right: 0; bottom: 6px; left: 0; color: rgba(255,255,255,.4); font-size: .73rem; text-align: center; }
    @keyframes services-orbit-ping { 75%, 100% { transform: scale(2); opacity: 0; } }
    @keyframes services-reference-pulse { 0%,100% { opacity: 1; } 50% { opacity: .5; } }
    @keyframes services-node-invite { 0%, 4%, 100% { transform: scale(1); } 1.5% { transform: scale(1.1); } 2.5% { transform: scale(1.035); } }
    @keyframes services-orbit-ping-reduced { 75%,100% { transform: scale(1.45); opacity: 0; } }
    @keyframes services-reference-pulse-reduced { 0%,100% { opacity: 1; } 50% { opacity: .8; } }
    @keyframes service-orbital-card-in { from { opacity: 0; transform: translate(-50%,-48%) scale(.98); } to { opacity: 1; transform: translate(-50%,-50%) scale(1); } }
    @media (max-width: 767px) {
      .services-section { min-height: 0; padding: 54px 16px 38px; }
      .services-heading h2 { font-size: clamp(1.9rem, 8vw, 2.65rem); }
      .services-heading p { max-width: 36ch; margin-top: 9px; font-size: .9rem; }
      .services-explorer { width: 100%; height: min(680px, 78svh); min-height: 550px; margin-top: 4px; }
      .services-orbit__ring { width: min(330px, 82vw); }
      .services-orbit__drag-area { width: min(330px, 82vw); }
      .services-orbit__center { width: 56px; }
      .services-node, .services-node__icon { width: 40px; height: 40px; }
      .services-node__icon svg { width: 17px; height: 17px; }
      .services-node__label { top: 47px; max-width: 124px; font-size: .78rem; line-height: 1.2; }
      .service-orbital-card, .services-fallback-detail { top: 50%; left: 50%; width: min(520px, calc(100vw - 32px)); max-height: min(76svh, 680px); padding: 22px; transform: translate(-50%,-50%); }
      .services-orbit__hint { bottom: 0; padding-inline: 18px; font-size: .68rem; }
    }
    @media (prefers-reduced-motion: reduce) {
      .services-orbit:not(.has-active) .services-node { transition: none !important; }
      .services-orbit__center { animation: services-reference-pulse-reduced 3s ease-in-out infinite !important; }
      .services-orbit__center::before, .services-orbit__center::after { animation: services-orbit-ping-reduced 2.4s cubic-bezier(0,0,.2,1) infinite !important; }
      .services-orbit__center::after { animation-delay: 1.2s !important; }
      .services-node.is-related .services-node__icon, .services-node.is-related .services-node__halo { animation: services-reference-pulse-reduced 2.4s ease-in-out infinite !important; }
      .services-orbit.is-rotating .services-node__icon { animation: services-node-invite-reduced 7.2s ease-in-out infinite !important; }
      .services-node__icon, .services-node__label, .service-orbital-card { transition-duration: .01ms; animation-duration: .01ms; }
    }
    @keyframes services-node-invite-reduced { 0%, 4%, 100% { transform: scale(1); } 1.5% { transform: scale(1.045); } 2.5% { transform: scale(1.015); } }

    .precision-timeline[data-reveal-ready="true"] .precision-step:not(.is-revealed):not(.is-entering) .precision-step__copy {
      opacity: 0;
      transform: translate3d(var(--precision-entry-x, calc(50vw + 50% + 24px)), 8px, 0) scale(0.985);
    }
    .precision-timeline[data-reveal-ready="true"] .precision-step:not(.is-revealed):not(.is-entering) .precision-step__number { opacity: 0; }
    .precision-step .precision-step__copy { --precision-entry-x: calc(50vw + 50% + 24px); }
    .precision-step.is-entering .precision-step__copy {
      animation-name: precision-content-enter;
      animation-duration: 760ms;
      animation-timing-function: var(--ease-out);
      animation-fill-mode: both;
    }

    .precision-step.is-entering .precision-step__copy {
      animation-duration: 1000ms;
      animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    }

    @keyframes precision-content-enter {
      from { opacity: 0; transform: translate3d(var(--precision-entry-x, calc(50vw + 50%)), 8px, 0) scale(0.985); }
      84% { opacity: 1; transform: translate3d(-4px, 0, 0) scale(1.003); }
      to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
    }

    @media (max-width: 767px) {
      .precision-section { --precision-marker-size: 2.25rem; }
      .precision-section .rs-heading-center { margin-bottom: var(--space-8); }
      .precision-timeline { padding-left: 0; }
      .precision-timeline::before,
      .precision-timeline::after { left: calc(var(--precision-marker-size) / 2); }
      .precision-step { gap: var(--space-5); padding-bottom: var(--space-8); }
      .precision-step__copy { padding: var(--space-6); }
      .precision-step__copy::before { top: var(--space-4); bottom: var(--space-4); }
      .precision-step__title { margin-bottom: var(--space-3); font-size: 1.1875rem; }
      .precision-step__description { font-size: 0.9375rem; }
    }

    @media (prefers-reduced-motion: reduce) {
      .precision-timeline::after,
      .precision-step__number,
      .precision-step__copy,
      .precision-step__title::after { transition: none; }
      .precision-step.is-entering .precision-step__copy { animation-name: precision-content-enter-reduced; animation-duration: 160ms; }
      @keyframes precision-content-enter-reduced { from { opacity: 0.65; } to { opacity: 1; } }
    }

    .work-lightbox {
      position: fixed;
      inset: 0;
      width: var(--lightbox-width);
      max-width: none;
      max-height: var(--lightbox-max-height);
      padding: var(--lightbox-padding);
      overflow: visible;
      border: var(--border-width-hairline) solid var(--color-outline);
      border-radius: var(--lightbox-radius);
      background: var(--p-ink-900);
      color: var(--color-text-primary);
    }

    .work-lightbox::backdrop { background: var(--p-backdrop); }
    .work-lightbox img { display: block; max-width: 100%; max-height: var(--lightbox-image-max-height); margin: auto; object-fit: contain; }
    .work-lightbox[open] {
      position: fixed;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      width: min(var(--lightbox-width), calc(100vw - var(--space-8)));
      height: fit-content;
      max-width: calc(100vw - var(--space-8));
      max-height: calc(100dvh - var(--space-8));
      margin: auto;
      box-sizing: border-box;
    }

    .work-lightbox__close {
      position: absolute;
      top: var(--lightbox-close-offset);
      right: var(--lightbox-close-offset);
      width: var(--lightbox-close-size);
      height: var(--lightbox-close-size);
      border: var(--border-width-hairline) solid var(--color-outline);
      border-radius: var(--p-radius-round);
      background: var(--color-surface-hover);
      color: var(--color-text-primary);
      font-size: var(--lightbox-close-font-size);
      cursor: pointer;
    }

    @media (max-width: 900px) {
      .case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .coverage-layout { grid-template-columns: 1fr; gap: var(--space-lg); }
      .coverage-map { max-width: var(--coverage-map-tablet-max-width); margin: auto; }
    }

    @media (max-width: 600px) {
      .case-grid { grid-template-columns: 1fr; gap: var(--space-md); }
      .case-card { padding: var(--space-md); }
      .case-card__description, .case-card__services { min-height: 0; }
      .coverage-list { grid-template-columns: 1fr 1fr; }
    }

    @media (hover:hover) and (pointer:fine) and (min-width:769px) {
      .work-section { --portfolio-grid-gap:var(--spacing-portfolio-grid-wide);--portfolio-card-padding:var(--spacing-portfolio-card-wide);--portfolio-gallery-gap:var(--space-sm); }
      .case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .case-gallery__item { position:relative;overflow:visible; }
      .case-gallery__item.is-loading,
      .case-gallery__item.is-expanded { z-index:var(--gallery-hover-layer); }
      .case-gallery__progress { display:block;position:absolute;top:50%;left:50%;z-index:2;width:36px;height:36px;opacity:0;transform:translate(-50%,-50%);pointer-events:none; }
      .case-gallery__progress svg { display:block;width:100%;height:100%;overflow:visible;transform:rotate(-90deg); }
      .case-gallery__progress circle { fill:none;stroke-width:3; }
      .case-gallery__progress-track { stroke:rgba(255,255,255,.65); }
      .case-gallery__progress-fill { stroke:var(--color-brand-red);stroke-dasharray:97.39;stroke-dashoffset:97.39;stroke-linecap:round; }
      .case-gallery__item.is-loading .case-gallery__progress { opacity:1; }
      .case-gallery__item.is-loading .case-gallery__progress-fill { animation:case-gallery-hover-fill 1.5s linear forwards !important; }
      @keyframes case-gallery-hover-fill { to { stroke-dashoffset:0; } }
      .case-gallery__item::after {
        content:"";position:fixed;inset:0;z-index:var(--gallery-overlay-layer);visibility:hidden;opacity:0;pointer-events:none;
        background:var(--p-overlay);backdrop-filter:blur(var(--portfolio-overlay-blur));
        transition:opacity var(--duration-fast) var(--ease-out),visibility 0s linear var(--duration-fast);
      }
      .case-gallery__item.is-expanded::after { visibility:visible;opacity:1;transition:opacity var(--duration-fast) var(--ease-out),visibility 0s; }
      .case-gallery__item.is-expanded img {
        position:fixed;top:50%;left:50%;z-index:var(--gallery-image-layer);width:auto;height:auto;max-width:var(--gallery-image-max-width);max-height:var(--gallery-image-max-height);
        object-fit:contain;transform:var(--lightbox-center-transform);transition:none;pointer-events:none;
        box-shadow:var(--p-shadow-lightbox);
      }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }

      .ab-ring {
        animation: none !important;
      }

      .logo-marquee-track {
        animation: marquee var(--hero-marquee-duration) linear infinite !important;
      }
    }

    @media (max-width: 767px) and (prefers-reduced-motion: reduce) {
      .logo-marquee-track {
        animation-duration: var(--hero-marquee-duration-mobile) !important;
      }
    }

    /* Movimento em loop contínuo seguindo o componente de referência. */
    .testimonials-section { overflow: hidden; }
    .testimonials-section .rs-heading-center { margin-bottom: var(--space-2xl); }
    @media (min-width: 1024px) {
      .testimonials-section .rs-container { max-width: 1500px; }
    }
    .testimonials-columns {
      display: grid;
      grid-template-columns: 1fr;
      justify-content: center;
      gap: 24px;
      max-width: 1440px;
      max-height: 900px;
      height: min(900px, 86vh);
      min-height: 560px;
      margin: 2.5rem auto 0;
      overflow: hidden;
      -webkit-mask-image: linear-gradient(to bottom, transparent, #000 25%, #000 75%, transparent);
      mask-image: linear-gradient(to bottom, transparent, #000 25%, #000 75%, transparent);
    }
    .testimonials-column { min-width: 0; overflow: hidden; }
    .testimonials-column:nth-child(n + 2) { display: none; }
    .testimonials-track {
      display: flex;
      flex-direction: column;
      gap: 0;
      background: transparent;
      animation: testimonials-scroll var(--review-duration, 15s) linear infinite;
      will-change: transform;
    }
    @keyframes testimonials-scroll { to { transform: translateY(-50%); } }
    .testimonials-group {
      display: flex;
      flex-direction: column;
      gap: 24px;
      padding-bottom: 24px;
    }
    .review-card {
      align-self: center;
      width: min(100%, 360px);
      box-sizing: border-box;
      padding: 2.5rem;
      border: 1px solid #e5e5e5;
      border-radius: 24px;
      background: #fff;
      box-shadow: none;
    }
    .review-card blockquote { margin: 0 0 1.25rem; color: #171717; }
    .review-card blockquote p { margin: 0; font-size: var(--text-base); line-height: 1.65; }
    .review-card blockquote p + p { margin-top: .55em; }
    .review-card__author { display: flex; align-items: center; gap: .75rem; }
    .review-card__avatar {
      display: grid;
      flex: 0 0 48px;
      place-items: center;
      width: 48px;
      height: 48px;
      box-sizing: border-box;
      overflow: hidden;
      border: 1px solid #e5e5e5;
      border-radius: 50%;
      background: #fff;
    }
    .review-card__avatar img { display: block; width: 100%; height: 100%; padding: 3px; box-sizing: border-box; border-radius: inherit; object-fit: contain; }
    .review-card__avatar--wordmark { flex-basis: 88px; width: 88px; border-radius: 10px; }
    .review-card__author-name { display: block; color: #171717; font-size: var(--text-sm); font-weight: var(--font-weight-semibold); line-height: 1.3; }
    .review-card__business { display: block; margin-top: .15rem; color: #555; font-size: var(--text-xs); line-height: 1.3; }
    @media (min-width: 768px) {
      .testimonials-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .testimonials-column:nth-child(2) { display: block; }
    }
    @media (min-width: 1024px) {
      .testimonials-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .testimonials-column:nth-child(3) { display: block; }
    }
    @media (prefers-reduced-motion: reduce) {
      .testimonials-track {
        animation: testimonials-scroll var(--review-duration, 15s) linear infinite !important;
        transform: none;
      }
      .testimonials-mobile-stage { transition: none !important; }
      .testimonials-mobile-card { will-change: auto; }
    }

    .testimonials-mobile { display: none; }
    .testimonials-mobile-stage { position: relative; width: min(320px, calc(100vw - 48px)); min-height: 256px; padding-bottom: 28px; margin: auto; touch-action: pan-y; user-select: none; transition: height 250ms var(--ease-out); }
    .testimonials-mobile-stage::before,
    .testimonials-mobile-stage::after { position: absolute; z-index: 0; content: ""; border: 1px solid #eee; border-top: 0; border-radius: 0 0 14px 14px; background: #fff; pointer-events: none; }
    .testimonials-mobile-stage::before { top: 0; right: 5px; bottom: 20px; left: 5px; transform: translateY(12px) rotate(-2deg); opacity: .78; }
    .testimonials-mobile-stage::after { top: 0; right: 11px; bottom: 28px; left: 11px; transform: translateY(26px) rotate(-4deg); opacity: .48; }
    .testimonials-mobile-card {
      position: absolute;
      inset: 0;
      height: 256px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 16px;
      box-sizing: border-box;
      padding: 24px;
      overflow: hidden;
      border: 1px solid #eee;
      border-radius: 16px;
      background: #fff;
      box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);
      color: #171717;
      text-align: center;
      will-change: transform, opacity;
    }
    .testimonials-mobile-card[data-position="next"] { z-index: 2; }
    .testimonials-mobile-card[data-position="far"] { z-index: 1; }
    .testimonials-mobile-card[data-position="hidden"] { z-index: 0; visibility: hidden; pointer-events: none; }
    .testimonials-mobile-card[data-position="current"] { position: relative; inset: auto; z-index: 3; isolation: isolate; width: 100%; min-height: 256px; height: auto; overflow: visible; cursor: grab; }
    .testimonials-mobile-card:not([data-position="current"]) .testimonials-mobile-copy { display: none; }
    .testimonials-mobile-card.is-dragging { cursor: grabbing; }
    .testimonials-mobile-card:not([data-position="current"]) .testimonials-mobile-arrow { visibility: hidden; }
    .testimonials-mobile-avatar { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 50%; object-fit: contain; padding: 3px; box-sizing: border-box; }
    .testimonials-mobile-avatar.review-card__avatar--wordmark { width: 88px; flex-basis: 88px; height: 48px; border-radius: 10px; }
    .testimonials-mobile-name { margin: 0; font-size: 1.125rem; line-height: 1.3; font-weight: 600; }
    .testimonials-mobile-copy { width: 100%; min-height: 0; flex: 0 0 auto; margin: 0; color: #4b5563; font-size: .875rem; line-height: 1.5; user-select: text; }
    .testimonials-mobile-copy p { margin: 0; }
    .testimonials-mobile-copy p + p { margin-top: .55em; }
    .testimonials-mobile-arrow { position: absolute; z-index: 4; top: 8px; display: grid; width: 28px; height: 28px; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #a3a3a3; font: inherit; font-size: 1.5rem; cursor: pointer; }
    .testimonials-mobile-arrow:hover { color: #525252; }
    .testimonials-mobile-arrow--previous { left: 16px; }
    .testimonials-mobile-arrow--next { right: 16px; }
    .testimonials-mobile-dots { position: relative; display: flex; height: 8px; flex: 0 0 8px; align-items: center; justify-content: center; gap: 8px; margin-top: -28px; }
    .testimonials-mobile-dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #d4d4d8; cursor: pointer; }
    .testimonials-mobile-dot[aria-current="true"] { background: #3b82f6; }

    @media (max-width: 767px) {
      .testimonials-columns { display: none; }
      .testimonials-mobile { position: relative; display: flex; width: 100%; flex-direction: column; align-items: center; justify-content: flex-start; gap: 24px; margin: 2.5rem auto 0; padding-top: 16px; }

      .work-lightbox[open] {
        display: flex;
        align-items: center;
        justify-content: center;
        inset: 0;
        width: calc(100vw - var(--space-8));
        max-width: calc(100vw - var(--space-8));
        max-height: calc(100dvh - var(--space-8));
        margin: auto;
        padding: var(--space-4);
        box-sizing: border-box;
        transform: none;
      }

      .work-lightbox img {
        max-width: 100%;
        max-height: calc(100dvh - var(--space-16));
      }

      .work-lightbox__close {
        top: var(--space-2);
        right: var(--space-2);
      }
    }
    /* CONTATO: faixa de trabalhos em movimento e convite final */
    .contact-showcase {
      position: relative;
      isolation: isolate;
      display: flex;
      min-height: clamp(680px, 72vw, 760px);
      align-items: flex-start;
      justify-content: center;
      overflow: hidden;
      margin: clamp(64px, 8vw, 112px) 0;
      padding: clamp(104px, 13vw, 170px) var(--space-5) 300px;
      background: #09090b;
      text-align: center;
    }

    .contact-showcase__content {
      position: relative;
      z-index: 2;
      display: flex;
      width: min(100%, 820px);
      flex-direction: column;
      align-items: center;
      animation: contact-showcase-enter .8s cubic-bezier(.2,.75,.25,1) both;
    }

    .contact-showcase__eyebrow {
      display: inline-flex;
      min-height: 36px;
      align-items: center;
      margin-bottom: var(--space-5);
      padding: 0 var(--space-4);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: var(--radius-pill);
      background: rgba(255,255,255,.035);
      color: rgba(255,255,255,.72);
      font-size: var(--text-sm);
      font-weight: var(--font-weight-semibold);
    }

    .contact-showcase__title {
      max-width: 790px;
      margin: 0;
      color: #fff;
      font-size: clamp(2.7rem, 6.4vw, 5rem);
      font-weight: var(--font-weight-extrabold);
      letter-spacing: -.065em;
      line-height: .99;
      text-wrap: balance;
      text-shadow: 0 3px 20px rgba(0,0,0,.35);
    }

    .contact-showcase__description {
      max-width: 620px;
      margin: var(--space-6) 0 0;
      color: rgba(255,255,255,.75);
      font-size: clamp(1rem, 1.5vw, 1.15rem);
      line-height: 1.65;
      text-shadow: 0 2px 14px rgba(0,0,0,.45);
    }

    .contact-showcase__button {
      display: inline-flex;
      min-height: 54px;
      align-items: center;
      justify-content: center;
      margin-top: var(--space-7);
      padding: 0 var(--space-8);
      border: 0;
      border-radius: var(--radius-pill);
      background: var(--color-brand-red);
      box-shadow: 0 12px 30px rgba(255,0,0,.2);
      color: #fff;
      font-size: var(--text-base);
      font-weight: var(--font-weight-bold);
      text-decoration: none;
      transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
    }

    .contact-showcase__button:hover {
      transform: translateY(-2px) scale(1.025);
      background: #e91420;
      box-shadow: 0 16px 34px rgba(255,0,0,.28);
    }

    .contact-showcase__button:focus-visible,
    .site-footer a:focus-visible {
      outline: 2px solid #fff;
      outline-offset: 4px;
    }

    .contact-showcase__gallery {
      position: absolute;
      z-index: 0;
      right: 0;
      bottom: 0;
      left: 0;
      height: 43%;
      overflow: hidden;
      -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 13%, #000 79%, transparent 100%);
      mask-image: linear-gradient(to bottom, transparent 0%, #000 13%, #000 79%, transparent 100%);
      pointer-events: none;
    }

    .contact-showcase__track {
      display: flex;
      width: max-content;
      height: 100%;
      animation: contact-showcase-marquee 40s linear infinite;
      will-change: transform;
    }

    .contact-showcase__group {
      display: flex;
      height: 100%;
      align-items: flex-end;
      gap: clamp(12px, 1.5vw, 22px);
      padding-right: clamp(12px, 1.5vw, 22px);
    }

    .contact-showcase__work {
      flex: 0 0 auto;
      width: clamp(150px, 16vw, 228px);
      aspect-ratio: 3 / 4;
      margin: 0;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 16px;
      background: #17171a;
      box-shadow: 0 16px 38px rgba(0,0,0,.3);
    }

    .contact-showcase__work:nth-child(3n + 1) { transform: rotate(-2deg) translateY(8px); }
    .contact-showcase__work:nth-child(3n + 2) { transform: rotate(1.6deg) translateY(-5px); }
    .contact-showcase__work:nth-child(3n) { transform: rotate(-1deg) translateY(2px); }

    .contact-showcase__work img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    @keyframes contact-showcase-marquee {
      from { transform: translateX(-50%); }
      to { transform: translateX(0); }
    }

    @keyframes contact-showcase-enter {
      from { opacity: 0; transform: translateY(18px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .site-footer {
      padding: clamp(52px, 7vw, 84px) clamp(var(--space-5), 6vw, var(--space-12)) var(--space-6);
      border-top: 1px solid rgba(255,255,255,.09);
      background: #09090b;
      color: #fff;
    }

    .site-footer__main {
      display: grid;
      width: min(100%, 1280px);
      grid-template-columns: minmax(220px, 1.5fr) repeat(2, minmax(150px, .8fr)) minmax(200px, 1fr);
      gap: clamp(28px, 5vw, 76px);
      margin: 0 auto;
    }

    .site-footer__brand img { display: block; width: 88px; height: auto; }
    .site-footer__brand p { max-width: 290px; margin: var(--space-4) 0 0; color: rgba(255,255,255,.62); font-size: var(--text-sm); line-height: 1.65; }
    .site-footer__heading { margin: 0 0 var(--space-4); color: rgba(255,255,255,.46); font-size: var(--text-xs); font-weight: var(--font-weight-bold); letter-spacing: .09em; text-transform: uppercase; }
    .site-footer__links { display: grid; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
    .site-footer__links a { color: rgba(255,255,255,.84); font-size: var(--text-sm); text-decoration: none; transition: color .18s ease; }
    .site-footer__links a:hover { color: #fff; }
    .site-footer__socials { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
    .site-footer__social-link { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; color: rgba(255,255,255,.82); text-decoration: none; transition: color .18s ease, border-color .18s ease, background-color .18s ease; }
    .site-footer__social-link:hover { border-color: var(--color-brand-red); background: rgba(255,0,0,.1); color: #fff; }
    .site-footer__social-link svg { display: block; width: 19px; height: 19px; fill: currentColor; }
    .site-footer__contact p { margin: 0; color: rgba(255,255,255,.62); font-size: var(--text-sm); line-height: 1.55; }
    .site-footer__button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; margin-top: var(--space-4); padding: 0 var(--space-5); border: 1px solid rgba(255,255,255,.28); border-radius: var(--radius-pill); color: #fff; font-size: var(--text-sm); font-weight: var(--font-weight-semibold); text-decoration: none; transition: background .2s ease, border-color .2s ease; }
    .site-footer__button:hover { border-color: var(--color-brand-red); background: var(--color-brand-red); }
    .site-footer__bottom { display: flex; width: min(100%, 1280px); justify-content: space-between; gap: var(--space-4); margin: clamp(42px, 6vw, 72px) auto 0; padding-top: var(--space-5); border-top: 1px solid rgba(255,255,255,.09); color: rgba(255,255,255,.44); font-size: var(--text-xs); }
    .site-footer__bottom p { margin: 0; }

    @media (min-width: 768px) {
      .contact-showcase__button { margin-top: var(--space-5); }
      .contact-showcase__content { padding-bottom: var(--space-8); }
    }

    @media (max-width: 767px) {
      .contact-showcase {
        min-height: 700px;
        margin: var(--space-8) 0;
        padding: 104px var(--space-4) 260px;
      }
      .contact-showcase__eyebrow { margin-bottom: var(--space-4); font-size: var(--text-xs); }
      .contact-showcase__title { max-width: 560px; font-size: clamp(2.45rem, 10.5vw, 3.2rem); letter-spacing: -.07em; line-height: 1.02; }
      .contact-showcase__description { max-width: 430px; margin-top: var(--space-4); font-size: var(--text-sm); line-height: 1.6; }
      .contact-showcase__button { min-height: 50px; margin-top: var(--space-5); padding-inline: var(--space-6); font-size: var(--text-sm); }
      .contact-showcase__gallery { height: 37%; }
      .contact-showcase__work { width: clamp(118px, 34vw, 160px); border-radius: 12px; }
      .site-footer { padding: 52px var(--space-5) var(--space-5); }
      .site-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--space-5); }
      .site-footer__brand { grid-column: 1 / -1; }
      .site-footer__contact { grid-column: 1 / -1; }
      .site-footer__bottom { flex-direction: column; margin-top: var(--space-8); }
    }

    @media (prefers-reduced-motion: reduce) {
      .contact-showcase__content { animation: none; }
      .contact-showcase__track { animation: contact-showcase-marquee 40s linear infinite !important; }
      .contact-showcase__button,
      .site-footer__links a,
      .site-footer__button { transition: none; }
    }
