
.svc-list li{ align-items:flex-start; }
.svc-list li::before,
.svc-card:hover .svc-list li::before{
  width:14px; height:14px; margin-top:3px; border:0; border-radius:0;
  background:var(--btn-bg); background-image:none;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat;
}

.wa-fab{
  padding:0; background:#fff; border-radius:16px; overflow:hidden;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.16), 0 12px 28px -10px rgba(0,0,0,0.55);
  transition: transform .35s cubic-bezier(.2,.7,.2,1), opacity .3s ease, box-shadow .25s ease;
}
.wa-fab img{ border-radius:0; transform:scale(1.02); }
.wa-fab.is-hidden{ opacity:0; transform:translateY(14px) scale(.9); pointer-events:none; }
@media (max-width:600px){
  .wa-fab{ width:48px; height:48px; right:14px; bottom:calc(14px + env(safe-area-inset-bottom, 0px)); border-radius:14px; }
}
@media (prefers-reduced-motion:reduce){ .wa-fab{ transition:opacity .2s ease; } .wa-fab.is-hidden{ transform:none; } }

.footer-wa{ display:none; }
@media (max-width:900px), (pointer:coarse){
  .footer-qr{ display:none; }
  .footer-wa{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    margin-top:22px; padding:13px 20px; border-radius:8px; min-height:48px;
    background:#fff; color:#000; font-weight:600; font-size:15px;
    box-shadow:0 10px 24px -12px rgba(255,255,255,0.25);
    -webkit-tap-highlight-color:transparent;
  }
  .footer-wa img{ width:20px; height:20px; border-radius:5px; }
  .footer-wa:active{ transform:scale(.98); }
}
@media (max-width:560px){
  .footer-grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px 20px; margin-bottom:36px; }
  .footer-brand, .footer-col:last-child{ grid-column:1 / -1; }
  .footer-brand p{ max-width:none; }
  .footer-wa{ display:flex; width:100%; }
  .footer-col h5{ margin-bottom:8px; }
  .footer-col a{ padding:8px 0; font-size:14.5px; }
  footer{ padding-top:48px; }
}

