/* ═══════════════════════════════════════════════════════════════
   MARAVE WEB STUDIO — main.css
   CSS único fusionado y optimizado
   Reemplaza: styles.css + styles-pages.css + styles-pages-2.css
              + styles-custom.css + cookies-banner.css
═══════════════════════════════════════════════════════════════ */

/* ── Variables ── */
:root{
  --accent:#6fb4ac;--accent2:#8eccc5;
  --accent-dim:rgba(111,180,172,.10);--accent-ghost:rgba(111,180,172,.04);
  --accent-line:rgba(111,180,172,.22);
  --bg:#0a0a0a;--bg2:#0d0d0d;--bg3:#111;--bg4:#161616;
  --text:#f0ede8;--text-dim:#c8c4be;
  --muted:#6a6762;--muted2:#9a9590;
  --border:rgba(255,255,255,.08);--border2:rgba(255,255,255,.12);--border3:rgba(255,255,255,.18);
  --fh:'Fraunces',serif;--fb:'Poppins',sans-serif;--fm:'Poppins',sans-serif;
  --gutter:5vw;--section:6rem;--section-s:4rem;
  --ease:cubic-bezier(.25,.46,.45,.94);--ease-out:cubic-bezier(.19,1,.22,1);
}

/* ── Reset ── */
*{box-sizing:border-box;margin:0;padding:0;}
html,body{background:var(--bg);color:var(--text);font-family:var(--fb);-webkit-font-smoothing:antialiased;cursor:crosshair;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;}
input,textarea,select{font-family:inherit;}
ul,ol{list-style:none;}

/* ── Tipografía base ── */
.display{font-family:var(--fh);font-weight:400;line-height:1.05;color:var(--text);}
.italic{font-style:italic;color:var(--accent);}
.sub{font-size:.95rem;color:var(--muted);line-height:1.8;margin-top:1.5rem;max-width:480px;}
.eyebrow{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-family:var(--fb);display:flex;align-items:center;gap:.8rem;}
.eyebrow::before{content:'';display:block;width:2rem;height:1px;background:var(--accent);flex-shrink:0;}

/* ── Logo ── */
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;}
.logo-txt{display:flex;flex-direction:column;line-height:1;gap:3px;}
.logo-main{font-family:'Cinzel',serif;font-size:1.15rem;font-weight:700;letter-spacing:.18em;color:var(--text);text-transform:uppercase;line-height:1;}
.logo-sub{font-family:'Raleway',sans-serif;font-size:7.5px;font-weight:500;letter-spacing:.38em;color:rgba(216,216,216,.7);text-transform:uppercase;line-height:1;}
.logo-mark{display:none;}

/* ── Nav ── */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;height:64px;border-bottom:1px solid var(--border);background:rgba(10,10,10,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.nav-links{display:flex;gap:2rem;}
.nav-links a{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--text);}
.nav-right{display:flex;align-items:center;gap:1.5rem;}
.nav-status{display:flex;align-items:center;gap:.5rem;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.nav-status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.nav-cta{font-size:.72rem;padding:.45rem 1.1rem;border:1px solid var(--accent);color:var(--accent);border-radius:4px;transition:all .2s;}
.nav-cta:hover{background:var(--accent);color:#000;}
.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:4px;}
.nav-hamburger span{display:block;width:22px;height:1.5px;background:var(--text);transition:all .3s;}
@media(max-width:900px){.nav-links,.nav-right .nav-status{display:none;}.nav-hamburger{display:flex;}}

/* ── Mobile menu ── */
.mobile-menu{display:none;position:fixed;inset:0;z-index:200;background:var(--bg);padding:5rem 2rem 2rem;flex-direction:column;gap:1.5rem;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:1.5rem;font-family:var(--fh);color:var(--text);}
.mobile-menu-close{position:absolute;top:1.5rem;right:2rem;background:none;border:none;color:var(--text);font-size:1.5rem;}

/* ── Buttons ── */
.btn-p{padding:.72rem 1.8rem;background:var(--accent);color:#000;border:none;font-family:var(--fb);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:4px;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem;}
.btn-p:hover{background:var(--accent2);transform:translateY(-2px);}
.btn-g{padding:.72rem 1.8rem;background:transparent;color:var(--text);border:1px solid var(--border2);font-family:var(--fb);font-size:.78rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;border-radius:4px;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem;}
.btn-g:hover{border-color:var(--accent);color:var(--accent);}
.btn-ghost{padding:.72rem 1.8rem;background:transparent;color:var(--accent);border:1px solid var(--accent);font-family:var(--fb);font-size:.78rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;border-radius:4px;transition:all .2s;display:inline-flex;align-items:center;}
.btn-ghost:hover{background:var(--accent);color:#000;}

/* ── Main padding ── */
main{padding-top:64px;}

/* ══════════════════════════════════════
   HOME
══════════════════════════════════════ */

/* Hero */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:8rem var(--gutter) 5rem;gap:4rem;position:relative;overflow:hidden;}
.hero-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--fh);font-size:clamp(8rem,18vw,20rem);font-weight:700;color:rgba(255,255,255,.03);letter-spacing:.05em;pointer-events:none;user-select:none;white-space:nowrap;z-index:0;line-height:1;}
.hero-left{position:relative;z-index:1;}
.hero-meta{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.hero-meta-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;}
.hero-meta-sep{width:30px;height:1px;background:var(--border);}
h1.display{font-size:clamp(3rem,6vw,5.5rem);}
.hero-actions{display:flex;gap:1rem;margin-top:2.5rem;flex-wrap:wrap;}
.hero-scroll{position:absolute;bottom:2rem;left:var(--gutter);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.hero-visual{position:relative;z-index:1;}

/* Browser mock */
.browser-frame{background:var(--bg3);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.browser-bar{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--border);}
.browser-dots{display:flex;gap:6px;}
.browser-dots span{width:10px;height:10px;border-radius:50%;background:var(--border2);}
.browser-url{font-size:.72rem;color:var(--muted);font-family:'Courier New',monospace;}
.browser-body{padding:1.5rem;}
.bm-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;}
.bm-logo{font-family:var(--fh);font-size:.85rem;color:var(--text);letter-spacing:.1em;}
.bm-links{display:flex;gap:.8rem;font-size:.6rem;color:var(--muted);letter-spacing:.08em;}
.bm-h1{font-family:var(--fh);font-size:1.4rem;color:var(--text);line-height:1.2;margin-bottom:.5rem;}
.bm-sub{font-size:.72rem;color:var(--muted);margin-bottom:1rem;}
.bm-cta{display:inline-block;padding:.4rem .9rem;background:var(--accent);color:#000;font-size:.65rem;font-weight:600;border-radius:3px;}
.bm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1rem;}
.bm-card{background:var(--bg2);padding:.6rem;border-radius:4px;font-size:.6rem;color:var(--muted);}
.browser-frame-small{position:absolute;bottom:-20px;right:-20px;width:120px;background:var(--bg3);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.phone-screen{padding:1rem .8rem;}
.phone-notch{width:40px;height:4px;background:var(--border);border-radius:2px;margin:0 auto .8rem;}
.phone-h1{font-family:var(--fh);font-size:.75rem;color:var(--text);line-height:1.2;margin-bottom:.6rem;}
.phone-h1 em{font-style:italic;color:var(--accent);}
.phone-card{height:18px;background:var(--bg2);border-radius:3px;margin-bottom:.4rem;}
.phone-cta{height:12px;width:70%;background:var(--accent);border-radius:3px;margin-top:.4rem;opacity:.6;}

/* Ticker */
.ticker-bar{display:flex;align-items:center;gap:2rem;padding:1.2rem var(--gutter);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;white-space:nowrap;}
.ticker-label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex-shrink:0;}
.ticker-track{display:flex;gap:3rem;animation:ticker 25s linear infinite;font-size:.78rem;color:var(--muted2);}
.ticker-track span{flex-shrink:0;}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Stats */
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border);}
.stat{padding:2rem var(--gutter);border-right:1px solid var(--border);}
.stat:last-child{border-right:none;}
.stat-n{font-family:var(--fh);font-size:2.2rem;color:var(--text);font-weight:400;}
.stat-l{font-size:.72rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:.3rem;}

