:root {
      --navy: #001f3d;
      --navy2: #001f3d;
      --gold: #d4ad37;
      --gold2: #f5c118;
      --red: #c7102e;
      --cream: #f7f4f0;
      --white: #ffffff;
      --black: #000000;
    }
    * { margin: 0; padding: 0; box-sizing: border-box; }
    body { font-family: 'Barlow', sans-serif; background: var(--navy); color: var(--cream); }
    h1, h2, h3.oswald { font-family: 'Oswald', sans-serif; font-weight: 700; }
    .barlow-condensed { font-family: 'Barlow Condensed', sans-serif; }
    .gold-line { width: 80px; height: 4px; background: var(--gold); }
    .gold-line-wide { width: 120px; height: 4px; background: var(--gold); }

    /* Fade-up animation */
    .fade-up {
      opacity: 0;
      transform: translateY(40px);
      transition: opacity 0.8s ease, transform 0.8s ease;
    }
    .fade-up.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* Nav scroll */
    nav {
      transition: background 0.3s ease, box-shadow 0.3s ease;
    }
    nav.scrolled {
      box-shadow: 0 4px 24px rgba(0,0,0,0.4);
    }

    /* Hero parallax-like */
    .hero-bg {
      background-size: cover;
      background-position: center top;
      background-attachment: scroll;
    }

    /* Card hover */
    .policy-card {
      transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    }
    .policy-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 12px 40px rgba(0,0,0,0.3);
      border-color: var(--gold);
    }

    /* Photo grid hover */
    .photo-item {
      overflow: hidden;
      border-radius: 8px;
    }
    .photo-item img {
      transition: transform 0.5s ease;
    }
    .photo-item:hover img {
      transform: scale(1.05);
    }

    /* Gold accent pulse on CTA */
    .cta-pulse {
      animation: pulse-gold 2.5s infinite;
    }
    @keyframes pulse-gold {
      0%, 100% { box-shadow: 0 0 0 0 rgba(212, 173, 55, 0.4); }
      50% { box-shadow: 0 0 0 12px rgba(212, 173, 55, 0); }
    }

    /* Smooth scroll */
    html { scroll-behavior: smooth; }

    /* Modal overlay */
    .modal-overlay {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(0,15,30,0.88);
      z-index: 9999;
      align-items: center;
      justify-content: center;
      backdrop-filter: blur(6px);
    }
    .modal-overlay.active {
      display: flex;
    }

    /* Blockquote styling */
    blockquote {
      border-left: 4px solid var(--gold);
      padding-left: 1.5rem;
      font-style: italic;
    }

    /* Selection color */
    ::selection {
      background: var(--gold);
      color: var(--navy);
    }