@font-face { font-family: Barlow; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/barlow-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: Barlow; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/barlow-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-style: italic; font-weight: 800; font-display: swap; src: url('/assets/barlow-condensed-latin-800-italic.woff2') format('woff2'); }
:root { color-scheme: dark; --navy: #091e33; --charcoal: #151719; --orange: #ff4b00; --gutter: clamp(1.25rem, 3.333vw, 3rem); }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100svh; display: flex; flex-direction: column; background: var(--charcoal); color: #f5f6f8; font: 400 1rem/1.5 Barlow, Arial, sans-serif; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
a:focus-visible { outline: 3px solid #80b7ff; outline-offset: 6px; }
main:focus { outline: none; }
.skip-link { position: absolute; top: -6rem; left: 1rem; padding: .75rem 1rem; z-index: 5; background: white; color: #081735; }
.skip-link:focus { top: 1rem; }
.container { width: 100%; max-width: 67.5rem; margin-inline: auto; padding-inline: var(--gutter); }
.site-header { background: linear-gradient(110deg, #0c2b47, #091d33); border-bottom: 1px solid #536b8266; }
.site-header .container { min-height: clamp(4.5rem, 6vw, 5.5rem); display: flex; align-items: center; }
.logo { width: clamp(13.5rem, 22vw, 16.875rem); display: inline-flex; align-items: center; min-height: 2.75rem; }
.hero { position: relative; isolation: isolate; background: var(--navy); }
.hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; z-index: -2; }
.hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #071b30ed, #071b30b3 30%, #071b3026 61%, transparent 78%), linear-gradient(0deg, #15171970, transparent 30%); }
.hero-inner { min-height: clamp(36rem, 42vw, 43rem); display: flex; align-items: center; padding-block: clamp(2rem, 4.5vw, 4rem); }
.hero-copy { width: 55%; max-width: 34rem; }
p, h1 { margin: 0; }
.eyebrow { color: #ff671f; font-weight: 600; font-size: .875rem; letter-spacing: .24em; text-transform: uppercase; margin-bottom: .875rem; }
h1 { font: italic 800 clamp(3rem, calc(2.125rem + 3.5vw), 5.25rem)/.96 'Barlow Condensed', 'Arial Narrow', sans-serif; letter-spacing: -.01em; margin-bottom: 1.375rem; }
.intro { font-size: clamp(1.125rem, calc(1.02rem + .33vw), 1.3125rem); line-height: 1.4; max-width: 23rem; }
.announcement { color: #ced6df; border-left: 2px solid var(--orange); padding-left: 1rem; margin-block: clamp(1.5rem, 2.2vw, 2rem); }
.contact { min-height: 3rem; display: inline-flex; align-items: center; justify-content: center; gap: 1.5rem; padding: .75rem 1.375rem; border-radius: .25rem; background: var(--orange); color: #111820; text-decoration: none; font-weight: 600; }
.contact:hover { background: #ff702e; }
.contact span { font-size: 1.25rem; line-height: 1; }
.email { display: table; min-height: 2.75rem; padding-top: .75rem; font-size: .9375rem; color: #e0e6ed; text-decoration-color: #738497; text-underline-offset: 4px; overflow-wrap: anywhere; max-width: 100%; }
.email:hover { color: white; text-decoration-color: var(--orange); }
.site-footer { flex: 1; display: flex; align-items: center; border-top: 1px solid #414951; background: linear-gradient(110deg, #172029, var(--charcoal) 65%); }
.footer-inner { min-height: 6.5rem; padding-block: 1.5rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem 2rem; }
.footer-logo { width: 11rem; }
.footer-inner p { font-size: .875rem; color: #aeb8c3; }
@media (max-width: 64em) {
  .hero { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; }
  .hero-inner { grid-row: 1; min-height: 0; padding-block: 2.25rem 1.5rem; }
  .hero-copy { width: 100%; max-width: 34rem; }
  .hero-photo { position: relative; grid-row: 2; aspect-ratio: 2.05; object-position: right center; }
  .hero::after { grid-row: 2; background: linear-gradient(180deg, var(--navy), transparent 25%, transparent 80%, #15171970); }
  .intro { max-width: 29rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
