/* ── RESET ─────────────────────────────────────────────── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --gold:#C9A535;--gold-l:#E8C96D;--gold-dim:rgba(201,165,53,.12);
  --dark:#181B21;--dmid:#1E2229;--dcard:#252931;
  --dborder:rgba(201,165,53,.18);
  --txt:#F0EAD6;--muted:#9A9080;--soft:#C8BEA8;
  --nav:72px;--r:3px;--banner-h:40px;
  /* Base font sizes — aumentados para adultos mayores */
  --fs-body:1rem;--fs-sm:.95rem;--fs-xs:.88rem;--fs-label:.78rem
}
/* ── PIONEER BAR ─────────────────────────────────────────── */
.pioneer-bar{position:fixed;top:0;left:0;right:0;z-index:999;height:var(--banner-h);
  overflow:hidden;background:linear-gradient(90deg,#1a1500 0%,rgba(26,21,0,.97) 50%,#1a1500 100%);
  border-bottom:1px solid rgba(201,165,53,.4);display:flex;align-items:center}
.pioneer-bar-inner{width:100%;padding:0 clamp(1rem,3vw,2rem);
  display:flex;align-items:center;gap:clamp(.6rem,1.5vw,1.2rem)}
.pioneer-bar-gem{color:var(--gold);font-size:.65rem;flex-shrink:0;opacity:.9}
.pioneer-bar-msg{flex:1;min-width:0;font-size:.78rem;color:var(--soft);letter-spacing:.02em;
  display:flex;align-items:center;gap:.65rem;font-family:'Raleway',sans-serif}
.pioneer-bar-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.pioneer-bar-tag{display:inline-block;font-size:.68rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);font-weight:700;white-space:nowrap;flex-shrink:0}
.pioneer-bar-cta{flex-shrink:0;font-size:.73rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dark);background:var(--gold);
  padding:.3rem 1rem;border-radius:2px;transition:background .2s;
  white-space:nowrap;font-family:'Raleway',sans-serif}
.pioneer-bar-cta:hover{background:var(--gold-l)}
.pioneer-bar-close{flex-shrink:0;background:none;border:none;color:var(--muted);
  display:flex;align-items:center;justify-content:center;
  padding:.3rem;line-height:1;opacity:.55;cursor:pointer;
  transition:opacity .2s,color .2s}
.pioneer-bar-close:hover{opacity:1;color:var(--gold)}
/* Offsets when banner is visible */
body.has-pioneer-bar #nav{top:var(--banner-h)!important}
body.has-pioneer-bar .page{padding-top:calc(var(--nav) + var(--banner-h))}
body.has-pioneer-bar .mmenu{padding-top:calc(var(--nav) + var(--banner-h))}
body.has-pioneer-bar .hero{min-height:calc(100vh - var(--nav) - var(--banner-h));min-height:calc(100svh - var(--nav) - var(--banner-h))}
@media(max-width:600px){
  .pioneer-bar-inner{gap:.5rem}
  .pioneer-bar-text{font-size:.72rem}
  .pioneer-bar-tag{display:none}
  .pioneer-bar-gem{display:none}
  .pioneer-bar-cta{font-size:.67rem;padding:.26rem .65rem}
  .pioneer-bar-close{padding:.15rem .25rem}
}
/* ──────────────────────────────────────────────────────── */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--dark);color:var(--txt);font-family:'Raleway',sans-serif;
     font-weight:300;line-height:1.75;overflow-x:hidden;font-size:var(--fs-body)}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{cursor:pointer;font-family:'Raleway',sans-serif}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.2}

/* ── UTILS ──────────────────────────────────────────────── */
.gl{display:block;height:1.5px;margin:1rem 0 1.8rem;
    background:linear-gradient(90deg,var(--gold),transparent);width:60px}
.gl.c{margin:1rem auto 1.8rem;
      background:linear-gradient(90deg,transparent,var(--gold),transparent);width:80px}
.lbl{font-size:var(--fs-label);letter-spacing:.25em;text-transform:uppercase;
     color:var(--gold);display:block;margin-bottom:.6rem}
.stitle{font-size:clamp(1.9rem,4vw,3rem);color:var(--txt)}
.stitle em{font-style:italic;color:var(--gold)}

.btn{display:inline-block;padding:.9rem 2.1rem;font-family:'Raleway',sans-serif;
     font-weight:700;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;
     border-radius:var(--r);transition:all .2s;white-space:nowrap;border:none}
.btn-g{background:var(--gold);color:var(--dark)}
.btn-g:hover{background:var(--gold-l);transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,165,53,.25)}
.btn-o{background:transparent;color:var(--soft);border:1px solid rgba(240,234,214,.25)}
.btn-o:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}

/* ── NAVBAR ─────────────────────────────────────────────── */
#nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav);
     background:rgba(24,27,33,.96);backdrop-filter:blur(16px);
     -webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--dborder);
     display:flex;align-items:center;justify-content:space-between;
     padding:0 clamp(1rem,4vw,3rem);transition:box-shadow .3s}
#nav.sc{box-shadow:0 4px 40px rgba(0,0,0,.5)}

.brand{display:flex;align-items:center;gap:.9rem;flex-shrink:0}
.brand-logo{height:44px;width:auto;object-fit:contain;
            filter:drop-shadow(0 0 8px rgba(201,165,53,.35));transition:filter .3s}
