/* ============================================================================
   GREENTIC · LIQUID GLASS
   Capa de diseño compartida (estilo Apple / visionOS). Se carga SIEMPRE al
   final y sólo cambia la piel: no toca estructura, enlaces ni scripts.
   Quitar este <link> devuelve el sitio al estilo anterior.
   ==========================================================================*/
:root{
  --g-bg:#06261a;
  --g-mint:#B8F2CF;
  --g-mint-2:#8FE3B5;
  --g-lime:#d9f24c;
  --g-ink:#F4FFF8;
  --g-dim:rgba(244,255,248,.72);
  --g-faint:rgba(244,255,248,.5);
  --glass:rgba(255,255,255,.075);
  --glass-2:rgba(255,255,255,.12);
  --glass-line:rgba(255,255,255,.18);
  --glass-hi:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(255,255,255,.04);
  --glass-shadow:0 1px 0 rgba(255,255,255,.04),0 24px 60px -18px rgba(0,0,0,.55);
  --blur:blur(26px) saturate(1.7);
  --r-xl:32px; --r-lg:26px; --r-md:20px;
  --sf:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter Tight","Inter","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-display:var(--sf); --font-body:var(--sf);
  --ease-ios:cubic-bezier(.2,.8,.2,1);
}

/* ---------- fondo: malla de luz verde, fija ---------- */
html{background:var(--g-bg)}
body{
  background:
    radial-gradient(60vmax 50vmax at 12% -8%, rgba(95,214,150,.38), transparent 60%),
    radial-gradient(55vmax 45vmax at 105% 8%, rgba(217,242,76,.16), transparent 62%),
    radial-gradient(70vmax 60vmax at 80% 105%, rgba(37,160,140,.34), transparent 60%),
    radial-gradient(50vmax 40vmax at -10% 95%, rgba(14,77,54,.9), transparent 65%),
    linear-gradient(180deg,#0A3B29 0%,#06261a 100%) !important;
  background-attachment:fixed !important;
  color:var(--g-ink);
  font-family:var(--sf) !important;
  -webkit-font-smoothing:antialiased;
}
::selection{background:rgba(184,242,207,.35)}

/* ---------- tipografía ---------- */
h1,h2,h3,h4,.h-display{font-family:var(--sf)!important;font-weight:700!important;letter-spacing:-.04em!important}
h1,.h-display,.hero__title{line-height:1.02!important;text-wrap:balance}
h2{letter-spacing:-.035em!important;text-wrap:balance}
h1 em,h2 em,.h-display em,.hero__title .em{
  font-style:normal;
  background:linear-gradient(100deg,#B8F2CF 0%,#d9f24c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero__title .em::after{display:none!important}
.kicker,.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--sf)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.02em!important;text-transform:none!important;
  color:var(--g-mint)!important;
  padding:7px 14px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-line);
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--glass-hi);
}
.kicker::before{display:none!important}
.lead{color:var(--g-dim)!important;font-size:clamp(17px,1.5vw,21px);line-height:1.55}
.mono,.tag,.bp-panel__tag,.sec-head__idx{font-family:var(--sf)!important;letter-spacing:.01em!important;text-transform:none!important}

