/* Herdy page — hero fullscreen (index.html ?hero=fullscreen pattern) */
.herdy-page .wrap {
  max-width: 720px;
  padding: 0 20px 48px;
}
.herdy-page .card.herdy-card-body {
  position: relative;
  z-index: 3;
  margin-top: 24px;
}

/* Glass panels — video fixed atrás; conteúdo semi-transparente (padrão index) */
body.theme-carbon.herdy-page .card.herdy-card-body,
.herdy-page .card.herdy-card-body {
  background: rgba(13, 30, 51, 0.48);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(42, 64, 96, 0.45);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}
.herdy-page .herdy-card-body .section-h2,
.herdy-page .herdy-card-body h3,
.herdy-page .herdy-card-body .stat-box .num {
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55);
}
.herdy-page .herdy-card-body p,
.herdy-page .herdy-card-body li,
.herdy-page .herdy-card-body .bio-block p,
.herdy-page .herdy-card-body .stat-box .lbl,
.herdy-page .herdy-card-body .compare td {
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}

/* Hero — full viewport block, video behind text */
.herdy-video-hero {
  position: relative;
  z-index: 3;
  flex-shrink: 0;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  height: 100vh;
  height: 100dvh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  text-align: center;
}
@media (min-width: 640px) {
  .herdy-video-hero { text-align: left; }
}
.herdy-video-hero--tall-content {
  height: auto;
  min-height: 100svh;
  min-height: 100dvh;
  overflow: visible;
  padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
  justify-content: flex-start;
}

/* Hero hub — logo + copy como um bloco (sem vão entre nav e texto) */
.herdy-video-hero--logo-stack {
  height: auto;
  min-height: 100svh;
  min-height: 100dvh;
  overflow: visible;
  justify-content: flex-start;
}
.herdy-video-hero--logo-stack .herdy-video-content {
  position: relative;
  margin-top: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 0.35rem;
  padding-top: max(4px, env(safe-area-inset-top, 0px));
  padding-bottom: max(16px, env(safe-area-inset-bottom, 0px) + 12px);
}
@media (min-width: 640px) {
  .herdy-video-hero--logo-stack .herdy-video-content {
    align-items: stretch;
    gap: 0.5rem;
  }
}
.herdy-video-hero--logo-stack .herdy-hero-logo-top {
  margin-bottom: 0;
  padding: 0;
}
.herdy-video-hero--logo-stack .herdy-hero-head--stack {
  gap: 8px;
}
/* Hero — emblema no canto da viewport (maior que a faixa Surf Camp) */
.herdy-video-hero--logo-stack > .herdy-hero-logo-top--corner {
  position: absolute;
  top: max(44px, env(safe-area-inset-top, 0px) + 38px);
  right: max(12px, env(safe-area-inset-right, 0px) + 8px);
  left: auto;
  width: auto;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  z-index: 4;
  pointer-events: none;
}
.herdy-video-hero--logo-stack > .herdy-hero-logo-top--corner .herdy-surf-camp-logo,
.herdy-video-hero--logo-stack > .herdy-hero-logo-top--corner .herdy-surf-camp-mark {
  margin: 0;
  pointer-events: auto;
}
@media (min-width: 640px) {
  .herdy-video-hero--logo-stack > .herdy-hero-logo-top--corner {
    top: max(48px, env(safe-area-inset-top, 0px) + 42px);
    right: max(18px, env(safe-area-inset-right, 0px) + 14px);
  }
}
@media (min-width: 900px) {
  .herdy-video-hero--logo-stack > .herdy-hero-logo-top--corner {
    top: max(52px, env(safe-area-inset-top, 0px) + 46px);
    right: max(24px, env(safe-area-inset-right, 0px) + 20px);
  }
}
.herdy-video-hero--logo-stack .herdy-hero-head--stack {
  width: 100%;
}
.herdy-video-hero--logo-stack .herdy-hero-logo-top {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 0 4px;
}
.herdy-video-hero--logo-stack .herdy-hero-text {
  box-sizing: border-box;
  padding-right: 0;
}
/* ~3× o tamanho anterior do hub (520/480 → 1560/1440 caps) */
.herdy-video-hero--logo-stack .herdy-logo-official--hero {
  width: min(98vw, 1560px);
  max-height: min(78vh, 1440px);
}
@media (min-width: 640px) {
  .herdy-video-hero--logo-stack .herdy-logo-official--hero {
    width: min(96vw, 1740px);
    max-height: min(82vh, 1560px);
  }
}
@media (min-width: 900px) {
  .herdy-video-hero--logo-stack .herdy-logo-official--hero {
    width: min(94vw, 1920px);
    max-height: min(85vh, 1680px);
  }
}

