/* Home shares the site's Archivo sans-serif family and semantic type scale. */
.home-page {
  --font-display: Archivo, Arial, sans-serif;
  --font-body: Archivo, Arial, sans-serif;
  --font-hero: var(--site-font-hero);
  --font-annotation: var(--font-body);

  /* Major third: each step is the preceding step × 1.25. */
  --type-ratio: 1.25;
  --type-sm: .8rem;
  --type-base: 1rem;
  --type-1: 1.25rem;
  --type-2: 1.5625rem;
  --type-3: 1.953125rem;
  --type-4: 2.44140625rem;
  --type-5: 3.0517578125rem;
  --type-6: 3.814697265625rem;

  --type-hero: var(--site-type-hero);
  --type-hero-body: .875rem;
  --type-hero-benefit: .75rem;
  --text-hero-eyebrow: #8a4a0a;
  --leading-hero: var(--site-leading-hero);
  --leading-hero-body: 1.7;
  --tracking-hero: var(--site-tracking-hero);
  --type-section: clamp(var(--type-3), 3vw, var(--type-4));
  --type-feature: clamp(var(--type-3), 3.75vw, var(--type-5));
  --type-card: clamp(1.6rem, 2.2vw, 2rem);
  --type-control: var(--type-sm);
  --type-handwriting: clamp(1rem, 1.4vw, 1.125rem);

  --weight-body: 400;
  --weight-ui: 500;
  --weight-heading: 600;
  --leading-heading: 1.2;
  --leading-body: 1.6;
  --leading-label: 1.4;
  --tracking-heading: -.025em;
  --tracking-label: .08em;
  --measure-body: 68ch;
  --measure-hero: 48ch;
  --measure-hero-title: 39rem;
  --height-hero-control: 3rem;

  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;

  --text-heading: #064b38;
  --text-body: #344c40;
  --text-secondary: #52675b;
  --serif: var(--font-display);
  --heading: var(--font-display);
  --sans: var(--font-body);

  font-family: var(--font-body);
  font-size: var(--type-base);
  font-weight: var(--weight-body);
  line-height: var(--leading-body);
  color: var(--text-body);
  font-kerning: normal;
}

/* Shared reading and heading roles; component widths still constrain the text. */
body.home-page :is(h1, h2, h3, h4) {
  font-family: var(--font-display);
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading);
  text-wrap: balance;
}
body.home-page p {
  max-width: var(--measure-body);
  font-weight: var(--weight-body);
  line-height: var(--leading-body);
  text-align: left;
}
body.home-page :is(strong, b) { font-weight: var(--weight-heading); }
body.home-page :is(.section-heading p, .trial-editorial-intro, .trade-faq > div > p) {
  font-size: var(--type-base);
  color: var(--text-secondary);
  margin-top: var(--space-3);
}
body.home-page :is(.button, .text-link, .coming-link, .trial-categories button),
body.home-page .header-inner #main-nav,
body.home-page .header-inner #main-nav .nav-contact {
  font-family: var(--font-body);
  font-size: var(--type-control);
  font-weight: var(--weight-ui);
  line-height: var(--leading-label);
  letter-spacing: 0;
}
body.home-page .rr-utility :is(span, a) {
  font-size: var(--type-sm);
  font-weight: var(--weight-body);
  line-height: var(--leading-label);
}

/* Two natural phrase lines, with wrapping available for enlarged text. */
body.home-page .rr-hero-copy { container-type: inline-size; min-width: 0; }
body.home-page .rr-hero .gl-nutrition-headline {
  max-width: none;
  font-size: var(--type-hero);
  font-weight: var(--weight-heading);
  line-height: var(--leading-hero);
  letter-spacing: var(--tracking-hero);
  text-wrap: balance;
  text-transform: none;
  font-optical-sizing: auto;
  font-synthesis: none;
}
body.home-page .gl-nutrition-headline > span {
  display: block;
  white-space: normal;
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
body.home-page .rr-hero-copy .gl-hero-description {
  font-size: var(--type-hero-body);
  max-width: min(var(--measure-body), var(--measure-hero));
  margin-top: var(--space-5);
  line-height: var(--leading-hero-body);
  letter-spacing: 0;
  color: var(--text-secondary);
  text-wrap: pretty;
}
body.home-page .gl-hero-description .gl-hero-brand { font-weight: var(--weight-ui); }
body.home-page .rr-hero-copy .gl-hero-benefits {
  font-size: var(--type-hero-benefit);
  margin: 0 0 var(--space-4);
  line-height: var(--leading-label);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--text-hero-eyebrow);
}
body.home-page .rr-hero-copy .gl-hero-benefits strong {
  gap: var(--space-1) var(--space-3);
  font-weight: var(--weight-heading);
}
body.home-page .rr-hero .actions {
  margin-top: var(--space-6);
  gap: var(--space-3);
  align-items: stretch;
}
body.home-page .rr-hero .button {
  min-height: var(--height-hero-control);
  padding:0 20px;
  align-items: center;
  justify-content: center;
}
body.home-page .rr-hero .gl-play-icon { width:22px; height:22px; }

