/* Home iVOOX, direção humana e acolhedora, inspirada na referência aprovada. */
.home-page {
  --navy: #13162A;
  --navy-deep: #13162A;
  --navy-soft: #13162A;
  --home-bg: #eef0f8;
  --home-surface: #ffffff;
  --home-warm: #eef0f8;
  --home-ink: #13162A;
  --home-muted: #13162A;
  --home-line: #dfe4ee;
  --home-shadow: 0 20px 60px rgba(23, 50, 77, .09);
  --font-display: "Poppins", system-ui, sans-serif;
  --font-cond: "Poppins", system-ui, sans-serif;
  --font-mono: "Poppins", system-ui, sans-serif;
  --maxw: 1240px;
  --radius: 22px;
  background: var(--home-bg);
  color: var(--home-ink);
  font-family: "Poppins", system-ui, sans-serif;
  font-size: 17px;
}

.home-page::before { display: none; }
.home-page main { overflow: hidden; }
.home-page .wrap { padding-left: clamp(20px, 4vw, 64px); padding-right: clamp(20px, 4vw, 64px); }

/* Header */
.home-page .site-header {
  position: sticky;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(19,22,42,.08);
  box-shadow: 0 8px 30px rgba(19,22,42,.05);
}
.home-page .site-header.scrolled { background: rgba(255,255,255,.98); border-bottom-color: var(--home-line); }
.home-page .site-header .wrap { min-height: 82px; padding-top: 12px; padding-bottom: 12px; }
.home-page .brand-logo { height: 68px; width: 126px; object-fit: contain; }
.home-page .main-nav { gap: 2px; }
.home-page .nav-parent {
  color: #454a61;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  padding: 10px 12px;
  min-height: 44px;
}
.home-page .nav-parent:hover,
.home-page .nav-item:focus-within .nav-parent { color: var(--navy); background: #f2f5f9; }
.home-page .nav-submenu {
  z-index: 60;
  border-color: var(--home-line);
  background: #fff;
  box-shadow: 0 18px 40px rgba(19,22,42,.14);
}
.home-page .nav-submenu a { color: #454a61; font-family: "Poppins", sans-serif; font-size: 14px; text-transform: none; }
.home-page .nav-submenu a:hover { color: var(--navy); background: #f2f5f9; }
.home-page .main-nav a {
  color: #454a61;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  padding: 10px 12px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.home-page .main-nav a:hover { color: var(--navy); background: #f2f5f9; }
.home-page .main-nav a[aria-current="page"] { color: var(--navy); }
.home-page .main-nav a[aria-current="page"]::after { display: none; }
.home-page .nav-close { display: none; }

/* Buttons */
.home-page .btn {
  border-radius: 12px;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  padding: 14px 22px;
  min-height: 50px;
}
.home-page .btn-primary {
  color: var(--navy-deep);
  background: var(--orange);
  box-shadow: 0 10px 24px rgba(255,107,0,.22);
}
.home-page .btn-primary:hover { color: #fff; background: var(--orange-deep); box-shadow: 0 14px 30px rgba(204,68,0,.25); }
.home-page .btn-ghost,
.home-page .btn-ghost.on-light { color: var(--navy); border-color: rgba(19,22,42,.28); background: rgba(255,255,255,.86); }
.home-page .btn-ghost:hover,
.home-page .btn-ghost.on-light:hover { color: var(--navy-deep); border-color: var(--navy); background: #fff; }
.home-page .btn-sm { min-height: 44px; padding: 11px 17px; }

/* Typography and common sections */
.home-page h1, .home-page h2, .home-page h3,
.home-page h4, .home-page h5, .home-page h6 {
  color: #FF6B00;
  font-family: "Poppins", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -.035em;
}
.home-page .h-xl { font-size: clamp(42px, 5.8vw, 74px); line-height: 1.04; }
.home-page .h-lg { font-size: clamp(34px, 4vw, 52px); line-height: 1.08; }
.home-page .h-md { font-size: clamp(30px, 3.2vw, 43px); line-height: 1.12; }
.home-page .accent, .home-page .accent-grad {
  color: #13162A;
  background: none;
  -webkit-text-fill-color: currentColor;
}
.home-page .hero h1 { color:#13162A; }
.home-page .hero .accent-grad { color: #FF6B00; }
.home-page .lead { color: #FF6B00; font-size: clamp(17px, 1.7vw, 20px); font-weight: 400; line-height: 1.65; }
.home-page .section { padding: clamp(56px, 6vw, 88px) 0; background: var(--home-bg); color: var(--home-ink); }
.home-page .section.light { background: var(--home-surface); color: var(--home-ink); }
.home-page .section:nth-of-type(odd) { background: var(--home-bg); }
.home-page .section-head { max-width: 790px; margin-bottom: clamp(28px, 4vw, 46px); }
.home-page .section-head:has(> h2:only-child) { margin-bottom: clamp(22px, 3vw, 34px); }
.home-page .section-head p { color: #FF6B00; }

/* Hero */
.home-page .hero {
  min-height: 650px;
  display: flex;
  align-items: center;
  padding: clamp(72px, 9vw, 118px) 0 clamp(112px, 12vw, 154px);
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 36%, rgba(255,255,255,.48) 59%, rgba(255,255,255,.03) 82%),
    url('../img/hero-ivoox-generated.webp');
  background-position: center, center right;
  background-size: cover;
}
.home-page .hero::before {
  background: linear-gradient(180deg, rgba(238,240,248,0) 70%, rgba(238,240,248,.8) 100%);
}
.home-page .hero-grid { grid-template-columns: minmax(0, .92fr) 1.08fr; }
.home-page .hero h1 { margin-bottom: 22px; max-width: 680px; text-wrap: balance; }
.home-page .hero .lead { max-width: 570px; margin-bottom: 30px; color: #FF6B00; }
.home-page .hero-actions { margin-bottom: 0; }

/* Stats card overlaps the hero, like the reference */
.home-page .hero + .section { padding: 0; background: transparent; position: relative; z-index: 3; }
.home-page .hero + .section .wrap { margin-top: -58px; }
.home-page .hero + .section .divider { display: none; }
.home-page .stats {
  position: relative;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 26px 18px;
  border: 1px solid rgba(19,22,42,.08);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--home-shadow);
  backdrop-filter: blur(12px);
}
.home-page .stats::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 8px;
  width: 42px;
  height: 3px;
  transform: translateX(-50%);
  border-radius: 99px;
  background: var(--orange);
}
.home-page .stats-track { display: grid; grid-template-columns: repeat(4, 1fr); width: 100%; }
.home-page .stats-clone { display: none; }
.home-page .stat { padding: 5px 24px; border-right: 1px solid var(--home-line); }
.home-page .stats-track > .stat:nth-child(4) { border-right: 0; }
.home-page .stat .num {
  color: #FF6B00;
  background: none;
  -webkit-text-fill-color: currentColor;
  font-family: "Poppins", sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 700;
}
.home-page .stat .lbl { margin-top: 5px; color: var(--home-muted); font-family: "Poppins", sans-serif; font-size: 12px; letter-spacing: 0; text-transform: none; }

/* Cards */
.home-page .grid { gap: 24px; }
.home-page .card,
.home-page .section.light .card {
  color: var(--home-ink);
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(19,22,42,.08);
  border-radius: 18px;
  box-shadow: 0 12px 38px rgba(23,50,77,.06);
}
.home-page .card::before { display: none; }
.home-page .card:hover { transform: translateY(-5px); border-color: rgba(19,22,42,.2); box-shadow: 0 18px 44px rgba(19,22,42,.11); }
.home-page .card h3, .home-page .section.light .card h3 { color: var(--navy-deep); }
.home-page .card p, .home-page .section.light .card p { color: var(--home-muted); font-weight: 400; }

/* Product preview */
.home-page .home-products { gap: 24px; }
.home-page .home-product-card { overflow: hidden; }
.home-page .home-product-card .prod-figure {
  height: 220px;
  background: #f5f6fa;
  border-bottom-color: var(--home-line);
}
.home-page .home-product-card .prod-figure img { max-height: 172px; filter: drop-shadow(0 14px 24px rgba(19,22,42,.2)); }
.home-page .home-product-card .prod-body { padding: 24px 24px 26px; }
.home-page .home-product-card .prod-body .tag { color: #FF6B00; font-family: "Poppins", sans-serif; font-size: 11px; letter-spacing: .04em; text-transform: none; }
.home-page .home-product-card .prod-body h3 { margin: 8px 0 8px; font-size: 21px; }
.home-page .home-product-card .prod-body p { margin: 0; font-size: 15px; line-height: 1.6; }

/* Journey */
.home-page .steps { position: relative; }
.home-page .step-card { overflow: visible; padding: 0; background: #fff; }
.home-page .step-figure { height: 205px; border: 0; border-radius: 17px 17px 0 0; }
.home-page .step-body { padding: 24px 24px 28px; }
.home-page .step-num { margin: -42px 0 17px; position: relative; }
.home-page .step-num::before {
  width: 46px; height: 46px; display: grid; place-items: center;
  border: 5px solid #fff; border-radius: 50%; background: var(--orange); color: #fff;
  font-family: "Poppins", sans-serif; font-size: 14px;
}
.home-page .section.light .step-num::before { background: var(--orange); color: #fff; }
.home-page .step-body h3 { font-size: 20px; letter-spacing: -.02em; }
.home-page .journey-action { margin-top: clamp(30px, 4vw, 48px); text-align: center; }
.home-page .section-action { margin-top: clamp(20px, 2vw, 32px); text-align: center; }

/* Product callout becomes a compact breathing band */
.home-page main > .section:nth-of-type(4) { text-align: center; background: var(--home-warm); }
.home-page main > .section:nth-of-type(4) .section-head { margin-bottom: 26px; }

/* BrainHearing feature */
.home-page main > .section:nth-of-type(5) { background: var(--home-surface); }
.home-page .split {
  gap: clamp(34px, 6vw, 76px);
  padding: clamp(28px, 4vw, 48px);
  border-radius: 28px;
  background: var(--home-warm);
}
.home-page .split h2 { margin: 0 0 12px; }
.home-page .brain-action { margin-top: clamp(24px, 3vw, 32px); }
.home-page .brain-visual { border: 0; border-radius: 22px; box-shadow: 0 18px 48px rgba(19,22,42,.13); }

/* Financing and testimonials */
.home-page .fin-card { padding: 0; }
.home-page .fin-figure { height: 210px; border-bottom-color: var(--home-line); }
.home-page .fin-body { padding: 26px; }
.home-page .fin-body h3, .home-page .store-card h3 { font-size: 20px; }
.home-page .fin-body h3 { margin-bottom: 8px; }
.home-page .gmbr-card { min-height: 260px; padding: 30px; }
.home-page .gmbr-avatar { width: 44px; height: 44px; }
.home-page .gmbr-name { color: var(--navy-deep); font-weight: 600; }
.home-page .gmbr-text { color: #090912; font-family: "Poppins", sans-serif; font-size: 15px; line-height: 1.65; }
.home-page .gmbr-card, .home-page .gmbr-card * { font-family: "Poppins", sans-serif !important; }

/* Stores */
.home-page .store-card { min-height: 210px; padding: 30px; }
.home-page .store-card .region { color: var(--navy-soft); font-family: "Poppins", sans-serif; font-weight: 700; letter-spacing: .08em; }
.home-page .section.light .store-card .addr { color: var(--home-muted); }

/* Closing CTA */
.home-page .final-cta {
  color: var(--home-ink);
  text-align: left;
  padding: clamp(78px, 9vw, 118px) 0;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.91) 45%, rgba(255,255,255,.24) 72%),
    url('../img/hero_section_ivoox-generated.webp');
  background-size: cover;
  background-position: center, 62% center;
}
.home-page .final-cta::before { background: none; }
.home-page .final-cta .wrap { max-width: var(--maxw); }
.home-page .final-cta h2 { max-width: 650px; }
.home-page .final-cta .lead { max-width: 560px; margin: 0 0 30px; color: #FF6B00; }
.home-page .final-cta .hero-actions { justify-content: flex-start; }

/* FAQ */
.home-page #faq { background: var(--home-bg); }
.home-page .faq-item,
.home-page .section.light .faq-item { border-color: rgba(19,22,42,.1); border-radius: 14px; background: #fff; box-shadow: 0 8px 26px rgba(19,22,42,.04); }
.home-page .faq-item summary { color: var(--navy-deep); font-family: "Poppins", sans-serif; font-size: 17px; }
.home-page .faq-item summary::after { color: var(--navy-soft); }
.home-page .section.light .faq-item .faq-body { color: var(--home-muted); }

/* Footer */
.home-page .site-footer { color: #fff; background: var(--navy-deep); border-top: 0; }
.home-page .footer-col h3 { color: #c7def0; font-family: "Poppins", sans-serif; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 20px; }
.home-page .footer-col a, .home-page .footer-about p, .home-page .footer-bottom p, .home-page .site-footer .footer-hours { color: rgba(255,255,255,.8) !important; }
.home-page .footer-phone { color: #fff; }
.home-page .footer-socials a { width: 44px; height: 44px; border-color: rgba(255,255,255,.48); color: #fff; background: rgba(255,255,255,.08); }
.home-page .footer-socials a:hover,
.home-page .footer-socials a:focus-visible { border-color: #FF6B00; color: #fff; background: #FF6B00; }
.home-page .footer-bottom { border-top-color: rgba(255,255,255,.14); }

.home-page .footer-col h3 { text-transform: none; letter-spacing: .04em; }
.home-page .stats:hover .stats-track,
.home-page .stats:focus-within .stats-track { animation-play-state: paused; }

@media (max-width: 1024px) {
  .home-page .main-nav { background: #fff; border-left-color: var(--home-line); }
  .home-page .nav-parent { width: 100%; justify-content: space-between; font-size: 17px; padding: 14px 16px; }
  .home-page .nav-submenu { background: transparent; box-shadow: none; }
  .home-page .nav-submenu a { font-size: 16px; color: #454a61; }
  .home-page .main-nav a { font-size: 17px; }
  .home-page .nav-toggle { background: #f3f5f9; border-color: var(--home-line); }
  .home-page .nav-toggle span { background: var(--navy); }
}

@media (max-width: 900px) {
  .home-page .header-cta .btn-primary { display: none; }
  .home-page .nav-close {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 44px;
    margin-bottom: 12px;
    padding: 10px 16px;
    border: 0;
    border-bottom: 1px solid var(--home-line);
    background: transparent;
    color: var(--navy-deep);
    font: 700 15px/1.2 "Poppins", sans-serif;
    cursor: pointer;
    text-align: left;
  }
  .home-page .nav-close span { font-size: 28px; font-weight: 400; line-height: .8; }
  .home-page .hero {
    min-height: 720px;
    align-items: flex-end;
    padding-top: 330px;
    background-image:
      linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.06) 36%, rgba(255,255,255,.72) 57%, rgba(255,255,255,.97) 76%, #fff 100%),
      url('../img/hero-ivoox-generated.webp');
    background-size: 100% 100%, auto 460px;
    background-position: center, 72% top;
    background-repeat: no-repeat;
  }
  .home-page .hero-grid { grid-template-columns: 1fr; }
  .home-page .hero h1 { max-width: 620px; }
  .home-page .split { padding: 26px; }
}

@media (max-width: 760px) {
  .home-page .site-header .wrap { min-height: 70px; }
  .home-page .header-cta .btn { width: 44px; min-width: 44px; padding: 0; }
  .home-page .hero { min-height: 690px; padding: 310px 0 104px; }
  .home-page .hero .lead { font-size: 16px; }
  .home-page .stats { display: block; padding: 14px 0 8px; overflow: hidden; }
  .home-page .stats-track { display: flex; width: max-content; animation: stats-carousel 22s linear infinite; }
  .home-page .stat { flex: 0 0 74vw; padding: 16px 18px; border-right: 1px solid var(--home-line); }
  .home-page .stats-track > .stat:nth-child(4) { border-right: 1px solid var(--home-line); }
  .home-page .stats-clone { display: contents; }
  .home-page .final-cta {
    padding-top: 290px;
    background-image:
      linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(255,255,255,.08) 36%, rgba(255,255,255,.72) 58%, rgba(255,255,255,.97) 78%, #fff 100%),
      url('../img/hero_section_ivoox-generated.webp');
    background-size: 100% 100%, auto 420px;
    background-position: center, 68% top;
    background-repeat: no-repeat;
  }
}

@keyframes stats-carousel {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .stats-track { animation: none; }
}

@media (max-width: 480px) {
  .home-page .brand-logo { height: 58px; width: 108px; }
  .home-page .h-xl { font-size: 39px; }
  .home-page .h-lg { font-size: 32px; }
  .home-page .hero-actions { flex-direction: column; align-items: stretch; }
  .home-page .hero-actions .btn { width: 100%; }
  .home-page .step-figure { height: 230px; }
  .home-page .split { margin-inline: -6px; padding: 22px; border-radius: 22px; }
  .home-page .stats { margin-inline:0; }
  .home-page .stat { flex-basis:calc(100vw - 80px); }
}

/* Experimental text palette */
.home-page h1,
.home-page h2,
.home-page h3,
.home-page h4,
.home-page h5,
.home-page h6 { color:#FF6B00; }
.home-page .lead,
.home-page .subtitle,
.home-page .subheadline,
.home-page main .lead { color:#13162A !important; }
.home-page main p,
.home-page main li,
.home-page main .card p,
.home-page main .faq-body { color:#13162A !important; }
.home-page .btn-primary,
.home-page .btn-primary:hover,
.home-page .btn-primary:focus-visible { color:#FFFFFF; }
.home-page .hero h1 { color:#13162A; }
.home-page .hero .accent-grad { color:#FF6B00; }
.home-page .hero .lead { color:#13162A !important; }
.home-page .accent { color:#13162A; }
.home-page main h1,
.home-page main h2,
.home-page main h3,
.home-page main h4,
.home-page main h5,
.home-page main h6 { color:#FF6B00; }
.home-page main .accent,
.home-page main .accent-grad { color:#13162A; }
.home-page main .hero h1 { color:#13162A; }
.home-page main .hero .accent-grad { color:#FF6B00; }
.home-page .section.light h1,
.home-page .section.light h2,
.home-page .section.light h3 { color:#FF6B00; }
.home-page .section.light .accent,
.home-page .section.light .accent-grad { color:#13162A; }
.home-page main p,
.home-page main p.lead,
.home-page main .split p { color:#13162A !important; }
.home-page .fin-body h3 { color:#FF6B00; }
.home-page .section.light .fin-body h3 { color:#FF6B00 !important; }
.home-page .site-footer,
.home-page .site-footer h3,
.home-page .site-footer h4,
.home-page .site-footer p,
.home-page .site-footer a { color:#FFFFFF; }
.home-page .site-footer p,
.home-page .site-footer a { color:rgba(255,255,255,.8); }
