/* Landing-specific presentation, extending the shared ReferMe tokens. */
#landing-app {
  --landing-surface: #fffefa;
  --landing-line: #dfe5ed;
  --landing-shadow: 0 2px 8px rgba(23, 40, 57, .035), 0 18px 48px rgba(23, 40, 57, .07);
  --landing-reveal: 480ms;
}
#landing-app .hero { align-items: center; }
#landing-app .hero-copy { padding-top: 0; }
#landing-app .hero-eyebrow { margin-bottom: 18px; color: var(--blue-dark); }
#landing-app .hero h1 { max-width: 12ch; font-size: clamp(2.55rem, 5.4vw, 4.9rem); line-height: 1.04; letter-spacing: -.052em; }
#landing-app .hero .lead { max-width: 46ch; font-size: clamp(1rem, 1.2vw, 1.125rem); line-height: 1.65; }
#landing-app .hero-search-panel { background: var(--landing-surface); border: 1px solid var(--landing-line); border-radius: 18px; box-shadow: var(--landing-shadow); }
#landing-app .hero-filter-summary { padding-block: 20px; }
#landing-app .hero-filter-title { font-size: 1.05rem; }
#landing-app .hero-search > .search-field { background: #fcfbf8; border-color: #e2e7ee; }
#landing-app .hero-search > .search-submit { margin-top: 6px; }
#landing-app .category-chip { background: #f7f8fb; }
#landing-app .hero-note { padding: 0 20px 18px; margin-top: 0; }
#landing-app .professional-invite { position: relative; margin-block: clamp(26px, 4vw, 52px) 0; padding: clamp(24px, 4.6vw, 60px); border-color: #dbe3f1; background: linear-gradient(120deg, #f2f5fc, #f8f9fc); box-shadow: 0 3px 10px rgba(23, 40, 57, .025); }
#landing-app .professional-invite-copy h2 { max-width: 17ch; font-size: clamp(2rem, 3.3vw, 3rem); letter-spacing: -.045em; }
#landing-app .professional-invite-copy > p:not(.eyebrow):not(.professional-invite-note) { max-width: 43ch; line-height: 1.7; }
#landing-app .professional-benefits { gap: 10px; }
#landing-app .professional-benefits li { padding: 17px 18px; background: var(--landing-surface); border-color: #e3e8f0; box-shadow: 0 2px 8px rgba(23, 40, 57, .025); }
#landing-app .professional-benefits h3 { letter-spacing: -.02em; }
#landing-app .discovery-section { margin-top: clamp(26px, 3vw, 42px); }
#landing-app .section-top h2, #landing-app .faq-grid h2 { letter-spacing: -.045em; }
#landing-app .how-grid > div { padding-top: 20px; border-top: 1px solid #dce3ec; }
#landing-app .step-number { color: var(--blue); }
#landing-app .student-package-card, #landing-app .plan-card { box-shadow: var(--landing-shadow); }
#landing-app .plan-card { border-color: var(--landing-line); }
#landing-app .faq-list details { border-color: var(--landing-line); }
#landing-app .button, #landing-app .category-chip, #landing-app .professional-card { transition: transform var(--motion-fast) var(--motion-easing), opacity var(--motion-fast) var(--motion-easing); }
#landing-app .button:not(:disabled):hover, #landing-app .button:focus-visible { transform: translateY(-2px); }
#landing-app .category-chip:hover { transform: translateY(-1px); }
#landing-app main > section.landing-revealed { animation: landing-arrive var(--landing-reveal) var(--motion-easing) both; }
@keyframes landing-arrive { from { opacity: .75; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 768px) {
  #landing-app .hero { padding-block: clamp(66px, 7vw, 96px); }
  #landing-app .professional-invite { gap: clamp(36px, 6vw, 80px); }
}
@media (max-width: 767px) {
  #landing-app .hero { gap: 26px; padding-block: 38px 36px; }
  #landing-app .hero h1 { max-width: 13ch; }
  #landing-app .hero-search-panel { padding: 0; }
  #landing-app .professional-invite { grid-template-columns: minmax(0, 1fr); }
  #landing-app .professional-invite-cta { width: 100%; }
  #landing-app .professional-benefits li { padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  #landing-app main > section.landing-revealed { animation: none; }
  #landing-app .button, #landing-app .category-chip, #landing-app .professional-card { transition: none; }
  #landing-app .button:not(:disabled):hover, #landing-app .button:focus-visible, #landing-app .category-chip:hover { transform: none; }
}
