/* Partner routes (v2 family, 2026-09-06): corporate, gyms, personal trainers, dietitians. Route-specific rules only; every page is assembled from the site's hub components. */

.corporate-partner-page {
  --partner-blue: #4f6e92;
  --partner-blue-deep: #3f5b7c;
  --partner-paper: #faf7f0;
  --partner-bone: #f2ede2;
  --partner-ink: #2e2a24;
  --partner-ink-soft: #5c564d;
  --partner-line: rgba(46, 42, 36, 0.16);
  --partner-radius: 24px;
  --partner-gutter: clamp(17px, 3.4vw, 48px);
  --partner-card-pad: clamp(20px, 5vw, 72px);
  --partner-section-pad: clamp(76px, 9vw, 132px);
  --partner-section-pad-tight: calc(var(--partner-section-pad) * 0.72);
  --partner-head-gap: clamp(44px, 6vw, 84px);
  background: var(--partner-bone);
}

.partner-page {
  overflow: clip;
  background: var(--partner-bone);
  color: var(--partner-ink);
}

.corporate-partner-page .bb-nav .bb-nav__links .bb-nav__toplink,
.corporate-partner-page .bb-nav .bb-nav__links .language-switcher__link:not([aria-current='page']) {
  color: #273f5c;
}

.partner-page :where(h1, h2, h3, p) {
  margin-top: 0;
}

.partner-page h1,
.partner-page h2,
.partner-page h3 {
  text-wrap: balance;
}

.partner-eyebrow {
  margin-bottom: 20px;
  color: var(--partner-blue);
  font: 650 0.69rem/1.2 var(--font-text);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.partner-eyebrow--light {
  color: var(--partner-paper);
}

.partner-process {
  margin-inline: var(--partner-gutter);
  padding: var(--partner-section-pad) var(--partner-card-pad);
  border-radius: 30px;
  background: var(--partner-blue);
  box-shadow: 0 18px 48px rgba(37, 43, 52, 0.08);
  color: var(--partner-paper);
}

.partner-process__head {
  display: grid;
  grid-template-columns: minmax(180px, 0.36fr) minmax(400px, 0.9fr) minmax(340px, 0.72fr);
  gap: clamp(32px, 5vw, 80px);
  align-items: start;
  margin-bottom: var(--partner-head-gap);
}

.partner-process__head .partner-eyebrow {
  padding-top: 8px;
}

.partner-process__head > p:last-child {
  color: var(--partner-paper);
}

.partner-process__steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.partner-process__steps li {
  display: flex;
  min-width: 0;
  min-height: 180px;
  flex-direction: column;
  justify-content: space-between;
  padding: 28px 30px 28px 39px;
  background: #e3edf7;
  color: var(--partner-ink);
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%, 22px 50%);
}

.partner-process__steps li + li {
  margin-left: -22px;
}

.partner-process__steps li:nth-child(2) {
  background: #cfdfed;
}

.partner-process__steps li:nth-child(3) {
  background: #b7d0e3;
}

.partner-process__steps li:nth-child(4) {
  background: #86aecb;
}

.partner-process__steps li:nth-child(5) {
  background: #315f86;
  color: var(--partner-paper);
}

.partner-process__steps li:first-child {
  padding-left: 30px;
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 50%, calc(100% - 22px) 100%, 0 100%);
}

.partner-process__num {
  color: var(--partner-ink);
  font: 650 0.68rem/1 var(--font-text);
  letter-spacing: 0.14em;
}

.partner-process__steps li:nth-child(5) .partner-process__num {
  color: var(--partner-paper);
}

.partner-process__steps h3 {
  max-width: 12ch;
  margin-bottom: 0;
  color: inherit;
  font: 400 clamp(1.2rem, 1.58vw, 1.58rem)/1.08 var(--font-display);
}

.partner-process__lanes {
  display: grid;
  grid-template-columns: 0.86fr 1.14fr;
  margin-top: var(--partner-head-gap);
  overflow: hidden;
  border: 1px solid rgba(250, 247, 240, 0.34);
  border-radius: 16px;
  background: var(--partner-paper);
  box-shadow: 0 16px 36px rgba(35, 48, 61, 0.16);
}

.partner-process__lanes article {
  padding: clamp(30px, 3.6vw, 48px) clamp(28px, 3.6vw, 54px);
  color: var(--partner-ink);
}

.partner-process__lanes article + article {
  border-left: 0;
  background: #3e678d;
  color: var(--partner-paper);
}

