.segment-local-hero {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-6) var(--hero-detail-padding-bottom);
  background: linear-gradient(145deg, var(--lp-white), var(--lp-mint-soft));
  border-bottom: 0.25rem solid var(--page-dominant);
}

.segment-local-hero .breadcrumbs {
  position: relative;
  z-index: 4;
  margin-bottom: var(--hero-breadcrumb-gap);
}

.segment-local-hero__frame {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 0;
  gap: var(--hero-grid-gap);
  isolation: isolate;
}

.segment-local-hero__media {
  --brand-orbit-1: clamp(13rem, 26vw, 22rem);
  --brand-orbit-2: clamp(16rem, 34vw, 29rem);
  --brand-orbit-3: clamp(19rem, 43vw, 37rem);
  --brand-orbit-4: clamp(22rem, 53vw, 46rem);
  --brand-orbit-5: clamp(25rem, 64vw, 56rem);

  position: relative;
  z-index: 0;
  display: grid;
  grid-row: 2;
  place-items: center;
  width: min(80%, var(--hero-media-size));
  margin: 0 auto;
  aspect-ratio: 1;
  isolation: isolate;
}

.segment-local-hero__media::before {
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  width: 94%;
  aspect-ratio: 1;
  background: rgb(184 235 252 / 34%);
  border-radius: 50%;
  box-shadow:
    0 0 0 1.75rem rgb(132 200 165 / 16%),
    0 0 0 4rem rgb(184 235 252 / 12%);
  content: "";
  transform: translate(-50%, -50%);
}

.segment-local-hero__rings {
  /* A classe compartilhada desenha as cinco órbitas a partir do centro da foto. */
}

.segment-local-hero__media > img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  border: 0.5rem solid rgb(255 255 255 / 92%);
  border-radius: 50%;
  box-shadow: 0 1.75rem 4.5rem rgb(22 96 68 / 20%);
  object-fit: cover;
}

/* Cada foto tem um ponto narrativo próprio; o recorte circular acompanha a ação, não o centro geométrico do arquivo. */
[data-segment-page="technical-assistance"] .segment-local-hero__media > img {
  object-position: 90% center;
}

[data-segment-page="self-employed"] .segment-local-hero__media > img {
  object-position: 88% center;
}

[data-segment-page="bars-restaurants"] .segment-local-hero__media > img {
  object-position: 78% center;
}

[data-segment-page="aesthetic-clinic"] .segment-local-hero__media > img {
  object-position: 86% center;
}

[data-segment-page="veterinary-clinics"] .segment-local-hero__media > img {
  object-position: 84% center;
}

[data-segment-page="local-commerce"] .segment-local-hero__media > img {
  object-position: 84% center;
}

[data-segment-page="car-dealerships"] .segment-local-hero__media > img {
  object-position: 84% center;
}

[data-segment-page="mechanic-workshop"] .segment-local-hero__media > img {
  object-position: 78% center;
}

[data-segment-page="beauty-salon"] .segment-local-hero__media > img {
  object-position: 86% center;
}

.segment-local-hero__copy {
  display: grid;
  position: relative;
  z-index: 4;
  grid-row: 1;
  align-content: center;
  max-width: var(--hero-copy-width);
  padding-block: 0;
}

.segment-local-hero__copy h1 {
  max-width: var(--hero-title-width);
  margin-top: var(--space-4);
  font-size: var(--hero-title-size);
}

.segment-local-hero__copy > p:last-of-type {
  max-width: 39rem;
  font-size: clamp(1rem, 1.7vw, 1.18rem);
}

.segment-local-hero__actions,
.segment-local-tour__actions {
  position: relative;
  z-index: 5;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: var(--space-6);
  gap: var(--space-3);
}

.segment-local-section {
  padding-block: clamp(4rem, 8vw, 6.5rem);
}

.segment-local-heading {
  max-width: 54rem;
  margin-bottom: clamp(2.5rem, 6vw, 4rem);
}

.segment-local-heading h2 {
  max-width: 19ch;
  margin-top: var(--space-3);
}

.segment-local-heading--center {
  margin-inline: auto;
  text-align: center;
}

.segment-local-heading--center h2 {
  margin-inline: auto;
}

.segment-local-choice {
  background: var(--lp-white);
}

.segment-local-choice__grid {
  display: grid;
  gap: var(--space-5);
}

.segment-local-choice__grid article {
  display: grid;
  align-content: start;
  min-height: 100%;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  gap: var(--space-3);
  background: var(--lp-canvas);
  border-top: 0.25rem solid var(--page-dominant);
  border-radius: var(--radius-lg);
}

