html { scroll-behavior: smooth; }
html, body, button, input, select, textarea, h1, h2, h3, h4, h5, h6, p, a, li, span, div, figure, blockquote, label, nav {
  font-family: "proxima-nova", "Proxima Nova", "Montserrat", "Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif !important;
}
body { color: #1A1A1A; background: #FFFFFF; -webkit-font-smoothing: antialiased; letter-spacing: -0.005em; }
.font-display { font-weight: 700; letter-spacing: -0.02em; }
.container-x { max-width: 1200px; margin-inline: auto; padding-inline: 1.5rem; }
.eyebrow { font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 600; }
.btn-primary { background: #BF3030; color: #fff; }
.btn-primary:hover { background: #8C2920; }
.btn-outline { border: 1px solid #223C5E; color: #223C5E; }
.btn-outline:hover { background: #223C5E; color: #fff; }
.link-underline { position: relative; }
.link-underline::after { content: ''; position: absolute; left: 0; right: 0; bottom: -3px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.link-underline:hover::after { transform: scaleX(1); }
.hatch { background-image: repeating-linear-gradient(135deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 8px); }
.hatch-dark { background-image: repeating-linear-gradient(135deg, rgba(34,60,94,0.08) 0 1px, transparent 1px 8px); }
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
.nav-link { color: #333; font-size: 14px; position: relative; }
.nav-link:hover { color: #223C5E; }
.nav-link.active { color: #223C5E; font-weight: 600; }
.nav-link.active::after { content:''; position:absolute; left:0; right:0; bottom:-22px; height:2px; background:#BF3030; }