/* Servicios home */
.home-svcs{padding:var(--section) var(--gutter);}
.svcs-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:4rem;align-items:end;}
.svcs-head-right{font-size:.88rem;color:var(--muted);line-height:1.8;max-width:420px;justify-self:end;}
.hs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.hs-card{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:2rem;transition:border-color .3s,transform .3s;display:block;color:inherit;}
.hs-card:hover{border-color:var(--accent);transform:translateY(-4px);}
.hs-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;}
.hs-num{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);}
.hs-plus{font-size:1.2rem;color:var(--muted);}
.hs-card h3{font-family:var(--fh);font-size:1.1rem;font-weight:400;color:var(--text);margin-bottom:.8rem;}
.hs-card p{font-size:.82rem;color:var(--muted);line-height:1.7;}
.hs-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem;}
.hs-tag{font-size:.68rem;padding:.2rem .6rem;border-radius:20px;border:1px solid var(--border);color:var(--muted);}

/* Trust */
.trust-section{padding:var(--section) var(--gutter);background:var(--bg2);}
.trust-head{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:4rem;align-items:end;}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.trust-card{padding:2rem;border:1px solid var(--border);border-radius:12px;}
.trust-icon{width:44px;height:44px;border-radius:10px;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;}
.trust-icon svg{width:22px;height:22px;stroke:var(--accent);}
.trust-card h4{font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:.5rem;}
.trust-card p{font-size:.82rem;color:var(--muted);line-height:1.7;}

/* Testimonials */
.testimonials-section{padding:var(--section) var(--gutter);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem;}
.testi-card{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:2rem;display:flex;flex-direction:column;gap:1.2rem;}
.testi-stars{color:var(--accent);font-size:1rem;letter-spacing:.2rem;}
.testi-text{font-family:var(--fh);font-style:italic;font-size:1rem;color:var(--text);line-height:1.6;flex:1;}
.testi-author{display:flex;align-items:center;gap:.8rem;padding-top:1rem;border-top:1px solid var(--border);}
.testi-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-dim);border:1px solid var(--accent-line);display:flex;align-items:center;justify-content:center;font-family:var(--fh);font-size:.9rem;color:var(--accent);font-style:italic;flex-shrink:0;}
.testi-name{font-size:.85rem;font-weight:600;color:var(--text);}
.testi-role{font-size:.72rem;color:var(--muted);}

/* Blog */
.blog-section{padding:var(--section) var(--gutter);}
.blog-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.blog-card{background:var(--bg3);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform .3s;}
.blog-card:hover{transform:translateY(-4px);}
.blog-thumb{height:200px;background:var(--bg2);display:flex;align-items:flex-end;padding:1rem;position:relative;background-size:cover;background-position:center;}
.blog-thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);pointer-events:none;}
.blog-thumb-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:rgba(0,0,0,.6);padding:.3rem .6rem;border-radius:4px;position:relative;z-index:1;}
.blog-card>div:not(.blog-thumb){padding:1.5rem;}
.blog-meta{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-bottom:.8rem;}
.blog-cat{color:var(--accent);}
.blog-card h4{font-family:var(--fh);font-size:1rem;font-weight:400;color:var(--text);margin-bottom:.6rem;line-height:1.4;}
.blog-card p{font-size:.82rem;color:var(--muted);line-height:1.7;}
.blog-read{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;font-size:.75rem;color:var(--accent);}

/* CTA */
.home-cta{padding:8rem var(--gutter);text-align:center;background:var(--bg2);}
.home-cta-inner{max-width:700px;margin:0 auto;}
.home-cta h2{font-size:clamp(2rem,5vw,4rem);margin-top:1rem;}
.home-cta .sub{margin:1.5rem auto;max-width:480px;}
.cta-btns{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap;}

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
footer{background:var(--bg);border-top:1px solid var(--border);}
.footer-top{display:flex;justify-content:space-between;align-items:center;padding:4rem var(--gutter);border-bottom:1px solid var(--border);gap:2rem;flex-wrap:wrap;}
.footer-top h3{font-size:clamp(1.5rem,3vw,2.5rem);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding:4rem var(--gutter);border-bottom:1px solid var(--border);}
.footer-brand p{font-size:.82rem;color:var(--muted);line-height:1.8;margin-top:1rem;}
.footer-contact-line{font-size:.82rem;color:var(--muted);margin-top:.5rem;}
.footer-contact-line a{color:var(--muted);transition:color .2s;}
.footer-contact-line a:hover{color:var(--accent);}
.footer-col h5{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text);margin-bottom:1.2rem;}
.footer-col li{margin-bottom:.6rem;}
.footer-col a{font-size:.82rem;color:var(--muted);transition:color .2s;}
.footer-col a:hover{color:var(--accent);}
.footer-bottom{display:flex;justify-content:space-between;padding:1.5rem var(--gutter);font-size:.72rem;color:var(--muted);flex-wrap:wrap;gap:.5rem;}
.footer-bottom span{color:var(--text);}

/* ══════════════════════════════════════
   PÁGINAS INTERIORES
══════════════════════════════════════ */

/* Page hero */
.page-hero{padding:calc(var(--section-s) + 64px) var(--gutter) var(--section-s);position:relative;overflow:hidden;}
.ph-glow{position:absolute;top:-10%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,var(--accent-dim) 0%,transparent 60%);pointer-events:none;}
.ph-content{position:relative;z-index:1;max-width:900px;}
.ph-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:2rem;flex-wrap:wrap;}
.ph-breadcrumb a{color:var(--muted);transition:color .2s;}
.ph-breadcrumb a:hover{color:var(--accent);}
.ph-breadcrumb span{color:var(--muted);}
.ph-breadcrumb .current{color:var(--accent);}