.partner-process__lanes h3 {
  margin-bottom: 18px;
  color: inherit;
  font: 400 clamp(1.7rem, 2.6vw, 2.4rem)/1 var(--font-display);
}

.partner-process__lanes p {
  max-width: 67ch;
  margin-bottom: 0;
  color: var(--partner-ink-soft);
  font: 400 0.94rem/1.68 var(--font-text);
}

.partner-process__lanes article + article p {
  color: rgba(250, 247, 240, 0.88);
}

.partner-clinical {
  display: grid;
  grid-template-columns: minmax(0, 0.84fr) minmax(420px, 1.16fr);
  gap: clamp(56px, 8vw, 126px);
  margin-inline: var(--partner-gutter);
  padding: var(--partner-section-pad) var(--partner-card-pad);
  border-radius: 30px;
  background: var(--partner-paper);
  box-shadow: 0 16px 46px rgba(37, 43, 52, 0.065);
  color: var(--partner-ink);
}

.partner-clinical > div:first-child > p:last-child,
.partner-clinical__proof p {
  color: var(--partner-ink-soft);
  font: 400 0.94rem/1.7 var(--font-text);
}

.partner-clinical > div:first-child > p:last-child {
  max-width: 61ch;
  margin: 30px 0 0;
}

.partner-clinical__proof {
  border-top: 1px solid var(--partner-line);
}

.partner-clinical__proof p {
  margin-bottom: 0;
  padding: 24px 0;
  border-bottom: 1px solid var(--partner-line);
}

@media (max-width: 1180px) {
  .partner-process__steps {
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    overflow-x: visible;
    padding-bottom: 0;
    scrollbar-color: rgba(250, 247, 240, 0.65) transparent;
  }
}

@media (max-width: 900px) {
  .partner-process__steps {
    grid-template-columns: 1fr;
    gap: 8px;
    overflow: visible;
    padding-bottom: 0;
  }

  .partner-process__steps li + li {
    margin-left: 0;
  }

  .partner-process__steps li,
  .partner-process__steps li:first-child {
    display: grid;
    min-height: 88px;
    grid-template-columns: 48px 1fr;
    gap: 18px;
    align-items: center;
    padding: 20px 34px 20px 24px;
    clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);
  }

  .partner-process__steps h3 {
    max-width: none;
    font-size: clamp(1.42rem, 4.2vw, 1.85rem);
  }

  .partner-process__lanes {
    grid-template-columns: 1fr;
  }

  .partner-process__lanes article + article {
    border-top: 1px solid rgba(250, 247, 240, 0.34);
    border-left: 0;
  }
}

@media (max-width: 640px) {
  .partner-process {
    border-radius: var(--partner-radius);
  }

  .partner-clinical {
    border-radius: var(--partner-radius);
  }
}

/* ── v2 (2026-09-06): the corporate route assembled from the hub system ──────
   The page is built from the same components as the rest of theedithealth.com:
   hub media hero, blue manifesto frame, the approved five-step chevrons,
   homepage category panels with product cards, the hub FAQ, and the video
   closing card. This file only carries what is specific to this route. */

.partner-page { background: var(--sr-paper); }
.partner-page :is(a, button, summary):focus-visible { outline: 2px solid var(--edit-french-blue); outline-offset: 4px; }
.partner-hero :is(a):focus-visible,
.partner-process :is(a):focus-visible,
.partner-cat :is(a):focus-visible { outline-color: var(--edit-paper); }

/* Hero: the hub media hero with one photograph per partner type. */
.partner-hero.hub-hero--media { min-height: min(800px, 84vh); padding: 196px 5vw 88px; }
.partner-hero .hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 64% 32%; }
/* Per-type full-bleed crops (2026-09-07). Photographs come from the brand's own library; where the
   subject sits mid-frame the media container is enlarged from the left edge so the subject clears the
   copy column. The container carries the shift because the img transform belongs to the settle animation. */
