
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/inter-400.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/inter-500.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/inter-600.woff2) format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap; src: url(/assets/inter-700.woff2) format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/playfair-500.woff2) format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: italic; font-weight: 500; font-display: swap; src: url(/assets/playfair-500-italic.woff2) format("woff2"); }
@font-face { font-family: "DM Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/dm-mono-400.woff2) format("woff2"); }
@font-face { font-family: "DM Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/dm-mono-500.woff2) format("woff2"); }
:root { --navy:#171c60; --navy-deep:#0b103d; --coral:#f05e65; --coral-dark:#d94750; --pink:#ff9ca2; --ink:#1d2235; --slate:#5f6675; --line:#dfe2e8; --cream:#f7f4ed; --sage-pale:#f1f5f0; --red:#b42318; --green:#067647; --amber:#b54708; --shadow-soft:0 12px 36px rgba(15,20,63,.09); --wrap:1180px; --sans:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --serif:"Playfair Display", Georgia, serif; --mono:"DM Mono", ui-monospace, Menlo, monospace; }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; font:16px/1.6 var(--sans); color:var(--ink); background:var(--cream); }

.site-header { color:#fff; background:var(--navy-deep); }
.header-inner { display:flex; width:min(calc(100% - 48px), var(--wrap)); height:88px; margin-inline:auto; align-items:center; justify-content:space-between; gap:24px; }
.logo-panel { display:inline-flex; flex:0 0 auto; align-items:center; padding:7px 11px; border-radius:12px; background:rgba(255,255,255,.97); box-shadow:0 8px 28px rgba(0,0,0,.13); }
.logo-panel img { display:block; width:214px; max-width:100%; height:auto; }
.site-nav { display:flex; min-width:0; align-items:center; justify-content:flex-end; gap:19px; }
.site-nav form { margin:0; }
.nav-link { padding:4px 0; color:rgba(255,255,255,.76); font-size:13px; font-weight:600; line-height:1.25; text-decoration:none; white-space:nowrap; }
.nav-link:hover, .nav-link.current { color:#fff; }
.nav-link.current { box-shadow:inset 0 -2px var(--pink); }
.nav-who { color:rgba(255,255,255,.6); font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nav-pill { display:inline-block; padding:10px 16px; border:1px solid rgba(255,255,255,.38); border-radius:999px; color:#fff; background:transparent; font:600 13px/1.25 var(--sans); text-decoration:none; white-space:nowrap; cursor:pointer; }
.nav-pill:hover { border-color:#fff; background:rgba(255,255,255,.08); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.menu { display:none; }
.menu > summary { list-style:none; }
.menu > summary::-webkit-details-marker { display:none; }
.menu-toggle { display:grid; width:44px; height:44px; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; cursor:pointer; }
.menu-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.menu .icon-close, .menu[open] .icon-open { display:none; }
.menu[open] .icon-close { display:block; }
.menu-panel { position:fixed; top:76px; right:0; bottom:0; left:0; z-index:50; display:flex; flex-direction:column; padding:8px 16px 40px; overflow-y:auto; border-top:1px solid rgba(255,255,255,.12); background:var(--navy-deep); box-shadow:0 20px 50px rgba(0,0,0,.3); }
.menu-link { display:flex; min-height:58px; align-items:center; padding:13px 4px; border-bottom:1px solid rgba(255,255,255,.11); color:rgba(255,255,255,.82); font-size:15px; font-weight:600; text-decoration:none; }
.menu-link:hover, .menu-link.current { color:#fff; }
.menu-who { margin:24px 4px 0; color:rgba(255,255,255,.6); font-size:13px; }
.menu-who strong { color:#fff; font-weight:600; }
.menu-panel form { margin:14px 0 0; }
.menu-pill { width:100%; padding:14px 17px; border:1px solid rgba(255,255,255,.38); border-radius:999px; color:#fff; background:transparent; font:600 14px/1.2 var(--sans); }
.menu-pill:hover { border-color:#fff; background:rgba(255,255,255,.08); }
body:has(.menu[open]) { overflow:hidden; }

.subnav { border-bottom:1px solid var(--line); background:#fff; }
.subnav-inner { display:flex; width:min(calc(100% - 48px), var(--wrap)); min-height:52px; margin-inline:auto; align-items:center; gap:12px; }
.subnav strong { color:var(--navy); font:500 11px/1 var(--mono); letter-spacing:.14em; text-transform:uppercase; }
.subnav .chip { padding:5px 11px; border-radius:999px; background:var(--sage-pale); color:var(--slate); font-size:12px; font-weight:600; }
.subnav-note { color:var(--slate); font-size:12px; }

main { flex:1; width:min(calc(100% - 48px), 980px); margin:36px auto 64px; }
.card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:28px 32px; margin-bottom:22px; box-shadow:var(--shadow-soft); }
.card.narrow { max-width:460px; margin:20px auto; }
h1 { margin:0 0 14px; color:var(--navy); font:500 32px/1.15 var(--serif); letter-spacing:-.01em; }
h2 { margin:0 0 14px; color:var(--navy); font-size:18px; font-weight:700; }
p { margin:0 0 14px; }
.lead { color:var(--slate); margin:0 0 20px; }
.muted { color:var(--slate); }
a { color:var(--navy); font-weight:600; }
a:hover { color:var(--coral-dark); }

.stack { display:grid; gap:16px; max-width:520px; }
label { display:grid; gap:6px; color:var(--navy); font-weight:600; font-size:14px; }
label small { font-weight:400; color:var(--slate); }
input { font:inherit; padding:10px 12px; border:1px solid #cfd4dc; border-radius:10px; background:#fff; color:var(--ink); }
input:focus { outline:2px solid var(--coral); outline-offset:1px; border-color:var(--coral); }
input[type=file] { padding:8px; }
label input:not([type=checkbox]) { width:100%; min-width:0; }
button, .button { display:inline-block; padding:12px 22px; border:1px solid var(--coral); border-radius:999px; color:#fff; background:var(--coral); font:700 14px/1.2 var(--sans); text-align:center; text-decoration:none; cursor:pointer; }
button:hover, .button:hover { color:#fff; border-color:var(--coral-dark); background:var(--coral-dark); }
.button.secondary, button.secondary { color:var(--navy); border-color:var(--navy); background:transparent; }
.button.secondary:hover, button.secondary:hover { color:#fff; border-color:var(--navy); background:var(--navy); }
.actions { display:flex; gap:12px; flex-wrap:wrap; margin:18px 0; }
.actions form { margin:0; }
.actions p { margin:0; align-self:center; }
.release { display:grid; gap:12px; max-width:520px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#fafaf7; }
label.check { display:flex; gap:10px; align-items:flex-start; font-weight:400; color:var(--ink); }
label.check input { margin-top:5px; }

.notice { padding:12px 16px; border-radius:12px; margin:0 0 16px; font-size:15px; }
.notice.error { background:#fef3f2; color:var(--red); border:1px solid #fecdca; }
.notice.info { background:var(--sage-pale); color:#294c3b; border:1px solid #dfe9e1; }
.notice.warning { background:#fffaeb; color:var(--amber); border:1px solid #fedf89; }

.tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.tab { padding:7px 13px; border:1px solid var(--line); border-radius:999px; color:var(--slate); font-size:13px; font-weight:600; text-decoration:none; }
.tab:hover { color:var(--navy); background:var(--sage-pale); }
.tab span { color:var(--slate); margin-left:4px; font-weight:500; }
.tab.current { color:#fff; border-color:var(--navy); background:var(--navy); }
.tab.current span { color:#fff; opacity:.8; }

.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:14px; white-space:nowrap; }
th, td { text-align:left; padding:11px 8px; border-bottom:1px solid var(--line); }
th { color:var(--slate); font:500 11px/1.2 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.pill { display:inline-block; padding:3px 11px; border-radius:999px; font:600 12px/1.5 var(--sans); }
.pill.ready { background:#ecfdf3; color:var(--green); }
.pill.problem { background:#fffaeb; color:var(--amber); }
.pill.waiting { background:#eef0fb; color:var(--navy); }
.pill.positive { background:#fef3f2; color:var(--red); }
.pill.placeholder { background:#f2f4f7; color:var(--slate); }
h1 .pill, h2 .pill { vertical-align:middle; margin-left:6px; }
.details { display:grid; grid-template-columns:max-content 1fr; gap:7px 20px; font-size:14px; margin:0; }
.details dt { color:var(--slate); }
.details dd { margin:0; }
.mono { font-family:var(--mono); font-size:12px; word-break:break-all; }
.back { margin:0 0 14px; font-size:14px; }
.starburst { margin:0; text-align:center; }
.starburst img { max-width:100%; height:auto; }
.starburst figcaption { color:var(--slate); font-size:13px; margin-top:8px; }
.history { list-style:none; padding:0; margin:0; display:grid; gap:6px; font-size:14px; }
.steps { padding-left:20px; margin:0 0 20px; display:grid; gap:10px; }
.steps small { display:block; color:var(--slate); }
.qr { margin:10px 0 6px; }
.qr svg { width:200px; height:200px; display:block; }
.key { font-size:13px; color:var(--ink); word-break:normal; }
.codes { list-style:none; padding:0; margin:0 0 8px; display:grid; grid-template-columns:repeat(2, max-content); gap:8px 28px; font-size:15px; }

.site-footer { padding:64px 0 28px; color:rgba(255,255,255,.7); background:var(--navy-deep); }
.footer-inner { width:min(calc(100% - 48px), var(--wrap)); margin-inline:auto; }
.footer-grid { display:grid; grid-template-columns:1.25fr .7fr .95fr; gap:70px; padding-bottom:48px; }
.footer-brand img { display:block; width:220px; height:auto; margin-bottom:20px; padding:8px 10px; border-radius:10px; background:#fff; }
.footer-brand p { max-width:390px; margin:0; font-size:13px; line-height:1.6; }
.footer-column { display:flex; gap:10px; flex-direction:column; font-size:13px; }
.footer-column strong { margin-bottom:6px; color:#fff; }
.site-footer a { color:rgba(255,255,255,.7); font-weight:400; text-decoration:none; }
.site-footer a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:32px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); font-size:11px; line-height:1.55; }
.footer-disclosure { max-width:560px; text-align:right; }
.footer-legal { display:flex; flex-wrap:wrap; gap:14px; white-space:nowrap; }

@media (max-width: 720px) {
  .header-inner, .subnav-inner, .footer-inner { width:min(calc(100% - 32px), var(--wrap)); }
  .header-inner { height:76px; gap:12px; }
  .logo-panel img { width:178px; }
  .site-nav { display:none; }
  .menu { display:block; }
  main { width:min(calc(100% - 32px), 980px); margin:20px auto 40px; }
  .card { padding:22px 20px; border-radius:16px; }
  h1 { font-size:27px; }
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .footer-bottom { flex-direction:column; gap:14px; }
  .footer-disclosure { text-align:left; }
}
@media (max-width: 480px) {
  .logo-panel { padding:6px 9px; }
  .logo-panel img { width:156px; }
}