/* Servicios */
.svc-section{padding:var(--section-s) var(--gutter) var(--section);}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.svc-card{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:2.5rem 2rem;transition:border-color .3s,transform .3s;display:flex;flex-direction:column;}
.svc-card:hover{border-color:var(--accent);transform:translateY(-4px);}
.svc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;}
.svc-num{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);}
.svc-plus{font-size:1.2rem;color:var(--muted);transition:all .3s;}
.svc-card:hover .svc-plus{color:var(--accent);transform:rotate(90deg);}
.svc-card h3{font-family:var(--fh);font-weight:400;font-size:1.4rem;line-height:1.1;margin-bottom:.8rem;}
.svc-card p{font-size:.85rem;color:var(--muted);line-height:1.7;margin-bottom:auto;}
.svc-feat{margin-top:1.5rem;display:flex;flex-direction:column;gap:.4rem;}
.svc-feat li{font-size:.72rem;color:var(--text-dim);display:flex;gap:.6rem;align-items:center;}
.svc-feat li::before{content:'';width:10px;height:1px;background:var(--accent);}

/* Proceso */
.proceso-section{padding:var(--section) var(--gutter);background:var(--bg2);}
.proceso-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border);}
.step-card{padding:2.2rem 1.4rem;border-right:1px solid var(--border);position:relative;transition:background .25s;}
.step-card:last-child{border-right:none;}
.step-card:hover{background:var(--bg3);}
.step-num{font-size:.64rem;letter-spacing:.16em;color:var(--accent);margin-bottom:1rem;}
.step-dot{position:absolute;top:-4px;left:1.4rem;width:7px;height:7px;background:var(--accent);border-radius:50%;}
.step-card h4{font-family:var(--fh);font-weight:500;font-size:1.1rem;margin-bottom:.5rem;}
.step-card p{font-size:.8rem;color:var(--muted);line-height:1.6;}
.step-duration{margin-top:1rem;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}

/* Planes */
.planes-section{padding:var(--section) var(--gutter);}
.planes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.plan-card{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:2.5rem 2rem;position:relative;}
.plan-card.feat{border-color:rgba(111,180,172,.4);background:var(--bg2);}
.plan-badge{position:absolute;top:-12px;right:2rem;background:var(--accent);color:#000;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:.3rem .9rem;border-radius:20px;}
.plan-name{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem;}
.plan-card.feat .plan-name{color:var(--accent);}
.plan-price{font-family:var(--fh);font-size:2.2rem;color:var(--text);margin-bottom:.3rem;letter-spacing:-.02em;line-height:1;}
.plan-price em{color:var(--accent);font-style:italic;}
.plan-tagline{font-family:var(--fh);font-style:italic;font-size:.95rem;color:var(--muted);margin-bottom:2rem;line-height:1.3;}
.plan-div{height:1px;background:var(--border);margin-bottom:1.5rem;}
.plan-features li{font-size:.82rem;color:var(--text-dim);padding:.6rem 0;display:flex;gap:.8rem;align-items:flex-start;border-bottom:1px solid var(--border);}
.plan-features li:last-child{border-bottom:none;}
.plan-check{color:var(--accent);flex-shrink:0;font-size:.8rem;margin-top:2px;}
.plan-btn{display:block;width:100%;text-align:center;margin-top:1.8rem;padding:.9rem;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border2);color:var(--text-dim);transition:all .25s;background:transparent;border-radius:4px;}
.plan-btn:hover{border-color:var(--accent);color:var(--accent);}
.plan-card.feat .plan-btn{border-color:var(--accent);color:var(--accent);background:var(--accent-ghost);}
.plan-card.feat .plan-btn:hover{background:var(--accent);color:#000;}

/* Nosotros */
.about-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:6rem;align-items:start;padding:var(--section) var(--gutter);}
.about-img-box{aspect-ratio:3/4;max-height:560px;border:1px solid var(--border2);position:relative;overflow:hidden;background:var(--bg3);}
.about-img-box::before{display:none;}
.about-img-box img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.about-accent{position:absolute;top:0;left:0;width:3px;height:60px;background:var(--accent);z-index:2;}
.about-crop-marks{position:absolute;font-size:.56rem;letter-spacing:.14em;color:rgba(240,237,232,.6);text-transform:uppercase;z-index:2;}
.about-crop-marks.tl{top:1rem;left:1rem;}
.about-crop-marks.br{bottom:1rem;right:1rem;text-align:right;}
.about-caption{position:absolute;bottom:0;left:0;right:0;z-index:3;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);padding:2rem;}
.about-caption-name{font-family:var(--fh);font-size:1.1rem;color:var(--text);margin-bottom:.2rem;}
.about-caption span{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.about-content h1{font-size:clamp(2.8rem,5.6vw,5.2rem);margin-top:1.2rem;}
.about-highlight{background:var(--accent-ghost);border-left:2px solid var(--accent);padding:1.4rem 1.6rem;margin:2rem 0;font-family:var(--fh);font-size:1.2rem;font-style:italic;color:var(--text);line-height:1.45;}
.about-values{display:grid;grid-template-columns:1fr 1fr;margin-top:2.5rem;border-top:1px solid var(--border);border-left:1px solid var(--border);}
.about-val{padding:1.6rem 1.4rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);}
.about-val:hover{background:var(--bg2);}
.about-val-num{font-size:.6rem;letter-spacing:.14em;color:var(--accent);margin-bottom:.8rem;}
.about-val h4{font-family:var(--fh);font-size:1.1rem;font-weight:500;margin-bottom:.4rem;}
.about-val p{font-size:.8rem;color:var(--muted);line-height:1.6;}

/* FAQ */
.faq-section{padding:var(--section) var(--gutter);background:var(--bg2);border-top:1px solid var(--border);}
.faq-head{text-align:center;margin-bottom:3.5rem;}
.faq-wrap{max-width:820px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border);}
.faq-item:first-child{border-top:1px solid var(--border);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;cursor:pointer;font-family:var(--fh);font-size:1rem;font-weight:500;transition:color .25s;gap:1rem;}
.faq-q:hover{color:var(--accent);}
.faq-icon{width:28px;height:28px;border:1px solid var(--border2);display:grid;place-items:center;font-size:1rem;flex-shrink:0;transition:all .35s;color:var(--muted);}
.faq-item.open .faq-icon{border-color:var(--accent);color:var(--accent);transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s;}
.faq-item.open .faq-a{max-height:260px;padding-bottom:1.6rem;}
.faq-a p{font-size:.88rem;color:var(--muted);line-height:1.8;max-width:60ch;}

