/* Complementos do Hospital Espiritual sobre a landing portada. */

:root { color-scheme: light only; }
html { scroll-behavior: smooth; overflow-x: clip; hyphens: manual; -webkit-hyphens: manual; -ms-hyphens: manual; }
body { margin: 0; }
.lv2-skip {
  position: absolute;
  left: 1rem;
  top: -4rem;
  z-index: 20;
  background: #0f3f52;
  color: #fff;
  padding: 0.6rem 0.9rem;
  border-radius: 999px;
}
.lv2-skip:focus { top: 0.75rem; }

.lv2-nav-brand img { width: 2.4rem; height: 2.4rem; display: block; }
.lv2-nav-brand-text { max-width: 11rem; line-height: 1.15; }
@media (max-width: 520px) {
  .lv2-nav-brand-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }
}
.lv2-nav-links a { white-space: nowrap; }
.lv2-nav-main { list-style: none; margin: 0; padding: 0; }
@media (min-width: 1280px) {
  .lv2-nav-scroll { display: flex; align-items: center; min-width: 0; }
  .lv2-nav-main { display: flex; align-items: center; gap: 2rem; min-width: 0; }
}
.lv2-nav-brand { flex-shrink: 0; }
.lv2-nav-actions { flex-shrink: 0; }

/* The full label row only fits from 1280px. Below that, the hamburger keeps the bar inside the window. */
@media (min-width: 900px) and (max-width: 1279.98px) {
  .lv2-nav-links { display: none; }
  .lv2-hamburger { display: inline-flex; }
}
@media (min-width: 1280px) {
  .lv2-nav-inner { padding: 0 0.85rem; gap: 0.5rem; }
  .lv2-nav-links { gap: 0.55rem; flex-wrap: nowrap; }
  .lv2-nav-main { gap: 0.55rem; }
  .lv2-nav-links > li > a,
  .lv2-nav-main > li > a,
  .lv2-nav-drop-btn { font-size: 0.92rem; font-weight: 400; }
  .lv2-nav-brand { gap: 0.4rem; }
  .lv2-nav-brand-text { font-size: 0.78rem; max-width: 9.2rem; }
  .lv2-nav-actions { gap: 0.35rem; }
  .lv2-nav-actions .lv2-btn-nav { padding: 0.42rem 0.62rem; font-size: 0.78rem; }
}
@media (min-width: 1600px) {
  .lv2-nav-inner { padding: 0 1.25rem; gap: 0.85rem; }
  .lv2-nav-links { gap: 0.9rem; }
  .lv2-nav-main { gap: 0.9rem; }
  .lv2-nav-links > li > a,
  .lv2-nav-main > li > a,
  .lv2-nav-drop-btn { font-size: 0.92rem; font-weight: 400; }
  .lv2-nav-brand-text { font-size: 0.95rem; max-width: 11rem; }
  .lv2-nav-actions .lv2-btn-nav { padding: 0.5rem 0.85rem; font-size: 0.8125rem; }
}
.lv2-nav-actions .lv2-btn-wa { gap: 0.35rem; }
.lv2-nav-actions .lv2-btn-wa svg { display: block; flex: 0 0 auto; }
@media (max-width: 1599.98px) {
  .lv2-nav-actions .lv2-wa-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .lv2-nav-actions .lv2-btn-wa { padding: 0.45rem; min-width: 2.5rem; justify-content: center; }
}
.landing-v2 section.lv2-brand-hero { padding: 2.75rem 0 2.5rem; }
.landing-v2 section.lv2-page { padding: 2.5rem 0 4rem; }

.lv2-hero-photo,
.lv2-card-photo,
.lv2-about-photo,
.lv2-page-photo {
  display: block;
  width: 100%;
  object-fit: cover;
  background: #d3e4ec;
}
.lv2-hero-photo {
  aspect-ratio: 4 / 5;
  border-radius: 2rem;
  box-shadow: var(--lv2-shadow-lg);
  object-position: center 58%;
}
.lv2-proposito-photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center 58%;
  border-radius: 1.25rem;
  background: #d3e4ec;
}
.lv2-hero-intro,
button.lv2-hero-more { display: none; }
button.lv2-hero-more:focus-visible {
  outline: 3px solid rgba(212, 185, 85, 0.85);
  outline-offset: 2px;
}
.lv2-card-photo {
  aspect-ratio: 4 / 3;
  border-radius: 1rem;
  margin: -0.4rem -0.4rem 1rem;
}
.lv2-about-photo {
  aspect-ratio: 1;
  border-radius: 1rem;
  width: 4.5rem;
  height: 4.5rem;
}
.lv2-page-photo {
  aspect-ratio: 16 / 10;
  border-radius: 1.5rem;
  margin: 1.5rem 0;
}

.lv2-page { padding: 2.5rem 0 4.5rem; }
.lv2-page-kicker {
  color: var(--lv2-accent-strong);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
}
.lv2-prose { max-width: 46rem; }
.lv2-agenda-note { margin-top: 2rem; }
.lv2-prose p { margin: 0 0 1rem; color: var(--lv2-fg); }
.landing-v2 :is(
  p,
  .lv2-prose p,
  .read-more-body,
  .read-more-body p,
  .lv2-section-sub,
  .sobre-lead,
  .lv2-proposito-lead,
  .lv2-treatment-summary,
  .open-row-copy > p,
  .bus-note,
  .lv2-faq-a p
) {
  text-align: start;
  text-align-last: auto;
  text-justify: auto;
  hyphens: manual;
  -webkit-hyphens: manual;
  -ms-hyphens: manual;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: pretty;
}
.landing-v2 :is(
  p,
  .lv2-prose p,
  .read-more-body,
  .read-more-body p,
  .lv2-treatment-summary,
  .open-row-copy > p,
  .bus-note,
  .lv2-faq-a p
).is-justified {
  text-align: justify;
  text-align-last: left;
  text-justify: inter-word;
  word-spacing: -0.04em;
}
.landing-v2 p.just-off {
  text-align: left;
  text-align-last: left;
  text-justify: auto;
  word-spacing: normal;
}
.landing-v2 p a.nowrap-contact,
.landing-v2 p .tel,
.landing-v2 .doar-destino-copy p a[href^="mailto:"],
.landing-v2 .doar-destino-copy p a[href^="tel:"] {
  display: inline-block;
  max-width: 100%;
  min-height: 0;
  padding: 0;
  vertical-align: baseline;
  white-space: nowrap;
  word-spacing: normal;
  letter-spacing: normal;
  text-align: start;
  text-justify: auto;
}
.landing-v2 :is(
  h1, h2, h3, h4, h5, h6,
  button, .lv2-btn, label, legend,
  figcaption, .lv2-eyebrow, .lv2-page-kicker, .lv2-hoje, .day-label, .day-row,
  .agenda-badge, .lv2-flyer-contact,
  .sobre-stat, .sobre-stat p, .sobre-when, .sobre-note,
  .lv2-agenda-card p, .lv2-agenda-detail, .home-agenda-days p, .lv2-popup-row p,
  .member-list p,
  .bus-distance, .bus-address,
  form, form p, .lv2-field, .lv2-choice, .lv2-errors, .lv2-ok, .lv2-field-error,
  li, li p, nav
) {
  text-align: start;
  text-align-last: auto;
  text-justify: auto;
  hyphens: manual;
  -webkit-hyphens: manual;
}
.landing-v2 .read-more-body li p {
  text-align: start;
  text-align-last: auto;
  text-justify: auto;
  hyphens: manual;
  -webkit-hyphens: manual;
}
.lv2-note {
  border-left: 3px solid var(--lv2-accent);
  background: var(--lv2-accent-soft);
  color: var(--lv2-heading);
  padding: 0.9rem 1rem;
  border-radius: 0.8rem;
  margin: 1rem 0 1.5rem;
}
.lv2-soon {
  margin-top: 1.5rem;
  padding: 1rem 1.1rem;
  border-radius: 1rem;
  background: var(--lv2-bg-2);
  color: var(--lv2-heading);
}

.lv2-snap { margin-top: 2rem; }
.lv2-snap-track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 0.5rem;
}
.lv2-snap-slide {
  flex: 0 0 86%;
  scroll-snap-align: start;
  margin: 0;
}
@media (min-width: 768px) {
  .lv2-snap-slide { flex-basis: 46%; }
}
@media (min-width: 1024px) {
  .lv2-snap-slide { flex-basis: 31%; }
}
.lv2-gallery-block { content-visibility: auto; contain-intrinsic-size: auto 520px; }
.gallery-chips {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 1rem;
  max-width: 100%;
  margin: 0 0 1.25rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}
