/* V6.10: useful headings first, readable supporting copy, consistent app icons. */
.kicker { font-size: .94rem; letter-spacing: .07em; line-height: 1.5; }
.section { padding: 64px 0; }
.section h2 { font-size: clamp(1.9rem, 3.5vw, 2.8rem); line-height: 1.18; text-wrap: balance; }
.section h1 { font-size: clamp(2.2rem, 5vw, 3.8rem) !important; line-height: 1.15; }
.section-subtitle { font-size: 1.12rem; line-height: 1.55; margin: 8px 0 20px; }
.planning-hero h1 { font-size: clamp(2.7rem, 5vw, 4.1rem); }
.planning-hero .lede, .planning-hero .section-subtitle { color: #edf1f7; }
.planning-hero .section-subtitle { font-size: 1.25rem; }
.planning-page .featured-date .kicker { color: #f4cbd4; }
.planning-page .date-card { border-top: 5px solid var(--rose); }
.planning-page .featured-date { border-top-color: var(--gold); }
.event-date { color: var(--rose-dark); font-size: 1.2rem; font-weight: 750; margin: 6px 0; }
.extension-next { margin-top: 32px; text-align: center; }
.extension-next .extension-button { display: flex; width: 100%; justify-content: center; background: var(--navy); color: white; font-size: clamp(1.15rem, 2.3vw, 1.6rem); line-height: 1.35; padding: 24px; border-radius: 16px; }
.extension-next .extension-button:hover { background: var(--navy-2); }
.extension-next p { font-size: 1rem; margin: 12px 0 0; }
.arrival-feature { background: var(--navy); color: white; padding: clamp(24px, 4vw, 42px); border-radius: 24px; margin-bottom: 28px; }
.arrival-feature .kicker { color: #f4cbd4; }
.arrival-feature h3 { font-family: Georgia, serif; font-size: clamp(1.65rem, 3vw, 2.3rem); line-height: 1.2; margin: 16px 0; }
.arrival-feature .btn { background: white; color: var(--navy); }
.app-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.app-heading h3 { margin: 0 !important; }
.app-heading h3 a { text-decoration: none; }
.app-icon { width: 56px; height: 56px; flex: 0 0 56px; object-fit: contain; border-radius: 12px; }
.app-grid .card { display: flex; flex-direction: column; }
.app-grid .card p { margin-top: 0; }
.app-download { margin-top: auto; padding-top: 12px; color: var(--rose-dark); font-weight: 750; text-underline-offset: 4px; }
.document-backups { margin-top: 24px; }
.confirmation-content h1 { font-size: clamp(2.3rem, 4.6vw, 4.2rem); line-height: 1.1; }
.confirmation-content .next-steps h2 { font-size: 1.4rem; }
.small, .photo-caption, .form-note { font-size: .9rem; }
@media (max-width: 620px) {
  .section { padding: 44px 0; }
  .section h2 { font-size: 2rem; }
  .card h3 { font-size: 1.35rem; line-height: 1.3; }
  .confirmation-content h1 { font-size: 2.65rem; }
  .header-row { gap: 12px; }
  .timeline-item { grid-template-columns: 48px minmax(0,1fr); gap: 10px; }
  .day-badge { width: 44px; height: 44px; font-size: .85rem; }
  .extension-next .extension-button { padding: 20px 16px; }
}
