﻿:root {
  --ink:#09090b; --ink-60:rgba(9,9,11,.6); --ink-35:rgba(9,9,11,.35);
  --ink-15:rgba(9,9,11,.15); --ink-06:rgba(9,9,11,.06);
  --canvas:#fafafa; --surface:#fff; --surface-2:#f4f4f5;
  --blue:#1d6bf3; --blue-dim:rgba(29,107,243,.1); --blue-mid:rgba(29,107,243,.18);
  --teal:#06b6d4; --amber:#f59e0b; --green:#10b981;
  --f-d:'Bricolage Grotesque',sans-serif; --f-m:'Geist Mono',monospace;
  --s2:.5rem; --s3:.75rem; --s4:1rem; --s5:1.25rem; --s6:1.5rem;
  --s8:2rem; --s10:2.5rem; --s12:3rem; --s16:4rem; --s20:5rem; --s24:6rem;
  --r-md:14px; --r-lg:22px; --r-xl:32px;
  --sh-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  --sh-md:0 4px 16px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.04);
  --sh-lg:0 20px 60px rgba(0,0,0,.10),0 8px 24px rgba(0,0,0,.05);
  --sh-xl:0 40px 100px rgba(0,0,0,.12),0 16px 40px rgba(0,0,0,.06);
  --sh-blue:0 12px 40px rgba(29,107,243,.22);
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--f-d);background:var(--canvas);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--canvas);}
::-webkit-scrollbar-thumb{background:var(--ink-15);border-radius:2px;}

/* CURSOR */
.cursor{position:fixed;z-index:9999;pointer-events:none;width:10px;height:10px;background:var(--blue);border-radius:50%;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease);mix-blend-mode:multiply;}
.cursor-ring{position:fixed;z-index:9998;pointer-events:none;width:36px;height:36px;border:1.5px solid var(--blue);border-radius:50%;transform:translate(-50%,-50%);transition:width .4s var(--ease),height .4s var(--ease);opacity:.45;}
body:has(a:hover) .cursor{width:18px;height:18px;}
body:has(a:hover) .cursor-ring{width:52px;height:52px;opacity:.25;}
@media(pointer:coarse){.cursor,.cursor-ring{display:none;}}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:900;padding:0 var(--s10);height:68px;display:flex;align-items:center;justify-content:space-between;background:rgba(250,250,250,.82);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border-bottom:1px solid var(--ink-06);transition:box-shadow .3s;}
.nav.scrolled{box-shadow:var(--sh-sm);}
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{width:32px;height:32px;background:var(--ink);border-radius:9px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:transform .3s var(--ease);}
.logo-mark::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--blue),var(--teal));opacity:0;transition:opacity .3s;}
.logo:hover .logo-mark{transform:rotate(-8deg) scale(1.05);}
.logo:hover .logo-mark::before{opacity:1;}
.logo-mark svg{width:18px;height:18px;position:relative;z-index:1;}
.logo-name{font-size:1.2rem;font-weight:700;letter-spacing:-.03em;color:var(--ink);}
.logo-name sup{font-family:var(--f-m);font-size:.55rem;font-weight:400;color:var(--blue);letter-spacing:.02em;margin-left:1px;vertical-align:super;}
.nav-menu{display:flex;align-items:center;gap:.25rem;list-style:none;}
.nav-menu a{padding:6px 14px;border-radius:8px;font-size:.875rem;font-weight:500;color:var(--ink-60);transition:color .2s,background .2s;}
.nav-menu a:hover{color:var(--ink);background:var(--ink-06);}
.nav-menu a.active{color:var(--blue);background:var(--blue-dim);}
/* Dropdown */
.nav-item{position:relative;}
.nav-item:hover .nav-drop{opacity:1;pointer-events:all;transform:translateY(0);}
.nav-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(-8px);background:var(--surface);border:1px solid var(--ink-06);border-radius:var(--r-lg);padding:var(--s3);padding-top:calc(var(--s3) + 10px);min-width:220px;box-shadow:var(--sh-lg);opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease);}
.nav-drop a{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);font-size:.85rem;font-weight:500;color:var(--ink-60);transition:background .15s,color .15s;white-space:nowrap;}
.nav-drop a:hover{background:var(--ink-06);color:var(--ink);}
.nav-drop a svg{width:16px;height:16px;flex-shrink:0;}
.nav-drop-divider{height:1px;background:var(--ink-06);margin:var(--s2) 0;}
.nav-cta{display:flex;align-items:center;gap:var(--s4);}
.btn-ghost{padding:8px 18px;border-radius:9px;border:1.5px solid var(--ink-15);font-size:.85rem;font-weight:600;color:var(--ink);transition:border-color .2s,background .2s;}
.btn-ghost:hover{border-color:var(--ink-35);background:var(--ink-06);}
.btn-solid{padding:9px 20px;border-radius:9px;background:var(--ink);font-size:.85rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:8px;transition:background .2s,transform .2s,box-shadow .2s;position:relative;overflow:hidden;}
.btn-solid::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--blue),var(--teal));opacity:0;transition:opacity .3s;}
.btn-solid:hover{transform:translateY(-1px);box-shadow:var(--sh-blue);}
.btn-solid:hover::before{opacity:1;}
.btn-solid span,.btn-solid svg{position:relative;z-index:1;}
.btn-whatsapp{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:9px;background:#25d366;color:#fff;font-size:.85rem;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s;}.btn-whatsapp:hover{background:#1ebe5d;transform:translateY(-1px);box-shadow:0 6px 20px rgba(37,211,102,.35);}

/* SHARED UTILS */
.chip{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-m);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:100px;border:1px solid var(--ink-15);color:var(--ink-60);margin-bottom:var(--s5);}
.chip.blue{border-color:rgba(29,107,243,.3);color:var(--blue);background:var(--blue-dim);}
.display{font-size:clamp(2.4rem,4.5vw,5rem);font-weight:800;line-height:1.0;letter-spacing:-.04em;color:var(--ink);}
.display em{font-style:normal;background:linear-gradient(90deg,var(--blue),var(--teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.rv{opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.rv.on{opacity:1;transform:none;}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}
.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:12px;background:var(--ink);color:#fff;font-size:.95rem;font-weight:700;transition:transform .2s var(--ease),box-shadow .2s;position:relative;overflow:hidden;}
.btn-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--blue),var(--teal));opacity:0;transition:opacity .3s;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 48px rgba(29,107,243,.3);}
.btn-primary:hover::before{opacity:1;}
.btn-primary span,.btn-primary svg{position:relative;z-index:1;}

