/* ============================================================
   HIERARCHY — Design System v8
   Aesthetic: Quiet Luxury · Editorial · Old-Money Finance
   
   Palette:
     Parchment   #F8F5EF  — primary bg (warm, not stark white)
     Cream       #EDE9DF  — alt sections
     Linen       #E4E0D5  — borders, subtle
     Forest      #181C10  — primary text (deep, rich)
     Slate       #4A4F3E  — secondary text
     Fog         #7A7B6C  — muted text
     Dust        #A8A99A  — faint text
     Warm Black  #111410  — footer, dark sections
     Gold        #96710A  — accent (muted, expensive-looking)
     Gold Light  #C49A2A  — hover gold
     Gold Pale   #DDB84A  — light gold
============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Jost:wght@300;400;500&display=swap');

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

:root {
  /* ── M Infinite · Cream & Gold (original quiet-luxury theme) ── */

  /* Backgrounds */
  --parchment: #F8F5EF;   /* primary bg — warm cream */
  --cream:     #EDE9DF;   /* alt sections */
  --linen:     #E4E0D5;   /* hover surface */
  --white:     #FDFCFA;   /* card surface */

  /* Text — dark on cream */
  --forest:    #181C10;   /* primary text */
  --slate:     #1E2118;   /* secondary text */
  --fog:       #4A4E40;   /* muted text */
  --dust:      #6A6B5C;   /* faint text */
  --on-dark:   #EDE9DF;   /* text on dark bands */
  --fog-dark:  #6A6B5C;

  /* Dark bands */
  --bark:      #111410;
  --bark2:     #1A1E16;

  /* Accent — gold */
  --gold:      #96710A;   /* primary gold */
  --gold-md:   #C49A2A;   /* mid gold */
  --gold-lt:   #DDB84A;   /* light gold */
  --gold-pale: #EBD48A;
  --gold-tint: rgba(150,113,10,0.08);
  --gold-line: rgba(150,113,10,0.20);
  --gold-line2:rgba(150,113,10,0.42);

  /* Borders */
  --rule:      rgba(24,28,16,0.08);
  --rule-md:   rgba(24,28,16,0.13);
  --rule-str:  rgba(24,28,16,0.22);

  /* Status */
  --sage:      #3A6E48;
  --rouge:     #B04A3A;

  /* Warm secondary accents */
  --amber:     #C49A2A;
  --amber-lt:  #DDB84A;
  --violet:    #7A6BA8;

  /* Type */
  --serif: 'Cormorant', 'Cormorant Garamond', Georgia, serif;
  --sans:  'Jost', system-ui, sans-serif;

  /* Motion */
  --ease:  cubic-bezier(0.16, 1, 0.3, 1);
  --eio:   cubic-bezier(0.4, 0, 0.2, 1);

  /* Layout */
  --nav-h: 64px;
  --gutter: 4rem;
}

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

body {
  font-family: var(--sans);
  background: var(--parchment);
  color: var(--forest);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  cursor: none;
}

/* Scrollbar */
::-webkit-scrollbar       { width: 3px; }
::-webkit-scrollbar-track { background: var(--cream); }
::-webkit-scrollbar-thumb { background: var(--gold-md); }

/* Selection */
::selection { background: rgba(150,113,10,0.14); color: var(--gold); }

/* ── CURSOR ─────────────────────────────────────── */
#cursor-dot {
  position: fixed; top: 0; left: 0;
  z-index: 999999; pointer-events: none;
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold);
  transform: translate(-50%, -50%);
  will-change: left, top;
  transition: width .2s var(--ease), height .2s var(--ease), background .2s;
}
#cursor-ring {
  position: fixed; top: 0; left: 0;
  z-index: 999998; pointer-events: none;
  width: 30px; height: 30px; border-radius: 50%;
  border: 1px solid rgba(24,28,16,0.18);
  transform: translate(-50%, -50%);
  will-change: left, top;
  transition: width .3s var(--ease), height .3s var(--ease),
              border-color .25s, background .25s;
}
body.c-hover #cursor-dot  { width: 9px; height: 9px; background: var(--gold-md); }
body.c-hover #cursor-ring { width: 46px; height: 46px; border-color: var(--gold-line2); background: var(--gold-tint); }
body.c-click #cursor-dot  { transform: translate(-50%,-50%) scale(0.5); }
body.c-click #cursor-ring { width: 22px; height: 22px; }

