/* ============================================================
   RSAAIDIAMONDS — SHARED STYLESHEET
   Used by all sub-pages (legal, product categories, about).
   The hero on the homepage uses the same design tokens but has
   additional hero-specific styling inline in index.html.
   ============================================================ */

:root{
  --royal-blue:#1a3a8f;
  --royal-blue-deep:#0f2560;
  --royal-blue-darker:#081640;
  --light-blue:#d4e4f7;
  --light-blue-pale:#ecf3fc;
  --white:#ffffff;
  --off-white:#fafbfd;
  --gold:#b8956a;
  --gold-bright:#d4a853;
  --gold-light:#d4b896;
  --gold-deep:#8a6e4a;
  --charcoal:#2a2e36;
  --charcoal-soft:#4a4f5a;
  --silver:#c9d1de;

  --font-display:'Cormorant Garamond','Times New Roman',serif;
  --font-body:'Inter',-apple-system,sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  font-family:var(--font-body);
  color:var(--charcoal);
  background:var(--royal-blue-darker);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  padding-bottom:64px; /* room for fixed hero footer bar */
}

/* ============================================================
   STARFIELD CANVAS
   ============================================================ */
#starfield{
  position:fixed;top:0;left:0;
  width:100vw;height:100vh;
  z-index:0;
  pointer-events:none;
}

/* ============================================================
   TOP NAV
   ============================================================ */
nav.top-nav{
  position:fixed;top:0;left:0;right:0;
  z-index:100;
  background:rgba(15,37,96,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(184,149,106,.25);
  padding:14px 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-brand-wrap{display:flex;align-items:center;gap:12px;text-decoration:none}

.nav-mark{
  width:34px;height:34px;
  flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 0 6px rgba(74,146,205,.4));
}
.nav-mark video{width:100%;height:100%;object-fit:contain;display:block}

.nav-brand{display:flex;flex-direction:column;line-height:1}
.nav-brand-name{
  font-family:var(--font-display);
  font-size:22px;font-weight:500;
  color:var(--white);letter-spacing:.06em;
}
.nav-brand-sub{
  font-size:9px;font-weight:400;
  color:var(--gold-light);
  letter-spacing:.2em;text-transform:uppercase;
  margin-top:3px;
}

.nav-links{display:flex;gap:30px;align-items:center}
.nav-links a{
  font-size:12px;font-weight:400;
  color:var(--white);text-decoration:none;
  letter-spacing:.15em;text-transform:uppercase;
  transition:color .3s;position:relative;padding:6px 0;
}
.nav-links a:hover,.nav-links a.active{color:var(--gold-light)}
.nav-links a.active::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:1px;background:var(--gold);
}

.nav-cta{
  background:var(--gold);
  color:var(--royal-blue-deep);
  border:none;
  padding:11px 26px;
  border-radius:24px;
  font-family:var(--font-body);
  font-size:12px;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;
  cursor:pointer;
  transition:all .25s;
  position:relative;
  box-shadow:0 4px 14px rgba(212,168,83,.35);
  display:inline-flex;align-items:center;gap:8px;
}
.nav-cta::before{
  content:'';
  width:6px;height:6px;border-radius:50%;
  background:var(--royal-blue-deep);
  box-shadow:0 0 0 0 rgba(15,37,96,.6);
  animation:conciergePulse 2.4s ease-in-out infinite;
}
@keyframes conciergePulse{
  0%,100%{box-shadow:0 0 0 0 rgba(15,37,96,.6)}
  50%{box-shadow:0 0 0 5px rgba(15,37,96,0)}
}
.nav-cta:hover{
  background:var(--gold-bright);
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(212,168,83,.5);
}

@media(max-width:900px){
  .nav-links{display:none}
  .nav-cta{display:none}
  .nav-hamburger{display:block}
  nav.top-nav{padding:12px 18px}
  .nav-brand-name{font-size:19px}
}

/* ============================================================
   PAGE CONTENT WRAPPER
   ============================================================ */
.page-wrap{
  position:relative;z-index:1;
  padding:120px 40px 80px;
  min-height:80vh;
}
.page-inner{max-width:1100px;margin:0 auto}