/* Proyectos */
.port-section{padding:var(--section-s) var(--gutter) var(--section);}
.port-filters{display:flex;gap:.5rem;margin-bottom:2.5rem;flex-wrap:wrap;padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
.port-filter{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:.5rem 1rem;border:1px solid var(--border2);background:transparent;border-radius:20px;transition:all .2s;}
.port-filter:hover{border-color:var(--muted);color:var(--text);}
.port-filter.active{border-color:var(--accent);color:var(--accent);background:var(--accent-ghost);}
.port-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.port-item{background:var(--bg3);border:1px solid var(--border);border-radius:12px;overflow:hidden;position:relative;cursor:pointer;transition:border-color .3s,transform .4s;}
.port-item:hover{border-color:var(--accent-line);transform:translateY(-4px);}
.port-device{aspect-ratio:16/10;background:var(--bg2);position:relative;overflow:hidden;}
.port-device-bar{background:var(--bg3);padding:.5rem .8rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.4rem;}
.port-device-bar span{width:7px;height:7px;border-radius:50%;background:var(--border2);}
.port-device-bar .url{flex:1;margin-left:.4rem;font-size:.56rem;color:var(--muted);font-family:'Courier New',monospace;}
.port-device-body{flex:1;background:linear-gradient(135deg,var(--bg2),var(--bg3));padding:1rem 1.2rem;display:flex;flex-direction:column;justify-content:space-between;min-height:120px;}
.port-mock-title{font-family:var(--fh);font-size:1.2rem;line-height:1.1;color:var(--text);letter-spacing:-.02em;}
.port-mock-title em{color:var(--accent);font-style:italic;}
.port-mock-sub{font-size:.56rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:.4rem;}
.port-mock-cta{background:var(--accent);color:#000;padding:.3rem .6rem;font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;border-radius:3px;display:inline-block;margin-top:.8rem;}
.port-ov{position:absolute;inset:0;background:rgba(8,8,8,.88);padding:1.5rem;transform:translateY(100%);opacity:0;transition:all .35s;display:flex;flex-direction:column;justify-content:flex-end;}
.port-item:hover .port-ov{transform:translateY(0);opacity:1;}
.port-tag{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);padding:.2rem .6rem;border-radius:20px;display:inline-block;margin-bottom:.6rem;}
.port-ov h4{font-family:var(--fh);font-size:1.1rem;color:var(--text);margin-bottom:.3rem;}
.port-ov p{font-size:.75rem;color:var(--muted2);}

/* Contacto */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:var(--section) var(--gutter);align-items:start;}
.contact-info h1{font-size:clamp(2.8rem,5.4vw,5rem);margin-top:1rem;}
.contact-info .sub{margin:1.5rem 0 2.5rem;max-width:380px;}
.contact-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.6rem;padding-bottom:1.6rem;border-bottom:1px solid var(--border);}
.contact-item:last-of-type{border-bottom:none;}
.c-icon{width:40px;height:40px;border:1px solid var(--accent);display:grid;place-items:center;color:var(--accent);flex-shrink:0;border-radius:8px;}
.c-icon svg{width:16px;height:16px;}
.c-label{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;}
.c-val{font-size:.9rem;color:var(--text);}
.c-val a{color:var(--text);transition:color .2s;}
.c-val a:hover{color:var(--accent);}

