/* ==== css/program.css ==== */
/* program.css: the franchise page, /franchise-benefits (type program; round jay-1030, 2026-10-30). Loaded on that page only,
   after the frame's and the component pages' sheets, whose look it reuses (the hero, the sections, the cards, the callout, the
   form's fields and radio cards); here only what the page adds: the program's quiet title list, the owner line, the
   application's sections, the fifteen-state note under the two state questions, and the franchise notice under the form
   (FACTS L1's placement: beside the form, in body-size type, never collapsed). Base styles are the finished frame. */

/* ---------------------------------------------------------------- the program: the titles the record keeps without a sentence */
.fr-more { margin-top: clamp(24px, 3vw, 36px); }
.fr-more-label { color: var(--ink-2); font-size: 15px; line-height: 1.5; }
.fr-more-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.fr-more-list li { padding: 6px 12px; border-radius: var(--radius); box-shadow: inset 0 0 0 1px var(--line); background: var(--paper); color: var(--ink); font-size: 15px; font-weight: 600; line-height: 1.3; }
.fr-row { scroll-margin-top: 96px; }
.fr-more-list li[id] { scroll-margin-top: 96px; }

/* ---------------------------------------------------------------- who it suits: the owner line, set large */
.fr-fit .pg-callout-text p { font-family: var(--font-display); font-weight: 700; font-stretch: 100%; font-size: clamp(1.25rem, 1.05rem + 0.6vw, 1.5rem); line-height: 1.35; color: var(--navy); max-width: 46ch; }

/* ---------------------------------------------------------------- the application: one form, a fieldset a section */
.fr-form { max-width: 62rem; }
/* what is required, said once at the top, and (optional) after each question a visitor may skip (the fix list's item 10) */
.fr-form > .fr-required { margin: 0 0 clamp(20px, 2.4vw, 28px); }
.form-label-opt { font-weight: 400; color: var(--ink-2); }
.fr-group > .fr-legend { float: left; width: 100%; margin: 0 0 16px; padding: 0 0 10px; border-bottom: 1px solid var(--line); font-family: var(--font-display); font-weight: 700; font-stretch: 100%; font-size: clamp(1.125rem, 1rem + 0.4vw, 1.3125rem); line-height: 1.25; color: var(--navy); }
.fr-group > .fr-legend + * { clear: both; }
.fr-group + .fr-group { margin-top: clamp(28px, 3vw, 40px); }
.fr-form .form-grid > .fr-states-note { grid-column: 1 / -1; margin: -4px 0 0; }
.fr-form .form-intl { margin-top: 20px; }
.fr-form .form-actions { margin-top: 28px; }

/* ---------------------------------------------------------------- the franchise notice, directly under the form */
.fr-notice { max-width: 62rem; margin-top: 24px; }
.fr-notice .legend { padding: 14px 16px; border-radius: var(--radius); background: var(--mist); box-shadow: inset 3px 0 0 var(--navy); font-size: var(--body-m); line-height: 1.6; color: var(--ink); }
@media (min-width: 760px) { .fr-notice .legend { font-size: var(--body); } }

/* ---------------------------------------------------------------- the call bar and the Ask us disc step aside over the form on phones */
@media (max-width: 759px) {
  html.fr-apply-in-view .callbar { transform: translateY(110%); visibility: hidden; }
  html.fr-apply-in-view .chat-launch { visibility: hidden; }
}

/* ---------------------------------------------------------------- print: the finished page */
@media print {
  .fr-group > .fr-legend { float: none; }
}
