/* Shared site chrome: the fixed header (.u-nav) and site footer.
   Previously duplicated inline in every page, which is how new pages
   ended up with a different header. Link this instead:
     <link rel="stylesheet" href="/nav.css">
   The matching markup lives in each page (nav + footer); only the
   styling is shared here. */

:root {
     --c-navy: #08111F;
     --c-navy2: #0F1E36;
     --c-gold: #C8892A;
     --c-gold2: #E8B84B;
   }

   .u-nav {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     z-index: 9000;
     height: 68px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 0 48px;
     background: rgba(10, 14, 26, 0.97);
     backdrop-filter: blur(12px);
     border-bottom: 1px solid rgba(255, 255, 255, 0.06);
     font-family: 'DM Sans', sans-serif;
     box-sizing: border-box;
   }
   .u-nav-logo {
     display: flex;
     align-items: center;
     gap: 11px;
     text-decoration: none;
     flex-shrink: 0;
   }
   .u-nav-mark {
     width: 44px;
     height: 44px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
   }
      .u-nav-mark img {
     width: 100%;
     height: 100%;
     object-fit: contain;
     display: block;
   }
.u-nav-mark svg {
     width: 20px;
     height: 20px;
     fill: #0A0E1A;
   }
   .u-nav-wordmark {
     font-family: 'Cormorant Garamond', serif;
     font-size: 15px;
     font-weight: 600;
     color: #fff;
     line-height: 1.2;
     letter-spacing: 0.01em;
   }
   .u-nav-wordmark span {
     display: block;
     font-size: 9px;
     font-weight: 400;
     color: rgba(255, 255, 255, 0.38);
     letter-spacing: 0.14em;
     font-family: 'DM Sans', sans-serif;
     text-transform: uppercase;
     margin-top: 1px;
   }
   .u-nav-links {
     display: flex;
     align-items: center;
     gap: 2px;
   }
   .u-nav-links a {
     font-size: 11px;
     color: rgba(255, 255, 255, 0.5);
     text-decoration: none;
     letter-spacing: 0.07em;
     text-transform: uppercase;
     font-weight: 500;
     padding: 7px 11px;
     border-radius: 4px;
     transition: color 0.2s;
     white-space: nowrap;
   }
   .u-nav-links a:hover { color: #E8B84B; }
   .u-nav-links a.u-active { color: #E8B84B; }
   .u-nav-cta {
     background: rgba(201, 146, 42, 0.15) !important;
     border: 1px solid rgba(201, 146, 42, 0.35) !important;
     color: #E8B84B !important;
     border-radius: 100px !important;
     padding: 7px 16px !important;
   }
   .u-nav-cta:hover {
     background: #C9922A !important;
     color: #0A0E1A !important;
     border-color: #C9922A !important;
   }
   /* ── Mobile menu toggle button (hidden on desktop) ── */
   .u-nav-toggle {
     display: none;
     background: transparent;
     border: 1px solid rgba(255,255,255,0.12);
     width: 40px;
     height: 40px;
     border-radius: 6px;
     cursor: pointer;
     padding: 0;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     transition: background 0.2s, border-color 0.2s;
   }
   .u-nav-toggle:hover { background: rgba(255,255,255,0.04); border-color: rgba(232,184,75,0.4); }
   .u-nav-toggle svg { width: 18px; height: 18px; stroke: #E8B84B; }
   .u-nav-toggle .ico-close { display: none; }
   .u-nav-toggle.is-open .ico-open { display: none; }
   .u-nav-toggle.is-open .ico-close { display: block; }

   @media(max-width:900px) {
     .u-nav { padding: 0 20px; }

     /* Hide desktop CTA on mobile (it's in the slide-out menu instead) */
     .u-nav-links { gap: 0; }

     /* Show the hamburger button on mobile */
     .u-nav-toggle { display: inline-flex; }

     /* Convert the inline links into a slide-out panel */
     .u-nav-links {
       position: fixed;
       top: 68px;
       left: 0;
       right: 0;
       background: rgba(8, 17, 31, 0.985);
       backdrop-filter: blur(14px);
       -webkit-backdrop-filter: blur(14px);
       flex-direction: column;
       align-items: stretch;
       padding: 12px 16px 24px;
       border-bottom: 1px solid rgba(200,137,42,0.18);
       max-height: calc(100vh - 68px);
       overflow-y: auto;
       transform: translateY(-12px);
       opacity: 0;
       pointer-events: none;
       transition: transform 0.22s ease, opacity 0.22s ease;
       box-shadow: 0 12px 32px rgba(0,0,0,0.4);
     }
     .u-nav-links.is-open {
       transform: translateY(0);
       opacity: 1;
       pointer-events: auto;
     }
     .u-nav-links a {
       display: block;
       padding: 14px 16px !important;
       font-size: 13px !important;
       letter-spacing: 0.14em !important;
       color: rgba(255,255,255,0.7) !important;
       border-radius: 6px;
       border: none !important;
       background: transparent !important;
       white-space: normal;
     }
     .u-nav-links a:hover { background: rgba(232,184,75,0.06) !important; color: #E8B84B !important; }
     .u-nav-links a.u-active { color: #E8B84B !important; background: rgba(232,184,75,0.06) !important; }

     /* The CTA inside the mobile panel becomes a full-width pill */
     .u-nav-links .u-nav-cta {
       margin-top: 10px;
       text-align: center;
       padding: 14px 20px !important;
       background: #C9922A !important;
       color: #08111F !important;
       border: none !important;
       font-weight: 700 !important;
     }
     .u-nav-links .u-nav-cta:hover { background: #E8B84B !important; color: #08111F !important; }
   }
   body.has-u-nav { padding-top: 68px; }

   /* ── FOOTER ── */
   .site-footer {
     background: #08111F;
     border-top: 1px solid rgba(200, 137, 42, 0.18);
     padding: 64px 60px 0;
     font-family: 'DM Sans', sans-serif;
     position: relative;
     overflow: hidden;
     color: #fff;
   }
   .site-footer::before {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     height: 300px;
     background: radial-gradient(ellipse at 50% 120%, rgba(200, 137, 42, 0.06) 0%, transparent 70%);
     pointer-events: none;
   }
   .footer-main {
     max-width: 1140px;
     margin: 0 auto 52px;
     display: grid;
     grid-template-columns: 1.6fr 1fr 1fr 1fr;
     gap: 52px;
   }
   .footer-brand-logo {
     display: flex;
     align-items: center;
     gap: 12px;
     text-decoration: none;
     margin-bottom: 18px;
   }
   .footer-brand-mark {
     width: 42px;
     height: 42px;
     background: linear-gradient(135deg, #C8892A, #E8B84B);
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
   }
   .footer-brand-mark svg { width: 22px; height: 22px; fill: #08111F; }
   .footer-brand-name {
     font-family: 'Cinzel', serif;
     font-size: 11px;
     font-weight: 700;
     color: #fff;
     line-height: 1.35;
     letter-spacing: 0.04em;
   }
   .footer-brand-name span {
     display: block;
     font-size: 8.5px;
     font-weight: 400;
     color: #E8B84B;
     letter-spacing: 0.22em;
     font-family: 'DM Sans', sans-serif;
     margin-top: 2px;
   }
   .footer-tagline {
     font-size: 13px;
     font-weight: 300;
     color: rgba(255, 255, 255, 0.35);
     line-height: 1.75;
     margin-bottom: 28px;
     max-width: 280px;
   }
   .footer-contact-block { display: flex; flex-direction: column; gap: 11px; }
   .footer-contact-link {
     display: flex;
     align-items: center;
     gap: 10px;
     text-decoration: none;
     color: rgba(255, 255, 255, 0.45);
     font-size: 13px;
     transition: color 0.2s;
   }
   .footer-contact-link:hover { color: #E8B84B; }
   .footer-contact-link .fc-icon { font-size: 14px; width: 20px; text-align: center; flex-shrink: 0; }
   .footer-col-head {
     font-family: 'Cinzel', serif;
     font-size: 9px;
     font-weight: 700;
     letter-spacing: 0.25em;
     text-transform: uppercase;
     color: rgba(255, 255, 255, 0.2);
     margin-bottom: 18px;
     padding-bottom: 10px;
     border-bottom: 1px solid rgba(255, 255, 255, 0.06);
   }
   .footer-col a {
     display: flex;
     align-items: center;
     gap: 8px;
     font-size: 13px;
     color: rgba(255, 255, 255, 0.4);
     text-decoration: none;
     margin-bottom: 11px;
     font-weight: 300;
     transition: color 0.2s, padding-left 0.2s;
     line-height: 1.4;
   }
   .footer-col a::before {
     content: '\203A';
     color: #C8892A;
     font-size: 16px;
     line-height: 1;
     opacity: 0;
     transition: opacity 0.2s;
     flex-shrink: 0;
   }
   .footer-col a:hover { color: #fff; padding-left: 4px; }
   .footer-col a:hover::before { opacity: 1; }
   .footer-col a[target="_blank"]::after {
     content: '\2197';
     font-size: 10px;
     color: rgba(200, 137, 42, 0.5);
     margin-left: auto;
   }
   .footer-divider {
     max-width: 1140px;
     margin: 0 auto;
     height: 1px;
     background: linear-gradient(90deg, transparent, rgba(200, 137, 42, 0.2), transparent);
   }
   .footer-bottom {
     max-width: 1140px;
     margin: 0 auto;
     padding: 24px 0 28px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     flex-wrap: wrap;
     gap: 12px;
   }
   .footer-copy { font-size: 11.5px; color: rgba(255, 255, 255, 0.18); }
   .footer-copy strong { color: rgba(255, 255, 255, 0.3); font-weight: 500; }
   .footer-legal { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
   .footer-legal a {
     font-size: 11.5px;
     color: rgba(255, 255, 255, 0.25);
     text-decoration: none;
     transition: color 0.2s;
   }
   .footer-legal a:hover { color: #E8B84B; }
   @media(max-width:1024px) {
     .footer-main { grid-template-columns: 1fr 1fr; gap: 36px; }
     .site-footer { padding: 56px 40px 0; }
   }
   @media(max-width:680px) {
     .footer-main { grid-template-columns: 1fr; gap: 28px; }
     .site-footer { padding: 48px 24px 0; }
     .footer-bottom { flex-direction: column; align-items: flex-start; }
   }
