/* Shared styles: variables, reset, header/nav, buttons, footer. Loaded on every page. */
  :root{
    --black:#111111;
    --white:#ffffff;
    --gold:#c8a04d;
    --gold-dark:#a8823a;
    --gray:#f5f5f3;
    --line:#e5e2da;
    --text-muted:#8a8a8a;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{
    font-family:'Georgia', 'Times New Roman', serif;
    color:var(--black);
    background:var(--white);
    line-height:1.6;
  }
  h1,h2,h3{font-family:'Helvetica Neue', Arial, sans-serif; letter-spacing:0.5px;}
  a{text-decoration:none;color:inherit;}
  img{max-width:100%;display:block;}
  .container{max-width:1160px;margin:0 auto;padding:0 24px;}
  .eyebrow{
    text-transform:uppercase;
    letter-spacing:3px;
    font-size:13px;
    color:var(--gold);
    font-family:'Helvetica Neue', Arial, sans-serif;
    font-weight:600;
    margin-bottom:14px;
    display:block;
    text-align:center;
  }
  .btn{
    display:inline-block;
    padding:16px 44px;
    background:var(--gold);
    color:var(--black);
    font-family:'Helvetica Neue', Arial, sans-serif;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    font-size:14px;
    border-radius:2px;
    border:none;
    cursor:pointer;
    transition:background 0.25s ease;
  }
  .btn:hover{background:var(--gold-dark);}

/* ---- Header / Nav ---- */
  header{
    position:sticky; top:0; z-index:100;
    background:var(--black);
    border-bottom:1px solid #2a2a2a;
  }
  .nav{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 24px;
    max-width:1160px;
    margin:0 auto;
  }
  .logo{
    font-family:'Playfair Display', Georgia, 'Times New Roman', serif;
    font-size:23px;
    font-weight:700;
    color:var(--white);
    letter-spacing:0.5px;
    white-space:nowrap;
  }
  .logo span{color:var(--gold);}
  .nav-links{display:flex; align-items:center; gap:32px; font-family:'Helvetica Neue', Arial, sans-serif; font-size:14px; color:#d9d9d9;}
  .nav-links a:hover{color:var(--gold);}
  .nav-cta{
    background:var(--gold); color:var(--black);
    padding:10px 24px; border-radius:2px;
    font-family:'Helvetica Neue', Arial, sans-serif;
    font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:0.5px;
    white-space:nowrap;
  }
  .nav-cta-mobile{display:none;}
  .nav-toggle{
    display:none;
    background:none; border:none; color:var(--white);
    font-size:26px; line-height:1; cursor:pointer; padding:4px 6px;
  }
  @media (max-width:768px){
    .nav-cta-desktop{display:none;}
    .nav-toggle{display:block;}
    .nav-links{
      display:none;
      position:absolute; top:100%; left:0; right:0;
      background:var(--black);
      flex-direction:column;
      align-items:flex-start;
      gap:20px;
      padding:24px;
      border-bottom:1px solid #2a2a2a;
    }
    .nav-links.open{display:flex;}
    .nav-cta-mobile{display:inline-block;}
  }
  @media (max-width:480px){
    .logo{font-size:14px; letter-spacing:0.3px;}
  }

/* ---- Footer ---- */
  footer{background:var(--black); color:#a9a9a9; padding:70px 0 30px;}
  .footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1fr;
    gap:40px;
    padding-bottom:50px;
    border-bottom:1px solid #2a2a2a;
  }
  .footer-grid h4{
    color:var(--white); font-size:14px; margin-bottom:18px;
    text-transform:uppercase; letter-spacing:1px;
    font-family:'Helvetica Neue', Arial, sans-serif;
  }
  .footer-grid ul{list-style:none;}
  .footer-grid li{margin-bottom:10px; font-size:14px;}
  .footer-grid li a:hover{color:var(--gold);}
  .footer-brand p{font-size:14px; max-width:280px; color:#8f8f8f; margin-top:14px;}
  .footer-bottom{
    display:flex; justify-content:center; align-items:center; text-align:center;
    padding-top:26px; font-size:12.5px; color:#6f6f6f; flex-wrap:wrap; gap:12px;
  }
  @media (max-width:860px){ .footer-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:560px){ .footer-grid{grid-template-columns:1fr;} .footer-bottom{flex-direction:column; align-items:center;} }
