/* Homepage composition. Brand colors and fonts come from brand-foundation.css. */
body[data-page="home"] { background: var(--brand-oat); }
body[data-page="home"] main { padding-bottom: 0; }
body[data-page="home"] .container { width: min(1240px, calc(100% - 48px)); }
body[data-page="home"] h1,
body[data-page="home"] h2,
body[data-page="home"] h3 { font-family: "Instrument Serif", Georgia, serif; font-weight: 400; line-height: 1.02; letter-spacing: -.025em; }
body[data-page="home"] h1 { font-size: clamp(4rem, 6.2vw, 7rem); }
body[data-page="home"] h2 { font-size: clamp(3rem, 5.5vw, 6rem); }
body[data-page="home"] h3 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
body[data-page="home"] p { line-height: 1.65; }
body[data-page="home"] .section-index,
body[data-page="home"] .eyebrow { font: 700 .75rem/1.4 Inter, sans-serif; letter-spacing: .17em; text-transform: uppercase; }
body[data-page="home"] .site-header { background: color-mix(in srgb, var(--brand-oat) 96%, transparent); border-color: var(--marketing-border); }
body[data-page="home"] .nav-wrap { padding-block: 15px; }
body[data-page="home"] .nav-links { gap: 3px; }
body[data-page="home"] .nav-links a { font-size: .84rem; font-weight: 500; }
body[data-page="home"] .header-cta { min-height: 40px; padding: 8px 16px; }
body[data-page="home"] .brand-logo { width: clamp(166px, 17vw, 210px); }
body[data-page="home"] .btn { border-radius: 2px; }
body[data-page="home"] .text-link { color: var(--brand-forest); font-weight: 650; text-decoration: underline; text-underline-offset: 5px; }
body[data-page="home"] .text-link:hover { color: var(--brand-moss); }

.editorial-hero { position: relative; isolation: isolate; min-height: 760px; display: flex; align-items: center; overflow: hidden; background: var(--brand-clay-beige); }
.editorial-hero > .hero-photo { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 57% 45%; }
.editorial-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, color-mix(in srgb, var(--brand-oat) 97%, transparent) 0%, color-mix(in srgb, var(--brand-oat) 90%, transparent) 28%, transparent 75%); }
.hero-content { padding-block: 90px 175px; }
.hero-content h1 { max-width: 13ch; margin: 18px 0 25px; }
.hero-content h1 em { color: var(--brand-forest); font-weight: 400; }
.hero-lead { max-width: 35ch; font-size: clamp(1.1rem, 1.65vw, 1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 25px; margin-top: 32px; }
.hero-caption { display: none; }

.product-chapter { position: relative; z-index: 2; margin-top: -170px; padding-bottom: 115px; }
.product-chapter .container { display: flex; flex-direction: column; }
.product-capture { order: -1; margin: 0; border: 10px solid var(--brand-surface); background: var(--brand-surface); box-shadow: 0 18px 55px color-mix(in srgb, var(--brand-ink) 16%, transparent); }
.product-capture img { display: block; width: 100%; height: auto; }
.product-capture figcaption { padding: 10px 4px 2px; color: var(--marketing-text-secondary); font-size: .8rem; }
.chapter-heading { display: flex; align-items: end; justify-content: space-between; gap: 60px; margin-top: 95px; }
.chapter-heading h2 { margin: 0; max-width: 14ch; }
.chapter-heading > p { max-width: 33ch; margin-bottom: 9px; font-size: 1.1rem; color: var(--marketing-text-secondary); }

.intro-note { display: grid; grid-template-columns: 1fr 2.1fr; gap: 65px; padding-block: 90px 130px; border-top: 1px solid var(--marketing-border); }
.intro-note h2 { max-width: 13ch; }
.intro-note div > p { max-width: 55ch; font-size: 1.12rem; color: var(--marketing-text-secondary); }
.story-section { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: clamp(50px, 9vw, 150px); padding-block: 30px 145px; }
.story-section figure { margin: 0; aspect-ratio: 4/5; overflow: hidden; }
.story-section img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.story-section h2 { max-width: 11ch; }
.story-section div > p:not(.section-index) { max-width: 43ch; font-size: 1.1rem; color: var(--marketing-text-secondary); }

.daily-stories { padding-block: 115px 125px; background: var(--brand-forest); color: var(--brand-surface); }
.daily-stories h2 { margin-bottom: 60px; max-width: 16ch; }
.daily-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 90px; }
.daily-list article { padding: 24px 0; border-top: 1px solid var(--brand-olive-sage); }
.daily-list h3 { margin-bottom: 8px; }
.daily-list p { margin: 0; max-width: 48ch; color: var(--brand-oat); }
.trust-note { padding-block: 125px; text-align: center; }
.trust-note h2 { max-width: 17ch; margin-inline: auto; }
.trust-note > p:last-child { max-width: 60ch; margin-inline: auto; color: var(--marketing-text-secondary); font-size: 1.1rem; }

