/* Public-site design system. Load after the legacy layout styles.
   Keep all public typography decisions here; the dashboard and staff inbox
   retain their independent data-focused styles. rem units respect text size. */
.apple-theme {
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --ink: #1d1d1f;
  --muted: #626269;
  --soft: #f5f5f7;
  --line: #dedee3;
  --radius: 24px;
  --type-hero: 3.5rem;
  --type-section: 2.5rem;
  --type-price: 3.5rem;
  --type-card: 1.5rem;
  --type-body: 1.0625rem;
  --type-control: 1rem;
  --type-small: .875rem;
  --type-caption: .8125rem;
  --section-space: 88px;
  font: 400 var(--type-body)/1.55 var(--font);
  color: var(--ink);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
.apple-theme button,
.apple-theme input,
.apple-theme select,
.apple-theme textarea,
.apple-theme .contact-widget { font-family: var(--font); }
.apple-theme :is(h1, h2, h3) {
  font-weight: 600;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.apple-theme .hero h1,
.apple-theme .privacy-content h1 {
  font-size: var(--type-hero);
  line-height: 1.07;
  letter-spacing: -.04em;
}
.apple-theme h2,
.apple-theme .section-heading h2,
.apple-theme .package-context h2,
.apple-theme .timeline-section h2,
.apple-theme .why-section h2,
.apple-theme .start-copy h2,
.apple-theme .related-section .section-heading h2,
.apple-theme .faq-grid h2,
.apple-theme .closing h2 {
  font-size: var(--type-section);
  line-height: 1.15;
}
.apple-theme h3,
.apple-theme .service-card h3,
.apple-theme .eligibility h3,
.apple-theme .why-grid h3,
.apple-theme .preview-card h3,
.apple-theme .form-heading h3,
.apple-theme .related-grid h3,
.apple-theme .success h3,
.apple-theme .privacy-content h2 {
  font-size: var(--type-card);
  line-height: 1.25;
  letter-spacing: -.02em;
}
.apple-theme .hero-description,
.apple-theme .section-intro,
.apple-theme .package-context .section-intro,
.apple-theme .service-card > p,
.apple-theme .inclusions li,
.apple-theme .package .inclusions li,
.apple-theme .eligibility > p,
.apple-theme .why-grid p,
.apple-theme .dashboard-intro p,
.apple-theme .preview-card p,
.apple-theme .start-copy > p:not(.eyebrow),
.apple-theme .steps p,
.apple-theme .help-card p,
.apple-theme .related-grid p,
.apple-theme .faqs details p,
.apple-theme .closing p:not(.eyebrow),
.apple-theme .success > p:not(.eyebrow) {
  font-size: var(--type-body);
  line-height: 1.55;
  letter-spacing: 0;
}
.apple-theme .steps strong,
.apple-theme .help-card strong,
.apple-theme .faqs summary,
.apple-theme .upload-section legend,
.apple-theme .service-interests legend {
  font-size: var(--type-body);
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 0;
}
.apple-theme .button,
.apple-theme .link,
.apple-theme .hero-actions .link,
.apple-theme .dashboard-intro .link,
.apple-theme .faqs .link,
.apple-theme .field input,
.apple-theme .field select,
.apple-theme .filing-timeline strong,
.apple-theme .filing-timeline p,
.apple-theme .closing-help {
  font-size: var(--type-control);
  line-height: 1.5;
  letter-spacing: 0;
}
.apple-theme .eyebrow,
.apple-theme .hero .eyebrow,
.apple-theme .closing .eyebrow,
.apple-theme .why-grid article > span {
  font-size: var(--type-caption);
  line-height: 1.5;
  letter-spacing: .065em;
  font-weight: 600;
}
.apple-theme .small,
.apple-theme .hero-copy > .small,
.apple-theme .hero-price span,
.apple-theme .hero-visual figcaption,
.apple-theme .credibility,
.apple-theme .package-label,
.apple-theme .bundle-saving,
.apple-theme .price-line span,
.apple-theme .package-breakdown,
.apple-theme .package-reassurance,
.apple-theme .fineprint,
.apple-theme .security-note,
.apple-theme .form-heading p,
.apple-theme .field label,
.apple-theme .optional,
.apple-theme .upload-hint,
.apple-theme .file-box strong,
.apple-theme .choose,
.apple-theme .file-name,
.apple-theme .remove-file,
.apple-theme .service-interests label,
.apple-theme .consent,
.apple-theme .form-footnote,
.apple-theme .form-error,
.apple-theme .upload-progress,
.apple-theme .reference span,
.apple-theme .site-footer,
.apple-theme .site-footer strong,
.apple-theme .deadline-banner,
.apple-theme .nav .main-nav a,
.apple-theme .nav .nav-cta,
.apple-theme .nav-contact {
  font-size: var(--type-small);
  line-height: 1.5;
  letter-spacing: 0;
}
.apple-theme .hero-visual figcaption span:not(.visual-dot),
.apple-theme .icon-credit,
.apple-theme .filing-timeline span,
.apple-theme .preview-number {
  font-size: var(--type-caption);
  line-height: 1.5;
  letter-spacing: 0;
}
.apple-theme .hero-price {
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: -.025em;
}
.apple-theme .price-line strong {
  font-size: var(--type-price);
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: -.04em;
}
.apple-theme .reference strong { font-size: var(--type-card); }
.apple-theme .section-pad,
.apple-theme .timeline-section,
.apple-theme .why-section,
.apple-theme .dashboard-section,
.apple-theme .start-section,
.apple-theme .faq-section,
.apple-theme .closing { padding-block: var(--section-space); }
.apple-theme .hero { padding-block: 64px 48px; gap: 48px; }
.apple-theme .hero h1 { margin-block: 20px 24px; }
.apple-theme .section-heading { gap: 40px; margin-bottom: 40px; }
.apple-theme .section-heading > div { min-width: 0; }
.apple-theme .section-intro,
.apple-theme .dashboard-intro { flex-shrink: 0; max-width: 360px; }
.apple-theme .hero-description { max-width: 48ch; }
.apple-theme .hero-actions { gap: 16px 24px; margin-block: 28px 16px; }
.apple-theme .button { min-height: 48px; padding: 12px 24px; font-weight: 500; }
.apple-theme .button span { font-size: 1.25rem; }
.apple-theme .link { min-height: 44px; }
.apple-theme .nav .main-nav { gap: 18px; }
.apple-theme .nav a { overflow-wrap: anywhere; }
.apple-theme .credibility { flex-wrap: wrap; gap: 16px 32px; padding-block: 24px 40px; }
.apple-theme .credibility span { white-space: normal; }
.apple-theme .service-card,
.apple-theme .package,
.apple-theme .related-grid article {
  background: var(--soft);
  border: 1px solid #ededf0;
  border-radius: var(--radius);
  padding: 32px;
  box-shadow: none;
}
.apple-theme .service-card > p { max-width: none; }
.apple-theme .service-card .inclusions { margin-top: 24px; }
.apple-theme .inclusions { gap: 12px; }
.apple-theme .why-section { background: var(--soft); }
.apple-theme .why-grid { gap: 32px; }
.apple-theme .why-grid h3 { margin-block: 16px 12px; }
.apple-theme .package-section { gap: 64px; align-items: start; }
.apple-theme .package-context h2 { margin-block: 16px 24px; }
.apple-theme .package-label { flex-wrap: wrap; }
.apple-theme .package-breakdown { padding-bottom: 24px; margin-top: 24px; }
.apple-theme .price-line { flex-wrap: wrap; }
.apple-theme .preview-card { border-color: var(--line); border-radius: var(--radius); }
.apple-theme .preview-card figcaption { padding: 28px; }
.apple-theme .start-section { gap: 56px; }
.apple-theme .form-card { padding: 32px; border-color: var(--line); box-shadow: none; }
.apple-theme .field input,
.apple-theme .field select { min-height: 48px; height: auto; }
.apple-theme .fields { gap: 20px 16px; }
.apple-theme .file-box { background: #fafafa; border-color: #b7b7bf; }
.apple-theme .file-box.selected { background: #f4faf7; border-color: #77ac95; }
.apple-theme .file-box label { min-height: 160px; gap: 4px; }
.apple-theme .file-box strong { overflow-wrap: anywhere; }
.apple-theme .file-name { margin-top: 6px; }
.apple-theme .consent { gap: 12px; }
.apple-theme .service-interests label { min-height: 44px; }
.apple-theme .faqs details { padding-block: 16px; }
.apple-theme .faqs summary { min-height: 44px; }
.apple-theme .closing { background: #1d1d1f; }
.apple-theme .closing :is(.eyebrow, p:not(.eyebrow)) { color: #d2d2d7; }
.apple-theme .site-footer { padding-block: 48px 112px; gap: 32px; }
.apple-theme .site-footer a { overflow-wrap: anywhere; }
.apple-theme .privacy-content { max-width: 850px; padding-block: 64px 120px; }
.apple-theme .privacy-content h1 { margin-top: 16px; }
.apple-theme .privacy-content h2 { margin-top: 40px; }
@media (max-width: 1199px) {
  .apple-theme { --type-hero: 3rem; }
  .apple-theme .nav { flex-wrap: wrap; gap: 12px; padding-block: 12px; }
  .apple-theme .nav .main-nav { order: 3; width: 100%; justify-content: center; flex-wrap: wrap; }
  .apple-theme .main-nav a:nth-child(3),
  .apple-theme .main-nav a:nth-child(5) { display: inline-flex; }
  .apple-theme .hero { gap: 32px; }
  .apple-theme .package-section,
  .apple-theme .start-section { gap: 40px; }
}
@media (min-width: 768px) and (max-width: 1000px) {
  .apple-theme .hero,
  .apple-theme .start-section { grid-template-columns: 1fr; }
  .apple-theme .hero-copy { max-width: 680px; }
  .apple-theme .hero-visual { min-height: 360px; }
  .apple-theme .hero-actions { display: flex; }
  .apple-theme .section-heading { display: block; }
  .apple-theme .section-intro,
  .apple-theme .dashboard-intro { max-width: 48ch; margin-top: 24px; }
  .apple-theme .package-section { grid-template-columns: 1fr 1fr; gap: 24px; }
  .apple-theme .why-grid,
  .apple-theme .related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .apple-theme { --type-hero: 2.25rem; --type-price: 3rem; --type-section: 2rem; --section-space: 56px; }
  .apple-theme .wrap { padding-inline: 24px; }
  .apple-theme .nav { flex-wrap: nowrap; padding-block: 0; }
  .apple-theme .nav .main-nav { width: auto; padding: 16px 24px 24px; }
  .apple-theme .nav .main-nav a { min-height: 48px; font-size: var(--type-control); }
  .apple-theme .main-nav a:nth-child(3),
  .apple-theme .main-nav a:nth-child(5) { display: flex; }
  .apple-theme .nav .nav-cta { display: none; }
  .apple-theme .hero { padding-block: 40px 32px; gap: 32px; }
  .apple-theme .hero-price span { display: block; margin: 8px 0 0; }
  .apple-theme .hero-actions { display: grid; gap: 12px; }
  .apple-theme .hero-copy > .small { text-align: left; }
  .apple-theme .hero-visual { height: 300px; }
  .apple-theme .credibility { display: grid; gap: 12px; padding-block: 0 32px; }
  .apple-theme .section-heading { margin-bottom: 32px; }
  .apple-theme .section-intro,
  .apple-theme .dashboard-intro { max-width: none; margin-top: 24px; }
  .apple-theme .service-card,
  .apple-theme .package,
  .apple-theme .related-grid article,
  .apple-theme .form-card { padding: 24px; border-radius: 20px; }
  .apple-theme .package-section,
  .apple-theme .start-section { gap: 32px; }
  .apple-theme .filing-timeline { gap: 24px; }
  .apple-theme .preview-card figcaption { padding: 24px; gap: 12px; }
  .apple-theme .file-box label { min-height: 88px; padding: 14px; gap: 4px 10px; }
  .apple-theme .choose { grid-column: 2; grid-row: 3; justify-self: start; min-height: 24px; }
  .apple-theme .file-name { grid-column: 2; grid-row: 2; margin: 0; }
  .apple-theme .file-icon { grid-row: 1 / 4; }
  .apple-theme .file-box strong { align-self: auto; }
  .apple-theme .privacy-content { padding-block: 40px 100px; }
}
@media (max-width: 374px) {
  .apple-theme { --type-hero: 2rem; }
  .apple-theme .wrap { padding-inline: 20px; }
  .apple-theme .form-card { padding: 20px; }
}
