:root { color-scheme: dark; font-family: Georgia, 'Times New Roman', serif; background: #000; color: #f8f2e7; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: #000; }
header, footer { width: min(100% - 3rem, 1100px); margin: 0 auto; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
header { padding: 2rem 0; border-bottom: 1px solid #9e753d66; }
.brand { color: #e8c68c; font-size: 1.35rem; letter-spacing: .04em; text-decoration: none; }
.brand img { display: block; width: 190px; max-width: 42vw; height: auto; }
nav { display: flex; gap: 1.35rem; align-items: center; }
nav a, footer a { color: #f5e6ca; text-decoration: none; }
nav a:hover, footer a:hover, .email:hover { text-decoration: underline; text-underline-offset: .3em; }
nav a[aria-current=page] { color: #efc77e; }
main { flex: 1; width: min(100% - 3rem, 1000px); margin: auto; padding: 6rem 0; text-align: center; }
.crest { display: block; color: #c99b55; font-size: 2rem; margin-bottom: 2.4rem; }
.site-logo { display: block; width: min(100%, 570px); height: auto; margin: 0 auto 2.6rem; }
.eyebrow { margin: 0 0 1.5rem; color: #d4ad71; text-transform: uppercase; letter-spacing: .3em; font: 600 .83rem system-ui, sans-serif; }
h1 { margin: 0; font-size: clamp(3.15rem, 9vw, 7rem); font-weight: normal; line-height: 1.08; letter-spacing: -.045em; }
.rule { width: 95px; height: 1px; margin: 2.6rem auto; background: #bd8d4f; }
.intro { max-width: 34rem; margin: 0 auto; font: 1.12rem/1.75 system-ui, sans-serif; color: #ded3c2; }
.button { display: inline-block; margin-top: 2.6rem; padding: .95rem 1.55rem; border: 1px solid #caa065; color: #f8f2e7; text-decoration: none; font: 600 .91rem system-ui, sans-serif; letter-spacing: .04em; }
.button:hover, .button:focus-visible { background: #caa065; color: #100e0d; }
.email { display: inline-block; margin-top: 2.2rem; color: #e8c68c; font: 1.1rem/1.5 system-ui, sans-serif; overflow-wrap: anywhere; }
footer { padding: 1.4rem 0 2rem; border-top: 1px solid #9e753d66; color: #ae9e87; font: .85rem system-ui, sans-serif; }
@media (max-width: 600px) { header, footer { width: min(100% - 2rem, 1100px); } header { align-items: flex-start; flex-direction: column; gap: 1.15rem; padding: 1.4rem 0; } main { width: min(100% - 2rem, 1000px); padding: 5rem 0; } h1 { letter-spacing: -.055em; } footer { gap: .6rem; flex-wrap: wrap; } }
