/**
 * Shared macro patterns extracted from the homepage.
 * These selectors stay generic so sponsorship and future macro surfaces
 * can opt in without inheriting home-specific naming or content structure.
 */

.confut-hero-shell {
  position: relative;
  min-height: clamp(560px, 78dvh, 760px);
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.confut-hero-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(2, 8, 18, 0.12) 0%, transparent 30%, rgba(0, 0, 0, 0.54) 100%),
    linear-gradient(100deg, rgba(1, 6, 16, 0.42) 0%, rgba(1, 6, 16, 0.18) 46%, transparent 66%);
}

.confut-hero-shell__media {
  filter: var(--confut-hero-video-filter);
  transform: scale(1.012) translateZ(0);
}

.confut-hero-shell__overlay {
  background:
    linear-gradient(
      90deg,
      var(--confut-hero-overlay-top) 0%,
      var(--confut-hero-overlay-mid) 32%,
      var(--confut-hero-overlay-soft) 61%,
      var(--confut-hero-overlay-edge) 100%
    ),
    linear-gradient(180deg, var(--confut-hero-overlay-depth) 0%, rgba(1, 5, 12, 0.2) 42%, var(--confut-hero-overlay-floor) 100%);
}

.confut-hero-shell__content {
  min-height: clamp(560px, 78dvh, 760px);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  padding-top: clamp(5.5rem, 10vh, 7rem);
  padding-bottom: clamp(var(--confut-space-lg), 7vh, 5.75rem);
  padding-left: clamp(1.25rem, 9vw, 8rem);
  padding-right: clamp(1.25rem, 6vw, 4rem);
  row-gap: clamp(1.15rem, 2vw, 1.65rem);
}

.confut-hero-shell__title {
  max-width: min(100%, 35rem);
  margin: 0;
  text-align: left;
  text-shadow: var(--confut-hero-title-shadow);
}

.confut-hero-shell__title-accent {
  display: inline-block;
  text-shadow: var(--confut-hero-highlight-shadow);
}

.confut-hero-shell__cta {
  align-self: flex-start;
  margin-top: clamp(1.55rem, 3.2vw, 2.25rem);
}

.confut-section-skin--light {
  background: linear-gradient(180deg, var(--confut-shell-light-top) 0%, var(--confut-shell-light-bottom) 100%);
}

.confut-section-skin--dark {
  background:
    radial-gradient(circle at 84% 18%, var(--confut-shell-accent-glow) 0%, transparent 34%),
    linear-gradient(180deg, var(--confut-shell-dark-top) 0%, var(--confut-shell-dark-bottom) 100%);
}

.confut-media-overlay-card {
  position: relative;
  overflow: hidden;
  box-shadow: var(--confut-media-card-shadow);
}

.confut-media-overlay-card__shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, var(--confut-media-shade-top) 0%, var(--confut-media-shade-mid) 48%, var(--confut-media-shade-bottom) 100%);
}

.confut-media-overlay-card__overlay {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  color: var(--confut-media-card-text);
}

.confut-media-overlay-card__meta {
  color: var(--confut-media-card-muted);
}

.confut-tech-map-layer {
  color: var(--confut-map-dot);
}

.confut-tech-map-layer__world {
  fill: var(--confut-map-world-fill);
}

.confut-tech-map-layer__gridline {
  stroke: var(--confut-map-grid);
}

.confut-tech-map-layer__connection {
  stroke: var(--confut-map-connection);
}

.confut-tech-map-layer__connection--primary {
  stroke: var(--confut-map-connection-strong);
}

.confut-tech-map-layer__hub {
  fill: var(--confut-map-hub);
}

.confut-tech-map-layer__label {
  fill: var(--confut-map-label);
}

.confut-tech-map-layer__label .confut-tech-map-layer__city {
  fill: var(--confut-map-label-strong);
}

.confut-metric-band__item {
  background: var(--confut-stat-panel-bg);
  border: 1px solid var(--confut-stat-panel-border);
  box-shadow: var(--confut-stat-panel-shadow);
}

