@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;0,900;1,400;1,700&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Cinzel:wght@400;600;700&display=swap');

/* ═══════════════════════════════════════
   CSS VARIABLES
═══════════════════════════════════════ */
:root {
  --gold:        #C9A227;
  --gold-light:  #E8C547;
  --gold-dark:   #8B6914;
  --gold-pale:   rgba(201,162,39,0.12);
  --cream:       #F5EDD8;
  --cream-dark:  #D9C9A8;
  --dark:        #0F0B08;
  --dark2:       #1A1410;
  --dark3:       #241C15;
  --dust:        #C4A882;
  --leather:     #6B3A2A;
}

/* ═══════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  background: var(--dark);
  color: var(--cream);
  font-family: 'Cormorant Garamond', Georgia, serif;
  overflow-x: hidden;
  min-height: 100vh;
}

/* Grain overlay */
body::after {
  content:'';
  position:fixed;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  pointer-events:none;
  z-index:9990;
  opacity:0.3;
}

img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }

/* ═══════════════════════════════════════
   SCROLL PROGRESS BAR
═══════════════════════════════════════ */
.scroll-bar {
  position:fixed; top:0; left:0;
  height:2px;
  background: linear-gradient(to right, var(--gold-dark), var(--gold-light));
  z-index:1000; width:0%;
  transition: width 0.1s linear;
}

/* ═══════════════════════════════════════
   NAVIGATION
═══════════════════════════════════════ */
#nav {
  position:fixed; top:0; left:0; right:0;
  z-index:500;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 60px;
  transition: all 0.5s ease;
}
#nav.solid {
  background: rgba(15,11,8,0.96);
  backdrop-filter: blur(16px);
  padding:14px 60px;
  border-bottom:1px solid rgba(201,162,39,0.18);
  box-shadow:0 4px 30px rgba(0,0,0,0.5);
}
.nav-logo {
  display:flex; align-items:center; gap:14px;
}
.nav-logo img {
  width:44px; height:44px; object-fit:contain;
  filter:drop-shadow(0 0 8px rgba(201,162,39,0.4));
  transition:filter 0.3s;
}
.nav-logo:hover img { filter:drop-shadow(0 0 16px rgba(201,162,39,0.7)); }
.nav-logo-text {
  font-family:'Cinzel',serif;
  font-size:1rem;
  letter-spacing:0.2em;
  color:var(--gold);
  line-height:1.1;
}
.nav-logo-sub {
  font-family:'Cormorant Garamond',serif;
  font-size:0.65rem;
  letter-spacing:0.15em;
  color:var(--dust);
  display:block;
  font-style:italic;
}
.nav-links {
  display:flex; gap:36px; align-items:center;
}
.nav-links a {
  font-family:'Cinzel',serif;
  font-size:0.68rem;
  letter-spacing:0.22em;
  color:var(--cream-dark);
  text-transform:uppercase;
  position:relative;
  transition:color 0.3s;
  padding-bottom:2px;
}
.nav-links a::after {
  content:'';
  position:absolute;
  bottom:-3px; left:0; right:0;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform 0.35s ease;
}
.nav-links a:hover,
.nav-links a.active { color:var(--gold); }
.nav-links a:hover::after,
.nav-links a.active::after { transform:scaleX(1); }

.nav-hamburger {
  display:none;
  flex-direction:column;
  gap:5px; cursor:pointer;
  padding:4px;
}
.nav-hamburger span {
  display:block; width:22px; height:1px;
  background:var(--gold);
  transition:all 0.3s;
}

/* ═══════════════════════════════════════
   PAGE HERO (Interior Pages)
═══════════════════════════════════════ */
.page-hero {
  position:relative;
  height:52vh; min-height:360px;
  display:flex; align-items:flex-end;
  overflow:hidden;
}
.page-hero-bg {
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  filter:brightness(0.35) sepia(30%);
  transform:scale(1.05);
  transition:transform 8s ease;
}
.page-hero:hover .page-hero-bg { transform:scale(1.0); }
.page-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(
    to bottom,
    rgba(15,11,8,0.2) 0%,
    rgba(15,11,8,0.5) 60%,
    rgba(15,11,8,1) 100%
  );
}
.page-hero-content {
  position:relative; z-index:2;
  padding:0 80px 60px;
  max-width:900px;
}
.page-hero-eyebrow {
  font-family:'Cinzel',serif;
  font-size:0.62rem;
  letter-spacing:0.5em;
  color:var(--gold);
  text-transform:uppercase;
  display:block;
  margin-bottom:14px;
}
.page-hero-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(2.2rem, 5vw, 4.2rem);
  font-weight:700;
  line-height:1.1;
  color:var(--cream);
}
.page-hero-title em { color:var(--gold); font-style:italic; }

