@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@600;700;800&display=swap');

:root{
  --red:#B11226;--red2:#8E0E1F;--red3:#6B0A17;--red-d:#4A0710;
  --crimson:#D72638;--rose:#F5B6BE;--rosebg:#FBE6E9;
  --dark:#0F0F12;--dark2:#1A1A20;--dark3:#2A2A33;
  --cream:#FAF8F5;--paper:#F2EFE9;--white:#fff;
  --gmid:#5A5560;--glt:#9A95A0;--border:#E5E1D9;
  --r:14px;--rs:8px;--sh:0 4px 24px rgba(15,15,18,.10);
  --tr:.28s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--dark3);line-height:1.6;overflow-x:hidden;}
html,body{overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
button{font-family:inherit;}

body.svc-page{font-family:'Nunito',sans-serif;background:radial-gradient(circle at 16% 18%,rgba(245,182,190,.25) 0,rgba(245,182,190,0) 34%),radial-gradient(circle at 88% 0%,rgba(177,18,38,.1) 0,rgba(177,18,38,0) 38%),var(--cream);}
body.svc-page h1,
body.svc-page h2,
body.svc-page h3,
body.svc-page h4,
body.svc-page .sec-title,
body.svc-page .hero-band .eyebrow{font-family:'Quicksand',sans-serif;}

.top-bar{background:linear-gradient(135deg,var(--red-d),var(--red2));color:#fff;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 32px rgba(177,18,38,.38);}
.top-bar .logo{font-family:'Poppins',sans-serif;font-size:1.15rem;font-weight:800;letter-spacing:.01em;}
.top-bar .logo span{color:var(--rose);}
.top-bar .tagline{font-size:.7rem;color:rgba(255,255,255,.6);margin-top:1px;}

.svc-nav-wrap{background:rgba(255,255,255,.88);backdrop-filter:blur(8px);border-bottom:2px solid var(--crimson);position:sticky;top:88px;z-index:90;display:flex;align-items:center;gap:6px;padding:0 8px;}
.svc-nav-scroll{flex:1;overflow-x:auto;scrollbar-width:thin;scroll-behavior:smooth;}
.svc-nav-scroll::-webkit-scrollbar{height:7px;}
.svc-nav-scroll::-webkit-scrollbar-thumb{background:rgba(177,18,38,.32);border-radius:999px;}
.svc-nav{display:flex;gap:2px;padding:0 6px;min-width:max-content;}
.svc-nav-arrow{width:34px;height:34px;border-radius:50%;border:1px solid rgba(177,18,38,.24);background:var(--white);color:var(--red);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--tr);flex-shrink:0;}
.svc-nav-arrow:hover{background:var(--rosebg);border-color:var(--red);transform:translateY(-1px);}
.svc-nav-btn{padding:13px 18px;font-size:.82rem;font-weight:700;border:none;background:transparent;cursor:pointer;color:var(--gmid);border-bottom:3px solid transparent;white-space:nowrap;transition:var(--tr);display:flex;align-items:center;gap:7px;border-radius:10px 10px 0 0;}
.svc-nav-btn:hover{color:var(--dark);background:var(--rosebg);transform:translateY(-1px);}
.svc-nav-btn.active{color:var(--dark);border-bottom-color:var(--red);background:var(--rosebg);box-shadow:0 10px 18px rgba(177,18,38,.14) inset;}
.svc-nav-btn .icon{font-size:1rem;color:var(--red);display:inline-flex;}
.svc-nav-btn.active .icon{animation:pulseIcon 1.2s ease-in-out infinite;}

.page{max-width:980px;margin:0 auto;padding:0 20px 60px;position:relative;overflow-x:clip;}
.page::before,.page::after{content:'';position:absolute;border-radius:50%;z-index:0;pointer-events:none;filter:blur(1px);}
.page::before{width:220px;height:220px;top:210px;left:-110px;background:radial-gradient(circle,rgba(245,182,190,.34),rgba(245,182,190,0) 70%);animation:blobFloatA 14s ease-in-out infinite;}
.page::after{width:300px;height:300px;bottom:80px;right:-170px;background:radial-gradient(circle,rgba(177,18,38,.18),rgba(177,18,38,0) 72%);animation:blobFloatB 18s ease-in-out infinite;}
.svc-panel{display:none;animation:fadeIn .35s ease;position:relative;isolation:isolate;overflow-x:clip;}
.svc-panel.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.svc-panel.panel-transition-in{animation:panelIn .7s cubic-bezier(.22,1,.36,1) both;}
.svc-panel.panel-transition-wipe::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.48) 46%,rgba(255,255,255,0) 100%);transform:translateX(-120%) skewX(-12deg);animation:panelWipe .78s ease-out both;}

