:root {
  --lime:#A6E22E;
  --blue:#0047AB;
  --blue-2:#0A5FCB;
  --blue-soft:#89B4F8;
  --sky:#B5DCF5;
  --navy:#0B2F52;
  --navy-deep:#071F38;
  --ink:#102A43;
  --muted:#61778E;
  --surface:#FFFFFF;
  --surface-soft:#F4F7FB;
  --surface-blue:#EDF5FE;
  --border:#DCE6EF;
  --shadow:0 24px 60px rgba(20,55,90,.13);
  --shadow-soft:0 12px 30px rgba(20,55,90,.09);
  --radius:18px;
  --radius-lg:26px;
  --container:1260px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;color:var(--ink);background:#fff;font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%} button,input,select,textarea{font:inherit} button{cursor:pointer}
.skip-link{position:fixed;top:-80px;left:16px;z-index:9999;background:#fff;padding:10px 14px;border-radius:9px;box-shadow:var(--shadow-soft)} .skip-link:focus{top:16px}
.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.container--narrow{width:min(calc(100% - 48px),820px)}
.section{padding:92px 0}.section--soft{background:var(--surface-soft)}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(214,225,235,.75);transition:box-shadow .25s ease,transform .25s ease}.site-header.is-scrolled{box-shadow:0 10px 30px rgba(24,58,89,.08)}
.navbar{height:86px;display:flex;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content}.brand__symbol{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--lime),#71c536);color:#fff;font:800 18px/1 "Manrope",sans-serif;transform:skew(-7deg)}.brand__words{display:flex;flex-direction:column;line-height:1.05}.brand__words strong{font:800 18px/1 "Manrope",sans-serif;letter-spacing:.08em;color:#063b81}.brand__words small{margin-top:5px;font-size:7px;text-transform:uppercase;letter-spacing:.12em;color:#5e758a}
.main-nav{display:flex;align-items:center;gap:23px;margin-left:auto;font-size:12px;font-weight:700;color:#304a63}.main-nav a{position:relative;padding:32px 0}.main-nav a::after{content:"";position:absolute;left:0;right:0;bottom:24px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.main-nav a:hover,.main-nav a.is-active{color:var(--blue)}.main-nav a:hover::after,.main-nav a.is-active::after{transform:scaleX(1)}
.nav-whatsapp{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid #d9ede1;color:#21b967;background:#effbf3;font-size:9px;font-weight:800}.navbar__cta{font-size:12px;min-height:42px;padding-inline:20px}.nav-toggle{display:none;margin-left:auto;width:42px;height:42px;border:0;background:transparent;padding:8px}.nav-toggle span{display:block;height:2px;margin:6px 0;background:var(--navy);transition:.25s ease}
.btn{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 20px;border:1px solid transparent;border-radius:999px;font-weight:800;font-size:12px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px)}.btn--primary{background:linear-gradient(180deg,#0860c8,var(--blue));color:#fff;box-shadow:0 10px 22px rgba(0,71,171,.22)}.btn--primary:hover{box-shadow:0 15px 28px rgba(0,71,171,.28)}.btn--ghost{background:#fff;border-color:var(--border);color:#244057}.btn--small{min-height:38px;padding-inline:17px}.btn--full{width:100%}.btn--whatsapp{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.15);color:#fff}
.eyebrow{display:inline-block;margin-bottom:12px;color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.17em}.eyebrow--line{position:relative;padding-left:20px}.eyebrow--line::before{content:"";position:absolute;left:0;top:50%;width:12px;height:2px;background:#ef777a}.eyebrow--light{color:#9fc9ff}
h1,h2,h3{font-family:"Manrope",sans-serif;line-height:1.08;margin-top:0;color:inherit}h1{font-size:clamp(45px,5vw,72px);letter-spacing:-.045em;margin-bottom:22px}h1 span{color:#003d96}h2{font-size:clamp(30px,3vw,45px);letter-spacing:-.032em;margin-bottom:14px}h3{font-size:20px;margin-bottom:9px}p{margin-top:0}
.hero{position:relative;isolation:isolate;min-height:660px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(180deg,#f9fcff 0%,#eef6ff 100%)}.hero__wash{position:absolute;z-index:-1;border-radius:50%;filter:blur(42px);opacity:.52}.hero__wash--pink{width:360px;height:210px;left:-140px;bottom:-60px;background:#f6c7cf}.hero__wash--blue{width:480px;height:300px;right:-180px;top:70px;background:#c5dcff}.hero__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:84px;align-items:center;padding:56px 0}.hero__content{max-width:600px}.hero__lead{max-width:530px;color:var(--muted);font-size:15px}.hero__actions{display:flex;gap:12px;margin:26px 0 26px}.hero__benefits{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 26px;max-width:520px;color:#405b73;font-size:11px;font-weight:700}.hero__benefits li{display:flex;align-items:center;gap:8px}.hero__benefits li::before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:7px;background:#eaf4ff;color:var(--blue);font-size:10px}
.hero__visual{position:relative;min-height:500px;display:flex;align-items:center;justify-content:center;will-change:transform}.hero-photo{position:relative;width:min(100%,520px);aspect-ratio:1/.92;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#dce8f4}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.hero-photo:hover img{transform:scale(1.035)}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(4,30,54,.08))}.hero-photo__dots{position:absolute;z-index:2;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:9px}.hero-photo__dots span{width:10px;height:10px;border:2px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 1px 5px rgba(0,0,0,.15)}.floating-card{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.95);box-shadow:var(--shadow-soft);font-size:11px}.floating-card strong{display:block;font-size:11px}.floating-card small{display:block;color:#668097;font-size:8px;margin-top:1px}.floating-card__icon{width:25px;height:25px;border-radius:7px;display:grid;place-items:center;color:#20b868;background:#ecfbf3;font-weight:800}.floating-card--top{left:-20px;top:44px}.floating-card--bottom{right:-34px;bottom:62px}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.float-loop{animation:floaty 4.5s ease-in-out infinite}.float-loop--delay{animation-delay:1.2s}
.section-heading{max-width:700px;margin:0 auto 44px;text-align:center}.section-heading p{color:var(--muted);font-size:13px}.section-heading--left{margin-left:0;text-align:left}
.needs-grid{display:grid;grid-template-columns:.76fr 1.24fr;gap:42px;align-items:stretch}.needs-visual{display:grid;place-items:center}.body-card{position:relative;width:100%;min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:22px;background:#fff;border:1px solid #e6edf4;box-shadow:var(--shadow-soft);overflow:hidden}.body-card img{max-height:400px;max-width:72%;object-fit:contain}.body-card small{margin-top:18px;color:#6b8196;font-size:10px}.orbit{position:absolute;width:18px;height:18px;border-radius:50%;border:3px solid #d4dce5}.orbit--1{top:30px;left:40px;border-color:#ef9ea4}.orbit--2{top:60px;right:48px;border-color:#9fb6ca}.orbit--3{bottom:50px;right:38px;border-color:#85aee6}
.service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.info-card{padding:22px 22px 20px;border-radius:16px;background:#fff;border:1px solid #e4ebf2;box-shadow:0 8px 20px rgba(20,55,90,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.info-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);border-color:#cbdceb}.info-card h3{font-size:14px}.info-card p{color:var(--muted);font-size:11px;margin-bottom:0}.info-card a{display:inline-block;margin-top:8px;color:var(--blue);font-size:10px;font-weight:800}.icon-chip{width:32px;height:32px;margin-bottom:14px;display:grid;place-items:center;border-radius:9px;background:#eff6fd;color:var(--blue);font-size:12px;font-weight:800}
.section--dark{background:linear-gradient(100deg,#082744 0%,#0b3458 58%,#0a477f 100%);color:#fff}.split-feature{display:grid;grid-template-columns:1.02fr .98fr;gap:76px;align-items:center}.split-feature__content>p{max-width:570px;color:#bfd0df;font-size:13px}.feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:26px}.feature-list>div{display:flex;gap:10px;align-items:flex-start}.feature-icon{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(137,180,248,.16);border:1px solid rgba(181,220,245,.14);font-size:11px}.feature-list p{margin:0}.feature-list strong{display:block;font-size:11px}.feature-list small{display:block;margin-top:3px;color:#abc0d3;font-size:9px;line-height:1.4}.treatment-photo{position:relative;margin:0;border-radius:22px;overflow:hidden;box-shadow:0 25px 55px rgba(0,0,0,.2);aspect-ratio:1.1}.treatment-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}.treatment-photo:hover img{transform:scale(1.035)}.treatment-photo figcaption{position:absolute;left:14px;bottom:12px;padding:6px 9px;border-radius:8px;background:rgba(7,31,56,.7);color:#fff;font-size:8px}
.process-section{background:#f7f9fc}.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.step-card{padding:22px;border:1px solid #e2e9f0;border-radius:14px;background:#fff;box-shadow:var(--shadow-soft);transition:transform .25s ease,box-shadow .25s ease}.step-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(20,55,90,.12)}.step-card>span{display:grid;place-items:center;width:31px;height:31px;margin-bottom:16px;border-radius:9px;background:var(--blue);color:#fff;font-weight:800;font-size:12px}.step-card h3{font-size:13px}.step-card p{color:var(--muted);font-size:10px;margin:0}.center-action{display:flex;justify-content:center;margin-top:28px}
.team-section{background:#fff}.team-section .section-heading{margin-bottom:42px}.team-section .section-heading p{max-width:650px;margin-left:auto;margin-right:auto}.team-feature{display:grid;grid-template-columns:1.08fr .92fr;max-width:1040px;min-height:330px;margin-inline:auto;overflow:hidden;border-radius:22px;background:#eaf3fe;box-shadow:0 18px 42px rgba(18,55,91,.11)}.team-feature__visual{min-height:330px;background:#0b345b}.team-feature__body{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:42px 48px;background:#eaf3fe}.badge{display:inline-flex;align-self:flex-start;margin-bottom:16px;padding:6px 10px;border-radius:999px;background:#fff;color:#315977;font-size:8px;font-weight:800}.team-feature__body h3{margin:0 0 16px;font-size:30px;line-height:1.02;font-weight:500;letter-spacing:-.03em}.team-feature__body p{max-width:410px;margin:0 0 20px;color:#5e748a;font-size:11px;line-height:1.65}.team-feature__body .btn{align-self:flex-start;box-shadow:0 10px 22px rgba(0,71,171,.22)}
.specialists-section{background:#fff}.specialist-carousel{position:relative;max-width:930px;margin-inline:auto}.specialist-stage{position:relative;min-height:410px}.specialist-slide{position:absolute;inset:0;display:grid;grid-template-columns:.85fr 1.15fr;overflow:hidden;border-radius:22px;background:#eaf3fe;box-shadow:var(--shadow-soft);opacity:0;visibility:hidden;transform:translateX(28px) scale(.99);transition:opacity .45s ease,transform .45s ease,visibility .45s}.specialist-slide.is-active{position:relative;opacity:1;visibility:visible;transform:none}.specialist-slide__image{min-height:410px}.specialist-slide__image img{width:100%;height:100%;object-fit:cover}.specialist-slide__content{display:flex;flex-direction:column;justify-content:center;padding:42px}.specialist-slide__content h3{font-size:22px;margin-bottom:4px}.specialist-role{color:#1959a6;font-size:10px;font-weight:800}.specialist-slide__content>p:last-of-type{color:#5f758b;font-size:10px}.specialist-meta{display:flex;flex-wrap:wrap;gap:16px;margin:14px 0;font-size:8px;color:#6b8094}.specialist-meta span{display:grid;gap:2px}.specialist-meta b{color:#263f57}.carousel-arrow{position:absolute;top:50%;z-index:5;width:35px;height:35px;transform:translateY(-50%);border:0;border-radius:50%;background:#fff;color:var(--blue);box-shadow:0 8px 20px rgba(20,55,90,.15);font-size:24px;line-height:1}.carousel-arrow--prev{left:-18px}.carousel-arrow--next{right:-18px;background:var(--blue);color:#fff}.carousel-counter{text-align:center;margin-top:18px;color:#637a90;font-size:9px}
.tech-section{background:#f7f9fc}.tech-section .section-heading{max-width:600px}.tech-mosaic{display:grid;grid-template-columns:1.55fr .8fr .8fr;grid-auto-rows:170px;gap:14px;max-width:900px}.tech-card{position:relative;margin:0;overflow:hidden;border-radius:14px;background:#0a3970}.tech-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02);transition:transform .55s ease,filter .55s ease}.tech-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,27,53,.1),rgba(5,27,53,.62))}.tech-card:hover img{transform:scale(1.06);filter:saturate(1.05)}.tech-card figcaption{position:absolute;z-index:2;left:14px;bottom:12px;color:#fff;font-size:9px;font-weight:700}.tech-card--wide{grid-row:span 2}.tech-card--tall{grid-row:span 2}
.testimonials-section{background:#fff}.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.testimonial-card{padding:24px;border:1px solid #e4ebf2;border-radius:16px;background:#fff;box-shadow:var(--shadow-soft)}.stars{color:#f2b629;letter-spacing:2px;font-size:11px;margin-bottom:12px}.testimonial-card>p{color:#405b73;font-size:12px}.testimonial-card__person{display:flex;align-items:center;gap:10px;margin-top:18px}.testimonial-card__person>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-size:9px;font-weight:800}.testimonial-card__person strong,.testimonial-card__person small{display:block}.testimonial-card__person strong{font-size:10px}.testimonial-card__person small{color:#7990a4;font-size:8px}
.faq-list{display:grid;gap:9px}.faq-item{border:1px solid #e4ebf2;background:#fff;border-radius:10px;box-shadow:0 6px 16px rgba(20,55,90,.035);overflow:hidden}.faq-item summary{padding:14px 16px;font-weight:700;font-size:11px;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";float:right;color:var(--blue);font-size:15px}.faq-item[open] summary::after{content:"−"}.faq-item p{padding:0 16px 16px;color:var(--muted);font-size:10px;margin:0}
.location-card{display:grid;grid-template-columns:.85fr 1.15fr;max-width:1000px;min-height:410px;overflow:hidden;background:#fff;border:1px solid #e4ebf2;border-radius:20px;box-shadow:var(--shadow-soft)}.location-card__info{padding:34px}.location-row{display:grid;grid-template-columns:30px 1fr;gap:11px;margin-bottom:16px}.location-row>span{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:#edf5fd;color:var(--blue);font-size:11px}.location-row strong{display:block;font-size:10px}.location-row p{margin:2px 0 0;color:#61778e;font-size:9px}.location-card__map{position:relative;min-height:380px;background-color:#eef4fa;background-image:linear-gradient(#dbe5ee 1px,transparent 1px),linear-gradient(90deg,#dbe5ee 1px,transparent 1px);background-size:32px 32px}.map-pulse{position:absolute;left:52%;top:47%;width:15px;height:15px;border-radius:50%;background:#8eb0d8;box-shadow:0 0 0 0 rgba(97,147,202,.35);animation:mapPulse 2.2s infinite}@keyframes mapPulse{70%{box-shadow:0 0 0 22px rgba(97,147,202,0)}100%{box-shadow:0 0 0 0 rgba(97,147,202,0)}}.map-bottom{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#fff;border-radius:9px;box-shadow:0 8px 22px rgba(20,55,90,.1);font-size:8px}.map-bottom a{padding:7px 10px;border-radius:999px;background:var(--blue);color:#fff;font-weight:800}

/* ===== Especialistas: 5 fisioterapeutas listos para capturar ===== */
.specialist-photo-placeholder{position:relative;display:grid;place-items:center;overflow:hidden;min-height:410px;background:linear-gradient(145deg,#0b345b,#0a5fcb 68%,#89b4f8);color:#fff}
.specialist-photo-placeholder::before{content:"";position:absolute;width:230px;height:230px;right:-80px;top:-70px;border-radius:50%;background:rgba(255,255,255,.10)}
.specialist-photo-placeholder img{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center}
.specialist-photo-fallback{position:relative;z-index:1;padding:24px;text-align:center;font-size:12px;line-height:1.6;color:#d8e9fb}
.specialist-photo-fallback strong{display:inline-block;margin-top:3px;color:#fff;font-size:14px}

/* ===== FAQ + ubicacion en una sola seccion ===== */
.faq-location-section{position:relative;overflow:hidden}
.faq-location-section::before{content:"";position:absolute;width:420px;height:420px;right:-180px;top:80px;border-radius:50%;background:rgba(137,180,248,.13);filter:blur(8px);pointer-events:none}
.faq-location-section>.container{position:relative;z-index:1}
.faq-location-section .section-heading{max-width:780px}
.faq-location-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:30px;align-items:start}
.subsection-heading{margin-bottom:18px}
.subsection-heading .eyebrow{margin-bottom:8px}
.subsection-heading h3{margin:0;font-size:24px;letter-spacing:-.025em}
.faq-column,.location-column{min-width:0}
.location-column{position:sticky;top:110px}
.location-panel{overflow:hidden;border:1px solid #e1eaf3;border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}
.location-panel__info{padding:30px 30px 26px}
.location-panel .location-row{margin-bottom:15px}
.location-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.location-panel__map{min-height:235px;border-top:1px solid #e5edf4}
/* =========================================================
   CTA FINAL - IMAGEN DE FONDO
   Imagen esperada:
   assets/img/yeskines-cta-final.jpg
========================================================= */

.final-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:100px 0;
  color:#fff;
  background-image:
    linear-gradient(
      90deg,
      rgba(7,31,56,.86) 0%,
      rgba(0,71,171,.72) 50%,
      rgba(7,31,56,.78) 100%
    ),
    url("../img/yeskines-cta-final.png");
  background-size:cover;
  background-position:center 45%;
  background-repeat:no-repeat;
}

.final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(137,180,248,.15),
      transparent 45%
    );
  pointer-events:none;
}

.final-cta__inner{
  position:relative;
  z-index:1;
  max-width:760px;
  text-align:center;
}

.final-cta__inner h2{
  color:#fff;
  text-shadow:0 4px 20px rgba(0,0,0,.20);
}

.final-cta__inner p{
  color:rgba(255,255,255,.90);
  font-size:12px;
  text-shadow:0 2px 12px rgba(0,0,0,.20);
}

.final-cta .eyebrow{
  color:#dcecff;
}

.final-cta .btn--whatsapp{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 12px 28px rgba(0,0,0,.16);
}

.final-cta .btn--whatsapp:hover{
  background:#fff;
  color:#0b345b;
}

@media (max-width:760px){
  .final-cta{
    padding:80px 0;
    background-position:center center;
  }
}

@media (max-width:520px){
  .final-cta{
    padding:68px 0;
    background-image:
      linear-gradient(
        rgba(7,31,56,.82),
        rgba(0,71,171,.76)
      ),
      url("../img/yeskines-cta-final.jpg");
  }
}
.site-footer{background:#082d4f;color:#a9c0d3;padding-top:48px}.footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:34px}.brand--footer .brand__words strong{color:#fff}.footer-grid p{max-width:300px;font-size:9px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:7px;font-size:9px}.footer-grid strong{display:block;color:#fff;margin-bottom:8px;font-size:10px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:22px 0;margin-top:34px;border-top:1px solid rgba(255,255,255,.09);font-size:8px}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:900;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#20c867;color:#fff;font-size:9px;font-weight:900;box-shadow:0 12px 28px rgba(0,0,0,.16);transition:transform .2s ease}.whatsapp-float:hover{transform:translateY(-3px) scale(1.04)}
.reveal{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.reveal--up{transform:translateY(30px)}.reveal--left{transform:translateX(-34px)}.reveal--right{transform:translateX(34px)}.reveal.is-visible{opacity:1;transform:none}.stagger-item{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease}.stagger-group.is-visible .stagger-item{opacity:1;transform:none}.stagger-group.is-visible .stagger-item:nth-child(1){transition-delay:.04s}.stagger-group.is-visible .stagger-item:nth-child(2){transition-delay:.11s}.stagger-group.is-visible .stagger-item:nth-child(3){transition-delay:.18s}.stagger-group.is-visible .stagger-item:nth-child(4){transition-delay:.25s}.stagger-group.is-visible .stagger-item:nth-child(5){transition-delay:.32s}.stagger-group.is-visible .stagger-item:nth-child(6){transition-delay:.39s}.stagger-group.is-visible .stagger-item:nth-child(7){transition-delay:.46s}.stagger-group.is-visible .stagger-item:nth-child(8){transition-delay:.53s}
@media (max-width:1100px){.main-nav{gap:14px}.main-nav a{font-size:11px}.hero__grid{gap:48px}.floating-card--top{left:-8px}.floating-card--bottom{right:-8px}}
@media (max-width:950px){.main-nav{position:fixed;inset:86px 0 auto 0;display:grid;gap:0;margin:0;padding:16px 24px 28px;background:#fff;border-top:1px solid var(--border);box-shadow:0 18px 34px rgba(20,55,90,.12);transform:translateY(-125%);opacity:0;pointer-events:none;transition:.25s ease}.main-nav a{padding:12px 0}.main-nav a::after{display:none}.main-nav.is-open{transform:none;opacity:1;pointer-events:auto}.nav-toggle{display:block}.nav-whatsapp,.navbar__cta{display:none}.nav-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero__grid,.needs-grid,.split-feature,.booking-card,.location-card{grid-template-columns:1fr}.hero{min-height:auto}.hero__grid{padding:55px 0 70px}.hero__visual{min-height:470px}.hero__content{max-width:760px}.body-card{min-height:500px}.split-feature{gap:44px}.team-feature,.specialist-slide{grid-template-columns:1fr}.team-feature{max-width:760px}.team-feature__visual{min-height:260px}.team-feature__body{padding:36px 40px}.specialist-stage{min-height:720px}.specialist-slide__image{min-height:360px}.carousel-arrow--prev{left:-10px}.carousel-arrow--next{right:-10px}.tech-mosaic{grid-template-columns:1.4fr 1fr}.tech-card--wide,.tech-card--tall{grid-row:span 1}.steps-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/-1}}
@media (max-width:650px){.container,.container--narrow{width:min(calc(100% - 28px),var(--container))}.section{padding:64px 0}.navbar{height:72px}.main-nav{inset:72px 0 auto 0}.brand__symbol{width:36px;height:36px}.brand__words strong{font-size:16px}.hero__grid{padding-top:38px}.hero__actions{display:grid}.hero__actions .btn{width:100%}.hero__benefits{grid-template-columns:1fr}.hero__visual{min-height:390px}.hero-photo{width:100%;border-radius:20px}.floating-card{padding:9px 10px}.floating-card--top{top:20px}.floating-card--bottom{bottom:26px}.service-cards,.feature-list,.steps-grid,.form-grid,.testimonials-grid{grid-template-columns:1fr}.body-card{min-height:440px}.team-feature__visual{min-height:210px}.team-feature__body,.specialist-slide__content,.booking-card__copy,.booking-form,.location-card__info{padding:26px}.team-feature__body h3{font-size:23px}.specialist-stage{min-height:650px}.specialist-slide__image{min-height:300px}.tech-mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:130px}.tech-card--wide{grid-column:span 2}.location-card__map{min-height:320px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.whatsapp-float{right:16px;bottom:16px}}

@media (max-width:950px){.faq-location-grid{grid-template-columns:1fr;gap:46px}.location-column{position:static}.location-panel__map{min-height:300px}.specialist-photo-placeholder{min-height:360px}}
@media (max-width:650px){.subsection-heading h3{font-size:21px}.location-panel__info{padding:24px}.location-actions{display:grid}.location-actions .btn{width:100%}.specialist-photo-placeholder{min-height:300px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.stagger-item,.specialist-slide,.tech-card img,.hero-photo img{transition:none!important}.float-loop,.map-pulse{animation:none!important}.reveal,.stagger-item{opacity:1!important;transform:none!important}}


/* =========================================================
   YESKINES · Iconografía oficial
   Carpeta: assets/icons
   ========================================================= */
.topbar{background:#082d4f;color:#dceaf7;font-size:10px}
.topbar__inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar__info,.topbar__socials{display:flex;align-items:center;gap:18px}
.topbar__item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.topbar__item img{width:15px;height:15px;object-fit:contain}
.topbar__socials{gap:10px}
.topbar__socials span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.04)}
.topbar__socials img{width:15px;height:15px;object-fit:contain}

.brand--logo{min-width:154px}
.brand__logo{display:block;width:154px;height:58px;object-fit:contain;object-position:left center}
.brand__logo--footer{width:166px;height:74px;filter:none}
.nav-whatsapp{padding:0;border:0;background:transparent}
.nav-whatsapp img{width:31px;height:31px;object-fit:contain;transition:transform .2s ease}
.nav-whatsapp:hover img{transform:scale(1.08)}
.btn__icon{width:18px;height:18px;object-fit:contain;flex:0 0 auto}
.btn__icon--green{width:20px;height:20px}
.btn__icon--whatsapp{width:21px;height:21px}

.hero__benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 24px}
.hero__benefits li::before{display:none}
.hero__benefits li img{width:24px;height:24px;object-fit:contain;flex:0 0 24px}

.body-card__figure{position:relative;width:72%;height:420px;display:grid;place-items:center}
.body-card__figure .body-card__silhouette{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.body-card__figure .body-card__points{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;height:86%;max-width:none;max-height:none;object-fit:contain;z-index:2;pointer-events:none}

.testimonial-source{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:#688198;font-size:9px;font-weight:700}
.testimonial-source img{width:19px;height:19px;object-fit:contain}

.location-row>span img{width:18px;height:18px;object-fit:contain}
.map-pulse{display:grid;place-items:center;width:42px;height:42px;background:#fff;border:1px solid #d9e5ef}
.map-pulse img{width:26px;height:26px;object-fit:contain}

.whatsapp-float{font-size:0}
.whatsapp-float img{width:28px;height:28px;object-fit:contain}

@media (max-width:1050px){
  .topbar__info{gap:12px}.topbar__item:nth-child(2){display:none}
  .brand__logo{width:138px}
}
@media (max-width:760px){
  .topbar__inner{min-height:31px}.topbar__item:nth-child(1),.topbar__socials{display:none}.topbar__info{width:100%;justify-content:center}.topbar__item:nth-child(2){display:none}
  .brand--logo{min-width:118px}.brand__logo{width:118px;height:48px}
  .navbar__cta .btn__icon{display:none}
  .hero__benefits{grid-template-columns:1fr 1fr;gap:11px 12px}
  .hero__benefits li{align-items:flex-start}.hero__benefits li img{width:21px;height:21px;flex-basis:21px}
  .body-card__figure{width:78%;height:360px}
}
@media (max-width:520px){
  .hero__benefits{grid-template-columns:1fr}
  .topbar__item:nth-child(3){font-size:9px}
}

/* =========================================================
   GOOGLE MAPS - UBICACIÓN YESKINES
========================================================= */

.location-map {
    position: relative;
    width: 100%;
    min-height: 360px;
    overflow: hidden;
    border-radius: 0 22px 22px 0;
    background: #eaf3fe;
}

.location-map iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.location-map .map-bottom {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;

    padding: 14px 16px;

    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

    border-radius: 14px;

    box-shadow:
        0 10px 30px rgba(11, 52, 91, 0.15);
}

.location-map .map-bottom span {
    color: #0b345b;
    font-size: 13px;
    font-weight: 600;
}

.location-map .map-bottom a {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 10px 18px;

    border-radius: 999px;

    background: #0047ab;
    color: #ffffff;

    font-size: 12px;
    font-weight: 700;
    text-decoration: none;

    white-space: nowrap;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.location-map .map-bottom a:hover {
    transform: translateY(-2px);

    background: #003c92;

    box-shadow:
        0 8px 20px rgba(0, 71, 171, 0.28);
}

/* TABLET / MÓVIL */
@media (max-width: 900px) {

    .location-map {
        min-height: 420px;
        border-radius: 0 0 22px 22px;
    }

}

@media (max-width: 600px) {

    .location-map {
        min-height: 370px;
    }

    .location-map .map-bottom {
        left: 12px;
        right: 12px;
        bottom: 12px;
        padding: 12px;

        flex-direction: column;
        align-items: stretch;
    }

    .location-map .map-bottom span {
        text-align: center;
    }

    .location-map .map-bottom a {
        width: 100%;
    }

}

.team-feature__visual {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    background: #0b345b;
}

.team-feature__visual img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    /* IMPORTANTE */
    object-position: center top;

    transition: transform 0.6s ease;
}

.team-feature:hover .team-feature__visual img {
    transform: scale(1.025);
}


/* =========================================================
   YESKINES · Modal de especialistas
   ========================================================= */
body.modal-open{
  overflow:hidden;
}

.specialists-modal[hidden]{
  display:none !important;
}

.specialists-modal{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease,visibility .28s ease;
}

.specialists-modal.is-open{
  opacity:1;
  visibility:visible;
}

.specialists-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,24,43,.72);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.specialists-modal__dialog{
  position:relative;
  z-index:1;
  width:min(1100px,calc(100vw - 40px));
  max-height:calc(100vh - 40px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:36px 50px 30px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:28px;
  background:#fff;
  box-shadow:0 32px 90px rgba(2,24,45,.28);
  transform:translateY(18px) scale(.975);
  opacity:0;
  transition:transform .32s cubic-bezier(.2,.75,.2,1),opacity .25s ease;
}

.specialists-modal.is-open .specialists-modal__dialog{
  transform:none;
  opacity:1;
}

.specialists-modal__close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:20;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #dce6ef;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  color:var(--navy);
  box-shadow:0 8px 22px rgba(20,55,90,.12);
  font-size:28px;
  line-height:1;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}

.specialists-modal__close:hover{
  transform:rotate(5deg) scale(1.05);
  background:var(--blue);
  color:#fff;
}

.specialists-modal .specialists-section{
  padding:0;
  background:transparent;
}

.specialists-modal .specialists-section>.container{
  width:100%;
  max-width:none;
}

.specialists-modal .section-heading{
  max-width:720px;
  margin-bottom:28px;
  padding-inline:50px;
}

.specialists-modal .section-heading h2{
  margin-bottom:0;
  font-size:clamp(30px,3vw,44px);
}

.specialists-modal .specialist-carousel{
  max-width:930px;
}

.specialists-modal .carousel-arrow{
  width:42px;
  height:42px;
}

@media (max-width:950px){
  .specialists-modal{
    padding:12px;
  }

  .specialists-modal__dialog{
    width:min(760px,calc(100vw - 24px));
    max-height:calc(100dvh - 24px);
    padding:58px 24px 24px;
    border-radius:24px;
  }

  .specialists-modal__close{
    top:12px;
    right:12px;
  }

  .specialists-modal .section-heading{
    padding-inline:20px;
    margin-bottom:24px;
  }

  .specialists-modal .carousel-arrow--prev{
    left:10px;
  }

  .specialists-modal .carousel-arrow--next{
    right:10px;
  }
}

@media (max-width:650px){
  .specialists-modal{
    padding:7px;
  }

  .specialists-modal__dialog{
    width:calc(100vw - 14px);
    max-height:calc(100dvh - 14px);
    padding:56px 12px 18px;
    border-radius:20px;
  }

  .specialists-modal .section-heading{
    padding-inline:8px;
    margin-bottom:20px;
  }

  .specialists-modal .section-heading .eyebrow{
    margin-bottom:8px;
  }

  .specialists-modal .section-heading h2{
    font-size:29px;
  }

  .specialists-modal .specialist-slide{
    border-radius:17px;
  }

  .specialists-modal .specialist-slide__image{
    min-height:280px;
  }

  .specialists-modal .specialist-slide__content{
    padding:24px 20px 26px;
  }

  .specialists-modal .specialist-stage{
    min-height:610px;
  }

  .specialists-modal .carousel-arrow{
    top:250px;
    width:38px;
    height:38px;
  }

  .specialists-modal .carousel-counter{
    margin-top:12px;
  }
}

@media (prefers-reduced-motion:reduce){
  .specialists-modal,
  .specialists-modal__dialog{
    transition:none !important;
  }
}


/* =========================================================
   YESKINES · Mapa corporal interactivo + padecimientos
   ========================================================= */

.needs-grid--interactive{
  grid-template-columns:.78fr 1.22fr;
  gap:48px;
}

.body-card--interactive{
  min-height:610px;
  padding:34px 28px 24px;
  background:
    radial-gradient(circle at 50% 45%,rgba(166,226,46,.08),transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}

.body-card--interactive .body-card__figure{
  position:relative;
  width:min(100%,360px);
  height:500px;
  margin:auto;
}

.body-card--interactive .body-card__silhouette{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
}

.body-hotspot{
  --hotspot-size:20px;
  position:absolute;
  left:var(--x);
  top:var(--y);
  z-index:8;
  width:var(--hotspot-size);
  height:var(--hotspot-size);
  padding:0;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--blue);
  box-shadow:
    0 0 0 1px rgba(0,71,171,.16),
    0 5px 16px rgba(0,71,171,.28);
  transform:translate(-50%,-50%);
  cursor:pointer;
  transition:
    transform .25s cubic-bezier(.2,.8,.2,1),
    background .25s ease,
    box-shadow .25s ease;
}

.body-hotspot::before,
.body-hotspot::after{
  content:"";
  position:absolute;
  inset:50%;
  width:100%;
  height:100%;
  border:1.5px solid rgba(0,71,171,.48);
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
}

.body-hotspot::before{
  animation:bodyHotspotPulse 2.15s ease-out infinite;
}

.body-hotspot::after{
  animation:bodyHotspotPulse 2.15s .72s ease-out infinite;
}

.body-hotspot:hover,
.body-hotspot:focus-visible{
  z-index:12;
  background:var(--lime);
  box-shadow:
    0 0 0 5px rgba(166,226,46,.16),
    0 8px 22px rgba(0,71,171,.25);
  transform:translate(-50%,-50%) scale(1.23);
  outline:none;
}

.body-hotspot[data-tooltip] span{
  pointer-events:none;
}

.body-hotspot[data-tooltip]::marker{
  display:none;
}

.body-hotspot[data-tooltip]:hover::after,
.body-hotspot[data-tooltip]:focus-visible::after{
  animation:none;
}

.body-hotspot[data-tooltip]{
  --tooltip-offset:30px;
}

.body-hotspot[data-tooltip]:hover{
  filter:none;
}

.body-hotspot[data-tooltip]:focus-visible{
  filter:none;
}

.body-hotspot[data-tooltip] + .body-hotspot{
  /* intencionalmente vacío: mantiene independencia de cada punto */
}

@keyframes bodyHotspotPulse{
  0%{
    opacity:.75;
    transform:translate(-50%,-50%) scale(.9);
  }
  80%,100%{
    opacity:0;
    transform:translate(-50%,-50%) scale(2.55);
  }
}

/* Tooltips generados con atributo */
.body-hotspot:hover{
  --show-tooltip:1;
}

.body-hotspot::selection{
  background:transparent;
}

.body-hotspot[data-tooltip]:hover::before,
.body-hotspot[data-tooltip]:focus-visible::before{
  animation:none;
  width:max-content;
  min-width:72px;
  height:auto;
  inset:auto auto calc(100% + 12px) 50%;
  padding:6px 9px;
  border:0;
  border-radius:8px;
  background:#082d4f;
  color:#fff;
  content:attr(data-tooltip);
  font-size:9px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  opacity:1;
  transform:translateX(-50%);
  box-shadow:0 8px 20px rgba(7,31,56,.18);
}

.body-card__hint{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:10px;
  padding:8px 12px;
  border:1px solid #e2ebf3;
  border-radius:999px;
  background:#fff;
  color:#61778e;
  font-size:9px;
  font-weight:700;
  box-shadow:0 7px 18px rgba(20,55,90,.05);
}

.body-card__hint-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 0 0 5px rgba(0,71,171,.10);
}

/* Ya no se usa la imagen de puntos anterior */
.body-card__points{
  display:none !important;
}

/* Ya no necesitamos los círculos decorativos anteriores */
.body-card--interactive .orbit{
  display:none;
}

/* =========================================================
   Columnas de padecimientos
   ========================================================= */

.service-cards--grouped{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}

.service-column{
  display:grid;
  gap:13px;
  min-width:0;
}

.service-column__heading{
  min-height:62px;
  padding:4px 4px 8px;
}

.service-column__heading span,
.service-column__heading small{
  display:block;
}

.service-column__heading span{
  position:relative;
  padding-left:18px;
  color:var(--navy);
  font-family:"Manrope",sans-serif;
  font-size:15px;
  font-weight:800;
}

.service-column__heading span::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:10px;
  height:2px;
  background:#ef777a;
  transform:translateY(-50%);
}

.service-column__heading small{
  margin-top:5px;
  padding-left:18px;
  color:#7b8fa2;
  font-size:9px;
}

.condition-card{
  position:relative;
  width:100%;
  min-height:126px;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:14px;
  align-items:start;
  text-align:left;
  color:var(--ink);
  cursor:pointer;
  overflow:hidden;
}

.condition-card::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-48px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:rgba(0,71,171,.045);
  transition:transform .32s ease,background .32s ease;
}

.condition-card:hover::after,
.condition-card:focus-visible::after{
  transform:scale(1.55);
  background:rgba(0,71,171,.07);
}

.condition-card:focus-visible{
  outline:3px solid rgba(0,71,171,.16);
  outline-offset:3px;
}

.condition-card .icon-chip{
  margin:0;
  width:34px;
  height:34px;
  font-size:9px;
  letter-spacing:.03em;
}

.condition-card h3{
  margin:1px 0 7px;
}

.condition-card p{
  min-height:34px;
}

.condition-card__action{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:10px;
  color:var(--blue);
  font-size:9px;
  font-weight:800;
}

.condition-card__action b{
  transition:transform .2s ease;
}

.condition-card:hover .condition-card__action b{
  transform:translateX(4px);
}

.condition-card--other{
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(135deg,rgba(166,226,46,.65),rgba(0,71,171,.35)) border-box;
  border:1px solid transparent;
}

/* =========================================================
   Modal dinámico de padecimientos
   ========================================================= */

.condition-modal[hidden]{
  display:none !important;
}

.condition-modal{
  position:fixed;
  inset:0;
  z-index:5200;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  visibility:hidden;
  transition:opacity .26s ease,visibility .26s ease;
}

.condition-modal.is-open{
  opacity:1;
  visibility:visible;
}

.condition-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,27,49,.74);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.condition-modal__dialog{
  position:relative;
  z-index:1;
  width:min(820px,calc(100vw - 40px));
  max-height:calc(100dvh - 40px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:44px 46px 36px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:28px;
  background:#fff;
  box-shadow:0 32px 90px rgba(2,24,45,.30);
  opacity:0;
  transform:translateY(18px) scale(.975);
  transition:
    transform .32s cubic-bezier(.2,.75,.2,1),
    opacity .25s ease;
}

.condition-modal.is-open .condition-modal__dialog{
  opacity:1;
  transform:none;
}

.condition-modal__accent{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  border-radius:28px 28px 0 0;
  background:linear-gradient(90deg,var(--lime),var(--blue-soft),var(--blue));
}

.condition-modal__close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:4;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #dce6ef;
  border-radius:50%;
  background:#fff;
  color:var(--navy);
  box-shadow:0 7px 20px rgba(20,55,90,.10);
  font-size:27px;
  line-height:1;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}

.condition-modal__close:hover{
  transform:rotate(6deg) scale(1.05);
  background:var(--blue);
  color:#fff;
}

.condition-modal__header{
  max-width:650px;
  padding-right:46px;
}

.condition-modal__eyebrow{
  display:inline-flex;
  margin-bottom:12px;
  padding:7px 10px;
  border-radius:999px;
  background:#edf5fe;
  color:var(--blue);
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.condition-modal__header h3{
  margin:0 0 12px;
  font-size:clamp(27px,3.5vw,40px);
  letter-spacing:-.035em;
}

.condition-modal__header p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.7;
}

.condition-modal__content{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:28px;
}

.condition-modal__panel{
  position:relative;
  padding:22px;
  border:1px solid #e2eaf2;
  border-radius:16px;
  background:#f8fbff;
}

.condition-modal__panel-number{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  margin-bottom:14px;
  border-radius:8px;
  background:#e9f3ff;
  color:var(--blue);
  font-size:8px;
  font-weight:900;
}

.condition-modal__panel h4{
  margin:0 0 12px;
  color:var(--navy);
  font-family:"Manrope",sans-serif;
  font-size:13px;
}

.condition-modal__panel ul{
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}

.condition-modal__panel li{
  position:relative;
  padding-left:17px;
  color:#60778d;
  font-size:10px;
  line-height:1.55;
}

.condition-modal__panel li::before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--lime);
  box-shadow:0 0 0 3px rgba(166,226,46,.12);
}

.condition-modal__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-top:18px;
  padding:18px 20px;
  border-radius:16px;
  background:linear-gradient(110deg,#0b345b,#084b88);
}

.condition-modal__footer p{
  max-width:470px;
  margin:0;
  color:#d5e5f4;
  font-size:9px;
  line-height:1.55;
}

.condition-modal__footer .btn{
  flex:0 0 auto;
  background:#fff;
  color:var(--blue);
  box-shadow:none;
}

/* =========================================================
   Responsive mapa y padecimientos
   ========================================================= */

@media (max-width:950px){
  .needs-grid--interactive{
    grid-template-columns:1fr;
  }

  .body-card--interactive{
    min-height:520px;
  }

  .body-card--interactive .body-card__figure{
    height:430px;
  }

  .service-cards--grouped{
    max-width:760px;
    margin-inline:auto;
  }
}

@media (max-width:650px){
  .service-cards--grouped{
    grid-template-columns:1fr;
    gap:30px;
  }

  .service-column__heading{
    min-height:auto;
    margin-bottom:2px;
  }

  .condition-card{
    min-height:0;
  }

  .body-card--interactive{
    min-height:480px;
    padding:24px 12px 20px;
  }

  .body-card--interactive .body-card__figure{
    width:min(100%,300px);
    height:390px;
  }

  .body-hotspot{
    --hotspot-size:18px;
  }

  .body-hotspot[data-tooltip]:hover::before,
  .body-hotspot[data-tooltip]:focus-visible::before{
    display:none;
  }

  .condition-modal{
    padding:8px;
  }

  .condition-modal__dialog{
    width:calc(100vw - 16px);
    max-height:calc(100dvh - 16px);
    padding:48px 18px 20px;
    border-radius:21px;
  }

  .condition-modal__header{
    padding-right:34px;
  }

  .condition-modal__content{
    grid-template-columns:1fr;
  }

  .condition-modal__footer{
    align-items:stretch;
    flex-direction:column;
  }

  .condition-modal__footer .btn{
    width:100%;
  }
}

@media (prefers-reduced-motion:reduce){
  .body-hotspot::before,
  .body-hotspot::after{
    animation:none !important;
  }

  .condition-modal,
  .condition-modal__dialog{
    transition:none !important;
  }
}

.topbar__right {
  display: flex;
  align-items: center;
  gap: 14px;
}

.topbar__cofepris {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: #ffffff;
  text-decoration: none;
  white-space: nowrap;
  opacity: 0.95;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.topbar__cofepris::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 10px;
  font-weight: 700;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

.topbar__cofepris:hover {
  opacity: 1;
  transform: translateY(-1px);
}

.topbar__social {
  display: flex;
  align-items: center;
  gap: 10px;
}

.topbar__social a {
  color: #ffffff;
  text-decoration: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.topbar__social a:hover {
  opacity: 0.85;
  transform: translateY(-1px);
}
/* =========================================================
   COFEPRIS - TOPBAR
========================================================= */

.topbar__right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.topbar__cofepris {
    display: flex;
    align-items: center;
    gap: 7px;

    padding: 4px 10px;

    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;

    background: rgba(255, 255, 255, 0.06);

    white-space: nowrap;
}

.topbar__cofepris::before {
    content: "✓";

    display: grid;
    place-items: center;

    width: 16px;
    height: 16px;

    border-radius: 50%;

    background: #A6E22E;
    color: #082d4f;

    font-size: 9px;
    font-weight: 900;
}

.topbar__cofepris-label {
    color: rgba(255,255,255,.78);

    font-size: 8px;
    font-weight: 600;

    text-transform: uppercase;
    letter-spacing: .05em;
}

.topbar__cofepris-folio {
    color: #ffffff;

    font-size: 9px;
    font-weight: 800;
}

.topbar__socials {
    display: flex;
    align-items: center;
    gap: 9px;
}

.topbar__socials a {
    display: grid;
    place-items: center;

    width: 22px;
    height: 22px;

    border-radius: 50%;

    transition:
        background .2s ease,
        transform .2s ease;
}

.topbar__socials a:hover {
    background: rgba(255,255,255,.10);
    transform: translateY(-1px);
}

.topbar__socials img {
    width: 14px;
    height: 14px;
    object-fit: contain;
}