@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Source+Sans+3:wght@400;500;600;700&display=swap");
:root { --ink:#18263e; --navy:#10233f; --blue:#244873; --gold:#c69221; --paper:#f7f4ed; --white:#fffdf8; --muted:#657084; --line:#d9d4ca; --serif:"Fraunces", Georgia, serif; --sans:"Source Sans 3", sans-serif; --mono:"DM Mono", monospace; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:18px; line-height:1.65; } a { color:inherit; } .wrap { width:min(1160px, calc(100% - 40px)); margin:auto; } .narrow { width:min(760px, calc(100% - 40px)); margin:auto; } .skip { position:absolute; left:-999px; } .skip:focus { left:1rem; top:1rem; z-index:3; background:var(--white); padding:.6rem 1rem; }
.site-header { position:sticky; z-index:2; top:0; background:rgba(16,35,63,.97); border-bottom:1px solid rgba(255,255,255,.14); } .header-row { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:1rem; } .wordmark { color:white; display:inline-flex; align-items:center; gap:.28rem; font:600 25px/1 var(--serif); text-decoration:none; } .wordmark img { width:45px; height:45px; object-fit:contain; filter:drop-shadow(0 1px 1px rgba(0,0,0,.55)) drop-shadow(0 -1px 0 rgba(249,246,235,.22)) drop-shadow(4px 6px 16px rgba(224,175,61,.18)); } .wordmark span { color:#e0af3d; } .wordmark small { color:#d8dce5; font:11px/1 var(--mono); margin-left:-.18rem; } nav { display:flex; justify-content:flex-end; gap:1.2rem; flex-wrap:wrap; } nav a { color:#e6eaf2; text-decoration:none; font:500 13px/1.1 var(--mono); text-transform:uppercase; letter-spacing:.04em; } nav a:hover, nav a:focus { color:#f2bd3f; } .menu-toggle { display:none; border:1px solid #d6a936; background:transparent; color:#fff; padding:.55rem .7rem; font:500 12px var(--mono); text-transform:uppercase; } .menu-toggle:focus, nav a:focus, input:focus, textarea:focus, button:focus { outline:2px solid #f0c450; outline-offset:3px; }
.home-hero { color:white; background:radial-gradient(circle at 76% 20%, rgba(72,123,166,.5), transparent 28%), linear-gradient(115deg, #10223d 0%, #1c3d67 100%); padding:6.6rem 0 5.7rem; } .hero-grid { display:grid; grid-template-columns:1.55fr .8fr; gap:5rem; align-items:end; } .eyebrow { margin:0 0 .8rem; color:var(--gold); font:500 12px/1.2 var(--mono); text-transform:uppercase; letter-spacing:.12em; } h1,h2,h3 { font-family:var(--serif); line-height:1.1; } h1 { font-size:clamp(3rem, 7vw, 5.7rem); letter-spacing:-.045em; margin:0 0 1.3rem; } h2 { font-size:clamp(2rem, 4vw, 3.1rem); margin:0 0 1rem; letter-spacing:-.035em; } h3 { font-size:1.5rem; margin:.1rem 0 .6rem; } .lede { max-width:675px; font-size:1.34rem; color:#dfe5ee; } .hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2.2rem; } .button { display:inline-block; border:1px solid var(--gold); background:var(--gold); color:#10233f; padding:.7rem 1.05rem; font:600 14px/1.1 var(--sans); text-decoration:none; } .button:hover { background:#dda92e; } .button.secondary { background:transparent; color:inherit; border-color:currentColor; } .orientation { border-left:1px solid rgba(229,183,70,.75); padding:1rem 0 1rem 1.4rem; color:#dfe5ee; } .orientation .eyebrow { color:#f1c250; } .orientation a { color:white; text-underline-offset:.18em; }
.route-grid { display:grid; grid-template-columns:repeat(3,1fr); margin:0 auto; transform:translateY(-1px); } .route { min-height:245px; padding:2rem; background:var(--white); border:1px solid var(--line); text-decoration:none; transition:background .2s, transform .2s; } .route + .route { border-left:0; } .route:hover { background:#fff9eb; transform:translateY(-5px); } .route span { color:var(--gold); font:500 14px var(--mono); } .route h2 { font-size:1.8rem; margin:.9rem 0 .6rem; } .route p { color:var(--muted); margin:0; }
.media-band { background:linear-gradient(100deg,#e9e2d4,#f6f2e9); padding:5rem 0; } .media-band p:not(.eyebrow) { max-width:570px; color:#4e5969; }.featured-media { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.9fr); gap:3rem; align-items:center; }.featured-video { padding:1.1rem; border:1px solid var(--line); background:var(--white); box-shadow:0 12px 30px rgba(18,32,55,.1); }.featured-video > p { margin:0 0 .25rem; color:#8b6517; font:500 12px var(--mono); text-transform:uppercase; letter-spacing:.08em; }.featured-video h3 { font:600 1rem/1.3 var(--sans); margin:0 0 .7rem; }.featured-video video { display:block; width:100%; aspect-ratio:16/9; background:var(--navy); }.page-intro,.article-hero { color:white; background:linear-gradient(125deg,var(--navy),var(--blue)); padding:4.2rem 0; } .page-intro h1,.article-hero h1 { font-size:clamp(2.8rem,5vw,4.4rem); margin-bottom:.8rem; } .page-intro p:not(.eyebrow) { max-width:720px; color:#e0e6ee; font-size:1.22rem; }.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; padding:3.3rem 0 4.5rem; }.card { min-height:190px; border:1px solid var(--line); background:var(--white); padding:1.5rem; text-decoration:none; display:flex; flex-direction:column; }.card:hover { border-color:var(--gold); box-shadow:0 10px 25px rgba(18,32,55,.09); }.card p { color:var(--muted); margin:0; }.card span { margin-top:auto; color:#8b6517; font:500 12px var(--mono); text-transform:uppercase; letter-spacing:.08em; padding-top:1.2rem; }
.article-hero { padding:3.6rem 0; }.article-hero h1 { font-size:clamp(2.6rem,5vw,4.2rem); }.prose { padding:3.6rem 0 5rem; }.prose p { margin:0 0 1.2rem; }.notice,.contact-note { margin-top:1.5rem; padding:1.15rem 1.25rem; color:#eaf0f7; border-left:3px solid var(--gold); background:rgba(255,255,255,.1); }.contact-note a { color:white; }.contact-note p { margin:.45rem 0 0; }.article-links { display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; border-top:1px solid var(--line); margin-top:3rem; padding-top:1.5rem; }.article-links .secondary { color:var(--ink); }.text-link { color:#7b5811; font-weight:600; text-underline-offset:.2em; }
.image-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; margin:2.5rem 0; padding-top:1.5rem; border-top:1px solid var(--line); }.image-strip figure { margin:0; background:var(--white); border:1px solid var(--line); padding:.55rem; }.image-strip img { display:block; width:100%; height:auto; max-height:360px; object-fit:contain; }.image-strip .seal-figure { display:flex; align-items:center; justify-content:center; }.image-strip .seal-figure img { width:min(100%, 180px); }
.breadcrumb { color:#dce5ef; font:500 12px var(--mono); margin:0 0 1.2rem !important; }.breadcrumb a { color:#fff; text-underline-offset:.18em; }.recommended { border-left:3px solid var(--gold); margin:1.5rem 0 0; padding:1rem 1.25rem; background:#eee7d9; }.recommended a { color:#76530d; font-weight:600; }.contact-form { margin:2rem 0; padding:1.5rem; border:1px solid var(--line); background:var(--white); }.form-note { color:#76530d; font:600 13px var(--mono); text-transform:uppercase; letter-spacing:.05em; }.form-grid { display:grid; grid-template-columns:1fr; gap:.45rem; }.form-grid label { font-weight:600; margin-top:.65rem; }.form-grid input,.form-grid textarea { width:100%; border:1px solid #bcb6aa; background:#fff; color:var(--ink); padding:.7rem; font:inherit; }.check-row { display:flex; gap:.6rem; align-items:flex-start; margin:1.2rem 0; font-size:.95rem; }.check-row input { margin-top:.35rem; }.direct-email { margin-top:1rem; }.direct-email a { color:#76530d; font-weight:600; }
.media-players { margin:3rem 0; padding:2rem; background:#ece6da; border:1px solid var(--line); }.media-players h2 { font-size:2rem; }.media-players h3 { font:600 1rem/1.3 var(--sans); margin:0 0 .6rem; }.audio-grid,.video-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }.audio-grid { margin-bottom:1.4rem; }.audio-grid > div,.video-grid > div { background:var(--white); padding:1rem; }.media-players audio,.media-players video { display:block; width:100%; }.media-players video { aspect-ratio:16/9; background:#10233f; }
footer { background:#0c1d34; color:#dce3ee; padding:3rem 0; } .footer-grid { display:grid; grid-template-columns:1.3fr .8fr 1fr; gap:2rem; font-size:.94rem; } footer p { margin:.4rem 0 0; } footer a { color:#fff; text-underline-offset:.18em; } .disclaimer { color:#afbac9; }
@media (max-width:820px) { body { font-size:17px; } .header-row { padding:1rem 0; align-items:center; flex-wrap:wrap; } html.js-enabled .menu-toggle { display:block; } html.js-enabled nav { width:100%; flex-direction:column; gap:.8rem; padding-top:1rem; } html.js-enabled nav[hidden] { display:none; } nav a { font-size:11px; } .hero-grid { grid-template-columns:1fr; gap:2.5rem; } .home-hero { padding:4.5rem 0; } .route-grid,.card-grid,.footer-grid,.featured-media { grid-template-columns:1fr; } .route + .route { border-left:1px solid var(--line); border-top:0; } .card-grid { padding-top:2rem; } .home-hero h1 { font-size:clamp(2.35rem, 11vw, 3.4rem); overflow-wrap:anywhere; } }
