/* Public application, letter, legal, authentication, and utility layouts. */
.support-editorial { --support-header-height: 86px; background: var(--ivory); color: var(--ink); display: flex; flex-direction: column; align-items: stretch; min-height: 100svh; padding: 0; }
.support-editorial > main { flex: 1; width: 100%; }
.support-editorial :where(h1, h2, h3, p, a) { overflow-wrap: anywhere; }
.support-editorial .site-header { position: sticky; min-height: var(--support-header-height); height: auto; padding: 18px var(--layout-inset); background: var(--ivory); flex-wrap: wrap; gap: 8px 24px; }
.support-editorial .site-header .brand { flex-shrink: 0; }
.support-editorial .legal-back,
.support-editorial .nav-links a { font-size: 11px; font-weight: 500; letter-spacing: .06em; min-height: 44px; display: inline-flex; align-items: center; }
.support-editorial .nav-links { display: flex; flex-wrap: wrap; gap: 24px; }
.support-editorial .nav-links a:last-child { background: transparent; color: var(--ink); padding: 10px 16px; border: 1px solid var(--ink); }
.support-editorial .button,
.support-editorial .cta-button { min-height: 48px; border: 1px solid var(--ink); font-size: 12px; font-weight: 600; letter-spacing: .06em; box-shadow: none; white-space: normal; text-align: center; }
.support-editorial .button:hover,
.support-editorial .cta-button:hover { transform: none; }
.support-editorial .button-secondary { color: var(--ink); border-color: var(--ink); background: transparent; }
.support-editorial .button-secondary:hover { background: var(--pink); }
.support-editorial .form-note.is-success { color: var(--rose); }
.support-editorial .form-note.is-error { color: #9e2424; }
.support-editorial [id] { scroll-margin-top: calc(var(--support-header-height) + 24px); }
.support-editorial .support-skip { position: fixed; top: -100px; left: var(--layout-gutter); z-index: 30; padding: 12px 18px; background: var(--ivory); border: 1px solid var(--ink); }
.support-editorial .support-skip:focus { top: 12px; }

/* Full-width opener and an unboxed, readable application form. */
.support-editorial .application-intro { max-width: none; padding: 56px var(--layout-inset); gap: 8%; grid-template-columns: minmax(0, 1.5fr) minmax(0, .8fr); align-items: center; background: var(--warm); }
.support-editorial .application-intro h1 { font: 400 clamp(44px, 5.5vw, 76px)/1.08 var(--serif); letter-spacing: -.035em; max-width: 15ch; }
.support-editorial .application-intro > div > p:last-child { font-size: 17px; line-height: 1.7; max-width: 560px; }
.support-editorial .application-intro img { aspect-ratio: 4 / 3; object-position: center 60%; }
.support-editorial .application-intro figcaption { font-size: 11px; color: var(--slate); }
.support-editorial .application-form-section { background: transparent; padding: 64px var(--layout-inset) 88px; grid-template-columns: minmax(0, .75fr) minmax(0, 1.35fr); gap: 10%; }
.support-editorial .application-form-copy { max-width: 340px; }
.support-editorial .application-form-copy h2 { font: 400 clamp(32px, 3.2vw, 42px)/1.15 var(--serif); }
.support-editorial .application-form-copy > p:last-child { font-size: 16px; line-height: 1.75; }
.support-editorial .public-care-form { border: 0; border-top: 2px solid var(--ink); padding: 28px 0 0; background: transparent; gap: 28px; }
.support-editorial .public-care-form :is(input, select, textarea) { border-color: var(--stone); }
.support-editorial .care-answer { display: grid; gap: 8px; min-width: 0; }
.support-editorial .care-answer > .care-field-hint { text-align: right; font-variant-numeric: tabular-nums; }
.support-editorial .public-care-form .care-choice-fieldset { padding-block: 24px; border-block: 1px solid var(--line); }
.support-editorial .care-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.support-editorial .public-care-form .care-choice { border-color: var(--stone); }
.support-editorial .public-care-form .care-choice:has(input:checked) { background: var(--pink); border-color: var(--rose); }
.support-editorial .public-care-form .cta-button { width: auto; justify-self: start; padding-inline: 24px; }
.support-editorial .public-care-form .form-note:not(:empty),
.application-confirmation { padding: 24px; border: 1px solid var(--rose); background: var(--warm, #f4f0ed); }
.support-editorial .public-care-form .form-note { font-size: 16px; }
.public-care-form .form-note ul { margin: 12px 0 0; padding-left: 20px; }
.public-care-form .form-note li + li { margin-top: 10px; }
.public-care-form .form-note a { color: inherit; text-decoration: underline; }
.application-confirmation h2 { margin-top: 0; font-size: clamp(32px, 3.5vw, 48px); line-height: 1.1; }
.application-confirmation p { line-height: 1.6; }

/* Keep the personal letter's type and photographs; align its outer frame. */
.support-editorial .founder-shell { max-width: none; padding: 64px var(--layout-inset) 88px; }
.support-editorial .founder-letter { max-width: 900px; margin: auto; }
.support-editorial .founder-letter-heading { border-bottom-color: var(--line); gap: 8%; }
.support-editorial .founder-letter-heading h1 { font-size: clamp(44px, 5.5vw, 68px); }
.support-editorial .founder-letter-body,
.support-editorial .founder-signature { max-width: 720px; margin-inline: auto; }
.support-editorial .founder-letter-body p:not(.founder-letter-intro) { font-size: 18px; }

/* Long-form legal content stays complete, with a comfortable reading measure. */
.support-editorial .legal-shell { padding: 0; }
.support-editorial .legal-hero { max-width: none; border: 0; background: var(--warm); padding: 56px var(--layout-inset); }
.support-editorial .legal-hero h1 { font: 400 clamp(44px, 5.5vw, 76px)/1.08 var(--serif); text-transform: none; letter-spacing: -.035em; margin: 0 0 24px; }
.support-editorial .legal-document { width: calc(100% - 2 * var(--layout-gutter)); max-width: 820px; padding: 64px 0 88px; }
.support-editorial .legal-document h2 { font-size: clamp(30px, 3.2vw, 42px); line-height: 1.2; }
.support-editorial .legal-document h3 { font-size: 18px; font-weight: 600; }
.support-editorial .legal-document :is(p, li, address) { line-height: 1.8; }
.support-editorial .legal-index { gap: 4px 24px; }
.support-editorial .legal-index a { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.support-editorial .legal-callout { border: 0; padding: 28px; }
.support-editorial .legal-callout-strong a { color: var(--pink); }
.support-editorial .legal-table-wrap { max-width: 100%; }

/* Preserve Clerk's real form and photo-led composition. */
.support-editorial .auth-shell { min-height: calc(100svh - var(--support-header-height)); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.support-editorial .auth-story { min-height: 640px; }
.support-editorial .auth-copy { padding: 56px max(4vw, calc((100vw - var(--layout-width)) / 2)); }
.support-editorial .auth-copy h1 { font-size: clamp(48px, 5.5vw, 76px); line-height: 1.08; max-width: 12ch; }
.support-editorial .auth-copy p:not(.section-kicker):not(.auth-photo-credit) { font-size: clamp(23px, 2.3vw, 30px); line-height: 1.4; }
.support-editorial .auth-photo-credit { left: max(4vw, calc((100vw - var(--layout-width)) / 2)); right: 24px; }
.support-editorial .auth-access { padding: 48px clamp(24px, 4vw, 64px); border: 0; }

/* Status pages no longer use a full-screen photo or floating dark panel. */
.support-editorial .checkout-message { max-width: none; padding: 72px var(--layout-inset) 96px; background: var(--warm); }
.support-editorial .checkout-message h1,
.support-editorial .not-found-panel h1 { font: 400 clamp(44px, 6vw, 80px)/1.08 var(--serif); letter-spacing: -.035em; text-transform: none; max-width: 820px; }
.support-editorial .checkout-message p:not(.section-kicker),
.support-editorial .not-found-panel > p:not(.section-kicker) { font-size: 18px; line-height: 1.75; color: var(--slate); max-width: 680px; }
.support-editorial .checkout-actions { gap: 16px; margin-top: 32px; }
.support-editorial .checkout-actions[hidden] { display: none; }
.support-editorial .not-found-shell { min-height: 0; padding: 72px var(--layout-inset) 96px; background: var(--warm); }
.support-editorial .not-found-panel { background: transparent; color: var(--ink); padding: 0; margin: 0; max-width: none; }

@media (max-width: 900px) {
  .support-editorial .application-form-section { grid-template-columns: 1fr; gap: 32px; }
  .support-editorial .application-form-copy { max-width: 560px; }
  .support-editorial .auth-shell { grid-template-columns: 1fr; }
  .support-editorial .auth-story { min-height: 320px; }
  .support-editorial .auth-copy { padding: 44px var(--layout-inset) 64px; }
  .support-editorial .auth-photo-credit { left: var(--layout-inset); }
  .support-editorial .auth-access { padding: 44px var(--layout-inset); }
}
@media (max-width: 600px) {
  .support-editorial { --support-header-height: 120px; }
  .support-editorial .site-header { min-height: 0; align-items: flex-start; flex-direction: column; padding-block: 12px; gap: 4px; }
  .support-editorial .application-intro { grid-template-columns: 1fr; gap: 28px; padding-block: 36px; }
  .support-editorial .application-intro img { aspect-ratio: 16 / 7; }
  .support-editorial .application-form-section { padding-block: 36px 64px; }
  .support-editorial .care-choice-grid { grid-template-columns: 1fr; }
  .support-editorial .public-care-form .cta-button { width: 100%; }
  .support-editorial .founder-shell { padding-block: 36px 64px; }
  .support-editorial .founder-letter-heading { gap: 28px; }
  .support-editorial .founder-letter-body p:not(.founder-letter-intro) { font-size: 17px; }
  .support-editorial .legal-hero { padding-block: 36px; }
  .support-editorial .legal-document { padding-block: 36px 64px; }
  .support-editorial .legal-callout { padding: 22px; }
  .support-editorial .auth-copy { padding-block: 36px 64px; }
  .support-editorial .auth-copy h1 { font-size: 48px; }
  .support-editorial .checkout-message,
  .support-editorial .not-found-shell { padding-block: 44px 64px; }
  .support-editorial .checkout-actions .button { width: 100%; }
}
