:root {
  color-scheme: dark;
  color: #e9f6f1;
  background: #0b1313;
  font: 1rem/1.65 -apple-system, BlinkMacSystemFont, sans-serif;
  --accent: #86ffc5;
  --muted: #b2c8c2;
  --line: #2c4d44;
}

body { margin: 0; }
a { color: var(--accent); text-underline-offset: .2em; }
a:focus-visible, summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }

header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem 1.5rem;
  flex-wrap: wrap;
  max-width: 56rem;
  margin: auto;
  padding: .65rem clamp(1rem, 5vw, 2.5rem);
  border-bottom: 1px solid var(--line);
}

nav { display: flex; gap: .95rem; }
nav a, .brand { display: inline-block; padding: .55rem 0; }
nav a { font-size: .95rem; color: var(--muted); }
nav a[aria-current] { color: var(--accent); }
.brand { font-weight: 750; text-decoration: none; }

main {
  max-width: 42rem;
  margin: auto;
  padding: clamp(2rem, 8vw, 5rem) clamp(1rem, 5vw, 2.5rem);
}

.eyebrow {
  color: var(--accent);
  font: .82rem/1.5 ui-monospace, monospace;
  letter-spacing: .13em;
}

h1 { margin: .25rem 0; font-size: clamp(2.25rem, 8vw, 3.8rem); line-height: 1.15; }
h2 { margin: 0 0 .5rem; font-size: 1.3rem; }
p { margin: 0 0 .8rem; }
.intro { margin-top: 1rem; color: var(--muted); }
section { margin-top: 2.2rem; }
.contact {
  padding: 1rem 1.25rem;
  border: 1px solid var(--line);
  border-radius: .75rem;
  background: #142522;
}

a[href^="mailto:"] { overflow-wrap: anywhere; }
details { border-bottom: 1px solid var(--line); }
summary { padding: .8rem 0; cursor: pointer; font-weight: 650; }
details p { color: var(--muted); }
