   :root {
      --primary-navy: #0f1c3f;
      --accent-red: #aa1e1f;
      --bg-light: #f8fafc;
      --text-dark: #1e293b;
      --text-gray: #475569;
      --color-white: #ffffff;
      --color-ivory: #fff4e8;
      --blue: #22518a;
      --border-radius: 8px;
      --shadow-card: 0 4px 6px -1px rgba(0,0,0,0.1);
      --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
      --shadow-xl: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04);
      --warm-cream: #faf6f0;
      --warm-tan: #e8d5b7;
      --leather-brown: #8b5e3c;
      --gold: #c9a84c;
      --font-display: 'Playfair Display', Georgia, serif;
      --font-body: 'DM Sans', -apple-system, sans-serif;
      --transition: 0.3s ease;
    }

    *, ::after, ::before { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      font-family: var(--font-body);
      color: var(--text-dark);
      background: var(--color-white);
      line-height: 1.65;
      padding-top: 70px; /* header height */
    }

    .nav-backdrop {
      display: none;
      position: fixed;
      top: 70px;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0,0,0,0.5);
      z-index: 998;
      opacity: 0;
      transition: opacity 0.3s ease;
      backdrop-filter: blur(3px);
      -webkit-backdrop-filter: blur(3px);
      pointer-events: none;

    }

    .header {
      background-color: var(--accent-red);
      height: 70px;
      position: fixed;
      top: 0;
      width: 100%;
      z-index: 1000;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 5%;
      box-shadow: 0 2px 10px rgba(0,0,0,.15);
    }

    .logo-box { display: flex; align-items: center; height: 70px; text-decoration: none; }
    .logo-img  { height: 60px; width: auto; }

    .nav-menu {
      display: flex;
      list-style: none;
      align-items: center;
      gap: 4px;
      margin-right: 20px;
    }
    .nav-menu li { position: relative; }
    .nav-menu a {
      color: var(--color-ivory);
      text-decoration: none;
      padding: 10px 15px;
      font-weight: 600;
      font-size: 1rem;
      transition: .3s;
      border-radius: 4px;
    }
    .nav-menu a:hover { background: rgba(255,255,255,.15); }

    .right-actions { display: flex; align-items: center; gap: 15px; }
    
    .call-btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background-color: var(--primary-navy);
      color: var(--color-ivory);
      text-decoration: none;
      padding: 8px 18px 8px 14px;
      border-radius: 6px;
      box-shadow: 0 2px 6px rgba(0,0,0,.25);
      white-space: nowrap;
    }
    .phone-icon { width: 16px; height: 16px; flex-shrink: 0; animation: phonePulse 1.6s ease-in-out infinite; }

    @keyframes phonePulse {
      0%, 100% { opacity: 1; transform: scale(1); }
      50%       { opacity: .6; transform: scale(1.25); }
    }

    .btn-text   { display: flex; flex-direction: column; line-height: 1.2; }
    .btn-top    { font-size: 9px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
    .btn-number { font-size: 14px; font-weight: 800; }


    .hamburger {
      display: none;
      cursor: pointer;
      width: 40px;
      height: 40px;
      position: relative;
      background: transparent;
      border: none;
      border-radius: 6px;
      padding: 0;
      flex-shrink: 0;
      align-items: center;
      justify-content: center;
      -webkit-tap-highlight-color: transparent;
      transition: background 0.2s;
    }

    .hamburger:hover { background: rgba(255,255,255,.12); }

    .hamburger .bar {
      display: block;
      position: absolute;
      left: 8px;
      width: 24px;
      height: 2px;
      background: var(--color-ivory);
      border-radius: 2px;
      transition:
        transform  0.3s cubic-bezier(0.4, 0, 0.2, 1),
        opacity    0.3s cubic-bezier(0.4, 0, 0.2, 1),
        top        0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    .hamburger .bar:nth-child(1) { top: 11px; }
    .hamburger .bar:nth-child(2) { top: 19px; }
    .hamburger .bar:nth-child(3) { top: 27px; }


  @media (max-width: 768px) {
    .nav-backdrop {
      display: block;
      pointer-events: none;
    }
    .nav-backdrop.visible {
      opacity: 1;
      pointer-events: auto;
    }
    .hamburger { display: flex; }
    .nav-menu {
      display: block;
      list-style: none;
      margin: 0;
      padding: 6px 0 12px;
      gap: 0;
      position: fixed;
      top: 70px;
      left: 0;
      width: 100%;
      z-index: 999;
      background: var(--accent-red);
      box-shadow: 0 16px 48px rgba(0,0,0,.35);
      visibility: hidden;
      opacity: 0;
      transform: translateY(-6px);
      pointer-events: none;
      transition:
        opacity    0.22s cubic-bezier(0.4, 0, 0.2, 1),
        transform  0.22s cubic-bezier(0.4, 0, 0.2, 1),
        visibility 0.22s step-end;
    }
      .nav-menu li {
        position: static;
        display: block;
        width: 100%;
        border-bottom: 1px solid rgba(255,255,255,.12);
        /* Stagger entrance: start hidden */
        opacity: 0;
        transform: translateX(-12px);
        transition: opacity 0.2s ease, transform 0.2s ease;
      }

      .nav-menu li:last-child { border-bottom: none; }

      .nav-menu a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 16px 24px;
        border-radius: 0;
        font-size: 1rem;
        font-weight: 600;
        letter-spacing: 0.01em;
        color: var(--color-ivory);
        transition: background 0.15s ease, padding-left 0.15s ease;
      }

      .nav-menu a::after {
        content: '';
        display: block;
        width: 7px;
        height: 7px;
        border-right: 2px solid rgba(255,255,255,.55);
        border-top:   2px solid rgba(255,255,255,.55);
        transform: rotate(45deg);
        flex-shrink: 0;
        transition: transform 0.15s ease, border-color 0.15s ease;
      }

      .nav-menu a:hover {
        background: rgba(0,0,0,.18);
        padding-left: 32px;
      }
      .nav-menu a:hover::after {
        border-color: rgba(255,255,255,.9);
        transform: rotate(45deg) translate(2px, -2px);
      }

      .nav-menu.is-open {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
        transition:
          opacity    0.22s cubic-bezier(0.4, 0, 0.2, 1),
          transform  0.22s cubic-bezier(0.4, 0, 0.2, 1),
          visibility 0.22s step-start;
      }

    .nav-menu.is-open li:nth-child(1) { opacity: 1; transform: translateX(0); transition-delay: 0.04s; }
    .nav-menu.is-open li:nth-child(2) { opacity: 1; transform: translateX(0); transition-delay: 0.09s; }
    .nav-menu.is-open li:nth-child(3) { opacity: 1; transform: translateX(0); transition-delay: 0.13s; }
    .nav-menu.is-open li:nth-child(4) { opacity: 1; transform: translateX(0); transition-delay: 0.17s; }
    .nav-menu.is-open li:nth-child(5) { opacity: 1; transform: translateX(0); transition-delay: 0.21s; }
    .nav-menu.is-open li:nth-child(6) { opacity: 1; transform: translateX(0); transition-delay: 0.25s; }
    .nav-menu.is-open li:nth-child(7) { opacity: 1; transform: translateX(0); transition-delay: 0.29s; }
    .nav-menu.is-open li:nth-child(8) { opacity: 1; transform: translateX(0); transition-delay: 0.33s; }

    .logo-img {
      height: 36px;
    }
    .logo-box {
      height: 70px;
    }
    .call-btn {
      padding: 8px 12px 8px 10px;
      gap: 7px;
    }
    .btn-number {
      font-size: 13px;
    }
    .header {
      padding: 0 4%;
    }

    }