@media(max-width:780px){
  .page-wrap{padding:90px 18px 60px}
}

/* Page intro — eyebrow + title + lede */
.page-intro{
  text-align:center;
  margin-bottom:60px;
}
.page-eyebrow{
  font-size:11px;color:var(--gold-bright);
  letter-spacing:.4em;text-transform:uppercase;
  margin-bottom:18px;font-weight:500;
}
.page-title{
  font-family:var(--font-display);
  font-size:54px;font-weight:400;
  color:var(--white);line-height:1.1;
  margin-bottom:22px;
  letter-spacing:.02em;
}
.page-lede{
  font-family:var(--font-display);
  font-size:20px;font-weight:300;font-style:italic;
  color:var(--gold-light);
  line-height:1.6;
  max-width:680px;margin:0 auto;
}
@media(max-width:780px){
  .page-title{font-size:38px}
  .page-lede{font-size:17px}
}

/* ============================================================
   PRODUCT BLOCKS — used on category pages
   2 stacked videos LEFT + description text RIGHT
   ============================================================ */
.product-block{
  display:grid;
  grid-template-columns:380px 1fr;
  gap:48px;
  margin-bottom:80px;
  align-items:center;
}
@media(max-width:900px){
  .product-block{grid-template-columns:1fr;gap:32px;margin-bottom:60px}
}

.product-videos{
  display:flex;flex-direction:column;
  gap:18px;
}

.product-video{
  position:relative;
  width:100%;aspect-ratio:1/1;
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(135deg,#1a3d70 0%,#0a2456 100%);
  border:1px solid rgba(184,149,106,.4);
  box-shadow:0 12px 36px rgba(8,22,64,.4);
  display:flex;align-items:center;justify-content:center;
}
/* Diamond mini video looped inside as visual placeholder */
.product-video video{
  width:60%;height:60%;object-fit:cover;
  border-radius:50%;
  opacity:.85;
}
.product-video::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at center,transparent 30%,rgba(8,22,64,.5) 100%);
  pointer-events:none;
}
.product-video-caption{
  position:absolute;
  bottom:14px;left:14px;right:14px;
  font-family:var(--font-display);
  font-size:13px;font-style:italic;
  color:var(--gold-light);
  text-align:center;
  letter-spacing:.15em;
  text-transform:uppercase;
  z-index:2;
  background:rgba(8,22,64,.75);
  padding:6px 12px;
  border-radius:20px;
  backdrop-filter:blur(8px);
}

.product-detail-title{
  font-family:var(--font-display);
  font-size:34px;font-weight:400;
  color:var(--white);
  letter-spacing:.02em;
  margin-bottom:8px;
}
.product-detail-eyebrow{
  font-size:10px;
  color:var(--gold-bright);
  letter-spacing:.4em;text-transform:uppercase;
  margin-bottom:14px;font-weight:500;
}
.product-detail-igi{
  display:inline-block;
  background:rgba(184,149,106,.12);
  border:1px solid var(--gold);
  color:var(--gold-light);
  padding:6px 14px;
  border-radius:18px;
  font-size:11px;
  letter-spacing:.15em;
  text-transform:uppercase;
  margin-bottom:18px;
  font-weight:500;
}
.product-detail-igi::before{
  content:'';
  display:inline-block;
  width:6px;height:6px;
  border-radius:50%;
  background:var(--gold-bright);
  margin-right:8px;
  vertical-align:middle;
}
.product-specs{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px 24px;
  margin-bottom:18px;
  font-size:14px;
}
.product-specs dt{
  color:var(--gold-light);
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:10px;
  font-weight:500;
  align-self:center;
}
.product-specs dd{
  color:var(--white);
  font-family:var(--font-display);
  font-size:16px;
  font-weight:300;
}
.product-detail-desc{
  font-family:var(--font-display);
  font-size:16px;font-weight:300;
  color:rgba(212,184,150,.95);
  line-height:1.7;
  margin-bottom:14px;
}
.product-detail-meta{
  font-size:12px;
  color:rgba(212,184,150,.7);
  font-style:italic;
  letter-spacing:.04em;
}

