:root{
  --bg:#06101f;
  --bg-2:#08172d;
  --surface:rgba(255,255,255,.07);
  --surface-2:rgba(255,255,255,.1);
  --line:rgba(148,182,255,.18);
  --text:#ecf5ff;
  --muted:#b5c9e0;
  --cyan:#1cd6ff;
  --blue:#3d7dff;
  --violet:#8e5cff;
  --green:#25d366;
  --radius:26px;
  --shadow:0 18px 60px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:linear-gradient(180deg,#06111f,#050c18 30%,#071326 70%,#040914);color:var(--text);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
.container{width:min(1180px,calc(100% - 36px));margin:0 auto}

.site-header{position:sticky;top:0;z-index:1000;background:rgba(3,10,20,.72);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0}
.brand{display:inline-flex;align-items:center;gap:14px;font-weight:900;letter-spacing:-.03em}
.brand-text{font-size:1.55rem}
.custom-logo-link img{max-height:40px;width:auto}
.brand-mark,.footer-logo .brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,var(--cyan),var(--violet));color:#041124;font-weight:1000;box-shadow:0 0 32px rgba(28,214,255,.35)}
.main-nav{display:flex;align-items:center;gap:24px}
.main-nav a{font-weight:760;color:#d8e6f6;position:relative}
.main-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--violet));transition:width .25s}
.main-nav a:not(.nav-cta):hover:after{width:100%}
.nav-cta{padding:13px 18px;border-radius:999px;border:1px solid rgba(28,214,255,.35);background:rgba(9,31,61,.88);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04), 0 0 26px rgba(28,214,255,.1)}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.8rem}

