/* Centro Médico Catalunya — case study
   Carga DESPUÉS de styles.css (comparte header, footer, menú y tokens).
   Figma 352:2971 (1440 wide). Cambios responsive: solo en @media (max-width:768px). */

/* ---- Fuentes ---- */
@font-face{font-family:'Editor\'s Note';font-weight:400;font-style:normal;font-display:swap;
  src:url("../assets/fonts/EditorsNote-Regular.woff2") format("woff2")}
@font-face{font-family:'Editor\'s Note';font-weight:400;font-style:italic;font-display:swap;
  src:url("../assets/fonts/EditorsNote-Italic.woff2") format("woff2")}
@font-face{font-family:'Aktiv Grotesk';font-weight:400;font-style:normal;font-display:swap;
  src:url("../assets/fonts/AktivGrotesk-Regular.woff2") format("woff2")}
@font-face{font-family:'Aktiv Grotesk';font-weight:500;font-style:normal;font-display:swap;
  src:url("../assets/fonts/AktivGrotesk-Medium.woff2") format("woff2")}
@font-face{font-family:'Aktiv Grotesk';font-weight:700;font-style:normal;font-display:swap;
  src:url("../assets/fonts/AktivGrotesk-Bold.woff2") format("woff2")}

/* ---- Tokens locales ---- */
.page-cmc{
  --ink:#292929;
  --g200:#DCDCDC; --g400:#989898; --g500:#7C7C7C; --g600:#656565;
  --gold:#F7BF0A;      /* yellow 1 */
  --gold-2:#DB9404;    /* yellow 2 */
  --cream:#FBEFC6;     /* tarjeta "Cita online" */
  --orange:#B56A08;    /* forma hero / doctor */
  --brown:#6E2F14;     /* banda "Expanding" + reflections */
  --serif:"Editor's Note", Georgia, "Times New Roman", serif;
  --ui:"Aktiv Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  --maxw:1280px;
  --gutter:80px;
  background:#FCFCFC;
  font-family:var(--ui);
}

/* Reveal on scroll */
.reveal-on .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal-on .reveal.is-visible{opacity:1;transform:none}

/* ---- Header igual a Priordei: fondo transparente (blanco) + menos padding vertical ---- */
.page-cmc .header{background:transparent;padding-top:16px;padding-bottom:16px}

