/* Presentation shell: one continuous layout from small tablets to large displays. */
.presentation-page {
  height: 100dvh;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #090711;
}

.presentation-header {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 57px;
  padding: 6px clamp(12px, 1.6vw, 24px);
  border-bottom: 1px solid var(--line);
}

.back-link {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: #c6bfd5;
  font-size: 12px;
}
.back-link:hover { color: white; }
.back-link > span { font-size: 21px; }
.deck-heading { font-size: 12px; color: var(--muted); }
.header-actions { display: flex; align-items: center; gap: 8px; }
.download-button { color: #c6b2e4; font-size: 25px; line-height: 1; }
.download-button:hover { color: white; background: var(--surface-raised); border-color: #7e649c; }

.icon-button {
  display: grid;
  place-items: center;
  width: 44px;
  min-height: 44px;
  flex-shrink: 0;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: transparent;
  font-size: 21px;
}
.icon-button:not(:disabled):hover {
  background: var(--surface-raised);
  border-color: #7e649c;
}

.deck {
  container-type: size;
  display: grid;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr);
  flex: 1 1 0;
  min-height: 0;
  margin: clamp(8px, 1vw, 16px);
  padding: 0;
}

.slide {
  --slide-inset: clamp(22px, 4cqw, 72px);
  container-type: size;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  padding: var(--slide-inset);
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--bg);
}
.slide:focus { outline: none; }
.slide > .eyebrow { margin-bottom: clamp(20px, 3cqh, 36px); }
.slide h2 {
  margin: 0;
  font: 900 clamp(30px, min(6cqw, 12cqh), 88px)/1.05 var(--display);
  letter-spacing: -.04em;
}
.slide h2 em { color: var(--violet-light); }
.slide-intro {
  margin-top: clamp(18px, 3cqh, 32px);
  color: var(--muted);
  font-size: clamp(14px, 1.5cqw, 23px);
}
.slide .eyebrow {
  font-size: clamp(9px, 1cqw, 15px);
  line-height: 1.6;
  letter-spacing: .15em;
}
.slide-foot {
  position: relative;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
  padding-top: 18px;
  color: #aaa0bc;
  font-size: clamp(8px, .75cqw, 12px);
  letter-spacing: .12em;
  z-index: 1;
}

/* The same restrained ring and two-color baseline as the index preview. */
.touchpoint-cover { background: #0f0c1c; }
.touchpoint-cover::before {
  content: '';
  position: absolute;
  width: min(80cqw, 112cqh);
  aspect-ratio: 1;
  right: -25%;
  top: 10%;
  border: clamp(26px, 5cqw, 100px) solid #7947da12;
  border-radius: 50%;
  pointer-events: none;
}
.touchpoint-cover::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(to right, var(--violet) 75%, var(--orange) 75%);
}
.slide-brand {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: clamp(16px, 2cqw, 32px);
  flex-shrink: 0;
}
.slide-brand img:first-child {
  width: clamp(88px, 10cqw, 160px);
  height: auto;
  max-height: 52px;
}
.slide-brand img:last-child {
  width: clamp(78px, 8.5cqw, 140px);
  height: auto;
  max-height: 60px;
}
.slide-brand > span {
  font-size: clamp(20px, 2cqw, 32px);
  color: #746985;
}
.cover-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  padding: clamp(24px, 5cqh, 64px) 0;
}
.cover-content h1 {
  margin: clamp(14px, 3cqh, 36px) 0 clamp(20px, 4cqh, 48px);
  font: italic 900 clamp(28px, min(8cqw, 15cqh), 128px)/1.02 var(--display);
  letter-spacing: -.045em;
}
.cover-content h1 > span { color: var(--violet-light); }
.cover-content > p:not(.eyebrow) {
  color: #c2bbd0;
  font-size: clamp(14px, min(1.9cqw, 4cqh), 28px);
}

.presentation-bottom { flex: 0 0 auto; }
.progress-track { height: 2px; background: var(--line); }
#progress-fill {
  display: block;
  height: 100%;
  width: 7.14%;
  background: linear-gradient(to right, var(--violet), var(--orange));
  transition: width .2s;
}
.deck-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px clamp(12px, 1.6vw, 24px);
}
.overview-button {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 0 13px;
  border: 1px solid #463158;
  border-radius: 5px;
  background: #241b34;
  font-size: 12px;
}
.overview-button:hover { background: #39264f; }
.overview-button > span { font-size: 21px; color: var(--violet-light); }
.keyboard-hint { color: var(--muted); font-size: 10px; }
.keyboard-hint > span { padding: 0 10px; }
.page-controls { display: flex; align-items: center; gap: 12px; }
#slide-count {
  min-width: 55px;
  text-align: center;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
#slide-count > span { color: var(--muted); margin-left: 6px; }

/* Overview uses the exact slide markup at a stable, scaled canvas size. */
dialog {
  width: min(1100px, calc(100% - 32px));
  max-height: 88dvh;
  padding: clamp(18px, 3vw, 28px);
  color: var(--text);
  background: #161120;
  border: 1px solid #55416e;
  border-radius: 12px;
  box-shadow: 0 30px 100px #000a;
}
dialog::backdrop { background: #07050cdd; backdrop-filter: blur(8px); }
.overview-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 25px;
}
.overview-heading h2 { margin-top: 8px; font: 700 26px var(--display); }
.thumbnail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 18px;
}
.thumbnail-button {
  padding: 0;
  overflow: hidden;
  text-align: left;
  background: transparent;
  border: 2px solid transparent;
  border-radius: 6px;
}
.thumbnail-button[aria-current="true"] { border-color: var(--violet-light); }
.thumbnail-button:hover { border-color: #80639e; }
.thumbnail-frame {
  container-type: size;
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--bg);
  pointer-events: none;
}
.thumbnail-frame > .slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 1100px;
  height: 688px;
  padding: 44px 52px;
  transform: scale(var(--scale, .25));
  transform-origin: top left;
  pointer-events: none;
}
.thumbnail-caption {
  display: flex;
  align-items: start;
  gap: 10px;
  padding: 11px 8px;
  color: #c7bdd9;
  font-size: 11px;
}
.thumbnail-caption b { color: var(--violet-light); font-weight: 500; }
.overview-hint { margin-top: 24px; text-align: center; font-size: 11px; color: var(--muted); }

@media (max-width: 700px) {
  .deck-heading, .keyboard-hint { display: none; }
  .overview-button { padding: 0 10px; font-size: 11px; }
  .page-controls { gap: 6px; }
  .overview-heading h2 { font-size: 22px; }
}

/* Very short windows can scroll their slide instead of clipping content. */
@media (max-height: 500px) {
  .slide { overflow-y: auto; }
  .cover-content { flex-shrink: 0; padding-block: 18px; }
}

.agenda-list {
  margin-top: clamp(28px, 5cqh, 60px);
  border-top: 1px solid var(--line);
}
.agenda-list :is(button, .miniature-control) {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: clamp(12px, 3cqw, 42px);
  width: 100%;
  padding: clamp(20px, 4cqh, 40px) 0;
  text-align: left;
  border-bottom: 1px solid var(--line);
  background: transparent;
}
.agenda-list button:hover { color: var(--violet-light); }
.agenda-five { margin-top: clamp(10px, 2cqh, 22px); }
.agenda-five :is(button, .miniature-control) { padding-block: clamp(10px, 2cqh, 20px); }
.agenda-number { color: var(--orange); font-size: clamp(13px, 1.5cqw, 22px); }
.agenda-list strong { font: 700 clamp(18px, 2.5cqw, 36px) var(--display); }
.agenda-list small { color: var(--muted); font-size: clamp(11px, 1.1cqw, 16px); }
.agenda-arrow { font-size: clamp(22px, 2.6cqw, 36px); line-height: 1; }

