@font-face { font-family:'Seasons'; src:url('../assets/TheSeasons.otf') format('opentype'); font-weight:400; font-display:swap; }
  @font-face { font-family:'Seasons'; src:url('../assets/TheSeasons-Bold.otf') format('opentype'); font-weight:700; font-display:swap; }

  :root{
    /* Colores base ajustados hacia la paleta azul */
    --green:#082537; 
    --green-alt:#00304e; 
    --green-deep:#051923; /* Fondo base azul verdoso muy oscuro */
    --gold:#b59429; 
    --gold-dark:#ad8818; 
    --gold-pale:#dc7a09;
    --blue:#00416a; 
    --blue-dark:#002b46; 
    --blue-pale:#ebf0f2;
    --cream:#eef1f7;
    --sans:'Poppins','Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;
    --serif:'Seasons',Georgia,'Times New Roman',serif;
    --ease:cubic-bezier(.16,1,.3,1);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  /* Degradado ajustado a azul brillante hacia el fondo azul marino profundo */
  body{background:radial-gradient(ellipse 1200px 800px at 50% 0%, rgba(68, 166, 232, 0.45), transparent 65%), var(--green-deep); color:var(--cream); font-family:var(--sans); -webkit-font-smoothing:antialiased; overflow-x:hidden}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}

  /* Patrón de espirales (reemplaza los mosaicos). Ajustes: opacity = intensidad, background-size = tamaño (más grande = menos espirales) */
  .kene{
    position:absolute; inset:0; pointer-events:none; opacity:.14;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300' viewBox='0 0 300 300'><path d='M161.3 138.7 L161.8 138.4 L162.3 138.2 L162.8 138.1 L163.4 138.1 L163.9 138.1 L164.5 138.2 L165.0 138.4 L165.6 138.7 L166.1 139.0 L166.6 139.5 L167.1 140.0 L167.5 140.5 L167.8 141.2 L168.1 141.9 L168.3 142.7 L168.4 143.5 L168.5 144.3 L168.5 145.2 L168.3 146.1 L168.1 147.0 L167.8 147.9 L167.3 148.8 L166.8 149.7 L166.2 150.6 L165.4 151.4 L164.6 152.2 L163.7 153.0 L162.7 153.7 L161.6 154.2 L160.4 154.8 L159.1 155.2 L157.8 155.5 L156.4 155.7 L155.0 155.8 L153.5 155.8 L152.0 155.6 L150.5 155.3 L149.0 154.9 L147.4 154.4 L145.9 153.7 L144.4 152.8 L143.0 151.8 L141.6 150.7 L140.3 149.5 L139.1 148.1 L137.9 146.6 L136.9 145.0 L136.0 143.2 L135.2 141.4 L134.5 139.5 L134.0 137.5 L133.6 135.4 L133.4 133.2 L133.4 131.0 L133.5 128.8 L133.8 126.5 L134.3 124.3 L135.0 122.0 L135.9 119.8 L137.0 117.6 L138.2 115.5 L139.7 113.4 L141.3 111.5 L143.1 109.6 L145.0 107.9 L147.1 106.3 L149.4 104.8 L151.8 103.5 L154.4 102.3 L157.0 101.4 L159.8 100.6 L162.6 100.1 L165.5 99.8 L168.5 99.7 L171.5 99.8 L174.6 100.1 L177.6 100.7 L180.6 101.6 L183.6 102.7 L186.5 104.0 L189.4 105.5 L192.1 107.3 L194.8 109.3 L197.3 111.6 L199.7 114.0 L201.8 116.7 L203.9 119.5 L205.7 122.6 L207.3 125.8 L208.6 129.1 L209.7 132.6 L210.6 136.1 L211.2 139.8 L211.5 143.6 L211.5 147.4 L211.3 151.2 L210.7 155.0 L209.8 158.9 L208.7 162.7 L207.2 166.4 L205.5 170.0 L203.5 173.6 L201.1 177.0 L198.6 180.2 L195.7 183.3 L192.6 186.2 L189.2 188.8 L185.7 191.2 L181.9 193.4 L177.9 195.3 L173.8 196.9 L169.5 198.2 L165.1 199.2 L160.6 199.8 L156.0 200.2 L151.4 200.1 L146.8 199.7 L142.1 199.0 L137.5 197.9 L132.9 196.5 L128.4 194.7 L124.1 192.5 L119.8 190.0 L115.8 187.2 L111.9 184.0 L108.3 180.6 L104.9 176.8 L101.7 172.8 L98.9 168.5 L96.3 164.0 L94.1 159.3 L92.3 154.4 L90.8 149.3 L89.6 144.0 L88.9 138.7 L88.6 133.3 L88.6 127.8 L89.1 122.4 L90.0 116.9 L91.3 111.5 L93.1 106.1 L95.2 100.9 L97.7 95.8 L100.7 90.9 L104.0 86.1 L107.7 81.6 L111.7 77.4 L116.1 73.4 L120.8 69.8 L125.8 66.5 L131.0 63.6 L136.5 61.0 L142.2 58.9 L148.1 57.2 L154.2 55.9 L160.3 55.0 L166.6 54.7 L172.9 54.7 L179.2 55.3 L185.5 56.3 L191.7 57.9 L197.8 59.9 L203.8 62.3 L209.7 65.2 L215.3 68.6 L220.7 72.4 L225.9 76.6 L230.7 81.2 L235.2 86.2 L239.4 91.6 L243.1 97.3 L246.5 103.2 L249.4 109.5 L251.8 116.0 L253.8 122.7 L255.3 129.5 L256.2 136.5 L256.7 143.6 L256.6 150.7 L255.9 157.8 L254.8 165.0 L253.1 172.0 L250.8 178.9 L248.1 185.7 L244.8 192.3 L241.0 198.7 L236.7 204.8 L232.0 210.6 L226.8 216.0 L221.2 221.1 L215.2 225.8 L208.9 230.0 L202.2 233.8 L195.2 237.1 L187.9 239.8 L180.4 242.1 L172.8 243.7 L165.0 244.8 L157.1 245.3 L149.1 245.3 L141.1 244.6 L133.2 243.3 L125.3 241.5 L117.6 239.0 L110.0 236.0 L102.7 232.3 L95.6 228.2 L88.7 223.4 L82.3 218.2 L76.2 212.5 L70.5 206.3 L65.3 199.6 L60.6 192.6 L56.4 185.2 L52.7 177.5 L49.6 169.5 L47.1 161.2 L45.2 152.7 L44.0 144.1 L43.3 135.4' fill='none' stroke='%23f08a7e' stroke-width='13' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-size:clamp(460px, 48vw, 760px) auto;
    background-position:center center;
    background-attachment:fixed;
  }

  /* ---------- NAV ---------- */
  nav{
    position:fixed; top:0; left:0; right:0; z-index:60;
    display:flex; align-items:center; justify-content:space-between;
    padding:26px 48px; transition:background .5s var(--ease), padding .5s var(--ease), border-color .5s;
    border-bottom:1px solid rgba(181,148,41,.28); background:rgba(5,25,35,.92); backdrop-filter:blur(14px);
  }
  nav.solid{padding:16px 48px}
  nav .brand img{height:92px; width:auto; filter:drop-shadow(0 2px 10px rgba(0,0,0,.6))}
  nav ul{display:flex; gap:38px; list-style:none; align-items:center}
  nav ul a{font-size:12px; letter-spacing:.18em; text-transform:uppercase; font-weight:500; position:relative; padding:6px 0; opacity:.85; transition:opacity .3s}
  nav ul a::after{content:''; position:absolute; left:0; bottom:0; height:1px; width:0; background:#fff; transition:width .45s var(--ease)}
  nav ul a:hover{opacity:1}
  nav ul a:hover::after, nav ul a.active::after{width:100%}
  nav ul a.active{opacity:1; color:#fff}
  .nav-cta{border:1px solid rgba(0,65,106,.7); color:var(--blue-pale); padding:11px 22px; font-size:11px; letter-spacing:.18em; text-transform:uppercase; transition:background .4s var(--ease), color .4s}
  .nav-cta:hover{background:var(--blue); color:var(--cream)}

  .burger{display:none; background:none; border:0; cursor:pointer; padding:10px; z-index:60; flex-direction:column; gap:6px; width:44px}
  .burger span{display:block; height:1px; width:24px; background:var(--cream); transition:transform .5s var(--ease), opacity .3s}
  .burger.on span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
  .burger.on span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
  .mobile-menu{position:fixed; inset:0; z-index:55; background:var(--green-deep); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:34px; opacity:0; pointer-events:none; transition:opacity .5s var(--ease)}
  .mobile-menu.on{opacity:1; pointer-events:auto}
  .mobile-menu a{font-family:var(--serif); font-size:36px; color:var(--cream)}
  .mobile-menu a.cta{font-family:var(--sans); font-size:11px; letter-spacing:.2em; text-transform:uppercase; border:1px solid rgba(0,65,106,.7); color:var(--blue-pale); padding:14px 28px; margin-top:14px}

  /* ---------- HEADER ---------- */
  .ghead{position:relative; padding:170px 48px 100px; min-height:640px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; background:linear-gradient(rgba(5,25,35,.6),rgba(5,25,35,.6)), url("../media/fondo.webp") center/cover no-repeat}
  .ghead .kene{display:none}
  .ghead .eyebrow{font-size:11px; letter-spacing:.34em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; display:flex; align-items:center; gap:16px}
  .ghead .eyebrow::before{content:''; width:52px; height:1px; background:var(--gold)}
  .ghead h1{font-family:var(--serif); font-weight:700; font-size:clamp(40px,5.4vw,84px); line-height:1.02; margin-bottom:20px}
  .ghead h1 em{font-style:normal; color:var(--gold-pale)}
  .ghead p{max-width:760px; font-size:16px; line-height:1.7; color:rgba(244,239,228,.75); font-weight:300}
  .ghead .eyebrow.hero-eyebrow-long{letter-spacing:.06em; max-width:620px}

  /* ---------- THRESHOLD ---------- */
  .threshold{position:relative; padding:60px 48px 100px; text-align:center; overflow:hidden; border-top:1px solid rgba(181,148,41,.18)}
  .thead{position:relative; z-index:2; max-width:960px; margin:0 auto}
  .thead .eyebrow{justify-content:center}
  .thead h2{font-family:var(--serif); font-weight:700; font-size:clamp(30px,3.4vw,52px); line-height:1.08; margin:8px 0 18px}
  .thead h2 em{font-style:normal; color:var(--gold-pale)}
  .thead p{font-size:15.5px; line-height:1.8; color:rgba(244,239,228,.75); font-weight:300}

  /* ---------- BENEFIT GRID ---------- */
  .bgrid-wrap{position:relative; padding:0 48px 100px; overflow:hidden}
  .bgrid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
  .bcard{
    position:relative; padding:32px 24px; background:var(--blue); border:1px solid rgba(0,65,106,.4);
    opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease), transform .8s var(--ease), border-color .4s;
  }
  .bcard.in{opacity:1; transform:none}
  .bcard:hover{border-color:rgba(181,148,41,.5); transform:translateY(-4px)}
  .bnum{font-family:var(--serif); font-size:13px; letter-spacing:.28em; color:var(--gold)}
  .bcard h3{font-family:var(--serif); font-weight:700; font-size:20px; margin:16px 0 12px; line-height:1.15}
  .bcard p{font-size:13.5px; line-height:1.65; color:rgba(244,239,228,.72); font-weight:300}

  /* ---------- INVESTMENT OPTIONS ---------- */
  .invest-options{position:relative; padding:100px 48px; overflow:hidden; border-top:1px solid rgba(181,148,41,.18)}
  .invest-options .thead{text-align:center; margin:0 auto 50px}
  .invest-options .bgrid{max-width:1100px}
  .igrid{grid-template-columns:repeat(3,1fr)}
  .igrid .bcard{padding:0; overflow:hidden; display:flex; flex-direction:column}
  .igrid .icard-img{aspect-ratio:4/3; overflow:hidden}
  .igrid .icard-img img{width:100%; height:100%; object-fit:cover; filter:brightness(.86) saturate(1.02); transition:transform 1s var(--ease), filter .6s}
  .igrid .bcard:hover .icard-img img{transform:scale(1.07); filter:brightness(1.02)}
  .igrid .icard-body{padding:28px 24px 32px; display:flex; flex-direction:column; flex:1}
  .igrid .icard-body p{flex:1}
  .igrid .go{margin-top:20px}
  .invest-options + .guardian{border-top:1px solid rgba(181,148,41,.14)}

  /* ---------- STATS ---------- */
  .stats{display:grid; grid-template-columns:repeat(3,1fr); background:var(--green-deep); border-top:1px solid rgba(181,148,41,.12)}
  .stat{padding:60px 24px; text-align:center; border-right:1px solid rgba(181,148,41,.18)}
  .stat:last-child{border-right:none}
  .stat b{display:block; font-family:var(--serif); font-weight:400; font-size:clamp(34px,3.2vw,54px); color:var(--gold-pale); line-height:1; margin-bottom:14px}
  .stat span{font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:rgba(244,239,228,.55)}

  /* ---------- GUARDIAN ---------- */
  .guardian{position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px; padding:120px 48px; background:var(--green-deep); overflow:hidden}
  .guardian + .guardian{border-top:1px solid rgba(181,148,41,.14)}
  .guardian.rev{background:var(--green-deep)}
  .guardian.rev .art{order:2}
  .guardian.rev .txt{order:1}
  .guardian .art{position:relative; display:flex; justify-content:center}
  .guardian .art img{position:relative; width:min(440px,80%); filter:drop-shadow(0 30px 50px rgba(0,0,0,.45))}
  .guardian .txt{max-width:520px}
  .guardian h2{font-family:var(--serif); font-weight:700; font-size:clamp(30px,3.2vw,50px); line-height:1.1; margin:16px 0 22px}
  .guardian h2 em{font-style:normal; color:var(--gold-pale); display:block}
  .guardian p{font-size:15.5px; line-height:1.8; color:rgba(244,239,228,.78); font-weight:300; margin-bottom:16px}
  .go{display:inline-flex; align-items:center; gap:12px; cursor:pointer; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:#fff; margin-top:8px}
  .go .arrow{width:34px; height:1px; background:#fff; position:relative; transition:width .5s var(--ease)}
  .go .arrow::after{content:''; position:absolute; right:0; top:-3px; width:7px; height:7px; border-top:1px solid #fff; border-right:1px solid #fff; transform:rotate(45deg)}
  .go:hover .arrow{width:56px}

  /* ---------- BOTTOM CTA ---------- */
  .acta{position:relative; padding:110px 48px; text-align:center; background:var(--green); overflow:hidden; border-top:1px solid rgba(181,148,41,.14)}
  .acta .acta-inner{position:relative; z-index:2; max-width:640px; margin:0 auto}
  .acta .eyebrow{justify-content:center}
  .acta h2{font-family:var(--serif); font-weight:700; font-size:clamp(30px,3.4vw,50px); line-height:1.08; margin:8px 0 16px}
  .acta h2 em{font-style:normal; color:var(--gold-pale)}
  .acta p{font-size:15px; line-height:1.7; color:rgba(244,239,228,.75); font-weight:300; margin-bottom:30px}
  .btn-wa{display:inline-flex; align-items:center; gap:10px; cursor:pointer; border:0; background:var(--blue); color:var(--cream); font-family:var(--sans); font-weight:600; font-size:12px; letter-spacing:.14em; text-transform:uppercase; padding:15px 28px; transition:background .35s, transform .35s var(--ease)}
  .btn-wa:hover{background:var(--blue-pale); transform:translateY(-2px)}
  .btn-wa::after{content:'\f178'; font-family:'Font Awesome 6 Free'; font-weight:900; font-size:12px; display:inline-block; transition:transform .35s var(--ease)}
  .btn-wa:hover::after{transform:translateX(6px)}

  /* ---------- FOOTER ---------- */
  footer{background:var(--green-deep); padding:90px 48px 40px; position:relative; border-top:1px solid rgba(181,148,41,.15)}
  .frule{height:1px; background:linear-gradient(to right, transparent, rgba(181,148,41,.5), transparent); margin-bottom:60px}
  .fgrid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:44px; align-items:start}
  footer img{height:58px; width:auto; margin-bottom:22px}
  .fbrand .tag{font-size:13px; color:rgba(244,239,228,.5); font-weight:300; max-width:300px; line-height:1.7; margin-bottom:26px}
  .fsocial{display:flex; gap:12px}
  .fsocial a{display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; border:1px solid rgba(181,148,41,.35); color:#fff; transition:background .3s, color .3s, border-color .3s}
  .fsocial a svg{width:16px; height:16px}
  .fsocial a:hover{background:var(--gold); color:var(--green-deep); border-color:var(--gold)}
  footer h3{font-size:10px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); font-weight:600; margin-bottom:22px}
  footer ul{list-style:none; display:flex; flex-direction:column; gap:13px}
  footer ul a{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,239,228,.65); transition:color .3s}
  footer ul a:hover{color:#fff}
  .fcontact li{font-size:12.5px; letter-spacing:.02em; text-transform:none; color:rgba(244,239,228,.65); line-height:1.6}
  .fcontact li a{font-size:12.5px; letter-spacing:.02em; text-transform:none; color:rgba(244,239,228,.65)}
  .fcontact li a:hover{color:#fff}
  .copy{margin-top:70px; padding-top:28px; border-top:1px solid rgba(181,148,41,.15); font-size:11px; letter-spacing:.1em; color:rgba(244,239,228,.35); text-align:center}


  /* ---------- WHATSAPP FLOATING BUTTON ---------- */
  .wa-float{
    position:fixed; right:28px; bottom:28px; z-index:80;
    width:60px; height:60px; border-radius:50%;
    background:linear-gradient(135deg, var(--blue), var(--blue-dark));
    color:var(--cream); display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 0 0 rgba(0,65,106,.45);
    transition:transform .35s var(--ease), box-shadow .35s var(--ease);
    animation:waPulse 2.8s ease-in-out infinite;
  }
  .wa-float svg{width:28px; height:28px; position:relative; z-index:2}
  .wa-float:hover{transform:scale(1.08) translateY(-2px); box-shadow:0 14px 36px rgba(0,0,0,.5)}
  .wa-tooltip{
    position:absolute; right:calc(100% + 16px); top:50%; transform:translateY(-50%) translateX(8px);
    background:var(--green-deep); color:var(--cream); border:1px solid rgba(0,65,106,.5);
    padding:11px 18px; border-radius:8px; font-size:12.5px; letter-spacing:.02em; white-space:nowrap;
    box-shadow:0 8px 20px rgba(0,0,0,.35);
    opacity:0; pointer-events:none; transition:opacity .35s var(--ease), transform .35s var(--ease);
  }
  .wa-tooltip::after{content:''; position:absolute; left:100%; top:50%; transform:translateY(-50%); border:6px solid transparent; border-left-color:var(--green-deep)}
  .wa-float:hover .wa-tooltip{opacity:1; transform:translateY(-50%) translateX(0)}
  @keyframes waPulse{
    0%,100%{box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 0 0 rgba(0,65,106,.45)}
    50%{box-shadow:0 10px 30px rgba(0,0,0,.45), 0 0 0 12px rgba(0,65,106,0)}
  }
  @media(prefers-reduced-motion:reduce){ .wa-float{animation:none} }
  .mobile-menu.on ~ .wa-float{opacity:0; pointer-events:none}

  .fade{opacity:0; transform:translateY(28px); transition:opacity 1s var(--ease), transform 1s var(--ease)}
  .fade.in{opacity:1; transform:none}

  @media(max-width:900px){
    nav{padding:16px 22px} nav.solid{padding:12px 22px}
    nav ul{display:none} .nav-cta{display:none} .burger{display:flex}
    nav .brand img{height:90px; margin:-22px 0}
    .ghead{padding:130px 22px 60px; min-height:0}
    .threshold{padding:30px 22px 70px}
    .bgrid-wrap{padding:0 22px 70px}
    .bgrid{grid-template-columns:repeat(2,1fr)}
    .invest-options{padding:70px 22px}
    .igrid{grid-template-columns:1fr}
    .stats{grid-template-columns:1fr}
    .stat{padding:40px 20px; border-right:none; border-bottom:1px solid rgba(181,148,41,.18)}
    .stat:last-child{border-bottom:none}
    .guardian, .guardian.rev{grid-template-columns:1fr; padding:70px 22px; text-align:center}
    .guardian.rev .art, .guardian.rev .txt{order:initial}
    .guardian .txt{margin:0 auto}
    .guardian .eyebrow{justify-content:center}
    .acta{padding:80px 22px}
    footer{padding:70px 22px 30px}
    .fgrid{grid-template-columns:1fr; gap:40px}
    .wa-float{right:18px; bottom:18px; width:54px; height:54px}
    .wa-float svg{width:24px; height:24px}
    .wa-tooltip{display:none}
  }
  @media(max-width:560px){
    .bgrid{grid-template-columns:1fr}
  }