@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap");
:root{--black:#050505;--ink:#101010;--graphite:#1c1c1c;--paper:#f3f2ef;--white:#fff;--muted:#6d6d6d;--muted-dark:#b8b8b8;--line:#d8d7d2;--line-dark:rgba(255,255,255,.16);--shadow:0 24px 70px rgba(0,0,0,.14);--radius:2px;--container:1200px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:78px}
body{font-family:"DM Sans",Arial,sans-serif;background:var(--white);color:var(--ink);line-height:1.6;overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:600;line-height:1.08}.section{padding:110px 0}.section-dark{background:var(--black);color:var(--white)}.section-soft{background:var(--paper)}
.eyebrow{display:inline-block;color:#333;font-size:.73rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.eyebrow.light{color:#d9d9d9}.section-title{max-width:830px;margin:0 auto 58px;text-align:center}.section-title h2,.section-copy h2{font-size:clamp(2.35rem,4.7vw,4.35rem);letter-spacing:-.035em;margin:12px 0 20px}.section-title p,.section-copy p{color:var(--muted);font-size:1.04rem}.section-dark .section-title p,.simulator-section .section-title p,.testimonials-section .section-title p{color:var(--muted-dark)}
.skip-link{position:fixed;left:16px;top:-70px;background:#fff;color:#000;padding:10px 16px;z-index:99999}.skip-link:focus{top:12px}

/* Navigation */
.navbar{position:fixed;inset:0 0 auto;z-index:1000;height:84px;background:rgba(5,5,5,.78);border-bottom:1px solid var(--line-dark);backdrop-filter:blur(16px);transition:.25s}.navbar.scrolled{height:70px;background:rgba(5,5,5,.96)}.nav-shell{width:min(1360px,calc(100% - 36px));height:100%;margin:auto;display:flex;align-items:center;gap:26px}.logo{flex:0 0 auto}.logo img{width:clamp(140px,12vw,188px);height:52px;object-fit:contain;filter: brightness(0) invert(1);}/* Configuración común */
.navbar-logo img,
.hero-logo,
.footer-logo {
  display: block;
  height: auto;
  object-fit: contain;
}

/* Logo del menú */
.navbar-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.navbar-logo img {
  width: clamp(145px, 14vw, 195px);
  max-height: 52px;
  /* filter: brightness(0) invert(1); */
  filter: None;
}

/* Logo dentro del banner principal */
.hero-logo {
  width: clamp(280px, 40vw, 480px);
  max-width: 100%;
  margin-bottom: 2rem;
  filter: brightness(0) invert(1);
}

/* Logo del footer */
.footer-logo {
  width: clamp(170px, 20vw, 240px);
  max-width: 100%;
  margin-bottom: 1.25rem;
  filter: None;
}

/* Ajustes para teléfonos */
@media (max-width: 768px) {
  .navbar-logo img {
    width: clamp(135px, 42vw, 165px);
    max-height: 44px;
  }

  .hero-logo {
    width: clamp(200px, 65vw, 300px);
    margin-bottom: 1.5rem;
  }

  .footer-logo {
    width: 185px;
  }
}

/* Teléfonos muy pequeños */
@media (max-width: 380px) {
  .navbar-logo img {
    width: 130px;
  }

  .hero-logo {
    width: 210px;
  }
}.nav-shell nav{flex:1;min-width:0}.nav-links{display:flex;justify-content:center;align-items:center;gap:clamp(12px,1.4vw,25px);list-style:none}.nav-links a{color:#ddd;text-decoration:none;font-size:.78rem;font-weight:600;white-space:nowrap;transition:.2s}.nav-links a:hover,.nav-links a.active{color:#fff}.btn,.btn-primary,.btn-secondary,.btn-nav{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;text-decoration:none;font-weight:700;transition:.25s}.btn-primary,.btn-nav{background:#fff;color:#080808;padding:13px 20px}.btn-primary:hover,.btn-nav:hover{background:#d9d9d9;transform:translateY(-2px)}.btn-secondary{border-color:rgba(255,255,255,.65);color:#fff;padding:12px 20px;background:rgba(0,0,0,.16)}.btn-secondary:hover{background:#fff;color:#080808}.btn-secondary.dark{border-color:#222;color:#111;background:transparent}.btn-secondary.dark:hover{background:#111;color:#fff}.btn-nav{font-size:.78rem;padding:10px 16px;white-space:nowrap}.menu-toggle{display:none;border:0;background:none;color:#fff;font-size:1.25rem;padding:8px}

/* Hero */
.hero{min-height:100svh;position:relative;display:grid;align-items:center;background:#050505;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:-4%;background:linear-gradient(90deg,rgba(0,0,0,.91) 0%,rgba(0,0,0,.68) 42%,rgba(0,0,0,.25) 75%,rgba(0,0,0,.48) 100%),url("assets/hero-quantum-monochrome.png") center/cover no-repeat;animation:heroDrift 18s ease-in-out infinite alternate}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 65%)}.hero-market{position:absolute;inset:0;width:100%;height:100%;opacity:.42}.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:72px;align-items:center;padding:145px 0 100px}.hero-content{max-width:760px}.hero h1{font-size:clamp(3.25rem,6.7vw,7rem);letter-spacing:-.055em;margin:17px 0 28px;max-width:900px}.hero h1 em{display:block;font-weight:500;color:#cfcfcf}.hero-content>p{font-size:clamp(1.05rem,1.5vw,1.23rem);color:#d0d0d0;max-width:650px}.hero-buttons{display:flex;flex-wrap:wrap;gap:13px;margin:34px 0}.hero-proof{display:flex;gap:20px;flex-wrap:wrap;color:#bdbdbd;font-size:.79rem}.hero-proof i{margin-right:6px;color:#fff}.market-card{align-self:end;margin-bottom:10px;padding:24px;border:1px solid rgba(255,255,255,.25);background:rgba(4,4,4,.66);backdrop-filter:blur(14px);box-shadow:0 25px 70px rgba(0,0,0,.35)}.market-card-head,.terminal-top,.terminal-foot{display:flex;justify-content:space-between;gap:12px;font:600 .63rem/1 "DM Sans",sans-serif;letter-spacing:.13em;color:#a7a7a7}.live-dot:before{content:"";display:inline-block;width:6px;height:6px;background:#fff;border-radius:50%;margin-right:7px;animation:blink 1.5s infinite}.market-price{display:grid;grid-template-columns:1fr auto;align-items:end;margin:24px 0}.market-price small{grid-column:1/-1;color:#9c9c9c}.market-price strong{font:500 3.25rem/1 "Playfair Display",serif}.market-price span{font-size:.85rem;color:#fff}.mini-bars{height:88px;display:flex;align-items:end;gap:5px;border-bottom:1px solid var(--line-dark)}.mini-bars i{flex:1;background:linear-gradient(#fff,#555);height:var(--h,35%);animation:barMove 4s ease-in-out infinite alternate}.mini-bars i:nth-child(2){--h:55%;animation-delay:.2s}.mini-bars i:nth-child(3){--h:45%;animation-delay:.5s}.mini-bars i:nth-child(4){--h:72%;animation-delay:.8s}.mini-bars i:nth-child(5){--h:64%;animation-delay:.4s}.mini-bars i:nth-child(6){--h:85%;animation-delay:1s}.mini-bars i:nth-child(7){--h:70%;animation-delay:.3s}.mini-bars i:nth-child(8){--h:92%;animation-delay:.7s}.mini-bars i:nth-child(9){--h:66%;animation-delay:1.1s}.mini-bars i:nth-child(10){--h:78%;animation-delay:.1s}.mini-bars i:nth-child(11){--h:88%;animation-delay:.6s}.mini-bars i:nth-child(12){--h:96%;animation-delay:.9s}.market-signal{display:flex;align-items:center;gap:10px;margin:17px 0}.animal{font-size:.62rem;letter-spacing:.15em}.signal-line{flex:1;height:1px;background:#444;position:relative}.signal-line i{position:absolute;width:28%;height:3px;background:#fff;left:48%;top:-1px;animation:signalMove 4s ease-in-out infinite alternate}.market-card p{color:#aaa;font-size:.8rem}.scroll-cue{position:absolute;bottom:25px;left:50%;z-index:3;transform:translateX(-50%);color:#aaa;text-decoration:none;font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;text-align:center}.scroll-cue i{display:block;width:1px;height:32px;background:#777;margin:8px auto 0;animation:scrollLine 2s infinite}

/* Intelligence */
.intelligence-section{background:#fff}.intelligence-layout{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:80px}.section-copy{max-width:550px}.scenario-tabs{display:flex;gap:8px;margin:30px 0 17px}.scenario-tabs button{border:1px solid #bbb;background:transparent;padding:9px 16px;color:#555}.scenario-tabs button.active,.scenario-tabs button:hover{background:#111;color:#fff;border-color:#111}.microcopy{font-size:.86rem!important}.terminal{background:#0a0a0a;color:#fff;padding:25px;box-shadow:var(--shadow);border:1px solid #222}.terminal-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#252525;margin:24px 0}.terminal-metrics div{background:#0d0d0d;padding:18px}.terminal-metrics small{display:block;color:#8c8c8c;font-size:.68rem}.terminal-metrics strong{font-size:1.7rem}.terminal-chart{height:285px;position:relative}.terminal-chart canvas{width:100%;height:100%}.terminal-foot{margin-top:16px}.terminal-foot i{display:inline-block;width:6px;height:6px;background:#fff;border-radius:50%;margin-right:6px}

/* Security + journey */
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-dark)}.pillar{position:relative;min-height:330px;padding:34px 28px;border-right:1px solid var(--line-dark);transition:.25s}.pillar:last-child{border-right:0}.pillar:hover{background:#fff;color:#111}.pillar>span{color:#777;font-size:.72rem}.pillar>i{display:block;font-size:2rem;margin:48px 0 22px}.pillar h3{font-size:1.45rem;margin-bottom:13px}.pillar p{font-size:.88rem;color:#aaa}.pillar:hover p{color:#555}.security-band{display:grid;grid-template-columns:1fr 1.25fr auto;gap:30px;align-items:center;padding:26px 30px;background:#fff;color:#111}.security-band span{color:#555;font-size:.87rem}.security-band a{text-decoration:none;font-weight:700;font-size:.82rem}.journey-section{background:#fff}.journey{display:grid;grid-template-columns:repeat(5,1fr);position:relative;margin-bottom:30px}.journey:before{content:"";position:absolute;top:26px;left:10%;right:10%;height:1px;background:#ccc}.journey-step{position:relative;border:0;background:none;padding:0 8px;text-align:center;color:#888}.journey-step span{position:relative;z-index:1;display:grid;place-items:center;width:53px;height:53px;margin:0 auto 15px;border:1px solid #aaa;border-radius:50%;background:#fff;font-size:.72rem;transition:.25s}.journey-step strong{display:block;color:#333;font-family:"Playfair Display",serif;font-size:1.05rem}.journey-step small{font-size:.72rem}.journey-step.active span,.journey-step:hover span{background:#111;color:#fff;border-color:#111;transform:scale(1.08)}.journey-detail{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:31px;border:1px solid #bbb}.journey-detail>span{font:500 3rem/1 "Playfair Display",serif;color:#bbb}.journey-detail h3{font-size:1.45rem;margin-bottom:7px}.journey-detail p{color:#666;font-size:.88rem}

/* Profiles */
.profiles-grid{display:grid;grid-template-columns:1fr 1fr;max-width:1000px;margin:auto}.profile-card{position:relative;min-height:520px;padding:55px;background:#fff;border:1px solid #ccc}.profile-inverse{background:#090909;color:#fff;border-color:#090909}.profile-index{position:absolute;right:34px;top:23px;font:500 4.5rem/1 "Playfair Display",serif;color:#e8e8e8}.profile-inverse .profile-index{color:#222}.profile-card h3{font-size:clamp(2.3rem,4vw,3.5rem);margin:35px 0 18px}.profile-card>p{color:#666;max-width:420px}.profile-inverse>p{color:#aaa}.profile-card ul{list-style:none;margin:45px 0 34px}.profile-card li{padding:13px 0;border-bottom:1px solid #ddd;font-size:.88rem}.profile-inverse li{border-color:#292929}.text-link{font-weight:700;text-decoration:none;font-size:.85rem}.text-link i{margin-left:8px}.text-link.light{color:#fff}.profile-note{max-width:760px;margin:24px auto 0;text-align:center;color:#777;font-size:.78rem}

/* Simulator */
.simulator-section{background:#080808;color:#fff}.simulator-shell{display:grid;grid-template-columns:minmax(350px,.72fr) minmax(0,1.28fr);gap:24px;align-items:start}.simulator-panel,.simulator-output{border:1px solid #303030;background:#0f0f0f;padding:29px}.sim-progress{display:flex;justify-content:space-between;border-bottom:1px solid #2b2b2b;padding-bottom:14px;margin-bottom:28px;color:#666;font-size:.7rem}.sim-progress .active{color:#fff}.choice-group{border:0;margin-bottom:26px}.choice-group legend{font:600 1.2rem "Playfair Display",serif;margin-bottom:13px}.choice-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.choice-cards input,.mode-switch input{position:absolute;opacity:0;pointer-events:none}.choice-cards label>span{display:flex;min-height:130px;flex-direction:column;gap:5px;border:1px solid #333;padding:14px;color:#aaa}.choice-cards i{font-size:1.15rem;margin-bottom:10px}.choice-cards strong{font-size:.77rem;color:#eee}.choice-cards small{font-size:.65rem}.choice-cards input:checked+span{border-color:#fff;background:#fff;color:#555}.choice-cards input:checked+span strong{color:#111}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-switch label>span{display:grid;place-items:center;min-height:58px;padding:10px;border:1px solid #333;text-align:center;color:#aaa;font-size:.76rem}.mode-switch input:checked+span{background:#fff;color:#111;border-color:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:.76rem;font-weight:700;color:#ddd}.field small{color:#777;font-size:.66rem}.field input,.field select,.field textarea{width:100%;border:1px solid #383838;background:#0a0a0a;color:#fff;padding:12px 13px;outline:none;border-radius:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:#fff}.sim-actions{display:flex;gap:10px;margin-top:22px}.sim-actions button{flex:1;min-height:46px}.btn-ghost{background:transparent;color:#fff;border-color:#444}.form-error{color:#ddd;font-size:.78rem;min-height:20px;margin-top:10px}.simulator-output{background:#151515}.result-intro{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.result-intro h3{font-size:2rem;margin-top:6px}.result-horizon{text-align:right}.result-horizon small{display:block;color:#888;font-size:.65rem}.result-horizon strong{font-size:1rem}.profile-results{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-result{background:#0b0b0b;border:1px solid #303030;padding:19px;min-width:0}.result-head{min-height:48px}.result-head span{display:block;font-weight:700;font-size:.83rem}.result-head small{color:#777;font-size:.62rem}.main-result{display:block;font:600 clamp(1.75rem,3vw,2.65rem)/1.1 "Playfair Display",serif;margin-top:15px;overflow-wrap:anywhere}.main-result-label{color:#999;font-size:.66rem}.result-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.result-facts span{color:#777;font-size:.63rem}.result-facts b{display:block;color:#ddd;font-size:.78rem;margin-top:2px}.chart-wrap{height:205px;position:relative}.chart-wrap canvas{width:100%;height:100%;display:block}.sim-note{color:#777;font-size:.67rem;margin:18px 0}.result-cta{width:100%;padding:12px}.simulator-output .eyebrow{font-size:.62rem}

/* Credentials, testimonials, partner */
.credentials-section{background:#fff}.credentials-track{display:grid;gap:14px}.credential-banner{display:grid;grid-template-columns:110px 1fr 230px;gap:28px;align-items:center;border:1px solid #ccc;padding:22px 28px;transition:.25s}.credential-banner:hover{background:#0a0a0a;color:#fff;transform:translateX(5px)}.credential-mark{display:grid;place-items:center;height:90px;background:#eee;font-size:1.6rem;color:#111}.credential-banner span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#777}.credential-banner h3{font-size:1.45rem;margin:4px 0}.credential-banner p{color:#777;font-size:.84rem}.credential-banner small{color:#999;text-align:right}.credentials-note{display:flex;justify-content:center;gap:10px;margin-top:20px;color:#777;font-size:.75rem}.testimonials-section{background:#090909;color:#fff}.testimonial-slider{position:relative;max-width:1050px;margin:auto;border:1px solid #333;padding:0 62px}.testimonial-viewport{overflow:hidden}.testimonial{display:none;grid-template-columns:310px 1fr;min-height:400px}.testimonial.active{display:grid;animation:fadeIn .45s ease}.testimonial-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:linear-gradient(135deg,#333,#111);color:#777}.testimonial-photo i{font-size:4rem}.testimonial-photo span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.testimonial-copy{display:flex;flex-direction:column;justify-content:center;padding:55px}.testimonial-copy>i{font-size:2rem;color:#555}.testimonial-copy blockquote{font:500 clamp(1.6rem,3vw,2.65rem)/1.25 "Playfair Display",serif;margin:18px 0 28px}.testimonial-copy strong{font-size:.88rem}.testimonial-copy span{color:#777;font-size:.68rem;margin-top:4px}.slider-control{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid #555;background:#0b0b0b;color:#fff}.slider-control.prev{left:10px}.slider-control.next{right:10px}.slider-dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px}.slider-dots button{width:7px;height:7px;border:0;border-radius:50%;background:#555}.slider-dots button.active{background:#fff}.partners-section{background:#fff}.partners-layout{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px}.partners-layout h2{font-size:clamp(2.2rem,4vw,3.8rem);margin:10px 0}.partners-layout p{color:#666}.partner-card{min-height:160px;display:grid;place-items:center;border:1px solid #bbb;padding:30px}.partner-card img{max-width:245px;max-height:85px;object-fit:contain}

/* FAQ, contact, footer */
.faq-container{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;max-width:1050px;margin:auto}.faq-column{display:grid;gap:12px;align-content:start}.faq-item{background:#fff;border:1px solid #d1d0cc}.faq-item button{width:100%;padding:19px 20px;display:flex;justify-content:space-between;gap:15px;text-align:left;background:none;border:0;color:#111;font-weight:700;font-size:.83rem}.faq-answer{display:grid;grid-template-rows:0fr;transition:.25s}.faq-answer p{overflow:hidden;color:#666;font-size:.82rem;padding:0 20px}.faq-item.faq-open .faq-answer{grid-template-rows:1fr}.faq-item.faq-open .faq-answer p{padding-bottom:20px}.contact-section{background:#080808;color:#fff}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.contact-copy h2{font-size:clamp(2.6rem,5vw,4.7rem);margin:14px 0 24px}.contact-copy>p{color:#aaa;max-width:540px}.contact-points{display:grid;gap:13px;margin-top:35px;color:#bbb;font-size:.83rem}.contact-points i{width:25px;color:#fff}.contact-card{border:1px solid #333;background:#101010;padding:34px}.contact-form textarea{min-height:125px;resize:vertical}.contact-form .btn-primary{margin-top:20px}.form-status{min-height:22px;margin-top:10px;color:#ddd;font-size:.78rem}footer{background:#030303;color:#fff;border-top:1px solid #292929;padding:55px 0 26px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .8fr;gap:48px}.footer-brand img{width:180px;max-height:60px;object-fit:contain;margin-bottom:15px}.footer-grid h3{font-family:"DM Sans",sans-serif;font-size:.82rem;margin-bottom:12px}.footer-grid p,.footer-grid a{color:#8f8f8f;font-size:.8rem}.footer-links{list-style:none}.footer-links li{margin:8px 0}.footer-links a{text-decoration:none}.footer-links a:hover{color:#fff}.socials{display:flex;gap:10px;margin-top:15px}.socials a{display:grid;place-items:center;width:38px;height:38px;border:1px solid #333;text-decoration:none}.investment-disclaimer{margin-top:35px;padding-top:22px;border-top:1px solid #222;color:#666!important;font-size:.69rem!important}.copyright{margin-top:17px;color:#555!important;font-size:.72rem!important}.whatsapp{position:fixed;left:20px;bottom:20px;z-index:900;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;color:#080808;text-decoration:none;font-size:1.55rem;box-shadow:0 12px 35px rgba(0,0,0,.35)}.whatsapp:after{content:"";position:absolute;inset:-6px;border:1px solid rgba(255,255,255,.55);border-radius:50%;animation:whatsappPulse 2.5s infinite}.whatsapp-label{position:absolute;left:67px;white-space:nowrap;background:#111;color:#fff;border:1px solid #333;padding:7px 10px;font-size:.68rem;font-weight:700;opacity:0;transform:translateX(-5px);transition:.2s}.whatsapp:hover .whatsapp-label{opacity:1;transform:none}.scroll-top{position:fixed;right:20px;bottom:20px;z-index:800;width:43px;height:43px;border:1px solid #444;background:#0d0d0d;color:#fff;display:none}

/* Blog and articles */
.blog-hero,.article-hero{padding:165px 24px 80px;text-align:center;background:#090909;color:#fff}.blog-hero:before,.article-hero:before{content:"";position:absolute;inset:0;pointer-events:none}.blog-hero h1,.article-hero h1{font-size:clamp(2.8rem,6vw,5.2rem);max-width:980px;margin:auto;letter-spacing:-.04em}.blog-hero p,.article-hero p{max-width:720px;margin:18px auto 0;color:#aaa}.blog-categories{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:30px auto 0}.blog-categories button{border:1px solid #444;background:#111;color:#ccc;padding:8px 14px}.blog-categories button.active,.blog-categories button:hover{background:#fff;color:#111}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.blog-card{display:flex;flex-direction:column;border:1px solid #ccc;background:#fff;overflow:hidden}.blog-card[hidden]{display:none}.blog-card img{width:100%;height:210px;object-fit:cover;filter:grayscale(1)}.blog-content{display:flex;flex:1;flex-direction:column;padding:24px}.blog-tag{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#666}.blog-card h2{font-size:1.45rem;margin:10px 0}.blog-card p{color:#666;font-size:.86rem;margin-bottom:20px}.blog-card .btn-primary{margin-top:auto;align-self:flex-start;background:#111;color:#fff;padding:9px 16px;font-size:.78rem}.article-shell{display:grid;grid-template-columns:minmax(0,760px) 250px;gap:60px;max-width:1070px;margin:auto}.article-content{font-family:Georgia,serif;color:#333;font-size:1.08rem}.article-content h2{font-family:"Playfair Display",serif;color:#111;font-size:1.9rem;margin:38px 0 13px}.article-content p,.article-content ul{margin-bottom:20px}.article-content ul{padding-left:24px}.article-content li{margin:8px 0}.article-image{width:100%;max-height:420px;object-fit:cover;filter:grayscale(1);margin-bottom:30px}.article-meta{color:#777;font-family:"DM Sans",sans-serif;font-size:.82rem}.article-aside{position:sticky;top:100px;height:max-content;padding:22px;border:1px solid #ccc}.article-aside h3{font-family:"DM Sans",sans-serif;font-size:.9rem;margin-bottom:12px}.article-aside a{display:block;color:#666;text-decoration:none;font-size:.8rem;padding:9px 0;border-bottom:1px solid #ddd}.article-content>.btn-primary{background:#111;color:#fff}

/* Motion */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroDrift{to{transform:scale(1.04) translate3d(-.8%,.5%,0)}}@keyframes blink{50%{opacity:.25}}@keyframes barMove{to{height:calc(var(--h,35%) * .72)}}@keyframes signalMove{to{left:24%}}@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}@keyframes fadeIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}@keyframes whatsappPulse{60%,100%{transform:scale(1.25);opacity:0}}

.result-facts{grid-template-columns:repeat(3,1fr)}

/* Responsive */
@media(max-width:1120px){.btn-nav{display:none}.nav-links{gap:13px}.nav-links a{font-size:.72rem}.hero-layout{gap:35px}.pillars-grid{grid-template-columns:repeat(2,1fr)}.pillar:nth-child(2){border-right:0}.pillar:nth-child(-n+2){border-bottom:1px solid var(--line-dark)}.simulator-shell{grid-template-columns:1fr}.simulator-output{position:static}}
@media(max-width:900px){.menu-toggle{display:block}.nav-shell nav{position:absolute;inset:84px 0 auto;background:#090909;border-bottom:1px solid #333}.nav-links{display:none;flex-direction:column;align-items:flex-start;padding:22px}.nav-links.mobile-active{display:flex}.navbar.scrolled .nav-shell nav{top:70px}.hero-layout,.intelligence-layout,.contact-layout,.partners-layout{grid-template-columns:1fr}.hero-layout{padding-top:135px}.market-card{max-width:550px;align-self:auto}.intelligence-layout{gap:45px}.security-band{grid-template-columns:1fr}.profiles-grid{grid-template-columns:1fr}.profile-card{min-height:auto}.journey{grid-template-columns:1fr;gap:8px}.journey:before{left:26px;right:auto;top:20px;bottom:20px;width:1px;height:auto}.journey-step{display:grid;grid-template-columns:53px 1fr;text-align:left;align-items:center;column-gap:15px}.journey-step span{grid-row:1/3;margin:0}.journey-step strong,.journey-step small{display:block}.journey-detail{grid-template-columns:auto 1fr}.journey-detail .btn-secondary{grid-column:1/-1}.credential-banner{grid-template-columns:80px 1fr}.credential-banner small{grid-column:2;text-align:left}.testimonial{grid-template-columns:230px 1fr}.faq-container{grid-template-columns:1fr}.blog-grid{grid-template-columns:repeat(2,1fr)}.article-shell{grid-template-columns:1fr}.article-aside{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:640px){.container{width:min(var(--container),calc(100% - 28px))}.section{padding:78px 0}.section-title{margin-bottom:38px}.hero{min-height:820px}.hero-layout{display:block;padding:125px 0 85px}.hero h1{font-size:clamp(3.2rem,15vw,5rem)}.hero-content>p{font-size:1rem}.hero-buttons{flex-direction:column;align-items:stretch}.hero-buttons a{text-align:center}.hero-proof{display:grid;gap:8px}.market-card{margin-top:36px}.scroll-cue{display:none}.terminal-metrics{grid-template-columns:1fr}.terminal-chart{height:230px}.pillars-grid{grid-template-columns:1fr}.pillar{min-height:auto;border-right:0;border-bottom:1px solid var(--line-dark)!important}.pillar:last-child{border-bottom:0!important}.pillar>i{margin:25px 0 15px}.journey-detail{grid-template-columns:1fr}.journey-detail>span{font-size:2rem}.profile-card{padding:35px 25px}.choice-cards,.mode-switch,.form-grid,.profile-results,.result-facts{grid-template-columns:1fr}.choice-cards label>span{min-height:92px}.field.full{grid-column:auto}.simulator-panel,.simulator-output{padding:18px}.result-intro{align-items:flex-start;flex-direction:column}.chart-wrap{height:190px}.credential-banner{grid-template-columns:1fr;padding:20px}.credential-mark{height:70px}.credential-banner small{grid-column:auto;text-align:left}.testimonial-slider{padding:0 44px}.testimonial{grid-template-columns:1fr;min-height:530px}.testimonial-photo{min-height:170px}.testimonial-copy{padding:28px}.testimonial-copy blockquote{font-size:1.45rem}.slider-control{width:34px}.slider-control.prev{left:5px}.slider-control.next{right:5px}.blog-grid,.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.blog-card img{height:190px}.whatsapp{left:14px;bottom:14px;width:52px;height:52px}.whatsapp-label{display:none}.scroll-top{right:14px;bottom:14px}.article-content{font-size:1rem}.article-hero,.blog-hero{padding-top:130px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero-photo{inset:0}}

/* =====================================================
   HERO FINAL — DESKTOP, LAPTOP Y MÓVIL
   Esta capa sustituye los ajustes anteriores del hero.
===================================================== */
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important
}

.hero{
  position:relative;
  min-height:100svh;
  height:auto;
  padding-top:84px;
  display:flex;
  align-items:center;
  overflow:hidden
}

.hero .hero-layout{
  position:relative;
  z-index:2;
  width:min(var(--container),calc(100% - 48px));
  min-height:calc(100svh - 84px);
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);
  align-items:center;
  gap:clamp(42px,6vw,80px);
  padding:clamp(28px,4vh,52px) 0 clamp(96px,11vh,118px)
}

.hero .hero-content{
  width:100%;
  max-width:720px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center
}

.hero .hero-logo-link{
  display:block;
  width:fit-content;
  max-width:100%;
  margin:0 auto clamp(18px,2.5vh,28px)
}

.hero .hero-logo{
  display:block;
  width:clamp(330px,32vw,470px);
  max-width:100%;
  height:auto;
  margin:0;
  object-fit:contain;
  filter:brightness(0) invert(1)
}

.hero .hero-tagline{
  display:block;
  width:100%;
  text-align:center
}

.hero .hero-buttons{
  width:100%;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:13px;
  margin:clamp(20px,3vh,28px) 0
}

.hero .hero-proof{
  width:100%;
  justify-content:center;
  gap:12px 20px
}

.hero .market-card{
  position:relative;
  inset:auto;
  width:100%;
  max-width:390px;
  justify-self:end;
  align-self:center;
  margin:0;
  padding:clamp(19px,2vw,24px)
}

.hero .scroll-cue{
  position:absolute;
  left:50%;
  bottom:8px;
  z-index:4;
  transform:translateX(-50%);
  padding:5px 12px;
  color:#bcbcbc;
  text-decoration:none;
  text-align:center;
  font-size:.65rem;
  letter-spacing:.18em;
  text-transform:uppercase
}

.hero .scroll-cue i{
  display:block;
  width:1px;
  height:20px;
  margin:5px auto 0;
  background:#888
}

.hero .scroll-cue span {
  text-shadow:
    0 2px 8px rgba(0,0,0,.95),
    0 0 22px rgba(0,0,0,.8);
}

.hero .scroll-cue i {
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.9));
}

@media (min-width:901px) and (max-height:800px){
  .hero .hero-layout{
    padding-top:20px;
    padding-bottom:82px
  }
  .hero .hero-logo-link{margin-bottom:15px}
  .hero .hero-logo{width:clamp(300px,28vw,405px)}
  .hero .hero-buttons{margin:17px 0}
  .hero .market-card{max-width:360px;padding:18px 20px}
  .hero .market-price{margin:14px 0}
  .hero .market-price strong{font-size:2.7rem}
  .hero .mini-bars{height:62px}
  .hero .market-signal{margin:11px 0}
  .hero .scroll-cue{bottom:5px}
  .hero .scroll-cue i{height:16px}
}

@media (max-width:900px){
  .hero{
    min-height:100svh;
    height:auto;
    max-height:none;
    padding-top:70px;
    display:block;
    overflow:hidden
  }

  .hero .hero-layout{
    width:min(100% - 32px,620px);
    min-height:0;
    height:auto;
    max-height:none;
    display:block;
    padding:0 0 38px
  }

  .hero .hero-content{
    position:relative;
    width:100%;
    max-width:none;
    min-height:calc(100svh - 70px);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:18px 0 34px;
    text-align:center
  }

  .hero .hero-logo-link{
    margin:0 auto 14px
  }

  .hero .hero-logo{
    width:clamp(245px,72vw,320px);
    max-height:none
  }

  .hero .hero-tagline{
    font-size:.68rem
  }

  .hero .hero-buttons{
    width:min(100%,390px);
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    margin:17px auto
  }

  .hero .hero-buttons a{
    width:100%;
    min-height:45px;
    padding:10px 15px;
    text-align:center
  }

  .hero .hero-proof{
    display:flex;
    justify-content:center;
    gap:8px 14px;
    font-size:.7rem;
    line-height:1.4
  }

  .hero .market-card{
    position:relative!important;
    inset:auto!important;
    float:none;
    width:100%;
    max-width:520px;
    margin:0 auto 28px;
    padding:17px
  }

  .hero .market-price{margin:13px 0}
  .hero .market-price strong{font-size:2.45rem}
  .hero .mini-bars{height:54px}
  .hero .market-signal{margin:10px 0}
  .hero .scroll-cue{display:none}
}

@media (max-width:420px) and (max-height:620px){
  .hero .hero-content{
    padding-top:8px;
    padding-bottom:18px
  }
  .hero .hero-logo{width:215px}
  .hero .hero-logo-link{margin-bottom:8px}
  .hero .hero-buttons{margin:11px auto}
  .hero .hero-buttons a{min-height:40px;font-size:.82rem}
  .hero .hero-proof span:not(:first-child){display:none}
}

@media (max-width: 640px) {
  .hero .hero-proof {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 7px;
  }

  .hero .hero-proof span {
    display: inline-flex !important;
    align-items: center;
  }
}

/* =====================================================
   DENSIDAD VISUAL COMPACTA
   Reduce alturas sin sacrificar legibilidad.
===================================================== */
.section{
  padding:clamp(64px,7vh,78px) 0
}

.section-title{
  margin-bottom:clamp(30px,4vh,40px)
}

.section-title h2,
.section-copy h2{
  font-size:clamp(2.15rem,3.8vw,3.65rem);
  margin:9px 0 15px
}

.section-title p,
.section-copy p{
  font-size:.98rem;
  line-height:1.55
}

/* Capital Management Intelligence */
.intelligence-layout{
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(38px,4vw,54px)
}

.section-copy{max-width:590px}
.scenario-tabs{margin:21px 0 12px}
.terminal{padding:21px}
.terminal-metrics{margin:17px 0}
.terminal-metrics div{padding:14px}
.terminal-metrics strong{font-size:1.5rem}
.terminal-chart{height:225px}
.terminal-foot{margin-top:12px}

/* Modelo de seguridad y recorrido */
.pillar{
  min-height:270px;
  padding:27px 24px
}

.pillar>i{margin:31px 0 17px}
.security-band{padding:21px 25px}
.journey{margin-bottom:22px}
.journey-detail{padding:24px 27px}

/* Perfiles */
.profile-card{
  min-height:440px;
  padding:42px
}

.profile-card h3{margin:25px 0 15px}
.profile-card ul{margin:28px 0 25px}
.profile-card li{padding:10px 0}

/* Simulador */
.simulator-panel,
.simulator-output{padding:24px}

.sim-progress{margin-bottom:21px}
.choice-group{margin-bottom:20px}
.choice-cards label>span{min-height:112px;padding:12px}
.chart-wrap{height:180px}

/* Credenciales, testimonios, contacto y footer */
.credential-banner{padding:18px 24px}
.credential-mark{height:78px}
.testimonial{min-height:350px}
.testimonial-copy{padding:40px}
.testimonial-copy blockquote{margin:14px 0 22px}
.contact-card{padding:28px}
.contact-points{margin-top:25px}
footer{padding:44px 0 22px}
.investment-disclaimer{margin-top:27px;padding-top:18px}

/* Skip link: invisible salvo navegación deliberada con teclado */
.skip-link{
  top:0;
  transform:translateY(-150%);
  opacity:0;
  pointer-events:none;
  transition:transform .2s ease,opacity .2s ease
}

.skip-link:focus-visible{
  top:0;
  transform:translateY(12px);
  opacity:1;
  pointer-events:auto
}

.skip-link:focus:not(:focus-visible){
  top:0;
  transform:translateY(-150%);
  opacity:0;
  pointer-events:none
}

@media (max-width:900px){
  .section{padding:52px 0}
  .section-title{margin-bottom:30px}
  .intelligence-layout{gap:27px}
  .terminal-chart{height:195px}
  .pillar{min-height:auto;padding:24px 22px}
  .profile-card{min-height:auto;padding:34px 27px}
  .credential-banner{padding:17px 20px}
  .contact-layout,.partners-layout{gap:38px}
}

@media (max-width:640px){
  .section{padding:44px 0}

  .section-title{
    margin-bottom:25px
  }

  .section-title h2,
  .section-copy h2{
    font-size:clamp(2rem,9vw,2.65rem);
    margin:8px 0 13px
  }

  .section-title p,
  .section-copy p{
    font-size:.92rem;
    line-height:1.48
  }

  /* La terminal completa cabe como una sola unidad visual */
  .intelligence-layout{gap:22px}
  .scenario-tabs{margin:17px 0 10px}
  .scenario-tabs button{flex:1;padding:8px 7px;font-size:.72rem}
  .terminal{padding:14px}
  .terminal-metrics{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin:13px 0
  }
  .terminal-metrics div{
    min-width:0;
    padding:10px 7px
  }
  .terminal-metrics small{
    min-height:29px;
    font-size:.55rem;
    line-height:1.25;
    overflow-wrap:anywhere
  }
  .terminal-metrics strong{font-size:1.15rem}
  .terminal-chart{height:165px}
  .terminal-foot{margin-top:9px;font-size:.55rem}

  .pillar>i{margin:18px 0 12px}
  .security-band{gap:15px;padding:18px}
  .journey-detail{gap:16px;padding:19px}

  .profile-card{padding:29px 22px}
  .profile-card h3{margin:19px 0 12px}
  .profile-card ul{margin:21px 0 19px}
  .profile-card li{padding:8px 0}

  .simulator-panel,
  .simulator-output{padding:15px}
  .sim-progress{margin-bottom:17px}
  .choice-group{margin-bottom:17px}
  .choice-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px
  }
  .choice-cards label>span{
    min-height:94px;
    padding:9px 7px
  }
  .choice-cards i{margin-bottom:5px}
  .mode-switch{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mode-switch label>span{min-height:52px;padding:8px 6px}
  .chart-wrap{height:155px}

  .credential-banner{gap:13px;padding:15px}
  .credential-mark{height:62px}
  .testimonial{min-height:440px}
  .testimonial-photo{min-height:135px}
  .testimonial-copy{padding:22px}
  .testimonial-copy blockquote{margin:11px 0 18px;font-size:1.3rem}
  .faq-item button{padding:15px 16px}
  .faq-answer p{padding-inline:16px}
  .contact-card{padding:21px}
  footer{padding:38px 0 20px}

  /* Los tres beneficios del hero siempre permanecen visibles */
  .hero .hero-proof span{
    display:inline-flex!important;
    align-items:center
  }
}

/* =====================================================
   CORRECCIONES V4
===================================================== */

/* Restaura el tamaño original de Intelligence en escritorio. */
@media (min-width:901px){
  .intelligence-layout{
    grid-template-columns:.82fr 1.18fr;
    gap:80px
  }
  .section-copy{max-width:550px}
  .scenario-tabs{margin:30px 0 17px}
  .terminal{padding:25px}
  .terminal-metrics{margin:24px 0}
  .terminal-metrics div{padding:18px}
  .terminal-metrics strong{font-size:1.7rem}
  .terminal-chart{height:285px}
  .terminal-foot{margin-top:16px}
}

/* Conserva visibles las cinco etapas del proceso. */
.journey-step strong,
.journey-step small{
  display:block!important;
  visibility:visible!important;
  opacity:1!important
}

/* El enlace accesible solo aparece tras una pulsación real de Tab. */
.skip-link:focus,
.skip-link:focus-visible{
  top:0;
  transform:translateY(-150%);
  opacity:0;
  pointer-events:none
}

body.keyboard-navigation .skip-link:focus,
body.keyboard-navigation .skip-link:focus-visible{
  transform:translateY(12px);
  opacity:1;
  pointer-events:auto
}

@media (max-width:900px){
  .intelligence-section{
    padding:38px 0
  }

  .intelligence-layout{
    width:min(var(--container),calc(100% - 28px));
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-items:start;
    gap:18px
  }

  .intelligence-layout .section-copy{
    width:100%;
    max-width:none;
    min-width:0
  }

  .intelligence-layout .section-copy h2{
    max-width:560px;
    font-size:clamp(1.9rem,7.4vw,2.35rem);
    line-height:1.03;
    letter-spacing:-.035em;
    margin:7px 0 11px
  }

  .intelligence-layout .section-copy p{
    max-width:600px;
    font-size:.88rem;
    line-height:1.42
  }

  .intelligence-layout .eyebrow{
    font-size:.64rem;
    letter-spacing:.17em
  }

  .intelligence-layout .scenario-tabs{
    display:flex;
    width:100%;
    max-width:420px;
    gap:6px;
    margin:14px 0 8px
  }

  .intelligence-layout .scenario-tabs button{
    flex:1;
    min-width:0;
    padding:7px 5px;
    font-size:.68rem
  }

  .intelligence-layout .microcopy{
    font-size:.75rem!important;
    line-height:1.35
  }

  .intelligence-layout .terminal{
    justify-self:stretch;
    width:100%;
    max-width:100%;
    min-width:0;
    padding:16px;
    overflow:hidden
  }

  .intelligence-layout .terminal-top,
  .intelligence-layout .terminal-foot{
    width:100%;
    min-width:0;
    font-size:.55rem;
    letter-spacing:.09em
  }

  .intelligence-layout .terminal-metrics{
    width:100%;
    min-width:0;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin:12px 0
  }

  .intelligence-layout .terminal-metrics div{
    min-width:0;
    padding:9px 6px
  }

  .intelligence-layout .terminal-metrics small{
    min-height:27px;
    font-size:.52rem;
    line-height:1.2;
    overflow-wrap:anywhere
  }

  .intelligence-layout .terminal-metrics strong{
    font-size:1.08rem
  }

  .intelligence-layout .terminal-chart{
    position:relative;
    width:100%;
    max-width:100%;
    min-width:0;
    height:175px;
    overflow:hidden
  }

  .intelligence-layout .terminal-chart canvas{
    display:block;
    width:100%!important;
    max-width:100%;
    height:100%!important
  }

  .intelligence-layout .terminal-foot{
    margin-top:9px
  }
}

@media (max-width:420px){
  .intelligence-section{padding:32px 0}
  .intelligence-layout{gap:15px}
  .intelligence-layout .section-copy h2{
    font-size:clamp(1.72rem,8vw,2rem)
  }
  .intelligence-layout .section-copy p{
    font-size:.83rem;
    line-height:1.36
  }
  .intelligence-layout .terminal{padding:13px}
  .intelligence-layout .terminal-chart{height:155px}
  .intelligence-layout .terminal-metrics strong{font-size:1rem}
}

/* Logo oculto mientras estamos en el hero */
.navbar-logo {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  pointer-events: none;

  transition:
    opacity 0.3s ease,
    transform 0.3s ease,
    visibility 0.3s;
}

/* Logo visible después del hero */
.navbar.show-logo .navbar-logo {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

/* =====================================================
   NAVBAR DINÁMICO SEGÚN LA POSICIÓN DEL HERO
   ===================================================== */

/* Transición general del bloque de navegación */
.nav-shell nav {
  transition:
    transform 0.38s cubic-bezier(.22, 1, .36, 1),
    opacity 0.25s ease;
  will-change: transform;
}

/* Cada elemento se mueve de manera independiente */
.nav-links li {
  opacity: 1;
  transform: translateX(0);
  transition:
    transform 0.32s cubic-bezier(.22, 1, .36, 1),
    opacity 0.22s ease;
  will-change: transform, opacity;
}

/* Transición del tamaño y espaciado del texto */
.nav-links a {
  transition:
    color 0.2s ease,
    font-size 0.32s cubic-bezier(.22, 1, .36, 1),
    letter-spacing 0.32s ease;
}

/* =====================================================
   ESTADO HERO: LOGO DEL NAVBAR OCULTO
   ===================================================== */

@media (min-width: 1101px) {

  /* El menú aprovecha visualmente el espacio del logo */
  .navbar:not(.show-logo) .nav-shell nav {
    transform: translateX(-32px);
  }

  /* Texto ligeramente más grande en el hero */
  .navbar:not(.show-logo) .nav-links a {
    font-size: 0.96rem;
    letter-spacing: 0.015em;
  }

  /* Espacio más generoso entre enlaces */
  .navbar:not(.show-logo) .nav-links {
    gap: clamp(18px, 1.75vw, 30px);
  }

  /* Posición inicial para producir el movimiento */
  .navbar:not(.show-logo) .nav-links li {
    opacity: 0.94;
    transform: translateX(-7px);
  }

  /*
   * Al regresar al hero, los enlaces se desplazan
   * hacia la izquierda en orden inverso.
   */
  .navbar:not(.show-logo) .nav-links li:nth-child(1) {
    transition-delay: 0.14s;
  }

  .navbar:not(.show-logo) .nav-links li:nth-child(2) {
    transition-delay: 0.12s;
  }

  .navbar:not(.show-logo) .nav-links li:nth-child(3) {
    transition-delay: 0.10s;
  }

  .navbar:not(.show-logo) .nav-links li:nth-child(4) {
    transition-delay: 0.08s;
  }

  .navbar:not(.show-logo) .nav-links li:nth-child(5) {
    transition-delay: 0.06s;
  }

  .navbar:not(.show-logo) .nav-links li:nth-child(6) {
    transition-delay: 0.04s;
  }

  .navbar:not(.show-logo) .nav-links li:nth-child(7) {
    transition-delay: 0.02s;
  }

  /* ===================================================
     ESTADO INTERIOR: APARECE EL LOGO
     =================================================== */

  .navbar.show-logo .nav-shell nav {
    transform: translateX(0);
  }

  .navbar.show-logo .nav-links a {
    font-size: 0.78rem;
    letter-spacing: normal;
  }

  .navbar.show-logo .nav-links {
    gap: clamp(12px, 1.4vw, 25px);
  }

  .navbar.show-logo .nav-links li {
    opacity: 1;
    transform: translateX(0);
  }

  /*
   * Al bajar desde el hero, los enlaces regresan
   * uno después de otro hacia su posición normal.
   */
  .navbar.show-logo .nav-links li:nth-child(1) {
    transition-delay: 0.02s;
  }

  .navbar.show-logo .nav-links li:nth-child(2) {
    transition-delay: 0.04s;
  }

  .navbar.show-logo .nav-links li:nth-child(3) {
    transition-delay: 0.06s;
  }

  .navbar.show-logo .nav-links li:nth-child(4) {
    transition-delay: 0.08s;
  }

  .navbar.show-logo .nav-links li:nth-child(5) {
    transition-delay: 0.10s;
  }

  .navbar.show-logo .nav-links li:nth-child(6) {
    transition-delay: 0.12s;
  }

  .navbar.show-logo .nav-links li:nth-child(7) {
    transition-delay: 0.14s;
  }
}

/* En pantallas medianas evitamos que el menú choque con el botón */
@media (min-width: 981px) and (max-width: 1100px) {
  .navbar:not(.show-logo) .nav-shell nav,
  .navbar.show-logo .nav-shell nav {
    transform: none;
  }

  .navbar:not(.show-logo) .nav-links a,
  .navbar.show-logo .nav-links a {
    font-size: 0.76rem;
  }
}

/* El menú móvil conserva su funcionamiento normal */
@media (max-width: 980px) {
  .nav-shell nav,
  .nav-links li {
    transform: none;
    transition-delay: 0s !important;
  }
}

/* Accesibilidad: respeta usuarios que desactivan animaciones */
@media (prefers-reduced-motion: reduce) {
  .nav-shell nav,
  .nav-links,
  .nav-links li,
  .nav-links a,
  .navbar-logo {
    transition: none !important;
    animation: none !important;
  }
}

/* =====================================================
   NAVBAR HERO: OCUPAR EL ESPACIO DEL LOGO OCULTO
   ===================================================== */

@media (min-width: 1201px) {

  /*
   * El enlace del logo tendrá un ancho real animable.
   * Esto permite liberar su espacio cuando está oculto.
   */
  .navbar-logo {
    width: clamp(145px, 14vw, 195px);
    max-width: 195px;
    flex: 0 0 clamp(145px, 14vw, 195px);
    overflow: hidden;

    transition:
      width 0.42s cubic-bezier(.16, 1, .3, 1),
      max-width 0.42s cubic-bezier(.16, 1, .3, 1),
      flex-basis 0.42s cubic-bezier(.16, 1, .3, 1),
      opacity 0.25s ease,
      transform 0.38s cubic-bezier(.16, 1, .3, 1),
      visibility 0.25s;
  }

  /*
   * En el hero el logo no solamente desaparece:
   * también deja de reservar espacio.
   */
  .navbar:not(.show-logo) .navbar-logo {
    width: 0;
    max-width: 0;
    flex-basis: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-24px) scale(0.94);
    pointer-events: none;
  }

  /*
   * El menú ocupará naturalmente casi todo el espacio
   * liberado por el logo.
   */
  .navbar:not(.show-logo) .nav-shell nav {
    transform: translateX(-20px);
  }

  .navbar:not(.show-logo) .nav-links {
    gap: clamp(22px, 2vw, 34px);
  }

  .navbar:not(.show-logo) .nav-links a {
    font-size: 0.92rem;
    letter-spacing: 0.018em;
  }

  /*
   * Pequeño desplazamiento individual.
   * Los primeros enlaces recorren un poco más distancia,
   * generando una expansión ligeramente irregular.
   */
  .navbar:not(.show-logo) .nav-links li:nth-child(1) {
    transform: translateX(-16px);
  }

  .navbar:not(.show-logo) .nav-links li:nth-child(2) {
    transform: translateX(-13px);
  }

  .navbar:not(.show-logo) .nav-links li:nth-child(3) {
    transform: translateX(-10px);
  }

  .navbar:not(.show-logo) .nav-links li:nth-child(4) {
    transform: translateX(-7px);
  }

  .navbar:not(.show-logo) .nav-links li:nth-child(5) {
    transform: translateX(-5px);
  }

  .navbar:not(.show-logo) .nav-links li:nth-child(6) {
    transform: translateX(-3px);
  }

  .navbar:not(.show-logo) .nav-links li:nth-child(7) {
    transform: translateX(0);
  }

  /* Estado normal al abandonar el hero */
  .navbar.show-logo .navbar-logo {
    width: clamp(145px, 14vw, 195px);
    max-width: 195px;
    flex-basis: clamp(145px, 14vw, 195px);
    opacity: 1;
    visibility: visible;
    transform: translateX(0) scale(1);
    pointer-events: auto;
  }

  .navbar.show-logo .nav-shell nav {
    transform: translateX(0);
  }

  .navbar.show-logo .nav-links {
    gap: clamp(12px, 1.4vw, 25px);
  }

  .navbar.show-logo .nav-links a {
    font-size: 0.78rem;
    letter-spacing: normal;
  }

  .navbar.show-logo .nav-links li {
    transform: translateX(0);
  }
}

/* =====================================================
   QUANTUM MOTION SYSTEM · V5
   ===================================================== */

[data-scramble],
.scramble-active,
.system-text {
  font-variant-numeric: tabular-nums;
}

.scramble-active {
  text-shadow: 0 0 12px currentColor;
}

.number-updating {
  display: inline-block;
  animation: quantumNumberPulse .42s cubic-bezier(.22,1,.36,1);
}

.system-flash {
  animation: quantumSystemFlash .42s ease;
}

.faq-item.system-flash {
  border-color: #777;
}

.simulation-system-line {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 18px;
  margin-bottom: 13px;
  color: #8f8f8f;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.system-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 9px rgba(255,255,255,.72);
}

.simulation-system-line.is-calculating .system-dot {
  animation: blink .55s infinite;
}

.terminal-foot b {
  font: inherit;
  letter-spacing: inherit;
}

.testimonial-system-state {
  position: absolute;
  z-index: 3;
  top: 18px;
  right: 22px;
  color: #777;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.blog-card.filter-enter {
  animation: blogFilterEnter .42s cubic-bezier(.22,1,.36,1) both;
}

@keyframes quantumNumberPulse {
  0% { opacity: .35; transform: translateY(6px); filter: blur(2px); }
  100% { opacity: 1; transform: none; filter: blur(0); }
}

@keyframes quantumSystemFlash {
  0% { opacity: .35; filter: blur(1.5px); }
  100% { opacity: 1; filter: blur(0); }
}

@keyframes blogFilterEnter {
  0% { opacity: 0; transform: translateY(14px); }
  100% { opacity: 1; transform: none; }
}

/* =====================================================
   QUANTUM INSIGHTS · BLOG DINÁMICO
   ===================================================== */

.blog-page .navbar-logo {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
}

/* El footer actual contiene cuatro grupos de navegación. */
.footer-grid {
  grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(145px, .8fr));
  gap: clamp(30px, 3.5vw, 56px);
  align-items: start;
}

.footer-brand p { max-width: 330px; }

.blog-hero {
  position: relative;
  min-height: 590px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 145px 24px 74px;
  background:
    radial-gradient(circle at 76% 32%, rgba(255,255,255,.095), transparent 33%),
    linear-gradient(120deg, #050505 0%, #121212 56%, #050505 100%);
}

.blog-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 84px 100%;
  mask-image: linear-gradient(90deg, #000, transparent 80%);
}

.blog-data-grid {
  position: absolute;
  inset: 0;
  opacity: .5;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 84px 84px;
  mask-image: linear-gradient(to bottom, #000, transparent 90%);
}

.blog-hero-content {
  position: relative;
  z-index: 1;
  width: min(1080px, 100%);
  text-align: center;
}

.blog-hero h1 {
  max-width: 900px;
  margin: 13px auto 0;
  font-size: clamp(3rem, 6vw, 5.7rem);
}

.blog-hero p {
  font-size: 1.02rem;
}

.insights-status {
  width: min(780px, 100%);
  margin: 30px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.36);
  backdrop-filter: blur(10px);
}

.insights-status > span {
  min-height: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-right: 1px solid rgba(255,255,255,.14);
  color: #aaa;
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.insights-status > span:last-child { border-right: 0; }
.insights-status b,
.insights-status strong { color: #fff; }
.insights-status i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  animation: blink 1.6s infinite;
}

.insights-section {
  padding-top: 80px;
  background: #fff;
}

.insights-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: end;
  margin-bottom: 38px;
}

.insights-heading h2 {
  max-width: 720px;
  margin-top: 10px;
  font-size: clamp(2rem, 4vw, 3.65rem);
}

.insights-heading > p {
  padding-bottom: 7px;
  color: #777;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.blog-image-wrap {
  position: relative;
  overflow: hidden;
}

.article-index {
  position: absolute;
  top: 13px;
  right: 13px;
  display: grid;
  place-items: center;
  width: 37px;
  height: 37px;
  border: 1px solid rgba(255,255,255,.45);
  background: rgba(0,0,0,.62);
  color: #fff;
  font-size: .66rem;
  letter-spacing: .1em;
  backdrop-filter: blur(8px);
}

.blog-card {
  transition: transform .3s cubic-bezier(.22,1,.36,1), border-color .3s ease, box-shadow .3s ease;
}

.blog-card:hover {
  transform: translateY(-6px);
  border-color: #999;
  box-shadow: 0 20px 55px rgba(0,0,0,.11);
}

.blog-card img {
  transition: transform .65s cubic-bezier(.22,1,.36,1), filter .35s ease;
}

.blog-card:hover img {
  transform: scale(1.035);
  filter: grayscale(1) contrast(1.07);
}

.blog-card-featured {
  grid-column: span 2;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, .82fr);
}

.blog-card-featured .blog-image-wrap,
.blog-card-featured img {
  width: 100%;
  height: 100%;
  min-height: 330px;
}

.blog-card-featured .blog-content {
  justify-content: center;
  padding: clamp(30px, 4vw, 52px);
}

.blog-card-featured h2 {
  font-size: clamp(1.8rem, 3vw, 2.85rem);
}

.blog-grid.is-filtered {
  grid-template-columns: minmax(0, 760px);
  justify-content: center;
}

.blog-grid.is-filtered .blog-card {
  grid-column: auto;
}

.blog-grid.is-filtered .blog-card-featured {
  grid-template-columns: minmax(0, 1.05fr) minmax(270px, .95fr);
}

.blog-card .btn-primary i {
  margin-left: 8px;
  transition: transform .2s ease;
}

.blog-card .btn-primary:hover i { transform: translateX(4px); }

.insights-cta {
  padding: 64px 0;
  background: #080808;
  color: #fff;
  border-bottom: 1px solid #252525;
}

.insights-cta-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 50px;
  align-items: center;
}

.insights-cta h2 {
  max-width: 750px;
  margin-top: 9px;
  font-size: clamp(2rem, 4vw, 3.45rem);
}

.insights-cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 900px) {
  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-brand { grid-column: 1 / -1; }

  .blog-card-featured {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .blog-grid.is-filtered {
    grid-template-columns: minmax(0, 620px);
  }

  .blog-grid.is-filtered .blog-card-featured {
    grid-template-columns: 1fr;
  }

  .blog-card-featured .blog-image-wrap,
  .blog-card-featured img {
    height: 260px;
    min-height: 0;
  }

  .insights-cta-layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 640px) {
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }

  .blog-hero {
    min-height: 560px;
    padding: 126px 18px 48px;
  }

  .blog-hero h1 {
    font-size: clamp(2.55rem, 13vw, 4rem);
  }

  .blog-hero p { font-size: .93rem; }

  .insights-status {
    grid-template-columns: 1fr;
    margin-top: 23px;
  }

  .insights-status > span {
    min-height: 39px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
  }

  .insights-status > span:last-child { border-bottom: 0; }

  .blog-categories {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    margin-inline: -4px;
    padding: 0 4px 8px;
    scrollbar-width: thin;
  }

  .blog-categories button { flex: 0 0 auto; }

  .insights-section { padding-top: 54px; }

  .insights-heading {
    grid-template-columns: 1fr;
    gap: 13px;
    margin-bottom: 28px;
  }

  .insights-heading h2 { font-size: 2.25rem; }

  .blog-card-featured .blog-image-wrap,
  .blog-card-featured img { height: 205px; }

  .blog-card-featured .blog-content { padding: 25px; }

  .insights-cta { padding: 48px 0; }
  .insights-cta-actions { flex-direction: column; }

  .testimonial-system-state {
    top: 12px;
    right: 14px;
    font-size: .56rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .number-updating,
  .system-flash,
  .blog-card.filter-enter {
    animation: none !important;
  }
}

/* =====================================================
   REFINAMIENTO DE DENSIDAD Y MOVIMIENTO · V6
   ===================================================== */

.section{padding:clamp(54px,6vh,68px) 0}
.section-title{margin-bottom:clamp(23px,3vh,32px)}
.section-title h2,.section-copy h2{font-size:clamp(2rem,3.25vw,3.25rem);margin:8px 0 13px}
.section-title p,.section-copy p{font-size:.94rem;line-height:1.48}

/* Entrada editorial del hero. */
.hero .hero-layout{transform:translateY(-18px)}
.hero-logo-link{transform-origin:50% 50%;animation:heroLogoReveal .9s cubic-bezier(.16,1,.3,1) .08s both}
.hero-logo{animation:heroLogoFocus 1.15s cubic-bezier(.16,1,.3,1) .08s both}
.hero-tagline{animation:heroCopyReveal .62s cubic-bezier(.22,1,.36,1) .42s both}
.hero-buttons>a{animation:heroButtonReveal .58s cubic-bezier(.22,1,.36,1) both}
.hero-buttons>a:first-child{animation-delay:.56s}
.hero-buttons>a:nth-child(2){animation-delay:.67s}
.hero-buttons>a:hover{box-shadow:0 12px 34px rgba(0,0,0,.24)}
.hero-proof>span{animation:heroBenefitReveal .5s cubic-bezier(.22,1,.36,1) both}
.hero-proof>span:nth-child(1){animation-delay:.78s}
.hero-proof>span:nth-child(2){animation-delay:.87s}
.hero-proof>span:nth-child(3){animation-delay:.96s}
.hero .market-card{transform:translateY(-10px)}
.hero .scroll-cue{bottom:10px;min-width:230px;padding:8px 15px 0;color:#eee;font-size:.78rem;font-weight:700;letter-spacing:.22em;text-shadow:0 2px 18px rgba(0,0,0,.85);animation:scrollCueReveal .6s ease 1.1s both}
.hero .scroll-cue i{position:relative;width:1px;height:52px;margin-top:9px;background:linear-gradient(to bottom,#fff,rgba(255,255,255,.24))}
.hero .scroll-cue i::after{content:"";position:absolute;left:50%;bottom:1px;width:8px;height:8px;border-right:1px solid #fff;border-bottom:1px solid #fff;transform:translateX(-50%) rotate(45deg)}

@keyframes heroLogoReveal{from{opacity:0;transform:translateY(22px) scale(.94)}to{opacity:1;transform:none}}
@keyframes heroLogoFocus{0%{filter:brightness(0) invert(1) blur(5px)}65%{filter:brightness(0) invert(1) drop-shadow(0 0 14px rgba(255,255,255,.22))}100%{filter:brightness(0) invert(1)}}
@keyframes heroCopyReveal{from{opacity:0;transform:translateY(12px);letter-spacing:.28em}to{opacity:1;transform:none}}
@keyframes heroButtonReveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes heroBenefitReveal{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
@keyframes scrollCueReveal{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}

/* El navbar repite el estado del hero al alcanzar el footer. */
.navbar.footer-mode .navbar-logo,.navbar.footer-mode .logo,body.blog-page .navbar.footer-mode .navbar-logo{width:0;max-width:0;flex-basis:0;margin:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none}
@media (min-width:1201px){
  .navbar.footer-mode .navbar-logo,.navbar.footer-mode .logo,body.blog-page .navbar.footer-mode .navbar-logo{width:0;max-width:0;flex-basis:0;transform:translateX(-24px) scale(.94)}
  .navbar.footer-mode .nav-shell nav{transform:translateX(-20px)}
  .navbar.footer-mode .nav-links{gap:clamp(22px,2vw,34px)}
  .navbar.footer-mode .nav-links a{font-size:.92rem;letter-spacing:.018em}
}
@media (min-width:981px) and (max-width:1200px){
  .navbar.footer-mode .nav-shell nav{transform:translateX(-10px)}
  .navbar.footer-mode .nav-links a{font-size:.8rem}
}

/* FAQ inmediata, sin destello de carga. */
.faq-container{gap:9px 16px}.faq-column{gap:9px}
.faq-item{transition:background-color .2s ease,border-color .2s ease}
.faq-item button{padding:15px 17px}
.faq-answer{transition:grid-template-rows .2s ease}
.faq-item.faq-open{background:#111;border-color:#111}
.faq-item.faq-open button{color:#fff;font-weight:800}
.faq-item.faq-open .faq-answer p{padding:0 17px 16px;color:#c8c8c8}

/* Simulador compacto. */
.simulator-section{padding:48px 0}
.simulator-section .section-title{margin-bottom:18px}
.simulator-section .section-title h2{font-size:clamp(1.95rem,3vw,2.9rem)}
.simulator-shell{grid-template-columns:minmax(390px,.82fr) minmax(0,1.18fr);gap:16px}
.simulator-panel,.simulator-output{padding:17px}
.sim-progress{margin-bottom:13px;padding-bottom:9px;font-size:.6rem}
.choice-group{margin-bottom:12px}
.choice-group legend{margin-bottom:7px;font:600 .92rem "Playfair Display",serif}
.choice-cards{gap:6px}
.choice-cards label>span{min-height:72px;justify-content:center;padding:8px}
.choice-cards i{margin-bottom:2px;font-size:.95rem}.choice-cards strong{font-size:.67rem}.choice-cards small{display:none}
.mode-switch{gap:6px}.mode-switch label>span{min-height:40px;padding:6px 8px;font-size:.68rem}
.form-grid{gap:9px}.field{gap:3px}.field label{font-size:.68rem}.field small{font-size:.59rem;line-height:1.25}
.field input,.field select,.field textarea{min-height:38px;padding:7px 9px}
.field input.sim-invalid,.field select.sim-invalid{border-color:#fff;box-shadow:0 0 0 1px #fff}
.sim-actions{margin-top:13px}.sim-actions button{min-height:39px;padding:8px 11px}
.form-error{min-height:16px;margin-top:6px;font-size:.69rem}
.simulation-system-line{margin-bottom:8px}.result-intro{margin-bottom:11px}.result-intro h3{margin-top:3px;font-size:1.45rem}
.profile-results{gap:8px}.profile-result{padding:12px}.result-head{min-height:38px}.result-head span{font-size:.74rem}.result-head small{font-size:.55rem}
.main-result{margin-top:8px;font-size:clamp(1.35rem,2.2vw,1.9rem)}.result-facts{gap:5px;margin:10px 0}.result-facts span{font-size:.56rem}.result-facts b{font-size:.69rem}
.chart-wrap{height:128px}.sim-note{margin:10px 0;font-size:.59rem;line-height:1.35}.result-cta{padding:9px;font-size:.75rem}

/* Componentes largos más densos. */
.pillar{min-height:235px;padding:23px 21px}.pillar>i{margin:22px 0 13px}.security-band{padding:17px 21px}
.journey{margin-bottom:17px}.journey-detail{padding:19px 23px}
.profile-card{min-height:375px;padding:32px}.profile-card h3{margin:18px 0 12px}.profile-card ul{margin:20px 0 18px}.profile-card li{padding:8px 0}
.credential-banner{padding:15px 20px}.credential-mark{height:66px}.testimonial{min-height:315px}.testimonial-copy{padding:31px}
.contact-layout{gap:48px}.contact-copy h2{font-size:clamp(2rem,3.5vw,3.35rem);margin:10px 0 16px}.contact-points{margin-top:19px;gap:9px}
.contact-card{padding:22px}.contact-form textarea{min-height:82px}.contact-form .btn-primary{margin-top:12px}

/* Footer centrado y entrada escalonada. */
footer{padding:38px 0 20px}.footer-brand{text-align:center}.footer-brand>a{display:block;width:fit-content;margin-inline:auto}
.footer-brand img,.footer-logo{margin:0 auto 13px}.footer-brand p{margin-inline:auto}
.copyright{margin-top:15px;text-align:center;color:#aaa!important;font-size:.9rem!important;font-weight:600;letter-spacing:.025em}
.copyright{opacity:1!important;visibility:visible!important;transform:none!important;animation:copyrightReveal .55s ease .2s both}
@keyframes copyrightReveal{from{filter:blur(3px);letter-spacing:.08em}to{filter:none;letter-spacing:.025em}}
body.hero-ready .footer-motion{opacity:0;transform:translateY(15px)}
body.hero-ready .footer-motion.footer-motion-visible{opacity:1;transform:none;transition:opacity .5s ease var(--footer-delay,0ms),transform .5s cubic-bezier(.22,1,.36,1) var(--footer-delay,0ms)}

@media (max-width:980px){.simulator-shell{grid-template-columns:1fr}}

@media (max-width:900px){
  .section{padding:46px 0}
  .menu-toggle{margin-left:auto;flex:0 0 auto}
  .navbar:not(.show-logo) .navbar-logo,.navbar.footer-mode .navbar-logo,.navbar.footer-mode .logo,body.blog-page .navbar.footer-mode .navbar-logo{width:0;max-width:0;flex-basis:0;margin:0;overflow:hidden}
  .navbar:not(.show-logo) .nav-shell,.navbar.footer-mode .nav-shell{justify-content:flex-end}
  .hero .hero-layout{transform:translateY(-8px)}.hero .market-card{transform:none}
  .intelligence-section{padding:38px 0}.simulator-section{padding:40px 0}.simulator-section .section-title{margin-bottom:16px}
}

@media (max-width:640px){
  .section{padding:38px 0}.section-title{margin-bottom:20px}
  .section-title h2,.section-copy h2{font-size:clamp(1.78rem,8vw,2.28rem)}
  .hero .hero-content{min-height:calc(100svh - 70px);padding-top:8px}
  .hero .hero-layout{padding-bottom:92px}.hero .market-card{margin-bottom:38px}
  .hero .scroll-cue{display:block;bottom:6px;font-size:.7rem}.hero .scroll-cue i{height:42px}
  .sim-progress{display:none}.choice-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .choice-cards label>span{min-height:68px;padding:6px 4px}.choice-cards strong{font-size:.61rem;line-height:1.2}
  .mode-switch{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-date{grid-column:1/-1}
  .simulator-panel,.simulator-output{padding:13px}.profile-results{grid-template-columns:repeat(2,minmax(0,1fr))}.result-facts{grid-template-columns:1fr}
  .chart-wrap{height:116px}.result-intro{flex-direction:row;align-items:end}.result-intro h3{font-size:1.25rem}.result-horizon{text-align:right}
  .testimonial{min-height:390px}.testimonial-photo{min-height:115px}.testimonial-copy{padding:20px}
  .contact-card{padding:17px}.contact-form textarea{min-height:70px}
  footer{padding-top:32px}.footer-grid{gap:24px}.footer-column{text-align:center}.socials{justify-content:center}
}

@media (max-width:380px){.profile-results{grid-template-columns:1fr}.chart-wrap{height:120px}}

@media (prefers-reduced-motion:reduce){
  .hero-logo-link,.hero-logo,.hero-tagline,.hero-buttons>a,.hero-proof>span,.hero .scroll-cue{animation:none!important}
  body.hero-ready .footer-motion{opacity:1;transform:none}
}

/* =====================================================
   TRES PERFILES, CAPITAL REAL Y ALIANZAS · V7
   ===================================================== */

.management-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 15px;border:1px solid #d3d3d0}
.management-stats>div{min-width:0;padding:12px 10px;border-right:1px solid #d3d3d0}
.management-stats>div:last-child{border-right:0}
.management-stats strong{display:block;color:#111;font:600 clamp(1rem,1.7vw,1.35rem)/1.1 "Playfair Display",serif;font-variant-numeric:tabular-nums}
.management-stats span{display:block;margin-top:4px;color:#777;font-size:.57rem;font-weight:700;line-height:1.25;letter-spacing:.08em;text-transform:uppercase}

.aum-allocation{margin:0 0 12px;padding:10px 12px;border:1px solid #282828;background:#0b0b0b}
.allocation-head,.allocation-row{display:grid;grid-template-columns:84px 1fr 72px;gap:8px;align-items:center}
.allocation-head{grid-template-columns:1fr auto;margin-bottom:8px;color:#777;font-size:.57rem;letter-spacing:.08em;text-transform:uppercase}
.allocation-head strong{color:#ddd;font-size:.58rem}
.allocation-row{min-height:22px;color:#999;font-size:.6rem}
.allocation-row>i{height:3px;background:#282828;overflow:hidden}
.allocation-row>i>b{display:block;height:100%;background:linear-gradient(90deg,#555,#fff);transition:width .48s cubic-bezier(.22,1,.36,1)}
.allocation-row>strong{text-align:right;color:#ddd;font-size:.62rem;font-variant-numeric:tabular-nums}

.profiles-grid-three{max-width:1200px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.profiles-grid-three .profile-card{min-height:405px;padding:28px 24px}
.profiles-grid-three .profile-card h3{font-size:clamp(1.8rem,2.7vw,2.65rem)}
.profiles-grid-three .profile-index{right:18px;top:17px;font-size:3.5rem}
.profile-moderate{background:#deddd9;border-color:#bdbcb8}
.profile-moderate .profile-index{color:#c5c4c0}
.profiles-grid-three .profile-card>p{font-size:.86rem;line-height:1.48}
.profiles-grid-three .profile-card ul{margin-top:18px}
.profiles-grid-three .profile-card li{font-size:.76rem;line-height:1.35}
.profile-note-strong{max-width:970px;line-height:1.5}

.profile-results-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.profile-results-three .profile-result{padding:10px}
.profile-results-three .result-head small{display:block;line-height:1.25}
.profile-results-three .main-result{font-size:clamp(1.18rem,1.75vw,1.62rem)}
.profile-results-three .chart-wrap{height:112px}

.testimonial-photo{overflow:hidden;background:#171717}
.testimonial-photo img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.04);transition:transform .7s cubic-bezier(.22,1,.36,1),filter .35s ease}
.testimonial.active .testimonial-photo img{animation:testimonialPortraitIn .7s cubic-bezier(.22,1,.36,1) both}
.testimonial:hover .testimonial-photo img{transform:scale(1.025);filter:grayscale(.82) contrast(1.04)}
.slider-dots{max-width:180px;flex-wrap:wrap;justify-content:center;row-gap:5px}
.testimonial-disclaimer{max-width:780px;margin:15px auto 0;color:#777;text-align:center;font-size:.66rem}
@keyframes testimonialPortraitIn{from{opacity:.45;transform:scale(1.045)}to{opacity:1;transform:none}}

.partners-heading{max-width:760px;margin:0 auto 26px;text-align:center}
.partners-heading h2{font-size:clamp(2rem,3.5vw,3.25rem);margin:8px 0 12px}
.partners-heading p{color:#666;font-size:.92rem}
.partners-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.partners-grid .partner-card{position:relative;min-height:155px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;color:#111;text-decoration:none;transition:background .25s ease,color .25s ease,transform .25s ease,border-color .25s ease}
.partners-grid .partner-card:hover{background:#0b0b0b;color:#fff;border-color:#0b0b0b;transform:translateY(-4px)}
.partners-grid .partner-card img{width:min(220px,80%);height:62px;object-fit:contain;filter:grayscale(1);transition:filter .25s ease,transform .25s ease}
.partners-grid .partner-card:hover img{filter:grayscale(1) invert(1);transform:scale(1.03)}
.partners-grid .partner-card span{font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.partners-grid .partner-card span i{margin-left:6px}
.partners-disclaimer{margin:14px auto 0;color:#888;text-align:center;font-size:.64rem}

.footer-contact-list li{display:flex;align-items:flex-start;gap:8px}
.footer-contact-list li>i{width:15px;margin-top:4px;color:#ddd;text-align:center}
.footer-contact-list li>span,.footer-contact-list small{color:#8f8f8f;font-size:.75rem;line-height:1.35}
.instagram-feature{display:grid!important;grid-template-columns:35px 1fr auto;align-items:center;gap:10px;margin-top:14px;padding:10px;border:1px solid #292929;text-decoration:none;transition:border-color .2s ease,background .2s ease}
.instagram-feature:hover{border-color:#777;background:#0d0d0d}
.instagram-feature>i:first-child{font-size:1.35rem;color:#fff}
.instagram-feature>i:last-child{font-size:.65rem}
.instagram-feature span{display:grid;gap:1px}
.instagram-feature strong{color:#eee;font-size:.68rem}
.instagram-feature small{color:#777;font-size:.58rem;line-height:1.25}
.footer-service-badge{display:flex;gap:8px;margin-top:10px;color:#777;font-size:.65rem;line-height:1.4}
.footer-service-badge i{margin-top:3px;color:#aaa}

@media (max-width:1000px){
  .profiles-grid-three{grid-template-columns:1fr}
  .profiles-grid-three .profile-card{min-height:auto}
  .partners-grid{grid-template-columns:repeat(3,minmax(190px,1fr));overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
  .partners-grid .partner-card{scroll-snap-align:start}
}

@media (max-width:640px){
  .management-stats{margin:14px 0 10px}
  .management-stats>div{padding:9px 6px}
  .management-stats strong{font-size:.95rem}
  .management-stats span{font-size:.5rem;letter-spacing:.045em}
  .aum-allocation{padding:8px 9px}
  .allocation-head,.allocation-row{grid-template-columns:70px 1fr 62px;gap:6px}
  .allocation-head{grid-template-columns:1fr auto}
  .profile-results-three{display:grid;grid-template-columns:repeat(3,minmax(205px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:7px}
  .profile-results-three .profile-result{scroll-snap-align:start}
  .profile-results-three .chart-wrap{height:108px}
  .future-field{grid-column:1/-1}
  .testimonial-photo{min-height:160px}
  .testimonial-photo img{height:190px;object-position:center 27%}
  .testimonial-disclaimer{font-size:.6rem}
  .partners-heading{margin-bottom:20px;text-align:left}
  .partners-grid{margin-inline:-1px}
  .partners-grid .partner-card{min-height:130px;padding:18px}
  .partners-grid .partner-card img{height:52px}
}

@media (prefers-reduced-motion:reduce){
  .testimonial.active .testimonial-photo img{animation:none}
}

/* =====================================================
   ENTRADA GUIADA, SIMULADOR Y MARCA · V8
   ===================================================== */

body.hero-gated{
  position:fixed;
  inset:0;
  width:100%;
  height:100svh;
  overflow:hidden;
  overscroll-behavior:none
}
body.hero-gated .hero{
  height:100svh;
  max-height:100svh;
  overflow-y:auto;
  overscroll-behavior:contain
}
body.hero-gated .hero .scroll-cue{
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* El SVG es transparente y sus trazos originales son oscuros. */
.navbar-logo img,
.footer-logo,
.logo img{
  filter:brightness(0) invert(1)!important;
  background:transparent!important
}

.simulator-form-heading{
  display:grid;
  gap:3px;
  margin-bottom:15px;
  padding-bottom:11px;
  border-bottom:1px solid #2b2b2b
}
.simulator-form-heading span{
  color:#777;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase
}
.simulator-form-heading strong{
  color:#eee;
  font:600 1.15rem/1.2 "Playfair Display",serif
}
.recurring-setting{
  transition:opacity .2s ease
}
.recurring-setting.is-disabled{
  opacity:.38
}
.recurring-setting.is-disabled select{
  cursor:not-allowed
}
.inflation-control{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  align-items:end;
  gap:10px;
  padding:10px;
  border:1px solid #292929;
  background:#0b0b0b
}
.check-field{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:9px!important;
  min-height:38px
}
.check-field input{
  width:17px;
  min-height:17px;
  accent-color:#fff
}
.inflation-value{
  position:relative;
  display:grid;
  grid-template-columns:1fr 29px;
  gap:5px;
  align-items:end
}
.inflation-value label{grid-column:1/-1}
.inflation-value input:disabled{opacity:.42;cursor:not-allowed}
.tooltip-trigger{
  width:29px;
  height:38px;
  border:1px solid #444;
  background:#111;
  color:#fff;
  font-weight:800
}
#inflationHelp{
  position:absolute;
  z-index:8;
  right:8px;
  bottom:calc(100% - 4px);
  width:min(330px,calc(100% - 16px));
  padding:10px 12px;
  border:1px solid #555;
  background:#f4f3ef;
  color:#222;
  box-shadow:0 14px 35px rgba(0,0,0,.28);
  opacity:0;
  visibility:hidden;
  transform:translateY(5px);
  transition:.18s;
  pointer-events:none
}
.inflation-control:focus-within #inflationHelp,
.inflation-control:hover #inflationHelp{
  opacity:1;
  visibility:visible;
  transform:none
}
.simulation-benchmark{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:-2px 0 10px;
  padding:8px 10px;
  border:1px solid #303030;
  color:#888;
  font-size:.62rem
}
.simulation-benchmark[hidden]{display:none}
.simulation-benchmark strong{color:#fff;font-size:.8rem}
.profile-result{
  transition:opacity .24s ease,border-color .24s ease,transform .24s ease
}
.profile-result.is-profile-focus{
  border-color:#fff;
  transform:translateY(-2px)
}
.profile-result.is-profile-muted{
  opacity:.46
}

/* Los partners conservan sus colores oficiales. */
.partners-grid .partner-card img,
.partners-grid .partner-card:hover img{
  filter:none!important
}
.partners-grid .partner-card:hover{
  background:#f1f0ec;
  color:#111;
  border-color:#777
}

.footer-contact-list a{overflow-wrap:anywhere}
.article-footer-contact{
  margin-top:12px;
  color:#aaa;
  font-size:.76rem;
  line-height:1.65
}
.article-footer-contact a{color:#ddd;text-decoration:none}
.article-footer-contact a:hover{color:#fff}

@media (max-width:640px){
  .inflation-control{
    grid-template-columns:1fr
  }
  .inflation-value{
    grid-template-columns:1fr 34px
  }
  #inflationHelp{
    right:6px;
    width:calc(100% - 12px)
  }
  .profile-result.is-profile-muted{opacity:.7}
}

/* =====================================================
   DENSIDAD DE SECCIONES Y SIMULADOR POR MESES · V9
   ===================================================== */

/* Intelligence mantiene protagonismo, pero entra completa en una vista amplia. */
.intelligence-section{padding:34px 0}
.intelligence-layout{gap:34px}
.intelligence-layout .section-copy h2{font-size:clamp(2rem,3.35vw,3.25rem);margin:7px 0 11px}
.intelligence-layout .section-copy>p{font-size:.88rem;line-height:1.43}
.management-stats{margin:12px 0 10px}
.management-stats>div{padding:9px 8px}
.scenario-tabs{margin:12px 0 9px}
.scenario-tabs button{padding:7px 13px;font-size:.72rem}
.intelligence-layout .microcopy{font-size:.75rem!important;line-height:1.4}
.intelligence-layout .terminal{padding:16px}
.intelligence-layout .terminal-metrics{margin:12px 0}
.intelligence-layout .terminal-metrics div{padding:11px}
.intelligence-layout .terminal-metrics strong{font-size:1.3rem}
.intelligence-layout .aum-allocation{margin-bottom:8px;padding:8px 10px}
.intelligence-layout .terminal-chart{height:165px}
.intelligence-layout .terminal-foot{margin-top:9px}

/* Los cuatro pilares y los perfiles reducen aire, no contenido. */
#seguridad,#perfiles,#testimonios{padding:36px 0}
#seguridad .section-title,#perfiles .section-title,#testimonios .section-title{margin-bottom:22px}
#seguridad .section-title h2,#perfiles .section-title h2,#testimonios .section-title h2{
  font-size:clamp(1.9rem,3vw,2.85rem);
  margin:7px 0 10px
}
#seguridad .section-title p,#perfiles .section-title p,#testimonios .section-title p{
  font-size:.85rem;
  line-height:1.42
}
#seguridad .pillar{min-height:190px;padding:17px 17px}
#seguridad .pillar>i{margin:13px 0 9px;font-size:1.55rem}
#seguridad .pillar h3{font-size:1.15rem;margin-bottom:8px}
#seguridad .pillar p{font-size:.74rem;line-height:1.4}
#seguridad .security-band{gap:18px;padding:12px 17px}
#seguridad .security-band span,#seguridad .security-band a{font-size:.75rem}

.profiles-grid-three .profile-card{min-height:315px;padding:20px 19px}
.profiles-grid-three .profile-index{right:14px;top:13px;font-size:2.7rem}
.profiles-grid-three .profile-card h3{font-size:clamp(1.65rem,2.35vw,2.2rem);margin:14px 0 8px}
.profiles-grid-three .profile-card>p{font-size:.75rem;line-height:1.4}
.profiles-grid-three .profile-card ul{margin:13px 0 12px}
.profiles-grid-three .profile-card li{padding:5px 0;font-size:.69rem;line-height:1.3}
.profiles-grid-three .text-link{font-size:.72rem}
.profile-note-strong{margin-top:14px;font-size:.67rem;line-height:1.38}

.testimonial-slider{max-width:980px;padding-inline:53px}
.testimonial{grid-template-columns:235px 1fr;min-height:245px}
.testimonial-copy{padding:22px 28px}
.testimonial-copy>i{font-size:1.45rem}
.testimonial-copy blockquote{font-size:clamp(1.25rem,2.15vw,1.85rem);margin:10px 0 16px;line-height:1.22}
.slider-dots{bottom:10px}
.testimonial-disclaimer{margin-top:10px}

/* Simulador: controles y resultados más densos para acercar el CTA al primer plano. */
.simulator-section{padding:29px 0}
.simulator-section .section-title{margin-bottom:11px}
.simulator-section .section-title h2{font-size:clamp(1.65rem,2.5vw,2.3rem);margin:4px 0 6px}
.simulator-section .section-title p{font-size:.76rem}
.simulator-shell{grid-template-columns:minmax(350px,.76fr) minmax(0,1.24fr);gap:11px}
.simulator-panel,.simulator-output{padding:12px}
.simulator-form-heading{margin-bottom:8px;padding-bottom:7px}
.simulator-form-heading strong{font-size:.96rem}
.form-grid{gap:6px 8px}
.field{gap:2px}
.field label{font-size:.61rem}
.field small{font-size:.52rem;line-height:1.18}
.field input,.field select,.field textarea{min-height:32px;padding:5px 7px;font-size:.72rem}
.inflation-control{grid-template-columns:minmax(0,1fr) 128px;gap:7px;padding:6px 7px}
.check-field{min-height:32px}
.tooltip-trigger{height:32px}
.sim-actions{margin-top:7px}
.sim-actions button{min-height:34px;padding:6px 8px;font-size:.67rem}
.form-error{min-height:13px;margin-top:4px;font-size:.62rem}
.simulation-system-line{margin-bottom:5px;font-size:.54rem}
.result-intro{margin-bottom:7px}
.result-intro h3{font-size:1.2rem}
.profile-results{gap:6px}
.profile-results-three .profile-result{padding:8px}
.result-head{min-height:31px}
.result-head span{font-size:.67rem}
.result-head small{font-size:.49rem}
.profile-results-three .main-result{margin-top:5px;font-size:clamp(1rem,1.5vw,1.35rem)}
.main-result-label{font-size:.54rem}
.result-facts{margin:6px 0;gap:4px}
.result-facts span{font-size:.49rem}
.result-facts b{font-size:.61rem}
.profile-results-three .chart-wrap{height:78px}
.sim-note{margin:6px 0;font-size:.5rem;line-height:1.28}
.result-cta{padding:7px;font-size:.66rem}

@media (max-width:1000px){
  .simulator-shell{grid-template-columns:1fr}
  .profiles-grid-three .profile-card{min-height:auto}
}

@media (max-width:640px){
  .intelligence-section{padding:28px 0}
  .intelligence-layout{gap:15px}
  .intelligence-layout .section-copy h2{font-size:clamp(1.65rem,7.4vw,2.08rem)}
  .intelligence-layout .section-copy>p{font-size:.79rem}
  .intelligence-layout .terminal{padding:11px}
  .intelligence-layout .terminal-chart{height:135px}
  .intelligence-layout .terminal-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .intelligence-layout .terminal-metrics div{padding:8px 6px}
  .intelligence-layout .terminal-metrics strong{font-size:.95rem}

  #seguridad,#perfiles,#testimonios{padding:30px 0}
  #seguridad .section-title,#perfiles .section-title,#testimonios .section-title{margin-bottom:16px}
  #seguridad .pillar{min-height:auto;padding:14px 16px}
  #seguridad .pillar>i{display:inline-block;margin:8px 10px 7px 0;font-size:1.25rem}
  #seguridad .pillar h3{display:inline;font-size:1.05rem}
  #seguridad .pillar p{margin-top:5px;font-size:.72rem}
  #seguridad .security-band{gap:8px;padding:11px 14px}

  .profiles-grid-three{gap:7px}
  .profiles-grid-three .profile-card{padding:17px 18px}
  .profiles-grid-three .profile-card h3{margin:10px 0 6px}
  .profiles-grid-three .profile-card ul{margin:10px 0}
  .profile-note-strong{margin-top:10px}

  .testimonial-slider{padding-inline:38px}
  .testimonial{grid-template-columns:1fr;min-height:310px}
  .testimonial-photo{min-height:0}
  .testimonial-photo img{height:120px;object-position:center 28%}
  .testimonial-copy{padding:15px 17px 30px}
  .testimonial-copy blockquote{font-size:1.13rem;margin:7px 0 11px}

  .simulator-section{padding:25px 0}
  .simulator-section .section-title{margin-bottom:9px}
  .simulator-section .section-title h2{font-size:1.62rem}
  .simulator-section .section-title p{font-size:.7rem;line-height:1.35}
  .simulator-panel,.simulator-output{padding:10px}
  .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 6px}
  .field-horizon{grid-column:auto}
  .field label{font-size:.57rem}
  .field small{font-size:.48rem}
  .field input,.field select{min-height:31px;font-size:.67rem}
  .inflation-control{grid-template-columns:1fr;grid-column:1/-1}
  .profile-results-three .chart-wrap{height:74px}
  /*.profile-results-three{grid-template-columns:repeat(3,minmax(185px,1fr))}*/
  .result-cta{font-size:.63rem}
}

@media (max-width:380px){
  .form-grid{grid-template-columns:1fr}
  .field.full,.field-horizon,.inflation-control{grid-column:auto}
}

/* =====================================================
   QUANTUM COMPOSITE
   ===================================================== */

.composite-card {
  position: relative;
}

.composite-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  margin: 22px 0 15px;
}

.composite-performance small,
.composite-month small,
.composite-capital small {
  display: block;
  margin-bottom: 4px;
  color: #929292;
  font-size: .6rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.composite-number-row {
  display: flex;
  align-items: center;
  gap: 9px;
}

.composite-performance strong {
  display: block;
  color: #fff;
  font: 500 3.15rem/1 "Playfair Display", Georgia, serif;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.composite-performance > span,
.composite-month > span {
  display: block;
  margin-top: 6px;
  color: #777;
  font-size: .5rem;
  font-weight: 700;
  letter-spacing: .11em;
}

.composite-month {
  min-width: 90px;
  padding-left: 15px;
  border-left: 1px solid rgba(255,255,255,.16);
  text-align: right;
}

.composite-month strong {
  display: block;
  color: #fff;
  font-size: 1.05rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.composite-tooltip-button {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 23px;
  height: 23px;
  border: 1px solid #555;
  border-radius: 50%;
  background: transparent;
  color: #bbb;
  font-size: .65rem;
  font-weight: 800;
  transition:
    background .2s ease,
    color .2s ease,
    border-color .2s ease;
}

.composite-tooltip-button:hover,
.composite-tooltip-button:focus-visible,
.composite-tooltip-button[aria-expanded="true"] {
  border-color: #fff;
  background: #fff;
  color: #050505;
}

.composite-tooltip {
  position: absolute;
  z-index: 20;
  top: 93px;
  left: 20px;
  right: 20px;
  padding: 12px 14px;
  border: 1px solid #777;
  background: #f3f2ef;
  color: #151515;
  box-shadow: 0 16px 42px rgba(0,0,0,.38);
  font-size: .67rem;
  line-height: 1.5;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition:
    opacity .18s ease,
    visibility .18s ease,
    transform .18s ease;
  pointer-events: none;
}

.composite-tooltip.is-open {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
}

.composite-bars {
  height: 70px;
}

.composite-signal {
  margin: 13px 0;
}

.composite-signal .signal-line {
  overflow: visible;
}

.composite-signal .signal-line i {
  left: var(--signal-position, 50%);
  width: 24%;
  transform: translateX(-50%);
  animation:
    compositeIndicatorDrift
    5.5s
    ease-in-out
    infinite;
  transition: left .8s cubic-bezier(.22,1,.36,1);
}

@keyframes compositeIndicatorDrift {
  0%,
  100% {
    transform: translateX(-58%) scaleX(.92);
    opacity: .78;
  }

  50% {
    transform: translateX(-42%) scaleX(1.08);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .composite-signal .signal-line i {
    animation: none;
    transform: translateX(-50%);
  }
}

.composite-capital {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 13px;
  padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,.15);
  border-bottom: 1px solid rgba(255,255,255,.15);
}

.composite-capital > div:last-child {
  text-align: right;
}

.composite-capital strong {
  display: block;
  color: #e3e3e3;
  font-size: .72rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.composite-update {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  color: #777;
  font-size: .54rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.composite-update strong {
  color: #aaa;
  font-size: inherit;
  white-space: nowrap;
}

.market-card .composite-disclaimer {
  margin-top: 9px;
  color: #686868;
  font-size: .55rem;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .composite-main {
    margin-top: 16px;
  }

  .composite-performance strong {
    font-size: 2.65rem;
  }

  .composite-bars {
    height: 58px;
  }
}

@media (max-width: 420px) {
  .composite-card {
    padding: 14px !important;
  }

  .composite-main {
    gap: 12px;
    margin: 14px 0 10px;
  }

  .composite-performance strong {
    font-size: 2.25rem;
  }

  .composite-month {
    min-width: 76px;
    padding-left: 10px;
  }

  .composite-month strong {
    font-size: .88rem;
  }

  .composite-bars {
    height: 48px;
  }

  .composite-capital {
    gap: 8px;
    padding: 9px 0;
  }

  .composite-capital strong {
    font-size: .61rem;
  }

  .composite-update {
    font-size: .47rem;
  }

  .composite-tooltip {
    top: 78px;
    left: 12px;
    right: 12px;
  }
}

/* Reubicar Market Intelligence dentro del hero en escritorio */
@media (min-width: 901px) {
  .hero .market-card.composite-card {
    align-self: center;
    transform: translateY(28px);
  }
}

.signal-term {
  position: relative;
  cursor: help;
  outline: none;
}

.signal-term::after {
  content: attr(data-tooltip);
  position: absolute;
  z-index: 30;
  bottom: calc(100% + 11px);
  width: 220px;
  padding: 9px 11px;
  border: 1px solid #666;
  background: #f3f2ef;
  color: #151515;
  box-shadow: 0 12px 30px rgba(0,0,0,.3);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: .62rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(5px);
  transition:
    opacity .18s ease,
    visibility .18s ease,
    transform .18s ease;
  pointer-events: none;
}

.signal-term::before {
  content: "";
  position: absolute;
  z-index: 31;
  bottom: calc(100% + 5px);
  border: 6px solid transparent;
  border-top-color: #f3f2ef;
  opacity: 0;
  visibility: hidden;
  transition: opacity .18s ease;
}

.pressure-term::after {
  left: 0;
}

.pressure-term::before {
  left: 15px;
}

.momentum-term::after {
  right: 0;
}

.momentum-term::before {
  right: 15px;
}

.signal-term:hover::after,
.signal-term:hover::before,
.signal-term:focus-visible::after,
.signal-term:focus-visible::before {
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* =====================================================
   PARALLAX CONTROLADO DEL HERO
   ===================================================== */

@media (min-width: 901px) {
  body.hero-gated .hero-photo {
    /*
     * translate funciona independientemente de transform,
     * por lo que no interfiere con la animación heroDrift.
     */
    translate: 0 var(--hero-parallax-y, 0px);

    /*
     * El fondo tiene margen adicional gracias al inset:-4%,
     * por eso puede desplazarse sin mostrar bordes.
     */
    will-change: translate, transform;
  }

  body.hero-gated .hero {
    overscroll-behavior: none;
  }

  body.hero-gated {
    overscroll-behavior: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-photo {
    translate: none !important;
  }
}

/*
 * En escritorio continúa centrado en la parte inferior
 * del hero, aunque ahora esté dentro de hero-content.
 */
@media (min-width: 901px) {
  .hero .scroll-cue {
    position: absolute;
    left: 50%;
    bottom: 8px;
    transform: translateX(-50%);
  }

  body.hero-gated .hero .scroll-cue {
    position: fixed;
  }
}

/*
 * En móvil forma parte natural del contenido:
 * aparece debajo de los tres beneficios y sube o baja
 * junto con todo el hero.
 */
@media (max-width: 900px) {
  body.hero-gated .hero .scroll-cue,
  .hero .scroll-cue {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    display: flex !important;
    width: fit-content;
    flex-direction: column;
    align-items: center;
    margin: 15px auto 0;
    padding: 7px 12px 0;
  }

  .hero .scroll-cue i {
    height: 28px;
  }
}

/* =====================================================
   SELECTOR DE ESCENARIOS
   ===================================================== */

.scenario-selector {
  width: 100%;
  margin-top: 17px;
  text-align: center;
}

.scenario-selector-title {
  display: block;
  color: #222;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.scenario-selector > p:not(.microcopy) {
  max-width: 440px;
  margin: 5px auto 0;
  color: #777;
  font-size: .68rem;
  line-height: 1.4;
}

.intelligence-layout .scenario-tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 13px auto 10px;
}

.intelligence-layout .scenario-tabs button {
  position: relative;
  min-width: 92px;
  padding: 9px 15px;
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .04em;
}

.intelligence-layout .scenario-tabs button::after {
  content: attr(data-tooltip);
  position: absolute;
  z-index: 20;
  left: 50%;
  bottom: calc(100% + 10px);
  width: 220px;
  padding: 9px 11px;
  border: 1px solid #555;
  background: #111;
  color: #eee;
  box-shadow: 0 13px 32px rgba(0,0,0,.24);
  font-size: .61rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: left;
  text-transform: none;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 5px);
  transition:
    opacity .18s ease,
    visibility .18s ease,
    transform .18s ease;
  pointer-events: none;
}

.intelligence-layout .scenario-tabs button:hover::after,
.intelligence-layout .scenario-tabs button:focus-visible::after {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.scenario-selector .microcopy {
  max-width: 450px;
  margin: 0 auto;
  text-align: center;
}

@media (max-width: 420px) {
  .intelligence-layout .scenario-tabs {
    gap: 5px;
  }

  .intelligence-layout .scenario-tabs button {
    flex: 1;
    min-width: 0;
    padding-inline: 7px;
  }

  .intelligence-layout .scenario-tabs button:first-child::after {
    left: 0;
    transform: translate(0, 5px);
  }

  .intelligence-layout .scenario-tabs button:first-child:hover::after,
  .intelligence-layout .scenario-tabs button:first-child:focus-visible::after {
    transform: translate(0, 0);
  }

  .intelligence-layout .scenario-tabs button:last-child::after {
    right: 0;
    left: auto;
    transform: translate(0, 5px);
  }

  .intelligence-layout .scenario-tabs button:last-child:hover::after,
  .intelligence-layout .scenario-tabs button:last-child:focus-visible::after {
    transform: translate(0, 0);
  }
}

/* =====================================================
   EXPLICACIÓN DE MÉTRICAS
   ===================================================== */

.metric-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 7px;
}

.metric-tooltip {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border: 1px solid #555;
  border-radius: 50%;
  background: transparent;
  color: #aaa;
  font-size: .55rem;
  font-weight: 800;
}

.metric-tooltip:hover,
.metric-tooltip:focus-visible {
  border-color: #fff;
  color: #fff;
}

.metric-tooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  z-index: 30;
  left: 50%;
  bottom: calc(100% + 9px);
  width: 205px;
  padding: 9px 11px;
  border: 1px solid #777;
  background: #f3f2ef;
  color: #171717;
  box-shadow: 0 13px 35px rgba(0,0,0,.38);
  font-family: "DM Sans", Arial, sans-serif;
  font-size: .61rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 5px);
  transition:
    opacity .18s ease,
    visibility .18s ease,
    transform .18s ease;
  pointer-events: none;
}

.metric-tooltip:hover::after,
.metric-tooltip:focus-visible::after {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.terminal-metric:first-child .metric-tooltip::after {
  left: 0;
  transform: translate(0, 5px);
}

.terminal-metric:first-child .metric-tooltip:hover::after,
.terminal-metric:first-child .metric-tooltip:focus-visible::after {
  transform: translate(0, 0);
}

.terminal-metric:last-child .metric-tooltip::after {
  right: 0;
  left: auto;
  transform: translate(0, 5px);
}

.terminal-metric:last-child .metric-tooltip:hover::after,
.terminal-metric:last-child .metric-tooltip:focus-visible::after {
  transform: translate(0, 0);
}

/* =====================================================
   GRÁFICA DE POSICIONAMIENTO
   ===================================================== */

.trend-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 15px;
  margin: 10px 0 4px;
}

.trend-header span {
  display: block;
  color: #ddd;
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.trend-header small {
  display: block;
  margin-top: 3px;
  color: #696969;
  font-size: .53rem;
}

.trend-header > strong {
  color: #fff;
  font: 600 1.05rem/1 "Playfair Display", Georgia, serif;
  white-space: nowrap;
}

.trend-axis-labels {
  display: flex;
  justify-content: space-between;
  margin: -5px 12px 0 47px;
  color: #606060;
  font-size: .49rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* =====================================================
   SIMULADOR MÓVIL: FORMULARIO + RESULTADOS VERTICALES
   Pegar al final de styles.css
   ===================================================== */

@media (max-width: 640px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
  }

  .simulator-section,
  .simulator-section .container,
  .simulator-shell,
  .simulator-panel,
  .simulator-output {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  /* Primera vista: configuración */
  .simulator-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .simulator-panel {
    overflow: hidden;
  }

  /* Segunda vista: resultados */
  .simulator-output {
    min-width: 0;
    scroll-margin-top: 82px;
  }

  .profile-results-three {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    width: 100%;
    min-width: 0;
    padding-bottom: 0;
    overflow: visible;
    scroll-snap-type: none;
  }

  /*
   * Cada perfil forma una fila:
   * cifras a la izquierda y gráfica a la derecha.
   */
  .profile-results-three .profile-result {
    display: grid;
    grid-template-columns:
      minmax(0, 0.9fr)
      minmax(125px, 1.1fr);
    grid-template-rows: auto auto auto 1fr;
    column-gap: 10px;
    align-items: start;

    width: 100%;
    min-width: 0;
    padding: 10px;

    scroll-snap-align: unset;
    overflow: hidden;
  }

  .profile-results-three .result-head {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    min-height: 0;
  }

  .profile-results-three .main-result {
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
    margin-top: 7px;
    font-size: clamp(1.05rem, 5vw, 1.3rem);
    overflow-wrap: anywhere;
  }

  .profile-results-three .main-result-label {
    grid-column: 1;
    grid-row: 3;
  }

  .profile-results-three .result-facts {
    grid-column: 1;
    grid-row: 4;

    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    min-width: 0;
    margin: 8px 0 0;
  }

  .profile-results-three .result-facts span,
  .profile-results-three .result-facts b {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .profile-results-three .chart-wrap {
    grid-column: 2;
    grid-row: 1 / 5;
    align-self: center;

    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: 118px !important;
    margin: 0;
    overflow: hidden;
  }

  .profile-results-three .chart-wrap canvas {
    display: block;
    width: 100% !important;
    max-width: 100%;
    height: 100% !important;
  }

  .sim-note,
  .result-cta {
    width: 100%;
    max-width: 100%;
  }
}

/* Pantallas especialmente estrechas */
@media (max-width: 360px) {
  .profile-results-three .profile-result {
    grid-template-columns:
      minmax(0, 0.95fr)
      minmax(105px, 1.05fr);
    column-gap: 7px;
    padding: 8px;
  }

  .profile-results-three .chart-wrap {
    height: 105px !important;
  }
}