
  :root{
    --ink:#12142A;
    --navy:#161A33;
    --gray:#6B7280;
    --gray-light:#9CA3AF;
    --orange:#F4791E;
    --orange-dark:#E0650A;
    --green:#1FA35B;
    --blue:#2F6FED;
    --pink:#EC4899;
    --purple:#7C3AED;
    --line:#EAEAEA;
    --bg-soft:#FAFAF9;
    --radius:16px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{font-family:'Carlito',sans-serif; color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; overflow-x:hidden;}
  h1,h2,h3,h4,.brand,.nav a,.btn,.eyebrow,.footcol h5{font-family:'Poppins',sans-serif;}
  img{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit; cursor:pointer;}
  :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #2F6FED;outline-offset:3px;}
  .skip-link{position:fixed;left:16px;top:12px;z-index:200;transform:translateY(-160%);background:#fff;color:var(--ink);border:2px solid #2F6FED;border-radius:8px;padding:10px 14px;font-family:'Poppins',sans-serif;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.15)}
  .skip-link:focus{transform:translateY(0)}
  .wrap{max-width:1240px; margin:0 auto; padding:0 40px;}
  svg{display:block;}

  /* ---------- HEADER ---------- */
  header{padding:22px 0; border-bottom:1px solid var(--line); position:relative; z-index:20; background:#fff;}
  header .wrap{display:flex; align-items:center; justify-content:space-between; gap:24px;}
  .brand img{height:38px;}
  nav.mainnav{display:flex; align-items:center; gap:34px;}
  nav.mainnav a{font-size:15px; font-weight:500; color:var(--ink); opacity:0.85; padding-bottom:6px; border-bottom:2px solid transparent;}
  nav.mainnav a.active{color:var(--orange); opacity:1; border-bottom-color:var(--orange);}
  .btn{display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:14.5px; padding:13px 24px; border-radius:30px; white-space:nowrap;}
  .btn-orange{background:var(--orange); color:#fff;}
  .btn-outline{background:#fff; color:var(--ink); border:1.5px solid #DADADA;}
  .btn-green{background:var(--green); color:#fff;}
  .btn-green-outline{background:#fff; color:var(--green); border:1.5px solid var(--green);}
  .btn-white{background:#fff; color:var(--ink);}
  .btn-sm{padding:11px 20px; font-size:13.5px;}

  /* ---------- HERO ---------- */
  .hero{position:relative; padding:70px 0 0; overflow:hidden;}
  .hero-bg{position:absolute; top:-10%; right:-15%; width:80%; height:130%; z-index:0; opacity:0.85;
    background:
      conic-gradient(from 200deg at 60% 40%, #F472B6, #F4791E, #FBBF24, #34D399, #22D3EE, #60A5FA, #A78BFA, #F472B6);
    filter:blur(70px);
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 30%);
    mask-image:linear-gradient(90deg,transparent,#000 30%);}
  .hero-bg::after{content:'';position:absolute; inset:0;
    background-image:repeating-linear-gradient(115deg, rgba(255,255,255,0.5) 0 1.5px, transparent 1.5px 60px);
    mix-blend-mode:overlay; opacity:0.5;}
  .hero-grid{display:grid; grid-template-columns:0.92fr 1.08fr; gap:20px; align-items:start; position:relative; z-index:2; padding-bottom:44px;}
  h1{font-size:47px; font-weight:700; line-height:1.14; letter-spacing:-0.015em; margin-bottom:18px; color:var(--ink);}
  h1 .accent{color:var(--orange);}
  .hero p.lead{font-size:15.5px; color:var(--gray); line-height:1.6; max-width:420px; margin-bottom:18px;}
  .hero-tags{display:flex; gap:20px; flex-wrap:wrap; margin-bottom:26px;}
  .hero-tags span{display:inline-flex; align-items:center; gap:6px; font-family:'Poppins',sans-serif; font-weight:600; font-size:12.5px;}
  .hero-tags .dot{width:15px; height:15px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}

  .hero-visual{position:relative; height:480px; z-index:2; padding-top:6px;}
  .stat-float{position:absolute; background:#fff; border-radius:16px; padding:14px 18px; box-shadow:0 20px 44px -18px rgba(20,20,40,0.28); z-index:5; width:150px;}
  .stat-float .sf-ic{width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; margin-bottom:8px;}
  .stat-float .sf-num{font-family:'Poppins',sans-serif; font-weight:700; font-size:19px; color:var(--ink); line-height:1.1;}
  .stat-float .sf-lbl{font-size:11.5px; color:var(--gray); line-height:1.3; margin-top:2px;}
  .sf-1{top:0; left:20px;}
  .sf-2{top:150px; left:0;}
  .sf-3{top:20px; right:-30px;}
  .sf-4{top:250px; right:-40px;}

  .laptop{position:absolute; left:170px; top:70px; width:400px; z-index:2;}
  .laptop-screen{background:#1A1C2E; border-radius:14px 14px 4px 4px; padding:10px 10px 0; box-shadow:0 34px 70px -20px rgba(20,20,40,0.4);}
  .laptop-bar{display:flex; gap:5px; padding:0 2px 8px;}
  .laptop-bar span{width:7px; height:7px; border-radius:50%; background:#4B4D63;}
  .laptop-inner{background:linear-gradient(160deg,#2A2E4A,#171826); border-radius:8px 8px 0 0; height:225px; padding:16px; position:relative; overflow:hidden;}
  .laptop-inner .site-nav{display:flex; justify-content:space-between; font-size:8px; color:#C9CCE0; opacity:0.8; margin-bottom:16px; font-family:'Poppins',sans-serif;}
  .laptop-inner .site-title{font-family:'Poppins',sans-serif; color:#fff; font-weight:700; font-size:9px; letter-spacing:0.14em; margin-bottom:10px;}
  .laptop-inner h5{color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:18px; line-height:1.25; max-width:150px; margin-bottom:14px;}
  .laptop-inner .pill{display:inline-block; background:var(--orange); color:#fff; font-size:8px; font-weight:700; padding:6px 12px; border-radius:20px; font-family:'Poppins',sans-serif;}
  .laptop-inner .photo{position:absolute; right:-10px; top:0; bottom:0; width:52%; background:linear-gradient(160deg,#8B6F47,#4E4030); opacity:0.9;}
  .laptop-base{height:14px; background:linear-gradient(#D7D8E0,#B7B9C6); border-radius:0 0 10px 10px; position:relative;}
  .laptop-base::after{content:'';position:absolute; left:50%; top:0; transform:translateX(-50%); width:60px; height:5px; background:#9A9CAC; border-radius:0 0 4px 4px;}

  .phone{position:absolute; right:14px; bottom:8px; width:172px; z-index:3;}
  .phone-body{background:#111; border-radius:26px; padding:8px; box-shadow:0 30px 55px -18px rgba(20,20,40,0.45);}
  .phone-screen{background:linear-gradient(170deg,#FBEFE6,#F3D9C4); border-radius:19px; height:330px; padding:14px 12px; position:relative; overflow:hidden;}
  .phone-screen .ptitle{font-family:'Poppins',sans-serif; font-size:9px; font-weight:700; letter-spacing:0.1em; color:var(--ink); opacity:0.7;}
  .phone-screen h6{font-family:'Poppins',sans-serif; font-weight:700; font-size:15px; margin:8px 0 10px; color:var(--ink);}
  .phone-figure{position:absolute; right:6px; top:34px; bottom:70px; width:60%; background:linear-gradient(170deg,#6B6F80,#3E4152); border-radius:10px; opacity:0.85;}
  .phone-thumbs{position:absolute; left:12px; right:12px; bottom:14px; display:flex; gap:6px;}
  .phone-thumbs span{flex:1; aspect-ratio:1; background:#fff; border-radius:6px; box-shadow:0 2px 6px rgba(0,0,0,0.08);}

  /* ---------- TRUST CAROUSEL ---------- */
  .trust{padding:0 0 70px; position:relative; z-index:2;}
  .trust-card{background:#fff; border-radius:26px; box-shadow:0 26px 60px -30px rgba(20,20,40,0.28); padding:28px 60px 22px; position:relative;}
  .trust-card p{text-align:center; font-family:'Poppins',sans-serif; font-weight:700; font-size:14px; color:var(--ink); margin-bottom:22px;}
  .marquee{overflow:hidden; position:relative; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
  .marquee-track{display:flex; align-items:center; width:max-content; animation:scrollx 26s linear infinite;}
  @keyframes scrollx{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  .trust-logo{display:flex; align-items:center; justify-content:center; gap:7px; font-weight:700; color:#3A3C4C; opacity:0.85; font-size:14px; padding:0 30px; white-space:nowrap; height:80px;}
  .trust-logo .serif{font-family:Georgia,serif; letter-spacing:0.02em;}
  .trust-logo small{display:block; font-size:8px; font-weight:400; letter-spacing:0.16em; opacity:0.8;}
  .trust-div{width:1px; height:24px; background:var(--line); flex-shrink:0;}
  .trust-arrow{position:absolute; top:50%; transform:translateY(-6px); width:38px; height:38px; border-radius:50%; background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 22px -10px rgba(20,20,40,0.25); color:var(--ink); font-size:16px;}
  .trust-arrow.left{left:-19px;}
  .trust-arrow.right{right:-19px;}
  .trust-dots{display:flex; justify-content:center; gap:6px; margin-top:16px;}
  .trust-dots span{width:6px; height:6px; border-radius:50%; background:#E0E0DC;}
  .trust-dots span.on{background:var(--orange); width:16px; border-radius:4px;}

  /* ---------- SECTION HEAD ---------- */
  .section{padding:88px 0;}
  .section-head{text-align:center; max-width:640px; margin:0 auto 46px;}
  .eyebrow{display:block; text-align:center; color:var(--orange); font-weight:700; font-size:12.5px; letter-spacing:0.14em; margin-bottom:14px;}
  .section-head h2{font-size:33px; font-weight:700; letter-spacing:-0.01em;}
  .section-head h2 .accent{color:var(--orange);}

  /* ---------- SERVICES (8) ---------- */
  .services-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .service-card{border:1px solid var(--line); border-radius:var(--radius); padding:26px 22px; position:relative; background:#fff; box-shadow:0 12px 28px -22px rgba(20,20,40,0.18);}
  .service-card:nth-child(1){border-top:3px solid var(--green);}
  .service-card:nth-child(2){border-top:3px solid var(--orange);}
  .service-card:nth-child(3){border-top:3px solid var(--blue);}
  .service-card:nth-child(4){border-top:3px solid var(--purple);}
  .service-card:nth-child(5){border-top:3px solid var(--pink);}
  .service-card:nth-child(6){border-top:3px solid var(--green);}
  .service-card:nth-child(7){border-top:3px solid var(--blue);}
  .service-card:nth-child(8){border-top:3px solid var(--purple);}
  .icon-box{width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
  .icon-box.g{background:#E7F7EE;} .icon-box.o{background:#FEEEE0;} .icon-box.b{background:#E9F0FE;}
  .icon-box.p{background:#FCE9F4;} .icon-box.pu{background:#F1EAFE;}
  .service-card h3{font-size:16px; font-weight:700; margin-bottom:7px;}
  .service-card p{font-size:13px; color:var(--gray); line-height:1.5; padding-right:16px;}
  .arrow-circ{position:absolute; right:22px; bottom:24px; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px;}
  .arrow-circ.g{background:#E7F7EE; color:var(--green);} .arrow-circ.o{background:#FEEEE0; color:var(--orange);}
  .arrow-circ.b{background:#E9F0FE; color:var(--blue);} .arrow-circ.p{background:#FCE9F4; color:var(--pink);}
  .arrow-circ.pu{background:#F1EAFE; color:var(--purple);}

  /* ---------- RESULTS PANEL ---------- */
  .results-wrap{padding:0 40px 90px;}
  .results-panel{max-width:1240px; margin:0 auto; background:linear-gradient(150deg,#1B1F3B,#0E1024); border-radius:26px; padding:52px 50px; position:relative; overflow:hidden;}
  .results-panel::before{content:'';position:absolute; top:-140px; left:-100px; width:380px; height:380px; border-radius:50%; background:radial-gradient(circle,var(--green),transparent 70%); opacity:0.25; filter:blur(20px);}
  .results-grid{display:grid; grid-template-columns:0.9fr 1.5fr; gap:40px; position:relative; z-index:1;}
  .results-left .eyebrow{color:var(--green); text-align:left; margin-bottom:16px;}
  .results-left h2{color:#fff; font-size:29px; font-weight:700; line-height:1.25; margin-bottom:14px;}
  .results-left p{color:#B7B9C6; font-size:14px; line-height:1.6; margin-bottom:30px;}
  .results-mini{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
  .rm-item{}
  .rm-item .rm-ic{width:30px; height:30px; margin-bottom:8px;}
  .rm-item .rm-num{font-family:'Poppins',sans-serif; font-weight:700; font-size:18px; color:#fff;}
  .rm-item .rm-lbl{font-size:11px; color:#9A9DBA; margin-top:2px;}

  .results-right{display:flex; flex-direction:column; gap:14px;}
  .rr-top{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
  .kpi-card{background:#fff; border-radius:14px; padding:16px 18px;}
  .kpi-card .kpi-lbl{font-size:11.5px; color:var(--gray); margin-bottom:6px;}
  .kpi-card .kpi-row{display:flex; align-items:center; justify-content:space-between;}
  .kpi-card .kpi-num{font-family:'Poppins',sans-serif; font-weight:700; font-size:20px; color:var(--ink);}
  .kpi-card .kpi-delta{font-size:11px; color:var(--green); font-weight:700; margin-top:6px;}
  .rr-bottom{display:grid; grid-template-columns:1.6fr 1fr; gap:14px;}
  .chart-card{background:#fff; border-radius:14px; padding:18px 20px;}
  .chart-card .cc-title{font-family:'Poppins',sans-serif; font-weight:700; font-size:12.5px; margin-bottom:6px;}
  .chart-legend{display:flex; gap:14px; font-size:10.5px; color:var(--gray); margin-bottom:8px;}
  .chart-legend span{display:inline-flex; align-items:center; gap:5px;}
  .chart-legend .ld{width:14px; height:2px; background:var(--blue); display:inline-block;}
  .chart-legend .ld.dash{background:repeating-linear-gradient(90deg,#B7B9C6 0 4px, transparent 4px 7px);}
  .x-axis{display:flex; justify-content:space-between; font-size:9.5px; color:var(--gray-light); margin-top:4px;}
  .donut-wrap{display:flex; align-items:center; gap:16px;}
  .donut{width:76px; height:76px; border-radius:50%; background:conic-gradient(var(--blue) 0% 64%, var(--green) 64% 82%, var(--orange) 82% 92%, var(--purple) 92% 100%); position:relative; flex-shrink:0;}
  .donut::after{content:'';position:absolute; inset:16px; background:#fff; border-radius:50%;}
  .donut-legend{font-size:10.5px; color:var(--gray); line-height:2;}
  .donut-legend span{display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:6px;}

  /* ---------- PROJECTS ---------- */
  .projects-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .proj-card{display:block;background:#fff;color:var(--ink);border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); box-shadow:0 16px 34px -22px rgba(20,20,40,0.22);}
  .proj-img{height:220px; position:relative; overflow:hidden;}
  .proj-img img{width:100%; height:100%; object-fit:cover;}
  .project-shot img{object-position:center top;}
  .project-shot-auxilio img{object-position:center 20%;}
  .project-shot-oeste img{object-position:center top;}
  .project-shot-tovasol img{object-position:center 16%;}
  .proj-card-static{cursor:default;}
  .proj-tag{position:absolute; top:14px; left:14px; font-family:'Poppins',sans-serif; font-weight:700; font-size:11px; padding:6px 12px; border-radius:20px; color:#fff;}
  .proj-tag.green{background:var(--green);} .proj-tag.orange{background:var(--orange);} .proj-tag.blue{background:var(--blue);}
  .proj-body{padding:22px 24px 26px; position:relative;}
  .proj-body h3{font-size:17px; font-weight:700; margin-bottom:6px;}
  .proj-body p{font-size:13.5px; color:var(--gray); line-height:1.5; padding-right:30px;}

  /* ---------- WHY ---------- */
  .why-row{display:grid; grid-template-columns:repeat(4,1fr); gap:34px;}
  .why-item{display:flex; gap:14px; align-items:flex-start;}
  .why-icon{width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .why-item h4{font-size:15.5px; font-weight:700; margin-bottom:5px;}
  .why-item p{font-size:13px; color:var(--gray); line-height:1.5;}

  /* ---------- FINAL CTA ---------- */
  .final-cta-wrap{padding:0 40px 90px;}
  .final-cta{max-width:1240px; margin:0 auto; border-radius:22px; overflow:hidden; position:relative;
    background:linear-gradient(100deg,#E23A3A 0%, #C0299A 45%, #7C3AED 100%);
    padding:36px 46px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  .final-cta-left{display:flex; align-items:center; gap:18px;}
  .wa-badge{width:50px; height:50px; border-radius:50%; background:rgba(255,255,255,0.18); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .final-cta h3{color:#fff; font-size:21px; font-weight:700; margin-bottom:4px;}
  .final-cta p{color:rgba(255,255,255,0.9); font-size:13.5px;}
  .final-cta-ctas{display:flex; gap:12px; flex-shrink:0;}

  /* ---------- NOSOTROS ---------- */
  .nosotros-grid{display:grid; grid-template-columns:0.95fr 1.05fr; gap:60px; align-items:center; margin-bottom:80px;}
  .nosotros-visual{position:relative; height:320px;}
  .nosotros-visual .block{position:absolute; border-radius:18px;}
  .nosotros-visual .b1{width:78%; height:78%; top:0; left:0; background:linear-gradient(150deg,#1A1C2E,#2A2E4A); box-shadow:0 24px 50px -20px rgba(20,20,40,0.35);}
  .nosotros-visual .b1 .qtxt{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:34px; color:#fff;}
  .nosotros-visual .b1 .qtxt .big-num{font-family:'Poppins',sans-serif; font-weight:700; font-size:54px; background:linear-gradient(95deg,#FDBA74,#F472B6,#818CF8); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}
  .nosotros-visual .b1 .qtxt p{font-size:14px; color:#C9CCE0; margin-top:6px;}
  .nosotros-visual .b2{width:52%; height:46%; bottom:0; right:0; background:var(--orange); display:flex; align-items:center; justify-content:center; box-shadow:0 24px 50px -20px rgba(244,121,30,0.5);}
  .nosotros-visual .b2 span{color:#fff; font-family:'Poppins',sans-serif; font-weight:700; font-size:15px; text-align:center; padding:0 20px;}
  .nosotros-text .eyebrow{text-align:left; margin-bottom:14px;}
  .nosotros-text h2{font-size:34px; font-weight:700; letter-spacing:-0.01em; margin-bottom:18px; text-align:left;}
  .nosotros-text p{font-size:15.5px; color:var(--gray); line-height:1.7; margin-bottom:16px;}

  /* ---------- CONTACTO ---------- */
  .contacto-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:50px; align-items:flex-start;}
  .contacto-info-card{background:var(--ink); border-radius:20px; padding:38px 32px; color:#fff; position:relative; overflow:hidden;}
  .contacto-info-card::before{content:'';position:absolute; top:-100px; right:-100px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle,var(--orange),transparent 70%); opacity:0.4; filter:blur(10px);}
  .contacto-info-card h3{font-size:20px; margin-bottom:8px; position:relative;}
  .contacto-info-card p.sub{color:#B7B9C6; font-size:13.5px; margin-bottom:26px; position:relative;}
  .cinfo-line{display:flex; gap:12px; align-items:flex-start; margin-bottom:20px; position:relative;}
  .cinfo-ic{width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .cinfo-line b{display:block; font-size:13.5px;}
  .cinfo-line span{font-size:12.5px; color:#B7B9C6;}
  .contacto-info-card .social-row{margin-top:26px; position:relative;}
  .contacto-info-card .social-row a{background:rgba(255,255,255,0.08); border-color:transparent;}

  .contact-form{background:#fff; border:1px solid var(--line); border-radius:20px; padding:38px 36px; box-shadow:0 16px 40px -26px rgba(20,20,40,0.2);}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
  .form-field{margin-bottom:16px;}
  .form-field label{display:block; font-size:12.5px; font-weight:700; color:var(--ink); margin-bottom:7px; font-family:'Poppins',sans-serif;}
  .form-field input, .form-field textarea{width:100%; border:1.5px solid var(--line); border-radius:10px; padding:12px 14px; font-family:'Carlito',sans-serif; font-size:14.5px; color:var(--ink); background:var(--bg-soft);}
  .form-field textarea{resize:vertical; min-height:110px;}
  .form-field input:focus, .form-field textarea:focus{outline:none; border-color:var(--orange);}
  .contact-form .btn{width:100%; justify-content:center; margin-top:4px; border:none; cursor:pointer; font-size:15px;}

  /* ---------- FOOTER ---------- */
  footer{padding:56px 0 0;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 0.8fr 1fr 1fr; gap:30px; padding-bottom:44px;}
  .foot-brand p{font-size:13.5px; color:var(--gray); margin:14px 0 18px; max-width:230px; line-height:1.55;}
  .social-row{display:flex; gap:10px;}
  .social-row a{width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center;}
  .footcol h5{font-size:14px; font-weight:700; margin-bottom:16px;}
  .footcol ul li{margin-bottom:11px;}
  .footcol ul li a{font-size:13.5px; color:var(--gray);}
  .footcol .contact-line{display:flex; gap:9px; align-items:flex-start; font-size:13.5px; color:var(--gray); margin-bottom:13px; line-height:1.4;}
  .foot-bottom{border-top:1px solid var(--line); padding:20px 0; display:flex; justify-content:space-between; align-items:center; font-size:12.5px; color:var(--gray-light); flex-wrap:wrap; gap:10px;}
  .foot-bottom .legal{display:flex; gap:22px;}

  /* ---------- FLOATING BUTTONS ---------- */
  .float-stack{position:fixed; bottom:24px; right:24px; display:flex; flex-direction:column; gap:14px; z-index:50;}
  .float-btn{width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -8px rgba(20,20,40,0.4);}
  .float-btn.wa{background:var(--green); box-shadow:0 14px 30px -8px rgba(31,163,91,0.55);}
  .float-btn.tel{background:var(--ink);}

  @media(max-width:980px){
    .hero-grid, .services-grid, .why-row, .nosotros-grid, .contacto-grid, .form-row, .results-grid, .rr-top, .rr-bottom, .projects-grid{grid-template-columns:1fr;}
    .foot-grid{grid-template-columns:1fr 1fr;}
    nav.mainnav{display:none;}
    h1{font-size:34px;}
    .hero-visual{height:auto; min-height:340px; margin-top:220px;}
    .laptop{position:static; width:100%; margin-bottom:20px;}
    .phone, .stat-float{display:none;}
    .services-grid{grid-template-columns:1fr 1fr;}
    .float-btn{width:48px; height:48px;}
  }

/* ---------- PAGE BANNER (internal pages) ---------- */
.page-banner{position:relative; padding:64px 0 56px; overflow:hidden; background:var(--bg-soft); border-bottom:1px solid var(--line);}
.page-banner::before{content:'';position:absolute; top:-60%; right:-20%; width:60%; height:220%; z-index:0; opacity:0.5;
  background:conic-gradient(from 200deg at 60% 40%, #F472B6, #F4791E, #FBBF24, #34D399, #22D3EE, #60A5FA, #A78BFA, #F472B6);
  filter:blur(80px);
  -webkit-mask-image:radial-gradient(circle,#000,transparent 70%);
  mask-image:radial-gradient(circle,#000,transparent 70%);}
.page-banner .wrap{position:relative; z-index:1;}
.breadcrumb{font-family:'Poppins',sans-serif; font-size:12.5px; color:var(--gray); margin-bottom:16px;}
.breadcrumb a{color:var(--gray);} .breadcrumb span{color:var(--orange); font-weight:600;}
.page-banner h1{font-size:40px; font-weight:700; letter-spacing:-0.01em; margin-bottom:14px;}
.page-banner h1 .accent{color:var(--orange);}
.page-banner p{font-size:15.5px; color:var(--gray); max-width:560px; line-height:1.6;}

/* ---------- PROJECT DETAIL CARDS (proyectos.html) ---------- */
.case-list{display:flex; flex-direction:column; gap:70px;}
.case-card{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
.case-card.reverse .case-visual{order:2;}
.case-card.reverse .case-text{order:1;}
.case-visual{border-radius:20px; overflow:hidden; box-shadow:0 26px 60px -30px rgba(20,20,40,0.3);}
.case-visual img{width:100%; display:block;}
.case-text .proj-tag{display:inline-block; margin-bottom:16px; position:static;}
.case-text h3{font-size:27px; font-weight:700; margin-bottom:14px;}
.case-text p{font-size:15px; color:var(--gray); line-height:1.65; margin-bottom:18px;}
.case-meta{display:flex; gap:26px; margin:22px 0 26px; flex-wrap:wrap;}
.case-meta div b{display:block; font-family:'Poppins',sans-serif; font-weight:700; font-size:18px; color:var(--ink);}
.case-meta div span{font-size:12px; color:var(--gray);}
.case-text .btn{margin-top:4px;}

/* ---------- SERVICES PAGE EXTRAS ---------- */
.service-detail{display:flex; gap:22px; align-items:flex-start; padding:26px 0; border-bottom:1px solid var(--line);}
.service-detail:last-child{border-bottom:none;}
.service-detail .icon-box{flex-shrink:0; margin-bottom:0;}
.service-detail h3{font-size:19px; font-weight:700; margin-bottom:6px;}
.service-detail p{font-size:14.5px; color:var(--gray); line-height:1.6; max-width:600px;}

@media(max-width:980px){
  .case-card, .case-card.reverse{grid-template-columns:1fr;}
  .case-card.reverse .case-visual, .case-card.reverse .case-text{order:initial;}
  .page-banner h1{font-size:30px;}
}

/* ===== Integración Visual Service 2026 ===== */
header{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);z-index:80}
.brand img{width:auto;object-fit:contain}
.mainnav a:hover{color:var(--orange)}
.hero{min-height:600px}
.hero-grid>div:first-child{padding-top:18px}
.hero-visual{overflow:visible}
.hero-visual:before{content:'';position:absolute;inset:55px -80px 20px 80px;border-radius:44% 56% 55% 45%/56% 36% 64% 44%;background:linear-gradient(120deg,rgba(244,121,30,.13),rgba(31,163,91,.1),rgba(47,111,237,.13),rgba(236,72,153,.11));filter:blur(2px);z-index:-1}
.hero .btn{transition:transform .2s ease,box-shadow .2s ease}
.hero .btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px -18px rgba(20,20,40,.35)}
.trust-card{overflow:hidden}
.marquee{scroll-behavior:smooth}
.marquee-track{animation:none}
.trust-logo img{width:auto;height:68px;max-width:200px;object-fit:contain;filter:grayscale(100%);opacity:.72;transition:.25s ease}
.trust-logo-featured img{height:74px}
.trust-logo:hover img{filter:none;opacity:1}
.service-card{display:block;min-height:188px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -28px rgba(20,20,40,.3)}
.projects-home{padding:0 0 86px;background:#fff}
.projects-home .section-head{margin-bottom:34px}
.proj-card{display:block;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.proj-card:hover{transform:translateY(-4px);box-shadow:0 24px 46px -28px rgba(20,20,40,.3)}
.proj-body .arrow-circ{top:50%;bottom:auto;transform:translateY(-50%)}
.why-home{padding:0 0 82px;background:#fff}
.why-home .eyebrow{text-align:center;margin-bottom:28px}
.why-icon svg{width:25px;height:25px}
footer .brand img{height:34px}
.footcol a:hover{color:var(--orange)}
.mobile-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.mobile-toggle span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px}
.mobile-menu{display:none;position:fixed;left:18px;right:18px;top:78px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 26px 60px -25px rgba(20,20,40,.35);padding:14px;z-index:90}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:12px 10px;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;border-bottom:1px solid #f1f1f1}
.mobile-menu a:last-child{border-bottom:0}
.mobile-contact-bar{display:none}
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
[data-reveal].visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.marquee{scroll-behavior:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.trust-logo img,.service-card,.hero .btn{transition:none!important}}
@media(max-width:980px){
  header .wrap>.btn{display:none}.mobile-toggle{display:flex}
  .hero{padding-top:46px;min-height:auto}.hero-grid{grid-template-columns:1fr}.hero-grid>div:first-child{text-align:center;padding-top:0}
  .hero p.lead{margin-left:auto;margin-right:auto}.hero-tags,.hero-ctas{justify-content:center}
  .hero-visual{margin-top:40px;min-height:430px;height:430px}
  .laptop{left:50%;transform:translateX(-50%);top:90px;width:min(440px,76vw)}
  .phone{right:5%;bottom:4px;width:145px}.sf-1{left:3%;top:5px}.sf-2{left:3%;top:160px}.sf-3{right:1%;top:8px}.sf-4{right:0;top:230px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .results-grid{grid-template-columns:1fr}.results-mini{grid-template-columns:repeat(4,1fr)}.rr-top{grid-template-columns:repeat(3,1fr)}.rr-bottom{grid-template-columns:1.6fr 1fr}
  .projects-grid{grid-template-columns:1fr 1fr 1fr}.why-row{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .wrap{padding:0 20px}.hero{padding-top:34px}.hero-grid{padding-bottom:24px}h1{font-size:38px}.hero p.lead{font-size:15px}
  .hero-visual{height:350px;min-height:350px;margin-top:24px}.laptop{top:76px;width:88vw}.laptop-inner{height:190px}.phone{width:118px;right:3%;bottom:0}.phone-screen{height:255px}
  .sf-1{left:0;top:0}.sf-2{display:none}.sf-3{right:0;top:8px}.sf-4{display:none}.stat-float{width:126px;padding:11px 13px}
  .trust{padding-bottom:52px}.trust-card{padding:24px 34px 18px;border-radius:20px}.trust-arrow.left{left:6px}.trust-arrow.right{right:6px}.trust-logo{padding:0 20px;height:72px}.trust-logo img{height:60px;max-width:176px}.trust-logo-featured img{height:66px}
  .section{padding:68px 0}.section-head{margin-bottom:32px}.section-head h2{font-size:28px}.services-grid{grid-template-columns:1fr}.service-card{min-height:0}
  .results-wrap{padding:0 20px 70px}.results-panel{padding:34px 24px;border-radius:22px}.results-left h2{font-size:26px}.results-mini{grid-template-columns:repeat(2,1fr)}.rr-top{grid-template-columns:1fr}.rr-bottom{grid-template-columns:1fr}.donut-wrap{justify-content:flex-start}
  .projects-home{padding-bottom:64px}.projects-grid{grid-template-columns:1fr}.proj-img{height:210px}.why-home{padding-bottom:64px}.why-row{grid-template-columns:1fr}
  .final-cta-wrap{padding:0 20px 76px}.final-cta{padding:28px 24px}.final-cta-left{align-items:flex-start}.final-cta-ctas{width:100%;flex-direction:column}.final-cta-ctas .btn{justify-content:center}
  .foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}.float-stack{bottom:82px;right:16px}.float-btn{width:50px;height:50px}
  .mobile-contact-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:95;box-shadow:0 -8px 25px rgba(20,20,40,.12)}
  .mobile-contact-bar a{padding:14px 10px;text-align:center;color:#fff;font-family:'Poppins',sans-serif;font-size:13px;font-weight:700}.mobile-contact-bar .tel{background:var(--ink)}.mobile-contact-bar .wa{background:var(--green)}
  body{padding-bottom:54px}
}
@media(max-width:480px){
  header{padding:15px 0}.brand img{height:32px}.hero h1{font-size:34px}.hero-tags{gap:11px}.hero-tags span{font-size:11.5px}.hero-ctas{flex-direction:column}.hero-ctas .btn{width:100%;justify-content:center}
  .hero-visual{height:320px}.laptop{top:72px}.laptop-inner{height:170px}.phone{width:104px}.phone-screen{height:225px}.sf-3{display:none}
  .trust-logo{padding:0 16px;height:66px}.trust-logo img{height:54px;max-width:158px}.trust-logo-featured img{height:60px}.foot-grid{grid-template-columns:1fr}.foot-brand{grid-column:auto}
}

/* Hero adaptive correction: preserve composition instead of clipping devices */
@media(max-width:980px){
  .hero-visual{position:relative;height:430px;min-height:430px;margin-top:34px;overflow:visible}
  .laptop{position:absolute;left:50%;top:92px;transform:translateX(-50%);width:min(450px,76vw);margin:0}
  .phone{display:block;position:absolute;right:5%;bottom:8px;width:145px}
  .stat-float{display:block}
  .sf-1{left:3%;top:10px}.sf-2{left:3%;top:165px}.sf-3{right:1%;top:12px}.sf-4{right:0;top:235px}
}
@media(max-width:720px){
  .hero-visual{height:360px;min-height:360px;margin-top:22px}
  .laptop{position:absolute;left:50%;top:72px;transform:translateX(-50%);width:82vw;margin:0}
  .laptop-inner{height:175px}
  .phone{display:block;right:3%;bottom:8px;width:112px}
  .phone-screen{height:235px}
  .sf-1{display:block;left:4px;top:6px;width:118px}.sf-3{display:block;right:4px;top:10px;width:122px}
  .sf-2,.sf-4{display:none}
}
@media(max-width:480px){
  .hero-visual{height:340px;min-height:340px}
  .laptop{top:76px;width:86vw}
  .phone{width:104px;right:2%;bottom:10px}
  .phone-screen{height:220px}
  .sf-1{width:112px}.sf-3{width:116px}
}

/* ===== FIX 2026-08-13 v6: HERO FUSIONADO + RESULTADOS EXACTOS ===== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Hero: la pieza visual ya no tiene caja rectangular. El arte tiene alpha y se integra al fondo. */
.hero.hero-fused{padding:62px 0 18px;min-height:650px;background:
  radial-gradient(circle at 18% 22%,rgba(47,111,237,.08),transparent 31%),
  radial-gradient(circle at 86% 18%,rgba(244,121,30,.10),transparent 34%),
  linear-gradient(90deg,#f8fbff 0%,#fff 46%,#fff9f3 100%)}
.hero.hero-fused .hero-bg{right:-18%;top:-12%;width:72%;height:125%;opacity:.46;filter:blur(92px);-webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 74%);mask-image:radial-gradient(ellipse at center,#000 20%,transparent 74%)}
.hero.hero-fused .hero-grid{grid-template-columns:.84fr 1.16fr;align-items:center;gap:10px;padding-bottom:22px}
.hero.hero-fused .hero-copy{padding-top:2px;position:relative;z-index:4}
.hero.hero-fused h1{font-size:55px;line-height:1.08;max-width:560px;margin-bottom:22px}
.hero.hero-fused .hero p.lead,.hero.hero-fused p.lead{max-width:500px;font-size:15.5px}
.hero-trust-line{display:flex;align-items:center;gap:9px;margin-top:24px;font-family:'Poppins',sans-serif;font-size:12.5px;font-weight:600;color:#384152}
.hero-trust-line span{color:var(--orange);font-size:20px;line-height:1}
.hero-image-frame{height:540px!important;min-height:540px!important;margin:0!important;padding:0!important;display:flex;align-items:center;justify-content:center;isolation:isolate;position:relative;overflow:visible!important}
.hero-image-frame::before{content:''!important;position:absolute!important;inset:54px -34px 30px 20px!important;border-radius:46% 54% 52% 48%/54% 38% 62% 46%!important;background:radial-gradient(circle at 35% 45%,rgba(31,163,91,.15),transparent 34%),radial-gradient(circle at 67% 28%,rgba(244,121,30,.20),transparent 33%),radial-gradient(circle at 70% 72%,rgba(47,111,237,.18),transparent 38%),radial-gradient(circle at 90% 60%,rgba(124,58,237,.14),transparent 30%)!important;filter:blur(18px)!important;z-index:-2!important}
.hero-image-frame::after{content:'';position:absolute;inset:60px -45px 40px 70px;background:repeating-linear-gradient(125deg,rgba(255,255,255,.28) 0 1px,transparent 1px 34px);opacity:.28;border-radius:50%;z-index:-1;transform:rotate(-4deg)}
.hero-art{display:block;width:min(760px,112%);height:auto;max-width:none;position:relative;z-index:3;filter:drop-shadow(0 28px 35px rgba(20,30,55,.16));transform:translate(16px,8px)}
.hero-orbit{position:absolute;border:1px solid rgba(47,111,237,.08);transform:rotate(45deg);border-radius:28px;z-index:0}
.hero-orbit-a{width:170px;height:170px;left:14%;top:12%}.hero-orbit-b{width:260px;height:260px;right:2%;bottom:4%;border-color:rgba(244,121,30,.07)}

/* Results: composición nativa en HTML/CSS/SVG, nítida en cualquier resolución. */
.results-exact{padding:0 40px 82px}
.results-exact .results-panel{box-shadow:0 24px 55px -36px rgba(11,17,40,.42);padding:42px 40px}
.results-exact .results-grid{grid-template-columns:minmax(300px,.9fr) minmax(560px,1.55fr);align-items:center;gap:38px}
.results-exact .rm-ic{stroke:#3bd363;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.results-exact .rm-lbl{color:#d7daE5;line-height:1.3}
.results-exact .kpi-card,.results-exact .chart-card{box-shadow:0 8px 24px rgba(2,9,34,.12)}
.results-exact .kpi-spark{width:38px;height:28px;stroke:#2f6fed;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.results-exact .kpi-delta span{color:#72798b;font-weight:400}
.results-exact .traffic-chart{display:block;width:100%;height:132px;overflow:visible}
.results-exact .chart-grid{fill:none;stroke:#e7e9ef;stroke-width:1}
.results-exact .line-current,.results-exact .line-previous{fill:none;stroke-linecap:round;stroke-linejoin:round}
.results-exact .line-current{stroke:#2f6fed;stroke-width:3}
.results-exact .line-previous{stroke:#aeb3c0;stroke-width:2;stroke-dasharray:6 6}
.results-exact .chart-points{fill:#2f6fed}
.results-exact .chart-labels{fill:#8b91a1;font-size:10px;text-anchor:middle}
.results-exact .donut-wrap{min-height:142px;justify-content:center}
.results-exact .donut{width:94px;height:94px}
.results-exact .donut::after{inset:21px}
.results-exact .donut-legend{flex:1;white-space:nowrap;line-height:2.15}
.results-exact .donut-legend div{display:flex;align-items:center}
.results-exact .donut-legend b{margin-left:auto;color:#30364a;font-size:10px}
.results-exact .donut-legend .blue{background:var(--blue)}
.results-exact .donut-legend .green{background:var(--green)}
.results-exact .donut-legend .orange{background:var(--orange)}
.results-exact .donut-legend .purple{background:var(--purple)}

@media(max-width:1080px){
  .hero.hero-fused h1{font-size:48px}
  .hero.hero-fused .hero-grid{grid-template-columns:.92fr 1.08fr}
  .hero-art{width:min(700px,112%);transform:translate(6px,4px)}
}
@media(max-width:980px){
  .hero.hero-fused{padding-top:42px}
  .hero.hero-fused .hero-grid{grid-template-columns:1fr;gap:10px}
  .hero.hero-fused .hero-grid>*{min-width:0}
  .hero.hero-fused .hero-copy{text-align:center}
  .hero.hero-fused h1{max-width:760px;margin-left:auto;margin-right:auto;font-size:48px}
  .hero-trust-line{justify-content:center}
  .hero-image-frame{height:500px!important;min-height:500px!important;margin-top:8px!important}
  .hero-art{width:min(720px,92vw);transform:none}
}
@media(max-width:720px){
  .hero.hero-fused{padding-top:30px}
  .hero.hero-fused h1{font-size:39px}
  .hero-image-frame{height:390px!important;min-height:390px!important;margin-top:2px!important}
  .hero-art{width:min(106%,680px);max-width:none}
  .hero-image-frame::before{inset:55px -20px 35px -20px!important}
  .hero-trust-line{margin-top:18px}
  .results-exact{padding:0 20px 66px}
  .results-exact .results-panel{max-width:680px;padding:32px 26px}
  .results-exact .results-grid{grid-template-columns:1fr;gap:28px}
  .results-exact .rr-top{grid-template-columns:repeat(3,1fr)}
  .results-exact .rr-bottom{grid-template-columns:1fr}
  .results-exact .results-left p{max-width:560px}
}
@media(max-width:480px){
  .hero.hero-fused{padding-top:26px}
  .hero.hero-fused .hero-grid{width:100%;overflow:visible}
  .hero.hero-fused .hero-copy{width:100%;min-width:0}
  .hero.hero-fused h1{font-size:32px;line-height:1.12;overflow-wrap:break-word}
  .hero.hero-fused p.lead{width:100%;font-size:14.5px;line-height:1.55}
  .hero.hero-fused .hero-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px;width:100%;max-width:330px;margin-left:auto;margin-right:auto}
  .hero.hero-fused .hero-tags>span{justify-content:flex-start;min-width:0;white-space:normal}
  .hero.hero-fused .hero-ctas{width:100%}
  .hero.hero-fused .hero-ctas .btn{max-width:100%;padding-left:15px;padding-right:15px;white-space:normal;text-align:center}
  .hero-trust-line{justify-content:center;font-size:11.5px;line-height:1.35}
  .hero-image-frame{width:100%;height:310px!important;min-height:310px!important;overflow:visible!important}
  .hero-art{width:min(112%,430px);max-width:none;transform:none}
  .results-exact .results-panel{padding:28px 20px}
  .results-exact .results-left h2{font-size:26px}
  .results-exact .results-mini{grid-template-columns:repeat(2,1fr);gap:18px 12px}
  .results-exact .rr-top{grid-template-columns:1fr}
  .results-exact .kpi-card{padding:14px 16px}
  .results-exact .chart-card{padding:16px 14px}
  .results-exact .traffic-chart{height:112px}
  .results-exact .donut-wrap{justify-content:flex-start;gap:12px}
  .results-exact .donut{width:82px;height:82px}
  .results-exact .donut::after{inset:18px}
  .results-exact .donut-legend{font-size:9.5px;white-space:normal}
}

/* Seguridad visual: el contenido nunca queda oculto si JavaScript es bloqueado o falla. */
[data-reveal]{opacity:1!important;transform:none!important}
