/*
Theme Name: Dr. Alan Martínez — Child Theme
Theme URI: https://dralanmartinez.com
Description: Child theme premium para Dr. Alan Martínez Moctezuma — Cirujano Plástico certificado en Polanco, CDMX. Arquitectura CSS con @layer, custom properties semánticas y rendering optimizado para Core Web Vitals.
Author: PURO · puro.com.mx
Author URI: https://puro.com.mx
Version: 3.1.0
Template: twentytwentyfour
Tags: medical, plastic-surgery, premium, polanco, cirujano-plastico
Text Domain: dr-alan-martinez
License: Proprietary
*/

/* Layer declaration — specificity cascade without !important */
@layer reset, tokens, base, layout, components, sections, utilities, wp-isolation;

/* ━━━ LAYER 1 · RESET ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@layer reset {
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; font-size: 16px; -webkit-text-size-adjust: 100%; }
  img, picture, video, svg { max-width: 100%; height: auto; display: block; }
  a { color: inherit; text-decoration: none; }
  #dr-alan-root a { text-decoration: none !important; }
  #dr-alan-root a.btn { text-decoration: none !important; color: inherit; }
  #dr-alan-root a.btn--whatsapp { color: white !important; }
  #dr-alan-root a.btn--primary { color: white !important; }
  #dr-alan-root .s-dark a.btn--primary,
  #dr-alan-root .casos-rino a.btn--primary { color: #2D3A42 !important; }
  #dr-alan-root .s-dark a.btn--primary:hover,
  #dr-alan-root .casos-rino a.btn--primary:hover { color: #1C2428 !important; }
  #dr-alan-root a.btn--outline-light { color: var(--c-ivory) !important; }
  button { font: inherit; cursor: pointer; background: none; border: none; }
  ul, ol { list-style: none; }
  :focus-visible { outline: 2px solid var(--c-accent); outline-offset: 2px; border-radius: 2px; }
}

/* ━━━ LAYER 2 · DESIGN TOKENS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@layer tokens {
  :root {
    /* Brand slate palette */
    --c-slate-900: #1C2428; --c-slate-800: #2D3A42; --c-slate-700: #3A4D58;
    --c-slate-600: #4A6272; --c-slate-500: #6B7F8A; --c-slate-400: #8FA0AA;
    --c-slate-300: #A8BCC6; --c-slate-200: #C8D4DA; --c-slate-100: #E2EBF0;
    /* Neutrals */
    --c-ivory: #EEECEA; --c-white: #FFFFFF; --c-dark: #1C2428;
    --c-gray-100: #F2F0EE; --c-gray-200: #E2DEDB; --c-gray-300: #C8C4C0;
    --c-gray-400: #A8A8A2; --c-gray-500: #7A7A76; --c-gray-600: #5C5C58;
    --c-gray-800: #2D3A42;
    /* Semantic */
    --c-accent: #4A6272; --c-success: #25D366;
    --c-surface: var(--c-white); --c-surface-alt: var(--c-ivory);
    --c-text: var(--c-gray-800); --c-text-muted: var(--c-gray-600);
    --c-text-on-dark: var(--c-ivory); --c-text-dim: rgba(238,236,234,0.65);
    --c-border: var(--c-gray-200); --c-border-dark: rgba(255,255,255,0.08);
    /* Type */
    --f-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --f-sans: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
    --fw-light: 300; --fw-regular: 400; --fw-medium: 500; --fw-semi: 600; --fw-bold: 700;
    --fs-h1: clamp(2.4rem, 4.5vw, 4.4rem); --fs-h2: clamp(2rem, 4vw, 3.2rem);
    --fs-h3: clamp(1.4rem, 2.5vw, 2rem); --fs-h4: clamp(1.1rem, 1.8vw, 1.4rem);
    --fs-body: clamp(0.88rem, 1vw, 1rem); --fs-small: 0.85rem;
    --fs-caption: 0.78rem; --fs-micro: 0.68rem; --fs-nano: 0.62rem; --fs-eyebrow: 0.65rem;
    /* Space */
    --sp-xs: 0.5rem; --sp-sm: 1rem; --sp-md: 2rem; --sp-lg: 4rem; --sp-xl: 6rem;
    --section-py: 7rem; --section-px: 2rem;
    /* Layout */
    --max-w: 1280px; --max-w-text: 680px;
    /* Radius */
    --r-sm: 2px; --r-md: 6px; --r-lg: 16px; --r-xl: 18px; --r-pill: 50px;
    /* Motion */
    --ease-out: cubic-bezier(0.25,0.46,0.45,0.94);
    --ease-spring: cubic-bezier(0.34,1.56,0.64,1);
    --ease-expo: cubic-bezier(0.16,1,0.3,1);
    --dur-fast: 0.2s; --dur-normal: 0.35s; --dur-slow: 0.6s; --dur-reveal: 0.8s;
    --transition: var(--dur-normal) var(--ease-out);
    /* Elevation */
    --shadow-card: 0 4px 32px rgba(0,0,0,0.08);
    --shadow-hover: 0 12px 48px rgba(0,0,0,0.15);
    --shadow-float: 0 20px 60px rgba(0,0,0,0.2);
    --shadow-wa: 0 4px 24px rgba(37,211,102,0.4);
    --shadow-wa-h: 0 8px 36px rgba(37,211,102,0.5);
    /* JS-updated */
    --topbar-h: 30px; --header-h: 70px;
  }
  /* Dark section overrides */
  .s-dark { --c-surface: #435B6B; --c-text: var(--c-ivory); --c-text-muted: rgba(238,236,234,0.75); --c-border: rgba(255,255,255,0.1); }
  .s-slate { --c-surface: var(--c-slate-500); --c-text: var(--c-ivory); --c-text-muted: rgba(238,236,234,0.72); --c-border: rgba(255,255,255,0.15); }
  .s-ivory { --c-surface: var(--c-ivory); }
  .s-gray { --c-surface: var(--c-gray-100); }

  @media (max-width: 768px) {
    :root { --section-px: 1.6rem; --section-py: 4rem; }
  }
  @media (max-width: 480px) {
    :root { --section-px: 1.3rem; --section-py: 3.5rem; }
  }
}

/* ━━━ LAYER 3 · BASE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@layer base {
  body {
    font-family: var(--f-sans); font-weight: var(--fw-light);
    color: var(--c-text); background: var(--c-white);
    line-height: 1.7; -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; overflow-x: hidden;
    overflow-wrap: break-word; word-wrap: break-word;
  }
  h1,h2,h3,h4,h5 { font-family: var(--f-serif); font-weight: var(--fw-regular); line-height: 1.15; color: var(--c-text); letter-spacing: -0.01em; overflow-wrap: break-word; hyphens: auto; }
  h1 { font-size: var(--fs-h1); } h2 { font-size: var(--fs-h2); }
  h3 { font-size: var(--fs-h3); } h4 { font-size: var(--fs-h4); }
  p { margin-bottom: 1.2rem; } p:last-child { margin-bottom: 0; }
  ::selection { background: rgba(74,98,114,0.2); color: var(--c-dark); }
}

/* ━━━ LAYER 4 · LAYOUT ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@layer layout {
  .container { max-width: var(--max-w); margin: 0 auto; padding: 0 var(--section-px); }
  .section {
    padding: var(--section-py) var(--section-px);
    background: var(--c-surface); color: var(--c-text);
    content-visibility: auto; contain-intrinsic-size: auto 800px;
    overflow-x: hidden;
  }
  .s-ivory { background-image: radial-gradient(circle at 20% 80%, rgba(74,98,114,0.04) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(74,98,114,0.03) 0%, transparent 50%); }
  .s-gray { background-image: radial-gradient(circle at 90% 10%, rgba(74,98,114,0.05) 0%, transparent 40%); }
}

/* ━━━ LAYER 5 · COMPONENTS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@layer components {
  /* Eyebrow */
  .eyebrow { font-family: var(--f-sans); font-size: var(--fs-eyebrow); font-weight: var(--fw-semi); letter-spacing: 0.22em; text-transform: uppercase; color: var(--c-slate-600); display: block; margin-bottom: var(--sp-sm); }
  .s-dark .eyebrow, .s-slate .eyebrow { color: var(--c-slate-200); }

  /* Buttons */
  .btn { display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.9rem 2rem; border-radius: var(--r-pill); font-family: var(--f-sans); font-size: 0.8rem; font-weight: var(--fw-semi); letter-spacing: 0.12em; text-transform: uppercase; cursor: pointer; border: 2px solid transparent; transition: all var(--transition); text-decoration: none !important; white-space: normal; will-change: transform; text-align: center; }
  .btn--primary { background: var(--c-slate-800); color: white !important; border-color: var(--c-slate-800); }
  .btn--primary:hover { background: var(--c-slate-600); border-color: var(--c-slate-600); transform: translateY(-2px); box-shadow: var(--shadow-hover); color: white !important; }
  .btn--outline { background: transparent; color: var(--c-text); border-color: currentColor; text-decoration: none !important; }
  .btn--outline:hover { background: var(--c-slate-800); color: var(--c-ivory) !important; transform: translateY(-2px); }
  .btn--outline-light { background: transparent; color: var(--c-ivory) !important; border: 2px solid rgba(255,255,255,0.4); text-decoration: none !important; }
  .btn--outline-light:hover { background: rgba(255,255,255,0.1); border-color: var(--c-ivory); }
  .btn--whatsapp { background: var(--c-success); color: white !important; border-color: var(--c-success); }
  .btn--whatsapp:hover { background: #1ebe5d; border-color: #1ebe5d; transform: translateY(-2px); box-shadow: var(--shadow-wa); color: white !important; }
  .btn svg { flex-shrink: 0; }

  /* Tags */
  .tag { background: rgba(74,98,114,0.09); color: var(--c-text); font-size: var(--fs-eyebrow); padding: 0.3rem 0.85rem; border-radius: var(--r-pill); border: 1px solid rgba(74,98,114,0.2); font-weight: var(--fw-medium); letter-spacing: 0.06em; text-transform: uppercase; }
  .treatment-pill { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.25); color: var(--c-ivory); font-size: 0.75rem; padding: 0.5rem 1rem; border-radius: var(--r-pill); letter-spacing: 0.06em; text-transform: uppercase; font-weight: var(--fw-medium); transition: all var(--transition); }
  .treatment-pill:hover { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.45); }

  /* Benefits */
  .benefit-item { display: flex; align-items: flex-start; gap: 0.8rem; font-size: 0.88rem; color: var(--c-gray-600); }
  .benefit-icon { width: 20px; height: 20px; background: var(--c-slate-600); border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; margin-top: 1px; }
  .benefit-icon::after { content: '✓'; color: white; font-size: 0.65rem; font-weight: bold; }

  /* Grayscale images */
  .img-gray { transition: filter var(--dur-slow) ease; }
  .img-gray:hover { filter: brightness(1.03); }
}

