/* Conectate — página de Servicios (servicios.html).
   Se carga después de css/home.css: reutiliza sus tokens, encabezado (.top), botones (.btn-*),
   insignias (.store-badge) y pie, y corrige lo que en home.css está pensado para la historia del inicio. */

/* ---------- Base de página ---------- */
body{margin:0;background:var(--mist)}
.svc-main{display:block}
.svc-main:focus{outline:none}
.svc-wrap{max-width:1180px;margin:0 auto}

/* Encabezado: en el inicio flota sobre la foto; aquí va fijo sobre una barra tinta para que se lea al pasar sobre fondos claros */
.top{position:sticky;top:env(safe-area-inset-top,0px);background:rgba(15,23,42,.94);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.top .btn{min-height:44px}
.top .btn-ink{background:var(--brand);color:var(--ink);box-shadow:0 8px 20px -10px rgba(255,106,19,.8)}

/* ---------- Cabecera de la página ---------- */
.svc-head{position:relative;overflow:hidden;background:var(--ink);color:#fff;
  padding-block:clamp(48px,8vw,104px) clamp(88px,11vw,140px);
  padding-left:max(16px, env(safe-area-inset-left,0px), 5vw);padding-right:max(16px, env(safe-area-inset-right,0px), 5vw)}
.svc-head::before{content:"";position:absolute;right:-12vw;top:-30%;width:min(70vw,720px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 40% 40%,rgba(255,106,19,.55),rgba(226,68,11,.12) 55%,rgba(226,68,11,0) 70%);pointer-events:none}
.svc-head .svc-wrap{position:relative}
.svc-head h1{font-size:clamp(36px,6.4vw,76px);font-stretch:116%;max-width:16ch}
.page-head__lead{margin-top:clamp(18px,2.4vw,28px);max-width:58ch;font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:rgba(255,255,255,.86)}
.page-head__lead strong{color:#fff;font-weight:700;box-shadow:inset 0 -.38em 0 rgba(255,106,19,.55)}

/* ---------- Tarjetas de servicio ---------- */
.services{position:relative;z-index:1;margin-top:clamp(-96px,-7vw,-56px);
  padding-left:max(16px, env(safe-area-inset-left,0px), 5vw);padding-right:max(16px, env(safe-area-inset-right,0px), 5vw);padding-bottom:clamp(64px,8vw,110px)}
.services__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.service{display:flex;flex-direction:column;min-width:0;background:var(--paper);border-radius:22px;overflow:hidden;
  box-shadow:0 1px 0 rgba(20,26,46,.04), 0 24px 48px -30px rgba(10,14,35,.45);transition:transform .25s, box-shadow .25s}
.service:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(20,26,46,.04), 0 30px 54px -28px rgba(10,14,35,.5)}
.service__media{aspect-ratio:16/10;background:#DDE2EE;overflow:hidden}
.service__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.service:hover .service__media img{transform:scale(1.04)}
.service__body{display:flex;flex-direction:column;flex:1;padding:22px 20px 22px}
.service h2{font-size:clamp(22px,2.1vw,26px);font-stretch:106%;line-height:1.08;color:var(--ink)}
.service__body>p:not(.service__price){margin-top:10px;color:var(--ink-2);font-size:16px;line-height:1.5}
.service__price{margin-top:auto;padding-top:20px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.service__price strong{font-family:var(--f-display);font-weight:900;font-stretch:112%;font-size:clamp(34px,3.2vw,42px);line-height:1;letter-spacing:-.02em;color:var(--ink)}
.service__price span{font:700 14px/1 var(--f-mono);letter-spacing:.04em;color:#C2380A;text-transform:uppercase}
.service__price--quote strong{font-size:clamp(28px,2.6vw,34px)}
.service__price--quote span{text-transform:none;letter-spacing:0;font-family:var(--f-body);font-weight:600;font-size:16px;color:var(--ink-2)}
.service__cta{margin-top:18px;min-height:48px;justify-content:center;align-self:stretch}
.service__cta svg,.callout__btn svg{width:18px;height:18px;flex:none;transition:transform .2s}
.service__cta:hover svg,.callout__btn:hover svg{transform:translateX(3px)}

/* ---------- ¿Aún no conoces Conectate? ---------- */
.callout{margin-top:clamp(32px,5vw,56px);display:flex;flex-direction:column;align-items:flex-start;gap:22px;
  background:var(--ink);color:#fff;border-radius:24px;padding:28px 20px;position:relative;overflow:hidden}
.callout::after{content:"";position:absolute;right:-60px;bottom:-90px;width:240px;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(255,106,19,.45),rgba(255,106,19,0) 70%);pointer-events:none}
.callout>*{position:relative;z-index:1}
.callout h2{font-size:clamp(28px,3.6vw,44px);font-stretch:114%}
.callout p{margin-top:10px;font-size:17px;line-height:1.55;color:rgba(255,255,255,.82);max-width:48ch}
.callout__btn{background:var(--brand);color:var(--ink);min-height:52px;padding:16px 24px;font-size:16px;justify-content:center;
  box-shadow:0 12px 26px -12px rgba(255,106,19,.85)}
.callout :focus-visible{outline-color:#fff}

/* ---------- Tablet ---------- */
@media (min-width:700px){
  .services__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .service__body{padding:24px 24px 26px}
  .service__cta{align-self:flex-start}
  .callout{flex-direction:row;align-items:center;justify-content:space-between;gap:32px;padding:36px 40px}
  .callout__btn{flex:none}
}
/* ---------- Escritorio ---------- */
@media (min-width:1240px){
  .services__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .service__cta{align-self:stretch}
  .service__media{aspect-ratio:4/3}
}

/* ---------- Teléfono ---------- */
@media (max-width:640px){
  .top{padding-block:10px}
  .brand{padding:6px 0}
  .callout__btn{align-self:stretch}
}
@media (prefers-reduced-motion:reduce){
  .service:hover,.service:hover .service__media img{transform:none}
}

