

@font-face { font-family: "Switzer"; src: url("/assets/fonts/switzer-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Switzer"; src: url("/assets/fonts/switzer-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Switzer"; src: url("/assets/fonts/switzer-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }

:root {
  --bg: #e2dccf;
  --ink: #161513;
  --muted: #5f564f;
  --red-deep: #a00b24;

  --face: "Switzer", "Helvetica Neue", Arial, system-ui, sans-serif;

  --small: 0.875rem;
  --body: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
  --lead: clamp(1.375rem, 1rem + 1vw, 1.75rem);
  --title: clamp(2.5rem, 1.6rem + 3.2vw, 4rem);
  --head: clamp(2.75rem, 1rem + 6vw, 5.5rem);

  --margin: clamp(20px, 4vw, 44px);
  --measure: 38rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
body {
  margin: 0; min-height: 100vh; min-height: 100svh;
  display: flex; flex-direction: column;
  background: var(--bg); color: var(--ink);
  font: 400 var(--body)/1.6 var(--face);
  overflow-wrap: break-word;
}
h1, h2, p, ul { margin: 0; }
::selection { background: var(--ink); color: var(--bg); }

a { color: inherit; text-underline-offset: 0.16em; text-decoration-thickness: 0.08em; touch-action: manipulation; }
a[href^="mailto:"] { overflow-wrap: anywhere; }
a:active { text-decoration-thickness: 0.2em; }
:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; border-radius: 2px; }
@media (hover: hover) and (pointer: fine) {
  a:hover { text-decoration-thickness: 0.14em; }
}


.wrap { width: 100%; max-width: calc(var(--measure) + 2 * var(--margin)); margin-inline: auto; padding-inline: var(--margin); }



.site-head { padding-top: clamp(24px, 4vw, 40px); }
.site-name {
  display: inline-flex; align-items: center; min-height: 44px;
  font-weight: 600; letter-spacing: -0.02em; text-decoration: none;
}
@media (hover: hover) and (pointer: fine) { .site-name:hover { text-decoration: underline; } }



main { flex: 1 0 auto; }
.doc h1 {
  margin-top: clamp(40px, 7vw, 88px);
  font: 500 var(--title)/1 var(--face); letter-spacing: -0.035em;
  text-wrap: balance;
}
.effective { margin-top: 16px; color: var(--muted); }
.doc h1 + .effective + p { margin-top: 40px; }
.doc h2 {
  margin-top: clamp(48px, 6vw, 64px);
  font: 600 var(--lead)/1.2 var(--face); letter-spacing: -0.015em;
  text-wrap: pretty; scroll-margin-top: 24px;
}
.doc h2 + * { margin-top: 14px; }
.doc p + p, .doc p + ul, .doc ul + p, .doc ul + ul { margin-top: 1em; }
.doc ul { padding-left: 1.2em; }
.doc li + li { margin-top: 0.6em; }
.doc li::marker { color: var(--muted); }
.doc strong { font-weight: 600; }
.doc p, .doc li { text-wrap: pretty; }




.home { --measure: 46rem; }
.hold { display: flex; flex-direction: column; justify-content: center; padding-block: clamp(64px, 12vh, 140px); }
.hold h1 { font: 500 var(--head)/0.95 var(--face); letter-spacing: -0.035em; text-wrap: balance; }
.hold-line { margin-top: 20px; font: 500 var(--lead)/1.3 var(--face); letter-spacing: -0.01em; }
.hold-note { margin-top: clamp(40px, 6vh, 64px); }
.hold-note + p { margin-top: 4px; }
.hold-mail { color: var(--red-deep); font-weight: 500; }
.lost h1 { font: 500 var(--title)/1 var(--face); letter-spacing: -0.035em; text-wrap: balance; }
.lost p { margin-top: 24px; }



.site-foot { padding-top: clamp(64px, 9vw, 120px); padding-bottom: clamp(24px, 4vw, 40px); font-size: var(--small); }
.hold + .site-foot { padding-top: 0; }
.site-foot nav { display: flex; flex-wrap: wrap; gap: 0 28px; }
.site-foot a { display: inline-flex; align-items: center; min-height: 44px; color: var(--muted); text-decoration: none; }
.site-foot a[aria-current="page"], .site-foot a:active { color: var(--ink); }
@media (hover: hover) and (pointer: fine) { .site-foot a:hover { color: var(--ink); text-decoration: underline; } }