/* PAGE HERO */
.page-hero{padding-top:68px;background:var(--canvas);overflow:hidden;position:relative;}
#heroCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.page-hero-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:var(--s20) var(--s10) var(--s16);}
.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:var(--s8);font-family:var(--f-m);font-size:.7rem;color:var(--ink-35);letter-spacing:.04em;}
.breadcrumb a{color:var(--ink-35);transition:color .2s;}.breadcrumb a:hover{color:var(--blue);}
.breadcrumb-sep{color:var(--ink-15);}.breadcrumb .cur{color:var(--blue);}
.hero-lead{max-width:720px;}
.hero-lead .display{margin-top:var(--s5);}
.hero-lead p{font-size:1.05rem;line-height:1.75;color:var(--ink-60);max-width:540px;margin-top:var(--s6);}

/* HUB CARDS */
.hub-section{padding:var(--s16) var(--s10) var(--s24);background:var(--canvas);}
.hub-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);}

.hub-card{
  position:relative;border-radius:var(--r-xl);overflow:hidden;
  background:var(--surface);border:1px solid var(--ink-06);
  box-shadow:var(--sh-sm);cursor:pointer;
  transition:transform .4s var(--ease),box-shadow .4s,border-color .4s;
  display:block;
}
.hub-card:hover{transform:translateY(-8px);box-shadow:var(--sh-xl);border-color:rgba(29,107,243,.18);}
.hub-card:hover .hub-card-arrow{transform:translate(4px,-4px);}
.hub-card:hover .hub-card-vis-inner{transform:scale(1.04);}
.hub-card:hover .hub-card-shine{opacity:1;}

/* card visual area */
.hub-card-vis{height:260px;overflow:hidden;position:relative;}
.hub-card-vis-inner{width:100%;height:100%;transition:transform .5s var(--ease);display:flex;align-items:center;justify-content:center;}
.hub-card-shine{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 50%);opacity:0;transition:opacity .4s;}

