/* ===== Wealthia · shared styles ===== */
:root{
  --ivory:#F0EEE6; --paper:#F7F5EF; --paper2:#E9E6DC;
  --ink:#1A1A1A; --ink2:#2b2926; --oxblood:#7B2D26; --oxblood-l:#9a4034;
  --muted:#726C62; --line:#DAD6CA; --finly:#0F3D3E; --finly-l:#6EE7B7;
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ivory);color:var(--ink);font-family:'Inter',system-ui,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
body::before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.5;mix-blend-mode:multiply;
  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.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E")}

.serif,.wonk{font-family:'Fraunces',Georgia,serif;font-variation-settings:"opsz" 144,"WONK" 1}
.it{font-style:italic;font-variation-settings:"opsz" 80,"WONK" 0}
.ox{color:var(--oxblood)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}

/* wordmark */
.wm{font-family:'Fraunces',serif;font-variation-settings:"opsz" 144,"WONK" 1;font-weight:400;letter-spacing:-.01em;display:inline-flex;align-items:baseline;white-space:nowrap}
.wm .ia{background:var(--oxblood);color:var(--ivory);border-radius:.16em;padding:0 .14em;margin-left:.03em;line-height:1}
.wm.inv{color:var(--ivory)}

/* cursor */
.cursor{position:fixed;top:0;left:0;width:30px;height:30px;border:1.5px solid var(--oxblood);border-radius:50%;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s,opacity .25s;opacity:0;mix-blend-mode:multiply}
.cursor.big{width:62px;height:62px;background:rgba(123,45,38,.08)}
@media (pointer:coarse){.cursor{display:none!important}}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:300;transition:.4s}
nav .bar{display:flex;align-items:center;justify-content:space-between;padding:16px 26px;max-width:var(--maxw);margin:0 auto;gap:18px}
nav.scrolled{background:rgba(240,238,230,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
nav .brand{font-size:25px;text-decoration:none;color:inherit}
nav .links{display:flex;gap:30px;align-items:center}
nav .links a{text-decoration:none;font-size:14px;font-weight:500;opacity:.78;transition:.2s}
nav .links a:hover,nav .links a.active{opacity:1;color:var(--oxblood)}
.lang{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;font-size:12px;font-weight:600}
.lang button{background:none;border:none;padding:6px 11px;cursor:pointer;color:var(--muted);font:inherit}
.lang button.on{background:var(--ink);color:var(--ivory)}
.nav-right{display:flex;align-items:center;gap:16px}
.cta{border:1px solid var(--ink);border-radius:999px;padding:9px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:.2s;white-space:nowrap}
.cta:hover{background:var(--ink);color:var(--ivory)}
.burger{display:none;background:none;border:none;cursor:pointer;width:34px;height:34px;position:relative;z-index:320}
.burger span{display:block;position:absolute;left:5px;right:5px;height:2px;background:var(--ink);transition:.3s}
.burger span:nth-child(1){top:11px}.burger span:nth-child(2){top:17px}.burger span:nth-child(3){top:23px}
body.menu-open .burger span:nth-child(1){top:17px;transform:rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){top:17px;transform:rotate(-45deg)}
/* mobile overlay menu */
.mobile-menu{position:fixed;inset:0;z-index:310;background:var(--ivory);transform:translateY(-100%);transition:transform .45s cubic-bezier(.7,0,.2,1);display:flex;flex-direction:column;justify-content:center;padding:32px;gap:6px}
body.menu-open .mobile-menu{transform:none}
.mobile-menu a{font-family:'Fraunces',serif;font-variation-settings:"opsz" 144,"WONK" 1;font-size:40px;text-decoration:none;color:var(--ink);padding:10px 0;border-bottom:1px solid var(--line)}
.mobile-menu a:last-of-type{border:none}
.mobile-menu .mfoot{margin-top:30px;display:flex;align-items:center;gap:16px}

@media(max-width:880px){
  nav .links{display:none}
  .nav-right .cta{display:none}
  .burger{display:block}
}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:15px 28px;font-size:15px;font-weight:600;text-decoration:none;transition:.25s;cursor:pointer;border:1px solid transparent}
.btn-primary{background:var(--oxblood);color:var(--ivory)}
.btn-primary:hover{background:var(--ink);transform:translateY(-2px)}
.btn-ghost{border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--ivory)}
.btn .arr{transition:transform .25s}.btn:hover .arr{transform:translateX(4px)}
.soon{opacity:.5;pointer-events:none}