/* ═══════════════════════════════════════
   SECTION UTILITIES
═══════════════════════════════════════ */
.section { position:relative; }
.section-inner {
  max-width:1200px; margin:0 auto;
  padding:0 80px;
}
.section-pad { padding:110px 0; }
.section-pad-sm { padding:70px 0; }

.gold-eyebrow {
  display:flex; align-items:center; gap:18px;
  margin-bottom:18px;
}
.gold-eyebrow::before {
  content:'';
  flex:0 0 36px; height:1px;
  background:var(--gold);
}
.gold-eyebrow span {
  font-family:'Cinzel',serif;
  font-size:0.62rem;
  letter-spacing:0.45em;
  color:var(--gold);
  text-transform:uppercase;
}

.section-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem, 3.5vw, 3.2rem);
  font-weight:700;
  line-height:1.2;
  color:var(--cream);
  margin-bottom:20px;
}
.section-title em { color:var(--gold); font-style:italic; }

.section-lead {
  font-size:1.15rem;
  line-height:1.9;
  color:var(--cream-dark);
  font-weight:300;
  max-width:680px;
}

.pull-quote {
  border-left:2px solid var(--gold);
  padding:22px 28px;
  margin:36px 0;
  background:rgba(201,162,39,0.05);
}
.pull-quote p {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:1.25rem;
  line-height:1.75;
  color:var(--cream);
}

.gold-divider {
  display:flex; align-items:center; gap:20px;
  margin:50px 0;
}
.gold-divider::before, .gold-divider::after {
  content:''; flex:1; height:1px;
  background:linear-gradient(to right, transparent, rgba(201,162,39,0.4));
}
.gold-divider::after {
  background:linear-gradient(to left, transparent, rgba(201,162,39,0.4));
}
.gold-divider span { color:var(--gold); font-size:1rem; }

/* ═══════════════════════════════════════
   DARK/LIGHT BANDS
═══════════════════════════════════════ */
.band-dark  { background:var(--dark); }
.band-dark2 { background:var(--dark2); }
.band-dark3 { background:var(--dark3); }

/* ═══════════════════════════════════════
   VISUAL PARALLAX BREAK
═══════════════════════════════════════ */
.visual-break {
  height:380px; position:relative; overflow:hidden;
}
.visual-break img {
  width:100%; height:100%;
  object-fit:cover; object-position:center 35%;
  filter:brightness(0.45) sepia(20%);
}
.visual-break-overlay {
  position:absolute; inset:0;
  background:linear-gradient(
    to bottom,
    var(--dark2) 0%, transparent 20%,
    transparent 80%, var(--dark) 100%
  );
}
.visual-break-text {
  position:absolute; inset:0;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  gap:16px;
}
.visual-break-text .eyebrow {
  font-family:'Cinzel',serif;
  font-size:0.62rem;
  letter-spacing:0.5em;
  color:var(--gold);
  text-transform:uppercase;
}
.visual-break-text .quote {
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:clamp(1.6rem, 3.5vw, 2.8rem);
  color:var(--cream);
  text-align:center;
  max-width:700px; padding:0 40px;
  line-height:1.35;
  text-shadow:0 2px 30px rgba(0,0,0,0.8);
}

/* ═══════════════════════════════════════
   TICKER
═══════════════════════════════════════ */
.ticker-wrap {
  background:var(--gold);
  padding:14px 0;
  overflow:hidden;
  position:relative;
}
.ticker {
  display:flex;
  animation:ticker 40s linear infinite;
  white-space:nowrap;
}
.ticker-item {
  font-family:'Cinzel',serif;
  font-size:0.62rem;
  letter-spacing:0.4em;
  color:var(--dark);
  text-transform:uppercase;
  padding:0 50px;
  display:flex; align-items:center; gap:50px;
}
.ticker-item::after {
  content:'✦';
  font-size:0.5rem;
}
@keyframes ticker {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}

/* ═══════════════════════════════════════
   STAT GRID
═══════════════════════════════════════ */
.stat-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:2px;
  background:rgba(201,162,39,0.12);
}
.stat-cell {
  background:var(--dark2);
  padding:40px 30px;
  text-align:center;
  transition:background 0.3s;
}
.stat-cell:hover { background:var(--dark3); }
.stat-number {
  font-family:'Playfair Display',serif;
  font-size:2.8rem;
  font-weight:700;
  color:var(--gold);
  line-height:1;
  display:block;
  margin-bottom:8px;
}
.stat-label {
  font-family:'Cinzel',serif;
  font-size:0.58rem;
  letter-spacing:0.25em;
  color:var(--dust);
  text-transform:uppercase;
  line-height:1.4;
}

