
/* =========================================================
   Clinical Study v80
   HYBRID RULE:
   - Current hero/header/proof/submenu/footer remain untouched.
   - Only Sections 01–06 + pre-footer are styled here.
   - Content foundation comes from v66, with duplication removed.
   ========================================================= */

.clinical-v80-story,
.clinical-v80-prefooter {
  --v80-paper:#f7f2ec;
  --v80-paper-2:#f3ece4;
  --v80-ink:#242124;
  --v80-muted:#625d59;
  --v80-red:#9e2437;
  --v80-gold:#e6b86f;
  --v80-line:rgba(36,33,36,.12);
  --v80-dark:#141216;
  --v80-dark-2:#1b1519;
}

.clinical-v80-story {
  position:relative;
  padding:96px 0 104px !important;
}

.clinical-v80-story .v80-section-head {
  margin:0 0 54px;
}

.clinical-v80-story .v80-section-head--split {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.58fr);
  gap:clamp(50px,7vw,108px);
  align-items:start;
}

.clinical-v80-story .v80-section-head .eyebrow {
  margin:0 0 14px !important;
  color:var(--v80-red) !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:.145em !important;
  text-transform:uppercase !important;
}

.clinical-v80-story .v80-section-head h2 {
  max-width:18ch;
  margin:0 !important;
  color:var(--v80-ink) !important;
  font-size:clamp(46px,4.5vw,66px) !important;
  line-height:1 !important;
  font-weight:560 !important;
  letter-spacing:-.055em !important;
  text-wrap:balance;
}

.clinical-v80-story .v80-section-head > p {
  max-width:36ch;
  margin:32px 0 0 !important;
  color:var(--v80-muted) !important;
  font-size:17px !important;
  line-height:1.62 !important;
}

.clinical-v80-story .v80-section-head--dark .eyebrow {
  color:var(--v80-gold) !important;
}

.clinical-v80-story .v80-section-head--dark h2 {
  color:#fff !important;
}

.clinical-v80-story .v80-section-head--dark > p {
  color:rgba(255,255,255,.72) !important;
}

/* 01 — warm factual opening */
.clinical-v80-programme {
  background:linear-gradient(180deg,#fbf8f3 0%,var(--v80-paper) 100%) !important;
}

.v80-programme-grid {
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
  gap:clamp(48px,6vw,88px);
  align-items:stretch;
  padding-top:34px;
  border-top:1px solid var(--v80-ink);
}

.v80-programme-photo {
  margin:0;
  min-height:440px;
  overflow:hidden;
  border-radius:18px;
  background:#e9dfd7;
}

.v80-programme-photo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:none;
}

.v80-programme-facts {
  border-top:1px solid var(--v80-line);
}

.v80-programme-facts article {
  display:grid;
  grid-template-columns:44px 1fr;
  gap:18px;
  align-items:start;
  min-height:106px;
  padding:20px 0;
  border-bottom:1px solid var(--v80-line);
}

.v80-programme-facts article > span {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border:1px solid rgba(158,36,55,.25);
  border-radius:50%;
  color:var(--v80-red);
  font-size:9px;
  font-weight:800;
}

.v80-programme-facts small {
  display:block;
  margin-bottom:5px;
  color:var(--v80-red);
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.v80-programme-facts h3 {
  margin:0;
  color:var(--v80-ink);
  font-size:20px;
  line-height:1.24;
  font-weight:590;
  letter-spacing:-.025em;
}

.v80-programme-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:42px;
  border-top:1px solid var(--v80-line);
  border-bottom:1px solid var(--v80-line);
}

.v80-programme-stats article {
  min-height:126px;
  padding:24px 24px 22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:1px solid var(--v80-line);
}

.v80-programme-stats article:first-child { padding-left:0; }
.v80-programme-stats article:last-child { border-right:0; }

.v80-programme-stats strong {
  color:var(--v80-ink);
  font-size:27px;
  line-height:1;
  font-weight:560;
  letter-spacing:-.04em;
}

.v80-programme-stats span {
  margin-top:7px;
  color:var(--v80-muted);
  font-size:10px;
  font-weight:760;
  line-height:1.3;
  letter-spacing:.09em;
  text-transform:uppercase;
}

