
.hero-wa, .hero-strip{ display:none; }

.price-badge{
  font-family:'Figtree', sans-serif; font-size:12.5px; font-weight:700;
  text-transform:none; letter-spacing:0; padding:5px 12px;
}
.sc-kicker{
  font:700 13px/1.2 'Figtree', sans-serif; letter-spacing:0; text-transform:none;
}

#contactSubmitBtn:disabled{ opacity:.7; cursor:progress; }

@media (max-width:900px){

  header{ padding-top:env(safe-area-inset-top, 0px); }
  header.past-hero:not(.menu-open){
    top:8px; left:8px; right:8px;
    border:1px solid rgba(255,255,255,.12); border-radius:18px;
    background:rgba(14,14,18,.8);
    -webkit-backdrop-filter:blur(16px) saturate(1.5); backdrop-filter:blur(16px) saturate(1.5);
    box-shadow:0 12px 30px -14px rgba(0,0,0,.55);
  }
  html.glass-off header.past-hero:not(.menu-open){
    background:rgba(16,16,20,.95); -webkit-backdrop-filter:none; backdrop-filter:none;
  }
  header.past-hero:not(.menu-open) nav{ padding:9px 0; }
  header.past-hero:not(.menu-open) .wrap{ padding-inline:14px; }
  header.past-hero .logo{ color:#fff; }
  header.past-hero .burger-line{ background:#fff; }

  .services-grid > .svc-card > *,
  .price-grid > .price-card > *{ opacity:1; }
  .services-grid > .svc-card.is-cov,
  .price-grid > .price-card.is-cov{ filter:brightness(calc(.95 + .05 * var(--cov-o, 1))); }
  html[data-theme="dark"] .services-grid > .svc-card.is-cov,
  html[data-theme="dark"] .price-grid > .price-card.is-cov{ filter:brightness(calc(.55 + .45 * var(--cov-o, 1))); }

  .ej-carousel{ display:flex; flex-direction:column; }
  .ej-carousel .ej-nav{ order:-1; margin:0 0 28px; justify-content:space-between; }
  .ej-slide .ejemplo-grid{ gap:0; }
  .ej-slide .ejemplo-copy{ display:contents; }
  .ej-slide .ej-ficha{ order:1; margin-bottom:14px; }
  .ej-slide .ejemplo-copy h3{ order:2; margin-bottom:4px; }
  .ej-slide .ejemplo-demo{ order:3; margin:6px 0 20px; }
  .ej-slide .ejemplo-copy > p{ order:4; margin-bottom:18px; }
  .ej-slide .ejemplo-list{ order:5; margin-bottom:24px; }
  .ej-slide .ejemplo-copy > .btn{ order:6; justify-self:stretch; }

  .btn, .ej-nav-btn, .faq-q, .svc-open, .mn-link, .mn-cta, .wa-fab, .burger,
  header .nav-theme-toggle, .ej-dot{ -webkit-tap-highlight-color:transparent; }
}

@media (max-width:900px) and (hover:none){
  .btn:active, .mn-cta:active, .hero-wa:active{ scale:.97; }
  .ej-nav-btn:active, header .nav-theme-toggle:active, .burger:active, .wa-fab:active{ scale:.92; }
  .faq-q:active, .svc-open:active, .mn-link:active{ scale:.985; }
}

@media (max-width:860px){
  .hero{
    align-items:center;
    padding:96px 0 calc(96px + env(safe-area-inset-bottom, 0px));
  }
  .hero-inner{ align-items:stretch; }
  .hero .hero-copy{ text-align:center; margin:0 auto; max-width:none; width:100%; }
  .hero h1{
    font-size:clamp(2.5rem, 10.6vw, 3.6rem); line-height:1; letter-spacing:-.05em;
    margin-bottom:18px; text-wrap:balance;
  }
  .hero .hero-copy p.lead{
    margin:0 auto 28px; max-width:32ch; text-align:center; text-wrap:balance;
    font-size:16.5px; line-height:1.55;
  }
  .hero-ctas{ align-items:stretch; gap:10px; }
  .hero-ctas .btn{ width:100%; display:flex; align-items:center; justify-content:center; }
  .hero-wa{
    gap:9px; color:#fff; border:1px solid rgba(255,255,255,.26); background:rgba(255,255,255,.05);
  }
  .hero-wa img{ width:20px; height:20px; border-radius:5px; flex-shrink:0; filter:invert(1); }
  .hero-note{ text-align:center; margin-top:6px; max-width:none; text-wrap:balance; }

  .hero-strip{
    display:block; position:absolute; left:0; right:0; z-index:2;
    bottom:calc(26px + env(safe-area-inset-bottom, 0px));
    overflow:hidden; pointer-events:none;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
            mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
    opacity:1; transition:opacity .8s ease .5s;
  }
  html.nd-intro .hero-strip{ opacity:0; transition:none; }
  .hs-track{ display:flex; width:max-content; animation:hs-scroll 34s linear infinite; }
  .hs-item{
    margin-right:10px; padding:7px 13px; border-radius:999px; white-space:nowrap;
    font-size:12.5px; font-weight:600; color:rgba(255,255,255,.72);
    border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.05);
  }
  @keyframes hs-scroll{ to{ transform:translateX(-50%); } }
}
@media (max-width:860px) and (max-height:700px){
  .hero{ padding-top:92px; padding-bottom:calc(80px + env(safe-area-inset-bottom, 0px)); }
  .hero h1{ font-size:clamp(2.2rem, 9.8vw, 2.9rem); margin-bottom:14px; }
  .hero .hero-copy p.lead{ font-size:15.5px; margin-bottom:20px; }
  .hero-note{ display:none; }
  .hero-strip{ bottom:calc(18px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion:reduce){
  .hs-track{ animation:none; }
}

.tit-switch{ display:none !important; }

.hero-eyebrow{ display:none; }
@media (max-width:860px){
  .hero{ align-items:center; }
  .hero-inner{ align-items:flex-start; justify-content:flex-start; }
  .hero .hero-copy{ text-align:left; margin:0; max-width:none; width:100%; }

  .hero-eyebrow{
    display:block; margin:0 0 12px;
    font-family:var(--tit-font, 'Figtree', sans-serif);
    font-size:17px; font-weight:700; letter-spacing:-.01em; color:#fff;
    text-shadow:0 1px 2px rgba(0,0,0,.5), 0 0 18px rgba(0,0,0,.45);
  }
  .hero h1{
    font-size:clamp(2.6rem, 12vw, 3.8rem); line-height:1.02; letter-spacing:-.045em;
    margin-bottom:18px; text-wrap:pretty; text-align:left;
  }
  .hero .hero-copy p.lead{
    margin:0 0 30px; max-width:36ch; text-align:left; text-wrap:pretty;
    font-size:17px; line-height:1.5; color:#ececf1;
  }

  .hero-ctas{ flex-direction:column; align-items:flex-start; gap:12px; }
  .hero-ctas .btn{
    width:auto; display:inline-flex; align-items:center; justify-content:center;
    padding:15px 28px; border-radius:999px; font-size:16px; font-weight:700;
  }
  .hero-note{ text-align:left; margin-top:4px; text-wrap:pretty; }
}
@media (max-width:860px) and (max-height:700px){
  .hero-eyebrow{ font-size:15px; margin-bottom:8px; }
  .hero h1{ font-size:clamp(2.3rem, 10.6vw, 3rem); margin-bottom:14px; }
  .hero .hero-copy p.lead{ font-size:15.5px; margin-bottom:22px; }
}

@media (max-width:860px){
  .hero{ padding-bottom:calc(150px + env(safe-area-inset-bottom, 0px)); }

  .hero-strip{
    display:flex; flex-direction:column; gap:9px;
    bottom:calc(24px + env(safe-area-inset-bottom, 0px));
    -webkit-mask-image:none; mask-image:none;
  }
  .hero-strip::before, .hero-strip::after{
    content:''; position:absolute; top:-4px; bottom:-4px; width:14%; z-index:2; pointer-events:none;
  }
  .hero-strip::before{ left:0;  background:linear-gradient(90deg, #000, rgba(0,0,0,0)); }
  .hero-strip::after { right:0; background:linear-gradient(270deg, #000, rgba(0,0,0,0)); }

  .hs-row{ overflow:hidden; padding:2px 0; }
  .hs-row .hs-track{ display:flex; width:max-content; animation:hs-scroll 46s linear infinite; }
  .hs-right .hs-track{ animation-name:hs-scroll-rev; animation-duration:38s; }
  @keyframes hs-scroll-rev{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }

  .hs-item{
    display:inline-flex; align-items:center; gap:8px;
    margin-right:9px; padding:8px 15px 8px 12px; border-radius:999px; white-space:nowrap;
    font-size:13px; font-weight:600; letter-spacing:-.005em; color:rgba(255,255,255,.86);
    background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
    border:1px solid rgba(255,255,255,.13);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 6px 18px -10px rgba(0,0,0,.8);
    -webkit-backdrop-filter:blur(12px) saturate(120%);
            backdrop-filter:blur(12px) saturate(120%);
  }
  .hs-item svg{ width:15px; height:15px; flex-shrink:0; color:#fff; opacity:.9; stroke-width:1.9; }
  .hs-right .hs-item{ color:rgba(255,255,255,.7); }
  .hs-right .hs-item svg{ opacity:.7; }
}
@media (max-width:860px) and (max-height:700px){
  .hero{ padding-bottom:calc(112px + env(safe-area-inset-bottom, 0px)); }
  .hs-right{ display:none; }
}

@media (prefers-reduced-motion:reduce){
  .hs-row .hs-track{ animation:none; }
}

@media (max-width:860px){ .hero-strip .hs-all{ display:none; } }

@media (max-width:860px){
  .hero #hero-fx, .hero .hero-fx-lights, .hero .hero-fx-glow{ display:none !important; }
}

.hero-fx-bloom{ display:none; }
@media (max-width:860px){
  .hero .hero-fx-aurora{ filter:saturate(1.35) brightness(1.18); }
  .hero .hero-fx-bloom{
    display:block; position:absolute; inset:-6%; width:112%; height:112%; z-index:0; pointer-events:none;
    filter:blur(26px) saturate(1.7) brightness(1.5);
    mix-blend-mode:screen; opacity:.85;
  }
  .hero.fx-2d .hero-copy::before,
  .hero .hero-copy::before{
    inset:-70px calc(50% - 50vw - 8px);
    background:linear-gradient(180deg,
      rgba(0,0,0,0) 0%, rgba(0,0,0,.24) 14%, rgba(0,0,0,.46) 30%,
      rgba(0,0,0,.52) 50%, rgba(0,0,0,.46) 70%, rgba(0,0,0,.24) 86%, rgba(0,0,0,0) 100%);
    opacity:1;
  }
}
@media (max-width:860px) and (prefers-reduced-motion:reduce){
  .hero .hero-fx-bloom{ opacity:.6; }
}
