/* Shared editorial roles. Legacy layouts keep their controls, images and grids. */
:root {
  --ds-font: "PingFang SC", "Noto Sans SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --ds-ink: #1a2b27;
  --ds-muted: #5b6b66;
  --ds-brand: #005a50;
  --ds-h1-home: 64px;
  --ds-h1: 56px;
  --ds-h2: 46px;
  --ds-h3: 26px;
  --ds-emphasis: 21px;
  --ds-body: 18px;
  --ds-aux: 14px;
  --ds-eyebrow: 16px;
  --ds-lead: 19px;
  --ds-title-line: 1.25;
  --ds-body-line: 1.8;
  --ds-title-spacing: 0;
  --ds-label-title: 12px;
  --ds-title-lead: 20px;
  --ds-heading-content: 48px;
  --ds-paragraph: 16px;
  --ds-section: 120px;
  --ds-action-gap: 32px;
  --ds-paper: #f4f4f2;
  --ds-forest: #004740;
  --ds-container: 1200px;
  --ds-reading: 720px;
  --ds-lead-width: 680px;
  --ds-gutter: 28px;
}
main.ds-page { box-sizing: border-box; width: 100%; max-width: calc(var(--ds-container) + 2 * var(--ds-gutter)); margin-inline: auto; padding: 0 var(--ds-gutter) 0; }
main.ds-page > :is(.brand-page, .product-page, .brand-expect-page, .past-camp-page) { width: 100%; max-width: none; margin: 0; padding: 0; }
.ds-page .past-camp-page { min-width: 0; grid-template-columns: minmax(0, 1fr); }
.ds-scope { font-family: var(--ds-font); color: var(--ds-ink); font-size: var(--ds-body); line-height: var(--ds-body-line); letter-spacing: 0; }
.ds-section { box-sizing: border-box; position: relative; width: 100vw; max-width: none; margin: 0 calc(50% - 50vw) !important; padding: var(--ds-section) var(--ds-gutter); background: var(--ds-paper); }
.ds-tone-forest { background: var(--ds-forest); color: #fff; }
.ds-section:has(> .home-video-hero) { background: #005a50; }
.ds-section > .ds-block.ds-block { box-sizing: border-box; contain: layout; width: 100% !important; max-width: var(--ds-container) !important; min-height: 0; margin: 0 auto !important; padding: 0 !important; border-block: 0 !important; border-radius: 0; background-color: transparent !important; }
.ds-section > .ds-block > :last-child { margin-bottom: 0 !important; }
.ds-section > .ds-block:not(.hero-cover-block):not(.past-hero):not(.brand-split-hero) { background-image: none !important; }
.ds-section > .ds-block::before { display: none; }
.ds-tone-paper > .ds-block:not(.hero-cover-block):not(.past-hero):not(.brand-split-hero) { color: var(--ds-ink); }
.ds-tone-paper > .ds-block .ds-body { color: inherit; }
.ds-section--why > .ds-block { max-width: var(--ds-container) !important; }
.ds-section:has(.hero-cover-block), .ds-section:has(.past-hero), .ds-section:has(.brand-split-hero) { padding-inline: 0; }
.ds-section > :is(.hero-cover-block, .past-hero, .brand-split-hero) { max-width: none !important; }
.ds-scope .products-index-hero-inner { max-width: none; min-height: 0; padding: 0; }
.ds-scope .products-index-hero { color: var(--ds-ink); }
.ds-scope .products-index-hero a { color: var(--ds-brand); }
.ds-scope .products-lines-inner { width: 100%; max-width: none; padding: 0; }
.ds-scope .products-line-list { display: block; margin: 0; }
.ds-shell { box-sizing: border-box; width: 100%; max-width: calc(var(--ds-container) + 2 * var(--ds-gutter)); margin-inline: auto; padding-inline: var(--ds-gutter); }
.ds-scope .ds-title,
.ds-scope.ds-title {
  font-family: var(--ds-font) !important;
  font-weight: 700 !important;
  font-synthesis: none;
  line-height: var(--ds-title-line) !important;
  letter-spacing: var(--ds-title-spacing) !important;
  color: var(--ds-ink) !important;
  white-space: normal !important;
  word-break: normal;
  overflow-wrap: break-word;
  text-wrap: balance;
  margin-block: 0;
}
.ds-scope .ds-h1 { font-size: var(--ds-h1) !important; }
.ds-scope .ds-h1--home { font-size: var(--ds-h1-home) !important; }
.ds-scope .ds-h2 { font-size: var(--ds-h2) !important; }
.ds-scope .ds-h3 { font-size: var(--ds-h3) !important; }
.ds-scope .ds-summary { font-family: var(--ds-font); font-size: var(--ds-body); line-height: var(--ds-body-line); }
.ds-scope .ds-body { font-family: var(--ds-font) !important; font-size: var(--ds-body) !important; line-height: var(--ds-body-line) !important; letter-spacing: 0; }
.ds-scope p.ds-body { max-width: var(--ds-reading); margin-top: 0 !important; margin-bottom: var(--ds-paragraph) !important; }
.ds-scope p.ds-body:last-child { margin-bottom: 0 !important; }
.ds-scope .ds-emphasis { font-family: var(--ds-font) !important; font-size: var(--ds-emphasis) !important; line-height: 1.7 !important; color: var(--ds-brand); font-weight: 600; }
.ds-scope .ds-aux { font-family: var(--ds-font) !important; font-size: var(--ds-aux) !important; line-height: 1.7 !important; }
.ds-scope .ds-eyebrow { display: block; margin: 0 0 var(--ds-label-title) !important; padding: 0; font-family: var(--ds-font) !important; font-size: var(--ds-eyebrow) !important; line-height: 1.5 !important; font-weight: 700 !important; letter-spacing: 0 !important; color: var(--ds-brand) !important; }
.ds-scope .ds-eyebrow::before, .ds-scope .ds-eyebrow::after { display: none; }
.ds-scope .ds-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 0; margin: 0 0 var(--ds-heading-content) !important; padding: 0; border: 0; }
.ds-scope .ds-heading > * { margin-block: 0 !important; }
.ds-scope .ds-heading > p.ds-body { margin-bottom: 0 !important; }
.ds-scope .ds-heading > .ds-title { margin: 0 !important; }
.ds-scope .ds-heading > .ds-eyebrow { margin-bottom: var(--ds-label-title) !important; }
.ds-scope .ds-heading > :is(.ds-lead, .ds-heading-lead) { margin-top: var(--ds-title-lead) !important; margin-bottom: 0 !important; }
.ds-scope .ds-heading > .ds-heading-actions, .ds-scope .ds-heading-actions { margin-top: var(--ds-action-gap) !important; }
.ds-scope .ds-heading--before-actions { margin-bottom: 0 !important; }
.ds-scope .ds-heading-content { margin-top: 0 !important; }
.ds-lead-line { display: block; text-wrap: balance; }
.ds-nowrap { display: inline-block; white-space: nowrap; }
.ds-scope .ds-eyebrow--en { font-size: 14px !important; line-height: 1.5 !important; font-family: var(--ds-font) !important; letter-spacing: 0 !important; }
.ds-scope .ds-lead { max-width: var(--ds-lead-width) !important; font-family: var(--ds-font) !important; font-size: var(--ds-lead) !important; line-height: 1.7 !important; letter-spacing: 0; font-weight: 400; color: var(--ds-muted); }
.ds-scope .ds-heading--center { align-items: center; text-align: center; }
.ds-scope .ds-heading--center > .ds-lead { margin-inline: auto; }
.ds-scope .ds-heading--left { text-align: left; }
.ds-scope .ds-inverse, .ds-scope.ds-inverse { color: #fff; }
.ds-scope .ds-inverse .ds-title, .ds-scope.ds-inverse .ds-title { color: #fff !important; }
.ds-scope .ds-inverse :is(.ds-eyebrow, .ds-emphasis), .ds-scope.ds-inverse :is(.ds-eyebrow, .ds-emphasis) { color: #fff !important; }
.ds-scope .ds-inverse .ds-lead, .ds-scope.ds-inverse .ds-lead { color: rgba(255, 255, 255, .8); }
.ds-scope .ds-inverse .ds-body, .ds-scope.ds-inverse .ds-body { color: inherit; }
.ds-scope .home-video-hero-facts { white-space: normal; }
.ds-scope .home-video-hero-copy .ds-heading { margin-bottom: 0 !important; }
.ds-scope .home-video-hero-copy > .ds-eyebrow { display: none; }
.ds-scope .home-intro-inner { padding-inline: 0; border-left: 0; }
.ds-scope .brand-section-body, .ds-scope .summary-copy, .ds-scope .why-reading-body { max-width: var(--ds-reading); font-size: var(--ds-body); line-height: var(--ds-body-line); }
.ds-scope .why-reading-body .why-principle-title, .ds-scope .why-reading-body .why-principle-example { font-size: var(--ds-body); line-height: var(--ds-body-line); }
.ds-scope .why-reading-body .why-principle-example-label { font-size: var(--ds-aux); }
.ds-scope .why-reading-body strong { font-weight: inherit; }
.ds-scope .why-reading-heading.ds-heading { margin-bottom: 0 !important; }
.ds-scope .why-reading-heading .ds-emphasis { margin-top: var(--ds-title-lead) !important; }
.ds-scope .why-reading-answer { row-gap: var(--ds-heading-content); }
.ds-scope .why-reading-answer .why-answer-image { margin-top: 0; }
.ds-scope .products-feature-copy > .ds-heading { width: 100%; margin-bottom: 0 !important; }
.ds-scope .products-feature-copy > .ds-heading .ds-emphasis { margin-top: var(--ds-title-lead); }
.ds-scope .products-feature-copy > .ds-heading .ds-aux { margin-top: var(--ds-paragraph); }
.ds-scope .products-feature-copy > .ds-heading .ds-lead { margin-top: var(--ds-title-lead) !important; }
.ds-scope .ds-heading .hero-actions { margin-top: var(--ds-action-gap) !important; }
.ds-scope .hero-cover-overlay.ds-heading { display: flex; gap: 0; margin: 0 !important; padding: 40px max(var(--ds-gutter), calc((100vw - var(--ds-container)) / 2)); text-align: left; }
.ds-scope .hero-cover-overlay.ds-heading > .ds-title { max-width: var(--ds-container); }
.ds-scope .hero-cover-overlay.ds-heading > .ds-lead { max-width: var(--ds-lead-width); }
.ds-scope .camp-calendar-heading::after, .ds-scope .camp-calendar-heading h2::after { display: none; }
.ds-scope .camp-calendar-heading .ds-title { max-width: none; }
.ds-scope .camp-plans-subtitle { white-space: normal; }
.ds-scope .photo-wall-section { padding-block: 0; }
.ds-scope .product-intro, .ds-scope .past-summary { max-width: var(--ds-reading); margin-inline: auto; }
.ds-scope .faq-category-nav { margin-block: 0; }
.ds-scope .site-cta-inner, .ds-scope.site-cta .site-cta-inner { max-width: var(--ds-container); padding: 0; }
.ds-scope .contact-primary-grid { padding-top: 0; }
.ds-scope .contact-details { gap: var(--ds-heading-content); }
.ds-scope .ds-heading .ds-h3 { margin-bottom: 0; }
.ds-scope .products-feature-copy { align-items: center; }
.ds-tone-paper .products-feature-copy :is(.ds-title, .ds-emphasis, .ds-aux, .ds-body) { color: var(--ds-ink) !important; }
.ds-tone-paper .products-feature-copy .ds-eyebrow { color: var(--ds-brand) !important; }
.ds-tone-paper .products-feature-copy .ds-lead { color: var(--ds-muted) !important; }
.ds-tone-paper .products-feature-detail { color: var(--ds-brand); border-color: var(--ds-brand); }
.ds-scope .products-feature-copy, .ds-scope .products-feature-copy > .ds-heading { padding: 0 !important; }
.ds-scope .products-line.products-line-with-video > section.video-band.video-module { width: 100%; margin: 0; padding: 0; background: transparent; }
.ds-scope .products-line.products-line-with-video { gap: 48px 64px; }
.ds-scope .home-video-hero-inner { max-width: none; }
.ds-scope .home-video-hero-copy .ds-heading { align-items: flex-start; }
.ds-scope .ds-heading:not(.hero-cover-overlay) > .ds-title { max-width: 100%; }
.ds-scope .brand-section-who .ds-heading { margin-bottom: var(--ds-heading-content) !important; }
.ds-scope .atv-gains, .ds-scope .nols-gains { color: var(--ds-ink); }
.ds-scope .atv-gains :is(.ds-title, .ds-body), .ds-scope .nols-gains :is(.ds-title, .ds-body) { color: var(--ds-ink) !important; }
.ds-scope .contact-ways, .ds-scope .contact-prepare { display: block; }
.ds-scope .expect-more { display: block; }
.ds-scope .ds-heading-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.ds-scope .ds-heading-actions > a { margin: 0 !important; }
.ds-scope .ds-heading--center .ds-heading-actions { justify-content: center; }
.ds-scope .ds-module-tail { margin-top: var(--ds-action-gap) !important; margin-bottom: 0 !important; }
.ds-page > .brand-subnav-wrap { margin-block: 0; }
@media (max-width: 719px) {
  :root { --ds-h1-home: 38px; --ds-h1: 34px; --ds-h2: 30px; --ds-h3: 21px; --ds-emphasis: 18px; --ds-body: 17px; --ds-label-title: 8px; --ds-title-lead: 14px; --ds-heading-content: 32px; --ds-section: 72px; --ds-gutter: 24px; }
  .ds-scope .hero-cover-overlay.ds-heading { padding: 28px var(--ds-gutter); }
  .ds-scope .home-video-hero-words { white-space: normal; }
  .ds-scope .products-feature-copy > .ds-heading { margin-bottom: 0 !important; }
  .ds-scope .products-line.products-line-with-video > section.video-band.video-module { margin-top: 32px; }
}
