/* GTMEngine shared styles */
* { box-sizing: border-box; }
html { overflow-x: hidden; }
body { margin: 0; background: #0B0B0D; font-family: Inter, sans-serif; overflow-x: hidden; }

a.gtm-a { text-decoration: none; }
a.gtm-a:hover { opacity: 0.82; }

/* ---------- Nav ---------- */
.nav-wrap { position: sticky; top: 0; z-index: 100; background: #0A1A3D; border-bottom: 1px solid rgba(255,255,255,0.1); }
.nav-inner { max-width: 1400px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; height: 76px; }
.nav-logo { display: flex; align-items: center; flex-shrink: 0; }
.nav-logo img { height: 60px; width: auto; mix-blend-mode: screen; }
.nav-links { display: flex; align-items: center; gap: 22px; flex-wrap: nowrap; }
.nav-links a.gtm-link, .nav-item > a.gtm-link { font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; white-space: nowrap; color: #FFFFFF; text-decoration: none; }
.nav-links a.gtm-link:hover, .nav-item > a.gtm-link:hover { color: #D7E521; }
.nav-item { position: relative; flex-shrink: 0; height: 76px; display: flex; align-items: center; }
.nav-item > a { display: flex; align-items: center; gap: 4px; height: 100%; }
.nav-caret { font-size: 9px; display: inline-block; transition: transform 120ms ease; }
.nav-item:hover .nav-caret, .nav-item.open .nav-caret { transform: rotate(180deg); }
/* dropdown sits flush under the nav bar (top:100%) so there is no dead gap to cross */
.nav-dropdown { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); background: #0B0B0D; border: 1px solid rgba(255,255,255,0.12); padding: 14px; display: none; flex-direction: column; gap: 2px; min-width: 260px; box-shadow: 0 12px 32px rgba(0,0,0,0.4); z-index: 10; }
.nav-item:hover .nav-dropdown, .nav-item.open .nav-dropdown { display: flex; }
.nav-dropdown a { font-size: 13px; font-weight: 500; padding: 10px 12px; white-space: nowrap; color: #FFFFFF; text-decoration: none; }
.nav-dropdown a:hover { color: #D7E521; }
.book-call { font-size: 12px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; background: #D7E521; color: #0B0B0D; padding: 11px 20px; text-decoration: none; flex-shrink: 0; white-space: nowrap; }
.book-call:hover { background: #c8d616; }

/* Shared CTA button used across pages */
.btn-cta { font-family: Inter, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; background: #D7E521; color: #0B0B0D; padding: 16px 30px; text-decoration: none; display: inline-block; border: none; cursor: pointer; }
.btn-cta:hover { background: #c8d616; }

/* Image-slot placeholder (unfilled slots) */
.img-slot { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.img-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 24px; background: linear-gradient(135deg, #14141a, #23232b); }
.img-ph span { color: #6b6b74; font-family: Inter, sans-serif; font-size: 13px; line-height: 1.5; max-width: 240px; }

/* ---------- Footer ---------- */
.footer { background: #0A1A3D; padding: 80px 40px 40px; }
.footer-inner { max-width: 1400px; margin: 0 auto; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 60px; padding-bottom: 56px; border-bottom: 1px solid rgba(255,255,255,0.12); }
.footer-brand { font-family: 'Archivo Black', sans-serif; color: #FFFFFF; font-size: 22px; margin-bottom: 16px; }
.footer-tag { color: #8C99B3; font-size: 14px; line-height: 1.6; max-width: 280px; }
.footer-col { display: flex; flex-direction: column; gap: 14px; }
.footer-col-h { color: #FFFFFF; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 6px; }
a.gtm-flink { color: #B9B9B9; text-decoration: none; font-family: Inter, sans-serif; font-size: 14px; }
a.gtm-flink:hover { color: #D7E521; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 28px; }
.footer-bottom div { color: #6B7690; font-size: 13px; }

@media (max-width: 900px) {
  .nav-links { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
}
