/* ═══════════════════════════════════════════════
   2MA VENTURES — style.css
   Palette: Ink Emerald · Champagne Gold · Ivory
   ═══════════════════════════════════════════════ */
@font-face{font-family:'Playfair Display';src:url('/assets/fonts/playfair-display-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('/assets/fonts/playfair-display-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('/assets/fonts/playfair-display-latin-500-italic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Manrope';src:url('/assets/fonts/manrope-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Manrope';src:url('/assets/fonts/manrope-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Manrope';src:url('/assets/fonts/manrope-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}

:root{
  --void:#030D0A; --ink:#071912; --ink2:#0B2419; --emerald:#0F3A28;
  --gold:#D4AF5E; --gold-hi:#F2DCA0; --gold-dim:#8F7434;
  --white:#F4F1E8; --dim:#8FA096; --dimmer:#5C6B61;
  --line:rgba(212,175,94,.22);
}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:'Manrope',sans-serif;background:var(--void);color:var(--white);overflow-x:clip;-webkit-font-smoothing:antialiased}
.pf,h1,h2,h3,blockquote{font-family:'Playfair Display',serif}

/* grain */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:998;opacity:.05;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E")}

/* ═══ PRELOADER ═══ */
#preloader{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:2000;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;transition:transform .9s cubic-bezier(.77,0,.18,1),opacity .5s}
.pre-mark{width:min(240px,58vw);height:auto}
#preloader.done{transform:translateY(-100%);opacity:.6;pointer-events:none}
.pre-letters text{opacity:0;animation:preFade .8s ease forwards}
.pre-letters text:nth-child(1){animation-delay:.15s}
.pre-letters text:nth-child(2){animation-delay:.35s}
.pre-letters text:nth-child(3){animation-delay:.55s}
@keyframes preFade{to{opacity:1}}
.pre-swoosh{stroke-dasharray:900;stroke-dashoffset:900;animation:preDraw 1.1s .5s cubic-bezier(.65,0,.35,1) forwards}
@keyframes preDraw{to{stroke-dashoffset:0}}
.pre-word{font-size:12px;letter-spacing:.5em;color:var(--gold);font-weight:700;opacity:0;animation:preFade .7s 1s forwards}

/* ═══ CURSOR GLOW ═══ */
#glow{position:fixed;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:1;
background:radial-gradient(circle,rgba(212,175,94,.07) 0%,transparent 60%);transform:translate(-50%,-50%);left:-999px;top:-999px}
@media(hover:none){#glow{display:none}}

/* ═══ NAV ═══ */
.luxe-nav{padding:20px 0;transition:.4s;background:transparent}
.luxe-nav.scrolled{background:rgba(3,13,10,.88);backdrop-filter:blur(14px);padding:10px 0;border-bottom:1px solid var(--line)}
.nav-mark{display:block}
.nav-word{font-family:'Playfair Display',serif;font-weight:600;font-size:19px;letter-spacing:.22em;color:var(--gold)}
.luxe-nav .nav-link{color:var(--dim);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;transition:.3s}
.luxe-nav .nav-link:hover,.luxe-nav .nav-link:focus{color:var(--gold-hi)}
.luxe-toggler{border:1px solid var(--line);border-radius:4px;padding:12px 11px;display:inline-flex;flex-direction:column;gap:5px;background:transparent;position:relative;z-index:1061;transition:.3s}
.luxe-toggler span{width:22px;height:2px;background:var(--gold);display:block;transition:.35s cubic-bezier(.65,0,.35,1)}
.luxe-toggler:focus{box-shadow:0 0 0 2px rgba(212,175,94,.35)}
.luxe-toggler.open{border-color:var(--gold)}
.luxe-toggler.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.luxe-toggler.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.luxe-toggler.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.luxe-nav{z-index:1050}

/* ═══ FULLSCREEN MENU OVERLAY ═══ */
#menuOverlay{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;z-index:1040;
background:radial-gradient(900px 600px at 50% 0%, #103A28 0%, var(--ink) 55%, var(--void) 100%);
display:flex;flex-direction:column;justify-content:center;padding:110px 34px 44px;
opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}
#menuOverlay.open{opacity:1;visibility:visible}
.mo-ghost{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}
.mo-ghost span{font-family:'Playfair Display',serif;font-weight:600;font-size:min(72vw,420px);color:transparent;-webkit-text-stroke:1px rgba(212,175,94,.08);line-height:1;user-select:none}
.mo-list{position:relative;list-style:none;margin:0;padding:0}
.mo-link{display:flex;align-items:baseline;gap:20px;text-decoration:none;padding:20px 4px;border-bottom:1px solid rgba(212,175,94,.14);opacity:0;transform:translateY(28px);transition:opacity .55s ease,transform .55s ease,padding .3s}
#menuOverlay.open .mo-link{opacity:1;transform:none}
#menuOverlay.open .mo-list li:nth-child(1) .mo-link{transition-delay:.12s}
#menuOverlay.open .mo-list li:nth-child(2) .mo-link{transition-delay:.2s}
#menuOverlay.open .mo-list li:nth-child(3) .mo-link{transition-delay:.28s}
#menuOverlay.open .mo-list li:nth-child(4) .mo-link{transition-delay:.36s}
.mo-link:hover,.mo-link:active{padding-left:14px}
.mo-num{font-family:'Playfair Display',serif;font-style:italic;font-size:15px;color:var(--gold-dim);min-width:34px}
.mo-word{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(30px,8.4vw,44px);color:var(--white);letter-spacing:.02em;transition:.3s}
.mo-link:hover .mo-word{color:var(--gold-hi)}
.mo-arrow{margin-left:auto;color:var(--gold-dim);font-size:20px;transition:.3s}
.mo-link:hover .mo-arrow{color:var(--gold);transform:translateX(6px)}
.mo-cta{position:relative;margin-top:40px;opacity:0;transform:translateY(28px);transition:opacity .55s .44s ease,transform .55s .44s ease}
#menuOverlay.open .mo-cta{opacity:1;transform:none}
.mo-cta .btn-luxe{width:100%}
.mo-foot{position:relative;margin-top:auto;padding-top:26px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--dimmer);text-align:center;opacity:0;transition:opacity .55s .55s}
#menuOverlay.open .mo-foot{opacity:1}

/* ═══ BUTTONS ═══ */
.btn-luxe{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 34px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-radius:2px;overflow:hidden;transition:.35s}
.btn-luxe-gold{background:linear-gradient(120deg,var(--gold) 20%,var(--gold-hi) 50%,var(--gold) 80%);background-size:200% auto;color:#1A1305;animation:sheen 4s linear infinite}
.btn-luxe-gold:hover{transform:translateY(-2px);box-shadow:0 14px 40px -10px rgba(212,175,94,.45);color:#1A1305}
.btn-luxe-line{border:1px solid var(--line);color:var(--gold-hi)}
.btn-luxe-line:hover{border-color:var(--gold);background:rgba(212,175,94,.06);color:var(--gold-hi)}
@keyframes sheen{to{background-position:200% center}}

/* ═══ HERO ═══ */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;background:radial-gradient(1400px 800px at 50% -20%, #124531 0%, var(--ink) 45%, var(--void) 100%)}
.aurora{position:absolute;width:900px;height:900px;left:50%;top:-30%;transform:translateX(-50%);border-radius:50%;
background:radial-gradient(circle, rgba(212,175,94,.14) 0%, rgba(212,175,94,.05) 35%, transparent 65%);filter:blur(40px);animation:breathe 7s ease-in-out infinite;will-change:transform}
@keyframes breathe{0%,100%{opacity:.7}50%{opacity:1}}
.ghost{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden}
.ghost span{font-family:'Playfair Display',serif;font-weight:600;font-size:clamp(300px,42vw,620px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(212,175,94,.10);letter-spacing:.02em;user-select:none;will-change:transform}
.particles i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.5;animation:float 9s ease-in-out infinite}
.particles i:nth-child(2n){width:3px;height:3px;opacity:.35;animation-duration:12s}
.particles i:nth-child(3n){width:2px;height:2px;opacity:.65;animation-duration:7s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-46px)}}
.hero-inner{position:relative;z-index:2;text-align:center;width:100%;padding:150px 0 90px}
.hero-mark{width:min(320px,64vw);margin:0 auto 8px;display:block}
.hm-letters text{opacity:0;animation:hmIn 1s ease forwards}
.hm-letters text:nth-child(1){animation-delay:.9s}
.hm-letters text:nth-child(2){animation-delay:1.1s}
.hm-letters text:nth-child(3){animation-delay:1.3s}
@keyframes hmIn{from{opacity:0}to{opacity:1}}
.hm-swooshfill{opacity:0;animation:hmIn .9s 1.7s ease forwards}
.hm-swooshline{stroke-dasharray:820;stroke-dashoffset:820;animation:swDraw 1.2s 1.75s cubic-bezier(.65,0,.35,1) forwards}
@keyframes swDraw{to{stroke-dashoffset:0}}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.42em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.eyebrow::before,.eyebrow::after{content:'';width:44px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));display:block}
.eyebrow::after{background:linear-gradient(90deg,var(--gold),transparent)}
.hero h1{font-weight:500;font-size:clamp(52px,8vw,112px);line-height:1.04;margin:26px 0 0;color:var(--white)}
.hero h1 .shine{display:block;font-style:italic;background:linear-gradient(110deg,var(--gold-dim) 10%,var(--gold-hi) 42%,#FFF3CF 50%,var(--gold-hi) 58%,var(--gold-dim) 90%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 5.5s linear infinite}
.lead-luxe{max-width:620px;margin:32px auto 0;font-size:18px;line-height:1.9;color:var(--dim)}
.hero-cta{display:flex;gap:18px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.ld{opacity:0;transform:translateY(26px);animation:ldUp .9s ease forwards}
.ld-1{animation-delay:1.9s}.ld-2{animation-delay:2.05s}.ld-3{animation-delay:2.25s}.ld-4{animation-delay:2.45s}
@keyframes ldUp{to{opacity:1;transform:none}}
.scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--dimmer);font-size:10px;letter-spacing:.34em;text-transform:uppercase}
.scroll-cue i{width:1px;height:52px;background:linear-gradient(180deg,var(--gold),transparent);display:block;animation:cue 2s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ═══ MARQUEE ═══ */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;overflow:hidden;background:rgba(212,175,94,.03)}
.mq-track{display:flex;width:max-content;animation:mq 26s linear infinite}
.mq-track span{font-family:'Playfair Display',serif;font-size:19px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold-dim);white-space:nowrap;padding-right:26px}
.mq-track span b{color:var(--gold-hi);font-weight:500}
@keyframes mq{to{transform:translateX(-50%)}}

/* ═══ SECTIONS ═══ */
section{padding:130px 0;position:relative}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
.sec-eyebrow{font-size:12px;letter-spacing:.4em;text-transform:uppercase;font-weight:700;color:var(--gold);display:flex;align-items:center;gap:16px}
.sec-eyebrow::before{content:'';width:52px;height:1px;background:var(--gold)}
h2.big{font-weight:500;font-size:clamp(38px,4.6vw,64px);line-height:1.1;margin:24px 0 0}
h2.big em{font-style:italic;color:var(--gold)}

/* ═══ STATS ═══ */
.stats{background:var(--void)}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);margin-top:70px}
.stat{background:var(--void);padding:56px 44px;transition:.4s}
.stat:hover{background:var(--ink)}
.stat .n{font-family:'Playfair Display',serif;font-size:76px;font-weight:500;background:linear-gradient(180deg,var(--gold-hi),var(--gold-dim));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.stat .n .pct{font-size:38px}
.stat .n.inf{animation:infPulse 3s ease-in-out infinite}
@keyframes infPulse{0%,100%{opacity:1}50%{opacity:.55}}
.stat .l{margin-top:16px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);font-weight:700}
.stat .d{margin-top:12px;font-size:14px;line-height:1.7;color:var(--dimmer)}

/* ═══ VENTURES ═══ */
.ventures{background:linear-gradient(180deg,var(--void),var(--ink) 40%,var(--void))}
.v-list{margin-top:80px;display:flex;flex-direction:column;gap:34px}
.v-panel{position:relative;border:1px solid var(--line);border-radius:8px;padding:64px;display:grid;grid-template-columns:110px 1fr auto;gap:44px;align-items:center;background:rgba(7,25,18,.5);overflow:hidden;transition:border-color .5s,box-shadow .5s;cursor:pointer;text-decoration:none;color:inherit;transform-style:preserve-3d;will-change:transform}
.v-panel::before{content:'';position:absolute;inset:0;background:radial-gradient(700px 300px at 0% 50%, rgba(212,175,94,.10), transparent 60%);opacity:0;transition:.5s}
.v-panel:hover{border-color:var(--gold);box-shadow:0 40px 80px -40px rgba(212,175,94,.3);color:inherit}
.v-panel:hover::before{opacity:1}
.v-idx{font-family:'Playfair Display',serif;font-size:64px;color:transparent;-webkit-text-stroke:1.5px var(--gold-dim);line-height:1;transition:.5s}
.v-panel:hover .v-idx{-webkit-text-stroke:1.5px var(--gold);color:rgba(212,175,94,.12)}
.v-body h3{font-weight:600;font-size:38px;color:var(--white)}
.v-body .tag{margin-top:8px;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:700}
.v-body p{margin:18px 0 0;color:var(--dim);font-size:15.5px;line-height:1.85;max-width:560px}
.v-side{display:flex;flex-direction:column;align-items:flex-end;gap:22px}
.chip-live{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.2em;color:#7CE0B4;border:1px solid rgba(124,224,180,.35);padding:10px 18px;border-radius:100px}
.chip-live .dot{width:7px;height:7px;border-radius:50%;background:#3ECF8E;box-shadow:0 0 12px #3ECF8E;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.chip-soon{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--gold);border:1px solid var(--line);padding:10px 18px;border-radius:100px}
.v-arrow{width:58px;height:58px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:22px;transition:.4s}
.v-panel:hover .v-arrow{background:var(--gold);color:#1A1305;transform:rotate(-45deg)}
.v-panel.ghosted{border-style:dashed;opacity:.85}
.v-panel.ghosted h3{color:var(--dim)}

/* ═══ APPROACH ═══ */
.approach .rows{margin-top:70px;border-top:1px solid var(--line)}
.a-row{display:grid;grid-template-columns:120px 1fr 1.1fr;gap:40px;align-items:baseline;padding:52px 10px;border-bottom:1px solid var(--line);transition:.4s}
.a-row:hover{background:rgba(212,175,94,.035);padding-left:28px}
.a-row .rn{font-family:'Playfair Display',serif;font-style:italic;font-size:30px;color:var(--gold-dim);transition:.4s}
.a-row:hover .rn{color:var(--gold-hi)}
.a-row h3{font-weight:500;font-size:32px;color:var(--white);margin:0}
.a-row p{margin:0;color:var(--dim);font-size:15.5px;line-height:1.85}

/* ═══ MISSION ═══ */
.mission{text-align:center;background:radial-gradient(900px 500px at 50% 50%, var(--ink2), var(--void) 75%)}
.mission blockquote{font-weight:500;font-size:clamp(30px,4vw,52px);line-height:1.35;max-width:960px;margin:0 auto;color:var(--white)}
.mission blockquote em{font-style:italic;background:linear-gradient(110deg,var(--gold-dim),var(--gold-hi) 50%,var(--gold-dim));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 6s linear infinite}
.mission .who{margin-top:36px;font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--dimmer);font-weight:700}

/* ═══ CONTACT ═══ */
.contact{background:var(--void)}
.contact .sub{margin-top:26px;color:var(--dim);font-size:16.5px;line-height:1.9;max-width:480px}
.glass{background:linear-gradient(150deg,rgba(212,175,94,.07),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:14px;padding:46px;backdrop-filter:blur(8px);position:relative;overflow:hidden}
.glass::before{content:'';position:absolute;top:0;left:-60%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(242,220,160,.06),transparent);animation:sweep 5s ease-in-out infinite}
@keyframes sweep{0%,100%{left:-60%}50%{left:110%}}
.g-row{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid rgba(212,175,94,.12);text-decoration:none;color:inherit}
.g-row:last-child{border:0}
.g-ic{width:50px;height:50px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.g-row .k{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--dimmer);font-weight:700}
.g-row .v{font-size:17px;color:var(--gold-hi);font-weight:500;margin-top:4px}
a.g-row:hover .v{color:#FFF3CF}

/* ═══ FOOTER ═══ */
footer{border-top:1px solid var(--line);padding:52px 0;background:#020906}
.f-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}
footer p{font-size:13px;color:var(--dimmer);line-height:1.8;text-align:right;margin:0}

/* ═══ REDUCED MOTION ═══ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .ld,.reveal{opacity:1;transform:none}
  #preloader{display:none}
}

/* ═══ MOBILE ═══ */
@media(max-width:991px){
  .hero-inner{padding:140px 0 110px}
  .hero-mark{width:min(250px,60vw)}
  .lead-luxe{font-size:16px;padding:0 8px}
  section{padding:84px 0}
  .stat-grid{grid-template-columns:1fr}
  .stat{padding:42px 34px}
  .v-panel{grid-template-columns:1fr;padding:40px 30px;gap:22px}
  .v-idx{font-size:44px}
  .v-body h3{font-size:29px}
  .v-side{flex-direction:row;align-items:center;justify-content:space-between;width:100%}
  .a-row{grid-template-columns:1fr;gap:14px;padding:38px 6px}
  .f-inner{flex-direction:column;text-align:center}
  footer p{text-align:center}
}