/* Formational Fitness — brand system
   Navy #1F272C · Gold #BA945A · Cream #F6F3EF
   Display: Oswald · Body: DM Sans
*/
:root{
  --navy:#14213D;
  --navy-soft:#26324C;
  --gold:#C9A227;
  --gold-light:#DBC272;
  --cream:#F6F3EF;
  --cream-2:#EDE6DA;
  --ink-muted:#5B6066;
  --border:rgba(31,39,44,0.14);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--navy);
  font-family:'DM Sans',sans-serif;
  font-weight:400;
  line-height:1.7;
  overflow-x:hidden;
}
.label{
  font-family:'DM Sans',sans-serif;
  font-weight:700;
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
}

/* NAV */
nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(246,243,239,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
  padding:24px 40px;
  display:flex; justify-content:space-between; align-items:center;
}
.nav-toggle{
  display:none; background:none; border:none; cursor:pointer; padding:8px;
  flex-direction:column; gap:5px; z-index:101;
}
.nav-toggle span{ display:block; width:22px; height:2px; background:var(--navy); transition:transform .2s, opacity .2s; }
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.nav-brand{
  font-family:'Oswald',sans-serif;
  font-weight:700;
  font-size:19px;
  letter-spacing:.03em;
  color:var(--navy);
  text-decoration:none;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:10px;
}
.nav-brand img{ width:30px; height:30px; flex-shrink:0; }
.nav-brand span{ color:var(--gold); }
.nav-links{ display:flex; gap:28px; align-items:center; }
.nav-links a{
  font-family:'DM Sans',sans-serif;
  font-weight:600;
  font-size:13.5px;
  letter-spacing:.1em;
  color:var(--navy);
  opacity:.7;
  text-transform:uppercase;
  text-decoration:none;
  transition:opacity .2s;
}
.nav-links a:hover{ opacity:1; }
.nav-cta{
  color:var(--gold) !important;
  border:1px solid var(--gold);
  padding:10px 20px;
  opacity:1 !important;
  transition:all .2s !important;
}
.nav-cta:hover{ background:var(--gold); color:var(--cream) !important; }

/* BUTTONS */
.btn-primary{
  background:var(--navy); color:var(--cream);
  padding:18px 40px; font-family:'DM Sans',sans-serif; font-weight:600; font-size:14px;
  letter-spacing:.08em; text-transform:uppercase; text-decoration:none; display:inline-block;
  border:1px solid var(--navy); transition:all .2s;
}
.btn-primary:hover{ background:transparent; color:var(--navy); }
.btn-secondary{
  background:transparent; color:var(--navy); padding:18px 40px;
  font-family:'DM Sans',sans-serif; font-weight:600; font-size:14px;
  letter-spacing:.08em; text-transform:uppercase; text-decoration:none;
  border:1px solid var(--navy); transition:all .2s; display:inline-block;
}
.btn-secondary:hover{ background:var(--navy); color:var(--cream); }
.btn-gold{
  background:var(--gold); color:var(--navy); padding:16px 34px;
  font-family:'DM Sans',sans-serif; font-weight:700; font-size:13px;
  letter-spacing:.08em; text-transform:uppercase; text-decoration:none;
  display:inline-block; transition:all .2s; border:1px solid var(--gold);
}
.btn-gold:hover{ background:transparent; color:var(--gold); }

/* FOOTER */
footer{
  border-top:1px solid var(--border); padding:40px 32px;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:16px; background:var(--navy); color:var(--cream);
}
.footer-brand{
  font-family:'Oswald',sans-serif; font-weight:700; font-size:13px;
  letter-spacing:.08em; color:var(--cream); text-transform:uppercase;
  display:flex; align-items:center; gap:10px;
}
.footer-brand img{ width:24px; height:24px; flex-shrink:0; }
.footer-links{ display:flex; gap:24px; flex-wrap:wrap; }
.footer-links a{
  font-family:'DM Sans',sans-serif; font-weight:600; font-size:10.5px;
  letter-spacing:.14em; color:var(--gold); text-transform:uppercase;
  text-decoration:none; transition:opacity .2s;
}
.footer-links a:hover{ opacity:.7; }
.footer-copy{
  font-family:'DM Sans',sans-serif; font-size:10.5px; letter-spacing:.08em;
  color:rgba(246,243,239,.55); text-transform:uppercase; width:100%;
}

@media (max-width:820px){
  nav{ padding:14px 20px; }
  .nav-toggle{ display:flex; }
  .nav-links{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--cream); flex-direction:column; align-items:stretch;
    gap:0; padding:8px 20px 20px; border-bottom:1px solid var(--border);
    box-shadow:0 12px 24px rgba(31,39,44,0.08);
  }
  .nav-links.open{ display:flex; }
  .nav-links a{
    padding:14px 0; width:100%; opacity:1; border-bottom:1px solid var(--border);
    font-size:14px;
  }
  .nav-cta{ margin-top:12px; text-align:center; }
  footer{ flex-direction:column; align-items:flex-start; }
}