.gallery-chips::-webkit-scrollbar { height: 0; }
.gallery-chip-label,
.gallery-chips a {
  flex: none;
  white-space: nowrap;
  color: #0f3f52;
}
.gallery-chip-label { font-size: 0.92rem; }
.gallery-chips a {
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 0.2rem 0;
  text-decoration: none;
}
.gallery-chips a[aria-current="page"] { border-bottom-color: #d4b955; }
.media-stage {
  position: relative;
  display: grid;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
}
.media-stage > video,
.media-stage > img { grid-area: 1 / 1; }
.media-stage > video,
.media-stage > img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 80vh;
  justify-self: center;
}
.media-play {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #0f3f52;
  cursor: pointer;
}
.media-play[hidden],
.is-playing .media-play { display: none; }
.media-stage:not(.is-playing) video::-webkit-media-controls-start-playback-button {
  display: none;
  -webkit-appearance: none;
}
.media-play-disc {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #d4b955;
  color: #0f3f52;
  box-shadow: 0 0 0 12px rgb(15 63 82 / 45%);
}
@media (max-width: 767.98px) {
  .media-play-disc,
  .news-media > .news-play .media-play-disc { width: 60px; height: 60px; }
}
.gallery-empty { grid-column: 1 / -1; margin: 0; }
.lv2-lightbox-bar { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.lv2-gallery-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px) {
  .lv2-gallery-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .lv2-gallery-grid { grid-template-columns: 1fr 1fr 1fr; }
}
.lv2-gallery-grid figure {
  position: relative;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
.lv2-snap figure {
  margin: 0;
  background: #fff;
  border: 1px solid var(--lv2-border);
  border-radius: 1.25rem;
  overflow: hidden;
}
.lv2-gallery-grid .lv2-card-media {
  border-radius: 0.85rem;
  overflow: hidden;
  background: transparent;
}
.lv2-gallery-grid img,
.lv2-gallery-grid video,
.lv2-snap img,
.lv2-snap video {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  background: #d3e4ec;
}
.lv2-snap figcaption {
  padding: 0.7rem 0.9rem 0.9rem;
  color: var(--lv2-muted);
  font-size: 0.85rem;
}

.lv2-carousel-nav {
  display: none;
  gap: 0.5rem;
  margin-top: 0;
}
.lv2-carousel-nav .lv2-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.card-slider-dots {
  justify-content: center;
  margin-top: 0.35rem;
}

.lv2-field { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 1rem; }
.lv2-field span, .lv2-check { color: var(--lv2-heading); font-weight: 600; }
.lv2-field input,
.lv2-field textarea,
.lv2-field select,
.lv2-phone select,
.lv2-birth input {
  font: inherit;
  font-size: 1rem;
  color: var(--lv2-heading);
  background: #fff;
  border: 1px solid var(--lv2-border-strong);
  border-radius: 0.9rem;
  padding: 0.75rem 0.9rem;
  box-sizing: border-box;
}
.lv2-field input,
.lv2-field select,
.lv2-phone select,
.lv2-birth input { min-height: 3rem; }
.lv2-field textarea { min-height: 8rem; resize: vertical; }
.lv2-field input:focus-visible,
.lv2-field textarea:focus-visible,
.lv2-field select:focus-visible,
.lv2-check input:focus-visible {
  outline: 3px solid rgba(212, 185, 85, 0.85);
  outline-offset: 2px;
}
.lv2-check { display: flex; gap: 0.6rem; align-items: flex-start; margin: 0.5rem 0 1rem; font-weight: 500; min-width: 0; overflow-wrap: anywhere; }
.lv2-check span { min-width: 0; overflow-wrap: anywhere; }
.lv2-check input { accent-color: #0f3f52; margin-top: 0.15rem; flex: 0 0 auto; }
fieldset {
  min-width: 0;
  max-width: 100%;
}
.landing-v2 a[href^="mailto:"] { overflow-wrap: anywhere; }
.landing-v2 .tel {
  display: inline-block;
  white-space: nowrap;
  word-spacing: normal;
  letter-spacing: normal;
  text-align: start;
  text-justify: auto;
}
@media (min-width: 769px) {
  .landing-v2 a.nowrap-contact {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
  }
}
.lv2-honeypot { position: absolute; left: -9999px; }
.lv2-errors { color: #8a2a2a; background: #fdecec; border-radius: 0.8rem; padding: 0.8rem 1rem; }
.lv2-ok { color: #0f3f52; background: #e8f3f0; border-radius: 0.8rem; padding: 0.9rem 1rem; }
.lv2-choice-row { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; }
.lv2-choice {
  border: 1px solid var(--lv2-border-strong);
  background: #fff;
  color: var(--lv2-heading);
  border-radius: 999px;
  padding: 0.55rem 0.9rem;
  cursor: pointer;
  font-weight: 600;
}
.lv2-choice:has(input:checked) {
  background: var(--lv2-accent);
  border-color: var(--lv2-accent-strong);
}
.lv2-choice input { position: absolute; opacity: 0; pointer-events: none; }
.lv2-choice:focus-within { outline: 3px solid rgba(212, 185, 85, 0.85); outline-offset: 2px; }

.lv2-faq-cat { margin: 1.75rem 0 0.75rem; font-size: 1.15rem; line-height: 1.3; color: #0f3f52; }
.lv2-faq-list + .lv2-faq-cat { margin-top: 3.5rem; }
.lv2-faq-cat + .lv2-faq-list { margin-top: 1rem; }
.lv2-faq-q span:first-child,
.lv2-faq-a p { min-width: 0; overflow-wrap: anywhere; }
.lv2-faq-item summary { list-style: none; }
.lv2-faq-item summary::-webkit-details-marker { display: none; }
.lv2-faq-item[open] .lv2-faq-chevron { transform: rotate(180deg); color: var(--lv2-accent-strong); }
.lv2-ring-divider__inner {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
}
.lv2-ring-divider__track {
  width: 100%;
  margin-inline: 0;
}
@media (max-width: 639.98px) {
  .lv2-ring-divider__inner { padding-left: 1.25rem; padding-right: 1.25rem; }
}
@media (min-width: 640px) {
  .lv2-ring-divider__inner { padding-left: 2rem; padding-right: 2rem; }
}
@media (min-width: 1024px) {
  .lv2-ring-divider__inner { padding-left: 2.5rem; padding-right: 2.5rem; }
}
.lv2-ring-divider__ecg .ecg-base-line {
  stroke: #0f3f52;
  stroke-opacity: 0.35;
  stroke-width: 1;
}
.ecg-glow,
.ecg-glow-tail {
  fill: none;
  stroke: #e6c35c;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.ecg-glow {
  stroke-width: 1.5;
  stroke-dasharray: 14 986;
  filter: blur(0.45px) drop-shadow(0 0 1.25px rgba(230, 195, 92, 0.55));
}
.ecg-glow-tail {
  stroke-width: 1.15;
  stroke-opacity: 0.38;
  stroke-dasharray: 22 978;
  filter: blur(1.05px);
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
.lv2-bg-noise {
  opacity: 0.72;
  mix-blend-mode: multiply;
  background-image: url("/static/brand/paper-grain.svg");
  background-repeat: repeat;
  background-size: 384px 384px;
}
.lv2-participate-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.65rem;
  margin: 0.2rem 0 1rem;
}
.lv2-participate-actions .lv2-btn {
  margin: 0;
  min-height: 2.75rem;
}

.lv2-footer-meta { color: var(--lv2-muted); display: grid; gap: 0.25rem; }
.lv2-footer-meta a { color: var(--lv2-heading); }
.lv2-recurso-card h3 a,
.lv2-recurso-card h2 a { color: inherit; text-decoration: none; }
.lv2-recurso-card h3 a:hover,
.lv2-recurso-card h2 a:hover {
  color: #0f3f52;
  text-decoration: underline;
  text-decoration-color: #d4b955;
  text-underline-offset: 0.18em;
}

.lv2-icon-tile {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  flex-shrink: 0;
  border-radius: 0.75rem;
  border: 1px solid #d3e4ec;
  background: linear-gradient(160deg, #e8f3f0, #d3e4ec);
  color: #0f3f52;
}
.lv2-icon-tile svg { display: block; }
.lv2-icon-tile::after {
  content: "";
  position: absolute;
  top: 0.28rem;
  right: 0.28rem;
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 999px;
  background: #d4b955;
  box-shadow: 0 0 0 2px #e8f3f0;
}

.lv2-presencial-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  align-content: center;
  min-width: 0;
}
@media (max-width: 600px) {
  .lv2-presencial-grid { grid-template-columns: 1fr; }
}
a.lv2-presencial-card {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  min-height: 5.25rem;
  padding: 0.85rem 0.9rem;
  border-radius: 1rem;
  border: 1px solid var(--lv2-border, #d3e4ec);
  background: #fff;
  color: #0f3f52;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.25;
  box-shadow: var(--lv2-shadow, 0 8px 24px rgba(15, 63, 82, 0.06));
}
a.lv2-presencial-card:visited { color: #0f3f52; }
a.lv2-presencial-card:hover {
  border-color: #d4b955;
  transform: translateY(-2px);
}
a.lv2-presencial-card:hover span {
  text-decoration: underline;
  text-decoration-color: #d4b955;
  text-underline-offset: 0.16em;
}
a.lv2-presencial-card:focus-visible,
a.lv2-distancia-card:focus-visible {
  outline: 3px solid rgba(212, 185, 85, 0.9);
  outline-offset: 3px;
}
.lv2-project-grid { display: grid; gap: 1rem; }
@media (min-width: 800px) { .lv2-project-grid { grid-template-columns: 1fr 1fr; } }

.lv2-nav-drop { position: relative; }
.lv2-nav-drop-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 400;
  color: var(--lv2-muted);
  cursor: pointer;
  white-space: nowrap;
}
.lv2-nav-drop-btn svg { transition: transform 0.2s ease; }
.lv2-nav-drop.is-open .lv2-nav-drop-btn,
.lv2-nav-drop:hover .lv2-nav-drop-btn,
.lv2-nav-drop:focus-within .lv2-nav-drop-btn { color: var(--lv2-heading); }
.lv2-nav-drop.is-open .lv2-nav-drop-btn svg { transform: rotate(180deg); }
.lv2-nav-drop-btn:focus-visible {
  outline: 3px solid rgba(212, 185, 85, 0.9);
  outline-offset: 3px;
  border-radius: 0.4rem;
}
.lv2-nav-mega {
  position: absolute;
  z-index: 70;
  top: calc(100% + 0.75rem);
  left: 50%;
  width: min(40rem, 78vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem 1.25rem;
  padding: 1rem 1rem 0.85rem;
  border: 1px solid #d3e4ec;
  border-radius: 1.1rem;
  background: #fff;
  box-shadow: 0 18px 48px rgba(15, 63, 82, 0.14);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(6px);
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0s linear 0.22s;
}
.lv2-nav-mega::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -0.85rem;
  height: 0.85rem;
}
.lv2-nav-drop:hover .lv2-nav-mega,
.lv2-nav-drop:focus-within .lv2-nav-mega,
.lv2-nav-drop.is-open .lv2-nav-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%);
  transition-delay: 0s;
}
.lv2-nav-mega-col { display: grid; align-content: start; gap: 0.15rem; }
.lv2-nav-mega-col p {
  margin: 0 0 0.35rem;
  padding: 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a7340;
}
.landing-v2 .lv2-nav-mega a {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.35rem 0.4rem;
  border-radius: 0.7rem;
  color: #0f3f52;
  text-decoration: none;
  white-space: normal;
  font-size: 0.92rem;
  font-weight: 600;
}
.landing-v2 .lv2-nav-mega a::after { display: none; }
.landing-v2 .lv2-nav-mega a:hover,
.landing-v2 .lv2-nav-mega a:focus-visible {
  background: #e8f3f0;
  color: #0f3f52;
  outline: none;
}
.lv2-nav-mega .lv2-icon-tile {
  width: 2rem;
  height: 2rem;
  border-radius: 0.55rem;
}
.lv2-nav-mega .lv2-icon-tile svg { width: 16px; height: 16px; }
.lv2-nav-mega-all {
  grid-column: 1 / -1;
  justify-content: center !important;
  margin-top: 0.25rem;
  border-top: 1px solid #d3e4ec;
  border-radius: 0 !important;
  padding-top: 0.7rem !important;
}
.lv2-treat-list { display: grid; align-content: start; gap: 0.15rem; min-width: 0; }
.lv2-treat-list > p {
  margin: 0.45rem 0 0.2rem;
  padding: 0 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a7340;
}
.lv2-treat-list > p:first-child { margin-top: 0; }
.lv2-treat-link.is-previewed { background: #e8f3f0; }
.lv2-treat-list .lv2-nav-mega-all { grid-column: auto; }
.lv2-treat-preview { display: none; }
.lv2-treat-preview-frame {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: 0.9rem;
  overflow: hidden;
  background: #d3e4ec;
}
.lv2-treat-preview-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
}
.lv2-treat-preview-img.is-active { opacity: 1; }
.lv2-treat-preview-line {
  margin: 0.7rem 0 0;
  color: #0f3f52;
  font-size: 0.95rem;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  overflow: hidden;
}
@media (min-width: 1280px) {
  .lv2-treat-mega {
    width: min(46rem, 72vw);
    grid-template-columns: minmax(14rem, 1fr) 17.5rem;
    align-items: start;
    gap: 0.85rem;
  }
  .lv2-treat-list { max-height: min(70vh, 32rem); overflow: auto; }
  .lv2-treat-preview { display: block; min-width: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .lv2-treat-preview-img { transition: opacity 0.35s ease; }
  .lv2-photo-zoom img {
    transition: transform 7s ease;
    transform-origin: center center;
  }
  a.lv2-treatment-card:hover .lv2-photo-zoom img,
  a.lv2-treatment-card:focus-visible .lv2-photo-zoom img,
  .lv2-recurso-card:hover .lv2-photo-zoom img,
  .lv2-recurso-card:focus-within .lv2-photo-zoom img {
    transform: scale(1.07);
  }
}
@media (prefers-reduced-motion: reduce) {
  .lv2-treat-preview-img { transition: none; }
  .lv2-photo-zoom img { transform: none; transition: none; }
}
@media (max-width: 1279.98px) {
  .lv2-treat-mega { grid-template-columns: 1fr; }
  .lv2-nav-drop { width: 100%; }
  .lv2-nav-drop-btn { font-size: 1rem; color: var(--lv2-heading); }
  .lv2-nav-mega {
    position: static;
    left: auto;
    width: 100%;
    margin-top: 0.45rem;
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    display: none;
    transform: none;
    box-shadow: none;
    transition: none;
  }
  .lv2-nav-drop.is-open .lv2-nav-mega {
    display: grid;
    position: static;
    width: 100%;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }
}

.landing-v2 a:not(.lv2-btn) {
  color: inherit;
  text-decoration: none;
}
.landing-v2 .lv2-nav-links a { color: var(--lv2-muted); text-decoration: none; }
/* Plain links and dropdown triggers share one top-level style. The button
   rule above would otherwise keep a larger size than the link media query. */
@media (min-width: 1280px) {
  .landing-v2 .lv2-nav-links > li:not(.lv2-nav-mobile-actions) > a,
  .landing-v2 .lv2-nav-main > li > a,
  .landing-v2 .lv2-nav-drop-btn {
    font-size: 0.92rem;
    font-weight: 400;
    color: var(--lv2-muted);
  }
  .landing-v2 .lv2-nav-links > li:not(.lv2-nav-mobile-actions) > a:hover,
  .landing-v2 .lv2-nav-main > li > a:hover,
  .landing-v2 .lv2-nav-drop:hover .lv2-nav-drop-btn,
  .landing-v2 .lv2-nav-drop:focus-within .lv2-nav-drop-btn,
  .landing-v2 .lv2-nav-drop.is-open .lv2-nav-drop-btn {
    color: var(--lv2-heading);
  }
}
@media (min-width: 1280px) and (max-width: 1499.98px) {
  .landing-v2 .lv2-nav-inner { padding: 0 0.75rem; gap: 0.75rem; }
  .landing-v2 .lv2-nav-links { gap: 1.25rem; }
  .landing-v2 .lv2-nav-main { gap: 1.25rem; }
  .landing-v2 .lv2-nav-links > li:not(.lv2-nav-mobile-actions) > a,
  .landing-v2 .lv2-nav-main > li > a,
  .landing-v2 .lv2-nav-drop-btn { font-size: 0.78rem; }
  .landing-v2 .lv2-nav-brand-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }
  .landing-v2 .lv2-nav-actions { gap: 0.5rem; }
  .landing-v2 .lv2-nav-actions .lv2-btn-nav { padding: 0.4rem 0.55rem; font-size: 0.75rem; }
}
.quote-example {
  display: inline-block;
  margin: 0 0 0.4rem;
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: #f7f1de;
  color: #0f3f52;
  font-size: 0.75rem;
  font-weight: 600;
}
.quote-note { margin: 0.45rem 0 0; color: #5d7e8b; font-size: 0.82rem; }
.landing-v2 a.lv2-social-btn {
  color: #0f3f52;
  background: #e8f3f0;
  text-decoration: none;
}
.landing-v2 a.lv2-social-btn:hover,
.landing-v2 a.lv2-social-btn:focus-visible {
  background: #d4b955;
  color: #0f3f52;
}
.landing-v2 .lv2-prose a,
.landing-v2 .lv2-faq-a a,
.landing-v2 .lv2-check a,
.landing-v2 .lv2-missing-links a,
.landing-v2 .lv2-crumbs a {
  color: #0f3f52;
  text-decoration: underline;
  text-decoration-color: #d4b955;
  text-underline-offset: 0.18em;
}
.landing-v2 .lv2-prose a:hover,
.landing-v2 .lv2-check a:hover,
.landing-v2 .lv2-missing-links a:hover,
.landing-v2 .lv2-crumbs a:hover {
  color: #8a6a12;
}

.lv2-btn-surgery { font-size: 0.8rem; padding: 0.55rem 0.85rem; }
.lv2-nav-actions .lv2-btn-doar { display: inline-flex; }
@media (max-width: 720px) {
  .lv2-btn-surgery:not(.lv2-btn-nav) { max-width: 9.2rem; white-space: normal; text-align: center; line-height: 1.2; }
}
@media (max-width: 600px) {
  .lv2-nav-inner { padding: 0 0.5rem; gap: 0.35rem; }
  .lv2-nav-actions { gap: 0.28rem; flex-shrink: 0; }
  .lv2-nav-brand { flex-shrink: 0; gap: 0; }
  .lv2-nav-brand img { width: 1.85rem; height: 1.85rem; }
  .lv2-hamburger { width: 2rem; height: 2rem; flex-shrink: 0; }
  .lv2-nav-actions .lv2-btn-surgery,
  .lv2-nav-actions .lv2-btn-doar {
    display: inline-flex;
    flex-shrink: 0;
    white-space: nowrap;
    max-width: none;
    font-size: 0.68rem;
    line-height: 1;
    padding: 0.4rem 0.48rem;
  }
}

.lv2-news {
  margin-top: 1.5rem;
  padding: 1.1rem 1.2rem;
  border: 1px solid var(--lv2-border);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.72);
  display: grid;
  gap: 0.8rem;
}
.lv2-news h2 { margin: 0; font-size: 1.35rem; }
.lv2-news form { display: grid; gap: 0.6rem; }
@media (min-width: 800px) {
  .lv2-news { grid-template-columns: minmax(16rem, 22rem) 1fr; align-items: end; }
  .lv2-news form { grid-column: 2; }
}

.lv2-proposito-intro {
  display: grid;
  gap: 1.5rem;
  align-items: center;
}
@media (min-width: 900px) {
  .lv2-proposito-intro { grid-template-columns: 1.05fr 0.95fr; }
}
.landing-v2 .lv2-proposito-grid { grid-template-columns: 1fr; }
@media (min-width: 768px) {
  .landing-v2 .lv2-proposito-grid { grid-template-columns: 1fr 1fr; }
}
.lv2-proposito-block {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.lv2-proposito-block:hover,
.lv2-proposito-block:focus-visible {
  border-color: #d4b955;
  outline: 2px solid #d4b955;
  outline-offset: 2px;
}
.lv2-more { margin-top: auto; padding-top: 0.8rem; color: #8a6a12; font-weight: 600; }

.lv2-video-frame {
  margin: 0;
  border: 1px solid #d3e4ec;
  border-radius: 1.25rem;
  overflow: hidden;
  background: #0f3f52;
}
.lv2-video-frame video {
  display: block;
  width: 100%;
  max-height: 320px;
  height: auto;
  object-fit: cover;
  background: #0f3f52;
}
.lv2-video-controls { padding: 0.6rem 0.8rem; background: #e8f3f0; }
.lv2-video-frame figcaption { padding: 0 0.8rem 0.7rem; background: #e8f3f0; color: #1b4a5c; font-size: 0.95rem; }

.lv2-care-pair { display: grid; gap: 1.25rem; min-width: 0; }
@media (min-width: 800px) {
  .lv2-care-pair { grid-template-columns: 1fr 1fr; align-items: start; }
}
.lv2-proposito-cta { flex-wrap: wrap; gap: 0.75rem; }
.lv2-container,
.lv2-sobre-grid,
.lv2-section-banner,
.lv2-section-sub,
.lv2-snap,
.lv2-snap-track { min-width: 0; max-width: 100%; }
.lv2-section-sub,
.lv2-popup-hours,
a.lv2-presencial-card span,
a.lv2-distancia-card span { min-width: 0; overflow-wrap: break-word; }
.lv2-care-label { margin: 0 0 0.7rem; font-size: 1.05rem; }
a.lv2-distancia-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.7rem;
  min-width: 0;
  min-height: 5.25rem;
  padding: 0.85rem 0.9rem;
  border-radius: 1rem;
  border: 1px solid var(--lv2-border, #d3e4ec);
  background: #fff;
  color: #0f3f52;
  text-decoration: none;
  font-weight: 600;
  line-height: 1.25;
  box-shadow: var(--lv2-shadow, 0 8px 24px rgba(15, 63, 82, 0.06));
}
a.lv2-distancia-card:visited { color: #0f3f52; }
a.lv2-distancia-card:hover {
  border-color: #d4b955;
  transform: translateY(-2px);
}
a.lv2-distancia-card:hover span {
  text-decoration: underline;
  text-decoration-color: #d4b955;
  text-underline-offset: 0.16em;
}
.lv2-care-pair .lv2-btn { margin-top: 0.8rem; }

.lv2-card-media {
  width: min(100%, 267px);
  height: 200px;
  max-height: 200px;
  margin: 0 auto 0.8rem;
  overflow: hidden;
  border-radius: 1rem;
  background: #e8f3f0;
}
.lv2-card-media img,
.lv2-card-media video {
  width: 100%;
  height: 200px;
  max-height: 200px;
  object-fit: cover;
  aspect-ratio: auto;
  display: block;
  background: #d3e4ec;
}
@media (min-width: 769px) {
  .lv2-page article > .lv2-card-media:not(.lv2-card-logo) {
    width: 100%;
    max-width: none;
    height: auto;
    max-height: none;
    margin: 1.25rem 0 1.5rem;
  }
  .lv2-page article > .lv2-card-media:not(.lv2-card-logo) img {
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
}
.lv2-recursos-grid { align-items: stretch; }
.lv2-recurso-card { height: 100%; display: flex; flex-direction: column; }
.lv2-care-groups { display: grid; gap: 0.35rem; margin-top: 1.25rem; }
.lv2-care-groups .lv2-recursos-grid { margin-top: 0; }
.lv2-care-groups .lv2-care-label { margin: 0.7rem 0 0; }
.treat-flow .open-row { padding-top: 0.45rem; padding-bottom: 0.45rem; }
.treat-flow .open-rows > .open-row:first-child { padding-top: 0.1rem; border-top: 0; }
.treat-group-label { margin: 0.7rem 0 0; font-size: 1.05rem; }
.treat-groups > .treat-group-label:first-child { margin-top: 0.2rem; }
a.lv2-treatment-card {
  color: inherit;
  text-decoration: none;
}
a.lv2-treatment-card:hover h2,
a.lv2-treatment-card:hover h3,
.open-row-copy h2 a:hover,
.open-row-copy h3 a:hover {
  text-decoration: underline;
  text-decoration-color: #d4b955;
  text-underline-offset: 0.18em;
}
.open-row-copy h2 a,
.open-row-copy h3 a,
a.open-row-photo { color: inherit; text-decoration: none; }
.open-row-action { margin-top: 0.75rem; }
.lv2-treatment-card .lv2-card-media {
  width: min(100%, 16rem);
  height: 10rem;
  max-height: 10rem;
  margin: 0 auto 0.85rem;
  aspect-ratio: auto;
}
.lv2-treatment-card .lv2-card-media img {
  width: 100%;
  height: 10rem;
  max-height: 10rem;
  object-fit: cover;
  object-position: center;
  aspect-ratio: auto;
}
.lv2-treatment-kicker { margin: 0.7rem 0 0; }
.lv2-treatment-summary { margin-top: 0.45rem; }
.lv2-recurso-card p,
.lv2-proposito-block p,
.lv2-seg-card p,
.lv2-flyer-card p { font-size: 1rem; line-height: 1.55; }

.lv2-agenda-snap .lv2-snap-track {
  align-items: stretch;
  scrollbar-width: none;
}
.lv2-agenda-snap .lv2-snap-track::-webkit-scrollbar { display: none; }
.lv2-agenda-snap .lv2-snap-slide {
  flex: 0 0 17rem;
  width: 17rem;
  height: 15.25rem;
}
.lv2-agenda-card {
  box-sizing: border-box;
  position: relative;
  display: flex;
  flex-direction: column;
  width: 17rem;
  height: 15.25rem;
  min-height: 15.25rem;
  max-height: 15.25rem;
  margin: 0;
  padding: 1rem 1.05rem;
  overflow: hidden;
}
.lv2-agenda-card:hover { transform: none; }
.lv2-agenda-card .lv2-recurso-header { align-items: flex-start; padding-right: 0; }
.lv2-agenda-card .lv2-recurso-header > div { min-width: 0; flex: 1 1 auto; }
.lv2-agenda-card .lv2-hoje,
.lv2-popup-row .lv2-hoje {
  position: static;
  flex: 0 0 auto;
  width: max-content;
  max-width: none;
  margin: 0 0 0 auto;
  font-size: 0.75rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: visible;
}
.lv2-agenda-card h2,
.lv2-agenda-card h3 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.25;
  font-family: var(--lv2-font-body);
}
.lv2-agenda-detail {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
  margin: 0.7rem 0 0;
}
.home-agenda-snap .lv2-agenda-detail {
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  -webkit-box-orient: unset;
  overflow: visible;
}
.home-agenda-snap .lv2-agenda-card {
  max-height: none;
  height: auto;
  overflow: visible;
}
.lv2-agenda-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.2rem;
  align-items: stretch;
}
#agenda-popup.lv2-dialog {
  width: min(960px, calc(100% - 1.5rem));
  max-width: 960px;
  padding-right: 3.5rem;
}
.lv2-popup-x {
  position: absolute;
  top: 0.55rem;
  right: 0.55rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 1px solid #d3e4ec;
  border-radius: 999px;
  background: #fff;
  color: #0f3f52;
  cursor: pointer;
}
#agenda-popup[open] {
  display: flex;
  flex-direction: column;
  max-height: min(92vh, calc(100dvh - 1.5rem));
  overflow: hidden;
}
.lv2-popup-lead { margin: 0 0 0.75rem; }
.lv2-popup-week {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin: 0 0 0.9rem;
  min-width: 0;
  overflow-x: hidden;
}
.lv2-popup-row {
  display: grid;
  grid-template-columns: 6.6rem minmax(8.5rem, 13rem) minmax(0, 1fr) auto;
  gap: 0.35rem 0.75rem;
  align-items: center;
  margin: 0;
  padding: 0.55rem 0.75rem;
  border: 1px solid #d3e4ec;
  border-radius: 0.8rem;
  background: #fff;
  min-width: 0;
}
.lv2-popup-row.is-today {
  border-color: #d4b955;
  box-shadow: inset 0 0 0 1px #d4b955;
}
.lv2-popup-day,
.lv2-popup-name,
.lv2-popup-hours { margin: 0; min-width: 0; }
.lv2-popup-day { font-weight: 700; color: #5c4508; }
.lv2-popup-name { font-size: 0.98rem; font-family: var(--lv2-font-body); }
.lv2-popup-hours { color: #2f5c6c; font-size: 0.9rem; line-height: 1.35; }
.lv2-popup-row .lv2-hoje { position: static; }
.lv2-popup-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.55rem;
}
.lv2-popup-actions .lv2-btn { margin: 0; min-height: 2.75rem; }
@media (max-width: 600px) {
  #agenda-popup.lv2-dialog {
    width: calc(100% - 0.8rem);
    padding: 0.65rem 3.35rem 0.7rem 0.7rem;
  }
  #agenda-popup[open] { max-height: min(78dvh, calc(100dvh - 0.8rem)); }
  #agenda-popup h2 { font-size: 1.12rem; margin-bottom: 0.35rem; }
  .lv2-popup-lead { margin-bottom: 0.4rem; font-size: 0.86rem; }
  .lv2-popup-week { gap: 0.32rem; margin-bottom: 0.5rem; }
  .lv2-popup-row { padding: 0.38rem 0.5rem; }
  .lv2-popup-hours { font-size: 0.82rem; }
  .lv2-popup-x { top: 0.35rem; right: 0.3rem; }
}
@media (max-width: 767px) {
  .lv2-popup-week {
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
    padding-right: 0.15rem;
  }
  .lv2-popup-row {
    grid-template-columns: 1fr auto;
  }
  .lv2-popup-hours { grid-column: 1 / -1; }
}

.lv2-flyer-grid {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media (min-width: 700px) { .lv2-flyer-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .lv2-flyer-grid { grid-template-columns: repeat(4, 1fr); } }
.lv2-flyer-card {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  height: 100%;
  padding: 0.8rem;
  border: 1px solid var(--lv2-border);
  border-radius: 1.1rem;
  background: #fff;
}
.lv2-flyer-card h2 { margin: 0; font-size: 1.15rem; }
.lv2-flyer-media {
  display: grid;
  place-items: center;
  height: 260px;
  max-height: 260px;
  background: #e8f3f0;
  border-radius: 0.8rem;
  overflow: hidden;
}
.lv2-flyer-media img {
  height: 260px;
  max-height: 260px;
  max-width: 100%;
  width: auto;
  object-fit: contain;
}
.lv2-flyer-still { width: min(100%, 220px); margin: 1rem 0; }
.lv2-flyer-contact { font-weight: 600; }

.lv2-social { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.lv2-social-btn {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e8f3f0;
  color: #0f3f52;
  border: 1px solid #d3e4ec;
}
.lv2-social-btn:hover,
.lv2-social-btn:focus-visible { background: #d4b955; color: #0f3f52; }
.lv2-social-address { margin: 0.45rem 0 0; font-size: 0.9rem; color: var(--lv2-muted); }

.landing-v2 .lv2-footer-links {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(5, auto);
  gap: 0.35rem 1.25rem;
  margin-top: 0.8rem;
}
.landing-v2 .lv2-footer-links a,
.landing-v2 .lv2-footer-links .hec-text-btn {
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--lv2-fg);
  text-align: left;
  text-decoration: none;
}
.landing-v2 .lv2-footer-links .hec-text-btn {
  display: inline;
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  cursor: pointer;
}
@media (max-width: 639px) {
  .lv2-footer-cols,
  .lv2-footer-linkscol { min-width: 0; }
  .landing-v2 .lv2-footer-links {
    grid-auto-flow: row;
    grid-template-rows: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: 0.45rem 0.7rem;
  }
  .landing-v2 .lv2-footer-links a,
  .landing-v2 .lv2-footer-links .hec-text-btn {
    display: block;
    font-size: 14px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

.lv2-dialog {
  box-sizing: border-box;
  border: 1px solid #d3e4ec;
  border-radius: 1.25rem;
  padding: 1.25rem 1.35rem 1.4rem;
  max-width: 34rem;
  width: calc(100% - 1.5rem);
  background: #f7fbfa;
  color: #1b4a5c;
  box-shadow: 0 18px 50px rgba(15, 63, 82, 0.18);
}
.lv2-dialog::backdrop { background: rgba(15, 63, 82, 0.45); }
.lv2-dialog h2 { margin: 0 0 0.6rem; font-size: 1.35rem; }
.lv2-dialog :focus,
.lv2-dialog.is-auto-focus :focus-visible { outline: none; }
.lv2-dialog :focus-visible {
  outline: 3px solid #d4b955;
  outline-offset: 3px;
}
.lv2-popup-list { margin: 0.6rem 0 1rem; padding-left: 1.1rem; }
.lv2-popup-list li { margin: 0.25rem 0; }
dialog.lv2-lightbox {
  display: none;
}
dialog.lv2-lightbox[open] {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  width: max-content;
  max-width: 100vw;
  height: max-content;
  max-height: 100vh;
  margin: auto;
  inset: 0;
  padding: 0.75rem;
  overflow: auto;
}
dialog.lv2-lightbox img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(92vw, 100%);
  max-height: min(92vh, calc(100vh - 5.5rem));
  object-fit: contain;
  background: #e8f3f0;
}
.lv2-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1rem 0 1.2rem; }
.lv2-filters a {
  border: 1px solid #d3e4ec;
  border-radius: 999px;
  padding: 0.35rem 0.8rem;
  background: #fff;
  color: #0f3f52;
}
.lv2-filters a[aria-current="page"] { background: #d4b955; }
.lv2-crumbs { display: flex; flex-wrap: wrap; gap: 0.35rem 0.5rem; padding-top: 0.8rem; font-size: 0.92rem; }
.lv2-crumbs a:not(:last-child)::after { content: " / "; text-decoration: none; color: #8aa0a8; }
.lv2-phone { display: flex; gap: 0.6rem; align-items: flex-end; }
.lv2-phone .lv2-field { min-width: 0; }
.lv2-phone-cc { flex: 0 0 9.5rem; }
.lv2-phone-num { flex: 1 1 auto; }
.lv2-phone select,
.lv2-birth input {
  font: inherit;
  font-size: 1rem;
  color: var(--lv2-heading);
  background: #fff;
  border: 1px solid var(--lv2-border-strong);
  border-radius: 0.9rem;
  padding: 0.75rem 0.9rem;
  min-height: 3rem;
  box-sizing: border-box;
}
.lv2-birth {
  border: 1px solid #d3e4ec;
  border-radius: 0.8rem;
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
  align-items: flex-end;
  margin: 0 0 1rem;
  padding: 0.7rem;
}
.lv2-birth legend { color: var(--lv2-heading); font-weight: 600; padding: 0 0.2rem; }
.lv2-birth label { display: grid; gap: 0.25rem; font-weight: 600; }
.lv2-birth input { width: 4.75rem; }
.lv2-birth input[name="birth_year"] { width: 7rem; }
.lv2-birth input:focus-visible {
  outline: 3px solid rgba(212, 185, 85, 0.85);
  outline-offset: 2px;
}
.landing-v2:has(.lv2-page form) .lv2-newsbar { display: none; }
.lv2-missing-links { padding-left: 1.1rem; }
@media (prefers-reduced-motion: reduce) {
  .lv2-dialog,
  .lv2-video-frame video { animation: none; }
}

.lv2-section-banner,
.lv2-section-head .lv2-catalog-header {
  width: 100%;
  max-width: none;
}
.lv2-section-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1.15rem;
}
.lv2-section-head .lv2-section-sub,
.lv2-proposito-lead {
  max-width: 42.5rem;
  margin: 0;
}
.lv2-brand-grid,
.lv2-sobre-grid,
.lv2-proposito-intro { align-items: start; }
.lv2-brand-hero .lv2-brand-title { margin-bottom: 0; }
.lv2-brand-hero .lv2-brand-grid { gap: 1.5rem; }
.lv2-brand-visual .lv2-hero-video { width: 100%; margin: 0; }
.lv2-brand-visual .lv2-hero-video video {
  width: 100%;
  max-height: none;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center 58%;
}
@media (max-width: 768px) {
  .landing-v2 section.lv2-brand-hero { padding-top: 0.75rem; padding-bottom: 1.25rem; }
  .lv2-brand-hero .lv2-brand-grid { gap: 0.85rem; }
  .lv2-brand-visual { order: -1; width: 100%; }
  .lv2-brand-heading { order: 0; }
  .lv2-brand-content { order: 1; }
  .lv2-brand-hero .lv2-brand-title { margin-top: 0; }
  html.js .lv2-hero-intro { display: block; margin: 0 0 0.85rem; }
  html.js .lv2-brand-content.has-intro:not(.is-open) .lv2-brand-subtitle { margin: 0; }
  html.js button.lv2-hero-more {
    display: inline-flex;
    min-height: 44px;
    margin: 0 0 1.25rem;
  }
}
@media (min-width: 1024px) {
  .lv2-brand-grid { align-items: stretch; }
  .lv2-brand-hero .lv2-brand-grid { column-gap: 4rem; row-gap: 1.5rem; }
  .lv2-brand-heading { grid-column: 1 / -1; }
  .lv2-brand-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .lv2-brand-visual {
    position: relative;
    align-self: stretch;
    min-height: 380px;
  }
  .lv2-hero-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center 58%;
  }
  .lv2-brand-visual .lv2-hero-video {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 2rem;
  }
  .lv2-brand-visual .lv2-hero-video video {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center 58%;
  }
}
@media (min-width: 1280px) {
  h1.lv2-brand-title {
    white-space: nowrap;
    font-size: clamp(2.7rem, 4.35vw, 4rem);
    letter-spacing: -0.03em;
  }
}
@media (min-width: 900px) {
  h2.lv2-section-title { white-space: nowrap; }
}
@media (max-width: 760px) {
  h2.lv2-section-title { white-space: normal; }
}

.lv2-agenda-card.is-today {
  border: 1px solid #d4b955;
  box-shadow: inset 0 0 0 1px #d4b955;
}
.lv2-hoje {
  position: static;
  z-index: 1;
  display: inline-block;
  margin: 0;
  padding: 0.08rem 0.45rem;
  border-radius: 999px;
  background: #d4b955;
  color: #0f3f52;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
  justify-self: end;
}

.lv2-social {
  display: grid;
  grid-template-columns: repeat(3, 2.75rem);
  gap: 0.45rem;
  width: max-content;
}
.lv2-flyer-card > .lv2-btn { margin-top: auto; width: 100%; }

.lv2-newsband { padding: 0.4rem 0 0.2rem; }
.lv2-newsband-inner { max-width: 720px; margin: 0 auto; text-align: center; }
.lv2-newsband h2 { margin: 0.35rem 0 0; font-size: 1.45rem; }
.lv2-newsband .lv2-eyebrow { display: inline-flex; align-items: center; gap: 0.35rem; }
.lv2-news-row { display: flex; margin-top: 0.85rem; }
.lv2-news-row input {
  flex: 1;
  min-width: 0;
  border: 1px solid #d3e4ec;
  border-right: 0;
  border-radius: 999px 0 0 999px;
  padding: 0.7rem 1rem;
  font: inherit;
  color: #0f3f52;
  background: #fff;
}
.lv2-news-row button { border-radius: 0 999px 999px 0; white-space: nowrap; }
.lv2-news-consent { margin: 0.65rem 0 0; font-size: 0.82rem; font-weight: 500; text-align: left; }
@media (max-width: 640px) {
  .lv2-news-row { flex-direction: column; gap: 0.45rem; }
  .lv2-news-row input,
  .lv2-news-row button { border-radius: 999px; border-right: 1px solid #d3e4ec; }
}

.lv2-card-logo { background: #f2f7f5; }
.lv2-card-logo img { object-fit: contain; padding: 0.65rem; background: #f2f7f5; }

.landing-v2 h2.lv2-footer-title { margin-top: 1.25rem; }
.lv2-footer-logo {
  display: block;
  width: 10rem;
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
}
.lv2-footer-brandcol { max-width: 18rem; }
.lv2-footer-brandcol .lv2-social {
  grid-template-columns: repeat(3, 3.25rem);
  gap: 0.55rem;
}
.lv2-footer-brandcol .lv2-social-btn {
  width: 3.25rem;
  height: 3.25rem;
}
.lv2-footer-brandcol .lv2-social-btn svg {
  width: 22px;
  height: 22px;
}
@media (max-width: 767px) {
  .lv2-footer-logo { width: 9.25rem; }
  .lv2-footer-brandcol .lv2-social { grid-template-columns: repeat(3, 3rem); }
  .lv2-footer-brandcol .lv2-social-btn { width: 3rem; height: 3rem; }
  .lv2-footer-brandcol .lv2-social-btn svg { width: 20px; height: 20px; }
}

html.newsbar-off .lv2-newsbar { display: none; }
.lv2-newsbar {
  position: fixed;
  z-index: 40;
  left: 0.75rem;
  right: 0.75rem;
  bottom: max(0.75rem, env(safe-area-inset-bottom));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.45rem;
  max-width: 52rem;
  margin-inline: auto;
  padding: 0.55rem 0.55rem 0.55rem 0.85rem;
  border: 1px solid #d3e4ec;
  border-radius: 1rem;
  background: #f7fbfa;
  box-shadow: 0 12px 32px rgba(15, 63, 82, 0.16);
}
.lv2-newsbar form { min-width: 0; }
.lv2-newsbar .lv2-news-row { margin-top: 0; }
.lv2-newsbar .lv2-news-consent { margin-top: 0.4rem; font-size: 13px; }
.lv2-newsbar .lv2-errors,
.lv2-newsbar .lv2-ok { margin: 0 0 0.4rem; font-size: 0.82rem; }
.lv2-newsbar-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #0f3f52;
  cursor: pointer;
}
.lv2-newsbar-close:hover,
.lv2-newsbar-close:focus-visible { background: #e8f3f0; }
.lv2-newsbar-close:focus-visible { outline: 3px solid rgba(212, 185, 85, 0.9); outline-offset: 2px; }
.lv2-newsbar.is-clear {
  visibility: hidden;
  pointer-events: none;
}
@media (max-width: 640px) {
  .lv2-newsbar .lv2-news-row { flex-direction: row; gap: 0; }
  .lv2-newsbar .lv2-news-row input {
    border-radius: 999px 0 0 999px;
    border-right: 0;
    padding: 0.55rem 0.75rem;
  }
  .lv2-newsbar .lv2-news-row button {
    border-radius: 0 999px 999px 0;
    border-right: 0;
    padding-inline: 0.8rem;
  }
}

.lv2-video-controls { display: flex; flex-wrap: wrap; gap: 0.45rem; align-items: center; }
.lv2-sound-btn { display: inline-flex; align-items: center; gap: 0.35rem; }
.lv2-video-controls .lv2-icon-play,
.lv2-video-controls .lv2-icon-pause,
.lv2-video-controls .lv2-icon-muted,
.lv2-video-controls .lv2-icon-sound { display: none; }
.lv2-gallery-grid .lv2-video-controls {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  padding: 0;
  background: transparent;
  transform: translate(-50%, -50%);
}
.lv2-gallery-grid .lv2-sound-btn { display: none; }
.lv2-gallery-grid .lv2-video-play {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 63, 82, 0.75);
  color: #fff;
  box-shadow: none;
}
.lv2-gallery-grid .lv2-video-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.lv2-gallery-grid .lv2-icon-play:not([hidden]),
.lv2-gallery-grid .lv2-icon-pause:not([hidden]) { display: block; }

/* Hero da home: play central discreto + som no canto (mesmo espírito da galeria). */
.lv2-hero-video { position: relative; }
.lv2-hero-video .lv2-video-controls {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  padding: 0;
  margin: 0;
  background: transparent;
  pointer-events: none;
}
.lv2-hero-video .lv2-video-play,
.lv2-hero-video .lv2-sound-btn {
  pointer-events: auto;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(15, 63, 82, 0.72);
  color: #fff;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.lv2-hero-video .lv2-video-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.lv2-hero-video .lv2-sound-btn {
  position: absolute;
  right: 0.65rem;
  bottom: 0.65rem;
}
.lv2-hero-video .lv2-video-play:focus-visible,
.lv2-hero-video .lv2-sound-btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.lv2-hero-video .lv2-video-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.lv2-hero-video .lv2-icon-play:not([hidden]),
.lv2-hero-video .lv2-icon-pause:not([hidden]),
.lv2-hero-video .lv2-icon-muted:not([hidden]),
.lv2-hero-video .lv2-icon-sound:not([hidden]) { display: block; }

.lv2-gallery-grid,
#depoimentos-lista {
  scroll-margin-top: calc(var(--lv2-nav-h) + 0.75rem);
}
.lv2-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.25rem;
}
.lv2-pager ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.lv2-pager .lv2-btn {
  min-width: 44px;
  min-height: 44px;
  padding: 0.4rem 0.9rem;
}
.lv2-pager .lv2-btn.is-current,
.lv2-pager .lv2-btn[aria-current="page"] {
  background: #0f3f52;
  color: #fff;
  border-color: #0f3f52;
}
.lv2-pager .lv2-btn.is-disabled {
  opacity: 0.45;
  pointer-events: none;
}
.lv2-gallery-grid .lv2-card-media {
  width: 100%;
  height: auto;
  max-height: none;
  margin: 0;
  border-radius: 0.85rem;
}
.lv2-gallery-grid .lv2-card-media img,
.lv2-gallery-grid .lv2-card-media video {
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 4 / 3;
}
.lv2-gallery-more { margin-top: 1rem; }
.lv2-nav-mega-single { grid-template-columns: 1fr; width: min(22rem, 78vw); }
.lv2-snap figure { overflow: visible; }
@media (max-width: 480px) {
  .landing-v2 { font-size: 16px; }
  .landing-v2 p,
  .landing-v2 li,
  .lv2-section-sub,
  .lv2-prose p,
  .lv2-faq-a p,
  .lv2-popup-hours,
  .lv2-popup-lead,
  .lv2-agenda-card p {
    font-size: 1rem;
    line-height: 1.5;
  }
  .landing-v2 h1,
  h1.lv2-brand-title,
  .lv2-brand-title,
  .lv2-footer-hero h2 {
    font-size: clamp(1.4rem, 6.2vw, 1.8rem);
    line-height: 1.15;
    letter-spacing: -0.02em;
    white-space: normal;
  }
  .landing-v2 h2,
  .lv2-section-title,
  h2.lv2-section-title,
  .lv2-footer-hero .lv2-footer-sub {
    font-size: clamp(1.2rem, 4.8vw, 1.5rem);
    line-height: 1.2;
    white-space: normal;
  }
  .landing-v2 section { padding: 2.25rem 0; }
  .landing-v2 section.lv2-brand-hero,
  .landing-v2 section.lv2-page { padding: 1.35rem 0 2rem; }
  .lv2-container,
  .lv2-nav-inner,
  .lv2-ring-divider__inner,
  .lv2-nav-links.open {
    padding-left: 1.125rem;
    padding-right: 1.125rem;
  }
  .lv2-nav-inner { gap: 0.35rem; height: auto; min-height: 4.25rem; }
  .lv2-nav-brand img { width: 2.25rem; height: 2.25rem; }
  .lv2-nav-brand { min-height: 44px; }
  .lv2-hamburger { width: 44px; height: 44px; flex-shrink: 0; }
  .lv2-nav-actions { gap: 0.3rem; }
  .lv2-nav-actions .lv2-btn-surgery,
  .lv2-nav-actions .lv2-btn-doar {
    min-width: 44px;
    min-height: 44px;
    padding: 0.3rem 0.45rem;
    font-size: 0.72rem;
    line-height: 1.15;
  }
  .lv2-nav-actions .lv2-btn-surgery {
    max-width: 7.4rem;
    white-space: normal;
    text-align: center;
  }
  .lv2-nav-links.open {
    max-height: calc(100dvh - var(--lv2-nav-h) - 0.5rem);
    overflow-y: auto;
    gap: 0.15rem;
  }
  .lv2-nav-links.open > li > a,
  .lv2-nav-main > li > a,
  .lv2-nav-drop-btn {
    min-height: 44px;
    font-size: 1rem;
  }
  .lv2-nav-drop-btn { width: 100%; justify-content: space-between; }
  .lv2-nav-mega { grid-template-columns: 1fr; }
  .landing-v2 .lv2-nav-mega a { min-height: 44px; font-size: 1rem; padding: 0.45rem 0.5rem; }
  .lv2-gallery-grid { grid-template-columns: 1fr 1fr; gap: 0.65rem; }
  .lv2-hero-photo,
  .lv2-proposito-photo,
  .lv2-page-photo,
  .lv2-card-media,
  .lv2-card-media img,
  .lv2-treatment-card .lv2-card-media,
  .lv2-treatment-card .lv2-card-media img,
  .lv2-card-media video,
  .lv2-video-frame video,
  .lv2-flyer-media,
  .lv2-flyer-media img {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 16 / 10;
    object-fit: cover;
  }
  .lv2-flyer-media { display: block; height: auto; }
  .lv2-agenda-snap .lv2-snap-slide,
  .lv2-agenda-card {
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 11rem;
    max-height: none;
  }
  .lv2-agenda-snap .lv2-snap-slide { flex-basis: 100%; }
  .lv2-presencial-grid,
  .lv2-recursos-grid,
  .lv2-project-grid,
  .lv2-flyer-grid,
  .lv2-care-pair { grid-template-columns: 1fr; }
  .lv2-shell { padding-bottom: 13.5rem; }
  html.newsbar-off .lv2-shell,
  .landing-v2:has(.lv2-page form) .lv2-shell { padding-bottom: 0; }
  .lv2-newsbar-close { width: 44px; height: 44px; }
  .lv2-popup-actions .lv2-btn,
  .lv2-carousel-nav .lv2-btn,
  .lv2-dialog [data-lightbox-close] { min-height: 44px; }
  .lv2-birth input { width: 4.25rem; }
  .lv2-birth input[name="birth_year"] { width: 6.25rem; }
  .lv2-phone { flex-wrap: wrap; }
  .lv2-phone-cc { flex: 1 1 8.25rem; }
  .lv2-phone-num { flex: 1 1 12rem; }
  .lv2-check { align-items: center; min-height: 44px; font-size: 1rem; }
  .lv2-check input {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    flex: 0 0 44px;
    margin: 0;
  }
  .lv2-btn,
  .lv2-choice,
  .lv2-filters a,
  .lv2-faq-q,
  .lv2-news-row input,
  .lv2-news-row button {
    min-height: 44px;
  }
  .lv2-field input,
  .lv2-field textarea,
  .lv2-field select,
  .lv2-birth input,
  .lv2-news-row input { font-size: 1rem; }
  .lv2-newsbar .lv2-news-consent { font-size: 1rem; }
  .lv2-brand-actions .lv2-btn { white-space: normal; }
  .lv2-carousel-dots {
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    row-gap: 0;
  }
  .carousel-dot,
  .carousel-dot.active {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    background: transparent;
    transform: none;
    position: relative;
  }
  .carousel-dot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--lv2-border-strong);
    transform: translate(-50%, -50%);
  }
  .carousel-dot.active::before {
    background: var(--lv2-accent);
    transform: translate(-50%, -50%) scale(1.3);
  }
  .lv2-footer-brandcol .lv2-social { grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; max-width: 12rem; }
  img, video { max-width: 100%; height: auto; }
}

.lv2-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sobre-page { overflow-x: visible; }
.sobre-layout,
.sobre-main,
.sobre-block,
.sobre-card,
.sobre-stat { min-width: 0; max-width: 100%; }
.sobre-hero,
.sobre-split { display: grid; gap: 1.25rem; align-items: center; }
.sobre-hero img,
.sobre-split img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center 58%;
  border-radius: 1.25rem;
  background: #d3e4ec;
}
.sobre-lead,
.sobre-block p,
.sobre-card p { overflow-wrap: anywhere; }
.sobre-lead { margin: 0.8rem 0 0; font-size: 1.15rem; line-height: 1.55; max-width: 40rem; }
.sobre-block { scroll-margin-top: calc(var(--lv2-nav-h) + 4.25rem); padding-top: 2.25rem; }
.sobre-block h2 { margin: 0 0 1rem; }
.sobre-block > p { margin: 0 0 1rem; }
.sobre-cards { display: grid; gap: 0.85rem; }
.sobre-card {
  padding: 1rem 1.05rem;
  border: 1px solid #d3e4ec;
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.78);
}
.sobre-card h3 { margin: 0 0 0.45rem; font-size: 1.05rem; }
.sobre-card p { margin: 0; }
.sobre-card p + p { margin-top: 0.7rem; }
.sobre-highlight { margin-bottom: 1rem; background: #e8f3f0; }
.sobre-highlight .lv2-eyebrow { margin-bottom: 0.4rem; }
.sobre-profile { display: flex; gap: 0.75rem; align-items: flex-start; }
.sobre-profile .lv2-icon-tile { flex: 0 0 auto; }
.sobre-fecho { font-weight: 600; }
.sobre-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.sobre-checks li { display: flex; gap: 0.65rem; align-items: flex-start; min-width: 0; }
.sobre-checks svg { flex: 0 0 auto; color: #8a6a12; margin-top: 0.1rem; }
.sobre-checks span { min-width: 0; overflow-wrap: anywhere; }
.sobre-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 0.9rem; }
.sobre-actions .lv2-btn { white-space: normal; text-align: center; }
.sobre-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
.sobre-stat { padding: 0.9rem; border: 1px solid #d3e4ec; border-radius: 1.1rem; background: #fff; }
.sobre-stat p { margin: 0; }
.sobre-stat-value { margin: 0 0 0.25rem; font-family: var(--lv2-font-display); font-size: clamp(1.6rem, 6vw, 2.3rem); color: #0f3f52; line-height: 1.1; }
.sobre-note { margin-top: 0.8rem; color: #1b4a5c; }
.sobre-timeline { list-style: none; margin: 0; padding: 0 0 0 1.1rem; border-left: 2px solid #d4b955; display: grid; gap: 1rem; }
.sobre-timeline li { min-width: 0; }
.sobre-when { margin: 0 0 0.2rem; font-weight: 700; color: #0f3f52; }
.sobre-index {
  display: flex;
  gap: 0.4rem;
  overflow-x: auto;
  max-width: 100%;
  position: sticky;
  top: var(--lv2-nav-h);
  z-index: 5;
  margin: 0 0 0.5rem;
  padding: 0.35rem 0;
  border: 0;
  box-shadow: none;
  background-color: #e8f3f0;
  background-image:
    radial-gradient(circle at 18% 12%, rgba(211, 228, 236, 0.95) 0%, transparent 46%),
    radial-gradient(circle at 82% 8%, rgba(212, 185, 85, 0.18) 0%, transparent 34%);
  background-attachment: fixed;
  background-repeat: no-repeat;
}
.sobre-index a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.35rem 0.8rem;
  border: 1px solid #d3e4ec;
  border-radius: 999px;
  background: #fff;
  color: #0f3f52;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.92rem;
}
.sobre-index a[aria-current="true"] { background: #0f3f52; color: #fff; border-color: #0f3f52; }
.sobre-index a:focus-visible { outline: 3px solid rgba(212, 185, 85, 0.85); outline-offset: 2px; }
@media (min-width: 800px) {
  .sobre-hero,
  .sobre-split { grid-template-columns: 1.1fr 0.9fr; }
  .sobre-cards-2,
  .sobre-cards-3,
  .sobre-cards-4 { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 769px) {
  .sobre-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 1.75rem; align-items: start; }
  .sobre-index {
    flex-direction: column;
    align-items: stretch;
    position: sticky;
    top: calc(var(--lv2-nav-h) + 1.5rem);
    align-self: start;
    max-height: calc(100dvh - var(--lv2-nav-h) - 3rem);
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    gap: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
    background-image: none;
  }
  .sobre-index a {
    flex: 0 0 auto;
    justify-content: flex-start;
    min-height: 44px;
    padding: 0.5rem 0.7rem 0.5rem 0.85rem;
    border: 0;
    border-radius: 0;
    border-bottom: 1px solid rgb(15 63 82 / 16%);
    border-left: 3px solid transparent;
    background: transparent;
    box-shadow: none;
    color: #1b4a5c;
    font-weight: 500;
  }
  .sobre-index a:last-child { border-bottom: 0; }
  .sobre-index a:hover {
    background: transparent;
    color: #0f3f52;
    text-decoration: underline;
    text-decoration-color: #d4b955;
    text-underline-offset: 0.18em;
  }
  .sobre-index a[aria-current="true"] {
    background: transparent;
    color: #0f3f52;
    font-weight: 700;
    border-left-color: #d4b955;
    border-bottom-color: rgb(15 63 82 / 16%);
  }
  .sobre-index a:focus-visible {
    outline: 3px solid rgba(212, 185, 85, 0.85);
    outline-offset: 2px;
  }
  .sobre-block { scroll-margin-top: calc(var(--lv2-nav-h) + 1rem); }
}
@media (min-width: 1100px) {
  .sobre-cards-3 { grid-template-columns: repeat(3, 1fr); }
  .sobre-cards-4 { grid-template-columns: repeat(4, 1fr); }
}

.path-grid,
.trust-strip,
.quote-list,
.bus-stops,
.contact-place,
.gallery-strip { min-width: 0; }
.path-grid,
.quote-list,
.bus-stops { display: grid; gap: 0.85rem; }
.path-card,
.quote-card,
.bus-stop,
.pix-box,
.trust-strip li {
  min-width: 0;
  overflow-wrap: anywhere;
  border: 1px solid #d3e4ec;
  border-radius: 1.1rem;
  padding: 1rem;
  background: #fff;
}
.path-card h3,
.bus-stop h2 { margin: 0 0 0.45rem; }
.path-actions,
.bus-actions,
.contact-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; align-items: center; }
.path-actions .lv2-btn,
.bus-actions .lv2-btn,
.contact-actions .lv2-btn { white-space: normal; text-align: center; }
.trust-strip { display: grid; gap: 0.75rem; list-style: none; margin: 0; padding: 0; }
.trust-strip li { font-weight: 600; }
.step-list { margin: 0; padding-left: 1.25rem; display: grid; gap: 0.45rem; }
.step-list li { overflow-wrap: anywhere; }
.contact-place { display: grid; gap: 1rem; margin-top: 2rem; }
.contact-map {
  min-width: 0;
  max-width: 100%;
  aspect-ratio: 4 / 5;
  border: 1px solid #d3e4ec;
  border-radius: 1.25rem;
  overflow: hidden;
  background: #d3e4ec;
}
.contact-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.bus-distance { margin: 0; font-weight: 600; }
.bus-stop ul { margin: 0.45rem 0 0; padding-left: 1.1rem; }
.bus-stop li,
.bus-note,
.quote-card p { overflow-wrap: anywhere; }
.bus-note { margin-top: 1.25rem; }
.quote-author { font-weight: 600; }
.quote-photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0.7rem;
  margin: 0 0 0.7rem;
}
.depo-home { display: grid; gap: 1.25rem; min-width: 0; }
.depo-feature { min-width: 0; }
@media (min-width: 900px) {
  .depo-home.has-video { grid-template-columns: minmax(16rem, 0.9fr) minmax(0, 1.1fr); align-items: center; }
}
.quote-marquee { min-width: 0; container-type: inline-size; overflow: hidden; }
.quote-marquee .quote-card {
  box-sizing: border-box;
  flex: 0 0 min(20rem, 78vw);
  width: min(20rem, 78vw);
  max-width: min(20rem, 78vw);
  min-width: 0;
  margin: 0;
}
@media (min-width: 768px) {
  .quote-marquee .quote-card {
    flex-basis: calc((100cqi - 1.5rem) / 3);
    width: calc((100cqi - 1.5rem) / 3);
    max-width: calc((100cqi - 1.5rem) / 3);
  }
}
.pix-qr { display: block; width: min(12rem, 70%); height: auto; }
.lv2-note {
  border-left: 3px solid #d4b955;
  padding: 0.75rem 1rem;
  background: #f7f1de;
  overflow-wrap: anywhere;
}
.agenda-head .lv2-section-sub { margin: 0.75rem 0 0; max-width: 40rem; }
.agenda-paths { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.agenda-paths .lv2-btn { white-space: normal; text-align: center; min-height: 44px; }
#agenda .lv2-proposito-cta { margin-top: 1.25rem; }
.landing-v2 .agenda-trust {
  margin: 0.85rem 0 0;
  max-width: 40rem;
  color: #5d7e8b;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 400;
  text-wrap: pretty;
}
.landing-v2 .agenda-trust span { white-space: normal; }
.doar-page h1.lv2-section-title {
  margin-bottom: 2rem;
  line-height: 1.15;
}
.doar-monthly { margin: 0 0 1rem; }
.landing-v2 section.doar-numeros {
  padding: 2.5rem 0;
  margin: 0;
  min-width: 0;
}
.doar-numeros h2 { margin: 0 0 1rem; }
.doar-numeros .sobre-stat { min-width: 0; }
.doar-numeros .sobre-stat p { overflow-wrap: anywhere; }
@media (max-width: 480px) {
  .agenda-paths { flex-direction: column; align-items: stretch; }
  .agenda-paths .lv2-btn { width: 100%; }
}
.gallery-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.gallery-strip > :nth-child(n+3) { display: none; }
.gallery-strip .lv2-card-media { aspect-ratio: 4 / 3; overflow: hidden; }
.gallery-strip img,
.gallery-strip video { width: 100%; height: 100%; object-fit: cover; display: block; }
.landing-v2 .lv2-nav-links.open {
  background: #f4efe4;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.lv2-nav-mobile-actions { display: none; }
.lv2-nav-links.open .lv2-nav-mobile-actions {
  display: grid;
  gap: 0.45rem;
  padding: 0.75rem 0 0.2rem;
}
.lv2-nav-links.open .lv2-nav-mobile-actions .lv2-btn { white-space: normal; text-align: center; }
@media (min-width: 800px) {
  .path-grid { grid-template-columns: 1fr 1fr; }
  .trust-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .contact-place { grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr); align-items: center; }
  .contact-map { aspect-ratio: 16 / 9; }
  .gallery-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gallery-strip > :nth-child(n+3) { display: block; }
}
@media (min-width: 900px) {
  .lv2-nav-mobile-actions { display: none; }
}
/* On a phone the newsletter bar stays in the page flow so it cannot cover the footer. */
@media (max-width: 767px) {
  .lv2-newsbar {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    width: auto;
    max-width: none;
    margin: 0 0.75rem calc(0.75rem + env(safe-area-inset-bottom, 0px));
  }
  .landing-v2 .lv2-shell { padding-bottom: 0; }
}

.doar-card {
  max-width: 35rem;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
}
.doar-card .lv2-section-title,
.doar-card p,
.doar-card h2,
.doar-card h3 { margin: 0; }
.doar-card .lv2-btn { min-height: 44px; }
.doar-more { font-size: 0.92rem; }
.doar-pix { display: flex; flex-direction: column; align-items: center; gap: 0.65rem; }
.doar-qr svg { width: min(14rem, 70vw); height: auto; display: block; background: transparent; border-radius: 0; }
.doar-pix-key { font-weight: 600; overflow-wrap: anywhere; }
.doar-cnpj { margin: 0; }
.doar-outras { margin-top: 2.5rem; }
.doar-outras ul {
  margin: 0.35rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  text-align: left;
}
.doar-outras li {
  overflow-wrap: anywhere;
  padding: 0.8rem 0;
  border: 0;
  border-top: 1px solid rgb(15 63 82 / 16%);
  background: transparent;
  box-shadow: none;
}
.doar-outras li:first-child { border-top: 0; }
.doar-outras a {
  color: #0f3f52;
  font-weight: 650;
  text-decoration: underline;
  text-decoration-color: #d4b955;
  text-underline-offset: 0.18em;
}
.doar-outras a:hover,
.doar-outras a:focus-visible {
  color: #8a6a12;
  text-decoration-color: #0f3f52;
}
.lv2-copy-fallback {
  position: fixed;
  left: 0;
  top: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.lv2-request-modal {
  background: #f4efe4;
  max-height: min(92dvh, 44rem);
  overflow: auto;
}
html:has(dialog.lv2-request-modal[open]) { overflow: hidden; }
.gallery-marquee,
.lv2-gallery-block { min-width: 0; max-width: 100%; }
.gallery-marquee { overflow: hidden; }
.gallery-track {
  display: flex;
  width: max-content;
  animation: gallery-marquee 70s linear infinite;
}
.gallery-group { display: flex; gap: 0.75rem; padding-right: 0.75rem; }
.gallery-group figure { flex: 0 0 16rem; margin: 0; }
.gallery-group .lv2-card-media { aspect-ratio: 4 / 3; }
@media (hover: hover) and (pointer: fine) {
  .gallery-marquee:hover .gallery-track { animation-play-state: paused; }
}
.gallery-marquee:active .gallery-track,
.gallery-marquee:focus-within .gallery-track { animation-play-state: paused; }
@keyframes gallery-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (max-width: 480px) {
  .gallery-group figure { flex-basis: 72vw; }
  .lv2-request-modal {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: 100dvh;
    margin: 0;
    border-radius: 0;
    background: #f4efe4;
  }
}
/* Conteúdo aberto: só o acordeão de FAQ e os cartões de Projetos na home ficam em caixa. */
.landing-v2 .lv2-recurso-card,
.landing-v2 .lv2-seg-card,
.landing-v2 .quote-card,
.sobre-card,
.bus-stop,
.path-card,
.pix-box,
.trust-strip li,
.sobre-stat,
.lv2-flyer-card {
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
}
.landing-v2 .lv2-recurso-card::before,
.landing-v2 .lv2-recurso-card::after { display: none; }
.landing-v2 .lv2-recurso-card:hover,
.landing-v2 .lv2-seg-card:hover,
.landing-v2 .lv2-flyer-card:hover {
  transform: none;
  background: transparent;
  box-shadow: none;
  border-color: transparent;
}
#projetos .lv2-flyer-card {
  background: #fff;
  border: 1px solid var(--lv2-border);
  border-radius: 1.1rem;
  box-shadow: none;
  padding: 0.8rem;
}

.open-rows { display: flex; flex-direction: column; }
.open-row {
  display: grid;
  gap: 1.15rem;
  align-items: center;
  padding: 1.6rem 0;
  border: 0;
  border-top: 1px solid rgb(15 63 82 / 15%);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: inherit;
  text-decoration: none;
}
.open-rows > .open-row:first-child { border-top: 0; }
.open-row-copy h2,
.open-row-copy h3 { margin: 0; }
.open-row-photo { margin: 0; }
.open-row-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 1rem;
  background: #d3e4ec;
}
@media (max-width: 767.98px) {
  .open-row-photo { order: -1; }
}
@media (min-width: 768px) {
  .open-row { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 2.25rem; }
  .open-row:nth-child(even) .open-row-photo { order: -1; }
  .treat-flow .open-row:nth-child(even) .open-row-photo { order: 0; }
  .treat-flow .open-row.is-photo-left .open-row-photo { order: -1; }
}

.home-agenda-days {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
}
.home-agenda-days li {
  padding: 1.2rem 0;
  border-top: 1px solid rgb(15 63 82 / 15%);
}
.home-agenda-days li:first-child { border-top: 0; }
.home-agenda-days h3 { margin: 0.2rem 0 0.35rem; }
.home-agenda-days p { margin: 0; }
.agenda-badge {
  display: inline-block;
  margin-left: 0.45rem;
  color: #8a6a12;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media (max-width: 768.98px) {
  .home-agenda-days { display: none; }
  .home-agenda-snap { margin-top: 0.55rem; }
  .home-agenda-snap .lv2-snap-track {
    display: flex;
    align-items: stretch;
    gap: 1.5rem;
    padding: 0;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    padding-bottom: 0;
  }
  .home-agenda-snap .lv2-snap-track.is-ready > .lv2-snap-slide:not(.is-settled) :is(h2, h3, p, .day-label, .lv2-hoje, .lv2-eyebrow) {
    visibility: hidden;
  }
  .home-agenda-snap .lv2-snap-slide {
    display: flex;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    height: auto;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    box-sizing: border-box;
  }
  .home-agenda-snap .lv2-agenda-card {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    height: auto;
    min-height: 100%;
  }
  .home-agenda-snap .lv2-carousel-nav { margin-top: 0.3rem; }
  .home-agenda-snap .lv2-carousel-dots { margin-top: 0.2rem; gap: 0.35rem; }
}
@media (min-width: 769px) {
  .home-agenda-days { display: none; }
  .home-agenda-snap { display: block; margin-top: 1.25rem; }
  .home-agenda-snap .lv2-snap-track {
    display: flex;
    align-items: stretch;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    scrollbar-width: none;
    cursor: grab;
    padding-bottom: 0;
  }
  .home-agenda-snap .lv2-snap-track::-webkit-scrollbar { display: none; }
  .home-agenda-snap .lv2-snap-slide {
    display: flex;
    flex: 0 0 calc((100% - 32px) / 3);
    width: calc((100% - 32px) / 3);
    max-width: calc((100% - 32px) / 3);
    height: auto;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    box-sizing: border-box;
  }
  #agenda .home-agenda-snap .lv2-agenda-card,
  #agenda .home-agenda-snap .lv2-agenda-card:hover {
    width: 100%;
    height: auto;
    min-height: 100%;
    max-height: none;
    margin: 0;
    padding: 0.8rem;
    overflow: visible;
    background: #fff;
    border: 1px solid var(--lv2-border);
    border-radius: 1.1rem;
    box-shadow: none;
    transform: none;
  }
}

/* Menu de tela cheia, galeria, cartões e faixas. */
.lv2-menu-bar { display: none; }
.lv2-menu-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  flex: 0 0 44px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #0f3f52;
  cursor: pointer;
}
html.nav-open,
html.nav-open body {
  overflow: hidden;
}
@media (max-width: 1279.98px) {
  .lv2-nav-actions .lv2-btn-surgery { display: none; }
  .lv2-nav-actions .lv2-btn-doar,
  .lv2-nav-actions .lv2-btn-wa { display: inline-flex; }
  .lv2-nav-actions .lv2-btn-wa {
    width: 2.5rem;
    height: 2.5rem;
    min-width: 2.5rem;
    min-height: 2.5rem;
    padding: 0;
    color: #fff;
    background: #25D366;
    border-color: #25D366;
  }
  .lv2-nav-actions .lv2-btn-doar {
    min-height: 2.5rem;
    padding: 0.35rem 0.7rem;
  }
  .lv2-nav.is-open {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: #e8f3f0;
    box-shadow: none;
  }
  .lv2-nav.is-open .lv2-nav-actions .lv2-btn { display: none; }
  .landing-v2 .lv2-nav.is-open .lv2-nav-links.open {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    padding:
      0
      max(1rem, env(safe-area-inset-right))
      0
      max(1rem, env(safe-area-inset-left));
    gap: 0;
    overflow: hidden;
    overscroll-behavior: contain;
    border: 0;
    box-shadow: none;
    background-color: #e8f3f0;
    background-image:
      radial-gradient(circle at 18% 12%, rgba(211, 228, 236, 0.95) 0%, transparent 46%),
      radial-gradient(circle at 82% 8%, rgba(212, 185, 85, 0.18) 0%, transparent 34%);
    background-attachment: fixed;
    background-repeat: no-repeat;
  }
  .lv2-nav-links.open .lv2-nav-scroll {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    width: 100%;
    overflow: hidden;
  }
  .lv2-nav-links.open .lv2-nav-main {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .lv2-nav-links.open .lv2-menu-bar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    position: relative;
    top: auto;
    z-index: 3;
    min-height: 4.25rem;
    width: auto;
    max-width: none;
    min-width: 0;
    margin-left: calc(-1 * max(1rem, env(safe-area-inset-left)));
    margin-right: calc(-1 * max(1rem, env(safe-area-inset-right)));
    padding-top: max(1.5rem, env(safe-area-inset-top));
    padding-bottom: 0.35rem;
    padding-left: max(0.75rem, env(safe-area-inset-left));
    padding-right: max(0.5rem, env(safe-area-inset-right));
    background-color: #e8f3f0;
    background-image: none;
    box-shadow: 0 1px 0 #e8f3f0;
  }
  .lv2-nav-links.open > li,
  .lv2-nav-links.open .lv2-nav-main > li,
  .lv2-nav-links.open .lv2-nav-mega,
  .lv2-nav-links.open .lv2-nav-mega-single,
  .lv2-nav-links.open .lv2-treat-list,
  .lv2-nav-links.open .lv2-nav-mobile-actions {
    min-width: 0;
    max-width: 100%;
  }
  .lv2-nav-links.open a,
  .lv2-nav-links.open .lv2-nav-drop-btn,
  .lv2-nav-links.open .lv2-btn {
    white-space: normal;
    overflow-wrap: anywhere;
    min-width: 0;
    max-width: 100%;
  }
  .lv2-nav-links.open .lv2-menu-bar .lv2-nav-brand {
    flex: 1 1 auto;
    min-width: 0;
    max-width: calc(100% - 44px);
  }
  .lv2-nav-links.open .lv2-menu-bar .lv2-nav-brand span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
  }
  .lv2-nav-links.open .lv2-nav-main > li {
    width: 100%;
    border-top: 1px solid rgb(15 63 82 / 15%);
  }
  .lv2-nav-links.open .lv2-nav-main > li > a,
  .lv2-nav-links.open .lv2-nav-drop-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 3.25rem;
    padding: 0.65rem 0;
    font-family: "Plus Jakarta Sans", var(--lv2-font-display), sans-serif;
    font-size: 1.15rem;
    font-weight: 600;
    color: #0f3f52;
  }
  .lv2-nav-links.open .lv2-nav-drop.is-open .lv2-nav-drop-btn svg { transform: rotate(180deg); }
  .lv2-nav-links.open .lv2-nav-mega,
  .lv2-nav-links.open .lv2-nav-mega-single,
  .lv2-nav-drop.is-open .lv2-nav-mega {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    left: auto;
    transform: none;
  }
  .lv2-nav-links.open .lv2-nav-mega {
    padding: 0 0 0.35rem;
    margin: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .lv2-nav-links.open .lv2-nav-mega-col p,
  .lv2-nav-links.open .lv2-treat-list > p {
    padding-left: 0.85rem;
  }
  .lv2-nav-links.open .lv2-nav-mega a {
    min-height: 2.75rem;
    margin: 0;
    padding: 0.45rem 0 0.45rem 0.85rem;
    border: 0;
    border-top: 1px solid rgb(15 63 82 / 12%);
    border-radius: 0;
    background: transparent;
    font-size: 1rem;
    font-weight: 500;
  }
  .landing-v2 .lv2-nav-links.open .lv2-nav-mega a:hover,
  .landing-v2 .lv2-nav-links.open .lv2-nav-mega a:focus-visible {
    background: transparent;
    color: #0f3f52;
  }
  .lv2-nav-links.open .lv2-nav-mega .lv2-icon-tile {
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .lv2-nav-links.open .lv2-nav-mega .lv2-icon-tile::after { display: none; }
  .lv2-nav-links.open .lv2-nav-mega-all {
    border-top: 1px solid rgb(15 63 82 / 12%);
    border-radius: 0;
  }
  .lv2-nav-links.open .lv2-nav-mobile-actions {
    display: grid;
    flex: 0 0 auto;
    gap: 0.55rem;
    position: static;
    bottom: auto;
    margin-top: 0;
    margin-left: calc(-1 * max(1rem, env(safe-area-inset-left)));
    margin-right: calc(-1 * max(1rem, env(safe-area-inset-right)));
    padding: 1rem max(1rem, env(safe-area-inset-right)) max(0.25rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    background-color: #e8f3f0;
    background-image:
      radial-gradient(circle at 18% 12%, rgba(211, 228, 236, 0.95) 0%, transparent 46%),
      radial-gradient(circle at 82% 8%, rgba(212, 185, 85, 0.18) 0%, transparent 34%);
    background-attachment: fixed;
    background-repeat: no-repeat;
  }
  .lv2-nav-links.open .lv2-nav-mobile-actions .lv2-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3rem;
    padding: 0.9rem 1.25rem;
    text-align: center;
    white-space: normal;
  }
}

.home-gallery {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  display: grid;
  gap: 1.35rem;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.home-gallery.destino-gallery {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  overflow: hidden;
}
.lv2-shell,
.lv2-container,
main,
.home-card-slider,
.open-row,
.open-row-copy,
.open-row-photo,
.lv2-card-media,
.lv2-recursos-grid {
  min-width: 0;
}
.home-card-slider {
  width: 100%;
  max-width: 100%;
}
.home-card-slider img,
.open-row-photo img,
.lv2-card-media img {
  max-width: 100%;
}
.home-gallery-row { overflow: hidden; }
.home-gallery-track {
  display: flex;
  width: max-content;
  animation: home-gallery-left 48s linear infinite;
}
.home-gallery-row.is-back .home-gallery-track { animation-name: home-gallery-right; }
.home-gallery-group { display: flex; gap: 1.5rem; padding-right: 1.5rem; }
.home-gallery-group figure {
  flex: 0 0 420px;
  width: 420px;
  height: 300px;
  margin: 0.35rem 0;
  overflow: hidden;
  border-radius: 1rem;
  box-shadow: 0 12px 28px rgb(15 63 82 / 18%);
}
.home-gallery-group figure:nth-child(odd) { transform: rotate(-2deg); }
.home-gallery-group figure:nth-child(even) { transform: rotate(2deg); }
.home-gallery-group img { display: block; width: 100%; height: 100%; object-fit: cover; }
@keyframes home-gallery-left {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes home-gallery-right {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  .home-gallery-track {
    animation-name: home-gallery-left;
    animation-duration: 48s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-play-state: running;
  }
  .home-gallery-row.is-back .home-gallery-track { animation-name: home-gallery-right; }
}
.destino-feature { margin: 1rem 0 0.25rem; }
.destino-feature .media-stage { background: transparent; }
.destino-feature video {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 70svh;
  aspect-ratio: auto;
  object-fit: contain;
  background: transparent;
}
.destino-video-placeholder {
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 9;
  margin: 0;
  padding: 1rem;
  text-align: center;
  color: #d3e4ec;
  background: linear-gradient(160deg, #0f3f52, #1b4a5c 58%, #0f3f52);
}
.destino-video-placeholder p { margin: 0; }
.destino-page .home-gallery { margin-top: 1.35rem; }
.destino-copy { margin-top: 1.75rem; }
.doar-destino { margin: 0.85rem 0 1rem; }
.doar-destino h2 { margin: 0 0 0.45rem; font-size: 1.35rem; }
.doar-destino .destino-feature { margin-top: 0.15rem; }
.doar-destino .home-gallery { margin-top: 0.65rem; gap: 0.55rem; }
.doar-destino-copy {
  width: min(68ch, 100%);
  margin: 0.75rem auto 0.15rem;
  color: #1b4a5c;
  font-size: 1.05rem;
  line-height: 1.55;
}
@media (min-width: 769px) {
  .doar-destino .doar-destino-copy,
  .destino-page .destino-copy {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
}
.doar-destino-copy p { margin: 0 0 0.8rem; }
.doar-destino-copy a {
  color: #8a6a12;
  font-weight: 650;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: #d4b955;
  text-underline-offset: 0.18em;
}
.read-more-btn,
.doar-destino-more-btn {
  display: inline-flex;
  align-items: center;
  margin: 0 0 0.35rem;
  padding: 0.35rem 0;
  border: 0;
  background: transparent;
  color: #8a6a12;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  text-align: start;
  text-decoration: underline;
  text-decoration-color: #d4b955;
  text-underline-offset: 0.18em;
  cursor: pointer;
  min-height: 44px;
}
.read-more-btn[hidden],
.doar-destino-more-btn[hidden] { display: none; }
.read-more.is-collapsed .read-more-body {
  max-height: var(--read-max);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 1.15em), transparent);
  mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 1.15em), transparent);
}
@supports not ((mask-image: linear-gradient(#000, transparent)) or (-webkit-mask-image: linear-gradient(#000, transparent))) {
  .read-more.is-collapsed .read-more-body { position: relative; }
  .read-more.is-collapsed .read-more-body::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1.25em;
    background: linear-gradient(to bottom, transparent, var(--lv2-bg));
    pointer-events: none;
  }
}
.day-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.4rem;
}
.landing-v2 .day-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 0.35rem;
  padding: 0.08rem 0.62rem 0.12rem;
  border: 1px solid #5c4508;
  border-radius: 999px;
  background: transparent;
  color: #5c4508;
  font-family: var(--lv2-font-body);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.045em;
  line-height: 1.3;
  text-transform: none;
}
.day-row .day-label,
p .day-label { margin: 0 0.4rem 0 0; }
.landing-v2 p span.day-label { padding-inline: 0.4rem; }
.lv2-treatment-kicker.day-label { margin: 0.7rem 0 0.35rem; }
.lv2-popup-day.day-label { margin: 0; }
@media (min-width: 769px) {
  .landing-v2 .day-label { font-size: 1rem; }
}
@media (max-width: 768px) {
  .landing-v2 .day-label { font-size: 0.875rem; }
}
.doar-destino-more-btn:hover,
.doar-destino-more-btn:focus-visible { color: #0f3f52; }
@media (min-width: 769px) {
  .doar-destino-more { display: block; content-visibility: visible; }
}
@media (max-width: 768px) {
  .doar-destino-copy { font-size: 16px; line-height: 1.5; margin-top: 0.4rem; }
  .doar-destino-copy p { margin-bottom: 0.55rem; }
}
@media (max-width: 767px) {
  .doar-destino { margin: 0.35rem 0 0.55rem; }
  .doar-destino h2 { font-size: 1.12rem; margin-bottom: 0.25rem; }
  .doar-destino .destino-feature video,
  .doar-destino .destino-video-placeholder {
    width: auto;
    max-width: 100%;
    max-height: 70svh;
    aspect-ratio: auto;
    object-fit: contain;
  }
  .doar-destino .lv2-video-controls { margin-top: 0.35rem; }
  .doar-destino .home-gallery { margin-top: 0.35rem; gap: 0.3rem; }
  .doar-destino .home-gallery-group figure { flex-basis: 150px; width: 150px; height: 84px; }
}
.story-disclaimer {
  margin: 0.4rem 0 0;
  padding: 0;
  border: 0;
  background: none;
  color: #5d7e8b;
  font-size: 0.86rem;
  font-style: italic;
  font-weight: 450;
  line-height: 1.4;
}
.story-disclaimer::before {
  content: "";
  display: inline-block;
  width: 1.15rem;
  height: 1px;
  margin: 0 0.45rem 0.18rem 0;
  background: #d4b955;
  vertical-align: middle;
}
.depo-lead-cta { margin: 0.85rem 0 0.2rem; }
.quote-list { gap: 0; margin-top: 0.35rem; }
.quote-list > .quote-card {
  border: 0;
  border-top: 1px solid rgb(15 63 82 / 15%);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0.75rem 0;
}
.quote-list > .quote-card:first-child { border-top: 0; }
@media (max-width: 700px) {
  .home-gallery-group figure { flex-basis: 260px; width: 260px; height: 180px; }
}

.home-agenda-snap .lv2-snap-track.is-dragging,
.home-card-slider.is-dragging,
.news-gallery .news-track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}
@media (max-width: 768px) {
  .home-card-slider,
  .news-gallery .news-track { cursor: grab; }
  .home-card-slider {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 1.5rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .home-card-slider::-webkit-scrollbar { display: none; }
  .home-card-slider > .open-row,
  .home-card-slider > .lv2-recurso-card,
  .home-card-slider > .lv2-flyer-card {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .home-card-slider.is-ready > :not(.is-settled) :is(.open-row-copy, h2, .read-more, .lv2-flyer-contact, .lv2-btn) {
    visibility: hidden;
  }
  #projetos .lv2-flyer-grid.home-card-slider {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    grid-template-columns: none;
    gap: 1.5rem;
    align-items: stretch;
  }
  #projetos .home-card-slider > .lv2-flyer-card {
    width: auto;
    max-width: none;
    height: 100%;
    align-self: stretch;
  }
  #projetos .lv2-flyer-card > .lv2-btn { margin-top: auto; }
}

@media (max-width: 480px) {
  #depoimentos .lv2-note,
  #depoimentos .depo-home { max-width: 100%; }
}

.bus-stop {
  border: 0;
  border-top: 1px solid rgb(15 63 82 / 15%);
  border-radius: 0;
  background: transparent;
  padding: 1.1rem 0;
}
.bus-stops > .bus-stop:first-child { border-top: 0; }

.landing-v2 .sobre-rows > section.sobre-block {
  padding: 1.25rem 0;
  margin: 0;
}
@media (min-width: 768px) {
  .landing-v2 .sobre-rows > section.sobre-block {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }
}
.member-list {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 0.8rem;
}
.member-list li { min-width: 0; }
.member-list img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 0.8rem;
}
.member-list p { margin: 0.35rem 0 0; }
@media (min-width: 800px) {
  .member-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.gallery-social {
  margin: 1rem auto;
  text-align: center;
  color: #0f3f52;
}
.gallery-social-title {
  margin: 0 0 0.85rem;
  font-family: var(--lv2-font-display);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.2;
}
.gallery-social-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem 1rem;
  justify-items: center;
}
.gallery-social-list a {
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 0.55rem;
  row-gap: 0.05rem;
  align-items: center;
  justify-content: center;
  color: #0f3f52;
  text-decoration: none;
  background: none;
  border: 0;
  box-shadow: none;
}
.gallery-social-icon {
  grid-row: 1 / span 3;
  display: flex;
  color: #0f3f52;
}
.gallery-social-icon svg {
  display: block;
  width: 2.25rem;
  height: 2.25rem;
}
.gallery-social-count {
  font-family: var(--lv2-font-display);
  font-size: 1.65rem;
  font-weight: 650;
  line-height: 1;
}
.gallery-social-unit,
.gallery-social-name {
  color: #1b4a5c;
  font-size: 0.82rem;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .gallery-social-title { font-size: 1.65rem; }
  .gallery-social-list { gap: 1rem 2.5rem; }
  .gallery-social-icon svg { width: 3rem; height: 3rem; }
  .gallery-social-count { font-size: 2.75rem; }
  .gallery-social-list a { column-gap: 0.75rem; }
}
@media (max-width: 767.98px) {
  .gallery-social-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem 0.35rem;
  }
  .gallery-social-list a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    text-align: center;
    row-gap: 0.15rem;
  }
  .gallery-social-icon { grid-row: auto; }
  .gallery-social-icon svg { width: 2.25rem; height: 2.25rem; }
  .gallery-social-count,
  .gallery-social-unit,
  .gallery-social-name {
    white-space: nowrap;
    max-width: 100%;
  }
  .gallery-social-count { font-size: clamp(0.95rem, 4.4vw, 1.35rem); }
  .gallery-social-unit,
  .gallery-social-name { font-size: 0.72rem; }
}

.hec-cookies,
.lv2-newsbar {
  position: fixed;
  z-index: 45;
  right: 0.85rem;
  bottom: max(0.85rem, env(safe-area-inset-bottom));
  left: auto;
  width: min(22rem, calc(100vw - 1.7rem));
  max-width: 22rem;
  display: none;
  gap: 0.55rem;
  padding: 1rem 1rem 0.9rem;
  border: 1px solid #d3e4ec;
  border-radius: 1.1rem;
  background: #f7fbfa;
  color: #0f3f52;
  box-shadow: 0 16px 36px rgb(15 63 82 / 16%);
}
html.needs-consent .hec-cookies,
.hec-cookies.is-open,
html:not(.newsbar-off) .lv2-newsbar { display: grid; }
html.needs-consent .lv2-newsbar,
html:has(.hec-cookies.is-open) .lv2-newsbar { display: none; }
.hec-kicker {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #8a6a12;
}
.hec-cookies h2,
.lv2-newsbar p { margin: 0; font-size: 0.95rem; line-height: 1.45; font-weight: 500; }
.hec-cookie-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.45rem; }
.hec-cookie-actions .lv2-btn,
.hec-cookie-panel .lv2-btn { width: 100%; }
.hec-cookie-panel { display: grid; gap: 0.35rem; }
.hec-cookie-panel[hidden] { display: none; }
.hec-text-btn {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0f3f52;
  font: inherit;
  text-decoration: underline;
  text-decoration-color: #d4b955;
  text-underline-offset: 0.18em;
  cursor: pointer;
}
.hec-news-note { font-size: 0.78rem; color: #5d7e8b; }
.lv2-newsbar { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.lv2-newsbar form,
.lv2-newsbar .hec-kicker,
.lv2-newsbar > p,
.lv2-newsbar .hec-text-btn { grid-column: 1; }
.lv2-newsbar .lv2-newsbar-close { grid-column: 2; grid-row: 1; }
@media (max-width: 767px) {
  .lv2-newsbar,
  .hec-cookies {
    position: fixed;
    left: 0.75rem;
    right: 0.75rem;
    width: auto;
    max-width: none;
    max-height: 60dvh;
    overflow: auto;
    margin: 0;
  }
  .lv2-newsbar {
    gap: 0.28rem;
    padding: 0.55rem 0.55rem 0.45rem 0.7rem;
  }
  .lv2-newsbar > p { font-size: 0.88rem; line-height: 1.35; }
  .lv2-newsbar .hec-news-note { font-size: 0.75rem; }
  .lv2-newsbar .lv2-news-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
  }
  .lv2-newsbar .lv2-news-row input,
  .lv2-newsbar .lv2-news-row button {
    width: 100%;
    border-radius: 999px;
    border-right: 1px solid #d3e4ec;
  }
  .lv2-newsbar .lv2-news-consent {
    width: 100%;
    min-width: 0;
    min-height: 0;
    margin-top: 0.35rem;
    font-size: 14px;
    line-height: 1.35;
    align-items: flex-start;
  }
  .lv2-newsbar .lv2-news-consent span {
    min-width: 0;
    flex: 1 1 auto;
  }
  .lv2-newsbar .lv2-news-consent input {
    width: 1.05rem;
    height: 1.05rem;
    min-width: 1.05rem;
    min-height: 1.05rem;
    flex: 0 0 1.05rem;
    margin-top: 0.12rem;
  }
  .landing-v2 .lv2-shell { padding-bottom: 0; }
}
@media (min-width: 768px) {
  .lv2-newsbar {
    width: min(460px, calc(100vw - 1.7rem));
    max-width: 460px;
    padding-left: 0.75rem;
    padding-right: 0.65rem;
  }
  .lv2-newsbar .lv2-news-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
  }
  .lv2-newsbar .lv2-news-row input,
  .lv2-newsbar .lv2-news-row button {
    width: 100%;
    border-radius: 999px;
    border-right: 1px solid #d3e4ec;
  }
  .lv2-newsbar .lv2-news-row input {
    font-size: 15px;
    min-height: 2.75rem;
    padding: 0.55rem 0.4rem;
  }
}
.landing-v2 .doar-outras a {
  color: #8a6a12;
  font-weight: 650;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: #d4b955;
  text-underline-offset: 0.2em;
}
.landing-v2 .doar-outras a:hover,
.landing-v2 .doar-outras a:focus-visible {
  color: #0f3f52;
  text-decoration-color: #8a6a12;
}
.landing-v2 .doar-outras strong { color: #0f3f52; font-weight: 750; }
.bus-walk {
  display: inline-block;
  max-width: 100%;
  margin-top: 0.55rem;
  font-size: 0.95rem;
  font-weight: 700;
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.45;
}
.bus-map { margin-top: 1.35rem; }
.bus-map-frame {
  border-radius: 1rem;
  overflow: hidden;
  background: #d3e4ec;
}
.bus-map-frame iframe {
  display: block;
  width: 100%;
  height: 360px;
  border: 0;
}
.bus-address { margin: 0.75rem 0 0.2rem; }
.bus-map-link { font-size: 0.92rem; }
@media (max-width: 767px) {
  .bus-map-frame iframe { height: 280px; }
}
.lv2-agenda-note.doar-destino-copy {
  width: min(62ch, 100%);
  margin: 0.15rem 0 0;
  text-align: left;
}
@media (max-width: 767.98px) {
  .lv2-hero-video { position: relative; }
  .lv2-hero-video figcaption,
  .lv2-hero-video .lv2-video-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .lv2-gallery-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
  }
  .lv2-gallery-grid .lv2-card-media,
  .lv2-gallery-grid .lv2-card-media img,
  .lv2-gallery-grid .lv2-card-media video {
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }
}

.lv2-page-kicker,
.lv2-hoje,
.agenda-badge,
figcaption,
.lv2-snap figcaption,
.landing-v2 .agenda-trust { font-size: 0.875rem; }
.lv2-field-error {
  margin: 0.2rem 0 0.55rem;
  color: #8a2a2a;
  font-size: 0.95rem;
  font-weight: 650;
}
.landing-v2 h2.doar-monthly { margin: 28px 0 1rem; }
.lv2-page .lv2-prose > h2,
.lv2-sobre-grid > div > h2 { margin-top: 1.75rem; margin-bottom: 0.65rem; }
.sobre-block .open-row-copy h2 {
  margin: 0 0 0.35rem;
  font-size: clamp(1.6rem, 5vw, 2.15rem);
}
.sobre-block .open-row-copy h3 {
  margin: 1.5rem 0 0.45rem;
  font-family: var(--lv2-font-body);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
}
.doar-numeros .sobre-stat-value {
  font-size: clamp(2rem, 9vw, 2.8rem);
  font-weight: 700;
  line-height: 1;
}
.doar-numeros .sobre-stat p:last-child { font-size: 0.85rem; font-weight: 500; }
.doar-outras { text-align: left; align-items: stretch; }
.doar-outras h2,
.doar-outras h3,
.doar-outras p,
.doar-outras ul { text-align: left; width: 100%; }
body:has(.doar-page) .lv2-footer-hero { display: none; }
.landing-v2 .lv2-footer-official a,
.landing-v2 .doar-destino-copy a[href^="tel:"],
.landing-v2 .doar-destino-copy a[href^="mailto:"],
.landing-v2 a.doar-more,
.landing-v2 a.bus-walk,
.landing-v2 a.bus-map-link,
.landing-v2 a[href*="linhas.eptc.com.br"] {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #8a6a12;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: #d4b955;
  text-underline-offset: 0.18em;
}
.landing-v2 a.bus-walk {
  display: inline-block;
  max-width: 100%;
  font-weight: 700;
  white-space: normal;
  overflow-wrap: break-word;
  line-height: 1.45;
  text-wrap: pretty;
}
.landing-v2 .projetos-copy h2 {
  margin: 1.6rem 0 0.55rem;
  padding-top: 0.9rem;
  border-top: 1px solid rgb(15 63 82 / 18%);
  font-size: clamp(1.25rem, 4.2vw, 1.6rem);
  line-height: 1.25;
}
.projetos-copy ul {
  list-style: none;
  margin: 0.2rem 0 1rem;
  padding: 0;
}
.landing-v2 .projetos-copy li {
  padding: 0.7rem 0;
  border-top: 1px solid rgb(15 63 82 / 18%);
}
.landing-v2 .projetos-copy li + li { border-top: 1px solid rgb(15 63 82 / 18%); }
.landing-v2 .projetos-copy li:last-child { border-bottom: 1px solid rgb(15 63 82 / 18%); }
.back-top { display: none; }
@media (max-width: 767.98px) {
  .landing-v2 section { padding-top: 1.35rem; padding-bottom: 1.35rem; }
  .landing-v2 .lv2-ring-divider { padding-top: 0.15rem; padding-bottom: 0.15rem; }
  .lv2-ring-divider__emblem { width: 2.15rem; height: 2.15rem; }
  .quote-marquee .quote-card {
    flex-basis: 85vw;
    width: 85vw;
    max-width: 85vw;
  }
  .gallery-social-unit,
  .gallery-social-name { font-size: 0.875rem; }
  .lv2-nav-brand { min-width: 44px; min-height: 44px; }
  .lv2-menu-close { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
  .lv2-nav-actions .lv2-btn-wa {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
  .lv2-nav-actions .lv2-btn-doar {
    min-width: 44px;
    min-height: 44px;
    font-size: 13px;
    padding: 0 0.7rem;
  }
  .landing-v2 .lv2-footer-links a,
  .landing-v2 .lv2-footer-links .hec-text-btn {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 44px;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
  }
  .landing-v2 a.doar-more,
  .landing-v2 a.bus-map-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .landing-v2 a.bus-walk {
    display: inline-block;
    max-width: 100%;
    min-height: 44px;
    white-space: normal;
  }
  .lv2-brand-visual .lv2-hero-video {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    overflow: hidden;
    border: 0;
    border-radius: 1.25rem;
    background: #0f3f52;
    box-shadow: none;
  }
  .lv2-brand-visual .lv2-hero-video video,
  .lv2-brand-visual .lv2-hero-photo {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 70svh;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center 42%;
    margin: 0;
    border-radius: 1.25rem;
    background: #0f3f52;
  }
  .destino-feature {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }
  .destino-feature video {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 70svh;
    aspect-ratio: auto;
    object-fit: contain;
    margin-inline: auto;
    background: transparent;
  }
  .destino-feature .lv2-video-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .back-top {
    position: fixed;
    right: 0.75rem;
    left: auto;
    z-index: 40;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #fff;
    cursor: pointer;
  }
  .back-top::before {
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: rgba(15, 63, 82, 0.55);
  }
  .back-top svg { position: relative; z-index: 1; display: block; }
  .back-top[hidden] { display: none; }
  .doar-destino .destino-feature video {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 70vh;
    aspect-ratio: auto;
    object-fit: contain;
    margin-inline: auto;
    background: transparent;
    border: 0;
  }
  .lv2-newsbar {
    left: 8px;
    right: 8px;
    width: auto;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 15px;
    padding-right: 15px;
  }
  .lv2-newsbar form {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
  }
  .lv2-newsbar .lv2-news-row {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }
  .lv2-newsbar .lv2-news-row input {
    width: 100%;
    max-width: none;
    font-size: 16px;
  }
}
.lv2-agenda-card .lv2-hoje,
.lv2-popup-row .lv2-hoje,
.landing-v2 .lv2-badge { font-size: 13px; }
.landing-v2 .lv2-footer-links a,
.landing-v2 .lv2-footer-links .hec-text-btn { font-size: 14px; }

@media (max-width: 1279.98px) {
  .lv2-nav-inner { min-width: 0; }
  .lv2-nav-brand {
    flex: 1 1 auto;
    min-width: 0;
    gap: 0.35rem;
    align-items: center;
  }
  .lv2-nav-brand img { width: 1.85rem; height: 1.85rem; flex: 0 0 auto; }
  .lv2-nav-brand-text {
    position: static;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: auto;
    height: auto;
    max-width: none;
    margin: 0;
    overflow: hidden;
    clip: unset;
    white-space: normal;
    font-family: var(--lv2-font-display);
    font-weight: 650;
    font-size: clamp(13px, 4.1vw, 16px);
    line-height: 1.05;
    letter-spacing: -0.02em;
    text-transform: none;
    color: #0f3f52;
  }
  .lv2-brand-name,
  .lv2-brand-nsf { display: block; min-width: 0; }
  .lv2-brand-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .lv2-nav-actions { flex: 0 0 auto; gap: 0.2rem; }
  .lv2-hamburger { flex-shrink: 0; }
}
@media (max-width: 430px) {
  .lv2-nav-inner { padding-left: 0.45rem; padding-right: 0.45rem; }
}
@media (max-width: 359.98px) {
  .lv2-nav-inner { padding-left: 0.35rem; padding-right: 0.35rem; gap: 0.2rem; }
  .lv2-nav-brand { gap: 0.28rem; }
  .lv2-nav-brand img { width: 1.6rem; height: 1.6rem; }
  .lv2-nav-brand-text { font-size: 13px; }
  .lv2-nav-actions { gap: 0.12rem; }
  .lv2-nav-actions .lv2-btn-doar { padding: 0 0.35rem; font-size: 12px; }
}
@media (min-width: 1280px) {
  .lv2-brand-nsf { display: none; }
}

.detail-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 0 0 1.25rem;
  overflow: visible;
  border-radius: 0;
  background: transparent;
}
.detail-hero .media-stage {
  border-radius: 1.25rem;
  overflow: hidden;
  background: #0f3f52;
}
.detail-hero > .detail-hero-photo {
  display: block;
  width: 100%;
  height: auto;
  max-height: 70svh;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center 42%;
  background: #0f3f52;
  border-radius: 1.25rem;
}
.detail-hero .media-stage video,
.detail-hero .media-stage .detail-hero-photo {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 70svh;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center center;
  background: #0f3f52;
}
@media (max-width: 768px) {
  .detail-hero > .detail-hero-photo {
    aspect-ratio: 4 / 5;
    max-height: 70svh;
  }
  .detail-hero .media-stage video,
  .detail-hero .media-stage .detail-hero-photo {
    max-height: 70svh;
    aspect-ratio: auto;
  }
}
.detail-heading.is-text {
  margin: 0 0 0.35rem;
  padding: 0 0 0.35rem;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.detail-heading.is-text .lv2-section-title { margin-bottom: 0.35rem; }
.detail-heading.is-text .lv2-section-sub,
.detail-heading.is-text .day-label { margin: 0 0 0.4rem; }
.detail-rows { display: flex; flex-direction: column; gap: 0; margin-top: 0.35rem; }
.landing-v2 section.detail-row {
  display: block;
  width: 100%;
  min-width: 0;
  padding: 1.15rem 0;
  border-top: 1px solid rgb(15 63 82 / 16%);
}
.landing-v2 section.detail-row:first-child { border-top: 0; padding-top: 0.35rem; }
.detail-row .detail-copy { min-width: 0; width: 100%; }
.detail-photo { margin: 0; }
.detail-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 1.25rem;
}
.detail-spare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.detail-spare img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 1rem;
}
@media (min-width: 800px) {
  .landing-v2 section.detail-row.has-photo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2rem;
    align-items: center;
  }
  .landing-v2 section.detail-row.has-photo .detail-photo { order: -1; }
  .landing-v2 section.detail-row.is-flip .detail-photo { order: 2; }
}
@media (max-width: 799.98px) {
  .landing-v2 section.detail-row.has-photo { display: grid; gap: 1rem; }
  .landing-v2 section.detail-row .detail-photo { order: -1; }
}
.admin-gallery-row {
  display: grid;
  gap: 0.4rem;
  margin: 0.8rem 0;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid #d3e4ec;
}