/* ═══════════════════════════════════════
   BUTTON STYLES
═══════════════════════════════════════ */
.btn-gold {
  display:inline-flex; align-items:center; gap:14px;
  font-family:'Cinzel',serif;
  font-size:0.68rem;
  letter-spacing:0.3em;
  color:var(--dark);
  text-transform:uppercase;
  background:var(--gold);
  padding:16px 34px;
  border:none; cursor:pointer;
  transition:all 0.3s;
  position:relative; overflow:hidden;
}
.btn-gold::after {
  content:''; position:absolute;
  inset:0; background:rgba(255,255,255,0.1);
  opacity:0; transition:opacity 0.3s;
}
.btn-gold:hover { background:var(--gold-light); }
.btn-gold:hover::after { opacity:1; }

.btn-outline {
  display:inline-flex; align-items:center; gap:14px;
  font-family:'Cinzel',serif;
  font-size:0.68rem;
  letter-spacing:0.3em;
  color:var(--gold);
  text-transform:uppercase;
  padding:15px 33px;
  border:1px solid var(--gold);
  cursor:pointer;
  transition:all 0.3s;
}
.btn-outline:hover {
  background:var(--gold);
  color:var(--dark);
}

.btn-arrow {
  display:inline-block;
  width:24px; height:1px;
  background:currentColor;
  position:relative;
  transition:width 0.3s;
}
.btn-arrow::after {
  content:'';
  position:absolute;
  right:0; top:-3px;
  width:7px; height:7px;
  border-right:1px solid currentColor;
  border-top:1px solid currentColor;
  transform:rotate(45deg);
}
.btn-gold:hover .btn-arrow,
.btn-outline:hover .btn-arrow { width:32px; }

/* ═══════════════════════════════════════
   SCROLL REVEAL
═══════════════════════════════════════ */
.reveal {
  opacity:0;
  transform:translateY(28px);
  transition:opacity 0.85s ease, transform 0.85s ease;
}
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-d1 { transition-delay:0.12s; }
.reveal-d2 { transition-delay:0.24s; }
.reveal-d3 { transition-delay:0.36s; }
.reveal-d4 { transition-delay:0.48s; }

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
footer {
  background:var(--dark);
  border-top:1px solid rgba(201,162,39,0.14);
  padding:80px 0 40px;
}
.footer-inner {
  max-width:1200px; margin:0 auto;
  padding:0 80px;
}
.footer-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:60px;
  padding-bottom:60px;
  border-bottom:1px solid rgba(201,162,39,0.1);
  margin-bottom:36px;
}
.footer-brand img {
  width:80px; height:80px;
  object-fit:contain;
  filter:drop-shadow(0 0 10px rgba(201,162,39,0.3));
  margin-bottom:18px;
}
.footer-brand p {
  font-style:italic;
  font-size:0.95rem;
  line-height:1.8;
  color:var(--dust);
  max-width:280px;
  margin-bottom:12px;
}
.footer-brand small {
  font-family:'Cinzel',serif;
  font-size:0.55rem;
  letter-spacing:0.35em;
  color:var(--gold-dark);
  text-transform:uppercase;
}
.footer-col h5 {
  font-family:'Cinzel',serif;
  font-size:0.6rem;
  letter-spacing:0.35em;
  color:var(--gold);
  text-transform:uppercase;
  margin-bottom:20px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(201,162,39,0.15);
}
.footer-col li { margin-bottom:10px; }
.footer-col a {
  font-size:0.88rem;
  color:var(--dust);
  font-weight:300;
  transition:color 0.3s;
}
.footer-col a:hover { color:var(--gold); }
.footer-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.footer-copy {
  font-family:'Cinzel',serif;
  font-size:0.56rem;
  letter-spacing:0.2em;
  color:rgba(201,162,39,0.25);
  text-transform:uppercase;
}
.footer-motto {
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:0.9rem;
  color:var(--gold-dark);
}

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media (max-width: 1024px) {
  .section-inner { padding:0 40px; }
  .footer-inner  { padding:0 40px; }
  .page-hero-content { padding:0 40px 50px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:40px; }
  .stat-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 768px) {
  #nav { padding:16px 24px; }
  #nav.solid { padding:12px 24px; }
  .nav-links { display:none; flex-direction:column; gap:0; }
  .nav-links.open {
    display:flex;
    position:fixed; inset:0;
    background:rgba(15,11,8,0.98);
    align-items:center; justify-content:center;
    z-index:490;
  }
  .nav-links.open a {
    font-size:1.2rem; padding:16px 0;
    letter-spacing:0.3em;
  }
  .nav-hamburger { display:flex; }
  .section-inner { padding:0 24px; }
  .footer-inner  { padding:0 24px; }
  .page-hero-content { padding:0 24px 40px; }
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .stat-grid { grid-template-columns:1fr 1fr; }
  .section-pad { padding:70px 0; }
}
