/* Cinematic: near-black space, real Earth, elegant capital serif, warm ivory + brand teal. Loaded last. */
@font-face { font-family: 'Cormorant Garamond'; font-weight: 400; font-display: swap; src: url(fonts/cormorant-garamond-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-weight: 500; font-display: swap; src: url(fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-weight: 600; font-display: swap; src: url(fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 500; font-display: swap; src: url(fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2'); }
@font-face { font-family: 'Instrument Sans'; font-weight: 400; font-display: swap; src: url(fonts/instrument-sans-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'Instrument Sans'; font-weight: 500; font-display: swap; src: url(fonts/instrument-sans-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'Instrument Sans'; font-weight: 600; font-display: swap; src: url(fonts/instrument-sans-latin-600-normal.woff2) format('woff2'); }

:root { --space: #05070d; --space-2: #0a0f1c; --ivory: #f1eadb; --ivory-2: #d9cdb4; --teal: #5fc9d6; --mist: #8b93a3;
  --serif: 'Cormorant Garamond', 'Times New Roman', serif; --sans: 'Instrument Sans', 'Helvetica Neue', Arial, sans-serif;
  --v2-base: #05070d; --v2-alt: #080c16; --v2-card: #0d1322; --acc: #e3cd9c; --acc-ink: #17120a; --v2-teal: #e3cd9c; }
body:has(.f-hero) { background: var(--space); font-family: var(--sans); }
body:has(.f-hero) .topbar { display: none; }
body:has(.f-hero) .header { position: absolute; left: 0; right: 0; top: 0; background: transparent !important; border: 0; box-shadow: none; z-index: 20; }
body:has(.f-hero) .header.is-scrolled { position: fixed; background: rgba(5,7,13,.78) !important; backdrop-filter: blur(14px); border-bottom: 1px solid #ffffff12; }
body:has(.f-hero) .nav a { font: 500 15px var(--sans); color: #c7ccd6; letter-spacing: .01em; border: 0; }
body:has(.f-hero) .nav a.active, body:has(.f-hero) .nav a:hover { color: var(--ivory); }
body:has(.f-hero) .header-whatsapp { background: linear-gradient(135deg, #f1dfb3, #c9a865); color: #1a140a; border-radius: 999px; padding: 12px 22px; font-weight: 600; box-shadow: 0 10px 30px #c9a86533; }
body:has(.f-hero) .header-whatsapp .whatsapp-mark { display: none; }

/* hero */
.c-hero { position: relative; min-height: max(100svh, 760px); overflow: hidden; color: var(--ivory);
  background: radial-gradient(70% 90% at 78% 45%, #0b1426 0%, var(--space) 62%); display: flex; align-items: center; }
.c-earth { position: absolute; right: -20vw; top: 50%; width: min(78vw, 1180px); aspect-ratio: 1; transform: translateY(-50%); opacity: 0; }
.c-earth canvas { width: 100%; height: 100%; display: block; }
.c-earth::after { content: ''; position: absolute; inset: 6%; border-radius: 50%; box-shadow: 0 0 0 1px #5fc9d61a, 0 0 120px 10px #5fc9d614; pointer-events: none; }
.c-in { position: relative; z-index: 2; width: min(100% - 48px, 1320px); margin: 0 auto; padding: 150px 0 170px; }
.c-eyebrow { display: flex; align-items: center; gap: 18px; margin: 0 0 30px; font: 600 13px var(--sans); letter-spacing: .34em; text-transform: uppercase; color: var(--teal); }
.c-eyebrow i { width: 60px; height: 1px; background: currentColor; transform-origin: left; animation: c-draw 1.4s cubic-bezier(.2,.8,.2,1) .2s both; }
@keyframes c-draw { from { transform: scaleX(0); } }
.c-title, .c-title span { font-family: var(--serif) !important; }
.c-title { margin: 0; font: 500 clamp(56px, 7.6vw, 128px)/.95 var(--serif); letter-spacing: .01em; text-transform: uppercase; color: var(--ivory); }
.c-title span { display: block; overflow: hidden; }
.c-title span:last-child { font-style: italic; text-transform: none; font-size: 1.04em; color: #e8d6ab; letter-spacing: -.005em; }
.c-title span { animation: c-up 1.2s cubic-bezier(.2,.8,.2,1) both; } .c-title span:last-child { animation-delay: .15s; }
@keyframes c-up { from { opacity: 0; transform: translateY(40px); filter: blur(6px); } }
.c-rule { display: block; width: 80px; height: 1px; margin: 36px 0 30px; background: linear-gradient(90deg, #e3cd9c, transparent); }
.c-lead { margin: 0 0 40px; max-width: 520px; font-size: 19px; line-height: 1.65; color: #b9bfcb; animation: c-up 1.2s .3s both; }
.c-btns { display: flex; flex-wrap: wrap; gap: 14px; animation: c-up 1.2s .45s both; }
.c-btn { display: inline-flex; align-items: center; gap: 14px; padding: 17px 30px; border-radius: 999px; font: 600 16px var(--sans); border: 0; cursor: pointer; transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s; }
.c-btn b { transition: transform .35s; } .c-btn:hover { transform: translateY(-2px); } .c-btn:hover b { transform: translateX(4px); }
.c-btn.gold { background: linear-gradient(135deg, #f3e3bb 0%, #d4b373 55%, #b8924d 100%); color: #17120a; box-shadow: 0 14px 40px #c9a86540, inset 0 1px 0 #ffffff80; }
.c-btn.ghost { background: #ffffff08; color: var(--ivory); box-shadow: inset 0 0 0 1px #ffffff2e; backdrop-filter: blur(8px); }
.c-wa { color: #3ccf7e; font-size: 18px; }
.c-scroll { position: absolute; left: 50%; bottom: 84px; transform: translateX(-50%); z-index: 3; display: grid; justify-items: center; gap: 10px; font: 500 11px var(--sans); letter-spacing: .32em; text-transform: uppercase; color: #ffffff70; }
.c-scroll i { width: 1px; height: 40px; background: linear-gradient(#e3cd9c, transparent); animation: c-drip 2s ease-in-out infinite; transform-origin: top; }
@keyframes c-drip { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }
.c-ticker { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; border-top: 1px solid #ffffff14; background: #05070dcc; backdrop-filter: blur(6px); overflow: hidden; }
.c-ticker div { display: flex; width: max-content; animation: c-tick 52s linear infinite; }
.c-ticker span { padding: 20px 30px; font: 600 12px var(--sans); letter-spacing: .32em; text-transform: uppercase; color: #9aa2b2; white-space: nowrap; }
.c-ticker i { align-self: center; color: #e3cd9c; font-style: normal; }
@keyframes c-tick { to { transform: translateX(-50%); } }

/* rest of the page: same dark, serif headings, ivory/gold accents */
body:has(.f-hero) h2, body:has(.f-hero) .vx-h2, body:has(.f-hero) .v2-h2, body:has(.f-hero) .vx-item h3, body:has(.f-hero) .v3-mill-title, body:has(.f-hero) .v2-cta-title, body:has(.f-hero) .manifesto-inner h2 {
  font-family: var(--serif) !important; font-weight: 500 !important; letter-spacing: 0 !important; }
body:has(.f-hero) .vx-h2 span, body:has(.f-hero) .v2-h2 span, body:has(.f-hero) .v3-mill-title span, body:has(.f-hero) .v2-cta-title span, body:has(.f-hero) .manifesto-inner h2 em { font-style: italic; color: #e3cd9c !important; }
body:has(.f-hero) .vx-story { background: var(--space); }
body:has(.f-hero) .vx-sticky { background: radial-gradient(60% 70% at 72% 55%, #0d1730 0%, var(--space) 70%); }
body:has(.f-hero) .vx-div, body:has(.f-hero) .v2-eyebrow, body:has(.f-hero) .eyebrow, body:has(.f-hero) .manifesto-overline { color: var(--teal) !important; letter-spacing: .3em; }
body:has(.f-hero) .vx-dots i::after { background: #e3cd9c; }
body:has(.f-hero) .vx-item a { border-bottom-color: #e3cd9c; } body:has(.f-hero) .vx-item a b { color: #e3cd9c; }
body:has(.f-hero) .vx-item h3 { font-size: clamp(48px, 6vw, 92px); line-height: 1; }
body:has(.f-hero) .vx-h2 { font-size: clamp(34px, 4vw, 60px); }
body:has(.f-hero) .v2-btn.primary, body:has(.f-hero) .qb-next { background: linear-gradient(135deg, #f3e3bb, #c9a865) !important; color: #17120a !important; }
body:has(.f-hero) .v3-mill-stages li.is-on { background: #e3cd9c; } body:has(.f-hero) .v3-mill-stages li.is-on b { color: #17120a; }
body:has(.f-hero) .v2-cards svg { stroke: #e3cd9c; }
body:has(.f-hero) .footer h2 { color: #e3cd9c; }

@media (max-width: 860px) {
  .c-hero { align-items: flex-end; }
  .c-earth { right: -30vw; top: 4%; width: 120vw; transform: none; }
  .c-in { padding: 0 0 150px; }
  .c-title { font-size: 52px; }
  .c-lead { font-size: 16px; margin-bottom: 28px; }
  .c-btn { padding: 15px 22px; font-size: 15px; }
  .c-scroll { display: none; }
  body:has(.f-hero) .header-whatsapp { padding: 10px 14px; }
}
@media (prefers-reduced-motion: reduce) { .c-title span, .c-lead, .c-btns, .c-eyebrow i { animation: none; } .c-ticker div, .c-scroll i { animation: none; } }
body:has(.f-hero) .v2-cta-title span, body:has(.f-hero) .v2-cta-title span vx-i { color: #e3cd9c !important; font-style: italic; }
@media (max-width: 700px) { body:has(.f-hero) .header-whatsapp { width: 42px; height: 42px; padding: 0; justify-content: center; } body:has(.f-hero) .header-whatsapp .whatsapp-mark { display: inline; color: #1a140a; } body:has(.f-hero) .header-whatsapp span:last-child { display: none; } }
