/* Public intake form — page layout (Swiss). Design tokens live in tokens.css. */

.site-header {
  background: var(--accent);
  color: var(--accent-ink);
  padding: var(--s-24) 0;
  margin-bottom: var(--s-48);
}
.site-header__inner { display: flex; align-items: baseline; gap: var(--s-16); }
.brand { font-size: var(--fs-21); font-weight: 700; letter-spacing: -0.01em; }
.site-header a.brand { color: var(--accent-ink); text-decoration: none; }
.site-header a.brand:hover { opacity: 0.9; }
.site-header__sub { color: #b9d4ec; }

.main { padding-bottom: var(--s-96); }

/* Breadcrumbs (replace the page eyebrow on sub-pages) */
.breadcrumb {
  display: flex; align-items: center; gap: var(--s-8); flex-wrap: wrap;
  font-size: var(--fs-12); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  margin-bottom: var(--s-8);
}
.breadcrumb a { color: var(--ink-3); text-decoration: none; }
.breadcrumb a:hover { color: var(--ink); }
.breadcrumb__sep { color: var(--line); }
.breadcrumb [aria-current="page"] { color: var(--ink); }

.intro-grid { margin-bottom: var(--s-48); }
.intro { color: var(--ink-2); margin-top: var(--s-16); max-width: 60ch; }

.sbu-context, .sbu-warning { margin-top: var(--s-24); }

/* Section blocks — Swiss: a hairline rule + tracked overline label */
.block {
  padding-top: var(--s-32);
  margin-top: var(--s-32);
  border-top: var(--s-2) solid var(--ink);
}
.block:first-of-type { margin-top: 0; }
.block__label { margin-bottom: var(--s-24); }

.field { margin-bottom: var(--s-8); }
.counter { float: right; color: var(--ink-3); }

/* Authorized-agent fields appear on checkbox toggle — give them breathing room. */
#agent-fields { margin-top: var(--s-24); }
.optout-notice { margin-top: var(--s-16); }

/* Submit */
#submit-btn { margin-top: var(--s-24); }
.verification-notice { margin-bottom: var(--s-24); color: var(--ink-2); }
.form-error { margin-bottom: var(--s-24); }

/* Confirmation */
.confirm { padding: var(--s-16) 0 var(--s-96); }
.confirm .title { margin: var(--s-8) 0 var(--s-16); }
.ref-box {
  border: var(--s-2) solid var(--ink);
  padding: var(--s-24);
  margin: var(--s-32) 0;
}
.ref-number { font-size: var(--fs-33); font-weight: 500; margin-top: var(--s-8); letter-spacing: 0.01em; }
.confirm-details { margin: var(--s-32) 0; }
.confirm-details > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--s-24);
  padding: var(--s-12) 0;
  border-bottom: var(--s-1) solid var(--line-2);
}
.confirm-details dt { flex: 0 0 auto; padding-top: var(--s-4); }
.confirm-details dd { text-align: right; font-weight: 500; }
.confirm-next { margin: var(--s-24) 0 var(--s-16); }
.confirm-contact { color: var(--ink-2); }

/* Status lookup form — separate it from the intro text above */
#status-form { margin-top: var(--s-32); }

/* Honeypot — kept out of view and out of the tab order */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.captcha { margin-bottom: var(--s-24); }

/* Footer */
.site-footer {
  border-top: var(--s-1) solid var(--line);
  padding: var(--s-24) 0;
  color: var(--ink-3);
}
.site-footer__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s-12) var(--s-24);
  flex-wrap: wrap;
}
.site-footer__copy { margin: 0; }
.site-footer__nav { display: flex; gap: var(--s-12) var(--s-24); flex-wrap: wrap; }
.site-footer__nav a { color: var(--ink-2); text-decoration: none; }
.site-footer__nav a:hover { color: var(--ink); }
.site-footer__nav a[aria-current="page"] { color: var(--ink); font-weight: 600; }
@media (max-width: 560px) { .site-footer__inner { justify-content: flex-start; } }

/* Legal pages (privacy notice, terms) */
.legal { max-width: 80ch; padding-bottom: var(--s-96); }
.legal h2 { font-size: var(--fs-21); margin: var(--s-48) 0 var(--s-12); }
.legal h3 { font-size: var(--fs-18); margin: var(--s-24) 0 var(--s-8); font-weight: 600; }
.legal p, .legal li { color: var(--ink); }
.legal p { margin-bottom: var(--s-12); }
.legal ul { padding-left: var(--s-24); }
.legal li { margin-bottom: var(--s-8); }
.legal .lead { color: var(--ink-2); }
.legal .effective { color: var(--ink-3); font-size: var(--fs-15); margin: 0 0 var(--s-24); }

/* Verbatim-policy tables */
.legal table { width: 100%; border-collapse: collapse; margin: var(--s-16) 0; font-size: var(--fs-15); }
.legal th, .legal td { border: var(--s-1) solid var(--line); padding: var(--s-8) var(--s-12); text-align: left; vertical-align: top; }
.legal th { background: var(--paper-2); font-weight: 600; }

/* Inline highlight for unresolved [NTD] / [IF APPLICABLE] / option placeholders */
mark.todo { background: #fff3b0; color: #5a4500; padding: 0 2px; }

/* Highlight unresolved legal content for review */
.legal-note {
  background: var(--warn-bg);
  border-left: var(--s-4) solid #b28600;
  color: #6f5400;
  padding: var(--s-12) var(--s-16);
  margin: var(--s-12) 0;
  font-size: var(--fs-15);
}
.legal-note b { color: #6f5400; }