/* HERO (home) */
.hero{position:relative;min-height:94svh;display:flex;align-items:center;padding:120px 0 50px;overflow:hidden}
.aurora{position:absolute;inset:-20%;z-index:0;pointer-events:none;
  background:radial-gradient(40% 40% at 70% 30%,rgba(123,45,38,.16),transparent 70%),radial-gradient(35% 45% at 25% 70%,rgba(154,64,52,.13),transparent 70%),radial-gradient(50% 40% at 50% 50%,rgba(201,150,90,.10),transparent 70%);
  filter:blur(10px);animation:drift 24s ease-in-out infinite alternate}
@keyframes drift{0%{transform:translate(-2%,-1%) scale(1)}100%{transform:translate(3%,2%) scale(1.12)}}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;width:100%}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--oxblood)}
.hero-h{font-family:'Fraunces',serif;font-variation-settings:"opsz" 144,"WONK" 1;font-weight:400;font-size:clamp(44px,7vw,88px);line-height:.98;letter-spacing:-.02em;margin:24px 0 0}
.hero-h .word{display:inline-block;opacity:0;transform:translateY(28px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.hero-sub{font-size:clamp(16px,2vw,20px);color:var(--ink2);max-width:520px;margin-top:24px;opacity:0;animation:rise .9s ease forwards;animation-delay:1.05s}
.hero-cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;opacity:0;animation:rise .9s ease forwards;animation-delay:1.2s}
.proof{margin-top:28px;font-size:14px;color:var(--muted);opacity:0;animation:rise .9s ease forwards;animation-delay:1.35s}
.proof b{color:var(--ink);font-weight:600}
.hero-mark{justify-self:center}
.hero-mark svg{width:min(340px,78%);height:auto;overflow:visible}
.hero-mark path{fill:var(--oxblood);fill-opacity:0;stroke:var(--oxblood);stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.8s ease forwards .3s,fillin .8s ease forwards 1.7s}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fillin{to{fill-opacity:1;stroke-opacity:0}}
@media(max-width:880px){.hero .wrap{grid-template-columns:1fr}.hero-mark{display:none}.hero{min-height:auto;padding:130px 0 60px}}

/* subpage hero */
.subhero{padding:150px 0 50px;position:relative;overflow:hidden}
.subhero .aurora{opacity:.7}
.subhero .wrap{position:relative;z-index:2}
.subhero h1{font-family:'Fraunces',serif;font-variation-settings:"opsz" 144,"WONK" 1;font-weight:400;font-size:clamp(40px,6.5vw,80px);line-height:1;letter-spacing:-.02em;margin-top:18px;max-width:16ch}
.subhero p{font-size:clamp(16px,2vw,20px);color:var(--ink2);max-width:560px;margin-top:22px}

/* marquee */
.marquee{background:var(--ink);color:var(--ivory);padding:16px 0;overflow:hidden;white-space:nowrap}
.marquee .track{display:inline-block;animation:scroll 30s linear infinite}
.marquee span{font-family:'Fraunces',serif;font-variation-settings:"opsz" 90;font-style:italic;font-size:22px;padding:0 26px;opacity:.92}
.marquee .dot{color:var(--oxblood-l);font-style:normal}
@keyframes scroll{to{transform:translateX(-50%)}}

/* sections */
section.block{padding:88px 0;position:relative}
section.block.tight{padding:64px 0}
.shead{display:flex;align-items:baseline;margin-bottom:16px}
.snum{font-family:'Fraunces',serif;font-style:italic;font-variation-settings:"opsz" 40;font-size:15px;color:var(--oxblood);letter-spacing:.05em}
.slabel{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-left:14px}
.h2{font-family:'Fraunces',serif;font-variation-settings:"opsz" 144,"WONK" 1;font-weight:400;font-size:clamp(30px,4.2vw,52px);line-height:1.03;letter-spacing:-.015em;max-width:16ch}

/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.07s}.rv.d2{transition-delay:.14s}.rv.d3{transition-delay:.21s}

/* pillars */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.pillar{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:38px;transition:.35s}
.pillar:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(26,26,26,.22)}
.pillar .pn{font-family:'Fraunces',serif;font-style:italic;color:var(--oxblood);font-size:18px}
.pillar h3{font-family:'Fraunces',serif;font-variation-settings:"opsz" 100,"WONK" 1;font-weight:500;font-size:26px;margin:12px 0 10px}
.pillar p{color:var(--ink2);font-size:16px}
@media(max-width:760px){.pillars{grid-template-columns:1fr}}

