/* September 2026 spacing audit. Shared by the source previews and compiled theme. */
:root {
  --jit-section-space: clamp(2.5rem, 5vw, 4.5rem);
  --jit-hero-space: clamp(3rem, 5.5vw, 5rem);
}

/* Keep section boundaries larger than the gaps within each content group. */
#page-container :is(.pricing-section, .bible-section, .rene-stack, .press-stack,
  .safety-intro, .safety-big-numbers, .safety-content-section, .safety-cta-section,
  .careers-section, .article-section, .article-closing, .team-page-section,
  .faq-page-content-wrapper, .cta-discover-section, .jit-next, .brand-outro) {
  padding-top: var(--jit-section-space) !important;
  padding-bottom: var(--jit-section-space) !important;
}
#page-container :is(.page-hero-section, .pricing-hero, .bible-hero, .rene-hero, .press-hero, .safety-hero, .jit-hero2) {
  padding-top: var(--jit-hero-space) !important;
  padding-bottom: var(--jit-hero-space) !important;
}
#page-container main > section.py-8 {
  padding-top: var(--jit-section-space) !important;
  padding-bottom: var(--jit-section-space) !important;
}
#page-container .careers-pullquote-section { padding-bottom: var(--jit-section-space) !important; }
#page-container .legal-page-content { margin-bottom: 0 !important; padding-bottom: 1.5rem !important; }
#page-container .section-pad, #page-container .section-pad-lg {
  padding-top: clamp(2rem, 4vw, 3.5rem) !important;
  padding-bottom: clamp(2rem, 4vw, 3.5rem) !important;
}
#page-container .article-section { padding-block: clamp(2.5rem, 4vw, 3.5rem) !important; }
#page-container :is(.cta-discover-section, .article-closing, .brand-outro) {
  padding-block: clamp(2rem, 3vw, 3rem) !important;
}

/* The shared footer should read as a sign-off, rather than another full hero. */
.japantrip-sculpt-template footer.sculpt-site-footer { padding-top: clamp(3rem, 4vw, 4rem); }
.japantrip-sculpt-template .sculpt-footer__lead { gap: 1.5rem 3rem; }
.japantrip-sculpt-template .sculpt-footer__lead > p {
  max-width: 18ch;
  font-size: clamp(2.5rem, 4.2vw, 4.5rem);
  line-height: 1.06;
}
.japantrip-sculpt-template .sculpt-footer__cta { min-height: 0; gap: 1.5rem; }
.japantrip-sculpt-template .sculpt-footer__cta strong { max-width: none; line-height: 1.02; }
.japantrip-sculpt-template .sculpt-footer__nav { margin-top: 2.5rem; }
.japantrip-sculpt-template .sculpt-footer__bottom { margin-top: 2.5rem; }
.japantrip-sculpt-template .sculpt-footer__nav a { min-height: 2.75rem; display: inline-flex; align-items: center; }
.japantrip-sculpt-template .sculpt-footer__bottom a { display: inline-flex; align-items: center; min-height: 1.5rem; }
@media (min-width: 1200px) {
  .japantrip-sculpt-template .sculpt-footer__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr));
    gap: 2rem;
    align-items: start;
  }
  .japantrip-sculpt-template .sculpt-footer__lead { display: contents; }
  .japantrip-sculpt-template .sculpt-footer__brand { grid-column: 1 / -1; }
  .japantrip-sculpt-template .sculpt-footer__nav { width: 100%; margin: 0; gap: 1.5rem; }
  .japantrip-sculpt-template .sculpt-footer__bottom { grid-column: 1 / -1; margin-top: 0; }
}
@media (max-width: 767px) {
  .japantrip-sculpt-template .sculpt-footer__lead > p { margin-top: 1.5rem; }
  .japantrip-sculpt-template .sculpt-footer__cta { margin-top: 1.5rem; }
  .japantrip-sculpt-template .sculpt-footer__nav,
  .japantrip-sculpt-template .sculpt-footer__bottom { margin-top: 2rem; }
}

/* Specific gaps found during the full-page review. */
#page-container .pricing-steps { margin-bottom: 2.5rem !important; }
#page-container .pricing-departure-empty { margin-bottom: 2rem !important; }
#page-container .bible-section-heading { margin-bottom: 2rem !important; }
#page-container .bible-content-pair { margin-bottom: 3rem !important; }
#page-container .rene-delivery__timeline { margin-bottom: 3rem !important; }
#page-container .rene-combine, #page-container .rene-next-story { margin-top: 3rem !important; }
@media (max-width: 767px) {
  #page-container .bible-companion__grid { row-gap: 2rem; }
  #page-container .bible-companion__copy { padding-top: 1rem; padding-bottom: 2rem !important; }
  #page-container .bible-content-pair { margin-bottom: 2rem !important; }
}

/* Keep the long-form journal's reading width and paragraph leading unchanged. */
.jn-list { padding-block: var(--jit-section-space) !important; }
.jn-cta { padding-block: var(--jit-section-space) !important; }

/* The proposal remains grouped by trip details, inclusions, reassurance, and booking. */
.proposal-page > section { padding-block: clamp(2.25rem, 4vw, 3.5rem); }
.proposal-page > .greet { padding-top: var(--jit-hero-space); padding-bottom: 2rem; }
.proposal-page > .sec--pass { padding-top: 1rem !important; }

/* Shorten the home-page scroll introduction while retaining its full animation. */
.section_weare:not(.weare_static) { height: 200vh; }
.section_intro .section-pad, .stack .section-pad { padding-block: var(--jit-section-space); }
.section_mission > .container { padding-bottom: var(--jit-section-space) !important; }
.real_grid { margin-top: 2.5rem; }
.cta_inner { padding-top: var(--jit-section-space); padding-bottom: var(--jit-section-space); }
.footer_content { padding-top: var(--jit-section-space); gap: 3rem; }
.footer_credits { padding-top: 2.5rem; }
@media (max-width: 767px) {
  .section_weare:not(.weare_static) { height: 160vh; }
  .real_grid { gap: 2.5rem; }
}

/* Chart pairs must fit the mobile reading column, without horizontal scrolling. */
.safety-chart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.safety-chart-grid > .safety-chart-container { min-width: 0; }
.safety-chart-grid canvas { max-width: 100%; }
@media (max-width: 600px) {
  .safety-chart-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