@media (hover: none), (max-width: 768px) {
  #cursor-dot, #cursor-ring { display: none !important; }
  body { cursor: auto; }
  a, button, [role="button"], input, select, textarea { cursor: pointer !important; }
}
@media (hover: hover) {
  a, button, [role="button"], .horizon-btn, .liq-btn,
  .widget-btn, .nav-cta, .plan-btn, .toggle-track,
  .faq-q, .t-dot, .perm-row, .risk-slider { cursor: none; }
}

/* ── NAV ─────────────────────────────────────────── */
.main-nav {
  position: fixed; top: 0; left: 0; right: 0;
  height: var(--nav-h); z-index: 900;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--gutter);
  background: rgba(248,245,239,0.88);
  backdrop-filter: blur(20px) saturate(140%);
  border-bottom: 1px solid var(--rule);
  transition: background .5s, box-shadow .5s;
}
.main-nav.scrolled {
  background: rgba(248,245,239,0.97);
  box-shadow: 0 1px 24px rgba(24,28,16,0.055);
}

.nav-logo {
  font-family: var(--serif); font-size: 1.45rem; font-weight: 500;
  color: var(--forest); text-decoration: none; letter-spacing: 0.06em;
}
.nav-logo .dot { color: var(--gold); }

.nav-links { display: flex; gap: 2.5rem; list-style: none; align-items: center; }
.nav-links a {
  font-family: var(--sans); font-size: 0.68rem; font-weight: 400;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--fog); text-decoration: none;
  position: relative; padding-bottom: 3px; transition: color .22s;
}
.nav-links a::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 1px; background: var(--gold);
  transform: scaleX(0); transform-origin: left;
  transition: transform .35s var(--ease);
}
.nav-links a:hover, .nav-links a.active { color: var(--forest); }
.nav-links a:hover::after, .nav-links a.active::after { transform: scaleX(1); }

.nav-right { display: flex; gap: 1rem; align-items: center; }
.nav-cta {
  font-family: var(--sans); font-size: 0.66rem; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase;
  padding: 0.52rem 1.5rem;
  background: var(--forest); color: var(--on-dark);
  text-decoration: none; border: none;
  transition: background .3s var(--ease);
}
.nav-cta:hover { background: var(--gold); }

.nav-burger {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; padding: 4px;
}
.nav-burger span { display: block; width: 20px; height: 1px; background: var(--forest); transition: .3s; }

@media (max-width: 900px) {
  .main-nav { padding: 0 1.5rem; }
  .nav-links { display: none; }
  .nav-links.open {
    display: flex; flex-direction: column; gap: 0;
    position: fixed; top: var(--nav-h); left: 0; right: 0;
    background: var(--white); padding: 1.5rem;
    border-bottom: 1px solid var(--rule); z-index: 899;
    box-shadow: 0 8px 32px rgba(24,28,16,0.07);
  }
  .nav-links.open li { border-bottom: 1px solid var(--rule); }
  .nav-links.open a { padding: 0.75rem 0; display: block; font-size: 0.72rem; }
  .nav-burger { display: flex; }
}

/* ── BUTTONS ─────────────────────────────────────── */
.btn-primary {
  display: inline-flex; align-items: center;
  font-family: var(--sans); font-size: 0.68rem; font-weight: 500;
  letter-spacing: 0.16em; text-transform: uppercase;
  padding: 0.9rem 2.2rem;
  background: var(--forest); color: var(--on-dark) !important;
  text-decoration: none !important; border: none;
  transition: background .35s var(--ease), transform .2s, box-shadow .3s;
}
.btn-primary:hover {
  background: var(--gold);
  color: var(--bark) !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(150,113,10,0.18);
}
.btn-ghost {
  display: inline-flex; align-items: center;
  font-family: var(--sans); font-size: 0.68rem; font-weight: 400;
  letter-spacing: 0.14em; text-transform: uppercase;
  padding: 0.9rem 2rem;
  background: transparent; color: var(--fog);
  border: 1px solid var(--rule-md); text-decoration: none;
  transition: color .25s, border-color .25s;
}
.btn-ghost:hover { color: var(--forest); border-color: var(--rule-str); }