/* Benefits, product range and the four editorial panels. */
body.home-page .gl-benefits .gl-benefit-number {
  font-size: var(--type-3);
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
}
body.home-page .gl-benefits .gl-benefit-word {
  font-size: 22px;
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading);
}
body.home-page .gl-benefits p {
  font-size: var(--type-sm);
  line-height: var(--leading-label);
  color: var(--text-secondary);
  margin-top: 2px;
}
body.home-page .fc-range .section-heading h2,
body.home-page .trial-editorial-heading h2,
body.home-page .trade-copy h2,
body.home-page .trade-faq h2 {
  font-size: var(--type-section);
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading);
}
body.home-page .fc-range .section-heading p { font-size: var(--type-base); }
body.home-page .fc-range-tile > span {
  font-size: var(--type-sm);
  font-weight: var(--weight-ui);
  line-height: var(--leading-label);
  letter-spacing: 0;
}
body.home-page :is(.gl-story, .gl-trade) h2 {
  font-size: var(--type-card);
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading);
}
body.home-page .gl-story p,
body.home-page .gl-story .gl-care-steps p {
  font-size: 14px;
  line-height: 1.5;
}
body.home-page .gl-story-copy > p {
  max-width: 27ch;
  margin-block: var(--space-4) var(--space-5);
}
body.home-page .gl-story :is(.button, .gl-story-link) {
  font-size: var(--type-control);
  font-weight: var(--weight-ui);
  line-height: var(--leading-label);
  letter-spacing: 0;
}

/* Preserve the reference's handwritten art annotations as one accent role. */
body.home-page .gl-handnote,
body.home-page .gl-story .gl-handnote {
  font-family: var(--font-annotation);
  font-size: var(--type-handwriting);
  font-weight: var(--weight-heading);
  line-height: 1;
  letter-spacing: var(--tracking-heading);
  text-align: center;
}
body.home-page .gl-story .gl-panel-note { font-size: 29px; }
body.home-page .gl-handnote .gl-ink-underline { max-width: 100%; }

/* Full application guide, supporting evidence and trade information. */
body.home-page .rr-application h2 {
  font-size: var(--type-section);
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading);
}
body.home-page :is(.rr-apply-intro, .gl-application-detail) {
  font-size: var(--type-base);
  max-width: var(--measure-body);
  line-height: var(--leading-body);
  margin-top: var(--space-4);
}
body.home-page .rr-steps button {
  font-family: var(--font-display);
  font-size: var(--type-1);
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading);
}
body.home-page .rr-steps p,
body.home-page .rr-root-note {
  font-size: var(--type-sm);
  line-height: var(--leading-body);
}
body.home-page :is(.rr-root-label, .rr-demo-caption, .rr-pause),
body.home-page .rr-root-demo .rr-particle,
body.home-page .rr-steps button span,
body.home-page .rr-animation-controls a {
  font-family: var(--font-body);
  font-size: var(--type-sm);
  font-weight: var(--weight-ui);
  line-height: var(--leading-label);
}
body.home-page .rr-root-label {
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
body.home-page .trial-editorial-copy h3,
body.home-page .palm-story h3 {
  font-size: var(--type-card);
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading);
}
body.home-page :is(.trial-story-text, .trial-editorial-product p, .trial-summary) {
  font-size: var(--type-base);
  line-height: var(--leading-body);
  max-width: var(--measure-body);
}
body.home-page .trade-benefits h3 {
  font-size: var(--type-2);
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading);
}
body.home-page :is(.trade-benefits p, .palm-story p, .faq-list p) {
  font-size: var(--type-base);
  line-height: var(--leading-body);
  max-width: var(--measure-body);
}
body.home-page .trade-benefits p { margin-top: var(--space-2); }
body.home-page .faq-list summary {
  font-family: var(--font-body);
  font-size: var(--type-base);
  font-weight: var(--weight-heading);
  line-height: var(--leading-body);
  letter-spacing: 0;
}
body.home-page .fc-trade-band h2 {
  font-size: var(--type-section);
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading);
}

/* Footer and secondary information retain their existing sentence case. */
body.home-page .site-footer .footer-grid h2 {
  font-family: var(--font-display);
  font-size: var(--type-1);
  font-weight: var(--weight-heading);
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading);
}
body.home-page .site-footer .footer-brand p { font-size: var(--type-base); }
body.home-page .site-footer .footer-grid a,
body.home-page :is(.footer-address address, .footer-legal, .footer-legal p, .store-photo figcaption, .trial-photo-count) {
  font-family: var(--font-body);
  font-size: var(--type-sm);
  font-weight: var(--weight-body);
  line-height: var(--leading-body);
  letter-spacing: 0;
  color: var(--text-secondary);
}

@media (min-width: 801px) and (max-width: 1100px) {
  .home-page {
    --measure-hero: 48ch;
    --type-control: .75rem;
    --type-card: var(--type-2);
  }
  body.home-page .gl-benefits .gl-benefit-word { font-size: var(--type-1); }
  body.home-page .gl-story .gl-panel-note {
    font-size: var(--type-1);
    max-width: 9ch;
  }
}
@media (max-width: 800px) {
  .home-page {
    --type-control: .75rem;
  }
  body.home-page .gl-benefits .gl-benefit-word { font-size: var(--type-1); }
  body.home-page .rr-hero-copy .gl-hero-description { max-width: var(--measure-hero); }
  body.home-page .header-inner #main-nav a:not(.nav-contact) { font-size: var(--type-base); }
}
@media (max-width: 580px) {
  body.home-page .gl-benefits .gl-benefit-number { font-size: var(--type-3); }
}

@media(max-width:580px){
  body.home-page .rr-hero .gl-nutrition-headline { max-width:none; }
  body.home-page .gl-story h2 { font-size:29px; }
  body.home-page .gl-story .gl-panel-note { font-size:26px; }
  body.home-page .rr-hero .actions { gap:8px; margin-top:var(--space-5); }
  body.home-page .rr-hero .button { padding-inline:14px; }
  body.home-page .rr-hero .gl-play-icon { width:20px; height:20px; }
  body.home-page .gl-story .gl-care-steps p { font-size:13px; }
}

@media(max-width:360px) {
  body.home-page .rr-hero .actions { display:grid; grid-template-columns:minmax(0,1fr); }
  body.home-page .rr-hero .button { width:100%; }
}