/* ━━━ LAYER 6 · SECTIONS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@layer sections {

  /* ── TOP BAR ─────────────────────────────────────────── */
  .topbar { display: block; background: var(--c-slate-800); font-family: var(--f-sans); font-size: var(--fs-eyebrow); font-weight: var(--fw-medium); letter-spacing: 0.1em; color: rgba(238,236,234,0.75); position: fixed; top: 0; left: 0; right: 0; z-index: 100000; border-bottom: 1px solid rgba(255,255,255,0.06); }
  .topbar__desktop { max-width: var(--max-w); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 0.45rem 2.5rem; }
  .topbar__item { display: flex; align-items: center; gap: 0.5rem; }
  .topbar__item svg { width: 12px; height: 12px; flex-shrink: 0; }
  .topbar__link { color: rgba(238,236,234,0.75); text-decoration: none; transition: color var(--dur-fast) ease; }
  .topbar__link:hover { color: var(--c-ivory); }
  .topbar__mobile { display: none; padding: 0.5rem 1.2rem; }
  .topbar__mobile-inner { display: flex; align-items: center; justify-content: space-between; }
  .topbar__mobile-item { display: flex; align-items: center; gap: 0.4rem; font-size: 0.6rem; letter-spacing: 0.08em; }
  .topbar__mobile-link { display: flex; align-items: center; gap: 0.35rem; color: #EEECEA; text-decoration: none; font-size: 0.6rem; letter-spacing: 0.06em; font-weight: var(--fw-semi); }
  @media (max-width: 900px) { .topbar__desktop { display: none; } .topbar__mobile { display: block; } }

  /* ── HEADER ──────────────────────────────────────────── */
  .site-header {
    position: fixed; left: 0; right: 0; z-index: 99999;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0.9rem 2.5rem; background: transparent;
    backdrop-filter: none; -webkit-backdrop-filter: none;
    border-bottom: 1px solid transparent; box-shadow: none;
    transition: background var(--dur-normal) ease, border-color var(--dur-normal) ease, box-shadow var(--dur-normal) ease, padding var(--dur-normal) ease;
    font-family: var(--f-sans); width: 100%; top: var(--topbar-h);
  }
  .site-header.is-scrolled {
    background: rgba(255,255,255,0.97); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    border-bottom-color: var(--c-gray-200); box-shadow: 0 2px 24px rgba(0,0,0,0.08); padding: 0.65rem 2.5rem;
  }
  .header__logo-link { display: flex; align-items: center; flex-shrink: 0; }
  .header__logo-img { height: 42px; width: auto; transition: filter var(--dur-normal) ease, opacity var(--dur-normal) ease; }

  /* Over hero: logo forced white via brightness filter */
  .site-header:not(.is-scrolled) .header__logo-img { filter: brightness(0) invert(1); }
  /* Scrolled: normal color logo */
  .site-header.is-scrolled .header__logo-img { filter: none; }

  /* Nav links */
  .header__nav { display: flex; gap: 2rem; margin: 0; padding: 0; }
  .nav-link { font-size: 0.72rem; font-weight: var(--fw-semi); letter-spacing: 0.1em; text-transform: uppercase; color: #EEECEA; transition: color var(--dur-normal) ease; position: relative; }
  .nav-link::after { content: ''; position: absolute; bottom: -4px; left: 0; right: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right center; transition: transform var(--dur-normal) var(--ease-expo); }
  .nav-link:hover::after { transform: scaleX(1); transform-origin: left center; }
  .site-header.is-scrolled .nav-link { color: var(--c-gray-600); }
  .site-header.is-scrolled .nav-link:hover { color: var(--c-slate-800); }

  /* Header CTA */
  .header__cta { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; }
  .header__wa-btn { display: flex; align-items: center; gap: 0.5rem; background: var(--c-success); color: #fff; border-radius: var(--r-pill); padding: 0.7rem 1.2rem; font-size: 0.7rem; font-weight: var(--fw-bold); letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--transition); }
  .header__wa-btn:hover { background: #1ebe5d; transform: translateY(-1px); box-shadow: var(--shadow-wa); }
  .header__wa-btn svg { width: 16px; height: 16px; fill: white; flex-shrink: 0; }

  /* Mobile CTAs */
  .header__mobile-ctas { display: none; align-items: center; gap: 0.3rem; }
  .header__mobile-cta-icon { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 0; border: none; color: #EEECEA; transition: color var(--dur-normal) ease, opacity var(--dur-normal) ease; flex-shrink: 0; }
  .header__mobile-cta-icon:active { opacity: 0.7; }
  .site-header.is-scrolled .header__mobile-cta-icon { color: var(--c-slate-800); }
  .header__mobile-cta-icon svg { width: 18px; height: 18px; flex-shrink: 0; }

  /* Hamburger */
  .hamburger { display: none; align-items: center; justify-content: center; width: 34px; height: 34px; color: rgba(255,255,255,0.9); flex-shrink: 0; padding: 0; }
  .hamburger svg { width: 20px; height: 20px; }
  .site-header.is-scrolled .hamburger { color: var(--c-slate-800); }

  /* Mobile nav overlay — fullscreen */
  .mobile-nav-overlay {
    position: fixed; inset: 0; background: rgba(28,36,40,0.95);
    backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
    z-index: 99998; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2.5rem;
    opacity: 0; visibility: hidden;
    transition: opacity var(--dur-slow) var(--ease-expo), visibility 0s var(--dur-slow);
  }
  .mobile-nav-overlay.is-open { opacity: 1; visibility: visible; transition: opacity var(--dur-slow) var(--ease-expo), visibility 0s 0s; }
  .mobile-nav-overlay a { font-family: var(--f-serif); font-size: 1.8rem; color: var(--c-ivory); font-weight: var(--fw-regular); letter-spacing: 0.02em; opacity: 0; transform: translateY(20px); transition: opacity var(--dur-slow) ease, transform var(--dur-slow) var(--ease-spring); }
  .mobile-nav-overlay.is-open a { opacity: 1; transform: translateY(0); }
  .mobile-nav-overlay.is-open a:nth-child(1) { transition-delay: 0.05s; }
  .mobile-nav-overlay.is-open a:nth-child(2) { transition-delay: 0.1s; }
  .mobile-nav-overlay.is-open a:nth-child(3) { transition-delay: 0.15s; }
  .mobile-nav-overlay.is-open a:nth-child(4) { transition-delay: 0.2s; }
  .mobile-nav-overlay.is-open a:nth-child(5) { transition-delay: 0.25s; }
  .mobile-nav-overlay.is-open a:nth-child(6) { transition-delay: 0.3s; }
  .mobile-nav-close { position: absolute; top: 1.5rem; right: 1.5rem; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; color: var(--c-ivory); }

  @media (max-width: 900px) {
    .header__nav { display: none; }
    .header__wa-btn { display: none; }
    .header__mobile-ctas { display: flex; }
    .hamburger { display: flex; }
    .site-header { padding: 0.7rem 1.2rem; }
    .header__logo-img { height: 36px; }
  }

  /* ── HERO ────────────────────────────────────────────── */
  .hero { display: block; min-height: 100vh; background: var(--c-slate-800); position: relative; overflow: hidden; font-family: var(--f-sans); content-visibility: visible; }
  .hero__image-col { position: absolute; top: 0; left: 50%; right: 0; bottom: 0; overflow: hidden; z-index: 0; }
  .hero__image-col img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; }
  .hero__grad-left { position: absolute; top: 0; left: 0; bottom: 0; width: 40%; background: linear-gradient(to right, var(--c-slate-800) 0%, transparent 100%); z-index: 2; pointer-events: none; }
  .hero__grad-bottom { position: absolute; bottom: 0; left: 0; right: 0; height: 25%; background: linear-gradient(to top, var(--c-slate-800) 0%, transparent 100%); z-index: 2; pointer-events: none; }
  .hero__ghost-logo { position: absolute; right: -4%; bottom: -5%; width: 45%; max-width: 600px; opacity: 0.03; pointer-events: none; z-index: 1; }
  .hero__content { position: relative; z-index: 3; display: flex; flex-direction: column; justify-content: center; min-height: 100vh; width: 52%; padding: 5rem clamp(1.4rem,3vw,3.5rem) 4rem clamp(1.4rem,5vw,5rem); }
  .hero__location { display: block; font-size: 0.6rem; font-weight: var(--fw-semi); letter-spacing: 0.22em; text-transform: uppercase; color: var(--c-slate-400); margin-bottom: 0.5rem; }
  .hero__doctor-name { font-family: var(--f-serif); font-size: clamp(1.5rem,2.4vw,2.2rem); font-weight: var(--fw-regular); color: var(--c-ivory); line-height: 1.1; margin: 0; letter-spacing: 0.01em; }
  .hero__divider { width: 40px; height: 1px; background: rgba(143,160,170,0.4); margin: 1.4rem 0; }
  .hero__title { font-family: var(--f-serif); font-size: var(--fs-h1); font-weight: var(--fw-light); color: var(--c-ivory); line-height: 1.06; letter-spacing: -0.01em; margin: 0 0 1.2rem; }
  .hero__title em { font-style: italic; color: var(--c-slate-400); }
  .hero__subtitle { font-size: clamp(0.85rem,1.1vw,0.95rem); font-weight: var(--fw-light); color: var(--c-text-dim); line-height: 1.7; max-width: 420px; margin: 0 0 1.2rem; }
  .hero__cedula { font-family: var(--f-sans); font-size: var(--fs-nano); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(238,236,234,0.55); margin-bottom: 2rem; display: block; border-left: 2px solid rgba(143,160,170,0.4); padding-left: 0.8rem; }
  .hero__actions { display: flex; flex-wrap: wrap; gap: 0.9rem; margin-bottom: 2.5rem; }
  .hero__mini-nav { display: flex; gap: 1.5rem; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 2rem; }
  .hero__mini-nav a { font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: #FFFFFF !important; font-weight: var(--fw-medium); padding-bottom: 3px; border-bottom: 1px solid transparent; transition: all var(--transition); opacity: 0.8; }
  .hero__mini-nav a:hover { color: #FFFFFF !important; opacity: 1; border-bottom-color: var(--c-accent); }

  @media (max-width: 768px) {
    .hero { min-height: 100svh; height: 100svh; max-height: 100svh; margin-top: 0; padding-top: 0; }
    .hero__image-col { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; }
    .hero__image-col img { object-position: 50% 0%; object-fit: cover; }
    .hero__image-col::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 25%; background: linear-gradient(to bottom, rgba(28,36,40,0.65) 0%, transparent 100%); z-index: 3; pointer-events: none; }
    .hero__image-col::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 60%; background: linear-gradient(to top, rgba(18,24,28,0.98) 0%, rgba(18,24,28,0.92) 30%, rgba(18,24,28,0.6) 55%, transparent 100%); z-index: 3; pointer-events: none; }
    .hero__grad-left, .hero__grad-bottom { display: none; }
    .hero__content { width: 100%; min-height: unset; justify-content: flex-end; align-items: flex-start; padding: 0 1.4rem 1.8rem; position: absolute; bottom: 0; left: 0; right: 0; }
    .hero__doctor-name { font-size: 0.95rem; margin-bottom: 0.2rem; }
    .hero__location { font-size: 0.48rem; letter-spacing: 0.18em; margin-bottom: 0.3rem; }
    .hero__divider { width: 24px; margin: 0.5rem 0; }
    .hero__title { font-size: clamp(1.15rem, 5vw, 1.5rem); line-height: 1.08; margin-bottom: 0.5rem; }
    .hero__subtitle { font-size: 0.7rem; max-width: 90%; line-height: 1.45; margin-bottom: 0.5rem; }
    .hero__cedula { font-size: 0.48rem; margin-bottom: 0.6rem; padding-left: 0.6rem; }
    .hero__actions { display: none; }
    .hero__ghost-logo { display: none; }
    .hero__mini-nav { display: none; }
  }
  @media (max-width: 480px) {
    .hero__content { padding-bottom: 1rem; }
    .hero__title { font-size: clamp(1.5rem, 6.5vw, 1.9rem); }
    .hero__mini-nav { display: none; }
  }

  /* ── CONFIANZA ───────────────────────────────────────── */
  .confianza { background: var(--c-white); padding: 5rem var(--section-px); border-bottom: 1px solid var(--c-gray-200); }
  .confianza__intro { text-align: center; margin-bottom: var(--sp-lg); }
  .confianza__intro p { font-size: 0.82rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-gray-400); font-weight: var(--fw-medium); }
  .confianza__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; align-items: stretch; max-width: 1100px; margin: 0 auto; }
  .confianza__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.8rem; padding: 2.2rem 1.5rem 1.8rem; background: #FAFAF9; border: 1px solid rgba(200,212,218,0.35); border-radius: var(--r-md); transition: all var(--transition); will-change: transform; }
  .confianza__item:hover { border-color: var(--c-slate-600); box-shadow: 0 8px 32px rgba(74,98,114,0.12); transform: translateY(-3px); }
  .confianza__logo-wrap { display: flex; align-items: center; justify-content: center; width: 100%; height: 90px; margin-bottom: 0.4rem; }
  .confianza__logo-wrap img { max-height: 84px; max-width: 220px; width: auto; height: auto; object-fit: contain; }
  .confianza__logo-wrap img[alt="AMCPER"] { max-height: 68px; max-width: 180px; }
  .confianza__name { font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: var(--fw-semi); color: var(--c-gray-600); line-height: 1.5; }
  .confianza__status { font-size: 0.62rem; letter-spacing: 0.06em; color: var(--c-slate-600); font-weight: var(--fw-medium); padding: 0.3rem 0.8rem; background: rgba(74,98,114,0.08); border-radius: var(--r-pill); }
  @media (max-width: 768px) { .confianza__grid { grid-template-columns: 1fr; max-width: 420px; } }
  @media (max-width: 500px) { .confianza { padding: 3.5rem var(--section-px); } .confianza__item { padding: 1.8rem 1.2rem 1.5rem; } .confianza__logo-wrap { height: 72px; } .confianza__logo-wrap img { max-height: 66px; max-width: 180px; } .confianza__logo-wrap img[alt="AMCPER"] { max-height: 54px; max-width: 150px; } }

  /* ── EJES ────────────────────────────────────────────── */
  .ejes__header { max-width: var(--max-w-text); margin-bottom: 5rem; }
  /* ── Ejes Panels — Full-width hero sections ──── */
  .ejes-panels__header { padding: 5rem var(--section-px) 2rem; background: #FAFAF9; text-align: center; }
  .ejes-panels__header h2 { margin-bottom: 0; }

  .eje-panel {
    display: flex;
    align-items: center;
    position: relative;
    min-height: 50vh;
    overflow: hidden;
    text-decoration: none !important;
    cursor: pointer;
  }
  .eje-panel__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  .eje-panel__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .eje-panel:hover .eje-panel__bg img { transform: scale(1.04); }
  .eje-panel__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(28,36,40,0.85) 0%, rgba(28,36,40,0.55) 50%, transparent 80%);
  }
  .eje-panel__content {
    position: relative;
    z-index: 1;
    padding: 4rem var(--section-px);
    max-width: 580px;
  }
  .eje-panel__number {
    font-family: var(--f-serif);
    font-size: 3.5rem;
    font-weight: 300;
    color: rgba(238,236,234,0.15);
    line-height: 1;
    display: block;
    margin-bottom: 0.5rem;
  }
  .eje-panel__content h3 {
    font-family: var(--f-serif);
    font-size: 2.2rem;
    font-weight: 400;
    color: #EEECEA !important;
    line-height: 1.2;
    margin-bottom: 0.8rem;
  }
  .eje-panel__content p {
    font-size: 0.95rem;
    color: rgba(238,236,234,0.7) !important;
    line-height: 1.65;
    margin-bottom: 1.2rem;
  }
  .eje-panel__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 1.5rem;
  }
  .eje-panel__tags span {
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(238,236,234,0.55);
    padding: 0.3rem 0.7rem;
    border: 1px solid rgba(238,236,234,0.15);
    border-radius: 999px;
  }
  .eje-panel__cta {
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #EEECEA !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: gap 0.3s ease;
  }
  .eje-panel:hover .eje-panel__cta { gap: 0.8rem; }

  /* Alternate panels: even panels have content on right */
  .eje-panel:nth-child(odd) .eje-panel__overlay {
    background: linear-gradient(105deg, rgba(28,36,40,0.85) 0%, rgba(28,36,40,0.55) 50%, transparent 80%);
  }
  .eje-panel:nth-child(even) {
    justify-content: flex-end;
  }
  .eje-panel:nth-child(even) .eje-panel__overlay {
    background: linear-gradient(255deg, rgba(28,36,40,0.85) 0%, rgba(28,36,40,0.55) 50%, transparent 80%);
  }
  .eje-panel:nth-child(even) .eje-panel__content {
    text-align: right;
  }
  .eje-panel:nth-child(even) .eje-panel__tags {
    justify-content: flex-end;
  }

  @media (max-width: 768px) {
    .eje-panel { min-height: 65vh; align-items: flex-end; }
    .eje-panel__content { max-width: 100%; padding: 2rem var(--section-px) 3rem; }
    .eje-panel__overlay {
      background: linear-gradient(to top, rgba(28,36,40,0.9) 0%, rgba(28,36,40,0.5) 50%, transparent 100%) !important;
    }
    .eje-panel:nth-child(even) { justify-content: flex-start; }
    .eje-panel:nth-child(even) .eje-panel__content { text-align: left; }
    .eje-panel:nth-child(even) .eje-panel__tags { justify-content: flex-start; }
    .eje-panel__number { font-size: 2.5rem; }
    .eje-panel__content h3 { font-size: 1.8rem; }
  }

  /* Remove old card styles that no longer apply */
  .eje__procedures { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
  .eje__cta { display: inline-block; margin-top: 1.2rem; font-family: var(--f-sans); font-size: 0.78rem; font-weight: var(--fw-semi); letter-spacing: 0.08em; color: var(--c-slate-700); text-decoration: none; transition: color 0.25s ease; }
  .eje__cta:hover { color: var(--c-slate-800); }

  /* ── MAMA ─────────────────────────────────────────────── */
  .mama__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: start; }
  .mama__image { position: sticky; top: 120px; }
  .mama__image img { width: 100%; border-radius: var(--r-lg); box-shadow: var(--shadow-hover); }
  .mama__content h2 { margin-bottom: 1.5rem; }
  .mama__intro { font-size: var(--fs-body); color: var(--c-gray-600); margin-bottom: 3rem; line-height: 1.7; }
  .mama__sub { margin-bottom: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--c-gray-200); }
  .mama__sub:last-of-type { border-bottom: none; }
  .mama__sub h4 { color: var(--c-text); margin-bottom: 0.8rem; }
  .mama__sub p { font-size: 0.92rem; color: var(--c-gray-600); }
  .benefits-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2.5rem 0; }
  @media (max-width: 900px) { .mama__layout { grid-template-columns: 1fr; } .mama__image { position: static; } .benefits-list { grid-template-columns: 1fr; } }
  @media (max-width: 768px) {
    .mama__image img { max-height: 55vh; object-fit: cover; border-radius: var(--r-md); }
  }

  /* ── RINOPLASTIA ─────────────────────────────────────── */
  .rino__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
  .rino__image img { width: 100%; border-radius: var(--r-lg); }
  .rino__content h2 { margin-bottom: 1.5rem; }
  .rino__intro { color: var(--c-text-dim); margin-bottom: 2.5rem; line-height: 1.7; }
  .rino__pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 3rem; }
  .rino__pillar { padding: 1.2rem; background: rgba(255,255,255,0.04); border-radius: var(--r-md); border: 1px solid rgba(255,255,255,0.06); }
  .rino__pillar h4 { font-size: 1rem; margin-bottom: 0.4rem; color: var(--c-slate-200); }
  .rino__pillar p { font-size: var(--fs-small); color: rgba(250,248,245,0.65); line-height: 1.5; }

  /* FAQ accordion */
  .faqs { margin-top: 3rem; }
  .faq { border-top: 1px solid var(--c-border); padding: 1.5rem 0; }
  .faq:last-child { border-bottom: 1px solid var(--c-border); }
  .faq__q { font-family: var(--f-sans); font-size: 0.9rem; font-weight: var(--fw-medium); color: var(--c-text); margin-bottom: 0; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 1rem; transition: color var(--dur-fast) ease; user-select: none; }
  .faq__q::after { content: '+'; font-size: 1.2rem; font-weight: var(--fw-light); color: var(--c-slate-400); flex-shrink: 0; transition: transform var(--dur-normal) var(--ease-spring); }
  .faq.is-open .faq__q::after { transform: rotate(45deg); }
  .faq__q:hover { color: var(--c-slate-300); }
  .faq__a { font-size: var(--fs-small); color: var(--c-text-muted); line-height: 1.6; max-height: 0; overflow: hidden; transition: max-height var(--dur-slow) var(--ease-expo), padding var(--dur-slow) var(--ease-expo), opacity var(--dur-normal) ease; opacity: 0; padding-top: 0; }
  .faq.is-open .faq__a { max-height: 500px; opacity: 1; padding-top: 0.75rem; }
  @media (max-width: 900px) { .rino__layout { grid-template-columns: 1fr; } .rino__pillars { grid-template-columns: 1fr; } }

  /* ── CASOS CLÍNICOS ──────────────────────────────────── */
  .casos-rino { background: var(--c-dark); padding: var(--section-py) var(--section-px); color: var(--c-ivory); overflow-x: hidden; }
  .casos-rino h1, .casos-rino h2, .casos-rino h3, .casos-rino h4 { color: var(--c-ivory); }
  .casos__header { max-width: 720px; margin-bottom: 5rem; }
  .casos__header h2 { color: var(--c-ivory); margin-bottom: 1.5rem; }
  .casos__header h2 em { font-style: italic; color: var(--c-slate-400); }
  .casos__lead { color: rgba(238,236,234,0.72); font-size: var(--fs-body); line-height: 1.75; }
  .casos__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 4rem; }
  .caso__card { display: flex; flex-direction: column; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-radius: var(--r-lg); overflow: hidden; transition: all var(--transition); will-change: transform; }
  .caso__card:hover { border-color: rgba(143,160,170,0.3); transform: translateY(-4px); box-shadow: var(--shadow-float); }
  .caso__image-wrap { position: relative; overflow: hidden; aspect-ratio: 3/4; }
  .caso__image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; transition: transform 0.7s ease; }
  .caso__card:hover .caso__image-wrap img { transform: scale(1.03); }
  .caso__badge { position: absolute; top: 1.2rem; left: 1.2rem; background: rgba(45,58,66,0.85); backdrop-filter: blur(8px); color: var(--c-slate-200); font-family: var(--f-sans); font-size: var(--fs-eyebrow); font-weight: var(--fw-semi); letter-spacing: 0.18em; text-transform: uppercase; padding: 0.45rem 1rem; border-radius: var(--r-pill); border: 1px solid rgba(200,212,218,0.2); }
  .caso__img-disclaimer { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 100%); color: rgba(255,255,255,0.55); font-family: var(--f-sans); font-size: 0.58rem; letter-spacing: 0.04em; line-height: 1.4; padding: 2rem 1rem 0.7rem; text-align: center; pointer-events: none; }
  .caso__body { padding: 2rem 2rem 2.5rem; flex: 1; display: flex; flex-direction: column; }
  .caso__body h3 { font-family: var(--f-serif); font-size: 1.5rem; color: var(--c-ivory); margin-bottom: 1rem; font-weight: var(--fw-regular); }
  .caso__body p { font-size: 0.9rem; color: rgba(238,236,234,0.68); line-height: 1.7; flex: 1; margin-bottom: 1.8rem; }
  .caso__details { list-style: none; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; }
  .caso__details li { display: flex; justify-content: space-between; align-items: baseline; font-size: 0.8rem; color: rgba(238,236,234,0.55); }
  .caso__details li span { font-size: var(--fs-eyebrow); letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-slate-600); font-weight: var(--fw-semi); flex-shrink: 0; margin-right: 1rem; }
  .casos__disclaimer { display: flex; align-items: flex-start; gap: 1.2rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-left: 3px solid var(--c-slate-600); border-radius: var(--r-md); padding: 1.5rem 2rem; margin-bottom: 3.5rem; }
  .disclaimer__icon { width: 28px; height: 28px; background: var(--c-slate-600); color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.85rem; font-weight: bold; flex-shrink: 0; margin-top: 2px; }
  .casos__disclaimer p { font-size: 0.8rem; color: rgba(238,236,234,0.5); line-height: 1.65; margin: 0; }
  .casos__cta { text-align: center; }
  .casos__cta p { font-family: var(--f-sans); font-size: 0.9rem; color: rgba(238,236,234,0.65); font-style: normal; margin-bottom: 2rem; line-height: 1.7; }
  @media (max-width: 900px) { .casos__grid { grid-template-columns: 1fr; gap: 1.5rem; } .caso__image-wrap { aspect-ratio: 3/3.5; max-height: 65vh; } }
  @media (max-width: 768px) { .casos-rino { padding: 5rem var(--section-px); } .casos-img-grid { grid-template-columns: 1fr; grid-template-rows: auto; } .casos-img-1 { min-height: 75vw; } }
  @media (max-width: 600px) { .casos__disclaimer { flex-direction: column; gap: 0.8rem; } }
  @media (max-width: 480px) { .casos-rino .ficha-row { flex-direction: column; gap: 0.2rem; } .casos-rino .ficha-row span:first-child { flex: none; margin-bottom: 0.1rem; } }

  /* ── REJUVENECIMIENTO ────────────────────────────────── */
  .rejuv__header { max-width: var(--max-w-text); margin-bottom: 5rem; }
  .rejuv__header h2 { margin-bottom: 1.5rem; }
  .rejuv__header p { color: var(--c-gray-600); }
  .rejuv__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; margin-bottom: var(--sp-lg); }
  .rejuv__card { background: var(--c-white); padding: 2.5rem; border-radius: var(--r-xl); box-shadow: 0 4px 24px rgba(45,58,66,0.07); border: 1px solid rgba(200,212,218,0.3); border-left: 3px solid var(--c-slate-600); transition: all var(--transition); will-change: transform; }
  .rejuv__card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
  .rejuv__card h3 { color: var(--c-text); margin-bottom: 1rem; font-size: 1.4rem; }
  .rejuv__card p { font-size: 0.9rem; color: var(--c-gray-600); line-height: 1.65; }
  .rejuv__non-surgical { background: var(--c-slate-500); border-radius: var(--r-md); padding: 3.5rem; color: var(--c-ivory); display: grid; grid-template-columns: 1fr 2fr; gap: 3rem; align-items: center; }
  .rejuv__non-surgical h3 { color: var(--c-ivory); margin-bottom: 1rem; }
  .rejuv__non-surgical p { color: rgba(250,248,245,0.75); font-size: 0.9rem; }
  .non-surgical-treatments { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 1.5rem; }
  @media (max-width: 900px) { .rejuv__grid { grid-template-columns: 1fr; } .rejuv__non-surgical { grid-template-columns: 1fr; } }

  /* ── SOBRE EL DOCTOR ─────────────────────────────────── */
  .doctor__layout { display: grid; grid-template-columns: 5fr 7fr; gap: 6rem; align-items: center; }
  .doctor__image img { width: 100%; border-radius: var(--r-md); box-shadow: var(--shadow-hover); }
  .doctor__bio h2 { margin-bottom: 1.5rem; }
  .doctor__bio .lead { font-family: var(--f-serif); font-size: 1.35rem; font-style: italic; color: var(--c-text); line-height: 1.5; margin-bottom: 2rem; }
  .doctor__bio p { font-size: 0.95rem; color: var(--c-gray-600); line-height: 1.7; }
  .doctor__credentials { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 2.5rem; }
  .credential { position: relative; padding: 1.4rem 1.6rem 1.4rem 1.8rem; background: linear-gradient(135deg, #F8F9FA 0%, var(--c-ivory) 100%); border-radius: var(--r-lg); overflow: hidden; transition: transform var(--dur-normal) ease, box-shadow var(--dur-normal) ease; border: 1px solid rgba(200,212,218,0.5); will-change: transform; }
  .credential::before { content: ''; position: absolute; top: 0; left: 0; width: 3px; height: 100%; background: linear-gradient(to bottom, var(--c-slate-600), var(--c-slate-500)); border-radius: var(--r-lg) 0 0 var(--r-lg); }
  .credential::after { content: attr(data-index); position: absolute; bottom: -0.4rem; right: 0.8rem; font-family: var(--f-serif); font-size: 4.5rem; font-weight: 600; color: rgba(74,98,114,0.06); line-height: 1; pointer-events: none; user-select: none; }
  .credential:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(45,58,66,0.1); }
  .credential__label { font-family: var(--f-sans); font-size: 0.55rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--c-slate-600); font-weight: var(--fw-bold); margin-bottom: 0.5rem; display: block; }
  .credential__value { font-family: var(--f-sans); font-size: 0.92rem; font-weight: var(--fw-semi); color: var(--c-text); line-height: 1.3; }
  @media (max-width: 900px) { .doctor__layout { grid-template-columns: 1fr; } .doctor__credentials { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 500px) { .doctor__credentials { grid-template-columns: 1fr; } }

  /* ── MITOS ───────────────────────────────────────────── */
  .mitos__header { max-width: var(--max-w-text); margin-bottom: var(--sp-lg); }
  .mitos__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
  .mito__card { background: var(--c-white); border-radius: var(--r-xl); overflow: hidden; box-shadow: 0 4px 24px rgba(45,58,66,0.07); border: 1px solid rgba(200,212,218,0.35); transition: transform var(--dur-normal) ease, box-shadow var(--dur-normal) ease; will-change: transform; }
  .mito__card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(45,58,66,0.12); }
  .mito__label-mito { background: var(--c-gray-800); color: var(--c-ivory); padding: 1rem 1.5rem; font-size: var(--fs-eyebrow); letter-spacing: 0.2em; text-transform: uppercase; font-weight: var(--fw-semi); }
  .mito__label-real { background: var(--c-slate-800); color: var(--c-ivory); padding: 1rem 1.5rem; font-size: var(--fs-eyebrow); letter-spacing: 0.2em; text-transform: uppercase; font-weight: var(--fw-semi); }
  .mito__body { padding: 1.5rem; }
  .mito__myth { font-size: 0.95rem; color: var(--c-gray-600); font-style: italic; margin-bottom: 0.5rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--c-gray-200); }
  .mito__reality { font-size: 0.9rem; color: var(--c-text); line-height: 1.6; }
  @media (max-width: 900px) { .mitos__grid { grid-template-columns: 1fr; } }

  /* ── CONTACTO ────────────────────────────────────────── */
  .contacto { background-color: var(--c-slate-800); color: var(--c-ivory); position: relative; overflow: hidden; }
  .contacto::before { content: ''; position: absolute; inset: 0; background: url('images/contacto-bg-desktop.webp') center bottom / cover no-repeat; opacity: 0.15; pointer-events: none; z-index: 0; }
  .contacto > .container { position: relative; z-index: 1; }
  @media (max-width: 768px) {
    .contacto::before { background-image: url('images/contacto-bg-mobile.webp'); }
  }
  .contacto h1, .contacto h2, .contacto h3, .contacto h4 { color: var(--c-ivory); }
  .contacto__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: start; }
  .contacto__info h2 { color: var(--c-ivory); margin-bottom: 1.5rem; }
  .contacto__info p { color: rgba(250,248,245,0.7); line-height: 1.7; }
  .contacto__details { margin: 2.5rem 0; }
  .contacto__detail { display: flex; align-items: flex-start; gap: 1rem; padding: 1.2rem 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
  .contacto__detail:last-child { border-bottom: none; }
  .detail__icon { width: 40px; height: 40px; background: rgba(255,255,255,0.05); border-radius: var(--r-md); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 1.1rem; }
  .detail__label { font-size: var(--fs-micro); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(238,236,234,0.6) !important; font-weight: var(--fw-medium); }
  .detail__value { font-family: var(--f-serif); font-size: 1.05rem; color: var(--c-ivory); margin-top: 0.2rem; }
  .detail__note { font-size: var(--fs-caption); color: rgba(250,248,245,0.45); margin-top: 0.2rem; }
  .contacto__form { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--r-lg); padding: 3rem; }
  .contacto__form h3 { color: var(--c-ivory); margin-bottom: 2rem; font-size: 1.4rem; }
  .form-group { margin-bottom: 1.5rem; }
  .form-group label { display: block; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(250,248,245,0.55); font-weight: var(--fw-medium); margin-bottom: 0.5rem; }
  .form-group input, .form-group select, .form-group textarea { width: 100%; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--r-sm); padding: 0.9rem 1.2rem; color: var(--c-ivory); font-family: var(--f-sans); font-size: 0.9rem; transition: border-color var(--transition), background var(--transition); outline: none; }
  .form-group select option { background: var(--c-dark); }
  .form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--c-accent); background: rgba(255,255,255,0.08); }
  .form-group textarea { height: 120px; resize: vertical; }
  .form-privacy { font-size: 0.75rem; color: rgba(250,248,245,0.35); margin-top: 1.5rem; line-height: 1.5; }
  @media (max-width: 900px) { .contacto__layout { grid-template-columns: 1fr; } .contacto__form { padding: 2rem; } }
  @media (max-width: 768px) { .contacto { padding-bottom: 6rem; } }

  /* ── FOOTER ──────────────────────────────────────────── */
  .site-footer { background: var(--c-slate-800); color: rgba(250,248,245,0.7); padding: 4rem var(--section-px) 2.5rem; }
  .site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5 { color: var(--c-ivory); }
  .footer__top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; padding-bottom: 3rem; border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 2.5rem; }
  .footer__brand .brand-name { font-family: var(--f-serif); font-size: 1.5rem; color: var(--c-ivory); display: block; margin-bottom: 0.3rem; }
  .footer__brand .brand-spec { font-size: 0.7rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--c-accent); font-weight: var(--fw-medium); display: block; margin-bottom: 1.5rem; }
  .footer__brand p { font-size: var(--fs-small); line-height: 1.6; }
  .footer__col h5 { font-family: var(--f-sans); font-size: var(--fs-micro); letter-spacing: 0.18em; text-transform: uppercase; color: var(--c-accent); font-weight: var(--fw-semi); margin-bottom: 1.5rem; }
  .footer__col ul li { margin-bottom: 0.7rem; font-size: var(--fs-small); }
  .footer__col ul li a { color: rgba(250,248,245,0.65); transition: color var(--dur-fast) ease; }
  .footer__col ul li a:hover { color: var(--c-ivory); }
  .footer__bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
  .footer__bottom p { font-size: 0.75rem; }
  .footer__legal { font-size: 0.78rem; color: rgba(250,248,245,0.85); line-height: 1.6; }
  @media (max-width: 900px) { .footer__top { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 600px) { .footer__top { grid-template-columns: 1fr; } }
}