/* ── TYPOGRAPHY ──────────────────────────────────── */
.eyebrow {
  font-family: var(--sans);
  font-size: 0.58rem; font-weight: 400; letter-spacing: 0.26em;
  text-transform: uppercase; color: var(--gold);
  display: flex; align-items: center; gap: 0.8rem;
  margin-bottom: 1.1rem;
}
.eyebrow::before {
  content: ''; display: block;
  width: 1.8rem; height: 1px; background: var(--gold);
}

.section-title {
  font-family: var(--serif);
  font-size: clamp(1.85rem, 2.8vw, 3rem);
  font-weight: 400; line-height: 1.18;
  color: var(--forest); margin-bottom: 1.1rem;
  letter-spacing: 0.01em;
}
.section-title em { font-style: italic; color: var(--gold-md); font-weight: 300; }

.section-body {
  font-size: 0.86rem; line-height: 1.95;
  color: var(--fog); font-weight: 300;
}

/* ── FORMS ───────────────────────────────────────── */
.field-label {
  display: block; font-family: var(--sans);
  font-size: 0.57rem; font-weight: 400; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--dust); margin-bottom: 0.4rem;
}
.field-input {
  width: 100%; background: var(--cream);
  border: 1px solid var(--rule-md);
  color: var(--forest); font-family: var(--sans); font-size: 0.88rem;
  padding: 0.76rem 1rem; outline: none;
  transition: border-color .22s, background .22s;
}
.field-input:focus { border-color: var(--gold-md); background: var(--white); }
.field-input::placeholder { color: var(--dust); }

/* ── MODAL ───────────────────────────────────────── */
.modal-overlay {
  display: none; position: fixed; inset: 0; z-index: 8000;
  background: rgba(18,22,12,0.5);
  backdrop-filter: blur(12px);
  align-items: center; justify-content: center; padding: 1rem;
}
.modal-overlay.open { display: flex; }
.modal-box {
  background: var(--white); border: 1px solid var(--rule-md);
  max-width: 450px; width: 100%; position: relative;
  box-shadow: 0 32px 80px rgba(18,22,12,0.16);
  animation: mIn .38s var(--ease);
}
@keyframes mIn { from { opacity:0; transform:scale(.96) translateY(16px); } to { opacity:1; transform:none; } }
.modal-box::before { content:''; position:absolute; top:0; left:0; width:1.8rem; height:1.8rem; border-top:1.5px solid var(--gold); border-left:1.5px solid var(--gold); pointer-events:none; }
.modal-box::after  { content:''; position:absolute; bottom:0; right:0; width:1.8rem; height:1.8rem; border-bottom:1.5px solid var(--gold); border-right:1.5px solid var(--gold); pointer-events:none; }
.modal-step { padding: 2.4rem 2.2rem; }

.perm-row {
  display: flex; align-items: center; gap: 1rem;
  padding: 0.85rem 1rem; border: 1px solid var(--rule);
  background: var(--parchment); margin-bottom: 0.5rem;
  transition: background .2s, border-color .2s;
}
.perm-row:hover { background: var(--gold-tint); border-color: var(--gold-line); }
.perm-icon  { font-size: 1rem; width: 1.6rem; text-align: center; flex-shrink: 0; }
.perm-label { flex: 1; }
.perm-label strong { display: block; font-size: 0.8rem; font-weight: 500; color: var(--forest); }
.perm-label span   { font-size: 0.68rem; color: var(--fog); font-weight: 300; }
.perm-status { font-size: 0.58rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--dust); white-space: nowrap; }