/* Logo Guilherme Herdy Surf Camp — recorte circular (emblema) */
.herdy-surf-camp-logo {
  display: block;
  margin: 0 auto;
  border-radius: 50%;
  object-fit: cover;
  object-position: center center;
  aspect-ratio: 1 / 1;
  opacity: 0.72;
  border: 2px solid rgba(255, 255, 255, 0.18);
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.45),
    0 0 0 1px rgba(0, 180, 216, 0.28);
  transition: opacity 0.25s ease;
}
a:hover .herdy-surf-camp-logo,
a:focus-visible .herdy-surf-camp-logo {
  opacity: 0.96;
}
.herdy-surf-camp-logo--hero {
  width: min(46vw, 200px);
  height: min(46vw, 200px);
  max-width: min(28vh, 220px);
  max-height: min(28vh, 220px);
  opacity: 0.68;
}
@media (min-width: 640px) {
  .herdy-surf-camp-logo--hero {
    width: min(36vw, 220px);
    height: min(36vw, 220px);
    max-width: 220px;
    max-height: 220px;
    opacity: 0.7;
  }
}
@media (min-width: 900px) {
  .herdy-surf-camp-logo--hero {
    width: 240px;
    height: 240px;
    max-width: 240px;
    max-height: 240px;
    opacity: 0.72;
  }
}
/* Tamanho emblema — faixa Surf Camp (referência aprovada) */
.herdy-surf-camp-logo--emblema,
.herdy-camp-banner__logo .herdy-surf-camp-logo--camp {
  width: min(28vw, 96px);
  height: min(28vw, 96px);
  max-width: min(18vh, 104px);
  max-height: min(18vh, 104px);
  opacity: 0.62;
}
@media (min-width: 640px) {
  .herdy-surf-camp-logo--emblema,
  .herdy-camp-banner__logo .herdy-surf-camp-logo--camp {
    width: 104px;
    height: 104px;
    max-width: 104px;
    max-height: 104px;
    opacity: 0.66;
  }
}
/* Marca Surf Camp (triângulo) — PNG transparente, tratamento branco no hero/faixas */
.herdy-surf-camp-mark {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.45));
}
.herdy-surf-camp-mark--camp-hero,
.herdy-video-hero--logo-stack .herdy-surf-camp-mark--camp-hero {
  opacity: 1;
  filter: none;
}
@media (min-width: 640px) {
  .herdy-surf-camp-mark--camp-hero,
  .herdy-video-hero--logo-stack .herdy-surf-camp-mark--camp-hero {
    opacity: 1;
  }
}
@media (min-width: 900px) {
  .herdy-surf-camp-mark--camp-hero,
  .herdy-video-hero--logo-stack .herdy-surf-camp-mark--camp-hero {
    opacity: 1;
  }
}
.herdy-video-hero--logo-stack > .herdy-hero-logo-top--corner .herdy-surf-camp-mark--hero-corner {
  height: min(46vh, 248px);
  width: auto;
  max-width: min(44vw, 236px);
  aspect-ratio: 343 / 309;
  opacity: 0.68;
}
@media (min-width: 640px) {
  .herdy-video-hero--logo-stack > .herdy-hero-logo-top--corner .herdy-surf-camp-mark--hero-corner {
    height: 288px;
    max-width: 274px;
    opacity: 0.72;
  }
}
@media (min-width: 900px) {
  .herdy-video-hero--logo-stack > .herdy-hero-logo-top--corner .herdy-surf-camp-mark--hero-corner {
    height: 328px;
    max-width: 312px;
    opacity: 0.76;
  }
}
/* Marca — faixa Surf Camp, página camp e rodapé */
.herdy-surf-camp-mark--camp {
  height: min(22vh, 104px);
  width: auto;
  max-width: min(34vw, 124px);
  aspect-ratio: 267 / 292;
  margin: 0 auto;
  opacity: 0.92;
}
@media (min-width: 640px) {
  .herdy-surf-camp-mark--camp {
    height: 104px;
    max-width: 124px;
    opacity: 0.68;
  }
}
.herdy-surf-camp-mark--camp-hero {
  display: block;
  width: auto;
  height: auto;
  max-height: min(32vh, 200px);
  max-width: min(72vw, 220px);
  margin: 0 auto 12px;
  background: transparent !important;
  filter: none !important;
}
@media (min-width: 640px) {
  .herdy-surf-camp-mark--camp-hero {
    max-height: 220px;
    max-width: 240px;
  }
}
@media (min-width: 900px) {
  .herdy-surf-camp-mark--camp-hero {
    max-height: 235px;
    max-width: 255px;
  }
}
.herdy-surf-camp-mark--sm {
  height: 48px;
  width: auto;
  max-width: 58px;
  aspect-ratio: 267 / 292;
  margin: 0;
  opacity: 0.92;
}
a:hover .herdy-surf-camp-mark,
a:focus-visible .herdy-surf-camp-mark {
  opacity: 0.92;
}
.herdy-camp-banner__logo {
  max-width: min(36vw, 130px);
}
@media (min-width: 640px) {
  .herdy-camp-banner__logo {
    max-width: 130px;
  }
}
.herdy-surf-camp-logo--sm {
  width: 44px;
  height: 44px;
  border-width: 2px;
  opacity: 0.9;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

/* Layer 0 — fixed video fills viewport (por trás de tudo no hero) */
.herdy-video-media {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 100svh;
  z-index: 2;
  background: #061018;
}
.herdy-video-stack {
  position: absolute;
  inset: 0;
}
.herdy-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  transition: opacity 1.4s ease-in-out;
}
.herdy-hero-video.is-active {
  opacity: 1;
}
/* Teste P&B — só o vídeo do hub Herdy (logo permanece colorida) */
.herdy-video-hero--logo-stack .herdy-hero-video {
  filter: grayscale(1) contrast(1.1) brightness(0.92);
}
.herdy-video-hero--logo-stack .herdy-hero-video.is-active {
  filter: grayscale(1) contrast(1.1) brightness(0.92);
}