/* ============================================================
   LEGAL/CONTENT PAGES — long-form prose
   ============================================================ */
.content-prose{
  max-width:820px;margin:0 auto;
  color:rgba(212,184,150,.92);
  font-size:15px;
  line-height:1.75;
}
.content-prose h2{
  font-family:var(--font-display);
  font-size:28px;font-weight:500;
  color:var(--white);
  margin-top:42px;margin-bottom:14px;
  letter-spacing:.02em;
}
.content-prose h2:first-child{margin-top:0}
.content-prose h3{
  font-family:var(--font-display);
  font-size:20px;font-weight:500;
  color:var(--gold-light);
  margin-top:28px;margin-bottom:10px;
  letter-spacing:.02em;
}
.content-prose p{margin-bottom:16px}
.content-prose ul,.content-prose ol{
  margin:14px 0 18px 24px;
  padding-left:0;
}
.content-prose li{margin-bottom:8px}
.content-prose a{color:var(--gold-bright);text-decoration:underline}
.content-prose a:hover{color:var(--gold-light)}
.content-prose strong{color:var(--white);font-weight:500}
.content-prose em{font-style:italic}
.content-prose .meta-block{
  background:rgba(15,37,96,.5);
  border-left:3px solid var(--gold);
  padding:18px 22px;
  margin:24px 0;
  font-size:13px;
  color:rgba(212,184,150,.8);
}
.content-prose .meta-block strong{color:var(--gold-light)}
.content-prose .updated-date{
  color:rgba(212,184,150,.6);
  font-style:italic;
  font-size:13px;
  margin-bottom:30px;
  text-align:center;
}

/* ============================================================
   ASK DIA EMBEDDED BLOCK (every page before footer)
   ============================================================ */