.confut-metric-band__value--shimmer {
  text-shadow: 0 0 18px var(--confut-stat-shimmer);
}

.confut-proof-rail {
  --confut-proof-rail-panel: var(--confut-tech-panel);
  --confut-proof-rail-panel-deep: var(--confut-tech-panel-deep);
  --confut-proof-rail-line: var(--confut-tech-line);
  --confut-proof-rail-line-dim: var(--confut-tech-line-dim);
  --confut-proof-rail-text: var(--confut-tech-text);
  --confut-proof-rail-muted: var(--confut-tech-muted);
}

.confut-proof-rail__viewport {
  --confut-proof-rail-gap: clamp(1rem, 2vw, 1.5rem);
  --confut-proof-rail-card-width: clamp(360px, 31vw, 590px);
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-top: 0.45rem;
  padding-bottom: 0.75rem;
  touch-action: pan-y;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, var(--confut-tech-mask-stop) 5%, var(--confut-tech-mask-stop) 95%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, var(--confut-tech-mask-stop) 5%, var(--confut-tech-mask-stop) 95%, transparent 100%);
}

.confut-proof-rail__track {
  display: flex;
  width: max-content;
  will-change: transform;
}

.confut-proof-rail__group {
  display: flex;
  align-items: stretch;
  flex-shrink: 0;
  gap: var(--confut-proof-rail-gap);
  padding-right: var(--confut-proof-rail-gap);
}

.confut-proof-rail__item {
  display: flex;
  flex: 0 0 var(--confut-proof-rail-card-width);
  width: var(--confut-proof-rail-card-width);
}

.confut-proof-rail__card blockquote {
  color: var(--confut-proof-rail-text);
  border: 1px solid var(--confut-proof-rail-line-dim);
  background:
    linear-gradient(135deg, var(--confut-tech-circuit-line) 0 1px, transparent 1px 22px),
    repeating-linear-gradient(0deg, transparent 0 23px, var(--confut-tech-grid-line) 23px 24px),
    radial-gradient(circle at 16% 0%, var(--confut-tech-radial-glow) 0%, transparent 32%),
    linear-gradient(180deg, var(--confut-proof-rail-panel) 0%, var(--confut-proof-rail-panel-deep) 100%);
}

/* Existing home selectors now point at the shared primitives without markup changes. */
body.macro-home-page .macro-home-hero.nordeste-hero-video-section {
  min-height: clamp(560px, 78dvh, 760px);
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.confut-macro-site.macro-home-page .macro-home-hero.nordeste-hero-video-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(2, 8, 18, 0.12) 0%, transparent 30%, rgba(0, 0, 0, 0.54) 100%),
    linear-gradient(100deg, rgba(1, 6, 16, 0.42) 0%, rgba(1, 6, 16, 0.18) 46%, transparent 66%);
}

body.confut-macro-site.macro-home-page .macro-home-hero .event-hero-video {
  filter: var(--confut-hero-video-filter);
  transform: scale(1.012) translateZ(0);
}

body.confut-macro-site.macro-home-page .macro-home-hero.macro-home-hero--suda-video .event-hero-video-overlay {
  background:
    linear-gradient(
      90deg,
      var(--confut-hero-overlay-top) 0%,
      var(--confut-hero-overlay-mid) 32%,
      var(--confut-hero-overlay-soft) 61%,
      var(--confut-hero-overlay-edge) 100%
    ),
    linear-gradient(180deg, var(--confut-hero-overlay-depth) 0%, rgba(1, 5, 12, 0.2) 42%, var(--confut-hero-overlay-floor) 100%);
}

body.confut-macro-site.macro-home-page .macro-home-hero .macro-home-hero__title {
  text-shadow: var(--confut-hero-title-shadow);
}

body.confut-macro-site.macro-home-page .macro-home-hero .macro-home-hero__line--mid .text-line {
  text-shadow: var(--confut-hero-highlight-shadow);
}
