/* ==========================================================================
   Brand kit v2, shared by index + confirmation (02-Areas/acquisition/brandkit, 2026-10-15)
   White ground, black type, one #B6D7A8 highlight. IBM Plex Sans + Mono.
   Loaded after styles.css; overrides tokens and the components this page uses.
   ========================================================================== */
:root {
  --ink: #000;
  --white: #fff;
  --paper: #fff;
  --hl: #B6D7A8;
  --line: #E5E5E5;
  --line-strong: #000;
  --muted: rgba(0,0,0,.6);
  --dim: rgba(0,0,0,.6);
  --font: "IBM Plex Sans", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --r: 8px;
}
body { font-family: var(--font); color: #000; background: #fff; }
strong { font-weight: 700; }

/* Highlighter band, one per screen */
.hl { background: linear-gradient(transparent 55%, var(--hl) 55%); padding: 0 .1em; }

/* Type scale */
.apply__hero { padding: 5rem 0 2rem; }
.apply__logo { height: 32px; margin-bottom: 3rem; }
.apply__hero .h1 { font-size: 48px; font-weight: 700; line-height: 1.05; letter-spacing: -0.02em; max-width: 880px; margin-bottom: 1.25rem; }
.apply__sub { font-size: 22px; font-weight: 400; line-height: 1.5; color: var(--muted); max-width: 640px; }
.apply__faqh { font-size: 32px; font-weight: 600; line-height: 1.15; letter-spacing: -0.015em; margin-bottom: 2rem; }

/* VSL: flat black frame, white play */
.vsl__frame { background: #000; border-radius: var(--r); box-shadow: none; }
.vsl__frame::after { display: none; }
.vsl__play { background: #fff; color: #000; box-shadow: none; }
.vsl__meta { font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: .08em; }

/* Form card */
.apply__form { padding-bottom: 8rem; }
.apply__form .applycard { border: 1px solid var(--line); border-radius: var(--r); box-shadow: none; }
.apply__form .applycard__form.is-loading::before { font-size: 14px; text-transform: uppercase; letter-spacing: .08em; }

/* FAQ */
.apply__faq { padding: 8rem 0; border-top: 1px solid var(--line); }
.faq { border-top: 1px solid #000; }
.faq__i { border-bottom: 1px solid var(--line); }
.faq__q { font-size: 22px; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; }
.faq__q .faq__n { font-family: var(--mono); font-weight: 500; font-size: 14px; letter-spacing: .08em; color: #000; }
.faq__plus::before, .faq__plus::after { background: #000; width: 14px; height: 1.5px; }
.faq__plus::after { width: 1.5px; height: 14px; }
.faq__a p, .faq__rich { color: var(--muted); font-size: 18px; line-height: 1.6; }
.faq__a p strong, .faq__rich strong, .faq__rich .checks span strong { color: #000; }
.checks .ck { background: var(--hl); color: #000; }
.checks li em { color: var(--muted); }

/* Footer */
.footer { border-top: 1px solid var(--line); }
.f-logo { height: 32px; }
.footer__top p, .footer__legal, .footer__disc { color: var(--muted); }
.footer__h { font-family: var(--mono); font-weight: 500; font-size: 14px !important; text-transform: uppercase; letter-spacing: .08em; }
.footer li a { color: #000; text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
.footer li a:hover { text-decoration-color: #000; }
.footer__legal { border-top-color: var(--line); }
.footer__disc { font-size: 14px; }

@media (max-width: 640px) {
  .apply__hero { padding: 3rem 0 1.5rem; }
  .apply__hero .h1 { font-size: 34px; }
  .apply__sub { font-size: 20px; }
  .apply__faqh { font-size: 26px; }
  .faq__q { font-size: 20px; }
  .apply__faq { padding: 5rem 0; }
  .apply__form { padding-bottom: 5rem; }
}
.footer .footer__top { display: block; }

/* ---------- Shared components (confirmation + any page on styles.css) ---------- */
:focus-visible { outline: 2px solid #000; }
.h1, .h2, .h3, .h4, .display { font-family: var(--font); color: #000; }
.h1 { font-size: 48px; font-weight: 700; line-height: 1.05; letter-spacing: -0.02em; }
.h2 { font-size: 32px; font-weight: 600; line-height: 1.15; letter-spacing: -0.015em; }
.h3 { font-size: 22px; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; }
.lead { font-size: 22px; line-height: 1.5; color: var(--muted); }
.dim { font-style: normal; font-weight: 400; color: var(--muted); }
.ul, .ul--bronze { text-decoration: none; }
.c-green, .c-blue, .c-bronze, .c-pgreen { color: #000; }
.eyebrow { display: none; }

.btn { border-radius: 6px; background: #000; border-color: #000; color: #fff; box-shadow: none; font-weight: 500; }
@media (hover: hover) { .btn:hover { background: #222; border-color: #222; } }
.btn--ghost { background: #fff; color: #000; border: 1.5px solid #000; }
@media (hover: hover) { .btn--ghost:hover { background: #fff; color: #000; border-color: #000; text-decoration: underline; } }

.nav { background: #fff; }
.nav::after { background: var(--line); }
.nav__links a { color: var(--muted); }
.nav__links a:hover, .nav__links a[aria-current="true"] { color: #000; }
.nav__progress { background: #000; }
.nav__logo img { height: 32px; }

.sec { padding: 8rem 0; border-top: 1px solid var(--line); }
.sec--grey { background: #fff; }
.steplabel { font-family: var(--mono); font-weight: 500; font-size: 14px; text-transform: uppercase; letter-spacing: .08em; color: #000; }

.confirm-hero { padding: 5rem 0 4rem; }
.confirm-hero .h1 { max-width: 22ch; margin-bottom: 2rem; }
.confirm-hero__links a { color: #000; text-decoration: underline; text-underline-offset: 3px; }

.vgroup { margin-top: 4rem; }
.vgroup__h::after { background: var(--line); }
.vcard { border: 1px solid var(--line); border-radius: 8px; box-shadow: none; }
.vcard__t { font-size: 22px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; }
.vcard .vsl__frame { border-radius: 4px; }

.faq--card { border: 1px solid var(--line); border-radius: 8px; border-top: 1px solid var(--line); }

@media (max-width: 640px) {
  .h1 { font-size: 34px; }
  .h2 { font-size: 26px; }
  .h3, .vcard__t { font-size: 20px; }
  .lead { font-size: 20px; }
  .sec { padding: 5rem 0; }
  .confirm-hero { padding: 3rem 0 2.5rem; }
}

/* Confirmation: unknown-sender calendar invite note */
.invite-note { max-width: 640px; margin: 3rem auto 0; text-align: left; border-top: 1px solid var(--line); padding-top: 2rem; }
.invite-note .h3 { margin-bottom: 1rem; }
.invite-note > p { color: var(--muted); }
.invite-note > p strong { color: #000; }
.invite-mock { margin-top: 1.5rem; border: 1px solid var(--line); border-radius: 8px; padding: 1.25rem; }
.invite-mock__bar { display: grid; grid-template-columns: 28px 1fr; gap: 14px; align-items: start; }
.invite-mock__icon { width: 28px; height: 28px; border: 1.5px solid #000; border-radius: 50%; display: grid; place-items: center; font-family: var(--mono); font-weight: 500; font-size: 14px; }
.invite-mock__t { font-weight: 600; margin: 0 0 .25rem; }
.invite-mock__d { color: var(--muted); font-size: 16px; margin: 0; }
.invite-mock__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 1rem; padding-left: 42px; }
.invite-mock__btn { border: 1px solid var(--line); border-radius: 4px; padding: 8px 14px; font-size: 16px; font-weight: 500; color: var(--muted); }
.invite-mock__btn--on { border: 1.5px solid #000; color: #000; }
.invite-mock__arrow { font-family: var(--mono); font-size: 14px; text-transform: uppercase; letter-spacing: .08em; }
@media (max-width: 640px) { .invite-mock__btns { padding-left: 0; } }
