/* ── Design Tokens ─────────────────────────────── */
:root {
    --ox: #6B1C1C;
    --ox-dark: #4A1010;
    --ox-mid: #8B2E2E;
    --ox-pale: #F5EBEB;
    --gold: #C49A3C;
    --gold-lt: #E8C56A;
    --gold-pale: #FBF5E6;
    --ink: #1A1614;
    --ink-mid: #3D3330;
    --ink-soft: #6B6360;
    --sand: #F7F3EE;
    --sand-dark: #EDE8E0;
    --border: rgba(107, 28, 28, 0.12);
    --shadow: 0 2px 16px rgba(26, 22, 20, 0.08);
    --shadow-lg: 0 8px 40px rgba(26, 22, 20, 0.14);
    --r: 8px;
    --r-lg: 14px;
    --serif: 'Cormorant Garamond', Georgia, serif;
    --sans: 'Outfit', system-ui, sans-serif;
    --max: 1100px;
}

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

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--sans);
    color: var(--ink);
    background: var(--sand);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font-family: inherit;
    cursor: pointer;
}



/* ── Nav ────────────────────────────────────────── */
nav {
    position: sticky;
    top: 0;
    z-index: 50;
    min-height: 5.25rem;
    background: var(--ox);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border);
}

.nav-inner {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    min-height: 5.25rem;
}

.nav-brand {
    display: flex;
    align-items: center;
    gap: 10px;

}

.nav-brand img {
      height: 48px;
    width: 100%; 
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 6px;
}

.nav-links a {
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 400;
    color: var(--ink-mid);
    border-radius: var(--r);
    transition: background 0.15s, color 0.15s;
    font-size: 1rem;
    color: #fff;
}

.nav-links a:hover, .nav-links a:focus-visible {
    background: var(--ox-pale);
    color: var(--ox);
    outline: none;
}

.hamburger {
 display: none;
 flex-direction: column;
 gap: 4px;
 background: none;
 border: none;
 padding: 6px;
}

.hamburger span {
 width: 20px;
 height: 2px;
 background: var(--ink);
 border-radius: 2px;
 transition: 0.2s;
}

.nav-mobile {
 display: none;
}



  /* ── Footer / Contact ───────────────────────────── */
      #contact {
         background: var(--ox-dark);
         color: rgba(248, 240, 224, 0.8);
         padding: 64px 24px 32px;
      }

      .footer-inner {
         max-width: var(--max);
         margin: 0 auto;
      }

      .footer-grid {
         display: grid;
         grid-template-columns: 2fr 1fr 1fr;
         gap: 48px;
         margin-bottom: 48px;
      }

      .footer-brand-title {
         font-family: var(--serif);
         font-size: 20px;
         font-weight: 600;
         color: #F8F0E0;
         margin-bottom: 8px;
      }

      .footer-brand-sub {
         font-size: 12px;
         color: rgba(196, 154, 60, 0.6);
         letter-spacing: 0.08em;
         text-transform: uppercase;
         margin-bottom: 16px;
      }

      .footer-address {
         font-size: 14px;
         line-height: 1.8;
         color: rgba(248, 240, 224, 0.55);
      }

      .footer-col-title {
         font-size: 11px;
         letter-spacing: 0.18em;
         text-transform: uppercase;
         color: var(--gold);
         opacity: 0.7;
         font-weight: 600;
         margin-bottom: 16px;
      }

      .footer-links {
         list-style: none;
      }

      .footer-links li {
         margin-bottom: 10px;
      }

      .footer-links a {
         font-size: 14px;
         color: rgba(248, 240, 224, 0.55);
         transition: color 0.15s;
      }

      .footer-links a:hover {
         color: rgba(248, 240, 224, 0.9);
      }

      .footer-links a:focus-visible {
         outline: 2px solid var(--gold);
         outline-offset: 2px;
         border-radius: 2px;
      }

      .footer-divider {
         border: none;
         border-top: 1px solid rgba(196, 154, 60, 0.12);
         margin-bottom: 24px;
      }

      .footer-bottom {
         display: flex;
         align-items: center;
         justify-content: space-between;
         flex-wrap: wrap;
         gap: 12px;
      }

      .footer-copy {
         font-size: 12px;
         color: rgba(248, 240, 224, 0.3);
      }

      .footer-motto {
         font-family: var(--serif);
         font-size: 14px;
         font-style: italic;
         color: rgba(196, 154, 60, 0.45);
         letter-spacing: 0.05em;
      }


   /* ── Responsive ─────────────────────────────────── */
      @media (max-width: 768px) {
         .nav-links {
            display: none;
         }

         .hamburger {
            display: flex;
         }

         .nav-mobile {
            display: block;
            padding: 16px 20px 20px;
            border-top: 1px solid var(--border);
            background: rgba(247, 243, 238, 0.97);
         }

         .nav-mobile.hidden {
            display: none;
         }

         .nav-mobile a {
            display: block;
            padding: 10px 0;
            font-size: 15px;
            color: var(--ink-mid);
            border-bottom: 1px solid var(--border);
         }

         .nav-mobile a:last-child {
            border-bottom: none;
         }
      }
