:root {
 --navy: #1B2A4A;
 --navy-dark: #111D33;
 --orange: #E87722;
 --orange-light: #F59340;
 --white: #FFFFFF;
 --off-white: #F7F8FA;
 --gray: #8A94A6;
 --light-gray: #E8ECF2;
 --success: #22C55E;
}

* { margin:0; padding:0; box-sizing:border-box; }

body {
 font-family:'Barlow',sans-serif;
 background:var(--navy);
 color:var(--white);
 min-height:100vh;
}

/* NAV */
nav {
 display:flex;
 align-items:center;
 justify-content:space-between;
 padding:20px 48px;
 position:sticky;
 top:0;
 z-index:100;
 background:rgba(27,42,74,0.97);
 backdrop-filter:blur(10px);
 border-bottom:1px solid rgba(255,255,255,0.07);
}

.logo { display:flex; align-items:center; gap:12px; text-decoration:none; }

.logo-text {
 font-family:'Barlow Condensed',sans-serif;
 font-weight:800;
 font-size:20px;
 line-height:1.1;
 color:var(--white);
}

.logo-text span { color:var(--orange); }

.nav-links { display:flex; gap:32px; align-items:center; }

.nav-links a {
 color:rgba(255,255,255,0.7);
 text-decoration:none;
 font-size:14px;
 font-weight:500;
 transition:color 0.2s;
}

.nav-links a:hover { color:var(--white); }

.nav-cta {
 background:var(--orange) !important;
 color:var(--white) !important;
 padding:10px 22px;
 border-radius:6px;
 font-weight:600 !important;
 transition:background 0.2s !important;
}

.nav-cta:hover { background:var(--orange-light) !important; }

.hamburger {
 display:none;
 background:none;
 border:none;
 color:white;
 font-size:22px;
 cursor:pointer;
}

/* FOOTER */
footer {
 background:var(--navy-dark);
 border-top:1px solid rgba(255,255,255,0.08);
 padding:56px 48px 24px;
}

.footer-inner {
 display:flex;
 justify-content:space-between;
 gap:48px;
 margin-bottom:40px;
 flex-wrap:wrap;
}

.footer-brand p {
 color:rgba(255,255,255,0.45);
 font-size:13px;
 line-height:1.6;
 margin-top:10px;
 max-width:280px;
}

.footer-links { display:flex; gap:64px; }

.footer-col { display:flex; flex-direction:column; gap:10px; }

.footer-heading {
 font-size:11px;
 font-weight:700;
 letter-spacing:1.5px;
 text-transform:uppercase;
 color:var(--orange);
 margin-bottom:4px;
}

.footer-col a {
 color:rgba(255,255,255,0.55);
 text-decoration:none;
 font-size:14px;
 transition:color 0.2s;
}

.footer-col a:hover { color:var(--white); }

.footer-bottom {
 border-top:1px solid rgba(255,255,255,0.07);
 padding-top:20px;
 color:rgba(255,255,255,0.3);
 font-size:12px;
 text-align:center;
}

/* SHARED SECTION HELPERS */
.section-label {
 font-size:12px;
 font-weight:700;
 letter-spacing:2px;
 text-transform:uppercase;
 color:var(--orange);
 margin-bottom:12px;
}

.section-title {
 font-family:'Barlow Condensed',sans-serif;
 font-size:clamp(30px,4vw,52px);
 font-weight:800;
 line-height:1.05;
 margin-bottom:16px;
}

.section-sub {
 color:rgba(255,255,255,0.6);
 font-size:16px;
 line-height:1.6;
 max-width:520px;
 margin-bottom:48px;
}

.btn-primary {
 display:inline-block;
 background:var(--orange);
 color:var(--white);
 border:none;
 padding:15px 32px;
 border-radius:8px;
 font-family:'Barlow Condensed',sans-serif;
 font-size:18px;
 font-weight:700;
 letter-spacing:0.5px;
 cursor:pointer;
 transition:all 0.2s;
 text-transform:uppercase;
 text-decoration:none;
}

