:root{--bg:#070a12;--bg2:#0d1220;--panel:#111827;--panel2:#171f31;--text:#f7f8fc;--muted:#aab2c3;--line:rgba(255,255,255,.1);--blue:#2484ff;--violet:#7147ff;--magenta:#e738aa;--orange:#ff8b47;--green:#27d7a1;--danger:#ff667c;--shadow:0 24px 70px rgba(0,0,0,.34);--radius:24px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 12% -10%,rgba(36,132,255,.17),transparent 28%),radial-gradient(circle at 88% 8%,rgba(231,56,170,.13),transparent 25%),var(--bg);color:var(--text);line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.container{width:min(var(--max),calc(100% - 36px));margin-inline:auto}.section{padding:88px 0}.section-sm{padding:58px 0}.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.045);font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#d9deeb}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--magenta));box-shadow:0 0 16px var(--magenta)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.2rem,5.2vw,4.7rem);line-height:1.02;letter-spacing:-.05em;margin-bottom:22px}h2{font-size:clamp(1.7rem,3.3vw,2.9rem);line-height:1.08;letter-spacing:-.038em;margin-bottom:16px}h3{font-size:1.24rem;line-height:1.18}.gradient-text{background:linear-gradient(100deg,#62b1ff 0%,#795eff 33%,#ed47b9 67%,#ff9d58 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{font-size:clamp(1rem,1.25vw,1.16rem);color:#c4cbda;max-width:760px}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 20px;border-radius:14px;border:1px solid transparent;font-weight:800;cursor:pointer;transition:.25s transform,.25s box-shadow,.25s background}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(110deg,var(--blue),var(--violet) 45%,var(--magenta));box-shadow:0 13px 36px rgba(87,74,255,.27)}.btn-primary:hover{box-shadow:0 18px 46px rgba(87,74,255,.38)}.btn-secondary{border-color:var(--line);background:rgba(255,255,255,.055)}.btn-secondary:hover{background:rgba(255,255,255,.09)}.btn-block{width:100%}.btn-small{min-height:42px;padding:0 15px;border-radius:12px;font-size:.9rem}.actions{display:flex;gap:12px;flex-wrap:wrap}.site-header{position:sticky;top:0;z-index:100;background:rgba(7,10,18,.74);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.07)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;min-width:205px}.brand img{width:190px;max-height:59px;object-fit:contain;object-position:left center}.menu{display:flex;align-items:center;gap:25px;font-size:.94rem;font-weight:650;color:#d4d9e4}.menu a:hover,.menu a.active{color:#fff}.menu-toggle{display:none;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#fff;width:44px;height:44px;border-radius:12px}.hero{padding:90px 0 64px;min-height:690px;display:grid;align-items:center;position:relative}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:center}.hero-copy .lead{max-width:700px}.hero-badges{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 30px}.pill{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:#d8deea;font-size:.86rem}.pill i{width:7px;height:7px;border-radius:50%;background:var(--green)}.hero-visual{position:relative;min-height:510px}.orb{position:absolute;border-radius:50%;filter:blur(14px);opacity:.62}.orb.one{width:270px;height:270px;background:#144eec;top:50px;left:10px}.orb.two{width:220px;height:220px;background:#d82b9e;right:10px;bottom:55px}.mock-browser{position:absolute;inset:55px 0 28px 24px;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:linear-gradient(160deg,rgba(24,33,54,.94),rgba(9,13,24,.94));box-shadow:var(--shadow);overflow:hidden;transform:perspective(1200px) rotateY(-6deg) rotateX(2deg)}.browser-top{height:46px;display:flex;align-items:center;gap:7px;padding:0 15px;border-bottom:1px solid var(--line)}.dot{width:9px;height:9px;border-radius:50%;background:#586176}.dot:nth-child(1){background:#ff657a}.dot:nth-child(2){background:#ffbd48}.dot:nth-child(3){background:#36d399}.browser-body{padding:28px}.mini-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.mini-logo{font-weight:900;letter-spacing:-.04em}.mini-link{height:9px;width:120px;background:rgba(255,255,255,.12);border-radius:20px}.mini-title{height:58px;width:86%;border-radius:14px;background:linear-gradient(90deg,#fff 0 45%,rgba(255,255,255,.12) 45%)}.mini-copy{height:12px;width:72%;background:rgba(255,255,255,.15);border-radius:20px;margin:20px 0 8px}.mini-copy.short{width:54%}.mini-btn{width:135px;height:42px;border-radius:12px;margin-top:28px;background:linear-gradient(100deg,var(--blue),var(--magenta))}.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:50px}.mini-card{height:105px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.045)}.phone{position:absolute;right:-9px;bottom:0;width:190px;height:370px;border-radius:35px;border:8px solid #171d2b;background:#0b1020;box-shadow:var(--shadow);overflow:hidden}.phone:before{content:"";display:block;width:70px;height:18px;border-radius:0 0 13px 13px;background:#171d2b;margin:auto}.phone-screen{padding:25px 16px}.phone-chip{height:18px;width:55%;border-radius:10px;background:linear-gradient(90deg,var(--violet),var(--magenta));margin-bottom:20px}.phone-hero{height:100px;border-radius:18px;background:linear-gradient(145deg,rgba(36,132,255,.48),rgba(231,56,170,.5));margin-bottom:12px}.phone-line{height:8px;border-radius:10px;background:rgba(255,255,255,.18);margin:10px 0}.phone-line:nth-of-type(3){width:72%}.trustbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.025)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:25px 18px;text-align:center;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;font-size:1.02rem}.trust-item span{font-size:.87rem;color:var(--muted)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.025));padding:27px;box-shadow:0 16px 50px rgba(0,0,0,.12)}.card:hover{border-color:rgba(126,103,255,.4)}.icon{width:49px;height:49px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(140deg,rgba(36,132,255,.23),rgba(231,56,170,.2));border:1px solid rgba(255,255,255,.11);font-size:1.35rem;margin-bottom:20px}.steps{counter-reset:step}.step{position:relative;padding-top:62px}.step:before{counter-increment:step;content:counter(step);position:absolute;top:0;left:0;width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--magenta));font-weight:900}.section-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:38px}.section-head p{max-width:570px;margin-bottom:4px}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.price-card{display:flex;flex-direction:column;position:relative}.price-card.featured{border-color:rgba(231,56,170,.55);transform:translateY(-10px);box-shadow:0 28px 80px rgba(95,55,205,.2)}.tag{position:absolute;right:18px;top:18px;padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:850;background:linear-gradient(100deg,var(--violet),var(--magenta))}.price{font-size:2.05rem;font-weight:900;letter-spacing:-.04em;margin:12px 0 2px}.price small{font-size:.9rem;color:var(--muted);font-weight:600}.feature-list{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:11px;flex:1}.feature-list li{position:relative;padding-left:25px;color:#d6dbe6}.feature-list li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.project{overflow:hidden;padding:0}.project-preview{height:240px;padding:14px;background:#0b1020;border-bottom:1px solid var(--line)}.project-browser{height:100%;border-radius:15px;background:#fff;overflow:hidden;position:relative}.project-browser .bar{height:26px;background:#e9edf4;display:flex;align-items:center;gap:5px;padding-left:10px}.project-browser .bar i{width:6px;height:6px;border-radius:50%;background:#aab2c0}.project-browser .preview-content{height:calc(100% - 26px);padding:22px;color:#10131a}.project-browser .preview-title{height:24px;width:70%;border-radius:6px;background:#202737;margin-bottom:10px}.project-browser .preview-line{height:7px;width:80%;border-radius:5px;background:#cbd0da;margin:6px 0}.project-browser .preview-cta{height:24px;width:90px;border-radius:7px;margin-top:15px}.theme-gf .preview-content{background:radial-gradient(circle at 80% 10%,#432168,#09111f 46%);color:#fff}.theme-gf .preview-title{background:linear-gradient(90deg,#439aff,#d745b1)}.theme-gf .preview-line{background:rgba(255,255,255,.22)}.theme-gf .preview-cta{background:#7a4df5}.theme-nodo .preview-content{background:#f4f8fb}.theme-nodo .preview-title{background:#153150}.theme-nodo .preview-cta{background:#15a3a8}.theme-joaben .preview-content{background:#eafcf7}.theme-joaben .preview-title{background:#174d4c}.theme-joaben .preview-cta{background:#ff7c64}.project-info{padding:24px}.project-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.project-meta span{font-size:.75rem;border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.visual-panel{min-height:460px;border:1px solid var(--line);border-radius:32px;background:radial-gradient(circle at 20% 15%,rgba(36,132,255,.3),transparent 38%),radial-gradient(circle at 85% 75%,rgba(231,56,170,.3),transparent 35%),#101524;position:relative;overflow:hidden;padding:38px}.brand-stack{display:grid;gap:17px;max-width:420px;margin:auto}.brand-piece{border:1px solid rgba(255,255,255,.16);border-radius:21px;background:rgba(7,10,18,.67);backdrop-filter:blur(10px);padding:21px;box-shadow:0 20px 55px rgba(0,0,0,.18)}.brand-piece:nth-child(2){transform:translateX(50px)}.brand-piece:nth-child(3){transform:translateX(15px)}.brand-colors{display:flex;gap:10px}.brand-colors i{width:38px;height:38px;border-radius:12px;background:var(--blue)}.brand-colors i:nth-child(2){background:var(--violet)}.brand-colors i:nth-child(3){background:var(--magenta)}.brand-colors i:nth-child(4){background:var(--orange)}.faq{display:grid;gap:12px}.faq-item{border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.035);overflow:hidden}.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:20px 22px;border:0;background:transparent;color:#fff;font-weight:800;cursor:pointer}.faq-q span:last-child{font-size:1.35rem;color:#aab2c3;transition:.25s}.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-a p{padding:0 22px 20px;color:var(--muted);margin:0}.faq-item.open .faq-a{max-height:240px}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}.cta-box{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:34px;padding:55px;background:linear-gradient(120deg,rgba(36,132,255,.2),rgba(113,71,255,.18),rgba(231,56,170,.18));box-shadow:var(--shadow)}.cta-box:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,139,71,.2);filter:blur(20px);right:-120px;top:-160px}.cta-box>*{position:relative;z-index:1}.page-hero{padding:92px 0 62px}.page-hero h1{font-size:clamp(2rem,4.6vw,3.9rem);max-width:860px}.breadcrumb{color:var(--muted);font-size:.88rem;margin-bottom:20px}.form-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:30px;align-items:start}.form-card{padding:30px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.86rem;font-weight:750;color:#d8deea}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:12px;background:#0b101d;color:#fff;padding:13px 14px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:#705cff;box-shadow:0 0 0 3px rgba(112,92,255,.15)}.field textarea{min-height:120px;resize:vertical}.check-row{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.88rem}.aside-list{display:grid;gap:13px;margin-top:24px}.aside-list div{display:flex;gap:12px;align-items:flex-start;padding-bottom:13px;border-bottom:1px solid var(--line)}.aside-list b{display:block}.notice{border:1px solid rgba(255,189,72,.3);background:rgba(255,189,72,.08);border-radius:14px;padding:14px 16px;color:#f1dca9;font-size:.88rem}.site-footer{border-top:1px solid var(--line);padding:55px 0 28px;background:#060910}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:35px}.footer-logo{width:220px;margin-bottom:16px}.footer-col h4{margin:0 0 14px}.footer-col a{display:block;color:var(--muted);margin:8px 0}.footer-col a:hover{color:#fff}.footer-bottom{margin-top:38px;padding-top:21px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#80889a;font-size:.83rem}.float-wa{position:fixed;right:20px;bottom:20px;z-index:60;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:#21c965;color:#fff;box-shadow:0 16px 40px rgba(33,201,101,.28);font-size:1.4rem}.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px}.compare .card:first-child{opacity:.78}.compare ul{padding-left:21px;color:var(--muted)}.success{max-width:720px;text-align:center;margin:auto}.success .icon{margin:0 auto 22px;width:70px;height:70px;font-size:2rem}.legal{max-width:860px}.legal h2{font-size:1.6rem;margin-top:32px}.hidden{display:none!important}@media(max-width:980px){.menu{position:fixed;inset:78px 18px auto;background:#0b101d;border:1px solid var(--line);border-radius:18px;padding:18px;display:none;flex-direction:column;align-items:stretch;box-shadow:var(--shadow)}.menu.open{display:flex}.menu-toggle{display:grid;place-items:center}.nav>.btn{display:none}.hero-grid,.split,.form-layout{grid-template-columns:1fr}.hero{padding-top:65px}.hero-visual{min-height:500px}.grid-4{grid-template-columns:repeat(2,1fr)}.pricing,.portfolio-grid,.grid-3{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.3fr 1fr}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:680px){.container{width:min(100% - 24px,var(--max))}.section{padding:68px 0}.nav{height:68px}.brand img{width:160px;max-height:50px}.menu{inset:68px 12px auto}.hero{min-height:auto;padding-top:50px}.hero-grid{gap:24px}.hero-visual{min-height:390px}.mock-browser{inset:25px 14px 25px 0}.phone{width:135px;height:270px;border-width:6px}.phone-screen{padding:14px 10px}.phone-hero{height:70px}.mini-cards{margin-top:25px}.mini-card{height:65px}.grid-4,.grid-3,.pricing,.portfolio-grid,.footer-grid,.field-grid,.compare{grid-template-columns:1fr}.price-card.featured{transform:none}.section-head{display:block}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line)}.trust-item:last-child{border-bottom:0}.cta-box{padding:34px 24px}.brand-piece:nth-child(2),.brand-piece:nth-child(3){transform:none}.footer-bottom{display:block}.footer-bottom span{display:block;margin:7px 0}.page-hero{padding-top:62px}.project-preview{height:215px}}

/* ===== GF Soluciones v2 — enfoque claro, luminoso y comercial ===== */
:root{
  --bg:#f7f8fc;
  --bg2:#ffffff;
  --panel:#ffffff;
  --panel2:#f2f4fa;
  --text:#171b26;
  --muted:#687184;
  --line:rgba(23,27,38,.11);
  --shadow:0 24px 70px rgba(56,63,92,.12);
}
body{
  background:
    radial-gradient(circle at 8% 0%,rgba(36,132,255,.12),transparent 25%),
    radial-gradient(circle at 92% 4%,rgba(231,56,170,.10),transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f8f9fd 55%,#ffffff 100%);
  color:var(--text);
}
.site-header{
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(23,27,38,.08);
  box-shadow:0 8px 28px rgba(41,47,73,.05);
}
.menu{color:#4f586c}.menu a:hover,.menu a.active{color:#171b26}
.menu-toggle{background:#fff;color:#171b26;border-color:var(--line)}
.eyebrow{background:#fff;color:#4d5669;border-color:rgba(23,27,38,.10);box-shadow:0 8px 24px rgba(50,57,85,.05)}
.lead{color:#596377}.muted{color:var(--muted)}
.btn-secondary{background:#fff;border-color:rgba(23,27,38,.12);color:#222838;box-shadow:0 8px 22px rgba(44,51,77,.06)}
.btn-secondary:hover{background:#f3f5fa}
.hero{padding-top:76px}
.hero:before{content:"";position:absolute;inset:0 0 auto;height:72%;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent);pointer-events:none}
.hero-copy,.hero-visual{position:relative;z-index:1}
.pill{background:#fff;border-color:rgba(23,27,38,.10);color:#515b70;box-shadow:0 8px 22px rgba(48,56,84,.05)}
.orb{opacity:.28;filter:blur(26px)}
.mock-browser{background:linear-gradient(160deg,rgba(255,255,255,.98),rgba(244,247,253,.98));border-color:rgba(23,27,38,.13);box-shadow:0 30px 80px rgba(69,77,112,.19)}
.browser-top{border-bottom-color:rgba(23,27,38,.09)}
.mini-logo{color:#1d2330}.mini-link{background:#dce1eb}.mini-title{background:linear-gradient(90deg,#1d2433 0 45%,#dfe4ee 45%)}
.mini-copy{background:#d7dde8}.mini-card{background:#fff;border-color:rgba(23,27,38,.09);box-shadow:0 9px 24px rgba(48,56,84,.07)}
.phone{background:#fff;border-color:#202635;box-shadow:0 28px 70px rgba(52,59,90,.2)}
.phone:before{background:#202635}.phone-line{background:#d7dde8}
.trustbar{background:#fff;border-color:rgba(23,27,38,.08)}
.trust-item{border-color:rgba(23,27,38,.08)}
.section[style]{background:#f3f5fa !important}
.card{background:#fff;border-color:rgba(23,27,38,.09);box-shadow:0 16px 44px rgba(55,63,95,.08)}
.card:hover{border-color:rgba(113,71,255,.32);box-shadow:0 20px 52px rgba(66,72,107,.12)}
.icon{background:linear-gradient(140deg,rgba(36,132,255,.11),rgba(231,56,170,.10));border-color:rgba(23,27,38,.08)}
.feature-list li{color:#4f596d}
.price-card.featured{box-shadow:0 28px 70px rgba(95,55,205,.14)}
.project-preview{background:#eef1f7;border-color:rgba(23,27,38,.08)}
.project-meta span{background:#f7f8fb;border-color:rgba(23,27,38,.09)}
.visual-panel{box-shadow:0 25px 70px rgba(44,50,79,.15)}
.brand-piece{background:rgba(255,255,255,.88);border-color:rgba(255,255,255,.65);color:#202636;box-shadow:0 18px 42px rgba(22,27,48,.16)}
.faq-item{background:#fff;border-color:rgba(23,27,38,.09);box-shadow:0 10px 28px rgba(52,60,90,.05)}
.faq-q{color:#202636}.faq-a p{color:var(--muted)}
.cta-box{background:linear-gradient(120deg,#eef6ff,#f4efff 48%,#fff0f8);border-color:rgba(113,71,255,.14);box-shadow:0 24px 65px rgba(68,74,108,.12)}
.field label{color:#394154}
.field input,.field textarea,.field select{background:#fff;color:#1b202d;border-color:rgba(23,27,38,.13)}
.notice{color:#805d16;background:#fff8df}
.site-footer{background:#111522;color:#f7f8fc;border-top:0}
.site-footer .muted,.site-footer .footer-col a{color:#aeb6c7}.site-footer .footer-col a:hover{color:#fff}
.site-footer .footer-bottom{border-color:rgba(255,255,255,.10);color:#8992a5}
@media(max-width:980px){.menu{background:#fff;border-color:rgba(23,27,38,.10);box-shadow:0 20px 55px rgba(45,52,79,.16)}}


/* ===== Ajuste institucional del logo en header ===== */
.nav{height:92px;transition:height .25s ease}
.brand{min-width:auto;flex:0 0 auto}
.brand img{width:280px;max-height:84px;transition:width .25s ease,max-height .25s ease,transform .25s ease;transform-origin:left center}
.site-header{transition:background .25s ease,box-shadow .25s ease,border-color .25s ease}
.site-header.is-scrolled{background:rgba(255,255,255,.94);box-shadow:0 10px 30px rgba(41,47,73,.08)}
.site-header.is-scrolled .nav{height:78px}
.site-header.is-scrolled .brand img{width:225px;max-height:66px}
@media(max-width:980px){
  .nav{height:84px}
  .brand img{width:235px;max-height:74px}
  .site-header.is-scrolled .nav{height:74px}
  .site-header.is-scrolled .brand img{width:205px;max-height:64px}
}
@media(max-width:680px){
  .nav{height:76px}
  .brand img{width:205px;max-height:64px}
  .site-header.is-scrolled .nav{height:68px}
  .site-header.is-scrolled .brand img{width:182px;max-height:56px}
}

/* ===== Logo institucional v4: versión de lienzo ajustado ===== */
.nav{height:122px}
.brand{display:flex;align-items:center;align-self:stretch}
.brand img{width:auto;height:106px;max-height:none;object-fit:contain;object-position:left center}
.site-header.is-scrolled .nav{height:76px}
.site-header.is-scrolled .brand img{width:auto;height:64px;max-height:none}
@media(max-width:1180px){
  .nav{gap:16px}
  .menu{gap:18px;font-size:.9rem}
  .brand img{height:96px}
}
@media(max-width:980px){
  .nav{height:96px}
  .brand img{height:82px}
  .site-header.is-scrolled .nav{height:72px}
  .site-header.is-scrolled .brand img{height:60px}
}
@media(max-width:680px){
  .nav{height:84px}
  .brand img{height:72px}
  .site-header.is-scrolled .nav{height:66px}
  .site-header.is-scrolled .brand img{height:54px}
}


/* ===== Footer v6: más compacto y franja final destacada ===== */
.site-footer{padding:38px 0 0;background:#111522}
.footer-grid{gap:28px;align-items:start}
.footer-logo{width:220px;margin-bottom:10px}
.site-footer .footer-grid p{margin-bottom:0;max-width:360px;line-height:1.55}
.footer-col h4{margin-bottom:10px}
.footer-col a{margin:6px 0}
.footer-strip{margin-top:28px;background:linear-gradient(100deg,#253b8f 0%,#6147c9 48%,#b63390 100%);border-top:1px solid rgba(255,255,255,.12)}
.site-footer .footer-bottom{margin-top:0;padding:13px 0;border-top:0;color:rgba(255,255,255,.92);font-size:.82rem;align-items:center}
.site-footer .footer-bottom span:last-child{font-weight:700;letter-spacing:.01em}
@media(max-width:980px){.site-footer{padding-top:34px}.footer-strip{margin-top:24px}}
@media(max-width:680px){
  .site-footer{padding-top:30px}
  .footer-grid{gap:22px}
  .footer-logo{width:210px}
  .footer-strip{margin-top:22px}
  .site-footer .footer-bottom{display:flex;flex-direction:column;gap:2px;text-align:center;padding:11px 0}
  .site-footer .footer-bottom span{margin:0}
}


/* ===== Crédito central del footer ===== */
.site-footer .footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:20px}
.site-footer .footer-bottom>span:last-child{text-align:right}
.site-footer .footer-credit{justify-self:center;color:rgba(255,255,255,.92);font-size:.82rem;transition:opacity .2s ease,transform .2s ease}
.site-footer .footer-credit strong{font-weight:850;color:#fff}
.site-footer .footer-credit:hover{opacity:.82;transform:translateY(-1px)}
@media(max-width:680px){
  .site-footer .footer-bottom{display:flex;flex-direction:column;gap:3px}
  .site-footer .footer-bottom>span:last-child{text-align:center}
  .site-footer .footer-credit{order:2}
}

/* ===== Ajuste de escala tipográfica v8 ===== */
.hero-copy h1{max-width:9.4ch;text-wrap:balance}
.section-head h2{max-width:16ch;text-wrap:balance}
@media(max-width:680px){
  h1{margin-bottom:18px}
  h2{margin-bottom:14px}
  .lead{font-size:1rem}
}

/* ===== Ajuste integral de cortes de títulos v9 ===== */
h1,h2{text-wrap:balance}
.split h2,.cta-box h2{max-width:16ch;text-wrap:balance}
.page-hero h1{max-width:15ch;text-wrap:balance}
@media(max-width:980px){
  .section-head h2,.split h2,.cta-box h2{max-width:18ch}
}
@media(max-width:680px){
  .hero-copy h1,.section-head h2,.split h2,.cta-box h2,.page-hero h1{max-width:none}
}

/* ===== Portfolio previews mejorados v10 ===== */
.project-preview{padding:12px;background:#eef1f7}
.project-browser-rich{height:100%;border-radius:18px;background:#fff;overflow:hidden;position:relative;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.preview-rich{position:relative;height:calc(100% - 26px);padding:20px 16px 16px;overflow:hidden}
.preview-rich:before{content:"";position:absolute;inset:0;opacity:.95}
.theme-gf .preview-rich:before{background:radial-gradient(circle at 82% 12%,rgba(181,81,255,.35),transparent 28%),linear-gradient(135deg,#081121 0%,#0f1f46 40%,#050914 100%)}
.theme-nodo .preview-rich:before{background:linear-gradient(180deg,#f7fafc 0%,#edf3f8 100%)}
.theme-joaben .preview-rich:before{background:linear-gradient(180deg,#eefaf6 0%,#dff3ee 100%)}
.preview-rich>*{position:relative;z-index:1}
.rich-topline{width:42%;height:10px;border-radius:999px;margin-bottom:14px}
.theme-gf .rich-topline{background:linear-gradient(90deg,#4aa2ff,#d54ac0)}
.theme-nodo .rich-topline{background:#173a63}
.theme-joaben .rich-topline{background:#1f5d57}
.rich-hero{width:68%;height:26px;border-radius:9px;margin-bottom:10px}
.theme-gf .rich-hero{background:linear-gradient(90deg,#3b8cff,#dc42b1)}
.theme-nodo .rich-hero{background:#1f3553}
.theme-joaben .rich-hero{background:#215d58}
.rich-lines{display:grid;gap:7px;margin-bottom:14px}
.rich-line{height:6px;border-radius:999px;background:rgba(255,255,255,.22)}
.theme-nodo .rich-line,.theme-joaben .rich-line{background:#c8d0dc}
.rich-line.long{width:72%}.rich-line.mid{width:60%}
.rich-btn{width:92px;height:24px;border-radius:8px}
.theme-gf .rich-btn{background:linear-gradient(90deg,#5a9bff,#b64ef2)}
.theme-nodo .rich-btn{background:#20a3a7}
.theme-joaben .rich-btn{background:#ff8468}
.rich-cards{position:absolute;left:16px;right:16px;bottom:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.rich-cards span{display:block;height:48px;border-radius:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12)}
.theme-nodo .rich-cards span{background:#ffffff;border-color:#dde5ef;box-shadow:0 6px 16px rgba(76,88,112,.08)}
.theme-joaben .rich-cards span{background:#ffffff;border-color:#d9ebe7;box-shadow:0 6px 16px rgba(69,90,82,.08)}
.rich-phone{position:absolute;right:12px;bottom:16px;width:74px;height:136px;border-radius:22px;border:6px solid #21283a;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,.22);padding:12px 8px 10px}
.phone-notch{width:32px;height:10px;border-radius:0 0 10px 10px;background:#21283a;margin:-12px auto 10px}
.phone-chip{height:10px;width:54%;border-radius:999px;background:linear-gradient(90deg,#5b90ff,#de43b1);margin-bottom:10px}
.phone-card{height:54px;border-radius:14px;background:linear-gradient(145deg,#bfd8ff,#db9ad1);margin-bottom:10px}
.phone-copy{height:6px;border-radius:999px;background:#c4ccd9;margin:6px 0}.phone-copy.short{width:74%}
.rich-sidecard{position:absolute;right:14px;top:20px;width:90px;height:110px;border-radius:15px;background:#fff;border:1px solid #dde6f0;box-shadow:0 10px 24px rgba(70,82,112,.12);padding:12px}
.side-title{height:12px;width:65%;border-radius:999px;background:#213654;margin-bottom:12px}.side-line{height:6px;border-radius:999px;background:#ccd3df;margin:6px 0}.side-line.short{width:72%}.side-badge{margin-top:12px;width:54px;height:22px;border-radius:8px;background:#22a3a7}
.rich-sticker{position:absolute;right:16px;top:18px;width:72px;height:72px;border-radius:20px;background:linear-gradient(145deg,#ffffff,#eef7f3);border:1px solid #d7ebe6;box-shadow:0 10px 22px rgba(63,85,74,.12)}
.rich-sticker:before,.rich-sticker:after{content:"";position:absolute;border-radius:999px}.rich-sticker:before{left:15px;top:18px;width:42px;height:10px;background:#1f5d57}.rich-sticker:after{left:15px;top:36px;width:30px;height:22px;background:#ff8468;border-radius:8px}
@media(max-width:680px){.project-preview{padding:10px}.rich-phone{width:66px;height:122px}.rich-sidecard{width:82px;height:102px}.rich-cards span{height:42px}}

/* ===== Portfolio con capturas reales/tuneadas v11 ===== */
.project-preview{height:300px;padding:0;background:#edf1f7;overflow:hidden;position:relative}
.project-preview picture,.project-preview picture img{display:block;width:100%;height:100%}
.project-preview picture img{object-fit:cover;object-position:center top;transition:transform .5s ease,filter .35s ease}
.project:hover .project-preview picture img{transform:scale(1.035);filter:saturate(1.04) contrast(1.02)}
.project-preview:after{content:"";position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(180deg,transparent,rgba(10,18,34,.12));pointer-events:none}
@media(max-width:980px){.project-preview{height:285px}}
@media(max-width:680px){.project-preview{height:250px}}

/* ===== Redimensionado correcto de capturas del portfolio v12 ===== */
.project-preview{
  height:auto;
  aspect-ratio:1.62 / 1;
  background:#edf1f7;
}
.project-preview picture,
.project-preview picture img{
  width:100%;
  height:100%;
}
.project-preview picture img{
  object-fit:contain;
  object-position:center center;
  transform:none;
}
.project:hover .project-preview picture img{
  transform:scale(1.015);
}
@media(max-width:980px){
  .project-preview{height:auto;aspect-ratio:1.62 / 1}
}
@media(max-width:680px){
  .project-preview{height:auto;aspect-ratio:1.62 / 1}
}

/* ===== Ajuste portfolio v13: aire superior + botón visitar ===== */
.project-preview{
  position:relative;
  overflow:hidden;
  background:#edf1f7;
  padding:12px;
}
.project-preview picture{
  display:block;
  width:100%;
  height:100%;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(58,66,96,.08);
  padding-top:10px;
  box-sizing:border-box;
}
.project-preview picture img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center top;
  background:#fff;
  transition:transform .45s ease,filter .35s ease;
}
.project:hover .project-preview picture img{
  transform:scale(1.018);
  filter:saturate(1.03) contrast(1.01);
}
.project-visit{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translate(-50%,10px);
  min-width:104px;
  height:38px;
  padding:0 18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.9rem;
  font-weight:800;
  color:#1d2433;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 8px 24px rgba(20,28,46,.15);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  opacity:0;
  transition:opacity .28s ease,transform .28s ease,background .25s ease;
  z-index:2;
}
.project:hover .project-visit{
  opacity:1;
  transform:translate(-50%,0);
}
.project-visit:hover{background:rgba(255,255,255,.88)}
@media(max-width:980px){
  .project-preview{padding:10px}
  .project-preview picture{padding-top:8px}
}
@media(max-width:680px){
  .project-visit{opacity:.96;transform:translate(-50%,0);bottom:14px;height:36px;font-size:.86rem}
}

/* ===== Botón visitar premium y sutil v14 ===== */
.project-visit{
  left:50%;
  bottom:16px;
  transform:translate(-50%,10px) scale(.985);
  min-width:auto;
  height:34px;
  padding:0 14px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.01em;
  color:#14233f;
  background:rgba(255,255,255,.52);
  border:1px solid rgba(255,255,255,.62);
  box-shadow:0 10px 28px rgba(16,24,40,.10), inset 0 1px 0 rgba(255,255,255,.42);
  backdrop-filter:blur(14px) saturate(135%);
  -webkit-backdrop-filter:blur(14px) saturate(135%);
  text-shadow:0 1px 0 rgba(255,255,255,.22);
}
.project:hover .project-visit{
  opacity:1;
  transform:translate(-50%,0) scale(1);
}
.project-visit:hover{
  background:rgba(255,255,255,.68);
  box-shadow:0 12px 30px rgba(16,24,40,.14), inset 0 1px 0 rgba(255,255,255,.52);
}
.project-visit:focus-visible{
  outline:none;
  background:rgba(255,255,255,.76);
  box-shadow:0 0 0 3px rgba(103,116,255,.18),0 12px 30px rgba(16,24,40,.14);
}
@media(max-width:680px){
  .project-visit{
    bottom:12px;
    height:33px;
    padding:0 13px;
    font-size:.8rem;
    opacity:.96;
    transform:translate(-50%,0) scale(1);
  }
}

/* ===== Marco uniforme de capturas v15 ===== */
.project-preview{
  padding:12px;
  background:#edf1f7;
}
.project-preview picture{
  width:100%;
  height:100%;
  padding:10px;
  border-radius:18px;
  background:#fff;
  box-sizing:border-box;
  overflow:hidden;
  box-shadow:0 10px 26px rgba(58,66,96,.08);
}
.project-preview picture img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  border-radius:10px;
  background:#fff;
}
@media(max-width:980px){
  .project-preview{padding:10px}
  .project-preview picture{padding:8px}
}
@media(max-width:680px){
  .project-preview{padding:9px}
  .project-preview picture{padding:7px}
}

/* ===== Visuales reales en portada y proceso v16 ===== */
.hero-photo{min-height:510px;display:grid;place-items:center}
.hero-photo picture{position:relative;z-index:1;width:100%;height:470px;border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 30px 80px rgba(54,61,93,.20);border:1px solid rgba(23,27,38,.08)}
.hero-photo picture img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-float-card{position:absolute;z-index:3;left:-18px;bottom:28px;display:flex;align-items:center;gap:13px;padding:15px 18px;border-radius:18px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 46px rgba(56,63,96,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hero-float-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--blue),var(--violet),var(--magenta))}
.hero-float-card small,.hero-float-card span{display:block;color:#6a7386;font-size:.75rem}.hero-float-card strong{display:block;font-size:1.35rem;line-height:1.05}
.process-showcase{display:grid;gap:28px}
.process-photo{display:block;border-radius:28px;overflow:hidden;box-shadow:0 24px 65px rgba(55,63,95,.13);border:1px solid rgba(23,27,38,.08);background:#fff;aspect-ratio:3.05/1}
.process-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}
.process-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.process-hero-photo{display:block;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 26px 70px rgba(55,63,95,.15);border:1px solid rgba(23,27,38,.08);aspect-ratio:1.55/1}
.process-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center}
@media(max-width:980px){.hero-photo picture{height:440px}.hero-float-card{left:12px}.process-hero-grid{grid-template-columns:1fr}.process-hero-photo{max-width:760px}}
@media(max-width:680px){.hero-photo{min-height:380px}.hero-photo picture{height:350px;border-radius:22px}.hero-float-card{left:10px;bottom:14px;padding:11px 13px}.hero-float-icon{width:36px;height:36px}.process-photo{aspect-ratio:1.55/1;border-radius:20px}.process-hero-photo{border-radius:20px}}

/* ===== Integración visual más limpia de portada y pasos v17 ===== */
.hero-photo{
  min-height:510px;
  display:grid;
  place-items:center;
  padding:14px;
  border-radius:36px;
  background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.28));
  border:1px solid rgba(23,27,38,.06);
  box-shadow:0 24px 60px rgba(63,71,102,.10);
}
.hero-photo .orb{opacity:.28;filter:blur(24px)}
.hero-photo picture{
  position:relative;
  z-index:1;
  width:100%;
  height:470px;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff,#f7f8fc);
  box-shadow:0 22px 58px rgba(54,61,93,.12);
  border:1px solid rgba(23,27,38,.06);
  isolation:isolate;
}
.hero-photo picture::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(90deg,rgba(248,250,255,.82) 0%,rgba(248,250,255,.16) 18%,rgba(248,250,255,0) 34%),
    linear-gradient(180deg,rgba(255,255,255,.32),rgba(255,255,255,0) 26%,rgba(255,255,255,0) 74%,rgba(255,255,255,.2));
  pointer-events:none;
}
.hero-photo picture::after{
  content:"";
  position:absolute;
  inset:-18% auto auto -14%;
  width:42%;
  height:52%;
  background:radial-gradient(circle,rgba(112,124,255,.12),transparent 68%);
  z-index:1;
  pointer-events:none;
}
.hero-photo picture img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.88) brightness(1.06) contrast(.96);
  transform:scale(1.01);
}
.hero-float-card{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.95);
  box-shadow:0 14px 34px rgba(56,63,96,.12);
}
.process-showcase-home{
  padding:14px;
  border-radius:32px;
  background:linear-gradient(145deg,rgba(255,255,255,.54),rgba(255,255,255,.18));
  border:1px solid rgba(23,27,38,.06);
  box-shadow:0 18px 44px rgba(63,71,102,.08);
}
.process-steps-band{
  position:relative;
  overflow:hidden;
}
.process-steps-band::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(180deg,rgba(246,248,252,.82),rgba(246,248,252,.88)),
    url('../img/proceso-real.jpg');
  background-size:cover,cover;
  background-position:center center;
  opacity:.65;
  filter:saturate(.78) brightness(1.06);
  pointer-events:none;
}
.process-steps-band .container{position:relative;z-index:1}
.steps-visual .step{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.66));
  border-color:rgba(23,27,38,.08);
  box-shadow:0 14px 36px rgba(58,66,96,.08);
  backdrop-filter:blur(4px);
}
.steps-visual .step>*{position:relative;z-index:2}
.steps-visual .step::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(140deg,rgba(255,255,255,.12),rgba(255,255,255,0) 52%);
  z-index:1;
}
.steps-visual .step::before{z-index:3;box-shadow:0 8px 18px rgba(87,74,255,.18)}
.steps-home .step:nth-child(1){--step-bg:left center}
.steps-home .step:nth-child(2){--step-bg:36% center}
.steps-home .step:nth-child(3){--step-bg:64% center}
.steps-home .step:nth-child(4){--step-bg:right center}
.steps-page .step:nth-child(1){--step-bg:left top}
.steps-page .step:nth-child(2){--step-bg:center top}
.steps-page .step:nth-child(3){--step-bg:right top}
.steps-page .step:nth-child(4){--step-bg:left bottom}
.steps-page .step:nth-child(5){--step-bg:center bottom}
.steps-page .step:nth-child(6){--step-bg:right bottom}
.process-photo{box-shadow:0 16px 40px rgba(55,63,95,.08);opacity:.92}
.process-hero-photo{box-shadow:0 18px 44px rgba(55,63,95,.10)}
.process-hero-photo img{filter:saturate(.9) brightness(1.03)}
@media(max-width:980px){
  .hero-photo{padding:12px}
  .process-showcase-home{padding:12px}
}
@media(max-width:680px){
  .hero-photo{min-height:380px;padding:10px;border-radius:24px}
  .hero-photo picture{height:350px;border-radius:20px}
  .process-showcase-home{padding:10px;border-radius:24px}
}


/* ===== Cómo funciona home como tira visual v18 ===== */
.process-showcase-home{
  position:relative;
  display:flex;
  align-items:flex-end;
  min-height:340px;
  padding:26px;
  border-radius:34px;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.10) 28%,rgba(255,255,255,.08) 55%,rgba(248,250,255,.22) 100%),
    linear-gradient(90deg,rgba(250,251,255,.72) 0%,rgba(250,251,255,.42) 30%,rgba(250,251,255,.18) 56%,rgba(250,251,255,.18) 100%),
    url('../img/proceso-real.jpg');
  background-size:cover;
  background-position:center 42%;
  border:1px solid rgba(23,27,38,.08);
  box-shadow:0 18px 46px rgba(63,71,102,.10);
}
.process-showcase-home::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0) 24%,rgba(255,255,255,.08) 56%,rgba(255,255,255,.20));
  pointer-events:none;
}
.process-showcase-home .steps-home{
  position:relative;
  z-index:2;
  width:100%;
  margin:0;
}
.steps-home.steps-visual .step{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 16px 34px rgba(58,66,96,.10);
}
.steps-home.steps-visual .step::after{display:none}
.steps-home .step h3{margin-bottom:10px}
.steps-home .step p{color:#596379}
@media(max-width:980px){
  .process-showcase-home{
    min-height:380px;
    padding:22px;
    background-position:62% 42%;
  }
}
@media(max-width:680px){
  .process-showcase-home{
    min-height:unset;
    padding:14px;
    display:block;
    background-position:66% 40%;
  }
  .process-showcase-home .steps-home{display:grid;grid-template-columns:1fr;gap:12px}
}


/* ===== Ajuste fino tira visual más visible v19 ===== */
.process-showcase-home{
  min-height:380px;
  padding:26px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.06) 26%,rgba(255,255,255,.04) 58%,rgba(255,255,255,.10) 100%),
    linear-gradient(90deg,rgba(250,251,255,.42) 0%,rgba(250,251,255,.22) 24%,rgba(250,251,255,.08) 45%,rgba(250,251,255,.04) 100%),
    url('../img/proceso-real.jpg');
  background-size:cover;
  background-position:68% 44%;
}
.process-showcase-home::before{
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 22%,rgba(255,255,255,.03) 58%,rgba(255,255,255,.10));
}
.steps-home.steps-visual .step{
  background:rgba(255,255,255,.66);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  border:1px solid rgba(255,255,255,.64);
  box-shadow:0 12px 28px rgba(58,66,96,.08);
}
.steps-home .step p{color:#4f596d}
@media(max-width:980px){
  .process-showcase-home{
    min-height:400px;
    padding:22px;
    background-position:74% 44%;
  }
}
@media(max-width:680px){
  .process-showcase-home{
    min-height:unset;
    padding:14px;
    background-position:76% 42%;
  }
}

/* ===== Encuadre completo de la imagen del proceso v20 ===== */
.process-showcase-home{
  min-height:390px;
  padding:26px;
  background:linear-gradient(180deg,#f9faff 0%,#f4f6fb 100%);
  isolation:isolate;
}
.process-showcase-home::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  background-image:url('../img/proceso-real.jpg');
  background-repeat:no-repeat;
  background-size:100% auto;
  background-position:center top;
  opacity:.98;
  pointer-events:none;
}
.process-showcase-home::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.03) 42%,rgba(246,248,253,.22) 66%,rgba(246,248,253,.34) 100%);
  pointer-events:none;
}
.process-showcase-home .steps-home{z-index:2;align-self:end}
.steps-home.steps-visual .step{background:rgba(255,255,255,.70)}
@media(max-width:980px){
  .process-showcase-home{
    min-height:420px;
    padding:22px;
  }
  .process-showcase-home::before{
    background-size:100% auto;
    background-position:center 8px;
  }
}
@media(max-width:680px){
  .process-showcase-home{
    min-height:620px;
    padding:14px;
    padding-top:210px;
  }
  .process-showcase-home::before{
    background-size:100% auto;
    background-position:center top;
  }
  .process-showcase-home::after{
    background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.02) 28%,rgba(246,248,253,.32) 43%,rgba(246,248,253,.48) 100%);
  }
}


/* ===== Proceso integrado con imagen diseñada v21 ===== */
.process-showcase-home{
  min-height:430px;
  padding:24px;
  display:flex;
  align-items:flex-end;
  position:relative;
  overflow:hidden;
  border-radius:34px;
  background:#f6f8fc;
  border:1px solid rgba(23,27,38,.07);
  box-shadow:0 18px 46px rgba(63,71,102,.10);
  isolation:isolate;
}
.process-showcase-home::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  background-image:url('../img/proceso-banner.webp');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center top;
  opacity:1;
  pointer-events:none;
}
.process-showcase-home::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.02) 42%,rgba(246,248,253,.18) 66%,rgba(246,248,253,.32) 100%);
  pointer-events:none;
}
.process-showcase-home .steps-home{
  position:relative;
  z-index:2;
  width:100%;
  align-self:flex-end;
}
.steps-home.steps-visual .step{
  background:rgba(255,255,255,.74);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.74);
  box-shadow:0 14px 34px rgba(58,66,96,.10);
}
.steps-home.steps-visual .step::after{display:none}
@media(max-width:980px){
  .process-showcase-home{
    min-height:450px;
    padding:20px;
  }
  .process-showcase-home::before{
    background-size:auto 100%;
    background-position:64% top;
  }
}
@media(max-width:680px){
  .process-showcase-home{
    min-height:700px;
    padding:14px;
    padding-top:260px;
    display:block;
  }
  .process-showcase-home::before{
    background-size:auto 250px;
    background-position:center top;
  }
  .process-showcase-home::after{
    background:linear-gradient(180deg,rgba(255,255,255,.01) 0%,rgba(255,255,255,.02) 30%,rgba(246,248,253,.28) 40%,rgba(246,248,253,.54) 100%);
  }
}


/* ===== Integración visual del portfolio v22 ===== */
.project{
  border-color:rgba(23,27,38,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.56));
  box-shadow:0 18px 44px rgba(59,67,97,.08);
}
.project-preview{
  position:relative;
  padding:16px !important;
  border-bottom:1px solid rgba(23,27,38,.05);
  overflow:hidden;
  isolation:isolate;
}
.project-preview::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.project-preview.theme-gf{
  background:linear-gradient(135deg,rgba(84,132,255,.16),rgba(255,255,255,.78) 36%,rgba(232,78,179,.14));
}
.project-preview.theme-gf::before{
  background:radial-gradient(circle at 18% 18%,rgba(87,110,255,.18),transparent 34%),radial-gradient(circle at 82% 85%,rgba(231,56,170,.16),transparent 28%);
}
.project-preview.theme-nodo{
  background:linear-gradient(135deg,rgba(16,74,163,.12),rgba(255,255,255,.80) 40%,rgba(37,160,196,.12));
}
.project-preview.theme-nodo::before{
  background:radial-gradient(circle at 20% 20%,rgba(38,104,206,.16),transparent 34%),radial-gradient(circle at 84% 82%,rgba(14,176,186,.15),transparent 26%);
}
.project-preview.theme-joaben{
  background:linear-gradient(135deg,rgba(108,212,205,.14),rgba(255,255,255,.82) 42%,rgba(255,153,132,.14));
}
.project-preview.theme-joaben::before{
  background:radial-gradient(circle at 18% 22%,rgba(89,198,189,.14),transparent 34%),radial-gradient(circle at 83% 84%,rgba(255,137,112,.13),transparent 28%);
}
.project-preview picture{
  position:relative;
  z-index:1;
  padding:10px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.56) !important;
  border:1px solid rgba(255,255,255,.66);
  box-shadow:0 12px 30px rgba(58,66,96,.08), inset 0 1px 0 rgba(255,255,255,.52);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.project-preview picture img{
  border-radius:14px;
  background:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.72);
  filter:saturate(.98) contrast(.99);
}
.project-preview::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  height:20%;
  z-index:1;
  border-radius:0 0 22px 22px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.10));
  pointer-events:none;
}
.project-info{padding:26px 24px 24px}
.project-meta span{background:rgba(255,255,255,.44)}
@media(max-width:980px){
  .project-preview{padding:14px !important}
  .project-preview picture{padding:9px !important}
}
@media(max-width:680px){
  .project-preview{padding:12px !important}
  .project-preview picture{padding:8px !important;border-radius:18px !important}
  .project-preview::after{left:12px;right:12px;bottom:12px;border-radius:0 0 18px 18px}
}


/* ===== Portfolio más integrado, sin doble marco v23 ===== */
.project-preview{
  padding:18px !important;
}
.project-preview picture{
  position:relative;
  z-index:1;
  padding:0 !important;
  border:none !important;
  background:transparent !important;
  border-radius:20px !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  overflow:visible;
}
.project-preview picture::before{
  content:"";
  position:absolute;
  inset:-8px;
  border-radius:26px;
  background:radial-gradient(circle at center, rgba(255,255,255,0) 62%, rgba(255,255,255,.52) 100%);
  filter:blur(14px);
  opacity:.75;
  z-index:0;
  pointer-events:none;
}
.project-preview picture::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.32);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 18%, rgba(255,255,255,0) 82%, rgba(255,255,255,.08));
  pointer-events:none;
  z-index:2;
}
.project-preview picture img{
  position:relative;
  z-index:1;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(58,66,96,.08);
  filter:saturate(.985) contrast(.99);
}
.project-preview::after{
  left:18px;
  right:18px;
  bottom:18px;
  height:18%;
  border-radius:0 0 18px 18px;
  background:linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.08));
}
@media(max-width:980px){
  .project-preview{padding:15px !important}
  .project-preview::after{left:15px;right:15px;bottom:15px}
}
@media(max-width:680px){
  .project-preview{padding:12px !important}
  .project-preview picture{border-radius:16px !important}
  .project-preview picture::after{border-radius:16px}
  .project-preview picture img{border-radius:16px}
  .project-preview::after{left:12px;right:12px;bottom:12px;border-radius:0 0 16px 16px}
}


/* ===== Margen visual simétrico en capturas v33 ===== */
.portfolio-grid .project .project-preview{
  position:relative;
  padding:0 !important;
}
.portfolio-grid .project .project-preview picture{
  position:absolute !important;
  inset:18px !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:18px !important;
}
.portfolio-grid .project .project-preview picture img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  object-position:center top;
  border-radius:18px !important;
}
.portfolio-grid .project .project-preview::after{
  left:18px !important;
  right:18px !important;
  bottom:18px !important;
  border-radius:0 0 18px 18px !important;
}
.portfolio-grid .project .project-visit{
  left:50% !important;
  bottom:26px !important;
  transform:translateX(-50%) !important;
}
@media(max-width:980px){
  .portfolio-grid .project .project-preview picture{inset:15px !important}
  .portfolio-grid .project .project-preview::after{left:15px !important;right:15px !important;bottom:15px !important}
  .portfolio-grid .project .project-visit{bottom:23px !important}
}
@media(max-width:680px){
  .portfolio-grid .project .project-preview picture{inset:12px !important;border-radius:16px !important}
  .portfolio-grid .project .project-preview picture img{border-radius:16px !important}
  .portfolio-grid .project .project-preview::after{left:12px !important;right:12px !important;bottom:12px !important;border-radius:0 0 16px 16px !important}
  .portfolio-grid .project .project-visit{bottom:20px !important}
}







/* ===== Portada con nueva imagen y ajuste limpio v37 ===== */
.hero-photo picture img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:none;filter:saturate(.92) brightness(1.03) contrast(.98)}
@media(max-width:680px){.hero-photo picture img{object-position:center center}}


/* ===== Footer compacto sin texto institucional v40 ===== */
.site-footer{padding:42px 0 0}
.footer-grid{grid-template-columns:1.05fr .8fr .8fr 1fr;gap:30px;align-items:start;padding-bottom:32px}
.footer-grid>div:first-child{display:flex;align-items:flex-start;justify-content:flex-start;min-height:0}
.footer-logo{width:230px;margin:0}
.footer-strip{margin-top:0}
@media(max-width:980px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:26px;padding-bottom:28px}
  .footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:680px){
  .site-footer{padding-top:34px}
  .footer-grid{grid-template-columns:1fr;gap:22px;padding-bottom:24px}
  .footer-grid>div:first-child{grid-column:auto}
  .footer-logo{width:210px}
}


/* ===== Ajuste fino de bloques del proceso v41 ===== */
.process-showcase-home .steps-home{
  transform:translateY(-18px);
}
.steps-home.steps-visual .step{
  padding:58px 27px 18px;
}
@media(max-width:980px){
  .process-showcase-home .steps-home{transform:translateY(-14px)}
  .steps-home.steps-visual .step{padding:56px 24px 18px}
}
@media(max-width:680px){
  .process-showcase-home .steps-home{transform:translateY(-10px)}
  .steps-home.steps-visual .step{padding:54px 22px 16px}
}


/* ===== Bloques del proceso más transparentes v42 ===== */
.steps-home.steps-visual .step{
  background:rgba(255,255,255,.56);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.48);
  box-shadow:0 12px 28px rgba(58,66,96,.08);
}
.steps-home .step p{color:#475267}
@media(max-width:680px){
  .steps-home.steps-visual .step{
    background:rgba(255,255,255,.52);
    border-color:rgba(255,255,255,.44);
  }
}


/* ===== Títulos internos en máximo visual de 3 líneas v44 ===== */
.page-hero h1{
  max-width:21ch;
  font-size:clamp(2.1rem,4vw,3.45rem);
  line-height:1.04;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.process-page-hero h1{max-width:22ch}
@media(max-width:980px){
  .page-hero h1,
  .process-page-hero h1{
    max-width:24ch;
    font-size:clamp(2rem,5.4vw,3.2rem);
  }
}
@media(max-width:680px){
  .page-hero h1,
  .process-page-hero h1{
    max-width:100%;
    font-size:clamp(1.95rem,9vw,2.65rem);
    line-height:1.06;
  }
}


/* ===== Rediseño página Diseño Web v45 ===== */
.service-hero-compact{padding:78px 0 34px}
.service-points-section{padding:26px 0 54px}
.service-points-grid{gap:18px}
.service-point-card{padding:26px 22px 22px;min-height:176px}
.service-point-card .icon{margin-bottom:16px}
.service-point-card h3{margin-bottom:10px}
.web-offer-section{padding:60px 0}
.web-offer{gap:34px;align-items:start;grid-template-columns:1.02fr .98fr}
.web-offer-copy h2{max-width:13ch}
.lead-lite{max-width:560px;margin:-4px 0 18px;color:var(--muted);font-size:1rem}
.feature-list-columns{grid-template-columns:1fr 1fr;gap:10px 26px;margin-top:16px;margin-bottom:0}
.web-info-stack{display:grid;gap:16px}
.delivery-card,.mini-info-card{padding:28px}
.delivery-card h3,.mini-info-card h3{margin-bottom:10px}
.mini-info-card{background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03))}
.mini-steps{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}
.mini-steps span{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);color:#d9deeb;font-size:.92rem}
.mini-steps span::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--magenta));box-shadow:0 0 12px rgba(231,56,170,.28)}
.compact-cta-section{padding:34px 0 56px}
.compact-cta{padding:36px 38px;display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center;min-height:auto}
.compact-cta .eyebrow{margin-bottom:12px}
.compact-cta h2{max-width:13ch;font-size:clamp(1.9rem,3.2vw,3rem);margin-bottom:12px}
.compact-cta p{margin:0;max-width:560px}
.compact-cta-side{display:grid;justify-items:start;gap:14px}
.cta-note{color:#596379;font-size:.93rem;max-width:280px}
@media(max-width:980px){
  .service-hero-compact{padding:68px 0 30px}
  .service-points-section{padding:22px 0 46px}
  .web-offer{grid-template-columns:1fr;gap:24px}
  .compact-cta{grid-template-columns:1fr;gap:18px;padding:30px 28px}
}
@media(max-width:680px){
  .service-hero-compact{padding:60px 0 24px}
  .service-points-section{padding:18px 0 38px}
  .service-point-card{min-height:auto;padding:22px 20px 20px}
  .web-offer-section{padding:48px 0}
  .feature-list-columns{grid-template-columns:1fr;gap:8px}
  .delivery-card,.mini-info-card{padding:22px}
  .compact-cta-section{padding:24px 0 44px}
  .compact-cta{padding:26px 22px}
  .compact-cta h2{max-width:none}
}


/* ===== Ajuste fino Diseño Web v46 ===== */
.web-offer{
  align-items:stretch;
}
.web-offer-copy,
.web-info-stack{
  min-height:100%;
}
.web-info-stack{
  align-self:stretch;
  grid-template-rows:1fr 1fr;
}
.delivery-card,
.mini-info-card{
  height:100%;
}
.web-offer-copy{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.feature-list-columns{
  margin-top:20px;
}
.compact-cta{
  grid-template-columns:1.18fr .82fr;
  align-items:center;
  min-height:unset;
  padding:34px 40px;
}
.compact-cta h2{
  max-width:16ch;
  font-size:clamp(1.6rem,2.6vw,2.5rem);
  line-height:1.07;
}
.compact-cta-copy p{
  max-width:44ch;
}
.compact-cta-side{
  justify-items:center;
  align-content:center;
  text-align:left;
  padding-left:12px;
}
.cta-note{
  max-width:320px;
}
@media(max-width:980px){
  .web-info-stack{
    grid-template-rows:auto;
  }
  .compact-cta{
    grid-template-columns:1fr;
    padding:30px 28px;
  }
  .compact-cta-side{
    justify-items:start;
    padding-left:0;
  }
}
@media(max-width:680px){
  .compact-cta h2{
    max-width:none;
    font-size:clamp(1.5rem,8vw,2.2rem);
  }
}


/* ===== Compactar bloque Proceso simple y ordenado v47 ===== */
.web-info-stack{gap:12px}
.mini-info-card{padding:20px 22px 18px}
.mini-info-card h3{margin-bottom:8px}
.mini-steps{gap:8px;margin-top:10px}
.mini-steps span{padding:8px 12px;border-radius:11px;font-size:.88rem;line-height:1.25}
.mini-steps span::before{width:7px;height:7px}
@media(max-width:680px){
  .mini-info-card{padding:18px 18px 16px}
  .mini-steps span{padding:8px 10px;font-size:.86rem}
}


/* ===== Ajuste bloque proceso más chico y contenido v48 ===== */
.web-offer{
  align-items:start;
}
.web-info-stack{
  min-height:auto;
  align-self:start;
  grid-template-rows:auto auto;
  gap:12px;
}
.delivery-card,
.mini-info-card{
  height:auto;
}
.mini-info-card{
  width:88%;
  justify-self:end;
  padding:18px 20px 16px;
}
.mini-info-card h3{
  margin-bottom:8px;
}
.mini-steps{
  gap:8px;
  margin-top:8px;
}
.mini-steps span{
  padding:7px 12px;
  min-height:0;
  line-height:1.22;
  font-size:.86rem;
}
@media(max-width:980px){
  .mini-info-card{
    width:100%;
    justify-self:stretch;
  }
}
@media(max-width:680px){
  .mini-info-card{
    padding:16px 16px 14px;
  }
  .mini-steps span{
    padding:7px 10px;
    font-size:.84rem;
  }
}


/* ===== Ajuste de anchos y alineación en bloque web v49 ===== */
.mini-info-card{
  width:100%;
  justify-self:stretch;
}
.feature-list-columns{
  max-width:100%;
  min-height:176px;
  align-content:space-between;
  gap:14px 34px;
  margin-top:12px;
}
.feature-list-columns li{
  margin:0;
}
@media(max-width:980px){
  .feature-list-columns{
    min-height:auto;
    gap:10px 24px;
  }
}
@media(max-width:680px){
  .feature-list-columns{
    gap:8px;
    margin-top:10px;
  }
}


/* ===== Compactar lista de prestaciones al alto del bloque v50 ===== */
.feature-list-columns{
  margin-top:8px;
  height:168px;
  align-content:space-between;
  gap:0 34px;
}
.feature-list-columns li{
  line-height:1.2;
  padding-left:24px;
}
.feature-list-columns li::before{
  top:0;
}
@media(max-width:980px){
  .feature-list-columns{
    height:auto;
    gap:10px 24px;
  }
}
@media(max-width:680px){
  .feature-list-columns{
    margin-top:10px;
    gap:8px;
  }
}


/* ===== Alinear lista izquierda exactamente al bloque de proceso v51 ===== */
.web-offer{align-items:stretch}
.web-offer-copy{display:grid !important;grid-template-rows:1fr auto;align-self:stretch;height:100%}
.web-offer-intro{align-self:start}
.feature-list-wrap{align-self:end;height:160px;display:flex}
.feature-list-columns{height:100%;margin-top:0 !important;align-content:space-between;gap:0 34px !important}
.feature-list-columns li{display:flex;align-items:center;min-height:24px;line-height:1.16;padding-left:24px}
.feature-list-columns li::before{top:50%;transform:translateY(-50%)}
.web-info-stack{align-self:stretch;gap:14px}
.mini-info-card{width:100% !important;justify-self:stretch !important;min-height:160px;padding:18px 20px 16px}
.mini-info-card h3{margin-bottom:8px}
.mini-steps{gap:8px;margin-top:8px}
.mini-steps span{padding:7px 12px;font-size:.86rem;line-height:1.2}
@media(max-width:980px){
  .web-offer-copy{display:block !important;height:auto}
  .feature-list-wrap{height:auto;display:block}
  .feature-list-columns{height:auto;gap:10px 24px !important}
  .mini-info-card{min-height:auto}
}
@media(max-width:680px){
  .feature-list-columns{gap:8px !important}
  .mini-steps span{padding:7px 10px;font-size:.84rem}
}


/* ===== Ajuste final listas izquierda v52 ===== */
.feature-list-columns{
  gap:0 24px !important;
}
.feature-list-columns li{
  line-height:1.02;
  min-height:20px;
}
@media(max-width:980px){
  .feature-list-columns{
    gap:8px 18px !important;
  }
}


/* ===== Compactación real de filas de la lista v53 ===== */
.feature-list-wrap{
  height:136px !important;
}
.feature-list-columns{
  height:136px !important;
  align-content:space-between !important;
  gap:0 20px !important;
}
.feature-list-columns li{
  min-height:16px !important;
  line-height:1 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin:0 !important;
}
.feature-list-columns li::before{
  top:50% !important;
  transform:translateY(-50%) !important;
}
@media(max-width:980px){
  .feature-list-wrap,
  .feature-list-columns{
    height:auto !important;
  }
}


/* ===== Rediseño estructural estable del bloque web v55 ===== */
.web-offer-grid-v55{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  gap:16px 34px;
  align-items:stretch;
}
.web-offer-intro-v55{align-self:start}
.web-offer-intro-v55 h2{max-width:13ch}
.delivery-card-v55{padding:28px;height:100%}
.delivery-card-v55 h3{margin-bottom:10px}
.feature-list-panel-v55,
.process-card-v55{
  min-height:176px;
  height:176px;
}
.feature-list-panel-v55{display:flex;align-items:stretch}
.feature-list-v55{
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:repeat(4,1fr);
  grid-auto-flow:column;
  column-gap:28px;
  row-gap:0;
  list-style:none;
}
.feature-list-v55 li{
  position:relative;
  display:flex;
  align-items:center;
  padding-left:24px;
  margin:0;
  line-height:1.1;
  color:#4f596d;
}
.feature-list-v55 li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  color:var(--green);
  font-weight:900;
}
.process-card-v55{
  padding:18px 20px 16px;
  display:flex;
  flex-direction:column;
}
.process-card-v55 h3{margin:0 0 8px}
.mini-steps-v55{
  flex:1;
  display:grid;
  grid-template-rows:repeat(3,1fr);
  gap:8px;
}
.mini-steps-v55 span{
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 12px;
  min-height:0;
  border:1px solid var(--line);
  border-radius:11px;
  background:rgba(255,255,255,.035);
  color:#d9deeb;
  font-size:.86rem;
  line-height:1.2;
}
.mini-steps-v55 span::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--magenta));
  box-shadow:0 0 12px rgba(231,56,170,.28);
}
@media(max-width:980px){
  .web-offer-grid-v55{grid-template-columns:1fr;grid-template-rows:auto;gap:18px}
  .feature-list-panel-v55,.process-card-v55{height:auto;min-height:auto}
  .feature-list-v55{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:auto;grid-auto-flow:row;gap:10px 24px}
}
@media(max-width:680px){
  .feature-list-v55{grid-template-columns:1fr;gap:8px}
  .delivery-card-v55,.process-card-v55{padding:22px}
}


/* ===== Toque de color suave en CTA final v56 ===== */
.cta-accent-soft{
  background:linear-gradient(90deg,#6da2ff 0%, #8e63ff 45%, #e557b1 78%, #f39659 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 0 0 rgba(0,0,0,0.01);
}


/* ===== Rediseño página Identidad visual v57 ===== */
.identity-hero{padding:84px 0 42px}
.identity-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center}
.identity-hero-copy .lead{max-width:690px}
.identity-hero-visual{position:relative;min-height:420px;display:grid;align-items:center}
.identity-board{padding:26px;border-radius:30px;background:linear-gradient(155deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 24px 64px rgba(68,74,108,.12)}
.identity-board-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.eyebrow.small{padding:6px 10px;font-size:.72rem}
.identity-mini-logo{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-weight:900;font-size:1.2rem;background:linear-gradient(135deg,var(--blue),var(--violet) 55%,var(--magenta));color:#fff;box-shadow:0 14px 30px rgba(87,74,255,.22)}
.identity-wordmark{font-size:1.45rem;font-weight:850;line-height:1.08;letter-spacing:-.03em;max-width:14ch;margin-bottom:18px}
.identity-palette{display:flex;gap:10px;margin-bottom:18px}.identity-palette i{display:block;width:44px;height:44px;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.identity-palette i:nth-child(1){background:#4a8cff}.identity-palette i:nth-child(2){background:#795eff}.identity-palette i:nth-child(3){background:#e54ea9}.identity-palette i:nth-child(4){background:#f49a65}
.identity-mini-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}
.identity-piece{border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.05)}
.identity-piece.social{padding:18px;min-height:156px;background:linear-gradient(145deg,#edf4ff,#f7f2ff 55%,#fff3f8)}
.identity-piece.social span{display:block;height:12px;background:#1f2536;border-radius:999px;margin-bottom:12px}.identity-piece.social span:nth-child(1){width:62%}.identity-piece.social span:nth-child(2){width:88%;background:linear-gradient(90deg,var(--blue),var(--magenta))}.identity-piece.social span:nth-child(3){width:45%;height:72px;border-radius:18px;background:linear-gradient(145deg,rgba(74,140,255,.28),rgba(229,78,169,.28))}
.identity-piece.cardpiece{padding:18px;display:flex;flex-direction:column;justify-content:end;min-height:156px}.identity-piece.cardpiece b{font-size:1.06rem;margin-bottom:8px}.identity-piece.cardpiece small{color:var(--muted);font-size:.86rem;line-height:1.4}
.identity-piece.post{grid-column:1/-1;padding:16px;display:grid;grid-template-columns:120px 1fr 88px;gap:14px;align-items:center;background:rgba(255,255,255,.04)}
.identity-piece.post div:nth-child(1){height:84px;border-radius:16px;background:linear-gradient(145deg,rgba(74,140,255,.24),rgba(229,78,169,.24))}
.identity-piece.post div:nth-child(2){height:12px;border-radius:999px;background:#cfd5e2;box-shadow:0 24px 0 #cfd5e2,0 48px 0 #cfd5e2}
.identity-piece.post div:nth-child(3){height:42px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--magenta))}
.identity-features-section{padding:28px 0 58px}
.identity-head{align-items:end;margin-bottom:28px}
.identity-head h2{max-width:13ch}
.identity-head p{max-width:540px}
.identity-feature-grid{gap:18px}
.identity-feature-card{padding:24px 22px;min-height:270px}
.identity-feature-card.featured{border-color:rgba(113,71,255,.22);box-shadow:0 18px 44px rgba(87,74,255,.08)}
.identity-feature-card .icon{margin-bottom:16px}
.identity-feature-card h3{margin-bottom:10px}
.mini-list{padding-left:18px;margin:16px 0 0;color:var(--muted);display:grid;gap:7px;font-size:.92rem}
.identity-compare-section{padding:64px 0}
.identity-compare-grid{display:grid;grid-template-columns:1fr .82fr 1fr;gap:20px;align-items:stretch}
.identity-compare-card{padding:24px;min-height:100%}
.state-tag{display:inline-flex;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--line);font-size:.77rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#d8deea;margin-bottom:14px}
.state-tag.success{background:rgba(25,201,129,.08);border-color:rgba(25,201,129,.2);color:#82e2b7}
.identity-compare-card h3{margin-bottom:14px}
.compare-list,.compare-positive{display:grid;gap:10px}
.compare-negative{padding-left:20px;color:var(--muted)}
.identity-compare-copy{display:flex;flex-direction:column;justify-content:center;padding:8px 4px}
.identity-compare-copy h2{margin:14px 0 10px;max-width:10ch}
.identity-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.identity-badges span,.identity-chip-group span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.045);font-size:.86rem;color:#d8deea}
.identity-cta-section{padding:30px 0 52px}
.identity-cta{display:grid;grid-template-columns:1.08fr .92fr;gap:30px;align-items:center;padding:40px 42px;min-height:auto}
.identity-cta h2{max-width:14ch;margin-bottom:12px}
.identity-cta-copy p{max-width:570px;margin:0}
.identity-cta-side{display:grid;justify-items:center;gap:16px}
.identity-chip-group{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
@media(max-width:980px){
  .identity-hero-grid,.identity-compare-grid,.identity-cta{grid-template-columns:1fr}
  .identity-hero{padding:70px 0 36px}
  .identity-features-section{padding:22px 0 48px}
  .identity-compare-section{padding:54px 0}
  .identity-cta{padding:32px 28px;justify-items:start}
  .identity-cta-side,.identity-chip-group{justify-items:start;justify-content:flex-start}
}
@media(max-width:680px){
  .identity-hero{padding:60px 0 30px}
  .identity-hero-visual{min-height:auto}
  .identity-board{padding:20px;border-radius:24px}
  .identity-wordmark{font-size:1.22rem}
  .identity-mini-grid{grid-template-columns:1fr}
  .identity-piece.post{grid-template-columns:1fr;gap:10px}
  .identity-feature-card{min-height:auto;padding:22px 20px}
  .identity-compare-card{padding:22px}
  .identity-cta-section{padding:24px 0 42px}
  .identity-cta{padding:26px 22px}
}


/* ===== Mejora de contraste en textos grises v58 ===== */
.mini-steps-v55 span{
  color:#8b95aa;
  border-color:rgba(86,99,126,.22);
  background:rgba(255,255,255,.055);
}
.identity-badges span,
.identity-chip-group span{
  color:#7c869b;
  border-color:rgba(86,99,126,.22);
  background:rgba(255,255,255,.075);
}


/* ===== Hero visual realista para Identidad v59 ===== */
.identity-hero-grid{align-items:center}
.identity-hero-visual{min-height:auto}
.identity-board-photo{
  position:relative;
  overflow:hidden;
  padding:18px;
  border-radius:30px;
  background:linear-gradient(155deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  box-shadow:0 24px 64px rgba(68,74,108,.12);
}
.identity-board-photo img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:24px;
  box-shadow:0 14px 36px rgba(26,33,54,.08);
}
.identity-photo-badge{
  position:absolute;
  top:18px;
  left:18px;
  z-index:2;
  backdrop-filter:blur(8px);
  background:rgba(255,255,255,.86);
}
.identity-photo-caption{
  position:absolute;
  left:34px;
  right:34px;
  bottom:30px;
  z-index:2;
  display:grid;
  gap:4px;
  max-width:340px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(10px);
  box-shadow:0 16px 40px rgba(38,43,74,.12);
}
.identity-photo-caption strong{
  color:var(--ink);
  font-size:1rem;
  line-height:1.15;
}
.identity-photo-caption span{
  color:#5d677d;
  font-size:.9rem;
  line-height:1.35;
}
@media(max-width:680px){
  .identity-board-photo{padding:14px;border-radius:24px}
  .identity-board-photo img{border-radius:18px}
  .identity-photo-badge{top:14px;left:14px}
  .identity-photo-caption{left:24px;right:24px;bottom:24px;padding:12px 14px;max-width:none}
}


/* ===== Ajuste fino bloque real de identidad v60 ===== */
.identity-hero{
  padding:78px 0 38px;
}
.identity-hero-grid{
  gap:36px;
  align-items:center;
}
.identity-hero-copy h1{
  max-width:12ch;
}
.identity-hero-copy .lead{
  max-width:640px;
}
.identity-board-photo{
  max-width:620px;
  margin-left:auto;
  padding:16px;
}
.identity-board-photo img{
  aspect-ratio:1/1;
  object-position:center;
}
.identity-photo-caption{
  left:28px;
  right:28px;
  bottom:26px;
  max-width:360px;
}
.identity-features-section{
  padding-top:22px;
}
@media(max-width:980px){
  .identity-hero{
    padding:68px 0 34px;
  }
  .identity-board-photo{
    max-width:none;
    margin-left:0;
  }
}
@media(max-width:680px){
  .identity-hero{
    padding:58px 0 28px;
  }
  .identity-hero-grid{
    gap:24px;
  }
  .identity-photo-caption{
    left:22px;
    right:22px;
    bottom:22px;
  }
}


/* ===== Ajustes sección comparativa identidad v65 ===== */
.identity-compare-grid{grid-template-columns:1fr .9fr 1fr;gap:24px;align-items:stretch}
.identity-compare-card{padding:24px 24px 22px;display:flex;flex-direction:column;min-height:100%}
.compare-intro{margin:4px 0 16px;max-width:28ch}
.compare-list,.compare-positive{margin-bottom:18px}
.compare-note{margin-top:auto;padding:14px 16px;border-radius:18px;font-size:.9rem;line-height:1.45;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#6b7489}
.compare-note strong{color:var(--ink)}
.compare-note.negative{background:rgba(255,255,255,.045);border-color:rgba(86,99,126,.18)}
.compare-note.positive{background:rgba(25,201,129,.05);border-color:rgba(25,201,129,.16)}
.identity-compare-copy{padding:6px 4px;display:flex;flex-direction:column;justify-content:center}
.identity-compare-copy h2{margin:14px 0 10px;max-width:9ch}
.identity-compare-copy p{max-width:32ch}
.identity-mini-points{display:grid;gap:12px;margin-top:16px}
.identity-mini-points div{padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.05)}
.identity-mini-points strong{display:block;color:var(--ink);font-size:.96rem;margin-bottom:4px}
.identity-mini-points span{display:block;color:#6f788d;font-size:.9rem;line-height:1.42}
@media(max-width:980px){
  .identity-compare-grid{grid-template-columns:1fr;gap:18px}
  .identity-compare-copy h2,.identity-compare-copy p,.compare-intro{max-width:none}
}


/* ===== Ajuste compacto comparativa identidad v66 ===== */
.identity-compare-section{
  padding:52px 0;
}
.identity-compare-grid{
  gap:18px;
  grid-template-columns:1fr .86fr 1fr;
}
.identity-compare-card{
  padding:20px 20px 18px;
}
.identity-compare-card h3{
  margin-bottom:10px;
}
.compare-intro{
  margin:2px 0 12px;
  font-size:.94rem;
  line-height:1.5;
}
.compare-list,.compare-positive{
  gap:8px;
  margin-bottom:14px;
}
.compare-note{
  padding:12px 14px;
  font-size:.88rem;
}
.identity-compare-copy{
  padding:4px 2px;
}
.identity-compare-copy h2{
  margin:10px 0 8px;
  max-width:10ch;
  font-size:clamp(2.5rem,3.6vw,3.6rem);
  line-height:.98;
}
.identity-compare-copy p{
  max-width:30ch;
  margin-bottom:0;
}
.identity-mini-points{
  gap:10px;
  margin-top:14px;
}
.identity-mini-points div{
  padding:12px 14px;
  border-radius:16px;
}
.identity-mini-points strong{
  font-size:.93rem;
  margin-bottom:3px;
}
.identity-mini-points span{
  font-size:.88rem;
}
@media(max-width:980px){
  .identity-compare-section{
    padding:44px 0;
  }
  .identity-compare-grid{
    gap:16px;
    grid-template-columns:1fr;
  }
}


/* ===== Ajustes finos comparativa identidad v67 ===== */
.identity-compare-card .state-tag{
  align-self:flex-start;
  width:auto;
  min-width:auto;
}
.compare-negative,
.compare-positive{
  display:grid;
  gap:10px;
}
.compare-negative li,
.compare-positive li{
  line-height:1.45;
}
.identity-compare-copy h2{
  font-size:clamp(2.35rem, 3.2vw, 3.15rem) !important;
  line-height:0.98;
  letter-spacing:-0.04em;
}
@media(max-width:980px){
  .identity-compare-copy h2{
    font-size:clamp(2rem, 6vw, 2.7rem) !important;
  }
}


/* ===== Alineación vertical exacta listas comparativa v68 ===== */
@media(min-width:981px){
  .compare-negative,
  .compare-positive{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:168px;
    gap:0;
  }
  .compare-negative li,
  .compare-positive li{
    line-height:1.45;
    margin:0;
  }
}


/* ===== CTA Marca + Web más premium v69 ===== */
.identity-cta-side{
  justify-items:start;
  gap:14px;
}
.identity-cta-summary{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:center;
  width:100%;
  max-width:430px;
  padding:16px 18px;
  border-radius:20px;
  border:1px solid rgba(113,71,255,.14);
  background:rgba(255,255,255,.52);
  backdrop-filter:blur(10px);
  box-shadow:0 16px 36px rgba(67,74,112,.08);
}
.identity-cta-summary-icon{
  width:48px;
  height:48px;
  border-radius:15px;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--violet) 55%,var(--magenta));
  box-shadow:0 12px 26px rgba(87,74,255,.20);
}
.identity-cta-summary strong{
  display:block;
  color:var(--ink);
  font-size:.98rem;
  margin-bottom:4px;
}
.identity-cta-summary span{
  display:block;
  color:#667086;
  font-size:.9rem;
  line-height:1.4;
}
.identity-cta-note{
  color:#6f788d;
  font-size:.88rem;
  max-width:380px;
}
@media(max-width:980px){
  .identity-cta-summary{max-width:560px}
}
@media(max-width:680px){
  .identity-cta-summary{
    grid-template-columns:1fr;
    padding:15px 16px;
  }
}


/* ===== CTA marca+web frase integrada v70 ===== */
.identity-cta-summary strong{
  margin-bottom:5px;
}
.identity-cta-summary span{
  max-width:26ch;
}


/* ===== Planes con precios orientativos v72 ===== */
.price small{
  display:block;
  margin-bottom:2px;
  font-size:.78rem;
  font-weight:750;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--muted);
}
.price-card .btn{
  margin-top:auto;
}


/* ===== Planes: dominio, hosting y condiciones v73 ===== */
.plans-included{margin-top:34px}
.plans-included-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:22px}
.plans-included-head h2{max-width:14ch;margin:12px 0 0}
.plans-included-head p{max-width:520px;margin:0 0 4px}
.plans-included-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.plan-extra-card{padding:22px;min-height:210px}
.plan-extra-card .icon{margin-bottom:14px;font-size:.92rem;font-weight:900}
.plan-extra-card h3{margin-bottom:9px}
.domain-conditions{margin-top:18px;padding:26px;display:grid;grid-template-columns:.72fr 1.28fr;gap:28px;align-items:start}
.domain-conditions-copy h3{margin-bottom:10px}
.domain-conditions-copy p{margin:0}
.domain-conditions-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}
.domain-conditions-list li{position:relative;padding:12px 14px 12px 34px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04);color:#596379;font-size:.9rem;line-height:1.45}
.domain-conditions-list li::before{content:"✓";position:absolute;left:13px;top:12px;color:var(--green);font-weight:900}
.domain-conditions-list strong{color:var(--ink)}
.store-quote{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 26px}
.store-quote h3{margin-bottom:7px}
.store-quote p{margin:0;max-width:760px}
@media(max-width:980px){
  .plans-included-head{display:block}
  .plans-included-head p{margin-top:12px}
  .plans-included-grid{grid-template-columns:1fr}
  .plan-extra-card{min-height:auto}
  .domain-conditions{grid-template-columns:1fr}
  .domain-conditions-list{grid-template-columns:1fr}
}
@media(max-width:680px){
  .plans-included{margin-top:26px}
  .domain-conditions{padding:20px}
  .store-quote{display:grid;padding:22px}
  .store-quote .btn{width:100%}
}


/* ===== Planes comerciales completos v74 ===== */
.plans-hero{padding-bottom:44px}
.plans-hero .lead{max-width:820px}
.plans-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.plans-hero-badges span,.plan-kicker{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid rgba(86,99,126,.18);border-radius:999px;background:rgba(255,255,255,.62);color:#667086;font-size:.84rem;font-weight:700}
.plans-main-section{padding-top:46px}
.pricing-v74{align-items:stretch}
.pricing-v74 .price-card{display:flex;flex-direction:column;padding:28px 26px 24px}
.pricing-v74 .price-card-top{min-height:188px}
.pricing-v74 .plan-kicker{padding:6px 10px;margin-bottom:14px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}
.pricing-v74 .price-card h3{margin-bottom:8px}
.pricing-v74 .price-card .muted{line-height:1.55}
.pricing-v74 .price{margin:20px 0 0}
.pricing-v74 .feature-list{flex:1;margin:20px 0 24px}
.pricing-v74 .feature-list strong{color:var(--ink)}
.pricing-v74 .btn{margin-top:auto}
.plans-included-v74{margin-top:76px}
.plans-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.plan-value-card{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:22px}
.plan-value-card .icon{margin:0}
.plan-value-card h3{margin:0 0 6px;font-size:1.05rem}
.plan-value-card p{margin:0;line-height:1.52}
.plans-clarity-box{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;margin-top:22px;padding:30px}
.plans-clarity-copy h3{margin:12px 0 10px;font-size:1.55rem}
.plans-clarity-list{display:grid;gap:12px}
.plans-clarity-list p{margin:0;padding:12px 14px;border:1px solid rgba(86,99,126,.14);border-radius:15px;background:rgba(255,255,255,.48);color:#697389;font-size:.92rem;line-height:1.5}
.plans-clarity-list strong{color:var(--ink)}
.plans-smallprint{margin:18px 4px 0;color:#7a8498;font-size:.82rem;line-height:1.55}
.store-quote-v74{margin-top:34px}
.store-quote-v74 .eyebrow{margin-bottom:8px}
@media(max-width:980px){.pricing-v74 .price-card-top{min-height:auto}.plans-value-grid,.plans-clarity-box{grid-template-columns:1fr}.plans-included-v74{margin-top:56px}}
@media(max-width:680px){.plans-hero-badges{gap:8px}.plans-hero-badges span{font-size:.78rem}.pricing-v74 .price-card{padding:24px 21px}.plans-value-grid{grid-template-columns:1fr}.plan-value-card{padding:20px}.plans-clarity-box{padding:23px 20px}.store-quote-v74{align-items:flex-start}}


/* ===== Planes: más color y claridad visual v75 ===== */
.plans-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(224,43,179,.10),transparent 28%),
    radial-gradient(circle at 15% 75%,rgba(37,124,255,.10),transparent 30%);
}
.plans-main-section{
  position:relative;
  overflow:hidden;
}
.plans-main-section::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  right:-260px;
  top:360px;
  background:radial-gradient(circle,rgba(117,72,255,.09),transparent 68%);
  pointer-events:none;
}
.pricing-v74 .price-card:nth-child(1){background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(242,247,255,.82))}
.pricing-v74 .price-card.featured{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,240,255,.88))}
.pricing-v74 .price-card:nth-child(3){background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,242,249,.82))}
.plan-value-card:nth-child(1) .icon{background:linear-gradient(135deg,rgba(37,124,255,.16),rgba(117,72,255,.10))}
.plan-value-card:nth-child(2) .icon{background:linear-gradient(135deg,rgba(117,72,255,.16),rgba(224,43,179,.10))}
.plan-value-card:nth-child(3) .icon{background:linear-gradient(135deg,rgba(224,43,179,.16),rgba(255,136,61,.10))}
.plan-value-card:nth-child(4) .icon{background:linear-gradient(135deg,rgba(28,199,130,.16),rgba(37,124,255,.10))}
.plans-clarity-box{
  position:relative;
  overflow:hidden;
  grid-template-columns:.92fr 1.08fr;
  gap:24px;
  padding:22px;
  background:linear-gradient(135deg,rgba(246,241,255,.94),rgba(255,248,252,.92) 54%,rgba(240,247,255,.94));
  border-color:rgba(117,72,255,.23);
  box-shadow:0 22px 56px rgba(76,72,112,.10);
}
.plans-clarity-box::after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  left:-100px;
  bottom:-130px;
  background:radial-gradient(circle,rgba(37,124,255,.16),transparent 70%);
  pointer-events:none;
}
.plans-clarity-copy{
  position:relative;
  z-index:1;
  padding:22px;
  border-radius:24px;
  background:linear-gradient(145deg,rgba(72,79,255,.96),rgba(130,65,242,.94) 55%,rgba(221,48,177,.90));
  box-shadow:0 18px 42px rgba(95,65,207,.18);
}
.plans-clarity-copy .eyebrow{
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.22);
  color:#fff;
}
.plans-clarity-copy h3{
  color:#fff;
  margin:16px 0 10px;
  font-size:clamp(1.75rem,2.3vw,2.35rem);
  max-width:13ch;
}
.plans-clarity-copy>p{
  color:rgba(255,255,255,.82);
  max-width:48ch;
}
.plans-year-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:20px;
}
.plans-year-summary div{
  padding:13px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(8px);
}
.plans-year-summary span,
.plans-year-summary strong{
  display:block;
}
.plans-year-summary span{
  color:rgba(255,255,255,.72);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom:5px;
}
.plans-year-summary strong{
  color:#fff;
  font-size:.86rem;
  line-height:1.25;
}
.plans-renewal-note{
  display:grid;
  gap:3px;
  margin-top:12px;
  padding:13px 14px;
  border-radius:16px;
  background:rgba(16,22,52,.16);
  border:1px solid rgba(255,255,255,.14);
}
.plans-renewal-note strong{color:#fff;font-size:.86rem}
.plans-renewal-note span{color:rgba(255,255,255,.74);font-size:.82rem;line-height:1.4}
.plans-clarity-list{
  position:relative;
  z-index:1;
  align-content:center;
  gap:10px;
}
.plans-clarity-list p{
  position:relative;
  padding:14px 15px 14px 46px;
  min-height:72px;
  display:flex;
  align-items:center;
  background:rgba(255,255,255,.72);
  border-color:rgba(108,91,178,.14);
  box-shadow:0 8px 22px rgba(76,72,112,.04);
}
.plans-clarity-list p::before{
  content:"✓";
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:.75rem;
  font-weight:900;
  background:linear-gradient(135deg,var(--blue),var(--violet),var(--magenta));
}
.store-quote-v74{
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(246,240,255,.88));
}
@media(max-width:980px){
  .plans-clarity-box{grid-template-columns:1fr}
  .plans-clarity-copy h3{max-width:none}
}
@media(max-width:680px){
  .plans-clarity-box{padding:14px}
  .plans-clarity-copy{padding:20px 18px}
  .plans-year-summary{grid-template-columns:1fr}
  .plans-clarity-list p{min-height:auto}
}


/* ===== Planes especiales v76 ===== */
.special-plans-section{margin-top:34px}
.special-plans-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:28px;
  padding:30px;
  background:
    radial-gradient(circle at 8% 18%,rgba(37,124,255,.16),transparent 27%),
    radial-gradient(circle at 92% 84%,rgba(224,43,179,.13),transparent 30%),
    linear-gradient(135deg,rgba(247,249,255,.98),rgba(248,241,255,.94) 52%,rgba(255,246,251,.96));
  border-color:rgba(117,72,255,.26);
  box-shadow:0 24px 60px rgba(75,67,118,.11);
}
.special-plans-card::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(117,72,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(117,72,255,.025) 1px,transparent 1px);
  background-size:32px 32px;
  pointer-events:none;
}
.special-plans-copy,.special-plans-grid,.special-plans-note{position:relative;z-index:1}
.special-plans-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:10px 6px}
.special-plans-copy h2{margin:14px 0 12px;max-width:12ch;font-size:clamp(2rem,3vw,3rem);line-height:1.02}
.special-plans-copy p{max-width:48ch;line-height:1.58;margin-bottom:22px}
.special-plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.special-plans-grid article{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:13px;
  align-items:start;
  min-height:148px;
  padding:18px;
  border-radius:21px;
  border:1px solid rgba(104,89,173,.15);
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 28px rgba(68,72,108,.055);
  backdrop-filter:blur(8px);
}
.special-plans-grid article:nth-child(1){background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(239,246,255,.78))}
.special-plans-grid article:nth-child(2){background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(246,240,255,.80))}
.special-plans-grid article:nth-child(3){background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(242,247,255,.80))}
.special-plans-grid article:nth-child(4){background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,241,248,.80))}
.special-plan-icon{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;
  color:#fff;font-weight:900;font-size:1rem;
  background:linear-gradient(135deg,var(--blue),var(--violet) 58%,var(--magenta));
  box-shadow:0 10px 22px rgba(92,70,224,.19);
}
.special-plans-grid h3{margin:1px 0 6px;font-size:1rem}
.special-plans-grid p{margin:0;color:#6d778c;font-size:.88rem;line-height:1.48}
.special-plans-note{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:center;
  margin-top:-4px;
  padding:14px 16px;
  border-radius:17px;
  color:#667086;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(104,89,173,.13);
}
.special-plans-note strong{color:var(--ink);white-space:nowrap}
.special-plans-note span{font-size:.88rem;line-height:1.45}
@media(max-width:980px){
  .special-plans-card{grid-template-columns:1fr}
  .special-plans-copy h2{max-width:none}
}
@media(max-width:680px){
  .special-plans-card{padding:20px 17px}
  .special-plans-grid{grid-template-columns:1fr}
  .special-plans-grid article{min-height:auto}
  .special-plans-note{grid-template-columns:1fr;gap:4px}
}


/* ===== v77: eyebrow blanco en bloque primer año ===== */
.plans-clarity-box .eyebrow{
  background: rgba(255,255,255,.92);
  color: var(--ink);
  border-color: rgba(255,255,255,.7);
  box-shadow: 0 10px 24px rgba(37, 44, 73, 0.08);
}
.plans-clarity-box .eyebrow::before{
  opacity: 1;
}


/* ===== v78: planes especiales sin box contenedor ===== */
.special-plans-card{
  overflow:visible;
  padding:0;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  gap:26px 22px;
}
.special-plans-card::before{display:none}
.special-plans-copy{
  padding:8px 8px 8px 0;
}
.special-plans-copy h2{
  max-width:11ch;
}
.special-plans-note{
  margin-top:4px;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(248,241,255,.72));
  box-shadow:0 10px 28px rgba(68,72,108,.05);
}
@media(max-width:980px){
  .special-plans-card{gap:22px}
}


/* ===== v79: planes especiales más libres ===== */
.special-plans-section{
  position:relative;
  margin-top:34px;
  padding:28px 18px 12px;
  overflow:hidden;
}
.special-plans-section::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:34px;
  background:
    radial-gradient(circle at 8% 18%,rgba(37,124,255,.13),transparent 27%),
    radial-gradient(circle at 92% 84%,rgba(224,43,179,.11),transparent 30%),
    linear-gradient(135deg,rgba(247,249,255,.92),rgba(248,241,255,.82) 52%,rgba(255,246,251,.86));
  pointer-events:none;
}
.special-plans-section::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:34px;
  background-image:linear-gradient(rgba(117,72,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(117,72,255,.022) 1px,transparent 1px);
  background-size:32px 32px;
  pointer-events:none;
}
.special-plans-card,
.special-plans-copy,
.special-plans-grid,
.special-plans-note{position:relative;z-index:1}
.special-plans-card:hover{
  border-color:transparent;
  box-shadow:none;
  transform:none;
}
.special-plans-grid article:hover{
  border-color:rgba(104,89,173,.15);
  box-shadow:0 10px 28px rgba(68,72,108,.055);
  transform:none;
}
.special-plans-note{
  margin-top:4px;
  padding:10px 0 0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.special-plans-note strong{white-space:normal}
@media(max-width:680px){
  .special-plans-section{padding:22px 14px 8px}
}


/* ===== v80: fondo full width en planes especiales ===== */
.special-plans-section{
  position:relative;
  isolation:isolate;
  margin-top:34px;
  padding:38px 0 18px;
  overflow:visible;
}
.special-plans-section::before,
.special-plans-section::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  pointer-events:none;
}
.special-plans-section::before{
  background:
    radial-gradient(circle at 8% 18%,rgba(37,124,255,.13),transparent 27%),
    radial-gradient(circle at 92% 84%,rgba(224,43,179,.11),transparent 30%),
    linear-gradient(135deg,rgba(236,244,255,.95),rgba(247,249,255,.94) 38%,rgba(248,241,255,.90) 68%,rgba(255,246,251,.92));
}
.special-plans-section::after{
  background-image:
    linear-gradient(rgba(117,72,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(117,72,255,.022) 1px,transparent 1px);
  background-size:32px 32px;
}
@media(max-width:680px){
  .special-plans-section{padding:26px 0 12px}
}


/* ===== v81: sin espacio entre planes especiales y footer ===== */
.plans-main-section{
  padding-bottom:0;
}
.special-plans-section{
  margin-bottom:0;
  padding-bottom:0;
}
@media(max-width:680px){
  .plans-main-section{padding-bottom:0}
  .special-plans-section{padding-bottom:0}
}


/* ===== v82: subir un poco la nota final de planes especiales ===== */
.special-plans-note{
  padding-bottom:38px;
}
@media(max-width:680px){
  .special-plans-note{padding-bottom:30px}
}

@media(max-width:680px){
  .process-steps-band::before{opacity:.58;background-position:58% center}
  .steps-visual .step{background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.72))}
}


/* ===== v86: desarrollo completo de Cómo funciona ===== */
.process-review-section{
  background:linear-gradient(180deg,rgba(248,250,255,.92),rgba(244,247,252,.96));
}
.process-review-head{align-items:end}
.process-review-head h2{max-width:13ch}
.process-review-head>p{max-width:560px;line-height:1.6}
.process-review-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.process-review-card{
  position:relative;
  min-height:240px;
  padding:25px 24px;
  border-radius:25px;
  border:1px solid rgba(91,102,134,.14);
  background:linear-gradient(155deg,rgba(255,255,255,.92),rgba(245,248,255,.80));
  box-shadow:0 16px 42px rgba(62,70,101,.07);
  overflow:hidden;
}
.process-review-card::after{
  content:"";
  position:absolute;
  width:160px;height:160px;border-radius:50%;
  right:-70px;bottom:-90px;
  background:radial-gradient(circle,rgba(80,126,255,.12),transparent 68%);
}
.process-review-card.featured{
  background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(247,239,255,.88));
  border-color:rgba(190,69,225,.24);
  transform:translateY(-8px);
}
.process-review-card>span{
  display:inline-grid;place-items:center;
  width:42px;height:42px;border-radius:14px;
  margin-bottom:22px;color:#fff;font-weight:900;font-size:.86rem;
  background:linear-gradient(135deg,var(--blue),var(--violet) 58%,var(--magenta));
  box-shadow:0 10px 22px rgba(89,69,225,.18);
}
.process-review-card h3{margin-bottom:10px}
.process-review-card p{margin:0;color:#687287;line-height:1.58}
.process-order-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 6% 18%,rgba(37,124,255,.10),transparent 28%),
    radial-gradient(circle at 94% 82%,rgba(224,43,179,.09),transparent 30%),
    #f5f7fb;
}
.process-order-grid{
  display:grid;
  grid-template-columns:.96fr 1.04fr;
  gap:46px;
  align-items:center;
}
.process-order-copy h2{margin:15px 0 12px;max-width:10ch}
.process-order-copy .lead{color:#606b80;max-width:650px;line-height:1.62}
.process-order-points{display:grid;gap:11px;margin-top:24px}
.process-order-points div{
  display:grid;grid-template-columns:150px 1fr;gap:14px;
  padding:13px 0;border-bottom:1px solid rgba(90,101,130,.13);
}
.process-order-points div:last-child{border-bottom:0}
.process-order-points strong{color:var(--ink)}
.process-order-points span{color:#6d778c;line-height:1.48}
.process-automation-panel{
  margin-top:118px;
  padding:28px;
  border-radius:28px;
  border:1px solid rgba(105,88,181,.17);
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(248,243,255,.86));
  box-shadow:0 20px 52px rgba(70,71,109,.10);
}
.process-automation-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.process-automation-icon{
  width:48px;height:48px;border-radius:16px;display:grid;place-items:center;
  color:#fff;font-weight:900;font-size:1.1rem;
  background:linear-gradient(135deg,var(--blue),var(--violet),var(--magenta));
}
.process-automation-head span{display:block;color:#737d91;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.process-automation-head h3{margin:0}
.process-automation-list{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.process-automation-list li{
  position:relative;padding:12px 14px 12px 42px;border-radius:15px;
  color:#667086;background:rgba(255,255,255,.68);border:1px solid rgba(92,103,137,.11);line-height:1.48;
}
.process-automation-list li::before{
  content:"✓";position:absolute;left:14px;top:13px;color:#14bf82;font-weight:900;
}
.process-automation-list strong{color:var(--ink)}
.process-automation-panel>p{margin:17px 2px 0;color:#727c90;font-size:.9rem;line-height:1.55}
.process-final-cta-section{padding-top:46px}
.process-final-cta{
  display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;
  padding:42px 44px;
}
.process-final-cta h2{max-width:15ch;margin:14px 0 10px}
.process-final-cta p{max-width:620px;margin:0}
.process-final-cta-side{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:980px){
  .process-review-grid{grid-template-columns:1fr}
  .process-review-card.featured{transform:none}
  .process-order-grid{grid-template-columns:1fr}
  .process-order-copy h2{max-width:none}
  .process-final-cta{grid-template-columns:1fr}
  .process-final-cta-side{justify-content:flex-start}
}
@media(max-width:680px){
  .process-review-card{min-height:auto;padding:22px 20px}
  .process-order-points div{grid-template-columns:1fr;gap:3px}
  .process-automation-panel{margin-top:0;padding:22px 18px}
  .process-final-cta{padding:30px 22px}
  .process-final-cta-side{display:grid;width:100%}
  .process-final-cta-side .btn{width:100%}
}


/* ===== v88: rediseño página Trabajos ===== */
.work-page-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 70%,rgba(37,124,255,.12),transparent 30%),
    radial-gradient(circle at 88% 24%,rgba(224,43,179,.11),transparent 28%);
}
.work-hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:52px;
  align-items:end;
}
.work-hero-grid .lead{max-width:780px;color:#59647a;line-height:1.65}
.work-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.work-hero-badges span{
  display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;
  border:1px solid rgba(86,99,126,.16);background:rgba(255,255,255,.66);
  color:#667086;font-size:.82rem;font-weight:700;
}
.work-hero-note{
  padding:24px 26px;border-radius:24px;border:1px solid rgba(113,71,255,.16);
  background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(247,241,255,.82));
  box-shadow:0 18px 46px rgba(66,72,107,.08);
}
.work-hero-note strong{display:block;color:var(--ink);font-size:1.08rem;margin-bottom:8px}
.work-hero-note span{display:block;color:#687287;line-height:1.58}
.work-intro-section{padding-top:58px;padding-bottom:72px}
.work-section-head h2,.work-projects-head h2{max-width:15ch}
.work-principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.work-principles-grid article{
  padding:24px;border-radius:22px;border:1px solid rgba(92,103,137,.12);
  background:linear-gradient(160deg,rgba(255,255,255,.90),rgba(244,247,255,.74));
  box-shadow:0 14px 34px rgba(68,72,108,.055);
}
.work-principles-grid article:nth-child(2){background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(248,241,255,.76))}
.work-principles-grid article:nth-child(3){background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(255,243,249,.78))}
.work-principles-grid article>span{
  display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;
  border-radius:13px;color:#fff;font-weight:900;font-size:.82rem;
  background:linear-gradient(135deg,var(--blue),var(--violet),var(--magenta));
  margin-bottom:18px;
}
.work-principles-grid h3{margin-bottom:8px}
.work-principles-grid p{margin:0;color:#6a7489;line-height:1.55}
.work-projects-section{
  position:relative;overflow:hidden;padding-top:70px;
  background:linear-gradient(180deg,#f7f9fd,#f4f6fb);
}
.work-projects-section::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 8% 18%,rgba(37,124,255,.08),transparent 28%),radial-gradient(circle at 92% 82%,rgba(224,43,179,.08),transparent 30%);
}
.work-projects-section .container{position:relative;z-index:1}
.work-portfolio-grid .project{background:rgba(255,255,255,.86);box-shadow:0 18px 44px rgba(67,73,106,.08)}
.work-portfolio-grid .project-info p{min-height:74px;line-height:1.55}
.work-results-strip{
  display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border-top:1px solid rgba(86,99,126,.12);
}
.work-results-strip div{padding:24px;text-align:center;border-right:1px solid rgba(86,99,126,.12)}
.work-results-strip div:last-child{border-right:0}
.work-results-strip strong{display:block;color:var(--ink);font-size:1.55rem;margin-bottom:4px}
.work-results-strip span{color:#707a8f;font-size:.88rem}
.work-final-section{padding-top:42px}
.work-final-cta{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:42px 44px}
.work-final-cta h2{max-width:15ch;margin:14px 0 10px}
.work-final-cta p{max-width:650px;margin:0}
.work-final-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:980px){
  .work-hero-grid{grid-template-columns:1fr;align-items:start}
  .work-hero-note{max-width:720px}
  .work-principles-grid{grid-template-columns:1fr}
  .work-final-cta{grid-template-columns:1fr}
  .work-final-actions{justify-content:flex-start}
}
@media(max-width:680px){
  .work-hero-grid{gap:28px}
  .work-hero-badges{gap:8px}
  .work-hero-badges span{font-size:.76rem}
  .work-principles-grid article{padding:21px}
  .work-results-strip{grid-template-columns:1fr}
  .work-results-strip div{border-right:0;border-bottom:1px solid rgba(86,99,126,.12)}
  .work-results-strip div:last-child{border-bottom:0}
  .work-final-cta{padding:30px 24px}
}


/* ===== v89: página preguntas frecuentes completa ===== */
.faq-page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 70%,rgba(37,124,255,.12),transparent 30%),radial-gradient(circle at 88% 22%,rgba(224,43,179,.11),transparent 30%)}
.faq-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:54px;align-items:center}
.faq-page-hero h1{max-width:850px}
.faq-page-hero .lead{color:#667086;max-width:820px;line-height:1.62}
.faq-hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.faq-hero-badges span{padding:8px 12px;border-radius:999px;border:1px solid rgba(86,99,126,.16);background:rgba(255,255,255,.66);color:#657086;font-size:.82rem;font-weight:700}
.faq-hero-panel{padding:28px;border-radius:28px;border:1px solid rgba(117,72,255,.18);background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(248,242,255,.86));box-shadow:0 22px 55px rgba(70,71,109,.09)}
.faq-panel-kicker{display:block;color:#737d91;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px}
.faq-hero-panel h3{font-size:1.38rem;margin-bottom:11px}
.faq-hero-panel p{color:#687287;line-height:1.58;margin-bottom:20px}
.faq-main-section{position:relative;background:#f5f7fb}
.faq-layout{display:grid;grid-template-columns:310px 1fr;gap:50px;align-items:start}
.faq-sidebar{position:sticky;top:112px}
.faq-sidebar h2{margin:15px 0 12px;max-width:10ch}
.faq-sidebar>p{line-height:1.58}
.faq-category-list{display:grid;gap:8px;margin:24px 0}
.faq-category-list a{padding:11px 13px;border-radius:13px;border:1px solid rgba(92,103,137,.12);background:rgba(255,255,255,.66);color:#667086;font-size:.9rem;font-weight:700;transition:.2s}
.faq-category-list a:hover{color:var(--ink);border-color:rgba(117,72,255,.24);transform:translateX(3px)}
.faq-help-card{display:grid;gap:6px;padding:18px;border-radius:18px;background:linear-gradient(135deg,rgba(37,124,255,.10),rgba(224,43,179,.09));border:1px solid rgba(117,72,255,.14)}
.faq-help-card strong{color:var(--ink)}
.faq-help-card span{color:#6d778c;font-size:.88rem;line-height:1.45}
.faq-help-card a{color:#6c4ef3;font-size:.88rem;font-weight:800;margin-top:4px}
.faq-content{display:grid;gap:50px}
.faq-group{scroll-margin-top:110px}
.faq-group-head{display:flex;gap:15px;align-items:center;margin-bottom:18px}
.faq-group-head>span{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--blue),var(--violet),var(--magenta));box-shadow:0 10px 24px rgba(87,74,255,.18)}
.faq-group-head h2{font-size:1.65rem;margin:0 0 3px}
.faq-group-head p{margin:0;color:#788296;font-size:.9rem}
.faq-content .faq{gap:10px}
.faq-content .faq-item{border-radius:17px;background:rgba(255,255,255,.86);border-color:rgba(76,85,112,.10);box-shadow:0 8px 24px rgba(52,60,90,.045)}
.faq-content .faq-item.open{border-color:rgba(117,72,255,.24);box-shadow:0 14px 34px rgba(77,65,135,.08)}
.faq-content .faq-q{padding:19px 21px;color:var(--ink);font-size:.98rem}
.faq-content .faq-q span:last-child{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(117,72,255,.08);color:#7256e9;flex:0 0 auto}
.faq-content .faq-a p{padding:0 64px 20px 21px;color:#687287;line-height:1.62}
.faq-content .faq-item.open .faq-a{max-height:520px}
.faq-final-section{padding-top:54px}
.faq-final-cta{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:42px 44px}
.faq-final-cta h2{max-width:16ch;margin:14px 0 10px}
.faq-final-cta p{max-width:650px;margin:0}
.faq-final-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:980px){.faq-hero-grid,.faq-layout,.faq-final-cta{grid-template-columns:1fr}.faq-sidebar{position:static}.faq-sidebar h2{max-width:none}.faq-category-list{grid-template-columns:repeat(2,1fr)}.faq-final-actions{justify-content:flex-start}}
@media(max-width:680px){.faq-category-list{grid-template-columns:1fr}.faq-hero-panel{padding:22px 19px}.faq-group-head{align-items:flex-start}.faq-group-head h2{font-size:1.4rem}.faq-content .faq-q{padding:17px 16px;gap:12px}.faq-content .faq-a p{padding:0 16px 18px}.faq-final-cta{padding:30px 22px}.faq-final-actions{display:grid;width:100%}.faq-final-actions .btn{width:100%}}


/* ===== v90: formulario PHP de consulta ===== */
.form-status{grid-column:1/-1;padding:13px 15px;border-radius:13px;border:1px solid rgba(215,66,96,.24);background:rgba(215,66,96,.08);color:#a62d48;font-size:.9rem;line-height:1.45;margin-bottom:4px}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}


/* ===== v91: validación progresiva y borrador del formulario ===== */
.form-card .field{position:relative}
.form-card input,.form-card select,.form-card textarea{transition:border-color .2s,box-shadow .2s,background .2s}
.form-card .field.has-error input,
.form-card .field.has-error select,
.form-card .field.has-error textarea{
  border-color:#dc4d68;
  box-shadow:0 0 0 3px rgba(220,77,104,.11);
  background:#fffafb;
}
.form-card .field.is-valid input,
.form-card .field.is-valid select,
.form-card .field.is-valid textarea{
  border-color:rgba(20,191,130,.48);
}
.field-error{display:block;min-height:18px;margin-top:5px;color:#c33f5b;font-size:.79rem;line-height:1.35}
.check-row.has-error{color:#a8344b}
.form-submit-help{text-align:center;margin:9px 0 0;color:#778196;font-size:.82rem}
.form-submit-help::before{content:"✓";margin-right:6px;color:#17b97d;font-weight:900}
.btn[disabled]{cursor:not-allowed;opacity:.55;transform:none!important;box-shadow:none!important}
.form-status{margin-bottom:18px;padding:13px 15px;border-radius:14px;border:1px solid rgba(220,77,104,.22);background:rgba(220,77,104,.07);color:#a8344b;font-size:.9rem}


/* ===== v93: envío compacto, consentimiento alineado y validaciones ===== */
.form-card .check-row{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:10px;
  max-width:620px;
  margin:4px 0 2px;
  color:#59647a;
  font-size:.92rem;
  font-weight:600;
  line-height:1.45;
  cursor:pointer;
}
.form-card .check-row input[type="checkbox"]{
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:2px 0 0;
  accent-color:#6f59f4;
  cursor:pointer;
}
.form-card .check-row span{
  display:block;
  max-width:540px;
}
.form-submit-row{
  display:flex;
  justify-content:center;
  margin-top:4px;
}
.form-submit-btn{
  width:auto;
  min-width:230px;
  max-width:100%;
  min-height:48px;
  padding-inline:28px;
}
@media(max-width:680px){
  .form-submit-btn{width:100%;min-width:0}
  .form-card .check-row{font-size:.88rem}
}

/* ===== v95: Cloudflare Turnstile ===== */
.turnstile-field{
  display:grid;
  gap:11px;
  justify-items:start;
  padding:16px 18px;
  border:1px solid rgba(86,99,126,.14);
  border-radius:17px;
  background:linear-gradient(135deg,rgba(246,249,255,.8),rgba(255,247,252,.72));
}
.turnstile-label{display:grid;gap:2px}
.turnstile-label strong{color:var(--ink);font-size:.92rem}
.turnstile-label span{color:#737d91;font-size:.84rem;line-height:1.4}
.cf-turnstile{max-width:100%}
.turnstile-error{min-height:0;margin:0;color:#c74862;font-size:.82rem}
.turnstile-error:empty{display:none}
@media(max-width:680px){
  .turnstile-field{padding:14px}
  .cf-turnstile{width:100%;overflow:hidden}
}

/* v96 contacto funcional */
.contact-submit-row{justify-items:start}.contact-submit-row .btn{min-width:220px}.contact-consent .check-row{align-items:center}.contact-consent .check-row input{width:18px;height:18px;flex:0 0 auto;margin:0}.contact-consent .check-row span{color:#596479;font-size:.92rem;line-height:1.45}.form-status{grid-column:1/-1;padding:13px 15px;border-radius:14px;background:rgba(199,72,98,.08);border:1px solid rgba(199,72,98,.2);color:#a7354d;margin-bottom:16px}.submit-help{color:#737d91;font-size:.82rem;line-height:1.4}

/* v98: protección visual moderada; no bloquea texto ni buscadores */
img{-webkit-user-drag:none;user-drag:none}
.protected-media{position:relative}
@media print{.site-header,.site-footer,.float-wa{display:none!important}}


/* ===== v99: corrección de proporción del logo del pie ===== */
.footer-logo{
  width:230px;
  height:auto !important;
  max-height:none;
  object-fit:contain;
}
@media(max-width:980px){
  .footer-logo{width:210px}
}


/* ===== v100: protección global de proporciones de imágenes =====
   Evita deformaciones aunque una sección controle únicamente el ancho. */
img{
  max-width:100%;
}
.brand img,
.hero-visual img,
.identity-board-photo img,
.steps-photo img,
.work-card img,
.portfolio-card img,
.footer-logo{
  height:auto;
}


/* ===== v101: corrección definitiva del logo del header ===== */
.site-header .nav{
  height:92px;
}
.site-header .brand{
  display:flex;
  align-items:center;
  align-self:auto;
  flex:0 0 auto;
  min-width:0;
}
.site-header .brand img{
  display:block;
  width:190px;
  height:auto;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:left center;
}
.site-header.is-scrolled .nav{
  height:76px;
}
.site-header.is-scrolled .brand img{
  width:160px;
  height:auto;
  max-height:none;
}
@media(max-width:980px){
  .site-header .nav{height:82px}
  .site-header .brand img{width:165px}
  .site-header.is-scrolled .nav{height:72px}
  .site-header.is-scrolled .brand img{width:145px}
}
@media(max-width:680px){
  .site-header .nav{height:72px}
  .site-header .brand img{width:145px}
  .site-header.is-scrolled .nav{height:66px}
  .site-header.is-scrolled .brand img{width:130px}
}


/* ===== v102: ajuste final del logo del encabezado ===== */
.site-header .nav{
  height:112px;
}
.site-header .brand{
  height:100%;
  display:flex;
  align-items:center;
}
.site-header .brand img{
  width:165px;
  height:auto;
  max-height:98px;
  display:block;
  object-fit:contain;
}
.site-header.is-scrolled .nav{
  height:78px;
}
.site-header.is-scrolled .brand img{
  width:120px;
  max-height:70px;
}
@media(max-width:980px){
  .site-header .nav{height:94px}
  .site-header .brand img{width:145px;max-height:86px}
  .site-header.is-scrolled .nav{height:72px}
  .site-header.is-scrolled .brand img{width:112px;max-height:66px}
}
@media(max-width:680px){
  .site-header .nav{height:78px}
  .site-header .brand img{width:118px;max-height:70px}
  .site-header.is-scrolled .nav{height:66px}
  .site-header.is-scrolled .brand img{width:100px;max-height:59px}
}

/* ===== v103: botón flotante de WhatsApp ===== */
.float-wa{
  width:58px;
  height:58px;
  border-radius:50%;
  transition:transform .2s ease,box-shadow .2s ease;
}
.float-wa:hover{
  transform:translateY(-3px) scale(1.04);
  box-shadow:0 20px 46px rgba(33,201,101,.38);
}
.float-wa svg{display:block}
@media(max-width:680px){
  .float-wa{right:14px;bottom:14px;width:54px;height:54px}
}

/* ===== v104: llamada de atención suave del botón WhatsApp =====
   Hace un pequeño balanceo cada 5 segundos y respeta accesibilidad. */
@keyframes gf-wa-nudge{
  0%, 82%, 100%{transform:translateY(0) rotate(0deg) scale(1)}
  85%{transform:translateY(-2px) rotate(-5deg) scale(1.03)}
  88%{transform:translateY(0) rotate(5deg) scale(1.03)}
  91%{transform:translateY(-1px) rotate(-3deg) scale(1.02)}
  94%{transform:translateY(0) rotate(0deg) scale(1)}
}
.float-wa{
  animation:gf-wa-nudge 5s ease-in-out infinite;
  transform-origin:50% 70%;
}
.float-wa:hover,
.float-wa:focus-visible{
  animation-play-state:paused;
  transform:translateY(-3px) scale(1.04);
}
@media (prefers-reduced-motion: reduce){
  .float-wa{animation:none}
}

/* ===== v105: WhatsApp desplegable ===== */
.float-wa{
  animation:gf-wa-pulse 5s ease-in-out infinite;
  z-index:1002;
}
@keyframes gf-wa-pulse{
  0%, 78%, 100%{transform:translateY(0) scale(1);box-shadow:0 14px 34px rgba(33,201,101,.28)}
  84%{transform:translateY(-4px) scale(1.08);box-shadow:0 18px 42px rgba(33,201,101,.48)}
  90%{transform:translateY(0) scale(1)}
  94%{transform:translateY(-2px) scale(1.04)}
}
.wa-chat{
  position:fixed;
  right:24px;
  bottom:92px;
  width:min(350px,calc(100vw - 28px));
  background:#fff;
  border:1px solid rgba(20,29,50,.1);
  border-radius:20px;
  box-shadow:0 24px 70px rgba(18,27,46,.22);
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px) scale(.97);
  transform-origin:bottom right;
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
  z-index:1001;
}
.wa-chat.is-open{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}
.wa-chat-head{
  display:flex;
  align-items:center;
  gap:11px;
  padding:14px 15px;
  color:#fff;
  background:linear-gradient(135deg,#1fac62,#25d366);
}
.wa-chat-head>div:nth-child(2){display:grid;gap:1px}
.wa-chat-head strong{font-size:.96rem}
.wa-chat-head span{font-size:.76rem;opacity:.9}
.wa-chat-avatar{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
}
.wa-chat-close{
  margin-left:auto;
  width:32px;
  height:32px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  color:#fff;
  font-size:1.35rem;
  line-height:1;
  cursor:pointer;
}
.wa-chat-body{padding:15px;background:#f6f8fb}
.wa-bubble{
  width:fit-content;
  max-width:92%;
  padding:11px 13px;
  border-radius:5px 15px 15px 15px;
  background:#fff;
  color:#263044;
  font-size:.86rem;
  line-height:1.45;
  box-shadow:0 4px 14px rgba(31,44,70,.08);
}
.wa-mini-form{display:grid;gap:8px;margin-top:13px}
.wa-mini-form label{
  color:#334057;
  font-size:.78rem;
  font-weight:700;
}
.wa-mini-form textarea{
  width:100%;
  resize:none;
  min-height:82px;
  padding:11px 12px;
  border:1px solid #dce2ea;
  border-radius:12px;
  background:#fff;
  color:#1e293b;
  font:inherit;
  font-size:.86rem;
  outline:none;
}
.wa-mini-form textarea:focus{
  border-color:#25b864;
  box-shadow:0 0 0 3px rgba(37,184,100,.12);
}
.wa-mini-form button{
  border:0;
  border-radius:12px;
  padding:11px 14px;
  background:#21b861;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.wa-mini-form button:hover{background:#169e50}
@media(max-width:680px){
  .wa-chat{right:14px;bottom:82px}
}
@media(prefers-reduced-motion:reduce){
  .float-wa{animation:none}
  .wa-chat{transition:none}
}

/* ===== v106: llamada de atención visible pero elegante ===== */
.float-wa{
  position:fixed;
  overflow:visible;
  animation:gf-wa-attention 6s ease-in-out infinite;
  will-change:transform,box-shadow;
}
.float-wa::before,
.float-wa::after{
  content:"";
  position:absolute;
  inset:-7px;
  border:2px solid rgba(37,211,102,.42);
  border-radius:50%;
  opacity:0;
  pointer-events:none;
}
.float-wa::before{
  animation:gf-wa-ring 6s ease-out infinite;
}
.float-wa::after{
  animation:gf-wa-ring 6s ease-out 0.35s infinite;
}
@keyframes gf-wa-attention{
  0%,72%,100%{
    transform:translateY(0) rotate(0deg) scale(1);
    box-shadow:0 14px 34px rgba(33,201,101,.28);
  }
  76%{
    transform:translateY(-5px) rotate(-8deg) scale(1.08);
    box-shadow:0 20px 46px rgba(33,201,101,.5);
  }
  79%{transform:translateY(-2px) rotate(8deg) scale(1.08)}
  82%{transform:translateY(-4px) rotate(-5deg) scale(1.06)}
  85%{transform:translateY(0) rotate(3deg) scale(1.03)}
  88%{transform:translateY(0) rotate(0deg) scale(1)}
}
@keyframes gf-wa-ring{
  0%,72%{transform:scale(.82);opacity:0}
  76%{opacity:.65}
  88%{transform:scale(1.55);opacity:0}
  100%{opacity:0}
}
.float-wa:hover,
.float-wa:focus-visible{
  animation-play-state:paused;
}
.float-wa:hover::before,
.float-wa:hover::after,
.float-wa:focus-visible::before,
.float-wa:focus-visible::after{
  animation-play-state:paused;
  opacity:0;
}
@media(prefers-reduced-motion:reduce){
  .float-wa,
  .float-wa::before,
  .float-wa::after{
    animation:none !important;
  }
}

/* ===== v107: animación activada por JavaScript ===== */
.float-wa{
  animation:none !important;
}
.float-wa::before,
.float-wa::after{
  animation:none !important;
}
.float-wa.is-attention{
  animation:gf-wa-jump-v107 1.25s cubic-bezier(.36,.07,.19,.97) both !important;
}
.float-wa.is-attention::before{
  animation:gf-wa-ring-v107 1.15s ease-out both !important;
}
.float-wa.is-attention::after{
  animation:gf-wa-ring-v107 1.15s ease-out .18s both !important;
}
@keyframes gf-wa-jump-v107{
  0%,100%{transform:translateY(0) rotate(0deg) scale(1)}
  18%{transform:translateY(-7px) rotate(-9deg) scale(1.1)}
  34%{transform:translateY(-2px) rotate(9deg) scale(1.08)}
  50%{transform:translateY(-5px) rotate(-6deg) scale(1.07)}
  67%{transform:translateY(0) rotate(4deg) scale(1.03)}
  82%{transform:translateY(-2px) rotate(-2deg) scale(1.02)}
}
@keyframes gf-wa-ring-v107{
  0%{transform:scale(.75);opacity:0}
  20%{opacity:.7}
  100%{transform:scale(1.65);opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .float-wa.is-attention,
  .float-wa.is-attention::before,
  .float-wa.is-attention::after{
    animation:none !important;
  }
}

/* ===== v108: animación directa por Web Animations API ===== */
.float-wa{
  animation:none !important;
  overflow:visible !important;
}
.float-wa::before,
.float-wa::after{
  animation:none !important;
  display:none !important;
}
.wa-attention-ring{
  position:absolute;
  inset:-8px;
  border:3px solid rgba(37,211,102,.58);
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}

/* ===== v109: atención de WhatsApp visible y sin bloqueo del sistema ===== */
.float-wa{
  overflow:visible !important;
  transform-origin:50% 70% !important;
}
.float-wa::before,
.float-wa::after{
  display:none !important;
}
.float-wa .wa-notification-dot{
  position:absolute;
  top:-5px;
  right:-5px;
  width:17px;
  height:17px;
  border:3px solid #fff;
  border-radius:50%;
  background:#ff4655;
  box-shadow:0 3px 10px rgba(255,70,85,.45);
  pointer-events:none;
  animation:wa-dot-pulse-v109 1.5s ease-in-out infinite;
}
.float-wa.wa-flash{
  box-shadow:
    0 0 0 0 rgba(37,211,102,.7),
    0 18px 48px rgba(33,201,101,.55) !important;
  animation:wa-halo-v109 1.45s ease-out !important;
}
@keyframes wa-halo-v109{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.72),0 18px 48px rgba(33,201,101,.55)}
  65%{box-shadow:0 0 0 22px rgba(37,211,102,0),0 22px 54px rgba(33,201,101,.5)}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0),0 16px 40px rgba(33,201,101,.28)}
}
@keyframes wa-dot-pulse-v109{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.28);opacity:.78}
}

/* ===== v111: pie inferior unificado y alineado a la derecha ===== */
.footer-bottom-inner.footer-bottom-right{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  text-align:right;
}
.footer-bottom-inner.footer-bottom-right span{
  margin-left:auto;
}
@media(max-width:680px){
  .footer-bottom-inner.footer-bottom-right{
    justify-content:center;
    text-align:center;
  }
  .footer-bottom-inner.footer-bottom-right span{
    margin-left:0;
  }
}

/* ===== v113: política de privacidad definitiva ===== */
.legal-layout{max-width:980px}
.legal-card{padding:clamp(24px,4vw,46px);border:1px solid rgba(74,85,112,.12);border-radius:26px;background:#fff;box-shadow:0 24px 70px rgba(28,38,64,.08)}
.legal-card h2{margin:30px 0 10px;color:var(--ink);font-size:clamp(1.15rem,2vw,1.45rem)}
.legal-card h2:first-of-type{margin-top:22px}
.legal-card p{margin:0 0 13px;color:#586278;line-height:1.72}
.legal-card a{font-weight:700}
.legal-updated{padding:12px 14px;border-radius:13px;background:linear-gradient(135deg,rgba(78,116,255,.08),rgba(236,46,166,.07))}
@media(max-width:680px){.legal-card{padding:21px 18px;border-radius:20px}}

/* ===== v114: footer inferior realmente unificado ===== */
.footer-bottom.footer-bottom-unified{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  text-align:right;
}
.footer-bottom.footer-bottom-unified > span{
  margin-left:auto;
}
@media(max-width:680px){
  .footer-bottom.footer-bottom-unified{
    justify-content:center;
    text-align:center;
  }
  .footer-bottom.footer-bottom-unified > span{
    margin-left:0;
  }
}

/* ===== v115: copyright a la izquierda + firma a la derecha ===== */
.footer-bottom.footer-bottom-unified{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  text-align:left;
}
.footer-bottom.footer-bottom-unified .footer-copy{
  margin-right:auto;
  white-space:nowrap;
}
.footer-bottom.footer-bottom-unified .footer-signature{
  margin-left:auto;
  text-align:right;
}
@media(max-width:680px){
  .footer-bottom.footer-bottom-unified{
    flex-direction:column;
    justify-content:center;
    gap:7px;
    text-align:center;
  }
  .footer-bottom.footer-bottom-unified .footer-copy,
  .footer-bottom.footer-bottom-unified .footer-signature{
    margin:0;
    text-align:center;
    white-space:normal;
  }
}

/* ===== v116: footer inferior centrado y unificado ===== */
.footer-bottom.footer-bottom-centered{
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  min-height:48px;
}
.footer-bottom.footer-bottom-centered > span{
  margin:0;
  max-width:100%;
  line-height:1.45;
  letter-spacing:.01em;
}
@media(max-width:680px){
  .footer-bottom.footer-bottom-centered{
    min-height:58px;
    padding-top:10px;
    padding-bottom:10px;
  }
}

/* ===== v117: reserva 50 % + Checkout Pro ===== */
.reservation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px;border:1px solid rgba(82,98,130,.14);border-radius:17px;background:linear-gradient(135deg,rgba(68,116,255,.07),rgba(232,48,172,.06))}
.reservation-summary>div{display:grid;gap:3px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.78)}
.reservation-summary span{font-size:.78rem;color:#69758b}.reservation-summary strong{font-size:1.08rem;color:var(--ink)}.reservation-summary small{grid-column:1/-1;color:#7a8496}.reservation-summary.is-ready>div:nth-child(2){box-shadow:0 0 0 2px rgba(41,182,102,.18)}
.mp-test-notice{margin-top:20px;text-align:center;border-color:rgba(245,164,38,.3);background:rgba(255,246,220,.82)}
.payment-result-page{min-height:100vh;display:grid;align-items:center;background:radial-gradient(circle at 15% 15%,rgba(83,132,255,.12),transparent 34%),radial-gradient(circle at 85% 20%,rgba(237,62,174,.1),transparent 34%),#f7f9fd}
.payment-result-card{max-width:720px;margin:auto;text-align:center;padding:clamp(28px,5vw,54px)}
.payment-result-icon{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 18px;border-radius:50%;font-size:2rem;font-weight:900;background:#eef1f7;color:#48546a}.payment-result-card.is-approved .payment-result-icon{background:#dcf8e8;color:#168d4c}.payment-result-card.is-pending .payment-result-icon{background:#fff1cf;color:#a66d00}.payment-result-card.is-error .payment-result-icon{background:#ffe3e8;color:#c33f58}
.payment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}.payment-summary>div{display:grid;gap:4px;padding:13px;border-radius:13px;background:#f6f8fc}.payment-summary span{font-size:.78rem;color:#728096}.payment-summary strong{overflow-wrap:anywhere}
@media(max-width:680px){.reservation-summary{grid-template-columns:1fr}.reservation-summary small{grid-column:auto}.payment-summary{grid-template-columns:1fr}}
