/* Homepage: briefing tokens, film opening, service directory, evidence, and chapters.
 * Keep the HTML stylesheet order: specificity and module order define the cascade.
 */

/* Homepage tokens */

.buyer-brief {
  --brief-ink: #111b28;
  --brief-paper: #f3f6f8;
  --brief-line: #c3d0d9;
  --brief-teal: #9fe3de;
  --brief-evidence-ink: #ecf3f7;
}

/* Briefing copy and media */

.brief-label {
  color: var(--brief-teal);
  font: 650 .8rem/1.4 var(--font-brief-label);
  text-transform: uppercase;
  letter-spacing: .09em;
  margin-bottom: var(--space-4);
}

.buyer-brief .screening-content p {
  margin-inline: 0;
}

.buyer-brief .screening-content small {
  display: block;
  color: #bacbd9;
  margin-top: .85rem;
}

.buyer-brief .screening-actions {
  justify-content: start;
}

.brief-film {
  position: relative;
  isolation: isolate;
  aspect-ratio: 3 / 1;
  background: #080f18;
  border: 1px solid #526577;
  overflow: hidden;
}

.buyer-brief .brief-film video {
  z-index: 0;
  height: 100%;
  object-position: 65% 88%;
  mask-image: none;
}

.buyer-brief .screening-toggle {
  z-index: 1;
  inset: auto 1rem 1rem auto;
}

.buyer-brief #explore,
/* Evidence */

.buyer-brief #case-studies {
  padding-block: clamp(3rem, 8vw, 8rem);
}

.buyer-brief #explore {
  background: var(--brief-paper);
  color: var(--brief-ink);
}

.buyer-brief #explore :is(h2,h3,a) {
  color: var(--brief-ink);
}

.buyer-brief #explore p {
  color: #435669;
}

/* Service directory */

.brief-index {
  counter-reset: decision;
  border-bottom: 1px solid var(--brief-line);
}

.brief-entry {
  counter-increment: decision;
  position: relative;
  padding: 1.35rem var(--space-8) 1.35rem 3.35rem;
  border-top: 1px solid var(--brief-line);
}

.brief-entry::before {
  content: counter(decision, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 1.6rem;
  font: 600 .85rem/1 monospace;
  color: #415c70;
}

.brief-entry .card-type {
  display: none;
}

.brief-entry h3 {
  margin: 0;
  font-size: clamp(1.18rem, 2vw, 1.55rem);
}

.brief-entry p {
  margin: .45rem 0 0;
}

.brief-entry .card-arrow,
.brief-result .card-arrow {
  display: none;
}

.brief-entry a:hover,
.brief-entry a:focus-visible,
.brief-result a:hover,
.brief-result a:focus-visible {
  text-decoration: underline;
  text-underline-offset: .2em;
}

.buyer-brief #case-studies {
  background: #172636;
  color: var(--brief-evidence-ink);
}

.buyer-brief #case-studies :is(h2,h3,a:not(.button)) {
  color: var(--brief-evidence-ink);
}

.buyer-brief #case-studies :is(.section-intro p,.card-strap) {
  color: #c6d5df;
}

.buyer-brief #case-studies :is(.eyebrow,.card-num,.card-type) {
  color: var(--brief-teal);
}

.brief-result {
  display: grid;
  grid-template-columns: minmax(10rem,.55fr) minmax(0,1fr);
  align-items: baseline;
  column-gap: var(--space-8);
  padding: 1.35rem 0;
  border-top: 1px solid #506474;
}

.brief-result .card-num {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  font-size: clamp(1.8rem, 5vw, 4.75rem);
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

.brief-result .card-strap {
  grid-column: 1;
  margin: .35rem 0 0;
}

.brief-result h3 {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0;
  font-size: clamp(1.2rem, 2.5vw, 2rem);
}

.brief-result .card-type {
  display: none;
}

.brief-more {
  margin-top: var(--space-5);
}



/* Homepage composition */

.briefing-edition .screening-hero {
  grid-template-columns: minmax(0, 1fr);
  background: #101b29;
  gap: 0;
  display: block;
  position: relative;
  min-height: min(52rem, 92svh);
  padding: 0;
}

.briefing-edition .brief-film {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
  border: 0;
  z-index: -1;
}

.briefing-edition .brief-film::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #08111df2, #08111db0 48%, transparent 80%);
  pointer-events: none;
}