.btn-primary:hover {
 background:var(--orange-light);
 transform:translateY(-2px);
 box-shadow:0 8px 24px rgba(232,119,34,0.35);
}

/* MOBILE NAV */
@media (max-width:768px) {
 nav { padding:14px 16px; }
 .hamburger { display:block; }
 .nav-links {
 display:none;
 position:absolute;
 top:100%;
 left:0; right:0;
 background:var(--navy-dark);
 flex-direction:column;
 padding:20px;
 gap:16px;
 border-bottom:1px solid rgba(255,255,255,0.1);
 }
 .nav-links.open { display:flex; }
 footer { padding:40px 16px 20px; }
 .footer-inner { flex-direction:column; gap:32px; }
 .footer-links { gap:32px; }
}

/* ═══════════════════════════════════════════════
 GLOBAL MOBILE + TABLET POLISH
═══════════════════════════════════════════════ */
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; overflow-x:hidden; }
body { overflow-x:hidden; }
img, svg, video, iframe { max-width:100%; }
button, a, input, select, textarea { -webkit-tap-highlight-color:transparent; }
input, select, textarea { font-size:16px; }

@media (max-width:1100px) {
 nav { padding:16px 24px; }
 .nav-links { gap:20px; }
 .footer-inner { gap:32px; }
 .footer-links { gap:36px; flex-wrap:wrap; }
}

@media (max-width:820px) {
 nav { padding:14px 16px; min-height:68px; }
 .logo svg { width:38px; height:38px; flex-shrink:0; }
 .logo-text { font-size:18px; line-height:1.05; }
 .hamburger { display:block; width:44px; height:44px; border-radius:10px; background:rgba(255,255,255,.06); }
 .nav-links {
 display:none;
 position:absolute;
 top:100%; left:0; right:0;
 background:rgba(17,29,51,.99);
 backdrop-filter:blur(12px);
 flex-direction:column;
 align-items:stretch;
 padding:14px 16px 18px;
 gap:8px;
 border-bottom:1px solid rgba(255,255,255,.1);
 box-shadow:0 18px 36px rgba(0,0,0,.28);
 }
 .nav-links.open { display:flex; }
 .nav-links a { padding:13px 12px; border-radius:10px; background:rgba(255,255,255,.04); font-size:15px; }
 .nav-links .nav-cta { text-align:center; padding:14px 18px; margin-top:4px; }
 footer { padding:34px 16px 20px; }
 .footer-inner { flex-direction:column; gap:26px; margin-bottom:26px; }
 .footer-links { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
}

@media (max-width:520px) {
 nav { padding:12px 14px; }
 .logo { gap:9px; min-width:0; }
 .logo svg { width:34px; height:34px; }
 .logo-text { font-size:16px; }
 .hamburger { width:40px; height:40px; font-size:20px; }
 .footer-links { grid-template-columns:1fr; }
 .footer-brand p { font-size:12px; }
 .btn-primary { width:100%; text-align:center; padding:15px 20px; }
}


/* PUBLIC NAV FIX, SHOW ALL MAIN PAGES */
.nav-links {
  gap: 20px;
  flex-wrap: nowrap;
}
.nav-links a {
  white-space: nowrap;
}
@media (max-width: 1180px) {
  nav {
    padding-left: 28px;
    padding-right: 28px;
  }
  .nav-links {
    gap: 14px;
  }
  .nav-links a {
    font-size: 13px;
  }
  .nav-cta {
    padding: 9px 16px;
  }
}
@media (max-width: 980px) {
  .hamburger {
    display: block;
  }
  .nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(17,29,51,.99);
    backdrop-filter: blur(12px);
    flex-direction: column;
    align-items: stretch;
    padding: 14px 16px 18px;
    gap: 8px;
    border-bottom: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 18px 36px rgba(0,0,0,.28);
  }
  .nav-links.open {
    display: flex;
  }
  .nav-links a {
    padding: 13px 12px;
    border-radius: 10px;
    background: rgba(255,255,255,.04);
    font-size: 15px;
  }
  .nav-links .nav-cta {
    text-align: center;
    padding: 14px 18px;
    margin-top: 4px;
  }
}