.modal-btn-primary {
  width: 100%; padding: 0.9rem; background: var(--forest);
  color: var(--on-dark); border: none; font-family: var(--sans);
  font-size: 0.68rem; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase; transition: background .28s; margin-top: 0.5rem;
}
.modal-btn-primary:hover { background: var(--gold); }
.modal-btn-skip {
  display: block; width: 100%; margin-top: 0.5rem; padding: 0.68rem;
  background: transparent; border: 1px solid var(--rule);
  color: var(--fog); font-family: var(--sans); font-size: 0.66rem;
  font-weight: 400; letter-spacing: 0.1em; text-transform: uppercase;
  text-align: center; transition: border-color .2s, color .2s;
}
.modal-btn-skip:hover { border-color: var(--rule-md); color: var(--forest); }

.progress-track { width: 100%; height: 1px; background: var(--rule); overflow: hidden; }
.progress-fill  { height: 100%; background: var(--gold); width: 0%; transition: width 2.6s linear; }

/* ── FADE ANIMATION ──────────────────────────────── */
.fade-up {
  opacity: 0; transform: translateY(22px);
  transition: opacity .9s var(--ease), transform .9s var(--ease);
}
.fade-up.visible { opacity: 1; transform: none; }
.fade-up:nth-child(2) { transition-delay:.1s; }
.fade-up:nth-child(3) { transition-delay:.2s; }
.fade-up:nth-child(4) { transition-delay:.3s; }
.fade-up:nth-child(5) { transition-delay:.4s; }
.fade-up:nth-child(6) { transition-delay:.5s; }

/* ── FOOTER ──────────────────────────────────────── */
.main-footer { background: var(--bark); }

.footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  border-bottom: 1px solid rgba(255,255,255,0.055);
}
.footer-brand {
  padding: 4rem var(--gutter);
  border-right: 1px solid rgba(255,255,255,0.055);
}
.footer-col {
  padding: 4rem 2.5rem;
  border-right: 1px solid rgba(255,255,255,0.055);
}
.footer-col:last-child { border-right: none; }

.footer-wordmark {
  font-family: var(--serif); font-size: 1.6rem; font-weight: 400;
  color: var(--gold-lt); letter-spacing: 0.05em; display: block; margin-bottom: 0.9rem;
}
.footer-strapline {
  font-size: 0.76rem; line-height: 1.85; color: rgba(237,233,223,0.55);
  font-weight: 300; max-width: 240px; margin-bottom: 2rem;
}
.footer-sebi {
  font-size: 0.63rem; line-height: 1.75;
  color: rgba(237,233,223,0.32); max-width: 260px; font-weight: 300;
}

.footer-col-title {
  font-family: var(--sans); font-size: 0.55rem; font-weight: 500;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(237,233,223,0.5); margin-bottom: 1.5rem; display: block;
}
.footer-links { list-style: none; display: flex; flex-direction: column; gap: 0.8rem; }
.footer-links a {
  font-size: 0.78rem; font-weight: 300;
  color: rgba(237,233,223,0.62); text-decoration: none; transition: color .2s;
}
.footer-links a:hover { color: var(--gold-lt); }

.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1.5rem var(--gutter); flex-wrap: wrap; gap: 0.75rem;
  border-top: none; background: rgba(0,0,0,0.18);
}
.footer-copy { font-size: 0.65rem; color: rgba(237,233,223,0.45); }
.footer-legal { display: flex; gap: 1.8rem; }
.footer-legal a {
  font-size: 0.65rem; color: rgba(237,233,223,0.45);
  text-decoration: none; transition: color .2s;
}
.footer-legal a:hover { color: var(--gold-lt); }

@media (max-width: 900px) {
  :root { --gutter: 1.5rem; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/-1; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.055); padding: 3rem 1.5rem; }
  .footer-col { padding: 2.5rem 1.5rem; }
  .footer-bottom { padding: 1.2rem 1.5rem; }
}
@media (max-width: 520px) {
  .footer-top { grid-template-columns: 1fr; }
  .footer-col { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.055); }
  .footer-col:last-child { border-bottom: none; }
}