/* Layer 1 — dark scrim / gradient over video */
.herdy-video-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      0deg,
      rgba(6, 16, 24, 0.92) 0%,
      rgba(6, 16, 24, 0.72) 22%,
      rgba(6, 16, 24, 0.28) 52%,
      rgba(6, 16, 24, 0.55) 78%,
      rgba(6, 16, 24, 0.78) 100%
    ),
    linear-gradient(
      135deg,
      rgba(255, 212, 59, 0.08) 0%,
      transparent 45%,
      rgba(10, 22, 40, 0.25) 100%
    );
}

/* Layer 3 — nav overlay (matches index .hero-topbar) */
.herdy-hero-nav {
  position: relative;
  z-index: 3;
  margin: 0;
  padding:
    max(16px, env(safe-area-inset-top, 0px) + 12px)
    max(20px, env(safe-area-inset-right, 0px) + 16px)
    12px
    max(20px, env(safe-area-inset-left, 0px) + 16px);
  font-size: .9rem;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.65);
}
.herdy-hero-nav a { color: #00b4d8; }

/* Layer 2 — stamp, headline, CTAs on top of video+scrim */
.herdy-video-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  margin-top: auto;
  padding:
    24px 20px
    max(28px, env(safe-area-inset-bottom, 0px) + 20px);
}

@media (prefers-reduced-motion: reduce) {
  .herdy-video-stack { display: none; }
  .herdy-video-media {
    background:
      linear-gradient(160deg, #1a1208 0%, #0d1e33 55%, #061018 100%),
      url("/assets/herdy/hero-poster.jpg") center center / cover no-repeat;
  }
}

.herdy-hero-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}
@media (min-width: 640px) {
  .herdy-hero-head {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    gap: 20px;
  }
}
.herdy-hero-head--stack {
  flex-direction: column;
  align-items: stretch;
  text-align: center;
  gap: 12px;
}
@media (min-width: 640px) {
  .herdy-hero-head--stack {
    text-align: left;
  }
}
.herdy-hero-logo-top {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto 4px;
  padding: 0 8px;
  line-height: 0;
}
.herdy-hero-logo-top + .herdy-hero-head .herdy-badge {
  margin-top: 0;
}
.herdy-stamp {
  flex-shrink: 0;
  width: 120px;
  height: auto;
  filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.55)) drop-shadow(0 2px 8px rgba(255, 212, 59, 0.2));
}
@media (min-width: 640px) { .herdy-stamp { width: 132px; } }
.herdy-stamp--sm { width: 52px; filter: drop-shadow(0 2px 6px rgba(255, 212, 59, 0.12)); }

