/* ==========================================
   NORTHSTAR LEAD AUTOMATION — Master Stylesheet
   ========================================== */
:root{
  --navy:#0d1f47;
  --navy-deep:#091735;
  --navy-mid:#15295a;
  --navy-light:#1c3268;
  --gold:#c9a14a;
  --gold-bright:#e0bf6b;
  --gold-soft:#d4af5f;
  --ivory:#f7f5ef;
  --slate:#9aa3b8;
  --white:#ffffff;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',sans-serif;
  color:var(--ivory);
  background:var(--navy);
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:700;letter-spacing:-.5px}
a{color:inherit;text-decoration:none}

/* ===== NAV ===== */
nav.site-nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:16px 6%;
  display:flex;justify-content:space-between;align-items:center;
  background:rgba(9,23,53,0.85);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(201,161,74,0.18);
  transition:padding .3s ease;
}
.brand{display:flex;align-items:center;gap:14px}
.brand-logo{
  width:52px;height:52px;
  background:url('assets/northstar-logo-transparent.png') center/contain no-repeat;
  flex-shrink:0;
}
.brand-name{
  font-family:'Playfair Display',serif;
  font-size:21px;font-weight:700;letter-spacing:1px;
  color:var(--white);line-height:1;
}
.brand-tag{
  display:block;font-family:'Inter',sans-serif;
  font-size:9px;letter-spacing:3px;color:var(--gold-bright);
  font-weight:500;margin-top:5px;text-transform:uppercase;
}
.nav-links{display:flex;gap:34px;align-items:center}
.nav-links a{
  font-size:13px;font-weight:500;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--ivory);
  transition:color .2s ease;cursor:pointer;
}
.nav-links a:hover,.nav-links a.active{color:var(--gold-bright)}
.nav-cta{
  background:var(--gold);color:var(--navy-deep)!important;
  padding:11px 22px;border-radius:2px;font-weight:600;letter-spacing:1.2px;
  transition:background .25s ease,transform .25s ease;
}
.nav-cta:hover{background:var(--gold-bright);transform:translateY(-1px)}
.menu-toggle{display:none;background:none;border:none;color:var(--ivory);font-size:26px;cursor:pointer}

/* ===== BUTTONS ===== */
.btn-primary,.btn-secondary,.btn-ghost{
  padding:16px 36px;font-size:13px;letter-spacing:1.6px;
  text-transform:uppercase;font-weight:600;
  border-radius:2px;cursor:pointer;border:none;
  transition:all .3s ease;display:inline-block;
}
.btn-primary{background:var(--gold);color:var(--navy-deep)}
.btn-primary:hover{background:var(--gold-bright);transform:translateY(-2px);box-shadow:0 12px 28px rgba(201,161,74,.3)}
.btn-secondary{background:transparent;color:var(--white);border:1.5px solid var(--ivory)}
.btn-secondary:hover{background:var(--white);color:var(--navy-deep);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--gold-bright);border:1px solid var(--gold);padding:12px 28px;font-size:12px}
.btn-ghost:hover{background:var(--gold);color:var(--navy-deep)}

/* ===== SECTIONS ===== */
section.module{padding:110px 6%;max-width:1400px;margin:0 auto}
.module-header{text-align:center;max-width:820px;margin:0 auto 70px}
.module-eyebrow{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--gold-bright);font-weight:600;margin-bottom:18px;display:inline-block}
.module-header h2{font-size:clamp(30px,3.6vw,48px);color:var(--white);margin-bottom:20px;line-height:1.15}
.module-header p{font-size:16px;color:var(--slate);line-height:1.75}

/* ===== SUBPAGE HEADER (Services/About/FAQ) ===== */
.subpage-header{
  padding:160px 6% 80px;
  text-align:center;
  background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 50%,var(--navy-mid) 100%);
  border-bottom:1px solid rgba(201,161,74,.18);
}
.subpage-header .module-eyebrow{margin-bottom:22px;font-size:12px}
.subpage-header h1{
  font-size:clamp(34px,4.5vw,62px);color:var(--white);
  line-height:1.1;margin-bottom:20px;max-width:900px;margin-left:auto;margin-right:auto;
}
.subpage-header p{
  font-size:17px;color:var(--ivory);
  max-width:680px;margin:0 auto;line-height:1.7;
}

/* ===== BACK TO HOME (subpage bottom) ===== */
.back-home{
  text-align:center;
  padding:60px 6% 80px;
  background:var(--navy-deep);
  border-top:1px solid rgba(201,161,74,.15);
}
.back-home a{
  display:inline-flex;align-items:center;gap:10px;
  font-size:13px;letter-spacing:2px;text-transform:uppercase;
  color:var(--gold-bright);font-weight:600;
  padding:14px 32px;border:1px solid var(--gold);
  border-radius:2px;transition:all .3s ease;
}
.back-home a:hover{background:var(--gold);color:var(--navy-deep)}
.back-home .arrow{font-size:18px;line-height:1}

/* ===== FOOTER ===== */
footer{
  background:var(--navy-deep);padding:60px 6% 24px;
  border-top:1px solid rgba(201,161,74,.18);
}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;margin-bottom:45px}
.footer-brand .brand{margin-bottom:18px}
.footer-brand p{color:var(--slate);font-size:14px;max-width:380px;line-height:1.7;margin-bottom:14px}
.footer-brand .mission-quote{
  color:var(--gold-bright);font-style:italic;font-size:14px;
  border-left:2px solid var(--gold);padding-left:14px;margin-top:18px;
}
.footer-col h4{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-bright);margin-bottom:18px;font-weight:600}
.footer-col a,.footer-col p{display:block;color:var(--slate);font-size:13px;margin-bottom:10px;transition:color .2s ease;cursor:pointer}
.footer-col a:hover{color:var(--gold-bright)}
.footer-bottom{border-top:1px solid rgba(201,161,74,.12);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-bottom p{color:var(--slate);font-size:12px;letter-spacing:.5px}

/* ===== REVEAL ANIMATIONS — one-time ===== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.reveal.is-visible{opacity:1;transform:translateY(0)}

/* ===== MOBILE ===== */
@media(max-width:900px){
  .nav-links{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--navy-deep);flex-direction:column;
    padding:24px;gap:18px;border-bottom:1px solid rgba(201,161,74,.2);
  }
  .nav-links.open{display:flex}
  .menu-toggle{display:block}
  section.module{padding:70px 6%}
  .subpage-header{padding:140px 6% 60px}
  .footer-grid{grid-template-columns:1fr;gap:32px}
}
