/* On-page capture (11 Sep 2026). Inherits the contact form styles from
 * imperial.css; this file only places the form inside the closing band and
 * the landing pages. The approved mosaic system is otherwise unchanged. */

#start { scroll-margin-top: 32px; }

.capture-form { max-width: 480px; margin-top: 30px; gap: 18px; }
.capture-form textarea { min-height: 96px; }
.capture-form .form-privacy { font-size: 12px; line-height: 1.6; color: var(--muted); max-width: 420px; }
.capture-form .form-privacy a { text-decoration: underline; text-underline-offset: 4px; }
.capture-form .message-preview { font-size: 15px; line-height: 1.7; max-width: 420px; }
.capture-form .message-preview[hidden] { display: none; }
.capture-form[hidden] { display: none; }
.capture-form[hidden] + .message-preview { margin-top: 30px; }

.capture-alt { margin-top: 22px; font-size: 13px; color: var(--muted); }
.capture-alt a { text-decoration: underline; text-underline-offset: 4px; }
.capture-continue { margin-top: 18px; font-size: 13px; line-height: 1.7; color: var(--muted); max-width: 420px; }
.capture-continue a { text-decoration: underline; text-underline-offset: 4px; }
.capture-section .capture-continue { grid-column: 2; margin-top: 0; }
.route-note,
.resource-access-note { margin-top: 20px; max-width: 520px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.capture-intro a,
.resource-details a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }

/* Optional /for prose and FAQs keep the existing chapter system readable. */
.page-landing .landing-content-section .prose,
.page-landing .landing-faq .prose { max-width: 560px; }
.landing-faq .landing-faq-list details { border-bottom: 1px solid #dbcec5; padding: 0 0 20px; margin-bottom: 20px; }
.landing-faq .landing-faq-list summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 15px; font-size: 15px; font-weight: 600; }
.landing-faq .landing-faq-list summary::-webkit-details-marker { display: none; }
.landing-faq .landing-faq-list summary span { flex: 0 0 auto; font-size: 20px; line-height: 1; }
.landing-faq .landing-faq-list details[open] summary span { transform: rotate(45deg); }
.landing-faq .landing-faq-list details p { font-size: 14px; line-height: 1.75; margin-top: 16px; }

/* The closing band on home and Sprint: the form replaces the single button. */
.closing .capture-form { margin-top: 0; }
.closing > div:last-child > p:not(.eyebrow):not(.capture-alt) { max-width: 440px; margin-bottom: 26px; font-size: 16px; line-height: 1.7; }

/* Landing pages (/for/<slug>). */
.page-landing .page-hero-copy .page-lede + .page-lede { margin-top: 16px; }
.capture-section { display: grid; grid-template-columns: 1fr 1.05fr; gap: 12%; row-gap: 18px; padding-top: 90px; padding-bottom: 110px; }
.capture-intro h2 { font-size: 44px; line-height: 1.08; margin: 22px 0; }
.capture-intro > p:not(.eyebrow) { font-size: 14px; line-height: 1.8; max-width: 380px; }

/* Direct subscriber resources, using the existing type, colour and spacing. */
.resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding-top: 1px; padding-bottom: 110px; background: var(--line, #d2d2ce); }
.resource-card { min-height: 320px; padding: 54px; background: var(--paper, #f2f2f0); }
.resource-card h2 { margin: 20px 0 18px; font-size: 34px; line-height: 1.08; }
.resource-card > p:not(.eyebrow) { max-width: 520px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.resource-card > a { display: inline-block; margin-top: 28px; color: var(--ink); font-size: 14px; font-weight: 650; text-decoration: underline; text-underline-offset: 5px; }
.resource-details { padding-top: 90px; padding-bottom: 110px; }
.resource-details .hero-secondary { display: inline-block; margin-top: 24px; }

@media (max-width: 1000px) {
  .capture-section { gap: 7%; }
  .capture-intro h2 { font-size: 38px; }
}

@media (max-width: 700px) {
  .closing { min-height: 0; padding-bottom: 240px; }
  .capture-section { display: flex; flex-direction: column; gap: 40px; padding-top: 55px; padding-bottom: 65px; }
  .capture-intro h2 { font-size: 34px; }
  .page-landing .landing-content-section .prose,
  .page-landing .landing-faq .prose { max-width: 34rem; }
  .landing-faq .landing-faq-list summary { font-size: 14px; }
  .landing-faq .landing-faq-list details p { font-size: 14px; line-height: 1.8; }
  .resource-grid { display: block; padding-top: 0; }
  .resource-card { min-height: 0; padding: 44px 24px; border-top: 1px solid var(--line, #d2d2ce); }
  .resource-card h2 { font-size: 30px; }
}

/* Extended offer pages retain the site system with a tighter reading rhythm. */
.page-landing-expanded .landing-content-section { padding-top: 58px; padding-bottom: 58px; }
.page-landing-expanded .landing-content-section h2 { font-size: clamp(34px,3.1vw,46px); }
.page-landing-expanded .landing-faq { padding-top: 58px; padding-bottom: 58px; }
@media(max-width:700px) {
 .page-landing-expanded .landing-content-section { padding-top: 34px; padding-bottom: 34px; }
 .page-landing-expanded .landing-content-section h2 { font-size: 32px; }
 .page-landing-expanded .landing-faq { padding-top: 38px; padding-bottom: 38px; }
 .page-landing-expanded .art-seal { display: none; }
}

.landing-process { padding-top: 64px; padding-bottom: 64px; }
.landing-process ol { list-style: decimal; display:grid; grid-template-columns:1fr 1fr; gap:38px 8%; margin:30px 0 0; padding-left:22px; }
.landing-process li { padding-left:8px; }
.landing-process li::marker { color:var(--ink); font-size:18px; }
.landing-process h3 { font-family:inherit; font-size:21px; line-height:1.3; margin:0 0 14px; }
.landing-process p { font-size:16px; line-height:1.8; max-width:36rem; }
@media(max-width:700px) {
 .landing-process {padding-top:38px;padding-bottom:38px;}
 .landing-process ol {grid-template-columns:1fr;gap:30px;}
 .landing-process p {font-size:15px;}
 .page-landing-expanded .capture-form .form-privacy,
 .page-landing-expanded .capture-form label span,
 .page-landing-expanded .capture-form .form-next-step,
 .page-landing-expanded .capture-alt {font-size:14px;line-height:1.65;}
}

/* Approved campaign video: retain the page's existing width and spacing. */
.campaign-video video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #111; }