.segment-local-choice__grid article:nth-child(2) {
  border-top-color: var(--page-accent);
}

.segment-local-choice__grid article:nth-child(3) {
  border-top-color: var(--page-frame);
}

.segment-local-choice__grid img {
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: var(--space-2);
}

.segment-local-choice__grid h3,
.segment-local-choice__grid p {
  margin: 0;
}

.segment-local-solutions {
  background:
    radial-gradient(circle at 92% 12%, rgb(184 235 252 / 50%), transparent 22rem),
    var(--lp-mint-soft);
  border-top: 0.25rem solid var(--page-frame);
}

.segment-local-solutions__layout {
  display: grid;
  align-items: start;
  gap: clamp(2.5rem, 7vw, 5rem);
}

.segment-local-solutions__intro {
  max-width: 35rem;
}

.segment-local-solutions__intro h2 {
  max-width: 15ch;
  margin-top: var(--space-3);
}

.segment-local-text-link,
.segment-local-tour__copy a:not(.button) {
  color: var(--lp-green-deep);
  font-weight: 800;
  text-decoration-color: var(--page-accent);
  text-decoration-thickness: 0.125rem;
  text-underline-offset: 0.3rem;
}

.segment-local-solutions__list {
  display: grid;
  background: var(--lp-white);
  border: 1px solid var(--lp-line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-soft);
}

.segment-local-solutions__list > a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  padding: var(--space-5);
  gap: var(--space-4);
  color: var(--lp-text);
  text-decoration: none;
  transition: background var(--transition-fast), transform var(--transition-fast);
}

.segment-local-solutions__list > a + a {
  border-top: 1px solid var(--lp-line);
}

.segment-local-solutions__list > a:hover {
  color: var(--lp-text);
  background: var(--lp-yellow-soft);
  transform: translateX(0.18rem);
}

.segment-local-solutions__list img {
  width: 3rem;
  height: 3rem;
}

.segment-local-solutions__list strong,
.segment-local-solutions__list small {
  display: block;
}

.segment-local-solutions__list strong {
  color: var(--lp-ink);
  font-family: var(--font-heading);
  font-size: 1.08rem;
}

.segment-local-solutions__list small {
  margin-top: var(--space-1);
  color: var(--lp-text);
  font-size: 0.82rem;
}

.segment-local-solutions__list > a > span:last-child {
  color: var(--lp-green-deep);
  font-size: 1.4rem;
  font-weight: 800;
}

.segment-local-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: var(--space-8);
  padding-top: var(--space-5);
  gap: var(--space-3) var(--space-6);
  border-top: 1px solid rgb(25 104 75 / 24%);
}

.segment-local-tools > span {
  margin-right: auto;
  color: var(--lp-green-deep);
  font-weight: 850;
}

.segment-local-tools a {
  color: var(--lp-green-deep);
  font-size: 0.88rem;
  font-weight: 750;
}

.segment-local-tour {
  padding-block: clamp(4rem, 8vw, 6.5rem);
  background: var(--lp-canvas);
}

.segment-local-tour__frame {
  position: relative;
  overflow: hidden;
  width: min(calc(100% - 2rem), 92rem);
  min-height: clamp(36rem, 58vw, 48rem);
  margin-inline: auto;
  background: var(--lp-green-deep);
  border-radius: clamp(1.5rem, 3vw, 2.5rem);
  box-shadow: 0 1.75rem 4.5rem rgb(22 96 68 / 20%);
  isolation: isolate;
}

.segment-local-tour__frame::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgb(12 48 37 / 92%) 0 35%, rgb(12 48 37 / 58%) 55%, transparent 78%);
  content: "";
}

.segment-local-tour__frame > img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.segment-local-tour__copy {
  display: grid;
  align-content: center;
  min-height: inherit;
  max-width: 43rem;
  padding: clamp(2rem, 6vw, 5rem);
  color: var(--lp-white);
}

.segment-local-tour__copy > img {
  width: 3.5rem;
  height: 3.5rem;
  margin-bottom: var(--space-5);
  filter: brightness(0) invert(1);
}

.segment-local-tour__copy .eyebrow {
  color: var(--lp-yellow);
}

.segment-local-tour__copy h2 {
  max-width: 16ch;
  margin-top: var(--space-3);
  color: var(--lp-white);
}

.segment-local-tour__copy > p:last-of-type {
  max-width: 38rem;
  color: rgb(255 255 255 / 86%);
}