.home-pricing { padding-block: 100px 120px; background: var(--brand-surface-muted); }
.home-pricing .chapter-heading { margin: 0 0 55px; }
.home-pricing .pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.home-pricing .pricing-grid[hidden], .home-pricing .pricing-state[hidden] { display: none; }
.home-pricing .price-card { display: flex; flex-direction: column; gap: 12px; min-width: 0; max-width: none; padding: 29px; border: 0; border-top: 3px solid var(--brand-clay-beige); border-radius: 0; background: var(--brand-surface); box-shadow: none; }
.home-pricing .price-card.popular { border-top-color: var(--brand-forest); }
.home-pricing .price-card .btn { margin-top: auto; }
.home-pricing .price { font-family: "Instrument Serif", Georgia, serif; font-size: 2.5rem; }
.home-pricing .pricing-note { margin: 20px 0; color: var(--marketing-text-secondary); font-size: .84rem; }
.home-pricing .pricing-state { padding: 24px; background: var(--brand-surface); }

.editorial-endcap { position: relative; isolation: isolate; min-height: 590px; display: flex; align-items: center; overflow: hidden; background: var(--brand-forest); color: var(--brand-surface); }
.editorial-endcap > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.editorial-endcap::before { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, color-mix(in srgb, var(--brand-forest) 91%, transparent), transparent); }
.endcap-content { padding-block: 85px; }
.endcap-content h2 { max-width: 13ch; }
.editorial-endcap .btn-light { background: var(--brand-surface); color: var(--brand-forest); }
.editorial-footer { padding: 65px 0 25px; background: var(--brand-oat); border-top: 1px solid var(--marketing-border); }
.footer-layout { display: flex; justify-content: space-between; gap: 55px; padding-bottom: 75px; }
.footer-layout p { margin-top: 12px; color: var(--marketing-text-secondary); }
.footer-links { display: grid; grid-template-columns: repeat(2,auto); align-content: start; gap: 13px 42px; }
.footer-links a { color: var(--brand-ink); text-decoration: none; }
.footer-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 24px; padding-top: 20px; border-top: 1px solid var(--marketing-border); color: var(--marketing-text-secondary); font-size: .8rem; }

@media (max-width: 900px) {
  .home-pricing .pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  body[data-page="home"] .container { width: min(100% - 32px, 540px); }
  body[data-page="home"] .brand-logo { width: 150px; }
  body[data-page="home"] h1 { font-size: clamp(3.2rem, 12.7vw, 5rem); }
  body[data-page="home"] h2 { font-size: clamp(2.85rem, 11vw, 4.5rem); }
  .editorial-hero { display: block; min-height: 0; padding-top: 300px; background: var(--brand-oat); }
  .editorial-hero > .hero-photo { height: 330px; object-position: 69% center; }
  .editorial-hero::before { display: none; }
  .hero-content { padding-block: 38px 110px; }
  .hero-content h1 { margin: 10px 0 20px; }
  .hero-lead { font-size: 1.06rem; }
  .hero-actions { gap: 15px; }
  .product-chapter { margin-top: -70px; padding-bottom: 65px; }
  .product-capture { border-width: 5px; box-shadow: 0 12px 35px color-mix(in srgb, var(--brand-ink) 12%, transparent); }
  .chapter-heading { display: block; margin-top: 65px; }
  .chapter-heading > p { margin-top: 22px; }
  .intro-note { display: block; padding-block: 80px; }
  .intro-note .section-index { margin-bottom: 30px; }
  .story-section { grid-template-columns: 1fr; gap: 40px; padding-block: 20px 95px; }
  .story-section figure { aspect-ratio: 5/4; }
  .daily-stories { padding-block: 90px; }
  .daily-stories h2 { margin-bottom: 50px; }
  .daily-list { grid-template-columns: 1fr; }
  .trust-note { padding-block: 90px; }
  .home-pricing { padding-block: 85px; }
  .home-pricing .pricing-grid { grid-template-columns: 1fr; }
  .editorial-endcap { min-height: 500px; }
  .editorial-endcap > img { object-position: 64% center; }
  .editorial-endcap::before { background: color-mix(in srgb, var(--brand-forest) 73%, transparent); }
  .footer-layout, .footer-bottom { display: block; }
  .footer-links { margin-top: 38px; }
  .footer-bottom span { display: block; margin-bottom: 8px; }
}
