/* Estilos compartidos de las páginas internas.
   Copia exacta del <style> de index.html + reglas de páginas internas al final.
   Si cambias el diseño de la portada, vuelve a generar este archivo. */
  :root{
    --jade:#173a2c; --jade-dark:#0f2a20; --jade-2:#245842;
    --salvia:#7f9a86; --salvia-soft:#bcd0bf;
    --oro:#c8a24a; --oro-soft:#e2c983; --oro-dark:#a9862f;
    --cinabrio:#b23a2e;
    --crema:#f6f1e6; --crema-2:#faf6ec; --crema-3:#efe7d5;
    --tinta:#20302a; --tinta-soft:#455049;
    --linea:#e2d9c5;
    --shadow:0 18px 50px -24px rgba(15,42,32,.5);
    --shadow-lg:0 34px 80px -34px rgba(15,42,32,.6);
    --radius:20px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--tinta);background:var(--crema-2);line-height:1.72;font-weight:400;font-size:16.5px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:4;opacity:.03;mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
  h1,h2,h3,h4{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.12;letter-spacing:-.01em}
  .serif2{font-family:'Cormorant Garamond',serif}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:1180px;margin:0 auto;padding:0 40px}
  @media(max-width:640px){.wrap{padding:0 24px}}
  .eyebrow{font-family:'Jost';font-weight:500;text-transform:uppercase;letter-spacing:.3em;font-size:.72rem;color:var(--oro-dark);display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--oro)}
  .sec-head .eyebrow::before{display:none}
  :focus-visible{outline:2px solid var(--oro);outline-offset:3px;border-radius:4px}
  .skip{position:absolute;left:-999px;top:0;background:var(--jade);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;z-index:100}
  .skip:focus{left:0}

  .btn{display:inline-flex;align-items:center;gap:.55em;font-family:'Jost';font-weight:400;font-size:.95rem;letter-spacing:.02em;padding:.85em 1.6em;border-radius:100px;cursor:pointer;transition:.25s ease;border:1px solid transparent}
  .btn svg{width:18px;height:18px;flex:none}
  .btn-wa{background:#0E6F64;color:#fff}
  .btn-wa:hover{background:#0b5a51;transform:translateY(-2px);box-shadow:var(--shadow)}
  .btn-jade{background:var(--jade);color:var(--crema)}
  .btn-jade:hover{background:var(--jade-dark);transform:translateY(-2px);box-shadow:var(--shadow)}
  .btn-ghost{border-color:var(--jade);color:var(--jade)}
  .btn-ghost:hover{background:var(--jade);color:var(--crema)}
  .btn-oro{background:var(--oro);color:var(--jade-dark)}
  .btn-oro:hover{background:var(--oro-soft);transform:translateY(-2px);box-shadow:var(--shadow)}

  /* reveal */
  .js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
  .js .reveal.in{opacity:1;transform:none}
  .js .reveal.d1{transition-delay:.08s}.js .reveal.d2{transition-delay:.16s}.js .reveal.d3{transition-delay:.24s}

  /* nav */
  header.nav{position:sticky;top:0;z-index:50;background:rgba(250,246,236,.85);backdrop-filter:blur(12px);transition:box-shadow .3s,background .3s;border-bottom:1px solid transparent}
  header.nav.scrolled{box-shadow:0 8px 30px -18px rgba(15,42,32,.4);border-bottom-color:var(--linea)}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 26px;max-width:1180px;margin:0 auto}
  .brand{display:flex;align-items:center;gap:12px}
  .brand .logo{width:46px;height:46px;border-radius:50%;object-fit:cover;border:1.5px solid var(--oro);box-shadow:0 6px 16px -8px rgba(15,42,32,.5);flex:none}
  .brand .txt{display:flex;flex-direction:column;line-height:1.15}
  .brand .txt b{font-family:'Playfair Display';font-weight:500;font-size:1.12rem;color:var(--jade);letter-spacing:.01em}
  .brand .txt small{font-family:'Jost';font-weight:400;letter-spacing:.16em;text-transform:uppercase;font-size:.54rem;color:var(--tinta-soft);margin-top:2px}
  .nav-cta{display:flex;align-items:center;gap:18px}
  .menu-links ul{display:flex;gap:28px;list-style:none;align-items:center}
  .menu-links a{font-size:.9rem;color:var(--tinta);transition:.2s;position:relative}
  .menu-links a:hover{color:var(--oro-dark)}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
  .burger span{width:24px;height:2px;background:var(--jade);border-radius:2px;transition:.3s}
  body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.menu-open .burger span:nth-child(2){opacity:0}
  body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu{position:fixed;inset:0 0 0 auto;width:min(80vw,320px);background:var(--crema);z-index:70;transform:translateX(100%);transition:transform .35s cubic-bezier(.5,0,.2,1);box-shadow:var(--shadow-lg);padding:90px 34px 34px;display:flex;flex-direction:column;gap:6px}
  body.menu-open .mobile-menu{transform:none}
  .mobile-menu a{font-family:'Playfair Display';font-size:1.45rem;color:var(--jade);padding:12px 0;border-bottom:1px solid var(--linea)}
  .mobile-menu .btn-wa{margin-top:20px;justify-content:center}
  .scrim{position:fixed;inset:0;background:rgba(15,42,32,.4);opacity:0;visibility:hidden;transition:.35s;z-index:65}
  body.menu-open .scrim{opacity:1;visibility:visible}
  @media(max-width:900px){.menu-links{display:none}.burger{display:flex}}
  /* móvil: logo, "Reservar hora" y menú en una sola línea */
  @media(max-width:480px){
    .nav-inner{padding:10px 14px;gap:10px}
    .brand{gap:8px}
    .brand .logo{width:38px;height:38px}
    .brand .txt b{font-size:1rem;white-space:nowrap}
    .brand .txt small{display:none}
    .nav-cta{gap:4px}
    .nav-cta .btn-wa{padding:.6em .95em;font-size:.85rem;white-space:nowrap}
    .nav-cta .btn-wa svg{width:16px;height:16px}
    .burger{padding:6px}
  }
  @media(max-width:370px){.nav-cta .btn-wa svg{display:none}}
  @media(max-width:359px){.brand .txt{display:none}}

  /* hero */
  .hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 84% -10%,#e9dcc0 0%,transparent 52%),linear-gradient(165deg,#eef1e6 0%,var(--crema) 46%,var(--crema-3) 130%)}
  .hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:76px;padding-bottom:88px;position:relative;z-index:2;perspective:1200px}
  .hero h1{font-size:clamp(2.5rem,5.2vw,4.2rem);color:var(--jade);margin:6px 0 20px}
  .hero h1 em{font-style:italic;color:var(--oro-dark)}
  .hero p.lead{font-size:1.13rem;color:var(--tinta-soft);max-width:36ch;margin-bottom:30px}
  .hero-btns{display:flex;gap:14px;flex-wrap:wrap}
  .hero-trust{margin-top:34px;display:flex;flex-wrap:wrap;gap:10px 20px;color:var(--tinta-soft);font-size:.85rem}
  .hero-trust span{display:inline-flex;align-items:center;gap:8px}
  .hero-trust svg{width:16px;height:16px;color:var(--oro-dark);flex:none}
  /* medallón */
  .medallion{position:relative;aspect-ratio:1/1.05;max-width:420px;margin-left:auto;transform-style:preserve-3d}
  @media(prefers-reduced-motion:no-preference){.medallion{transition:transform .3s ease}}
  .medallion .frame{position:absolute;inset:0;border-radius:50%;background:radial-gradient(120% 120% at 30% 20%,var(--jade-2) 0%,var(--jade) 55%,var(--jade-dark) 100%);box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid var(--oro)}
  .medallion .frame .logo-big{width:94%;height:94%;object-fit:cover;border-radius:50%;position:relative;z-index:2;filter:drop-shadow(0 10px 24px rgba(0,0,0,.35))}
  .medallion .cap{position:absolute;bottom:12%;color:rgba(246,241,230,.85);font-family:'Cormorant Garamond';font-size:1.05rem;letter-spacing:.06em;z-index:2}
  .medallion .pill{position:absolute;background:var(--crema);color:var(--jade);border:1px solid var(--linea);border-radius:100px;padding:.55em 1.1em;font-family:'Playfair Display';font-size:.82rem;box-shadow:var(--shadow);z-index:3;display:flex;align-items:center;gap:8px}
  .medallion .pill svg{width:16px;height:16px;color:var(--oro-dark)}
  .medallion .pill.a{top:8%;right:-6%}
  .medallion .pill.b{bottom:6%;left:-8%}
  /* puntos/meridiano flotante */
  .acu{position:absolute;z-index:1;opacity:.55;color:var(--oro)}
  .acu.a{top:10%;left:0;width:80px}
  .acu.b{bottom:6%;right:4%;width:64px}
  @media(prefers-reduced-motion:no-preference){.acu{animation:drift 9s ease-in-out infinite}.acu.b{animation-delay:-4s}}
  @keyframes drift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(5deg)}}
  @media(max-width:860px){.hero-inner{grid-template-columns:1fr;gap:34px;padding-top:52px;padding-bottom:60px}.medallion{margin:0 auto;max-width:320px}.hero-copy{text-align:center}.hero-copy p.lead{margin-left:auto;margin-right:auto}.hero-btns{justify-content:center}.hero-trust{justify-content:center}}

  section{padding:88px 0;position:relative}
  .sec-head{text-align:center;max-width:640px;margin:0 auto 52px}
  .sec-head .eyebrow{justify-content:center}
  .sec-head h2{font-size:clamp(2rem,3.6vw,2.9rem);color:var(--jade)}
  .sec-head p{color:var(--tinta-soft);margin-top:14px}

  /* dos caminos */
  .caminos{background:var(--crema)}
  .cam-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
  .cam{position:relative;border-radius:26px;overflow:hidden;padding:40px 36px;min-height:290px;display:flex;flex-direction:column;justify-content:flex-end;color:var(--crema);box-shadow:var(--shadow);transition:.3s}
  .cam:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
  .cam.clinica{background:radial-gradient(120% 120% at 80% 0,var(--jade-2),var(--jade) 60%,var(--jade-dark))}
  .cam.escuela{background:radial-gradient(120% 120% at 80% 0,#3a6b52,var(--jade) 55%,var(--jade-dark))}
  .cam .badge{position:absolute;top:26px;left:36px;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--oro-soft);display:flex;align-items:center;gap:9px}
  .cam .badge svg{width:20px;height:20px}
  .cam h3{font-size:1.8rem;color:var(--crema);margin-bottom:8px}
  .cam p{color:rgba(246,241,230,.82);font-size:.96rem;margin-bottom:20px;max-width:34ch}
  .cam .btn{align-self:flex-start}
  .cam .deco{position:absolute;top:-30px;right:-30px;width:180px;height:180px;border-radius:50%;border:1px solid rgba(200,162,74,.35)}
  .cam .deco::after{content:"";position:absolute;inset:26px;border-radius:50%;border:1px solid rgba(200,162,74,.25)}
  @media(max-width:760px){.cam-grid{grid-template-columns:1fr}}

  /* terapias */
  .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .card{background:var(--crema-2);border:1px solid var(--linea);border-radius:var(--radius);padding:30px 26px;transition:.28s ease}
  .card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--oro-soft)}
  .card .ic{width:54px;height:54px;border-radius:14px;background:linear-gradient(150deg,var(--crema-3),#e6dcc4);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
  .card .ic svg{width:27px;height:27px;stroke:var(--jade);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
  .card h3{font-size:1.24rem;color:var(--jade);margin-bottom:8px}
  .card p{color:var(--tinta-soft);font-size:.92rem;margin-bottom:14px}
  .card .more{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--oro-dark);font-weight:500;cursor:pointer}
  @media(max-width:820px){.grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:540px){.grid{grid-template-columns:1fr}}

  /* clínica */
  .clinica{background:var(--crema-2)}
  .cl-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
  .cl-info .eyebrow{margin-bottom:14px}
  .cl-info h2{font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--jade);margin-bottom:16px}
  .cl-info p{color:var(--tinta-soft);margin-bottom:16px;max-width:52ch}
  .cl-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin:22px 0 26px}
  .cl-list li{display:flex;align-items:flex-start;gap:12px;font-size:.96rem}
  .cl-list .ic{width:36px;height:36px;border-radius:10px;background:var(--crema-3);display:flex;align-items:center;justify-content:center;flex:none;color:var(--jade)}
  .cl-list .ic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .cl-list b{color:var(--jade);font-family:'Playfair Display';font-weight:500}
  .cl-card{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--linea)}
  .cl-card .map{position:relative;width:100%;height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
    background:radial-gradient(120% 120% at 30% 20%,var(--jade-2) 0%,var(--jade) 60%,var(--jade-dark) 100%);color:var(--crema);overflow:hidden;transition:.3s}
  .cl-card .map::before{content:"";position:absolute;inset:0;opacity:.16;
    background-image:linear-gradient(rgba(200,162,74,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(200,162,74,.6) 1px,transparent 1px);background-size:44px 44px}
  .cl-card .map::after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;border:1px solid rgba(200,162,74,.35);animation:none}
  .cl-card .map .pin{width:72px;height:72px;border-radius:50%;background:rgba(200,162,74,.16);border:1px solid rgba(200,162,74,.5);display:flex;align-items:center;justify-content:center;color:var(--oro-soft);position:relative;z-index:1}
  .cl-card .map .pin svg{width:34px;height:34px}
  .cl-card .map .go{position:relative;z-index:1;font-family:'Playfair Display';font-size:1.02rem;color:var(--oro-soft);letter-spacing:.02em}
  .cl-card .map:hover{filter:brightness(1.08)}
  .cl-card .map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .45s ease}
  .cl-card .map:hover img{transform:scale(1.06)}
  .cl-card .map .go{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;background:rgba(15,42,32,.85);backdrop-filter:blur(6px);border:1px solid rgba(200,162,74,.35);border-radius:14px;padding:12px 16px}
  .cl-card .addr{background:var(--jade-dark);color:var(--crema);padding:18px 22px;display:flex;align-items:center;gap:12px;font-size:.92rem}
  .cl-card .addr svg{width:20px;height:20px;color:var(--oro-soft);flex:none}
  @media(max-width:860px){.cl-grid{grid-template-columns:1fr;gap:34px}}

  /* escuela band */
  .band{margin:0 18px;border-radius:40px;overflow:hidden}
  @media(max-width:600px){.band{margin:0 10px;border-radius:26px}}
  .escuela{background:linear-gradient(175deg,var(--jade) 0%,var(--jade-dark) 100%);color:var(--crema);position:relative}
  .escuela::before{content:"";position:absolute;inset:0;opacity:.06;background-image:radial-gradient(circle at 20% 20%,var(--oro) 0 2px,transparent 2px),radial-gradient(circle at 70% 60%,var(--oro) 0 2px,transparent 2px),radial-gradient(circle at 40% 80%,var(--oro) 0 2px,transparent 2px);background-size:260px 260px}
  .escuela .wrap{position:relative;z-index:1}
  .escuela .eyebrow{color:var(--oro-soft)}
  .escuela .eyebrow::before{background:var(--oro-soft)}
  .escuela .sec-head h2{color:var(--crema)}
  .escuela .sec-head p{color:var(--salvia-soft)}
  .esc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}
  .esc-card{background:rgba(255,255,255,.05);border:1px solid rgba(200,162,74,.22);border-radius:var(--radius);padding:26px 24px;transition:.28s}
  .esc-card:hover{background:rgba(255,255,255,.09);transform:translateY(-5px)}
  .esc-card .n{font-family:'Cormorant Garamond';font-size:2rem;color:var(--oro);line-height:1}
  .esc-card h3{color:var(--crema);font-size:1.2rem;margin:10px 0 8px}
  .esc-card p{color:var(--salvia-soft);font-size:.9rem}
  .esc-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background:rgba(200,162,74,.1);border:1px solid rgba(200,162,74,.3);border-radius:22px;padding:26px 30px}
  .esc-cta .t b{font-family:'Playfair Display';font-size:1.35rem;color:var(--crema);display:block}
  .esc-cta .t span{color:var(--salvia-soft);font-size:.92rem}
  @media(max-width:820px){.esc-grid{grid-template-columns:1fr}}

  /* proceso */
  .proceso{background:var(--crema)}
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
  .step{text-align:center;padding:10px}
  .step .num{width:62px;height:62px;margin:0 auto 18px;border-radius:50%;border:1.5px solid var(--oro);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond';font-size:1.7rem;color:var(--jade);background:var(--crema-2)}
  .step h3{font-size:1.28rem;color:var(--jade);margin-bottom:8px}
  .step p{color:var(--tinta-soft);font-size:.94rem;max-width:32ch;margin:0 auto}
  @media(max-width:760px){.steps{grid-template-columns:1fr;gap:32px}}

  /* quote */
  .quote{background:linear-gradient(rgba(15,42,32,.82),rgba(15,42,32,.82)),linear-gradient(135deg,var(--salvia),var(--jade));color:var(--crema);text-align:center}
  .quote .seal{width:66px;height:66px;margin:0 auto 24px;border-radius:12px;border:2px solid var(--oro);color:var(--oro-soft);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond';font-size:1.5rem;letter-spacing:.04em}
  .quote p{font-family:'Playfair Display';font-style:italic;font-size:clamp(1.2rem,2.6vw,1.9rem);color:var(--crema);line-height:1.45;max-width:46ch;margin:0 auto}
  .quote .who{margin-top:24px;letter-spacing:.26em;text-transform:uppercase;font-size:.72rem;color:var(--oro-soft)}

  /* testimonios */
  .test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .test{background:var(--crema);border-radius:var(--radius);padding:30px 28px;border:1px solid var(--linea)}
  .test .stars{color:var(--oro);letter-spacing:.2em;margin-bottom:14px}
  .test p{font-style:italic;color:var(--tinta);font-family:'Playfair Display';font-size:1.02rem;margin-bottom:16px}
  .test .who{font-size:.85rem;color:var(--tinta-soft);letter-spacing:.04em}
  @media(max-width:820px){.test-grid{grid-template-columns:1fr}}

  /* contacto */
  .contacto{background:var(--crema-2)}
  .cont-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
  .cont-info h2{font-size:clamp(2rem,3.6vw,2.8rem);color:var(--jade);margin-bottom:16px}
  .cont-info p{color:var(--tinta-soft);margin-bottom:26px;max-width:40ch}
  .cont-list{list-style:none;display:flex;flex-direction:column;gap:14px}
  .cont-list li{display:flex;align-items:center;gap:14px;font-size:.98rem}
  .cont-list .ic{width:44px;height:44px;border-radius:12px;background:var(--crema-3);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--jade)}
  .cont-list .ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .cont-list a{border-bottom:1px solid transparent;transition:.2s}
  .cont-list a:hover{border-bottom-color:var(--oro);color:var(--oro-dark)}
  .form{background:var(--crema);border:1px solid var(--linea);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow)}
  .form label{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-soft);margin:0 0 6px 4px}
  .form input,.form select,.form textarea{width:100%;border:1px solid var(--linea);background:#fff;border-radius:12px;padding:.85em 1em;margin-bottom:16px;font-family:'Jost';font-size:.95rem;color:var(--tinta)}
  .form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--salvia);box-shadow:0 0 0 3px rgba(127,154,134,.22)}
  .form textarea{resize:vertical;min-height:100px}
  .form .btn-wa{width:100%;justify-content:center}
  @media(max-width:860px){.cont-grid{grid-template-columns:1fr;gap:34px}}

  /* footer */
  footer{background:var(--jade-dark);color:var(--salvia-soft);padding:56px 0 30px;text-align:center}
  footer .fbrand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}
  footer .fbrand img{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--oro)}
  footer .fbrand b{font-family:'Playfair Display';font-weight:500;font-size:1.4rem;color:var(--crema)}
  footer .ftag{letter-spacing:.24em;text-transform:uppercase;font-size:.6rem;margin-bottom:22px;color:var(--oro-soft)}
  footer .fnav{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
  footer .fnav a{font-size:.88rem;color:var(--salvia-soft);transition:.2s}
  footer .fnav a:hover{color:var(--crema)}
  footer .copy{font-size:.76rem;color:rgba(188,208,191,.85);border-top:1px solid rgba(255,255,255,.08);padding-top:22px;max-width:900px;margin:20px auto 0}
  .ph-note{font-size:.7rem;opacity:.8}

  /* floating WA */
  .wa-float{position:fixed;bottom:22px;right:22px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px -8px rgba(37,211,102,.6);transition:.25s}
  .wa-float:hover{transform:scale(1.08)}
  .wa-float svg{width:32px;height:32px;fill:#fff}
  @media(prefers-reduced-motion:no-preference){.wa-float{animation:pulse 2.6s ease-in-out infinite}}
  @keyframes pulse{0%,100%{box-shadow:0 12px 30px -8px rgba(37,211,102,.6)}50%{box-shadow:0 12px 30px -8px rgba(37,211,102,.6),0 0 0 12px rgba(37,211,102,.12)}}

  /* ===== nosotros / tu acupunturista ===== */
  .nosotros{background:var(--crema)}
  .nos-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:52px;align-items:center}
  .nos-photo{position:relative;aspect-ratio:4/5;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--linea);background:radial-gradient(120% 120% at 30% 20%,var(--jade-2),var(--jade) 70%,var(--jade-dark))}
  .nos-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 14%;display:block}
  .nos-photo .frame-tag{position:absolute;bottom:14px;left:14px;right:14px;z-index:2;background:rgba(15,42,32,.8);backdrop-filter:blur(8px);border:1px solid rgba(200,162,74,.32);border-radius:14px;padding:12px 16px;color:var(--crema)}
  .nos-photo .frame-tag b{font-family:'Playfair Display';font-size:1.05rem;display:block}
  .nos-photo .frame-tag span{font-size:.8rem;color:var(--oro-soft)}
  .nos-info .name{font-family:'Playfair Display';font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--jade);margin-bottom:8px}
  .nos-info p{color:var(--tinta-soft);margin-bottom:16px;max-width:54ch}
  .nos-info p b{color:var(--jade);font-family:'Playfair Display';font-weight:500}
  .nos-badges{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 26px}
  .nos-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--salvia);color:var(--jade);border-radius:100px;padding:.45em 1em;font-size:.85rem}
  .nos-badge svg{width:16px;height:16px;color:var(--oro-dark);flex:none}
  @media(max-width:860px){.nos-grid{grid-template-columns:1fr;gap:30px}.nos-photo{width:100%;max-width:360px;margin:0 auto}}
  /* ===== docentes ===== */
  .docentes{background:var(--crema-3)}
  .doc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:30px 26px}
  .doc-card{text-align:center}
  .doc-photo{position:relative;aspect-ratio:1/1;border-radius:50%;overflow:hidden;box-shadow:var(--shadow);border:3px solid var(--crema-2);background:radial-gradient(120% 120% at 30% 20%,var(--jade-2),var(--jade) 70%,var(--jade-dark))}
  .doc-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
  .doc-card .name{font-family:'Playfair Display';color:var(--jade);font-size:1.05rem;margin:16px 0 4px}
  .doc-card .role{color:var(--tinta-soft);font-size:.82rem;line-height:1.5}
  @media(max-width:980px){.doc-grid{grid-template-columns:repeat(3,1fr)}}
  @media(max-width:560px){.doc-grid{grid-template-columns:repeat(2,1fr);gap:26px 18px}}

  /* ===== escuela: carrera destacada ===== */
  .esc-feature{display:grid;grid-template-columns:.92fr 1.08fr;gap:44px;align-items:center;margin-bottom:38px}
  .esc-photo{position:relative;border-radius:22px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(200,162,74,.32);background:rgba(255,255,255,.05)}
  .esc-photo img{width:100%;height:auto;display:block}
  .esc-photo .flag{position:absolute;top:14px;left:14px;z-index:2;background:var(--oro);color:var(--jade-dark);font-family:'Playfair Display';font-size:.82rem;padding:.4em 1em;border-radius:100px;box-shadow:var(--shadow)}
  .esc-points{list-style:none;display:flex;flex-direction:column;gap:13px}
  .esc-points li{display:flex;align-items:flex-start;gap:13px;color:var(--crema);font-size:1rem}
  .esc-points .ic{width:30px;height:30px;border-radius:9px;background:rgba(200,162,74,.16);border:1px solid rgba(200,162,74,.4);color:var(--oro-soft);display:flex;align-items:center;justify-content:center;flex:none}
  .esc-points .ic svg{width:16px;height:16px}
  @media(max-width:860px){.esc-feature{grid-template-columns:1fr;gap:26px}}

  /* placeholder mientras llega la foto real */
  .photo-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:340px;color:var(--salvia-soft);text-align:center;padding:26px}
  .photo-ph svg{width:46px;height:46px;color:var(--oro-soft);opacity:.9}
  .photo-ph span{font-size:.84rem;max-width:26ch;line-height:1.5}
  .esc-photo .photo-ph{min-height:300px}

  /* ===== movimiento extra ===== */
  .scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--oro-dark),var(--oro));z-index:80}


  .reveal .eyebrow::before{width:0;transition:width .6s cubic-bezier(.2,.7,.2,1) .25s}
  .reveal.in .eyebrow::before{width:26px}

  .js .step .num{transform:scale(.4);opacity:0;transition:transform .55s cubic-bezier(.34,1.56,.64,1) .18s,opacity .4s ease .18s}
  .js .reveal.in .num{transform:scale(1);opacity:1}

  .card .ic svg,.cl-list .ic svg,.esc-points .ic svg,.nos-badge svg{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
  .card:hover .ic svg{transform:scale(1.15) rotate(-6deg)}
  .cl-list li:hover .ic svg{transform:scale(1.15) rotate(6deg)}
  .esc-points li:hover .ic svg{transform:scale(1.2)}
  .nos-badge:hover svg{transform:scale(1.2) rotate(-8deg)}

  .js .reveal.reveal-scale{transform:translateY(20px) scale(.94)}

  .cnt{font-variant-numeric:tabular-nums}

  /* ===== malla curricular ===== */
  .malla-meta{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;margin-bottom:34px;color:var(--salvia-soft);font-size:.88rem}
  .malla-meta .mm{display:inline-flex;align-items:center;gap:8px}
  .malla-meta svg{width:17px;height:17px;color:var(--oro-soft);flex:none}
  .malla-meta em{font-style:normal;opacity:.75}
  .malla{background:rgba(255,255,255,.04);border:1px solid rgba(200,162,74,.22);border-radius:22px;padding:8px;margin-bottom:26px}
  .malla-tabs{position:relative;display:flex;gap:4px;padding:6px;flex-wrap:wrap}
  .malla-tab{flex:1;min-width:140px;background:none;border:0;color:var(--salvia-soft);font-family:'Jost';font-size:.92rem;padding:.9em 1em;border-radius:14px;cursor:pointer;transition:color .25s;position:relative;z-index:1}
  .malla-tab.is-active{color:var(--jade-dark);font-weight:500}
  .malla-tab-ind{position:absolute;top:6px;bottom:6px;left:6px;width:calc(33.33% - 6px);background:var(--oro);border-radius:14px;transition:transform .35s cubic-bezier(.5,0,.2,1);z-index:0}
  .malla-panels{padding:26px 24px 18px}
  .malla-panel{display:grid;grid-template-columns:1fr 1fr;gap:34px}
  .malla-panel[hidden]{display:none}
  .malla-col-wide{grid-column:1/-1}
  .malla-col h3{color:var(--oro-soft);font-size:1rem;letter-spacing:.04em;text-transform:uppercase;font-family:'Jost';font-weight:500;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(200,162,74,.25)}
  .malla-col ul{list-style:none;display:flex;flex-direction:column;gap:14px}
  .malla-col li b{display:block;color:var(--crema);font-family:'Playfair Display';font-weight:500;font-size:.98rem}
  .malla-col li span{display:block;color:var(--salvia-soft);font-size:.85rem;margin-top:2px}
  @media(max-width:700px){.malla-panel{grid-template-columns:1fr;gap:24px}.malla-tab-ind{display:none}.malla-tab.is-active{background:var(--oro)}}

  /* ===== otras formaciones ===== */
  .of-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
  .of-grid .tag{display:inline-block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-dark);background:var(--crema-3);border-radius:100px;padding:.35em 1em;margin-bottom:14px}
  @media(max-width:640px){.of-grid{grid-template-columns:1fr}}

  /* ===== terapias consolidadas ===== */
  .terapias-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 30px}
  .terapia-pill{display:inline-flex;align-items:center;gap:8px;background:var(--crema);border:1px solid var(--linea);border-radius:100px;padding:.55em 1.1em .55em .7em;font-size:.88rem;color:var(--jade);transition:.2s}
  .terapia-pill:hover{border-color:var(--oro-soft);background:var(--crema-3);transform:translateY(-2px)}
  .terapia-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--oro);flex:none}
  .precio-box{display:inline-flex;align-items:baseline;gap:8px;background:var(--jade);color:var(--crema);border-radius:14px;padding:.7em 1.2em;margin-bottom:22px}
  .precio-box b{font-family:'Playfair Display';font-size:1.3rem;color:var(--oro-soft)}
  .precio-box span{font-size:.82rem;color:var(--salvia-soft)}

  /* ===== galería ===== */
  .gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .gal-item{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow);border:1px solid var(--linea)}
  .gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
  .gal-item:hover img{transform:scale(1.06)}
  .gal-item .photo-ph{position:absolute;inset:0;min-height:0;background:var(--crema-3)}
  .gal-item.contain img{object-fit:contain;background:var(--jade-dark)}
  .gal-item.top img{object-position:50% 27%}
  .quote-logo{width:150px;margin:0 auto 26px;border-radius:20px;box-shadow:var(--shadow-lg);border:1px solid rgba(200,162,74,.35);display:block}
  @media(max-width:820px){.gal-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:540px){.gal-grid{grid-template-columns:1fr}}

  /* ===== enlaces a páginas internas ===== */
  .link-more{display:flex;width:fit-content;align-items:center;gap:6px;margin-top:18px;font-size:.92rem;color:var(--jade);border-bottom:1px solid var(--oro-soft);padding-bottom:2px;transition:.2s}
  .link-more:hover{color:var(--oro-dark);border-bottom-color:var(--oro)}

  /* ===== preguntas frecuentes ===== */
  .faq-list{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
  .faq-list details{background:var(--crema);border:1px solid var(--linea);border-radius:16px;padding:0 24px;transition:border-color .2s}
  .faq-list details[open]{border-color:var(--oro-soft)}
  .faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-family:'Playfair Display',Georgia,serif;font-size:1.08rem;line-height:1.35;color:var(--jade)}
  .faq-list summary::-webkit-details-marker{display:none}
  .faq-list summary::after{content:"+";font-family:'Jost',sans-serif;font-size:1.5rem;line-height:1;color:var(--oro-dark);flex:none;transition:transform .25s}
  .faq-list details[open] summary::after{transform:rotate(45deg)}
  .faq-list details p{color:var(--tinta-soft);padding:0 0 20px;max-width:64ch}

  /* ================= páginas internas ================= */
  .page-hero{position:relative;padding:58px 0 84px;background:radial-gradient(120% 90% at 84% -10%,#e9dcc0 0%,transparent 52%),linear-gradient(165deg,#eef1e6 0%,var(--crema) 46%,var(--crema-3) 130%)}
  .page-hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
  .page-hero h1{font-size:clamp(2.2rem,4.4vw,3.5rem);color:var(--jade);margin:6px 0 18px}
  .page-hero h1 em{font-style:italic;color:var(--oro-dark)}
  .page-hero .lead{font-size:1.1rem;color:var(--tinta-soft);max-width:46ch;margin-bottom:28px}
  .crumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;font-size:.8rem;color:var(--tinta-soft);margin-bottom:18px}
  .crumbs li+li::before{content:"›";margin-right:8px;color:var(--oro-dark)}
  .crumbs a{border-bottom:1px solid var(--linea);transition:.2s}
  .crumbs a:hover{color:var(--oro-dark);border-bottom-color:var(--oro)}
  .page-photo{position:relative;margin:0 0 0 auto;width:100%;max-width:430px;aspect-ratio:4/5;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--linea);background:var(--jade)}
  .page-photo img{width:100%;height:100%;object-fit:cover}
  .page-photo .frame-tag{position:absolute;bottom:14px;left:14px;right:14px;background:rgba(15,42,32,.8);backdrop-filter:blur(8px);border:1px solid rgba(200,162,74,.32);border-radius:14px;padding:12px 16px;color:var(--crema)}
  .page-photo .frame-tag b{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:1.05rem;display:block}
  .page-photo .frame-tag span{font-size:.8rem;color:var(--oro-soft)}
  @media(max-width:860px){.page-hero{padding:40px 0 70px}.page-hero-inner{grid-template-columns:1fr;gap:32px}.page-photo{margin:0 auto;max-width:360px}}

  .facts-band{padding:0;margin-top:-40px;position:relative;z-index:3}
  .facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
  .facts div{background:var(--crema-2);padding:20px 22px}
  .facts dt{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--jade-2);font-weight:500;margin-bottom:4px}
  .facts dd{font-family:'Playfair Display',Georgia,serif;color:var(--jade);font-size:1.06rem;line-height:1.35}

  .bg-crema{background:var(--crema)}
  .bg-crema3{background:var(--crema-3)}
  .prose{max-width:66ch;margin:0 auto}
  .prose p{color:var(--tinta-soft);margin-bottom:16px}
  .prose p b{color:var(--jade);font-weight:500}
  .prose a{border-bottom:1px solid var(--oro-soft);transition:.2s}
  .prose a:hover{border-bottom-color:var(--oro)}

  .therapy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
  .therapy{display:grid;grid-template-columns:92px 1fr;gap:20px;align-items:start;background:var(--crema-2);border:1px solid var(--linea);border-radius:var(--radius);padding:24px}
  .therapy .han{width:92px;height:92px;border-radius:18px;background:radial-gradient(120% 120% at 30% 20%,var(--jade-2),var(--jade) 65%,var(--jade-dark));border:1px solid var(--oro);color:var(--oro-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
  .therapy .han b{font-family:"Noto Serif SC","Songti SC","SimSun","Microsoft YaHei",serif;font-weight:500;font-size:1.6rem;line-height:1}
  .therapy .han span{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:.84rem;color:var(--salvia-soft);line-height:1}
  .therapy h3{font-size:1.25rem;color:var(--jade);margin-bottom:6px}
  .therapy p{color:var(--tinta-soft);font-size:.94rem}
  .note-center{text-align:center;color:var(--tinta-soft);font-size:.9rem;margin:28px auto 0;max-width:60ch}
  @media(max-width:760px){.therapy-grid{grid-template-columns:1fr}}
  @media(max-width:420px){.therapy{grid-template-columns:1fr;gap:14px}}

  .media-list{list-style:none;display:grid;gap:12px;max-width:860px;margin:0 auto}
  .media-list a{display:grid;grid-template-columns:170px 1fr auto;gap:18px;align-items:center;background:var(--crema-2);border:1px solid var(--linea);border-radius:16px;padding:16px 22px;transition:.2s}
  .media-list a:hover{border-color:var(--oro-soft);transform:translateY(-2px);box-shadow:var(--shadow)}
  .media-list .prog{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--oro-dark);font-weight:500}
  .media-list .tit{font-family:'Playfair Display',Georgia,serif;color:var(--jade);font-size:1.04rem;line-height:1.35}
  .media-list .plat{font-size:.8rem;color:var(--tinta-soft);white-space:nowrap}
  @media(max-width:640px){.media-list a{grid-template-columns:1fr;gap:4px}}

  .cta-band{margin-bottom:72px;text-align:center}
  .cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .cam .btn{margin-top:4px}
  a.cam{color:var(--crema)}