.segment-local-tour__copy a:not(.button) {
  color: var(--lp-white);
}

body[data-page-type="segment"] .tool-faq {
  padding-block: clamp(4rem, 8vw, 6.5rem);
  background: var(--lp-white);
  border-top: 0.25rem solid var(--page-frame);
}

body[data-page-type="segment"] .tool-faq__grid {
  display: grid;
  gap: clamp(2.5rem, 7vw, 5rem);
}

body[data-page-type="segment"] .tool-faq header h2 {
  max-width: 16ch;
}

body[data-page-type="segment"] .tool-faq__list {
  display: grid;
  gap: var(--space-3);
}

body[data-page-type="segment"] .tool-faq details {
  overflow: hidden;
  background: var(--lp-canvas);
  border: 1px solid var(--lp-line);
  border-radius: var(--radius-md);
}

body[data-page-type="segment"] .tool-faq summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: var(--space-5);
  gap: var(--space-4);
  color: var(--lp-ink);
  cursor: pointer;
  font-family: var(--font-heading);
  font-weight: 750;
  list-style: none;
}

body[data-page-type="segment"] .tool-faq summary::-webkit-details-marker {
  display: none;
}

body[data-page-type="segment"] .tool-faq summary::after {
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  color: var(--lp-green-deep);
  background: var(--lp-mint-soft);
  border-radius: 50%;
  content: "+";
}

body[data-page-type="segment"] .tool-faq details[open] summary::after {
  background: var(--lp-yellow-soft);
  content: "−";
}

body[data-page-type="segment"] .tool-faq details > div {
  padding: 0 var(--space-5) var(--space-5);
}

body[data-page-type="segment"] .tool-faq details p {
  margin: 0;
}

.segment-local-final {
  padding-block: clamp(4rem, 8vw, 6.5rem);
  background:
    radial-gradient(circle at 91% 15%, transparent 0 5.5rem, rgb(255 179 18 / 26%) 5.6rem 5.78rem, transparent 5.88rem),
    linear-gradient(145deg, var(--lp-sky-soft), var(--lp-mint-soft));
  border-top: 0.25rem solid var(--page-accent);
}

.segment-local-final__inner {
  display: grid;
  align-items: center;
  gap: clamp(2rem, 7vw, 5rem);
}

.segment-local-final__inner h2 {
  max-width: 18ch;
}

.segment-local-final__inner p:last-child {
  max-width: 46rem;
}

@media (min-width: 42rem) {
  .segment-local-choice__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 56rem) {
  .segment-local-solutions__layout,
  .segment-local-final__inner,
  body[data-page-type="segment"] .tool-faq__grid {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  }

  .segment-local-solutions__intro {
    position: sticky;
    top: 8rem;
  }

  .segment-local-final__inner {
    grid-template-columns: minmax(0, 1.35fr) auto;
  }
}

@media (min-width: 62rem) {
  .segment-local-hero__frame {
    grid-template-columns: minmax(0, 0.86fr) minmax(31rem, 1.14fr);
    min-height: var(--hero-stage-size);
  }

  .segment-local-hero__media {
    grid-row: 1;
    grid-column: 2;
  }

  .segment-local-hero__copy {
    grid-row: 1;
    grid-column: 1;
  }
}

@media (max-width: 47.99rem) {
  .segment-local-hero__frame {
    gap: var(--space-6);
  }

  .segment-local-hero__copy {
    align-content: start;
    padding-block: 0;
  }

  .segment-local-tour__frame::after {
    background: linear-gradient(180deg, rgb(12 48 37 / 94%) 0 52%, rgb(12 48 37 / 62%) 72%, transparent 100%);
  }

  .segment-local-tour__frame > img {
    object-position: 60% center;
  }

  .segment-local-tour__frame--assistencia > img {
    object-position: 85% center;
  }

  .segment-local-tour__frame--estetica > img {
    object-position: 85% center;
  }

  .segment-local-tour__frame--veterinaria > img {
    object-position: 70% center;
  }

  .segment-local-tour__frame--concessionaria > img {
    object-position: 66% center;
  }

  .segment-local-tour__frame--comercio > img {
    object-position: 82% center;
  }

  .segment-local-tour__frame--salao > img {
    object-position: 78% center;
  }

  .segment-local-tour__copy {
    align-content: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .segment-local-solutions__list > a {
    transition: none;
  }

  .segment-local-solutions__list > a:hover {
    transform: none;
  }
}