/* ━━━ LAYER 7 · UTILITIES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@layer utilities {
  /* Scroll reveal */
  .reveal { opacity: 0; transform: translateY(30px); transition: opacity var(--dur-reveal) var(--ease-expo), transform var(--dur-reveal) var(--ease-expo); }
  .reveal.visible { opacity: 1; transform: translateY(0); }
  .reveal-delay-1 { transition-delay: 0.08s; } .reveal-delay-2 { transition-delay: 0.16s; }
  .reveal-delay-3 { transition-delay: 0.24s; } .reveal-delay-4 { transition-delay: 0.32s; }
  .reveal-delay-5 { transition-delay: 0.40s; } .reveal-delay-6 { transition-delay: 0.48s; }
  /* Scale reveal variant */
  .reveal--scale { opacity: 0; transform: scale(0.95) translateY(20px); transition: opacity var(--dur-reveal) var(--ease-expo), transform var(--dur-reveal) var(--ease-spring); }
  .reveal--scale.visible { opacity: 1; transform: scale(1) translateY(0); }
  /* Fade only */
  .reveal--fade { opacity: 0; transition: opacity var(--dur-reveal) var(--ease-expo); transform: none; }
  .reveal--fade.visible { opacity: 1; }

  /* Screen reader only */
  .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0; }
}