/* ---- Utilidades comunes ---- */
.cmc{display:block}
.cmc-label{
  font-family:var(--ui);font-weight:700;font-size:20px;line-height:1.2;color:var(--ink);
  letter-spacing:2.4px;text-transform:uppercase;margin-bottom:16px;
}
.cmc-section-title{
  font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.28;color:var(--ink);
  letter-spacing:-.01em;
}
.cmc-section-title--left{text-align:left}
.cmc-section-sub{
  font-family:var(--ui);font-weight:400;font-size:20px;line-height:1.35;color:var(--ink);
  margin-top:16px;
}
.cmc-head{
  max-width:calc(var(--maxw) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter);
  text-align:center;
}
.cmc-head .cmc-section-title{max-width:1100px;margin:0 auto}
.cmc-head--light .cmc-section-title{color:#FCFCFC}
.cmc-head--light .cmc-section-sub{color:#FCFCFC}

/* Punto/tarjeta de texto con título en mayúsculas */
.cmc-point__title{
  font-family:var(--ui);font-weight:700;font-size:20px;line-height:1.3;letter-spacing:2px;
  text-transform:uppercase;color:var(--ink);margin-bottom:16px;
}
.cmc-point__text{
  font-family:var(--ui);font-weight:400;font-size:20px;line-height:1.5;color:var(--g600);
}

/* ============ HERO ============ */
.cmc-hero{max-width:calc(var(--maxw) + 2*var(--gutter));margin:0 auto;padding:56px var(--gutter) 0}
.cmc-hero__head{
  display:flex;flex-direction:column;align-items:center;gap:20px;
  text-align:center;max-width:640px;margin:0 auto;
}
.cmc-eyebrow{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;
  font-family:var(--ui);font-weight:400;font-size:16px;
  text-transform:uppercase;color:var(--ink);
}
.cmc-eyebrow__sep{color:var(--g400)}
.cmc-hero__title{
  font-family:var(--serif);font-weight:400;font-size:64px;line-height:1.05;color:var(--ink);
}
.cmc-hero__tagline{
  font-family:var(--ui);font-weight:700;font-size:20px;line-height:1.3;color:var(--ink);
}

/* Media block (vídeo + panel naranja con móvil) */
.cmc-hero__media{
  position:relative;margin-top:80px;width:100%;
  aspect-ratio:1280/750;overflow:hidden;background:#e9e9e9;
}
.cmc-hero__video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
}
.cmc-hero__panel{
  position:absolute;right:0;bottom:0;
  width:34.3%;height:52.8%;
  background:var(--orange);
  border-top-left-radius:min(20vw,260px);
}
/* Móvil del hero: recortado como en Figma (Mockup_contacto_centromedico 1).
   El contenedor recorta (overflow) y la imagen se escala/desplaza igual que el diseño. */
.cmc-hero__phone-clip{
  position:absolute;left:72.11%;top:28%;width:22.81%;height:72%;
  overflow:hidden;
  filter:drop-shadow(0 18px 40px rgba(0,0,0,.28));
}
.cmc-hero__phone{
  position:absolute;left:-141.4%;top:-23.77%;width:382.8%;height:155.37%;
  max-width:none;
}
/* Imagen del móvil solo para la versión móvil (oculta en escritorio) */
.cmc-hero__phone-mobile{display:none}

/* Lead serif centrado */
.cmc-lead{
  font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.3;color:var(--ink);
  text-align:center;max-width:1064px;margin:120px auto 0;letter-spacing:-.01em;
}

/* Brief: Product/Challenge/Solution + meta */
.cmc-brief{
  display:flex;justify-content:space-between;gap:48px;
  margin-top:110px;
}
.cmc-brief__text{max-width:738px;display:flex;flex-direction:column;gap:32px}
.cmc-brief__block p{font-family:var(--ui);font-size:20px;line-height:1.5;color:var(--ink)}
.cmc-brief__meta{flex:0 0 160px;display:flex;flex-direction:column;gap:56px}
.cmc-brief__role{font-family:var(--ui);font-size:20px;color:var(--ink)}
.cmc-brief__link{
  font-family:var(--ui);font-size:18px;color:var(--g600);
  text-decoration:underline;text-underline-position:from-font;align-self:flex-start;
}
.cmc-brief__link:hover{color:var(--ink)}

/* Impact band (caja gris dentro del contenido, con márgenes blancos como Priordei) */
.cmc-impact{margin-top:110px;background:#F2F2F0}
.cmc-impact__inner{padding:80px 40px}
.cmc-impact__title{
  font-family:var(--ui);font-weight:700;font-size:20px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink);margin-bottom:56px;
}
.cmc-impact__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:41px}
.cmc-impact__num{
  font-family:var(--ui);font-weight:500;font-size:56px;line-height:1;color:var(--ink);
}
.cmc-impact__num span{font-size:.62em}
.cmc-impact__cap{font-family:var(--ui);font-size:20px;color:var(--ink);margin-top:18px}
.cmc-impact__desc{font-family:var(--ui);font-size:16px;line-height:1.4;color:var(--g600);margin-top:16px}

/* ============ ORIGINAL SITE DIAGNOSIS ============ */
.cmc-diagnosis{padding:120px 0}
.cmc-diagnosis__frame{
  max-width:970px;margin:56px auto 0;padding:20px;
  background:#fff;border-radius:8px;box-shadow:0 24px 60px rgba(0,0,0,.10);
}
.cmc-diagnosis__frame img{width:100%;border-radius:2px;display:block}
.cmc-points{
  max-width:calc(var(--maxw) + 2*var(--gutter));margin:64px auto 0;padding:0 var(--gutter);
  display:grid;grid-template-columns:repeat(3,1fr);gap:15px;
}
.cmc-point{display:flex;gap:17px;max-width:417px}
.cmc-point__num{font-family:var(--ui);font-weight:400;font-size:20px;color:var(--ink);flex:0 0 auto}