.brand:hover .brand-logo{filter:drop-shadow(0 0 14px rgba(201,165,53,.6))}
.brand-txt{display:flex;flex-direction:column;line-height:1.1}
.brand-txt .b1{font-family:'Cormorant Garamond',serif;font-size:1.3rem;
               font-weight:600;color:var(--gold);letter-spacing:.08em}
.brand-txt .b2{font-family:'Cormorant Garamond',serif;font-size:.85rem;
               font-weight:300;color:var(--soft);letter-spacing:.2em;text-transform:uppercase}

.navlinks{display:flex;align-items:center;gap:clamp(.4rem,1.4vw,1.5rem)}
.navlinks a{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;
            color:var(--muted);font-weight:500;padding:.3rem .1rem;
            border-bottom:1.5px solid transparent;transition:color .2s,border-color .2s}
.navlinks a:hover,.navlinks a.act{color:var(--gold);border-bottom-color:var(--gold)}
.navlinks .login-btn{
  background:transparent;border:1px solid rgba(201,165,53,.5);
  color:var(--gold) !important;padding:.4rem 1rem;border-radius:var(--r);
  border-bottom:1px solid rgba(201,165,53,.5) !important;
  transition:background .2s,color .2s !important;font-size:.72rem}
.navlinks .login-btn:hover{background:var(--gold);color:var(--dark) !important}
.navlinks .btn-comunidad-nav{
  background:linear-gradient(135deg,#1a6b3c,#2e9e5e);
  color:#fff !important;padding:.4rem 1rem;border-radius:var(--r);
  border-bottom:none !important;font-size:.72rem;font-weight:700;
  transition:opacity .2s,transform .15s !important;white-space:nowrap}
.navlinks .btn-comunidad-nav:hover{opacity:.88;transform:translateY(-1px)}
.mmenu .btn-comunidad-nav{
  display:block;background:linear-gradient(135deg,#1a6b3c,#2e9e5e);
  color:#fff !important;padding:.6rem 1.2rem;border-radius:var(--r);
  font-weight:700;text-align:center;margin-bottom:6px}

.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:6px;z-index:201}
.burger span{display:block;width:24px;height:1.5px;background:var(--gold);transition:transform .3s,opacity .3s}
.burger.op span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.op span:nth-child(2){opacity:0}
.burger.op span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* height:100dvh — el menú termina en el borde visible real del navegador
   móvil (100vh/inset queda detrás de la barra de URL y tapa la última opción) */
.mmenu{display:none;position:fixed;inset:0;height:100vh;height:100dvh;
       background:rgba(24,27,33,.98);
       backdrop-filter:blur(20px);z-index:199;flex-direction:column;
       align-items:center;gap:1.5rem;padding-top:var(--nav);
       padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));
       overflow-y:auto;-webkit-overflow-scrolling:touch}
/* Centrado con margen automático: se ve centrado cuando hay espacio,
   pero permite hacer scroll cuando las opciones no caben en pantalla
   (justify-content:center recorta el inicio y bloquea el scroll) */
.mmenu > :first-child{margin-top:auto}
.mmenu > :last-child{margin-bottom:auto}
.mmenu.op{display:flex}
.mmenu a{font-family:'Cormorant Garamond',serif;font-size:1.8rem;
         color:var(--soft);transition:color .2s}
.mmenu a:hover{color:var(--gold)}
.mmenu .mob-login{font-size:1.2rem !important;border:1px solid rgba(201,165,53,.4);
                  padding:.5rem 2rem;border-radius:var(--r);color:var(--gold) !important}
/* Pantallas bajas: compactar para que quepan las 9 opciones sin scroll
   (esta regla debe ir DESPUÉS de .mmenu a para poder sobreescribirla) */
@media(max-height:700px){
  .mmenu{gap:1rem}
  .mmenu a{font-size:1.55rem}
}

/* ── SPA ─────────────────────────────────────────────────── */
.page{display:none;min-height:calc(100vh - var(--nav));padding-top:var(--nav)}
.page.act{display:block;animation:fi .4s ease}
@keyframes fi{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* ══════════════════════════════════════════════════════════
   INICIO
══════════════════════════════════════════════════════════ */
.hero{position:relative;min-height:calc(100vh - var(--nav));min-height:calc(100svh - var(--nav));display:flex;
      align-items:center;overflow:hidden}
.hero-c{padding:clamp(2rem,6vw,5rem) clamp(1.5rem,5vw,4rem);position:relative;z-index:2;
        max-width:600px;width:100%}
.hero h1{font-size:clamp(2.4rem,5vw,4.5rem);color:var(--txt);margin-bottom:1.5rem;font-weight:300}
.hero h1 em{font-style:italic;color:var(--gold);font-weight:400}
.hero-sub{font-size:clamp(1rem,1.6vw,1.1rem);color:var(--muted);line-height:1.9;
          max-width:440px;margin-bottom:2.5rem}
.hero-acts{display:flex;gap:1rem;flex-wrap:wrap}
.hero-img{position:absolute;inset:0;overflow:hidden}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-img::before{content:'';position:absolute;inset:0;z-index:1;
                  background:linear-gradient(90deg,rgba(24,27,33,.92) 0%,rgba(24,27,33,.72) 45%,rgba(24,27,33,.15) 100%)}
.hero-tagline{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;
              font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,3vw,2.2rem);
              color:#fff;text-align:center;text-shadow:0 2px 20px rgba(0,0,0,.6);
              font-weight:300;font-style:italic;width:90%}

