:root {
  color-scheme: light;
  --ink:#152a2b;
  --muted:#516565;
  --line:#d9e2df;
  --paper:#f7f9f7;
  --dark:#102426;
  --mint:#72dec4;
  font:16px/1.6 system-ui,-apple-system,sans-serif;
}
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; background:var(--paper); color:var(--ink); }
main { flex:1; }
a { color:inherit; text-underline-offset:.24em; }
:focus-visible { outline:2px solid #087864; outline-offset:5px; }
.wrap { width:min(100% - 3rem,68rem); margin-inline:auto; }
.top { background:var(--paper); border-bottom:1px solid var(--line); }
.top-inner,.foot { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.top-inner { min-height:4.25rem; }
.brand { display:inline-flex; gap:.55rem; align-items:center; font-weight:750; text-decoration:none; white-space:nowrap; }
.brand svg { color:#187663; }
nav { display:flex; flex-wrap:wrap; gap:.25rem 1.25rem; }
nav a { color:var(--muted); font-size:.92rem; padding:.35rem 0; text-decoration:none; }
nav a:hover,nav a[aria-current=page] { color:var(--ink); text-decoration:underline; }
.hero { background:var(--dark); color:#f6fffd; overflow:hidden; }
.hero-inner { display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:2rem; min-height:29rem; padding-block:4.25rem; }
.hero h1,.inner h1 { margin:0; letter-spacing:-.065em; font-weight:750; line-height:1.04; }
.hero h1 { font-size:clamp(3rem,7vw,6.1rem); }
.inner h1 { font-size:clamp(2.7rem,6vw,5rem); }
.eyebrow { margin:0 0 .7rem; font-size:.76rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.hero .eyebrow { color:var(--mint); }
.intro { max-width:37rem; margin:.95rem 0 1.75rem; color:var(--muted); font-size:1.12rem; }
.hero .intro { color:#bbd1ce; }
.signal { width:100%; height:auto; display:block; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.7rem; padding:.65rem .95rem; min-height:2.75rem; border:1px solid transparent; border-radius:.35rem; font:inherit; font-weight:650; text-decoration:none; cursor:pointer; transition:background-color .16s,border-color .16s; }
.primary { background:var(--mint); color:var(--dark); }
.primary:hover { background:#a4ead9; }
.hero :focus-visible { outline-color:var(--mint); }
.secondary { background:transparent; color:var(--ink); border-color:#afc2be; }
.secondary:hover { background:#e8f0ee; }
.secondary:disabled { opacity:.55; cursor:wait; }
.shortcuts { display:grid; grid-template-columns:1fr 1fr; gap:2rem; padding-block:2rem 3.5rem; }
.shortcuts a { display:grid; grid-template-columns:1fr auto; padding-block:1rem; border-bottom:1px solid var(--line); text-decoration:none; font-weight:680; }
.shortcuts a:hover { border-color:#087864; }
.shortcuts small { grid-column:1 / -1; color:var(--muted); font-weight:400; }
.inner { padding-block:clamp(2.5rem,7vw,5.75rem) 5rem; }
.inner .eyebrow { color:#166955; }
.status-row,.faq { max-width:47rem; border-top:1px solid var(--line); }
.status-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding:1.2rem 0; border-bottom:1px solid var(--line); }
.status-label { display:flex; align-items:baseline; gap:.6rem; }
.status-label p { color:var(--muted); margin:0; font-size:.91rem; }
.dot { flex:0 0 .62rem; height:.62rem; border-radius:50%; background:#7e938e; }
.dot[data-state=ok] { background:#087864; }
.dot[data-state=error] { background:#a14e30; }
.help { margin-top:1.75rem; }
.faq details { border-bottom:1px solid var(--line); padding-block:1rem; }
.faq summary { cursor:pointer; font-weight:650; }
.faq p { color:var(--muted); margin:.6rem 0 0; }
footer { border-top:1px solid var(--line); }
.foot { min-height:4rem; color:var(--muted); font-size:.88rem; }
@media (max-width:42rem) {
  .wrap { width:calc(100% - 2rem); }
  .top-inner { align-items:flex-start; flex-direction:column; gap:.35rem; padding-block:.7rem; }
  nav { gap:.15rem 1.1rem; }
  .hero-inner { grid-template-columns:1fr; gap:1.5rem; min-height:auto; padding-block:2.8rem 1.4rem; }
  .signal { max-height:12rem; }
  .shortcuts { grid-template-columns:1fr; gap:.35rem; }
}
@media (prefers-reduced-motion:reduce) { .button { transition:none; } }

