@font-face {
  font-family: 'Instrument Serif';
  src: url('assets/instrument-serif.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Instrument Serif';
  src: url('assets/instrument-serif-italic.woff2') format('woff2');
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'DM Sans';
  src: url('assets/dm-sans.woff2') format('woff2');
  font-weight: 400 700;
  font-display: swap;
}
html { scroll-behavior: smooth; scroll-padding-top: 34px; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: default; }
:focus-visible { outline: 2px solid #bd6e3b; outline-offset: 5px; }
[hidden] { display: none !important; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0;
  margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap;
}
.skip-link { position: fixed; left: 20px; top: -100px; z-index: 200; padding: 14px; background: #fff; color: #161d23; }
.skip-link:focus { top: 10px; }
.proposal-nav {
  position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; gap: 3px; padding: 6px;
  background: #fffdf7f5; border: 1px solid #cec7b9; border-radius: 30px;
  color: #232823; z-index: 90; box-shadow: 0 5px 24px #1112;
  font: 11px 'DM Sans', sans-serif; white-space: nowrap;
}
.proposal-nav a { text-decoration: none; padding: 12px 16px; border-radius: 25px; color: inherit; }
.proposal-nav a[aria-current='page'] { background: #1c342b; color: #fff; }
.proposal-nav a:hover { background: #e6e4db; color: #182c23; }
.rdv-dialog {
  width: min(980px, calc(100% - 32px)); max-height: calc(100dvh - 44px);
  box-sizing: border-box; padding: 26px; border: 1px solid #636854;
  color: #efece0; background: #141c1c; overflow: auto;
  font: 15px/1.5 'DM Sans', sans-serif;
}
.rdv-dialog::backdrop { background: #0b1317d9; backdrop-filter: blur(8px); }
.dialog-head { display: flex; justify-content: space-between; gap: 24px; align-items: start; margin-bottom: 20px; }
.dialog-kicker { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: #bca57c; margin: 0 0 6px; }
.rdv-dialog h2 { font: 36px/1.1 'Instrument Serif', Georgia, serif; margin: 0; }
.dialog-close { border: 1px solid #777c70; background: transparent; color: inherit; min-width: 44px; min-height: 44px; font-size: 24px; }
.video-frame { aspect-ratio: 16/9; background: #000; }
.video-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.video-footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 18px; }
.video-footer p { margin: 0; color: #c0c6b9; }
.video-footer a { color: #efece0; text-underline-offset: 5px; }
.search-dialog { background: #f6f3eb; color: #20291f; }
.search-dialog input { width: 100%; padding: 15px 0; border: 0; border-bottom: 1px solid #a8ae9e; background: transparent; font-size: 22px; border-radius: 0; box-sizing: border-box; }
.search-results { display: grid; margin-top: 16px; }
.search-results button { display: flex; align-items: center; justify-content: space-between; gap: 20px; border: 0; border-bottom: 1px solid #c7cbbb; background: transparent; text-align: left; color: inherit; padding: 16px 0; min-height: 52px; }
.search-results button:hover { color: #89522e; }
.search-results small { display: block; color: #646d5e; margin-top: 3px; }
.search-results .duration { flex-shrink: 0; }
@media(max-width: 600px) {
  .proposal-nav { bottom: 10px; padding: 4px; gap: 0; }
  .proposal-nav a { padding: 12px 13px; font-size: 10px; }
  .rdv-dialog { padding: 16px; }
  .rdv-dialog h2 { font-size: 29px; }
  .video-footer { align-items: start; flex-direction: column; }
}
@media(prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