.trust{background:var(--dmid);border-top:1px solid var(--dborder);border-bottom:1px solid var(--dborder);
       padding:1.5rem clamp(1.5rem,5vw,4rem);display:flex;align-items:center;
       justify-content:space-around;gap:1.5rem;flex-wrap:wrap}
.ti{display:flex;align-items:center;gap:.7rem;font-size:var(--fs-sm);color:var(--muted)}
.ti-ic{width:34px;height:34px;border:1px solid var(--dborder);border-radius:50%;
       display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}

.srv-ov{padding:clamp(3rem,8vw,7rem) clamp(1.5rem,5vw,4rem)}
.srv-ov-head{text-align:center;margin-bottom:4rem}
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1px;
       background:var(--dborder);border:1px solid var(--dborder);border-radius:var(--r);overflow:hidden}
.ocard{background:var(--dcard);padding:2.5rem 2rem;cursor:pointer;position:relative;
       overflow:hidden;transition:background .3s}
.ocard::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;
              background:linear-gradient(90deg,transparent,var(--gold),transparent);
              opacity:0;transition:opacity .3s}
.ocard:hover{background:#2a2e37}
.ocard:hover::after,.ocard.ft::after{opacity:1}
.on-num{font-family:'Cormorant Garamond',serif;font-size:3.5rem;color:var(--gold-dim);line-height:1;margin-bottom:.5rem}
.ostatus{display:inline-block;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;
         padding:.25rem .8rem;border-radius:1px;margin-bottom:1rem}
.on{color:var(--gold);border:1px solid rgba(201,165,53,.4)}
.soon{color:var(--muted);border:1px solid rgba(154,144,128,.25)}
.ocard h3{font-size:1.5rem;color:var(--txt);margin-bottom:.8rem}
.ocard p{font-size:var(--fs-sm);color:var(--muted);line-height:1.85;margin-bottom:1.5rem}
.octa{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);
      display:inline-flex;align-items:center;gap:.5rem;transition:gap .2s}
.ocard:hover .octa{gap:.9rem}