/* Forms */
.contact-form-box,.calc-form,.result-box,.result-form{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:2.5rem;}
.contact-form-box::before,.calc-form::before,.result-box::before{content:'';display:block;width:40px;height:3px;background:var(--accent);margin-bottom:1.5rem;border-radius:2px;}
.cf-title{font-family:var(--fh);font-size:1.7rem;font-weight:500;margin-bottom:.4rem;}
.cf-sub{font-size:.84rem;color:var(--muted);margin-bottom:2rem;}
.form-group{margin-bottom:1.3rem;}
.form-group label{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;}
.form-group input,.form-group textarea,.form-group select{width:100%;background:var(--bg);border:1px solid var(--border2);color:var(--text);padding:.85rem 1rem;font-size:.88rem;transition:border-color .25s;outline:none;border-radius:6px;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--accent);}
.form-group textarea{resize:vertical;min-height:120px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-submit{width:100%;background:var(--accent);color:#000;border:none;padding:1.05rem;font-weight:600;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .25s;margin-top:.5rem;border-radius:6px;}
.form-submit:hover{background:var(--accent2);}
.form-notice{font-size:.66rem;color:var(--muted);margin-top:1rem;text-align:center;line-height:1.6;}
.form-notice a{color:var(--accent);}
.form-success{display:none;background:var(--accent-ghost);border:1px solid var(--accent-line);padding:1.5rem;text-align:center;margin-top:1rem;border-radius:8px;}
.form-success p{font-family:var(--fh);font-size:1.1rem;font-style:italic;color:var(--accent);}
.form-legal{display:flex;align-items:flex-start;gap:.8rem;margin-top:.5rem;}
.form-legal input[type=checkbox]{margin-top:3px;flex-shrink:0;accent-color:var(--accent);width:16px;height:16px;cursor:pointer;}
.form-legal label{font-size:.75rem;color:var(--muted);line-height:1.6;cursor:pointer;}
.form-legal label a{color:var(--accent);border-bottom:1px solid var(--accent-line);}

/* Calculadora */
.calc-wrap{padding:var(--section-s) var(--gutter) var(--section);}
.calc-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;margin-top:2rem;align-items:start;}
.calc-section-title{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:2rem 0 1rem;display:flex;align-items:center;gap:.8rem;font-weight:500;}
.calc-section-title .step-n{width:20px;height:20px;border:1px solid var(--accent);display:grid;place-items:center;font-size:.58rem;border-radius:50%;}
.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;}
.option-card{background:var(--bg);border:1px solid var(--border2);padding:1rem;cursor:pointer;transition:all .2s;position:relative;border-radius:8px;}
.option-card:hover{border-color:var(--muted);}
.option-card.selected{border-color:var(--accent);background:var(--accent-ghost);}
.option-card input{position:absolute;opacity:0;pointer-events:none;}
.oc-label{font-size:.82rem;font-weight:500;color:var(--text);margin-bottom:.25rem;}
.oc-price{font-size:.7rem;color:var(--accent);}
.oc-check{position:absolute;top:.75rem;right:.75rem;width:16px;height:16px;border:1px solid var(--border2);display:grid;place-items:center;font-size:.55rem;color:transparent;transition:all .2s;border-radius:3px;}
.option-card.selected .oc-check{border-color:var(--accent);background:var(--accent);color:#000;}
.calc-extras{display:flex;flex-direction:column;gap:.5rem;}
.extra-item{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border:1px solid var(--border2);padding:.95rem 1.1rem;cursor:pointer;transition:all .2s;gap:1rem;border-radius:8px;}
.extra-item:hover{border-color:var(--muted);}
.extra-item.selected{border-color:var(--accent);background:var(--accent-ghost);}
.extra-item input{display:none;}
.extra-left{display:flex;flex-direction:column;flex:1;gap:.2rem;}
.extra-name{font-size:.85rem;font-weight:500;color:var(--text);}
.extra-desc{font-size:.68rem;color:var(--muted);}
.extra-price{font-size:.8rem;color:var(--accent);flex-shrink:0;}
.extra-check{width:18px;height:18px;border:1px solid var(--border2);display:grid;place-items:center;font-size:.6rem;color:transparent;flex-shrink:0;border-radius:3px;}
.extra-item.selected .extra-check{border-color:var(--accent);background:var(--accent);color:#000;}
.calc-result{position:sticky;top:5.5rem;}
.result-title{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center;}
.result-title span{color:var(--accent);}
.result-line{display:flex;justify-content:space-between;align-items:baseline;padding:.65rem 0;border-bottom:1px dashed var(--border);gap:1rem;}
.result-line:last-of-type{border-bottom:none;}
.result-line-label{font-size:.84rem;color:var(--text-dim);}
.result-line-val{font-size:.78rem;color:var(--text);white-space:nowrap;}
.result-total{border-top:2px solid var(--border2);padding-top:1.5rem;margin-top:1.5rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;}
.result-total-label{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.result-total-val{font-family:var(--fh);font-size:2.4rem;color:var(--accent);line-height:1;}
.result-note{font-size:.64rem;color:var(--muted);margin-top:.3rem;}
.result-disclaimer{background:var(--accent-ghost);border:1px solid var(--accent-line);padding:1rem 1.2rem;font-size:.8rem;color:var(--text-dim);line-height:1.6;margin-bottom:1.2rem;border-radius:8px;}
.result-form h4{font-family:var(--fh);font-size:1.25rem;font-weight:500;margin-bottom:.4rem;}
.result-form p{font-size:.82rem;color:var(--muted);margin-bottom:1.5rem;}

/* Blog page */
.article-wrap{max-width:800px;margin:0 auto;padding:2rem var(--gutter) 6rem;}
.article-hero-img{display:none;width:100%;height:420px;background-size:cover;background-position:center;margin-bottom:2.5rem;border-radius:8px;}
.article-meta-row{display:flex;gap:1.5rem;font-size:.75rem;color:var(--muted);margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border);}
.article-body{font-size:.94rem;line-height:1.9;color:var(--muted2);}
.article-body h2{font-family:var(--fh);font-size:1.5rem;font-weight:400;color:var(--text);margin:2.5rem 0 1rem;}
.article-body h3{font-family:var(--fh);font-size:1.15rem;font-weight:400;color:var(--text);margin:2rem 0 .8rem;}
.article-body p{margin-bottom:1.2rem;}
.article-body a{color:var(--accent);border-bottom:1px solid var(--accent-line);}
.article-body ul,.article-body ol{padding-left:1.5rem;margin-bottom:1.2rem;}
.article-body li{margin-bottom:.4rem;}
.article-body blockquote{border-left:2px solid var(--accent);padding-left:1.5rem;margin:1.5rem 0;color:var(--muted);}
.article-body strong{color:var(--text);}
.article-body img{width:100%;border-radius:8px;margin:1.5rem 0;}
.article-back{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border);display:flex;gap:1rem;flex-wrap:wrap;}

/* Legal */
.legal-section{max-width:800px;margin:0 auto;padding:2rem var(--gutter) 6rem;}
.legal-updated{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
.legal-section h2{font-family:var(--fh);font-weight:400;font-size:1.3rem;color:var(--text);margin:2.5rem 0 .9rem;padding-top:2.5rem;border-top:1px solid var(--border);}
.legal-section h2:first-of-type{border-top:none;margin-top:0;padding-top:0;}
.legal-section p{font-size:.9rem;color:var(--muted2);line-height:1.85;margin-bottom:1rem;}
.legal-section ul{list-style:none;margin:.8rem 0 1rem;}
.legal-section ul li{font-size:.88rem;color:var(--muted2);line-height:1.75;padding:.35rem 0 .35rem 1.5rem;position:relative;}
.legal-section ul li::before{content:'—';position:absolute;left:0;color:var(--accent);}
.legal-section strong{color:var(--text);font-weight:500;}
.legal-section a{color:var(--accent);border-bottom:1px solid var(--accent-line);}

/* ══════════════════════════════════════
   COMPONENTES GLOBALES
══════════════════════════════════════ */

/* WhatsApp flotante */
.whatsapp-float{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);z-index:500;transition:transform .2s,box-shadow .2s;}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(37,211,102,.5);}
.whatsapp-float svg{width:28px;height:28px;fill:#fff;}

/* Mobile CTA bar */
.mobile-cta-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:490;background:rgba(10,10,10,.95);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:.9rem var(--gutter);gap:.8rem;}
@media(max-width:768px){
  .mobile-cta-bar{display:flex;}
  .whatsapp-float{bottom:5.5rem;}
}
.mobile-cta-bar a{flex:1;text-align:center;padding:.7rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;transition:all .2s;}
.mcta-call{background:var(--bg2);color:var(--text);border:1px solid var(--border2);}
.mcta-cta{background:var(--accent);color:#000;}

/* Cookie banner */
#cookie-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);z-index:9998;opacity:0;transition:opacity .4s;}
#cookie-overlay.visible{opacity:1;}
#cookie-banner{position:fixed;top:50%;left:50%;transform:translate(-50%,-48%);width:calc(100% - 2rem);max-width:560px;background:#0f0f0f;border:1px solid rgba(111,180,172,.25);border-radius:12px;z-index:9999;opacity:0;transition:opacity .4s,transform .4s;overflow:hidden;}
#cookie-banner.visible{opacity:1;transform:translate(-50%,-50%);}
.cb-header{background:rgba(111,180,172,.06);border-bottom:1px solid rgba(111,180,172,.15);padding:1.6rem 2rem 1.4rem;display:flex;align-items:center;gap:1rem;}
.cb-header-icon{width:42px;height:42px;background:rgba(111,180,172,.12);border:1px solid rgba(111,180,172,.3);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.cb-title{font-family:var(--fh);font-weight:400;font-size:1.25rem;color:#f0ede8;margin-bottom:.2rem;}
.cb-subtitle{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);}
.cb-body{padding:1.6rem 2rem;}
.cb-body p{font-size:.83rem;color:#9a9590;line-height:1.75;margin:0;}
.cb-link{color:var(--accent);border-bottom:1px solid rgba(111,180,172,.3);}
.cb-actions{padding:0 2rem 1.8rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.7rem;}
.cb-btn{padding:.7rem .5rem;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;transition:all .2s;text-align:center;}
.cb-accept{background:var(--accent);color:#000;}
.cb-accept:hover{background:var(--accent2);transform:translateY(-1px);}
.cb-prefs{background:transparent;color:#f0ede8;border:1px solid rgba(255,255,255,.15);}
.cb-prefs:hover{border-color:rgba(111,180,172,.5);color:var(--accent);}
.cb-reject{background:transparent;color:#6a6762;border:1px solid rgba(255,255,255,.08);}
.cb-reject:hover{border-color:rgba(255,255,255,.2);color:#9a9590;}
.cb-divider{height:1px;background:rgba(255,255,255,.06);margin:0 2rem .4rem;}
.cb-note{padding:.8rem 2rem 1.2rem;font-size:.68rem;color:#4a4744;display:flex;align-items:center;gap:.5rem;}
.cb-note::before{content:'';width:16px;height:1px;background:#4a4744;flex-shrink:0;}
#cookie-banner-prefs{display:none;}
.cb-pref-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.06);gap:1.5rem;}
.cb-pref-item:last-child{border-bottom:none;}
.cb-pref-name{font-size:.82rem;color:#f0ede8;font-weight:500;}
.cb-pref-desc{font-size:.72rem;color:#6a6762;line-height:1.5;}
.cb-toggle-on{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);white-space:nowrap;flex-shrink:0;}
.cb-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0;}
.cb-switch input{opacity:0;width:0;height:0;}
.cb-slider{position:absolute;cursor:pointer;inset:0;background:rgba(255,255,255,.08);border-radius:24px;border:1px solid rgba(255,255,255,.1);transition:.3s;}
.cb-slider::before{content:'';position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#4a4744;border-radius:50%;transition:.3s;}
.cb-switch input:checked+.cb-slider{background:rgba(111,180,172,.2);border-color:rgba(111,180,172,.4);}
.cb-switch input:checked+.cb-slider::before{transform:translateX(20px);background:var(--accent);}
.cb-actions-prefs{padding:0 2rem 1.8rem;display:grid;grid-template-columns:1fr 1fr;gap:.7rem;}

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr;}
  .hero-visual{display:none;}
  .svcs-head,.trust-head{grid-template-columns:1fr;gap:1.5rem;}
  .svcs-head-right{justify-self:start;}
  .hs-grid,.trust-grid{grid-template-columns:1fr 1fr;}
  .planes-grid{grid-template-columns:1fr;}
  .proceso-grid{grid-template-columns:repeat(3,1fr);}
  .about-split{grid-template-columns:1fr;gap:3rem;}
  .about-img-box{max-height:400px;aspect-ratio:4/3;}
  .calc-grid{grid-template-columns:1fr;}
  .calc-result{position:static;}
  .contact-grid{grid-template-columns:1fr;gap:3rem;}
  .form-row{grid-template-columns:1fr;}
  .stats-bar{grid-template-columns:repeat(2,1fr);}
  .blog-grid,.testi-grid,.svc-grid,.port-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  h1.display{font-size:clamp(2.6rem,11vw,4.5rem);}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:1.2rem;}
  .hero-scroll{display:none;}
  .hs-grid,.svc-grid,.blog-grid,.trust-grid,.testi-grid,.about-values,.port-grid{grid-template-columns:1fr;}
  .proceso-grid .step-card{border-right:none;border-bottom:1px solid var(--border);}
  .calc-form,.contact-form-box{padding:1.6rem;}
  .option-grid{grid-template-columns:1fr;}
  .stat{padding:1.5rem 1rem;}
  .faq-item.open .faq-a{padding-bottom:1rem;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-top{flex-direction:column;}
  #cookie-banner{max-width:calc(100% - 1.5rem);}
  .cb-header,.cb-body,.cb-note{padding-left:1.4rem;padding-right:1.4rem;}
  .cb-actions,.cb-actions-prefs{padding:0 1.4rem 1.5rem;grid-template-columns:1fr;}
  .cb-divider{margin:0 1.4rem .4rem;}
  .blog-head{flex-direction:column;align-items:flex-start;gap:1rem;}
}
@media(max-width:500px){
  .planes-grid{grid-template-columns:1fr;}
  .scores-grid{grid-template-columns:1fr 1fr;}
}

/* ══════════════════════════════════════
   HERO CAROUSEL
══════════════════════════════════════ */
.hero-carousel{position:relative;z-index:1;}
.carousel-wrapper{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 40px 80px -20px rgba(0,0,0,.7);}
.carousel-frame{background:var(--bg3);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.carousel-bar{display:flex;align-items:center;gap:.8rem;padding:.75rem 1rem;background:var(--bg2);border-bottom:1px solid var(--border);}
.carousel-dots{display:flex;gap:5px;}
.carousel-dots span{width:10px;height:10px;border-radius:50%;background:var(--border2);}
.carousel-url{flex:1;background:rgba(255,255,255,.05);border-radius:4px;padding:.3rem .8rem;font-size:.7rem;color:var(--muted);font-family:'Raleway',sans-serif;letter-spacing:.04em;transition:all .3s;}
.carousel-open{font-size:.65rem;color:var(--accent);letter-spacing:.1em;text-transform:uppercase;padding:.3rem .7rem;border:1px solid var(--accent-line);border-radius:4px;text-decoration:none;transition:all .2s;white-space:nowrap;}
.carousel-open:hover{background:var(--accent);color:#000;}
.carousel-slides{position:relative;height:360px;overflow:hidden;}
.carousel-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;background:linear-gradient(135deg,var(--bg3),var(--bg2));opacity:0;transform:translateX(60px);transition:opacity .5s ease,transform .5s var(--ease-out);pointer-events:none;cursor:pointer;}
.carousel-slide.active{opacity:1;transform:translateX(0);pointer-events:auto;}
.carousel-slide.prev{opacity:0;transform:translateX(-60px);}
.cs-mock{width:100%;max-width:400px;}
.cs-mock-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid var(--border);}
.cs-mock-logo{font-family:'Cinzel',serif;font-size:.85rem;letter-spacing:.12em;color:var(--text);}
.cs-mock-links{display:flex;gap:.6rem;font-size:.58rem;color:var(--muted);font-family:'Raleway',sans-serif;letter-spacing:.1em;}
.cs-mock-hero{margin-bottom:1.2rem;}
.cs-mock-title{font-family:'Fraunces',serif;font-size:1.6rem;line-height:1.1;color:var(--text);margin-bottom:.5rem;}
.cs-mock-title em{color:var(--accent);font-style:italic;}
.cs-mock-sub{font-size:.7rem;color:var(--muted);line-height:1.6;max-width:80%;}
.cs-mock-cta{display:inline-block;margin-top:.8rem;padding:.4rem .9rem;background:var(--accent);color:#000;font-size:.62rem;font-weight:600;font-family:'Raleway',sans-serif;letter-spacing:.1em;text-transform:uppercase;border-radius:3px;}
.cs-mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;}
.cs-mock-card{background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:4px;padding:.5rem .6rem;font-size:.58rem;color:var(--muted);}
.cs-tag{position:absolute;top:1rem;right:1rem;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;background:var(--accent-ghost);border:1px solid var(--accent-line);color:var(--accent);padding:.2rem .6rem;border-radius:20px;}
.carousel-nav{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;background:var(--bg2);border-top:1px solid var(--border);}
.carousel-arrows{display:flex;gap:.5rem;}
.carousel-btn{width:30px;height:30px;border:1px solid var(--border2);background:transparent;color:var(--muted);border-radius:50%;display:grid;place-items:center;cursor:pointer;font-size:.9rem;transition:all .2s;}
.carousel-btn:hover{border-color:var(--accent);color:var(--accent);}
.carousel-indicators{display:flex;gap:.4rem;align-items:center;}
.carousel-dot{width:6px;height:6px;border-radius:50%;background:var(--border2);cursor:pointer;transition:all .2s;}
.carousel-dot.active{background:var(--accent);width:18px;border-radius:3px;}
.carousel-counter{font-size:.65rem;color:var(--muted);font-family:'Raleway',sans-serif;letter-spacing:.1em;}

/* ── Proyectos clicables ── */
.port-item-link{display:block;text-decoration:none;color:inherit;}
.port-item-link .port-item{transition:border-color .3s,transform .4s;}
.port-item-link:hover .port-item{border-color:var(--accent-line);transform:translateY(-4px);}
.port-url-badge{position:absolute;bottom:1rem;right:1rem;font-size:.6rem;color:var(--accent);background:var(--accent-ghost);border:1px solid var(--accent-line);padding:.2rem .6rem;border-radius:20px;z-index:4;letter-spacing:.08em;opacity:0;transition:opacity .3s;}
.port-item:hover .port-url-badge{opacity:1;}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE MÓVIL — MENÚ LATERAL + SUBMENÚ SERVICIOS
══════════════════════════════════════════════════════════════ */

/* ── Mobile drawer overlay ── */
.drawer-overlay{
  display:none;
  position:fixed;inset:0;
  background:rgba(0,0,0,.6);
  backdrop-filter:blur(4px);
  z-index:199;
  opacity:0;
  transition:opacity .3s;
}
.drawer-overlay.open{opacity:1;}

/* ── Mobile drawer (slide from right) ── */
.mobile-menu{
  display:flex;
  position:fixed;
  top:0;right:0;bottom:0;
  width:min(320px,85vw);
  z-index:200;
  background:var(--bg,#0a0a0a);
  border-left:1px solid rgba(255,255,255,.08);
  flex-direction:column;
  padding:0;
  gap:0;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.25,.46,.45,.94);
  overflow-y:auto;
  overflow-x:hidden;
}
.mobile-menu.open{transform:translateX(0);}

/* Drawer header */
.drawer-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.1rem 1.4rem;
  border-bottom:1px solid rgba(255,255,255,.07);
  flex-shrink:0;
}
.drawer-logo .logo-main{font-size:.95rem!important;}
.drawer-logo .logo-sub{font-size:6px!important;}

.mobile-menu-close{
  position:static;
  background:none;
  border:1px solid rgba(255,255,255,.1);
  color:var(--text,#f0ede8);
  width:32px;height:32px;
  border-radius:50%;
  display:grid;place-items:center;
  font-size:1rem;
  cursor:pointer;
  transition:all .2s;
  flex-shrink:0;
}
.mobile-menu-close:hover{border-color:var(--accent,#6fb4ac);color:var(--accent,#6fb4ac);}

/* Drawer nav links */
.drawer-nav{flex:1;padding:.5rem 0;}
.drawer-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.9rem 1.4rem;
  font-family:'Poppins',sans-serif;
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(240,237,232,.7);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.04);
  transition:all .2s;
  cursor:pointer;
}
.drawer-link:hover,.drawer-link.active{color:var(--accent,#6fb4ac);}
.drawer-link.active{border-left:2px solid var(--accent,#6fb4ac);padding-left:1.2rem;}

/* Services submenu toggle */
.drawer-svc-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:.9rem 1.4rem;
  font-family:'Poppins',sans-serif;
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(240,237,232,.7);
  border-bottom:1px solid rgba(255,255,255,.04);
  cursor:pointer;
  transition:all .2s;
  user-select:none;
}
.drawer-svc-toggle:hover{color:var(--accent,#6fb4ac);}
.drawer-svc-toggle.open{color:var(--accent,#6fb4ac);}
.drawer-svc-arrow{
  font-size:.7rem;
  transition:transform .3s;
  opacity:.6;
}
.drawer-svc-toggle.open .drawer-svc-arrow{transform:rotate(90deg);}

/* Services submenu */
.drawer-submenu{
  max-height:0;
  overflow:hidden;
  background:rgba(111,180,172,.03);
  border-left:2px solid rgba(111,180,172,.25);
  margin-left:1.4rem;
  transition:max-height .35s ease;
}
.drawer-submenu.open{max-height:400px;}
.drawer-submenu a{
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.65rem 1.2rem;
  font-family:'Poppins',sans-serif;
  font-size:.77rem;
  color:rgba(154,149,144,.85);
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.03);
  transition:color .2s;
  letter-spacing:.02em;
}
.drawer-submenu a:last-child{border-bottom:none;}
.drawer-submenu a:hover{color:var(--accent,#6fb4ac);}
.drawer-submenu a::before{
  content:'';
  width:4px;height:4px;
  border-radius:50%;
  background:var(--accent,#6fb4ac);
  opacity:.5;
  flex-shrink:0;
}

/* Drawer footer */
.drawer-footer{
  padding:1.2rem 1.4rem;
  border-top:1px solid rgba(255,255,255,.07);
  display:flex;
  flex-direction:column;
  gap:.6rem;
  flex-shrink:0;
}
.drawer-cta{
  display:block;
  text-align:center;
  padding:.8rem 1rem;
  background:var(--accent,#6fb4ac);
  color:#000;
  font-family:'Poppins',sans-serif;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  border-radius:4px;
  transition:background .2s;
}
.drawer-cta:hover{background:var(--accent2,#8eccc5);}
.drawer-cta-ghost{
  display:block;
  text-align:center;
  padding:.7rem 1rem;
  border:1px solid rgba(255,255,255,.12);
  color:rgba(240,237,232,.7);
  font-family:'Poppins',sans-serif;
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  border-radius:4px;
  transition:all .2s;
}
.drawer-cta-ghost:hover{border-color:var(--accent,#6fb4ac);color:var(--accent,#6fb4ac);}
.drawer-status{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  font-size:.62rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(106,103,98,.8);
  font-family:'Poppins',sans-serif;
  padding-top:.2rem;
}
.drawer-status-dot{width:5px;height:5px;border-radius:50%;background:var(--accent,#6fb4ac);animation:pulse 2s infinite;}

/* ══════════════════════════════════════
   MOBILE TYPOGRAPHY SCALE
══════════════════════════════════════ */
@media(max-width:768px){
  /* Base */
  html{font-size:15px;}
  body{font-size:.93rem;}

  /* Nav */
  .site-nav{height:56px;padding:0 1.2rem;}
  .logo-main{font-size:.95rem!important;}
  main{padding-top:56px;}

  /* Hero */
  .hero{
    grid-template-columns:1fr;
    min-height:auto;
    padding:3.5rem 1.2rem 3rem;
    gap:2rem;
  }
  .hero h1.display,.hero .display{font-size:clamp(2.4rem,10vw,3.5rem)!important;}
  .hero .sub{font-size:.88rem;max-width:100%;}
  .hero-actions{flex-direction:column;gap:.8rem;width:100%;}
  .hero-actions .btn-p,.hero-actions .btn-g{width:100%;justify-content:center;padding:.85rem 1rem;}
  .hero-carousel{display:none;}/* Hide carousel on very small screens */
  .hero-watermark{font-size:clamp(5rem,22vw,9rem);}

  /* Sections padding */
  .home-svcs,.trust-section,.testimonials-section,.blog-section,.home-cta,.port-section,
  .svc-section,.proceso-section,.planes-section,.faq-section,.about-split,
  .contact-grid,.calc-wrap{
    padding-left:1.2rem!important;
    padding-right:1.2rem!important;
    padding-top:3rem!important;
    padding-bottom:3rem!important;
  }

  /* Section headings */
  .display{font-size:clamp(2rem,8vw,3rem)!important;}
  h2.display{font-size:clamp(1.9rem,7.5vw,2.8rem)!important;}
  h1.display{font-size:clamp(2.4rem,10vw,3.5rem)!important;}

  /* Grids → single column */
  .hs-grid,.trust-grid,.testi-grid,.blog-grid,.svc-grid,.port-grid{
    grid-template-columns:1fr!important;
    gap:1rem!important;
  }
  .planes-grid{grid-template-columns:1fr!important;}
  .proceso-grid{grid-template-columns:1fr!important;}
  .proceso-grid .step-card{border-right:none!important;border-bottom:1px solid var(--border)!important;}
  .about-split{grid-template-columns:1fr!important;gap:2rem!important;}
  .about-values{grid-template-columns:1fr!important;}
  .contact-grid{grid-template-columns:1fr!important;gap:2rem!important;}
  .form-row{grid-template-columns:1fr!important;}
  .calc-grid{grid-template-columns:1fr!important;}
  .calc-result{position:static!important;}
  .option-grid{grid-template-columns:1fr 1fr!important;}
  .svcs-head{grid-template-columns:1fr!important;}
  .trust-head,.proceso-head,.planes-head{grid-template-columns:1fr!important;}

  /* Footer */
  .footer-grid{grid-template-columns:1fr 1fr!important;gap:2rem!important;padding:2.5rem 1.2rem!important;}
  .footer-brand{grid-column:1/-1!important;}
  .footer-top{flex-direction:column!important;padding:2.5rem 1.2rem!important;gap:1.5rem!important;text-align:center;}
  .footer-top .btn-p{width:100%;justify-content:center;}
  .footer-bottom{flex-direction:column!important;text-align:center!important;gap:.3rem!important;padding:1rem 1.2rem!important;}
  .footer-top h3{font-size:clamp(1.5rem,6vw,2.2rem)!important;}

  /* Cards padding */
  .hs-card,.trust-card,.testi-card,.svc-card,.plan-card,.blog-card>div:not(.blog-thumb){
    padding:1.4rem!important;
  }
  .contact-form-box,.calc-form,.result-form,.result-box{padding:1.4rem!important;}

  /* Page hero */
  .page-hero{padding:calc(3rem + 56px) 1.2rem 2rem!important;}
  .page-hero h1{font-size:clamp(2.2rem,9vw,3.2rem)!important;}

  /* Blog/article */
  .article-wrap{padding:1.5rem 1.2rem 4rem!important;}
  .legal-section{padding:1.5rem 1.2rem 4rem!important;}

  /* Stats */
  .stats-bar{grid-template-columns:1fr 1fr!important;}
  .stat{padding:1.2rem 1rem!important;}
  .stat-n{font-size:1.8rem!important;}

  /* FAQ */
  .faq-wrap{padding:0!important;}
  .faq-q{font-size:.92rem;}

  /* CTA home */
  .home-cta h2{font-size:clamp(1.9rem,7vw,2.8rem)!important;}
  .cta-btns{flex-direction:column!important;gap:.8rem!important;}
  .cta-btns .btn-p,.cta-btns .btn-g{width:100%;justify-content:center;}

  /* WhatsApp — reposition above mobile CTA bar */
  .whatsapp-float{bottom:5.5rem;right:1rem;width:50px;height:50px;}
  .mobile-cta-bar{display:flex;}

  /* Ticker */
  .ticker-bar{padding:.9rem 1.2rem;}
}

@media(max-width:480px){
  .option-grid{grid-template-columns:1fr!important;}
  .footer-grid{grid-template-columns:1fr!important;}
  .stats-bar{grid-template-columns:1fr 1fr!important;}
}

/* Show carousel on tablets */
@media(min-width:769px) and (max-width:1024px){
  .hero-carousel{display:block!important;}
  .hero{grid-template-columns:1fr 1fr;}
  .c-slides{height:280px!important;}
}

/* Hide old mobile menu styles that conflict */
@media(max-width:900px){
  /* Only show hamburger */
  .nav-links,.nav-right .nav-status{display:none!important;}
  .nav-hamburger{display:flex!important;}
}

/* ══════════════════════════════════════
   MOBILE FIXES ESPECÍFICOS
══════════════════════════════════════ */

/* 1. NAV MÓVIL — solo logo + hamburger */
@media(max-width:900px){
  .nav-right{display:none!important;}
  .nav-hamburger{
    display:flex!important;
    flex-direction:column;
    gap:5px;
    background:none;
    border:none;
    padding:6px;
    cursor:pointer;
    margin-left:auto;
  }
  .nav-hamburger span{
    display:block!important;
    width:22px;height:2px;
    background:var(--text,#f0ede8);
    border-radius:2px;
    transition:all .3s;
  }
  .site-nav{
    justify-content:space-between;
    padding:0 1.2rem;
  }
}

/* 2. FOOTER-TOP — ocultar en móvil (ya hay CTA en cada página) */
@media(max-width:900px){
  .footer-top{display:none!important;}
}

/* 3. NOSOTROS — foto correcta en móvil */
@media(max-width:768px){
  .about-img-box{
    aspect-ratio:4/5!important;
    max-height:420px!important;
    width:100%!important;
  }
  .about-img-box img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 20%!important;
  }
  .about-split{
    padding-top:1rem!important;
  }
}

/* 4. PROCESO — simplificar en móvil */
@media(max-width:768px){
  .proceso-grid{
    display:flex!important;
    flex-direction:column!important;
    border-top:none!important;
  }
  .step-card{
    display:flex!important;
    gap:1rem!important;
    padding:1.2rem 0!important;
    border-right:none!important;
    border-bottom:1px solid var(--border)!important;
    align-items:flex-start!important;
  }
  .step-card:last-child{border-bottom:none!important;}
  .step-dot{
    position:static!important;
    width:28px!important;
    height:28px!important;
    border-radius:50%!important;
    background:var(--accent-dim,rgba(111,180,172,.1))!important;
    border:1px solid var(--accent,#6fb4ac)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-shrink:0!important;
    margin-top:2px!important;
  }
  .step-dot::after{
    content:attr(data-num);
    font-family:'Raleway',sans-serif;
    font-size:.6rem;
    font-weight:700;
    color:var(--accent,#6fb4ac);
  }
  .step-num{display:none!important;}
  .step-card h3,
  .step-card h4{font-size:.95rem!important;margin-bottom:.3rem!important;}
  .step-card p{font-size:.8rem!important;}
  .step-duration{font-size:.65rem!important;margin-top:.3rem!important;}
  .proceso-section{overflow:hidden!important;}
}

/* 5. PÁGINA SERVICIOS — planes en móvil */
@media(max-width:768px){
  .planes-section{overflow:hidden!important;}
  .plan-card{margin-bottom:1rem;}
}

/* 6. CTA HOME — en móvil más compacto */
@media(max-width:768px){
  .home-cta{padding:3rem 1.2rem!important;}
  .port-cta-box{padding:2.5rem 1.2rem!important;}
}

/* Hide redundant CTA on mobile (footer-top already hidden, so keep ONE cta visible) */
@media(max-width:900px){
  .mobile-cta-hide{display:none!important;}
}