/* Logo oficial G-Herdy (PNG parceiro — silhueta + assinatura) */
.herdy-logo-frame {
  display: inline-block;
  background: transparent;
  padding: 0;
  line-height: 0;
}
.herdy-logo-official {
  display: block;
  width: auto;
  height: 118px;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  /* arte preta do PNG → legível no hero escuro; fundo PNG transparente */
  filter: brightness(0) invert(1) drop-shadow(0 2px 14px rgba(0, 0, 0, 0.55));
}
@media (min-width: 640px) {
  .herdy-logo-official {
    height: 136px;
  }
}
.herdy-logo-frame--sm {
  padding: 0;
}
.herdy-logo-official--sm {
  height: 48px;
  filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0, 0, 0, 0.45));
}

/* Hero — logo grande acima do badge amarelo */
.herdy-logo-official--hero {
  display: block;
  width: min(92vw, 640px);
  height: auto;
  max-height: min(72vh, 1040px);
  object-fit: contain;
  margin: 0 auto;
  filter: brightness(0) invert(1)
    drop-shadow(0 8px 40px rgba(0, 0, 0, 0.75))
    drop-shadow(0 0 48px rgba(255, 255, 255, 0.32));
}
@media (min-width: 640px) {
  .herdy-logo-official--hero {
    width: min(78vw, 760px);
    max-height: min(78vh, 1120px);
  }
}
@media (min-width: 900px) {
  .herdy-logo-official--hero {
    width: min(68vw, 840px);
    max-height: 1160px;
  }
}
.herdy-powered--below-cta {
  margin-top: 14px;
  align-self: center;
}
@media (min-width: 640px) {
  .herdy-powered--below-cta {
    align-self: flex-start;
  }
}

.herdy-camp-banner {
  margin: 0 0 1.25rem;
  padding: 1.35rem 1.25rem;
  border-radius: 14px;
  border: 1px solid rgba(0, 180, 216, 0.35);
  background: linear-gradient(135deg, rgba(0, 180, 216, 0.12), rgba(255, 212, 59, 0.08));
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}
.herdy-camp-banner--spotlight {
  position: relative;
  z-index: 3;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0;
  margin-bottom: 1.25rem;
  padding: clamp(1.1rem, 3vw, 1.65rem) 1.25rem clamp(1.35rem, 3vw, 2rem);
  text-align: center;
  border-radius: 0;
  border-left: none;
  border-right: none;
  background: linear-gradient(
    180deg,
    rgba(0, 48, 72, 0.92) 0%,
    rgba(13, 30, 51, 0.96) 55%,
    rgba(8, 20, 36, 0.98) 100%
  );
  border-top: 1px solid rgba(0, 180, 216, 0.5);
  border-bottom: 1px solid rgba(255, 212, 59, 0.28);
  box-shadow:
    0 -8px 48px rgba(0, 180, 216, 0.12),
    0 24px 64px rgba(0, 0, 0, 0.45);
}
.herdy-camp-banner__logo {
  margin: 0 auto 0.35rem;
  max-width: min(36vw, 130px);
}
.herdy-camp-banner__logo a {
  display: block;
  line-height: 0;
  transition: transform 0.2s ease, filter 0.2s ease;
}
.herdy-camp-banner__logo a:hover {
  transform: scale(1.02);
}
.herdy-camp-banner__logo a:hover .herdy-surf-camp-mark {
  opacity: 0.96;
}
.herdy-camp-banner__logo a:focus-visible {
  outline: 2px solid #00b4d8;
  outline-offset: 6px;
  border-radius: 4px;
}
.herdy-logo-official--camp {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(38vh, 520px);
  object-fit: contain;
  margin: 0 auto;
  filter: brightness(0) invert(1)
    drop-shadow(0 6px 32px rgba(0, 0, 0, 0.65))
    drop-shadow(0 0 40px rgba(255, 255, 255, 0.24));
}
@media (min-width: 640px) {
  .herdy-camp-banner__logo {
    max-width: 130px;
  }
  .herdy-logo-official--camp {
    max-height: min(42vh, 560px);
  }
}
@media (min-width: 900px) {
  .herdy-camp-banner__logo {
    max-width: 130px;
  }
}
.herdy-camp-banner--spotlight .herdy-camp-banner__lead {
  margin-left: auto;
  margin-right: auto;
}
.herdy-camp-banner--spotlight .pool-cta-row {
  justify-content: center;
  flex-wrap: wrap;
}
.herdy-camp-banner--spotlight h2 {
  font-size: clamp(1.35rem, 4vw, 1.75rem);
  letter-spacing: 0.02em;
}
.herdy-camp-banner__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ffd43b;
}
.herdy-camp-banner h2 {
  margin: 0 0 0.35rem;
  font-size: 1.35rem;
  color: #e8f1ff;
}
.herdy-camp-banner__tag {
  margin: 0 0 0.65rem;
  font-size: 0.82rem;
  color: #00b4d8;
  font-weight: 600;
}
.herdy-camp-banner__flow {
  margin: 0 0 0.75rem;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #b8c5d0;
}
.herdy-camp-banner__lead {
  margin: 0 0 1rem;
  font-size: 0.92rem;
  color: #b8c5d0;
  line-height: 1.55;
  max-width: 42em;
}

