  :root{
    --verde-bosque:#38473C;
    --verde-salvia:#8C9A85;
    --arena:#EAE4D6;
    --arena-claro:#F4F0E6;
    --ocre:#B9863F;
    --marron:#5B4632;
    --blanco:#FFFDF9;
    --texto:#33322D;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{overflow-x:hidden;width:100%;}
  body{
    font-family:'Work Sans', sans-serif;
    color:var(--texto);
    background:var(--arena-claro);
    line-height:1.6;
    font-weight:300;
    overflow-x:hidden;
    width:100%;
  }
  h1,h2,h3,h4{
    font-family:'Fraunces', serif;
    font-weight:500;
    letter-spacing:0.01em;
    color:var(--verde-bosque);
  }
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1140px;margin:0 auto;padding:0 32px;}

  /* HEADER */
  header{
    display:flex;align-items:center;justify-content:space-between;
    padding:22px 0;background:var(--blanco);
    position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(56,71,60,0.08);
  }
  .logo-placeholder{
    display:flex;align-items:center;gap:12px;
  }
  .logo-mark{
    width:44px;height:44px;object-fit:contain;display:block;
  }
  .logo-txt{font-family:'Fraunces',serif;font-size:20px;color:var(--verde-bosque);letter-spacing:0.03em;}
  .logo-txt span{display:block;font-family:'Work Sans',sans-serif;font-size:10px;letter-spacing:0.15em;color:var(--ocre);font-weight:500;}
  nav ul{display:flex;gap:34px;list-style:none;align-items:center;}
  nav a{font-size:14px;letter-spacing:0.03em;color:var(--verde-bosque);position:relative;}
  .has-dropdown{position:relative;}
  .dropdown{
    display:none;position:absolute;top:28px;left:-10px;background:var(--blanco);
    box-shadow:0 12px 30px rgba(56,71,60,0.15);border-radius:6px;padding:10px 0;min-width:240px;
  }
  .has-dropdown:hover .dropdown{display:block;}
  .dropdown a{display:block;padding:8px 20px;font-size:13.5px;}
  .dropdown a:hover{background:var(--arena-claro);}

  /* SUBMENÚ ANIDADO (Naturopatía → disciplinas) */
  .has-subdropdown{position:relative;}
  .has-subdropdown > a::after{content:"▸";float:right;font-size:11px;margin-left:10px;color:var(--verde-salvia);}
  .subdropdown{
    display:none;position:absolute;top:0;left:100%;background:var(--blanco);
    box-shadow:0 12px 30px rgba(56,71,60,0.15);border-radius:6px;padding:10px 0;min-width:260px;
  }
  .has-subdropdown:hover .subdropdown{display:block;}
  .subdropdown a{display:block;padding:8px 20px;font-size:13.5px;}
  .subdropdown a:hover{background:var(--arena-claro);}

  /* BOTÓN HAMBURGUESA (móvil) */
  .nav-toggle{
    display:none;background:none;border:none;cursor:pointer;padding:0;
    font-size:26px;line-height:1;color:var(--verde-bosque);
  }


  /* HERO */
  .hero{background:var(--blanco);text-align:center;padding:64px 0 60px;}
  .hero-top{margin-bottom:38px;}
  .hero-eyebrow{font-size:13px;letter-spacing:0.25em;text-transform:uppercase;color:var(--ocre);margin-bottom:14px;}
  .hero h1{font-size:44px;font-weight:500;color:var(--verde-bosque);}
  .hero-banner{width:100%;margin-bottom:44px;}
  .hero-banner img{width:100%;height:auto;display:block;}
  .hero-quote-wrap{max-width:680px;margin:0 auto;padding:0 24px;}
  .hero-quote{
    font-family:'Fraunces',serif;font-style:italic;font-weight:400;
    font-size:19px;color:var(--texto);
  }
  .hero-quote cite{display:block;margin-top:10px;font-style:normal;font-size:13px;letter-spacing:0.05em;color:var(--ocre);}

  /* DIVIDER */
  .divider{display:block;width:100%;height:48px;}

  /* MI TRABAJO */
  .trabajo{padding:90px 0 60px;text-align:center;}
  .trabajo .kicker{font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ocre);margin-bottom:14px;}
  .trabajo h2{font-size:34px;margin-bottom:22px;}
  .trabajo p{max-width:680px;margin:0 auto 18px;font-size:16px;color:#565448;}
  .trabajo a.link-programa, .servicio-text a.link-programa{
    color:var(--ocre);border-bottom:1px solid var(--ocre);font-weight:500;
    display:inline-block;margin-bottom:16px;font-size:15px;text-transform:none;letter-spacing:0;
  }

  /* SERVICIOS */
  .servicios{padding:50px 0 90px;}
  .servicios-head{text-align:center;margin-bottom:60px;}
  .servicios-head .kicker{font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ocre);margin-bottom:12px;}
  .servicios-head h2{font-size:34px;}

  .servicio-row{
    display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;
    margin-bottom:80px;
  }
  .servicio-row.invertido{direction:rtl;}
  .servicio-row.invertido > *{direction:ltr;}
  .servicio-img{
    aspect-ratio:4/3;border-radius:10px;overflow:hidden;position:relative;
  }
  .servicio-img:not(:has(img)){
    background:repeating-linear-gradient(135deg, var(--verde-salvia), var(--verde-salvia) 18px, #A3AE9B 18px, #A3AE9B 36px);
    opacity:0.85;
  }
  .servicio-img img{width:100%;height:100%;object-fit:cover;display:block;}
  .servicio-img:not(:has(img))::after{
    content:attr(data-ph);
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    text-align:center;padding:20px;color:var(--blanco);font-size:12px;letter-spacing:0.04em;
    background:rgba(56,71,60,0.25);border-radius:10px;
  }
  .servicio-num{font-family:'Fraunces',serif;font-style:italic;font-size:13px;color:var(--ocre);margin-bottom:10px;display:block;}
  .servicio-text h3{font-size:26px;margin-bottom:14px;}
  .servicio-text p{color:#565448;font-size:15px;margin-bottom:16px;}
  .servicio-text a{
    font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:var(--verde-bosque);
    border-bottom:1px solid var(--verde-bosque);padding-bottom:2px;
  }
  .servicio-text ul.disciplinas{list-style:none;margin:0 0 18px;padding:0;}
  .servicio-text ul.disciplinas li{
    padding:9px 0;border-bottom:1px solid rgba(56,71,60,0.12);font-size:14.5px;color:#565448;
  }
  .servicio-text ul.disciplinas li:first-child{padding-top:0;}
  .servicio-text ul.disciplinas strong{color:var(--verde-bosque);font-weight:600;}

  /* SOBRE MI */
  .sobre-mi{background:var(--verde-bosque);color:var(--blanco);padding:90px 0;}
  .sobre-mi-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:center;}
  .sobre-mi-img{
    aspect-ratio:3/4;border-radius:10px;overflow:hidden;
  }
  .sobre-mi-img img{
    width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;
  }
  .sobre-mi h2{color:var(--blanco);font-size:32px;margin-bottom:18px;}
  .sobre-mi p{color:rgba(255,255,255,0.82);margin-bottom:16px;font-size:15px;}
  .valores{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;}
  .valor{border-left:2px solid var(--ocre);padding-left:14px;}

  /* CAJA DE CREDENCIALES (pequeña) */
  .credenciales-box{
    border:1px solid var(--arena);border-radius:8px;background:var(--arena-claro);
    padding:14px 20px;margin:22px 0;
  }
  .credenciales-box ul{list-style:none;padding:0;margin:0;}
  .credenciales-box li{
    font-size:11.5px;color:#6b6152;line-height:1.7;padding:2px 0;
  }
  .valor b{display:block;font-family:'Fraunces',serif;font-size:16px;color:var(--blanco);margin-bottom:2px;}
  .valor span{font-size:13.5px;color:rgba(255,255,255,0.7);}

  /* TESTIMONIOS */
  .testimonios{padding:90px 0;text-align:center;}
  .testimonios .kicker{font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ocre);margin-bottom:12px;}
  .testimonios h2{font-size:34px;margin-bottom:50px;}
  .test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:left;}
  .test-card{
    background:var(--blanco);border-radius:10px;padding:28px;
    box-shadow:0 8px 24px rgba(56,71,60,0.08);
  }
  .test-card p{font-family:'Fraunces',serif;font-style:italic;font-size:15px;color:#4a4838;margin-bottom:16px;}
  .test-card b{font-size:13px;color:var(--verde-bosque);display:block;}
  .test-card span{font-size:12px;color:var(--ocre);}

  /* CONTACTO / FOOTER */
  footer{background:var(--marron);color:var(--blanco);padding:70px 0 30px;}
  .footer-logo-wrap{text-align:center;margin-bottom:44px;}
  .footer-logo{height:64px;width:auto;}
  .footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;margin-bottom:50px;}
  footer h3{color:var(--blanco);font-size:15px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:18px;font-family:'Work Sans',sans-serif;font-weight:500;}
  footer p{font-size:14px;color:rgba(255,255,255,0.75);margin-bottom:10px;}
  .form-ph label{display:block;font-size:12px;letter-spacing:0.05em;color:rgba(255,255,255,0.6);margin:10px 0 4px;}
  .form-ph input, .form-ph textarea{
    width:100%;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.2);
    border-radius:5px;padding:9px 12px;color:var(--blanco);font-family:'Work Sans',sans-serif;font-size:13px;
  }
  .form-ph button{
    margin-top:16px;background:var(--ocre);color:var(--blanco);border:none;
    padding:11px 26px;border-radius:5px;font-size:13px;letter-spacing:0.05em;cursor:pointer;
  }
  .form-ph button:disabled{opacity:0.6;cursor:default;}
  .form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
  .form-msg{margin-top:12px;font-size:13px;display:none;}
  .form-msg.show{display:block;}
  .form-msg.ok{color:#B7D6A8;}
  .form-msg.error{color:#E7A2A2;}

  /* BOTÓN FLOTANTE WHATSAPP */
  .wpp-float{
    position:fixed;bottom:24px;right:24px;z-index:999;
    width:58px;height:58px;border-radius:50%;
    background:#25D366;display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 14px rgba(0,0,0,0.3);
    transition:transform 0.2s ease;
  }
  .wpp-float:hover{transform:scale(1.08);}
  .wpp-float svg{width:30px;height:30px;}
  @media(max-width:860px){
    .wpp-float{width:52px;height:52px;bottom:18px;right:18px;}
    .wpp-float svg{width:27px;height:27px;}
  }
  footer a.footer-link{display:block;font-size:14px;color:rgba(255,255,255,0.8);margin-bottom:8px;}
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.15);padding-top:22px;
    display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,0.5);
  }

  @media(max-width:860px){
    .nav-toggle{display:block;}
    header{position:sticky;}
    nav{position:static;}
    #navList{
      display:none;position:absolute;top:100%;left:0;right:0;
      flex-direction:column;gap:0;padding:8px 24px 20px;align-items:stretch;
      background:var(--blanco);box-shadow:0 14px 24px rgba(56,71,60,0.12);
      border-bottom:1px solid rgba(56,71,60,0.08);max-height:calc(100vh - 80px);overflow-y:auto;
    }
    #navList.open{display:flex;}
    #navList li{width:100%;}
    #navList > li > a{display:block;padding:13px 0;border-bottom:1px solid rgba(56,71,60,0.08);}
    .has-dropdown{position:static;}
    .dropdown{
      position:static;display:none;box-shadow:none;padding:2px 0 8px 14px;min-width:auto;
      background:transparent;border-radius:0;
    }
    .has-dropdown.open-sub > .dropdown{display:block;}
    .dropdown a{padding:11px 8px;border-bottom:1px solid rgba(56,71,60,0.06);}
    .has-subdropdown{position:static;}
    .subdropdown{
      position:static;display:none;box-shadow:none;min-width:auto;padding:0 0 4px 14px;background:transparent;
    }
    .has-subdropdown.open-sub > .subdropdown{display:block;}
    .servicio-row, .servicio-row.invertido{grid-template-columns:1fr;direction:ltr;}
    .sobre-mi-grid{grid-template-columns:1fr;}
    .test-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
    .hero{padding:44px 0 40px;}
    .hero h1{font-size:32px;}
  }

  /* KICKER GENÉRICO (páginas de servicio) */
  .kicker{font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ocre);margin-bottom:12px;}

  /* BLOQUE DE TEXTO PLANO (H2 + párrafos) */
  .texto-seccion{padding:50px 0;}
  .texto-seccion .wrap{max-width:760px;}
  .texto-seccion h2{font-size:26px;margin-bottom:18px;}
  .texto-seccion p{font-size:15.5px;color:#4a4a3f;margin-bottom:14px;line-height:1.65;}
  .texto-seccion p:last-child{margin-bottom:0;}

  /* FAQ */
  .faq-item{padding:18px 0;border-bottom:1px solid rgba(56,71,60,0.12);}
  .faq-item:last-child{border-bottom:none;}
  .faq-item h3{font-size:16px;color:var(--verde-bosque);margin-bottom:8px;font-weight:600;}
  .faq-item p{font-size:14.5px;color:#565448;margin:0;}

  /* LISTA DE DISCIPLINAS CON ENLACE A SUBPÁGINA */
  .disciplinas-list{list-style:none;padding:0;margin:0;}
  .disciplinas-list li{padding:22px 0;border-bottom:1px solid rgba(56,71,60,0.12);}
  .disciplinas-list li:last-child{border-bottom:none;}
  .disciplina-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
  .disciplina-head strong{font-size:17px;color:var(--verde-bosque);font-family:'Fraunces',serif;font-weight:500;}
  .disciplina-head a.leermas{
    font-size:12px;letter-spacing:0.05em;text-transform:uppercase;color:var(--ocre);
    border-bottom:1px solid var(--ocre);padding-bottom:1px;white-space:nowrap;
  }
  .disciplinas-list li p{font-size:14.5px;color:#565448;margin:0;}

  /* BANNER DE FOTO EN PÁGINA DE SERVICIO (más angosto, con espacio) */
  .banner-servicio{max-width:760px;margin:36px auto 8px;padding:0 24px;}
  .banner-servicio .hero-banner{margin-bottom:0;border-radius:10px;overflow:hidden;}
  .banner-servicio img{display:block;width:100%;border-radius:10px;}

  /* PÁGINAS DE SERVICIO — HERO INTERIOR */
  .page-hero{
    background:var(--verde-bosque);color:var(--blanco);text-align:center;
    padding:70px 24px 56px;
  }
  .page-hero .kicker{color:var(--ocre);}
  .page-hero h1{color:var(--blanco);font-size:38px;font-weight:500;margin-bottom:14px;}
  .page-hero p{color:rgba(255,255,255,0.85);max-width:640px;margin:0 auto;font-size:16px;}
  .breadcrumb{font-size:12px;color:rgba(255,255,255,0.6);margin-bottom:16px;letter-spacing:0.03em;}
  .breadcrumb a{color:rgba(255,255,255,0.85);}
  .breadcrumb a:hover{text-decoration:underline;}

  /* INTRO DE SERVICIO */
  .servicio-intro{padding:64px 0 20px;}
  .servicio-intro .wrap{max-width:820px;text-align:center;}
  .servicio-intro p{font-size:17px;color:#4a4a3f;margin-bottom:16px;}
  .servicio-intro p:first-of-type{font-family:'Fraunces',serif;font-style:italic;font-size:21px;color:var(--verde-bosque);}

  /* MODALIDAD PILLS */
  .pills{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:26px 0 10px;}
  .pill{
    background:var(--arena-claro);border:1px solid var(--arena);color:var(--verde-bosque);
    font-size:13px;padding:7px 16px;border-radius:20px;letter-spacing:0.02em;
  }

  /* TARJETAS DE PROGRAMAS */
  .programas{padding:50px 0 90px;}
  .programas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
  .programa-card{
    background:var(--blanco);border:1px solid rgba(56,71,60,0.1);border-radius:12px;
    padding:32px 26px;display:flex;flex-direction:column;
  }
  .programa-card .num{font-family:'Fraunces',serif;font-style:italic;color:var(--ocre);font-size:13px;margin-bottom:10px;}
  .programa-card h3{font-size:20px;margin-bottom:6px;}
  .programa-card .sub{font-size:13px;color:var(--verde-salvia);font-weight:500;margin-bottom:14px;}
  .programa-card p{font-size:14.5px;color:#565448;flex-grow:1;}
  .programa-card .card-img{
    width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:8px;margin-bottom:16px;
  }

  /* SECCIÓN CON FONDO ARENA */
  .seccion-arena{background:var(--arena-claro);padding:70px 0;}
  .seccion-arena .wrap{max-width:760px;}
  .seccion-arena h2{text-align:center;font-size:28px;margin-bottom:36px;}

  /* LISTA DE BENEFICIOS */
  .beneficios{list-style:none;padding:0;margin:0;}
  .beneficios li{
    position:relative;padding:12px 0 12px 30px;font-size:15px;color:#4a4a3f;
    border-bottom:1px solid rgba(56,71,60,0.1);
  }
  .beneficios li:last-child{border-bottom:none;}
  .beneficios li::before{
    content:"✓";position:absolute;left:0;top:12px;color:var(--ocre);font-weight:600;
  }

  /* PASOS NUMERADOS */
  .pasos{padding:70px 0;}
  .pasos .wrap{max-width:760px;}
  .pasos h2{text-align:center;font-size:28px;margin-bottom:40px;}
  .paso{display:grid;grid-template-columns:52px 1fr;gap:20px;margin-bottom:30px;}
  .paso-num{
    width:40px;height:40px;border-radius:50%;background:var(--verde-bosque);color:var(--blanco);
    display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:16px;
  }
  .paso p{font-size:15px;color:#4a4a3f;padding-top:8px;}

  /* CTA FINAL DE SERVICIO */
  .cta-servicio{
    background:var(--verde-bosque);color:var(--blanco);text-align:center;
    padding:56px 24px;
  }
  .cta-servicio h2{color:var(--blanco);font-size:26px;margin-bottom:14px;}
  .cta-servicio p{color:rgba(255,255,255,0.82);margin-bottom:22px;max-width:560px;margin-left:auto;margin-right:auto;}
  a.btn{
    display:inline-block;background:var(--ocre);color:var(--blanco);padding:13px 32px;
    border-radius:5px;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;
  }
  .cta-servicio a.btn{}

  /* PÁGINAS LEGALES */
  .legal-content{padding:60px 0 90px;}
  .legal-content .wrap{max-width:820px;}
  .legal-content h2{font-size:22px;color:var(--verde-bosque);margin:44px 0 16px;}
  .legal-content h2:first-child{margin-top:0;}
  .legal-content h3{font-size:16px;color:var(--ocre);margin:26px 0 10px;font-family:'Work Sans',sans-serif;font-weight:600;letter-spacing:0.02em;}
  .legal-content p{font-size:15px;color:#4a4a3f;margin-bottom:14px;line-height:1.7;}
  .legal-content a{color:var(--verde-bosque);text-decoration:underline;}
  .legal-updated{font-size:13px;color:var(--verde-salvia);margin-bottom:6px;}
  .legal-links{font-size:12px;color:rgba(255,255,255,0.55);margin-top:4px;}
  .legal-links a{color:rgba(255,255,255,0.75);text-decoration:none;}
  .legal-links a:hover{text-decoration:underline;}
  .legal-links .sep{margin:0 8px;opacity:0.5;}

  @media(max-width:860px){
    .programas-grid{grid-template-columns:1fr;}
    .page-hero h1{font-size:28px;}
  }
