/* GENERATED by packages/design-system/scripts/build-wp.mjs in lonestar-launchpad-com. Do not edit; regenerate.
   Source: build/contact/css/contact.css */
/* ===========================================================================
   LoneStar LaunchPad — contact template, and the 404 page.

   Imports the design-system tokens, then ONLY the components this page uses.
   No page imports a stylesheet named for a page it is not.
   =========================================================================== */

/* --- page-specific: layout and regions that belong to this page only --- */
/* ===========================================================================
   Contact template — the one form page that is buildable.
   (/resource-intake/ is password-gated; see the spec.)

   COUPLING RESOLVED Sep 2026: this page imports site-shell.css, not another
   page's stylesheet. The shell carries the locals, resets and focus rings every
   page shares; the components above are exactly the ones this page renders.
   (Until then it imported the whole homepage layer, hero and tabs included.)

   Live's form marks three fields with a red asterisk while `required` is false
   on all eleven inputs. Built correctly: the starred fields are required.
   Near-miss colours (#E2DCD5 #FAF8F5 #485262 #1A202C #0F2C4A) resolve to their
   intended tokens rather than shipping as literals.
   =========================================================================== */
/* Live geometry at 1440: left column 510, a hairline divider, the form 714 wide
   64px past it; 112px under the header. Stacks at <=1024, as live. */
.lslp-contact .lslp-container { padding-block: calc(var(--lslp-space-9) + var(--lslp-space-4)) var(--lslp-space-9); }
.lslp-contact__grid {
  display: grid;
  grid-template-columns: minmax(0, 510fr) minmax(0, 778fr);
  gap: var(--lslp-space-8);
  align-items: start;
}
.lslp-contact__grid > :first-child { padding-top: var(--lslp-space-6); }
.lslp-contact__grid > :last-child { padding-left: var(--lslp-space-8); border-left: 1px solid var(--lslp-line); }
/* Stacked (<=1024), as live: deep top space, the divider turns horizontal under
   the intro, tiles go full width, the Send button drops under the note. */
@media (max-width: 1024px){
  .lslp-contact .lslp-container { padding-block: calc(2 * var(--lslp-space-9) + var(--lslp-space-6)) var(--lslp-space-8); }
  .lslp-contact__grid { grid-template-columns: 1fr; gap: var(--lslp-space-7); }
  .lslp-contact__grid > :first-child { padding-top: 0; padding-bottom: var(--lslp-space-7); border-bottom: 1px solid var(--lslp-line); }
  .lslp-contact__grid > :last-child { padding-left: 0; border-left: 0; }
  .lslp-contact .lslp-choice { grid-column: 1 / -1; }
  .lslp-contact .lslp-form__foot { flex-direction: column; align-items: flex-start; }
}


/* --- Left column ----------------------------------------------------------- */
.lslp-contact__intro { display: flex; flex-direction: column; gap: var(--lslp-space-4); }
.lslp-contact__title {
  font-family: var(--lslp-font-serif);
  font-size: 96px;                       /* live: 96 / 62 / 44 at 1.3 */
  line-height: 1.3;
  letter-spacing: var(--lslp-display-tracking);
  font-weight: var(--lslp-display-weight);
  color: var(--lslp-text);
}
.lslp-contact__title em { font-style: italic; color: var(--lslp-red); }
.lslp-contact__lead { font-size: var(--lslp-body-size); line-height: 1.5; }
@media (max-width: 1024px) { .lslp-contact__title { font-size: 62px; } }
@media (max-width: 767px)  { .lslp-contact__title { font-size: 44px; } }

