:root {
  --planalto-blue: #0752c7;
  --planalto-dark: #202d83;
  --planalto-text: #252525;
  --planalto-muted: #fafafa;
  --planalto-gold: #f2be20;
  --site-margin: 320px;
  --grid-gutter: 20px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  background: #fff;
  color: var(--planalto-text);
  font-family: 'Inter', Arial, sans-serif;
  font-weight: 300;
  font-size: 18px;
}
button, a { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
[hidden] { display: none !important; }

.static-carousel { position: relative; min-width: 0; }
.carousel-viewport { overflow: hidden; }
.carousel-track { display: flex; gap: 20px; transition: transform 520ms cubic-bezier(0.22, 0.8, 0.3, 1); touch-action: pan-y; }
.carousel-slide { min-width: 0; }
.carousel-arrow {
  position: absolute;
  z-index: 3;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 50%;
  transform: translateY(-50%);
  font-size: 28px;
  line-height: 1;
}
.carousel-arrow--prev { left: 4px; }
.carousel-arrow--next { right: 4px; }

.site-grid {
  width: calc(100% - (var(--site-margin) * 2));
  max-width: 1280px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--grid-gutter);
}
.full-span { grid-column: 1 / -1; }
.mobile-copy { display: none; }

.section-heading .eyebrow,
.eyebrow {
  display: inline-flex;
  min-height: 45px;
  align-items: center;
  padding: 0 18px;
  border-radius: 7px;
  background: var(--planalto-blue);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
}
.section-heading h2,
.reviews-heading h2 {
  margin: 30px 0 12px;
  color: var(--planalto-blue);
  font-size: 43px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.6px;
}
.section-heading > p {
  margin: 0;
  font-size: 20px;
  line-height: 1.3;
}