.partner-page--gym .partner-hero .hero-media img { object-position: 50% 25%; }
.partner-page--gym .partner-hero .hero-media { transform: scale(1.15); transform-origin: 0 25%; }
.partner-page--trainer .partner-hero .hero-media img { object-position: 50% 30%; }
.partner-page--trainer .partner-hero .hero-media { transform: scale(1.08); transform-origin: 0 30%; }
.partner-page--dietitian .partner-hero .hero-media img { object-position: 50% 50%; transform: scaleX(-1); animation: none; }
.partner-page--dietitian .partner-hero .hero-media { transform: scale(1.15); transform-origin: 0 50%; }
.partner-page--medspa .partner-hero .hero-media img { object-position: 50% 30%; }
.partner-page--medspa .partner-hero .hero-media { transform: scale(1.15); transform-origin: 0 40%; }
@media (max-width: 760px) {
  .partner-page--gym .partner-hero .hero-media, .partner-page--trainer .partner-hero .hero-media, .partner-page--dietitian .partner-hero .hero-media, .partner-page--medspa .partner-hero .hero-media { transform: none; }
  .partner-page--gym .partner-hero .hero-media img { object-position: 55% 30%; }
  .partner-page--trainer .partner-hero .hero-media img { object-position: 62% 30%; }
  .partner-page--dietitian .partner-hero .hero-media img { object-position: 30% 50%; }
}
/* Long partner titles in the brief frame: one step down from the corporate scale so they hold to four lines. */
.partner-page--gym .partner-brief .manifesto-title,
.partner-page--trainer .partner-brief .manifesto-title,
.partner-page--dietitian .partner-brief .manifesto-title,
.partner-page--medspa .partner-brief .manifesto-title { font-size: clamp(44px, 4.3vw, 62px) !important; max-width: 10ch !important; }
.sr-page .partner-hero .hub-hero__inner { max-width: 660px; }
.partner-hero__eyebrow { margin-bottom: 18px; }
.sr-page .partner-hero .hub-hero__title { font-size: clamp(46px, 6.1vw, 90px); line-height: 0.98; letter-spacing: -0.025em; }
.sr-page .partner-hero .hub-hero__lede { max-width: 52ch; font-size: clamp(16px, 1.45vw, 19px); }
.partner-hero__pill { margin-top: 32px; }
.partner-hero__pill .hero-pill__tag { text-decoration: none; transition: color 200ms ease; }
.partner-hero__pill .hero-pill__tag:hover { color: var(--edit-paper); }
.partner-hero__pill .hero-pill__cta:hover { background: var(--edit-blue-deep, #3f5b7c); }
.partner-hero__meta { margin-top: 28px; }

/* Employer brief: the homepage manifesto frame (French Blue, heading left, copy right),
   with the three facts taking the row the homepage gives its clinician ticker. */
.partner-brief.manifesto { padding-bottom: clamp(28px, 4vw, 58px); }
.partner-brief .manifesto-eyebrow { color: rgba(255, 255, 255, 0.74); }
.partner-facts {
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 3.2vw, 52px);
  padding: clamp(28px, 3vw, 40px) clamp(34px, 4vw, 62px) clamp(32px, 3.4vw, 48px);
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(32, 57, 82, 0.18);
}
.partner-fact__num { display: block; margin-bottom: 16px; font: 500 11px/1 var(--font-text); letter-spacing: 0.28em; color: rgba(250, 247, 240, 0.7); }
.partner-facts h3 { margin: 0 0 10px; font: 400 clamp(1.45rem, 1.9vw, 1.95rem)/1.08 var(--font-display); letter-spacing: -0.01em; color: var(--edit-paper); }
.partner-facts p { margin: 0; max-width: 36ch; font: 400 14.5px/1.62 var(--font-text); color: rgba(250, 247, 240, 0.84); }

/* Section titles on the route share the hub scale. */
.partner-process h2,
.partner-clinical h2 { margin: 0; font: 400 clamp(2.4rem, 4.2vw, 4.1rem)/1.02 var(--font-display); letter-spacing: -0.02em; }
.partner-clinical h2 { color: var(--partner-ink); }
.partner-process h2 { color: var(--partner-paper); }

/* Care: the homepage category panels, one per care area, with the product cards employees would see. */
.partner-care { padding: clamp(72px, 9vw, 124px) 0 0; }
.partner-care__head {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(24px, 4vw, 72px);
  align-items: end;
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 5vw clamp(24px, 3.5vw, 44px);
}
.partner-care__head h2 { margin: 0; font: 400 clamp(38px, 4.8vw, 68px)/1.02 var(--font-display); letter-spacing: -0.02em; color: var(--sr-ink); }
.partner-care__head p { margin: 0 0 10px; max-width: 52ch; font-size: clamp(16px, 1.3vw, 19px); line-height: 1.6; color: var(--sr-soft); }
.partner-care__note { max-width: 1500px; margin: 0 auto; padding: 4px 5vw clamp(48px, 6vw, 84px); font: 400 13.5px/1.6 var(--font-text); color: var(--sr-soft); }

/* Copied from the homepage's scoped category-panel styles (templates/index.html) so the two stay identical. */
.cat-scroll{background:var(--edit-bone);padding:clamp(18px,2.5vw,40px) clamp(16px,3.4vw,44px) clamp(30px,4vw,60px);display:flex;flex-direction:column;gap:clamp(18px,2.4vw,34px);overflow-x:hidden;}
.cat-scroll,.cat-scroll *,.cat-scroll *::before,.cat-scroll *::after{box-sizing:border-box;}
.cat-panel{position:relative;min-width:0;max-width:100%;min-height:clamp(500px,58vh,640px);overflow:hidden;display:flex;isolation:isolate;border-radius:28px;box-shadow:0 30px 80px rgba(20,18,15,.18);}
.cat-panel__bg{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;z-index:0;}
.cat-panel__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(28,25,22,.42) 0%,rgba(28,25,22,.12) 40%,rgba(28,25,22,.40) 100%),linear-gradient(90deg,rgba(28,25,22,.62) 0%,rgba(28,25,22,.30) 42%,rgba(28,25,22,0) 78%);}
.cat-panel__inner{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:center;gap:56px;padding:112px 6vw 96px;min-height:clamp(540px,64vh,680px);}
.cat-panel__num{font-family:var(--font-text);font-size:13px;letter-spacing:.28em;color:rgba(250,247,240,.72);display:block;margin-bottom:20px;}
.cat-panel__title{font-family:var(--font-display);font-weight:400;line-height:.94;color:var(--edit-paper);font-size:clamp(44px,5vw,88px);letter-spacing:-.01em;margin:0;}
.cat-panel__desc{font-family:var(--font-text);font-size:clamp(15px,1.2vw,18px);line-height:1.6;color:rgba(250,247,240,.92);max-width:420px;margin-top:22px;}
.cat-panel__explore{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-family:var(--font-text);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--edit-paper);text-decoration:none;border-bottom:1px solid rgba(250,247,240,.45);padding-bottom:6px;transition:border-color .2s ease;}
.cat-panel__explore:hover{border-color:var(--edit-paper);}
.cat-panel__explore .arr{font-size:16px;}
.cat-panel__bglink{position:absolute;inset:0;z-index:2;}
.cat-panel__inner{pointer-events:none;}
.cat-panel__explore,.catcard{pointer-events:auto;}
.cat-panel__cards{display:flex;gap:20px;align-items:stretch;justify-content:flex-end;}
.catcard{position:relative;flex:1 1 0;max-width:302px;min-height:400px;border-radius:24px;overflow:hidden;padding:22px 22px 20px;display:flex;flex-direction:column;background:linear-gradient(165deg,#e7edf4 0%,#d7e0ec 55%,#cbd6e4 100%);border:1px solid rgba(46,42,36,.06);box-shadow:0 18px 44px rgba(20,18,15,.22);transition:transform .4s cubic-bezier(.19,1,.22,1),box-shadow .4s ease;}
.catcard__link{position:absolute;inset:0;z-index:3;border-radius:24px;}
.catcard__stage{position:relative;z-index:1;height:196px;display:flex;align-items:center;justify-content:center;}
.catcard__stage::after{content:"";position:absolute;bottom:6px;left:50%;width:100px;height:16px;background:radial-gradient(ellipse at center,rgba(30,44,68,.26) 0%,transparent 70%);filter:blur(3px);transform:translateX(-50%);transition:transform .45s cubic-bezier(.19,1,.22,1),opacity .45s ease;}
.catcard__media{position:relative;width:100%;height:176px;background-size:contain;background-repeat:no-repeat;background-position:center;filter:drop-shadow(0 9px 12px rgba(30,44,68,.16));transition:transform .45s cubic-bezier(.19,1,.22,1);}
.catcard__info{position:relative;z-index:1;margin-top:4px;}
.catcard__name{font-family:var(--font-display);font-weight:400;font-size:25px;color:var(--edit-ink);line-height:1.05;transition:color .3s ease;margin:0;}
.catcard__rx{font-family:var(--font-text);font-size:11px;vertical-align:super;color:var(--edit-ink-soft);margin-left:4px;letter-spacing:.02em;}
.catcard__tag{font-family:var(--font-text);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--edit-ink-soft);margin-top:8px;}
.catcard__cta{position:relative;z-index:4;display:flex;gap:9px;margin-top:auto;padding-top:18px;}
.catcard:hover,.catcard:focus-within{box-shadow:0 26px 54px rgba(20,18,15,.26);}
.catcard:hover .catcard__media,.catcard:focus-within .catcard__media{transform:translateY(-9px);}
.catcard:hover .catcard__stage::after,.catcard:focus-within .catcard__stage::after{transform:translateX(-50%) scale(.82);opacity:.5;}
.catcard:hover .catcard__name,.catcard:focus-within .catcard__name{color:var(--edit-french-blue);}
.catcard__btn{font-family:var(--font-text);font-size:12px;letter-spacing:.03em;border-radius:999px;padding:11px 14px;text-decoration:none;text-align:center;white-space:nowrap;transition:box-shadow .28s ease,background .28s ease,color .28s ease,border-color .28s ease;}
.catcard__btn--ghost{background:transparent;color:var(--edit-ink);border:1px solid var(--edit-clay);flex:1;}
.catcard__btn--ghost:hover{border-color:var(--edit-french-blue);color:var(--edit-french-blue);}
.catcard__arw{display:inline-block;margin-left:7px;transition:transform .28s cubic-bezier(.19,1,.22,1);}
.catcard:hover .catcard__arw,.catcard:focus-within .catcard__arw,.catcard__btn--ghost:hover .catcard__arw{transform:translateX(4px);}
.cat-panel--flip .cat-panel__inner{grid-template-columns:minmax(0,1fr) minmax(0,440px);}
.cat-panel--flip .cat-panel__top{order:2;}
.cat-panel--flip .cat-panel__cards{order:1;justify-content:flex-start;}
.cat-panel--flip .cat-panel__scrim{background:linear-gradient(180deg,rgba(28,25,22,.42) 0%,rgba(28,25,22,.12) 40%,rgba(28,25,22,.40) 100%),linear-gradient(270deg,rgba(28,25,22,.62) 0%,rgba(28,25,22,.30) 42%,rgba(28,25,22,0) 78%);}
@media (max-width:1020px){
  .cat-panel{min-height:0;}
  .cat-panel__inner,.cat-panel--flip .cat-panel__inner{display:block;padding:104px 5vw 40px;}
  .cat-panel__top{max-width:100%;margin-bottom:26px;}
  .cat-panel__cards{display:grid;grid-template-columns:1fr;gap:16px;width:100%;}
  .catcard{width:auto;max-width:none;min-width:0;min-height:0;}
  .catcard__stage{height:210px;}
  .catcard__media{height:188px;}
  .catcard__cta{gap:10px;}
  .catcard__cta .catcard__btn{flex:1 1 0;min-width:0;}
  .cat-panel__title{max-width:100%;}
  .cat-panel__desc{font-size:16px;max-width:100%;}
}
/* premium-system.css applies the live homepage's panel sizing with !important; the route inherits it unchanged. */
.partner-cat { background: transparent; padding-top: 0; }

/* Clinical panel: the guide is a quiet text link, not another pill. */
.partner-clinical__guide {
  display: inline-block;
  margin-top: 22px;
  padding-bottom: 4px;
  border-bottom: 1px solid currentColor;
  font: 500 0.95rem/1.5 var(--font-text);
  color: var(--partner-blue);
  transition: color 200ms ease;
}
.partner-clinical__guide:hover { color: var(--partner-blue-deep); }

/* FAQ: the hub disclosure grid. */
.partner-faq.sr-faq { padding-top: clamp(64px, 8vw, 110px); padding-bottom: clamp(48px, 6vw, 80px); }
.partner-faq h2 { max-width: 20ch; }
.sr-page .partner-faq summary { min-height: 44px; }

/* Closing: the homepage video card, corporate copy. */
.partner-closing .closing-cta__title { font-size: clamp(44px, 6vw, 80px); text-wrap: balance; }
.partner-close__mail { margin: 18px 0 0; font: 400 15px/1.5 var(--font-text); }
.partner-close__mail a { display: inline-block; min-height: 44px; line-height: 44px; color: var(--edit-ink); border-bottom: 1px solid rgba(46, 42, 36, 0.35); }
.partner-close__mail a:hover { color: var(--edit-french-blue); border-bottom-color: currentColor; }
.partner-closing .closing-cta__trust { margin-top: 30px; }

/* ── Motion ─────────────────────────────────────────────────────────────────
   Everything below is transform/opacity only, and switches off entirely under
   reduced motion. Content is complete at rest: the section reveal is the site's
   own IntersectionObserver pattern, with the 2.5s no-JS fallback in the head. */
@media (prefers-reduced-motion: no-preference) {
  .partner-hero .hero-media img { animation: partner-hero-photo 2.2s cubic-bezier(0.16, 1, 0.3, 1) both; }
  .partner-hero .hub-hero__inner > * { animation: partner-rise 760ms cubic-bezier(0.16, 1, 0.3, 1) both; }
  .partner-hero .hub-hero__inner > :nth-child(2) { animation-delay: 90ms; }
  .partner-hero .hub-hero__inner > :nth-child(3) { animation-delay: 180ms; }
  .partner-hero .hub-hero__inner > :nth-child(4) { animation-delay: 270ms; }
  .partner-hero .hub-hero__inner > :nth-child(5) { animation-delay: 360ms; }

  .partner-page .reveal-section .partner-fact,
  .partner-page .reveal-section .partner-process__steps li,
  .partner-page .reveal-section .partner-process__lanes article {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 640ms cubic-bezier(0.16, 1, 0.3, 1), transform 640ms cubic-bezier(0.16, 1, 0.3, 1);
  }
  .partner-page .reveal-section .partner-process__steps li { transform: translateX(-18px); }
  .partner-page .reveal-section.is-visible .partner-fact,
  .partner-page .reveal-section.is-visible .partner-process__steps li,
  .partner-page .reveal-section.is-visible .partner-process__lanes article { opacity: 1; transform: none; }
  .partner-page .reveal-section.is-visible .partner-fact:nth-child(2),
  .partner-page .reveal-section.is-visible .partner-process__steps li:nth-child(2) { transition-delay: 100ms; }
  .partner-page .reveal-section.is-visible .partner-fact:nth-child(3),
  .partner-page .reveal-section.is-visible .partner-process__steps li:nth-child(3) { transition-delay: 200ms; }
  .partner-page .reveal-section.is-visible .partner-process__steps li:nth-child(4) { transition-delay: 300ms; }
  .partner-page .reveal-section.is-visible .partner-process__steps li:nth-child(5) { transition-delay: 400ms; }
  .partner-page .reveal-section.is-visible .partner-process__lanes article { transition-delay: 520ms; }
  .partner-page .reveal-section.is-visible .partner-process__lanes article + article { transition-delay: 620ms; }

  .partner-cat .cat-panel { transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1); }
  .partner-cat .cat-panel__bg { transition: transform 1400ms cubic-bezier(0.16, 1, 0.3, 1); }
  .partner-cat .cat-panel:hover .cat-panel__bg { transform: scale(1.035); }

  .sr-page .partner-faq details[open] p { animation: partner-faq-enter 300ms cubic-bezier(0.16, 1, 0.3, 1) both; }
}
@keyframes partner-hero-photo { from { transform: scale(1.06); } to { transform: scale(1); } }
@keyframes partner-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes partner-faq-enter { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 1180px) {
  .partner-process__head { grid-template-columns: minmax(150px, 0.3fr) minmax(320px, 0.8fr) minmax(300px, 0.7fr); }
}
@media (max-width: 960px) {
  .partner-care__head { grid-template-columns: 1fr; align-items: start; }
  .partner-care__head p { margin-bottom: 0; }
}
@media (max-width: 900px) {
  .partner-process__head { grid-template-columns: 1fr; gap: 16px; margin-bottom: 40px; }
  .partner-process__head > p:last-child { margin-top: 0; }
  .partner-clinical { grid-template-columns: 1fr; gap: 36px; }
  .partner-clinical__proof { min-width: 0; }
}
@media (max-width: 760px) {
  .partner-facts { grid-template-columns: 1fr; gap: 28px; }
  .partner-facts p { max-width: none; }
  .partner-hero.hub-hero--media { min-height: min(760px, 88vh); padding: 140px var(--gutter-m, 20px) 56px; }
  .partner-hero__pill { display: flex; flex-direction: column; align-items: stretch; width: 100%; max-width: 360px; }
  .partner-hero__pill .hero-pill__tag { justify-content: center; }
}
@media (max-width: 480px) {
  .sr-page .partner-hero .hub-hero__title { font-size: 44px; }
  .sr-page .partner-hero .hub-hero__lede { font-size: 16px; }
}