/* 02 — cinematic participant pathway */
.clinical-v80-journey {
  color:#fff;
  background:
    radial-gradient(circle at 86% 16%,rgba(158,36,55,.22),transparent 31%),
    radial-gradient(circle at 8% 94%,rgba(230,184,111,.06),transparent 28%),
    linear-gradient(135deg,#111014 0%,#1a1419 68%,#111014 100%) !important;
}

.v80-journey-track {
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  margin:12px 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid rgba(230,184,111,.38);
}

.v80-journey-track::before {
  content:"";
  position:absolute;
  top:-1px;
  left:4%;
  right:4%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--v80-gold),var(--v80-red),var(--v80-gold),transparent);
}

.v80-journey-track li {
  min-width:0;
  min-height:246px;
  padding:44px 20px 28px;
  border-right:1px solid rgba(255,255,255,.10);
}

.v80-journey-track li:first-child { padding-left:0; }
.v80-journey-track li:last-child { border-right:0; padding-right:0; }

.v80-step-number {
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  margin-bottom:34px;
  border:1px solid rgba(230,184,111,.55);
  border-radius:50%;
  color:var(--v80-gold);
  font-size:11px;
  font-weight:800;
}

.v80-step-number--active {
  border-color:var(--v80-red);
  background:var(--v80-red);
  color:#fff;
}

.v80-journey-track h3 {
  margin:0;
  color:#fff;
  font-size:17px;
  line-height:1.22;
  font-weight:620;
  letter-spacing:-.02em;
}

.v80-journey-track p {
  margin:11px 0 0;
  color:rgba(255,255,255,.70);
  font-size:13px;
  line-height:1.55;
}

.v80-journey-measure {
  display:grid;
  grid-template-columns:auto minmax(0,260px);
  gap:26px;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:42px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.15);
}

.v80-journey-measure strong {
  color:#fff;
  font-size:48px;
  line-height:1;
  font-weight:510;
  letter-spacing:-.05em;
}

.v80-journey-measure span {
  color:rgba(255,255,255,.68);
  font-size:13px;
  line-height:1.5;
}

/* 03–05 — one continuous warm evidence chapter */
.clinical-v80-evidence,
.clinical-v80-trec,
.clinical-v80-outcomes {
  background:var(--v80-paper) !important;
  color:var(--v80-ink);
}

.clinical-v80-trec::before,
.clinical-v80-outcomes::before {
  content:"";
  position:absolute;
  top:0;
  left:max(32px,calc((100% - 1280px)/2));
  right:max(32px,calc((100% - 1280px)/2));
  height:1px;
  background:var(--v80-line);
}

/* 03 — minimal evidence bridge */
.v80-evidence-streams {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--v80-ink);
  border-bottom:1px solid var(--v80-line);
}

.v80-evidence-streams article {
  min-height:280px;
  padding:30px clamp(24px,2vw,32px) 32px;
  border-right:1px solid var(--v80-line);
}

.v80-evidence-streams article:first-child { padding-left:0; }
.v80-evidence-streams article:last-child { padding-right:0; border-right:0; }

.v80-evidence-number {
  display:block;
  margin-bottom:42px;
  color:var(--v80-red);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
}

.v80-kicker {
  margin:0 0 9px !important;
  color:var(--v80-red) !important;
  font-size:9px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
}

.v80-evidence-streams h3 {
  margin:0;
  color:var(--v80-ink);
  font-size:24px;
  line-height:1.15;
  font-weight:590;
  letter-spacing:-.035em;
}

.v80-evidence-streams article > p:last-child {
  margin:15px 0 0;
  color:var(--v80-muted);
  font-size:14px;
  line-height:1.6;
}

.v80-evidence-principle {
  margin:24px 0 0;
  padding-left:18px;
  border-left:2px solid var(--v80-red);
  color:var(--v80-ink);
  font-size:14px;
  font-weight:620;
}

/* 04 — TREC scientific centrepiece */
.v80-trec-highlight {
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:24px;
  align-items:center;
  margin-bottom:38px;
  padding:19px 0;
  border-top:1px solid var(--v80-ink);
  border-bottom:1px solid var(--v80-line);
}