/* ---------- header: píldora de cristal flotante ---------- */
.site-header{
  position:fixed!important;top:12px!important;left:0;right:0;inset-inline:0;
  height:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  padding:0 clamp(10px,2vw,24px)!important;z-index:100;pointer-events:none;
}
.site-header .wrap{
  pointer-events:auto;
  max-width:1160px!important;margin-inline:auto;width:100%;
  padding:8px 10px 8px 18px!important;
  background:rgba(14,60,42,.42);
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--glass-line);border-radius:999px;
  box-shadow:var(--glass-hi),0 18px 50px -16px rgba(0,0,0,.5);
  transition:background .3s,box-shadow .3s;
}
.site-header.is-scrolled .wrap{background:rgba(10,48,33,.62)}
.brand__logo{height:44px!important;margin-block:-4px!important}
.nav>a,.nav a,.nav-drop__trigger{
  font-family:var(--sf)!important;font-size:14.5px!important;font-weight:600!important;letter-spacing:-.005em!important;
  color:var(--g-ink)!important;opacity:.92;padding:9px 15px!important;border-radius:999px!important;border:0!important;background:transparent;
  transition:background .25s,color .25s,opacity .25s;
}
.nav>a:hover,.nav a:hover,.nav-drop__trigger:hover,.nav-drop.is-open .nav-drop__trigger{background:rgba(255,255,255,.14)!important;color:#fff!important;opacity:1}
.nav a.is-current,.nav-drop__trigger.is-current{background:rgba(255,255,255,.16)!important;color:#fff!important}
.nav a.text-green{background:var(--g-mint)!important;color:#06261a!important;opacity:1;font-weight:700!important}
.nav a.text-green:hover{background:#d4f8e2!important;color:#06261a!important}
.nav-drop__menu{
  background:rgba(10,48,33,.78)!important;border:1px solid var(--glass-line)!important;border-radius:24px!important;padding:8px!important;
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--glass-hi),0 30px 70px -20px rgba(0,0,0,.6)!important;
  margin-top:10px!important;
}
.nav-drop__menu a{border-radius:16px!important;padding:11px 14px!important}
.nav-toggle{border:1px solid var(--glass-line)!important;background:var(--glass)!important;width:44px;height:44px}
.lang-switch{border-radius:999px!important;background:var(--glass)!important;border:1px solid var(--glass-line)!important;color:var(--g-ink)!important;font-family:var(--sf)!important;letter-spacing:0!important;text-transform:none!important}

@media (max-width:980px){
  .site-header .wrap{border-radius:28px}
  .nav{
    background:rgba(8,42,29,.86)!important;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
    border:1px solid var(--glass-line)!important;border-radius:28px!important;padding:10px!important;margin-top:8px;
    box-shadow:0 30px 70px -20px rgba(0,0,0,.7)!important;
  }
  .nav-drop__menu{background:rgba(255,255,255,.06)!important;box-shadow:none!important;border:0!important}
}

/* ---------- botones: grandes, redondos, con brillo ---------- */
.btn{
  position:relative;overflow:hidden;
  font-family:var(--sf)!important;font-size:17px!important;font-weight:600!important;letter-spacing:-.01em!important;
  padding:17px 30px!important;min-height:56px;border-radius:999px!important;border:1px solid transparent;
  transition:transform .35s var(--ease-ios),box-shadow .35s,background .3s,border-color .3s!important;
}
.btn:hover{transform:translateY(-2px) scale(1.015)!important}
.btn:active{transform:scale(.97)!important}
.btn--signal,.btn--lime,.btn-mint,.btn--wa{
  background:linear-gradient(180deg,#d6fae5 0%,#B8F2CF 55%,#9fe8bf 100%)!important;color:#06261a!important;border-color:rgba(255,255,255,.55)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 34px -8px rgba(143,227,181,.65),0 2px 6px rgba(0,0,0,.25)!important;
}
.btn--signal:hover,.btn--lime:hover,.btn-mint:hover,.btn--wa:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 44px -8px rgba(143,227,181,.85),0 2px 6px rgba(0,0,0,.25)!important}
.btn--ghost,.btn-ghost-w{
  background:var(--glass-2)!important;color:var(--g-ink)!important;border:1px solid var(--glass-line)!important;
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--glass-hi)!important;
}
.btn--ghost:hover,.btn-ghost-w:hover{background:rgba(255,255,255,.2)!important}
.btn--sm{padding:11px 20px!important;min-height:44px;font-size:15px!important}
.btn-pulse{animation:glassPulse 2.6s ease-in-out infinite!important}
@keyframes glassPulse{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 34px -8px rgba(143,227,181,.55),0 0 0 0 rgba(184,242,207,.45)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 34px -8px rgba(143,227,181,.7),0 0 0 14px rgba(184,242,207,0)}}
.link-tech{font-family:var(--sf)!important;letter-spacing:0!important;text-transform:none!important}

/* ---------- tarjetas y paneles: cristal ---------- */
.bp-panel,.plan,.proc__step,.fcard,.faq__item,.acc,.panel,.card,.titleblock,.lead-form,.builder,.builder__screen,
.inc-panel,.dcard,.modal,.svc,.bcard,.proof__in,.tool,.hub-card,.step,.join__in,.marquee--quote,.step-chip,.pg-site{
  background:var(--glass)!important;
  border:1px solid var(--glass-line)!important;border-radius:var(--r-xl)!important;
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  box-shadow:var(--glass-hi),var(--glass-shadow)!important;
  color:var(--g-ink);
}
.bp-panel::before,.bp-panel::after,.plan::before,.plan::after,.titleblock::before,.titleblock::after{display:none!important}
.plan{padding:clamp(24px,3vw,38px)!important;transition:transform .45s var(--ease-ios),background .3s!important}
.plan:hover,.proc__step:hover,.fcard:hover{transform:translateY(-6px)!important;background:var(--glass-2)!important}
.plan--featured{
  background:linear-gradient(160deg,rgba(184,242,207,.22),rgba(255,255,255,.07))!important;
  border-color:rgba(184,242,207,.55)!important;
  box-shadow:var(--glass-hi),0 30px 80px -24px rgba(143,227,181,.5)!important;
}
.plan__badge{border-radius:999px!important;font-family:var(--sf)!important;letter-spacing:0!important;text-transform:none!important}
.plan__price{font-family:var(--sf)!important;letter-spacing:-.04em!important}
.titleblock{padding:6px!important;overflow:hidden}
.titleblock__cell{background:transparent!important;border-color:rgba(255,255,255,.1)!important}
.section--spec,.section.section--spec{background:rgba(255,255,255,.03)!important;border-radius:var(--r-xl)}
.section,.section--tight{position:relative}
.sec-head h2{font-size:clamp(32px,4.4vw,56px)}
.sec-head__idx{background:var(--glass)!important;border:1px solid var(--glass-line)!important;border-radius:999px!important;padding:6px 12px!important;color:var(--g-mint)!important;width:max-content}
.section-rule{opacity:.25}
.faq__item{border-radius:var(--r-lg)!important;margin-bottom:12px}
.chip{
  background:var(--glass)!important;border:1px solid var(--glass-line)!important;border-radius:999px!important;color:var(--g-ink)!important;
  font-family:var(--sf)!important;letter-spacing:0!important;text-transform:none!important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .3s var(--ease-ios),background .25s!important;
}
.chip:hover{background:var(--glass-2)!important;transform:translateY(-2px)}
.chip.is-on,.chip[aria-pressed="true"]{background:var(--g-mint)!important;color:#06261a!important;border-color:transparent!important}
.tag,.dtag,.selbadge{border-radius:999px!important}

/* ---------- formularios ---------- */
input,select,textarea{
  font-family:var(--sf)!important;font-size:16px!important;color:var(--g-ink)!important;
  background-color:rgba(255,255,255,.08)!important;border:1px solid var(--glass-line)!important;border-radius:16px!important;
  padding:15px 16px!important;transition:border-color .25s,background-color .25s,box-shadow .25s!important;
}
input::placeholder,textarea::placeholder{color:var(--g-faint)!important}
input:focus,select:focus,textarea:focus{outline:0!important;border-color:var(--g-mint)!important;background-color:rgba(255,255,255,.13)!important;box-shadow:0 0 0 4px rgba(184,242,207,.2)!important}
.lead-form{padding:clamp(22px,3vw,40px)!important}
.lead-form label,.fld .lbl{font-family:var(--sf)!important;letter-spacing:0!important;text-transform:none!important;font-weight:600}

/* ---------- imágenes / figuras ---------- */
.figure,.figure--photo,.figure__photo{border-radius:var(--r-xl)!important;overflow:hidden}
.figure__stamp{display:none}
.marquee{opacity:.9}

/* ---------- footer ---------- */
.site-footer{
  background:rgba(4,28,19,.55)!important;
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border-top:1px solid var(--glass-line)!important;border-radius:var(--r-xl) var(--r-xl) 0 0;
}
.site-footer h5{font-family:var(--sf)!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;color:var(--g-mint)!important}
.site-footer li a{color:var(--g-dim)}
.site-footer li a:hover{color:#fff}
.footer-meta{font-family:var(--sf)!important;letter-spacing:0!important}

/* ---------- dock: cápsula de cristal ---------- */
.dock{gap:10px;z-index:90}
.dock__btn,.dock__btn--wa{
  width:52px!important;height:52px!important;border-radius:50%!important;
  background:rgba(14,60,42,.5)!important;border:1px solid var(--glass-line)!important;
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  box-shadow:var(--glass-hi),0 14px 34px -10px rgba(0,0,0,.55)!important;
  transition:transform .35s var(--ease-ios),background .25s!important;
}
.dock__btn::before,.dock__btn::after{display:none!important}
.dock__btn:hover{transform:translateY(-3px) scale(1.06)!important;background:rgba(255,255,255,.18)!important}
.dock__btn svg{stroke:var(--g-ink)!important}
.dock__btn--wa{background:linear-gradient(180deg,#d6fae5,#9fe8bf)!important;border-color:rgba(255,255,255,.6)!important}
.dock__btn--wa svg{stroke:#06261a!important}
.dock__lbl{
  background:rgba(8,42,29,.85)!important;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--glass-line);border-radius:999px!important;padding:7px 13px!important;font-family:var(--sf)!important;letter-spacing:0!important;text-transform:none!important;
}
@media (max-width:560px){
  .dock{background:rgba(8,42,29,.6)!important;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-line)!important;box-shadow:var(--glass-hi),0 18px 40px -10px rgba(0,0,0,.6)!important}
  .dock__btn,.dock__btn--wa{width:46px!important;height:46px!important;box-shadow:none!important}
}

/* ---------- FAB flotante de las páginas de servicio ---------- */
.fab-cta{border-radius:999px!important;font-family:var(--sf)!important;letter-spacing:-.01em!important;text-transform:none!important}

/* ---------- movimiento suave ---------- */
.js .reveal,.js .rv{transition:opacity .8s var(--ease-ios),transform .8s var(--ease-ios)!important}
@media (prefers-reduced-motion:reduce){.btn-pulse{animation:none!important}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  :root{--glass:rgba(20,70,50,.85);--glass-2:rgba(30,90,65,.9)}
  .site-header .wrap,.nav-drop__menu,.nav{background:rgba(10,48,33,.96)!important}
}

/* enlace nuevo del menú: punto lima */
.nav a.nav-new{position:relative}
.nav a.nav-new::after{content:"";position:absolute;top:8px;right:6px;width:7px;height:7px;border-radius:50%;background:#d9f24c;box-shadow:0 0 10px #d9f24c}
@media (max-width:980px){.nav a.nav-new::after{top:50%;right:18px;transform:translateY(-50%)}}

/* menú: nunca partir etiquetas en dos líneas; compacto entre 981 y 1180 px */
.nav>a,.nav a,.nav-drop__trigger{white-space:nowrap}
@media (min-width:981px) and (max-width:1180px){
  .nav>a,.nav a,.nav-drop__trigger{padding:9px 10px!important;font-size:13.5px!important}
  .site-header .wrap{gap:8px!important;padding-left:14px!important}
  .brand__logo{height:38px!important}
}

/* planes: con un solo precio + "a la medida" las tarjetas llenan la fila */
.plans{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important}
@media (min-width:900px){.plans{max-width:960px;margin-inline:auto}}

/* ---------- mesa de trabajo (constructor de secciones) ---------- */
.secciona{background:transparent!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:0!important;border-radius:0!important}
.bp-panel{position:relative}
.bp-panel__tag{
  background:rgba(10,48,33,.85)!important;color:var(--g-mint)!important;border:1px solid var(--glass-line)!important;border-radius:999px!important;
  padding:5px 14px!important;font-size:12.5px!important;font-weight:600;box-shadow:var(--glass-hi);
}
.chip{font-size:14.5px!important;padding:11px 16px!important;gap:10px!important}
.chip__plus{width:20px!important;height:20px!important;border-radius:50%!important;border:0!important;background:rgba(184,242,207,.22);color:var(--g-mint)!important;font-size:14px!important;font-weight:700}
.chip.is-picked{background:rgba(184,242,207,.22)!important;border-color:rgba(184,242,207,.6)!important}
.chip.is-picked .chip__plus{background:var(--g-mint)!important;color:#06261a!important}
.chip.is-demo{border-color:#F2C230!important}
.builder{border:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.builder__screen{border-radius:var(--r-xl)!important;background:rgba(6,38,26,.55)!important;overflow:hidden}
.builder__bar,.builder__count{font-family:var(--sf)!important;letter-spacing:0!important;text-transform:none!important;font-size:13px!important;border-color:rgba(255,255,255,.12)!important}
.builder__url{border-radius:999px!important;background:rgba(255,255,255,.08);border-color:var(--glass-line)!important}
.builder__canvas{padding:18px!important;gap:10px!important}
.builder__slot,.builder__empty{
  border-radius:18px!important;font-family:var(--sf)!important;font-size:14.5px!important;letter-spacing:0!important;text-transform:none!important;
  padding:15px 18px!important;color:var(--g-ink)!important;border:1px solid var(--glass-line)!important;background:rgba(255,255,255,.07)!important;
}
.builder__slot.is-header,.builder__slot.is-footer{background:rgba(255,255,255,.04)!important;color:var(--g-dim)!important;border-style:solid!important}
.builder__canvas .builder__slot:not(.is-header):not(.is-footer){background:rgba(184,242,207,.12)!important;border:1px solid rgba(184,242,207,.45)!important}
.builder__canvas .builder__slot:not(.is-header):not(.is-footer):nth-last-child(2){border-color:#F2C230!important}
.builder__empty{border-style:dashed!important;text-align:center;color:var(--g-faint)!important}
.builder__live{
  background:rgba(10,48,33,.9)!important;border-radius:999px!important;font-family:var(--sf)!important;letter-spacing:.04em!important;font-size:12px!important;padding:7px 14px!important;
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
}
.scribble{font-family:var(--sf)!important;font-style:normal!important;color:var(--g-dim)!important;font-size:15px!important}
.builder__count{padding:14px 18px!important}

/* ---------- pasos del proceso: tarjetas separadas ---------- */
.proc{gap:clamp(12px,1.6vw,20px)!important;border:0!important;border-radius:0!important;overflow:visible!important;background:transparent!important}
.proc__step{border:1px solid var(--glass-line)!important;min-height:0!important;padding:clamp(22px,2.6vw,32px)!important}
.proc__step::after{display:none!important}
.proc__num{font-family:var(--sf)!important;font-weight:700!important;font-size:clamp(34px,3.4vw,44px)!important;letter-spacing:-.04em;
  background:linear-gradient(100deg,#B8F2CF,#d9f24c);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.proc__num sup{-webkit-text-fill-color:var(--g-faint);font-size:.8rem!important;font-family:var(--sf)!important;letter-spacing:0!important}
.proc__step h4{font-family:var(--sf)!important;font-size:13px!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--g-mint)!important;font-weight:600}
.proc__step p{font-size:15.5px!important;line-height:1.5;color:var(--g-dim)!important}
@media (max-width:900px){.proc{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:560px){.proc{grid-template-columns:minmax(0,1fr)!important}}

/* marcas de esquina y reglas del "plano": fuera */
.figure__corner,.art-fig>i,.worktable>.tick-bl,.worktable>.tick-br,.tick-bl,.tick-br,.worktable::before,.worktable::after{display:none!important}
.worktable{border-radius:var(--r-xl)!important}
.faq__item{border:1px solid var(--glass-line)!important}

/* dock: iconos perfectamente centrados y botones del mismo tamaño */
.dock{align-items:center!important}
.dock__btn,.dock__btn--wa{display:grid!important;place-items:center!important;padding:0!important;line-height:0!important;box-sizing:border-box!important;width:52px!important;height:52px!important;min-width:52px;min-height:52px;flex:none}
.dock__btn svg{display:block!important;margin:0!important;width:24px!important;height:24px!important;flex:none;position:static!important;transform:none!important}
@media (max-width:560px){.dock__btn,.dock__btn--wa{width:46px!important;height:46px!important;min-width:46px;min-height:46px}.dock__btn svg{width:22px!important;height:22px!important}}
.dock__btn{overflow:visible!important}
.dock__lbl{position:absolute!important;right:calc(100% + 12px)!important;top:50%!important;transform:translateY(-50%)!important;opacity:0;pointer-events:none;max-width:none!important;width:auto!important;white-space:nowrap}
.dock__btn:hover .dock__lbl,.dock__btn:focus-visible .dock__lbl{opacity:1}
.dock__btn,.dock__btn--wa{justify-content:center!important;align-content:center!important;justify-items:center!important;align-items:center!important}

/* ---------- héroes de servicios: limpios, estilo Apple (sin fondo de código) ---------- */
.glyphs-bg{display:none!important}
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;inset:-10% -5% auto -5%;height:90%;z-index:-1;pointer-events:none;
  background:radial-gradient(40% 55% at 18% 30%,rgba(143,227,181,.28),transparent 70%),radial-gradient(34% 45% at 82% 22%,rgba(217,242,76,.12),transparent 70%),radial-gradient(40% 50% at 70% 85%,rgba(37,160,140,.22),transparent 70%)}
.hero__meta{display:flex;flex-wrap:wrap;gap:10px!important;margin-top:22px}
.hero__meta span{
  font-family:var(--sf)!important;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;font-weight:600;color:var(--g-ink)!important;
  padding:8px 16px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:var(--glass-hi);
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)
}
.hero__meta span::before{width:8px!important;height:8px!important;border-radius:50%!important;background:linear-gradient(180deg,#d6fae5,#8FE3B5)!important;box-shadow:0 0 10px rgba(143,227,181,.7)}
.hero__title{font-size:clamp(40px,6vw,84px)!important;line-height:1.02!important}
.hero .lead{font-size:clamp(17px,1.5vw,21px)}
.hero .btn-row{gap:12px}

/* marco de cristal + memojis flotantes alrededor de la ilustración del héroe */
.hero .figure--photo{
  position:relative;overflow:visible!important;padding:clamp(14px,2vw,26px);border-radius:var(--r-xl)!important;
  background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid var(--glass-line);
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--glass-hi),0 40px 80px -30px rgba(0,0,0,.65);
}
.hero .figure--photo::before,.hero .figure--photo::after{
  content:var(--m1,"✨");position:absolute;z-index:3;display:grid;place-items:center;width:clamp(56px,6.4vw,84px);aspect-ratio:1;border-radius:50%;font-size:clamp(28px,3.4vw,44px);line-height:1;
  background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.55),rgba(255,255,255,.14) 55%,rgba(184,242,207,.25));border:1px solid rgba(255,255,255,.45);
  box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 24px 44px -16px rgba(0,0,0,.7),0 0 0 8px rgba(255,255,255,.06);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:heroMemo 5s ease-in-out infinite;pointer-events:none}
.hero .figure--photo::before{top:-26px;right:-18px}
.hero .figure--photo::after{content:var(--m2,"💚");bottom:-24px;left:-20px;animation-delay:-2.4s}
@keyframes heroMemo{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-10px) rotate(4deg)}}
@media (max-width:900px){.hero .figure--photo::before{right:-6px}.hero .figure--photo::after{left:-6px}}
@media (prefers-reduced-motion:reduce){.hero .figure--photo::before,.hero .figure--photo::after{animation:none}}

/* ---------- héroes: composición limpia y equilibrada ---------- */
.hero{padding-top:clamp(120px,15vh,160px)!important;padding-bottom:clamp(44px,7vw,92px)!important}
.hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important;gap:clamp(28px,5vw,72px)!important;align-items:center!important}
.hero__copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.hero__title,.hero__grid:not(.hero__grid--media) .hero__title{font-size:clamp(34px,4.5vw,62px)!important;line-height:1.04!important;margin-block:16px 14px!important;max-width:14em}
.hero .lead{max-width:34em;font-size:clamp(16px,1.3vw,19px)!important;margin-bottom:0}
.hero .btn-row{margin-top:26px!important}
.hero__meta{margin-top:20px!important;max-width:36em;gap:8px!important}
.hero__meta span{font-size:13px!important;padding:6px 13px!important}
.hero .figure--photo{width:100%;max-width:560px;justify-self:center}
.hero .figure--photo::before,.hero .figure--photo::after{display:grid!important}
.hero .figure--photo svg{width:100%;height:auto}
@media (max-width:900px){
  .hero{padding-top:112px!important}
  .hero__grid{grid-template-columns:minmax(0,1fr)!important}
  .hero .figure--photo{max-width:440px}
}

/* ---------- todo alineado a la izquierda con el logo del menú ---------- */
.wrap{max-width:1160px!important;padding-inline:clamp(16px,4vw,20px)!important;margin-inline:auto}
.hero{padding-top:clamp(132px,17vh,172px)!important}
.hero .kicker{margin-bottom:6px}
.rotator{font-family:var(--sf)!important;text-transform:none!important;letter-spacing:0!important;font-size:15px!important;font-weight:600;color:var(--g-mint)!important;margin:10px 0 14px!important}
.rotator__slot,.rotator__word{font-family:var(--sf)!important;text-transform:none!important;letter-spacing:0!important}
.sec-head,.sec-head__main,.section .prose,.lead-grid{text-align:left!important}
.section h2,.sec-head h2{text-align:left}
@media (max-width:900px){.hero{padding-top:118px!important}}

/* títulos de héroe: cortos, grandes y contundentes */
.hero__title,.hero__grid:not(.hero__grid--media) .hero__title{font-size:clamp(46px,6.6vw,96px)!important;line-height:1!important;letter-spacing:-.045em!important;max-width:11em}
.hero .lead{max-width:30em}
@media (max-width:560px){.hero__title,.hero__grid:not(.hero__grid--media) .hero__title{font-size:clamp(38px,11vw,52px)!important}}
.hero__title,.hero__grid:not(.hero__grid--media) .hero__title{font-size:clamp(42px,5.2vw,76px)!important;max-width:none!important;text-wrap:balance}

/* sin línea dura al final del héroe: el resplandor se desvanece */
.hero::before{-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 45%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 45%,transparent 100%);height:100%!important;inset:0 0 auto 0!important}
.hero{border-bottom:0!important;box-shadow:none!important;background:transparent!important}
.hero + .section-rule,.hero + hr{display:none}

/* la franja de frases ya no dibuja bordes ni fondos: se funde con la página */
.marquee,.marquee--quote{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.marquee{opacity:.85}
.marquee::before,.marquee::after{display:none!important}

/* características en una sola línea bajo los botones */
@media (min-width:700px){
  .hero__meta{flex-wrap:nowrap!important;max-width:none!important;gap:8px!important}
  .hero__meta span{white-space:nowrap;flex:0 1 auto;font-size:clamp(11.5px,1vw,13px)!important;padding:6px clamp(9px,.9vw,13px)!important}
}
@media (min-width:700px){.hero .hero__meta{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center}.hero .hero__meta span{display:inline-flex!important;width:auto!important}}

/* una sola columna para todo: mismo ancho y borde que el menú */
.wrap,.hub-sec,.join,.proof,.bento-sec,.hub-hero .hero__inner{width:min(1160px,calc(100% - 2*clamp(10px,2vw,24px)))!important;max-width:none!important;margin-left:auto!important;margin-right:auto!important;padding-left:18px!important;padding-right:18px!important;box-sizing:border-box}
.bento{max-width:none!important;width:100%}
.hub-hero,.bento-sec,.proof{padding-left:0!important;padding-right:0!important}
.bento-sec,.proof{padding-left:18px!important;padding-right:18px!important}
.site-footer .wrap{width:min(1160px,calc(100% - 2*clamp(10px,2vw,24px)))!important}

/* aire entre el párrafo y los botones del héroe */
.hero__inner .lead{margin-bottom:clamp(28px,4vh,40px)!important}
.hero__inner .hero-ctas{margin-top:0}
.hero__inner .hero-time{margin-top:clamp(16px,2.2vh,22px)!important}

/* ---------- planes y secciones: ocupan toda la columna, del logo al borde derecho del menú ---------- */
.plans{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important;gap:clamp(14px,2vw,24px)!important}
@media (min-width:900px){.plans{max-width:none!important;margin-inline:0!important}}
.sec-head{grid-template-columns:minmax(0,1fr) auto!important}
.sec-head__main{max-width:none!important}
.sec-head h2,.sec-head__main h2{max-width:22em}
.proc,.fcards,.secciona,.titleblock,.lead-grid,.split,.grid{max-width:none!important;width:100%}
.plan{height:100%}
.plan__list{margin-bottom:auto}
.plan .btn--block{margin-top:20px}
.lead-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:clamp(24px,4vw,64px)!important;align-items:start!important}
.lead-form,.lead-grid>*{max-width:none!important;width:100%;margin-left:0!important;margin-right:0!important}
@media (max-width:900px){.lead-grid{grid-template-columns:minmax(0,1fr)!important}}

/* botones del héroe: del ancho de su texto, sin relleno de más */
.hero__inner .hero-ctas{gap:10px!important}
.hero__inner .hero-ctas .btn,.hero .hero-ctas .btn{padding:14px 22px!important;min-height:52px!important;font-size:clamp(15px,1.25vw,17px)!important;width:auto!important;flex:0 0 auto}
.hero__inner .hero-ctas .btn svg{width:17px;height:17px}
.hero-ctas .btn--lib{gap:8px}

/* ---------- formulario de contacto: compacto, sencillo y en una sola pantalla ---------- */
#lead{padding-block:clamp(36px,7vh,72px)!important}
.lead-grid{align-items:center!important}
.lead-grid .bp-panel{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important}
.lead-grid .bp-panel__tag{display:none!important}
.lead-grid h2{font-size:clamp(30px,3.6vw,50px)!important;line-height:1.04!important;margin-block:12px 10px!important}
.lead-grid .lead{font-size:clamp(15px,1.25vw,18px)!important}
.lead-grid .stack-sm,.lead-grid .stack-sm li{font-family:var(--sf)!important;text-transform:none!important;letter-spacing:0!important;font-size:14.5px!important}
.lead-form{padding:clamp(18px,2.6vh,28px) clamp(18px,2vw,28px)!important;border-radius:28px!important}
.lf-body{display:grid!important;grid-template-columns:1fr 1fr;gap:clamp(10px,1.6vh,14px) 14px!important}
.lead-form__row{display:contents!important}
.lf-field{min-width:0;gap:5px!important}
.lf-field label{font-size:12.5px!important}
.lf-field input,.lf-field select{min-height:clamp(42px,5.6vh,48px)!important;padding:9px 14px!important;font-size:15px!important;border-radius:14px!important}
.lf-field:has(select),.lf-field:has(textarea),.lf-check,.lf-actions,.lf-hp{grid-column:1/-1}
.lf-field textarea{min-height:84px;padding:10px 14px!important;font-size:15px!important;border-radius:14px!important}
.lf-check{font-size:13px!important;gap:10px!important;align-items:flex-start;line-height:1.4}
.lf-check input{width:22px!important;height:22px!important;flex:none}
.lf-actions{display:grid;gap:8px}
.lf-actions .btn{min-height:50px!important;padding:12px 22px!important;font-size:16px!important}
.lf-note{font-size:12px!important;margin:0}
@media (max-width:640px){.lf-body{grid-template-columns:1fr}}

/* ============================ MÓVIL · usabilidad ============================ */
@media (max-width:640px){
  html{-webkit-text-size-adjust:100%}
  body{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
  /* zonas táctiles de al menos 44 px */
  .brand{min-height:44px;display:inline-flex!important;align-items:center}
  .lang-switch,.lang-sw{min-height:44px!important;min-width:48px;padding:0 14px!important;display:inline-flex!important;align-items:center;justify-content:center}
  .nav>a,.nav a,.nav-drop__trigger,.nav-drop__menu a{min-height:48px!important;display:flex!important;align-items:center}
  .site-footer a,.footer-meta a{display:inline-flex!important;align-items:center;min-height:44px;padding-block:6px!important}
  .site-footer li{margin:0}
  .site-footer ul{gap:2px!important}
  .btn,.pillbtn,.tg-chip,.chip{min-height:48px}
  input[type=checkbox],input[type=radio]{width:24px!important;height:24px!important;min-width:24px}
  .lf-check{min-height:48px;padding-block:4px}
  summary,.faq__q,.acc-head{min-height:48px}
  /* iOS no hace zoom al enfocar si la letra es de 16 px */
  input,select,textarea{font-size:16px!important}
  /* letra mínima legible */
  .fc-n,.plan__badge,.plan__price small,.builder__url,.dp-tag,[class*="__idx"],.sec-head__idx,.mono,.tag,.figure__stamp,.titleblock__cell span{font-size:12px!important}
  /* dock: cápsula inferior con zona segura */
  .dock{bottom:calc(12px + env(safe-area-inset-bottom,0px))!important}
  .dock__btn,.dock__btn--wa{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important}
  .fab-cta{bottom:calc(86px + env(safe-area-inset-bottom,0px))!important;min-height:48px}
  /* menú desplegable cómodo */
  .nav{max-height:calc(100dvh - 96px);overflow-y:auto;-webkit-overflow-scrolling:touch}
  /* tablas y tarjetas anchas: scroll horizontal interno, nunca de la página */
  table{display:block;max-width:100%;overflow-x:auto}
  .plan,.proc__step,.fcard,.bp-panel,.lead-form{padding:20px!important}
  .section{padding-block:clamp(40px,10vw,64px)!important}
  h2,.sec-head h2{font-size:clamp(28px,8vw,38px)!important;line-height:1.08!important}
  .hero__title,.hero__grid:not(.hero__grid--media) .hero__title{font-size:clamp(38px,11.5vw,54px)!important}
  .hero .btn-row,.hero-ctas{flex-direction:column;align-items:stretch}
  .hero .btn-row .btn,.hero-ctas .btn{width:100%!important;justify-content:center}
  .hero__meta{flex-wrap:wrap!important;gap:6px!important}
  .hero__meta span{font-size:12.5px!important}
  .hero .figure--photo{max-width:100%;padding:12px}
  .hero .figure--photo::before,.hero .figure--photo::after{width:48px;font-size:24px}
}

/* ===== Móvil: menos información, más usabilidad ===== */
@media (max-width:640px){
  /* Home: tarjetas compactas, solo título + acción */
  .bento{gap:10px!important}
  .bcard{padding:18px!important;min-height:0!important;gap:10px!important}
  .bcard p{display:none!important}
  .bcard--wide p{display:block!important;font-size:15px;margin:0}
  .bcard__memos{display:none!important}
  .bcard h2{font-size:22px!important;margin:0!important}
  .bcard__memo{font-size:30px!important}
  .bcard__actions{gap:8px!important}
  .bcard__actions .pillbtn,.bcard__go{min-height:44px}
  /* Hero: sin textos de apoyo largos */
  .hero__meta,.hero__note{font-size:13px}
  .hero p.lead,.hero__lead{font-size:16px}
  /* Footer compacto */
  footer .foot__col p,footer .foot__about{display:none!important}
  /* Servicios: oculta párrafos largos de apoyo dentro de secciones */
  .sec-sub,.section__lead,.hub-sec .sub{font-size:15px}
  .seo-box,.seo-rel{display:none!important}
}

@media (max-width:640px){
  /* Servicios: solo lo esencial */
  .hero__grid .figure{display:none!important}
  .inc-list{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
  .inc-row{padding:12px!important;gap:8px!important;min-height:0!important}
  .inc-t small,.inc-pill,.inc-sub{display:none!important}
  .inc-t b{font-size:14px;line-height:1.25}
  #secciona{display:none!important}
  .sec-head p{font-size:15px;line-height:1.45}
  .sec-head+.btn-row{display:flex!important;flex-wrap:wrap;gap:8px!important}
  .sec-head+.btn-row .btn{width:auto!important;min-height:44px;height:auto!important;padding:10px 16px!important;font-size:14px}
  .sec-head+.btn-row .btn:nth-child(n+7){display:none}
  .plan__list li:nth-child(n+4){display:none}
  .plan{padding:20px!important}
}

@media (max-width:640px){
  .svc{padding:16px!important;min-height:0!important;gap:6px!important}
  .svc__no,.svc__list{display:none!important}
  .svc__icon{width:34px!important;height:34px!important}
  .svc h3{font-size:18px!important;margin:0!important}
  .svc p,.proc__step p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;margin:0}
  .proc__step{padding:14px 16px!important;min-height:0!important}
  .proc__num{font-size:20px!important}
  .lead-grid .stack>.lead,.lead-grid .stack>ul{display:none!important}
  .sec-head__idx{display:none!important}
  section,.sec{padding-block:clamp(36px,9vw,56px)!important}
}

@media (max-width:640px){
  #clientes .mt-6,#clientes .mt-6+.btn-row{display:none!important}
  #referencia .cta .lead{display:none!important}
  #referencia .cta .btn-row .btn--ghost:nth-child(2){display:none!important}
  .plan:not(.plan--featured) .plan__list{display:none!important}
  .tg-grid .tool__sub,.steps--4 .step p{display:none!important}
  .hub-head p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .step{padding:14px 16px!important;min-height:0!important}
}

@media (max-width:640px){
  .fcards{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .fcard{padding:12px!important;min-height:0!important}
  .fcard .fc-n,.fcard p{display:none!important}
  .fcard h4{font-size:15px!important;margin:0!important}
}

@media (max-width:640px){
  .lead-form input[type=checkbox]{width:26px!important;height:26px!important;min-height:26px!important}
  .lead-form label:has(input[type=checkbox]){min-height:44px;display:flex;align-items:center;gap:10px}
}

/* Check estilo Apple: círculo de vidrio, se llena en menta al marcar */
.lf-check input[type=checkbox]{
  -webkit-appearance:none;appearance:none;
  width:26px!important;height:26px!important;min-width:26px;margin-top:0!important;
  border-radius:50%!important;
  border:1.5px solid rgba(255,255,255,.28)!important;
  background:rgba(255,255,255,.07)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  transition:background .2s ease,border-color .2s ease,transform .15s ease,box-shadow .2s ease!important;
  cursor:pointer
}
.lf-check input[type=checkbox]:hover{border-color:rgba(184,242,207,.7)!important}
.lf-check input[type=checkbox]:active{transform:scale(.92)}
.lf-check input[type=checkbox]:checked{
  border-color:transparent!important;
  background-color:#B8F2CF!important;
  background-image:linear-gradient(160deg,#d9fbe6,#8fe3b0),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.8 2.8L12 5.2' fill='none' stroke='%23063a22' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-size:100% 100%,62% 62%!important;
  background-repeat:no-repeat!important;background-position:center!important;
  box-shadow:0 4px 14px rgba(143,227,176,.35)
}
.lf-check input[type=checkbox]:focus-visible{outline:2px solid #B8F2CF;outline-offset:3px}
.lf-check{align-items:center!important;gap:14px!important}

/* FAQ ordenado: tarjetas con aire, pregunta con padding, sin línea punteada suelta */
.faq{border-top:0!important;display:grid;gap:12px}
.faq__item{margin:0!important;border-bottom:0!important;overflow:hidden;transition:background .2s ease,border-color .2s ease}
.faq__item.is-open{background:rgba(255,255,255,.1)!important;border-color:rgba(184,242,207,.4)!important}
.faq__q{width:100%;display:flex!important;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 26px!important;text-align:left;font-size:clamp(16px,1.5vw,18px)!important;font-weight:600;line-height:1.35}
.faq__q .sign{flex:none;margin:0!important}
.faq__a p{padding:0 26px 24px!important;margin:0!important;color:var(--ink-dim,rgba(255,255,255,.75));line-height:1.6}
@media (max-width:640px){.faq__q{padding:18px 18px!important}.faq__a p{padding:0 18px 20px!important}}

/* ===== Secciones separadas con bandas a todo el ancho (servicios, home) ===== */
main{overflow-x:clip}
main > section.section,main > section.bento-sec,main > section.proof{position:relative;isolation:isolate;padding-block:clamp(48px,6vw,88px)!important;margin-block:0!important}
main > section.section--tight{padding-block:clamp(40px,5vw,72px)!important}
main > section.section::before,main > section.bento-sec::before,main > section.proof::before{content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;pointer-events:none;
  border-top:1px solid rgba(184,242,207,.22);border-bottom:1px solid rgba(0,0,0,.18)}
main > section:nth-of-type(even):not(.hero)::before{background:linear-gradient(180deg,rgba(0,0,0,.26),rgba(0,0,0,.12))}
main > section:nth-of-type(odd):not(.hero)::before{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02))}
main > section.section::after,main > section.bento-sec::after,main > section.proof::after{content:"";position:absolute;left:50%;top:-1px;width:84px;height:3px;transform:translateX(-50%);border-radius:0 0 4px 4px;background:linear-gradient(90deg,#B8F2CF,#9be86e);opacity:.9}
.section-rule{display:none!important}

/* Separadores (línea + pestaña verde) en TODAS las secciones y el pie */
main > section:not(.hero):not(.hub-hero){position:relative;isolation:isolate}
main > section:not(.hero):not(.hub-hero)::before{content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;pointer-events:none;border-top:1px solid rgba(184,242,207,.22)}
main > section:not(.hero):not(.hub-hero)::after{content:"";position:absolute;left:50%;top:-1px;width:84px;height:3px;transform:translateX(-50%);border-radius:0 0 4px 4px;background:linear-gradient(90deg,#B8F2CF,#9be86e);opacity:.9}
.site-footer,footer.footer,footer{position:relative}
.site-footer::before{content:"";position:absolute;inset:0 calc(50% - 50vw) auto;border-top:1px solid rgba(184,242,207,.22);pointer-events:none}
.site-footer::after{content:"";position:absolute;left:50%;top:-1px;width:84px;height:3px;transform:translateX(-50%);border-radius:0 0 4px 4px;background:linear-gradient(90deg,#B8F2CF,#9be86e);opacity:.9;pointer-events:none}

/* puntero de marca (flecha Greentic) en home, hub y herramientas */
.bp-cursor{position:fixed;top:0;left:0;z-index:99999;width:22px;height:22px;margin:-1px 0 0 -4px;pointer-events:none;opacity:0;background:url("../img/cursor.svg") 0 0/contain no-repeat;filter:drop-shadow(0 1px 2px rgba(3,12,30,.55));transition:opacity .2s ease;will-change:transform}
@media (hover:hover) and (pointer:fine){
  .bp-cursor.is-active{opacity:1}
  html.bp-cursor-on,html.bp-cursor-on *{cursor:none}
  html.bp-cursor-on :is(input,textarea,[contenteditable]){cursor:text}
}

/* aire bajo la línea separadora: nada pegado a los bordes */
main > section.hub-sec[style*="padding-top:0"]{padding-top:clamp(24px,3.2vw,40px)!important}
main > section.tool-slim,main > section.tools-hero{padding-bottom:clamp(12px,2vw,20px)!important}
main > section:not(.hero):not(.hub-hero){padding-top:max(var(--sec-pt,0px),clamp(24px,3vw,40px))}

/* móvil: el menú cerrado no se asoma arriba (barra de Safari en iPhone) */
@media (max-width:860px){
  .nav:not(.is-open){visibility:hidden!important;opacity:0!important;pointer-events:none!important}
  .nav{transition:transform .35s ease,opacity .25s ease,visibility 0s linear .35s}
  .nav.is-open{visibility:visible;opacity:1;transition:transform .35s ease,opacity .25s ease,visibility 0s}
}

/* texto del hero: máximo dos líneas, bien repartido */
.hero .hero__inner > .lead{max-width:min(760px,100%)!important;text-wrap:balance;margin-inline:auto}
@media (min-width:900px){.hero .hero__inner > .lead{max-width:780px!important}}

/* ===== Menú inferior tipo app de Apple (móvil) ===== */
@media (max-width:860px){
  nav.dock{position:fixed!important;left:12px!important;right:12px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;transform:none!important;width:auto!important;
    display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:2px!important;padding:6px!important;border-radius:28px!important;
    background:rgba(10,48,33,.72)!important;-webkit-backdrop-filter:blur(24px) saturate(1.5)!important;backdrop-filter:blur(24px) saturate(1.5)!important;
    border:1px solid rgba(184,242,207,.28)!important;box-shadow:0 14px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.18)!important;z-index:90}
  nav.dock .dock__btn,nav.dock .dock__btn--wa{position:relative!important;width:auto!important;height:auto!important;min-width:0!important;min-height:56px!important;padding:7px 2px 6px!important;
    border-radius:22px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;
    background:transparent!important;border:0!important;box-shadow:none!important;color:rgba(255,255,255,.78)}
  nav.dock .dock__btn svg{width:23px!important;height:23px!important;stroke:currentColor!important;fill:none!important}
  nav.dock .dock__btn--wa{background:transparent!important}
  nav.dock .dock__btn--wa svg{stroke:#8fe3b0!important}
  nav.dock .dock__lbl{position:static!important;display:block!important;opacity:1!important;transform:none!important;background:none!important;border:0!important;padding:0!important;box-shadow:none!important;
    font-size:11px!important;font-weight:600!important;letter-spacing:0!important;line-height:1.1!important;color:inherit!important;white-space:nowrap}
  nav.dock .dock__btn.is-current{background:rgba(184,242,207,.2)!important;color:#B8F2CF!important}
  nav.dock .dock__btn:active{transform:scale(.95)!important}
  nav.dock .dock__btn:hover{transform:none!important}
}
/* escritorio: columna lateral con etiquetas al pasar el mouse */
@media (min-width:861px){nav.dock .dock__btn.is-current{background:rgba(184,242,207,.3)!important}}

/* ===== Móvil: sin pie de página, solo una línea final ===== */
@media (max-width:860px){
  .site-footer{padding:0!important;margin:56px 18px 96px!important;border:0!important;border-top:1px solid rgba(184,242,207,.45)!important;background:none!important;min-height:0!important;height:1px;overflow:hidden;box-shadow:none!important}
  .site-footer > *{display:none!important}
  .site-footer::before,.site-footer::after{display:none!important}
}
.tg-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:640px){.tg-grid--two{grid-template-columns:1fr!important}}

/* menú inferior: icono a la izquierda, texto pequeño */
@media (max-width:860px){
  nav.dock{display:flex!important;justify-content:space-between!important;gap:2px!important;padding:5px!important}
  nav.dock .dock__btn,nav.dock .dock__btn--wa{flex:1 1 auto!important;flex-direction:row!important;gap:4px!important;min-height:44px!important;padding:6px 7px!important;border-radius:20px!important;justify-content:center!important}
  nav.dock .dock__btn svg{width:18px!important;height:18px!important;flex:none}
  nav.dock .dock__lbl{font-size:10.5px!important;font-weight:600!important}
}
@media (max-width:420px){
  nav.dock .dock__btn,nav.dock .dock__btn--wa{padding:6px 5px!important;gap:3px!important}
  nav.dock .dock__btn svg{width:16px!important;height:16px!important}
  nav.dock .dock__lbl{font-size:9.5px!important}
}

/* dock: iconos sin texto (inicio, WhatsApp, TikTok) y 3 con texto */
@media (max-width:860px){
  nav.dock .dock__btn--icon{flex:0 0 auto!important;padding:6px 10px!important}
  nav.dock .dock__btn--icon svg{width:20px!important;height:20px!important}
  nav.dock .dock__btn:not(.dock__btn--icon){flex:1 1 auto!important}
  nav.dock .dock__lbl{font-size:10.5px!important}
}
@media (max-width:420px){nav.dock .dock__btn--icon{padding:6px 8px!important}nav.dock .dock__lbl{font-size:9.5px!important}}

/* dock móvil: sin burbujas internas (una sola píldora) */
@media (max-width:860px){
  nav.dock .dock__btn,nav.dock .dock__btn--wa,nav.dock .dock__btn:hover,nav.dock .dock__btn--icon{
    background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;outline:0}
  nav.dock .dock__btn.is-current{background:rgba(184,242,207,.22)!important}
  nav.dock .dock__btn--wa svg{stroke:currentColor!important}
}

/* etiquetas del dock */
@media (max-width:860px){
  nav.dock .dock__lbl{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:transparent!important;border:0!important;padding:0!important;width:auto!important;box-shadow:none!important}
}
@media (min-width:861px){
  nav.dock .dock__lbl{padding:11px 20px!important;font-size:13.5px!important;font-weight:650!important;right:calc(100% + 16px)!important;background:rgba(8,42,29,.9)!important;
    border:1px solid rgba(184,242,207,.35)!important;box-shadow:0 10px 28px rgba(0,0,0,.4)!important;line-height:1.2}
}

/* dock: acabado tipo app (altura, separador, acento WhatsApp, brillo) */
@media (max-width:860px){
  nav.dock{padding:7px 8px!important;border-radius:30px!important;background:linear-gradient(180deg,rgba(16,70,48,.78),rgba(8,40,28,.86))!important;
    box-shadow:0 18px 44px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 1px rgba(184,242,207,.16)!important}
  nav.dock .dock__btn,nav.dock .dock__btn--wa{min-height:50px!important;border-radius:22px!important}
  nav.dock .dock__btn.is-current{background:linear-gradient(180deg,rgba(184,242,207,.3),rgba(184,242,207,.14))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.28)!important;color:#fff!important}
  nav.dock .dock__btn.is-current svg{stroke:#B8F2CF!important}
  nav.dock .dock__btn--wa{position:relative!important;margin-left:6px!important}
  nav.dock .dock__btn--wa::before{display:block!important;content:"";position:absolute;left:-5px;top:24%;height:52%;width:1px;background:rgba(255,255,255,.2)}
  nav.dock .dock__btn--wa svg{stroke:#7fe0a8!important;width:22px!important;height:22px!important}
  nav.dock .dock__btn{color:rgba(255,255,255,.86)!important}
}

/* menos ovalado: rectángulos redondeados en el dock */
@media (max-width:860px){
  nav.dock{border-radius:24px!important}
  nav.dock .dock__btn,nav.dock .dock__btn--wa,nav.dock .dock__btn.is-current{border-radius:16px!important}
}
.btn--scroll{white-space:normal!important;text-align:center;line-height:1.25}
.btn--scroll span{display:inline-block;margin-left:6px;animation:gtbob 1.6s ease-in-out infinite}
@keyframes gtbob{50%{transform:translateY(3px)}}
@media (prefers-reduced-motion:reduce){.btn--scroll span{animation:none}}
@media (max-width:860px){nav.dock.dock--ctx .dock__btn:not(.dock__btn--icon){flex:1 1 auto!important}}

/* ===== Menú inferior tipo Apple Music: icono arriba, texto abajo, máx. 5 + botón flotante ===== */
.dock-cta{display:none}
@media (max-width:860px){
  nav.dock a[href*="tiktok"]{display:none!important}
  nav.dock{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:2px!important;padding:6px!important;border-radius:26px!important;bottom:max(10px,env(safe-area-inset-bottom))!important}
  nav.dock .dock__btn,nav.dock .dock__btn--wa,nav.dock .dock__btn--icon{flex-direction:column!important;gap:4px!important;min-height:58px!important;padding:8px 2px 6px!important;border-radius:20px!important;margin:0!important;justify-content:center!important}
  nav.dock .dock__btn svg{width:24px!important;height:24px!important}
  nav.dock .dock__btn--wa::before{display:none!important}
  nav.dock .dock__lbl,nav.dock .dock__btn--icon .dock__lbl{display:block!important;position:static!important;opacity:1!important;font-size:11px!important;font-weight:600!important;line-height:1.1!important;white-space:nowrap}
  nav.dock .dock__btn.is-current{border-radius:20px!important}
  .dock-cta{position:fixed;left:12px;right:12px;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 76px);z-index:89;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 20px;border-radius:26px;text-decoration:none;color:#05301d;
    background:linear-gradient(180deg,#e2fcec,#9fe8bf);box-shadow:0 14px 34px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.7)}
  .dock-cta__t{display:grid;gap:1px}.dock-cta__t b{font-size:17px;letter-spacing:-.01em}.dock-cta__t small{font-size:12px;opacity:.7;font-weight:600}
  .dock-cta svg{flex:none;width:40px;height:40px;padding:9px;border-radius:50%;background:#06301d;color:#B8F2CF;box-sizing:border-box}
  body{padding-bottom:150px}
}

/* botón flotante compacto y menú más bajo */
@media (max-width:860px){
  .dock-cta{left:auto!important;right:14px!important;width:auto!important;max-width:calc(100% - 28px);bottom:calc(max(10px,env(safe-area-inset-bottom)) + 70px)!important;gap:10px;padding:6px 6px 6px 16px!important;border-radius:99px!important;box-shadow:0 10px 26px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.7)}
  .dock-cta__t small{display:none}
  .dock-cta__t b{font-size:15px}
  .dock-cta svg{width:32px!important;height:32px!important;padding:7px!important}
  nav.dock .dock__btn,nav.dock .dock__btn--wa,nav.dock .dock__btn--icon{min-height:50px!important;padding:6px 2px 5px!important;gap:3px!important}
  nav.dock .dock__btn svg{width:21px!important;height:21px!important}
  nav.dock .dock__lbl,nav.dock .dock__btn--icon .dock__lbl{font-size:10.5px!important}
  nav.dock{padding:5px!important}
  body{padding-bottom:128px}
}

/* TikTok visible: 6 opciones, todas con icono arriba y texto abajo */
@media (max-width:860px){
  nav.dock a[href*="tiktok"]{display:flex!important}
  nav.dock{grid-template-columns:repeat(6,1fr)!important}
  nav.dock .dock__lbl,nav.dock .dock__btn--icon .dock__lbl{font-size:10px!important}
  nav.dock .dock__btn--icon:not(:has(.dock__lbl))::after{display:block;font-size:10px;font-weight:600;line-height:1.1;color:inherit}
  nav.dock a[href$="index.html"]:not(:has(.dock__lbl))::after{content:"Inicio"}
  nav.dock a[href*="wa.me"]:not(:has(.dock__lbl))::after{content:"WhatsApp"}
  nav.dock a[href*="tiktok"]:not(:has(.dock__lbl))::after{content:"TikTok"}
  html[lang="en"] nav.dock a[href$="index.html"]:not(:has(.dock__lbl))::after{content:"Home"}
}

/* dock ordenado: 6 columnas iguales, icono y texto centrados en la misma línea */
@media (max-width:860px){
  nav.dock{grid-template-columns:repeat(6,minmax(0,1fr))!important;align-items:stretch!important;justify-items:stretch!important}
  nav.dock .dock__btn,nav.dock .dock__btn--wa,nav.dock .dock__btn--icon{width:100%!important;min-width:0!important;flex:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;padding:6px 0 5px!important;margin:0!important;text-align:center}
  nav.dock .dock__lbl{display:block!important;max-width:100%;overflow:hidden;text-overflow:clip;text-align:center;font-size:9.5px!important;letter-spacing:-.01em!important}
  nav.dock .dock__btn::after{content:none!important}
}
@media (max-width:860px){nav.dock.dock--ctx{grid-template-columns:repeat(6,minmax(0,1fr))!important}}

/* WhatsApp y TikTok: solo icono (línea), sin texto */
@media (max-width:860px){
  nav.dock,nav.dock.dock--ctx{grid-template-columns:repeat(4,minmax(0,1fr)) 46px 46px!important}
  nav.dock a[href*="wa.me"] .dock__lbl,nav.dock a[href*="tiktok"] .dock__lbl{display:none!important}
  nav.dock a[href*="wa.me"],nav.dock a[href*="tiktok"]{justify-content:center!important}
  nav.dock a[href*="wa.me"] svg,nav.dock a[href*="tiktok"] svg{width:24px!important;height:24px!important;stroke-width:1.7!important}
  nav.dock.dock--ctx{grid-template-columns:repeat(4,minmax(0,1fr)) 46px 46px!important}
}

/* línea separadora entre el menú y los iconos (WhatsApp / TikTok) */
@media (max-width:860px){
  nav.dock a[href*="wa.me"]{position:relative!important;margin-left:6px!important}
  nav.dock a[href*="wa.me"]::before{display:block!important;content:""!important;position:absolute;left:-4px;top:20%;height:60%;width:1px;background:rgba(184,242,207,.45)}
}

/* banner "Cotizar" de empresas: texto a la izquierda, botón a la derecha */
#planes .cta{display:grid!important;grid-template-columns:1fr auto;grid-template-areas:"tag tag" "h btn" "p btn";align-items:center;column-gap:32px;row-gap:8px;text-align:left!important;padding:clamp(24px,3vw,40px)!important}
#planes .cta .tag{grid-area:tag;justify-self:start}
#planes .cta h2{grid-area:h;max-width:none!important;margin:6px 0 0!important;text-align:left!important}
#planes .cta .lead{grid-area:p;max-width:640px!important;margin:0!important;text-align:left!important}
#planes .cta .btn-row{grid-area:btn;margin:0!important;justify-content:flex-end}
@media (max-width:760px){#planes .cta{grid-template-columns:1fr;grid-template-areas:"tag" "h" "p" "btn"}#planes .cta .btn-row{justify-content:flex-start;margin-top:10px!important}#planes .cta .btn{width:100%}}
@media (hover:hover) and (pointer:fine){
  html.bp-cursor-on iframe,html.bp-cursor-on select,html.bp-cursor-on option,html.bp-cursor-on input[type=file]{cursor:auto!important}
}
.bp-cursor{z-index:2147483000!important}

/* ===== Diagnóstico opcional (empresas) ===== */
.dx{max-width:1000px}
.dx-card{padding:clamp(18px,2.6vw,32px);border-radius:30px;background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:left}
.dx-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.dx-dots{display:flex;gap:6px}.dx-dots i{width:30px;height:6px;border-radius:99px;background:rgba(255,255,255,.2)}.dx-dots i.past{background:rgba(184,242,207,.65)}.dx-dots i.now{background:#B8F2CF;width:44px}
.dx-n{font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#B8F2CF}
.dx-q{margin:0 0 16px;font-size:clamp(22px,2.6vw,30px);line-height:1.2;letter-spacing:-.02em;color:#fff}
.dx-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dx-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:72px;padding:14px 18px;border-radius:20px;border:1.5px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);color:#fff;font:inherit;font-weight:700;font-size:16.5px;line-height:1.25;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}
.dx-opt i{flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35)}
.dx-opt:hover{border-color:#B8F2CF;background:rgba(184,242,207,.14)}.dx-opt.on{background:rgba(159,232,191,.3);border-color:#B8F2CF}.dx-opt.on i{background:#B8F2CF;border-color:transparent}
.dx-skip,.dx-back,.dx-again{display:inline-block;margin-top:14px;background:none;border:0;color:#B8F2CF;font:inherit;font-weight:700;font-size:14.5px;cursor:pointer;text-decoration:underline;padding:6px 2px}
.dx-rh{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-bottom:16px}.dx-rh>b{font-size:18px;color:#fff}
.dx-chips{display:flex;flex-wrap:wrap;gap:7px}.dx-chip{padding:5px 12px;border-radius:99px;background:rgba(184,242,207,.16);border:1px solid rgba(184,242,207,.4);color:#B8F2CF;font-size:12.5px;font-weight:700}
.dx-box{padding:20px 22px;border-radius:22px;background:rgba(0,0,0,.2);border:1px solid rgba(184,242,207,.3)}
.dx-box small{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#B8F2CF}
.dx-box h3{margin:4px 0 6px;font-size:clamp(22px,2.6vw,28px);color:#fff}.dx-box p{margin:0 0 12px;opacity:.85}
.dx-box ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.dx-box li{position:relative;padding-left:26px;font-size:15px;line-height:1.4}
.dx-box li::before{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background:#B8F2CF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.8 2.8L12 5.2' fill='none' stroke='%23063a22' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat}
.dx-btns{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:16px}
@media (max-width:700px){.dx-opts{grid-template-columns:1fr}.dx-btns .btn{width:100%}}

/* cursor normal del sistema siempre visible: sin cursor de marca */
.bp-cursor{display:none!important}
html.bp-cursor-on,html.bp-cursor-on *{cursor:auto!important}
html.bp-cursor-on a,html.bp-cursor-on button,html.bp-cursor-on [role=button],html.bp-cursor-on summary,html.bp-cursor-on label[for]{cursor:pointer!important}
html.bp-cursor-on input[type=text],html.bp-cursor-on input[type=email],html.bp-cursor-on input[type=tel],html.bp-cursor-on textarea{cursor:text!important}
.dx-box .dx-inc{display:block;margin-top:14px;margin-bottom:8px}
#diagnostico .dx{max-width:none!important;width:100%}
#diagnostico .sec-head__main{max-width:none}

/* modo "embed": solo la animación del héroe, para mostrarla dentro del asistente */
html.is-embed .site-header,html.is-embed nav.dock,html.is-embed .dock-cta,html.is-embed .site-footer,html.is-embed .marquee,html.is-embed main > section:not(.hero),html.is-embed main > hr,html.is-embed .hero__copy,html.is-embed .bp-bg,html.is-embed .bp-scan,html.is-embed #gtLoader,html.is-embed .bp-floaters{display:none!important}
html.is-embed,html.is-embed body{background:transparent!important;min-height:0!important;overflow:hidden!important}
html.is-embed .hero{padding:0!important;min-height:0!important;background:none!important}
html.is-embed .hero__grid{display:block!important;margin:0!important}
html.is-embed .wrap{max-width:none!important;padding:0!important;width:100%!important}
html.is-embed .figure,html.is-embed .tm-wrap{margin:0 auto!important;max-width:100%!important}
html.is-embed .reveal,html.is-embed .rv{opacity:1!important;transform:none!important}

/* embed: sin fondos blancos ni cajas, solo la animación sobre el fondo del asistente */
html.is-embed *,html.is-embed *::before,html.is-embed *::after{--embed:1}
html.is-embed body,html.is-embed main,html.is-embed .hero,html.is-embed .wrap,html.is-embed .hero__grid,html.is-embed .figure,html.is-embed .figure--photo,html.is-embed .tm-wrap{background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important}
html.is-embed .figure::before,html.is-embed .figure::after,html.is-embed .figure--photo::before,html.is-embed .figure--photo::after,html.is-embed .tm-wrap::before,html.is-embed .tm-wrap::after,html.is-embed .hero::before,html.is-embed .hero::after,html.is-embed body::before,html.is-embed body::after{display:none!important}
html.is-embed .figure__stamp,html.is-embed .tick-bl,html.is-embed .tick-br{display:none!important}
html.is-embed svg{background:transparent!important}
html.is-embed{color-scheme:light!important}
html.is-embed .tm{background:transparent!important;border:0!important;box-shadow:none!important}
