/* ============================================================
   VIDA WEALTH GROUP — "Quiet Authority" design system (app/)
   Dark, editorial, premium. Deep-green immersion + gold + cream.
   Standalone new look — does not depend on site/styles.css.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500;1,600;1,700&family=Poppins:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');

:root{
  --green:#133C35; --green-700:#0E2D28; --green-900:#081C18; --green-300:#3E6A60;
  --gold:#C9962A; --gold-deep:#826C3C; --gold-soft:#D9B45E; --gold-bright:#E3BE6B;
  --cream:#FBF8F1; --cream-dim:#E9E2D2;
  --ink:#1E2A27;
  --fg:#F3EFE6;                 /* primary text on dark */
  --fg-soft:#BFD0CB;            /* secondary on dark */
  --fg-faint:#8AA39B;           /* tertiary on dark */
  --grad-gold:linear-gradient(135deg,#826C3C 0%,#B0892C 45%,#E3BE6B 100%); /* @kind color */
  --grad-page:radial-gradient(120% 90% at 75% 0%, #1B4A41 0%, #133C35 45%, #0A211D 100%); /* @kind color */
  --grad-panel:linear-gradient(180deg,#0E2D28 0%,#0A211D 100%); /* @kind color */
  --glass:rgba(255,255,255,.045);
  --glass-line:rgba(217,180,94,.20);
  --hairline:rgba(255,255,255,.10);
  --font-serif:'Cormorant Garamond','Hoefler Text',Georgia,serif;
  --font-sans:'Poppins','Helvetica Neue',Arial,system-ui,sans-serif;
  --fs-display:clamp(54px,7.2vw,108px);
  --fs-h1:clamp(40px,5vw,72px);
  --fs-h2:clamp(32px,3.8vw,52px);
  --r-md:14px; --r-lg:22px; --r-xl:30px; --r-pill:999px;
  --shadow-deep:0 30px 80px -28px rgba(0,0,0,.6);
  --shadow-gold:0 16px 44px -14px rgba(201,150,42,.5);
  --ease:cubic-bezier(.22,.61,.36,1); /* @kind other */ --dur:.5s; /* @kind other */
  --maxw:1200px;
}

*{box-sizing:border-box;-webkit-font-smoothing:antialiased;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--green-900);color:var(--fg);font-family:var(--font-sans);font-size:17px;line-height:1.65;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:var(--gold-soft);}
::selection{background:rgba(201,150,42,.3);color:#fff;}
.lucide{width:1em;height:1em;display:inline-block;vertical-align:-.125em;stroke-width:1.6;}

/* ---- layout ---- */
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.container--narrow{max-width:880px;}
.container--prose{max-width:740px;}
.section{padding:120px 0;position:relative;}
.bg-page{background:var(--grad-page);}
.bg-panel{background:var(--grad-panel);}
.bg-deep{background:var(--green-900);}
.bg-light{background:var(--cream);color:var(--ink);}
.bg-light .lead{color:#54605C;}

/* faint oversized circle motif */
.motif{position:absolute;border:1px solid rgba(217,180,94,.16);border-radius:50%;pointer-events:none;}
.tree-wm{position:absolute;opacity:.05;pointer-events:none;filter:saturate(0) brightness(2);}

/* ---- type ---- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:13px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);margin:0 0 22px;}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--grad-gold);box-shadow:0 0 12px rgba(201,150,42,.7);}
.eyebrow--center{justify-content:center;}
.display{font-family:var(--font-serif);font-weight:600;font-size:var(--fs-display);line-height:.98;letter-spacing:-.015em;
  color:#fff;margin:0;text-wrap:balance;}
.display em,.h1 em,.h2 em{font-style:italic;font-weight:600;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.h1{font-family:var(--font-serif);font-weight:600;font-size:var(--fs-h1);line-height:1.04;letter-spacing:-.01em;color:#fff;margin:0;text-wrap:balance;}
.h2{font-family:var(--font-serif);font-weight:600;font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.008em;color:#fff;margin:0;text-wrap:balance;}
.bg-light .display,.bg-light .h1,.bg-light .h2{color:var(--green);}
.lead{font-size:20px;line-height:1.6;color:var(--fg-soft);font-weight:300;}
.serif-accent{font-family:var(--font-serif);font-style:italic;font-size:21px;color:var(--gold-soft);}
.section-head{max-width:720px;margin:0 auto 64px;text-align:center;}
.section-head .lead{margin:20px auto 0;max-width:600px;}

/* ---- buttons ---- */
.btn{font-family:var(--font-sans);font-weight:600;font-size:15.5px;border:0;border-radius:var(--r-pill);padding:16px 30px;
  cursor:pointer;display:inline-flex;align-items:center;gap:10px;justify-content:center;text-decoration:none;white-space:nowrap;
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);}
.btn .lucide{width:17px;height:17px;}
.btn--lg{padding:19px 38px;font-size:17px;}
.btn--gold{background:var(--grad-gold);color:#23180A;box-shadow:var(--shadow-gold);}
.btn--gold:hover{transform:translateY(-3px);box-shadow:var(--shadow-gold),0 0 0 5px rgba(201,150,42,.14);}
.btn--ghost{background:rgba(255,255,255,.04);color:var(--cream);border:1.5px solid rgba(233,226,210,.28);}
.btn--ghost:hover{background:rgba(255,255,255,.09);border-color:var(--gold-soft);transform:translateY(-2px);}
.btn--dark{background:var(--green);color:var(--cream);}
.btn--dark:hover{background:var(--green-700);transform:translateY(-2px);}

/* ---- pills / trust ---- */
.pill{display:inline-flex;align-items:center;gap:9px;border-radius:var(--r-pill);font-size:13px;font-weight:500;
  letter-spacing:.04em;padding:9px 18px;background:rgba(255,255,255,.05);border:1px solid var(--glass-line);color:var(--cream-dim);}
.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--grad-gold);box-shadow:0 0 10px rgba(201,150,42,.8);}
.trust-row{display:flex;flex-wrap:wrap;gap:14px 28px;}
.trust{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:400;color:var(--fg-soft);}
.trust .lucide{width:18px;height:18px;color:var(--gold-soft);}

/* ---- glass card ---- */
.glass{background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid var(--glass-line);border-radius:var(--r-xl);box-shadow:var(--shadow-deep);}
.card{background:var(--glass);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:34px 30px;
  transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease);}
