:root{
    --verde: #404e30;
    --verde-oscuro: #333f26;
    --crema: #f6f2ea;
    --crema-suave: #efe9dd;
    --arena: #e7ddc9;
    --texto: #2c2c26;
    --texto-suave: #5c5c52;
    --linea: rgba(74,90,58,0.18);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Jost', sans-serif;
    color:var(--texto);
    background:var(--crema);
    line-height:1.6;
    font-weight:300;
  }
  h1,h2,h3,.serif{
    font-family:'Cormorant Garamond', serif;
    font-weight:500;
    letter-spacing:0.01em;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
  .eyebrow{
    font-size:0.78rem;
    letter-spacing:0.12em;
    color:var(--verde);
    text-transform:uppercase;
    font-weight:500;
  }

  /* Header */
  header{
    background:var(--verde);
    position:sticky; top:0; z-index:100;
  }
  .nav-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 32px;
    max-width:1180px; margin:0 auto;
  }
  .logo-img{height:44px; width:auto;}
  nav.menu{display:flex; gap:34px;}
  nav.menu a{
    color:var(--crema);
    font-size:0.82rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:6px 0;
    border-bottom:1px solid transparent;
    transition:border-color .2s ease;
  }
  nav.menu a:hover{border-color:var(--arena);}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:12px 26px;
    border-radius:999px;
    font-size:0.8rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    white-space:nowrap;
    transition:transform .18s ease, background .18s ease, color .18s ease;
  }
  .btn-crema{background:var(--crema); color:var(--verde-oscuro);}
  .btn-crema:hover{background:#fff;}
  .btn-outline{border:1px solid var(--verde); color:var(--verde);}
  .btn-outline:hover{background:var(--verde); color:var(--crema);}
  .menu-toggle{display:none; background:none; border:0; color:var(--crema); font-size:1.6rem; cursor:pointer;}

  /* Hero */
  .hero{
    position:relative;
    min-height:680px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:var(--verde-oscuro);
  }
  .hero-media{position:absolute; inset:0;}
  .hero-media img{
    width:100%; height:100%; object-fit:cover; object-position:78% center;
  }
  .hero-panel{
    position:relative; z-index:2;
    margin:56px 0 56px 32px;
    padding:64px 52px;
    max-width:520px;
    background:rgba(51,63,38,0.56);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
  }
  .hero-panel .eyebrow{color:var(--arena); margin-bottom:18px;}
  .hero-panel h1{
    font-size:3.3rem;
    line-height:1.08;
    color:var(--crema);
    margin-bottom:22px;
  }
  .hero-panel p{
    color:rgba(246,242,234,0.92);
    font-size:1.05rem;
    max-width:420px;
    margin-bottom:34px;
  }
  .hero-actions{display:flex; gap:16px; flex-wrap:wrap;}
  .btn-verde{background:var(--verde-oscuro); color:var(--crema);}
  .btn-verde:hover{background:var(--verde);}
  .hero-tags{
    position:absolute; right:36px; top:50%; transform:translateY(-50%);
    z-index:2;
    display:flex; flex-direction:column; gap:14px;
    color:var(--crema);
    font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase;
    text-align:right;
    text-shadow:0 1px 6px rgba(0,0,0,0.35);
  }
  .hero-tags .rule{width:34px; height:1px; background:var(--crema); margin-left:auto; margin-top:6px;}

  /* Services strip */
  .servicios{background:var(--crema-suave); padding:64px 0 70px;}
  .servicios .titulo-bloque{text-align:center; margin-bottom:44px;}
  .servicios h2{font-size:2.1rem; color:var(--verde-oscuro);}
  .servicios-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:40px 22px;
  }
  .servicio-item{text-align:center; width:200px;}
  .servicio-icon{
    width:92px; height:92px;
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 14px;
    transition:transform .2s ease;
  }
  .servicio-icon img{width:100%; height:100%; object-fit:contain;}
  .servicio-icon svg{width:100%; height:100%; stroke:var(--verde-oscuro); fill:none; stroke-width:1.1;}
  .servicio-item h3{
    font-family:'Jost', sans-serif;
    font-weight:500;
    font-size:0.92rem;
    letter-spacing:0.03em;
    color:var(--texto);
  }
  .servicio-item p{font-size:0.85rem; color:var(--texto-suave); margin-top:4px;}

  /* Intro / bienvenida */
  .bienvenida{
    display:grid; grid-template-columns:1fr 1fr;
    background:var(--crema);
  }
  .bienvenida-text{padding:90px 56px; display:flex; flex-direction:column; justify-content:center;}
  .bienvenida-text .eyebrow{margin-bottom:16px;}
  .bienvenida-text h2{font-size:2.3rem; color:var(--verde-oscuro); margin-bottom:22px; max-width:420px;}
  .bienvenida-text p{color:var(--texto-suave); max-width:460px; margin-bottom:14px;}
  .bienvenida-img{min-height:460px;}
  .bienvenida-img img{width:100%; height:100%; object-fit:cover;}

  /* Sobre el medico */
  .medico{background:var(--crema-suave); padding:100px 0;}
  .medico-grid{
    display:grid; grid-template-columns: 380px 1fr;
    gap:64px;
    align-items:start;
  }
  .medico-foto{border-radius:6px; overflow:hidden;}
  .medico-info .eyebrow{margin-bottom:16px;}
  .medico-info h2{font-size:2.4rem; color:var(--verde-oscuro); margin-bottom:8px;}
  .medico-info .subtitulo{color:var(--texto-suave); font-size:1rem; margin-bottom:28px; font-style:italic; font-family:'Cormorant Garamond',serif; font-size:1.25rem;}
  .medico-credenciales{
    display:grid; grid-template-columns:1fr 1fr; gap:22px 40px;
    margin-top:8px;
  }
  .credencial{border-top:1px solid var(--linea); padding-top:16px;}
  .credencial h4{
    font-family:'Jost'; font-weight:500; font-size:0.82rem;
    text-transform:uppercase; letter-spacing:0.05em; color:var(--verde);
    margin-bottom:6px;
  }
  .credencial p{font-size:0.92rem; color:var(--texto-suave);}

  /* CTA banda */
  .cta-banda{
    background:var(--verde-oscuro); color:var(--crema);
    padding:60px 0; text-align:center;
  }
  .cta-banda h2{font-size:2rem; margin-bottom:10px; color:var(--crema);}
  .cta-banda p{color:var(--arena); margin-bottom:28px; max-width:520px; margin-left:auto; margin-right:auto;}
  .cta-banda .hero-actions{justify-content:center;}
  .btn-crema2{background:var(--crema); color:var(--verde-oscuro);}
  .btn-crema2:hover{background:#fff;}

  /* Footer / contacto */
  footer{background:var(--verde); color:var(--crema); padding:70px 0 28px;}
  .footer-grid{
    display:grid; grid-template-columns:1.4fr 1fr 1fr;
    gap:48px;
    padding-bottom:48px;
    border-bottom:1px solid rgba(246,242,234,0.18);
  }
  .footer-logo{height:60px; width:auto; margin-bottom:18px;}
  .footer-col h4{
    font-family:'Jost'; font-weight:500; font-size:0.82rem;
    text-transform:uppercase; letter-spacing:0.08em;
    margin-bottom:18px; color:var(--arena);
  }
  .footer-col p, .footer-col a{
    font-size:0.92rem; color:rgba(246,242,234,0.85);
    display:block; margin-bottom:10px;
  }
  .footer-col a:hover{color:#fff;}
  .footer-bottom{
    padding-top:24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
    font-size:0.78rem; color:rgba(246,242,234,0.6);
  }

  /* WhatsApp flotante */
  .wa-flotante{
    position:fixed; bottom:26px; right:26px; z-index:200;
    width:58px; height:58px; border-radius:50%;
    background:#3f8f5c;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 8px 20px rgba(0,0,0,0.25);
    transition:transform .18s ease;
  }
  .wa-flotante:hover{transform:scale(1.06);}
  .wa-flotante svg{width:28px; height:28px; fill:#fff;}

  @media (max-width: 900px){
    nav.menu{display:none;}
    .menu-toggle{display:block;}
    .hero{min-height:520px;}
    .hero-panel{margin:32px 16px; padding:36px 26px; max-width:none;}
    .hero-panel h1{font-size:2.2rem;}
    .hero-tags{display:none;}
    .servicio-item{width:44%;}
    .bienvenida{grid-template-columns:1fr;}
    .bienvenida-text{padding:56px 24px;}
    .bienvenida-img{min-height:300px;}
    .medico-grid{grid-template-columns:1fr;}
    .medico-foto{max-width:340px;}
    .medico-credenciales{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr; gap:32px;}
  }


  /* Servicio como enlace clicable */
  .servicio-item{
    display:block;
    text-decoration:none;
    color:inherit;
    transition:transform .2s ease;
  }
  .servicio-item:hover{transform:translateY(-4px);}
  .servicio-item:hover .servicio-icon{transform:scale(1.06);}
  .servicio-item:hover h3{text-decoration:underline; text-underline-offset:3px;}

  /* Páginas de detalle de servicio */
  .breadcrumb{
    padding:20px 0; font-size:0.82rem; color:var(--texto-suave);
  }
  .breadcrumb a{color:var(--verde); }
  .breadcrumb a:hover{text-decoration:underline;}
  .servicio-hero{
    background:var(--crema-suave);
    padding:56px 0 60px;
  }
  .servicio-hero-inner{display:flex; align-items:center; gap:26px; flex-wrap:wrap;}
  .servicio-hero .servicio-icon{margin:0; width:100px; height:100px; flex-shrink:0;}
  .servicio-hero h1{font-size:2.4rem; color:var(--verde-oscuro); margin-bottom:8px;}
  .servicio-hero p{color:var(--texto-suave); max-width:640px;}
  .servicio-contenido{padding:64px 0 20px;}
  .servicio-contenido .bloque{max-width:760px; margin-bottom:40px;}
  .servicio-contenido h2{font-size:1.7rem; color:var(--verde-oscuro); margin-bottom:14px;}
  .servicio-contenido p{color:var(--texto-suave); margin-bottom:12px;}
  .servicio-contenido ul{margin:0 0 12px 20px; color:var(--texto-suave);}
  .servicio-contenido li{margin-bottom:8px;}
  .volver-link{
    display:inline-flex; align-items:center; gap:8px;
    color:var(--verde); font-size:0.88rem; margin:36px 0 8px;
  }
  .volver-link:hover{text-decoration:underline;}
  .aviso-provisional{
    background:var(--arena); border-radius:6px; padding:16px 20px;
    font-size:0.85rem; color:var(--texto-suave); max-width:760px; margin-bottom:40px;
  }

  @media (max-width: 900px){
    .servicio-hero-inner{flex-direction:column; align-items:flex-start;}
    .servicio-hero h1{font-size:1.9rem;}
  }