/* card body */
.hub-card-body{padding:var(--s8) var(--s8) var(--s10);}
.hub-card-cat{font-family:var(--f-m);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--s3);}
.hub-card-title{font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--ink);margin-bottom:var(--s4);}
.hub-card-desc{font-size:.875rem;line-height:1.7;color:var(--ink-60);margin-bottom:var(--s6);}
.hub-card-items{display:flex;flex-direction:column;gap:var(--s2);margin-bottom:var(--s8);}
.hub-card-item{display:flex;align-items:center;gap:var(--s3);font-size:.82rem;color:var(--ink-60);}
.hub-card-item::before{content:'';width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.hub-card-link{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;transition:gap .25s var(--ease);}
.hub-card:hover .hub-card-link{gap:14px;}
.hub-card-arrow{transition:transform .3s var(--ease);}
.hub-card-count{
  position:absolute;top:var(--s5);right:var(--s5);
  font-family:var(--f-m);font-size:.65rem;font-weight:500;letter-spacing:.06em;
  padding:4px 10px;border-radius:100px;
  background:rgba(255,255,255,.9);border:1px solid var(--ink-06);
  color:var(--ink-60);
}

/* HOW SECTION */
.how-section{padding:var(--s24) var(--s10);background:var(--surface);border-top:1px solid var(--ink-06);}
.how-inner{max-width:1280px;margin:0 auto;}
.how-header{margin-bottom:var(--s12);}
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);}
.how-card{padding:var(--s6);border-radius:var(--r-lg);background:var(--canvas);border:1px solid var(--ink-06);transition:border-color .3s,transform .3s var(--ease);}
.how-card:hover{border-color:rgba(29,107,243,.2);transform:translateY(-4px);}
.how-card:hover .how-icon{transform:scale(1.1) rotate(-5deg);}
.how-num{font-family:var(--f-m);font-size:.62rem;letter-spacing:.1em;color:var(--ink-35);margin-bottom:var(--s5);}
.how-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--s5);transition:transform .35s var(--ease);}
.how-title{font-size:.975rem;font-weight:700;color:var(--ink);margin-bottom:var(--s3);}
.how-desc{font-size:.82rem;line-height:1.65;color:var(--ink-60);}

