.site-header {
  --chrome-bg: #faf6ee;
  --chrome-text: #14263a;
  --chrome-accent: #866335;
  --chrome-line: rgba(20, 38, 58, .13);
  position: fixed;
  inset: 0 0 auto;
  z-index: 10000;
  color: var(--chrome-text);
  background: linear-gradient(105deg, color-mix(in srgb, var(--chrome-accent) 5%, transparent), transparent 40%), color-mix(in srgb, var(--chrome-bg) 96%, transparent);
  backdrop-filter: blur(16px) saturate(115%);
  border-bottom: 1px solid var(--chrome-line);
  font-family: 'DM Sans', Arial, sans-serif;
  transition: box-shadow .25s ease, background .25s ease;
}
.site-header::after { content: ''; position: absolute; inset: auto 0 -1px; height: 1px; background: linear-gradient(90deg, transparent, var(--chrome-accent) 25%, var(--chrome-accent) 75%, transparent); opacity: .4; pointer-events: none; }
.site-header--dark {
  --chrome-bg: #060b12;
  --chrome-text: #ede9df;
  --chrome-accent: #c6aa79;
  --chrome-line: rgba(237, 233, 223, .13);
}
.site-header.is-scrolled { box-shadow: 0 5px 20px #0000000a; }
.site-header__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 32px;
  max-width: 1440px;
  min-height: 76px;
  margin-inline: auto;
  padding-inline: clamp(20px, 3vw, 48px);
}
.site-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  text-decoration: none;
  color: var(--chrome-text);
  flex-shrink: 0;
}
.site-brand__emblem { flex-shrink: 0; color: var(--chrome-accent); }
.site-brand__lockup { display: flex; flex-direction: column; gap: 5px; }
.site-brand__name { font: 500 27px/1 'Lora', Georgia, serif; letter-spacing: -.045em; }
.site-brand__caption { font: 500 8px/1.2 'DM Sans', Arial, sans-serif; text-transform: uppercase; letter-spacing: .23em; color: var(--chrome-accent); }
.site-navigation { display: flex; align-items: center; justify-content: center; gap: clamp(16px, 1.65vw, 25px); }
.site-navigation a, .site-mobile-navigation a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--chrome-text);
  text-decoration: none;
  font: 500 14px/1.5 'Lora', Georgia, serif;
  letter-spacing: .02em;
  transition: color .18s ease;
}
.site-navigation a::after { content: ''; position: absolute; inset: auto 20% 3px; height: 1px; background: var(--chrome-accent); transform: scaleX(0); transition: transform .25s ease; }
.site-navigation a.is-active::before { content: ''; position: absolute; width: 4px; height: 4px; bottom: 1.5px; left: calc(50% - 2px); background: var(--chrome-accent); transform: rotate(45deg); }
.site-navigation a:hover::after, .site-navigation a.is-active::after { transform: scaleX(1); }
.site-navigation a.is-active { color: var(--chrome-accent); }
.site-menu-toggle { display: none; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; border: 1px solid var(--chrome-line); border-radius: 50%; background: transparent; color: var(--chrome-text); cursor: pointer; }
.site-header :is(a, button):focus-visible { outline: 2px solid var(--chrome-accent); outline-offset: 5px; }
.site-mobile-navigation { display: none; padding: 12px 24px 24px; border-top: 1px solid var(--chrome-line); max-height: calc(100svh - 76px); overflow-y: auto; overscroll-behavior: contain; }
.site-mobile-navigation a { display: flex; padding: 10px 12px; font-size: 20px; border-bottom: 1px solid var(--chrome-line); }
.site-mobile-navigation a.is-active { border-left: 2px solid var(--chrome-accent); color: var(--chrome-accent); }
.site-mobile-navigation .site-mobile-navigation__switch { margin-top: 12px; border-top: 1px solid var(--chrome-line); padding-top: 16px; color: var(--chrome-accent); }
.site-footer { background: #0b1623; color: #ede9df; padding: 64px clamp(24px, 5vw, 80px) 28px; border-top: 1px solid #ede9df18; font-family: 'DM Sans', Arial, sans-serif; }
.site-footer__inner { max-width: 1280px; margin-inline: auto; display: grid; grid-template-columns: 1.7fr 1fr 1fr; gap: 60px; }
.site-footer__brand > a { font: 400 36px/1 'Unna', Georgia, serif; text-decoration: none; color: #ede9df; }
.site-footer__brand p { color: #b8c0c8; max-width: 340px; margin: 20px 0 0; font-size: 15px; line-height: 1.8; }
.site-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.site-footer nav h2 { color: #c39172; font: 500 12px/1.5 'DM Sans', Arial, sans-serif; letter-spacing: .13em; text-transform: uppercase; margin: 0 0 12px; }
.site-footer nav a { color: #d0d5db; font-size: 14px; line-height: 1.6; min-height: 36px; display: inline-flex; align-items: center; text-decoration: none; }
.site-footer a:hover { color: #e1af91; }
.site-footer a:focus-visible { outline: 2px solid #c39172; outline-offset: 5px; }
.site-footer__bottom { max-width: 1280px; margin: 48px auto 0; border-top: 1px solid #ede9df20; padding-top: 22px; display: flex; justify-content: space-between; gap: 16px; color: #a5afb9; font-size: 12px; line-height: 1.6; }
.site-route-status { display: grid; place-content: center; justify-items: start; min-height: 75svh; padding: 120px 24px 80px; color: #14263a; background: #faf6ee; }
.site-route-status h1 { max-width: 680px; font: 400 clamp(32px, 5vw, 56px)/1.15 'Unna', Georgia, serif; margin: 0 0 20px; }
.site-route-status p { max-width: 560px; color: #536070; line-height: 1.7; }
.site-route-status__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 20px; }
.site-route-status__actions :is(a, button) { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 20px; border: 1px solid #a86e4e; border-radius: 4px; background: transparent; color: #14263a; cursor: pointer; font: 500 14px/1.5 'DM Sans', Arial, sans-serif; text-decoration: none; }
.site-route-status__actions button { background: #14263a; border-color: #14263a; color: #fff; }
@media (max-width: 1200px) {
  .site-header__inner { display: flex; justify-content: space-between; }
  .site-navigation { display: none; }
  .site-menu-toggle { display: inline-flex; }
  .site-mobile-navigation { display: grid; }
}
@media (max-width: 640px) { .site-brand__name { font-size: 25px; } .site-footer__inner { grid-template-columns: 1fr 1fr; gap: 36px 24px; } .site-footer__brand { grid-column: 1 / -1; } .site-footer nav a { min-height: 44px; } .site-footer__bottom { flex-wrap: wrap; margin-top: 32px; } }
@media print { .site-header, .site-footer { display: none !important; } }

.site-header__inner { gap: 24px; }
.site-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.site-section-switch { display: flex; align-items: center; border: 1px solid var(--chrome-line); border-radius: 30px; padding: 3px; }
.site-section-switch a { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 14px; color: var(--chrome-text); font: 500 11px/1.5 'DM Sans', Arial, sans-serif; letter-spacing: .025em; text-decoration: none; border-radius: 24px; transition: background .2s ease, color .2s ease; }
.site-section-switch a.is-selected { background: var(--chrome-text); color: var(--chrome-bg); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--chrome-accent) 40%, transparent); }
.site-section-switch a:not(.is-selected):hover { background: var(--chrome-line); }
.site-search-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-width: 44px; height: 44px; padding: 0 10px; border: 0; background: transparent; color: var(--chrome-text); cursor: pointer; }
.site-search-toggle { border-left: 1px solid var(--chrome-line); }
.site-search-toggle:hover { color: var(--chrome-accent); }
.site-search-toggle kbd { font: 11px/1.6 'DM Sans', Arial, sans-serif; border: 1px solid var(--chrome-line); padding: 0 5px; border-radius: 3px; }
.site-search { width: min(660px, calc(100vw - 40px)); max-height: min(780px, calc(100svh - 64px)); margin: 8svh auto auto; padding: 0; color: var(--chrome-text); background: var(--chrome-bg); border: 1px solid var(--chrome-line); border-radius: 10px; box-shadow: 0 28px 100px #0005; font-family: 'DM Sans', Arial, sans-serif; overflow-y: auto; overscroll-behavior: contain; }
.site-search::backdrop { background: #030b15b3; backdrop-filter: blur(8px); }
.site-search__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 28px 28px 22px; }
.site-search__heading h2 { margin: 0; font: 400 36px/1.1 'Unna', Georgia, serif; letter-spacing: -.025em; }
.site-search__heading p { margin: 10px 0 0; font-size: 13px; line-height: 1.5; opacity: .72; }
.site-search__close { flex-shrink: 0; display: grid; place-items: center; width: 44px; height: 44px; background: transparent; color: inherit; border: 1px solid var(--chrome-line); border-radius: 50%; cursor: pointer; }
.site-search__field { display: flex; align-items: center; gap: 12px; margin: 0 28px; padding: 4px 14px; min-height: 54px; border: 1px solid var(--chrome-accent); border-radius: 4px; color: var(--chrome-accent); }
.site-search__field:focus-within { outline: 2px solid var(--chrome-accent); outline-offset: 3px; }
.site-search__field input { width: 100%; min-width: 0; min-height: 44px; border: 0; outline: 0; background: transparent; color: var(--chrome-text); font: 400 16px/1.5 'DM Sans', Arial, sans-serif; }
.site-search__field input::placeholder { color: var(--chrome-text); opacity: .6; }
.site-search__count { margin: 26px 28px 10px; color: var(--chrome-accent); font-size: 11px; letter-spacing: .13em; text-transform: uppercase; }
.site-search__results { list-style: none; margin: 0; padding: 0 14px 16px; }
.site-search__results a { display: flex; align-items: center; gap: 18px; min-height: 76px; padding: 12px 14px; border-radius: 4px; color: inherit; text-decoration: none; }
.site-search__results a:hover, .site-search__results a:focus-visible { background: var(--chrome-line); }
.site-search__result-copy { display: flex; flex-direction: column; gap: 5px; flex: 1; min-width: 0; }
.site-search__result-copy strong { font: 400 23px/1.15 'Unna', Georgia, serif; }
.site-search__result-copy > span { font-size: 12px; line-height: 1.5; opacity: .72; }
.site-search__section { font-size: 11px; color: var(--chrome-accent); }
.site-search__results svg { flex-shrink: 0; color: var(--chrome-accent); }
.site-search__footnote { position: sticky; bottom: 0; display: flex; justify-content: space-between; gap: 15px; padding: 16px 28px; border-top: 1px solid var(--chrome-line); background: var(--chrome-bg); font-size: 11px; }
.site-search__footnote kbd { border: 1px solid var(--chrome-line); border-radius: 3px; font: inherit; padding: 2px 4px; }
.site-search__empty { padding: 30px 28px 45px; text-align: center; }
.site-search__empty p { font: 400 28px/1.2 'Unna', Georgia, serif; margin: 0 0 12px; }
.site-search__empty span { display: block; font-size: 14px; opacity: .7; }
.site-search__empty button { margin-top: 24px; min-height: 44px; padding: 10px 18px; border: 1px solid var(--chrome-line); border-radius: 4px; background: transparent; color: var(--chrome-text); font: inherit; cursor: pointer; }
@media (max-width: 1200px) { .site-header__actions { gap: 12px; } }
@media (max-width: 620px) {
  .site-header__inner { gap: 10px; }
  .site-header__actions { gap: 4px; }
  .site-section-switch, .site-search-toggle kbd { display: none; }
  .site-search { width: calc(100vw - 24px); margin-top: 16px; max-height: calc(100svh - 32px); }
  .site-search__heading { padding: 22px 20px; gap: 12px; }
  .site-search__heading h2 { font-size: 31px; }
  .site-search__field { margin-inline: 20px; }
  .site-search__count { margin-inline: 20px; }
  .site-search__results { padding-inline: 8px; }
  .site-search__section { display: none; }
  .site-search__footnote { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) { .site-header *, .site-header *::after { transition: none !important; } }
.site-brand .site-brand__lockup { font: inherit; letter-spacing: normal; }
.site-brand .site-brand__name { font: 500 27px/1 'Lora', Georgia, serif; letter-spacing: -.045em; }
.site-brand .site-brand__caption { font: 500 8px/1.2 'DM Sans', Arial, sans-serif; text-transform: uppercase; letter-spacing: .23em; color: var(--chrome-accent); }
@media(max-width:640px) { .site-brand .site-brand__name { font-size:25px; } }