@media (max-width:900px){

  .svc-card, .price-card{ scale:var(--cov-s, 1); transform-origin:50% 0; }
  .svc-card > *, .price-card > *{ opacity:var(--cov-o, 1); }
  .svc-card.is-cov, .price-card.is-cov{ will-change:scale; }
  .svc-card.is-cov > *, .price-card.is-cov > *{ will-change:opacity; }

  .garage .btn{ display:flex; width:100%; min-height:52px; padding:15px 22px; font-size:15.5px; white-space:normal; text-align:center; }
  .price-cta{ margin-top:28px; }

  .process-list{
    --pl-top:20px; --pl-h:0px; --pl-fill:0;
    display:block; position:relative; border:0; border-radius:0; overflow:visible;
  }
  .process-list::before,
  .process-list::after{
    content:''; position:absolute; left:19px; top:var(--pl-top); width:2px; height:var(--pl-h);
    border-radius:2px; pointer-events:none;
  }
  .process-list::before{ background:var(--border-2); }
  .process-list::after{
    background:var(--btn-bg); transform-origin:50% 0; transform:scaleY(var(--pl-fill));
    transition:transform .15s linear;
  }
  .process-item,
  .process-item:nth-child(n+2),
  .process-item:nth-child(n+3){
    position:relative; z-index:1; border:0; background:transparent;
    padding:0 0 36px 60px; gap:10px;
  }
  .process-item:last-child{ padding-bottom:0; }
  .process-item:hover{ background:transparent; }
  .process-item::before{ display:none; }
  .process-top{ justify-content:flex-start; min-height:40px; }
  .process-num{
    position:absolute; left:0; top:0; width:40px; height:40px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:14px; font-weight:600; color:var(--text-muted);
    background:var(--bg); border:1.5px solid var(--border-2);
    transition: background .35s ease, border-color .35s ease, color .35s ease, transform .35s cubic-bezier(.34,1.56,.64,1);
  }
  .process-item.is-on .process-num,
  .process-item.is-on:hover .process-num{ background:var(--btn-bg); border-color:var(--btn-bg); color:#fff; }
  .process-item.is-now .process-num{ transform:scale(1.08); box-shadow:0 0 0 5px rgba(76,111,255,.14); }
  .process-item h4{ min-height:0; }
}
@media (max-width:900px) and (prefers-reduced-motion:reduce){
  .process-list::after, .process-num{ transition:none; }
}

@media (max-width:768px){
  section{ padding:64px 0; }
  .sec-head{ margin-bottom:40px; }
  .ej-carousel{ --ej-nav-gap:28px; }
}

@media (max-width:900px){
  html[data-theme="dark"]{ --text-dim:#B9B9BF; --text-muted:#9A9AA2; }
  .dark-scope{ --text-muted:#8C8C94; }
}

.mobile-nav-inner{ position:relative; gap:0; }

.mobile-nav-inner .mn-link{
  position:relative; display:grid; grid-template-columns:1fr auto; align-items:center;
  padding:15px 12px 15px 12px; margin:0; border-top:0; border-radius:14px;
  font-family:'Sora', system-ui, sans-serif; font-size:19px; font-weight:600; letter-spacing:-0.015em;
  color:rgba(255,255,255,0.9); -webkit-tap-highlight-color:transparent;
  opacity:0; transform:translateX(-14px);
  transition: opacity .35s ease, transform .5s cubic-bezier(.2,.8,.2,1), background-color .2s ease, color .2s ease;
}
.mobile-nav-inner .mn-link::before{
  content:''; position:absolute; left:0; right:0; top:0; height:1px; pointer-events:none;
  background: linear-gradient(90deg, rgba(255,255,255,0.13), rgba(255,255,255,0.06) 70%, rgba(255,255,255,0));
}
.mn-label{ min-width:0; }
.mn-arrow{
  width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;
  color:rgba(255,255,255,0.28); transform:translate(-4px, 4px); opacity:.7;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), color .25s ease, opacity .25s ease;
}
.mobile-nav-inner .mn-link:active{ background-color:rgba(255,255,255,0.05); }
.mobile-nav-inner .mn-link:hover .mn-arrow,
.mobile-nav-inner .mn-link:active .mn-arrow{ transform:none; opacity:1; color:#fff; }

.mobile-nav-inner .mn-link.is-active{
  color:#fff;
  background: linear-gradient(90deg, rgba(255,255,255,0.10), rgba(255,255,255,0.03) 60%, rgba(255,255,255,0));
}
.mobile-nav-inner .mn-link.is-active::before,
.mobile-nav-inner .mn-link.is-active + .mn-link::before{ opacity:0; }
.mobile-nav-inner .mn-link.is-active .mn-arrow{ transform:none; opacity:1; color:#fff; }
.mobile-nav-inner.has-active .mn-link:not(.is-active){ color:rgba(255,255,255,0.72); }

.mobile-nav-inner .lang-switch-row{ border-top:0; position:relative; padding:18px 0 6px; }
.mobile-nav-inner .lang-switch-row::before{
  content:''; position:absolute; left:0; right:0; top:0; height:1px;
  background: linear-gradient(90deg, rgba(255,255,255,0.13), rgba(255,255,255,0.06) 70%, rgba(255,255,255,0));
}
.mobile-nav-inner .lang-switch-row-label{
  font-family:'IBM Plex Mono', ui-monospace, monospace; font-size:11px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,0.45);
}

.mobile-nav-inner .mn-cta{
  display:flex; align-items:center; justify-content:center; gap:10px;
  margin:14px 0 12px; padding:0 20px; min-height:52px; border-top:0; border-radius:14px;
  background:var(--cta-bg, #fff); color:var(--cta-text, #000);
  font-family:'Sora', system-ui, sans-serif; font-size:16px; font-weight:600; letter-spacing:-0.01em;
  box-shadow: 0 10px 28px -14px rgba(0,0,0,0.7), 0 0 0 1px rgba(255,255,255,0.08);
  -webkit-tap-highlight-color:transparent;
  opacity:0; transform:translateY(10px);
  transition: opacity .35s ease, transform .5s cubic-bezier(.2,.8,.2,1), background-color .2s ease;
}
.mobile-nav-inner .mn-cta svg{
  width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
  transition: transform .3s cubic-bezier(.2,.8,.2,1);
}
.mobile-nav-inner .mn-cta:hover{ background:var(--cta-bg-hover, #E5E5E5); color:var(--cta-text, #000); }
.mobile-nav-inner .mn-cta:hover svg, .mobile-nav-inner .mn-cta:active svg{ transform:translateX(4px); }
.mobile-nav-inner .mn-cta:active{ transform:scale(.98); }

header.menu-open .mobile-nav-inner .mn-link,
header.menu-open .mobile-nav-inner .mn-cta{ opacity:1; transform:none; }
header.menu-open .mobile-nav-inner .mn-link:nth-child(1){ transition-delay:.06s; }
header.menu-open .mobile-nav-inner .mn-link:nth-child(2){ transition-delay:.10s; }
header.menu-open .mobile-nav-inner .mn-link:nth-child(3){ transition-delay:.14s; }
header.menu-open .mobile-nav-inner .mn-link:nth-child(4){ transition-delay:.18s; }
header.menu-open .mobile-nav-inner .mn-link:nth-child(5){ transition-delay:.22s; }
header.menu-open .mobile-nav-inner .lang-switch-row{ transition-delay:.27s; }
header.menu-open .mobile-nav-inner .mn-cta{ transition-delay:.31s; }
header.menu-open .mobile-nav-inner .mn-link:active,
header.menu-open .mobile-nav-inner .mn-cta:active{ transition-delay:0s; }

@media (prefers-reduced-motion: reduce){
  .mobile-nav-inner .mn-link, .mobile-nav-inner .mn-cta{ transform:none; transition: opacity .2s ease; }
}

@media (max-width:900px){
  :root{ --mesh-veil: rgba(255,255,255,.88); }
  html[data-theme="dark"]{ --mesh-veil: rgba(0,0,0,.82); }

  #servicios .sec-head::before,
  #proceso .sec-head::before,
  #proceso .process-item > div:not(.process-top)::before{
    content:''; position:absolute; z-index:0; pointer-events:none;
    background: radial-gradient(closest-side, var(--mesh-veil) 45%, transparent);
  }
  #servicios .sec-head::before,
  #proceso .sec-head::before{ inset:-48px -28px; }

  #proceso .process-item > div:not(.process-top){ position:relative; }
  #proceso .process-item > div:not(.process-top)::before{ inset:-26px -22px -26px -30px; }
  #proceso .process-item > div:not(.process-top) > *{ position:relative; z-index:1; }
}

@media (max-width:900px){
  .mesh-rail, #svc-big-sphere, #process-sphere{ display:none !important; }
  .bg-aura::before{ background:none !important; }
  #servicios .sec-head::before,
  #proceso .sec-head::before,
  #proceso .process-item > div:not(.process-top)::before{ content:none; }
}

.svc-peek{ display:none; }
@media (max-width:900px){
  #servicios .services-grid{ gap:28px; }
  #servicios .svc-card{
    --stack-top:84px; --stack-step:14px;
    min-height:min(68svh, 560px); padding:30px 26px 20px;
  }
  #servicios .svc-ico{ width:56px; height:56px; border-radius:15px; margin-bottom:26px; }
  #servicios .svc-ico svg{ width:26px; height:26px; }
  #servicios .svc-card h3{ font-size:27px; line-height:1.15; letter-spacing:-.02em; margin-bottom:12px; }
  #servicios .svc-card .svc-line{ font-size:16.5px; line-height:1.55; margin-bottom:24px; }
  #servicios .svc-mark{ top:22px; right:22px; }
  #servicios .svc-mark svg{ width:96px; height:96px; }

  .svc-peek{
    display:grid; gap:12px; list-style:none; margin:0 0 24px; padding:18px 0 0;
    border-top:1px solid color-mix(in srgb, var(--acc, #4C6FFF) 14%, transparent);
    position:relative; z-index:1;
  }
  html[data-theme="dark"] .svc-peek{ border-top-color:rgba(255,255,255,.08); }
  .svc-peek li{ position:relative; padding-left:24px; font-size:15px; line-height:1.45; color:var(--text-dim); }
  .svc-peek li::before{
    content:''; position:absolute; left:2px; top:.42em; width:8px; height:8px; border-radius:50%;
    background:var(--acc, #4C6FFF);
    box-shadow:0 0 0 4px color-mix(in srgb, var(--acc, #4C6FFF) 16%, transparent);
  }
  #servicios .svc-open{ margin-top:auto; }
}
@media (max-width:900px) and (max-height:640px){
  #servicios .svc-card{ min-height:min(74svh, 480px); padding:24px 22px 16px; }
  #servicios .svc-card h3{ font-size:23px; }
  #servicios .svc-ico{ width:48px; height:48px; margin-bottom:18px; }
  .svc-peek{ gap:8px; padding-top:14px; margin-bottom:16px; }
}
