:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #10213e; background: #f7f6f1; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: #f7f6f1; color: #10213e; }
a { color: inherit; }
.skip-link { position: fixed; z-index: 100; top: 0.75rem; left: 0.75rem; padding: 0.75rem 1rem; border-radius: 999px; background: #fff; color: #10213e; transform: translateY(-180%); transition: transform 160ms ease; box-shadow: 0 8px 28px rgba(16, 33, 62, 0.25); }
.skip-link:focus { transform: translateY(0); }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem clamp(1.25rem, 5vw, 5rem); background: #09172f; color: #fff; }
.brand { color: #fff; font-family: Georgia, serif; font-size: 1.35rem; font-weight: 700; letter-spacing: -0.04em; text-decoration: none; white-space: nowrap; }
.brand span { color: #d9b457; }.brand .brand-dot { color: #fff; font-family: inherit; font-size: 0.7em; letter-spacing: -0.02em; }
.site-header nav, footer nav { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; }.site-header nav a { color: rgba(255, 255, 255, 0.82); font-size: 0.82rem; font-weight: 700; text-decoration: none; }.site-header nav a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
main { max-width: 1180px; margin: 0 auto; padding: clamp(2.5rem, 7vw, 6rem) clamp(1.25rem, 4vw, 2rem); }.hero { max-width: 800px; }.eyebrow { margin: 0 0 0.65rem; color: #826b32; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }.hero h1, .section-heading h2, .planning-card h2 { margin: 0; font-family: Georgia, serif; font-weight: 700; letter-spacing: -0.045em; line-height: 0.98; }.hero h1 { font-size: clamp(2.8rem, 7vw, 5rem); }.hero > p:not(.eyebrow) { max-width: 720px; margin: 1.25rem 0 0; color: #4d5c70; font-size: clamp(1rem, 2vw, 1.15rem); line-height: 1.75; }.hero .disclosure { border-left: 3px solid #d9b457; padding-left: 1rem; color: #5d5137; font-size: 0.92rem; }
.deals-shell { margin-top: clamp(3rem, 8vw, 6rem); }.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; border-bottom: 1px solid rgba(16, 33, 62, 0.12); padding-bottom: 1.25rem; }.section-heading h2, .planning-card h2 { font-size: clamp(2rem, 4vw, 3.2rem); }.last-updated { max-width: 240px; margin: 0; color: #6d7888; font-size: 0.76rem; line-height: 1.45; text-align: right; }.status { min-height: 1.5rem; margin: 1.25rem 0 0; color: #526175; font-size: 0.9rem; }.status[data-state="notice"] { color: #735d2d; }
.deal-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr)); gap: 1rem; margin-top: 1.25rem; }.deal-card { display: grid; gap: 1.25rem; min-height: 100%; padding: 1.5rem; border: 1px solid rgba(16, 33, 62, 0.12); border-radius: 1.25rem; background: #fff; box-shadow: 0 15px 40px rgba(16, 33, 62, 0.055); }.deal-card__tag { margin: 0; color: #80672d; font-size: 0.69rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }.deal-card__route { margin: 0.5rem 0 0; font-family: Georgia, serif; font-size: 1.75rem; letter-spacing: -0.035em; line-height: 1.05; }.deal-card__codes { margin: 0.5rem 0 0; color: #667486; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; }.deal-card__facts { display: grid; gap: 0.55rem; margin: 0; padding: 0; list-style: none; color: #4d5c70; font-size: 0.88rem; line-height: 1.45; }.deal-card__facts strong { color: #172844; }.deal-card__price { margin: 0; color: #10213e; font-size: 1.1rem; font-weight: 800; }.deal-card__price span { color: #647184; font-size: 0.76rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0.75rem 1rem; border-radius: 0.8rem; background: #10213e; color: #fff; font-size: 0.9rem; font-weight: 800; text-align: center; text-decoration: none; transition: background 160ms ease, transform 160ms ease; }.button:hover { background: #1d3764; transform: translateY(-1px); }.button-secondary { background: #d9b457; color: #10213e; }.button-secondary:hover { background: #e5c370; }.empty-state { padding: 1.5rem; border: 1px dashed rgba(16, 33, 62, 0.24); border-radius: 1.25rem; background: rgba(255, 255, 255, 0.65); color: #506074; line-height: 1.65; }.empty-state a { color: #274f8f; font-weight: 800; }
.planning-card { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: clamp(3rem, 7vw, 5rem); padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: 1.5rem; background: #10213e; color: #fff; }.planning-card p:not(.eyebrow) { max-width: 650px; margin: 0.9rem 0 0; color: rgba(255, 255, 255, 0.72); line-height: 1.65; }.planning-card .eyebrow { color: #e4c36f; }.planning-card .button { flex: 0 0 auto; }
.planning-card__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; justify-content: flex-end; }.button-tertiary { border: 1px solid rgba(255, 255, 255, 0.36); background: transparent; color: #fff; }.button-tertiary:hover { background: rgba(255, 255, 255, 0.1); }
footer { display: grid; gap: 0.75rem; padding: 2.5rem max(1.25rem, calc((100% - 1180px) / 2)); background: #09172f; color: #fff; }footer p { max-width: 850px; margin: 0; color: rgba(255, 255, 255, 0.7); font-size: 0.88rem; line-height: 1.65; }footer nav a { color: #e6c56f; font-size: 0.84rem; font-weight: 700; text-underline-offset: 3px; }
:where(a, button):focus-visible { outline: 3px solid #e4c36f; outline-offset: 3px; }
@media (max-width: 640px) { .site-header, .planning-card { align-items: flex-start; flex-direction: column; }.site-header nav { gap: 0.6rem 1rem; }.last-updated { text-align: left; }.section-heading { align-items: start; flex-direction: column; }.planning-card__actions { width: 100%; }.planning-card .button { width: 100%; } }
