:root {
  --navy-900:#001030; --navy-400:#003C69;
  --sky-500:#0098DB; --sky-300:#8fd3f0;
  --ink:#1e1e1e; --slate-700:#40444e; --steel-400:#727f8a;
  --gray-200:#c7c8ca; --gray-100:#e5e6e7; --gray-50:#f4f4f5; --white:#fff;
  --font-display:'Montserrat', -apple-system, sans-serif;
  --font-body:Arial, Helvetica, -apple-system, sans-serif;
  --space-4:16px; --space-5:20px; --space-6:24px; --space-8:32px; --space-10:40px; --space-12:48px;
  --radius-md:4px; --radius-lg:8px; --radius-full:999px;
  --shadow-sm:0 1px 2px rgba(0,16,48,0.08); --shadow-md:0 4px 12px rgba(0,16,48,0.12);
}
* { box-sizing: border-box; }
body { margin:0; font-family:var(--font-body); color:var(--ink); background:var(--gray-50); }
h1,h2,h3 { font-family:var(--font-display); font-weight:300; margin:0; }
a { color: inherit; text-decoration: none; }
.page { width: 1040px; max-width: 100%; margin: 0 auto; background:var(--white); }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:44px; padding:0 22px; font-family:var(--font-body); font-weight:700; font-size:15px; border-radius:var(--radius-md); cursor:pointer; white-space:nowrap; border:1px solid transparent; }
.btn-accent { background:var(--sky-500); color:#fff; border-color:var(--sky-500); }
.btn-outline { background:transparent; color:#fff; border-color:rgba(255,255,255,0.75); }
.btn-ghost { background:transparent; color:var(--navy-400); border-color:transparent; padding:0; height:auto; font-weight:700; }
.card { background:#fff; border:1px solid var(--gray-200); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); }
.card-body { padding:var(--space-5); }
.card-link { display:block; transition: box-shadow .15s ease, transform .15s ease; }
.card-link:hover { box-shadow: var(--shadow-md); transform: translateY(-1px); }
.eyebrow { font-size:12px; letter-spacing:0.05em; text-transform:uppercase; color:var(--sky-500); font-weight:700; margin-bottom:6px; font-family:var(--font-body); }
.input { height:44px; padding:0 14px; font-family:var(--font-body); font-size:14px; border-radius:var(--radius-md); border:1px solid var(--gray-200); box-sizing:border-box; }
.badge { display:inline-flex; align-items:center; height:22px; padding:0 10px; border-radius:var(--radius-full); font-size:12px; font-weight:500; background:#e3f4fc; color:var(--navy-400); }
.img-ph { background:var(--gray-100); display:flex; align-items:center; justify-content:center; color:var(--gray-200); font-size:12px; }
.masthead { background:var(--navy-900); display:flex; align-items:stretch; }
.masthead-uni { display:flex; align-items:center; gap:10px; padding:18px 24px; }
.masthead-unit { background:var(--sky-500); display:flex; align-items:center; gap:8px; padding:14px 28px; font-family:var(--font-display); font-weight:600; font-size:14px; color:#fff; letter-spacing:0.03em; }
.utility-row { padding:10px 40px; display:flex; justify-content:flex-end; font-size:13px; color:var(--slate-700); border-bottom:1px solid var(--gray-100); }
.breadcrumb { padding:16px 40px; font-size:13px; color:var(--slate-700); border-bottom:1px solid var(--gray-100); }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb strong { color:var(--navy-400); }