.contact-photo {
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  margin: 0 0 0.85rem;
  aspect-ratio: auto;
}
.contact-photo img {
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center center;
}
.lv2-page .lv2-sobre-grid > aside .lv2-social {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 100%;
  gap: 0.45rem;
}

.landing-v2 section.news-page {
  padding: 3rem 0 4rem;
}
.news-page .lv2-prose,
.projects-page .lv2-prose { max-width: none; }
@media (min-width: 769px) {
  .landing-v2 .news-page > .lv2-container.reading-column,
  .landing-v2 .projects-page > .lv2-container.reading-column {
    width: min(760px, 100%);
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }
  .projects-page .lv2-flyer-grid { grid-template-columns: 1fr 1fr; }
}
.news-home-head { margin: 0; }
.news-home-title {
  margin: 0 0 0.45rem;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.15;
}
.news-home-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  margin: 0.35rem 0 0;
}
@media (max-width: 767.98px) {
  .landing-v2 section.news-home { padding-bottom: calc(1.35rem + 5.5rem); }
  .news-home-links { padding-bottom: 0.25rem; scroll-margin-bottom: 5.5rem; }
}
.home-agenda-snap .lv2-carousel-dots,
.card-slider-dots { margin-top: 0.35rem; }
@media (min-width: 769px) {
  .news-home-head { grid-column: 1 / -1; }
}
.landing-v2 section.news-home {
  padding: 2.5rem 0 4rem;
  border-top: 1px solid rgb(15 63 82 / 16%);
}
.landing-v2 .news-feed > article {
  padding: 1.75rem 0;
  border-bottom: 1px solid rgb(15 63 82 / 16%);
  background: transparent;
  box-shadow: none;
}
.landing-v2 .news-feed > article:first-child { padding-top: 0; }
.news-home-grid {
  display: grid;
  gap: 1.25rem;
  align-items: start;
}
.news-date {
  margin: 0 0 0.35rem;
  color: #5d7e8b;
  font-size: 0.95rem;
}
.news-empty,
.news-preview {
  margin: 1rem 0 0;
  color: #0f3f52;
}
.news-preview {
  padding: 0.7rem 0;
  border-bottom: 1px solid rgb(15 63 82 / 16%);
}
.news-more { margin-top: 1.5rem; }
.news-photo-link,
.news-gallery { display: block; margin: 0 0 1rem; }
.news-media {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 0 1rem;
}
.news-photo-link img,
.news-media img,
.news-gallery img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
@media (max-width: 768px) {
  .news-home .news-photo-link img,
  .news-home .news-media img,
  .news-home .news-media video {
    max-height: 70svh;
    object-fit: cover;
  }
}
.news-media { position: relative; }
.news-play {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0.55rem 0.9rem;
  border: 0;
  border-radius: 999px;
  background: #0f3f52;
  color: #fff;
  font: inherit;
  cursor: pointer;
}
.news-media > .news-play {
  position: relative;
  display: block;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
}
.news-media > .news-play img {
  width: auto;
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
}
.news-media > .news-play .media-play-disc {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 72px;
  height: 72px;
  min-height: 0;
  padding: 0;
}
.news-gallery .news-track {
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.news-gallery .news-track::-webkit-scrollbar { display: none; }
.news-gallery .news-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  margin: 0;
}
.news-gallery .lv2-carousel-dots { margin-top: 0.35rem; }
@media (min-width: 769px) {
  .landing-v2 .news-photo-link img,
  .landing-v2 .news-gallery img,
  .landing-v2 .news-media img {
    width: auto;
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
    object-position: left center;
  }
  .landing-v2 .news-page .news-photo-link img,
  .landing-v2 .news-page .news-gallery img {
    width: 100%;
    max-width: 100%;
    max-height: 80vh;
    height: auto;
    object-fit: contain;
    object-position: center center;
    margin-inline: auto;
  }
  .landing-v2 .news-page .news-media .media-stage > video,
  .landing-v2 .news-media .media-stage > video {
    width: auto;
    max-width: 100%;
    max-height: 80vh;
    height: auto;
    object-fit: contain;
    object-position: center center;
  }
  .news-home-grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
  .news-gallery .news-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    scroll-snap-type: none;
  }
  .news-gallery .news-slide { flex: none; }
  .news-gallery .lv2-carousel-dots { display: none; }
}

/* Imagem responsiva: o <picture> não muda o layout da <img> que ele envolve. */
.media-pic { display: contents; }
