/* Hallmark · redesign: full · genre: editorial · theme: Libra · nav: edge-aligned masthead · footer: colophon · signature: real places, routes, products and editorial material · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R5 V4 · weakest: specificity; give each page a layout shaped by the material it contains. */
:root {
  --hallmark-content: 76rem;
  --hallmark-gutter: clamp(1.25rem, 5vw, 4.5rem);
  --hallmark-space: clamp(3.25rem, 7vw, 6.5rem);
  --hallmark-gap: clamp(1.5rem, 5vw, 5rem);
  --hallmark-radius: .2rem;
  --hallmark-mark: "Marcellus", Georgia, serif;
}

html:has(body.hallmark-page),
body.hallmark-page { overflow-x: clip; }
body.hallmark-page { --gutter: var(--hallmark-gutter); }
.hallmark-page ::selection { background: var(--gold); color: var(--bg); }
.hallmark-page :is(h1, h2, h3) { min-inline-size: 0; overflow-wrap: break-word; text-wrap: balance; }
.hallmark-page :lang(en):is(h1, h2, h3),
.hallmark-page :lang(fr):is(h1, h2, h3) { font-family: var(--font-display); font-weight: 400; letter-spacing: -.025em; }
.hallmark-page :is(h1, h2, h3) em { color: inherit; font-family: inherit; font-style: normal; }
.hallmark-page :is(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
.hallmark-page :is(.container, .container-wide) { max-inline-size: var(--hallmark-content); }

body.hallmark-page .site-header,
body.hallmark-page .site-header.is-scrolled {
  padding: 0 var(--gutter);
  background: var(--bg);
  border-block-end: 1px solid var(--line);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.hallmark-page .site-header:is(.site-header, .is-scrolled) .nav {
  min-block-size: 4.65rem;
  block-size: auto;
  inline-size: 100%;
  padding-inline: 0;
  border: 0;
  border-radius: 0;
  background: var(--bg);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: none;
}
body.hallmark-page .site-header .brand { min-block-size: 44px; gap: .7rem; }
body.hallmark-page .site-header .brand-mark { height: 1.8rem; color: var(--ink); }
body.hallmark-page .site-header .brand .brand-name {
  color: var(--ink);
  font-family: var(--hallmark-mark);
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}
body.hallmark-page .site-header .nav-links a {
  font-family: var(--font-body);
  font-size: .875rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
body.hallmark-page .site-header .nav-links > li > a { align-content: center; min-block-size: 44px; }
body.hallmark-page .site-header .nav-links a:hover,
body.hallmark-page .site-header .nav-links a[aria-current="page"] { color: var(--gold); }
body.hallmark-page .site-header :is(.nav-cta, .nav-dropdown summary, .language-picker summary) { border-radius: var(--hallmark-radius); }
body.hallmark-page .site-header .language-picker summary { letter-spacing: 0; border-color: var(--line); }
body.hallmark-page .site-header :is(.language-menu, .nav-submenu) {
  border-radius: var(--hallmark-radius);
  background: var(--bg-raise);
  box-shadow: none;
}
body.hallmark-page .site-header .nav-links :is(.nav-submenu, .language-menu) a {
  border-radius: 0;
  letter-spacing: 0;
}

body.hallmark-page :is(.btn, .flight-launch) { border-radius: var(--hallmark-radius); }
body.hallmark-page .btn--solid { background: var(--gold); color: var(--bg); border-color: var(--gold); }
body.hallmark-page .btn--solid:hover { background: var(--ink); color: var(--bg); border-color: var(--ink); }
body.hallmark-page .btn:active { translate: 0 1px; }
body.hallmark-page.flight-page :is(.flight-next-row, .flight-send-row) .btn {
  flex-shrink: 0;
  padding-inline: clamp(.55rem, 2vw, 1.25rem);
}
body.hallmark-page .link-line { letter-spacing: 0; text-transform: none; }
body.hallmark-page .link-line:hover { text-decoration: underline; text-underline-offset: .25em; }
body.hallmark-page .flight-panel { border-radius: var(--hallmark-radius); }
.hallmark-page .jet-table-wrap {
  overscroll-behavior-inline: contain;
  scrollbar-color: var(--line-strong) var(--bg-raise);
  scrollbar-width: auto;
}
.hallmark-page .jet-table-wrap::-webkit-scrollbar { height: .55rem; }
.hallmark-page .jet-table-wrap::-webkit-scrollbar-track { background: var(--bg-raise); }
.hallmark-page .jet-table-wrap::-webkit-scrollbar-thumb { background: var(--line-strong); }
body.hallmark-page .site-footer {
  background: var(--bg);
  border-block-start: 1px solid var(--line);
  padding-block-start: clamp(2.5rem, 4vw, 4rem);
}
body.hallmark-page .footer-col h4,
body.hallmark-page .footer-legal { letter-spacing: 0; text-transform: none; }
body.hallmark-page .footer-col a { min-block-size: 44px; align-items: center; }

@media (min-width: 901px) and (max-width: 1150px) {
  body.hallmark-page .site-header .nav-links { gap: clamp(.55rem, 1.1vw, 1rem); }
}
@media (max-width: 900px) {
  body.hallmark-page .site-header:is(.site-header, .is-scrolled) .nav { min-block-size: 4.1rem; }
  body.hallmark-page .site-header .brand .brand-name { display: inline; font-size: 1.1rem; }
  body.hallmark-page .site-header .nav-links.is-open {
    background: var(--bg);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  body.hallmark-page .site-header .nav-links.is-open > li { transition-delay: 0s; }
  body.hallmark-page .site-header .nav-links.is-open > li > a { font-size: 1.1rem; }
  body.hallmark-error .site-header { position: static; }
  body.hallmark-error .site-header .nav { flex-wrap: wrap; gap: 0; padding-block: .4rem; }
  body.hallmark-error .site-header .nav-links {
    position: static;
    flex-flow: row wrap;
    justify-content: flex-start;
    gap: 0 1rem;
    width: 100%;
    padding: 0;
    background: none;
    backdrop-filter: none;
    opacity: 1;
    visibility: visible;
  }
  html:has(body.hallmark-page.flight-page) {
    scroll-padding-block-end: calc(4.5rem + env(safe-area-inset-bottom, 0px));
  }
  body.hallmark-page.flight-page .flight-disclosure:not([open]) > .flight-launch {
    inset-inline-start: auto;
    inline-size: max-content;
    max-inline-size: calc(100% - 2rem);
    min-block-size: 44px;
    padding: .65rem .9rem;
    box-shadow: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hallmark-page :is(.site-header, .nav-links, .reveal, .btn, .link-line) {
    transition: none;
    animation: none;
  }
  body.hallmark-page .btn:active { translate: none; }
}
