/* Load after styles.css and rarely.css. Scoped accessibility refinements. */
:root {
  --a11y-light-copy: #5b6152;
  --a11y-dark-copy: #aab39c;
  --a11y-light-focus: #665c40;
  --a11y-dark-focus: #fffbf0;
}

/* Consistent keyboard focus, including controls inside light chapters. */
:is(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--a11y-dark-focus);
  outline-offset: 4px;
  box-shadow: 0 0 0 7px #191b18;
}
:is(.section-light, .rarely-feature, .accessibility-page main) :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--a11y-light-focus);
  outline-offset: 4px;
  box-shadow: 0 0 0 7px #fffbf0;
}
:is(a, button, summary, [tabindex]) { scroll-margin-block: 125px 24px; }
.skip-link { font-size: 1rem; line-height: 1.5; max-width: calc(100% - 40px); }
.skip-link:focus-visible { outline-color: #191b18; box-shadow: 0 0 0 7px #fffbf0; }

/* An opaque header and a bounded image overlay make contrast predictable. */
.header, .header.is-scrolled { background: #171916; }
.header { min-height: 102px; height: auto; padding-block: 14px; gap: 20px; }
.header.is-scrolled { min-height: 78px; }
.desktop-nav { gap: 22px; margin-right: 18px; min-width: 0; flex-wrap: wrap; row-gap: 0; }
.desktop-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; color: #eeeae1; }
.header-cta { font-size: .875rem; min-height: 44px; gap: 20px; border-color: #c4aa7c; }
.brand { min-height: 44px; }
.hero-shade {
  /* Even pure white behind the weakest stop composites to at most #4b4c4a. */
  background: linear-gradient(90deg, rgba(14,16,13,.90), rgba(14,16,13,.82) 55%, rgba(14,16,13,.75));
}
.hero { height: auto; min-height: 100svh; max-height: none; display: flex; flex-direction: column; }
.hero-content { padding-bottom: 48px; }
.hero h1 { overflow-wrap: anywhere; }
.hero h1 .line { overflow: visible; padding-block: .08em; margin-block: -.08em; }
.hero-copy { font-size: 1rem; color: #eeeae1; max-width: 590px; }
.hero-partnership { background: #171916; border-color: #c4aa7c; }
.hero-partnership:hover { background: #242620; }
.hero-partnership-label { font-size: .75rem; letter-spacing: .08em; }
.hero-partnership-claim { overflow-wrap: break-word; }
.hero-actions { flex-wrap: wrap; }
.hero-caption { font-size: .75rem; letter-spacing: .08em; color: #eeeae1; }
.hero-bottom { position: relative; margin-top: auto; flex-wrap: wrap; gap: 20px; padding-block: 24px; color: #eeeae1; }
.hero-bottom > span, .hero-bottom > span:first-child, .hero-index { font-size: .75rem; white-space: normal; line-height: 1.6; color: #eeeae1; }
.hero-bottom i { color: #dfc99f; }
.scroll-cue { font-size: .75rem; min-height: 44px; color: #eeeae1; }

/* Readable prose; display typography and decorative wordmarks stay separate. */
.intro-copy, .capability-body p, .model-copy > p:not(.eyebrow),
.marketplace-intro p, .marketplace-services p, .process-card p,
.questions-layout > div:first-child > p, .faq p,
#program .contact-bottom > p, .rarely-description, .rarely-value p {
  font-size: 1rem;
  line-height: 1.75;
}
.section-heading > p, .approach .section-heading > p { font-size: 1rem; line-height: 1.75; }
.section-heading > *, .foundation-intro > *, .model-layout > *,
.marketplace-panel > *, .questions-layout > *, .rarely-editorial > *,
.rarely-value > div, .contact-bottom > *, .footer-top > * { min-width: 0; }
.foundation-end, .footer-top { flex-wrap: wrap; }
.approach-closing > p { min-width: 0; }
main :is(p, h1, h2, h3, h4, li, dt, dd) { overflow-wrap: break-word; }

/* Compact metadata is 12px or larger, including the former 6–9px labels. */
.eyebrow, .hero-eyebrow, .foundation-intro > .eyebrow,
.model-copy .eyebrow, .process-card .eyebrow, .contact-content > .eyebrow,
.marketplace-intro > .eyebrow, .invitation-status .eyebrow,
.section-marker, .section-marker span:last-child,
.rarely-feature .section-marker, .rarely-feature .section-marker > span:last-child,
.capability-number, .capability-tag, .capability-graphic span, .inline-list li,
.model-legend, .model-label, .model-note, .model-axis,
.marketplace-services span, .rarely-kicker, .rarely-card-top,
.rarely-card-top > span:last-child, .rarely-card-label, .rarely-card-location,
.rarely-compass, .rarely-partnership-strip > span,
.footer-bottom, .footer-bottom > span:nth-child(2), .program-note, .contact-route {
  font-size: .75rem;
  line-height: 1.6;
  letter-spacing: .06em;
}
.section-marker { flex-wrap: wrap; gap: 12px 30px; }
.capability-number { width: 45px; }
.capability-tag { max-width: 230px; text-align: right; }
.capability-graphic { height: auto; min-height: 175px; }
.capability-graphic span { display: block; letter-spacing: .08em; }
.inline-list { gap: 14px 22px; }
.model-label, .model-note { max-width: calc(100% - 40px); }
.model-note { text-align: right; }
.model-legend { gap: 14px 20px; }
.marketplace-services h4 { font-size: 1rem; line-height: 1.5; }
.faq summary { font-size: 1rem; }
.foundation-end p { font-size: .875rem; }

/* Contrast on warm light backgrounds: copy 5.34:1, muted display 4.84:1. */
.section-light .section-marker span:last-child, .foundation-intro > .eyebrow,
.section-light .capability-number, .section-light .capability-tag,
.section-light .capability-graphic span, .section-light .section-heading > p,
.section-light .intro-copy, .section-light .capability-body p,
.marketplace-intro > .eyebrow, .marketplace-intro p,
.marketplace-services p, .marketplace-services span,
.questions-layout > div:first-child > p, .faq p {
  color: var(--a11y-light-copy);
}
.section-light em, .muted { color: #6f644f; }
.section-light .tiny-symbol { color: #6f644f; }
.marketplace-tabs > button { color: #5b6152; min-height: 64px; flex-wrap: wrap; align-content: center; }
.marketplace-tabs > button[aria-selected=true] { color: #191b18; }
.marketplace-tabs > button > span:nth-child(2),
.marketplace-tabs > button > span.rarely-tab-badge {
  font-size: .75rem;
  line-height: 1.5;
  opacity: 1;
  white-space: normal;
  overflow-wrap: anywhere;
  letter-spacing: .03em;
}
.marketplace-tabs > button::after { height: 3px; }
.rarely-tab-logo { opacity: 1; }
.marketplace-panel:focus-visible { outline-offset: 6px; }

/* Dark chapter labels and controls retain visible contrast. */
.model-copy > p:not(.eyebrow), .model-label, .model-note, .model-axis,
.approach .section-marker span:last-child, .approach .section-heading > p,
.process-card p, .approach-closing p > span,
.contact .section-marker span:last-child, #program .contact-bottom > p,
.program-note, .contact-route, .footer-top p, .footer-bottom {
  color: var(--a11y-dark-copy);
}
.process-number { color: #aab39c; }
.round-link { border-color: #aab39c; }
.invitation-status { min-width: 0; max-width: 100%; border-color: #aab39c; }
.invitation-status .eyebrow { color: #aab39c; }
.footer-wordmark { color: #68705e; }
.footer-wordmark > span { color: #aab39c; }

/* All standalone actions exceed the 24px AA minimum; primary targets are 44px. */
.button, .text-link, .rarely-button, .rarely-text-link,
.model-copy > .text-link, .marketplace-intro > a,
.hero-actions .text-link, .footer-top .text-link,
.motion-toggle, .back-top, a.accessibility-link {
  min-width: 24px;
  min-height: 44px;
  font-size: .875rem;
  line-height: 1.5;
}
.button, .rarely-button { max-width: 100%; white-space: normal; gap: 20px; }
.text-link, .rarely-text-link { max-width: 100%; gap: 16px; }
.text-link > span[aria-hidden], .rarely-text-link > span[aria-hidden],
.button > span[aria-hidden], .rarely-button > span[aria-hidden] { flex-shrink: 0; }
.rarely-button { border: 1px solid #70501f; color: #17140e; }
.rarely-button:hover { color: #17140e; }
.rarely-text-link { padding-block: 10px; border-bottom-color: currentColor; }
.rarely-partnership-strip > a { min-width: 44px; min-height: 44px; flex-shrink: 0; }
.motion-toggle, .back-top, a.accessibility-link { display: inline-flex; align-items: center; padding: 10px 4px; }
.motion-toggle { color: #dfc99f; }
.motion-indicator { width: 10px; height: 10px; border: 2px solid #dfc99f; background: #dfc99f; flex-shrink: 0; }
.motion-toggle[aria-pressed=true] .motion-indicator { background: transparent; }
.motion-toggle:disabled { opacity: 1; color: #dfc99f; }
.hero-motion.motion-toggle, .hero-motion .motion-toggle { padding: 10px 14px; border: 1px solid #c4aa7c; background: #171916; }
.hero-motion { margin-top: 20px; max-width: 100%; }
.hero-motion .motion-toggle { flex-wrap: wrap; }
.footer-bottom { flex-wrap: wrap; gap: 16px 24px; }
.footer-top p { font-size: .875rem; }
a.accessibility-link { color: #dfc99f; text-decoration: underline; text-underline-offset: .2em; }

/* Rarely's warm chapter: larger content with flexible space around the seal. */
.rarely-feature h2 { line-height: 1.12; overflow-wrap: anywhere; }
.rarely-kicker, .rarely-card-top, .rarely-card-label, .rarely-card-location,
.rarely-feature .section-marker, .rarely-feature .section-marker > span:last-child { color: #716349; }
.rarely-card-top { align-items: flex-start; flex-wrap: wrap; gap: 8px 16px; }
.rarely-card-top > span:last-child { max-width: 220px; margin-left: auto; }
.rarely-card-bottom strong { max-width: 100%; line-height: 1.3; }
.rarely-card-bottom > span { max-width: 100%; }
.rarely-card-label, .rarely-card-location { letter-spacing: .07em; }
.rarely-value h3 { font-size: 1.125rem; line-height: 1.4; }
.rarely-value-index { color: #8a662d; }
.rarely-tab-summary { padding: 30px; }
.rarely-tab-summary > p { font-size: .875rem; max-width: none; padding-right: 52px; }
.rarely-tab-summary dl > div { font-size: .875rem; gap: 16px; flex-wrap: wrap; }
.rarely-tab-summary dt { color: #5b6152; }
.rarely-tab-summary dd { overflow-wrap: anywhere; }
.rarely-partnership-strip { flex-wrap: wrap; }
.rarely-partnership-strip > span { flex-wrap: wrap; white-space: normal; padding-right: 0; }
.rarely-partnership-strip > p { margin-left: 0; max-width: 100%; flex: 1 1 280px; }
.rarely-partnership-strip > a { position: relative; top: auto; right: auto; margin-left: auto; }

/* The separate accessibility statement uses the same restrained visual system. */
body.accessibility-page { background: #eeeae1; color: #191b18; }
.accessibility-page main { max-width: 1040px; margin-inline: auto; padding: 150px clamp(24px,5vw,64px) 80px; }
.accessibility-page main h1 { font-size: clamp(2.3rem,5vw,4rem); line-height: 1.15; margin-block: 0 32px; overflow-wrap: anywhere; }
.accessibility-page main h2 { font-size: clamp(1.5rem,3vw,2rem); line-height: 1.3; margin-block: 40px 16px; }
.accessibility-page main h3 { font-size: 1.25rem; line-height: 1.4; margin-block: 28px 12px; }
.accessibility-page main :is(p, li, dt, dd) { font-size: 1rem; line-height: 1.75; color: #3d3935; }
.accessibility-page main p { margin-block: 0 20px; }
.accessibility-page main ul { list-style: disc; padding-left: 1.5em; margin-block: 18px 24px; }
.accessibility-page main li { margin-block: 10px; }
.accessibility-page main a { color: #665c40; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }

@media (max-width: 1100px) and (min-width: 801px) {
  .header { gap: 14px; padding-inline: 24px; }
  .desktop-nav { gap: 14px; margin-inline: auto 0; }
  .header-cta { gap: 12px; padding-inline: 14px; }
  .hero-caption { display: none; }
}
@media (max-width: 900px) {
  .rarely-editorial { grid-template-columns: minmax(0,1fr); gap: 40px; }
  .rarely-credential { width: 100%; max-width: 480px; margin-inline: auto; }
  .rarely-story { max-width: 620px; }
  .rarely-exclusive { font-size: 1.125rem; }
  .rarely-values { gap: 28px; }
}
@media (max-width: 800px) {
  .header, .header.is-scrolled { min-height: 78px; padding-block: 10px; }
  .hero-content { padding-top: 116px; }
  .menu-toggle { display: block; width: 44px; height: 44px; flex-shrink: 0; padding: 10px; }
  .menu-toggle span { left: 10px; right: 10px; top: 17px; height: 2px; }
  .menu-toggle span:last-child { top: 26px; }
  .menu-toggle[aria-expanded=true] span { top: 21px; }
  .menu-toggle[aria-expanded=true] span:last-child { top: 21px; }
  .mobile-nav:not([hidden]) { padding: 104px var(--gutter) 32px; overflow-y: auto; overscroll-behavior: contain; }
  .mobile-nav nav { display: flex; flex-direction: column; min-width: 0; }
  .mobile-nav > a, .mobile-nav nav > a {
    display: flex; align-items: center; gap: 18px; min-height: 60px;
    padding: 18px 4px; font-size: clamp(1.25rem,5vw,2rem); line-height: 1.4;
    letter-spacing: -.025em; border-bottom: 1px solid #aab39c; color: #eeeae1;
    overflow-wrap: anywhere;
  }
  .mobile-nav > a > span, .mobile-nav nav > a > span { font-size: .75rem; color: #dfc99f; letter-spacing: 0; }
  .mobile-nav p { font-size: .75rem; line-height: 1.6; color: #aab39c; padding-top: 30px; }
  .mobile-nav [data-menu-close] { min-width: 44px; min-height: 44px; align-self: flex-end; padding: 10px 14px; font-size: 1rem; color: #eeeae1; border: 1px solid #c4aa7c; margin-bottom: 20px; }
  .mobile-nav :is(a,button):focus-visible { outline: 3px solid #fffbf0; outline-offset: 3px; box-shadow: 0 0 0 6px #191b18; }
  .model-copy > p:not(.eyebrow) { max-width: 100%; }
  .marketplace-panel { gap: 32px; }
  .rarely-value p { max-width: none; }
  .contact-bottom { flex-wrap: wrap; }
  .invitation-status { flex-shrink: 1; }
}
@media (max-width: 580px) {
  :root { --gutter: 23px; }
  html { scroll-padding-top: 100px; }
  .header { gap: 12px; }
  .header .header-cta { display: none; } /* The same destination is in the menu and hero. */
  .header .brand { margin-right: auto; }
  .hero-content { padding-top: 108px; padding-bottom: 36px; }
  .hero-partnership { flex-wrap: wrap; gap: 12px; padding: 16px; }
  .hero-partnership-logo { width: 88px; height: 46px; padding: 10px; }
  .hero-partnership-content { flex-basis: 100%; }
  .hero-partnership-claim { font-size: 1.125rem; line-height: 1.5; }
  .hero-partnership-label { font-size: .75rem; }
  .hero h1 { font-size: clamp(2.2rem,10.8vw,3.9rem); line-height: 1.12; letter-spacing: -.04em; }
  .hero-copy { max-width: 100%; }
  .hero-bottom { gap: 16px; padding-block: 20px; }
  .hero-bottom > span:first-child { flex-basis: 100%; }
  .hero-bottom .scroll-cue { margin-left: 0; }
  .hero-bottom .scroll-cue > span:first-child { display: inline; }
  .hero-bottom i { margin-inline: 3px; }
  .section-heading > p { max-width: 100%; }
  .foundation-end a { font-size: .875rem; }
  .foundation-intro h2 { overflow-wrap: anywhere; }
  .capability summary { gap: 12px; }
  .capability-number { width: 24px; }
  .capability-title { min-width: 0; overflow-wrap: anywhere; font-size: 1.25rem; }
  .capability-body { padding-left: 0; padding-right: 0; }
  .capability-graphic { min-height: 110px; height: auto; gap: 20px; }
  .capability-graphic svg { flex-shrink: 0; }
  .model-visual { min-height: 360px; height: auto; aspect-ratio: 1; }
  .model-label, .model-note { max-width: calc(100% - 28px); letter-spacing: .03em; }
  .model-label { left: 14px; top: 14px; }
  .model-note { right: 14px; bottom: 14px; }
  .model-axis { display: none; }
  .marketplace-tabs { gap: 12px; }
  .marketplace-tabs > button { padding: 20px 0; gap: 14px; min-height: 110px; }
  .marketplace-tabs .marketplace-wordmark { font-size: 1.125rem; }
  .marketplace-tabs .walmart-spark { font-size: 1.125rem; padding-left: 2px; }
  .marketplace-services { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .rarely-tab-logo { max-width: 100%; }
  .rarely-tab-summary { padding: 24px; }
  .rarely-tab-summary dl > div { font-size: .875rem; }
  .rarely-card-top > span:last-child { margin-left: 0; text-align: left; max-width: 100%; }
  .rarely-credential { padding: 24px 20px 40px; }
  .rarely-feature h2 { font-size: clamp(2.4rem,12vw,3.4rem); }
  .rarely-card-bottom strong { font-size: 2rem; }
  .rarely-values { grid-template-columns: minmax(0,1fr); }
  .rarely-partnership-strip { gap: 18px; }
  .rarely-partnership-strip > p { font-size: 1.25rem; }
  .rarely-partnership-strip > a { position: static; }
  .process-card { padding-left: 0; padding-top: 0; }
  .process-number { position: static; font-size: 3rem; margin-bottom: 20px; }
  .process-card p { max-width: none; }
  .faq p { padding-right: 0; }
  #program h2 { font-size: clamp(2.7rem,12vw,4.25rem); overflow-wrap: anywhere; line-height: 1.12; }
  .footer-top { align-items: flex-start; }
  .footer-top p { margin-inline: 0; }
  .footer-wordmark { max-width: 100%; overflow: hidden; }
  .footer-bottom { gap: 12px 20px; font-size: .75rem; }
  .footer-bottom > span:first-child { font-size: .75rem; }
  .footer-top .text-link { min-height: 44px; padding-block: 10px; }
}
@media (max-width: 360px) {
  .marketplace-tabs .marketplace-wordmark { font-size: 1rem; letter-spacing: -.03em; }
  .marketplace-tabs .walmart-spark { font-size: 1rem; }
  .marketplace-tabs > button > span.rarely-tab-badge { font-size: .75rem; padding: 3px; }
  .rarely-seal-stage { height: 240px; }
  .rarely-compass { width: 190px; height: 190px; }
  .rarely-seal-logo { width: 175px; height: 175px; }
}
@media (max-height: 500px) and (max-width: 800px) {
  .mobile-nav:not([hidden]) { padding-top: 90px; }
  .mobile-nav > a, .mobile-nav nav > a { min-height: 48px; padding-block: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .hero h1 .line > span, .hero-art img, .hero-partnership,
  .rarely-seal-logo, .rarely-compass > i { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
  :is(a,button,summary,[tabindex]):focus-visible { outline: 3px solid Highlight !important; box-shadow: none !important; }
  .button, .rarely-button, .header-cta, .round-link, .hero-partnership,
  .motion-toggle, .menu-toggle, .mobile-nav [data-menu-close] { border: 1px solid ButtonText; }
  .marketplace-tabs > button[aria-selected=true] { outline: 2px solid Highlight; outline-offset: -2px; }
  .menu-toggle span, .motion-indicator { background: ButtonText; }
}
/* The oversized footer wordmark is decorative; contain it under text zoom. */
.footer-wordmark { max-width:100%; overflow:hidden; }
/* Shared header remains legible on the light accessibility page. */
.header { color:#eeeae1; }
/* Keep labels legible against canvas frames and decorative orbit overlap. */
.model-label, .model-note { background:#1b1d19; padding:.15em .35em; }
.contact-orbit { opacity:.15; }
