/* FRANK public landing (v0.3.3, K6). Identity only: no client names, no data, no version. ACiD tokens as the access
   page; WCAG 2.2 AA contrast, visible focus, 44 px targets, phone width. */
:root { --ink: #14201D; --ink2: #3E4A47; --rule: #D9DED9; --paper: #F2F4F1; --sheet: #FFFFFF; --green: #4E7A12; --lime: #B5F51A; --focus: #2B5C8F; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.5 "IBM Plex Sans", "Segoe UI", system-ui, sans-serif; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--sheet); padding: 8px 12px; }
.skip:focus { left: 8px; }
.top { padding: 20px 24px; border-bottom: 3px solid var(--green); }
.brand { font-weight: 700; letter-spacing: .02em; }
.card { max-width: 600px; margin: 56px auto; padding: 36px; background: var(--sheet); border: 1px solid var(--rule); border-radius: 10px; }
.eyebrow { margin: 0; font: 800 14px/1.2 "Archivo", "Segoe UI", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--green); }
h1 { margin: 8px 0 14px; font: 900 40px/1.05 "Archivo", "Arial Narrow", "Segoe UI", sans-serif; }
.lead { color: var(--ink2); font-size: 17px; }
.button { display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; margin-top: 8px; border-radius: 999px; background: var(--lime);
  color: var(--ink); font: 800 15px/1 "Archivo", "Segoe UI", sans-serif; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.small { color: var(--ink2); font-size: 14px; }
.foot { text-align: center; padding: 0 16px 32px; font-size: 14px; }
.foot a { color: var(--ink2); }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
@media (max-width: 600px) { .card { margin: 16px; padding: 22px; } h1 { font-size: 32px; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