.briefing-edition .screening-content {
  grid-area: 1 / 1;
  align-self: start;
  width: auto;
  text-align: left;
  text-shadow: none;
  max-width: 1440px;
  margin: auto;
  padding: clamp(4rem, 14svh, 9rem) 6vw 5rem;
}

.briefing-edition .screening-content h1 {
  font-size: clamp(2.25rem, 7.6vw, 8rem);
  margin-inline: 0;
  text-wrap: balance;
  line-height: .99;
  max-width: 13ch;
}

.briefing-edition #explore > .shell {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: start;
  gap: clamp(1rem, 6vw, 7rem);
  display: block;
}

.briefing-edition #explore .section-intro {
  margin-bottom: var(--space-12);
}

.briefing-edition .brief-index {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .8rem;
  border: 0;
}

.briefing-edition .brief-entry {
  grid-column: span 2;
  background: #e2ebee;
  border: 0;
  padding: clamp(1.25rem, 3vw, 2.6rem);
}

.briefing-edition .brief-entry:nth-child(-n+2) {
  grid-column: span 3;
  background: #d7e5e9;
}

.briefing-edition .brief-entry::before {
  content: none;
}

.briefing-edition .brief-evidence {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(1.2rem,3vw,3rem);
}

.briefing-edition .brief-result {
  display: flex;
  flex-direction: column;
  align-items: start;
}

.briefing-edition .brief-result h3 {
  order: 1;
  margin-top: 1.2rem;
}

.briefing-edition .craft-scene {
  background: #d5e5e8;
  color: #142431;
  min-height: 0;
}

.briefing-edition .craft-scene .shell {
  display: block;
  padding-block: clamp(3rem,8vw,7rem);
}

.briefing-edition .craft-scene :is(h2,a,p) {
  color: inherit;
}

.briefing-edition .craft-scene::before,
.briefing-edition .craft-plate,
.briefing-edition .craft-nav a::before {
  display: none;
}

.briefing-edition .craft-nav {
  margin-top: var(--space-8);
  columns: 2;
  column-gap: var(--space-12);
}

.briefing-edition .craft-nav li {
  break-inside: avoid;
}

.briefing-edition .editorial {
  max-width: none;
  display: grid;
  gap: 0;
}

/* Guide chapters */

.brief-guide-opening {
  max-width: 68ch;
  padding-bottom: var(--space-8);
}

.brief-guide-chapter {
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  column-gap: clamp(1.5rem,5vw,5rem);
  padding-block: var(--space-8);
  border-top: 1px solid #aebdca;
}

.brief-guide-chapter > * {
  grid-column: 2;
}

.brief-guide-chapter > h2 {
  grid-column: 1;
  grid-row: 1 / span 2;
  margin: 0;
}

.brief-guide-chapter > :nth-child(2) {
  margin-top: 0;
}

.briefing-edition .bottom-cta .cta-inner {
  display: block;
  text-align: center;
}

.briefing-edition .bottom-cta .cta-inner :is(h2,p) {
  margin-inline: auto;
}

.briefing-edition .bottom-cta a {
  margin-top: var(--space-5);
}

@media (max-width: 760px) {
  .briefing-edition .screening-content {
    padding: var(--space-12) 6vw 13rem;
  }

  .briefing-edition .brief-film::after {
    background: linear-gradient(#08111df5, #08111dbd 55%, transparent);
  }

  .briefing-edition .brief-index,
  .briefing-edition .brief-evidence,
  .brief-guide-chapter {
    display: block;
  }

  .briefing-edition .brief-entry {
    margin-bottom: .65rem;
  }

  .briefing-edition .craft-nav {
    columns: auto;
  }

  .brief-guide-chapter > h2 {
    margin-bottom: var(--space-4);
  }
}

/* Narrow-screen overrides follow the final homepage composition. */

@media (max-width: 700px) {
  .buyer-brief #explore > .shell,
  .brief-result {
    grid-template-columns: minmax(0, 1fr);
  }

  .brief-result h3 {
    grid-column: 1;
    grid-row: auto;
    margin-top: var(--space-3);
  }

  .brief-film {
    aspect-ratio: 4 / 3;
  }

  .buyer-brief .brief-film video {
    object-position: 70% 85%;
  }
}
