/* ============================================================
   KEO REFURB — SERVICIOS (página)
   ============================================================ */

/* ===== Cabecera ===== */
.sv-head{ padding:clamp(130px,14vw,200px) 0 clamp(50px,6vw,90px); }
.sv-head .wrap{ display:flex; flex-direction:column; gap:1.3rem; max-width:var(--maxw); }
.sv-head h1{ font-family:var(--serif); font-weight:500; font-size:clamp(46px,7vw,118px); line-height:.98; letter-spacing:-.015em; color:var(--carbon); margin-top:.1em; }
.sv-head .sv-rule{ width:54px; margin:.2rem 0 .6rem; }
.sv-head .sv-intro{ max-width:54ch; color:var(--piedra-texto); font-size:clamp(17px,1.5vw,22px); line-height:1.55; font-family:var(--serif); font-style:italic; }

/* ===== Secciones de servicio (alternas, a sangre) ===== */
.svc{ display:grid; grid-template-columns:1.05fr .95fr; min-height:clamp(500px,68vh,760px); }
.svc + .svc{ border-top:1px solid var(--piedra); }
.svc__media{ position:relative; overflow:hidden; background:var(--piedra-claro); }
.svc__media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.6s var(--ease); }
.svc:hover .svc__media img{ transform:scale(1.04); }
.svc__tag{ position:absolute; top:clamp(20px,2vw,32px); left:clamp(20px,2vw,32px); z-index:2; font-family:var(--serif); font-size:clamp(60px,7vw,120px); line-height:1; color:rgba(250,249,247,.9); font-weight:500; text-shadow:0 2px 30px rgba(0,0,0,.25); }
.svc__body{ display:flex; flex-direction:column; justify-content:center; gap:clamp(16px,1.8vw,26px); padding:clamp(40px,6vw,110px); }
.svc__body .eyebrow{ color:var(--dorado); }
.svc__body h2{ font-family:var(--serif); font-weight:500; font-size:clamp(30px,3.6vw,54px); line-height:1.05; letter-spacing:-.01em; text-wrap:balance; }
.svc__body .svc-desc{ color:var(--piedra-texto); font-size:clamp(15.5px,1.15vw,18px); line-height:1.7; max-width:46ch; }

.svc-list{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:.7rem 1.6rem; margin-top:.4rem; }
.svc-list li{ display:flex; align-items:baseline; gap:.7em; font-size:14.5px; color:var(--carbon); letter-spacing:.005em; }
.svc-list li::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--acento); flex:0 0 auto; transform:translateY(-2px); }

.svc-cta{ display:inline-flex; align-items:center; gap:.7em; margin-top:.8rem; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--carbon); border-bottom:1px solid var(--acento); padding-bottom:6px; width:fit-content; transition:gap .4s var(--ease); }
.svc-cta:hover{ gap:1.2em; }

/* alterna lado de la foto */
.svc--rev .svc__media{ order:2; }
.svc--rev .svc__body{ order:1; }

/* ===== Proceso de trabajo ===== */
.proc{ padding:var(--sec-y) 0; background:var(--piedra-claro); }
.proc__head{ display:flex; flex-direction:column; gap:1rem; margin-bottom:clamp(50px,6vw,84px); max-width:38ch; }
.proc__head h2{ font-family:var(--serif); font-weight:500; font-size:clamp(30px,3.6vw,52px); line-height:1.05; text-wrap:balance; }
.proc__track{ display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(18px,2.2vw,38px); position:relative; }
.proc__track::before{ content:""; position:absolute; left:0; right:0; top:23px; height:1px; background:var(--piedra-media); z-index:0; }
.pstep{ display:flex; flex-direction:column; gap:1.1rem; position:relative; z-index:1; }
.pstep__num{ width:48px; height:48px; border:1px solid var(--acento); border-radius:50%; display:grid; place-items:center; font-family:var(--serif); font-weight:500; font-size:19px; color:var(--acento); background:var(--piedra-claro); }
.pstep__body{ display:flex; flex-direction:column; gap:.5rem; }
.pstep h3{ font-family:var(--serif); font-weight:500; font-size:clamp(18px,1.4vw,23px); line-height:1.15; color:var(--carbon); }
.pstep p{ font-size:13.5px; line-height:1.6; color:var(--piedra-texto); max-width:24ch; }

/* ===== CTA final ===== */
.sv-cta{ padding:var(--sec-y) 0; text-align:center; }
.sv-cta .wrap{ display:flex; flex-direction:column; align-items:center; gap:1.5rem; }
.sv-cta .eyebrow{ color:var(--dorado); }
.sv-cta h2{ font-family:var(--serif); font-weight:500; font-size:clamp(32px,4.4vw,64px); line-height:1.05; max-width:18ch; text-wrap:balance; }
.sv-cta .btn{ margin-top:1rem; }

/* ===== Responsive ===== */
@media (max-width:900px){
  .svc{ grid-template-columns:1fr; min-height:0; }
  .svc__media{ aspect-ratio:16/9; order:1 !important; }
  .svc__body{ order:2 !important; padding:clamp(28px,6vw,56px) var(--pad-x); gap:clamp(12px,1.5vw,20px); }
  .proc__track{ grid-template-columns:1fr; gap:0; }
  .proc__track::before{ left:23px; right:auto; top:0; bottom:0; width:1px; height:auto; }
  .pstep{ flex-direction:row; gap:1.4rem; padding-bottom:clamp(28px,6vw,48px); }
  .pstep:last-child{ padding-bottom:0; }
  .pstep__num{ flex:0 0 auto; }
  .pstep p{ max-width:42ch; }
}
@media (max-width:480px){
  .svc-list{ grid-template-columns:1fr; }
  .svc__tag{ font-size:clamp(44px,12vw,80px); }
  .sv-head h1{ font-size:clamp(36px,9vw,118px); }
}
