/* ---------- CTA ---------- */
  #cta{
    padding: 120px 0; background: radial-gradient(1200px 500px at 50% -10%, rgba(200,162,77,.14), transparent 60%), linear-gradient(160deg, var(--navy), #081527);
    text-align:center; color:#fff;
  }
  #cta h2{ color:#fff; font-size: clamp(2rem, 4vw, 3rem); max-width:820px; margin: 0 auto 22px; }
  #cta p{ color: rgba(255,255,255,.7); max-width: 560px; margin: 0 auto 40px; font-size:16px; line-height:1.7; }

  /* ---------- footer ---------- */
  footer{ background: #081527; color: rgba(255,255,255,.65); padding: 84px 0 32px; }
  .footer-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap:48px; margin-bottom:64px; }
  .footer-grid h4{ color:#fff; font-family:'Inter',sans-serif; font-size:14px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:22px; font-weight:700; }
  .footer-grid ul{ list-style:none; display:flex; flex-direction:column; gap:13px; }
  .footer-grid a{ font-size:14.5px; transition: color .3s ease; }
  .footer-grid a:hover{ color: var(--gold-light); }
  .footer-brand p{ font-size:14.5px; line-height:1.8; max-width:320px; margin: 18px 0 26px; }
  .socials{ display:flex; gap:12px; }
  .socials a{
    width:38px; height:38px; border-radius:10px; background: rgba(255,255,255,.06);
    display:flex; align-items:center; justify-content:center; transition: background .3s ease, transform .3s ease;
  }
  .socials a:hover{ background: var(--gold); color: var(--navy); transform: translateY(-3px); }
  .footer-bottom{ border-top:1px solid rgba(255,255,255,.08); padding-top:28px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-size:13px; }

  /* ---------- back to top ---------- */
  #back-to-top{
    position: fixed; bottom: 28px; right: 28px; width:50px; height:50px; border-radius:50%;
    background: var(--navy); color:#fff; display:flex; align-items:center; justify-content:center;
    cursor:pointer; z-index:90; opacity:0; pointer-events:none; transition: all .4s ease;
    box-shadow: 0 14px 30px -10px rgba(11,31,58,.4);
  }
  #back-to-top.show{ opacity:1; pointer-events:auto; }
  #back-to-top:hover{ background: var(--gold); color: var(--navy); transform: translateY(-4px); }

  /* ---------- focus ---------- */
  a:focus-visible, button:focus-visible{ outline: 2px solid var(--gold); outline-offset:3px; border-radius:6px; }