/* ============================================================================
   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}
}
