  :root {
    --bg: #ffffff;
    --bg-alt: #f5f5f6;
    --ink: #1a1a1a;
    --ink-soft: #5c5f66;
    --ink-faint: #8b8e94;
    --line: #e6e6e8;
    --accent: #e8632c;
    --accent-dark: #c94f1f;
    --accent-soft: #fbe4d7;
    --accent-ink: #ffffff;
    --dark: #141414;
    --dark-2: #1e1e1e;
    --good: #1f8a4c;
    --good-ink: #ffffff;
    --good-soft: #e6f4ea;
    --hero-bg: #eef2f6;
    --shadow: 0 1px 2px rgba(0,0,0,.05), 0 10px 30px rgba(0,0,0,.08);
  }
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
      --bg: #17181a; --bg-alt: #1e1f22; --ink: #f0f0f1; --ink-soft: #b7b9bd;
      --ink-faint: #85888e; --line: #2c2e32; --accent: #f07c46; --accent-dark: #e8632c;
      --accent-soft: #3a2416; --accent-ink: #171008; --dark: #0d0d0e; --dark-2: #151517;
      --good: #4cbf7d; --good-ink: #0c1b12; --good-soft: #163024; --hero-bg: #1a1d22; --shadow: 0 1px 2px rgba(0,0,0,.4), 0 12px 32px rgba(0,0,0,.5);
    }
  }
  :root[data-theme="dark"] {
    --bg: #17181a; --bg-alt: #1e1f22; --ink: #f0f0f1; --ink-soft: #b7b9bd;
    --ink-faint: #85888e; --line: #2c2e32; --accent: #f07c46; --accent-dark: #e8632c;
    --accent-soft: #3a2416; --accent-ink: #171008; --dark: #0d0d0e; --dark-2: #151517;
    --good: #4cbf7d; --good-ink: #0c1b12; --good-soft: #163024; --hero-bg: #1a1d22; --shadow: 0 1px 2px rgba(0,0,0,.4), 0 12px 32px rgba(0,0,0,.5);
  }
  * { box-sizing: border-box; }
  html { overflow-anchor: none; }
  section[id], div[id] { scroll-margin-top: 96px; }
  body { margin: 0; background: var(--bg); color: var(--ink); font-family: -apple-system,"Segoe UI",Roboto,system-ui,sans-serif; -webkit-font-smoothing: antialiased; }
  .wrap { max-width: 1180px; margin: 0 auto; padding: 0 28px; }
  @media (max-width: 480px) { .wrap { padding: 0 18px; } }
  a { color: inherit; }
  h1, h2, h3, h4 { text-wrap: balance; margin: 0; }
  img { display: block; max-width: 100%; }
  button { font-family: inherit; }

  .protonote { background: var(--bg-alt); border-bottom: 1px solid var(--line); color: var(--ink-faint); font-size: .8rem; padding: 9px 0; }
  .protonote .wrap { display: flex; gap: 8px; flex-wrap: wrap; }
  .protonote strong { color: var(--ink-soft); }

  header.site { position: sticky; top: 0; z-index: 40; background: var(--bg); border-bottom: 1px solid var(--line); transition: background .3s ease, border-color .3s ease; }
  body.home-page header.site { position: absolute; left: 0; right: 0; background: transparent; border-bottom-color: transparent; }
  body.home-page header.site.scrolled { position: fixed; background: var(--dark); border-bottom-color: transparent; }
  body.home-page header.site .navlinks a { color: rgba(255,255,255,.9); }
  body.home-page header.site .navlinks a:hover { color: #fff; }
  body.home-page header.site .navlinks .cur { color: var(--accent); }
  body.home-page header.site .navtoggle span { background: #fff; }
  body.home-page.in-detail header.site,
  body.home-page.in-detail header.site.scrolled {
    position: sticky; top: 0; background: var(--dark); border-bottom-color: transparent;
  }
  body.home-page.in-detail header.site .navlinks a { color: rgba(255,255,255,.9); }
  body.home-page.in-detail header.site .navlinks a:hover { color: #fff; }
  body.home-page.in-detail header.site .navlinks .cur { color: var(--accent); }
  body.home-page.in-detail header.site .navtoggle span { background: #fff; }
  .nav { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; gap: 24px; }
  .logo { display: flex; align-items: center; gap: 9px; cursor: pointer; }
  .logo-mark { width: 34px; height: 34px; flex-shrink: 0; }
  .logo { display: flex; flex-direction: column; align-items: center; gap: 2px; }
  .logo-badge { display: inline-flex; align-items: center; }
  .logo-badge img { height: 150px; width: auto; object-fit: contain; display: block; }
  @media (max-width: 460px) { .logo-badge img { height: 100px; } }
  footer .logo-badge { background: #fff; border-radius: 8px; padding: 8px 12px; }
  footer .logo-badge img { height: 110px; }
  .logo-word { display: flex; flex-direction: column; line-height: 1; }
  .logo-word b { font-size: 1.28rem; font-weight: 800; letter-spacing: -0.01em; }
  .logo-word b .vic { color: var(--ink); }
  .logo-word b .motors { color: var(--accent); }
  .logo-word small { font-size: .56rem; font-weight: 700; letter-spacing: .16em; color: var(--ink-faint); margin-top: 2px; }
  footer .logo-word b .vic { color: #fff; }
  .navlinks { display: flex; gap: 26px; font-size: .92rem; font-weight: 600; color: var(--ink-soft); list-style: none; margin: 0; padding: 0; }
  .navlinks a { text-decoration: none; }
  .navlinks a:hover { color: var(--ink); }
  .navlinks .cur { color: var(--accent); }
  .navtoggle { display: none; background: none; border: none; padding: 6px; cursor: pointer; }
  .navtoggle span { display: block; width: 22px; height: 2px; background: var(--ink); margin: 5px 0; transition: transform .2s ease, opacity .2s ease; }
  .navtoggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .navtoggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .navtoggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .navlinks-mobile { display: none; }
  @media (max-width: 820px) {
    .navlinks { display: none; }
    .navtoggle { display: block; }
    .navlinks-mobile.open {
      display: flex; flex-direction: column; gap: 2px; position: absolute; left: 0; right: 0; top: 100%;
      background: var(--bg); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); padding: 8px 0 14px;
    }
    .navlinks-mobile a { padding: 12px 28px; font-size: .96rem; font-weight: 600; color: var(--ink-soft); text-decoration: none; }
    .navlinks-mobile a:hover { color: var(--ink); background: var(--bg-alt); }
    .navlinks-mobile .cur { color: var(--accent); }
  }
  @media (max-width: 460px) {
    .nav { flex-wrap: wrap; row-gap: 10px; }
    .nav .btn-accent { padding: 10px 14px; font-size: .8rem; }
    .logo-word small { display: none; }
  }
  .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 4px; padding: 13px 22px; font-size: .9rem; font-weight: 700; text-decoration: none; border: 1.5px solid transparent; cursor: pointer; }
  .btn-accent { background: var(--accent); color: var(--accent-ink); }
  .btn-outline { background: transparent; color: var(--ink); border-color: var(--ink); }
  .btn-good { background: var(--good); color: var(--good-ink); }
  .btn-block { width: 100%; }

  /* ---------- hero: full-bleed dark photo with text straight on top ---------- */
  .hero { position: relative; padding: 0; }
  .hero-photobox { position: relative; height: 680px; overflow: hidden; }
  .hero-photobox > img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .hero-scrim { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(8,8,8,.74) 0%, rgba(8,8,8,.54) 40%, rgba(8,8,8,.26) 68%, rgba(8,8,8,.34) 100%); }
  .hero-content {
    position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: center;
    max-width: 660px; padding: 0 max(28px, calc((100vw - 1360px) / 2 + 28px));
  }
  .eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #ffcda3; margin-bottom: 18px; text-shadow: 0 2px 10px rgba(0,0,0,.7); }
  .eyebrow::before, .eyebrow::after { content: ""; width: 22px; height: 2px; background: #ffcda3; }
  h1.hero-h { font-size: clamp(2.3rem, 4.6vw, 3.5rem); line-height: 1.1; font-weight: 800; margin-bottom: 20px; color: #fff; text-shadow: 0 2px 16px rgba(0,0,0,.7), 0 1px 4px rgba(0,0,0,.6); }
  h1.hero-h .l2 { color: var(--accent); }
  .hero-sub { font-size: 1.02rem; color: #e3e4e6; line-height: 1.6; margin-bottom: 30px; max-width: 560px; text-shadow: 0 2px 12px rgba(0,0,0,.7); }
  .hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; }
  .hero-ctas .btn { padding: 15px 28px; border-radius: 999px; font-size: .95rem; }
  .hero-scroll-hint {
    position: absolute; right: 26px; bottom: 34px; z-index: 2; display: flex; align-items: center; gap: 10px;
    color: #fff; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
    writing-mode: vertical-rl;
  }
  .hero-scroll-hint::after { content: ""; width: 2px; height: 40px; background: rgba(255,255,255,.5); }
  @media (max-width: 900px) {
    .hero-photobox { height: 620px; }
    .hero-content { max-width: none; padding: 0 20px 40px; justify-content: flex-end; }
    .hero-scroll-hint { display: none; }
    .hero-scrim { background: linear-gradient(180deg, rgba(8,8,8,.12) 0%, rgba(8,8,8,.2) 40%, rgba(8,8,8,.55) 68%, rgba(8,8,8,.86) 100%); }
    h1.hero-h { font-size: clamp(1.9rem, 6vw, 2.4rem); }
    .hero-sub { font-size: .92rem; max-width: none; }
  }
  @media (max-width: 480px) {
    .hero-photobox { height: 580px; }
    .hero-ctas { gap: 10px; }
    .hero-ctas .btn { flex: 1 1 0; padding: 13px 14px; font-size: .86rem; }
  }

  .searchbar {
    position: relative; z-index: 2; background: var(--dark); border-radius: 10px; box-shadow: var(--shadow);
    padding: 26px 28px; margin-top: -54px;
  }
  .searchbar-title { font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #fff; margin-bottom: 18px; }
  .searchbar-fields { display: grid; grid-template-columns: repeat(4,1fr) auto; gap: 16px; align-items: end; }
  @media (max-width: 900px) { .searchbar-fields { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) {
    .searchbar { margin-top: 0; padding: 22px 18px; border-radius: 0; }
    .searchbar-fields { grid-template-columns: 1fr; }
    .searchbar .btn { width: 100%; }
  }
  .field { display: flex; flex-direction: column; gap: 7px; }
  .field label { font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; color: #9a9ea5; font-weight: 700; }
  .field select { appearance: none; background: #fff; border: 1px solid #fff; border-radius: 5px; padding: 11px 34px 11px 12px; color: var(--ink); font-size: .9rem; font-family: inherit;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235c5f66' stroke-width='1.5' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 12px center;
  }
  .searchbar .btn { padding: 12px 18px; }
  .advlink { grid-column: 1 / -1; text-align: right; font-size: .78rem; color: #9a9ea5; text-decoration: none; margin-top: -4px; }

  section { padding: 70px 0; }
  @media (max-width: 600px) { section { padding: 48px 0; } }
  .duo-wrap { background: var(--bg-alt); }
  #loja { padding: 0; }
  #loja > .wrap { padding: 70px 0; }
  @media (max-width: 600px) { #loja > .wrap { padding: 48px 0; } }
  .section-head { text-align: center; max-width: 620px; margin: 0 auto 36px; }
  .estoque-head { text-align: left; max-width: none; margin: 0 0 36px; }
  .kicker { display: inline-flex; align-items: center; gap: 10px; font-size: .78rem; font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 12px; }
  .kicker::before, .kicker::after { content: ""; width: 22px; height: 2px; background: var(--accent); }
  h2.section-h { font-size: clamp(1.6rem, 3vw, 2.15rem); font-weight: 800; margin-bottom: 0; }

  .tabs { display: flex; gap: 8px; justify-content: center; margin-bottom: 34px; flex-wrap: wrap; }
  .tabs button { border: 1.5px solid var(--line); background: var(--bg); padding: 9px 18px; font-size: .85rem; font-weight: 700; color: var(--ink-soft); border-radius: 24px; cursor: pointer; }
  .tabs button[aria-selected="true"] { background: var(--accent); color: #fff; border-color: var(--accent); }

  .fleet { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
  @media (max-width: 980px) { .fleet { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { .fleet { grid-template-columns: 1fr; } }
  .car { background: var(--bg); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; box-shadow: var(--shadow); cursor: pointer; }
  .car.hide { display: none; }
  .car-photo { aspect-ratio: 4/3; position: relative; background: var(--bg-alt); overflow: hidden; }
  .car-photo img { width: 100%; height: 100%; object-fit: cover; }
  .car-badge { position: absolute; top: 10px; left: 10px; background: var(--dark); color: #fff; font-size: .68rem; font-weight: 700; padding: 4px 9px; border-radius: 4px; }
  .car-body { padding: 16px 16px 18px; }
  .car-body h3 { font-size: .98rem; font-weight: 700; margin-bottom: 8px; }
  .car-meta { display: flex; gap: 12px; font-size: .76rem; color: var(--ink-faint); margin-bottom: 12px; }
  .car-price { font-size: 1.2rem; font-weight: 800; margin-bottom: 10px; }
  .car-link { font-size: .82rem; font-weight: 700; color: var(--accent); text-decoration: none; background: none; border: none; padding: 0; cursor: pointer; }

  .estoque-foot { text-align: center; margin-top: 32px; }
  .estoque-foot a.btn { border-radius: 999px; padding: 14px 32px; }

  .credito { background: var(--dark); color: #fff; border-radius: 12px; padding: 46px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 44px; align-items: center; }
  @media (max-width: 860px) { .credito { grid-template-columns: 1fr; padding: 32px 24px; } }
  .credito .kicker { color: var(--accent); }
  .credito h2 { font-size: clamp(1.5rem,3vw,2rem); font-weight: 800; margin-bottom: 14px; color: #fff; }
  .credito p { color: #b8b9bc; max-width: 40ch; line-height: 1.55; margin-bottom: 0; }
  .sim { background: #fff; color: var(--ink); border-radius: 10px; padding: 24px; }
  .sim-label { display: flex; justify-content: space-between; font-size: .78rem; color: var(--ink-faint); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 8px; }
  .sim-val { font-weight: 800; color: var(--ink); }
  input[type=range] { width: 100%; accent-color: var(--accent); margin: 6px 0 18px; }
  .sim-range-labels { display: flex; justify-content: space-between; font-size: .72rem; color: var(--ink-faint); margin-top: -12px; margin-bottom: 18px; }
  .sim-result { background: var(--bg-alt); border-radius: 8px; padding: 16px 18px; display: flex; justify-content: space-between; align-items: baseline; }
  .sim-result .lbl { font-size: .78rem; color: var(--ink-faint); }
  .sim-result .amt { font-size: 1.6rem; font-weight: 800; color: var(--accent); }

  .why-belloni { background: var(--bg-alt); padding: 64px 0; }
  .why-belloni .section-head { text-align: left; max-width: none; margin: 0 0 36px; }
  .why-belloni-h { font-size: clamp(2.1rem, 4.2vw, 3.2rem); line-height: 1.15; max-width: 46ch; margin: 0 0 18px; text-wrap: initial; }
  .why-belloni-sub { max-width: 46ch; margin: 0; color: var(--ink-soft); font-size: 1.05rem; line-height: 1.6; }
  .why-cards-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 44px; }
  @media (max-width: 900px) { .why-cards-grid { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { .why-cards-grid { grid-template-columns: 1fr; } }
  .why-card { background: var(--bg); border-radius: 12px; padding: 30px 26px; box-shadow: var(--shadow); }
  .why-card-ico { width: 46px; height: 46px; border-radius: 10px; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
  .why-card-ico svg { width: 22px; height: 22px; }
  .why-card h4 { font-size: 1.05rem; margin-bottom: 8px; }
  .why-card p { font-size: .88rem; color: var(--ink-soft); line-height: 1.55; margin: 0; }

  .reveal-card { opacity: 0; transform: translateY(22px); transition: opacity .55s ease, transform .55s ease; }
  .reveal-card.in-view { opacity: 1; transform: translateY(0); }
  .why-cards-grid .reveal-card:nth-child(1) { transition-delay: 0s; }
  .why-cards-grid .reveal-card:nth-child(2) { transition-delay: .08s; }
  .why-cards-grid .reveal-card:nth-child(3) { transition-delay: .16s; }
  .why-cards-grid .reveal-card:nth-child(4) { transition-delay: .24s; }
  .why-cards-grid .reveal-card:nth-child(5) { transition-delay: .32s; }
  .why-cards-grid .reveal-card:nth-child(6) { transition-delay: .4s; }
  @media (prefers-reduced-motion: reduce) { .reveal-card { opacity: 1; transform: none; transition: none; } }
  .why-card.reveal-card { transition: opacity .55s ease, transform .55s ease, box-shadow .2s ease; }
  .why-card:hover { transform: translateY(-4px); box-shadow: 0 4px 8px rgba(0,0,0,.06), 0 16px 32px rgba(0,0,0,.12); }

  /* ---------- site-wide light scroll reveal ---------- */
  .reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
  .reveal.in-view { opacity: 1; transform: translateY(0); }
  .why-band .reveal:nth-child(1) { transition-delay: 0s; }
  .why-band .reveal:nth-child(2) { transition-delay: .08s; }
  .why-band .reveal:nth-child(3) { transition-delay: .16s; }
  .why-band .reveal:nth-child(4) { transition-delay: .24s; }
  .duo .reveal:nth-child(1) { transition-delay: 0s; }
  .duo .reveal:nth-child(2) { transition-delay: .12s; }
  .loja .reveal:nth-child(1) { transition-delay: 0s; }
  .loja .reveal:nth-child(2) { transition-delay: .12s; }
  .fleet .reveal:nth-child(1) { transition-delay: 0s; }
  .fleet .reveal:nth-child(2) { transition-delay: .06s; }
  .fleet .reveal:nth-child(3) { transition-delay: .12s; }
  .fleet .reveal:nth-child(4) { transition-delay: .18s; }
  .fleet .reveal:nth-child(5) { transition-delay: .24s; }
  .fleet .reveal:nth-child(6) { transition-delay: .3s; }
  @media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } }

  /* ---------- hero entrance animation ---------- */
  .hero-content > * { opacity: 0; animation: heroFadeUp .7s ease forwards; }
  .hero-content .eyebrow { animation-delay: .05s; }
  .hero-content .hero-h { animation-delay: .16s; }
  .hero-content .hero-sub { animation-delay: .3s; }
  .hero-content .hero-ctas { animation-delay: .42s; }
  @keyframes heroFadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
  @media (prefers-reduced-motion: reduce) { .hero-content > * { animation: none; opacity: 1; } }

  .why-band { background: var(--dark); padding: 44px 0; }
  .why-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; }
  @media (max-width: 900px) { .why-grid { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { .why-grid { grid-template-columns: 1fr; } }
  .why-item { display: flex; align-items: flex-start; gap: 14px; text-align: left; padding: 8px; }
  .why-ico-wrap { width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,.08); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .why-ico-wrap svg { width: 22px; height: 22px; color: var(--accent); }
  .why-item h4 { font-size: .94rem; margin-bottom: 6px; color: #fff; }
  .why-item p { font-size: .82rem; color: #a9abb0; line-height: 1.5; margin: 0; }

  .duo { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
  @media (max-width: 860px) { .duo { grid-template-columns: 1fr; } }
  .duo-card { border-radius: 12px; position: relative; overflow: hidden; min-height: 300px; display: flex; flex-direction: column; justify-content: center; padding: 40px 34px; }
  .duo-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
  .duo-scrim { position: absolute; inset: 0; z-index: 1; }
  .duo-card.dark .duo-scrim { background: linear-gradient(100deg, rgba(10,10,10,.92) 10%, rgba(10,10,10,.55) 60%, rgba(10,10,10,.2) 100%); }
  .duo-card.light .duo-scrim { background: linear-gradient(100deg, rgba(255,255,255,.95) 15%, rgba(255,255,255,.72) 55%, rgba(255,255,255,.25) 100%); }
  .duo-card .content { position: relative; z-index: 2; }
  .duo-card.dark { color: #fff; }
  .duo-card.light { color: var(--ink); }
  .duo-card .kicker { margin-bottom: 14px; }
  .duo-card h3 { font-size: clamp(1.2rem,2.4vw,1.55rem); font-weight: 800; line-height: 1.15; margin-bottom: 12px; max-width: 20ch; }
  .duo-card p { font-size: .9rem; max-width: 32ch; line-height: 1.55; margin-bottom: 20px; }
  .duo-card.dark p { color: #cfd0d3; }
  .duo-card.light p { color: var(--ink-soft); }

  .perks-ticker { background: var(--dark); padding: 18px 0; overflow: hidden; }
  .perks-ticker .marquee-group { gap: 0; padding-right: 0; }
  .perk-item { display: inline-flex; align-items: center; gap: 10px; padding: 0 1.6rem; white-space: nowrap; color: #fff; font-size: .88rem; font-weight: 700; }
  .perk-item .perk-ico { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 6px; background: var(--accent); flex-shrink: 0; }
  .perk-item .perk-ico svg { width: 14px; height: 14px; color: #fff; }
  .perk-sep { color: var(--accent); font-size: 1.1rem; flex-shrink: 0; }

  .brands { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--bg-alt); padding: 56px 0; }
  .brands-head { text-align: center; font-size: .74rem; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-faint); font-weight: 700; margin-bottom: 30px; }
  .marquee-wrap {
    overflow: hidden; width: 100%;
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
  }
  .marquee-track { display: flex; width: max-content; animation: marquee 26s linear infinite; }
  .marquee-wrap:hover .marquee-track { animation-play-state: paused; }
  .marquee-group { display: flex; align-items: center; gap: 3.2rem; padding-right: 3.2rem; flex-shrink: 0; }
  @keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-25%); } }
  .brand-logo { height: 34px; width: auto; max-width: 110px; object-fit: contain; flex-shrink: 0; filter: grayscale(1) opacity(.45); transition: filter .2s ease; }
  .brand-logo:hover { filter: grayscale(0) opacity(1); }
  @media (prefers-reduced-motion: reduce) { .marquee-track { animation: none; } }

  .reviews-head { text-align: center; margin-bottom: 40px; }
  .rating-pill { display: inline-flex; align-items: center; gap: 8px; background: var(--bg-alt); border-radius: 20px; padding: 8px 16px; margin-top: 14px; font-size: .85rem; font-weight: 700; }
  .stars { display: flex; gap: 2px; color: var(--accent); }
  .stars svg { width: 14px; height: 14px; }
  .rev-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
  @media (max-width: 860px) { .rev-grid { grid-template-columns: 1fr; } }
  .rev-card { border: 1px solid var(--line); border-radius: 10px; padding: 24px; background: var(--bg); }
  .rev-card .stars { margin-bottom: 12px; }
  .rev-card p { font-size: .88rem; color: var(--ink-soft); line-height: 1.6; font-style: italic; margin: 0 0 14px; }
  .rev-card .who { font-size: .8rem; font-weight: 700; color: var(--ink); }
  .rev-example-tag { font-size: .68rem; color: var(--ink-faint); text-transform: uppercase; letter-spacing: .05em; margin-top: 6px; }

  .showroom-hero { position: relative; height: 640px; overflow: hidden; display: flex; align-items: center; justify-content: center; margin-bottom: 64px; }
  .showroom-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .showroom-scrim { position: absolute; inset: 0; background: rgba(10,10,10,.42); }
  .showroom-hero-h {
    position: relative; z-index: 3; color: #fff; font-size: clamp(2.4rem, 5.6vw, 4.1rem); font-weight: 800;
    text-align: center; line-height: 1.15; text-shadow: 0 2px 20px rgba(0,0,0,.6); pointer-events: none; margin: 0;
    transition: opacity .35s ease;
  }
  .showroom-window {
    position: absolute; z-index: 2; inset: 21% 39%; border-radius: 12px; overflow: hidden; border: 4px solid rgba(255,255,255,.9);
    box-shadow: 0 20px 50px rgba(0,0,0,.55); cursor: pointer;
    transition: inset .65s cubic-bezier(.65,0,.35,1), border-radius .65s ease, border-width .5s ease;
  }
  .showroom-hero.expanded .showroom-window { inset: 0; border-radius: 0; border-width: 0; }
  .showroom-window-track { position: relative; width: 100%; height: 100%; }
  .showroom-window-track img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .9s ease; }
  .showroom-window-track img.active { opacity: 1; }
  .showroom-dots { position: absolute; bottom: 14px; left: 0; right: 0; z-index: 3; display: flex; justify-content: center; gap: 6px; }
  .showroom-dots span { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.5); transition: width .2s ease, background .2s ease; }
  .showroom-dots span.active { background: #fff; width: 18px; border-radius: 4px; }
  .showroom-scroll-hint {
    position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 1;
    display: flex; flex-direction: column; align-items: center; gap: 6px; color: #fff;
    font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; text-shadow: 0 1px 8px rgba(0,0,0,.6);
    transition: opacity .35s ease;
  }
  .showroom-scroll-hint svg { width: 18px; height: 18px; }
  .showroom-hero.expanded .showroom-hero-h, .showroom-hero.expanded .showroom-scroll-hint { opacity: 0; }
  @media (max-width: 760px) {
    .showroom-hero { height: 520px; }
    .showroom-window { inset: 26% 22%; }
  }
  @media (prefers-reduced-motion: reduce) { .showroom-window, .showroom-window-track img, .showroom-hero-h, .showroom-scroll-hint { transition: none; } }

  .loja { display: grid; grid-template-columns: .95fr 1.05fr; gap: 40px; align-items: stretch; }
  @media (max-width: 900px) { .loja { grid-template-columns: 1fr; } }
  .loja-card { background: var(--bg-alt); border-radius: 10px; padding: 30px; display: flex; flex-direction: column; gap: 20px; }
  .loja-row { display: flex; align-items: flex-start; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); }
  .loja-row:last-of-type { border-bottom: none; }
  .loja-ico { flex-shrink: 0; width: 38px; height: 38px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-dark); display: flex; align-items: center; justify-content: center; }
  .loja-ico svg { width: 19px; height: 19px; }
  .loja-row b { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-faint); margin-bottom: 5px; font-weight: 700; }
  .loja-row span { font-size: .95rem; font-weight: 600; color: var(--ink); }
  .maptile { border-radius: 10px; overflow: hidden; position: relative; min-height: 320px; background: var(--bg-alt); }
  .maptile iframe { width: 100%; height: 100%; position: absolute; inset: 0; border: 0; }
  .tour-badge { position: absolute; top: 16px; left: 16px; background: #fff; border-radius: 8px; box-shadow: var(--shadow); padding: 10px 14px; display: flex; align-items: center; gap: 8px; font-size: .78rem; font-weight: 700; color: var(--ink); }
  .tour-badge svg { width: 16px; height: 16px; color: var(--accent); }
  .gmb-badge { position: absolute; bottom: 16px; left: 16px; right: 16px; background: #fff; border-radius: 8px; box-shadow: var(--shadow); padding: 12px 16px; display: flex; gap: 10px; align-items: center; }
  .gmb-badge .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--good); flex-shrink: 0; }
  .gmb-badge b { font-size: .82rem; display: block; }
  .gmb-badge span { font-size: .72rem; color: var(--ink-faint); }

  footer.site { background: var(--dark); color: #d6d7da; padding: 54px 0 30px; }
  .foot-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 40px; }
  @media (max-width: 760px) { .foot-grid { grid-template-columns: 1fr; } }
  .foot-logo { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-bottom: 16px; }
  .foot-grid p { font-size: .88rem; color: #9a9ea5; line-height: 1.5; max-width: 32ch; margin: 0 0 16px; }
  .soc { display: flex; gap: 10px; }
  .soc a { width: 34px; height: 34px; border-radius: 50%; border: 1px solid #333; display: flex; align-items: center; justify-content: center; text-decoration: none; }
  .soc svg { width: 15px; height: 15px; color: #d6d7da; }
  .foot-grid h5 { font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: #7d8087; margin: 0 0 16px; }
  .foot-grid ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
  .foot-grid ul a { font-size: .9rem; color: #d6d7da; text-decoration: none; }
  .foot-grid ul a:hover { color: #fff; }
  .foot-bottom { margin-top: 44px; padding-top: 20px; border-top: 1px solid #2a2a2a; display: flex; justify-content: space-between; font-size: .78rem; color: #7d8087; flex-wrap: wrap; gap: 10px; }

  /* ---------- product detail page ---------- */
  #detalheView { display: none; }
  .crumbs { font-size: .82rem; color: var(--ink-faint); padding: 22px 0 4px; }
  .crumbs a { text-decoration: none; color: var(--ink-faint); }
  .crumbs a:hover { color: var(--ink); }
  .crumbs .cur { color: var(--ink); font-weight: 600; }
  .backlink { display: inline-flex; align-items: center; gap: 6px; font-size: .85rem; font-weight: 700; text-decoration: none; color: var(--ink-soft); margin: 6px 0 26px; background: none; border: none; cursor: pointer; padding: 0; }
  .backlink:hover { color: var(--ink); }
  .detail-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: start; }
  @media (max-width: 900px) { .detail-grid { grid-template-columns: 1fr; } }
  .detail-main-photo { position: relative; border-radius: 10px; overflow: hidden; aspect-ratio: 4/3; background: var(--bg-alt); }
  .detail-main-photo img { width: 100%; height: 100%; object-fit: cover; }
  .photo-nav {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
    width: 40px; height: 40px; border-radius: 50%; border: none; background: rgba(20,20,20,.55); color: #fff;
    display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .15s ease;
  }
  .photo-nav:hover { background: rgba(20,20,20,.8); }
  .photo-nav svg { width: 20px; height: 20px; }
  .photo-nav.prev { left: 12px; }
  .photo-nav.next { right: 12px; }
  .photo-count {
    position: absolute; right: 12px; bottom: 12px; z-index: 2; background: rgba(20,20,20,.6); color: #fff;
    font-size: .74rem; font-weight: 700; padding: 4px 10px; border-radius: 20px;
  }
  .outros-section { margin-top: 48px; padding-top: 40px; border-top: 1px solid var(--line); }
  .outros-section h3 { font-size: 1.3rem; margin-bottom: 22px; }
  .thumbs { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 12px; }
  .thumbs button { padding: 0; border-radius: 6px; overflow: hidden; aspect-ratio: 4/3; border: 2px solid transparent; cursor: pointer; background: var(--bg-alt); }
  .thumbs button.active { border-color: var(--accent); }
  .thumbs img { width: 100%; height: 100%; object-fit: cover; }
  .detail-panel { background: var(--bg); border: 1px solid var(--line); border-radius: 10px; padding: 26px; box-shadow: var(--shadow); position: sticky; top: 90px; }
  @media (max-width: 900px) { .detail-panel { position: static; } }
  .detail-kicker { display: inline-flex; align-items: center; gap: 10px; font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); margin-bottom: 12px; }
  .detail-kicker::before { content: ""; width: 18px; height: 2px; background: var(--accent); }
  .detail-panel h2 { font-size: 1.4rem; font-weight: 800; margin-bottom: 4px; }
  .detail-panel .sub { font-size: .88rem; color: var(--ink-faint); margin-bottom: 18px; }
  .valor-label { font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 4px; }
  .detail-price { font-size: 1.9rem; font-weight: 800; margin-bottom: 18px; }
  .quick-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 20px; }
  .quick-spec-item { display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; }
  .quick-spec-ico { width: 32px; height: 32px; border-radius: 6px; background: var(--accent-soft); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
  .quick-spec-ico svg { width: 16px; height: 16px; color: var(--accent-dark); }
  .quick-spec-label { font-size: .66rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-faint); }
  .quick-spec-value { font-size: .86rem; font-weight: 700; color: var(--ink); }
  .detail-panel .btn { margin-bottom: 10px; }
  .verified-line { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 14px; }
  .verified-line span { display: flex; align-items: center; gap: 6px; font-size: .78rem; color: var(--ink-faint); }
  .verified-line svg { width: 14px; height: 14px; color: var(--good); flex-shrink: 0; }

  .specs-section { margin-top: 54px; }
  .specs-section h3 { font-size: 1.15rem; font-weight: 800; margin-bottom: 20px; }
  .specs-table { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
  @media (max-width: 700px) { .specs-table { grid-template-columns: repeat(2,1fr); } }
  .spec-cell { background: var(--bg); padding: 16px 18px; }
  .spec-cell b { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-faint); margin-bottom: 6px; }
  .spec-cell span { font-size: .96rem; font-weight: 600; }

  .itens-section { margin-top: 44px; }
  .itens-section h3 { font-size: 1.15rem; font-weight: 800; margin-bottom: 18px; }
  .descricao-section { margin-top: 44px; padding-top: 36px; border-top: 1px solid var(--line); }
  .descricao-section h3 { font-size: 1.15rem; font-weight: 800; margin-bottom: 14px; }
  .descricao-section p { font-size: .94rem; color: var(--ink-soft); line-height: 1.7; max-width: 74ch; margin: 0; }
  .itens-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px 24px; }
  @media (max-width: 700px) { .itens-grid { grid-template-columns: 1fr 1fr; } }
  .item-row { display: flex; align-items: flex-start; gap: 10px; font-size: .9rem; color: var(--ink-soft); }
  .item-row svg { width: 16px; height: 16px; color: var(--accent); flex-shrink: 0; margin-top: 2px; }

  @media (prefers-reduced-motion: no-preference) {
    .car { transition: transform .15s ease; }
    .car:hover { transform: translateY(-3px); }
  }

  .whatsapp-float {
    position: fixed; right: 22px; bottom: 22px; z-index: 60;
    width: 58px; height: 58px; border-radius: 50%; background: #25D366;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 18px rgba(0,0,0,.28); transition: transform .15s ease, box-shadow .15s ease;
  }
  .whatsapp-float svg { width: 30px; height: 30px; }
  .whatsapp-float:hover { transform: scale(1.07); box-shadow: 0 8px 22px rgba(0,0,0,.34); }
  @media (max-width: 480px) { .whatsapp-float { right: 16px; bottom: 16px; width: 52px; height: 52px; } .whatsapp-float svg { width: 27px; height: 27px; } }

  .pillars-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
  @media (max-width: 760px) { .pillars-grid { grid-template-columns: 1fr; } }
  .pillar-card { border: 1px solid var(--line); border-radius: 12px; padding: 28px 24px; background: var(--bg); }
  .pillar-num { font-size: .8rem; font-weight: 800; color: var(--accent); letter-spacing: .08em; margin-bottom: 10px; }
  .pillar-card h4 { font-size: 1.1rem; margin: 0 0 8px; }
  .pillar-card p { font-size: .9rem; color: var(--ink-soft); line-height: 1.55; margin: 0; }

  .founder-big { position: relative; background: var(--dark); min-height: 760px; overflow: hidden; display: flex; align-items: stretch; }
  .founder-big-photo { position: absolute; inset: 0; width: 46%; }
  .founder-big-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
  .founder-big-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 60%, var(--dark) 100%); }
  .founder-big-grid { display: grid; grid-template-columns: 46% 1fr; align-items: center; width: 100%; padding: 64px 0; position: relative; z-index: 1; }
  .founder-big-content { color: #fff; padding-left: 24px; }
  .founder-big .kicker { color: var(--accent); }
  .founder-big-name { font-size: clamp(2.2rem, 4.4vw, 3.4rem); font-weight: 800; margin: 0 0 26px; color: #fff; }
  .founder-big-quote {
    margin: 0 0 30px; padding-left: 22px; border-left: 3px solid var(--accent);
    font-size: 1.2rem; line-height: 1.6; color: #e4e5e7; max-width: 54ch;
  }
  .founder-big-quote .hl { color: var(--accent); font-weight: 700; }
  .founder-big-sig { display: flex; align-items: center; gap: 14px; }
  .founder-avatar { width: 46px; height: 46px; border-radius: 50%; object-fit: contain; object-position: center; flex-shrink: 0; background: #fff; padding: 5px; }
  .founder-big .founder-name { font-weight: 800; font-size: 1.05rem; color: #fff; }
  .founder-big .founder-role { font-size: .85rem; color: #a9abb0; margin-top: 2px; }
  @media (max-width: 900px) {
    .founder-big { min-height: 0; flex-direction: column; }
    .founder-big-photo { position: relative; width: 100%; height: 340px; flex-shrink: 0; }
    .founder-big-photo::after { background: linear-gradient(180deg, transparent 55%, var(--dark) 100%); }
    .founder-big-grid { grid-template-columns: 1fr; padding: 0 0 44px; }
    .founder-big-grid > div:first-child { display: none; }
    .founder-big-content { padding: 0 20px; }
  }