/* ━━━ LAYER 8 · WP ISOLATION ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@layer wp-isolation {
  body.dr-alan-home { background: var(--c-slate-800) !important; }
  body.dr-alan-home > *:not(#dr-alan-root):not(#cookie-banner):not(script):not(style):not(link) { display: none; visibility: hidden; }
  body.dr-alan-home { padding: 0; margin: 0; }
  body.dr-alan-home #dr-alan-root { display: block; visibility: visible; opacity: 1; }
  body.dr-alan-home .wp-site-blocks, body.dr-alan-home .site,
  body.dr-alan-home header.wp-block-template-part,
  body.dr-alan-home footer.wp-block-template-part { display: none; }
  /* Force OUR header and all its children to be visible */
  body.dr-alan-home #dr-alan-root #site-header,
  body.dr-alan-home #dr-alan-root #site-header * { display: revert; visibility: visible; }
  body.dr-alan-home #dr-alan-root #site-header { display: flex; }
  body.dr-alan-home #dr-alan-root #site-header .header__nav { display: flex; }
  body.dr-alan-home #dr-alan-root #site-header .hamburger { display: none; }
  body.dr-alan-home #dr-alan-root #site-header .header__wa-btn { display: flex; }
}

/* Print */
@media print {
  .topbar, .site-header, .float-btn, .mobile-nav-overlay { display: none; }
  .section { content-visibility: visible; page-break-inside: avoid; }
  .hero { min-height: auto; }
  body { font-size: 12pt; }
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   DARK SECTION OVERRIDES — UNLAYERED (highest specificity)
   Anything on dark background (#2D3A42, #1C2428) → white text
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── Headings: white on dark ───────────────────────────── */
.s-dark h1, .s-dark h2, .s-dark h3, .s-dark h4, .s-dark h5,
.s-slate h1, .s-slate h2, .s-slate h3, .s-slate h4, .s-slate h5,
.casos-rino h1, .casos-rino h2, .casos-rino h3, .casos-rino h4,
.contacto h1, .contacto h2, .contacto h3, .contacto h4,
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4, .site-footer h5,
.hero h1, .hero h2, .hero h3, .hero h4 {
  color: #EEECEA;
}

/* ── Body text: ivory on dark ──────────────────────────── */
.s-dark, .s-slate, .casos-rino, .contacto, .site-footer {
  color: #EEECEA;
}
.s-dark p, .s-slate p, .casos-rino p, .contacto p {
  color: rgba(238, 236, 234, 0.78);
}

/* ── Hero specific: all text white ─────────────────────── */
.hero__title { color: #EEECEA; }
.hero__title em { color: #8FA0AA; }
.hero__doctor-name { color: #EEECEA; }
.hero__subtitle { color: rgba(238, 236, 234, 0.7); }
.hero__location { color: #8FA0AA; }
.hero__cedula { color: rgba(238, 236, 234, 0.55); }

/* ── Eyebrows on dark ──────────────────────────────────── */
.s-dark .eyebrow, .s-slate .eyebrow, .casos-rino .eyebrow,
.hero .eyebrow { color: #A8BCC6; }

/* ── Rino pillars (inside s-dark) ──────────────────────── */
.s-dark .rino__pillar h4 { color: #C8D4DA; }
.s-dark .rino__pillar p { color: rgba(238, 236, 234, 0.65); }
.s-dark .rino__intro { color: rgba(238, 236, 234, 0.7); }

/* White-background cards inside dark sections — force dark text */
.s-dark .rejuv__card,
.casos-rino .rejuv__card { background: var(--c-white); }
.s-dark .rejuv__card h3,
.casos-rino .rejuv__card h3 { color: #2D3A42 !important; }
.s-dark .rejuv__card p,
.casos-rino .rejuv__card p { color: #5C5C58 !important; }


.s-dark .mito__card h3,
.s-dark .mito__card p { color: #2D3A42 !important; }

.s-dark .confianza__item { background: #FAFAF9; }
.s-dark .confianza__name { color: #5C5C58 !important; }
.s-dark .confianza__status { color: #435B6B !important; }

.s-dark .blog-card__body h2,
.s-dark .blog-card__body h3 { color: #2D3A42 !important; }
.s-dark .blog-card__body h2 a,
.s-dark .blog-card__body h3 a { color: #2D3A42 !important; }
.s-dark .blog-card__body p { color: #5C5C58 !important; }
.s-dark .rino__content h2 { color: #EEECEA; }

/* ── FAQ on dark ───────────────────────────────────────── */
.s-dark .faq__q { color: #EEECEA; }
.s-dark .faq__q::after { color: #8FA0AA; }
.s-dark .faq__a { color: rgba(238, 236, 234, 0.65); }
.s-dark .faq { border-top-color: rgba(255, 255, 255, 0.1); }
.s-dark .faq:last-child { border-bottom-color: rgba(255, 255, 255, 0.1); }

/* ── Buttons on dark ───────────────────────────────────── */
.s-dark .btn--primary, .casos-rino .btn--primary {
  background: #EEECEA; color: #2D3A42; border-color: #EEECEA;
}
.s-dark .btn--primary:hover, .casos-rino .btn--primary:hover {
  background: #FFFFFF; color: #1C2428 !important; border-color: #FFFFFF;
}
.s-dark .btn--outline, .s-dark .btn--outline-light,
.casos-rino .btn--outline, .casos-rino .btn--outline-light {
  color: #EEECEA; border-color: rgba(238, 236, 234, 0.4);
}
.s-dark .btn--outline:hover, .casos-rino .btn--outline:hover {
  background: rgba(238, 236, 234, 0.1); color: #EEECEA; border-color: #EEECEA;
}

/* ── Tags on dark ──────────────────────────────────────── */
.s-dark .tag, .casos-rino .tag {
  background: rgba(238, 236, 234, 0.1); color: #EEECEA; border-color: rgba(238, 236, 234, 0.2);
}

/* ── Benefits on dark ──────────────────────────────────── */
.s-dark .benefit-item { color: rgba(238, 236, 234, 0.75); }
.s-dark .benefit-icon { background: #8FA0AA; }

/* ── Mama sub-sections on dark ─────────────────────────── */
.s-dark .mama__sub h4 { color: #C8D4DA; }
.s-dark .mama__sub p { color: rgba(238, 236, 234, 0.72); }
.s-dark .mama__sub { border-bottom-color: rgba(255, 255, 255, 0.1); }
.s-dark .mama__intro { color: rgba(238, 236, 234, 0.72); }

/* ── Credentials on dark ───────────────────────────────── */
.s-dark .credential { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.1); }
.s-dark .credential::before { background: linear-gradient(to bottom, #8FA0AA, #6B7F8A); }
.s-dark .credential::after { color: rgba(255, 255, 255, 0.04); }
.s-dark .credential__label { color: #A8BCC6; }
.s-dark .credential__value { color: #EEECEA; }

/* ── Casos disclaimer ──────────────────────────────────── */
.casos-rino .casos__disclaimer p { color: rgba(238, 236, 234, 0.5); }
.casos-rino .casos__lead { color: rgba(238, 236, 234, 0.72); }
.casos-rino .caso__body h3 { color: #EEECEA; }
.casos-rino .caso__body p { color: rgba(238, 236, 234, 0.68); }
.casos-rino .casos__cta p { color: rgba(238, 236, 234, 0.8); }

/* ── Contacto specifics ────────────────────────────────── */
.contacto .contacto__info h2 { color: #EEECEA; }
.contacto .contacto__info p { color: rgba(250, 248, 245, 0.7); }
.contacto .contacto__form h3 { color: #EEECEA; }
.contacto .detail__label { color: rgba(238,236,234,0.6) !important; }
.contacto .detail__value { color: #EEECEA; }

/* ── Footer specifics ──────────────────────────────────── */
.site-footer .footer__col h5 { color: #4A6272; }
.site-footer .footer__brand .brand-name { color: #EEECEA; }
.site-footer .footer__brand .brand-spec { color: #4A6272; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HEADER VISIBILITY — UNLAYERED (override wp-isolation)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#dr-alan-root #site-header {
  display: flex;
  visibility: visible;
  opacity: 1;
}
#dr-alan-root #site-header .header__logo-link,
#dr-alan-root #site-header .header__logo-img {
  display: flex;
  visibility: visible;
  opacity: 1;
}
#dr-alan-root #site-header .header__cta {
  display: flex;
  visibility: visible;
}

/* Mobile: show hamburger + mobile CTAs, hide desktop nav */
@media (max-width: 900px) {
  #dr-alan-root #site-header .header__nav { display: none; }
  #dr-alan-root #site-header .header__wa-btn { display: none; }
  #dr-alan-root #site-header .hamburger { display: flex; visibility: visible; }
  #dr-alan-root #site-header .header__logo-img { height: 36px; }
}

/* ── Hero "Ver procedimientos" button — light gray text ── */
.hero .btn--outline-light {
  color: rgba(238, 236, 234, 0.85);
  border-color: rgba(238, 236, 234, 0.3);
}
.hero .btn--outline-light:hover {
  color: #EEECEA;
  border-color: rgba(238, 236, 234, 0.6);
  background: rgba(238, 236, 234, 0.08);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HEADER COLORS — UNLAYERED (beats all layers)
   Default = white (over hero). Scrolled = dark.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Default state: white everything */
#site-header .nav-link { color: #EEECEA; }
#site-header .header__mobile-cta-icon { color: #EEECEA; }
#site-header .hamburger { color: #EEECEA; }
#site-header .header__logo-img { filter: brightness(0) invert(1); }

/* Scrolled state: dark everything */
#site-header.is-scrolled .nav-link { color: #5C5C58; }
#site-header.is-scrolled .nav-link:hover { color: #2D3A42; }
#site-header.is-scrolled .header__mobile-cta-icon { color: #2D3A42; }
#site-header.is-scrolled .hamburger { color: #2D3A42; }
#site-header.is-scrolled .header__logo-img { filter: none; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HEADER ALIGNMENT — UNLAYERED
   Force all header elements on same horizontal line
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#site-header {
  display: flex;
  align-items: center;
}
#site-header .header__cta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
#site-header .header__mobile-ctas {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
#site-header .header__mobile-cta-icon,
#site-header .hamburger {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  width: 34px;
  line-height: 1;
  vertical-align: middle;
}
#site-header .header__mobile-cta-icon svg,
#site-header .hamburger svg {
  display: block;
  margin: auto;
}

/* ── Top bar phone link — always white ──────────────── */
.topbar a,
.topbar__link,
.topbar__mobile-link,
.topbar__desktop a {
  color: #EEECEA;
}

/* ── Rino pillars on light backgrounds ─────────────── */
.s-ivory .rino__pillar,
.section:not(.s-dark):not(.s-slate) .rino__pillar {
  background: rgba(74, 98, 114, 0.04);
  border-color: rgba(74, 98, 114, 0.1);
}
.s-ivory .rino__pillar h4,
.section:not(.s-dark):not(.s-slate) .rino__pillar h4 {
  color: #2D3A42;
}
.s-ivory .rino__pillar p,
.section:not(.s-dark):not(.s-slate) .rino__pillar p {
  color: #5C5C58;
}

/* ── Reconstruccion section CTAs — always visible ──── */
#reconstruccion-mamaria .hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 1.5rem;
}
@media (max-width: 768px) {
  #reconstruccion-mamaria .hero__actions {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
  }
  #reconstruccion-mamaria .hero__actions .btn {
    font-size: 0.65rem;
    padding: 0.75rem 1.2rem;
    text-align: center;
    justify-content: center;
  }
}

/* ── Disclaimer on light backgrounds — dark text ───── */
.s-gray .casos__disclaimer,
.s-ivory .casos__disclaimer,
.section:not(.s-dark):not(.s-slate):not(.casos-rino) .casos__disclaimer {
  background: rgba(45, 58, 66, 0.06);
  border-color: rgba(45, 58, 66, 0.12);
  border-left-color: #4A6272;
}
.s-gray .casos__disclaimer p,
.s-ivory .casos__disclaimer p,
.section:not(.s-dark):not(.s-slate):not(.casos-rino) .casos__disclaimer p {
  color: #5C5C58;
}
.s-gray .disclaimer__icon,
.s-ivory .disclaimer__icon,
.section:not(.s-dark):not(.s-slate):not(.casos-rino) .disclaimer__icon {
  background: #4A6272;
  color: white;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TIMELINE — El Doctor landing
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.timeline {
  max-width: 720px;
  margin: 0 auto;
  position: relative;
  padding-left: 2.5rem;
}
.timeline::before {
  content: '';
  position: absolute;
  left: 0.55rem;
  top: 0.5rem;
  bottom: 0.5rem;
  width: 2px;
  background: rgba(143,160,170,0.25);
}
.timeline__item {
  position: relative;
  padding-bottom: 2.5rem;
  display: flex;
  gap: 0;
}
.timeline__item:last-child { padding-bottom: 0; }
.timeline__marker {
  position: absolute;
  left: -2.5rem;
  top: 0.35rem;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #4A6272;
  border: 2px solid rgba(143,160,170,0.3);
  z-index: 1;
}
.timeline__content {
  flex: 1;
}
.timeline__stage {
  display: inline-block;
  font-family: var(--f-sans);
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8FA0AA;
  margin-bottom: 0.4rem;
}
.timeline__content h4 {
  font-family: var(--f-serif);
  font-size: 1.15rem;
  font-weight: 400;
  color: #2D3A42;
  margin-bottom: 0.5rem;
  line-height: 1.35;
}
.timeline__content p {
  font-size: 0.85rem;
  color: #5C5C58;
  line-height: 1.65;
  margin: 0;
}

/* Dark section variant */
.s-dark .timeline__content h4 { color: #EEECEA; }
.s-dark .timeline__content p { color: rgba(238,236,234,0.55); }
.s-dark .timeline::before { background: rgba(255,255,255,0.12); }
.s-dark .timeline__marker { background: #8FA0AA; border-color: rgba(255,255,255,0.2); }

/* Light section variant */
.s-ivory .timeline__content h4 { color: #2D3A42; }
.s-ivory .timeline__content p { color: #5C5C58; }
.s-ivory .timeline::before { background: rgba(45,58,66,0.15); }
.s-ivory .timeline__marker { background: #4A6272; border-color: rgba(45,58,66,0.2); }

/* Doctor bio extended — paragraph spacing */
.doctor__bio-extended {
  max-width: 780px;
  margin: 0 auto;
}
.doctor__bio-extended p {
  font-size: 0.95rem;
  line-height: 1.8;
  color: #5C5C58;
  margin-bottom: 1.5rem;
}
.doctor__bio-extended p:last-child { margin-bottom: 0; }

@media (max-width: 768px) {
  .timeline { padding-left: 2rem; }
  .timeline__marker { left: -2rem; width: 10px; height: 10px; }
  .timeline__content h4 { font-size: 1rem; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FLOATING BUTTONS — UNLAYERED (highest cascade priority)
   Desktop: WhatsApp pill (right). Phone & Agenda hidden.
   Mobile: 3 icon-only circles — WA + Phone (right), Agenda (left)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.float-btn {
  position: fixed !important;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease;
  will-change: transform;
}
.float-btn:hover { transform: translateY(-3px); }

/* WhatsApp — desktop: pill with text */
.float-btn--wa {
  bottom: 2rem;
  right: 2rem;
  background: #25D366;
  color: white;
  border-radius: 999px;
  padding: 0.9rem 1.4rem;
  gap: 0.6rem;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  box-shadow: 0 4px 20px rgba(37,211,102,0.35);
}
.float-btn--wa:hover { box-shadow: 0 6px 28px rgba(37,211,102,0.45); }
.float-btn--wa svg { width: 20px; height: 20px; fill: white; flex-shrink: 0; }
.float-btn__label { color: white; }

/* Phone & Agenda — hidden on desktop */
.float-btn--phone,
.float-btn--agenda { display: none; }

/* ── Mobile: 3 discrete icon-only circles ──────── */
@media (max-width: 768px) {
  .float-btn--wa,
  .float-btn--phone,
  .float-btn--agenda {
    display: flex !important;
    visibility: visible !important;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    padding: 0;
    box-shadow: 0 2px 12px rgba(28,36,40,0.2);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }

  /* WhatsApp: bottom-right */
  .float-btn--wa {
    bottom: 1.2rem;
    right: 1rem;
    background: #25D366;
  }
  .float-btn--wa svg { width: 20px; height: 20px; }
  .float-btn__label { display: none; }

  /* Phone: above WhatsApp */
  .float-btn--phone {
    bottom: calc(1.2rem + 46px + 0.7rem);
    right: 1rem;
    background: rgba(45,58,66,0.88);
  }
  .float-btn--phone svg { width: 18px; height: 18px; }

  /* Agenda: bottom-left */
  .float-btn--agenda {
    bottom: 1.2rem;
    left: 1rem;
    background: rgba(45,58,66,0.88);
  }
  .float-btn--agenda svg { width: 18px; height: 18px; }

  /* Tap feedback */
  .float-btn:active { transform: scale(0.92); opacity: 0.85; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   BLOG — Grid, Cards, Article, Avales Strip
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Blog Grid */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto;
}
@media (max-width: 900px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .blog-grid { grid-template-columns: 1fr; } }

/* Blog Card */
.blog-card {
  background: white;
  border: 1px solid rgba(200,212,218,0.3);
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(45,58,66,0.1);
}
.blog-card__image {
  display: block;
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}
.blog-card__image::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(to top, rgba(28,36,40,0.15), transparent);
  pointer-events: none;
}
.blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.blog-card:hover .blog-card__image img { transform: scale(1.04); }
.blog-card__body {
  padding: 1.5rem;
}
.blog-card__meta {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 0.8rem;
}
.blog-card__cat {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #435B6B;
  background: rgba(67,91,107,0.08);
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
}
.blog-card__date {
  font-size: 0.7rem;
  color: #8FA0AA;
}
.blog-card__body h2,
.blog-card__body h3 {
  font-family: var(--f-serif);
  font-size: 1.15rem;
  font-weight: 400;
  color: #2D3A42;
  margin-bottom: 0.6rem;
  line-height: 1.35;
}
.blog-card__body h2 a,
.blog-card__body h3 a {
  color: inherit;
  text-decoration: none;
}
.blog-card__body h2 a:hover,
.blog-card__body h3 a:hover { color: #435B6B; }
.blog-card__body p {
  font-size: 0.85rem;
  color: #5C5C58;
  line-height: 1.6;
  margin-bottom: 1rem;
}
.blog-card__link {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: #435B6B;
  text-decoration: none;
  transition: color 0.2s ease;
}
.blog-card__link:hover { color: #2D3A42; }

/* Blog Pagination */
.blog-pagination { margin-top: 3rem; text-align: center; }
.blog-pagination .nav-links { display: flex; justify-content: center; gap: 0.5rem; }
.blog-pagination a, .blog-pagination span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 0.8rem;
  font-size: 0.8rem; border-radius: 6px; text-decoration: none;
  color: #5C5C58; border: 1px solid rgba(200,212,218,0.3);
}
.blog-pagination a:hover { background: #435B6B; color: white; border-color: #435B6B; }
.blog-pagination .current { background: #2D3A42; color: white; border-color: #2D3A42; }

/* ── Single Article ──────────────────────────── */

/* Default hero (no image) */
.blog-article__hero {
  padding: 8rem 0 3rem;
  background: #FAFAF9;
  border-bottom: 1px solid rgba(200,212,218,0.25);
}

/* Visual hero (with featured image) */
.blog-article__hero--visual {
  position: relative;
  padding: 0;
  min-height: 75vh;
  display: flex;
  align-items: flex-end;
  background: #2D3A42;
  overflow: hidden;
  border-bottom: none;
}
.blog-article__hero-image {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.blog-article__hero-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}
.blog-article__hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(28,36,40,0.92) 0%,
    rgba(28,36,40,0.6) 40%,
    rgba(28,36,40,0.2) 70%,
    transparent 100%
  );
}
.blog-article__hero-content {
  position: relative;
  z-index: 1;
  padding: 8rem 0 3.5rem;
}
.blog-article__hero--visual .blog-article__breadcrumb a,
.blog-article__hero--visual .blog-article__breadcrumb span { color: rgba(238,236,234,0.5) !important; }
.blog-article__hero--visual .blog-article__breadcrumb a:hover { color: rgba(238,236,234,0.8) !important; }
.blog-article__hero--visual .blog-article__cat { background: rgba(238,236,234,0.15) !important; color: rgba(238,236,234,0.85) !important; }
.blog-article__hero--visual .blog-article__reading { color: rgba(238,236,234,0.5) !important; }
.blog-article__hero--visual h1 { color: #FFFFFF !important; }
.blog-article__hero--visual .blog-article__excerpt { color: rgba(255,255,255,0.75) !important; }
.blog-article__hero--visual .blog-article__author { color: rgba(255,255,255,0.5) !important; }
.blog-article__hero--visual .blog-article__author span { color: rgba(255,255,255,0.5) !important; }

@media (max-width: 768px) {
  .blog-article__hero--visual { min-height: 85vh; }
  .blog-article__hero-content { padding: 6rem var(--section-px) 2.5rem; }
}
.blog-article__breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.7rem;
  color: #8FA0AA;
  margin-bottom: 2rem;
}
.blog-article__breadcrumb a { color: #8FA0AA; text-decoration: none; }
.blog-article__breadcrumb a:hover { color: #435B6B; }
.blog-article__meta-top {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1.2rem;
  flex-wrap: wrap;
}
.blog-article__cat {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #435B6B;
  background: rgba(67,91,107,0.08);
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
}
.blog-article__reading {
  font-size: 0.7rem;
  color: #8FA0AA;
}
.blog-article__hero h1 {
  font-family: var(--f-serif);
  font-size: 2.6rem;
  font-weight: 400;
  color: #2D3A42;
  line-height: 1.2;
  margin-bottom: 1rem;
  max-width: 780px;
}
@media (max-width: 768px) { .blog-article__hero h1 { font-size: 1.8rem; } }
.blog-article__excerpt {
  font-size: 1.05rem;
  color: #5C5C58;
  line-height: 1.65;
  max-width: 700px;
  margin-bottom: 1.5rem;
}
.blog-article__author {
  font-size: 0.75rem;
  color: #8FA0AA;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
}
.blog-article__sep { opacity: 0.4; }

/* Article body */
.blog-article__body { padding: 3rem 0; background: white; }
.blog-article__content { max-width: 720px; margin: 0 auto; }
.blog-article__content h2 {
  font-family: var(--f-serif);
  font-size: 1.6rem;
  font-weight: 400;
  color: #2D3A42;
  margin: 2.5rem 0 1rem;
  line-height: 1.3;
}
.blog-article__content h3 {
  font-family: var(--f-sans);
  font-size: 1.1rem;
  font-weight: 600;
  color: #2D3A42;
  margin: 2rem 0 0.8rem;
}
.blog-article__content p {
  font-size: 0.95rem;
  color: #5C5C58;
  line-height: 1.85;
  margin-bottom: 1.2rem;
}
.blog-article__content ul, .blog-article__content ol {
  padding-left: 1.5rem;
  margin-bottom: 1.2rem;
}
.blog-article__content li {
  font-size: 0.95rem;
  color: #5C5C58;
  line-height: 1.75;
  margin-bottom: 0.5rem;
}
.blog-article__content strong { color: #2D3A42; }
.blog-article__content blockquote {
  border-left: 3px solid #435B6B;
  padding: 1rem 1.5rem;
  margin: 2rem 0;
  background: #FAFAF9;
  border-radius: 0 6px 6px 0;
}
.blog-article__content blockquote p { color: #435B6B; font-style: italic; margin: 0; }

/* Blog avales strip */
.blog-avales { padding: 2rem 0; background: #FAFAF9; border-top: 1px solid rgba(200,212,218,0.2); border-bottom: 1px solid rgba(200,212,218,0.2); }
.blog-avales__strip {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5rem 3rem;
}
.blog-avales__strip span {
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #B0B8BE;
  font-weight: 500;
}

/* Blog disclaimer & CTA */
.blog-article__disclaimer { padding: 2rem 0; background: white; }
.blog-article__cta { padding: 2.5rem 0 4rem; background: white; }
.blog-article__cta p { font-size: 0.95rem; color: #5C5C58; }

/* Blog header fixed - not transparent */
.site-header--blog {
  background: white !important;
  border-bottom: 1px solid rgba(200,212,218,0.25);
}
.site-header--blog .nav-link { color: #5C5C58 !important; }
.site-header--blog .nav-link:hover { color: #2D3A42 !important; }
.site-header--blog .hamburger { color: #2D3A42 !important; }
.site-header--blog .header__logo-img { filter: none !important; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RECONSTRUCCIÓN SPECIAL — Home block
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.recon-special {
  background: linear-gradient(135deg, #F5F0EB 0%, #EDE8E3 100%);
  border-top: 1px solid rgba(200,212,218,0.2);
  border-bottom: 1px solid rgba(200,212,218,0.2);
}
.recon-special__layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 4rem;
  align-items: center;
}
.recon-special__content h2 {
  font-family: var(--f-serif);
  font-size: 2rem;
  font-weight: 400;
  color: #2D3A42;
  line-height: 1.25;
  margin-bottom: 1.2rem;
}
.recon-special__content p {
  font-size: 0.95rem;
  color: #5C5C58;
  line-height: 1.75;
  margin-bottom: 1.2rem;
}
.recon-special__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.recon-special__image {
  border-radius: 8px;
  overflow: hidden;
}
.recon-special__image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}
@media (max-width: 768px) {
  .recon-special__layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .recon-special__content h2 { font-size: 1.6rem; }
  .recon-special__image { order: -1; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   WP LINK OVERRIDE — Kill parent theme underlines
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
a:where(:not(.wp-element-button)) {
  color: #e8e8e8;
  text-decoration: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   PROCEDURE CARDS — Image-backed grid
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.proc-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto;
}
.proc-card {
  background: white;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(200,212,218,0.25);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.proc-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(45,58,66,0.12);
}
.proc-card__image {
  aspect-ratio: 4/3;
  overflow: hidden;
}
.proc-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 25%;
  transition: transform 0.6s ease;
}
.proc-card:hover .proc-card__image img { transform: scale(1.04); }
.proc-card__body {
  padding: 1.8rem 2rem 2rem;
}
.proc-card__body h3 {
  font-family: var(--f-serif);
  font-size: 1.4rem;
  font-weight: 400;
  color: #2D3A42 !important;
  margin-bottom: 0.8rem;
}
.proc-card__body p {
  font-size: 0.88rem;
  color: #5C5C58 !important;
  line-height: 1.65;
}
@media (max-width: 768px) {
  .proc-grid { grid-template-columns: 1fr; }
  .proc-card__body { padding: 1.5rem; }
  .proc-card__body h3 { font-size: 1.2rem; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   VISUAL DYNAMIC ELEMENTS — Process, Stats, Timeline, Checklist
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ── Process Steps (2-step horizontal) ─── */
.visual-process {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  justify-content: center;
}
.visual-process__card {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  padding: 2rem 1.5rem;
  text-align: center;
  flex: 1;
  max-width: 220px;
}
.visual-process__icon {
  font-family: var(--f-serif);
  font-size: 2rem;
  font-weight: 300;
  color: rgba(238,236,234,0.25);
  margin-bottom: 0.8rem;
}
.visual-process__card h4 {
  font-family: var(--f-serif);
  font-size: 1rem;
  color: #EEECEA !important;
  margin-bottom: 0.5rem;
  font-weight: 400;
}
.visual-process__card p {
  font-size: 0.78rem;
  color: rgba(238,236,234,0.55) !important;
  line-height: 1.5;
  margin-bottom: 0.8rem;
}
.visual-process__time {
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(238,236,234,0.35);
  font-weight: 600;
}
.visual-process__arrow {
  font-size: 1.5rem;
  color: rgba(238,236,234,0.2);
}
@media (max-width: 768px) {
  .visual-process { flex-direction: column; }
  .visual-process__card { max-width: 100%; }
  .visual-process__arrow { transform: rotate(90deg); }
}

/* ── Stats/Comparison Bars ─── */
.visual-stats {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.visual-stats__item {
  background: rgba(74,98,114,0.04);
  border: 1px solid rgba(74,98,114,0.1);
  border-radius: 10px;
  padding: 1.5rem 1.8rem;
}
.visual-stats__number {
  font-family: var(--f-serif);
  font-size: 1.2rem;
  font-weight: 400;
  color: #2D3A42;
  display: block;
  margin-bottom: 0.2rem;
}
.visual-stats__label {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8FA0AA;
  font-weight: 600;
  display: block;
  margin-bottom: 0.3rem;
}
.visual-stats__detail {
  font-size: 0.8rem;
  color: #5C5C58;
  display: block;
  margin-bottom: 1rem;
}
.visual-stats__bar {
  height: 6px;
  background: rgba(74,98,114,0.08);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 0.5rem;
}
.visual-stats__fill {
  height: 100%;
  border-radius: 3px;
  background: #435B6B;
  transition: width 1.2s ease;
}
.visual-stats__meta {
  font-size: 0.68rem;
  color: #8FA0AA;
  font-weight: 500;
}

/* ── Checklist (vertical dots) ─── */
.visual-checklist {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.visual-checklist__item {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.88rem;
  color: rgba(238,236,234,0.7);
  line-height: 1.4;
}
.visual-checklist__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8FA0AA;
  flex-shrink: 0;
}

/* ── Vertical Recovery Timeline (rinoplastia) ─── */
.visual-timeline-v {
  padding: 1rem 0;
}
.visual-timeline-v__item {
  padding-bottom: 1.8rem;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.visual-timeline-v__item:last-of-type { padding-bottom: 0; }
.visual-timeline-v__marker {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.visual-timeline-v__week {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #435B6B;
  background: rgba(67,91,107,0.08);
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  white-space: nowrap;
}
.visual-timeline-v__content h4 {
  font-family: var(--f-sans);
  font-size: 0.92rem;
  font-weight: 600;
  color: #2D3A42;
  margin-bottom: 0.2rem;
}
.visual-timeline-v__content p {
  font-size: 0.82rem;
  color: #5C5C58;
  line-height: 1.5;
}
.visual-timeline-v__bar {
  height: 4px;
  background: rgba(74,98,114,0.06);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 0.3rem;
}
.visual-timeline-v__fill {
  height: 100%;
  border-radius: 2px;
  transition: width 1s ease;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   BLOG LISTING HERO — Portada
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.blog-listing-hero {
  position: relative;
  min-height: 45vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  margin-top: 0;
  padding-top: 5rem;
}
.blog-listing-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.blog-listing-hero__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}
.blog-listing-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(28,36,40,0.88) 0%, rgba(28,36,40,0.5) 50%, rgba(28,36,40,0.3) 100%);
}
.blog-listing-hero__content {
  position: relative;
  z-index: 1;
  padding: 3rem 0;
}
.blog-listing-hero__content h1 {
  font-family: var(--f-serif);
  font-size: 2.4rem;
  font-weight: 400;
  color: #FFFFFF !important;
  line-height: 1.2;
  margin-bottom: 0.8rem;
  max-width: 600px;
}
.blog-listing-hero__content p {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.6) !important;
  line-height: 1.6;
  max-width: 500px;
}
@media (max-width: 768px) {
  .blog-listing-hero { min-height: 40vh; }
  .blog-listing-hero__content h1 { font-size: 1.8rem; }
  .blog-listing-hero__content { padding: 2rem var(--section-px); }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RECON MULTIDISCIPLINARY — Prominent coordination block
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.recon-multi {
  background: linear-gradient(135deg, #3A4D58 0%, #435B6B 100%);
  border-top: 3px solid rgba(143,160,170,0.3);
}
.recon-multi__layout {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 3rem;
  align-items: center;
  max-width: 860px;
  margin: 0 auto;
}
.recon-multi__circle {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  border: 2px solid rgba(255,255,255,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(238,236,234,0.6);
}
.recon-multi__content h2 {
  font-family: var(--f-serif);
  font-size: 1.8rem;
  font-weight: 400;
  color: #EEECEA !important;
  line-height: 1.25;
  margin-bottom: 1rem;
}
.recon-multi__content p {
  font-size: 0.92rem;
  color: rgba(238,236,234,0.7) !important;
  line-height: 1.7;
  margin-bottom: 1.2rem;
}
.recon-multi__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.recon-multi__tags span {
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(238,236,234,0.5);
  padding: 0.35rem 0.8rem;
  border: 1px solid rgba(238,236,234,0.15);
  border-radius: 999px;
}
@media (max-width: 768px) {
  .recon-multi__layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    text-align: center;
  }
  .recon-multi__icon-col { display: flex; justify-content: center; }
  .recon-multi__tags { justify-content: center; }
  .recon-multi__content h2 { font-size: 1.5rem; }
}

/* ── FOOTER MAP ──────────────────────────────── */
.footer__map {
  background: #111920;
  padding: 1.2rem 0 0;
  border-top: 1px solid rgba(238,236,234,0.06);
}
.footer__map .container {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.footer__map-label {
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(238,236,234,0.3);
  white-space: nowrap;
  flex-shrink: 0;
}
.footer__map iframe {
  flex: 1;
  height: 120px;
  border-radius: 6px;
  display: block;
  opacity: 0.75;
  transition: opacity .3s;
}
.footer__map iframe:hover { opacity: 1; }
@media (max-width: 768px) {
  .footer__map .container { flex-direction: column; align-items: flex-start; gap: 0.6rem; }
  .footer__map iframe { width: 100%; height: 100px; }
}

/* ── SOCIAL ICONS ────────────────────────────── */
.topbar__social {
  display: inline-flex;
  align-items: center;
  padding: 0 0.4rem;
  opacity: 0.7;
  transition: opacity .2s;
}
.topbar__social:hover { opacity: 1; }
.footer__social-row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.3rem;
}
.footer__social-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: rgba(238,236,234,0.55);
  font-size: 0.78rem;
  text-decoration: none;
  transition: color .2s;
}
.footer__social-link:hover { color: rgba(238,236,234,0.95); }

/* ── FORM IMPROVEMENTS ───────────────────────── */
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .form-row { grid-template-columns: 1fr; } }

.form-required { color: rgba(238,236,234,0.4); font-size: 0.8em; }

.form-group label { color: rgba(238,236,234,0.75) !important; }
.form-group input,
.form-group select,
.form-group textarea { color: #EEECEA !important; }
.form-group input::placeholder,
.form-group textarea::placeholder { color: rgba(238,236,234,0.3); }
.form-group select option { background: #1C2428; color: #EEECEA; }

.form-send-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8rem;
  margin-top: 0.5rem;
}
@media (max-width: 480px) { .form-send-row { grid-template-columns: 1fr; } }

.form-send-btn {
  width: 100%;
  justify-content: center;
  font-size: 0.75rem;
  padding: 0.85rem 1rem;
}

.form-privacy {
  font-size: 0.65rem !important;
  color: rgba(238,236,234,0.35) !important;
  text-align: center;
  margin-top: 1rem;
  line-height: 1.5;
}

/* Force all contact form text white */
.contacto__form,
.contacto__form h3,
.contacto__form label,
.contacto__form input,
.contacto__form select,
.contacto__form textarea,
.contacto .detail__label,
.contacto .detail__value,
.contacto .detail__note,
.contacto .detail__icon { color: #EEECEA; }
.contacto .detail__label { color: rgba(238,236,234,0.5) !important; }
.contacto .detail__note { color: rgba(238,236,234,0.4) !important; }


/* ══════════════════════════════════════════════
   MOBILE PANEL — VISUAL
══════════════════════════════════════════════ */
#menu-panel {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(360px, 92vw);
  z-index: 100002;
  background: #FAFAF8;
  transform: translateX(100%);
  transition: transform .38s cubic-bezier(.16,1,.3,1);
  overflow-y: auto;
  overflow-x: hidden;
  box-shadow: -8px 0 48px rgba(28,36,40,0.18);
  display: flex;
  flex-direction: column;
  font-family: var(--f-sans);
}

.mpanel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.1rem 1.4rem;
  border-bottom: 1px solid rgba(200,212,218,0.3);
  flex-shrink: 0;
  background: #FFFFFF;
}
.mpanel__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  background: none;
  border: none;
  cursor: pointer;
  color: #2D3A42;
  border-radius: 6px;
  transition: background .18s;
}
.mpanel__close:hover { background: rgba(200,212,218,0.2); }

.mpanel__body {
  flex: 1;
  padding: 1.4rem;
  overflow-y: auto;
}

.mpanel__section-label {
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #8FA0AA;
  margin: 0 0 0.9rem 0;
}

/* 2-col cards grid */
.mpanel__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem;
}

.mpanel__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  padding: 1rem;
  background: #FFFFFF;
  border: 1px solid rgba(200,212,218,0.35);
  border-radius: 10px;
  text-decoration: none;
  transition: border-color .18s, box-shadow .18s, transform .18s;
}
.mpanel__card:hover {
  border-color: #4A6272;
  box-shadow: 0 4px 16px rgba(28,36,40,0.08);
  transform: translateY(-1px);
}
.mpanel__card-icon {
  font-size: 1rem;
  color: #4A6272;
  margin-bottom: 0.3rem;
}
.mpanel__card strong {
  font-size: 0.78rem;
  font-weight: 700;
  color: #2D3A42;
  line-height: 1.2;
}
.mpanel__card em {
  font-style: normal;
  font-size: 0.65rem;
  color: #8FA0AA;
  line-height: 1.3;
}

/* Secondary links */
.mpanel__links {
  display: flex;
  flex-direction: column;
}
.mpanel__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 0;
  font-size: 0.82rem;
  font-weight: 500;
  color: #2D3A42;
  text-decoration: none;
  border-bottom: 1px solid rgba(200,212,218,0.2);
  transition: color .18s;
}
.mpanel__link:last-child { border-bottom: none; }
.mpanel__link:hover { color: #4A6272; }

.mpanel__footer {
  padding: 1.2rem 1.4rem;
  border-top: 1px solid rgba(200,212,218,0.25);
  flex-shrink: 0;
  background: #FFFFFF;
}
.mpanel__footer .btn { width: 100%; justify-content: center; }



/* ── NAV GROUPS ──────────────────────────────── */
.nav-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
  position: relative;
}

.nav-group__label {
  font-size: 0.48rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(238,236,234,0.35);
  line-height: 1;
  white-space: nowrap;
}
#site-header.is-scrolled .nav-group__label { color: rgba(45,58,66,0.4); }

.nav-group__links {
  display: flex;
  align-items: center;
  gap: 1.4rem;
}

/* Thin vertical divider before and after each group */
.nav-group::before,
.nav-group::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 18px;
  background: rgba(238,236,234,0.15);
}
.nav-group::before { left: -1rem; }
.nav-group::after  { right: -1rem; }
#site-header.is-scrolled .nav-group::before,
#site-header.is-scrolled .nav-group::after { background: rgba(45,58,66,0.15); }


/* ── NAV DROPDOWNS (pure CSS :hover) ────────── */
.nav-dd {
  position: relative;
  display: flex;
  align-items: center;
}

.nav-dd__btn {
  cursor: default;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap;
}
.nav-dd__btn::after {
  content: '▾';
  font-size: 0.6em;
  opacity: 0.6;
}

#dr-alan-root .nav-dd {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

#dr-alan-root .nav-dd__menu {
  display: none !important;
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #ffffff !important;
  border-radius: 10px !important;
  box-shadow: 0 16px 48px rgba(28,36,40,0.18), 0 2px 8px rgba(28,36,40,0.08) !important;
  padding: 12px 0 0.5rem !important;
  min-width: 210px !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
  visibility: visible !important;
  overflow: hidden !important;
}

#dr-alan-root .nav-dd:hover .nav-dd__menu { display: block !important; }

.nav-dd__item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 1.2rem;
  font-size: 0.8rem;
  font-weight: 500;
  color: #2D3A42;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s, color .15s, padding-left .15s;
  border-left: 2px solid transparent;
}
.nav-dd__item::before {
  content: '';
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #8FA0AA;
  flex-shrink: 0;
  transition: background .15s, transform .15s;
}
.nav-dd__item:hover {
  background: #F4F2EF;
  color: #1C2428;
  padding-left: 1.5rem;
  border-left-color: #2D3A42;
}
.nav-dd__item:hover::before {
  background: #2D3A42;
  transform: scale(1.4);
}

/* Also remove old nav-group CSS */
.nav-group, .nav-group__label, .nav-group__links { all: unset; }

@media (max-width: 768px) { .nav-dd { display: none; } }

/* ══════════════════════════════════════════════
   BLOG — MEJORAS
══════════════════════════════════════════════ */

/* Search bar in hero */
.blog-hero__search {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  background: rgba(255,255,255,0.1);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 999px;
  padding: 0.7rem 1.4rem;
  max-width: 420px;
  margin-top: 1.8rem;
  transition: background .2s, border-color .2s;
}
.blog-hero__search:focus-within {
  background: rgba(255,255,255,0.18);
  border-color: rgba(255,255,255,0.4);
}
.blog-hero__search svg { opacity: 0.6; flex-shrink: 0; color: #fff; }
.blog-hero__search input {
  background: none;
  border: none;
  outline: none;
  color: #fff;
  font-size: 0.85rem;
  font-family: var(--f-sans);
  width: 100%;
}
.blog-hero__search input::placeholder { color: rgba(255,255,255,0.5); }

/* Filter pills */
.blog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-bottom: 3rem;
}
.blog-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 1.1rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: none;
  border: 1.5px solid rgba(74,98,114,0.25);
  color: #4A6272;
  background: #fff;
  transition: all .2s;
}
.blog-filter:hover {
  border-color: #2D3A42;
  color: #2D3A42;
  background: #F4F2EF;
}
.blog-filter.is-active {
  background: #2D3A42;
  color: #EEECEA;
  border-color: #2D3A42;
}
.blog-filter__count {
  font-size: 0.65rem;
  opacity: 0.6;
  font-weight: 500;
}

/* Blog cards */
.blog-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(200,212,218,0.3);
  transition: box-shadow .25s, transform .25s;
  display: flex;
  flex-direction: column;
}
.blog-card:hover {
  box-shadow: 0 12px 40px rgba(28,36,40,0.12);
  transform: translateY(-3px);
}

.blog-card__image {
  display: block;
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #E8E4DE;
}
.blog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.blog-card:hover .blog-card__image img { transform: scale(1.04); }

.blog-card__image-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(143,160,170,0.4);
  background: linear-gradient(135deg, #E8E4DE, #D4CFC8);
}

.blog-card__cat-badge {
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  background: #2D3A42;
  color: #EEECEA;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
}

.blog-card__body {
  padding: 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  flex: 1;
}

.blog-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}
.blog-card__date {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.68rem;
  color: #8FA0AA;
}
.blog-card__read {
  font-size: 0.65rem;
  color: #8FA0AA;
  background: #F4F2EF;
  padding: 0.2rem 0.5rem;
  border-radius: 999px;
}

.blog-card__body h2 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  color: #1C2428;
  margin: 0;
}
.blog-card__body h2 a { color: inherit; text-decoration: none; }
.blog-card__body h2 a:hover { color: #4A6272; }
.blog-card__body p {
  font-size: 0.8rem;
  color: #5C6E77;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}

.blog-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #2D3A42;
  text-decoration: none;
  margin-top: 0.4rem;
  transition: gap .2s, color .2s;
}
.blog-card__link:hover { gap: 0.7rem; color: #4A6272; }

.blog-no-results { color: #8FA0AA; padding: 3rem 0; text-align: center; }

/* ══════════════════════════════════════════════
   TESTIMONIOS SLIDER — HERO
══════════════════════════════════════════════ */

/* Desktop: position as right column inside hero */
.hero__testimonios {
  position: absolute;
  right: 3rem;
  bottom: 5.5rem;
  width: 300px;
  z-index: 4;
}

/* Bubble: hidden on desktop */


.testi-slider {
  position: relative;
  min-height: 160px;
}

.testi-slide {
  display: none !important;
  flex-direction: column;
  gap: 0.7rem;
  background: rgba(18,24,28,0.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(238,236,234,0.1);
  border-radius: 12px;
  padding: 1.2rem 1.3rem;
  animation: testi-in .4s ease;
}
.testi-slide.is-active { display: flex !important; }

@keyframes testi-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.testi-stars {
  font-size: 0.7rem;
  color: #C9A96E;
  letter-spacing: 0.05em;
}

.testi-text {
  font-size: 0.72rem;
  color: rgba(238,236,234,0.82);
  line-height: 1.6;
  font-style: italic;
  margin: 0;
}

.testi-author {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  margin-top: 0.2rem;
  padding-top: 0.7rem;
  border-top: 1px solid rgba(238,236,234,0.1);
}
.testi-name {
  font-size: 0.72rem;
  font-weight: 600;
  color: #EEECEA;
}
.testi-source {
  font-size: 0.6rem;
  color: rgba(238,236,234,0.35);
}

.testi-controls {
  display: flex;
  gap: 0.4rem;
  justify-content: center;
  margin-top: 0.8rem;
}
.testi-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(238,236,234,0.25);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background .2s, transform .2s;
}
.testi-dot.is-active {
  background: rgba(238,236,234,0.8);
  transform: scale(1.3);
}

.testi-source-link {
  display: block;
  text-align: center;
  font-size: 0.58rem;
  color: rgba(238,236,234,0.3);
  text-decoration: none;
  margin-top: 0.6rem;
  letter-spacing: 0.05em;
  transition: color .2s;
}
.testi-source-link:hover { color: rgba(238,236,234,0.6); }

/* Mobile: inline below hero text, compact */
@media (max-width: 768px) {
  
  .testi-slide {
    padding: 0.9rem 1rem;
    background: rgba(18,24,28,0.55);
    min-height: unset;
  }
  .testi-text { font-size: 0.68rem; }
  .testi-name { font-size: 0.68rem; }
}

/* ── MOBILE LOGO — force left aligned ────────── */
@media (max-width: 900px) {
  #dr-alan-root #site-header {
    justify-content: space-between !important;
    text-align: left !important;
  }
  #dr-alan-root #site-header .header__logo-link {
    margin: 0 !important;
    position: static !important;
    left: auto !important;
    transform: none !important;
  }
}

/* ── TESTIMONIOS HOME ──────────────────────── */
.testi-home-section {
  padding: 5rem 0;
  background: var(--c-slate-800, #1C2428);
  position: relative;
  overflow: hidden;
}
.testi-home-section::before {
  content: '“';
  position: absolute;
  top: -2rem;
  left: 3rem;
  font-family: Georgia, serif;
  font-size: 18rem;
  color: rgba(238,236,234,0.03);
  line-height: 1;
  pointer-events: none;
  select: none;
}

.testi-home__header {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 3.5rem;
}
.testi-home__header .eyebrow {
  color: rgba(238,236,234,0.4);
}
.testi-home__header h2 {
  color: #EEECEA;
  font-size: clamp(1.4rem, 3vw, 2rem);
  margin-top: 0.5rem;
}

/* Horizontal scroll track on mobile, 3-col grid on desktop */
.testi-home__track {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: start;
}
.testi-home__track .testi-home__card:nth-child(4),
.testi-home__track .testi-home__card:nth-child(5) {
  grid-column: span 1;
}
/* Offset 4th and 5th cards to center them */
.testi-home__track {
  grid-template-columns: repeat(6, 1fr);
}
.testi-home__card:nth-child(1) { grid-column: 1 / 3; }
.testi-home__card:nth-child(2) { grid-column: 3 / 5; }
.testi-home__card:nth-child(3) { grid-column: 5 / 7; }
.testi-home__card:nth-child(4) { grid-column: 2 / 4; }
.testi-home__card:nth-child(5) { grid-column: 4 / 6; }

.testi-home__card {
  background: rgba(238,236,234,0.05);
  border: 1px solid rgba(238,236,234,0.1);
  border-radius: 14px;
  padding: 1.6rem 1.8rem;
  margin: 0;
  transition: background .2s, border-color .2s;
}
.testi-home__card:hover {
  background: rgba(238,236,234,0.08);
  border-color: rgba(238,236,234,0.18);
}

.testi-home__stars {
  font-size: 0.7rem;
  color: #C9A96E;
  letter-spacing: 0.1em;
  margin-bottom: 0.9rem;
}

.testi-home__card p {
  font-size: 0.84rem;
  color: rgba(238,236,234,0.75);
  line-height: 1.7;
  font-style: italic;
  margin: 0 0 1.2rem;
}

.testi-home__card footer {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding-top: 0.9rem;
  border-top: 1px solid rgba(238,236,234,0.08);
}
.testi-home__card footer cite {
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 600;
  color: #EEECEA;
}
.testi-home__card footer span {
  font-size: 0.68rem;
  color: rgba(238,236,234,0.35);
}

.testi-home__legal {
  text-align: center;
  font-size: 0.65rem;
  color: rgba(238,236,234,0.25);
  margin-top: 3rem;
  line-height: 1.6;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 900px) {
  .testi-home__track {
    grid-template-columns: 1fr 1fr;
  }
  .testi-home__card:nth-child(n) { grid-column: span 1; }
}
@media (max-width: 600px) {
  .testi-home-section { padding: 3.5rem 0; }
  .testi-home__track {
    grid-template-columns: 1fr;
  }
  .testi-home__card:nth-child(n) { grid-column: span 1; }
}