/* ══════════════════════════════════════════════════════════
   SERVICIOS
══════════════════════════════════════════════════════════ */
.ssubnav{background:var(--dmid);border-bottom:1px solid var(--dborder);
         padding:0 clamp(1rem,4vw,3rem);display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.ssubnav::-webkit-scrollbar{display:none}
.snb{background:none;border:none;color:var(--muted);font-size:var(--fs-label);letter-spacing:.1em;
     text-transform:uppercase;padding:1.1rem 1.2rem;border-bottom:2px solid transparent;
     white-space:nowrap;transition:color .2s,border-color .2s;font-weight:500;flex-shrink:0}
.snb.act,.snb:hover{color:var(--gold);border-bottom-color:var(--gold)}

.subp{display:none;animation:fi .3s ease}
.subp.act{display:block}

.srvhero{position:relative;overflow:hidden;height:clamp(500px,62vw,680px);background:var(--dmid)}
.srvhero img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.srvhero::after{content:'';position:absolute;inset:0;
                background:linear-gradient(to bottom,rgba(24,27,33,.1) 0%,rgba(24,27,33,.85) 100%)}
.srvhero-txt{position:absolute;bottom:2.5rem;left:clamp(1.5rem,5vw,4rem);z-index:2}
.srvhero-txt .lbl{color:rgba(232,201,109,.9)}
.srvhero-txt h2{font-size:clamp(2rem,5vw,3.5rem);color:#fff;font-weight:300}

.srvbody{padding:clamp(2rem,5vw,4rem) clamp(1.5rem,5vw,4rem)}
.srv2col{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}

.srv-photo{border-radius:var(--r);overflow:hidden;border:1px solid var(--dborder);margin-bottom:1.5rem}
.srv-photo img{width:100%;object-fit:cover;object-position:center 55%;max-height:520px}

.bitem{display:flex;align-items:flex-start;gap:1rem;padding:1.2rem 0;border-bottom:1px solid rgba(255,255,255,.05)}
.bi{width:42px;height:42px;border-radius:50%;background:var(--gold-dim);
    border:1px solid rgba(201,165,53,.3);display:flex;align-items:center;justify-content:center;
    font-size:1.05rem;flex-shrink:0}
.bitem h4{font-size:var(--fs-sm);color:var(--txt);margin-bottom:.25rem;font-family:'Raleway',sans-serif;font-weight:600}
.bitem p{font-size:var(--fs-xs);color:var(--muted);line-height:1.8}

.icard{background:var(--dmid);border:1px solid var(--dborder);border-radius:var(--r);
       padding:2rem;position:sticky;top:calc(var(--nav) + 1rem)}
.icard-lbl{font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.icard ul{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.7rem}
.icard li{font-size:var(--fs-xs);color:var(--soft);display:flex;align-items:center;gap:.6rem}
.icard li::before{content:'';width:14px;height:1px;background:var(--gold);flex-shrink:0}
.icard-acts{display:flex;flex-direction:column;gap:.8rem}

.ftabs{margin:2.5rem 0}
.ftabs-nav{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.5rem}
.ftb{background:var(--dcard);border:1px solid var(--dborder);color:var(--muted);
     padding:.6rem 1.1rem;font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;
     border-radius:var(--r);transition:all .2s;font-family:'Raleway',sans-serif;font-weight:500}
.ftb.act,.ftb:hover{background:var(--gold-dim);border-color:var(--gold);color:var(--gold)}
.ftc{display:none}
.ftc.act{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;animation:fi .3s ease}
.fti{background:var(--dcard);border:1px solid var(--dborder);padding:1.4rem;border-radius:var(--r)}
.fti .fi{font-size:1.5rem;margin-bottom:.7rem}
.fti h4{font-size:var(--fs-sm);color:var(--txt);margin-bottom:.4rem;font-family:'Raleway',sans-serif;font-weight:600}
.fti p{font-size:var(--fs-xs);color:var(--muted);line-height:1.8}

/* ══════════════════════════════════════════════════════════
   MENTORÍAS / ACOMPAÑAMIENTO
══════════════════════════════════════════════════════════ */
.phero{position:relative;overflow:hidden;height:clamp(300px,42vw,480px);background:var(--dmid)}
.phero img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.phero::after{content:'';position:absolute;inset:0;
              background:linear-gradient(to bottom,rgba(24,27,33,.25) 0%,rgba(24,27,33,.88) 100%)}
.phero-txt{position:absolute;bottom:2.5rem;left:clamp(1.5rem,5vw,4rem);z-index:2}
.cbanner{display:inline-flex;align-items:center;gap:.7rem;
         background:rgba(201,165,53,.08);border:1px solid rgba(201,165,53,.3);
         color:var(--gold);font-size:var(--fs-label);letter-spacing:.15em;text-transform:uppercase;
         padding:.45rem 1.1rem;border-radius:2px;margin-bottom:1rem}
.blink{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:bl 1.5s infinite}
@keyframes bl{0%,100%{opacity:1}50%{opacity:.2}}

.areas{padding:clamp(2rem,5vw,4rem) clamp(1.5rem,5vw,4rem);
       display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
.acard{background:var(--dmid);border:1px solid var(--dborder);padding:1.8rem;
       border-radius:var(--r);text-align:center;transition:border-color .2s,transform .2s}
.acard:hover{border-color:var(--gold);transform:translateY(-3px)}
.aicon{font-size:2.2rem;margin-bottom:.8rem}
.acard h3{font-size:1.15rem;color:var(--txt);margin-bottom:.5rem}
.acard p{font-size:var(--fs-xs);color:var(--muted);line-height:1.8}

/* Acompañamiento — solo una imagen, en sección de contenido */
.acomp-c{padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,5vw,4rem)}
.acomp-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.acomp-img-block{border-radius:var(--r);overflow:hidden;border:1px solid var(--dborder)}
.acomp-img-block img{width:100%;height:460px;object-fit:cover;object-position:center}

/* Lead form */
.lsec{padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,5vw,4rem);background:var(--dmid);border-top:1px solid var(--dborder)}
.lform{max-width:540px;margin:2.5rem auto 0;display:flex;flex-direction:column;gap:1.1rem}
.frow{display:flex;gap:1rem}
.fg{flex:1;display:flex;flex-direction:column;gap:.4rem}
.fg label{font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fg input,.fg select,.fg textarea{
  background:rgba(255,255,255,.04);border:1px solid rgba(201,165,53,.2);
  color:var(--txt);padding:.82rem 1rem;border-radius:var(--r);
  font-family:'Raleway',sans-serif;font-size:var(--fs-sm);outline:none;
  transition:border-color .2s;width:100%}
.fg input::placeholder,.fg textarea::placeholder{color:var(--muted);opacity:.7}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gold)}
.fg select option{background:var(--dcard)}
.fok{display:none;text-align:center;color:var(--gold);font-size:var(--fs-sm);margin-top:1rem;
     padding:1rem;border:1px solid rgba(201,165,53,.3);border-radius:var(--r)}
.fok-err{color:#e88;border-color:rgba(200,50,50,.3)}
.u-w-90{width:90px;flex:0 0 90px}

/* ══════════════════════════════════════════════════════════
   NOSOTROS
══════════════════════════════════════════════════════════ */
.nos-split{display:grid;grid-template-columns:1fr 1fr;min-height:460px}
.nos-brand{background:var(--dmid);display:flex;flex-direction:column;align-items:center;
           justify-content:center;padding:clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,3rem);
           text-align:center;border-right:1px solid var(--dborder)}
.nos-brand .big-logo{width:clamp(140px,18vw,210px);margin:0 auto 2rem;
                     filter:drop-shadow(0 0 30px rgba(201,165,53,.3))}
.tagline{font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,2.5vw,1.7rem);
         color:var(--soft);font-style:italic;max-width:300px;line-height:1.5}
.domain{margin-top:1.5rem;font-size:var(--fs-label);letter-spacing:.18em;
        text-transform:uppercase;color:rgba(201,165,53,.5)}
