
.cfp-tax-hero{
  position: relative;
  padding: 28px 28px 24px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}

.cfp-tax-hero.cfp-voice-hero--bg::before{
  content:"";
  position:absolute; inset:0;
  background-image: var(--hero-bg);
  background-size: var(--hero-bg-size,contain);
  background-position: var(--hero-bg-position,center right);
  background-repeat:no-repeat;
  opacity: var(--hero-bg-opacity,.25);
  pointer-events:none;
  border-radius: inherit;
}

.cfp-hero-inner{ position:relative; z-index:1; }
.cfp-hero-name{ margin:0 0 .25rem; font-size: clamp(1.8rem, 2vw + 1rem, 2.6rem); }
.cfp-hero-tagline{ margin:.25rem 0 1rem; opacity:.8; }
.cfp-hero-chips{ display:flex; gap:.5rem; margin:.5rem 0 1rem; }
.cfp-chip--icon img{ width:56px; height:56px; object-fit:contain; display:block; }
.cfp-hero-media{ display:flex; gap:.5rem; align-items:center; }
.cfp-hero-play, .cfp-hero-video{ border-radius:999px; padding:.4rem .9rem; }


.cfp-tax-hero {
  --cfp-accent: var(--camp-ember, #ff8c00);
  --hero-bg: none;
  --hero-bg-size: 60%;
  --hero-bg-position: center right 10%;
  --hero-bg-opacity: .25;
  position: relative;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-radius: 1rem;
  background: linear-gradient(0deg, color-mix(in srgb, var(--cfp-accent) 12%, transparent), transparent);
  overflow: clip;
}
.cfp-tax-hero--footer { padding: 1rem; opacity: .95; }

.cfp-tax-hero.cfp-tax-hero--bg,
.cfp-tax-hero {
  background-image: var(--hero-bg);
  background-size: var(--hero-bg-size);
  background-position: var(--hero-bg-position);
  background-repeat: no-repeat;
}
.cfp-tax-hero::after {
  content: "";
  position: absolute; inset: 0;
  background: color-mix(in srgb, #000 0%, transparent);
  opacity: var(--hero-bg-opacity);
  pointer-events: none;
}

.cfp-hero-inner { position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; }
.cfp-hero-name { margin: 0 0 .25rem; font-size: clamp(1.6rem, 3.5vw, 2.4rem); line-height: 1.1; }
.cfp-hero-tagline { margin: 0 0 .75rem; font-size: clamp(1rem, 2.2vw, 1.2rem); opacity:.9 }
.cfp-hero-chips { display:flex; gap:.5rem; align-items:center; margin:.35rem 0 1rem; }
.cfp-chip--icon img { width: 44px; height: 44px; object-fit: contain; border-radius:.5rem; box-shadow: 0 1px 4px rgba(0,0,0,.25); }

.cfp-hero-deep { font-size: .98rem; max-width: 70ch; }

.cfp-hero-media { display:flex; gap:.5rem; margin-top:.75rem; }
.cfp-hero-play, .cfp-hero-video {
  padding:.45rem .7rem; border-radius:.75rem; border:0;
  box-shadow: 0 1px 4px rgba(0,0,0,.2);
  background: var(--cfp-accent); color:#111; font-weight:600; cursor:pointer;
}

/* Video modal */
.cfp-video-modal[hidden] { display:none; }
.cfp-video-modal { position:fixed; inset:0; background:rgba(0,0,0,.75); display:grid; place-items:center; z-index:9999; }
.cfp-video-inner { width:min(90vw, 980px); aspect-ratio:16/9; position:relative; }
.cfp-video-inner iframe { width:100%; height:100%; border:0; border-radius:1rem; }
.cfp-video-close { position:absolute; top:-44px; right:0; background:#fff; border:0; border-radius:.6rem; padding:.4rem .6rem; cursor:pointer; }
