:root {
  color-scheme: light;
  --ink: #242321; --wine: #381723; --gold: #e3c579; --cream: #f6f1e7;
  font-family: Arial, Helvetica, sans-serif; font-size: 100%; line-height: 1.65;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; background: #080807; color: var(--cream); overflow-wrap: anywhere; }
img { display: block; max-width: 100%; height: auto; }
h1, h2, p, figure { margin: 0; }
a { color: inherit; }
:focus-visible { outline: 3px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 7px var(--ink); }
[tabindex="-1"]:focus { outline-offset: -4px; }
::selection { background: #ead8ab; color: var(--ink); }
.skip-link { position: fixed; z-index: 100; inset: 1rem auto auto 1rem; max-width: calc(100% - 2rem); padding: .85rem 1.25rem; background: #fff; color: var(--ink); font-weight: 700; transform: translateY(-200%); }
.skip-link:focus { transform: none; }
.site-header { display: flex; justify-content: center; background: #fff; padding: 1rem 2rem; border-bottom: 1px solid #ded8ce; }
.brand { display: inline-flex; max-width: 100%; padding: .25rem; }
.brand img { width: 310px; }
main { display: flex; flex: 1; }
.hero { position: relative; isolation: isolate; display: flex; align-items: center; width: 100%; min-width: 0; min-height: 640px; min-height: min(76svh, 860px); background: #080807; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(8,8,7,.96) 0%, rgba(8,8,7,.88) 34%, rgba(8,8,7,.64) 58%, rgba(8,8,7,.20) 100%); }
.hero-art { position: absolute; inset: 0; }
.hero-art img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 44%; }
.hero-art figcaption { position: absolute; z-index: 2; bottom: 1rem; right: 1.2rem; max-width: calc(100% - 2.4rem); padding: .25rem .65rem; background: #191817; color: #fff; font-size: .75rem; }
.hero-copy { width: min(100% - 6rem, 1200px); min-width: 0; margin-inline: auto; padding-block: clamp(3.5rem, 7vw, 6rem); padding-bottom: 5rem; }
.eyebrow { color: var(--gold); font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 1.8rem; }
h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: clamp(3.6rem, 6.5vw, 6.2rem); line-height: 1.03; letter-spacing: -.035em; }
.hero-lead { max-width: 28rem; font-size: clamp(1.0625rem, 1.6vw, 1.25rem); margin-top: 1.7rem; }
.notice { max-width: 29rem; margin-top: 2.5rem; padding-top: 1.3rem; border-top: 1px solid #8c7951; }
.notice h2 { font-size: 1rem; font-weight: 700; color: var(--gold); }
.notice p { font-size: .9375rem; margin-top: .25rem; }
.site-footer { padding: 1.15rem 1.25rem; text-align: center; background: var(--wine); color: var(--cream); font-size: .875rem; }
@media (max-width: 48rem) {
  .hero-copy { width: calc(100% - 3rem); }
  .hero::before { background: linear-gradient(90deg, rgba(8,8,7,.94), rgba(8,8,7,.82) 60%, rgba(8,8,7,.64)); }
  .hero-art img { object-position: 62% center; }
}
@media (max-width: 30rem) {
  .site-header { padding: 1rem 1.25rem; }
  .brand img { width: 272px; }
  .hero-copy { width: calc(100% - 2.5rem); }
  h1 { font-size: clamp(2.8rem, 12vw, 3.6rem); }
  .wide-only { display: none; }
}
@media (forced-colors: active) {
  body, .hero, .site-header, .site-footer { background: Canvas; color: CanvasText; }
  .hero-art, .hero::before { display: none; }
  .eyebrow, .notice h2 { color: CanvasText; }
  .notice { border-color: CanvasText; }
  .brand { background: #fff; forced-color-adjust: none; }
  :focus-visible { outline: 3px solid Highlight; box-shadow: none; }
}