.card:hover{transform:translateY(-4px);border-color:var(--glass-line);background:rgba(255,255,255,.06);}
.bg-light .card{background:#fff;border-color:rgba(19,60,53,.1);box-shadow:0 14px 40px -18px rgba(19,60,53,.18);}
.card h3{font-family:var(--font-sans);font-weight:600;font-size:20px;color:#fff;margin:0 0 10px;}
.bg-light .card h3{color:var(--green);}
.card p{font-size:15px;line-height:1.65;color:var(--fg-soft);margin:0;}
.bg-light .card p{color:#54605C;}
.token{width:52px;height:52px;border-radius:50%;background:var(--grad-gold);display:flex;align-items:center;justify-content:center;
  font-family:var(--font-serif);font-weight:700;font-size:24px;color:#23180A;margin-bottom:20px;}
.icon-orb{width:52px;height:52px;border-radius:50%;background:rgba(217,180,94,.12);border:1px solid var(--glass-line);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.icon-orb .lucide{width:23px;height:23px;color:var(--gold-soft);}

/* ---- testimonial cards ---- */
.tcard{background:var(--glass);border:1px solid var(--glass-line);border-radius:var(--r-lg);padding:30px 28px;backdrop-filter:blur(10px);}
.tcard__stars{color:var(--gold);letter-spacing:4px;font-size:15px;margin-bottom:16px;}
.tcard__quote{font-family:var(--font-serif);font-size:17px;line-height:1.6;color:var(--cream);font-style:italic;margin:0 0 22px;}
.tcard__who{display:flex;align-items:center;gap:13px;}
.tcard__avatar{width:44px;height:44px;border-radius:50%;background:var(--grad-gold);color:#23180A;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-weight:700;font-size:19px;flex-shrink:0;}
.tcard__name{font-family:var(--font-sans);font-weight:600;font-size:15px;color:#fff;}
.tcard__role{font-size:12.5px;color:var(--fg-faint);}
/* ---- agent portrait frame ---- */
.agent-photo{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg);border:1px solid var(--glass-line);}

/* ---- header ---- */
.site-header{position:sticky;top:0;z-index:60;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),backdrop-filter var(--dur);
  border-bottom:1px solid transparent;}
.site-header.scrolled{background:rgba(8,28,24,.72);backdrop-filter:saturate(150%) blur(16px);-webkit-backdrop-filter:saturate(150%) blur(16px);border-bottom:1px solid var(--hairline);}
.nav{max-width:var(--maxw);margin:0 auto;padding:0 32px;height:84px;display:flex;align-items:center;justify-content:space-between;}
.nav__logo img{height:38px;width:auto;}
.nav__links{display:flex;align-items:center;gap:34px;}
.nav__links a{font-size:14.5px;font-weight:400;color:var(--cream-dim);text-decoration:none;transition:color .2s;}
.nav__links a:hover{color:#fff;}
.nav__right{display:flex;align-items:center;gap:22px;}
.lang{display:flex;gap:5px;font-size:13px;font-weight:600;color:var(--fg-faint);}
.lang a{color:var(--fg-faint);text-decoration:none;padding:3px 5px;}
.lang a.on{color:var(--cream);}
.nav-toggle{display:none;background:none;border:0;color:var(--cream);cursor:pointer;padding:6px;}
.nav-toggle .lucide{width:26px;height:26px;}
.drawer{display:none;background:var(--green-900);border-bottom:1px solid var(--hairline);padding:10px 32px 26px;}
.drawer.open{display:block;}
.drawer a{display:block;padding:14px 0;color:var(--cream-dim);text-decoration:none;border-bottom:1px solid var(--hairline);font-size:16px;}
.drawer .btn{margin-top:18px;width:100%;}

/* ---- hero ---- */
.hero{position:relative;overflow:hidden;padding:72px 0 110px;}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
.hero__copy .display{margin:26px 0;}
.hero__copy p.lead{max-width:520px;margin-bottom:18px;}
.hero__cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px;}
.hero__media{position:relative;aspect-ratio:4/5;}
.hero__photo{width:100%;height:100%;object-fit:cover;border-radius:var(--r-xl);position:relative;z-index:2;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 16px,rgba(255,255,255,.02) 16px 32px);}
.hero__media .motif{z-index:1;}
.hero__badge{position:absolute;z-index:3;left:-22px;bottom:34px;}

/* ---- stats row ---- */
.stats{display:flex;gap:48px;flex-wrap:wrap;}
.stat__n{font-family:var(--font-serif);font-weight:600;font-size:50px;line-height:1;background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.stat__l{font-size:13.5px;color:var(--fg-soft);margin-top:8px;letter-spacing:.02em;}

/* ---- grids ---- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}

/* ---- marquee ribbon ---- */
.ribbon{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);overflow:hidden;padding:20px 0;background:rgba(0,0,0,.18);}
.ribbon__track{display:flex;width:max-content;animation:vwg-scroll 38s linear infinite;}
.ribbon__row{display:flex;align-items:center;flex-shrink:0;}
.ribbon__item{font-family:var(--font-serif);font-size:21px;font-style:italic;color:var(--cream-dim);padding:0 4px;}
.ribbon__dot{color:var(--gold);padding:0 26px;}
@keyframes vwg-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---- footer ---- */
.site-footer{background:var(--green-900);border-top:1px solid var(--hairline);padding:72px 0 44px;}
.site-footer__top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:32px;padding-bottom:36px;border-bottom:1px solid var(--hairline);}
.site-footer__tag{font-family:var(--font-serif);font-style:italic;font-size:19px;color:var(--gold-soft);margin:18px 0 0;max-width:300px;}
.site-footer__nav{display:flex;gap:60px;flex-wrap:wrap;}
.site-footer__nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px;}
.site-footer__nav a{color:var(--fg-soft);text-decoration:none;font-size:14.5px;}
.site-footer__nav a:hover{color:var(--gold-soft);}
.disclaimer{font-size:11.5px;line-height:1.7;color:rgba(191,208,203,.5);margin:30px 0 0;max-width:1000px;}
.copyright{font-size:12.5px;color:rgba(191,208,203,.5);margin:18px 0 0;}

/* ---- reveal ---- */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
  .reveal.in{opacity:1;transform:none;}
}

/* ---- responsive ---- */
@media (max-width:920px){
  .section{padding:84px 0;}
  .nav__links{display:none;}
  .nav__right .lang,.nav__right .btn{display:none;}
  .nav-toggle{display:inline-flex;}
  .hero__grid,.grid-3,.grid-2,.grid-4{grid-template-columns:1fr;}
  .hero__media{max-width:440px;margin:0 auto;}
  .stats{gap:32px;}
}
@media (max-width:560px){ .container{padding:0 20px;} }
@media (min-width:921px) and (max-width:1100px){ .grid-4{grid-template-columns:repeat(2,1fr);} }
@media (prefers-reduced-motion:reduce){ .ribbon__track{animation:none;} }
