/* Exames P4k: the palette and common geometry live in carpa-tokens.css. */
.exams-page { font-family: var(--carpa-font-family); color: var(--carpa-text); }
.exams-page .clinic-navigation { background-image: none; }
.exams-container { width: calc(100% - 2 * var(--carpa-page-gutter)); max-width: var(--carpa-content-width); margin-inline: auto; }
.exams-heading { padding: 44px 24px 40px; }
.exams-breadcrumb { font-size: 11px; line-height: 20px; font-weight: var(--carpa-font-weight-bold); text-transform: uppercase; color: var(--carpa-heading); }
.exams-heading h1 { margin: 24px 0 18px; font-size: 48px; line-height: 1.2; }
.exams-heading > p { margin: 0; color: var(--carpa-muted); font-size: var(--carpa-type-body); line-height: 30px; }
.exams-sns, .exams-practical, .exams-booking { background: var(--carpa-surface-alternate); border-radius: var(--carpa-radius-panel); }
.exams-sns { padding: 24px; }
.exams-sns > div { border-left: 3px solid var(--carpa-accent); padding-left: 21px; }
.exams-page .exams-sns h2 { margin: 0 0 12px; font-size: 24px; line-height: 1.4; }
.exams-sns p { margin: 0; line-height: 28px; color: var(--carpa-muted); }
.exams-list { margin-top: 40px; }
.exams-list__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 24px; margin-bottom: 32px; }
.exams-page .exams-list__heading h2 { font-size: 11px; font-weight: var(--carpa-font-weight-bold); text-transform: uppercase; letter-spacing: 0; line-height: 22px; }
.exams-list__heading p { margin: 0; color: var(--carpa-muted); font-size: var(--carpa-type-small); }
.exams-list__cards { display: grid; gap: var(--carpa-grid-gap); }
.exam-card { display: grid; grid-template-columns: minmax(0, 384fr) minmax(0, 848fr); align-items: center; gap: 48px; min-height: 384px; padding: 48px 48px 48px 16px; border-radius: var(--carpa-radius-card); background: var(--carpa-surface); scroll-margin-top: 24px; }
.exam-card__image, .exam-card__night { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--carpa-radius-image); }
.exam-card__night { position: relative; display: grid; place-items: center; color: var(--carpa-background); background: var(--carpa-band); }
.exam-card__night span { position: absolute; bottom: 24px; left: 24px; font-size: 12px; text-transform: uppercase; }
.exam-card__content { min-width: 0; }
.exams-page .exam-card h2 { margin: 0 0 20px; font-size: 34px; line-height: 42px; }
.exam-card__content > p { margin: 0; font-size: 20px; line-height: 30px; }
.exam-card__actions { display: grid; grid-template-columns: 268px 1fr; align-items: start; column-gap: 32px; margin-top: 24px; }
.exams-page .exams-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 24px; border-radius: var(--carpa-radius-button); color: var(--carpa-button-text); background-color: var(--carpa-button); font-size: var(--carpa-type-button); font-weight: var(--carpa-font-weight-medium); line-height: 24px; text-align: center; text-decoration: none; cursor: pointer; background-image: linear-gradient(var(--carpa-button-hover), var(--carpa-button-hover)); background-size: 0% 100%; background-repeat: no-repeat; transition: background-size 340ms ease; }
.exams-page .exams-button:is(:hover, :focus-visible, :active) { background-size: 100% 100%; text-decoration: none; }
.exam-card__book { grid-column: 2; grid-row: 1; display: inline-flex; align-items: center; justify-self: start; min-height: 52px; font-size: var(--carpa-type-button); }
.exams-practical { margin-top: 80px; padding: 28px 24px; }
.exams-page .exams-practical h2 { font-size: 26px; line-height: 36px; margin-bottom: 24px; }
.exams-practical__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; }
.exams-page .exams-practical h3 { font-size: 20px; line-height: 28px; margin-bottom: 14px; }
.exams-practical p { margin: 0; font-size: var(--carpa-type-body); line-height: 28px; color: var(--carpa-muted); }
.exams-booking { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 26px 24px; margin-block: 64px; min-height: 142px; }
.exams-page .exams-booking h2 { font-size: 34px; line-height: 1.4; margin-bottom: 6px; }
.exams-booking p { margin: 0; color: var(--carpa-muted); font-size: 16px; }
.exams-booking .exams-button { min-width: 252px; }
.exams-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 1100px) {
  .exam-card { grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr); padding: 24px; gap: 28px; }
  .exams-page .exam-card h2 { font-size: 28px; line-height: 1.25; }
  .exam-card__content > p { font-size: 18px; line-height: 1.6; }
  .exam-card__actions { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .exam-card__book { grid-column: 1; grid-row: 2; }
}
@media (max-width: 700px) {
  .exams-heading { padding: 36px 8px 32px; }
  .exams-heading h1 { font-size: 38px; margin-top: 20px; }
  .exams-sns { padding: 24px 20px; }
  .exams-page .exams-sns h2 { font-size: 21px; }
  .exams-list__heading { padding-inline: 8px; gap: 12px; margin-bottom: 24px; }
  .exams-list__heading p { font-size: 12px; }
  .exam-card { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 16px 16px 24px; min-height: 0; }
  .exam-card__image, .exam-card__night { max-height: 320px; }
  .exam-card__content { padding-inline: 8px; }
  .exam-card__actions { margin-top: 24px; }
  .exam-card__book { justify-self: stretch; justify-content: center; }
  .exams-practical { margin-top: 48px; }
  .exams-practical__grid { grid-template-columns: 1fr; gap: 28px; }
  .exams-booking { flex-direction: column; align-items: stretch; margin-block: 32px 48px; padding: 28px 24px; gap: 24px; }
  .exams-booking .exams-button { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .exams-page .exams-button { transition: none; }
}

/* Trim the embedded border in the supplied sleep-study photograph, inside its existing frame. */
.exam-image-trim { position: relative; overflow: hidden; }
.exam-image-trim > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(1.025); }
