/* ===== ALFAA shared site styles ===== */
:root{
  --navy:#0e2a4d;
  --navy-deep:#0a2140;
  --gold:#d9a83b;
  --gold-light:#e8c877;
  --cream:#f7f8fb;
  --ink:#1c2b3a;
  --muted:#5b6b7c;
  --white:#ffffff;
  --border:#e5e8ee;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family:'Lato', sans-serif;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Playfair Display', serif;}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
.wrap{max-width:1500px; margin:0 auto; padding:0 48px;}
ul{list-style:none;}

/* ===== NAVBAR ===== */
header.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 48px;
  border-bottom:1px solid var(--border);
  position:sticky; top:0; background:var(--white); z-index:100;
}
.brand{display:flex; align-items:center; gap:14px;}
.crest{width:56px; height:56px; flex-shrink:0;}
.brand-text .name{
  font-family:'Playfair Display', serif;
  font-weight:800; font-size:28px; color:var(--navy);
  letter-spacing:1px; line-height:1;
}
.brand-text .sub{
  font-size:11px; letter-spacing:2px; color:var(--navy);
  font-weight:600; margin-top:4px;
}
.brand-text .tag{
  font-size:12px; color:var(--gold); font-style:italic; margin-top:3px;
}
nav.links{display:flex; align-items:center; gap:34px;}
nav.links a{
  font-size:15px; font-weight:600; color:var(--ink); position:relative; padding-bottom:6px;
  transition:color .2s ease;
  white-space:nowrap;
}
nav.links a:hover{color:var(--navy);}
nav.links a.active{color:var(--navy);}
nav.links a.active::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--gold);
}
.join-btn{
  display:flex; align-items:center; gap:10px;
  background:var(--navy); color:var(--white);
  padding:13px 22px; border-radius:8px; font-weight:700; font-size:15px;
  border:none; cursor:pointer; transition:background .2s ease;
}
.join-btn:hover{background:var(--navy-deep);}
.join-btn svg{width:18px; height:18px;}
.nav-toggle{display:none; background:none; border:none; cursor:pointer;}
.nav-toggle svg{width:28px; height:28px; color:var(--navy);}

/* ===== PAGE BANNER (inner pages) ===== */
.page-banner{
  background:linear-gradient(120deg, var(--navy) 0%, var(--navy-deep) 100%);
  padding:70px 48px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.page-banner::before{
  content:'';
  position:absolute; inset:0;
  background-image:radial-gradient(circle at 15% 30%, rgba(217,168,59,0.12), transparent 40%),
                    radial-gradient(circle at 85% 70%, rgba(217,168,59,0.10), transparent 40%);
}
.page-banner h1{
  position:relative; color:var(--white); font-size:40px; font-weight:800; letter-spacing:1px;
}
.page-banner .crumb{
  position:relative; color:var(--gold-light); font-size:14px; font-weight:600; margin-top:12px; letter-spacing:1px;
}
.page-banner .crumb a{color:#c9d4e2;}
.page-banner .crumb a:hover{color:var(--gold-light);}
.page-banner .rule{
  position:relative; width:60px; height:3px; background:var(--gold); margin:18px auto 0;
}

/* ===== SECTION HELPERS ===== */
.section{padding:80px 48px;}
.section.alt{background:var(--cream);}
.section-head{max-width:720px; margin:0 auto 50px; text-align:center;}
.eyebrow{
  color:var(--gold); font-weight:700; font-size:13px; letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; display:block;
}
.section-head h2{font-size:34px; color:var(--navy); font-weight:800; line-height:1.25;}
.section-head p{color:var(--muted); font-size:16px; margin-top:16px; line-height:1.7;}

.btn-gold{
  display:inline-flex; align-items:center; gap:10px;
  background:linear-gradient(180deg, var(--gold-light), var(--gold));
  color:var(--navy-deep); font-weight:700; font-size:15px;
  padding:15px 28px; border-radius:30px; width:fit-content;
  box-shadow:0 8px 20px rgba(217,168,59,0.25);
  transition:transform .2s ease;
  border:none; cursor:pointer;
}
.btn-gold:hover{transform:translateY(-2px);}
.btn-outline{
  display:inline-flex; align-items:center; gap:10px;
  background:transparent; border:2px solid var(--navy);
  color:var(--navy); font-weight:700; font-size:15px;
  padding:13px 26px; border-radius:30px; width:fit-content;
  transition:all .2s ease;
}
.btn-outline:hover{background:var(--navy); color:var(--white);}

/* ===== CARDS ===== */
.card{
  background:var(--white); border:1px solid var(--border); border-radius:14px;
  overflow:hidden; transition:transform .25s ease, box-shadow .25s ease;
}
.card:hover{transform:translateY(-5px); box-shadow:0 18px 34px rgba(14,42,77,0.12);}

/* ===== FOOTER ===== */
footer.site{
  background:var(--navy-deep); color:#c9d4e2; padding:64px 48px 0;
}
.footer-grid{
  max-width:1500px; margin:0 auto;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px;
  padding-bottom:48px; border-bottom:1px solid rgba(255,255,255,0.08);
}
.footer-brand{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.footer-brand .name{font-family:'Playfair Display', serif; font-weight:800; font-size:24px; color:var(--white);}
.footer-col h4{color:var(--white); font-size:15px; letter-spacing:1px; margin-bottom:18px; font-weight:700;}
.footer-col p{font-size:14px; line-height:1.7; color:#a9b7c8;}
.footer-col ul li{margin-bottom:12px;}
.footer-col ul li a{font-size:14px; color:#a9b7c8; transition:color .2s ease;}
.footer-col ul li a:hover{color:var(--gold-light);}
.footer-contact li{display:flex; gap:10px; align-items:flex-start; font-size:14px; color:#a9b7c8; margin-bottom:14px;}
.footer-contact svg{width:18px; height:18px; color:var(--gold); flex-shrink:0; margin-top:2px;}
.socials{display:flex; gap:12px; margin-top:18px;}
.socials a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(255,255,255,0.2);
  display:flex; align-items:center; justify-content:center; transition:all .2s ease;
}
.socials a:hover{background:var(--gold); border-color:var(--gold);}
.socials svg{width:16px; height:16px; color:var(--white);}
.footer-bottom{
  max-width:1500px; margin:0 auto; padding:22px 0;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
  font-size:13px; color:#8296ac;
}
.footer-bottom a{color:#8296ac;}
.footer-bottom a:hover{color:var(--gold-light);}

@media (max-width: 1080px){
  nav.links{
    display:none;
    position:absolute; top:100%; left:0; right:0; background:var(--white);
    flex-direction:column; align-items:flex-start; padding:20px 24px; gap:18px;
    border-bottom:1px solid var(--border); box-shadow:0 12px 20px rgba(0,0,0,0.06);
  }
  nav.links.open{display:flex;}
  .nav-toggle{display:block;}
  .footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;}
}
@media (max-width: 600px){
  .wrap{padding:0 20px;}
  header.nav{padding:14px 20px;}
  .section{padding:56px 20px;}
  .page-banner{padding:50px 20px;}
  .page-banner h1{font-size:28px;}
  .footer-grid{grid-template-columns:1fr;}
}