.nos-c{padding:clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,4rem)}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:3rem}
.mv{background:var(--dmid);border:1px solid var(--dborder);border-radius:var(--r);padding:1.7rem}
.mv .mv-icon{font-size:1.5rem;margin-bottom:.7rem}
.mv h3{font-size:var(--fs-label);letter-spacing:.15em;text-transform:uppercase;color:var(--gold);
       margin-bottom:.7rem;font-family:'Raleway',sans-serif;font-weight:700}
.mv p{font-size:var(--fs-xs);color:var(--muted);line-height:1.85}
.vlist{display:flex;flex-direction:column}
.vi{display:flex;gap:1.2rem;align-items:flex-start;padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.05)}
.vn{font-family:'Cormorant Garamond',serif;font-size:2rem;color:rgba(201,165,53,.3);flex-shrink:0;line-height:1}
.vt strong{display:block;font-size:var(--fs-sm);color:var(--txt);font-weight:600;margin-bottom:.2rem}
.vt span{font-size:var(--fs-xs);color:var(--muted);line-height:1.8}

/* ══════════════════════════════════════════════════════════
   CONTACTO
══════════════════════════════════════════════════════════ */
.ctgrid{display:grid;grid-template-columns:1fr 1fr}
.ctleft{background:var(--dmid);padding:clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,4rem);border-right:1px solid var(--dborder)}
.ctright{padding:clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,4rem)}
.cmethods{margin-top:2.5rem;display:flex;flex-direction:column;gap:1rem}
.cm{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;background:var(--dcard);
    border:1px solid var(--dborder);border-radius:var(--r);transition:border-color .2s;text-decoration:none}
.cm:hover{border-color:var(--gold)}
.cm-ic{width:44px;height:44px;background:var(--gold-dim);border:1px solid rgba(201,165,53,.3);
       border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}
.cm-lb{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:.15rem}
.cm-vl{font-size:var(--fs-sm);color:var(--txt)}
.cm-vl span{color:var(--gold)}
.redes{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--dborder)}
.redes p{font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.redes-btns{display:flex;gap:.8rem;flex-wrap:wrap}
.rbtn{display:inline-flex;align-items:center;gap:.5rem;background:var(--dcard);
      border:1px solid var(--dborder);color:var(--soft);padding:.65rem 1rem;
      border-radius:var(--r);font-size:var(--fs-xs);font-weight:500;letter-spacing:.04em;
      transition:border-color .2s,color .2s;text-decoration:none}
.rbtn:hover{border-color:var(--gold);color:var(--gold)}

/* ══════════════════════════════════════════════════════════
   LOGIN PAGE
══════════════════════════════════════════════════════════ */
.login-wrap{
  min-height:calc(100vh - var(--nav));
  display:flex;align-items:center;justify-content:center;
  padding:3rem 1.5rem;
  background:radial-gradient(ellipse 70% 60% at 50% 40%, rgba(201,165,53,.07) 0%, transparent 70%)
}
.login-card{
  background:var(--dmid);
  border:1px solid var(--dborder);
  border-radius:calc(var(--r) * 2);
  padding:clamp(2rem,5vw,3.5rem);
  width:100%;max-width:420px;
  box-shadow:0 24px 60px rgba(0,0,0,.4)
}
.login-logo{text-align:center;margin-bottom:2rem}
.login-logo img{height:64px;margin:0 auto .8rem;filter:drop-shadow(0 0 12px rgba(201,165,53,.4))}
.login-logo .lt1{font-family:'Cormorant Garamond',serif;font-size:1.5rem;
                 color:var(--gold);font-weight:600;letter-spacing:.08em;display:block}
.login-logo .lt2{font-family:'Cormorant Garamond',serif;font-size:.9rem;
                 color:var(--soft);letter-spacing:.2em;text-transform:uppercase;display:block}
.login-title{font-size:1.8rem;color:var(--txt);text-align:center;margin-bottom:.4rem}
.login-sub{font-size:var(--fs-xs);color:var(--muted);text-align:center;margin-bottom:2rem;line-height:1.7}
.login-form{display:flex;flex-direction:column;gap:1.2rem}
.login-form .fg label{font-size:var(--fs-sm)}
.login-form .fg input{font-size:var(--fs-sm);padding:.9rem 1.1rem}

/* ── Indicador de país en login ─────────────────────────── */
.login-phone-wrap{position:relative;display:flex;align-items:stretch}
.login-phone-wrap input{flex:1;border-radius:0 var(--r) var(--r) 0 !important;min-width:0}
/* Select nativo de indicativo — mismo estilo que perfil-qr */
.login-dial-select{
  flex:0 0 5.5rem;
  width:5.5rem;
  max-width:5.5rem;
  padding:0 1.2rem 0 .5rem;
  background:rgba(201,165,53,.08);
  border:1px solid rgba(201,165,53,.2);border-right:none;
  border-radius:var(--r) 0 0 var(--r);
  font-size:.82rem;font-weight:600;color:var(--gold);
  cursor:pointer;outline:none;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23C9A535'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .35rem center;
  transition:background .2s
}
.login-phone-wrap input[type="tel"]{flex:1;min-width:0}
.login-dial-select:hover{background-color:rgba(201,165,53,.15)}
.login-dial-select option{background:var(--dcard,#1a1a2e);color:var(--txt,#e8e0d0)}
.login-divider{text-align:center;position:relative;margin:.5rem 0}
.login-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--dborder)}
.login-divider span{position:relative;background:var(--dmid);padding:0 1rem;
                    font-size:var(--fs-label);color:var(--muted);letter-spacing:.1em}
.reset-back{font-size:var(--fs-xs);color:var(--muted);cursor:pointer;margin-bottom:1rem;display:inline-block;}
.reset-back:hover{color:var(--gold);}
/* ── Separador OR en formulario de login ── */
.login-or-sep{display:flex;align-items:center;gap:.75rem;margin:.25rem 0;color:var(--muted);font-size:.78rem;letter-spacing:.08em}
.login-or-sep::before,.login-or-sep::after{content:'';flex:1;height:1px;background:var(--dborder)}
.login-or-sep span{white-space:nowrap;text-transform:uppercase}

.login-forgot{text-align:right;font-size:var(--fs-xs);color:var(--muted);
              cursor:pointer;transition:color .2s;margin-top:-.4rem}
.login-forgot:hover{color:var(--gold)}
.login-register{text-align:center;font-size:var(--fs-xs);color:var(--muted);margin-top:1rem}
.login-register span{color:var(--gold);cursor:pointer;transition:opacity .2s}
.login-register span:hover{opacity:.7}
.login-msg{display:none;text-align:center;padding:.9rem;border-radius:var(--r);
           font-size:var(--fs-xs);margin-top:.5rem}
.login-msg.err{background:rgba(200,50,50,.1);border:1px solid rgba(200,50,50,.3);color:#e88}
.login-msg.ok{background:rgba(201,165,53,.08);border:1px solid rgba(201,165,53,.3);color:var(--gold)}

/* ══════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════ */
footer{background:var(--dmid);border-top:1px solid var(--dborder);padding:3rem clamp(1.5rem,5vw,4rem) 0}
.footer-in{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;
           padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.05)}
.fbrand img{height:58px;margin-bottom:1rem;filter:drop-shadow(0 0 10px rgba(201,165,53,.3))}
.fbrand .fn{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--gold);
            letter-spacing:.1em;margin-bottom:.5rem}