.ask-dia-block{
  position:relative;z-index:1;
  background:rgba(8,22,64,.7);
  border-top:1px solid rgba(184,149,106,.3);
  border-bottom:1px solid rgba(184,149,106,.3);
  padding:44px 24px;
  backdrop-filter:blur(10px);
}
.ask-dia-inner{
  max-width:780px;margin:0 auto;
  display:flex;flex-direction:column;align-items:center;gap:18px;
  text-align:center;
}
.ask-dia-eyebrow{
  font-size:10px;
  color:var(--gold-bright);
  letter-spacing:.4em;text-transform:uppercase;
  font-weight:500;
}
.ask-dia-prompt{
  font-family:var(--font-display);
  font-size:26px;font-weight:300;font-style:italic;
  color:var(--gold-light);
  line-height:1.4;
  max-width:580px;
}
.ask-dia-input-row{
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(184,149,106,.5);
  border-radius:30px;
  padding:6px 6px 6px 22px;
  width:100%;max-width:560px;
}
.ask-dia-input-row:focus-within{border-color:var(--gold)}
.ask-dia-input-row input{
  flex:1;
  background:transparent;border:none;
  font-family:var(--font-body);
  font-size:14px;color:var(--white);
  outline:none;padding:8px 0;min-width:0;
}
.ask-dia-input-row input::placeholder{color:rgba(212,184,150,.55)}
.ask-dia-input-row button{
  width:38px;height:38px;border-radius:50%;
  background:var(--gold);color:var(--royal-blue-deep);
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.ask-dia-input-row button svg{
  width:14px;height:14px;
  fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}

/* ============================================================
   FIXED HERO FOOTER BAR (every page) — clock LEFT + typewriter MIDDLE + chat RIGHT
   ============================================================ */
.hero-footer-bar{
  position:fixed;
  bottom:0;left:0;right:0;
  z-index:90;
  background:rgba(15,37,96,.96);
  border-top:1px solid rgba(184,149,106,.35);
  backdrop-filter:blur(14px);
  padding:10px 24px;
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;
  min-height:64px;
}
.footer-clock{
  display:flex;flex-direction:column;align-items:flex-start;
  line-height:1.1;color:var(--white);
  flex-shrink:0;
}
.clock-time{
  font-family:var(--font-body);
  font-size:16px;font-weight:600;
  letter-spacing:.04em;
  color:var(--white);
  display:flex;align-items:center;gap:8px;
}
.clock-time .dot{
  width:6px;height:6px;background:var(--gold-light);
  border-radius:50%;
  animation:pulseDot 2s ease-in-out infinite;
}
@keyframes pulseDot{0%,100%{opacity:.5}50%{opacity:1}}
.clock-date{
  font-size:10px;letter-spacing:.15em;
  color:var(--gold-light);
  margin-top:3px;margin-left:14px;
}

.footer-typewriter{
  flex:1;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  padding:0 20px;
  min-width:0;
}
.footer-typewriter-text{
  font-family:var(--font-display);
  font-size:13px;font-weight:300;font-style:italic;
  color:var(--gold-light);
  letter-spacing:.04em;
  line-height:1.3;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.footer-typewriter-cursor{
  display:inline-block;
  width:2px;height:14px;
  background:var(--gold);
  margin-left:2px;
  vertical-align:middle;
  animation:blinkCursor 1s steps(2) infinite;
}
.footer-typewriter-cursor.done{display:none}
@keyframes blinkCursor{0%,50%{opacity:1}51%,100%{opacity:0}}
@media(max-width:980px){.footer-typewriter{display:none}}

.footer-chat{
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(184,149,106,.5);
  border-radius:24px;
  padding:4px 4px 4px 16px;
  width:380px;flex-shrink:0;
  transition:border-color .2s,box-shadow .2s;
}
.footer-chat:focus-within{border-color:var(--gold)}
.footer-chat-label{
  font-family:var(--font-display);
  font-size:14px;font-style:italic;
  color:var(--gold-light);
  margin-right:6px;flex-shrink:0;
}
.footer-chat-input{
  flex:1;background:transparent;border:none;
  font-family:var(--font-body);font-size:14px;
  color:var(--white);outline:none;padding:8px 0;min-width:0;
}
.footer-chat-input::placeholder{color:rgba(212,184,150,.6)}
.footer-chat-mic,.footer-chat-send{
  width:34px;height:34px;border-radius:50%;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all .2s;
}
.footer-chat-mic{background:transparent;color:var(--gold-light)}
.footer-chat-mic:hover{background:rgba(184,149,106,.2)}
.footer-chat-mic svg,.footer-chat-send svg{width:14px;height:14px}
.footer-chat-send{background:var(--gold);color:var(--royal-blue-deep)}
.footer-chat-send:hover{background:var(--gold-bright)}
.footer-chat-send svg{
  fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
@media(max-width:780px){
  .hero-footer-bar{padding:8px 12px;gap:10px;min-height:60px}
  .footer-chat-label{display:none}
  .clock-date{font-size:9px}
  .clock-time{font-size:14px}
  .footer-chat{width:auto;flex:1}
}
@media(max-width:480px){.footer-chat-mic{display:none}}

/* ============================================================
   SITE FOOTER
   ============================================================ */
.site-footer{
  position:relative;z-index:1;
  background:rgba(8,22,64,.96);
  border-top:1px solid rgba(184,149,106,.2);
  padding:40px 40px 30px;
}
.footer-main{
  max-width:1200px;margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:36px;
  margin-bottom:34px;
}
@media(max-width:900px){.footer-main{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:600px){.footer-main{grid-template-columns:1fr;gap:24px}}

.footer-brand-row{
  display:flex;align-items:center;gap:12px;
  margin-bottom:14px;
}
.footer-brand-text{display:flex;flex-direction:column;line-height:1}
.footer-brand-block .brand-name{
  font-family:var(--font-display);
  font-size:24px;color:var(--white);
  letter-spacing:.06em;
}
.footer-brand-block .brand-sub{
  font-size:10px;color:var(--gold-light);
  letter-spacing:.2em;text-transform:uppercase;
  margin-top:3px;
}
.footer-brand-block p{
  font-size:13px;line-height:1.7;
  color:rgba(212,184,150,.8);max-width:320px;
}
.footer-col h4{
  font-family:var(--font-display);
  font-size:15px;color:var(--gold-light);
  letter-spacing:.1em;font-weight:500;
  margin-bottom:14px;
}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:8px}
.footer-col a{
  color:rgba(212,184,150,.75);
  text-decoration:none;font-size:13px;
  transition:color .2s;
}
.footer-col a:hover{color:var(--gold-bright)}

.footer-divider{
  border-top:1px solid rgba(184,149,106,.2);
  max-width:1200px;margin:0 auto 22px;
}
.site-footer-bar{
  max-width:1200px;margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:24px;align-items:center;
}
.site-footer-clock{display:flex;flex-direction:column;line-height:1.1}
.site-footer-clock .clock-time{font-size:14px;color:var(--white)}
.site-footer-clock .clock-date{font-size:10px;color:var(--gold-light);margin-top:3px;margin-left:0}

.site-footer-legal{
  display:flex;gap:18px;flex-wrap:wrap;justify-content:center;
  font-size:11px;
}
.site-footer-legal a{
  color:rgba(212,184,150,.65);text-decoration:none;
  letter-spacing:.05em;
}
.site-footer-legal a:hover{color:var(--gold-bright)}

.site-footer-chat{
  display:flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(184,149,106,.4);
  border-radius:22px;
  padding:3px 3px 3px 14px;
  width:280px;
}
.site-footer-chat input{
  flex:1;background:transparent;border:none;
  font-size:13px;color:var(--white);outline:none;
  padding:6px 0;min-width:0;
}
.site-footer-chat input::placeholder{color:rgba(212,184,150,.55)}
.site-footer-chat button{
  width:28px;height:28px;border-radius:50%;
  background:var(--gold);color:var(--royal-blue-deep);
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.site-footer-chat button svg{
  width:12px;height:12px;
  fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
@media(max-width:900px){
  .site-footer-bar{grid-template-columns:1fr;gap:18px;text-align:center}
  .site-footer-clock,.site-footer-legal,.site-footer-chat{justify-self:center}
}

.site-footer-ftc{
  max-width:1200px;margin:24px auto 0;
  padding-top:18px;
  border-top:1px solid rgba(184,149,106,.15);
  font-size:10px;line-height:1.7;
  color:rgba(212,184,150,.55);
  font-style:italic;
}
.site-footer-ftc strong{color:rgba(212,184,150,.75);font-style:normal}

.site-footer-copy{
  text-align:center;margin-top:14px;
  font-size:10px;color:rgba(212,184,150,.5);
  letter-spacing:.05em;
}

/* ============================================================
   FULL-PAGE HERO — Men's Collection
   Falling-diamond video fills the entire page area beneath the
   top nav. Same chrome (nav, footer-bar, starfield) as the rest
   of the site. Captions sync over the video. Audio control floats.
   ============================================================ */
.page-hero-full{
  position:relative;
  margin:-120px -40px 0;
  padding:160px 40px 100px;
  min-height:calc(100vh - 64px);
  overflow:hidden;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.page-hero-full .page-intro{
  position:relative;
  z-index:3;
  margin-bottom:48px;
}
.page-hero-bg{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:cover;
  z-index:0;
  opacity:.45;
}
.page-hero-full::after{
  /* Vignette + edge fade so chrome stays readable */
  content:'';position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(ellipse at center, rgba(8,22,64,.15) 0%, rgba(8,22,64,.45) 65%, rgba(8,22,64,.85) 100%),
    linear-gradient(to bottom, rgba(8,22,64,.65) 0%, transparent 15%, transparent 85%, var(--royal-blue-darker) 100%);
  pointer-events:none;
}

/* Caption layer — synced italic title cards */
.hero-caption{
  position:relative;
  z-index:3;
  width:min(86%,720px);
  text-align:center;
  font-family:var(--font-display);
  font-weight:300;
  font-style:italic;
  font-size:clamp(20px,2.6vw,30px);
  line-height:1.5;
  color:#fff;
  letter-spacing:.01em;
  text-shadow:0 2px 22px rgba(0,0,0,.85),0 1px 2px rgba(0,0,0,.95);
  opacity:0;
  pointer-events:none;
  transition:opacity .8s ease;
  min-height:4.5em;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-caption.visible{opacity:1}

/* Audio mute/unmute control — gold pill at bottom-center */
.hero-audio-control{
  position:relative;
  z-index:3;
  margin-top:36px;
}
.hero-audio-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:11px 24px 11px 18px;
  background:rgba(8,22,64,.5);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(184,149,106,.55);
  color:var(--gold-light);
  border-radius:24px;
  font-family:var(--font-body);
  font-size:12px;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s, border-color .2s, color .2s;
}
.hero-audio-btn:hover{
  background:rgba(184,149,106,.18);
  border-color:var(--gold-bright);
  color:var(--gold-bright);
}
.hero-audio-btn svg{
  width:16px;height:16px;display:block;
}

@media(max-width:780px){
  .page-hero-full{
    margin:-90px -18px 0;
    padding:120px 18px 80px;
    min-height:calc(100vh - 64px);
  }
  .hero-caption{
    font-size:16px;
  }
}

/* ============================================================
   COOKIE CONSENT BANNER — footer panel, first visit only.
   Navy/gold palette to match site. Sits above the fixed hero
   footer bar (z-index higher) and slides up on appear.
   ============================================================ */
#cookieConsent{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:9000;
  background:linear-gradient(180deg, rgba(15,37,96,.97) 0%, rgba(8,22,64,.99) 100%);
  border-top:1px solid rgba(212,184,150,.35);
  box-shadow:0 -8px 40px rgba(0,0,0,.45);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:20px 28px;
  transform:translateY(110%);
  transition:transform .5s cubic-bezier(.22,1,.36,1);
  font-family:var(--font-body),'Inter',sans-serif;
}
#cookieConsent.visible{ transform:translateY(0); }
.cookie-consent-inner{
  max-width:1180px; margin:0 auto;
  display:flex; align-items:center; gap:28px;
  flex-wrap:wrap;
}
.cookie-consent-text{
  flex:1 1 420px;
  color:#d4e4f7;
  font-size:13.5px; font-weight:300; line-height:1.6;
  letter-spacing:.01em;
}
.cookie-consent-text strong{
  color:#d4b896; font-weight:500;
}
.cookie-consent-text a{
  color:#d4a853; text-decoration:underline;
  text-underline-offset:2px;
}
.cookie-consent-text a:hover{ color:#d4b896; }
.cookie-consent-actions{
  display:flex; gap:12px; align-items:center;
  flex:0 0 auto;
}
.cookie-btn{
  font-family:var(--font-body),'Inter',sans-serif;
  font-size:13px; font-weight:500;
  letter-spacing:.04em;
  padding:11px 26px;
  border-radius:2px;
  cursor:pointer;
  border:1px solid transparent;
  transition:all .25s ease;
  white-space:nowrap;
}
.cookie-btn-accept{
  background:linear-gradient(135deg,#d4a853 0%,#b8956a 100%);
  color:#081640;
  border-color:#d4b896;
}
.cookie-btn-accept:hover{
  background:linear-gradient(135deg,#d4b896 0%,#cfa97a 100%);
  transform:translateY(-1px);
  box-shadow:0 4px 16px rgba(212,168,83,.35);
}
.cookie-btn-decline{
  background:transparent;
  color:#d4b896;
  border-color:rgba(212,184,150,.4);
}
.cookie-btn-decline:hover{
  border-color:#d4b896;
  background:rgba(212,184,150,.08);
}
@media (max-width:680px){
  #cookieConsent{ padding:18px 18px; }
  .cookie-consent-inner{ flex-direction:column; align-items:stretch; gap:16px; text-align:center; }
  .cookie-consent-actions{ justify-content:center; }
  .cookie-btn{ flex:1 1 auto; padding:12px 18px; }
}

/* ============================================================
   MOBILE NAV — shared hamburger + slide-in overlay.
   Hamburger hidden by default; shown at <=900px (see media
   query above). Overlay panel slides in from the right.
   Used by all sub-pages so mobile users can navigate.
   ============================================================ */
.nav-hamburger{
  background:transparent;border:none;cursor:pointer;
  width:36px;height:36px;padding:0;position:relative;z-index:101;
}
.nav-hamburger span{
  display:block;position:absolute;left:6px;right:6px;
  height:1.5px;background:var(--gold-light);
  transition:all .3s ease;border-radius:2px;
}
.nav-hamburger span:nth-child(1){top:11px}
.nav-hamburger span:nth-child(2){top:17px}
.nav-hamburger span:nth-child(3){top:23px}
body.nav-open .nav-hamburger span:nth-child(1){transform:rotate(45deg);top:17px}
body.nav-open .nav-hamburger span:nth-child(2){opacity:0}
body.nav-open .nav-hamburger span:nth-child(3){transform:rotate(-45deg);top:17px}

.mobile-nav-overlay{
  position:fixed;inset:0;
  background:rgba(8,22,64,0);backdrop-filter:blur(0px);
  z-index:99;pointer-events:none;
  transition:background .35s,backdrop-filter .35s;
}
.mobile-nav-overlay.open{
  background:rgba(8,22,64,.6);backdrop-filter:blur(8px);pointer-events:auto;
}
.mobile-nav-panel{
  position:fixed;top:0;right:0;
  width:min(86vw,360px);height:100vh;
  background:linear-gradient(165deg,#0f2560 0%,#081640 100%);
  border-left:1px solid rgba(184,149,106,.25);
  box-shadow:-20px 0 60px rgba(0,0,0,.5);
  padding:80px 32px 40px;
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.5,.1,.25,1);
  overflow-y:auto;z-index:100;
}
.mobile-nav-overlay.open .mobile-nav-panel{transform:translateX(0)}
.mobile-nav-close{
  position:absolute;top:22px;right:22px;
  background:transparent;border:none;color:var(--gold-light);cursor:pointer;
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  transition:color .2s,transform .2s;
}
.mobile-nav-close:hover{color:var(--gold);transform:rotate(90deg)}
.mobile-nav-brand{
  font-family:var(--font-display);
  font-size:24px;letter-spacing:.1em;color:var(--white);font-weight:500;margin-bottom:4px;
}
.mobile-nav-sub{
  font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);
  margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid rgba(184,149,106,.2);
}
.mobile-nav-list{display:flex;flex-direction:column;gap:18px}
.mobile-nav-direct{
  font-size:15px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--white);text-decoration:none;padding:10px 0;
  border-bottom:1px solid rgba(184,149,106,.15);
  transition:color .2s,padding-left .2s;
}
.mobile-nav-direct:hover{color:var(--gold-light);padding-left:8px}
.mobile-nav-section{padding:10px 0 6px;border-bottom:1px solid rgba(184,149,106,.15)}
.mobile-nav-section-title{
  font-family:var(--font-display);
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;
}
.mobile-nav-section a{
  display:block;font-size:13px;letter-spacing:.08em;
  color:var(--white);text-decoration:none;padding:7px 0 7px 16px;
  transition:color .2s,padding-left .2s;border-left:1px solid transparent;
}
.mobile-nav-section a:hover{color:var(--gold-light);padding-left:22px;border-left-color:var(--gold)}
.mobile-nav-cta{
  margin-top:36px;background:var(--gold);color:var(--royal-blue-deep);border:none;
  padding:14px 28px;border-radius:30px;
  font-family:var(--font-body);font-size:12px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;cursor:pointer;width:100%;
  transition:background .25s,transform .25s;box-shadow:0 4px 14px rgba(212,168,83,.35);
}
.mobile-nav-cta:hover{background:var(--gold-bright);transform:translateY(-1px)}
body.nav-open{overflow:hidden}

/* ============================================================
   MOBILE NAV — display gating (placed last so it wins the
   cascade). Hamburger hidden on desktop, shown at <=900px.
   ============================================================ */
@media(min-width:901px){
  .nav-hamburger{display:none}
}
@media(max-width:900px){
  .nav-hamburger{display:block}
  .nav-links{display:none}
  .nav-cta{display:none}
}