/* ============ DRAG TO COMPARE ============ */
.cmc-compare{padding:120px 0;background:#FDF2CE}
.cmc-slider{
  position:relative;max-width:760px;margin:56px auto 0;
  aspect-ratio:1521/1792;border-radius:8px;overflow:hidden;
  user-select:none;touch-action:none;cursor:ew-resize;
  box-shadow:0 24px 60px rgba(0,0,0,.12);background:#eee;
}
.cmc-slider__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;
  display:block;pointer-events:none;
}
.cmc-slider__clip{position:absolute;inset:0;width:100%}
/* el "antes" ocupa todo el slider y se recorta con clip-path (siempre alineado) */
.cmc-slider__before{clip-path:inset(0 50% 0 0)}
.cmc-slider__tag{
  position:absolute;top:16px;z-index:3;
  font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:rgba(41,41,41,.72);padding:6px 12px;border-radius:20px;
  transition:opacity .25s ease;
}
.cmc-slider__tag--before{left:16px}
.cmc-slider__tag--after{right:16px}
/* Al deslizar hacia un extremo, se oculta la etiqueta del lado que deja de verse */
.cmc-slider.is-before-only .cmc-slider__tag--after{opacity:0}
.cmc-slider.is-after-only .cmc-slider__tag--before{opacity:0}
.cmc-slider__handle{
  position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;z-index:4;
  transform:translateX(-1px);box-shadow:0 0 0 1px rgba(0,0,0,.06);
}
.cmc-slider__grip{
  position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%);
  background:#fff;border-radius:50%;box-shadow:0 4px 14px rgba(0,0,0,.28);cursor:ew-resize;
  display:flex;align-items:center;justify-content:center;
}
.cmc-slider__grip::before,.cmc-slider__grip::after{
  content:"";position:absolute;width:0;height:0;border-block:6px solid transparent;
}
.cmc-slider__grip::before{left:11px;border-right:8px solid var(--ink)}
.cmc-slider__grip::after{right:11px;border-left:8px solid var(--ink)}
.cmc-slider__range{
  position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:5;
}
.cmc-changes{max-width:calc(var(--maxw) + 2*var(--gutter));margin:80px auto 0;padding:0 var(--gutter)}
.cmc-changes__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin-top:40px}
.cmc-changes__grid > div{max-width:380px}
/* Key changes: toda la tipografía en negro */
.cmc-changes .cmc-point__text{color:var(--ink)}

/* ============ WHERE 30 YEARS MEET DIGITAL ============ */
.cmc-showcase{padding:120px 0 0}
/* Banda de fondo color ladrillo (Figma #763211) detrás de las capturas */
.cmc-showcase__band{
  width:calc(100% - 2*var(--gutter));max-width:var(--maxw);margin:56px auto 0;
  background:#763211;
}
/* Capturas escalonadas: la 1ª pegada abajo (hueco arriba), la 2ª pegada arriba (hueco abajo) */
.cmc-showcase__shots{
  position:relative;max-width:940px;margin:0 auto;aspect-ratio:940/1000;
}
.cmc-showcase__shot{position:absolute;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.22)}
.cmc-showcase__shot img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.cmc-showcase__shot--1{left:0;bottom:0;width:54%;aspect-ratio:513/920;box-shadow:none}
.cmc-showcase__shot--2{right:0;top:0;width:41%;aspect-ratio:391/960}

