/* GENERATED by packages/design-system/scripts/build-wp.mjs in lonestar-launchpad-com. Do not edit; regenerate. */
/* ===========================================================================
   Site shell — what every page shares that is not a component.

   Extracted Sep 2026 from homepage/site.css (the first block) and
   resource-page.css (the second). Every page used to reach these by importing
   ANOTHER PAGE'S stylesheet, which dragged that page's components along: legal
   loaded 19 component sheets to use 6. Measured in the browser: of site.css's
   41 rules, other pages matched exactly these 11; of resource-page.css's, only
   its :root block. Moved verbatim — the pixel regression is the proof.

   Imported by every page layer AFTER its components and BEFORE its own rules,
   the position these rules held when they arrived via the page import.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   Un-tokenized locals — TOKEN GAPS. Literals until the token set covers them.
   --------------------------------------------------------------------------- */
:root {
  /* Spacing: 80px desktop section padding has no step on the 4px scale
     (--lslp-space-8 is 64px, --lslp-space-9 is 96px). Most-used value here. */
  --lslp-x-space-80: 80px;

  /* RESOLVED Sep 2026 — these were near-misses, not deliberate variations:
       #FAF6EE → --lslp-cream #FBF8F1  (Δ 1/2/3)
       #D9D2C4 → --lslp-line  #E4DCCB  (Δ 11/10/7 — the largest on the site)
     The line colour is the one to eye: it carries the resource-page rules,
     partner card borders, tag chips, form controls and the contact band. */

  /* Alpha-on-navy family: --lslp-text-on-navy-muted is rgba(244,239,230,.72),
     a different hue AND alpha from anything the live page uses. */
  --lslp-x-on-navy-50: rgba(255, 255, 255, 0.5);
  --lslp-x-on-navy-75: rgba(255, 255, 255, 0.75);
  --lslp-x-on-navy-30: rgba(255, 255, 255, 0.3);
  --lslp-x-navy-50:    rgba(11, 42, 74, 0.5);

  /* Overlay scrims */
  --lslp-x-scrim-figure:  linear-gradient(rgba(255,255,255,0) 53%, #0B2A4A 93%);
  --lslp-x-scrim-panel:   linear-gradient(rgba(11,42,74,0) 0%, rgba(255,255,255,0.2) 80%, #0B2A4A 90%);
  --lslp-x-scrim-partner: linear-gradient(rgba(255,255,255,0) 32%, rgba(255,255,255,0) 59%, #0B2A4A 79%);

  /* px letter-spacing — token tracking is all in em */
  --lslp-x-track-mono:   1.5px;
  --lslp-x-track-label:  1.2px;
  --lslp-x-track-colhead: 2.5px;

  /* Container */
  --lslp-x-container: 1400px;

  /* Section padding, responsive */
  --lslp-x-section-y: var(--lslp-x-space-80);
  --lslp-x-section-x: var(--lslp-space-5);   /* 24px */
}@media (max-width: 1024px){

  :root { --lslp-x-section-y: var(--lslp-space-7); --lslp-x-section-x: var(--lslp-space-4); }}
@media (max-width: 767px){

  :root { --lslp-x-section-y: var(--lslp-space-6); --lslp-x-section-x: var(--lslp-space-5); }} /* 24px at <=767, sitewide (live's contact value; decided 2026-09-28) */
/* The responsive type steps that used to be redeclared here have moved to
   tokens/typography.css, where they are now real tokens. The values were
   identical, so removing them is pixel-neutral — but until they went, this
   page layer was silently winning over the token layer. Same failure shape as
   `display:flex` beating `[hidden]`: a second declaration of a value that
   already had an authoritative home. */


h1, h2, h3, h4, p, ul { margin: 0; }
button { font: inherit; color: inherit; }
ul { list-style: none; padding: 0; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }

/* Zero radius and zero elevation sitewide — verified across every rendered
   element on the live page. Stated explicitly so it is a decision, not a gap. */
.lslp-btn, .lslp-header__card, .lslp-partner-card__media, .lslp-participation__row,
.lslp-linkcard, .lslp-figure, .lslp-tab, .lslp-header__toggle {
  border-radius: 0;
  box-shadow: none;
}

/* --- Accessibility: visible focus on everything interactive (additive) --- */
:is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--lslp-gold);
  outline-offset: 3px;
}
/* On gold grounds, switch the ring to navy so it stays visible */
.lslp-btn--gold:focus-visible,
.lslp-header__toggle:focus-visible {
  outline-color: var(--lslp-navy);
}

/* ---------------------------------------------------------------------------
   Component contracts. container.css reads --lslp-x-measure, cta-banner.css and
   the archive/library layers read --lslp-x-band-y, at-a-glance.css reads
   --lslp-x-logo-cap. They were defined only in resource-page.css, so any page
   using those components had to import that page. Defined once, here.
   --------------------------------------------------------------------------- */
:root {
  /* Long-form reading measure. No container-width tokens exist. */
  --lslp-x-measure: 1000px;          /* → 952px of text at 1440 */
  /* CTA / Related band padding. Not on the 4px scale (space-9 is 96px). */
  --lslp-x-band-y: 104px;
  /* Partner logo width cap in the metadata bar. */
  --lslp-x-logo-cap: 50px;
}@media (max-width: 1024px){
 :root { --lslp-x-band-y: var(--lslp-space-7); }}
@media (max-width: 767px){
 :root { --lslp-x-band-y: var(--lslp-space-6); }}