/* ── COMPATIBILITY ALIASES (legacy var names used by inner pages) ── */
:root {
  /* Text aliases */
  --text-primary:   #181C10;  /* = --forest */
  --text-secondary: #1E2118;  /* darker */
  --text-muted:     #7A7B6C;  /* = --fog    */
  --text-faint:     #A8A99A;  /* = --dust   */
  --text-light:     #A8A99A;  /* = --dust   */
  --text-on-dark:   #EDE9DF;  /* = --on-dark */
  --text-muted-dark:#6A6B5C;  /* = --fog-dark */

  /* Background aliases */
  --bg-main:  #F8F5EF;  /* = --parchment */
  --bg-alt:   #EDE9DF;  /* = --cream     */
  --bg-card:  #FDFCFA;  /* = --white     */
  --bg-dark:  #111410;  /* = --bark      */
  --bg-hover: #E4E0D5;  /* = --linen     */

  /* Gold aliases */
  --gold-light:    #C49A2A;  /* = --gold-md  */
  --gold-pale:     #DDB84A;  /* = --gold-lt  */
  --gold-subtle:   rgba(150,113,10,0.07);
  --gold-border:   rgba(150,113,10,0.18);
  --gold-border2:  rgba(150,113,10,0.35);

  /* Border aliases */
  --border:     rgba(24,28,16,0.08);
  --border-med: rgba(24,28,16,0.13);
  --border-str: rgba(24,28,16,0.22);

  /* Motion aliases */
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --ease-io:     cubic-bezier(0.4, 0, 0.2, 1);

  /* Status aliases */
  --green: #3A6E48;
  --red:   #7A2A2A;

  /* Layout aliases */
  --max-w: 1300px;
}

/* ── GLOBAL LINK RESET — prevent browser-default blue ── */
/* Only reset text-decoration. Do NOT use color:inherit — it breaks buttons */
a { text-decoration: none; }
/* Kill browser blue only on non-button links */
a:not(.btn-primary):not(.btn-ghost):not(.btn-dark):not(.nav-cta):not(.nav-ghost-sm):not(.plan-btn):not(.pbtn-dk):not(.pbtn-gd):not(.pbtn-ol):not([class*="btn"]):not([class*="cta"]):not([class*="plan-btn"]) {
  color: inherit;
}

/* ── GLOBAL BUTTON RESET ── */
button { font-family: var(--sans); }



/* ═══════════════════════════════════════════════════════
   BUTTON TEXT OVERRIDES — ensure text is always visible
   These use !important to beat any inheritance
═══════════════════════════════════════════════════════ */