/* ============ DESIGN SYSTEM & UI FOUNDATIONS (BENTO) ============ */
.cmc-bento-section{padding:120px var(--gutter);background:#F3F3F3}
.cmc-bento{
  max-width:1015px;margin:56px auto 0;
  display:flex;justify-content:center;align-items:flex-start;gap:33px;
}
.cmc-bento__col{display:flex;flex-direction:column;gap:33px}
.cmc-bento__col:nth-child(1){flex:0 0 322px;padding-top:142px}
.cmc-bento__col:nth-child(2){flex:0 0 347px;padding-top:0}
.cmc-bento__col:nth-child(3){flex:0 0 280px;padding-top:149px}
.cmc-card{background:#fff;border-radius:16px;box-shadow:0 4px 10px rgba(174,174,174,.25)}
/* Cards del bento que ya vienen montadas como imagen (buscador, sede, aseguradora) */
.cmc-bento-img{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 10px rgba(174,174,174,.25))}
/* Buscador y sede colocados como en Figma (object-cover en cajas de 308 y 348.5 sobre columna de 280) */
.cmc-filtro{width:110%;max-width:none;margin-left:-5%}
/* Sede como en Figma: el edificio llena la columna (ancho del buscador) y el +30 asoma por la derecha */
.cmc-sede{width:124.5%;max-width:none}

/* Botones */
.cmc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--ui);font-weight:600;font-size:15px;line-height:1;
  padding:12px 20px;border-radius:32px;transition:opacity .2s,transform .2s;
  /* Botones decorativos del case study: no navegables */
  pointer-events:none;cursor:default;
}
.cmc-btn:hover{opacity:.9}
.cmc-btn--gold{background:var(--gold);color:var(--ink)}
.cmc-btn--grey{background:#DCDCDC;color:var(--ink)}
.cmc-btn--block{width:100%}
.cmc-btn--center{justify-content:center}
.cmc-btn--sm{font-size:12px;padding:8px 14px;gap:8px}
.cmc-arrow{
  width:20px;height:20px;border-radius:50%;border:1px solid currentColor;flex:0 0 auto;
  position:relative;
}
.cmc-arrow::before{
  content:"";position:absolute;top:50%;left:50%;width:6px;height:6px;
  border-top:1.4px solid currentColor;border-right:1.4px solid currentColor;
  transform:translate(-60%,-50%) rotate(45deg);
}
.cmc-btn--sm .cmc-arrow{width:16px;height:16px}

/* Tarjeta "Cita online" */
.cmc-card--cita{background:var(--cream);padding:36px 30px;display:flex;flex-direction:column;align-items:center;text-align:center}
.cmc-card__title{font-family:var(--ui);font-weight:700;font-size:24px;color:var(--ink)}
.cmc-card__text{font-family:var(--ui);font-size:16px;line-height:1.4;color:var(--ink);margin:18px 0 28px;max-width:180px}

/* Doctor + forma naranja (composición completa en un PNG con transparencia) */
.cmc-doctor{position:relative}
.cmc-doctor__img{
  display:block;width:100%;height:auto;
  filter:drop-shadow(0 4px 10px rgba(174,174,174,.25));
}

/* Ficha de doctor (perfil) */
.cmc-docprofile{overflow:hidden}
.cmc-docprofile__media{aspect-ratio:347/251;background:#0b0b0b;overflow:hidden}
.cmc-docprofile__media video{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
.cmc-docprofile__body{padding:18px 20px 20px}
.cmc-docprofile__name{font-family:var(--ui);font-weight:700;font-size:16px;color:var(--ink)}
.cmc-docprofile__spec{font-family:var(--ui);font-size:14px;color:var(--ink);margin-top:6px}
.cmc-docprofile__col{font-family:var(--ui);font-size:13px;color:var(--g600);margin-top:8px}
.cmc-docprofile__actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.cmc-docprofile__actions .cmc-btn{padding:11px 16px;font-size:13px}

/* 97% */
.cmc-stat97{background:var(--gold-2);padding:44px 32px;text-align:center;color:#fff}
.cmc-stat97__num{font-family:var(--ui);font-weight:700;font-size:44px;line-height:1}
.cmc-stat97__cap{font-family:var(--ui);font-size:20px;margin-top:8px}

/* Consulta sin aseguradora */
.cmc-insurance{position:relative;aspect-ratio:347/230;overflow:hidden}
.cmc-insurance__img{width:100%;height:100%;object-fit:cover;display:block}
.cmc-insurance__overlay{
  position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);
  width:78%;background:#fff;border-radius:12px 12px 0 0;padding:16px 18px 18px;text-align:center;
  box-shadow:0 -8px 24px rgba(0,0,0,.08);
}
.cmc-insurance__title{font-family:var(--ui);font-weight:700;font-size:14px;color:var(--ink)}
.cmc-insurance__text{font-family:var(--ui);font-size:12px;color:var(--g600);margin:6px 0 12px}

/* Buscador */
.cmc-search{padding:28px 26px}
.cmc-field + .cmc-field{margin-top:22px}
.cmc-field__label{display:block;font-family:var(--ui);font-weight:700;font-size:14px;color:var(--ink);margin-bottom:12px}
.cmc-field__select{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-bottom:10px;border-bottom:1px solid var(--g400);
  font-family:var(--ui);font-size:14px;color:var(--g500);
}
.cmc-chevron{width:16px;height:16px;flex:0 0 auto;position:relative}
.cmc-chevron::before{
  content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;
  border-bottom:1.5px solid var(--ink);border-right:1.5px solid var(--ink);transform:rotate(45deg);
}
.cmc-search .cmc-btn{margin-top:28px}

/* Edificio */
.cmc-building{position:relative;border-radius:16px;overflow:visible}
.cmc-building__img{width:100%;aspect-ratio:280/268;object-fit:cover;border-radius:16px;display:block;box-shadow:0 4px 10px rgba(174,174,174,.25)}
.cmc-building__badge{
  position:absolute;right:-8px;bottom:16px;background:var(--orange);color:#fff;
  border-radius:12px;padding:14px 16px;min-width:130px;
}
.cmc-building__num{font-family:var(--ui);font-weight:700;font-size:40px;line-height:1}
.cmc-building__label{font-family:var(--ui);font-size:14px;margin-top:6px}

/* ============ MOBILE FIRST ============ */
.cmc-mobile-section{padding:120px 0 0}
.cmc-mobile{
  max-width:calc(var(--maxw) + 2*var(--gutter));margin:56px auto 0;padding:0 var(--gutter);
  display:grid;grid-template-columns:1fr 1fr;align-items:stretch;
}
.cmc-mobile__left{position:relative;aspect-ratio:640/769;overflow:hidden}
.cmc-mobile__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;display:block}
.cmc-mobile__card{
  position:absolute;left:48px;bottom:53px;right:auto;
  background:#fff;border-radius:16px;padding:32px;
  display:flex;flex-direction:column;gap:24px;align-items:center;
  box-shadow:0 20px 50px rgba(0,0,0,.18);
}
.cmc-mobile__stats{display:flex;gap:40px}
.cmc-mobile__num{font-family:var(--ui);font-weight:700;font-size:52px;line-height:1;color:var(--ink)}
.cmc-mobile__cap{font-family:var(--ui);font-size:18px;color:var(--ink);margin-top:8px;text-align:center}
.cmc-mobile__right{
  background:#F8CB51;display:flex;align-items:center;justify-content:center;padding:43px 0;
}
.cmc-mobile__phone{width:auto;height:100%;max-height:683px;filter:drop-shadow(0 20px 45px rgba(0,0,0,.3))}

/* ============ LOCATION ============ */
.cmc-location-section{padding:120px 0 0}
.cmc-location{position:relative;margin-top:56px;aspect-ratio:1440/790;overflow:hidden}
.cmc-location__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* Móviles: caja con overflow + imagen ampliada/posicionada, recortes exactos de Figma */
.cmc-location__phone{
  position:absolute;overflow:hidden;
  filter:drop-shadow(0 24px 55px rgba(0,0,0,.34));
}
.cmc-location__phone img{position:absolute;max-width:none;display:block}
.cmc-location__phone--front{left:37.57%;top:5.19%;width:24.79%;height:89.49%;z-index:2}
.cmc-location__phone--front img{left:-139.06%;top:-22%;width:378.21%;height:143.22%}
.cmc-location__phone--back{left:66.11%;top:0;width:25.14%;height:62.41%;z-index:1}
.cmc-location__phone--back img{left:-133.27%;top:-84.5%;width:372.98%;height:205.38%}

/* ============ EXPANDING ECOSYSTEM + REFLECTIONS ============ */
.cmc-eco{background:var(--brown);color:#FCFCFC;margin-top:120px;padding:120px 0 130px}
/* Bento como en Figma: flex de 2 columnas alineadas abajo; cada imagen recortada en su caja */
.cmc-eco__grid{
  width:calc(100% - 2*var(--gutter));max-width:1196px;margin:56px auto 0;position:relative;
  display:flex;gap:24px;align-items:flex-end;
}
.cmc-eco__olive{
  position:absolute;left:93.48%;top:0;width:6.5%;aspect-ratio:1;z-index:2;
  background:url("../assets/centro-medico/olive-icon.svg") center/contain no-repeat;
  filter:brightness(0) saturate(100%) invert(72%) sepia(60%) saturate(600%) hue-rotate(3deg);
}
.cmc-eco__col{display:flex;flex-direction:column;gap:25px}
.cmc-eco__col--left{flex:0 0 56.02%;align-items:flex-end}
.cmc-eco__col--right{flex:0 0 41.97%;align-items:flex-start}
.cmc-eco__item{position:relative;overflow:hidden;border-radius:8px;box-shadow:0 18px 45px rgba(0,0,0,.28);background:#fff}
.cmc-eco__item img{position:absolute;left:0;width:100%;max-width:none;display:block}
.cmc-eco__item--1{width:100%;aspect-ratio:670/500}
.cmc-eco__item--1 img{height:453.01%;top:-23%}
.cmc-eco__item--2{width:74.93%;aspect-ratio:502/350}
.cmc-eco__item--2 img{height:283.67%;top:-38.75%;left:-0.04%}
.cmc-eco__item--3{width:100%;aspect-ratio:502/346}
.cmc-eco__item--3 img{height:207.97%;top:-20.18%}
.cmc-eco__item--4{width:100%;aspect-ratio:502/350}
.cmc-eco__item--4 img{height:336.09%;top:-19.79%}

.cmc-reflections{max-width:calc(var(--maxw) + 2*var(--gutter));margin:96px auto 0;padding:0 var(--gutter)}
.cmc-reflections .cmc-section-title{color:#FCFCFC}
.cmc-reflections__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:70px;margin-top:44px}
.cmc-reflections__item{display:flex;gap:11px;max-width:380px}
.cmc-reflections__icon{width:24px;height:24px;flex:0 0 auto;filter:brightness(0) invert(1)}
.cmc-eco .cmc-point__title{color:#FCFCFC}
.cmc-eco .cmc-point__text{color:#FCFCFC}

/* ============ RESPONSIVE — TABLET ============ */
@media (max-width:1024px){
  .page-cmc{--gutter:48px}
  .cmc-hero__title{font-size:52px}
  .cmc-lead{font-size:32px;margin-top:80px}
  .cmc-section-title{font-size:34px}
  .cmc-brief{gap:32px}
  .cmc-bento{max-width:760px}
  .cmc-bento__col:nth-child(3){padding-top:0}
}

/* ============ RESPONSIVE — MÓVIL (solo aquí, sin tocar desktop) ============ */
@media (max-width:768px){
  .page-cmc{--gutter:24px}

  .cmc-hero{padding-top:32px}
  .cmc-eyebrow{gap:8px;font-size:11px;margin-bottom:20px}
  .cmc-hero__title{font-size:34px}
  .cmc-hero__tagline{font-size:17px}
  /* Hero móvil: sin vídeo, solo el móvil con la figura naranja debajo */
  .cmc-hero__media{aspect-ratio:1/1;height:auto;min-height:0;background:transparent;overflow:hidden;border-radius:0;margin-top:24px}
  .cmc-hero__video{display:none}
  .cmc-hero__phone-clip{display:none}
  .cmc-hero__panel{left:50%;right:auto;bottom:0;transform:translateX(-50%);width:82%;height:70%;border-top-left-radius:140px}
  .cmc-hero__phone-mobile{
    display:block;position:absolute;left:50%;bottom:0;transform:translateX(-50%);
    height:96%;width:auto;z-index:2;
  }

  .cmc-lead{font-size:24px;margin-top:64px}
  .cmc-brief{flex-direction:column;gap:32px;margin-top:72px}   /* intro → brief, igual que Priordei */
  .cmc-brief__text{max-width:none}
  .cmc-brief__meta{flex:none;gap:24px}
  .cmc-impact{margin-top:64px}
  .cmc-impact__inner{padding:48px var(--gutter)}
  .cmc-impact__title{margin-bottom:32px}
  .cmc-impact__grid{grid-template-columns:1fr;gap:36px}
  .cmc-impact__num{font-size:48px}

  .cmc-diagnosis,.cmc-compare,.cmc-showcase,.cmc-bento-section,
  .cmc-mobile-section,.cmc-location-section{padding-top:72px}
  /* Móvil: menos padding al final de estas secciones (en escritorio siguen a 120px) */
  .cmc-diagnosis,.cmc-compare{padding-bottom:72px}
  .cmc-diagnosis__frame{padding:10px;margin-top:32px}
  .cmc-points{grid-template-columns:1fr;gap:28px;margin-top:40px}
  .cmc-point{max-width:none}

  .cmc-slider{margin-top:32px}
  .cmc-changes{margin-top:56px}
  .cmc-changes__grid{grid-template-columns:1fr;gap:32px;margin-top:28px}
  .cmc-changes__grid > div{max-width:none}

  .cmc-showcase__band{padding:20px}
  .cmc-showcase__shots{position:static;max-width:none;aspect-ratio:auto;display:flex;flex-direction:column;gap:16px}
  .cmc-showcase__shot{position:static}
  .cmc-showcase__shot--1,.cmc-showcase__shot--2{width:100%;aspect-ratio:auto}
  .cmc-showcase__shot img{height:auto}

  /* Bento: apilar en una columna */
  .cmc-bento{flex-direction:column;align-items:stretch;max-width:420px;gap:20px}
  .cmc-filtro{width:100%;margin-left:0}
  .cmc-sede{width:100%}
  .cmc-bento__col{flex:none !important;gap:20px;padding-top:0 !important}
  .cmc-building__badge{right:8px}

  /* Mobile first: apilar foto y panel */
  .cmc-mobile{grid-template-columns:1fr;margin-top:32px}
  .cmc-mobile__left{aspect-ratio:5/6}
  .cmc-mobile__card{left:20px;right:20px;bottom:20px;padding:22px}
  .cmc-mobile__stats{gap:20px}
  .cmc-mobile__num{font-size:38px}
  .cmc-mobile__cap{font-size:15px}
  .cmc-mobile__right{padding:32px 24px}
  .cmc-mobile__phone{height:auto;width:66%;max-height:none}

  /* Location: en móvil solo el móvil de Horarios (se ocultan la doctora y el móvil recortado) */
  .cmc-location{aspect-ratio:auto;height:auto;margin-top:32px;display:flex;flex-direction:column;gap:0}
  .cmc-location__bg{display:none}
  .cmc-location__phone--back{display:none}
  .cmc-location__phone{position:relative;left:auto !important;top:auto !important;
    width:66% !important;height:auto !important;margin:0 auto;filter:none}
  .cmc-location__phone--front{aspect-ratio:357/707}

  /* Eco */
  .cmc-eco{margin-top:72px;padding:72px 0 80px}
  .cmc-eco__grid{flex-direction:column;align-items:stretch;gap:20px}
  .cmc-eco__col{width:100%;flex:none;align-items:stretch;gap:20px}
  .cmc-eco__item--2{width:100%}
  .cmc-eco__olive{left:auto;right:24px;top:-40px;width:44px}
  .cmc-reflections{margin-top:64px}
  .cmc-reflections__grid{grid-template-columns:1fr;gap:32px;margin-top:28px}
  .cmc-reflections__item{max-width:none}
}
