:root{
  --ink:#0F1B2D;
  --paper:#F6F4EE;
  --steel:#2C4A6E;
  --amber:#E39A3B;
  --teal:#3E7C74;
  --charcoal:#20262E;
  --line: rgba(15,27,45,0.14);
  --card: #FFFFFF;
}
body{ font-family:'IBM Plex Sans', sans-serif; color: var(--charcoal); background: var(--paper); }
.th-wrap{ max-width: 1120px; margin: 0 auto; padding: 0 28px; }

/* TOP UTILITY BAR */
.th-topbar{ background: var(--ink); color: rgba(246,244,238,0.85); }
.th-topbar-row{ display:flex; justify-content:space-between; align-items:center; padding: 9px 28px; font-size:12.5px; gap:16px; flex-wrap:wrap; }
.th-topbar-row a{ color: var(--amber); text-decoration:none; font-weight:600; }
@media (max-width: 600px){ .th-topbar-row{ justify-content:center; text-align:center; } .th-topbar-row a{ display:none; } }

/* SITE HEADER */
.th-site-header{ background: var(--paper); border-bottom: 1px solid var(--line); position: sticky; top:0; z-index: 50; }
.th-header-row{ display:flex; align-items:center; justify-content:space-between; gap: 24px; padding: 16px 28px; }
.th-brand{ display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
.th-brand-mark{ width:34px; height:34px; border-radius:8px; background: var(--ink); color: var(--amber); display:flex; align-items:center; justify-content:center; font-family:'Archivo Expanded','Archivo',sans-serif; font-weight:800; font-size:16px; }
.th-brand-name{ font-family:'Archivo Expanded','Archivo',sans-serif; font-weight:800; font-size:19px; letter-spacing:0.2px; color: var(--ink); }
.th-nav{ display:flex; gap:28px; flex:1; justify-content:center; flex-wrap:wrap; }
.th-nav a{ font-size:13.5px; font-weight:600; letter-spacing:0.3px; text-transform:uppercase; color: var(--charcoal); text-decoration:none; border-bottom:2px solid transparent; padding-bottom:4px; transition: border-color .15s ease, color .15s ease; }
.th-nav a:hover{ border-color: var(--amber); color: var(--ink); }
.th-header-cta{ background: var(--amber); color: var(--ink); font-weight:700; font-size:13.5px; padding: 11px 20px; border-radius: 7px; text-decoration:none; white-space:nowrap; flex-shrink:0; }
@media (max-width: 860px){ .th-nav{ display:none; } }

/* Reused hero buttons (also used by header CTA) */
.th-btn-primary{ background: var(--amber); color: var(--ink); font-weight:700; font-size:14.5px; padding: 13px 22px; border-radius: 8px; display:inline-block; text-decoration:none; }
.th-btn-ghost{ border: 1px solid rgba(246,244,238,0.3); color: var(--paper); font-weight:600; font-size:14.5px; padding: 13px 22px; border-radius: 8px; display:inline-block; text-decoration:none; }

/* SITE FOOTER */
.th-site-footer{ background: var(--ink); color: var(--paper); padding-top: 44px; }
.th-footer-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:24px; flex-wrap:wrap; padding-bottom: 30px; border-bottom: 1px solid rgba(246,244,238,0.12); }
.th-site-footer .th-brand-name{ color: var(--paper); }
.th-footer-links{ display:flex; gap:22px; flex-wrap:wrap; }
.th-footer-links a{ color: rgba(246,244,238,0.75); font-size:13.5px; text-decoration:none; }
.th-footer-links a:hover{ color: var(--amber); }
.th-footer-bottom{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; padding: 20px 0 28px; font-size:12.5px; color: rgba(246,244,238,0.55); }
.th-legal-links{ display:flex; gap:18px; flex-wrap:wrap; }
.th-legal-links a{ color: rgba(246,244,238,0.55); text-decoration:none; }
.th-legal-links a:hover{ color: var(--amber); }