/* Dark/forest buttons → always cream text */
.btn-primary,
a.btn-primary,
button.btn-primary { color: #EDE9DF !important; }

.btn-primary:hover,
a.btn-primary:hover { color: #111410 !important; }

/* Nav CTA → already handled above */

/* Widget generate button */
.widget-btn,
button.widget-btn { color: #EDE9DF !important; }
.widget-btn:hover { color: #EDE9DF !important; }

/* Plan buttons */
.pbtn-dk,
a.pbtn-dk  { color: #EDE9DF !important; }
.pbtn-dk:hover { color: #EDE9DF !important; }

.pbtn-gd,
a.pbtn-gd  { color: #111410 !important; }

.pbtn-ol,
a.pbtn-ol  { color: var(--fog) !important; }
.pbtn-ol:hover { color: var(--forest) !important; }

/* Modal primary button */
button.modal-btn-primary { color: #EDE9DF !important; }

/* CTA section buttons */
.cta-btns .btn-primary { color: #EDE9DF !important; }
.cta-btns .btn-primary:hover { color: #111410 !important; }

/* Enterprise Talk to Us button */
.ent-wrap .btn-primary { color: #EDE9DF !important; }

/* How-it-works CTA button */
.how-left .btn-primary { color: #EDE9DF !important; }

/* ── FOOTER: all text must be readable on dark bg ──── */
.main-footer { color: rgba(237,233,223,0.75); }
.footer-wordmark { color: #DDB84A !important; }
.footer-strapline { color: rgba(237,233,223,0.58) !important; }
.footer-sebi  { color: rgba(237,233,223,0.30) !important; }
.footer-col-title { color: rgba(237,233,223,0.50) !important; }
.footer-links a   { color: rgba(237,233,223,0.65) !important; }
.footer-links a:hover { color: #DDB84A !important; }
.footer-copy  { color: rgba(237,233,223,0.42) !important; }
.footer-legal a   { color: rgba(237,233,223,0.42) !important; }
.footer-legal a:hover { color: #DDB84A !important; }

/* ═══════════════════════════════════════════════════════════
   EMERGE360 — Elevation layer (3D depth, modern accents)
   ═══════════════════════════════════════════════════════════ */

/* Logo — "360" as a distinct, premium numeral */


/* Depth tokens */
:root {
  --shadow-sm: 0 2px 8px rgba(24,28,16,0.05);
  --shadow-md: 0 8px 30px rgba(24,28,16,0.08);
  --shadow-lg: 0 20px 60px rgba(24,28,16,0.12);
  --shadow-xl: 0 40px 90px rgba(24,28,16,0.16);
  --glass: rgba(253,252,250,0.65);
  --glass-border: rgba(255,255,255,0.5);
}

/* Glass-morphism card — layered depth, frosted */
.glass-card {
  background: var(--glass);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-lg);
  border-radius: 4px;
}

/* Ambient gradient mesh — soft, premium depth behind sections */
.mesh-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.mesh-bg::before,
.mesh-bg::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  opacity: 0.5;
}
.mesh-bg::before {
  width: 45vw; height: 45vw;
  background: radial-gradient(circle, rgba(196,154,42,0.22), transparent 70%);
  top: -15%; right: -10%;
  animation: meshFloat 18s ease-in-out infinite;
}
.mesh-bg::after {
  width: 38vw; height: 38vw;
  background: radial-gradient(circle, rgba(58,110,72,0.16), transparent 70%);
  bottom: -12%; left: -8%;
  animation: meshFloat 22s ease-in-out infinite reverse;
}
@keyframes meshFloat {
  0%,100% { transform: translate(0,0) scale(1); }
  50%     { transform: translate(4%, 6%) scale(1.08); }
}

/* 3D tilt card — reacts to hover with perspective depth */
.tilt-card {
  transform-style: preserve-3d;
  transition: transform 0.4s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.4s ease;
  will-change: transform;
}
.tilt-card:hover {
  box-shadow: var(--shadow-xl);
}

/* Floating layered stat orbs (3D-ish depth via stacked shadows + gradient) */
.orb {
  border-radius: 50%;
  background: radial-gradient(circle at 30% 25%, var(--gold-lt), var(--gold-md) 45%, var(--gold) 100%);
  box-shadow:
    inset -6px -6px 14px rgba(0,0,0,0.18),
    inset 4px 4px 12px rgba(255,255,255,0.4),
    var(--shadow-lg);
}

/* Elevated card — subtle 3D lift on hover, replaces flat cards */
.lift {
  transition: transform 0.35s cubic-bezier(0.2,0.7,0.2,1), box-shadow 0.35s ease;
}
.lift:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-lg);
}

/* Shimmer accent line */
.shimmer {
  background: linear-gradient(90deg, transparent, var(--gold-lt), transparent);
  background-size: 200% 100%;
  animation: shimmerMove 3s linear infinite;
}
@keyframes shimmerMove {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ── M∞ logo (infinity symbol, black in nav) ── */
.nav-logo {
  color: #111410 !important;          /* black logo */
  font-family: var(--serif);
  font-weight: 600;
  letter-spacing: -0.01em;
  display: inline-flex;
  align-items: baseline;
}
.nav-logo .logo-inf {
  font-size: 0.5em;                   /* smaller, like an exponent */
  color: #111410;                     /* infinity also black */
  font-weight: 600;
  vertical-align: super;              /* raise to exponent position */
  position: relative;
  top: -0.15em;                       /* nudge higher, top-right of M */
  margin-left: 0.02em;
  line-height: 0;
}
/* keep the small dot/period removed since logo is now M∞ */