.fbrand p{font-size:var(--fs-xs);color:var(--muted);line-height:1.85;max-width:230px}
.fbrand .fd{margin-top:.8rem;font-size:var(--fs-label);letter-spacing:.15em;
            text-transform:uppercase;color:rgba(201,165,53,.4)}
.fcol h4{font-size:var(--fs-label);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
         margin-bottom:1.2rem;font-family:'Raleway',sans-serif;font-weight:700}
.fcol ul{display:flex;flex-direction:column;gap:.7rem}
.fcol ul a{font-size:var(--fs-xs);color:var(--muted);transition:color .2s;cursor:pointer}
.fcol ul a:hover{color:var(--gold-l)}
.fbot{padding:1.2rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.fbot p{font-size:var(--fs-label);color:var(--muted)}
.fbot .fr{font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:rgba(201,165,53,.4)}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════ */
@media(max-width:900px){
  .burger{display:flex}.navlinks{display:none}
  .hero-c{padding:3rem 1.5rem}
  .hero-sub{max-width:100%}.hero-tagline{display:none}
  .srv2col{grid-template-columns:1fr}.icard{position:static}
  .nos-split{grid-template-columns:1fr}
  .nos-brand{border-right:none;border-bottom:1px solid var(--dborder)}
  .acomp-inner{grid-template-columns:1fr}
  .acomp-img-block img{height:300px}
  .ctgrid{grid-template-columns:1fr}
  .ctleft{border-right:none;border-bottom:1px solid var(--dborder)}
  .footer-in{grid-template-columns:1fr 1fr}
  .mv-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .frow{flex-direction:column}.footer-in{grid-template-columns:1fr}
  .cgrid{grid-template-columns:1fr}
  .trust{flex-direction:column;align-items:flex-start;padding:1.5rem}
  .hero-acts{flex-direction:column;align-items:flex-start}
  .fbot{flex-direction:column;align-items:center;text-align:center}
  .areas{grid-template-columns:1fr 1fr}
  .redes-btns{flex-direction:column}
  :root{--fs-body:1.05rem;--fs-sm:1rem;--fs-xs:.93rem;--fs-label:.82rem}
}
@media(max-width:400px){.areas{grid-template-columns:1fr}}
@supports(padding-top:env(safe-area-inset-top)){
  /* Pioneer bar: extiende su fondo bajo el notch y empuja contenido abajo */
  .pioneer-bar{
    padding-top:env(safe-area-inset-top);
    height:calc(var(--banner-h) + env(safe-area-inset-top));
  }
  /* Nav: se desplaza debajo del pioneer bar + safe area */
  #nav{padding-top:max(0px,env(safe-area-inset-top));height:calc(var(--nav) + env(safe-area-inset-top))}
  body.has-pioneer-bar #nav{top:calc(var(--banner-h) + env(safe-area-inset-top))!important}
  /* Página: compensa nav + banner + safe area */
  .page{padding-top:calc(var(--nav) + env(safe-area-inset-top))}
  body.has-pioneer-bar .page{padding-top:calc(var(--nav) + var(--banner-h) + env(safe-area-inset-top))}
  body.has-pioneer-bar .mmenu{padding-top:calc(var(--nav) + var(--banner-h) + env(safe-area-inset-top))}
}


/* ── Utility classes (migrated from inline style=) ── */
.u-text-center { text-align:center }
.u-color-gold-l { color:var(--gold-l) }
.u-fs-hero { font-size:1.9rem }
.u-muted-body { color:var(--muted);font-size:var(--fs-sm);line-height:1.9;margin-bottom:2rem }
.u-bg-dmid { background:var(--dmid) }
.u-btn-full-center { width:100%;justify-content:center;margin-top:.3rem }
.u-muted { color:var(--muted) }
.u-muted-body-sm { color:var(--muted);font-size:var(--fs-sm);line-height:1.9;margin-bottom:1.5rem }
.u-muted-body-bare { color:var(--muted);font-size:var(--fs-sm);line-height:1.9 }
.u-white-hero { color:#fff;font-size:clamp(2rem,5vw,3.5rem) }
.u-text-center-mb2 { text-align:center;margin-bottom:2rem }
.u-fs-2rem-center { font-size:2rem;text-align:center }
.u-muted-narrow { color:var(--muted);font-size:var(--fs-sm);max-width:420px;margin:0 auto;line-height:1.85 }
.u-img-pos-60 { object-position:center 60% }
.u-img-pos-52 { object-position:center 52% }
.u-img-pos-15 { object-position:center 15% }
.u-img-pos-65 { object-position:center 65% }
.u-muted-600 { color:var(--muted);font-size:var(--fs-sm);line-height:1.9;max-width:600px;margin:0 auto }
.u-grid-narrow { grid-template-columns:1fr;max-width:720px;margin:0 auto }
.u-muted-label { color:var(--muted);font-size:var(--fs-label);letter-spacing:.18em;text-transform:uppercase }
.u-img-full { max-width:100%;margin:0 }
.u-min-h-130 { min-height:130px }


/* ── Utility classes (migrated from inline style=) ── */
.u-hero-box { padding:clamp(2.5rem,5vw,4rem) clamp(1.5rem,5vw,4rem);text-align:center;background:var(--dmid) }

.u-muted-label-mb12 { color:var(--muted);font-size:var(--fs-label);letter-spacing:.18em;text-transform:uppercase;margin-bottom:1.2rem }
.u-muted-label-mb2  { color:var(--muted);font-size:var(--fs-label);letter-spacing:.18em;text-transform:uppercase;margin-bottom:2rem }

/* ── Modal registro comunidad ─────────────────────────────── */
.com-modal-overlay{display:none;position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.75);align-items:center;justify-content:center;padding:16px}
.com-modal-overlay.com-visible{display:flex}
body.com-no-scroll{overflow:hidden}
.com-modal-card{background:var(--dmid);border:1px solid var(--dborder);
  border-radius:calc(var(--r)*2);width:100%;max-width:480px;
  box-shadow:0 24px 60px rgba(0,0,0,.5);max-height:90vh;overflow-y:auto}
.com-modal-header{padding:1.8rem 2rem 1.2rem;border-bottom:1px solid var(--dborder);position:relative}
.com-modal-close{position:absolute;top:1rem;right:1.2rem;background:none;border:none;
  color:var(--muted);font-size:1.4rem;cursor:pointer;line-height:1;transition:color .2s}
.com-modal-close:hover{color:var(--gold)}
.com-modal-icon{font-size:1.8rem;margin-bottom:.5rem}
.com-modal-title{color:var(--gold);font-family:'Cormorant Garamond',serif;
  font-size:1.6rem;font-weight:400;margin:0 0 .3rem}
.com-modal-subtitle{color:var(--muted);font-size:var(--fs-xs);margin:0;line-height:1.7}
.com-modal-body{padding:1.5rem 2rem 2rem}
.com-hidden{display:none!important}
.com-reg-alert{padding:.75rem 1rem;border-radius:var(--r);font-size:var(--fs-xs);margin-bottom:1rem}
.com-reg-alert.com-alert-error{background:rgba(200,50,50,.1);border:1px solid rgba(200,50,50,.3);color:#e88}
.com-reg-alert.com-alert-info{background:rgba(201,165,53,.08);border:1px solid rgba(201,165,53,.3);color:var(--gold)}
.com-field-error{display:block;font-size:.72rem;color:#e88;margin-top:.3rem;line-height:1.4}
.com-input--err{border-color:rgba(200,50,50,.55)!important}
.com-exito{text-align:center;padding:2rem 0}
.com-exito-icon{font-size:3rem;margin-bottom:1rem}
.com-exito h3{font-family:'Cormorant Garamond',serif;font-size:1.8rem;color:var(--gold);
  margin:0 0 .5rem;font-weight:400}
.com-exito p{color:var(--muted);font-size:var(--fs-sm);line-height:1.7;margin:0 0 1.5rem}
.com-exito-btn{background:var(--gold);color:var(--dark);border:none;padding:.8rem 2rem;
  border-radius:var(--r);font-size:var(--fs-sm);cursor:pointer;font-weight:700;
  font-family:'Raleway',sans-serif;letter-spacing:.05em;transition:opacity .2s}
.com-exito-btn:hover{opacity:.88}
.com-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.com-form-group{margin-bottom:1rem}
.com-form-group-lg{margin-bottom:1.2rem}
.com-label{font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);display:block;margin-bottom:.4rem}
.com-input{background:rgba(255,255,255,.04);border:1px solid rgba(201,165,53,.2);
  color:var(--txt);padding:.75rem 1rem;border-radius:var(--r);font-family:'Raleway',sans-serif;
  font-size:var(--fs-sm);outline:none;transition:border-color .2s;width:100%;box-sizing:border-box}
.com-input::placeholder{color:var(--muted);opacity:.7}
.com-input:focus{border-color:var(--gold)}
.com-phone-wrap{display:flex;align-items:stretch}
.com-phone-wrap .com-input{flex:1;border-radius:0 var(--r) var(--r) 0!important;min-width:0}
.com-dial-select{flex:0 0 5.5rem;width:5.5rem;max-width:5.5rem;
  padding:0 1.2rem 0 .5rem;background:rgba(201,165,53,.08);
  border:1px solid rgba(201,165,53,.2);border-right:none;
  border-radius:var(--r) 0 0 var(--r);font-size:.82rem;font-weight:600;color:var(--gold);
  cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23C9A535'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .35rem center;transition:background .2s}
.com-dial-select:hover{background-color:rgba(201,165,53,.15)}
.com-dial-select option{background:var(--dcard);color:var(--txt)}
.com-consent-box{background:rgba(201,165,53,.04);border:1px solid rgba(201,165,53,.15);
  border-radius:var(--r);padding:1rem;margin-bottom:1.2rem}
.com-consent-text{max-height:100px;overflow-y:auto;font-size:var(--fs-xs);color:var(--muted);
  line-height:1.7;margin-bottom:.8rem}
.com-consent-label{display:flex;align-items:flex-start;gap:.7rem;cursor:pointer;
  font-size:var(--fs-xs);color:var(--soft);font-weight:500}
.com-consent-chk{margin-top:2px;width:15px;height:15px;flex-shrink:0;accent-color:var(--gold)}
.com-submit-btn{width:100%;padding:.9rem;background:var(--gold);color:var(--dark);
  border:none;border-radius:var(--r);font-size:var(--fs-sm);font-weight:700;
  cursor:pointer;letter-spacing:.05em;font-family:'Raleway',sans-serif;transition:opacity .2s}
.com-submit-btn:hover{opacity:.88}
.com-form-note{text-align:center;font-size:var(--fs-label);color:var(--muted);margin:.75rem 0 0}

/* ── PAGE: COMUNIDAD ─────────────────────────────────────── */
.com-sec-hero{position:relative;overflow:hidden;text-align:center;
  padding:clamp(3.5rem,9vw,6.5rem) 1.5rem clamp(3rem,7vw,5rem);
  background:linear-gradient(180deg,var(--dmid) 0%,var(--dark) 100%);
  border-bottom:1px solid var(--dborder)}
.com-sec-glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 65% 55% at 50% 0%,rgba(201,165,53,.16),transparent 70%)}
.com-sec-hero-inner{position:relative;max-width:760px;margin:0 auto}
.com-sec-hero .cbanner{margin:0 auto 1.4rem}
.com-sec-lead{max-width:620px;margin:1.4rem auto 2rem;color:var(--soft);
  font-size:var(--fs-body);line-height:1.75}
.com-sec-btn{display:inline-block;font-size:var(--fs-sm);padding:1rem 2.4rem;
  box-shadow:0 0 32px rgba(201,165,53,.35);animation:comPulse 2.6s ease-in-out infinite}
@keyframes comPulse{
  0%,100%{box-shadow:0 0 18px rgba(201,165,53,.25)}
  50%{box-shadow:0 0 38px rgba(201,165,53,.55)}
}
.com-sec-benef{padding:clamp(3rem,7vw,5rem) clamp(1.5rem,5vw,4rem);max-width:1150px;margin:0 auto}
.com-sec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.2rem;margin-top:2.4rem}
.com-sec-card{background:var(--dcard);border:1px solid var(--dborder);border-radius:var(--r);
  padding:1.8rem 1.5rem;text-align:center;transition:transform .25s,border-color .25s,box-shadow .25s}
.com-sec-card:hover{transform:translateY(-5px);border-color:rgba(201,165,53,.5);
  box-shadow:0 12px 30px rgba(0,0,0,.35)}
.com-sec-ico{width:56px;height:56px;margin:0 auto 1rem;border-radius:50%;
  background:var(--gold-dim);border:1px solid rgba(201,165,53,.35);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.com-sec-card h4{color:var(--txt);font-size:var(--fs-body);margin-bottom:.55rem;letter-spacing:.03em}
.com-sec-card p{color:var(--muted);font-size:var(--fs-xs);line-height:1.65}
.com-sec-quote{text-align:center;padding:clamp(3rem,7vw,5rem) 1.5rem;
  background:linear-gradient(180deg,transparent,rgba(201,165,53,.06));
  border-top:1px solid var(--dborder)}
.com-sec-quote p{max-width:680px;margin:0 auto 2rem;font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.25rem,2.6vw,1.6rem);font-style:italic;color:var(--gold-l);line-height:1.6}
/* CTA comunidad en el banner superior */
.pioneer-bar-cta.comunidad-cta{background:transparent;color:var(--gold);
  border:1px solid var(--gold)}
.pioneer-bar-cta.comunidad-cta:hover{background:var(--gold-dim)}
