:root {
  color-scheme:dark;
  --bg:#0a131a;
  --panel:#111e27;
  --ink:#e7f3ef;
  --mint:#a7f2d3;
  --muted:#a4b9bc;
  --line:#314751;
  --gold:#ffcf86;
  --mono:ui-monospace,Menlo,Consolas,monospace;
}
* { box-sizing:border-box; }
body { margin:0; background:radial-gradient(ellipse at top,#193039 0%,transparent 58%) var(--bg); color:var(--ink); font:16px/1.65 system-ui,sans-serif; }
a { color:var(--mint); text-underline-offset:4px; }
a:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.wrap { width:min(1080px,calc(100% - 42px)); margin-inline:auto; }
.skip { position:absolute; inset:8px auto auto 8px; transform:translateY(-180%); padding:8px 12px; background:var(--panel); z-index:2; }
.skip:focus { transform:none; }
header,footer { border-bottom:1px solid var(--line); }
footer { border-top:1px solid var(--line); border-bottom:0; font-size:13px; color:var(--muted); }
.masthead { display:flex; justify-content:space-between; align-items:center; min-height:65px; gap:16px; }
.masthead a { color:var(--ink); text-decoration:none; }
.masthead a:hover { color:var(--mint); text-decoration:underline; }
.brand { font-weight:750; }
.brand span,nav { color:var(--muted); font-size:13px; }
.hero { padding-top:54px; }
.kicker { color:var(--gold); font:700 11px/1.45 var(--mono); text-transform:uppercase; letter-spacing:.15em; }
.intro { display:grid; grid-template-columns:1fr .9fr; gap:32px; align-items:end; margin:13px 0 28px; }
h1,h2,p { margin:0; }
h1 { font-size:clamp(53px,8vw,101px); line-height:.94; letter-spacing:-.055em; }
h1 em { display:block; color:var(--mint); font-style:normal; }
h2 { margin:7px 0 8px; font-size:clamp(22px,3vw,30px); line-height:1.18; letter-spacing:-.035em; }
.intro p { max-width:43ch; color:var(--muted); font-size:17px; }
.actions { display:flex; flex-wrap:wrap; gap:9px; margin:15px 0 8px; }
.button { display:inline-flex; gap:11px; align-items:center; min-height:45px; padding:9px 15px; border:1px solid var(--mint); border-radius:5px; background:var(--mint); color:#0b2924; font-size:14px; font-weight:750; text-decoration:none; }
.button:hover { background:#d4ffeb; }
.button.secondary { background:#12232b; color:var(--ink); border-color:var(--line); }
.button.secondary:hover { border-color:var(--mint); }
.intro .fine { font-size:12px; }
figure { margin:0; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#081320; }
figure img { display:block; width:100%; height:auto; }
figcaption { padding:8px 12px; color:var(--muted); font:700 10px/1.5 var(--mono); letter-spacing:.12em; text-transform:uppercase; border-top:1px solid var(--line); }
.briefing { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0; }
.briefing article,.essentials { border:1px solid var(--line); border-radius:8px; padding:18px 22px; background:var(--panel); }
.briefing p:not(.kicker),.essentials p { color:var(--muted); }
.gallery { margin:24px 0; }
.gallery h2 { margin-bottom:12px; }
.gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.gallery a { display:block; }
.gallery a:focus-visible { outline-offset:-3px; }
.essentials { margin-bottom:32px; }
.essentials dl { display:flex; flex-wrap:wrap; gap:16px 32px; margin:14px 0; }
.essentials dt { color:var(--muted); font-size:13px; }
.essentials dd { margin:3px 0 0; }
kbd,code { font:13px var(--mono); color:var(--mint); }
kbd { padding:2px 4px; border:1px solid var(--line); border-radius:3px; }
@media (max-width:720px) {
  .wrap { width:calc(100% - 28px); }
  .hero { padding-top:32px; }
  .intro,.briefing,.gallery-grid { grid-template-columns:1fr; gap:12px; }
  .intro { margin-bottom:17px; }
  .masthead { min-height:56px; gap:8px; }
  .briefing article,.essentials { padding:14px; }
}
