/* Brand tokens: swap these to match the A1 logo exactly */
:root{
  --brand:#0559E6;      /* logo deep blue */
  --brand-2:#0A74E8;    /* mid blue */
  --accent:#0A9DF1;     /* logo sky blue */
  --ink:#141A24;
  --muted:#4F5B6D;
  --line:#DCE4EF;
  --wash:#F3F7FD;
  --paper:#FFFFFF;
  --max:1120px;
  --font:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);font-size:1.0625rem;line-height:1.6}
img{max-width:100%;height:auto}
a{color:var(--brand-2)}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--brand);color:#fff;padding:.6rem 1rem;z-index:10}
.skip:focus{left:1rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.5rem}

/* Header */
.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:96px}
.logo{display:block;line-height:0}
.logo img{height:120px;width:auto;display:block;margin:-34px 0 -26px -48px}
@media (max-width:760px){.logo img{height:96px;margin:-27px 0 -21px -38px}}
.nav{display:flex;gap:1.75rem;align-items:center;flex-wrap:wrap}
.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.98rem}
.nav a[aria-current="page"]{color:var(--brand);box-shadow:inset 0 -3px 0 var(--accent)}
.nav a.btn{color:#fff}
.btn{display:inline-block;background:var(--brand);color:#fff;text-decoration:none;font-weight:700;padding:.8rem 1.3rem;border-radius:4px;border:2px solid var(--brand)}
.btn:hover{background:var(--brand-2);border-color:var(--brand-2)}
.btn.ghost{background:transparent;color:var(--brand)}
.btn.ghost:hover{background:var(--wash)}
@media (max-width:760px){.site-header .wrap{flex-direction:column;align-items:flex-start;padding-top:1rem;padding-bottom:1rem}.nav{gap:1rem}}

/* Type */
h1,h2,h3{line-height:1.12;margin:0 0 .6em;color:var(--ink)}
h1{font-size:clamp(2.3rem,5.2vw,3.9rem);font-weight:800;letter-spacing:-.02em;max-width:18ch}
h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800;letter-spacing:-.01em}
h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em;max-width:68ch}
.lede{font-size:1.25rem;color:var(--muted);max-width:56ch}