.hero{position:relative;overflow:hidden;min-height:calc(100vh - 72px)}
.hero-ultra{padding:78px 0 40px}
.hero-bg-grid,.hero-noise,.orb{position:absolute;inset:0;pointer-events:none}
.hero-bg-grid{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(180deg,rgba(0,0,0,.95),rgba(0,0,0,.45));opacity:.28}
.hero-noise{opacity:.08;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.9) 0 1px,transparent 1px),radial-gradient(circle at 80% 30%,rgba(255,255,255,.7) 0 1px,transparent 1px),radial-gradient(circle at 70% 70%,rgba(255,255,255,.7) 0 1px,transparent 1px);background-size:240px 240px,280px 280px,320px 320px}
.orb{filter:blur(70px);opacity:.75}
.orb-a{inset:auto auto 24% -4%;width:270px;height:270px;border-radius:50%;background:rgba(28,214,255,.45);animation:pulse 7s ease-in-out infinite}
.orb-b{inset:12% 0 auto auto;width:360px;height:360px;border-radius:50%;background:rgba(142,92,255,.3);animation:pulse 8s ease-in-out infinite reverse}
.orb-c{inset:auto 12% 8% auto;width:240px;height:240px;border-radius:50%;background:rgba(85,145,255,.26);animation:pulse 6.5s ease-in-out infinite}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center;position:relative;z-index:2}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:11px 16px;border-radius:999px;background:rgba(3,23,46,.72);border:1px solid rgba(28,214,255,.24);color:#bfeeff;font-weight:800;box-shadow:0 0 0 1px rgba(255,255,255,.03) inset}
.hero h1{font-size:clamp(3.2rem,6.5vw,5.8rem);line-height:.93;letter-spacing:-.07em;margin:18px 0 20px;text-wrap:balance}
.hero p{font-size:1.22rem;line-height:1.8;color:var(--muted);max-width:760px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.btn{position:relative;display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:16px 24px;border-radius:999px;font-weight:900;transition:transform .25s,box-shadow .25s,border-color .25s;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.btn:hover{transform:translateY(-3px)}
.btn.primary{color:#041124;background:linear-gradient(135deg,var(--cyan),var(--violet));box-shadow:0 10px 34px rgba(92,156,255,.35), 0 0 40px rgba(28,214,255,.18)}
.btn.secondary{background:rgba(255,255,255,.06);border-color:rgba(176,196,255,.2);color:#edf6ff}
.btn.small{padding:13px 18px;font-size:.95rem}
.trust-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.trust-row span{padding:12px 16px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);color:#d5e7f9;font-weight:700}

.hero-showcase{position:relative;min-height:640px}
.showcase-halo{position:absolute;inset:12% 12% 8% 10%;border-radius:50%;filter:blur(30px);background:radial-gradient(circle at center,rgba(28,214,255,.18),rgba(142,92,255,.09) 55%,transparent 70%)}
.glass-card{background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.05));backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.16);box-shadow:var(--shadow)}
.showcase-frame{position:absolute;inset:20px 26px 24px 0;border-radius:36px;overflow:hidden;padding:22px}
.window-top{display:flex;align-items:center;gap:9px;margin-bottom:18px}
.window-top span{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.65)}
.window-top b{margin-left:10px;color:#dfefff;font-size:.95rem;letter-spacing:.02em}
.showcase-body{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:start}
.showcase-main,.showcase-side{display:grid;gap:16px}
.metric-panel,.mini-card,.bar-widget,.side-card{border-radius:24px;border:1px solid rgba(255,255,255,.12);background:rgba(8,21,43,.55);position:relative;overflow:hidden}
.metric-panel{padding:26px 26px 22px;min-height:168px}
.metric-panel:before,.mini-card:before,.side-card:before,.bar-widget:before,.price-card:before,.service-card:before,.project:before,.review-card:before,.review-form:before,.ceo-wrap:before,.cta-card:before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at top right,rgba(28,214,255,.14),transparent 33%),radial-gradient(circle at bottom left,rgba(142,92,255,.12),transparent 30%);opacity:1;pointer-events:none}
.metric-panel small{display:block;color:#bfeeff;font-weight:800;letter-spacing:.02em}
.metric-panel strong{display:block;font-size:4.1rem;line-height:1;letter-spacing:-.08em;margin:10px 0 8px}
.metric-panel p{margin:0;color:#bfd0e5;line-height:1.55;font-size:1rem}
.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.mini-card{padding:18px;display:flex;flex-direction:column;min-height:112px}
.mini-card span{color:#9bc8e8;font-size:.9rem;font-weight:700}
.mini-card strong{font-size:1.8rem;line-height:1.1;margin-top:8px}
.mini-card small{margin-top:auto;color:#bfd0e5}
.bar-widget{padding:18px}
.bar-set{height:165px;display:flex;align-items:flex-end;gap:12px}
.bar-set i{flex:1;border-radius:18px 18px 4px 4px;background:linear-gradient(180deg,var(--cyan),var(--violet));box-shadow:0 10px 30px rgba(28,214,255,.18);animation:barWave 4s ease-in-out infinite}
.bar-set i:nth-child(1){height:52%}.bar-set i:nth-child(2){height:88%;animation-delay:.25s}.bar-set i:nth-child(3){height:66%;animation-delay:.5s}.bar-set i:nth-child(4){height:94%;animation-delay:.75s}
.bar-labels{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;color:#ddebfb;font-size:.92rem;font-weight:800}
.side-card{padding:18px}
.side-title{font-size:1rem;font-weight:900;margin-bottom:10px;color:#eef7ff}
.web-preview .browser-thumb{padding:14px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09)}
.browser-line{height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.5),rgba(255,255,255,.16));margin-bottom:10px}
.browser-line.short{width:65%}
.browser-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}
.browser-grid span{height:58px;border-radius:16px;background:linear-gradient(135deg,rgba(28,214,255,.35),rgba(142,92,255,.35));border:1px solid rgba(255,255,255,.08)}
.web-preview button{margin-top:16px;width:100%;padding:12px 16px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--cyan),var(--violet));color:#041124;font-weight:900}
.checkout-preview{display:flex;align-items:center;gap:14px;min-height:140px}
.pay-chip{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#103d78,#0a7fd8);border:1px solid rgba(28,214,255,.3);font-weight:900;color:#ecf7ff;box-shadow:0 0 20px rgba(28,214,255,.18)}
.checkout-preview p{margin:6px 0 0;color:#c5d6e8;font-size:.95rem;line-height:1.6}
.floating-pill{position:absolute;padding:13px 18px;border-radius:18px;background:rgba(5,23,47,.9);border:1px solid rgba(28,214,255,.22);color:#dcf4ff;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.28),0 0 24px rgba(28,214,255,.12)}
.pill-a{right:2%;top:5%;animation:float 6s ease-in-out infinite}
.pill-b{left:-2%;top:56%;animation:float 7s ease-in-out infinite .5s}
.pill-c{right:8%;bottom:9%;animation:float 6.5s ease-in-out infinite 1s}

.stats-strip{padding:20px 0 40px;position:relative;z-index:2}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stats-grid > div{padding:20px 24px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.09);box-shadow:0 10px 34px rgba(0,0,0,.18)}
.stats-grid strong{display:block;font-size:2rem;letter-spacing:-.05em;color:#fff}
.stats-grid span{display:block;margin-top:4px;color:var(--muted);font-weight:700}

.section{padding:100px 0;position:relative}
.section.alt{background:linear-gradient(180deg,#071425,#06111f)}
.section-head{text-align:center;max-width:850px;margin:0 auto 46px}
.section-head h2{margin:14px 0 12px;font-size:clamp(2.2rem,4.4vw,4rem);line-height:1.02;letter-spacing:-.06em;text-wrap:balance}
.section-head p{font-size:1.08rem;line-height:1.7;color:var(--muted)}
.cards,.pricing-grid,.portfolio-grid,.review-list{display:grid;gap:22px}
.service-grid{grid-template-columns:repeat(4,1fr)}
.service-card,.price-card,.project,.review-card,.review-form,.success-box,.ceo-wrap,.cta-card,.content-card{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045));box-shadow:var(--shadow)}
.service-card{padding:26px;min-height:230px;transition:transform .28s,border-color .28s,box-shadow .28s}
.service-card:hover,.price-card:hover,.project:hover{transform:translateY(-8px);border-color:rgba(28,214,255,.36);box-shadow:0 24px 60px rgba(0,0,0,.34),0 0 28px rgba(28,214,255,.09)}
.icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:1.9rem;margin-bottom:20px}
.service-card h3,.price-card h3,.project h3{margin:0 0 12px;font-size:1.18rem;line-height:1.3}
.service-card p,.price-card p,.project p,.split p,.cta-card p,.review-card p{color:var(--muted);line-height:1.75}
.card-glow{position:absolute;right:-30px;bottom:-20px;width:120px;height:120px;border-radius:50%;filter:blur(18px);background:radial-gradient(circle at center,rgba(28,214,255,.22),rgba(142,92,255,.08) 60%,transparent 70%);opacity:.85}

.split-modern{grid-template-columns:.95fr 1.05fr;gap:38px;align-items:center}
.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.benefits span{padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-weight:850;box-shadow:0 10px 26px rgba(0,0,0,.12)}

.pricing-grid{grid-template-columns:repeat(3,1fr)}
.price-card{padding:30px}
.price-chip{display:inline-block;margin-bottom:16px;padding:8px 12px;border-radius:999px;background:rgba(28,214,255,.1);border:1px solid rgba(28,214,255,.18);color:#bdf5ff;font-weight:850}
.price-card strong{display:inline-block;margin:8px 0 18px;padding:8px 12px;border-radius:999px;background:rgba(142,92,255,.12);color:#e0d1ff;border:1px solid rgba(142,92,255,.18)}
.price-card ul{list-style:none;margin:0 0 24px;padding:0}
.price-card li{padding:8px 0;color:#d9e8f8}
.plan-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:2}
.plan-actions .btn{flex:1;min-width:180px}

.steps-modern{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.step{padding:24px 18px;border-radius:22px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.06);text-align:center;box-shadow:0 10px 34px rgba(0,0,0,.12)}
.step b{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,var(--cyan),var(--violet));margin:0 auto 14px;color:#041124;box-shadow:0 8px 24px rgba(92,156,255,.28)}
.step span{font-weight:850;color:#ecf5ff}

.portfolio-grid-new{grid-template-columns:repeat(3,1fr)}
.project-card-new{display:flex;flex-direction:column;min-height:320px;padding:18px}
.project-thumb{display:flex;align-items:flex-end;justify-content:space-between;height:140px;border-radius:22px;padding:16px 18px;background:linear-gradient(135deg,rgba(23,66,120,.85),rgba(54,104,255,.45),rgba(142,92,255,.35));border:1px solid rgba(255,255,255,.08);margin-bottom:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.project-thumb span{font-weight:1000;font-size:1.35rem;letter-spacing:.08em;color:rgba(255,255,255,.9)}
.project-thumb i{font-style:normal;font-size:2.3rem}
.project-body{margin-bottom:20px}
.project-card-new .btn{margin-top:auto}

.reviews-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:26px;align-items:start}
.review-card{padding:24px}
.review-card h3{margin:10px 0 6px}
.review-card small{color:#bdf4ff;font-weight:800}
.review-form{padding:28px}
.review-form h3{margin:0 0 12px}
.review-form label{display:block;margin:14px 0;color:#dcecff;font-weight:800}
.review-form input,.review-form select,.review-form textarea{width:100%;margin-top:8px;padding:14px 15px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:var(--text);outline:none}
.review-form textarea{min-height:132px;resize:vertical}
.review-form input:focus,.review-form select:focus,.review-form textarea:focus{border-color:rgba(28,214,255,.55);box-shadow:0 0 0 4px rgba(28,214,255,.1)}
.success-box{padding:18px 22px;margin-bottom:22px;color:#dfffe7;border-color:rgba(33,211,102,.35)}
.stars{letter-spacing:2px}

.ceo-wrap{display:grid;grid-template-columns:360px 1fr;gap:38px;align-items:center;padding:34px}
.ceo-photo{position:relative;border-radius:30px;overflow:hidden;border:1px solid rgba(28,214,255,.22);box-shadow:0 0 60px rgba(28,214,255,.14)}
.ceo-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(7,19,38,.45));pointer-events:none}
.ceo-photo img{width:100%;height:430px;object-fit:cover}
.ceo-copy h2{font-size:clamp(2.1rem,4vw,4rem);margin:8px 0 8px;letter-spacing:-.05em;line-height:1}
.ceo-copy h3{margin:0 0 16px;color:#bdf4ff}
.ceo-copy p{color:var(--muted);font-size:1.08rem;line-height:1.78}

.ideal{text-align:center;background:radial-gradient(circle at center,rgba(28,214,255,.12),transparent 45%)}
.ideal h2{font-size:clamp(1.7rem,3.4vw,3rem);line-height:1.25;letter-spacing:-.04em}

.cta-section{padding:90px 0 110px;background:linear-gradient(180deg,#06101f,#040914)}
.cta-card{text-align:center;padding:58px;overflow:hidden}
.cta-card h2{font-size:clamp(2.1rem,4.2vw,4rem);line-height:1.02;letter-spacing:-.06em;margin:14px 0 12px}
.contact-line{margin-top:16px;color:#cbd9ea}
.contact-line a{color:#bdf5ff}
.center{justify-content:center}

.footer{padding:62px 0 26px;background:#040914;border-top:1px solid rgba(255,255,255,.08)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.footer-logo{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.footer h4{margin:0 0 8px}
.footer a{display:block;color:var(--muted);margin:10px 0}
.footer p,.copyright{color:var(--muted)}
.copyright{padding-top:30px;border-top:1px solid rgba(255,255,255,.08);margin-top:30px}
.floating-whatsapp{position:fixed;right:20px;bottom:20px;z-index:80;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:#21d366;box-shadow:0 14px 36px rgba(33,211,102,.35);font-size:28px}
.page-content{padding:80px 0}
.content-card{padding:36px}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}
.floaty{animation:float 6s ease-in-out infinite}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:.55}50%{transform:scale(1.12);opacity:.85}}
@keyframes barWave{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.05);filter:saturate(1.15)}}

@media (max-width:1100px){
  .hero-grid,.split-modern{grid-template-columns:1fr}
  .hero-showcase{min-height:560px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .pricing-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .steps-modern{grid-template-columns:repeat(2,1fr)}
  .portfolio-grid-new{grid-template-columns:repeat(2,1fr)}
  .reviews-grid,.ceo-wrap,.showcase-body{grid-template-columns:1fr}
}

@media (max-width:860px){
  .main-nav{position:absolute;left:4%;right:4%;top:76px;display:none;flex-direction:column;align-items:stretch;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:#071326;box-shadow:var(--shadow)}
  .main-nav.open{display:flex}
  .nav-toggle{display:block}
  .main-nav a{padding:10px}
  .showcase-frame{position:relative;inset:auto;padding:18px}
  .hero-showcase{min-height:auto}
  .hero-ultra{padding-top:54px}
}

@media (max-width:640px){
  .container{width:min(100% - 24px,1180px)}
  .hero h1{font-size:2.8rem}
  .hero p{font-size:1.06rem}
  .hero-actions .btn{width:100%}
  .service-grid,.benefits,.portfolio-grid-new,.stats-grid,.steps-modern{grid-template-columns:1fr}
  .mini-stats{grid-template-columns:1fr}
  .bar-set{height:130px}
  .showcase-frame{padding:14px;border-radius:28px}
  .metric-panel strong{font-size:3rem}
  .pill-b{left:0}
  .pill-a,.pill-c{right:2%}
  .section{padding:72px 0}
  .cta-card{padding:34px 20px}
  .ceo-wrap{padding:22px}
  .ceo-photo img{height:360px}
  .footer-grid{grid-template-columns:1fr}
  .floating-whatsapp{right:14px;bottom:14px}
}


/* === Portfolio real con capturas === */
.portfolio-grid-real{grid-template-columns:repeat(2,1fr);gap:24px}
.project-card-real{padding:16px;min-height:auto;display:flex;flex-direction:column;gap:16px}
.project-shot{position:relative;display:block;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#08111f;box-shadow:0 16px 36px rgba(0,0,0,.25)}
.project-shot img{width:100%;height:290px;object-fit:cover;object-position:top center;transition:transform .35s ease,filter .35s ease}
.project-shot:hover img{transform:scale(1.035);filter:brightness(.82)}
.project-overlay{position:absolute;inset:auto 14px 14px 14px;padding:12px 16px;border-radius:14px;background:rgba(4,17,36,.82);border:1px solid rgba(255,255,255,.12);color:#eaf7ff;font-weight:800;text-align:center;backdrop-filter:blur(8px)}
.project-card-real .project-body{display:flex;flex-direction:column;gap:8px}
.project-card-real h3{font-size:1.3rem;margin:0}
.project-card-real p{margin:0;color:#d8e7f7}
.project-card-real small{color:#99b7d6;line-height:1.6}
.project-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:auto}
.btn.ghost{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1);color:#dcecff}
@media (max-width:980px){.portfolio-grid-real{grid-template-columns:1fr}.project-shot img{height:260px}}
@media (max-width:640px){.project-actions .btn{width:100%}.project-shot img{height:220px}}


/* === Ajuste planes v2 === */
.plan-actions-vertical{display:flex;flex-direction:column;gap:12px}
.plan-actions-vertical .btn{width:100%}
.btn.advisor{background:rgba(255,255,255,.08);border:1px solid rgba(28,214,255,.2);color:#dff6ff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}
.btn.advisor:hover{border-color:rgba(28,214,255,.45);box-shadow:0 10px 30px rgba(28,214,255,.12)}
.price-card strong{font-size:1.02rem;font-weight:900;letter-spacing:.01em}


/* === Hero con captura real del programa === */
.showcase-body-program{grid-template-columns:1.1fr .9fr;align-items:stretch}
.program-shot-card{display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:28px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(7,22,44,.82),rgba(6,16,31,.7));box-shadow:0 18px 44px rgba(0,0,0,.28);height:100%}
.program-shot-top,.program-shot-bottom{display:flex;gap:10px;flex-wrap:wrap}
.program-pill,.program-shot-bottom span{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-weight:800;color:#eaf6ff}
.program-pill.alt{background:rgba(142,92,255,.12);border-color:rgba(142,92,255,.18);color:#eadfff}
.program-screen-wrap{border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#091325;min-height:350px;display:flex;align-items:flex-start;justify-content:center}
.program-screen{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.showcase-side-program{display:grid;gap:16px}
.side-card-highlight{display:flex;flex-direction:column;justify-content:center;padding:20px}
.side-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;color:#dfeefd;font-weight:700}
.mp-card-preview{display:flex;align-items:center;gap:16px;padding:18px}
.mp-card-logo{width:120px;max-width:38%;border-radius:14px;background:#091325;padding:6px;border:1px solid rgba(255,255,255,.08)}

/* === Botón Mercado Pago limpio === */
.mp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;opacity:1 !important}
.mp-btn::before,.mp-btn::after,.mp-btn[href="#"]::before,.mp-btn[href="#"]::after{display:none !important;content:none !important}
.mp-mini-logo{width:26px;height:26px;object-fit:contain;border-radius:6px;background:#fff;padding:2px;flex:0 0 auto}

@media (max-width:1100px){
  .showcase-body-program{grid-template-columns:1fr}
  .program-screen-wrap{min-height:300px}
}
@media (max-width:640px){
  .program-screen-wrap{min-height:220px}
  .mp-card-preview{flex-direction:column;align-items:flex-start}
  .mp-card-logo{max-width:150px;width:100%}
}


/* === Logo visual mejorado === */
.brand.brand-image{display:inline-flex;align-items:center;min-height:44px}
.brand-header-logo{height:42px;width:auto;display:block;filter:drop-shadow(0 0 18px rgba(78,170,255,.18))}
.footer-logo-image{display:flex;align-items:center}
.footer-brand-logo{height:48px;width:auto;display:block;filter:drop-shadow(0 0 20px rgba(78,170,255,.14))}
@media (max-width:640px){
  .brand-header-logo{height:34px}
  .footer-brand-logo{height:40px}
}


/* === Mercado Pago logo actualizado === */
.mp-card-logo{width:108px;max-width:36%;border-radius:18px;background:#ffffff;padding:8px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.mp-mini-logo{width:24px;height:24px;object-fit:contain;border-radius:8px;background:#ffffff;padding:2px;flex:0 0 auto}


/* === Ajuste hero v6: que se vea entero y legible === */
.showcase-frame{padding:18px 18px 20px}
.showcase-body-clean{grid-template-columns:1.18fr .82fr;gap:18px;align-items:stretch}
.clean-shot-card{padding:16px;min-height:100%}
.clean-screen-wrap{min-height:420px;height:420px;background:#f5f7fb;border-radius:22px;display:flex;align-items:center;justify-content:center;padding:8px;overflow:hidden}
.clean-screen{width:100%;height:100%;object-fit:contain;object-position:center center;background:#091325;border-radius:18px}
.showcase-side-clean{display:grid;grid-template-rows:1fr auto;gap:16px}
.clean-info-card{padding:24px;display:flex;flex-direction:column;justify-content:center}
.clean-info-card .side-title{font-size:1.4rem;line-height:1.15;margin-bottom:14px}
.clean-info-card p{font-size:1.03rem;line-height:1.75;color:#d8e7f6;margin:0 0 16px}
.clean-side-list{gap:10px;font-size:1rem}
.clean-mp-card{padding:18px 20px;min-height:120px}
.clean-mp-card p{font-size:.98rem;line-height:1.6;margin:6px 0 0;color:#d5e7f6}
.pill-b,.pill-c{display:none !important}
.pill-a{right:2%;top:3%}

@media (max-width:1100px){
  .showcase-body-clean{grid-template-columns:1fr}
  .clean-screen-wrap{height:360px;min-height:360px}
}
@media (max-width:640px){
  .clean-screen-wrap{height:260px;min-height:260px;padding:6px}
  .clean-info-card .side-title{font-size:1.2rem}
  .clean-info-card p{font-size:.96rem;line-height:1.6}
}


/* === HERO V7: captura real más limpia y profesional === */
.hero-showcase-v7{
  position:relative;
  min-height:620px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.device-showcase{
  position:relative;
  width:min(660px,100%);
  border-radius:34px;
  padding:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.045));
  border:1px solid rgba(255,255,255,.15);
  box-shadow:0 28px 80px rgba(0,0,0,.45),0 0 55px rgba(28,214,255,.12);
  backdrop-filter:blur(18px);
  overflow:hidden;
}
.device-showcase:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(circle at 20% 0%,rgba(28,214,255,.24),transparent 30%),
    radial-gradient(circle at 90% 100%,rgba(142,92,255,.22),transparent 35%);
  pointer-events:none;
}
.device-topbar,.device-screen,.device-footer{position:relative;z-index:1}
.device-topbar{
  height:56px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 12px;
  border-radius:22px 22px 10px 10px;
  background:rgba(4,14,28,.52);
  border:1px solid rgba(255,255,255,.08);
}
.device-dots{display:flex;gap:8px}
.device-dots span{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.62)}
.device-topbar strong{font-size:1rem;color:#eaf7ff}
.device-topbar em{margin-left:auto;font-style:normal;font-size:.85rem;color:#9fdcff;font-weight:800}
.device-screen{
  margin-top:14px;
  border-radius:24px;
  background:#091325;
  border:1px solid rgba(255,255,255,.12);
  overflow:hidden;
  height:365px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.device-screen img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:#fff;
}
.device-footer{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:14px;
}
.device-footer div{
  padding:14px;
  border-radius:18px;
  background:rgba(5,21,43,.72);
  border:1px solid rgba(255,255,255,.1);
}
.device-footer b{display:block;color:#fff;font-size:1rem}
.device-footer span{display:block;margin-top:4px;color:#b7cce2;font-size:.85rem}
.hero-info-card{
  position:absolute;
  right:0;
  bottom:2%;
  width:250px;
  padding:18px;
  border-radius:22px;
  background:rgba(5,21,43,.86);
  border:1px solid rgba(28,214,255,.24);
  box-shadow:0 18px 50px rgba(0,0,0,.35),0 0 30px rgba(28,214,255,.1);
  backdrop-filter:blur(12px);
}
.hero-info-card span{display:inline-block;color:#bdf5ff;font-weight:900;margin-bottom:9px}
.hero-info-card strong{display:block;font-size:1.2rem;line-height:1.2;color:#fff}
.hero-info-card p{margin:10px 0 0;font-size:.93rem;line-height:1.55;color:#bdd0e5}
.hero h1{max-width:760px}
@media (max-width:1100px){
  .hero-showcase-v7{min-height:auto;margin-top:20px}
  .hero-info-card{position:relative;right:auto;bottom:auto;width:auto;margin-top:14px}
}
@media (max-width:640px){
  .device-showcase{padding:12px;border-radius:26px}
  .device-topbar{height:auto;min-height:52px;flex-wrap:wrap}
  .device-topbar em{margin-left:0;width:100%}
  .device-screen{height:250px;border-radius:18px}
  .device-footer{grid-template-columns:1fr}
  .hero h1{font-size:2.55rem}
}


/* === Header logo premium v8 === */
.site-header{background:linear-gradient(180deg,rgba(2,9,18,.88),rgba(3,10,20,.78));backdrop-filter:blur(20px)}
.nav-wrap{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand.brand-image{min-height:60px;padding:8px 0;flex:0 0 auto}
.brand-header-logo{height:64px;width:auto;max-width:min(42vw,360px);display:block;filter:drop-shadow(0 0 24px rgba(78,170,255,.22)) drop-shadow(0 0 12px rgba(152,92,255,.12))}
.main-nav{display:flex;align-items:center;gap:28px}
.main-nav a{font-weight:800}
.footer-brand-logo{height:58px;width:auto;display:block;filter:drop-shadow(0 0 22px rgba(78,170,255,.18))}
@media (max-width:980px){
  .nav-wrap{min-height:78px}
  .brand-header-logo{height:56px;max-width:300px}
  .main-nav{gap:18px}
}
@media (max-width:640px){
  .nav-wrap{min-height:72px}
  .brand-header-logo{height:48px;max-width:240px}
  .footer-brand-logo{height:46px}
}


/* === Valoraciones de muestra v9 === */
.sample-review{
  border-color:rgba(28,214,255,.18);
}
.sample-review p{
  font-style:italic;
}


/* === v10: compra arriba + cards más vendedoras === */
.section-buy-first{padding-top:38px}
.pricing-benefits{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:-4px 0 28px}
.pricing-benefits span{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#dff1ff;font-weight:800}
.pricing-grid-premium{align-items:stretch}
.price-card{display:flex;flex-direction:column}
.price-card ul{margin-bottom:22px}
.price-card .plan-actions{margin-top:auto}
.price-card.featured{transform:translateY(-6px) scale(1.02);border-color:rgba(28,214,255,.52);box-shadow:0 28px 70px rgba(0,0,0,.36),0 0 42px rgba(28,214,255,.14)}
.price-card.featured::after{content:"";position:absolute;inset:auto 18px 18px 18px;height:90px;background:radial-gradient(circle at center,rgba(28,214,255,.15),transparent 70%);pointer-events:none}
.price-badge{position:absolute;top:16px;right:16px;padding:9px 12px;border-radius:999px;background:linear-gradient(90deg,#16d7ff,#8e5cff);color:#06101c;font-weight:900;font-size:.85rem;box-shadow:0 10px 26px rgba(22,215,255,.22)}
.price-card.featured .price-chip{background:rgba(28,214,255,.16);border-color:rgba(28,214,255,.3);color:#ecfbff}
.price-card.featured strong{background:rgba(142,92,255,.18);border-color:rgba(142,92,255,.34);color:#fff}
.price-card.featured h3{font-size:1.28rem}
#servicios{padding-top:80px}
@media (max-width:980px){
  .price-card.featured{transform:none}
  .pricing-benefits{justify-content:flex-start}
}


/* === v11 reviews mejoradas === */
.review-top{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.review-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.1rem;color:#fff;background:linear-gradient(135deg,#16d7ff,#8e5cff);box-shadow:0 10px 22px rgba(22,215,255,.18)}
.review-card h3{margin:0 0 4px}
.review-card small{display:block}
.sample-review{border-color:rgba(28,214,255,.18)}


/* === v12 fotos en reseñas === */
.review-avatar.photo{padding:0;overflow:hidden;background:transparent;border:2px solid rgba(255,255,255,.14);box-shadow:0 12px 24px rgba(0,0,0,.22),0 0 0 3px rgba(28,214,255,.10)}
.review-avatar.photo img{width:100%;height:100%;object-fit:cover;display:block}
.review-card .stars{margin:4px 0 14px}
.review-card.sample-review p{font-style:normal;color:#d7e8f6}
.review-card.sample-review{background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.05));}
@media (max-width:640px){.review-avatar{width:54px;height:54px}}


/* === v13 mobile fix general === */
html,body{overflow-x:hidden}
img{max-width:100%;height:auto}
@media (max-width:768px){
  .container{width:calc(100% - 22px)}
  .site-header{position:sticky;top:0;z-index:999}
  .nav-wrap{min-height:68px;padding:10px 0;gap:12px}
  .brand.brand-image{min-height:48px;padding:4px 0}
  .brand-header-logo{height:40px !important;max-width:210px !important}
  .nav-toggle{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
  .main-nav{top:66px;left:12px;right:12px;padding:12px;gap:8px;border-radius:18px}
  .main-nav a{padding:12px 12px;font-size:1rem}
  .main-nav .nav-cta{width:100%;justify-content:center;text-align:center}

  .hero-ultra{padding:26px 0 54px}
  .hero-grid{gap:24px}
  .eyebrow{font-size:.85rem;padding:9px 14px}
  .hero h1{font-size:2.35rem !important;line-height:.96;letter-spacing:-.05em;margin:14px 0 16px}
  .hero p{font-size:1rem;line-height:1.65}
  .hero-copy,.section-head{text-align:left}
  .hero-actions{gap:12px;margin-top:20px}
  .hero-actions .btn,.cta-card .btn,.project-actions .btn,.plan-actions-vertical .btn,.review-form .btn{width:100%;justify-content:center}
  .mini-badges{gap:10px}
  .mini-badges span{width:100%;justify-content:center}

  .hero-showcase-v7{min-height:auto;order:2}
  .device-showcase{width:100%;padding:12px;border-radius:24px}
  .device-topbar{min-height:50px;height:auto;flex-wrap:wrap;gap:8px;padding:10px 12px;border-radius:16px 16px 10px 10px}
  .device-topbar strong{font-size:.92rem}
  .device-topbar em{width:100%;margin-left:0;font-size:.76rem}
  .device-screen{height:210px;border-radius:16px;margin-top:10px}
  .device-footer{grid-template-columns:1fr;gap:10px}
  .device-footer div{padding:12px 14px;border-radius:14px}
  .hero-info-card{position:relative;right:auto;bottom:auto;width:100%;margin-top:12px;padding:16px;border-radius:18px}

  .section{padding:58px 0}
  .section-buy-first{padding-top:10px}
  .section-head h2{font-size:2rem;line-height:1.02;letter-spacing:-.04em;margin:10px 0}
  .section-head p{font-size:1rem;line-height:1.65}

  .pricing-benefits{gap:10px;justify-content:flex-start;margin:0 0 20px}
  .pricing-benefits span{width:100%;justify-content:center;padding:11px 14px;font-size:.95rem}
  .pricing-grid,.pricing-grid-premium,.service-grid,.portfolio-grid-real,.review-list,.footer-grid,.stats-grid,.steps-modern,.benefits,.mini-stats{grid-template-columns:1fr !important}

  .service-card,.price-card,.project-card-real,.review-card,.review-form,.ceo-wrap,.cta-card{padding:18px;border-radius:20px}
  .service-card h3,.price-card h3,.project-card-real h3,.review-card h3{font-size:1.35rem}
  .service-card p,.price-card p,.project-card-real p,.review-card p{font-size:.98rem;line-height:1.7}
  .service-card .service-icon{margin-bottom:10px}

  .price-card{gap:0}
  .price-card .price-chip{display:inline-flex;align-self:flex-start;margin-bottom:10px}
  .price-card strong{display:inline-flex;align-self:flex-start;max-width:100%;font-size:1rem;line-height:1.35;padding:10px 12px;border-radius:999px;margin:8px 0 16px}
  .price-card ul{margin:6px 0 18px;padding-left:0}
  .price-card li{font-size:.97rem;line-height:1.65}
  .price-badge{top:14px;right:14px;font-size:.78rem;padding:8px 10px}
  .price-card.featured{transform:none}

  .project-shot img{height:210px;object-fit:cover}
  .project-overlay{inset:auto 10px 10px 10px;padding:10px 12px;font-size:.92rem}

  .reviews-grid{grid-template-columns:1fr;gap:18px}
  .review-top{align-items:center;gap:12px}
  .review-avatar,.review-avatar.photo{width:52px;height:52px;flex:0 0 52px}
  .review-card .stars{font-size:1rem}
  .review-form label{font-size:.95rem}
  .review-form input,.review-form select,.review-form textarea{font-size:16px}

  .ceo-wrap{grid-template-columns:1fr;gap:18px}
  .ceo-photo img{height:280px;object-fit:cover}
  .ceo-copy h2{font-size:2rem}
  .ceo-copy h3{font-size:1.05rem}

  .footer-grid{gap:18px}
  .footer-brand-logo{height:42px !important}
  .floating-whatsapp{right:12px;bottom:12px;width:54px;height:54px}
  .floaty{animation:none}
}

@media (max-width:480px){
  .container{width:calc(100% - 18px)}
  .nav-wrap{min-height:62px}
  .brand-header-logo{height:34px !important;max-width:180px !important}
  .hero h1{font-size:2rem !important}
  .section{padding:50px 0}
  .section-head h2{font-size:1.72rem}
  .device-screen{height:180px}
  .service-card,.price-card,.project-card-real,.review-card,.review-form,.ceo-wrap,.cta-card{padding:16px;border-radius:18px}
  .price-card strong{font-size:.94rem}
  .ceo-photo img{height:240px}
}


/* === v15 mobile overhaul === */
.nav-overlay{display:none}
@media (max-width:768px){
  html,body{overflow-x:hidden}
  body.mobile-nav-open{overflow:hidden}
  .container{width:min(100% - 24px, 1180px) !important}
  .site-header{position:sticky;top:0;z-index:1000;background:rgba(4,11,22,.97)!important;backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-wrap{min-height:74px!important;padding:8px 0!important;display:flex;align-items:center}
  .brand.brand-image{min-height:auto!important;display:flex;align-items:center;max-width:68%}
  .brand-header-logo{height:44px!important;max-width:200px!important;width:auto!important;object-fit:contain;filter:drop-shadow(0 0 18px rgba(28,214,255,.15))}
  .nav-toggle{display:grid!important;place-items:center;width:52px;height:52px;margin-left:auto;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:18px!important;color:#fff;font-size:1.9rem;line-height:1;box-shadow:0 8px 28px rgba(0,0,0,.25)}
  .nav-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.48);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:999}
  .nav-overlay.open{opacity:1;pointer-events:auto}
  .main-nav{display:flex!important;position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;width:min(86vw,340px)!important;transform:translateX(105%);transition:transform .28s ease;flex-direction:column;align-items:stretch!important;gap:10px!important;padding:92px 18px 20px!important;background:linear-gradient(180deg,#071427,#091a31)!important;border-left:1px solid rgba(28,214,255,.16)!important;border-radius:0!important;box-shadow:-20px 0 60px rgba(0,0,0,.42);z-index:1001;overflow:auto}
  .main-nav.open{transform:translateX(0)!important}
  .main-nav a{padding:14px 16px!important;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);font-size:1.02rem;font-weight:800;text-align:left!important}
  .main-nav a:not(.nav-cta):after{display:none!important}
  .main-nav .nav-cta{margin-top:8px;text-align:center!important;justify-content:center;border-color:rgba(28,214,255,.24);background:linear-gradient(135deg,rgba(28,214,255,.18),rgba(142,92,255,.14))}

  .hero-ultra{padding:24px 0 38px!important}
  .hero-grid{display:grid;grid-template-columns:1fr!important;gap:24px!important}
  .hero-copy{order:1;text-align:left!important}
  .hero-showcase-v7{order:2;min-height:auto!important}
  .eyebrow{font-size:.76rem!important;padding:8px 12px!important;line-height:1.35;max-width:100%;white-space:normal}
  .hero h1{font-size:2rem!important;line-height:1.02!important;letter-spacing:-.045em;max-width:100%!important;margin:14px 0!important}
  .hero p{font-size:.97rem!important;line-height:1.62!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-top:18px!important}
  .hero-actions .btn{width:100%!important;justify-content:center!important;min-height:54px}
  .trust-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:16px!important}
  .trust-row span{padding:12px 14px!important;text-align:center;justify-content:center;font-size:.95rem}
  .trust-row span:last-child{grid-column:1 / -1}
  .device-showcase{width:100%!important;padding:12px!important;border-radius:24px!important}
  .device-topbar{padding:12px!important;border-radius:16px 16px 10px 10px!important}
  .device-topbar strong{font-size:.86rem!important}
  .device-topbar em{font-size:.74rem!important;width:100%;margin-left:0}
  .device-screen{height:210px!important;border-radius:16px!important}
  .device-footer{display:none!important}
  .hero-info-card{display:none!important}

  .section{padding:54px 0!important}
  .section-head{margin-bottom:22px!important;text-align:left!important}
  .section-head h2{font-size:1.85rem!important;line-height:1.06!important;letter-spacing:-.04em}
  .section-head p{font-size:.98rem!important;line-height:1.62!important}
  .pricing-benefits{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:0 0 18px!important}
  .pricing-benefits span{width:100%;justify-content:center}
  .pricing-grid,.pricing-grid-premium,.service-grid,.portfolio-grid-real,.review-list,.footer-grid,.benefits,.stats-grid,.steps-modern{grid-template-columns:1fr!important}
  .reviews-grid,.ceo-wrap{grid-template-columns:1fr!important;gap:20px!important}
  .service-card,.price-card,.project-card-real,.review-card,.review-form,.cta-card,.ceo-wrap{padding:18px!important;border-radius:22px!important}
  .price-card.featured{transform:none!important}
  .price-badge{position:static!important;display:inline-flex;margin:0 0 10px 0}
  .price-card h3,.service-card h3,.project-card-real h3{font-size:1.28rem!important}
  .price-card p,.service-card p,.project-card-real p,.review-card p{font-size:.97rem!important;line-height:1.62!important}
  .plan-actions-vertical .btn,.project-actions .btn,.review-form .btn,.cta-card .btn{width:100%!important;justify-content:center!important}
  .project-shot img{height:210px!important;object-fit:cover}
  .review-avatar,.review-avatar.photo{width:56px!important;height:56px!important;flex:0 0 56px!important}
  .review-card .stars{margin-top:8px}
  .review-form input,.review-form select,.review-form textarea{font-size:16px!important}
  .ceo-photo img{height:260px!important;object-fit:cover}
  .footer-brand-logo{height:42px!important;max-width:220px!important}
  .floating-whatsapp{right:12px!important;bottom:12px!important;width:56px!important;height:56px!important}
}
@media (max-width:430px){
  .container{width:min(100% - 18px,1180px)!important}
  .brand-header-logo{height:40px!important;max-width:176px!important}
  .nav-wrap{min-height:68px!important}
  .nav-toggle{width:48px;height:48px;border-radius:16px!important}
  .hero h1{font-size:1.82rem!important}
  .section-head h2{font-size:1.62rem!important}
  .trust-row{grid-template-columns:1fr!important}
  .trust-row span:last-child{grid-column:auto}
  .device-screen{height:185px!important}
}


/* === v17 ajuste programa personalizado === */
.custom-program-btn{
  background:linear-gradient(135deg,rgba(28,214,255,.18),rgba(142,92,255,.18)) !important;
  border-color:rgba(28,214,255,.35) !important;
  color:#eaf8ff !important;
}
.custom-program-btn:hover{
  box-shadow:0 12px 34px rgba(28,214,255,.14),0 0 28px rgba(142,92,255,.12);
}


/* === v20 preview en plan web === */
.plan-preview{margin:18px 0 18px; padding:10px; border-radius:18px; background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04)); border:1px solid rgba(28,214,255,.16); box-shadow:0 14px 34px rgba(4,10,24,.28);}
.plan-preview-label{display:inline-flex; margin-bottom:10px; padding:7px 12px; border-radius:999px; font-size:.82rem; font-weight:800; color:#dff8ff; background:rgba(18,220,255,.10); border:1px solid rgba(28,214,255,.20)}
.plan-preview img{display:block; width:100%; height:auto; border-radius:14px; border:1px solid rgba(255,255,255,.08);}
@media (max-width:768px){.plan-preview{padding:8px; margin:16px 0}.plan-preview-label{font-size:.78rem}}


/* === v24 área de clientes === */
.gmogi-account-page{padding:80px 0;background:radial-gradient(circle at top left,rgba(28,214,255,.10),transparent 35%),radial-gradient(circle at top right,rgba(142,92,255,.12),transparent 35%)}
.account-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.account-dashboard{display:grid;grid-template-columns:320px 1fr;gap:26px;align-items:start}
.account-main{display:grid;gap:24px}
.account-card{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045));box-shadow:var(--shadow);padding:28px}
.account-card h2{margin:0 0 16px;color:var(--text)}
.account-card label{display:block;margin:14px 0;color:#dcecff;font-weight:800}
.account-card input,.account-card select,.account-card textarea{width:100%;margin-top:8px;padding:14px 15px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:var(--text);outline:none}
.account-card input[type=file]{padding:12px;background:rgba(255,255,255,.05)}
.profile-card{text-align:center;position:sticky;top:100px}
.profile-photo{width:132px;height:132px;border-radius:50%;object-fit:cover;border:3px solid rgba(28,214,255,.34);box-shadow:0 15px 34px rgba(0,0,0,.24),0 0 0 7px rgba(28,214,255,.08);margin-bottom:16px}
.profile-card p{color:var(--muted);word-break:break-word}
.purchase-list{display:grid;gap:16px}
.purchase-item{display:grid;gap:12px;padding:18px;border-radius:22px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}
.purchase-item h3{margin:8px 0 4px;color:#fff}
.purchase-item p{margin:0;color:var(--muted)}
.purchase-status{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(28,214,255,.12);border:1px solid rgba(28,214,255,.22);color:#bdf5ff;font-weight:900;font-size:.82rem}
.license-box{padding:14px;border-radius:16px;background:rgba(142,92,255,.10);border:1px solid rgba(142,92,255,.20)}
.license-box small{display:block;color:#b9cde2;font-weight:800;margin-bottom:4px}
.license-box strong{color:#fff;word-break:break-all}
.purchase-note{padding:12px;border-radius:14px;background:rgba(255,255,255,.045)}
.empty-purchases{padding:22px;border-radius:22px;background:rgba(255,255,255,.045);border:1px dashed rgba(255,255,255,.14)}
.error-box{border-color:rgba(255,120,120,.28);background:rgba(255,80,80,.08)}
.btn.ghost{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);color:#eaf5ff}
@media(max-width:900px){
  .account-auth-grid,.account-dashboard{grid-template-columns:1fr}
  .profile-card{position:relative;top:auto}
}
@media(max-width:640px){
  .gmogi-account-page{padding:54px 0}
  .account-card{padding:18px;border-radius:22px}
  .profile-photo{width:104px;height:104px}
}


/* === v25 mi cuenta fix visual === */
.gmogi-account-page{
  min-height:70vh;
  padding-top:110px;
}
.account-card input[type="password"],
.account-card input[type="email"],
.account-card input[type="text"]{
  color:#ffffff !important;
}
@media(max-width:768px){
  .gmogi-account-page{padding-top:86px}
}


/* === v26 login/register nav label === */
.site-nav a[href*="mi-cuenta"]{
  white-space: nowrap;
}
@media (max-width: 980px){
  .site-nav a[href*="mi-cuenta"]{
    white-space: normal;
  }
}


/* === v27 registro + login mejorados === */
.account-auth-grid{grid-template-columns:1.12fr .88fr;align-items:stretch}
.register-card,.login-card{min-height:100%}
.login-card{background:linear-gradient(180deg,rgba(24,42,78,.92),rgba(13,25,49,.92));border:1px solid rgba(71,205,255,.22);box-shadow:0 18px 40px rgba(0,0,0,.28),0 0 0 1px rgba(71,205,255,.05) inset}
.register-card{background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.05));}
.account-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;border:1px solid rgba(71,205,255,.22);background:rgba(71,205,255,.10);color:#d8f7ff;font-size:.82rem;font-weight:900;letter-spacing:.02em;margin-bottom:14px}
.account-copy{margin:-2px 0 14px;color:#bfd1e6;line-height:1.7}
.account-benefits{margin:18px 0 22px;padding:0;list-style:none;display:grid;gap:10px}
.account-benefits li{position:relative;padding-left:26px;color:#e9f4ff;font-weight:700}
.account-benefits li::before{content:"✓";position:absolute;left:0;top:0;color:#6af7a5;font-weight:900}
.login-card h2,.register-card h2{font-size:2rem}
.login-card .btn,.register-card .btn{width:100%;justify-content:center}
@media(max-width:900px){
  .account-auth-grid{grid-template-columns:1fr;}
  .login-card{order:2}
  .register-card{order:1}
}


/* === v28 icono flotante de WhatsApp === */
.floating-whatsapp{background:transparent !important;box-shadow:none !important;border-radius:50%;overflow:hidden;width:68px;height:68px;padding:0}
.floating-whatsapp img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;filter:drop-shadow(0 12px 24px rgba(33,211,102,.35));}
.floating-whatsapp:hover{transform:translateY(-2px) scale(1.04)}
@media(max-width:768px){.floating-whatsapp{width:62px!important;height:62px!important;right:12px!important;bottom:12px!important}}


/* === v29 login a la derecha + Google === */
.nav-wrap{align-items:center}
.header-auth-panel{margin-left:auto;display:flex;align-items:center}
.header-login-form{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
.header-login-fields{display:grid;grid-template-columns:170px 150px;gap:8px}
.header-login-fields input{width:100%;height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:var(--text);outline:none;font-weight:700}
.header-login-fields input::placeholder{color:#b6cae2}
.header-login-actions{display:flex;align-items:center;gap:8px}
.header-btn{height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#eef7ff;background:rgba(255,255,255,.06);white-space:nowrap}
.header-btn:hover{transform:translateY(-1px)}
.header-btn-primary{background:linear-gradient(135deg,var(--cyan),var(--violet));color:#06101f;border-color:transparent;box-shadow:0 10px 24px rgba(92,156,255,.24)}
.header-btn-ghost{background:rgba(255,255,255,.05)}
.header-btn-google{background:linear-gradient(135deg,#ffffff,#edf2ff);color:#1b2c48;border-color:rgba(255,255,255,.55);position:relative;padding-left:34px}
.header-btn-google::before,.google-login::before{content:"G";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#4285F4;font-weight:900;font-size:.9rem}
.google-login{position:relative;padding-left:42px !important;background:linear-gradient(135deg,#ffffff,#eef3ff) !important;color:#1c2f4d !important;border-color:rgba(255,255,255,.55) !important;margin-top:10px}
@media (max-width: 1440px){.header-login-fields{grid-template-columns:150px 130px}.header-btn{padding:0 10px;font-size:.9rem}}
@media (max-width: 1280px){.header-auth-panel{display:none}}
@media (max-width: 1280px){.main-nav{gap:18px}}
@media (max-width: 768px){.header-auth-panel{display:none !important}}


/* === v30 Google button visual === */
.nav-google-cta,.header-btn-google,.google-login{display:inline-flex;align-items:center;gap:10px}
.nav-google-cta img,.header-btn-google img,.google-login img{width:18px;height:18px;object-fit:contain;display:block;flex:0 0 18px}
.nav-google-cta{background:linear-gradient(135deg,#ffffff,#eef3ff) !important;color:#1d2f4c !important;border:1px solid rgba(255,255,255,.5) !important;box-shadow:0 12px 26px rgba(255,255,255,.08),0 10px 22px rgba(92,156,255,.18)}
.nav-google-cta:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(255,255,255,.12),0 12px 28px rgba(92,156,255,.24)}
.header-btn-google{background:linear-gradient(135deg,#ffffff,#edf2ff);color:#1b2c48;border-color:rgba(255,255,255,.55);position:relative;padding-left:12px}
.header-btn-google::before,.google-login::before{display:none !important;content:none !important}
.google-login{position:relative;padding-left:16px !important;background:linear-gradient(135deg,#ffffff,#eef3ff) !important;color:#1c2f4d !important;border-color:rgba(255,255,255,.55) !important;margin-top:10px;justify-content:center}
.google-login span,.header-btn-google span,.nav-google-cta span{font-weight:800}
@media (max-width: 1360px){
  .nav-google-cta span{font-size:.92rem}
}
@media (max-width: 1280px){
  .nav-google-cta{display:none !important}
}


/* === v31 fix navegación desde Mi Cuenta === */
.site-header{z-index:9999}
.nav-wrap{position:relative}
.main-nav a{pointer-events:auto}
.header-auth-panel{position:relative;z-index:2}
.main-nav{position:relative;z-index:3}
@media(max-width:1280px){
  .header-auth-panel{display:none!important}
}


/* === v33 header cleanup === */
.nav-wrap{gap:12px}
.main-nav{gap:18px;flex:1 1 auto;justify-content:center;min-width:0}
.main-nav a{font-size:.98rem;white-space:nowrap}
.nav-profile-link{margin-left:4px}
.header-auth-panel{margin-left:0;flex:0 0 auto;min-width:0}
.header-login-form{gap:8px}
.header-login-fields{display:grid;grid-template-columns:160px 145px;gap:8px}
.header-login-actions{gap:8px}
.header-btn{min-width:auto;padding:0 14px}
.header-btn-ghost,.header-btn-primary{white-space:nowrap}
.nav-google-cta{display:none !important}
@media (max-width: 1500px){
  .main-nav{gap:16px}
  .main-nav a{font-size:.95rem}
  .header-login-fields{grid-template-columns:150px 135px}
  .header-btn{padding:0 12px;font-size:.92rem}
}
@media (max-width: 1360px){
  .main-nav{gap:14px}
  .header-login-fields{grid-template-columns:138px 126px}
  .header-btn{padding:0 11px;font-size:.9rem}
}
@media (max-width: 1240px){
  .header-auth-panel{display:none !important}
}
@media (max-width: 768px){
  .main-nav .nav-profile-link{display:inline-flex !important}
}


/* === v34 mobile auth menu === */
.mobile-auth-card{display:none}
.mobile-auth-card strong{display:block;font-size:1.08rem;line-height:1.2;color:#fff;margin:2px 0 14px}
.mobile-auth-kicker{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:rgba(28,214,255,.12);border:1px solid rgba(28,214,255,.22);color:#c9f3ff;font-weight:800;font-size:.82rem;margin-bottom:10px}
.mobile-auth-actions{display:grid;gap:10px;margin-top:10px}
.mobile-google-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#ffffff,#eef3ff);color:#1c2f4d;border-color:rgba(255,255,255,.5)}
.mobile-google-btn img{width:18px;height:18px;object-fit:contain}
@media (max-width: 768px){
  .main-nav{padding-bottom:26px !important}
  .mobile-auth-card{display:block;margin-top:10px;padding:16px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px rgba(0,0,0,.26)}
}


/* === v35 header desktop ordenado + Google compacto === */
.site-header .container.nav-wrap{
  width:min(1500px, calc(100% - 34px)) !important;
  max-width:1500px !important;
}
.nav-wrap{
  gap:18px !important;
}
.brand.brand-image{
  flex:0 0 auto;
}
.main-nav{
  flex:1 1 auto !important;
  justify-content:center !important;
  gap:18px !important;
  min-width:420px;
}
.main-nav a{
  font-size:.96rem !important;
}
.header-auth-panel{
  flex:0 0 auto !important;
  margin-left:0 !important;
  max-width:none;
}
.header-login-form{
  gap:8px !important;
}
.header-login-fields{
  grid-template-columns:155px 135px !important;
  gap:8px !important;
}
.header-login-fields input{
  height:38px !important;
  font-size:.86rem !important;
  padding:0 11px !important;
}
.header-login-actions{
  gap:7px !important;
}
.header-btn{
  height:38px !important;
  padding:0 12px !important;
  font-size:.88rem !important;
  border-radius:12px !important;
}
.header-btn-google{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  background:linear-gradient(135deg,#fff,#eef3ff) !important;
  color:#1c2f4d !important;
  border-color:rgba(255,255,255,.55) !important;
  padding:0 12px !important;
}
.header-btn-google img{
  width:17px !important;
  height:17px !important;
  object-fit:contain;
  display:block;
}
.header-btn-google::before{
  display:none !important;
  content:none !important;
}
.nav-google-cta{
  display:none !important;
}
@media(max-width:1420px){
  .main-nav{gap:14px !important;min-width:390px}
  .main-nav a{font-size:.9rem !important}
  .header-login-fields{grid-template-columns:140px 120px !important}
  .header-btn{padding:0 10px !important;font-size:.84rem !important}
  .header-btn-google span{display:none}
  .header-btn-google{width:42px !important;padding:0 !important;justify-content:center !important}
}
@media(max-width:1240px){
  .header-auth-panel{display:none !important}
  .main-nav{min-width:0}
}
@media(max-width:768px){
  .header-auth-panel{display:none !important}
  .mobile-google-btn img{width:18px;height:18px}
}


/* === v36 mobile menu dropdown polish === */
@media (max-width:768px){
  .site-header{overflow:visible !important}
  .site-header .container.nav-wrap{width:min(100% - 18px, 1180px) !important;max-width:none !important}
  .nav-wrap{position:relative !important;min-height:76px !important;padding:10px 0 !important;gap:12px !important}
  .brand.brand-image{max-width:calc(100% - 78px) !important}
  .brand-header-logo{height:48px !important;max-width:220px !important}
  .nav-toggle{display:grid !important;place-items:center;width:54px !important;height:54px !important;border-radius:18px !important;font-size:2rem !important;line-height:1 !important}
  .nav-overlay{background:rgba(1,6,14,.46) !important;backdrop-filter:blur(2px) !important;z-index:998 !important}
  .main-nav{
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    width:100% !important;
    max-height:calc(100vh - 110px) !important;
    min-width:0 !important;
    padding:14px !important;
    gap:10px !important;
    border-radius:24px !important;
    border:1px solid rgba(28,214,255,.14) !important;
    background:linear-gradient(180deg,rgba(7,20,39,.98),rgba(8,23,44,.98)) !important;
    box-shadow:0 18px 40px rgba(0,0,0,.36) !important;
    overflow:auto !important;
    transform:translateY(-10px) scale(.98) !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
  .main-nav.open{
    transform:translateY(0) scale(1) !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
  .main-nav a{
    padding:14px 16px !important;
    border-radius:16px !important;
    font-size:1rem !important;
    font-weight:800 !important;
    background:rgba(255,255,255,.045) !important;
    border:1px solid rgba(255,255,255,.08) !important;
  }
  .main-nav .nav-cta{
    margin-top:2px !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .mobile-auth-card{
    display:block !important;
    margin-top:6px !important;
    padding:16px !important;
    border-radius:22px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045)) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    box-shadow:none !important;
  }
  .mobile-auth-kicker{font-size:.8rem !important;padding:8px 12px !important;margin-bottom:10px !important}
  .mobile-auth-card strong{font-size:1.06rem !important;margin-bottom:12px !important}
  .mobile-auth-actions{gap:10px !important;margin-top:10px !important}
  .mobile-auth-actions .header-btn,
  .mobile-google-btn{width:100% !important;justify-content:center !important;height:46px !important}
  .mobile-google-btn span{display:inline !important}
  .hero-ultra{padding-top:28px !important}
  .hero h1{font-size:2.05rem !important;line-height:1.02 !important;letter-spacing:-.05em !important}
  .hero p{font-size:1rem !important;line-height:1.65 !important}
  .hero-actions{gap:12px !important}
  .hero-actions .btn{min-height:56px !important;border-radius:18px !important;font-size:1.05rem !important}
  .trust-row{grid-template-columns:1fr !important;gap:10px !important}
  .trust-row span{min-height:54px !important;border-radius:18px !important}
  .floating-whatsapp{width:60px !important;height:60px !important;right:12px !important;bottom:12px !important}
}
@media (max-width:430px){
  .site-header .container.nav-wrap{width:min(100% - 14px, 1180px) !important}
  .brand-header-logo{height:44px !important;max-width:200px !important}
  .nav-toggle{width:50px !important;height:50px !important;border-radius:16px !important}
  .main-nav{top:calc(100% + 8px) !important;padding:12px !important;border-radius:20px !important;max-height:calc(100vh - 100px) !important}
  .main-nav a{padding:13px 14px !important;font-size:.98rem !important}
  .mobile-auth-card{padding:14px !important;border-radius:18px !important}
  .hero h1{font-size:1.84rem !important}
  .hero p{font-size:.98rem !important}
}


/* === v37 sliders de vista previa === */
.hero-slider-wrap{padding:0!important;background:linear-gradient(180deg,#081225,#0b1221)!important}
.gmogi-slider{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(180deg,rgba(4,12,24,.92),rgba(10,18,34,.96));border:1px solid rgba(255,255,255,.08)}
.gmogi-slider.hero-slider{width:100%;height:100%}
.gmogi-slide{position:absolute;inset:0;opacity:0;animation:gmogiSliderFade 10s infinite;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#081225,#0d1424)}
.gmogi-slide:nth-child(2){animation-delay:5s}
.gmogi-slide img{width:100%;height:100%;object-fit:contain;display:block}
@keyframes gmogiSliderFade{0%,45%{opacity:1}50%,95%{opacity:0}100%{opacity:1}}
.gmogi-slider-thumbs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.gmogi-thumb-card{padding:8px;border-radius:16px;background:rgba(5,21,43,.68);border:1px solid rgba(255,255,255,.10);display:grid;gap:8px;box-shadow:0 8px 22px rgba(0,0,0,.22)}
.gmogi-thumb-card img{width:100%;height:76px;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#09111f}
.gmogi-thumb-card span{display:block;text-align:center;color:#dff4ff;font-size:.82rem;font-weight:900;letter-spacing:.01em}
.hero-slider-thumbs .gmogi-thumb-card img{height:68px}
.plan-preview-slider .plan-card-slider{aspect-ratio:16/10;border-radius:14px}
.plan-preview-slider .gmogi-slide img{object-fit:cover}
.hero-slider .gmogi-slide img{object-fit:contain}
@media (min-width:769px){
  .plan-preview-slider .gmogi-thumb-card img{height:62px}
}
@media (max-width:768px){
  .gmogi-slider-thumbs{gap:8px;margin-top:10px}
  .gmogi-thumb-card{padding:7px;border-radius:14px}
  .gmogi-thumb-card img{height:62px}
  .gmogi-thumb-card span{font-size:.76rem}
}


/* Preview white-bar fix */
.device-screen img,.clean-screen{background:#091325 !important;}
.device-screen{background:#091325 !important;}

/* === v38 enlaces del menu siempre interactivos === */
.site-header .main-nav{
  isolation:isolate;
  pointer-events:auto;
}
.site-header .main-nav > a{
  position:relative;
  z-index:10;
  display:inline-flex;
  align-items:center;
  pointer-events:auto !important;
  cursor:pointer;
}
#planes,#servicios,#trabajos,#valoraciones,#ceo{
  scroll-margin-top:110px;
}
@media(max-width:768px){
  #planes,#servicios,#trabajos,#valoraciones,#ceo{
    scroll-margin-top:90px;
  }
}

/* === v39 video publicitario en el hero === */
.hero-promo-video{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  background:#091325;
}
.hero-promo-video::-webkit-media-controls-panel{
  background:linear-gradient(180deg,transparent,rgba(3,10,20,.82));
}
@media(max-width:768px){
  .hero-promo-video{
    object-fit:contain;
  }
}
