/* ── 314 LUXURY — SHARED STYLES ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: #0c0c0c;
  color: #ede9e1;
  font-family: Georgia, 'Times New Roman', serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* SEO hidden — visible to crawlers, invisible to users */
.seo-hidden {
  position: absolute;
  left: -9999px;
  width: 1px; height: 1px;
  overflow: hidden;
}

/* ── NAV ── */
nav {
  position: sticky; top: 0; z-index: 100;
  background: #0c0c0c;
  display: flex; justify-content: space-between; align-items: center;
  padding: clamp(18px,2.2vw,30px) clamp(28px,6vw,88px);
  border-bottom: 0.5px solid rgba(237,233,225,0.1);
}
.nav-brand {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: clamp(11px,1vw,13px);
  letter-spacing: 0.36em; color: rgba(237,233,225,0.32);
  text-decoration: none;
}
.nav-links { display: flex; gap: clamp(20px,2.5vw,44px); align-items: center; }
.nav-link {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: clamp(10px,0.9vw,12px);
  letter-spacing: 0.22em; color: rgba(237,233,225,0.35);
  text-decoration: none; transition: color 0.25s;
}
.nav-link:hover, .nav-link.active { color: rgba(237,233,225,0.78); }
.nav-link.active { border-bottom: 0.5px solid rgba(201,168,112,0.5); padding-bottom: 2px; }
.hamburger {
  display: none; flex-direction: column; gap: 6px;
  cursor: pointer; background: none; border: none; padding: 4px;
}
.hamburger span {
  width: 25px; height: 1px;
  background: rgba(237,233,225,0.5); display: block;
  transition: transform 0.25s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { transform: translateY(-7px) rotate(-45deg); }
.mob-menu {
  display: none; position: fixed; inset: 0; z-index: 99;
  background: #0c0c0c;
  flex-direction: column; justify-content: center; align-items: center; gap: 44px;
}
.mob-menu.open { display: flex; }
.mob-menu a {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 13px; letter-spacing: 0.3em;
  color: rgba(237,233,225,0.45); text-decoration: none;
}
.mob-menu a:hover { color: #c9a870; }

/* ── SECTION BASE ── */
.sec {
  padding: clamp(64px,8vw,120px) clamp(28px,6vw,88px);
  border-bottom: 0.5px solid rgba(237,233,225,0.07);
}
.sec-tag {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: clamp(9px,0.82vw,11px);
  letter-spacing: 0.38em; color: rgba(237,233,225,0.22);
  margin-bottom: clamp(36px,4.5vw,60px);
}
.gold-eyebrow {
  display: flex; align-items: center; gap: 16px;
  margin-bottom: clamp(36px,4.5vw,60px);
}
.gold-eyebrow-line { width: 30px; height: 0.5px; background: #c9a870; flex-shrink: 0; }
.gold-eyebrow-text {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: clamp(9px,0.82vw,11px);
  letter-spacing: 0.38em; color: #c9a870;
}

/* ── TYPOGRAPHY HELPERS ── */
.en-primary {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 300; color: rgba(237,233,225,0.82);
  line-height: 1.7;
}
.en-primary em { font-style: normal; color: #ede9e1; }

.es-secondary {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-style: italic;
  color: rgba(237,233,225,0.34);
  line-height: 1.8;
}

/* ── TENSION BAR ── */
.tension {
  padding: 0 clamp(28px,6vw,88px);
  border-bottom: 0.5px solid rgba(237,233,225,0.07);
}
.tension-inner {
  padding: clamp(22px,2.5vw,34px) 0;
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px;
  border-top: 0.5px solid rgba(201,168,112,0.18);
  border-bottom: 0.5px solid rgba(201,168,112,0.18);
}
.t-left {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: clamp(10px,0.95vw,13px);
  letter-spacing: 0.2em; color: rgba(237,233,225,0.26);
}
.t-right {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: clamp(10px,0.95vw,13px);
  letter-spacing: 0.18em; color: #c9a870;
}

/* ── FOOTER ── */
footer {
  padding: clamp(20px,2vw,28px) clamp(28px,6vw,88px);
  border-top: 0.5px solid rgba(237,233,225,0.07);
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px;
}
.footer-brand {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: clamp(9px,0.82vw,11px);
  letter-spacing: 0.26em; color: rgba(237,233,225,0.18);
}
.footer-links { display: flex; gap: clamp(20px,2.5vw,36px); }
.footer-link {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: clamp(9px,0.82vw,11px);
  letter-spacing: 0.18em; color: rgba(237,233,225,0.14);
  text-decoration: none; transition: color 0.25s;
}
.footer-link:hover { color: rgba(237,233,225,0.4); }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .two-col { grid-template-columns: 1fr !important; }
  .three-col { grid-template-columns: 1fr !important; }
  .how-card { border-left: none !important; border-top: 0.5px solid rgba(237,233,225,0.09) !important; padding: clamp(28px,4vw,44px) 0 0 !important; }
  .how-card:first-child { border-top: none !important; padding-top: 0 !important; }
  .hide-mobile { display: none !important; }
}
@media (max-width: 640px) {
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .tension-inner { flex-direction: column; align-items: flex-start; gap: 10px; }
  footer { flex-direction: column; align-items: flex-start; gap: 8px; }
  .footer-links { flex-wrap: wrap; gap: 16px; }
}