/* KURA MOANA — logo SVG transparente (triângulo branco · texto gold/branco) */
.kura-moana-brand,
.kura-moana-logo {
  flex-shrink: 0;
  display: block;
  background: transparent;
  border: none;
  padding: 0;
  box-shadow: none;
}
.kura-moana-logo {
  width: 160px;
  height: auto;
  object-fit: contain;
}
@media (min-width: 640px) {
  .kura-moana-logo { width: 180px; }
  .herdy-kura-head { align-items: center; }
}
.herdy-hero-text { flex: 1; min-width: 0; }
.herdy-video-hero h1,
.herdy-hero h1 {
  margin: 0 0 8px;
  font-size: clamp(1.55rem, 4.5vw, 1.85rem);
  color: #e8f1ff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.7);
}
.herdy-ig-tagline {
  margin: 0 0 10px;
  line-height: 1.45;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.65);
}
.herdy-role-primary {
  display: block;
  font-size: .95rem;
  font-weight: 700;
  color: #ffd43b;
  letter-spacing: .02em;
  margin-bottom: 4px;
}
.herdy-role-list {
  display: block;
  font-size: .86rem;
  font-weight: 500;
  color: #e8f1ff;
}
@media (min-width: 640px) {
  .herdy-role-list {
    font-size: .88rem;
    line-height: 1.55;
  }
}
.herdy-video-hero .sub,
.herdy-hero .sub {
  margin: 0 0 12px;
  color: #b8c5d0;
  font-size: .88rem;
  font-weight: 500;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.65);
}
.herdy-video-hero .lead,
.herdy-hero .lead {
  margin: 0 0 16px;
  color: #c5d8f0;
  line-height: 1.55;
  font-size: 1rem;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55);
}
.herdy-video-hero .pool-cta-row { margin-top: 4px; }
.herdy-ig-cta { display: inline-flex; align-items: center; gap: 6px; }
.herdy-ig-icon { flex-shrink: 0; }
.herdy-footer {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.herdy-footer-copy { flex: 1; min-width: 0; }
/* Co-brand: Herdy em evidência · PHAENACORY™ discreto (powered by) */
.herdy-brand-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.herdy-brand-col--hero .herdy-powered {
  margin-top: 4px;
}
.herdy-powered {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  text-decoration: none;
  opacity: .72;
  transition: opacity .2s ease;
}
.herdy-powered:hover, .herdy-powered:focus-visible { opacity: 1; }
.herdy-powered-label {
  font-size: .54rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #8ba3c7;
}
.herdy-powered img {
  display: block;
  width: 118px;
  height: auto;
  filter: grayscale(.35);
}
@media (min-width: 640px) { .herdy-powered img { width: 128px; } }

.herdy-footer { flex-wrap: wrap; align-items: center; }
.herdy-footer-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.herdy-footer-brand .herdy-powered { align-items: flex-start; }
.herdy-footer-brand .herdy-powered img { width: 84px; }
.herdy-footer-copy { flex-basis: 220px; }

/* Passo PHAENACORY™ no fluxo — ícone pequeno */
.camp-step--pha {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
}
.camp-step-mark { width: 28px; height: 28px; display: block; opacity: .8; }
.herdy-badge {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  background: #ffd43b;
  color: #1a1208;
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 12px;
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 16px 0;
}
@media (min-width: 640px) { .stats-grid { grid-template-columns: repeat(4, 1fr); } }
.stat-box {
  background: rgba(13, 30, 51, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 8px;
  padding: 14px 12px;
  text-align: center;
  border: 1px solid rgba(42, 64, 96, 0.5);
}
.stat-box .num { display: block; font-size: 1.35rem; font-weight: 700; color: #ffd43b; }
.stat-box .lbl { display: block; font-size: .72rem; color: #8ba3c7; margin-top: 4px; line-height: 1.3; }
.stats-footnote {
  margin: -6px 0 16px;
  font-size: .72rem;
  color: #6b8299;
  font-style: italic;
  text-align: center;
  line-height: 1.4;
}
.bio-grid {
  display: grid;
  gap: 16px;
  margin: 16px 0;
}
@media (min-width: 768px) { .bio-grid { grid-template-columns: repeat(3, 1fr); } }
.bio-block {
  background: rgba(13, 30, 51, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 10px;
  padding: 16px;
  border: 1px solid rgba(42, 64, 96, 0.4);
  border-left: 4px solid #ffd43b;
}
.bio-block h3 { margin: 0 0 8px; font-size: .95rem; color: #e8f1ff; }
.bio-block p { margin: 0; font-size: .85rem; color: #8ba3c7; line-height: 1.5; }
.timeline {
  margin: 16px 0;
  padding: 0;
  list-style: none;
  border-left: 2px solid #2a4060;
  padding-left: 20px;
}
.timeline li {
  position: relative;
  margin-bottom: 14px;
  font-size: .88rem;
  color: #8ba3c7;
  line-height: 1.45;
}
.timeline li::before {
  content: "";
  position: absolute;
  left: -26px;
  top: 6px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ffd43b;
}
.timeline li strong { color: #e8f1ff; }
.section-h2 { color: #ffd43b; font-size: 1.1rem; margin-top: 28px; }
.section-h2:first-of-type { margin-top: 0; }
.herdy-palmares-intl {
  background: linear-gradient(135deg, rgba(10, 40, 64, 0.5) 0%, rgba(13, 30, 51, 0.38) 100%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 212, 59, 0.22);
  border-left: 4px solid #ffd43b;
  border-radius: 10px;
  padding: 16px 18px;
  margin-bottom: 8px;
}
.herdy-palmares-lead {
  font-size: .9rem;
  color: #b8c5d0;
  margin: 0 0 14px;
  line-height: 1.55;
}
.herdy-palmares-lead strong { color: #ffd43b; }
.herdy-palmares-h3 {
  color: #e8f1ff;
  font-size: .95rem;
  margin: 16px 0 8px;
}
.herdy-palmares-h3:first-of-type { margin-top: 0; }
.herdy-palmares-footnote {
  font-size: .72rem;
  color: #6b8299;
  font-style: italic;
  margin: 12px 0 0;
  line-height: 1.45;
}
.pillar-grid { display: grid; gap: 10px; margin: 16px 0; }
@media (min-width: 640px) { .pillar-grid { grid-template-columns: repeat(2, 1fr); } }
.pillar {
  background: rgba(10, 22, 40, 0.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 8px;
  padding: 14px;
  border: 1px solid rgba(42, 64, 96, 0.5);
}
.pillar h3 { margin: 0 0 6px; font-size: .9rem; color: #00b4d8; }
.pillar p { margin: 0; font-size: .82rem; color: #8ba3c7; line-height: 1.45; }
.disclaimer {
  font-size: .78rem;
  color: #6b8299;
  font-style: italic;
  margin-top: 8px;
}
.partner-box {
  background: linear-gradient(135deg, rgba(10, 40, 64, 0.55) 0%, rgba(13, 30, 51, 0.5) 100%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(0, 180, 216, 0.3);
  border-radius: 10px;
  padding: 18px;
  margin: 20px 0;
}
.partner-box h3 { margin: 0 0 10px; color: #00b4d8; font-size: 1rem; }
.partner-box p { margin: 0 0 12px; font-size: .88rem; color: #8ba3c7; line-height: 1.5; }
.partner-box ul { margin: 0; padding-left: 18px; color: #8ba3c7; font-size: .85rem; line-height: 1.6; }
.contact-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
  font-size: .88rem;
  color: #8ba3c7;
}
.contact-row a { color: #00b4d8; }

/* Tabelas palmarés — glass sobre vídeo (override wave-pools.css + legal) */
.herdy-page table.compare th {
  background: rgba(10, 22, 40, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-color: rgba(42, 64, 96, 0.5);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}
.herdy-page table.compare td {
  background: rgba(13, 30, 51, 0.35);
  border-color: rgba(42, 64, 96, 0.45);
}
.herdy-page .pool-note {
  background: rgba(10, 22, 40, 0.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-color: rgba(42, 64, 96, 0.5);
}
