@import url("tokens.css");
:root { --bg: var(--background); --ink: var(--foreground); --accent: var(--primary); --accent-soft: var(--primary-soft); }
* { box-sizing: border-box; }
html { color-scheme: light dark; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.7;
}
a { color: var(--accent); text-underline-offset: 3px; }
.wrap { width: min(760px, calc(100% - 40px)); margin: 0 auto; }
header { border-bottom: 1px solid var(--border); background: color-mix(in oklch, var(--bg) 88%, transparent); }
header .wrap { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font-weight: 700; text-decoration: none; }
.mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--accent-soft); color: var(--accent); }
.mark svg { width: 19px; height: 19px; stroke: currentColor; }
header nav, footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
header nav a, footer nav a { color: var(--muted); font-size: 14px; text-decoration: none; }
header nav a:hover, footer nav a:hover { color: var(--ink); }
main { padding: 72px 0 88px; }
.eyebrow { color: var(--accent); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
h1 { margin: 8px 0 12px; font-family: Fraunces, Georgia, serif; font-size: clamp(2.4rem, 8vw, 4.2rem); font-weight: 500; letter-spacing: -.025em; line-height: 1.05; }
.updated { margin: 0 0 44px; color: var(--muted); }
.summary { margin: 0 0 42px; padding: 20px 22px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
section { margin-top: 38px; }
h2 { margin: 0 0 10px; font-family: Fraunces, Georgia, serif; font-size: 1.65rem; font-weight: 600; letter-spacing: -.01em; line-height: 1.25; }
h3 { margin: 24px 0 6px; font-size: 1rem; }
p, ul { margin: 10px 0; }
ul { padding-left: 24px; }
li + li { margin-top: 7px; }
.contact-card { padding: 20px 22px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); }
.button { display: inline-flex; margin-top: 8px; padding: 10px 16px; border-radius: 10px; background: var(--accent); color: var(--primary-foreground); font-weight: 700; text-decoration: none; }
footer { padding: 32px 0 42px; border-top: 1px solid var(--border); color: var(--muted); font-size: 14px; }
footer .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
@media (max-width: 560px) {
  header .wrap { align-items: flex-start; flex-direction: column; padding: 18px 0; }
  main { padding-top: 52px; }
}

.skip { position: absolute; top: -6rem; left: 1rem; padding: 1rem; background: var(--surface); z-index: 10; }
.skip:focus { top: 1rem; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid var(--ring); outline-offset: 4px; }
header .wrap { flex-wrap: wrap; padding-block: 18px; }
h1, h2, h3, p, code { overflow-wrap: anywhere; }
.label { font-size: .75rem; padding: .2rem .65rem; border-radius: 2rem; background: var(--primary-soft); color: var(--primary-soft-fg); }
.public-form label { display: block; margin: 1rem 0 .4rem; font-weight: 600; }
.public-form input:not([hidden]), .public-form select, .public-form textarea { display: block; width: 100%; min-width: 0; min-height: 44px; border: 1px solid var(--border-strong); border-radius: .5rem; padding: .7rem; font: inherit; color: var(--foreground); background: var(--surface); }
.public-form textarea { resize: vertical; }
button.button { border: 0; min-height: 44px; font: inherit; cursor: pointer; }
button:disabled { opacity: .65; cursor: wait; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.actions { display: flex; flex-wrap: wrap; gap: 8px; }