.topic-cover { background: radial-gradient(ellipse at 85% 70%, #492d7330, transparent 65%), var(--bg); }
.topic-cover::before {
  content: attr(data-section-number);
  position: absolute;
  right: 3%;
  bottom: -20%;
  color: #9b71ee0d;
  font: italic 900 min(48cqw, 85cqh) var(--display);
  line-height: 1;
  pointer-events: none;
}
.topic-kicker {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-size: clamp(9px, 1cqw, 14px);
  letter-spacing: .16em;
  color: var(--muted);
}
.topic-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  align-items: start;
  padding-block: 24px;
}
.topic-content h2 {
  margin: clamp(18px, 4cqh, 44px) 0;
  font-size: clamp(38px, min(8cqw, 15cqh), 118px);
}
.topic-content > p:last-child {
  color: var(--muted);
  font-size: clamp(14px, 1.8cqw, 25px);
}
.topic-content time { color: var(--text); }
@media (max-width: 700px) {
  .agenda-list :is(button, .miniature-control) { grid-template-columns: auto 1fr auto; }
  .agenda-list small { grid-column: 2; }
  .agenda-arrow { grid-column: 3; grid-row: 1 / 3; }
  .topic-kicker span:last-child { display: none; }
}

.agreements-slide { padding-block: clamp(18px, 3cqh, 40px); }
.agreements-slide h2 {
  margin-top: clamp(12px, 2.5cqh, 28px);
  font-size: clamp(28px, min(4.2cqw, 8cqh), 58px);
}
.agreements-slide .slide-intro { margin-top: 8px; }
.agreements-slide .slide-foot { padding-top: 10px; }
.agreements-table {
  flex: 1 1 auto;
  min-height: 0;
  margin-top: clamp(10px, 1.7cqh, 20px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #6b4c94 #1d182a;
  scrollbar-gutter: stable;
}
.agreements-table:focus-visible { outline: 2px solid var(--violet-light); outline-offset: 3px; }
.agreements-head,
.agreement-row {
  display: grid;
  grid-template-columns: minmax(90px, 1.1fr) minmax(160px, 2.1fr) minmax(95px, 1fr) minmax(160px, 2fr) minmax(80px, .8fr) minmax(90px, 1fr) 24px;
  gap: clamp(8px, 1.3cqw, 20px);
  align-items: center;
}
.agreements-head {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 0 clamp(12px, 1.4cqw, 20px) 13px;
  color: var(--muted);
  background: var(--bg);
  font-size: clamp(9px, .75cqw, 12px);
  letter-spacing: .11em;
}
.agreement { border: 1px solid #39304d; border-radius: 7px; background: #181421; }
.agreement + .agreement { margin-top: 10px; }
.agreement[open] { border-color: #76628e; }
.agreement-row {
  min-height: 108px;
  padding: 16px clamp(12px, 1.4cqw, 20px);
  cursor: pointer;
  list-style: none;
  font-size: clamp(11px, 1cqw, 15px);
  line-height: 1.5;
}
.agreement-row::-webkit-details-marker { display: none; }
.agreement-row:hover { background: #221a30; }
.agreement-row:focus-visible { outline: 3px solid var(--violet-light); outline-offset: 3px; }
.agreement-category { display: flex; flex-direction: column; gap: 7px; }
.agreement-category small { color: var(--orange); font-size: .75em; letter-spacing: .1em; }
.agreement-category strong { font: 700 clamp(17px, 1.5cqw, 23px) var(--display); }
.agreement-need { font-weight: 600; }
.agreement-row time { white-space: nowrap; }
.status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  padding: 5px 9px;
  border: 1px solid;
  border-radius: 4px;
  white-space: nowrap;
  font-size: clamp(10px, .85cqw, 13px);
  font-weight: 600;
}
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-completo { color: #b3e5bd; border-color: #366a47; background: #1c3827; }
.status-en-progreso { color: #bfabff; border-color: #665397; background: #302649; }
.status-aplazado { color: #ffcf90; border-color: #9a6328; background: #45301b; }
.status-sin-ejecucion { color: #ffabb2; border-color: #99444e; background: #45252a; }
.status-incompleto { color: #ffabb2; border-color: #99444e; background: #45252a; }
.status-futuro { color: #a7d8ef; border-color: #426f84; background: #1d3540; }
.status-por-definir { color: #d2cadc; border-color: #6c6179; background: #332c3b; }
.status-en-espera-resultado { color: #d2d5dc; border-color: #737985; background: #30343c; white-space: normal; line-height: 1.25; }
.status-en-espera-resultado .status-dot { flex-shrink: 0; }
.agreement-toggle { justify-self: end; font-size: 28px; line-height: 1; transition: transform .2s; }
.agreement[open] .agreement-toggle { transform: rotate(180deg); }
.agreement-detail {
  padding: clamp(18px, 3cqh, 30px) clamp(16px, 2.5cqw, 36px);
  border-top: 1px solid var(--line);
  background: #120f1b;
}
.detail-label { color: var(--violet-light); font-size: 10px; letter-spacing: .13em; }
.agreement-detail p { max-width: 95ch; margin-top: 8px; color: #d0cadb; font-size: clamp(12px, 1cqw, 15px); line-height: 1.6; }
@media (max-width: 1100px) {
  .agreements-head { display: none; }
  .agreement-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) 24px;
    gap: 18px 14px;
  }
  .agreement-row > span[data-label], .agreement-row > time[data-label] { display: flex; flex-direction: column; }
  .agreement-row > [data-label]::before {
    content: attr(data-label);
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: .1em;
  }
  .agreement-need { grid-column: span 2; }
  .agreement-row > span:nth-child(4) { grid-column: span 2; }
  .agreement-toggle { grid-column: 4; grid-row: 1 / 3; }
}
@media (max-width: 700px) {
  .agreements-slide h2 { margin-top: 25px; }
  .agreement-row { grid-template-columns: repeat(2, minmax(0, 1fr)) 24px; }
  .agreement-category { grid-column: 1; }
  .agreement-need { grid-column: 1 / -1; }
  .agreement-row > span:nth-child(4) { grid-column: 1 / -1; }
  .agreement-toggle { grid-column: 3; grid-row: 1; }
}
/* Keep slide title and footer fixed while the agreement list scrolls. */
#deck > .agreements-slide { overflow: hidden; }

/* Agreements with a future action retain their status and carry a review flag. */
.needs-review .agreement-row { box-shadow: inset 3px 0 0 #e6a348; }
.review-flag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  padding: 3px 7px;
  border: 1px solid #9c6a37;
  border-radius: 4px;
  color: #ffd5a0;
  background: #45301d;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
}
.review-flag > span { font-size: 13px; line-height: 1; }
.future-action {
  margin-top: clamp(14px, 2.5cqh, 24px);
  padding: clamp(14px, 2.5cqh, 24px);
  border-left: 3px solid #e6a348;
  background: #30241d;
}
.future-action .detail-label { color: #ffd5a0; }
.future-action ul { margin: 10px 0 0; padding-left: 20px; }
.future-action li {
  padding-left: 3px;
  color: #f2e3d3;
  font-size: clamp(12px, 1cqw, 15px);
  line-height: 1.6;
}
.future-action li::marker { color: #e6a348; }

.digital-cover h2 { font-size: clamp(28px, min(7.5cqw, 14cqh), 110px); overflow-wrap: anywhere; }

/* Acquisition: the current cut leads; the historical table stays behind one deliberate action. */
.acquisition-slide { padding-block: clamp(18px, 3cqh, 36px); }
.acquisition-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-top: clamp(12px, 2cqh, 24px); }
.acquisition-head h2 { margin-top: 4px; font-size: clamp(28px, min(4.4cqw, 8cqh), 62px); }
.acquisition-period { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: end; gap: 2px; color: var(--orange); font: 900 clamp(28px, 4cqw, 54px)/1 var(--display); white-space: nowrap; }
.acquisition-period > span { color: #8e839e; font-size: .45em; }
.acquisition-period small { flex-basis: 100%; color: var(--muted); font: 600 9px var(--body); letter-spacing: .12em; text-align: right; }
.acquisition-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(14px, 2.4cqh, 24px); border-top: 1px solid #514360; border-bottom: 1px solid #514360; }
.acquisition-summary > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: clamp(12px, 2cqh, 22px) clamp(10px, 2cqw, 30px); }
.acquisition-summary > div:first-child { padding-left: 0; }
.acquisition-summary > div + div { border-left: 1px solid #514360; }
.acquisition-summary span { color: #b6acc6; font-size: clamp(10px, 1cqw, 14px); }
.acquisition-summary strong { font: 800 clamp(25px, min(3cqw, 5cqh), 46px)/1.08 var(--display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.acquisition-summary small { color: #aaa0bc; font-size: clamp(9px, .8cqw, 12px); }
.acquisition-main { flex: 1 1 auto; min-height: 0; margin-top: clamp(16px, 2.5cqh, 28px); overflow: auto; overscroll-behavior: contain; scrollbar-color: #6b4c94 #1d182a; }
.acquisition-main:focus-within { scroll-behavior: smooth; }
.acquisition-chart-header { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.acquisition-chart-header .eyebrow { color: var(--violet-light); font-size: 9px; }
.acquisition-chart-header h3 { margin-top: 4px; font: 700 clamp(18px, 2cqw, 27px) var(--display); }
.acquisition-chart-header > span { color: #aaa0bc; font-size: 9px; letter-spacing: .1em; text-align: right; }
.funnel-chart { margin-top: clamp(12px, 1.8cqh, 20px); border-top: 1px solid #373043; }
.funnel-row { display: grid; grid-template-columns: minmax(130px, 1.25fr) minmax(120px, 4fr) minmax(85px, .85fr); align-items: center; gap: clamp(10px, 2cqw, 28px); min-height: clamp(48px, 7cqh, 72px); border-bottom: 1px solid #373043; }
.funnel-label { display: flex; align-items: baseline; gap: clamp(6px, 1cqw, 14px); min-width: 0; }
.funnel-label > span { color: var(--orange); font: 600 10px var(--body); }
.funnel-label strong { font: 700 clamp(13px, 1.2cqw, 18px) var(--display); }
.funnel-label small { color: var(--muted); font-size: 10px; }
.funnel-measure { display: flex; align-items: center; gap: 12px; min-width: 0; }
.funnel-track { flex: 1 1 auto; height: clamp(14px, 2.4cqh, 24px); background: #282135; border-radius: 2px; }
.funnel-fill { display: block; min-width: 5px; height: 100%; background: linear-gradient(90deg, #7d4ccd, #b58aff); border-radius: 2px; }
.funnel-row:first-child .funnel-fill { background: linear-gradient(90deg, #a45c1b, #f08200); }
.funnel-value { min-width: 36px; text-align: right; font: 700 clamp(13px, 1.2cqw, 18px) var(--display); font-variant-numeric: tabular-nums; }
.funnel-average { display: flex; flex-direction: column; border-left: 1px dashed #8b73a8; padding-left: clamp(8px, 1.3cqw, 18px); }
.funnel-average span { color: #a99bbb; font-size: 8px; letter-spacing: .08em; }
.funnel-average strong { font: 700 clamp(14px, 1.4cqw, 20px) var(--display); font-variant-numeric: tabular-nums; }
.acquisition-note { display: flex; gap: 10px; margin-top: clamp(12px, 1.7cqh, 18px); color: #b8b0c6; font-size: clamp(10px, .85cqw, 12px); line-height: 1.5; }
.acquisition-note > span { color: var(--orange); font-size: 17px; line-height: 1; }
.acquisition-actions { display: flex; align-items: center; gap: 16px; }
.acquisition-actions > span { color: var(--muted); font-size: 11px; }
.acquisition-table-toggle { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-width: 130px; padding: 8px 12px; border: 1px solid #8166a2; border-radius: 4px; background: #291d3b; font-size: 12px; font-weight: 700; }
.acquisition-table-toggle:hover, .acquisition-table-toggle[aria-expanded="true"] { background: #412d5e; }
.acquisition-table-toggle > span { color: var(--violet-light); font-size: 19px; }
.acquisition-table-panel { margin: 16px 0 4px; padding: clamp(10px, 1.5cqw, 20px); border: 1px solid #57446c; border-radius: 6px; background: #15101f; }
.acquisition-table-panel:focus-visible { outline: 3px solid var(--violet-light); outline-offset: 3px; }
.data-table-intro { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.data-table-intro strong { font: 700 16px var(--display); }
.data-table-intro span, .data-table-source { color: #aaa0bc; font-size: 10px; }
.data-table-scroll { overflow-x: auto; scrollbar-color: #6b4c94 #1d182a; }
.acquisition-data-table { width: 100%; min-width: 950px; border-collapse: collapse; font-size: 11px; font-variant-numeric: tabular-nums; text-align: right; }
.acquisition-data-table :is(th, td) { padding: 9px 7px; border-bottom: 1px solid #3b304b; white-space: nowrap; }
.acquisition-data-table :is(th:first-child, td:first-child) { position: sticky; left: 0; z-index: 1; min-width: 160px; text-align: left; background: #15101f; }
.acquisition-data-table thead th { color: #c4b7d5; background: #241a32; font-size: 10px; }
.acquisition-data-table thead th:first-child { z-index: 2; background: #241a32; }
.acquisition-data-table .data-key-row th { color: #f2edf8; font-weight: 700; }
.acquisition-data-table .current-month { color: #ffd29a; background: #3a271b; font-weight: 700; }
.data-table-source { margin-top: 10px; }
.acquisition-slide .slide-foot { padding-top: 8px; }
@media (max-width: 800px) {
  .acquisition-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acquisition-summary > div:last-child { grid-column: 1 / -1; border-top: 1px solid #514360; border-left: 0; padding-left: 0; }
  .funnel-row { grid-template-columns: minmax(105px, 1.2fr) minmax(100px, 3fr) minmax(70px, .8fr); }
  .funnel-label small { display: none; }
}
@media (max-width: 520px) {
  .acquisition-head { align-items: start; }
  .acquisition-period { font-size: 25px; }
  .acquisition-period small { font-size: 7px; }
  .acquisition-summary > div { padding-block: 10px; }
  .acquisition-summary strong { font-size: clamp(19px, 5.5cqw, 30px); }
  .acquisition-chart-header > span { display: none; }
  .funnel-row { grid-template-columns: minmax(0, 1fr) 68px; gap: 5px 10px; padding: 8px 0; }
  .funnel-label { grid-column: 1; }
  .funnel-measure { grid-column: 1; grid-row: 2; }
  .funnel-average { grid-column: 2; grid-row: 1 / 3; }
  .acquisition-actions > span { display: none; }
  .data-table-intro { flex-direction: column; }
}

/* Content-slide rhythm matches the agreements slide; all five cut metrics share one rail. */
.acquisition-head { margin-top: 0; }
.acquisition-head h2 { margin-top: clamp(12px, 2.5cqh, 28px); font-size: clamp(28px, min(4.2cqw, 8cqh), 58px); }
.acquisition-summary { grid-template-columns: 1fr 1fr 1.4fr 1fr 1.25fr; margin-top: clamp(10px, 1.7cqh, 18px); }
.acquisition-summary > div { padding: clamp(9px, 1.5cqh, 16px) clamp(8px, 1.2cqw, 18px); }
.acquisition-summary > div:first-child { padding-left: 0; }
.acquisition-summary strong { font-size: clamp(19px, min(2.1cqw, 4.3cqh), 31px); white-space: nowrap; }
.acquisition-summary small { font-size: 9px; }
.acquisition-main { margin-top: clamp(10px, 1.8cqh, 18px); }
.acquisition-chart-header { position: sticky; top: 0; z-index: 3; align-items: center; padding: 0 0 10px; border-bottom: 1px solid #44364f; background: var(--bg); }
.acquisition-chart-header h3 { font-size: clamp(18px, 1.8cqw, 24px); }
.acquisition-actions { display: flex; flex-wrap: nowrap; gap: 3px; padding: 3px; border: 1px solid #514067; border-radius: 7px; background: #21192e; }
.acquisition-view-button { min-height: 38px; padding: 7px clamp(9px, .9cqw, 14px); border-radius: 4px; background: transparent; color: #bcb1cd; font-size: 11px; font-weight: 700; white-space: nowrap; }
.acquisition-view-button:hover { color: white; background: #362849; }
.acquisition-view-button[aria-pressed="true"] { color: #fff; background: #624385; box-shadow: inset 0 -2px 0 #f28a17; }
.acquisition-view-button:focus-visible { outline: 2px solid #d5b5ff; outline-offset: 2px; }
.funnel-chart { margin-top: 0; border-top: 0; }
.acquisition-table-panel { margin-top: 12px; }
.acquisition-data-table { min-width: 1050px; }
.acquisition-data-table .data-group-row th { position: static; padding: 10px 8px 7px; color: #ffbd78; background: #282037; font: 700 11px var(--display); letter-spacing: .08em; text-transform: uppercase; }
.acquisition-data-table tbody tr:not(.data-group-row):not(.data-key-row) th { color: #b9b0c7; font-weight: 500; padding-left: 20px; }
.acquisition-data-table .data-key-row { background: #21192d; }
.acquisition-data-table .data-key-row th { background: #21192d; }
.acquisition-data-table .data-key-row td { font-weight: 700; }
.acquisition-data-table tbody tr:hover:not(.data-group-row) { background: #2a2039; }
.acquisition-data-table tbody tr:hover:not(.data-group-row) th { background: #2a2039; }
.evolution-intro { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 14px 0; }
.evolution-intro strong { font: 700 17px var(--display); }
.evolution-intro p, .evolution-note { max-width: 74ch; margin-top: 5px; color: #b5aac5; font-size: 11px; line-height: 1.5; }
.evolution-intro label { display: grid; gap: 4px; color: #ac9dbc; font-size: 9px; letter-spacing: .08em; white-space: nowrap; }
.evolution-intro select { min-width: 125px; min-height: 38px; padding: 6px 10px; border: 1px solid #75608e; border-radius: 4px; color: white; background: #261d35; font: 600 12px var(--body); }
.evolution-intro select:focus-visible { outline: 3px solid var(--violet-light); outline-offset: 3px; }
.evolution-series { margin: 0; padding: 0; border: 0; }
.evolution-series legend { padding: 0; color: #ac9dbc; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
#evolution-series-options { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.series-option { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 5px 9px; border: 1px solid #57496b; border-radius: 4px; color: #e0d8ec; background: #1e182a; font-size: 11px; cursor: pointer; }
.series-option:has(input:checked) { border-color: var(--series-color); background: #30243f; }
.series-option:focus-within { outline: 2px solid var(--violet-light); outline-offset: 2px; }
.series-option input { width: 14px; height: 14px; margin: 0; accent-color: var(--series-color); }
.series-swatch { width: 12px; height: 3px; background: var(--series-color); border-radius: 2px; }
.evolution-plot-wrap { margin-top: 8px; overflow-x: auto; border-top: 1px solid #3e344b; border-bottom: 1px solid #3e344b; scrollbar-color: #6b4c94 #1d182a; }
#evolution-plot { display: block; width: 100%; min-width: 700px; height: auto; }
#evolution-plot circle { cursor: pointer; }
#evolution-plot circle:focus { outline: none; stroke: white; stroke-width: 3; }
.evolution-month-values { display: flex; align-items: baseline; gap: 18px; margin-top: 12px; }
.evolution-month-values > strong { flex: 0 0 auto; color: var(--orange); font: 700 13px var(--display); }
.evolution-month-values > div { display: flex; flex-wrap: wrap; gap: 7px 16px; }
.evolution-month-values span { border-left: 3px solid var(--series-color); padding-left: 6px; color: #e7deef; font-size: 11px; }
.evolution-month-values p { color: #c7bbd5; font-size: 11px; }
.evolution-note { margin: 10px 0 4px; }
@media (max-width: 960px) {
  .acquisition-summary { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .acquisition-summary strong { font-size: clamp(15px, 2cqw, 22px); }
  .acquisition-summary small { display: none; }
  .acquisition-summary > div:last-child { grid-column: auto; border-top: 0; border-left: 1px solid #514360; padding-left: clamp(8px, 1.2cqw, 18px); }
  .acquisition-chart-header { align-items: start; flex-direction: column; }
}
@media (max-width: 650px) {
  .acquisition-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .acquisition-summary > div:nth-child(4) { border-left: 0; }
  .acquisition-summary > div:nth-child(n+4) { border-top: 1px solid #514360; }
  .acquisition-summary > div:last-child { grid-column: auto; border-top: 1px solid #514360; border-left: 1px solid #514360; }
  .acquisition-summary strong { font-size: clamp(16px, 4cqw, 23px); }
  .acquisition-actions { width: 100%; }
  .acquisition-view-button { flex: 1 1 0; padding-inline: 5px; font-size: 10px; }
  .evolution-intro { align-items: start; flex-direction: column; }
  .evolution-month-values { align-items: start; flex-direction: column; gap: 8px; }
}

/* Content slides keep their heading and metrics still; only their own body scrolls. */
#deck > .content-slide { overflow: hidden; }
.content-slide .slide-foot { flex: 0 0 auto; justify-content: flex-end; padding-top: 8px; }
.acquisition-summary { margin-top: 8px; }
.acquisition-summary > div { gap: 0; padding: 6px clamp(7px, 1cqw, 14px); }
.acquisition-summary span { font-size: 10px; line-height: 1.15; }
.acquisition-summary strong { font-size: clamp(18px, min(1.8cqw, 3.6cqh), 25px); line-height: 1.15; }
.acquisition-summary small { display: none; }
.acquisition-main { margin-top: 8px; }
.evolution-intro { align-items: center; margin: 8px 0 6px; }
.evolution-intro strong { display: none; }
.evolution-intro p { margin: 0; }
.evolution-intro select { min-height: 34px; }
.evolution-series legend { display: none; }
#evolution-series-options { margin-top: 0; }
.series-option { min-height: 34px; }
.evolution-plot-wrap { margin-top: 7px; }
#evolution-plot { min-width: 850px; }
.evolution-month-values { margin-top: 6px; }
.evolution-note { margin-top: 6px; }
@media (max-width: 960px) {
  .acquisition-summary strong { font-size: clamp(15px, 2cqw, 20px); }
}
@media (max-width: 650px) {
  .acquisition-summary > div { padding-block: 7px; }
  .acquisition-summary strong { font-size: clamp(15px, 3.5cqw, 19px); }
  .evolution-intro { align-items: stretch; }
}

/* The funnel uses the available canvas height. Evolution keeps filters within reach. */
.acquisition-main { display: flex; flex-direction: column; }
.acquisition-chart-header { flex: 0 0 auto; }
.acquisition-chart-view { display: flex; flex: 1 0 auto; flex-direction: column; min-height: 0; }
.funnel-chart { display: flex; flex: 1 1 auto; flex-direction: column; }
.funnel-row { flex: 1 0 48px; }
.acquisition-note { flex: 0 0 auto; margin-top: 0; padding-top: 8px; }
.acquisition-evolution { min-height: 0; }
.evolution-controls { position: sticky; top: var(--acquisition-header-height, 56px); z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; background: var(--bg); border-bottom: 1px solid #3e344b; }
.evolution-series { min-width: 0; }
#evolution-series-options { gap: 5px; }
.series-option { min-height: 36px; }
.evolution-month-picker { display: flex; align-items: center; gap: 7px; flex: 0 0 auto; color: #ac9dbc; font-size: 10px; }
.evolution-month-picker select { min-width: 100px; min-height: 36px; padding: 5px 8px; border: 1px solid #75608e; border-radius: 4px; color: white; background: #261d35; font: 600 11px var(--body); }
.evolution-month-picker select:focus-visible { outline: 3px solid var(--violet-light); outline-offset: 3px; }
.evolution-plot-wrap { position: relative; margin-top: 5px; }
#evolution-plot { max-width: 1300px; margin-inline: auto; }
.evolution-tooltip { position: absolute; z-index: 4; width: max-content; min-width: 190px; max-width: min(270px, calc(100% - 16px)); padding: 10px 12px; border: 1px solid #9572b2; border-radius: 6px; color: #f8f2ff; background: #281c38f5; box-shadow: 0 12px 32px #0009; pointer-events: none; font-size: 10px; }
.evolution-tooltip > strong { display: block; margin-bottom: 6px; color: #ffc181; font: 700 12px var(--display); }
.evolution-tooltip > div { display: flex; justify-content: space-between; gap: 16px; border-left: 2px solid var(--series-color); margin-top: 4px; padding-left: 6px; }
.evolution-tooltip > div b { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 1000px) { .evolution-controls { align-items: stretch; flex-direction: column; } .evolution-month-picker { justify-content: end; } }

/* Annual chart expands into the free height on large presentation screens. */
.acquisition-evolution:not([hidden]) { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
.evolution-controls { flex: 0 0 auto; }
.evolution-plot-wrap { display: flex; flex: 1 1 auto; min-height: 215px; align-items: stretch; overflow-x: auto; }
#evolution-plot { width: 100%; min-width: 850px; max-width: none; height: 100%; margin: 0; }
.evolution-month-values, .evolution-note { flex: 0 0 auto; }

/* Indicators content slide follows the same fixed-heading, scrollable-body system. */
.indicators-slide { padding-block: clamp(18px, 3cqh, 40px); }
.indicators-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.indicators-head h2 { margin-top: clamp(12px, 2.5cqh, 28px); font-size: clamp(28px, min(4.2cqw, 8cqh), 58px); }
.indicators-date { display: flex; align-items: baseline; justify-content: end; gap: 3px; flex-wrap: wrap; color: var(--orange); white-space: nowrap; }
.indicators-date strong { font: 900 clamp(26px, 3.4cqw, 44px)/1 var(--display); }
.indicators-date > span { color: #a69ab3; font: 700 14px var(--display); }
.indicators-date small { flex-basis: 100%; color: var(--muted); font: 600 9px var(--body); letter-spacing: .1em; text-align: right; }
.indicators-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 8px; }
.indicators-summary strong small { display: inline; color: #d2b4ff; font: 700 .68em var(--display); }
.indicators-main { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; margin-top: 8px; overflow: auto; overscroll-behavior: contain; scrollbar-color: #6b4c94 #1d182a; }
.indicators-view-header { position: sticky; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex: 0 0 auto; padding-bottom: 10px; border-bottom: 1px solid #44364f; background: var(--bg); }
.indicators-view-header .eyebrow { color: var(--violet-light); font-size: 9px; }
.indicators-view-header h3 { margin-top: 4px; font: 700 clamp(18px, 1.8cqw, 24px) var(--display); }
.indicators-chart-view:not([hidden]) { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
.indicators-controls { top: var(--indicators-header-height, 56px); }
.indicators-plot-wrap { display: flex; flex: 1 1 auto; min-height: 220px; align-items: stretch; }
#indicators-plot { display: block; width: 100%; min-width: 740px; height: 100%; }
.indicators-table-view:not([hidden]) { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
.indicators-table-intro { flex: 0 0 auto; margin: 10px 0; color: #bdb1ca; font-size: 11px; }
.indicators-tables { flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-color: #6b4c94 #1d182a; }
.indicators-tables:focus-visible { outline: 2px solid var(--violet-light); outline-offset: -2px; }
.indicator-year-table { padding: 13px 16px 16px; border: 1px solid #57446c; border-radius: 6px; background: #15101f; }
.indicator-year-table + .indicator-year-table { margin-top: 16px; }
.indicator-year-table h4 { margin: 0 0 10px; color: #f3eafa; font: 700 17px var(--display); }
.indicators-data-table { min-width: 1050px; }
.indicators-data-table .data-key-row td { color: #dfd0f2; }
.indicators-comparison:not([hidden]) { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; padding-top: clamp(14px, 2cqh, 24px); }
.comparison-intro { color: #bdb1ca; font-size: clamp(11px, .9cqw, 14px); }
.comparison-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: clamp(12px, 1.5cqw, 22px); margin-top: clamp(14px, 2.5cqh, 28px); }
.comparison-card { display: flex; flex-direction: column; min-width: 0; padding: clamp(16px, 2cqw, 30px); border: 1px solid #5b476d; border-radius: 7px; background: #1b1527; }
.comparison-card h4 { margin: 0 0 clamp(18px, 3cqh, 34px); color: #c8b8da; font: 700 clamp(16px, 1.5cqw, 21px) var(--display); }
.comparison-values { display: flex; align-items: end; justify-content: space-between; gap: 10px; }
.comparison-values > div { display: flex; flex-direction: column; gap: 5px; }
.comparison-values > div > span { color: #a99bbb; font-size: 9px; letter-spacing: .06em; }
.comparison-values strong { font: 800 clamp(20px, 2cqw, 34px)/1 var(--display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.comparison-values > div:last-child strong { color: #f7f0ff; }
.comparison-arrow { color: var(--orange); font-size: 22px; }
.comparison-card p { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: auto; padding-top: clamp(18px, 3cqh, 34px); color: #bdb1ca; font-size: 11px; }
.comparison-card p b { color: #9be5b4; font: 800 clamp(18px, 2cqw, 28px) var(--display); }
.comparison-note { margin-top: 16px; color: #aaa0bc; font-size: 11px; }
.indicators-slide .slide-foot { padding-top: 8px; }
@media (max-width: 960px) {
  .indicators-view-header { align-items: start; flex-direction: column; }
  .indicators-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .indicators-summary > div:last-child { grid-column: auto; border-top: 0; border-left: 1px solid #514360; }
  .comparison-grid { grid-template-columns: 1fr; }
  .comparison-card { padding: 18px; }
  .comparison-card h4 { margin-bottom: 12px; }
  .comparison-card p { padding-top: 12px; }
}
@media (max-width: 650px) {
  .indicators-head h2 { font-size: clamp(24px, 5.2cqw, 34px); }
  .indicators-date strong { font-size: 24px; }
  .indicators-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .indicators-summary > div:nth-child(3) { border-top: 1px solid #514360; border-left: 0; }
  .indicators-summary > div:last-child { border-top: 1px solid #514360; border-left: 1px solid #514360; }
  .indicators-controls { align-items: stretch; flex-direction: column; }
  .indicators-slide .acquisition-actions { width: 100%; }
  .indicators-slide .acquisition-view-button { flex: 1 1 0; }
}

/* Source-faithful heat scale for the three indicator rates in both year tables. */
.indicators-data-table .rate-heat,
.indicators-data-table .rate-heat.current-month,
.indicators-data-table tbody tr:hover .rate-heat {
  background: var(--heat-color);
  color: #19121e;
  font-weight: 800;
}

.indicators-data-table td.rate-heat { color: #19121e !important; }

.presence-cover .topic-content h2 { font-size: clamp(33px, min(6.6cqw, 12cqh), 102px); overflow-wrap: anywhere; }

/* Podcast: content follows the same fixed-heading pattern as the other topic slides. */
.podcast-overview-slide,
.podcast-chapters-slide { padding-block: clamp(18px, 3cqh, 40px); }
.podcast-overview-slide h2,
.podcast-chapters-slide h2 {
  flex: 0 0 auto;
  margin-top: clamp(12px, 2.5cqh, 28px);
  font-size: clamp(28px, min(4.2cqw, 8cqh), 58px);
}
.podcast-overview-slide .slide-foot,
.podcast-chapters-slide .slide-foot { flex: 0 0 auto; padding-top: 8px; }
.podcast-overview-body,
.podcast-detail-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: #6b4c94 #1d182a;
}
.podcast-overview-body { display: flex; flex-direction: column; gap: clamp(18px, 3cqh, 28px); margin-top: clamp(16px, 2.8cqh, 28px); }
.podcast-hero { display: grid; flex: 1 1 auto; grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr); gap: clamp(16px, 2cqw, 28px); min-height: 0; }
.podcast-identity { display: grid; grid-template-columns: minmax(0, 1fr) minmax(200px, .8fr); min-height: 0; overflow: hidden; border: 1px solid #4a3c60; border-radius: 8px; background: #171324; }
.podcast-identity > img { width: 100%; height: 100%; min-height: 0; object-fit: contain; background: #112758; }
.podcast-story { display: flex; flex-direction: column; justify-content: center; gap: clamp(8px, 1.4cqh, 14px); min-width: 0; padding: clamp(12px, 1.3cqw, 20px); }
.podcast-story-label,
.podcast-journey-heading > div > span,
.podcast-next > div > span { color: #bba3d4; font: 700 10px var(--body); letter-spacing: .15em; }
.podcast-story p { color: #e8e1ef; font: 500 clamp(12px, .94cqw, 16px)/1.48 var(--body); }
.podcast-media-stage { position: relative; min-width: 0; min-height: 0; isolation: isolate; }
.podcast-recording { position: absolute; inset: 0; margin: 0; overflow: hidden; border: 1px solid #5a476d; border-radius: 8px; background: #151020; }
.podcast-recording img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; }
.podcast-recording figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 24px 16px 12px; color: #fff; background: linear-gradient(transparent, #0a081ddd); font: 700 10px var(--body); letter-spacing: .15em; }
.podcast-clips,
.podcast-clip { display: contents; }
.podcast-clip-trigger { position: absolute; z-index: 4; bottom: 12px; display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 7px 11px; border: 1px solid #b69bda; border-radius: 5px; color: #fff; background: #21172ee8; box-shadow: 0 3px 16px #08061188; font: 700 11px var(--body); white-space: nowrap; }
.podcast-clip-opening .podcast-clip-trigger { right: 124px; }
.podcast-clip-closing .podcast-clip-trigger { right: 12px; }
.podcast-clip-trigger > span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; color: #21172e; background: var(--orange); font-size: 9px; }
.podcast-clip-trigger small { color: #c9bed5; font-size: 9px; font-weight: 500; }
.podcast-clip-trigger:hover,
.podcast-clip:focus-within .podcast-clip-trigger { border-color: var(--orange); background: #362044; }
.podcast-clip-panel { position: absolute; z-index: 3; inset: 0 0 42px; display: flex; align-items: center; justify-content: center; padding: 8px; visibility: hidden; opacity: 0; pointer-events: none; border: 1px solid #8c6bab; border-radius: 8px 8px 0 0; background: #090711; box-shadow: 0 14px 30px #08061199; transition: opacity .16s ease, visibility .16s ease; }
.podcast-clip:hover .podcast-clip-panel,
.podcast-clip:focus-within .podcast-clip-panel { visibility: visible; opacity: 1; pointer-events: auto; }
.podcast-clip-panel video { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; background: #090711; }
.podcast-clip-label { position: absolute; z-index: 1; top: 12px; left: 14px; padding: 5px 7px; border-radius: 3px; color: #fff; background: #110d20cc; font: 700 9px var(--body); letter-spacing: .12em; pointer-events: none; }
.podcast-journey { flex: 0 0 auto; padding: clamp(15px, 2cqh, 22px) clamp(18px, 2cqw, 28px) clamp(12px, 1.6cqh, 18px); border: 1px solid #4a3c60; border-radius: 8px; background: linear-gradient(90deg, #20152e, #171321); }
.podcast-journey-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: clamp(11px, 1.7cqh, 18px); }
.podcast-journey-heading > div { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.podcast-journey-heading strong { color: #fff; font: 800 clamp(16px, 1.7cqw, 23px) var(--display); }
.podcast-journey-heading strong em { color: var(--orange); font-style: normal; }
.podcast-journey-count { color: var(--orange); font: 900 clamp(22px, 2.5cqw, 34px)/1 var(--display); white-space: nowrap; }
.podcast-journey-count small { color: #a99ab9; font-size: .55em; }
.podcast-journey ol { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.podcast-journey li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; }
.podcast-journey li:not(:last-child)::after { content: ''; position: absolute; top: 16px; left: calc(50% + 24px); width: calc(100% - 48px); border-top: 2px solid #6d5488; }
.podcast-journey li.is-defined:not(:nth-child(3))::after { border-color: var(--orange); }
.podcast-journey .is-defined:nth-child(3)::after,
.podcast-journey .is-future::after { border-top-style: dashed; }
.podcast-journey b { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #6e5885; border-radius: 50%; color: #aca0b8; background: #251c31; font: 800 12px var(--display); }
.podcast-journey .is-defined b { border-color: var(--orange); color: #160d16; background: var(--orange); }
.podcast-journey .is-goal b { border-color: var(--violet-light); color: #fff; background: #633e94; box-shadow: 0 0 0 4px #633e9433; }
.podcast-journey li span { color: #aba0b8; font-size: 10px; white-space: nowrap; }
.podcast-journey .is-defined span { color: #e1d8e9; }
.podcast-chapters-intro { flex: 0 0 auto; margin: 8px 0 0; color: #bfb5cc; font-size: clamp(12px, 1cqw, 15px); }
.podcast-detail-body { margin-top: clamp(14px, 2.2cqh, 24px); padding-right: 4px; }
.podcast-detail-body:focus-visible,
.podcast-overview-body:focus-visible { outline: 2px solid var(--violet-light); outline-offset: -2px; }
.podcast-episode-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.4cqw, 20px); }
.podcast-episode { display: flex; flex-direction: column; min-width: 0; padding: clamp(17px, 1.8cqw, 28px); border: 1px solid #514066; border-radius: 8px; background: #1b1528; }
.episode-top { display: flex; justify-content: space-between; gap: 10px; color: var(--orange); font: 800 10px var(--body); letter-spacing: .11em; }
.episode-top span:last-child { color: #b59acb; font-size: 9px; }
.podcast-episode h3 { min-height: 2.6em; margin: 18px 0 22px; color: #fff; font: 800 clamp(18px, 1.55cqw, 24px)/1.28 var(--display); letter-spacing: -.025em; }
.episode-host { display: flex; flex-wrap: wrap; column-gap: 8px; align-items: baseline; padding-block: 13px; border-block: 1px solid #4a3b5b; }
.episode-host > span,
.episode-guests > span { display: block; width: 100%; margin-bottom: 7px; color: #ac97bf; font: 700 9px var(--body); letter-spacing: .12em; }
.episode-host strong,
.episode-guests strong { color: #f6f1fa; font: 700 clamp(13px, 1cqw, 16px) var(--body); }
.episode-host small,
.episode-guests small { color: #b8aec4; font-size: clamp(10px, .82cqw, 13px); }
.episode-guests { margin-top: 14px; }
.episode-guests ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.episode-guests li { display: flex; flex-direction: column; gap: 3px; }
.podcast-next { display: flex; align-items: start; justify-content: space-between; gap: 22px; margin-top: 14px; padding: 18px clamp(17px, 1.8cqw, 28px); border: 1px solid #4a395e; border-radius: 8px; background: #171121; }
.podcast-next h3 { margin: 6px 0 0; color: #f4ecfc; font: 800 clamp(17px, 1.4cqw, 22px) var(--display); }
.podcast-next ul { display: flex; gap: 8px; flex-wrap: wrap; max-width: 72%; margin: 0; padding: 0; list-style: none; }
.podcast-next li { padding: 8px 10px; border: 1px solid #624a78; border-radius: 5px; color: #d8cadd; font-size: 11px; }
@media (max-width: 1050px) {
  .podcast-hero { grid-template-columns: 1fr 1fr; }
  .podcast-identity { grid-template-columns: minmax(0, 1fr) minmax(155px, .9fr); }
  .podcast-story { padding: 12px; }
  .podcast-story p { font-size: 12px; }
  .podcast-episode-grid { grid-template-columns: 1fr; }
  .podcast-episode h3 { min-height: 0; margin-block: 12px; }
  .podcast-next { flex-direction: column; }
  .podcast-next ul { max-width: none; }
}
@media (max-width: 720px) {
  .podcast-overview-slide h2,
  .podcast-chapters-slide h2 { font-size: clamp(25px, 5cqw, 38px); }
  .podcast-hero { display: flex; flex-direction: column; flex: 0 0 auto; }
  .podcast-identity { min-height: 210px; }
  .podcast-media-stage { flex: 0 0 auto; min-height: 270px; }
  .podcast-journey li span { font-size: 9px; }
}
@media (max-width: 470px) {
  .podcast-identity { grid-template-columns: minmax(0, 1fr) minmax(160px, 1fr); }
  .podcast-story-label { font-size: 8px; }
  .podcast-story p { font-size: 12px; }
  .podcast-journey { padding-inline: 10px; }
  .podcast-journey li span { display: none; }
  .podcast-journey b { width: 28px; height: 28px; font-size: 10px; }
  .podcast-journey li:not(:last-child)::after { top: 13px; left: calc(50% + 18px); width: calc(100% - 36px); }
}

/* One-slide podcast release plan and distribution map. */
.podcast-plan-slide { padding-block: clamp(18px, 3cqh, 40px); }
.podcast-plan-slide h2 { flex: 0 0 auto; margin-top: clamp(12px, 2.5cqh, 28px); font-size: clamp(28px, min(4.2cqw, 8cqh), 58px); }
.podcast-plan-slide .slide-foot { flex: 0 0 auto; padding-top: 8px; }
.podcast-plan-body { flex: 1 1 auto; min-height: 0; margin-top: clamp(10px, 2cqh, 18px); overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #6b4c94 #1d182a; }
.podcast-plan-body:focus-visible,
.release-calendar-scroll:focus-visible { outline: 2px solid var(--violet-light); outline-offset: -2px; }
.release-milestones { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 1.5cqw, 24px); margin-bottom: clamp(11px, 1.8cqh, 18px); }
.release-milestone { display: flex; align-items: center; gap: clamp(12px, 1.6cqw, 24px); min-height: clamp(74px, 11cqh, 92px); padding: clamp(10px, 1.2cqw, 18px); border: 1px solid #4d3d60; border-left: 4px solid var(--milestone-color); border-radius: 7px; background: #1b1528; }
.release-milestone.teaser { --milestone-color: #b99aff; }
.release-milestone.launch { --milestone-color: var(--orange); background: linear-gradient(110deg, #281a2b, #1b1528); }
.release-milestone time { display: flex; align-items: center; gap: 7px; flex: 0 0 auto; min-width: 85px; color: var(--milestone-color); }
.release-milestone time strong { font: 900 clamp(28px, 3cqw, 43px)/.95 var(--display); letter-spacing: -.06em; }
.release-milestone time span { font-size: 10px; font-weight: 800; line-height: 1.2; letter-spacing: .06em; }
.release-milestone > div { min-width: 0; }
.milestone-type { color: var(--milestone-color); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.release-milestone h3 { margin-top: 3px; color: #fff; font: 800 clamp(17px, 1.5cqw, 22px) var(--display); }
.release-milestone p { margin-top: 3px; color: #c6b9d1; font-size: clamp(11px, .9cqw, 13px); }
.release-section-heading { display: flex; align-items: baseline; gap: clamp(10px, 1.2cqw, 20px); margin-bottom: 7px; }
.release-section-heading span { color: #b99aff; font-size: 10px; font-weight: 800; letter-spacing: .12em; white-space: nowrap; }
.release-section-heading strong { color: #eee7f4; font: 700 clamp(14px, 1.4cqw, 20px) var(--display); }
.release-calendar-scroll { max-width: 100%; overflow-x: auto; scrollbar-color: #6b4c94 #1d182a; }
.release-calendar { width: 100%; min-width: 990px; table-layout: fixed; border-collapse: separate; border-spacing: 4px; font-variant-numeric: tabular-nums; }
.release-calendar th:first-child { width: 144px; }
.release-calendar thead th { height: clamp(36px, 5.3cqh, 44px); color: #c7b9d6; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-align: center; }
.release-calendar thead th:first-child { text-align: left; }
.release-calendar thead time { display: flex; align-items: baseline; justify-content: center; gap: 3px; white-space: nowrap; }
.release-calendar thead b { color: #fff; font: 800 18px var(--display); }
.release-calendar thead small { color: #a79bb7; font-size: 10px; }
.release-calendar thead .holiday-date b { color: var(--orange); }
.release-calendar tbody th { height: clamp(40px, 5.8cqh, 48px); padding-right: 8px; color: #ddd2ea; font-size: 12px; font-weight: 700; line-height: 1.2; text-align: left; }
.release-calendar tbody th small { display: block; margin-top: 3px; color: #9f94ad; font-size: 9px; font-weight: 500; }
.release-calendar tbody td { height: clamp(40px, 5.8cqh, 48px); border: 1px solid transparent; border-radius: 4px; font-size: 12px; font-weight: 700; text-align: center; white-space: nowrap; }
.release-calendar .recording-row td:not(.empty) { color: #e1efff; background: #1a365e; border-color: #345d8f; }
.release-calendar .release-row td:not(.empty) { color: #1c1020; background: #ff9020; }
.release-calendar .reserve-row td { color: #d3eaff; background: #213b54; border-color: #3c6685; }
.release-calendar .web-row td:not(.empty) { color: #2a1720; background: #f4c5a5; }
.release-calendar td.empty { color: #847892; border: 1px dashed #4a3f59; background: #15111f; }
.release-note { margin: clamp(7px, 1cqh, 11px) 4px clamp(10px, 1.4cqh, 16px); padding: 7px 12px; border-left: 2px solid var(--orange); color: #c6b9cf; background: #22192d; font-size: 11px; line-height: 1.35; }
.release-note span { color: var(--orange); font-weight: 800; }
.channel-heading { display: flex; align-items: baseline; gap: 14px; padding-top: clamp(8px, 1.2cqh, 14px); border-top: 1px solid #493b59; }
.channel-heading > span { color: #b99aff; font-size: 9px; font-weight: 800; letter-spacing: .11em; white-space: nowrap; }
.channel-heading h3 { color: #fff; font: 800 clamp(16px, 1.7cqw, 22px) var(--display); }
.channel-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(10px, 1.2cqw, 20px); margin-top: 9px; }
.channel-card { min-width: 0; min-height: clamp(84px, 12cqh, 100px); padding: clamp(11px, 1.1cqw, 17px); border: 1px solid #4b3e5b; border-top: 3px solid var(--channel-color); border-radius: 5px; background: #1b1628; }
.channel-card.spotify { --channel-color: #a98af6; }
.channel-card.youtube { --channel-color: #ff8d17; }
.channel-card.instagram { --channel-color: #79bed8; }
.channel-card.web { --channel-color: #efb792; }
.channel-number { color: var(--channel-color); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.channel-card h4 { margin: 7px 0 4px; color: #fff; font: 800 clamp(17px, 1.45cqw, 22px) var(--display); }
.channel-card p { color: #c8bdd3; font-size: clamp(11px, .9cqw, 14px); line-height: 1.3; }
@media (max-height: 760px) and (min-width: 721px) {
  .podcast-plan-body { margin-top: 8px; }
  .release-milestones { margin-bottom: 8px; }
  .release-milestone { min-height: 60px; padding: 6px 12px; }
  .release-milestone time strong { font-size: 30px; }
  .release-milestone h3 { font-size: 17px; }
  .release-milestone p { font-size: 10px; }
  .release-section-heading { margin-bottom: 3px; }
  .release-section-heading strong { font-size: 14px; }
  .release-calendar thead th { height: 28px; }
  .release-calendar tbody th,
  .release-calendar tbody td { height: 32px; }
  .release-note { margin: 5px 4px 5px; padding-block: 5px; font-size: 10px; }
  .channel-heading { padding-top: 6px; }
  .channel-heading h3 { font-size: 17px; }
  .channel-grid { margin-top: 6px; }
  .channel-card { min-height: 64px; padding: 7px 12px; }
  .channel-card h4 { margin: 3px 0 1px; font-size: 16px; }
  .channel-card p { font-size: 10px; }
}
@media (max-width: 720px) {
  .podcast-plan-slide h2 { font-size: clamp(25px, 5cqw, 38px); }
  .release-milestones { grid-template-columns: 1fr; }
  .release-section-heading { align-items: start; flex-direction: column; gap: 4px; }
  .channel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 450px) {
  .channel-heading { align-items: start; flex-direction: column; gap: 4px; }
  .channel-card { padding: 10px; }
}

/* Web traffic: fixed content heading, compact metrics, and interchangeable detail views. */
.traffic-slide { padding-block: clamp(18px, 3cqh, 40px); }
.traffic-slide h2 { flex: 0 0 auto; margin-top: clamp(12px, 2.5cqh, 28px); font-size: clamp(28px, min(4.2cqw, 8cqh), 58px); }
.traffic-slide .slide-foot { flex: 0 0 auto; padding-top: 8px; }
.traffic-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); flex: 0 0 auto; margin-top: clamp(10px, 1.5cqh, 16px); border-block: 1px solid #493b59; }
.traffic-stats > div { display: flex; align-items: baseline; gap: clamp(9px, 1cqw, 16px); min-width: 0; padding: clamp(10px, 1.7cqh, 17px) clamp(10px, 1.5cqw, 24px); }
.traffic-stats > div:first-child { padding-left: 0; }
.traffic-stats > div + div { border-left: 1px solid #493b59; }
.traffic-stats span { color: #b9adca; font-size: clamp(10px, .9cqw, 13px); }
.traffic-stats strong { color: #fff; font: 800 clamp(20px, 2.3cqw, 34px)/1 var(--display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.traffic-stats small { color: #ff8c79; font-size: 11px; font-weight: 700; white-space: nowrap; }
.traffic-main { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; margin-top: clamp(12px, 2cqh, 22px); }
.traffic-view-header { display: flex; align-items: end; justify-content: space-between; gap: 18px; flex: 0 0 auto; padding-bottom: 10px; border-bottom: 1px solid #493b59; }
.traffic-view-header > div:first-child > span { color: #b99aff; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.traffic-view-header h3 { margin-top: 3px; color: #fff; font: 800 clamp(18px, 1.8cqw, 25px) var(--display); }
.traffic-history:not([hidden]),
.traffic-sources:not([hidden]) { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
.traffic-chart-legend { display: flex; align-items: center; justify-content: end; gap: clamp(10px, 1.4cqw, 20px); flex: 0 0 auto; padding: 10px 0 2px; }
.traffic-chart-legend > span { display: inline-flex; align-items: center; gap: 5px; color: #c0b5cb; font-size: 10px; }
.traffic-swatch { display: inline-block; width: 12px; height: 12px; border-radius: 2px; background: var(--swatch); }
.traffic-swatch.year-2024 { --swatch: #786098; }
.traffic-swatch.year-2025 { --swatch: #ae7d99; }
.traffic-swatch.year-2026 { --swatch: #ff8768; }
.traffic-swatch.partial { --swatch: repeating-linear-gradient(135deg, #ff8768 0 3px, #4c354f 3px 6px); }
.traffic-chart-scroll { flex: 1 1 auto; min-height: 0; overflow-x: auto; scrollbar-color: #6b4c94 #1d182a; }
.traffic-chart-scroll:focus-visible { outline: 2px solid var(--violet-light); outline-offset: -2px; }
.traffic-chart { position: relative; width: 100%; min-width: 850px; height: 100%; min-height: 190px; }
.traffic-gridline { position: absolute; right: 0; left: 50px; border-top: 1px solid #473b50; pointer-events: none; }
.traffic-gridline.top { top: 14px; }
.traffic-gridline.middle { top: calc(50% - 5px); }
.traffic-gridline.bottom { bottom: 29px; }
.traffic-gridline span { position: absolute; top: -8px; left: -48px; width: 42px; color: #9389a4; font-size: 9px; text-align: right; }
.traffic-bars { position: absolute; inset: 14px 0 30px 50px; display: grid; grid-template-columns: repeat(35, minmax(0, 1fr)); align-items: end; gap: clamp(2px, .35cqw, 6px); }
.traffic-bar { position: relative; align-self: end; height: var(--bar-height); min-height: 2px; border-radius: 3px 3px 0 0; background: var(--bar-color); cursor: default; }
.traffic-bar.year-2024 { --bar-color: #786098; }
.traffic-bar.year-2025 { --bar-color: #ae7d99; }
.traffic-bar.year-2026 { --bar-color: #ff8768; }
.traffic-bar.partial { --bar-color: repeating-linear-gradient(135deg, #ff8768 0 4px, #6b475d 4px 8px); outline: 1px solid #ffab83; }
.traffic-bar:hover,
.traffic-bar:focus-visible { filter: brightness(1.2); outline: 2px solid #fff; outline-offset: 2px; z-index: 2; }
.traffic-bar::after { content: attr(data-tooltip); position: absolute; bottom: calc(100% + 9px); left: 50%; z-index: 3; min-width: 130px; padding: 7px 9px; border: 1px solid #806b94; border-radius: 4px; color: #fff; background: #21182e; box-shadow: 0 8px 20px #0008; font-size: 10px; font-weight: 700; line-height: 1.35; opacity: 0; pointer-events: none; transform: translateX(-50%); white-space: nowrap; }
.traffic-bar:first-child::after { left: 0; transform: none; }
.traffic-bar:last-child::after { left: auto; right: 0; transform: none; }
.traffic-bar:hover::after,
.traffic-bar:focus-visible::after { opacity: 1; }
.traffic-month-label { position: absolute; top: calc(100% + 7px); left: 50%; color: #a79ab6; font-size: 9px; font-weight: 600; transform: translateX(-50%); white-space: nowrap; }
.traffic-bar.partial .traffic-month-label { color: var(--orange); }
.traffic-note { flex: 0 0 auto; margin: 7px 0 0; color: #aaa0bb; font-size: 10px; line-height: 1.4; }
.traffic-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(12px, 1.5cqw, 22px); flex: 1 1 auto; min-height: 0; margin-top: 12px; overflow-y: auto; scrollbar-color: #6b4c94 #1d182a; }
.traffic-source-card { min-width: 0; padding: clamp(13px, 1.5cqw, 22px); border: 1px solid #58456d; border-radius: 6px; background: #1a1426; }
.traffic-source-heading { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; }
.traffic-source-heading > span { color: #b99aff; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.traffic-source-heading h4 { color: #fff; font: 800 clamp(15px, 1.5cqw, 22px) var(--display); }
.traffic-source-card table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.traffic-source-card th,
.traffic-source-card td { padding: 7px 5px; border-bottom: 1px solid #41364f; font-size: clamp(10px, .95cqw, 13px); }
.traffic-source-card th:first-child { text-align: left; }
.traffic-source-card td { text-align: right; }
.traffic-source-card thead th { color: #a99bb8; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.traffic-source-card tbody th { color: #e0d6e8; font-weight: 600; }
.traffic-source-card td.down { color: #ff8c79; font-weight: 700; }
.traffic-source-card td.up { color: #92dcae; font-weight: 700; }
@media (max-width: 800px) {
  .traffic-stats > div { flex-wrap: wrap; gap: 4px 8px; }
  .traffic-stats span { width: 100%; }
  .traffic-view-header { align-items: start; flex-direction: column; }
  .traffic-source-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .traffic-slide h2 { font-size: clamp(25px, 5cqw, 38px); }
  .traffic-stats strong { font-size: 20px; }
  .traffic-stats small { font-size: 9px; }
  .traffic-view-header .acquisition-actions { width: 100%; }
  .traffic-view-header .acquisition-view-button { flex: 1; }
  .traffic-chart-legend { justify-content: start; flex-wrap: wrap; }
}

/* Google My Business: monthly volume and a review that merits discussion. */
.gmb-slide { padding-block: clamp(18px, 3cqh, 40px); }
.gmb-slide h2 { flex: 0 0 auto; margin-top: clamp(12px, 2.5cqh, 28px); font-size: clamp(28px, min(4.2cqw, 8cqh), 58px); }
.gmb-slide .slide-foot { flex: 0 0 auto; padding-top: 8px; }
.gmb-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); flex: 0 0 auto; margin-top: clamp(10px, 1.5cqh, 16px); border-block: 1px solid #493b59; }
.gmb-stats > div { display: flex; align-items: baseline; gap: 9px; min-width: 0; padding: clamp(10px, 1.5cqh, 16px) clamp(10px, 1.2cqw, 20px); }
.gmb-stats > div:first-child { padding-left: 0; }
.gmb-stats > div + div { border-left: 1px solid #493b59; }
.gmb-stats span { color: #b9adca; font-size: clamp(10px, .88cqw, 13px); }
.gmb-stats strong { color: #fff; font: 800 clamp(20px, 2.3cqw, 34px)/1 var(--display); font-variant-numeric: tabular-nums; }
.gmb-stats strong small { color: #a99bb8; font-size: .5em; }
.gmb-stats > div > small { color: #bdb0ca; font-size: 10px; white-space: nowrap; }
.gmb-stats .gmb-slow { background: #42281f77; }
.gmb-stats .gmb-slow strong,
.gmb-stats .gmb-slow > small { color: var(--orange); }
.gmb-content { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); gap: clamp(14px, 1.7cqw, 26px); flex: 1 1 auto; min-height: 0; margin-top: clamp(12px, 2cqh, 22px); overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #6b4c94 #1d182a; }
.gmb-content:focus-visible { outline: 2px solid var(--violet-light); outline-offset: -2px; }
.gmb-history,
.gmb-review { display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: clamp(15px, 1.5cqw, 24px); border: 1px solid #544265; border-radius: 7px; background: #191424; }
.gmb-panel-heading > span,
.gmb-review-top > span { color: #b99aff; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.gmb-panel-heading h3 { margin-top: 4px; color: #fff; font: 800 clamp(18px, 1.6cqw, 24px) var(--display); }
.gmb-chart { position: relative; flex: 1 1 auto; min-height: 190px; margin: 14px 0 20px 34px; }
.gmb-gridline { position: absolute; left: 0; right: 0; border-top: 1px solid #40364d; pointer-events: none; }
.gmb-300 { top: 10px; }
.gmb-150 { top: calc(50% - 7px); }
.gmb-0 { bottom: 22px; }
.gmb-gridline span { position: absolute; top: -8px; left: -33px; width: 28px; color: #9d92ad; font-size: 9px; text-align: right; }
.gmb-bars { position: absolute; inset: 10px 0 22px; display: grid; grid-template-columns: repeat(13, minmax(0, 1fr)); align-items: end; gap: clamp(3px, .55cqw, 9px); }
.gmb-bar { position: relative; align-self: end; height: var(--h); min-height: 3px; border-radius: 3px 3px 0 0; background: #22b85a; }
.gmb-bar.partial { background: repeating-linear-gradient(135deg, #ff8b25 0 4px, #653d36 4px 8px); outline: 1px solid #ff9a49; }
.gmb-bar b { position: absolute; bottom: calc(100% + 4px); left: 50%; color: #d2c8dc; font-size: clamp(9px, .8cqw, 12px); font-weight: 700; transform: translateX(-50%); white-space: nowrap; }
.gmb-bar.partial b { color: var(--orange); }
.gmb-bar > span { position: absolute; top: calc(100% + 6px); left: 50%; color: #aaa0ba; font-size: 9px; line-height: 1.05; text-align: center; transform: translateX(-50%); white-space: nowrap; }
.gmb-chart-note { color: #b8adbf; font-size: clamp(10px, .82cqw, 12px); line-height: 1.4; }
.gmb-review { border-color: #9a5a55; background: linear-gradient(155deg, #2c1d28, #1b1522 75%); }
.gmb-review-top { display: flex; align-items: start; justify-content: space-between; gap: 16px; flex: 0 0 auto; padding-bottom: clamp(10px, 1.5cqh, 18px); border-bottom: 1px solid #775056; }
.gmb-review-top > div:first-child > span { color: #ff9f78; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.gmb-review-top h3 { margin-top: 7px; color: #fff; font: 800 clamp(22px, 2cqw, 31px) var(--display); }
.gmb-review-top > div:first-child > small { display: block; margin-top: 3px; color: #bcadb9; font-size: 11px; }
.gmb-review-rating { display: flex; flex-direction: column; align-items: end; flex: 0 0 auto; }
.gmb-review-rating strong { color: var(--orange); font: 900 clamp(30px, 3cqw, 46px)/1 var(--display); font-variant-numeric: tabular-nums; }
.gmb-review-rating strong span { color: #a8919e; font-size: .46em; }
.gmb-review-rating small { margin-top: 5px; color: #ffae77; font-size: 9px; font-weight: 800; letter-spacing: .08em; white-space: nowrap; }
.gmb-review blockquote { flex: 1 1 auto; min-height: 0; margin: clamp(16px, 2.3cqh, 28px) 0; overflow-y: auto; color: #fff7f3; font: 700 clamp(17px, 1.42cqw, 22px)/1.42 var(--body); letter-spacing: -.02em; scrollbar-color: #8d5a62 #241922; }
.gmb-review-foot { display: flex; align-items: baseline; gap: 12px; flex: 0 0 auto; padding-top: 11px; border-top: 1px solid #775056; color: #ffad85; font-size: 10px; font-weight: 700; letter-spacing: .06em; }
@media (max-width: 1000px) {
  .gmb-stats > div { flex-wrap: wrap; gap: 3px 8px; }
  .gmb-stats span { width: 100%; }
  .gmb-content { grid-template-columns: 1fr; }
  .gmb-history { min-height: 330px; }
  .gmb-review { min-height: 300px; }
}
@media (max-width: 600px) {
  .gmb-slide h2 { font-size: clamp(25px, 5cqw, 38px); }
  .gmb-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gmb-stats > div:nth-child(3) { border-top: 1px solid #493b59; border-left: 0; }
  .gmb-stats > div:nth-child(4) { border-top: 1px solid #493b59; }
  .gmb-review-top h3 { font-size: 20px; }
  .gmb-review-rating strong { font-size: 30px; }
  .gmb-review-rating small { font-size: 8px; }
}

/* Project incident: a compact cause-to-resolution story in the content-slide shell. */
.projects-cover .topic-content h2 { font-size: clamp(40px, min(8cqw, 15cqh), 118px); }
.caracal-slide { padding-block: clamp(18px, 3cqh, 40px); }
.caracal-slide h2 { flex: 0 0 auto; margin-top: clamp(12px, 2.5cqh, 28px); font-size: clamp(28px, min(4.2cqw, 8cqh), 58px); }
.caracal-body { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) auto; flex: 1 1 auto; min-height: 0; gap: clamp(12px, 1.5cqw, 22px); margin-top: clamp(12px, 2cqh, 22px); overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #6b4c94 #1d182a; }
.caracal-diagnosis, .caracal-impact, .caracal-fix { min-width: 0; padding: clamp(17px, 1.7cqw, 27px); border: 1px solid #544266; border-radius: 7px; background: #1a1425; }
.caracal-diagnosis { display: flex; flex-direction: column; grid-row: span 2; border-color: #875379; background: linear-gradient(145deg, #292035, #1b1525); }
.caracal-impact { border-left: 3px solid var(--orange); }
.caracal-fix { border-color: #815c9e; background: #221a31; }
.caracal-label { color: #c6a6ef; font-size: clamp(10px, .82cqw, 12px); font-weight: 800; letter-spacing: .13em; }
.caracal-impact .caracal-label { color: #ffa14c; }
.caracal-diagnosis h3, .caracal-impact h3, .caracal-fix h3 { margin: clamp(10px, 1.5cqh, 17px) 0 0; color: #fff; font: 800 clamp(20px, 2.15cqw, 32px)/1.08 var(--display); letter-spacing: -.025em; }
.caracal-diagnosis h3 { max-width: 17ch; font-size: clamp(27px, 2.8cqw, 42px); }
.caracal-impact h3, .caracal-fix h3 { font-size: clamp(20px, 1.8cqw, 27px); }
.caracal-diagnosis p, .caracal-impact p, .caracal-fix p { margin: clamp(10px, 1.7cqh, 20px) 0 0; color: #d1c6dc; font-size: clamp(13px, 1.05cqw, 17px); line-height: 1.42; }
.caracal-diagnosis p strong { color: white; }
.caracal-timing { display: flex; align-items: center; gap: clamp(12px, 2cqw, 28px); margin-top: auto; padding-top: clamp(16px, 2.5cqh, 28px); }
.caracal-timing > span { color: var(--orange); font-size: clamp(24px, 2.7cqw, 40px); }
.caracal-timing div { display: flex; flex-direction: column; gap: 5px; }
.caracal-timing b { color: #fff; font: 900 clamp(31px, 3.4cqw, 52px)/1 var(--display); white-space: nowrap; }
.caracal-timing div:last-child b { color: #bc9aff; }
.caracal-timing div span { color: #bdb0c9; font-size: clamp(10px, .85cqw, 13px); }
.caracal-fix-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; }
.caracal-fix-heading strong { color: #bc9aff; font: 900 clamp(31px, 3.1cqw, 46px)/1 var(--display); white-space: nowrap; }
.caracal-result { display: flex; grid-column: 1 / -1; align-items: center; gap: 16px; padding: clamp(13px, 1.7cqh, 21px) clamp(16px, 1.8cqw, 28px); border: 1px solid #54846d; border-radius: 7px; background: #183025; }
.caracal-result-mark { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 auto; border-radius: 50%; background: #2a6f4b; color: white; font-size: 20px; }
.caracal-result strong { color: #d7ffe4; font: 800 clamp(15px, 1.4cqw, 21px) var(--display); }
.caracal-result p { margin: 4px 0 0; color: #b9d4c4; font-size: clamp(11px, .95cqw, 14px); line-height: 1.3; }
@media (max-width: 850px) {
  .caracal-body { display: flex; flex-direction: column; }
  .caracal-diagnosis, .caracal-impact, .caracal-fix { flex: 0 0 auto; }
  .caracal-timing { margin-top: 0; }
}
@media (max-width: 600px) {
  .caracal-slide h2 { font-size: clamp(25px, 5cqw, 38px); }
  .caracal-diagnosis h3 { font-size: 27px; }
  .caracal-impact h3, .caracal-fix h3 { font-size: 20px; }
  .caracal-timing b { font-size: 30px; }
}

/* COONFIA: lead volume and current state, with the dashboard decision below. */
.coonfia-slide { padding-block: clamp(18px, 3cqh, 40px); }
.coonfia-slide h2 { flex: 0 0 auto; margin-top: clamp(12px, 2.5cqh, 28px); font-size: clamp(28px, min(4.2cqw, 8cqh), 58px); }
.coonfia-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); flex: 0 0 auto; margin-top: clamp(10px, 1.5cqh, 16px); border-block: 1px solid #493b59; }
.coonfia-stats > div { display: flex; align-items: baseline; gap: 10px; min-width: 0; padding: clamp(9px, 1.3cqh, 15px) clamp(10px, 1.2cqw, 20px); }
.coonfia-stats > div:first-child { padding-left: 0; }
.coonfia-stats > div + div { border-left: 1px solid #493b59; }
.coonfia-stats span { color: #b9adca; font-size: clamp(10px, .9cqw, 13px); }
.coonfia-stats strong { color: #fff; font: 800 clamp(22px, 2.3cqw, 34px)/1 var(--display); font-variant-numeric: tabular-nums; }
.coonfia-stats strong small { color: #a99bb8; font-size: .5em; }
.coonfia-body { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; margin-top: clamp(12px, 2cqh, 22px); overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #6b4c94 #1d182a; }
.coonfia-chart-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; flex: 0 0 auto; padding-bottom: clamp(8px, 1.3cqh, 14px); border-bottom: 1px solid #493b59; }
.coonfia-chart-heading div > span { color: #bc9aff; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.coonfia-chart-heading h3 { margin-top: 4px; font: 800 clamp(19px, 1.8cqw, 27px)/1.1 var(--display); }
.coonfia-chart-heading > span { color: #aa9ab9; font-size: 10px; letter-spacing: .1em; white-space: nowrap; }
.coonfia-rows { display: grid; grid-template-rows: repeat(7, minmax(32px, 1fr)); flex: 1 1 auto; min-height: 231px; }
.coonfia-row { display: grid; grid-template-columns: minmax(180px, 1.1fr) minmax(90px, 2fr) 38px; align-items: center; gap: clamp(12px, 1.5cqw, 22px); min-width: 0; padding: 5px 0; border-bottom: 1px solid #332b3f; }
.coonfia-row > div { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
.coonfia-row strong { color: #f4eff8; font-size: clamp(12px, 1.06cqw, 16px); white-space: nowrap; }
.coonfia-row small { color: #a99cb8; font-size: clamp(9px, .74cqw, 11px); }
.coonfia-track { height: clamp(12px, 1.8cqh, 20px); overflow: hidden; border-radius: 2px; background: #2b2237; }
.coonfia-track i { display: block; width: var(--bar); height: 100%; border-radius: inherit; background: var(--accent); }
.coonfia-row b { color: var(--accent); font: 800 clamp(17px, 1.5cqw, 23px)/1 var(--display); text-align: right; }
.coonfia-next { display: grid; grid-template-columns: minmax(160px, .34fr) 1fr; align-items: center; gap: 18px; flex: 0 0 auto; margin-top: clamp(8px, 1.2cqh, 14px); padding: clamp(10px, 1.2cqh, 15px) clamp(18px, 1.8cqw, 26px); border: 1px solid #76599b; border-radius: 6px; background: #231b32; }
.coonfia-next > span { color: #c6a6ef; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.coonfia-next p { margin: 0; color: #f1e9f7; font-size: clamp(12px, 1.05cqw, 16px); line-height: 1.35; }
@media (max-width: 1000px) {
  .coonfia-stats > div { flex-wrap: wrap; gap: 3px 7px; }
  .coonfia-stats span { width: 100%; }
  .coonfia-row > div { align-items: start; flex-direction: column; gap: 1px; }
}
@media (max-width: 650px) {
  .coonfia-slide h2 { font-size: clamp(25px, 5cqw, 38px); }
  .coonfia-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coonfia-stats > div:nth-child(3) { border-top: 1px solid #493b59; border-left: 0; }
  .coonfia-stats > div:nth-child(4) { border-top: 1px solid #493b59; }
  .coonfia-row { grid-template-columns: minmax(130px, 1.2fr) minmax(60px, 1fr) 22px; gap: 8px; }
  .coonfia-row strong { white-space: normal; }
  .coonfia-next { grid-template-columns: 1fr; gap: 5px; }
}

/* Closing slide uses the same brand frame as the opening, with a concrete handoff. */
.closing-slide { background: radial-gradient(circle at 83% 48%, #48246534, transparent 42%), #100c1b; }
.closing-slide::before { content: ''; position: absolute; width: min(55cqw, 90cqh); aspect-ratio: 1; right: -16%; bottom: -34%; border: clamp(22px, 4cqw, 70px) solid #7950ba18; border-radius: 50%; pointer-events: none; }
.closing-slide::after { content: ''; position: absolute; inset: auto 0 0; height: 3px; background: linear-gradient(to right, var(--violet) 72%, var(--orange) 72%); }
.closing-main { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: clamp(35px, 6cqw, 95px); flex: 1 1 auto; min-height: 0; }
.closing-message h2 { margin: clamp(14px, 2.5cqh, 28px) 0; font: italic 900 clamp(44px, min(7.2cqw, 12cqh), 108px)/.98 var(--display); letter-spacing: -.05em; }
.closing-message > p:last-child { max-width: 34ch; color: #cfc5da; font-size: clamp(17px, 1.65cqw, 25px); line-height: 1.4; }
.closing-plan { padding: clamp(20px, 2.6cqw, 42px); border: 1px solid #66507e; border-radius: 7px; background: #1b1429cc; }
.closing-plan > span { color: #c29dff; font-size: clamp(10px, .85cqw, 13px); font-weight: 800; letter-spacing: .14em; }
.closing-plan > div { display: flex; align-items: baseline; gap: clamp(14px, 1.7cqw, 27px); padding: clamp(17px, 2.3cqh, 27px) 0; border-bottom: 1px solid #483752; }
.closing-plan > div b { color: var(--orange); font-size: clamp(16px, 1.4cqw, 22px); font-weight: 700; }
.closing-plan > div p { display: flex; flex-direction: column; gap: 5px; margin: 0; }
.closing-plan strong { color: #fff; font: 800 clamp(20px, 1.9cqw, 28px) var(--display); }
.closing-plan small { color: #bbafc9; font-size: clamp(12px, 1cqw, 15px); line-height: 1.4; }
.closing-plan-note { margin: clamp(16px, 2cqh, 23px) 0 0; color: #c6bad3; font-size: clamp(12px, 1cqw, 15px); line-height: 1.4; }
@media (max-width: 800px) {
  .closing-slide { overflow-y: auto; }
  .closing-main { grid-template-columns: 1fr; gap: 18px; align-content: center; padding-block: 28px; }
  .closing-message h2 { font-size: clamp(42px, 8cqw, 76px); }
  .closing-plan { padding: 20px; }
  .closing-plan > div { padding-block: 12px; }
}