@keyframes panelIn{
  from{opacity:0;transform:translateY(22px) scale(.985);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

@keyframes panelWipe{
  from{transform:translateX(-120%) skewX(-12deg);opacity:0;}
  20%{opacity:.85;}
  to{transform:translateX(155%) skewX(-12deg);opacity:0;}
}

.hero-band{background:linear-gradient(135deg,var(--red-d),var(--red2));color:#fff;border-radius:var(--r);padding:40px 36px;margin:24px 0 28px;position:relative;overflow:hidden;box-shadow:0 18px 50px rgba(177,18,38,.22);z-index:1;}
.hero-band::before{content:'';position:absolute;right:-30px;top:-30px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.12);}
.hero-band::after{content:'';position:absolute;inset:-40% auto -40% -50%;width:45%;transform:skewX(-20deg);background:linear-gradient(120deg,transparent,rgba(255,255,255,.15),transparent);animation:heroShine 7.5s linear infinite;}
.hero-band .eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin-bottom:10px;}
.hero-band h1{font-family:'Poppins',sans-serif;font-size:1.95rem;font-weight:800;line-height:1.2;letter-spacing:-.01em;margin-bottom:10px;}
.hero-band p{font-size:.92rem;color:rgba(255,255,255,.75);max-width:560px;line-height:1.65;}

.svc-cover{height:220px;border-radius:var(--r);margin:-6px 0 24px;position:relative;overflow:hidden;box-shadow:0 18px 36px rgba(15,15,18,.18);background-size:cover;background-position:center;z-index:1;}
.svc-cover::before{content:none;}
.svc-cover::after{content:'';position:absolute;inset:-10% auto -10% -40%;width:38%;transform:skewX(-14deg);background:linear-gradient(120deg,transparent,rgba(255,255,255,.22),transparent);animation:heroShine 9s linear infinite;}
.svc-cover-tag{position:absolute;left:16px;bottom:14px;z-index:2;background:rgba(255,255,255,.9);color:var(--red2);font-weight:800;font-size:.77rem;letter-spacing:.06em;text-transform:uppercase;padding:7px 12px;border-radius:999px;}

/* ─── IMÁGENES DE PORTADA POR SERVICIO ───
   Reemplaza la ruta dentro de url('...') por la de tu propia imagen.
   Ejemplo: si guardas tu foto en img/servicios/arriendo.jpg,
   dejas la línea tal cual (o cambia el nombre/extensión que tú uses). */
.svc-cover-arriendo{background-image:url('../img/servicios/arriendo.jpg');}
.svc-cover-venta{background-image:url('../img/servicios/venta.png');}
.svc-cover-avaluo{background-image:url('../img/servicios/avaluo.png');}
.svc-cover-juridica{background-image:url('../img/servicios/juridica.png');}
.svc-cover-mantenimiento{background-image:url('../img/servicios/mantenimiento.png');}
.svc-cover-suelos{background-image:url('../img/servicios/suelos.png');}
.svc-cover-remates{background-image:url('../img/servicios/remates.png');}
.svc-cover-consigne{background-image:url('../img/servicios/consigne.jpg');}
.svc-cover-contacto{background-image:url('../img/servicios/contacto.png');}

/* Ken Burns sutil: la portada respira ligeramente en vez de quedar estática */
.svc-cover{background-size:112% auto;animation:svcKenBurns 16s ease-in-out infinite alternate;}
@keyframes svcKenBurns{
  from{background-size:112% auto;background-position:center;}
  to{background-size:124% auto;background-position:center 40%;}
}
@media (prefers-reduced-motion: reduce){
  .svc-cover{animation:none!important;background-size:cover;}
}

.hero-band.intro-seq .eyebrow,
.hero-band.intro-seq h1,
.hero-band.intro-seq p{opacity:0;}

.hero-band.intro-seq .eyebrow{animation:introReveal .55s cubic-bezier(.22,1,.36,1) .04s both;}
.hero-band.intro-seq h1{animation:introReveal .62s cubic-bezier(.22,1,.36,1) .14s both;}
.hero-band.intro-seq p{animation:introReveal .66s cubic-bezier(.22,1,.36,1) .28s both;}

@keyframes introReveal{
  from{opacity:0;transform:translateY(20px);filter:blur(2px);}
  to{opacity:1;transform:translateY(0);filter:blur(0);}
}

.sub-tabs{display:flex;gap:4px;background:var(--border);border-radius:var(--r);padding:4px;margin-bottom:24px;}
.svc-emo{color:var(--gmid);transition:var(--tr);margin-right:2px;}
.sub-tab.active .svc-emo{color:var(--red2);}
.person-tab.active.natural .svc-emo{color:var(--red2);}
.person-tab.active.juridica .svc-emo{color:var(--red);}
.svc-nav-btn.active .svc-emo{color:var(--red);}
.feature-card:hover .svc-emo{transform:scale(1.1);}

.sub-tab{flex:1;padding:10px 6px;font-size:.82rem;font-weight:800;border:none;background:transparent;cursor:pointer;border-radius:8px;color:var(--gmid);transition:var(--tr);text-align:center;}
.sub-tab.active{background:var(--white);color:var(--dark);box-shadow:0 1px 6px rgba(15,15,18,.12);}
.sub-tab:hover{transform:translateY(-1px);}

.sub-panel.sub-transition{animation:subPanelIn .52s cubic-bezier(.22,1,.36,1) both;transform-origin:top center;}

@keyframes subPanelIn{
  from{opacity:0;transform:translateY(14px) scale(.995);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0 28px;}
.metrics.three{grid-template-columns:repeat(3,1fr);}
.metric{background:linear-gradient(180deg,#fff, var(--rosebg));border-radius:var(--r);padding:16px 12px;text-align:center;border:1px solid rgba(177,18,38,.14);transition:var(--tr);}
.metric:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(177,18,38,.15);}
.metric .val{font-family:'Poppins',sans-serif;font-size:1.55rem;font-weight:700;color:var(--dark);line-height:1;display:inline-block;animation:floatVal 3.2s ease-in-out infinite;}
.metric .lab{font-size:.73rem;color:var(--gmid);margin-top:6px;line-height:1.4;}

.phases{display:flex;flex-direction:column;gap:16px;}
.phase{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:transform .3s ease,box-shadow .3s ease;}
.phase:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(15,15,18,.12);}
.phase-header{display:flex;align-items:center;gap:0;cursor:pointer;user-select:none;}
.phase-num{width:48px;min-height:52px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-size:1.2rem;font-weight:700;flex-shrink:0;}
.phase-title-wrap{flex:1;background:linear-gradient(90deg,#fff,var(--paper));padding:12px 16px;border-left:4px solid var(--crimson);}
.phase-title-wrap h3{font-size:.93rem;font-weight:700;color:var(--dark);}
.phase-title-wrap p{font-size:.75rem;color:var(--gmid);margin-top:2px;font-style:italic;}
.phase-toggle{width:48px;background:linear-gradient(90deg,var(--paper),var(--rosebg));display:flex;align-items:center;justify-content:center;color:var(--red2);font-size:1.1rem;border-left:1px solid var(--border);transition:var(--tr);flex-shrink:0;}
.phase.open .phase-toggle{transform:rotate(180deg);}
.phase-body{display:none;background:var(--white);padding:16px 16px 20px;}
.phase.open .phase-body{display:block;}
.phase.open .phase-body{animation:phaseDrop .45s cubic-bezier(.22,1,.36,1) both;}

.steps{display:flex;flex-direction:column;gap:10px;}
.step{border-radius:8px;border:1px solid var(--border);padding:14px 16px;border-left:4px solid var(--rosebg);background:linear-gradient(180deg,#fff,var(--paper));transition:var(--tr);}
.step:hover{transform:translateX(2px);border-left-color:var(--crimson);}
.step.gold{border-left-color:var(--red);background:var(--rosebg);}
.step h4{font-size:.87rem;font-weight:700;color:var(--dark);margin-bottom:5px;}
.step p{font-size:.82rem;color:var(--gmid);line-height:1.6;}

.sec-title{font-family:'Poppins',sans-serif;font-size:1.15rem;font-weight:700;color:var(--red2);margin:24px 0 14px;display:flex;align-items:center;gap:10px;}
.sec-title::after{content:'';flex:1;height:1px;background:var(--border);}
.sec-title.gold-line::after{background:var(--red);}

.doc-table{width:100%;border-collapse:collapse;font-size:.82rem;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);}
.doc-table thead tr{background:linear-gradient(135deg,var(--red-d),var(--red2));color:#fff;}
.doc-table.gold-head thead tr{background:var(--red);}
.doc-table th{padding:11px 14px;font-weight:700;text-align:left;font-size:.78rem;}
.doc-table td{padding:11px 14px;border-bottom:1px solid var(--border);}
.doc-table tr:last-child td{border-bottom:none;}
.doc-table tr:nth-child(even){background:var(--paper);}
.badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.68rem;font-weight:700;white-space:nowrap;}
.badge-blue{background:var(--rosebg);color:var(--red);}
.badge-gold{background:var(--rosebg);color:var(--red);}
.badge-gray{background:var(--border);color:var(--gmid);}
.badge-green{background:#D6EFE3;color:#0A6640;}
.doc-num{font-weight:700;color:var(--red);}

.info-box{border-radius:var(--r);padding:14px 18px;border-left:4px solid var(--red);background:linear-gradient(180deg,#fff,var(--paper));font-size:.85rem;color:var(--gmid);line-height:1.65;margin:16px 0;}
.info-box.gold{border-left-color:var(--red);background:var(--rosebg);color:var(--dark);}

.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0;}
.feature-grid.one{grid-template-columns:1fr;}
.feature-card{border-radius:var(--r);padding:18px 20px;background:linear-gradient(180deg,#fff,var(--paper));border:1px solid var(--border);border-left:4px solid var(--rosebg);box-shadow:var(--sh);transition:var(--tr);}
.feature-card:hover{border-left-color:var(--red);transform:translateY(-2px);}
.feature-card.gold{border-left-color:var(--red);background:var(--rosebg);}
.feature-card .fc-icon{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:linear-gradient(145deg,var(--rosebg),#fff);
  border:1px solid var(--border);
  margin-bottom:12px;
  transition:var(--tr);
}
.feature-card .fc-icon i{font-size:1.15rem;color:var(--red2);}
.feature-card.gold .fc-icon{background:linear-gradient(145deg,var(--red2),var(--red));}
.feature-card.gold .fc-icon i{color:#fff;}
.feature-card:hover .fc-icon{transform:scale(1.1) rotate(-6deg);box-shadow:0 8px 16px -6px rgba(177,18,38,.35);}
.feature-card h4{font-size:.9rem;font-weight:700;color:var(--dark);margin-bottom:6px;}
.feature-card p{font-size:.82rem;color:var(--gmid);line-height:1.6;}

.person-tabs{display:flex;gap:10px;margin:8px 0 18px;}
.person-tab{padding:10px 22px;border-radius:var(--r);border:2px solid var(--border);background:var(--white);font-size:.83rem;font-weight:700;cursor:pointer;color:var(--gmid);transition:var(--tr);display:flex;align-items:center;gap:8px;}
.person-tab.active.natural{border-color:var(--red2);color:var(--red2);background:var(--rosebg);}
.person-tab.active.juridica{border-color:var(--red);color:var(--red);background:var(--rosebg);}
.person-content{display:none;}
.person-content.active{display:block;}

.gold-strip{background:var(--red);color:#fff;border-radius:var(--r);padding:16px 24px;text-align:center;font-weight:700;font-size:.9rem;margin:20px 0;}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;}
.contact-card{border-radius:var(--r);padding:22px;box-shadow:var(--sh);background:#fff;transition:var(--tr);}
.contact-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,15,18,.13);}
.contact-card.blue{border-left:4px solid var(--red2);}
.contact-card.gold{border-left:4px solid var(--red);}
.contact-card .cc-icon{
  width:56px;height:56px;
  display:flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:linear-gradient(145deg,var(--red2),var(--red));
  margin-bottom:12px;
  transition:var(--tr);
}
.contact-card .cc-icon i{font-size:1.4rem;color:#fff;}
.contact-card:hover .cc-icon{transform:scale(1.1) rotate(6deg);}
.contact-card h4{font-size:.95rem;font-weight:700;color:var(--dark);margin-bottom:6px;}
.contact-card p{font-size:.83rem;color:var(--gmid);line-height:1.55;}
.contact-card .cc-email{font-size:.88rem;color:var(--red);font-weight:700;margin-top:8px;word-break:break-all;}
.contact-card .note{font-size:.75rem;color:var(--glt);margin-top:4px;font-style:italic;}

.questions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;}
.question-card{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:14px 16px;display:flex;align-items:flex-start;gap:10px;box-shadow:var(--sh);transition:var(--tr);}
.question-card:hover{transform:translateY(-2px);}
.question-card .q-dot{width:8px;height:8px;border-radius:50%;background:var(--red);flex-shrink:0;margin-top:5px;}
.question-card p{font-size:.83rem;color:var(--dark);font-weight:500;line-height:1.45;}

.svc-panel.active .hero-band,
.svc-panel.active .svc-cover,
.svc-panel.active .sub-tabs,
.svc-panel.active .metric,
.svc-panel.active .phase,
.svc-panel.active .sec-title,
.svc-panel.active .doc-table,
.svc-panel.active .info-box,
.svc-panel.active .feature-card,
.svc-panel.active .contact-card,
.svc-panel.active .question-card,
.svc-panel.active .gold-strip,
.svc-panel.active .person-tabs{position:relative;z-index:1;}

.motion-item{animation:svcRise .72s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--stagger,0ms);}

.reveal-base{opacity:0;transform:translateY(22px) scale(.985);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms);}
.reveal-base.in-view{opacity:1;transform:translateY(0) scale(1);}

@keyframes svcRise{
  from{opacity:0;transform:translateY(16px) scale(.99);}
  to{opacity:1;transform:translateY(0) scale(1);}
}

@keyframes phaseDrop{
  from{opacity:0;transform:translateY(-8px);}
  to{opacity:1;transform:translateY(0);}
}

@keyframes floatVal{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-3px);}
}

@keyframes pulseIcon{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.14);}
}

@keyframes heroShine{
  from{left:-60%;}
  to{left:130%;}
}

@keyframes blobFloatA{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(26px,-18px);}
}

@keyframes blobFloatB{
  0%,100%{transform:translate(0,0);}
  50%{transform:translate(-18px,22px);}
}

@media (prefers-reduced-motion: reduce){
  .svc-nav-btn,
  .svc-nav-btn .icon,
  .svc-panel.panel-transition-in,
  .svc-panel.panel-transition-wipe::before,
  .hero-band.intro-seq .eyebrow,
  .hero-band.intro-seq h1,
  .hero-band.intro-seq p,
  .svc-cover::after,
  .sub-panel.sub-transition,
  .phase,
  .phase.open .phase-body,
  .metric,
  .metric .val,
  .step,
  .feature-card,
  .contact-card,
  .question-card,
  .motion-item,
  .reveal-base,
  .page::before,
  .page::after,
  .hero-band::after{animation:none!important;transition:none!important;}
}

@media(max-width:640px){
  .metrics{grid-template-columns:1fr 1fr;}
  .metrics.three{grid-template-columns:1fr 1fr;}
  .feature-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .questions{grid-template-columns:1fr;}
  .hero-band h1{font-size:1.45rem;}
  .hero-band{padding:28px 20px;}
}