/* Public body pages, opt-in through layouts/public_content.html.
   Keep product screenshots, community illustrations, and partner mockups intact.
   Do not redefine application tokens: these pages share the marketing palette. */
.public-content-body { background: #fcf9f2; }
.public-pages {
  --public-paper: #fcf9f2;
  --public-soft: #f0eee6;
  --public-sage: #e5ebe1;
  --public-green: #284f38;
  --public-ink: #252923;
  --public-muted: #5b5f55;
  --public-line: #deddd2;
  color: var(--public-ink);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.7;
}
.public-pages .public-container {
  max-width: 1240px;
  padding-inline: 48px;
}
.public-pages .public-heading:not(:where(svg *, figure *, [data-partner-experience-mockup] *, [data-carousel-track] *)) {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-weight: 650;
  letter-spacing: -.035em;
  color: var(--public-green);
}
.public-pages h1.public-heading {
  font-size: clamp(42px, 5.1vw, 62px);
  font-weight: 700;
  line-height: 1.06;
}
.public-pages h2.public-heading:not(:where(figure *, [data-partner-experience-mockup] *, [data-carousel-track] *)) {
  font-size: clamp(28px, 3.2vw, 36px);
  line-height: 1.16;
}
.public-pages h3.public-heading:not(:where(figure *, [data-partner-experience-mockup] *, [data-carousel-track] *)) {
  font-size: 21px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.02em;
}
/* Preserve inherited type metrics as well as the artwork's explicit utilities. */
.public-pages :is(figure, [data-partner-experience-mockup], [data-carousel-track]) {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.5;
}
/* Map page surfaces only, stopping at the existing artwork boundaries. */
.public-pages .bg-surface-base:not(:where(figure *, [data-partner-experience-mockup] *, [data-carousel-track] *)) { background-color: var(--public-paper); }
.public-pages .bg-surface-raised:not(:where(figure *, [data-partner-experience-mockup] *, [data-carousel-track] *)) { background-color: var(--public-soft); }
.public-pages .bg-surface-elevated:not(:where(figure *, [data-partner-experience-mockup] *, [data-carousel-track] *)) { background-color: var(--public-paper); }
.public-pages .text-fg-secondary:not(:where(figure *, [data-partner-experience-mockup] *, [data-carousel-track] *)) { color: var(--public-muted); }
.public-pages :is(.border-border-subtle, .border-border-strong):not(:where(figure *, [data-partner-experience-mockup] *, [data-carousel-track] *)) { border-color: var(--public-line); }
.public-pages :is(.shadow-sm, .shadow-lg):not(:where(figure *, [data-partner-experience-mockup] *, [data-carousel-track] *)) { box-shadow: none; }
.public-pages :is(a, button).bg-accent-primary:not(:where(figure *, [data-partner-experience-mockup] *, [data-carousel-track] *)) {
  min-height: 48px;
  background-color: var(--public-green);
  color: #fff;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.4;
}
.public-pages :is(a, button).bg-accent-primary:hover:not(:where(figure *, [data-partner-experience-mockup] *, [data-carousel-track] *)) { background-color: #1d3e2a; }
.public-pages > section[data-section="closing-cta"],
.public-share [data-section="closing-invitation"] { background-color: var(--public-sage); }

/* Quiet pricing panels, retaining the amount, season seal, and all assurances. */
.public-pricing aside[aria-label="Kickoff season pricing"] {
  color: var(--public-ink);
  background: var(--public-soft);
  border: 1px solid var(--public-line);
}
.public-pricing aside[aria-label="Kickoff season pricing"] :is(.text-fg-inverse, [class~="text-white/80"]) { color: var(--public-muted); }
.public-pricing aside[aria-label="Kickoff season pricing"] .font-mono { color: var(--public-green); }
.public-pricing aside[aria-label="Kickoff season pricing"] .text-accent-top-soft { color: #8a7138; }
.public-pricing [data-mobile-pricing-panel] { background: var(--public-soft); }
.public-pricing [data-commissioner-benefits] { border-inline: 0; border-radius: 0; }
.public-pricing [data-section="questions"] { background: var(--public-paper); }
.public-pricing details { border-radius: 0; border-inline: 0; background: transparent; }
.public-pricing details summary { min-height: 60px; }

/* Reading pages get one generous column, without a second padded card. */
.public-pages .public-document { max-width: 1000px; padding-block: 64px 80px; }
.public-document > :is(div, section) { max-width: 760px; }
.public-help .public-document > section { border-inline: 0; border-radius: 0; background: transparent; padding-inline: 0; padding-block: 28px; }
.public-help h2.public-heading { font-size: 26px; }
.public-document .text-sm { font-size: 16px; line-height: 1.75; }
.public-legal-copy h2 { color: var(--public-green); font-size: 22px; letter-spacing: -.02em; }
.public-legal-copy > div > section { padding-top: 24px; border-top: 1px solid var(--public-line); }
.public-summary { border: 0; border-left: 3px solid #b49b62; border-radius: 0; }

/* Technical reference tables deliberately retain their own horizontal scroll. */
.public-ai-pool-creation [data-public-format] { min-width: 0; }
.public-ai-pool-creation pre { font-size: 13px; }
.public-ai-pool-creation [data-ai-pool-prompt-card] { box-shadow: none; }
.public-ai-pool-creation :is(h2, h3) { scroll-margin-top: 100px; }

/* Preserve the editorial contrast of the communities' dark rivalry section. */
.public-nfl-communities #rivalry .public-heading { color: #fcf9f2; }
.public-nfl-communities [data-section="hero"] > .public-container > * { min-width: 0; }
.public-invitational [data-invitational-invitation] > div { box-shadow: none; }
.public-invitational [data-invitational-invitation] h2.public-heading { font-size: 26px; }

/* Share keeps its gallery's product styling and progressive-enhancement hooks. */
.public-share > section:first-child > div,
.public-share :is([data-carousel], [data-section="flexible-formats"] > div, [data-section="closing-invitation"] > div, [data-section="value-pillars"] > div) {
  max-width: 1240px;
  margin-inline: auto;
  padding-inline: 48px;
}
.public-share [data-share-card] { background: var(--public-soft); border-color: var(--public-line); box-shadow: none; }
.public-share [data-share-card] h2.public-heading { font-size: 26px; }
.public-share [data-section="mockups"] { background: var(--public-paper); }

@media (max-width: 880px) {
  .public-pages .public-container,
  .public-share > section:first-child > div,
  .public-share :is([data-carousel], [data-section="flexible-formats"] > div, [data-section="closing-invitation"] > div, [data-section="value-pillars"] > div) { padding-inline: 24px; }
  .public-pages .public-document { padding-block: 44px 64px; }
}
@media (max-width: 560px) {
  .public-pages .public-container,
  .public-share > section:first-child > div,
  .public-share :is([data-carousel], [data-section="flexible-formats"] > div, [data-section="closing-invitation"] > div, [data-section="value-pillars"] > div) { padding-inline: 20px; }
  .public-pages h1.public-heading { font-size: 40px; }
  .public-pages .public-summary { padding: 20px; }
}
@media (max-width: 360px) {
  .public-share [data-carousel-track] { margin-inline: -16px; }
  .public-pages .public-container,
  .public-share > section:first-child > div,
  .public-share :is([data-carousel], [data-section="flexible-formats"] > div, [data-section="closing-invitation"] > div, [data-section="value-pillars"] > div) { padding-inline: 16px; }
  .public-pages h1.public-heading { font-size: 36px; }
}
