/* Source guide: pages/partners.css
 * Page-specific presentation.
 * Load order: base.css, components.css, page stylesheet, refresh.css.
 * Later rules intentionally refine earlier layouts; preserve cascade order.
 */

/* Partner page: distinct audiences and a dedicated organizational inquiry. */
/* Group: Audience-specific partnership cards. */
.partner-audiences {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 70px;
}
.partner-audiences article {
  padding: 35px 0 45px;
  border-top: 1px solid #cbd4df;
}
.partner-audiences span {
  font-size: 11px;
  letter-spacing: 1.4px;
  color: var(--teal-ink);
  display: block;
  margin-bottom: 23px;
}
.partner-audiences h3 {
  font-size: 29px;
  line-height: 1.25;
}
.partner-audiences p {
  color: var(--muted);
  font-size: 15px;
  max-width: 440px;
  margin-top: 20px;
}
/* Group: Research introduction and organizational enquiry layout. */
.partnership-evidence,
.inquiry-layout {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 85px;
}
.partnership-evidence p {
  color: var(--muted);
}
.partnership-evidence .text-link {
  margin-top: 24px;
}
/* Group: Partner form heading. */
.inquiry-layout .form-panel h3 {
  font-size: 24px;
}
.inquiry-layout {
  align-items: start;
}
/* Viewport (max-width: 900px): component adjustments at this breakpoint. */
@media (max-width: 900px) {
  .inquiry-layout {
    grid-template-columns: 1fr;
  }
  .partnership-evidence,
  .inquiry-layout {
    gap: 40px;
  }
  .partner-audiences {
    column-gap: 40px;
  }
}
/* Viewport (max-width: 700px): component adjustments at this breakpoint. */
@media (max-width: 700px) {
  .partnership-evidence,
  .inquiry-layout,
  .partner-audiences {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .partner-audiences article {
    padding-bottom: 12px;
  }
  .inquiry-layout h2 br {
    display: none;
  }
  .partner-audiences h3 {
    font-size: 25px;
  }
}

/* Editorial partnership cards: tonal surfaces replace rules and small numbering. */
.page-partners .partner-audiences { gap: 24px; }
.page-partners .partner-audiences article {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 38px;
  border: 0;
  border-radius: 24px;
  background: linear-gradient(135deg, #edf5f1, #e3eeed);
  box-shadow: 0 12px 36px #262d6007;
}
.page-partners .partner-audiences article:nth-child(2) { background: linear-gradient(135deg, #eef0fa, #e5e6f5); }
.page-partners .partner-audiences article:nth-child(3) { background: linear-gradient(135deg, #f2f3f8, #e8eef5); }
.page-partners .partner-audiences article:nth-child(4) { background: linear-gradient(135deg, #f0f5f3, #e5efea); }
.page-partners .partner-audiences article::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 180px;
  height: 180px;
  right: -45px;
  top: -65px;
  background: url('/images/logos/prosoma-circle.svg') center / contain no-repeat;
  opacity: .08;
  pointer-events: none;
}
.page-partners .partner-audiences span { font-size: 12px; font-weight: 600; letter-spacing: .7px; margin-bottom: 26px; max-width: 85%; }
.page-partners .partner-audiences h3 { max-width: 390px; font-size: clamp(25px,2.4vw,31px); }
.page-partners .partner-audiences p { line-height: 1.8; }
/* The ordered pilot process retains semantic sequence without numeric decoration. */
.partner-pilot-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.partner-pilot-cards li { position: relative; padding: 28px 28px 28px 82px; background: #fff; border-radius: 20px; box-shadow: 0 10px 30px #262d6006; }
.partner-pilot-cards li::before { content: ""; position: absolute; top: 30px; left: 28px; width: 32px; height: 32px; border: 7px solid #99c9bd; border-radius: 50%; }
.partner-pilot-cards li:nth-child(2)::before { border-color: #a8b8d5; border-radius: 10px; transform: rotate(45deg); }
.partner-pilot-cards li:nth-child(3)::before { border-color: #b8aed4; border-radius: 10px; }
.partner-pilot-cards h3 { font-size: 21px; line-height: 1.4; margin-bottom: 10px; }
.partner-pilot-cards p { font-size: 15px; line-height: 1.75; color: var(--muted); }
/* A research still life anchors the evidence section without adding clinical claims. */
.page-partners .partnership-evidence { align-items: center; gap: 56px; grid-template-columns: 1fr 1fr; }
.partner-research-visual { overflow: hidden; border-radius: 26px; background: #eeedf4; }
.partner-research-visual img { display: block; width: 100%; height: auto; aspect-ratio: 1.1; object-fit: cover; }
.partner-research-copy h2 { margin-bottom: 24px; }
.partner-research-copy p { line-height: 1.85; }
.page-partners .section-panel { border: 0; border-radius: 28px; }
.page-partners .inquiry-layout .form-panel { border: 0; border-radius: 24px; box-shadow: 0 16px 48px #262d6009; }
.page-partners .inquiry-layout .notice { border: 0; border-radius: 12px; }
@media (max-width: 760px) {
  .page-partners .partner-audiences { grid-template-columns: 1fr; gap: 18px; }
  .page-partners .partner-audiences article { padding: 28px; }
  .page-partners .partnership-evidence { grid-template-columns: 1fr; gap: 30px; }
  .partner-research-visual img { aspect-ratio: 1.4; }
  .partner-pilot-cards li { padding: 24px 24px 24px 68px; }
  .partner-pilot-cards li::before { left: 22px; width: 27px; height: 27px; border-width: 6px; }
}

/* Recognizable outline icons replace the abstract process markers. */
.partner-pilot-cards li::before { content: none; }
.pilot-icon { position: absolute; top: 30px; left: 28px; width: 32px; height: 32px; color: #387366; }
.pilot-icon svg { display: block; width: 100%; height: 100%; }
@media (max-width: 760px) { .pilot-icon { left: 22px; top: 26px; width: 27px; height: 27px; } }

/* Filled brand circles give the process icons a clear, consistent visual anchor. */
.partner-pilot-cards li { padding-left: 92px; }
.partner-pilot-cards .pilot-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  top: 26px;
  left: 26px;
  border-radius: 50%;
  background: #387366;
  color: #fff;
}
.partner-pilot-cards .pilot-icon svg { width: 23px; height: 23px; }
@media (max-width: 760px) {
  .partner-pilot-cards li { padding-left: 80px; }
  .partner-pilot-cards .pilot-icon { width: 40px; height: 40px; top: 24px; left: 22px; }
  .partner-pilot-cards .pilot-icon svg { width: 21px; height: 21px; }
}

/* Human-centered pilot collage on a blue surface, with the process kept alongside. */
.page-partners .partner-pilot-section { background: #eef4fb; }
.partner-pilot-section .split { align-items: center; }
.partner-pilot-portrait { display: block; width: min(100%, 390px); height: auto; margin: 28px auto 0; border-radius: 20px; }
.partner-pilot-section .partner-pilot-cards { gap: 22px; }
/* Portrait photography replaces the conceptual research graphic. */
.partner-research-visual img { aspect-ratio: 1 / 1.1; object-fit: cover; object-position: center 40%; }
@media(max-width: 760px) {
 .partner-pilot-portrait { width: min(100%, 330px); }
 .partner-research-visual img { aspect-ratio: 4 / 5; }
}

/* Compact research photograph, with the conversation kept in the crop. */
.page-partners .partner-research-visual img {
  aspect-ratio: 4 / 3;
  max-height: 400px;
  object-fit: cover;
  object-position: center 35%;
}
@media (max-width: 760px) {
  .page-partners .partner-research-visual img { max-height: 300px; }
}

/* Blue icon circles coordinate with the pilot section palette. */
.partner-pilot-cards .pilot-icon { background: #365c9b; color: #fff; }

/* Blue outline icons without a filled container. */
.partner-pilot-cards .pilot-icon { background: transparent; color: #365c9b; border-radius: 0; }
.partner-pilot-cards .pilot-icon svg { width: 30px; height: 30px; }
@media (max-width: 760px) {
 .partner-pilot-cards .pilot-icon svg { width: 27px; height: 27px; }
}

/* Match the homepage white video panels and quiet blue play controls. */
.partner-video-slider { width:100%; max-width:480px; justify-self:end; min-width:0; }
.partner-video-slide { margin:0; padding:14px; background:#fff; border:1px solid #e6e9f0; border-radius:24px; box-shadow:0 8px 24px rgba(38,45,96,.07); }
.partner-video-slide[hidden] { display:none; }
.partner-video-media { position:relative; border-radius:16px; overflow:hidden; background:#171d28; }
.partner-video-media video { display:block; width:100%; height:420px; object-fit:contain; background:#171d28; }
.partner-video-part { position:absolute; top:12px; right:12px; padding:6px 10px; border-radius:999px; background:rgba(255,255,255,.92); color:#202653; font-size:12px; line-height:1.4; font-weight:600; pointer-events:none; }
.partner-video-play { position:absolute; bottom:54px; left:16px; padding:12px 20px; border:0; border-radius:999px; background:rgba(38,45,96,.78); color:#fff; font:600 15px Poppins,sans-serif; cursor:pointer; }
.partner-video-play:hover { background:#456aa2; }
.partner-video-play[hidden] { display:none; }
.partner-video-slide figcaption { display:flex; flex-direction:column; gap:7px; padding:18px 10px 8px; }
.partner-video-slide figcaption strong { font-size:18px; color:#262d60; }
.partner-video-slide figcaption span,.partner-video-slide figcaption a { font-size:12px; line-height:1.6; }
.partner-video-controls { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:20px; }
.partner-video-controls button { width:42px; height:42px; border:1px solid #dfe5ee; background:#fff; border-radius:50%; color:#262d60; font-size:25px; cursor:pointer; }
.partner-video-controls button:hover { background:#e6f3fa; }
.partner-video-controls button:focus-visible,.partner-video-play:focus-visible { outline:3px solid #87b9d6; outline-offset:3px; }
.partner-video-status { font-size:12px; color:#52627b; }
@media(max-width:760px) { .partner-video-slider { justify-self:center; } .partner-video-media video { height:360px; } }

/* Compact video panel with homepage-style arrow and dot navigation. */
.partner-video-slider { max-width:380px; justify-self:center; }
.partner-video-media video { height:360px; }
.partner-video-controls { gap:14px; margin-top:22px; }
.partner-video-controls > button { width:44px; height:44px; border:0; box-shadow:0 5px 20px #453c3210; font-size:24px; }
.partner-video-status { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.partner-video-dots { display:flex; align-items:center; gap:8px; }
.partner-video-dots button { width:10px; height:10px; border:0; padding:0; border-radius:20px; background:#d6deea; cursor:pointer; transition:width .15s; }
.partner-video-dots button[aria-current="true"] { width:28px; background:#262d60; }
@media(prefers-reduced-motion:reduce) { .partner-video-dots button { transition:none; } }

/* Fill the portrait interview frame without side letterboxing. */
.partner-video-media video { object-fit:cover; object-position:center 30%; }

/* Align the clinician introduction with a smaller interview panel. */
.page-partners .story-split:has(.partner-video-slider) { align-items:start; }
.page-partners .story-split:has(.partner-video-slider) > div:first-child { padding-top:14px; }
.page-partners .story-split:has(.partner-video-slider) h2 { margin-top:0; }
.page-partners .partner-video-slider { max-width:350px; }
.page-partners .partner-video-media video { height:330px; }