/* product teaser (home) */
.products{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.pcard{position:relative;border-radius:24px;padding:38px;overflow:hidden;border:1px solid var(--line);transition:.4s;text-decoration:none;color:inherit;display:block}
.pcard.finly{background:linear-gradient(160deg,#0F3D3E,#0b2e2f);color:#F9FAF9;border-color:#0F3D3E}
.pcard.emp{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.pcard:hover{transform:translateY(-6px);box-shadow:0 40px 80px -40px rgba(26,26,26,.45)}
.pcard .plabel{font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.7;font-weight:600}
.pcard h3{font-family:'Fraunces',serif;font-variation-settings:"opsz" 144,"WONK" 1;font-weight:400;font-size:38px;margin:10px 0 14px}
.pcard .leaf{color:#6EE7B7}
.pcard p{font-size:15.5px;opacity:.9;max-width:42ch}
.pcard .go{margin-top:20px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.pcard .go .arr{transition:transform .25s}.pcard:hover .go .arr{transform:translateX(5px)}
.pcard .status{position:absolute;top:28px;right:28px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.14);padding:5px 11px;border-radius:999px}
.more{margin-top:22px;color:var(--muted);font-size:15px}
@media(max-width:760px){.products{grid-template-columns:1fr}.pcard h3{font-size:32px}}

/* product detail bands (productos page) */
.pband{border-radius:28px;overflow:hidden;border:1px solid var(--line);margin-top:34px;display:grid;grid-template-columns:1.05fr .95fr}
.pband .copy{padding:50px}
.pband .visual{position:relative;display:flex;align-items:center;justify-content:center;padding:34px;overflow:hidden}
.pband.finly{background:linear-gradient(165deg,#103f40,#0b2e2f);color:#F9FAF9;border-color:#0F3D3E}
.pband.finly .visual{background:radial-gradient(circle at 50% 40%,rgba(110,231,183,.18),transparent 70%)}
.pband.emp{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.pband.emp .visual{background:radial-gradient(circle at 50% 40%,rgba(123,45,38,.30),transparent 70%)}
.pband .plabel{font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.72;font-weight:600}
.pband h2{font-family:'Fraunces',serif;font-variation-settings:"opsz" 144,"WONK" 1;font-weight:400;font-size:46px;margin:8px 0 14px}
.pband .lead{font-size:17px;opacity:.92;max-width:44ch}
.pband ul{list-style:none;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
.pband li{font-size:14.5px;opacity:.92;padding-left:22px;position:relative}
.pband li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.55}
.pband.finly li::before{background:#6EE7B7;opacity:1}
.pband.emp li::before{background:var(--oxblood-l);opacity:1}
.pband .platforms{margin-top:22px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-weight:600}
.pband .pcta{margin-top:26px}
.pband .mascot{width:min(330px,90%);filter:drop-shadow(0 30px 40px rgba(0,0,0,.35));animation:float 6s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.pband .biglabel{font-family:'Fraunces',serif;font-variation-settings:"opsz" 144,"WONK" 1;font-size:clamp(70px,12vw,150px);line-height:.85;opacity:.16;color:#fff;text-align:center;letter-spacing:-.03em}
@media(max-width:860px){.pband{grid-template-columns:1fr}.pband .copy{padding:38px}.pband ul{grid-template-columns:1fr}.pband .visual{order:-1;min-height:220px}}

/* services columns */
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.scol{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:40px}
.scol .k{font-family:'Fraunces',serif;font-variation-settings:"opsz" 120,"WONK" 1;font-weight:500;font-size:28px}
.scol .sp{color:var(--muted);font-size:15.5px;margin:8px 0 22px}
.scol ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.scol li{font-size:15.5px;padding-left:24px;position:relative}
.scol li::before{content:"→";position:absolute;left:0;color:var(--oxblood)}
@media(max-width:760px){.cols2{grid-template-columns:1fr}}

/* process steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.step{border-top:2px solid var(--oxblood);padding-top:18px}
.step .sn{font-family:'Fraunces',serif;font-style:italic;color:var(--oxblood);font-size:16px}
.step h4{font-family:'Fraunces',serif;font-variation-settings:"opsz" 100,"WONK" 1;font-weight:500;font-size:22px;margin:6px 0 8px}
.step p{color:var(--muted);font-size:14.5px}
@media(max-width:760px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.steps{grid-template-columns:1fr}}

/* capabilities grid */
.caps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}
.cap{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px;font-size:14.5px;font-weight:500;transition:.3s}
.cap:hover{background:var(--ink);color:var(--ivory);transform:translateY(-3px)}
.cap b{display:block;font-family:'Fraunces',serif;font-style:italic;color:var(--oxblood);font-size:13px;margin-bottom:6px;font-weight:400}
.cap:hover b{color:var(--oxblood-l)}
@media(max-width:860px){.caps{grid-template-columns:1fr 1fr}}

/* enfoque */
.enfoque{background:var(--ink);color:var(--ivory)}
.enfoque .snum{color:var(--oxblood-l)}.enfoque .slabel{color:#a39a8d}
.enfoque .h2{max-width:18ch}
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.chip{border:1px solid #3a3733;border-radius:999px;padding:11px 20px;font-size:14px;color:#e7e2d8;background:rgba(255,255,255,.03)}
.chip b{color:#fff}

/* founders */
.nos-lead{font-family:'Fraunces',serif;font-variation-settings:"opsz" 144,"WONK" 1;font-weight:400;font-size:clamp(26px,3.4vw,40px);line-height:1.1;max-width:22ch;margin-top:14px}
.founders{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.founder{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:30px;display:flex;gap:22px;align-items:flex-start}
.founder img{width:88px;height:88px;border-radius:16px;object-fit:cover;flex:0 0 auto;filter:grayscale(.15)}
.founder .role{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--oxblood);font-weight:600}
.founder h4{font-family:'Fraunces',serif;font-variation-settings:"opsz" 100,"WONK" 1;font-weight:500;font-size:22px;margin:5px 0 8px}
.founder p{font-size:14.5px;color:var(--ink2)}
.built{margin-top:30px;font-size:16px;color:var(--muted);max-width:60ch}
@media(max-width:760px){.founders{grid-template-columns:1fr}.founder{flex-direction:row}}

/* contacto */
.contacto{text-align:center;padding:110px 0}
.contacto h2{font-family:'Fraunces',serif;font-variation-settings:"opsz" 144,"WONK" 1;font-weight:400;font-size:clamp(36px,6vw,76px);line-height:1;letter-spacing:-.02em}
.contacto p{color:var(--ink2);font-size:18px;margin-top:20px}
.cbtns{display:flex;gap:14px;justify-content:center;margin-top:36px;flex-wrap:wrap}

/* footer */
footer{background:var(--ink);color:var(--ivory);padding:70px 0 36px;overflow:hidden}
.fbig{font-family:'Fraunces',serif;font-variation-settings:"opsz" 144,"WONK" 1;font-weight:400;font-size:clamp(64px,18vw,240px);line-height:.8;letter-spacing:-.02em;color:var(--ivory);white-space:nowrap}
.fbig .ia{background:var(--oxblood);color:var(--ivory);border-radius:.12em;padding:0 .08em}
.fmeta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-top:44px;padding-top:26px;border-top:1px solid #3a3733;color:#a39a8d;font-size:14px}
.fmeta a{color:#e7e2d8;text-decoration:none}.fmeta a:hover{color:#fff}
.fmeta .col{display:flex;gap:20px;flex-wrap:wrap}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  .hero-mark path{fill-opacity:1;stroke-opacity:0}
  .hero-h .word{opacity:1;transform:none}
  .hero-sub,.hero-cta,.proof{opacity:1}
}

.products.uno{grid-template-columns:1fr;max-width:760px}
.pcard.caso{background:linear-gradient(160deg,#7B2D26,#5e211c);color:var(--ivory);border-color:#7B2D26}
@media(max-width:760px){.products.uno{grid-template-columns:1fr}}

/* alianza Spingarn */
.pcard.ali{background:linear-gradient(160deg,#0A1C3C,#061228);color:#F7F8FA;border-color:#0A1C3C}
.pcard.ali .go{color:#D4B95E}
.pband.inv{background:linear-gradient(165deg,#1E293B,#0F172A);color:#F8FAFC;border-color:#0F172A}
.pband.inv .visual{background:radial-gradient(circle at 50% 40%,rgba(229,133,10,.20),transparent 70%)}
.pband.inv li::before{background:#E5850A;opacity:1}
.pband.van{background:linear-gradient(165deg,#0A1C3C,#061228);color:#F7F8FA;border-color:#0A1C3C}
.pband.van .visual{background:radial-gradient(circle at 50% 40%,rgba(172,144,51,.28),transparent 70%)}
.pband.van li::before{background:#AC9033;opacity:1}
.ali-sub{margin-top:14px;color:var(--muted);font-size:16px;max-width:60ch}