.v80-trec-highlight span {
  color:var(--v80-red);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.v80-trec-highlight strong {
  color:var(--v80-ink);
  font-size:17px;
  font-weight:620;
}

.v80-trec-highlight b {
  color:var(--v80-red);
  font-size:24px;
  font-weight:650;
  letter-spacing:-.035em;
}

.v80-trec-chart {
  margin:0;
  overflow:hidden;
  border:1px solid rgba(36,33,36,.11);
  border-radius:18px;
  background:rgba(255,255,255,.46);
  box-shadow:0 16px 40px rgba(48,34,38,.045);
}

.v80-chart-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:34px;
  padding:30px 34px 24px;
  border-bottom:1px solid var(--v80-line);
}

.v80-chart-head p {
  margin:0 0 8px;
  color:var(--v80-red);
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.v80-chart-head h3 {
  max-width:30ch;
  margin:0;
  color:var(--v80-ink);
  font-size:23px;
  line-height:1.18;
  font-weight:590;
  letter-spacing:-.035em;
}

.v80-chart-legend {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px 18px;
  color:#69635f;
  font-size:10px;
  font-weight:680;
}

.v80-chart-legend span {
  display:inline-flex;
  align-items:center;
  gap:7px;
}

.v80-chart-legend i {
  display:block;
  width:12px;
  height:8px;
  border-radius:2px;
}

.v80-legend-baseline { background:#302c30; }
.v80-legend-placebo { background:#c7bdb5; }
.v80-legend-booster { background:var(--v80-red); }

.v80-chart-scroll { overflow-x:auto; }

.v80-chart-plot {
  position:relative;
  min-width:760px;
  padding:48px 38px 24px 74px;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(36,33,36,.055) 0,
      rgba(36,33,36,.055) 1px,
      transparent 1px,
      transparent 58px
    );
}

.v80-y-axis {
  position:absolute;
  top:44px;
  bottom:76px;
  left:25px;
  width:34px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#77716d;
  font-size:9px;
  font-variant-numeric:tabular-nums;
}

.v80-chart-groups {
  display:grid;
  grid-template-columns:repeat(5,minmax(112px,1fr));
  gap:clamp(20px,2.6vw,42px);
  height:360px;
  align-items:end;
}

.v80-age-group {
  height:100%;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:end;
}

.v80-age-group--focus {
  background:linear-gradient(180deg,rgba(158,36,55,.04),transparent 74%);
  border-radius:10px 10px 0 0;
}

.v80-bars {
  height:286px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:8px;
  padding:28px 6px 0;
}

.v80-bar {
  position:relative;
  width:22px;
  height:var(--v);
  min-height:4px;
  border-radius:5px 5px 0 0;
}

.v80-bar--baseline { background:#302c30; }
.v80-bar--placebo { background:#c7bdb5; }
.v80-bar--booster { background:var(--v80-red); }

.v80-bar b {
  position:absolute;
  left:50%;
  bottom:calc(100% + 7px);
  transform:translateX(-50%);
  color:#625d59;
  font-size:9px;
  font-weight:680;
  line-height:1;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

.v80-bar--booster b {
  color:var(--v80-red);
  font-weight:780;
}

.v80-age-label {
  min-height:58px;
  padding:13px 4px 0;
  border-top:1px solid rgba(36,33,36,.10);
  text-align:center;
}

.v80-age-label strong {
  display:block;
  color:var(--v80-ink);
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}

.v80-age-label span {
  display:block;
  margin-top:4px;
  color:var(--v80-red);
  font-size:9px;
  font-weight:760;
}

.v80-trec-chart figcaption {
  margin:0;
  padding:17px 34px 19px;
  border-top:1px solid var(--v80-line);
  color:#6c6662;
  font-size:11px;
  line-height:1.52;
}

.v80-trec-note {
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:34px;
  margin-top:28px;
  padding-top:26px;
  border-top:1px solid var(--v80-line);
}

.v80-trec-note > span {
  color:var(--v80-red);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.v80-trec-note h3 {
  margin:0;
  color:var(--v80-ink);
  font-size:19px;
  font-weight:600;
  line-height:1.22;
}

.v80-trec-note p {
  max-width:72ch;
  margin:9px 0 0;
  color:var(--v80-muted);
  font-size:14px;
  line-height:1.62;
}

/* 05 — participant outcomes */
.v80-questionnaire-flow {
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  align-items:center;
  max-width:780px;
  margin:0 auto 48px;
  padding:24px 0;
  border-top:1px solid var(--v80-ink);
  border-bottom:1px solid var(--v80-line);
}

.v80-questionnaire-flow article {
  text-align:center;
}

.v80-questionnaire-flow strong {
  display:block;
  color:var(--v80-ink);
  font-size:44px;
  line-height:1;
  font-weight:520;
  letter-spacing:-.055em;
}

.v80-questionnaire-flow span {
  display:block;
  margin-top:7px;
  color:var(--v80-muted);
  font-size:9px;
  font-weight:760;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.v80-questionnaire-flow i {
  color:rgba(158,36,55,.55);
  font-style:normal;
  font-size:20px;
}

.v80-outcomes {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(42px,6vw,86px);
}

.v80-outcome {
  padding:17px 0 20px;
  border-bottom:1px solid var(--v80-line);
}

.v80-outcome > div {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:18px;
}

.v80-outcome span {
  color:var(--v80-ink);
  font-size:15px;
  font-weight:560;
}

.v80-outcome strong {
  color:var(--v80-red);
  font-size:22px;
  font-weight:650;
  letter-spacing:-.035em;
}

.v80-outcome > i {
  display:block;
  position:relative;
  height:3px;
  margin-top:12px;
  background:#dfd6ce;
  overflow:hidden;
}

.v80-outcome > i > b {
  position:absolute;
  inset:0 auto 0 0;
  width:var(--score);
  background:var(--v80-red);
}

.v80-outcome-note {
  max-width:70ch;
  margin:30px 0 0;
  padding-left:18px;
  border-left:2px solid var(--v80-red);
  color:var(--v80-muted);
  font-size:13px;
  line-height:1.6;
}

/* 06 — dark human conclusion */
.clinical-v80-films {
  background:
    radial-gradient(circle at 15% 14%,rgba(158,36,55,.15),transparent 26%),
    linear-gradient(135deg,#151216,#1d171b) !important;
}

.v80-film-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
}

.v80-film {
  display:block;
  color:inherit;
  text-decoration:none;
}

.v80-film figure {
  position:relative;
  aspect-ratio:16/9;
  margin:0;
  overflow:hidden;
  border-radius:18px;
  background:#221a20;
}

.v80-film figure::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(13,11,13,.03) 35%,rgba(13,11,13,.66) 100%);
}

.v80-film img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s ease;
}

.v80-film:first-child img { object-position:center 60%; }
.v80-film:nth-child(2) img { object-position:center 62%; }

.v80-film:hover img { transform:scale(1.025); }

.v80-film-index {
  position:absolute;
  z-index:2;
  top:20px;
  left:20px;
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.v80-film-play {
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  background:rgba(16,13,15,.32);
  color:#fff;
  font-size:16px;
  backdrop-filter:blur(6px);
}

.v80-film-copy {
  padding:21px 4px 0;
}

.v80-film-copy p {
  margin:0 0 8px;
  color:var(--v80-gold);
  font-size:9px;
  font-weight:780;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.v80-film-copy h3 {
  margin:0;
  color:#fff;
  font-size:25px;
  font-weight:570;
  line-height:1.18;
  letter-spacing:-.035em;
}

.v80-film-copy > span {
  display:inline-block;
  margin-top:15px;
  color:rgba(255,255,255,.72);
  font-size:13px;
  font-weight:580;
}

.v80-film-note {
  max-width:70ch;
  margin:34px 0 0;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.13);
  color:rgba(255,255,255,.68);
  font-size:13px;
  line-height:1.6;
}

/* pre-footer only */
.clinical-v80-prefooter {
  position:relative;
  padding:88px 0 92px !important;
  background:
    radial-gradient(circle at 13% 28%,rgba(158,36,55,.07),transparent 24%),
    linear-gradient(180deg,#f7f2ec 0%,#f1e9e0 100%) !important;
  border-top:1px solid rgba(143,29,44,.10);
}

.v80-prefooter-grid {
  display:grid;
  grid-template-columns:.5fr 1.1fr .85fr auto;
  gap:clamp(34px,5vw,72px);
  align-items:end;
}

.clinical-v80-prefooter .eyebrow {
  align-self:start;
  margin:5px 0 0 !important;
  color:var(--v80-red) !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
}

.clinical-v80-prefooter h2 {
  margin:0 !important;
  color:var(--v80-ink) !important;
  font-size:clamp(38px,4vw,56px) !important;
  line-height:.99 !important;
  font-weight:560 !important;
  letter-spacing:-.055em !important;
}

.clinical-v80-prefooter .v80-prefooter-grid > p:not(.eyebrow) {
  margin:0 0 5px !important;
  color:var(--v80-muted) !important;
  font-size:15px !important;
  line-height:1.58 !important;
}

.clinical-v80-prefooter .button {
  align-self:end;
  white-space:nowrap;
}

/* Responsive */
@media (max-width:1020px) {
  .clinical-v80-story {
    padding:80px 0 88px !important;
  }

  .clinical-v80-story .v80-section-head--split {
    grid-template-columns:1fr;
    gap:0;
  }

  .clinical-v80-story .v80-section-head > p {
    margin-top:22px !important;
  }

  .v80-programme-grid {
    grid-template-columns:1fr;
  }

  .v80-programme-photo {
    min-height:0;
    aspect-ratio:4/3;
  }

  .v80-journey-track {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .v80-journey-track li:nth-child(3) { border-right:0; }
  .v80-journey-track li:nth-child(n+4) { border-top:1px solid rgba(255,255,255,.10); }

  .v80-programme-stats {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .v80-programme-stats article:nth-child(2) { border-right:0; }
  .v80-programme-stats article:nth-child(n+3) { border-top:1px solid var(--v80-line); }

  .v80-prefooter-grid {
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:760px) {
  .clinical-v80-story {
    padding:68px 0 74px !important;
  }

  .clinical-v80-story .v80-section-head {
    margin-bottom:38px;
  }

  .clinical-v80-story .v80-section-head h2 {
    font-size:clamp(38px,10vw,50px) !important;
  }

  .v80-evidence-streams,
  .v80-outcomes,
  .v80-film-grid {
    grid-template-columns:1fr;
  }

  .v80-evidence-streams article,
  .v80-evidence-streams article:first-child,
  .v80-evidence-streams article:last-child {
    min-height:0;
    padding:24px 0 28px;
    border-right:0;
    border-bottom:1px solid var(--v80-line);
  }

  .v80-evidence-number { margin-bottom:18px; }

  .v80-journey-track {
    grid-template-columns:1fr;
    border-top:1px solid rgba(230,184,111,.38);
  }

  .v80-journey-track li,
  .v80-journey-track li:first-child,
  .v80-journey-track li:last-child {
    display:grid;
    grid-template-columns:48px 1fr;
    gap:18px;
    min-height:0;
    padding:22px 0;
    border-right:0;
    border-top:1px solid rgba(255,255,255,.09);
  }

  .v80-journey-track li:first-child { border-top:0; }
  .v80-step-number { margin:0; width:42px; height:42px; }

  .v80-programme-stats { grid-template-columns:1fr; }
  .v80-programme-stats article,
  .v80-programme-stats article:first-child,
  .v80-programme-stats article:last-child {
    min-height:0;
    padding:18px 0;
    border-right:0;
    border-top:1px solid var(--v80-line);
  }

  .v80-trec-highlight {
    grid-template-columns:1fr auto;
    gap:7px 18px;
  }
  .v80-trec-highlight span { grid-column:1/-1; }

  .v80-chart-head {
    flex-direction:column;
    align-items:flex-start;
    padding:24px 20px 20px;
  }

  .v80-chart-legend { justify-content:flex-start; }

  .v80-trec-chart figcaption { padding:16px 20px 18px; }

  .v80-trec-note {
    grid-template-columns:1fr;
    gap:10px;
  }

  .v80-questionnaire-flow {
    grid-template-columns:1fr;
    gap:14px;
  }

  .v80-questionnaire-flow i {
    transform:rotate(90deg);
    justify-self:center;
  }

  .v80-prefooter-grid {
    grid-template-columns:1fr;
    align-items:start;
  }

  .clinical-v80-prefooter {
    padding:68px 0 72px !important;
  }
}
