    :root{
      --ink:#12162E;--ink-soft:#1B2143;--paper:#F4F5F8;--surface:#FFFFFF;
      --primary:#2B34E0;--primary-deep:#1A1F8A;--spark:#FF6A3D;
      --muted:#5A6178;--muted-on-ink:#A6ACC4;--line:#E3E6EE;--line-on-ink:#2C3357;--tint:#EEF0FC;
      --display:'Bricolage Grotesque',system-ui,sans-serif;--body:'Hanken Grotesk',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;
      --maxw:1180px;--radius:14px;--pad-x:clamp(1.1rem,4vw,2.5rem);
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;font-size:1.0625rem}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.08;letter-spacing:-0.02em}
    strong{font-weight:600;color:var(--ink)}
    .sect-ink strong{color:#fff}
    .skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:300}
    .skip:focus{left:8px;top:8px}
    .wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad-x);padding-right:var(--pad-x)}
    .eyebrow{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);display:inline-block}
    .eyebrow.on-ink{color:var(--spark)}
    .sect{padding:clamp(3.2rem,7vw,5.8rem) 0}
    .sect-ink{background:var(--ink);color:#fff}
    .sect-tint{background:var(--tint)}
    .sect-head{max-width:680px;margin-bottom:2.4rem}
    .sect-head.center{margin-left:auto;margin-right:auto;text-align:center}
    .sect-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin:.7rem 0 .6rem}
    .sect-head p{color:var(--muted);font-size:1.08rem}
    .sect-ink .sect-head p{color:var(--muted-on-ink)}
    /* PILLAR INTRO (contenido SEO) */
    .pillar{max-width:840px}
    .pillar h2{font-size:clamp(1.9rem,3.4vw,2.6rem);margin:.6rem 0 1.1rem}
    .pillar p{color:var(--muted);font-size:1.08rem;margin-bottom:1.05rem}
    .pillar p:last-child{margin-bottom:0}
    .pillar a{color:var(--primary);font-weight:600}
    .pillar a:hover{text-decoration:underline}
    /* Botones dentro de .pillar: conservan su color propio (si no, .pillar a los pintaría de azul) */
    .pillar a.btn{color:#fff}
    .pillar a.btn-spark{color:#241000}
    .pillar a.btn-ghost{color:var(--ink)}
    .sect-ink .pillar a.btn-ghost{color:#fff}
    .pillar a.btn:hover{text-decoration:none}
    .btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--body);font-weight:600;font-size:.97rem;padding:.78rem 1.4rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:transform .15s,background .2s,border-color .2s}
    .btn:active{transform:scale(.97)}
    .btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-deep)}
    .btn-spark{background:var(--spark);color:#241000}.btn-spark:hover{filter:brightness(1.05)}
    .btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}
    .sect-ink .btn-ghost{border-color:var(--line-on-ink);color:#fff}.sect-ink .btn-ghost:hover{border-color:#fff}
    .arrow{transition:transform .2s}
    .link-arrow{font-weight:600;color:var(--primary);display:inline-flex;align-items:center;gap:.35rem}
    .link-arrow:hover .arrow{transform:translateX(4px)}

    /* INTRO (texto SEO + foto, alternado) */
    .intro{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,3.6rem);align-items:center}
    .intro .sect-head{margin-bottom:0}
    .intro-text p{color:var(--muted);font-size:1.06rem}
    .sect-ink .intro-text p{color:var(--muted-on-ink)}
    .intro-text .btn,.intro-text .link-arrow{margin-top:1.3rem}
    .intro-photo{position:relative;margin:0}
    .intro-photo img{width:100%;border-radius:16px;aspect-ratio:5/4;object-fit:cover;box-shadow:0 32px 64px -30px rgba(18,22,46,.4);transition:transform .35s ease,box-shadow .35s ease}
    .intro-photo:hover img{transform:translateY(-4px);box-shadow:0 42px 74px -28px rgba(18,22,46,.5)}
    .intro-photo::before{content:"";position:absolute;width:62%;height:62%;background:var(--tint);border-radius:18px;z-index:-1;right:-16px;bottom:-16px;transition:transform .35s ease}
    .intro-photo:hover::before{transform:translate(5px,5px)}
    .sect-tint .intro-photo::before{background:#E0E4F3}
    .sect-ink .intro-photo::before{background:#262e57}
    .intro.reverse .intro-photo{order:-1}
    .intro.reverse .intro-photo::before{left:-16px;right:auto}
    .below{margin-top:clamp(2.4rem,5vw,3.4rem)}
    /* BREADCRUMB */
    .breadcrumb{font-family:var(--body);font-size:.82rem;color:var(--muted);margin-bottom:1.2rem;display:flex;gap:.45rem;flex-wrap:wrap;align-items:center}
    .breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--primary)}
    .breadcrumb span[aria-current]{color:var(--ink);font-weight:600}
    .breadcrumb .sep{opacity:.5}
    /* FEATURE GRID (qué incluye / tipos / ventajas) */
    .feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
    .feat{display:flex;flex-direction:column;gap:.55rem}
    .feat-ico{width:44px;height:44px;border-radius:11px;background:var(--tint);display:grid;place-items:center;color:var(--primary)}
    .sect-tint .feat-ico{background:#fff}
    .feat h3{font-size:1.12rem}
    .feat p{font-size:.93rem;color:var(--muted)}
    /* COMPARATIVA (a medida vs plantillas) */
    .compare{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
    .compare-col{border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;background:var(--surface)}
    .compare-col.win{border-color:var(--primary);box-shadow:0 24px 50px -30px rgba(43,52,224,.4)}
    .compare-col h3{font-size:1.18rem;margin-bottom:.9rem}
    .compare-col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
    .compare-col li{display:flex;gap:.55rem;align-items:flex-start;font-size:.94rem;color:var(--muted)}
    .compare-col li svg{flex:none;margin-top:.2rem}
    .compare-col .yes{color:#1DBF73}
    .compare-col .no{color:#d1495b}

    /* PROMO BAR */
    .promobar{background:var(--ink);color:#fff;font-size:.86rem;text-align:center;position:relative}
    .promobar .pb-in{padding:.55rem 2.4rem;display:flex;gap:.7rem;align-items:center;justify-content:center;flex-wrap:wrap}
    .promobar b{color:var(--spark);font-weight:600}
    .promobar a{font-weight:600;text-decoration:underline;text-underline-offset:2px}
    .promobar .pb-x{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;cursor:pointer;font-size:1.1rem;opacity:.7;line-height:1}
    .promobar.hide{display:none}

    /* HEADER */
    .header{position:sticky;top:0;z-index:100;background:rgba(244,245,248,.82);backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s,background .2s}
    .header.scrolled{border-color:var(--line);background:rgba(244,245,248,.96)}
    .nav{display:flex;align-items:center;justify-content:space-between;height:70px;gap:.8rem}
    .brand{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-0.04em;display:flex;align-items:center}
    .brand .dot{color:var(--spark)}
    .nav-menu{display:flex;align-items:center;gap:.05rem;list-style:none}
    .nav-link{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem .62rem;border-radius:10px;font-weight:500;font-size:.92rem;color:var(--ink);cursor:pointer;background:none;border:none;font-family:var(--body);white-space:nowrap}
    .nav-link:hover{background:var(--tint);color:var(--primary)}
    .nav-link .chev{width:13px;height:13px;transition:transform .2s}
    .has-mega{position:relative}
    .has-mega::after{content:"";position:absolute;top:100%;left:0;right:0;height:14px}
    .has-mega:hover .chev,.has-mega.open .chev{transform:rotate(180deg)}
    .mega{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(8px);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px -20px rgba(18,22,46,.28);padding:1.4rem;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s;z-index:120}
    .has-mega:hover .mega,.has-mega.open .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
    .mega-services{width:820px;display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
    .mega-col p{font-family:var(--body);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;margin-bottom:.7rem}
    .mega-col p a{color:var(--primary)}
    .mega-col ul{list-style:none;display:flex;flex-direction:column;gap:.12rem}
    .mega-col li a{display:block;padding:.36rem .5rem;border-radius:8px;font-size:.88rem;color:var(--ink);font-weight:500}
    .mega-col li a:hover{background:var(--tint);color:var(--primary)}
    .mega-foot{grid-column:1/-1;margin-top:.3rem;padding-top:1rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--muted);gap:1rem;flex-wrap:wrap}
    .mega-sectors{width:600px;display:grid;grid-template-columns:repeat(3,1fr);gap:.12rem}
    .mega-sectors a{display:block;padding:.42rem .5rem;border-radius:8px;font-size:.88rem;font-weight:500}
    .mega-sectors a:hover{background:var(--tint);color:var(--primary)}
    .nav-right{display:flex;align-items:center;gap:.5rem}
    .lang{position:relative}
    .lang-btn{font-family:var(--mono);font-size:.8rem;font-weight:500;padding:.45rem .6rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;display:flex;align-items:center;gap:.25rem}
    .lang-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.3rem;min-width:120px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.16s;box-shadow:0 16px 40px -14px rgba(18,22,46,.25)}
    .lang.open .lang-menu{opacity:1;visibility:visible;transform:translateY(0)}
    .lang-menu a{display:block;padding:.45rem .6rem;border-radius:7px;font-size:.88rem;font-weight:500}
    .lang-menu a:hover{background:var(--tint)}
    .burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem}
    .burger span{width:22px;height:2px;background:var(--ink);border-radius:2px;transition:.25s}

    /* HERO */
    .hero{padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(3.5rem,7vw,6rem)}
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center}
    .hero h1{font-size:clamp(2.5rem,5.4vw,4.05rem);font-weight:800;margin:1rem 0 1.2rem}
    .hero h1 .hl{color:var(--primary);position:relative}
    .hero h1 .hl::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.16em;background:var(--spark);opacity:.55;z-index:-1}
    .hero-sub{font-size:1.18rem;color:var(--muted);max-width:36ch}
    .hero-cta{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.8rem 0 1.6rem}
    .trust{display:flex;flex-wrap:wrap;gap:1.4rem;font-size:.86rem;color:var(--muted);font-family:var(--mono)}
    .trust b{color:var(--ink);font-weight:500}.trust span{display:inline-flex;align-items:center;gap:.35rem}
    .hero-media{position:relative}
    .hero-media>img{width:100%;border-radius:18px;aspect-ratio:4/3.5;object-fit:cover;box-shadow:0 34px 70px -28px rgba(18,22,46,.45)}
    .serp{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px -20px rgba(18,22,46,.4);padding:1rem;position:absolute;right:-14px;bottom:-30px;width:74%}
    .serp-bar{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:999px;padding:.5rem .8rem;font-size:.82rem;color:var(--muted);background:var(--paper)}
    .serp-res{margin-top:.7rem;display:flex;flex-direction:column;gap:.45rem}
    .res{padding:.55rem .7rem;border-radius:10px;border:1px solid transparent}
    .res .u{font-family:var(--mono);font-size:.66rem;color:var(--muted)}
    .res .t{font-size:.9rem;color:#1a3fc4;font-weight:500;margin-top:.1rem}
    .res .d{font-size:.74rem;color:var(--muted);margin-top:.1rem}
    .res.win{border-color:rgba(43,52,224,.35);background:linear-gradient(180deg,#fff,#f4f6ff);position:relative}
    .res.win .t{color:var(--primary)}
    .rank-tag{position:absolute;top:-11px;right:12px;background:var(--spark);color:#241000;font-family:var(--mono);font-size:.64rem;font-weight:500;padding:.2rem .55rem;border-radius:999px}
    .res.dim{opacity:.5}

    /* CLIENTS */
    .clients{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
    .clients-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.3rem 0;flex-wrap:wrap}
    .clients-row .lab{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
    .logos{display:flex;gap:2rem;flex-wrap:wrap;align-items:center;opacity:.6}
    .logos span{font-family:var(--display);font-weight:700;font-size:1.15rem;letter-spacing:-.02em;color:var(--muted)}

    /* SERVICES */
    .svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
    .svc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.3rem;display:flex;flex-direction:column;gap:.8rem;transition:transform .2s,box-shadow .2s,border-color .2s}
    .svc-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(18,22,46,.3);border-color:var(--primary)}
    .svc-photo{width:100%;height:140px;object-fit:cover;border-radius:10px}
    .svc-ico{width:46px;height:46px;border-radius:12px;background:var(--tint);display:grid;place-items:center;color:var(--primary)}
    .svc-card h3{font-size:1.18rem}
    .svc-card p{font-size:.92rem;color:var(--muted);flex:1}
    .svc-card .link-arrow{font-size:.9rem;margin-top:.2rem}
    .more-title{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:2.4rem 0 1.1rem;display:flex;align-items:center;gap:.8rem}
    .more-title::after{content:"";flex:1;height:1px;background:var(--line)}
    .dw-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
    .dw-grid > a:last-child:nth-child(odd){grid-column:1/-1}
    .dw-card{display:flex;flex-direction:column;gap:.6rem;padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:transform .2s,box-shadow .2s,border-color .2s}
    .dw-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(18,22,46,.3);border-color:var(--primary)}
    .dw-photo{width:100%;height:160px;object-fit:cover;border-radius:10px}
    .dw-card .mi{color:var(--primary)}
    .dw-card h3{font-family:var(--body);font-size:1.02rem;font-weight:600;letter-spacing:0;line-height:1.25}
    .dw-card span{font-size:.86rem;color:var(--muted);line-height:1.5}
    .more-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem}
    .more-card{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:.18s}
    .more-card:hover{border-color:var(--primary);transform:translateY(-3px)}
    .more-card .mi{color:var(--primary)}
    .more-card h3{font-family:var(--body);font-size:.92rem;font-weight:600;letter-spacing:0;line-height:1.25}
    .more-card span{font-size:.78rem;color:var(--muted);line-height:1.4}

    /* WHY */
    .why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:1.6rem}
    .why-item{border-top:2px solid var(--spark);padding-top:.9rem}
    .why-item h3{font-size:1.08rem;color:#fff;margin-bottom:.4rem}
    .why-item p{font-size:.9rem;color:var(--muted-on-ink)}

    /* PROCESS */
    .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
    .step{padding-top:1.2rem;border-top:1px solid var(--line)}
    .step .num{font-family:var(--mono);font-size:.8rem;color:var(--primary);font-weight:500}
    .step h3{font-size:1.12rem;margin:.6rem 0 .4rem}
    .step p{font-size:.9rem;color:var(--muted)}

    /* DEMOS */
    .demos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
    .demo{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .2s,box-shadow .2s}
    .demo:hover{transform:translateY(-5px);box-shadow:0 28px 56px -30px rgba(18,22,46,.32)}
    .demo-stage{padding:1.1rem 1.1rem 0;background:linear-gradient(180deg,var(--tint),#fff)}
    .browser{border:1px solid var(--line);border-radius:10px 10px 0 0;overflow:hidden;background:#fff;box-shadow:0 12px 30px -16px rgba(18,22,46,.3)}
    .browser-bar{display:flex;align-items:center;gap:5px;padding:7px 10px;border-bottom:1px solid var(--line);background:var(--paper)}
    .browser-bar i{width:8px;height:8px;border-radius:50%;background:var(--line)}
    .browser-url{margin-left:6px;font-family:var(--mono);font-size:.62rem;color:var(--muted)}
    .browser-screen{height:120px}
    .browser-screen img,.phone-screen img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
    .phone{width:118px;margin:0 auto;border:6px solid var(--ink);border-bottom:none;border-radius:22px 22px 0 0;overflow:hidden;background:#fff;box-shadow:0 12px 30px -16px rgba(18,22,46,.4)}
    .phone-screen{height:150px}
    .demo-body{padding:1.1rem 1.2rem 1.3rem;display:flex;justify-content:space-between;align-items:center;gap:.6rem}
    .demo-body h3{font-size:1.02rem}
    .demo-tag{font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border-radius:999px;background:var(--tint);color:var(--primary);font-weight:500}
    .demo-link{font-size:.85rem;font-weight:600;color:var(--primary);display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}
    .demo-link:hover .arrow{transform:translateX(4px)}

    /* PORTFOLIO */
    .work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
    .work-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--surface);transition:transform .2s}
    .work-card:hover{transform:translateY(-4px)}
    .work-card>img{aspect-ratio:4/3;object-fit:cover;width:100%}
    .work-body{padding:1rem 1.1rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem}
    .work-body h3{font-size:1.02rem}.work-body .cat{font-family:var(--mono);font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
    .metric{font-family:var(--mono);font-size:.78rem;color:#0c8a52;font-weight:500;white-space:nowrap}

    /* REVIEWS */
    .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
    .rev{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem}
    .stars{color:var(--spark);letter-spacing:2px;font-size:.95rem;margin-bottom:.6rem}
    .rev p{font-size:.95rem;margin-bottom:1rem}
    .rev .who{display:flex;align-items:center;gap:.7rem}
    .av{width:38px;height:38px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:600;font-size:.85rem;font-family:var(--display)}
    .rev .who b{font-size:.9rem;font-weight:600}.rev .who small{display:block;font-size:.78rem;color:var(--muted)}

    /* PROMOS */
    .promo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.6rem}
    .promo-card{border-radius:var(--radius);padding:1.4rem;border:1px solid var(--line-on-ink);background:var(--ink-soft);display:flex;flex-direction:column;gap:.5rem}
    .promo-off{font-family:var(--display);font-weight:800;font-size:2rem;color:var(--spark);line-height:1}
    .promo-card h3{font-size:1.05rem;color:#fff}
    .promo-card p{font-size:.86rem;color:var(--muted-on-ink);flex:1}
    .promo-card .tagx{font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--spark);border:1px solid var(--spark);border-radius:999px;padding:.15rem .55rem;align-self:flex-start}

    /* PRICING */
    .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;align-items:start}
    .plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem 1.5rem;display:flex;flex-direction:column;gap:1rem}
    .plan.feat{border:2px solid var(--primary);position:relative;box-shadow:0 30px 60px -30px rgba(43,52,224,.4)}
    .plan-badge{position:absolute;top:-13px;left:1.5rem;background:var(--primary);color:#fff;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:.28rem .7rem;border-radius:999px}
    .plan h3{font-family:var(--mono);font-size:.95rem;letter-spacing:.05em;font-weight:500;text-transform:uppercase}
    .plan .price{font-family:var(--display);font-size:2.1rem;font-weight:800;line-height:1}
    .plan .price small{font-family:var(--body);font-size:.82rem;color:var(--muted);font-weight:400;display:block;margin-top:.3rem}
    .plan .was{font-family:var(--mono);font-size:.8rem;color:var(--muted);text-decoration:line-through;margin-right:.4rem}
    .plan ul{list-style:none;display:flex;flex-direction:column;gap:.55rem;font-size:.9rem;color:var(--muted);flex:1}
    .plan li{display:flex;gap:.5rem;align-items:flex-start}
    .plan li svg{flex:none;margin-top:3px;color:var(--primary)}
    .price-note{text-align:center;margin-top:1.6rem;font-size:.9rem;color:var(--muted)}

    /* SECTORS */
    .sectors{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
    .sector{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-weight:500;font-size:.95rem;transition:.18s}
    .sector h3{font-family:var(--body);font-size:.95rem;font-weight:500;letter-spacing:0;line-height:1}
    .sector:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}

    /* FAQ */
    .faq{max-width:100%}
    .faq-item{border-bottom:1px solid var(--line)}
    .faq-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:1.2rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:var(--display);font-weight:700;font-size:1.06rem;color:var(--ink);letter-spacing:-.01em}
    .faq-q .pm{flex:none;width:24px;height:24px;position:relative}
    .faq-q .pm::before,.faq-q .pm::after{content:"";position:absolute;background:var(--primary);border-radius:2px;top:50%;left:50%;transform:translate(-50%,-50%)}
    .faq-q .pm::before{width:14px;height:2px}
    .faq-q .pm::after{width:2px;height:14px;transition:transform .25s}
    .faq-item.open .pm::after{transform:translate(-50%,-50%) scaleY(0)}
    .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
    .faq-a p{padding:0 0 1.2rem;color:var(--muted);font-size:.96rem}

    /* BLOG */
    .blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
    .post{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .2s}
    .post:hover{transform:translateY(-4px)}
    .post>img{aspect-ratio:16/9;object-fit:cover;width:100%}
    .post-body{padding:1.1rem 1.2rem}
    .post .cat{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--primary)}
    .post h3{font-size:1.05rem;margin:.5rem 0 .6rem;line-height:1.25}
    .post .meta{font-size:.8rem;color:var(--muted)}

    /* CONTACT */
    .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
    .contact-grid h2{font-size:clamp(2rem,3.6vw,2.9rem);color:#fff;margin-bottom:1rem}
    .contact-grid .sub{color:var(--muted-on-ink);margin-bottom:1.6rem;font-size:1.08rem}
    .cinfo{display:flex;flex-direction:column;gap:.9rem;font-family:var(--mono);font-size:.92rem}
    .cinfo a{display:inline-flex;gap:.6rem;align-items:center;color:#fff}.cinfo a:hover{color:var(--spark)}
    .form{background:var(--surface);border-radius:18px;padding:1.6rem;display:flex;flex-direction:column;gap:.9rem}
    .form label{font-size:.82rem;font-weight:600;color:var(--ink)}
    .form input,.form textarea{width:100%;font-family:var(--body);font-size:.95rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);margin-top:.3rem}
    .form input:focus,.form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(43,52,224,.15)}
    .form .btn{justify-content:center;margin-top:.3rem}
    .form .hint{font-size:.74rem;color:var(--muted);text-align:center}

    /* ZONAS / CIUDADES */
    .cities{columns:6 150px;column-gap:1.2rem;margin-top:.6rem}
    .cities a{display:block;padding:.32rem 0;font-size:.92rem;color:var(--ink);font-weight:500;break-inside:avoid;transition:.15s}
    .cities a:hover{color:var(--primary);padding-left:4px}

    /* FOOTER */
    .footer{background:var(--ink-soft);color:#fff;padding:clamp(3rem,6vw,4.5rem) 0 2rem}
    .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:1.6rem;padding-bottom:2.5rem;border-bottom:1px solid var(--line-on-ink)}
    .foot-brand .brand{color:#fff;font-size:1.6rem}
    .foot-brand p{color:var(--muted-on-ink);font-size:.9rem;margin:1rem 0;max-width:32ch}
    .foot-soc{display:flex;gap:.6rem}
    .foot-soc a{width:38px;height:38px;border-radius:10px;border:1px solid var(--line-on-ink);display:grid;place-items:center;color:#fff;transition:.18s}
    .foot-soc a:hover{background:var(--primary);border-color:var(--primary)}
    .foot-col p{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-on-ink);margin-bottom:1rem;font-weight:500}
    .foot-col ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
    .foot-col a{color:#d7daea;font-size:.88rem}.foot-col a:hover{color:#fff}
    .foot-bot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:1.6rem;font-size:.82rem;color:var(--muted-on-ink)}
    .foot-bot .legal{display:flex;gap:1.2rem;flex-wrap:wrap}.foot-bot a:hover{color:#fff}

    .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
    .reveal.in{opacity:1;transform:none}
    .mobile-nav{display:none}

    @media(max-width:1100px){
      .mega-services{width:600px;grid-template-columns:repeat(2,1fr)}
      .svc-grid,.steps,.blog-grid,.demos-grid,.work-grid,.rev-grid,.promo-grid{grid-template-columns:repeat(2,1fr)}
      .more-grid{grid-template-columns:repeat(3,1fr)}
      .foot-grid{grid-template-columns:repeat(3,1fr)}
    }
    @media(max-width:960px){
      .nav-menu,.nav-right .lang,.nav-right .btn{display:none}
      .burger{display:flex}
      .hero-grid,.intro,.contact-grid{grid-template-columns:1fr;gap:2.4rem}
      .intro.reverse .intro-photo{order:0}
      .hero-media{max-width:520px;margin:0 auto}
      .serp{position:static;width:100%;margin-top:1rem}
      .why-grid{grid-template-columns:1fr 1fr}
      .plans{grid-template-columns:1fr}
      .header.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
      .header.menu-open .burger span:nth-child(2){opacity:0}
      .header.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
      .mobile-nav{display:block;position:fixed;inset:0;background:var(--paper);z-index:90;overflow-y:auto;padding:90px var(--pad-x) 3rem;transform:translateX(100%);transition:transform .3s ease}
      .mobile-nav.open{transform:none}
      .m-top{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.05rem .2rem;font-family:var(--display);font-weight:700;font-size:1.15rem;background:none;border:none;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--line)}
      .m-top .chev{transition:transform .2s}
      .m-item.open .m-top .chev{transform:rotate(180deg)}
      .m-sub{display:none;padding:.2rem .2rem 1rem;flex-direction:column;gap:.1rem}
      .m-item.open .m-sub{display:flex}
      .m-sub a{padding:.55rem .4rem;color:var(--muted);font-weight:500}.m-sub a:hover{color:var(--primary)}
      .m-group{margin:.7rem 0 .1rem;border-bottom:1px solid var(--line)}
      .m-group a{display:block;padding:.4rem .4rem .5rem;font-family:var(--display);font-weight:700;font-size:1rem;color:var(--ink)}
      .m-sub .m-all{margin-top:.8rem;color:var(--primary);font-weight:600}
      .m-cta{margin-top:1.4rem;display:flex;flex-direction:column;gap:.7rem}
      .m-lang{display:flex;gap:.5rem;margin-top:1rem;font-family:var(--mono);font-size:.85rem}
      .m-lang a{padding:.4rem .8rem;border:1px solid var(--line);border-radius:8px}
    }
    @media(max-width:680px){
      .svc-grid,.steps,.blog-grid,.demos-grid,.work-grid,.rev-grid,.promo-grid,.foot-grid,.why-grid{grid-template-columns:1fr}
      .more-grid,.dw-grid,.feat-grid{grid-template-columns:repeat(2,1fr);gap:.7rem 1rem}
      .compare{grid-template-columns:1fr}
      .more-grid > a:last-child:nth-child(odd),.dw-grid > a:last-child:nth-child(odd){grid-column:1/-1}
      .dw-photo{height:120px}
      .dw-card{padding:.9rem;gap:.5rem}
      .more-card{padding:.85rem}
      .cities{columns:2 120px}
      .intro-photo::before{display:none}
    }
    /* Formularios (presupuesto / contacto) */
    .form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;box-shadow:0 24px 48px -32px rgba(18,22,46,.25)}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
    .form-grid .full{grid-column:1/-1}
    .field label{display:block;font-weight:600;font-size:.92rem;margin-bottom:.4rem;color:var(--ink)}
    .field input,.field select,.field textarea{width:100%;font-family:var(--body);font-size:.97rem;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:10px;padding:.72rem .9rem;transition:border-color .2s,background .2s}
    .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);background:var(--surface)}
    .field textarea{min-height:130px;resize:vertical}
    .check{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--muted)}
    .check input{width:auto;margin-top:.2rem;accent-color:var(--primary)}
    .check a{color:var(--primary);text-decoration:underline}
    .form-note{font-size:.85rem;color:var(--muted);margin-top:.9rem}
    @media(max-width:640px){.form-grid{grid-template-columns:1fr}.form-card{padding:1.4rem}}
    @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}.reveal{opacity:1;transform:none}}