/* Sections */
section{padding:4.5rem 0}
.wash{background:var(--wash)}
.band{background:linear-gradient(120deg,#0559E6 0%,#0A6FE8 100%);color:#fff}
.band h2,.band h3{color:#fff}
.band p{color:#DCE3EE}

/* Hero */
.hero{padding:5rem 0 3.5rem}
.hero .actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}

/* Lifecycle track: the signature element */
.lifecycle{margin-top:3.5rem;overflow-x:auto}
.lifecycle svg{min-width:860px;width:100%;height:auto;display:block}
.lifecycle figcaption{font-size:.9rem;color:var(--muted);margin-top:.75rem}

/* Services */
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:2px solid var(--brand)}
.service{padding:1.75rem 1.5rem 1.5rem 0;border-bottom:1px solid var(--line)}
.service p{color:var(--muted);font-size:1rem}
.service a{font-weight:700;text-decoration:none}

/* Credentials */
.creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin:2rem 0 0;padding:0;list-style:none}
.creds li{border-left:3px solid var(--accent);padding-left:1rem}
.creds dt,.creds .k{font-size:.9rem;color:#D2E4FB}
.creds .v{font-size:1.25rem;font-weight:700;color:#fff}
.todo{color:#CFEAFF!important;font-style:italic;font-weight:600}

/* Two-column */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:2rem}}
.list{padding-left:1.1rem}
.list li{margin-bottom:.6rem}

/* Capability detail */
.cap{display:grid;grid-template-columns:280px 1fr;gap:2.5rem;padding:2.75rem 0;border-top:1px solid var(--line)}
.cap:first-of-type{border-top:2px solid var(--brand)}
@media (max-width:760px){.cap{grid-template-columns:1fr;gap:1rem}}

/* Placeholder cards */
.ph{border:2px dashed var(--line);padding:1.5rem;border-radius:4px;color:var(--muted)}
.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}

/* Contact */
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{padding:1.25rem 0;border-bottom:1px solid var(--line)}
.contact-list .k{display:block;font-size:.9rem;color:var(--muted)}
.contact-list a{font-size:1.3rem;font-weight:700;text-decoration:none;color:var(--brand)}

/* Footer */
.site-footer{background:#0B1A33;color:#C9D3E1;padding:3rem 0;font-size:.95rem}
.site-footer .wrap{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.site-footer a{color:#fff}
.site-footer strong{color:#fff}
/* Contact form */
.form-card{background:var(--wash);padding:2rem;border-radius:6px;border-top:4px solid var(--brand)}
.form-card h2{font-size:1.4rem}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.field{margin-bottom:1.1rem}
.field.wide{grid-column:1/-1}
@media (max-width:560px){.fields{grid-template-columns:1fr}}
.field label{display:block;font-weight:600;margin-bottom:.35rem;font-size:.95rem}
.field .req{color:#B42318;margin-left:.15rem}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;padding:.7rem .8rem;border:1px solid #B9C4D3;border-radius:4px;background:#fff;color:var(--ink)}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--brand)}
.field [aria-invalid="true"]{border-color:#B42318}
.field .err{color:#B42318;font-size:.9rem;margin:.35rem 0 0}
.field .err:empty{display:none}
.form-error{color:#B42318;font-weight:600;margin:0 0 1rem}
.form-error:empty{display:none}
button.btn{font:inherit;font-weight:700;cursor:pointer}
button.btn[disabled]{opacity:.6;cursor:wait}
.form-status{color:var(--muted)}
.thanks{background:#fff;border-left:4px solid var(--accent);padding:1.25rem 1.5rem}
.thanks p:last-child{margin-bottom:0}
/* Two-market structure */
.hero h1.wide{max-width:24ch}
.toggle{display:inline-flex;border:2px solid var(--brand);border-radius:999px;padding:3px;margin:3rem 0 2rem;gap:2px}
.toggle button{font:inherit;font-weight:700;font-size:.95rem;border:0;background:transparent;color:var(--brand);padding:.55rem 1.15rem;border-radius:999px;cursor:pointer}
.toggle button[aria-pressed="true"]{background:var(--brand);color:#fff}
.stages{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0}
.stages li{padding:2.2rem 1.5rem 0 0;position:relative;border-top:4px solid var(--c)}
.stages li::before{content:"";position:absolute;top:-11px;left:0;width:14px;height:14px;border-radius:50%;background:var(--c);border:3px solid #fff;box-shadow:0 0 0 2px var(--c)}
.stages li:nth-child(1){--c:#0559E6}
.stages li:nth-child(2){--c:#0868EA}
.stages li:nth-child(3){--c:#0983EE}
.stages li:nth-child(4){--c:#0A9DF1}
.stages h3{font-size:1.4rem;margin-bottom:.35rem}
.stages .tag{display:inline-block;font-size:.8rem;font-weight:700;color:#0447B8;background:#E6F0FE;padding:.2rem .55rem;border-radius:3px;margin-bottom:.7rem}
.stages p{font-size:1rem;color:var(--muted);margin:0}
[data-view="gov"] .ind,[data-view="ind"] .gov{display:none}
@media (max-width:860px){.stages{grid-template-columns:1fr 1fr;row-gap:2.5rem}}
@media (max-width:520px){.stages{grid-template-columns:1fr}}
.doors{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
@media (max-width:760px){.doors{grid-template-columns:1fr}}
.door{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);padding:2rem;border-radius:4px}
.door:hover{border-color:var(--brand)}
.door h3{font-size:1.5rem}
.door p{color:var(--muted)}
.door .go{font-weight:700;color:var(--brand)}
.note{border-left:4px solid var(--accent);background:var(--wash);padding:1.25rem 1.5rem;max-width:72ch}
.note p:last-child{margin-bottom:0}
.site-footer .wrap.fine{display:block;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15)}
.site-footer .fine p{font-size:.85rem;color:#9FB0C8;max-width:90ch;margin:0}