/* ============================================================
   InPulseLab · site.css v17
   ============================================================ */
:root{
  --ink:#0a2626;
  --ink-2:#103c3b;
  --ink-3:#1a4a48;
  --muted:#4b625e;
  --orange:#ff743d;
  --orange-2:#ff8a4c;
  --orange-soft:#ffb37a;
  --orange-dark:#b94318;
  --mint:#2ba896;
  --mint-dark:#1f8a75;
  --line:#dce6e3;
  --soft:#f2f7f5;
  --paper:#fbfdfc;
  --radius:24px;
  --shadow-sm:0 4px 14px rgba(10,38,38,.06);
  --shadow-md:0 20px 50px -20px rgba(10,38,38,.20);
  --shadow-lg:0 40px 90px -40px rgba(10,38,38,.35);
  --font:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --serif:'Fraunces',Georgia,serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,a{-webkit-tap-highlight-color:transparent}
.container{width:min(1200px,90%);margin-inline:auto}
h1,h2,h3,p,figure,ul{margin:0}
ul{padding:0;list-style:none}
h1,h2,h3{line-height:1.1;letter-spacing:-.04em;font-weight:700}
h2{font-size:clamp(1.8rem,3.1vw,2.6rem)}
p{color:var(--muted)}

.display{font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.02;letter-spacing:-.05em;font-weight:800}
.display em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;background:linear-gradient(135deg,var(--mint-dark),var(--mint));-webkit-background-clip:text;background-clip:text;color:transparent}
.display.light{color:#fff}
.display.light em{background:linear-gradient(135deg,#ffb37a,#ffd9bc);-webkit-background-clip:text;background-clip:text;color:transparent}

.skip{position:absolute;left:20px;top:-80px;background:var(--ink);color:#fff;padding:10px 18px;z-index:100}
.skip:focus{top:10px}
:focus-visible{outline:3px solid #ca501f;outline-offset:5px}

/* ============ HEADER ============ */
.site-header{position:sticky;top:0;background:rgba(255,255,255,.78);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid rgba(220,230,227,.6);z-index:40}
.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px;font-size:1.45rem;font-weight:800;letter-spacing:-.05em;white-space:nowrap}
.brand b{
  background:linear-gradient(135deg,var(--orange) 0%,var(--orange-2) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.brand img{width:38px;height:38px;border-radius:10px;box-shadow:0 6px 16px rgba(10,38,38,.12)}
nav{display:flex;align-items:center;gap:28px;font-size:.9rem;font-weight:600}
nav a{position:relative;transition:color .2s ease}
nav a:hover,.text-link:hover{color:var(--orange-dark)}
nav a:not(.client-pill):not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--orange);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
nav a:not(.client-pill):not(.nav-cta):hover::after{transform:scaleX(1)}
.client-pill{padding:10px 20px;border:1px solid #b5c9c4;border-radius:99px;transition:all .25s ease}
.client-pill:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px)}
.nav-cta{padding:11px 20px;background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#fff !important;border-radius:99px;font-weight:750;box-shadow:0 10px 24px -6px rgba(255,116,61,.45);transition:all .25s ease}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px -6px rgba(255,116,61,.6)}
.menu-btn{display:none;background:none;border:0;font-size:1.7rem;color:var(--ink);min-width:44px;min-height:44px}

/* ============ HERO ============ */
.hero{
  position:relative;isolation:isolate;overflow:hidden;
  padding-block:70px 130px;
  background:
    radial-gradient(ellipse at 20% 0%,rgba(43,168,150,.12),transparent 55%),
    radial-gradient(ellipse at 90% 10%,rgba(255,116,61,.10),transparent 55%),
    linear-gradient(180deg,#ffffff 0%,#fbfdfc 60%,#f5faf8 100%);
}
.hero-inner{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}

/* Aurora */
.hero-aurora{position:absolute;inset:0;overflow:hidden;z-index:1;pointer-events:none;filter:blur(70px);opacity:.7}
.aurora{position:absolute;border-radius:50%;mix-blend-mode:multiply}
.aurora-1{width:560px;height:560px;top:-140px;left:-100px;background:radial-gradient(circle,#ffd0b8 0%,rgba(255,208,184,0) 70%);animation:auroraA 22s ease-in-out infinite}
.aurora-2{width:620px;height:620px;top:-200px;right:-140px;background:radial-gradient(circle,#b8e6de 0%,rgba(184,230,222,0) 70%);animation:auroraB 26s ease-in-out infinite}
.aurora-3{width:500px;height:500px;bottom:-260px;left:35%;background:radial-gradient(circle,#ffb37a 0%,rgba(255,179,122,0) 70%);animation:auroraC 30s ease-in-out infinite}
@keyframes auroraA{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,40px) scale(1.15)}}
@keyframes auroraB{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-70px,50px) scale(1.1)}}
@keyframes auroraC{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,-50px) scale(1.2)}}

.hero-grid-bg{position:absolute;inset:0;z-index:1;background-image:linear-gradient(rgba(16,60,59,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(16,60,59,.055) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 30%,transparent 75%);pointer-events:none}
.hero-grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");mix-blend-mode:overlay}

.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--orange-dark);font-weight:750;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:24px}
.kicker-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--orange-2));box-shadow:0 0 0 4px rgba(255,116,61,.16);animation:dotPulse 2.4s ease-in-out infinite}
@keyframes dotPulse{0%,100%{box-shadow:0 0 0 4px rgba(255,116,61,.16)}50%{box-shadow:0 0 0 10px rgba(255,116,61,0)}}
.kicker.light{color:var(--orange-soft)}

.hero-title{font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:.98;letter-spacing:-.055em;font-weight:800;color:var(--ink)}
.hero-title .line{display:block;opacity:0;transform:translateY(28px);animation:reveal .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero-title .line-1{animation-delay:.05s}
.hero-title .line-2{animation-delay:.20s}
.hero-title .line-3{animation-delay:.35s}
.hero-title em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;background:linear-gradient(135deg,var(--mint-dark) 0%,var(--mint) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.05em}
.hero-title .underline{position:relative;white-space:nowrap}
.hero-title .underline::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.14em;background:linear-gradient(90deg,var(--orange),var(--orange-2));border-radius:99px;transform:scaleX(0);transform-origin:left;animation:underline 1s .9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes underline{to{transform:scaleX(1)}}
@keyframes reveal{to{opacity:1;transform:translateY(0)}}

.hero-sub{max-width:520px;margin-top:28px;font-size:1.1rem;line-height:1.75;color:#3d5651;opacity:0;animation:reveal .9s .5s cubic-bezier(.2,.7,.2,1) forwards}
.hero-sub strong{color:var(--ink);font-weight:700}

.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:36px;opacity:0;animation:reveal .9s .65s cubic-bezier(.2,.7,.2,1) forwards}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:14px 26px;border-radius:99px;font-weight:750;font-size:.92rem;line-height:1.4;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background .25s;border:0;cursor:pointer;font-family:inherit}
.btn.primary{background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#fff;box-shadow:0 18px 38px -12px rgba(255,116,61,.55);position:relative;overflow:hidden}
.btn.primary::before{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);transition:left .7s ease}
.btn.primary:hover::before{left:130%}
.btn.primary:hover{transform:translateY(-3px);box-shadow:0 24px 50px -14px rgba(255,116,61,.7)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid rgba(16,60,59,.18)}
.btn.ghost:hover{border-color:var(--ink);background:var(--ink);color:#fff;transform:translateY(-3px)}
.btn.white{background:#fff;color:var(--ink);box-shadow:0 14px 32px rgba(0,0,0,.14)}
.btn.white:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(0,0,0,.22)}

.text-link{font-weight:700;font-size:.9rem;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#96b7ae;line-height:1.8;transition:color .2s}
.text-link span{margin-left:10px;display:inline-block;transition:transform .25s}
.text-link:hover span{transform:translate(3px,-3px)}

.hero-metrics{display:flex;gap:34px;margin-top:52px;padding-top:28px;border-top:1px solid rgba(16,60,59,.10);opacity:0;animation:reveal .9s .8s cubic-bezier(.2,.7,.2,1) forwards;flex-wrap:wrap}
.hero-metrics li{display:flex;flex-direction:column;gap:4px}
.hero-metrics strong{font-size:1.9rem;font-weight:800;letter-spacing:-.04em;color:var(--ink);line-height:1;display:flex;align-items:baseline}
.hero-metrics strong span{font-size:1rem;color:var(--orange);margin-left:2px}
.hero-metrics li>span{font-size:.75rem;font-weight:600;color:#7b8f8a;letter-spacing:.03em;text-transform:uppercase}

/* ============ SHOWCASE 3D ============ */
.hero-showcase{position:relative;width:100%;max-width:600px;aspect-ratio:1/1.05;margin-inline:auto;opacity:0;animation:reveal 1s .3s cubic-bezier(.2,.7,.2,1) forwards;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.showcase-glow{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,116,61,.38),transparent 55%),radial-gradient(circle at 70% 70%,rgba(43,168,150,.35),transparent 55%);filter:blur(50px);z-index:0}

/* Card trasera */
.showcase-back{position:absolute;top:10%;left:-4%;width:60%;height:auto;background:#fff;border-radius:16px;box-shadow:0 30px 60px -30px rgba(10,38,38,.35);transform:rotate(-8deg);z-index:1;overflow:hidden}
.mini-topbar{padding:10px 12px;background:linear-gradient(180deg,#f7faf9,#eef4f2);display:flex;gap:5px;align-items:center}
.mini-dot{width:7px;height:7px;border-radius:50%;background:#d5e2dd}
.mini-body{padding:16px;background:#fbfdfc;display:flex;flex-direction:column;gap:12px}
.mini-hero-bg{height:44px;border-radius:8px;background:linear-gradient(135deg,#ffe0cc,#ffc9a8)}
.mini-lines{display:flex;flex-direction:column;gap:6px}
.mini-lines span{display:block;height:6px;border-radius:3px;background:linear-gradient(90deg,#e2ece8,#eef4f1)}
.mini-lines .l-1{width:75%}
.mini-lines .l-2{width:55%}
.mini-lines .l-3{width:65%;background:linear-gradient(90deg,#d6efe3,#e6f6ec)}

/* Navegador principal */
.showcase-main{position:absolute;top:16%;left:14%;width:82%;background:#fff;border-radius:18px;box-shadow:0 50px 100px -40px rgba(10,38,38,.45),0 20px 40px -20px rgba(10,38,38,.20);z-index:3;overflow:hidden;border:1px solid rgba(255,255,255,.9)}
.browser-bar{display:flex;align-items:center;gap:12px;padding:11px 14px;background:linear-gradient(180deg,#f8faf9,#eef4f2);border-bottom:1px solid #e3ece9}
.browser-dots{display:flex;gap:6px}
.browser-dots span{width:10px;height:10px;border-radius:50%}
.dot-r{background:#ff5f56}.dot-y{background:#ffbd2e}.dot-g{background:#28c840}
.browser-url{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e3ece9;border-radius:99px;padding:4px 12px;font-size:.7rem;color:#4b625e;font-weight:600;flex:1;max-width:60%}
.browser-url svg{flex-shrink:0}
.browser-actions{display:flex;gap:6px;margin-left:auto}
.browser-actions span{width:16px;height:6px;border-radius:3px;background:#dbe8e2}
.browser-actions span:last-child{width:10px;background:#f8d2bd}

/* Sitio dentro del navegador */
.site{padding:18px 20px 20px;background:linear-gradient(180deg,#ffffff,#fbfdfc)}
.site-nav{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid #eef4f1}
.site-logo{display:flex;align-items:center;gap:6px}
.site-logo-mark{width:18px;height:18px;border-radius:6px;background:linear-gradient(135deg,var(--orange),var(--orange-2))}
.site-logo-text{width:44px;height:7px;border-radius:3px;background:linear-gradient(90deg,#0a2626,#2b4b49)}
.site-links{display:flex;gap:8px;margin-left:auto}
.site-links span{width:24px;height:5px;border-radius:3px;background:#dfeae5}
.site-nav-cta{width:54px;height:20px;border-radius:99px;background:linear-gradient(135deg,var(--orange),var(--orange-2));box-shadow:0 6px 14px -4px rgba(255,116,61,.6)}

.site-hero{padding:22px 0 18px}
.site-eyebrow{display:flex;align-items:center;gap:6px;margin-bottom:10px}
.site-eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--orange)}
.site-eyebrow span{width:64px;height:5px;border-radius:3px;background:#f4a37a}
.site-title{height:16px;border-radius:4px;background:linear-gradient(90deg,#0a2626,#1a4a48);margin-bottom:7px}
.site-title.t-1{width:88%}
.site-title.t-2{width:62%;background:linear-gradient(90deg,#2ba896,#5ec4b3)}
.site-desc{width:70%;height:6px;border-radius:3px;background:#e5efeb;margin-top:10px}
.site-actions{display:flex;gap:8px;margin-top:18px}
.site-btn{height:24px;border-radius:99px}
.site-btn.primary-btn{width:76px;background:linear-gradient(135deg,var(--orange),var(--orange-2));box-shadow:0 8px 18px -6px rgba(255,116,61,.7)}
.site-btn.ghost-btn{width:60px;background:#fff;border:1.5px solid #d5e2dd}

.site-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.site-card{padding:12px;border-radius:12px;background:#fff;border:1px solid #e8f0ec;display:flex;flex-direction:column;gap:6px}
.sc-icon{width:22px;height:22px;border-radius:7px;display:block}
.sc-icon.orange{background:linear-gradient(135deg,#ffd0b8,#ffb37a)}
.sc-icon.green{background:linear-gradient(135deg,#d6efe3,#b8e6de)}
.sc-icon.dark{background:linear-gradient(135deg,#2b4b49,#0a2626)}
.sc-line{height:5px;border-radius:3px;background:#e5efeb}
.sc-line.short{width:60%}

/* Teléfono flotante */
.showcase-phone{position:absolute;bottom:2%;right:-2%;width:32%;max-width:170px;aspect-ratio:9/19;background:#0a2626;border-radius:22px;padding:6px;box-shadow:0 40px 80px -30px rgba(10,38,38,.5),0 20px 40px -20px rgba(10,38,38,.25),inset 0 0 0 1.5px rgba(255,255,255,.06);z-index:4;transform:rotate(6deg);animation:phoneFloat 6s ease-in-out infinite}
@keyframes phoneFloat{0%,100%{transform:rotate(6deg) translateY(0)}50%{transform:rotate(6deg) translateY(-12px)}}
.phone-notch{position:absolute;top:6px;left:50%;transform:translateX(-50%);width:40%;height:6px;background:#0a2626;border-radius:0 0 8px 8px;z-index:2}
.phone-screen{width:100%;height:100%;border-radius:17px;background:#fff;overflow:hidden;padding:14px 10px 10px;display:flex;flex-direction:column;gap:8px;position:relative}
.phone-status{display:flex;justify-content:space-between;font-size:.5rem;font-weight:800;color:#0a2626;margin-bottom:2px}
.phone-sig{width:20px;height:5px;border-radius:2px;background:linear-gradient(90deg,#0a2626 60%,transparent 60%)}
.phone-hero-block{display:flex;flex-direction:column;gap:5px;padding:8px 0}
.phone-eyebrow{width:36px;height:4px;border-radius:2px;background:#f4a37a}
.phone-title{height:8px;border-radius:3px;background:linear-gradient(90deg,#0a2626,#1a4a48)}
.phone-title.short{width:60%;background:linear-gradient(90deg,#2ba896,#5ec4b3)}
.phone-btn-row{display:flex}
.phone-btn-main{width:70%;height:20px;border-radius:99px;background:linear-gradient(135deg,var(--orange),var(--orange-2));box-shadow:0 6px 14px -4px rgba(255,116,61,.7)}
.phone-cards{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex:1}
.phone-cards span{border-radius:8px;background:linear-gradient(135deg,#f5faf8,#e5efeb);border:1px solid #e8f0ec}
.phone-cards span:nth-child(2){background:linear-gradient(135deg,#ffe0cc,#ffc9a8);border-color:#f7c9a9}
.phone-nav{display:flex;justify-content:space-around;padding-top:6px;border-top:1px solid #f0f5f2}
.phone-nav i{width:14px;height:4px;border-radius:2px;background:#d5e2dd;display:block}
.phone-nav i.active{background:linear-gradient(90deg,var(--orange),var(--orange-2));width:18px}

/* Chips */
.showcase-chip{position:absolute;background:rgba(255,255,255,.88);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid rgba(255,255,255,.95);border-radius:16px;box-shadow:0 20px 45px -18px rgba(10,38,38,.30);z-index:5;padding:12px 16px}

.chip-growth{top:4%;right:-4%;min-width:150px;animation:floatA 6s ease-in-out infinite}
.chip-label{display:block;font-size:.62rem;font-weight:800;letter-spacing:.1em;color:#7b8f8a;text-transform:uppercase;margin-bottom:4px}
.chip-row{display:flex;align-items:center;gap:10px}
.chip-growth strong{font-size:1.5rem;font-weight:800;color:var(--mint-dark);letter-spacing:-.03em;line-height:1;display:flex;align-items:baseline}
.chip-growth strong span{font-size:.85rem;color:var(--orange-dark);margin-left:1px}
.chip-spark{width:60px;height:24px;flex-shrink:0}

.chip-live{bottom:12%;left:-6%;display:flex;align-items:center;gap:10px;animation:floatB 7s ease-in-out infinite}
.chip-pulse{width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.7);animation:chipPulse 1.8s infinite;flex-shrink:0}
@keyframes chipPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.7)}70%{box-shadow:0 0 0 12px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.chip-live strong{display:block;font-size:.85rem;font-weight:800;color:var(--ink);line-height:1.2}
.chip-live small{display:block;font-size:.68rem;color:#7b8f8a;font-weight:600}

.chip-rating{top:38%;left:-8%;display:flex;flex-direction:column;gap:2px;padding:10px 14px;animation:floatA 5.5s ease-in-out infinite .8s}
.chip-stars{font-size:.75rem;color:var(--orange);letter-spacing:.08em}
.chip-rating strong{font-size:1.15rem;font-weight:800;color:var(--ink);letter-spacing:-.03em;line-height:1}

@keyframes floatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes floatB{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

/* Scroll hint */
.hero-scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:4;color:#7b8f8a;font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;opacity:0;animation:reveal 1s 1.1s forwards}
.hero-scroll i{display:block;width:1px;height:44px;background:linear-gradient(180deg,transparent,var(--orange-dark),transparent);position:relative;overflow:hidden}
.hero-scroll i::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--orange);animation:scrollDown 2s ease-in-out infinite}
@keyframes scrollDown{0%{top:-50%}100%{top:150%}}

/* ============ BAND ESTÁTICA ============ */
.band-static{background:linear-gradient(90deg,var(--ink),var(--ink-3),var(--ink));color:#fff;padding:26px 0;position:relative;border-block:1px solid rgba(255,255,255,.06)}
.band-static::before,.band-static::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:1;pointer-events:none}
.band-static::before{left:0;background:linear-gradient(90deg,var(--ink),transparent)}
.band-static::after{right:0;background:linear-gradient(-90deg,var(--ink),transparent)}
.band-inner{display:flex;align-items:center;justify-content:center;gap:32px;flex-wrap:wrap;position:relative;z-index:2}
.band-inner span{font-size:1.2rem;font-weight:500;font-family:var(--serif);font-style:italic;color:#fff;letter-spacing:-.01em}
.band-inner i{font-size:1.3rem;color:var(--orange-2);font-style:normal}

/* ============ SECCIÓN GENÉRICA ============ */
.section{padding-block:110px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:56px;flex-wrap:wrap}
.section-head>p{max-width:360px;font-size:1.02rem}

/* ============ SERVICIOS ============ */
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service{position:relative;padding:38px 36px;min-height:340px;border:1px solid var(--line);border-radius:28px;background:#fff;display:flex;flex-direction:column;gap:20px;overflow:hidden;transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .3s}
.service::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--orange),var(--orange-2));transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.service:hover{transform:translateY(-8px);box-shadow:var(--shadow-md);border-color:#cfe0da}
.service:hover::before{transform:scaleX(1)}
.service-bg{position:absolute;bottom:-30px;right:14px;font-size:9rem;font-weight:900;letter-spacing:-.06em;color:rgba(16,60,59,.04);line-height:1;pointer-events:none;font-family:var(--serif);font-style:italic;transition:color .4s,transform .4s}
.service:hover .service-bg{color:rgba(255,116,61,.09);transform:translateY(-8px)}
.service header{display:flex;align-items:center;gap:14px}
.service-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#fff,#f0f4f1);color:var(--orange);box-shadow:0 8px 20px rgba(16,60,59,.08);flex-shrink:0}
.service-num{font-size:.72rem;letter-spacing:.14em;font-weight:800;color:#7b8f8a;text-transform:uppercase}
.service h3{font-size:clamp(1.4rem,2.2vw,1.75rem);letter-spacing:-.03em;font-weight:800;margin-top:6px}
.service p{line-height:1.7;font-size:.98rem;max-width:400px;position:relative;z-index:1}
.service .text-link{display:inline-block;margin-top:auto;position:relative;z-index:1}
.service.feature{background:linear-gradient(150deg,#e2f1e9 0%,#d3ead9 100%);border-color:transparent}
.service.feature::before{background:linear-gradient(90deg,var(--mint-dark),var(--mint))}
.service.feature .service-icon{background:linear-gradient(135deg,#fff,#d7f0e4);color:var(--mint-dark)}
.service.soft{background:linear-gradient(150deg,#f7f8f4,#eef2ed)}

/* ============ ABOUT ============ */
.about{background:linear-gradient(180deg,var(--soft) 0%,#eaf2ef 100%);position:relative;overflow:hidden}
.about::before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;background:radial-gradient(circle,rgba(255,116,61,.10),transparent 70%);border-radius:50%}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;position:relative}
.about-grid>div>p{margin-top:24px;max-width:460px;font-size:1.05rem}
.about-grid .text-link{display:inline-block;margin-top:26px}
.principles{display:grid}
.principles article{display:flex;gap:22px;padding:28px 0;border-bottom:1px solid #cdded6;transition:padding-left .3s;align-items:flex-start}
.principles article:first-child{padding-top:0}
.principles article:hover{padding-left:10px}
.principles article>span{font-weight:800;font-size:.8rem;color:var(--orange-dark);background:#fff;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;box-shadow:0 6px 16px rgba(16,60,59,.10);flex-shrink:0;font-family:var(--serif);font-style:italic}
.principles h3{font-size:1.2rem;letter-spacing:-.015em;margin-bottom:7px;font-weight:800}
.principles p{font-size:.95rem}

/* ============ OFFER BANNER ============ */
.offer-banner{position:relative;margin-block:80px;border-radius:36px;overflow:hidden;display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center;padding:64px 60px;background:radial-gradient(ellipse at 80% 20%,rgba(255,116,61,.35),transparent 55%),radial-gradient(ellipse at 0% 100%,rgba(43,168,150,.28),transparent 55%),linear-gradient(135deg,var(--ink) 0%,var(--ink-3) 100%);color:#fff;box-shadow:0 50px 100px -40px rgba(16,60,59,.5);isolation:isolate}
.offer-banner::before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:36px;background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 40%,transparent 60%,rgba(255,255,255,.10));z-index:-1;pointer-events:none}
.offer-noise{position:absolute;inset:0;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");mix-blend-mode:overlay}
.offer-content{position:relative;z-index:2}
.offer-content p{color:rgba(255,255,255,.72);margin-top:22px;font-size:1.05rem;max-width:500px;line-height:1.7}
.offer-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.offer-tags li{font-size:.82rem;padding:7px 14px;border:1px solid rgba(255,255,255,.22);border-radius:99px;color:#fff;font-weight:600;background:rgba(255,255,255,.06);backdrop-filter:blur(8px)}
.offer-price{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:32px 30px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:24px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.offer-badge{position:absolute;top:-14px;right:24px;background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.1em;padding:8px 14px;border-radius:99px;box-shadow:0 12px 28px -6px rgba(255,116,61,.7)}
.offer-label{font-size:.75rem;font-weight:750;letter-spacing:.1em;color:var(--orange-soft);text-transform:uppercase}
.offer-amount{display:flex;flex-direction:column;color:#fff}
.offer-amount strong{font-size:clamp(2.6rem,5vw,3.6rem);font-weight:800;letter-spacing:-.06em;line-height:1;background:linear-gradient(135deg,#ffffff,#ffd9bc);-webkit-background-clip:text;background-clip:text;color:transparent}
.offer-amount span{font-size:.85rem;color:rgba(255,255,255,.65);font-weight:600;margin-top:8px}
.offer-price small{color:rgba(255,255,255,.55);font-size:.75rem;max-width:240px;line-height:1.5}
.offer-price .btn{margin-top:8px}

/* ============ CONTACTO ============ */
.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}
.contact-main>p{max-width:440px;margin-top:20px;font-size:1.05rem}
.contact-main .btn{margin-top:32px}
.client-card{position:relative;padding:40px;background:linear-gradient(160deg,#fff,#eef5f2);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-sm);transition:transform .35s,box-shadow .35s;overflow:hidden}
.client-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--orange),var(--mint))}
.client-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.client-tag{font-size:.72rem;letter-spacing:.12em;color:#657e72;font-weight:800;text-transform:uppercase}
.client-card h3{font-size:1.7rem;margin:18px 0;font-weight:800;letter-spacing:-.03em}
.client-card p{font-size:.95rem}
.client-card .text-link{display:inline-block;margin-top:22px}

/* ============ FOOTER ============ */
footer{padding:40px 0 24px;background:linear-gradient(180deg,var(--ink) 0%,#082322 100%);color:#fff}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-inner .brand b{background:linear-gradient(135deg,var(--orange),var(--orange-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.footer-inner>span{color:#b5d1c7;font-size:.9rem}
.footer-inner>a:last-child{font-size:.85rem}
.legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:20px;color:#b5cec4;font-size:.75rem}
.legal a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.3)}

/* ============ WHATSAPP FLOTANTE ============ */
.wa-float{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#25D366,#128C7E);color:#fff;display:grid;place-items:center;box-shadow:0 18px 40px -10px rgba(37,211,102,.55);z-index:50;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.wa-float:hover{transform:scale(1.1) translateY(-3px);box-shadow:0 24px 50px -12px rgba(37,211,102,.7)}
.wa-float::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(37,211,102,.4);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.7);opacity:0}}

/* ============ RESPONSIVE ============ */
@media(max-width:1100px){
  .hero-inner{gap:40px}
  .hero-showcase{max-width:520px}
  .showcase-chip{padding:10px 13px}
  .chip-growth strong{font-size:1.3rem}
}
@media(max-width:1000px){
  .hero-inner{grid-template-columns:1fr;gap:60px;text-align:center}
  .hero-copy{max-width:640px;margin-inline:auto}
  .hero-sub{margin-inline:auto}
  .hero-actions{justify-content:center}
  .hero-metrics{justify-content:center}
  .kicker{justify-content:center}
  .hero-showcase{max-width:540px}
  .about-grid{gap:44px}
  .offer-banner{grid-template-columns:1fr;gap:32px;padding:48px 40px}
  .contact{gap:40px}
}
@media(max-width:760px){
  .container{width:90%}
  .header-inner{min-height:74px}
  .brand{font-size:1.25rem}
  .menu-btn{display:block}
  nav{display:none;position:absolute;top:73px;left:5%;right:5%;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 24px 50px rgba(16,60,59,.14)}
  nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}
  nav a{padding:12px 14px;border-radius:12px;transition:background .2s}
  nav a:hover{background:var(--soft)}
  .client-pill{margin-top:6px;text-align:center}
  .nav-cta{text-align:center;margin-top:6px}
  .hero{padding-block:44px 80px}
  .hero-title{font-size:clamp(2.2rem,9vw,3.4rem)}
  .hero-sub{font-size:1rem}
  .hero-showcase{max-width:420px;aspect-ratio:1/1.1}
  .showcase-chip{padding:9px 12px;border-radius:12px}
  .chip-growth strong{font-size:1.15rem}
  .chip-growth{top:2%;right:-2%}
  .chip-live{left:-2%;bottom:14%}
  .chip-rating{left:-4%;top:40%}
  .band-static{padding:22px 0}
  .band-inner{gap:18px}
  .band-inner span{font-size:1rem}
  .band-inner i{font-size:1.05rem}
  .section{padding-block:70px}
  .section-head{display:block;margin-bottom:36px}
  .section-head>p{margin-top:20px}
  .services{grid-template-columns:1fr;gap:16px}
  .service{padding:30px 26px;min-height:0}
  .service-bg{font-size:6rem;bottom:-18px;right:10px}
  .about-grid,.contact{grid-template-columns:1fr;gap:40px}
  .offer-banner{margin-block:50px;padding:40px 28px;border-radius:28px}
  .offer-price{padding:26px 22px}
  .wa-float{bottom:18px;right:18px;width:56px;height:56px}
  .hero-scroll{display:none}
}
@media(max-width:490px){
  .hero-title{font-size:clamp(2rem,10vw,2.7rem)}
  .hero-actions{flex-direction:column;align-items:stretch;width:100%}
  .hero-actions .btn{width:100%}
  .hero-showcase{max-width:340px;aspect-ratio:1/1.15}
  .showcase-back{left:-6%;top:8%}
  .showcase-main{left:10%;top:14%}
  .showcase-phone{right:-4%;bottom:0}
  .chip-growth{top:0;right:-4%}
  .chip-live{bottom:8%;left:-4%}
  .chip-rating{display:none}
  .offer-banner{padding:32px 22px}
  .offer-badge{right:14px}
  .footer-inner{align-items:flex-start}
  .band-inner{gap:12px}
  .band-inner span{font-size:.9rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .hero-title .line,.hero-sub,.hero-actions,.hero-metrics,.hero-showcase,.hero-scroll{opacity:1;transform:none}
}