.primary-button {
  display: inline-flex;
  min-width: 408px;
  min-height: 60px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border-radius: 8px;
  background: linear-gradient(103deg, #0755c8 0%, #25307e 100%);
  box-shadow: 0 5px 8px rgb(18 34 93 / 28%);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.primary-button:hover { transform: translateY(-3px); box-shadow: 0 10px 18px rgb(18 34 93 / 32%); }
.primary-button:focus-visible { outline: 3px solid #78aaf4; outline-offset: 3px; }
.primary-button img { width: 23px; height: 23px; object-fit: contain; }

/* Hero */
.hero { position: relative; min-height: 750px; overflow: hidden; }
.hero__picture,
.hero__picture img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero__grid { position: relative; min-height: 750px; align-items: start; }
.hero__content { grid-column: 1 / span 6; padding-top: 78px; }
.hero__logo { width: 197px; margin-bottom: 49px; }
.hero h1 {
  max-width: 620px;
  margin: 0;
  font-size: 47px;
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: -1.1px;
}
.hero-title__line { display: block; white-space: nowrap; }
.hero h1 strong { color: var(--planalto-blue); font-weight: 700; }
.hero__lead {
  max-width: 610px;
  margin: 30px 0 43px;
  font-size: 21px;
  line-height: 1.14;
}
.hero__lead--mobile { display: none; }
.hero__benefits {
  display: flex;
  gap: 37px;
  align-items: center;
  margin-top: 43px;
  font-size: 15px;
  line-height: 1.1;
}
.hero__benefits span {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 10px;
}
.hero__benefits img {
  grid-row: 1 / span 2;
  width: 34px;
  height: 34px;
  object-fit: contain;
}

/* Partners */
.partners-section { padding: 58px 0 68px; background: var(--planalto-muted); }
.partners-section h2 {
  grid-column: 1 / -1;
  margin: 0 0 30px;
  color: var(--planalto-blue);
  font-size: 42px;
  line-height: 1.1;
  font-weight: 700;
}
.partners-carousel { grid-column: 1 / -1; padding-inline: 64px; }
.partner-slide {
  flex: 0 0 calc((100% - 60px) / 4);
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.partner-slide img { max-width: 220px; max-height: 94px; object-fit: contain; }
.partners-carousel [data-slot='carousel-previous'],
.partners-carousel [data-slot='carousel-next'] {
  width: 34px;
  height: 34px;
  border: 0;
  background: var(--planalto-blue);
  color: #fff;
}
.carousel-dots { display: none; }

/* Products */
.products-section { padding: 111px 0 125px; }
.products-heading { grid-column: 1 / -1; }
.products-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-top: 55px;
}
.product-card {
  overflow: hidden;
  border: 1.5px solid #3d7be3;
  border-radius: 9px;
  background: #fff;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.product-card:hover { transform: translateY(-5px); box-shadow: 0 14px 28px rgb(11 66 156 / 14%); }
.product-card__image {
  height: 305px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: #fff;
}
.product-card__image img { width: 100%; height: 100%; object-fit: contain; }
.product-card h3 {
  min-height: 54px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  background: var(--planalto-blue);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}
.products-more { display: none; }
.centered-cta { grid-column: 1 / -1; margin-top: 52px; text-align: center; }

/* Differentials */
.differentials-section { padding: 104px 0 116px; background: var(--planalto-muted); }
.differentials-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 45px;
}
.differential-card {
  min-height: 184px;
  padding: 31px 28px 25px;
  border-radius: 9px;
  background: linear-gradient(108deg, #0754c8 0%, #202d83 78%);
  color: #fff;
  text-align: center;
  transition: transform 220ms ease, filter 220ms ease;
}
.differential-card:hover { transform: translateY(-5px); filter: brightness(1.06); }
.differential-card img { width: 38px; height: 38px; margin: 0 auto 13px; object-fit: contain; }
.differential-card h3 { margin: 0 0 8px; font-size: 20px; font-weight: 700; }
.differential-card p { margin: 0; color: #eef4ff; font-size: 16px; line-height: 1.22; }

/* Quote */
.quote-section { padding: 155px 0 162px; }
.quote-grid { align-items: center; }
.quote-copy { grid-column: 1 / span 6; }
.quote-copy .section-heading h2 { max-width: 560px; }
.quote-copy .section-heading > p { max-width: 600px; }
.quote-steps { margin: 43px 0 35px; padding: 0; list-style: none; }
.quote-steps li {
  position: relative;
  min-height: 76px;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 18px;
}
.quote-steps li:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 28px;
  top: 54px;
  width: 1px;
  height: 42px;
  background: var(--planalto-blue);
}
.quote-steps li > span {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--planalto-blue);
  color: #fff;
  font-size: 26px;
  font-weight: 700;
}
.quote-steps h3 { margin: 3px 0 6px; color: var(--planalto-blue); font-size: 21px; font-weight: 700; }
.quote-steps p { margin: 0; font-size: 16px; line-height: 1.25; }
.quote-visual {
  position: relative;
  grid-column: 8 / -1;
  min-height: 660px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.quote-visual picture { position: relative; z-index: 2; display: block; }
.quote-visual img { max-height: 650px; width: auto; }
.quote-visual i {
  position: absolute;
  z-index: 1;
  width: 235px;
  height: 235px;
  border-radius: 50%;
  background: var(--planalto-blue);
}
.quote-visual i:first-child { top: 70px; right: 20px; }
.quote-visual i:nth-child(2) { bottom: 45px; left: 10px; }

/* Delivery */
.delivery-section { padding: 135px 0; background: var(--planalto-muted); }
.delivery-grid { align-items: center; }
.delivery-copy { grid-column: 1 / span 6; }
.delivery-copy .section-heading h2 { max-width: 560px; }
.delivery-copy .section-heading > p { max-width: 590px; }
.delivery-list { margin: 38px 0 0; padding: 0; display: grid; gap: 24px; list-style: none; }
.delivery-list li { display: flex; align-items: center; gap: 16px; font-size: 18px; }
.delivery-list img { width: 30px; height: 30px; flex: 0 0 auto; object-fit: contain; }
.delivery-photo {
  grid-column: 7 / -1;
  width: 100%;
  height: 430px;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 8px 18px rgb(24 40 80 / 18%);
}

/* About */
.about-section { padding: 110px 0 90px; }
.about-grid { align-items: center; }
.about-copy { grid-column: 1 / span 6; }
.about-copy p { max-width: 590px; margin: 28px 0 0; font-size: 20px; line-height: 1.28; }
.about-photos { position: relative; grid-column: 7 / -1; min-height: 600px; }
.about-photos img { position: absolute; width: 470px; border-radius: 10px; object-fit: cover; box-shadow: 0 10px 22px rgb(28 40 68 / 12%); }
.about-photos img:first-child { top: 15px; left: 0; height: 325px; }
.about-photos img:last-child { right: 0; bottom: 30px; height: 325px; }

/* Reviews */
.reviews-section { padding: 40px 0 105px; }
.reviews-heading { grid-column: 1 / -1; }
.reviews-heading h2 { margin-top: 30px; }
.reviews-heading p { margin: 0; font-size: 20px; }
.stars { color: var(--planalto-gold); letter-spacing: 2px; }
.reviews-wrap { grid-column: 1 / -1; margin-top: 36px; }
.reviews-carousel { padding-inline: 26px; }
.reviews-carousel [data-slot='carousel-previous'],
.reviews-carousel [data-slot='carousel-next'] {
  display: none !important;
}
.review-slide { flex: 0 0 calc((100% - 40px) / 3); }
.review-card {
  min-height: 250px;
  padding: 23px 24px;
  border: 1px solid #d6d6d6;
  border-radius: 20px;
  background: #fff;
}
.review-card__header { display: grid; grid-template-columns: 56px 1fr 34px; align-items: center; gap: 12px; }
.review-avatar { width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; }
.review-card__header a { display: block; color: #151d4f; font-size: 17px; font-weight: 700; text-decoration: none; }
.review-card__header small { display: block; margin-top: 4px; color: #52617e; font-size: 12px; }
.review-card__header > img:last-child { width: 32px; height: 32px; object-fit: contain; }
.review-avatar--photo { object-fit: cover; }
.review-card > .stars { margin-top: 16px; font-size: 18px; }
.stars--empty { color: #d9d9d9; }
.review-card p { margin: 14px 0 0; color: #344063; font-size: 16px; line-height: 1.2; }
.review-card__empty { color: #7a8499 !important; font-style: italic; }
.review-dots {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 24px 0 0;
  padding: 0;
}
.review-dots button {
  width: 12px;
  height: 12px;
  flex: 0 0 12px;
  margin: 0;
  padding: 0;
  border: 1.5px solid var(--planalto-blue);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: background-color 180ms ease, transform 180ms ease;
}
.review-dots button.is-active {
  background: var(--planalto-blue);
  transform: scale(1.08);
}
.review-dots button:hover {
  background: rgb(7 82 199 / 25%);
}

/* Contact */
.contact-section { padding: 130px 0; background: var(--planalto-muted); }
.contact-grid { align-items: stretch; column-gap: 40px; }
.map-card { grid-column: 1 / span 6; height: 100%; border: 1.5px solid #3d7be3; border-radius: 18px; overflow: hidden; box-shadow: 0 8px 25px rgb(24 40 80 / 10%); }
.map-card img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; }
.contact-copy { grid-column: 7 / -1; display: flex; flex-direction: column; justify-content: center; }
.contact-copy > p { margin: 28px 0; font-size: 20px; line-height: 1.3; }
.contact-copy address { margin: 0 0 32px; display: grid; gap: 26px; font-style: normal; }
.contact-copy address a,
.contact-copy address span { display: flex; align-items: center; gap: 15px; color: inherit; font-size: 18px; text-decoration: none; }
.contact-copy address svg,
.contact-copy address img { width: 30px; height: 30px; flex: 0 0 auto; object-fit: contain; color: var(--planalto-blue); fill: none; stroke: currentColor; }

/* FAQ */
.faq-section { padding: 106px 0 124px; }
.faq-grid { align-items: start; }
.faq-intro { grid-column: 1 / span 6; }
.faq-intro > p { max-width: 520px; margin: 28px 0 32px; font-size: 20px; line-height: 1.28; }
.faq-accordion { grid-column: 7 / -1; display: grid; gap: 18px; padding-top: 70px; }
.faq-accordion [data-slot='accordion-item'] { border: 0; }
.faq-accordion [data-slot='accordion-trigger'] {
  width: 100%;
  min-height: 68px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  border: 1.5px solid #2e71db;
  border-radius: 10px;
  font-size: 17px;
  font-weight: 300;
  text-decoration: none;
  background: #fff;
  color: inherit;
  text-align: left;
}
.faq-accordion [data-slot='accordion-trigger'] span { color: var(--planalto-blue); font-size: 24px; }
.faq-accordion [data-slot='accordion-content'] > div { padding: 16px 20px 8px; color: #424242; font-size: 16px; line-height: 1.35; }
.faq-accordion [data-slot='accordion-content'] p { margin: 0; }

/* Footer */
.site-footer { padding: 83px 0 78px; background: #f9f9f9; }
.footer-grid { align-items: center; }
.footer-grid > img { grid-column: 1 / span 3; width: 210px; }
.footer-grid > p { grid-column: 4 / span 6; margin: 0; color: #30446c; font-size: 14px; text-align: center; }
.social-links { grid-column: 11 / -1; display: flex; justify-content: flex-end; gap: 16px; }
.social-links a { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #143b9c; color: #fff; }
.social-links svg,
.social-links img { width: 25px; height: 25px; object-fit: contain; }
.social-links span { font-size: 30px; font-weight: 700; line-height: 1; }
.contact-phone { width: 30px; color: var(--planalto-blue); font-size: 28px; text-align: center; }

/* Motion */
.motion-rise { animation: rise-in 700ms both cubic-bezier(0.21, 0.8, 0.3, 1); }
.motion-delay-1 { animation-delay: 100ms; }
.motion-delay-2 { animation-delay: 180ms; }
.motion-delay-3 { animation-delay: 260ms; }
.motion-delay-4 { animation-delay: 340ms; }
@keyframes rise-in {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
[data-reveal] {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity 700ms ease var(--reveal-delay, 0ms), transform 700ms cubic-bezier(0.21, 0.8, 0.3, 1) var(--reveal-delay, 0ms);
}
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1599px) {
  :root { --site-margin: clamp(72px, 10vw, 160px); }
}

@media (max-width: 767px) {
  :root { --site-margin: 24px; }
  body { font-size: 16px; }
  .site-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .desktop-copy { display: none; }
  .mobile-copy { display: inline; }
  .section-heading .eyebrow,
  .eyebrow { min-height: 34px; padding: 0 14px; font-size: 12px; border-radius: 6px; }
  .section-heading h2,
  .reviews-heading h2 { margin: 24px 0 14px; font-size: 31px; line-height: 1.12; letter-spacing: -0.4px; }
  .section-heading > p { font-size: 17px; line-height: 1.28; }
  .primary-button { width: 100%; min-width: 0; min-height: 58px; font-size: 17px; }

  .hero { min-height: 585px; padding-top: 210px; }
  .hero__picture,
  .hero__picture img { height: 585px; object-position: center top; }
  .hero__grid { min-height: 375px; align-items: start; }
  .hero__content { grid-column: 1 / -1; padding-top: 31px; text-align: center; }
  .hero__logo { display: none; }
  .hero h1 { font-size: 30px; line-height: 1.12; letter-spacing: -0.45px; }
  .hero-title__line { white-space: nowrap; }
  .hero__lead { margin: 13px auto 24px; font-size: 16px; line-height: 1.16; }
  .hero__lead--desktop { display: none; }
  .hero__lead--mobile { display: block; }
  .hero__benefits { justify-content: space-between; gap: 9px; margin-top: 20px; text-align: left; font-size: 11px; }
  .hero__benefits img { width: 27px; height: 27px; }

  .partners-section { padding: 34px 0 32px; }
  .partners-section h2 { font-size: 29px; margin-bottom: 15px; }
  .partners-carousel { grid-column: 1 / -1; padding: 0; }
  .carousel-track { gap: 16px; }
  .partner-slide { flex: 0 0 calc((100% - 16px) / 2); height: 70px; padding-left: 0; }
  .partner-slide img { max-width: 150px; max-height: 62px; }
  .partners-carousel [data-slot='carousel-previous'],
  .partners-carousel [data-slot='carousel-next'] { display: none; }
  .carousel-dots { grid-column: 1 / -1; display: flex; justify-content: center; gap: 10px; margin-top: 17px; }
  .carousel-dots button:nth-child(n + 4) { display: none; }
  .carousel-dots button,
  .review-dots button { width: 11px; height: 11px; padding: 0; border: 1.5px solid var(--planalto-blue); border-radius: 50%; background: transparent; }
  .carousel-dots .is-active,
  .review-dots .is-active { background: var(--planalto-blue); }

  .products-section { padding: 34px 0 38px; }
  .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 25px; }
  .product-card__image { height: 175px; padding: 8px; }
  .product-card h3 { min-height: 33px; padding: 5px; font-size: 13px; }
  .products-grid:not(.is-expanded) .mobile-extra { display: none; }
  .products-more { grid-column: 1 / -1; display: block; width: max-content; margin: 19px auto 0; padding: 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: #333; font-size: 16px; cursor: pointer; }
  .centered-cta { margin-top: 26px; }

  .differentials-section { padding: 36px 0 37px; }
  .differentials-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 25px; }
  .differential-card { min-height: 133px; padding: 14px 15px 13px; text-align: left; }
  .differential-card img { width: 29px; height: 29px; margin: 0 0 8px; }
  .differential-card h3 { margin-bottom: 5px; font-size: 18px; }
  .differential-card p { font-size: 14px; }

  .quote-section { padding: 36px 0 40px; }
  .quote-grid { align-items: start; }
  .quote-copy { display: contents; }
  .quote-copy .section-heading { grid-column: 1 / -1; order: 1; }
  .quote-visual { grid-column: 1 / -1; order: 2; min-height: 608px; margin-top: 14px; }
  .quote-visual picture { width: 100%; }
  .quote-visual img { max-height: none; width: 100%; height: auto; object-fit: contain; }
  .quote-visual i { display: none; }
  .quote-steps { grid-column: 1 / -1; order: 3; margin: -96px 0 22px; }
  .quote-copy > .primary-button { grid-column: 1 / -1; order: 4; }
  .quote-steps li { min-height: 107px; grid-template-columns: 50px 1fr; gap: 18px; }
  .quote-steps li:not(:last-child)::after { left: 24px; top: 49px; height: 65px; }
  .quote-steps li > span { width: 49px; height: 49px; font-size: 22px; }
  .quote-steps h3 { margin-top: 3px; font-size: 18px; }
  .quote-steps p { font-size: 15px; }

  .delivery-section { padding: 35px 0 40px; }
  .delivery-copy { display: contents; }
  .delivery-copy .section-heading { grid-column: 1 / -1; order: 1; }
  .delivery-photo { grid-column: 1 / -1; order: 2; width: 100%; height: 264px; margin-top: 18px; }
  .delivery-list { grid-column: 1 / -1; order: 3; margin-top: 24px; gap: 20px; }
  .delivery-list li { font-size: 16px; }

  .about-section { padding: 34px 0 28px; }
  .about-copy { display: contents; }
  .about-copy .section-heading { grid-column: 1 / -1; order: 1; }
  .about-photos { grid-column: 1 / -1; order: 2; min-height: 330px; margin-top: 16px; }
  .about-photos img { width: 76%; height: 177px !important; }
  .about-photos img:first-child { top: 0; left: 0; }
  .about-photos img:last-child { right: 0; bottom: 5px; }
  .about-copy > p { grid-column: 1 / -1; order: 3; margin: 0 0 12px; font-size: 15px; line-height: 1.18; }

  .reviews-section { padding: 31px 0 35px; }
  .reviews-heading { grid-column: 1 / -1; }
  .reviews-heading p { font-size: 17px; }
  .reviews-wrap { margin-top: 20px; }
  .review-slide { flex: 0 0 100%; padding-left: 0; }
  .review-card { min-height: 205px; padding: 18px; }
  .reviews-carousel { padding-inline: 20px; }
  .reviews-carousel [data-slot='carousel-previous'],
  .reviews-carousel [data-slot='carousel-next'] { display: none; }
  .review-dots {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 16px;
  }

  .contact-section { padding: 36px 0 38px; }
  .contact-grid { column-gap: 16px; }
  .contact-copy { display: contents; }
  .contact-copy .section-heading { grid-column: 1 / -1; order: 1; }
  .map-card { grid-column: 1 / -1; order: 2; height: auto; margin-top: 18px; }
  .map-card img { height: 255px; min-height: 0; }
  .contact-copy > p { grid-column: 1 / -1; order: 3; margin: 25px 0 0; font-size: 16px; }
  .contact-copy address { grid-column: 1 / -1; order: 4; margin: 23px 0 28px; gap: 22px; }
  .contact-copy address a,
  .contact-copy address span { align-items: flex-start; font-size: 16px; }
  .contact-copy > .primary-button { grid-column: 1 / -1; order: 5; }

  .faq-section { padding: 40px 0 47px; }
  .faq-intro { grid-column: 1 / -1; }
  .faq-intro > p { margin: 20px 0 23px; font-size: 16px; }
  .faq-accordion { grid-column: 1 / -1; gap: 12px; padding-top: 24px; }
  .faq-accordion [data-slot='accordion-trigger'] { min-height: 66px; padding: 14px; font-size: 14px; }

  .site-footer { padding: 48px 0 55px; }
  .footer-grid > img { grid-column: 1 / -1; width: 180px; margin: 0 auto; }
  .footer-grid > p { grid-column: 1 / -1; margin-top: 34px; font-size: 14px; line-height: 1.4; }
  .social-links { grid-column: 1 / -1; justify-content: center; margin-top: 28px; }
}

@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;
  }
  [data-reveal] { opacity: 1; transform: none; }
}

/* HERO MOBILE — TEXTO CENTRALIZADO COM 15PX DE MARGEM */
@media (max-width: 767px) {
  /* Hero ocupa a largura com 15px de respiro lateral */
  .hero .hero__grid {
    width: calc(100% - 30px);
    margin-inline: auto;
  }

  /* Centraliza todo o conteúdo textual */
  .hero__content {
    text-align: center;
  }

  /* Impede que o título ultrapasse a tela */
  .hero h1 {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    overflow-wrap: anywhere;
  }

  /* Permite as quebras de linha necessárias */
  .hero-title__line {
    white-space: normal;
  }

  /* Mantém descrição centralizada e dentro da margem */
  .hero__lead {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    text-align: center;
  }
}
@media (max-width: 767px) {
  /* Mantém apenas a terceira linha inteira */
  .hero-title__line:last-child {
    white-space: nowrap !important;
    font-size: 28px;
    letter-spacing: -0.7px;
  }
}