/* Visual-only preview refinements. Content, images, layout order, and behavior stay in the base styles. */
:root {
  --ink: #1d2b3d;
  --muted: #526176;
  --line: #d8e0e8;
  --radius: 14px;
}

body {
  background: #fff;
}

.site-header {
  background: #fff;
  border-bottom-color: var(--line);
  backdrop-filter: none;
}

.section-shell {
  padding-top: 80px;
  padding-bottom: 80px;
}

.section-heading {
  margin-bottom: 38px;
}

.eyebrow,
.section-kicker {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .08em;
}

.section-heading h2 {
  font-size: clamp(30px, 2.8vw, 36px);
  line-height: 1.42;
}

.section-heading > p:not(.section-kicker) {
  font-size: 15px;
  line-height: 1.85;
}

.preserved-hero-eyebrow,
.preserved-hero-message p small,
.preserved-hero-cta {
  font-size: 14px;
}

/* Keep the established split hero and its left gradient. Flatten repeated panels below it. */
.problem-panel,
.split-feature,
.approach-panel,
.concept-block,
.audience-grid,
.trainer-card,
.access-card,
.experience-card,
.contact-card {
  border-radius: var(--radius);
  box-shadow: none;
}

.problem-panel,
.split-feature,
.approach-panel,
.concept-block,
.audience-grid,
.trainer-card,
.access-card {
  background: #fff;
  border-color: var(--line);
  backdrop-filter: none;
}

.experience-card,
.contact-card {
  background: #0d2c56;
}

.cause-grid article,
.concept-card,
.flow-card,
.nutrition-card,
.case-card,
.voice-card,
.first-grid article,
.price-card,
.price-subsection,
.price-simple-grid > div,
.faq-item,
.business-card,
.trainer-meta > div {
  border-radius: 10px;
  border-color: var(--line);
  box-shadow: none;
}

.concept-card,
.price-subsection,
.price-notes,
.trainer-meta > div {
  background: #f7f9fb;
}

.price-card.featured {
  background: #0d2c56;
  border-color: #0d2c56;
}

.business-card:hover {
  transform: translateY(-2px);
  box-shadow: none;
}

.gallery-set .gallery-image {
  border-radius: 8px;
  box-shadow: none;
}

.section-shell .btn {
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
}

.btn-primary,
.global-nav .nav-cta {
  background: #0d2c56;
  box-shadow: none;
}

/* Readable supporting copy, including dense course, testimonial, and form details. */
.cause-grid p,
.problem-item p,
.approach-copy p,
.concept-card p,
.concept-footnote p,
.flow-card p,
.nutrition-card strong,
.nutrition-card p:last-child,
.nutrition-note,
.audience-copy p,
.check-list li,
.trainer-copy > p:not(.trainer-lead),
.trainer-social a,
.trainer-meta li,
.trainer-blog-meta,
.trainer-blog-title,
.case-head p,
.case-card table,
.case-card .note,
.voice-body h4,
.voice-body p,
.first-grid p,
.price-card .tier,
.price-card > p:not(.tier):not(.price):not(.badge),
.price-card li,
.badge,
.price-simple-grid p,
.price-notes p,
.experience-card p,
.faq-item p,
.access-copy li,
.business-card p,
.business-card strong,
.contact-intro > p,
.contact-note p,
.trial-details p,
.contact-form label,
.contact-form legend,
.contact-form label > span,
.contact-form legend > span,
.form-demo-note,
.footer-nav,
.site-footer p {
  font-size: 14px;
  line-height: 1.8;
}

.trainer-blog-list a {
  grid-template-columns: 160px minmax(0, 1fr) 30px;
}

.trainer-blog-more {
  font-size: 14px;
}

.trainer-blog-title {
  font-size: 16px;
}

.case-visual span,
.floating-trial {
  font-size: 14px;
}

.floating-trial {
  color: #0d2c56;
}

.form-demo-note {
  font-size: 14px !important;
}

.section-shell .problem-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (min-width: 1101px) {
  .problem-item:nth-child(4) { border-left: 0; }
  .problem-item:nth-child(n+4) { border-top: 1px solid var(--line); }
}

.trainer-blog-title,
.trainer-blog-more,
.business-card strong {
  text-decoration: underline;
  text-decoration-color: #9aadc2;
  text-underline-offset: .2em;
}

:where(a, button, summary, input, textarea):focus-visible {
  outline: 3px solid #b37a23;
  outline-offset: 3px;
}

.contact-form :is(input, textarea):focus-visible {
  outline: 3px solid #b37a23;
  outline-offset: 3px;
}

@media (max-width: 820px) {
  .global-nav {
    background: #fff;
  }

  .global-nav a {
    font-size: 14px;
    line-height: 1.5;
  }

  .section-shell {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  .section-heading {
    margin-bottom: 30px;
  }

  .section-shell .problem-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trainer-blog-list a {
    grid-template-columns: minmax(0, 1fr) 28px;
  }
}

@media (max-width: 520px) {
  .section-shell {
    padding-top: 52px;
    padding-bottom: 52px;
  }

  .section-shell.compact {
    padding-top: 56px;
  }

  .section-heading h2 {
    font-size: 29px;
  }

  .section-shell .problem-grid {
    grid-template-columns: 1fr;
  }

  .floating-actions {
    right: 4px;
    bottom: 10px;
  }

  .floating-trial {
    width: 40px;
  }

  .floating-top {
    width: 40px;
    height: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .btn,
  .business-card {
    transition: none;
  }
}
