/* Rhythmic spacing for OLA's internal pages. Loaded after page-specific CSS. */
.support-page main > section,
.science-page main > section,
.extracts-page main > section,
.journal-page main > section {
  border-bottom: 1px solid var(--line);
}

@media (min-width: 801px) {
  .support-header,
  .science-header,
  .extracts-header,
  .journal-header {
    height: 88px;
    min-height: 88px;
  }

  /* Editorial heroes fit below the header in a conventional laptop viewport. */
  .support-hero,
  .science-page:not(.library-page) .science-hero,
  .extracts-hero,
  .journal-hero {
    height: clamp(520px, calc(100svh - 88px), 650px);
    min-height: 520px;
    padding-bottom: 48px;
  }

  .library-page .science-hero {
    height: clamp(400px, 58svh, 500px);
    min-height: 400px;
    padding-bottom: 38px;
  }

  .support-hero h1,
  .journal-hero h1 {
    font-size: clamp(52px, 6vw, 88px);
  }

  .science-hero-art,
  .extracts-hero-art {
    min-height: 280px;
    max-height: 430px;
  }

  /* Reusable title-to-content rhythm. */
  .support-section,
  .practitioners,
  .technology-section,
  .evidence-section,
  .science-cta,
  .science-library-teaser,
  .choice,
  .inquiry {
    padding-bottom: 52px;
  }

  .support-section-head,
  .practitioners-head,
  .science-section-head {
    margin-bottom: 36px;
  }

  /* Acompañamientos */
  .service-card {
    min-height: 400px;
    padding: 24px;
  }

  .service-card h3 {
    margin: 30px 0 14px;
  }

  .service-card ul,
  .plan-card ul {
    margin: 16px 0;
  }

  .service-card li,
  .plan-card li {
    padding: 7px 0;
  }

  .plan-card {
    min-height: 420px;
    padding: 30px;
  }

  .plan-card h3 {
    margin: 32px 0 8px;
  }

  .practitioners {
    padding-bottom: 58px;
  }

  .practitioner-card,
  .practitioner-card.practitioner-card-reverse {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    padding: 20px;
    gap: 20px;
    align-items: start;
  }

  .practitioner-portrait {
    width: 132px;
    margin: 0;
  }

  .practitioner-copy h3 {
    margin: 8px 0 12px;
    font-size: clamp(24px, 2.2vw, 31px);
  }

  .practitioner-copy p {
    font-size: 11.5px;
    line-height: 1.5;
  }

  .coordination {
    padding-bottom: 48px;
  }

  /* Science */
  .technology-grid article {
    min-height: 480px;
    padding: 24px 28px 30px;
  }

  .technology-grid h3 {
    margin: 36px 0 24px;
  }

  .technology-grid dt {
    margin-top: 18px;
  }

  .science-library-teaser-art {
    min-height: 330px;
    max-height: 390px;
  }

  .evidence-grid {
    margin-top: 44px;
  }

  .evidence-grid h3 {
    margin: 30px 0 12px;
  }

  .oceanica-bridge {
    min-height: 430px;
    margin-bottom: 52px;
  }

  .oceanica-bridge-image {
    min-height: 430px;
  }

  /* Extracts */
  .extracts-intro {
    padding-bottom: 52px;
  }

  .product-grid {
    padding-top: 34px;
    padding-bottom: 52px;
  }

  .product-grid .product-visual {
    height: 250px;
  }

  .product-grid .product-content {
    min-height: 0;
    padding: 20px 20px 22px;
  }

  .product-grid .product-content h2 {
    font-size: clamp(27px, 2.35vw, 36px);
  }

  .product-grid .product-summary {
    margin: 15px 0;
    font-size: 11.5px;
  }

  .product-grid .specs div,
  .product-grid .specs div:nth-child(even) {
    padding: 8px 0;
  }

  .product-grid .specs dd,
  .product-grid .research-note p {
    font-size: 10.5px;
  }

  .product-grid .research-note {
    margin-bottom: 17px;
  }

  .process-band {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .process-band div {
    min-height: 130px;
  }

  .process-band h3 {
    margin-top: 27px;
  }

  /* Journal */
  .journal-hero-art img {
    width: min(300px, 100%);
  }

  .journal-intro {
    padding-bottom: 26px;
  }

  .journal-list {
    padding-top: 38px;
    padding-bottom: 70px;
  }

  .journal-entry {
    min-height: 350px;
  }
}

@media (max-width: 800px) {
  .support-page main > section,
  .science-page main > section,
  .extracts-page main > section,
  .journal-page main > section {
    scroll-margin-top: 72px;
  }

  .support-hero,
  .science-hero,
  .extracts-hero,
  .journal-hero {
    padding-bottom: 44px;
  }

  .support-section,
  .practitioners,
  .technology-section,
  .evidence-section,
  .science-cta,
  .science-library-teaser,
  .choice,
  .inquiry {
    padding-bottom: 52px;
  }

  .support-section-head,
  .practitioners-head,
  .science-section-head {
    margin-bottom: 34px;
  }

  .service-card,
  .plan-card {
    min-height: 0;
  }

  .science-library-teaser-art {
    min-height: 300px;
  }

  .journal-hero-art {
    margin-top: 34px;
  }

  .journal-list,
  .ingredient-grid,
  .product-grid {
    padding-bottom: 58px;
  }
}