/* CTA */
.cta-section{padding:var(--s24) var(--s10);background:var(--canvas);}
.cta-card{max-width:1280px;margin:0 auto;background:var(--ink);border-radius:var(--r-xl);padding:var(--s16);display:grid;grid-template-columns:1fr auto;gap:var(--s12);align-items:center;position:relative;overflow:hidden;}
.cta-card::before{content:'';position:absolute;top:-60%;left:-10%;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(29,107,243,.2) 0%,transparent 65%);pointer-events:none;}
.cta-card::after{content:'';position:absolute;bottom:-50%;right:-5%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.1) 0%,transparent 65%);pointer-events:none;}
.cta-left{position:relative;z-index:1;}
.cta-eyebrow{font-family:var(--f-m);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:var(--s4);}
.cta-headline{font-size:clamp(2rem,3.5vw,3.5rem);font-weight:800;letter-spacing:-.04em;color:#fff;line-height:1.0;margin-bottom:var(--s5);}
.cta-headline em{font-style:normal;background:linear-gradient(90deg,var(--blue),var(--teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.cta-sub{font-size:.95rem;color:rgba(255,255,255,.45);line-height:1.7;max-width:480px;}
.cta-right{display:flex;flex-direction:column;gap:var(--s4);align-items:flex-end;position:relative;z-index:1;}
.btn-cta-p{padding:15px 30px;border-radius:12px;background:linear-gradient(135deg,var(--blue),#1251c4);color:#fff;font-size:.95rem;font-weight:700;display:flex;align-items:center;gap:10px;transition:transform .2s,box-shadow .2s;white-space:nowrap;}
.btn-cta-p:hover{transform:translateY(-2px);box-shadow:0 16px 48px rgba(29,107,243,.4);}
.btn-cta-s{padding:14px 28px;border-radius:12px;border:1.5px solid rgba(255,255,255,.15);color:rgba(255,255,255,.7);font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:8px;transition:border-color .2s,color .2s,background .2s;white-space:nowrap;}
.btn-cta-s:hover{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.06);}
.cta-info{text-align:right;font-family:var(--f-m);font-size:.7rem;color:rgba(255,255,255,.25);letter-spacing:.04em;line-height:1.8;}

/* FOOTER */
footer{background:var(--ink);border-top:1px solid rgba(255,255,255,.06);padding:var(--s16) var(--s10) var(--s8);}
.footer-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:var(--s12);padding-bottom:var(--s12);border-bottom:1px solid rgba(255,255,255,.06);}
.footer-col-h{font-family:var(--f-m);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:var(--s5);}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--s3);}
.footer-links a{font-size:.875rem;color:rgba(255,255,255,.45);transition:color .2s;}
.footer-links a:hover{color:#fff;}

/* Footer map card */
.footer-location-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  padding: 16px;
  display: flex; flex-direction: column; gap: 12px;
}
.flc-label {
  font-family: var(--f-m); font-size: .65rem;
  letter-spacing: .13em; text-transform: uppercase;
  color: rgba(255,255,255,.35); padding: 0 2px;
}
.flc-map-wrap {
  width: 100%; height: 190px;
  border-radius: 10px; overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  flex-shrink: 0;
}
.flc-map-wrap iframe { display: block; }
.flc-bottom {
  display: flex; align-items: center;
  justify-content: space-between; gap: 10px;
}
.flc-addr-row {
  display: flex; align-items: center; gap: 6px; flex: 1; min-width: 0;
}
.flc-addr-row svg { flex-shrink: 0; }
.flc-addr-text {
  font-size: .78rem; color: rgba(255,255,255,.45);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.flc-open-btn {
  display: flex; align-items: center; gap: 5px; flex-shrink: 0;
  padding: 7px 13px; border-radius: 8px;
  background: var(--blue); color: #fff;
  font-size: .78rem; font-weight: 700;
  transition: background .2s, transform .2s;
}
.flc-open-btn:hover { background: #1251c4; transform: translateY(-1px); }
.footer-brand-desc{font-size:.85rem;line-height:1.7;color:rgba(255,255,255,.35);max-width:260px;margin:var(--s5) 0 var(--s6);}
.footer-socials{display:flex;gap:var(--s2);}
.fsoc{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,transform .2s;}
.fsoc:hover{background:rgba(29,107,243,.2);border-color:rgba(29,107,243,.3);transform:translateY(-2px);}
.fsoc svg{width:16px;height:16px;}
.fch{font-family:var(--f-m);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:var(--s5);}
.fl{list-style:none;display:flex;flex-direction:column;gap:var(--s3);}
.fl a{font-size:.875rem;color:rgba(255,255,255,.45);transition:color .2s;}
.fl a:hover{color:#fff;}
.footer-bottom{max-width:1280px;margin:var(--s6) auto 0;display:flex;align-items:center;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;}
.footer-copy{font-family:var(--f-m);font-size:.7rem;color:rgba(255,255,255,.22);}
.footer-legal{display:flex;gap:var(--s6);}
.footer-legal a{font-size:.78rem;color:rgba(255,255,255,.25);transition:color .2s;}
.footer-legal a:hover{color:rgba(255,255,255,.6);}

@media(max-width:1024px){.hub-grid{grid-template-columns:1fr;}.how-grid{grid-template-columns:repeat(2,1fr);}.cta-card{grid-template-columns:1fr;}.cta-right{align-items:flex-start;}.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:640px){.nav{padding:0 1.5rem;}.page-hero-inner,.hub-section,.how-section,.cta-section{padding-left:1.5rem;padding-right:1.5rem;}footer{padding-left:1.5rem;padding-right:1.5rem;}.footer-grid{grid-template-columns:1fr;}}

/* -- MOBILE MENU -- */
.nav-ham{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:background .2s;}
.nav-ham:hover{background:var(--ink-06);}
.nav-ham span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s,opacity .3s,width .3s;}
.nav-ham.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-ham.open span:nth-child(2){opacity:0;width:0;}
.nav-ham.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mob-overlay{display:none;position:fixed;inset:0;z-index:998;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);}
.mob-overlay.open{display:block;}
.mob-menu{position:fixed;top:0;right:-100%;z-index:999;width:min(320px,85vw);height:100dvh;background:var(--surface);box-shadow:-4px 0 32px rgba(0,0,0,.15);transition:right .32s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow-y:auto;}
.mob-menu.open{right:0;}
.mob-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ink-06);position:sticky;top:0;background:var(--surface);z-index:1;}
.mob-close{width:36px;height:36px;background:var(--ink-06);border:none;border-radius:50%;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);line-height:1;transition:background .2s;}
.mob-close:hover{background:rgba(9,9,11,.12);}
.mob-nav{flex:1;padding:12px 16px;display:flex;flex-direction:column;gap:2px;}
.mob-link{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:10px;font-size:.95rem;font-weight:500;color:var(--ink-60);text-decoration:none;background:none;border:none;cursor:pointer;width:100%;text-align:left;transition:background .15s,color .15s;}
.mob-link:hover{background:var(--ink-06);color:var(--ink);}
.mob-link.active{color:var(--blue);background:var(--blue-dim);}
.mob-arrow{font-style:normal;transition:transform .3s;display:inline-block;}
.mob-drop-toggle.open .mob-arrow{transform:rotate(180deg);}
.mob-drop-list{max-height:0;overflow:hidden;transition:max-height .3s ease;padding-left:8px;}
.mob-drop-list.open{max-height:200px;}
.mob-sub-link{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;font-size:.88rem;color:var(--ink-60);text-decoration:none;transition:background .15s,color .15s;}
.mob-sub-link:hover{background:var(--ink-06);color:var(--ink);}
.mob-sub-link svg{width:14px;height:14px;flex-shrink:0;}
.mob-footer{padding:16px 20px;border-top:1px solid var(--ink-06);}
.mob-footer .btn-whatsapp{width:100%;justify-content:center;}
.mob-divider{height:1px;background:var(--ink-06);margin:8px 0;}
@media(max-width:768px){
  .nav-ham{display:flex;}
  .nav-menu{display:none!important;}
  .nav-cta{display:none!important;}
}