/* --- Live type for the form and the list (contact-only one-offs) ---------- */
.lslp-contact .lslp-form__section-label,
.lslp-contact .lslp-form__legend {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--lslp-ink);
}
.lslp-contact .lslp-form__legend { font-size: 13px; }
.lslp-contact .lslp-numlist__num { font-size: 14px; line-height: 1; }
.lslp-contact .lslp-numlist__term { font-size: 14px; line-height: 1.3; color: var(--lslp-ink); }
.lslp-contact .lslp-numlist__desc { font-size: 14px; line-height: var(--lslp-body-line); color: var(--lslp-ink); }
.lslp-contact .lslp-choice__term { font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--lslp-ink); }
.lslp-contact .lslp-choice__desc { font-size: 13px; line-height: 1.35; }   /* slate kept: live's #64748B is 4.3:1 on the tile */
.lslp-contact .lslp-field__label { font-size: 14px; font-weight: 700; letter-spacing: 0.06em; }
.lslp-contact .lslp-form__note { font-size: 14px; }
.lslp-contact .lslp-eyebrow { font-size: 15px; }   /* live: 15 here, 17 on resource pages */
.lslp-contact .lslp-form .lslp-btn { font-size: 15px; font-weight: 700; line-height: 1.5; letter-spacing: 1.2px; }
/* Tiles run two, then three, across the form (live). */
.lslp-contact .lslp-choices { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
/* (by type: the fieldset's <legend> is the first child and is not a tile) */
@media (min-width: 1025px) {
  .lslp-contact .lslp-choice { grid-column: span 2; }
  .lslp-contact .lslp-choice:nth-of-type(-n+2) { grid-column: span 3; }
}
.lslp-contact .lslp-choice__desc { margin-top: var(--lslp-space-5); }
/* Left column rhythm, as live: eyebrow, title and lead sit on each other's line
   boxes; the numbered list runs tight. */
.lslp-contact .lslp-contact__intro { gap: 0; }
.lslp-contact .lslp-numlist { gap: 6px; margin-top: var(--lslp-space-5); }
.lslp-contact__grid > :first-child { padding-right: var(--lslp-space-6); }
@media (max-width: 1024px) { .lslp-contact__grid > :first-child { padding-right: 0; } }
.lslp-contact .lslp-numlist__desc { margin-top: 0; }
.lslp-contact textarea.lslp-field__control { min-height: 90px; }
textarea.lslp-field__control { min-height: 140px; resize: vertical; }

/* --- Closing band ---------------------------------------------------------- */
.lslp-contact-cta { background: var(--lslp-line); }   /* #D9D2C4, measured */
.lslp-contact-cta .lslp-container { padding-block: var(--lslp-space-7); }
.lslp-contact-cta__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--lslp-space-5);
}
.lslp-contact-cta__text { display: flex; flex-direction: column; gap: var(--lslp-space-5); }
.lslp-contact-cta__btn { gap: var(--lslp-space-3); padding-inline: var(--lslp-space-8); font-size: 18px; font-weight: 400; letter-spacing: 0; }
.lslp-contact-cta__eyebrow {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--lslp-ink);
}
.lslp-contact-cta__title {
  font-family: var(--lslp-font-serif);
  font-size: var(--lslp-h5-size);        /* live 24/600 */
  line-height: var(--lslp-h5-line);
  font-weight: 600;
  color: var(--lslp-navy);
}

/* Tablet: text and button share the band, as live; mobile stacks. (After the base
   band rules so the cascade lets them win.) */
@media (min-width: 768px) and (max-width: 1024px) {
  .lslp-contact-cta__inner { flex-wrap: nowrap; }
  .lslp-contact-cta__text { flex: 1 1 auto; max-width: 420px; }
  .lslp-contact-cta__btn { flex: none; }
}
@media (max-width: 767px) { .lslp-contact-cta__btn { width: 100%; } }   /* live */
/* --- 404 (own template, shares this stylesheet's foundation) ---------------- */
.lslp-404 { background: var(--lslp-navy); }
.lslp-404 .lslp-container { padding-block: var(--lslp-space-9); }
.lslp-404__inner { display: flex; flex-direction: column; align-items: center; gap: var(--lslp-space-5); text-align: center; }
.lslp-404__code {
  font-family: var(--lslp-font-serif);
  font-size: var(--lslp-display-size);
  line-height: var(--lslp-display-line);
  letter-spacing: var(--lslp-display-tracking);
  font-weight: var(--lslp-display-weight);
  color: var(--lslp-gold);
}
.lslp-404__lead {
  max-width: 560px;
  font-size: var(--lslp-body-lg-size);
  line-height: var(--lslp-body-lg-line);
  color: var(--lslp-x-on-navy-75);
}
.lslp-404__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--lslp-space-4); }
