/* ═══════════════════════════════════════════════════
   PAZ Y OM — DISEÑO TENERIFE SUR 2025
   Paleta mediterránea: arena, mar, oliva, terracota
═══════════════════════════════════════════════════ */
/* Selector de idioma siempre visible en header — eliminado */
:root{
  /* Colores base */
  --white:#ffffff;
  --cream:#faf8f4;
  --sand:#f4efe6;
  --sand2:#ede4d6;
  --sand3:#e6dccb;

  /* Verde oliva mediterráneo */
  --olive:#7a9e7e;
  --olive2:#5c7d62;
  --olive3:#e8f0e2;
  --olive4:#f2f6ef;

  /* Azul Mediterráneo */
  --sea:#4a7c9e;
  --sea2:#2d5f82;
  --sea3:#e4eef5;
  --sea4:#f0f6fb;

  /* Terracota Mallorquín */
  --terra:#c47055;
  --terra2:#a55a3e;
  --terra3:#faeae4;
  --terra4:#fdf4f0;

  /* Compatibilidad con clases originales */
  --sage:var(--olive);
  --sage2:var(--olive2);
  --sage3:var(--olive3);
  --sage4:var(--olive4);
  --lav:var(--sea);
  --lav2:var(--sea2);
  --lav3:var(--sea3);
  --lav4:var(--sea4);
  --peach:var(--terra);
  --peach2:var(--terra2);
  --peach3:var(--terra3);
  --peach4:var(--terra4);

  /* Tipografía y neutros */
  --ink:#1c1c1a;
  --ink2:#3a3a38;
  --gray:#7a7a74;
  --gray2:#b8b8b0;
  --border:#e8e4dc;
  --off:var(--cream);
  --off2:var(--sand);

  /* Otros */
  --wa:#25D366;
  --wa-btn:var(--olive2);
  --wa-btn-hover:var(--olive);
  --pink:#c9637a;
  --pink2:#a8455c;
  --pink3:#f9e5eb;
  --pink4:#fdf0f4;
  --pink5:#eab8c4;

  --r:14px;
  --shadow:0 2px 24px rgba(0,0,0,.04);
  --shadow2:0 10px 48px rgba(0,0,0,.07);
  --shadow3:0 20px 60px rgba(0,0,0,.10);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* Grain texture overlay for depth */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:9998;
  pointer-events:none;
  opacity:.018;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:repeat;
  background-size:180px;
}


/* HEADER */
header{position:fixed;top:0;left:0;right:0;z-index:990;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;background:rgba(250,248,244,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(232,228,220,.7);transition:box-shadow .3s}
header.sc{box-shadow:0 2px 28px rgba(28,24,16,.08)}
.logo{text-decoration:none;display:flex;flex-direction:column;gap:2px}
.logo-name{font-family:"Playfair Display",serif;font-size:1.35rem;font-weight:500;color:var(--ink);letter-spacing:.04em;display:flex;align-items:center;gap:.3rem}
.logo-name .ly{color:var(--olive2);font-weight:700;font-style:italic}
.logo-sub{font-size:.5rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gray);margin-top:1px}
.nav{display:flex;align-items:center;gap:.15rem}
.nav a{font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gray);text-decoration:none;padding:.4rem .85rem;border-radius:2rem;transition:color .2s,background .2s}
.nav a:hover{color:var(--ink);background:var(--sand)}
.nav-cta{background:var(--olive2)!important;color:white!important;display:flex!important;align-items:center;gap:.38rem;padding:.45rem 1.15rem!important;border-radius:2rem;font-weight:600!important}
.nav-cta:hover{background:var(--olive)!important;color:white!important}
.burger{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:4px;padding:5px}
.burger span{display:block;width:20px;height:1.5px;background:var(--ink);border-radius:2px}
@media(max-width:900px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--cream);border-top:1px solid var(--border);padding:.75rem 2rem;box-shadow:var(--shadow2)}
  .nav.open{display:flex}
  .nav a{padding:.75rem 0;border-bottom:1px solid var(--border)}
  .burger{display:flex}
  header{padding:0 1.5rem}
}

/* HERO */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding-top:76px;overflow:hidden;position:relative}
.hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--border),transparent)}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:5rem 4rem 5rem 5.5rem;background:var(--cream);position:relative;z-index:1}
.hero-left::after{content:"";position:absolute;top:15%;right:0;width:1px;height:70%;background:linear-gradient(to bottom,transparent,var(--border),transparent)}

/* Hero decorative elements */
.hero-left::before{content:"";position:absolute;top:-60px;left:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(196,112,85,.08) 0%,transparent 70%);pointer-events:none}

.hero-eyebrow{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--terra);margin-bottom:1.75rem;display:flex;align-items:center;gap:.75rem;opacity:0;animation:fup .7s ease forwards .2s;font-weight:500}
.hero-eyebrow::before{content:"";display:block;width:2rem;height:1px;background:var(--terra)}
.hero h1{font-family:"Playfair Display",serif;font-size:clamp(3rem,5vw,4.8rem);font-weight:400;color:var(--ink);line-height:1.08;margin-bottom:1.4rem;opacity:0;animation:fup .7s ease forwards .35s;letter-spacing:-.01em}
.hero h1 strong{font-weight:700;color:var(--olive2)}
.hero h1 em{font-style:italic;color:var(--terra);font-weight:400}
.hero-brand{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.4rem;opacity:0;animation:fup .7s ease forwards .5s}
.yf-badge{font-family:"Cormorant Garamond",serif;font-size:1rem;font-style:italic;font-weight:600;color:var(--olive2);background:var(--olive4);border:1px solid rgba(122,158,126,.3);padding:.32rem 1.1rem;border-radius:2rem;letter-spacing:.03em}
.hero-brand-sub{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gray)}
.hero-desc{font-size:.93rem;color:var(--gray);line-height:2;max-width:420px;margin-bottom:2rem;font-weight:400;opacity:0;animation:fup .7s ease forwards .65s}
.hero-pills{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:2.5rem;opacity:0;animation:fup .7s ease forwards .78s}
.hpill{font-size:.6rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.28rem .8rem;border-radius:2rem;border:1px solid}
.hp-s{border-color:rgba(122,158,126,.35);color:var(--olive2);background:var(--olive4)}
.hp-l{border-color:rgba(74,124,158,.3);color:var(--sea2);background:var(--sea4)}
.hp-p{border-color:rgba(196,112,85,.3);color:var(--terra2);background:var(--terra4)}
.hero-btns{display:flex;gap:.85rem;flex-wrap:wrap;opacity:0;animation:fup .7s ease forwards .9s}
@keyframes fup{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* HERO RIGHT — maestra */
.hero-right{position:relative;overflow:hidden}
.hero-img{width:100%;height:100%;object-fit:cover;object-position:top center}
.hero-img-placeholder{width:100%;height:100%;background:linear-gradient(145deg,#d6e4d8 0%,#c4d9c7 30%,#b8cfc0 55%,#a8c0ac 80%,#98b09e 100%);display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.hero-video.hidden{display:none}

/* Yoga figure SVG */
.yoga-figure{position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);opacity:.14}
.hero-quote{position:absolute;bottom:2.5rem;left:2rem;right:2rem;background:rgba(250,248,244,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--r);padding:1.3rem 1.6rem;border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow2)}
.hero-quote blockquote{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.08rem;color:var(--ink);line-height:1.7;margin-bottom:.5rem}
.hero-quote cite{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra2);font-style:normal}
.hero-badge-float{position:absolute;top:2rem;right:2rem;background:rgba(250,248,244,.96);border-radius:var(--r);padding:.9rem 1.2rem;box-shadow:var(--shadow2);text-align:center;border:1px solid var(--border)}
.hero-badge-float strong{display:block;font-family:"Playfair Display",serif;font-size:1.8rem;font-weight:500;color:var(--olive2);line-height:1}
.hero-badge-float span{font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gray)}
@media(max-width:768px){.hero{grid-template-columns:1fr;min-height:auto}.hero-right{min-height:52vh}.hero-left{padding:4rem 1.75rem 3rem}}

/* TICKER */
.ticker{background:var(--olive2);overflow:hidden;padding:.75rem 0}
.ttrack{display:flex;gap:3rem;animation:tkr 55s linear infinite;white-space:nowrap}
.titem{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:500;flex-shrink:0;display:flex;align-items:center;gap:.6rem}
.titem::before{content:"✦";font-size:.45rem;color:rgba(255,255,255,.5);opacity:.8}
@keyframes tkr{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTIONS */
.s{padding:7rem 0}
.ct{max-width:1160px;margin:0 auto;padding:0 3rem}
@media(max-width:600px){.ct{padding:0 1.4rem}.cancer-s{padding:4rem 0}}
.sh{margin-bottom:4rem}
.sh.ctr{text-align:center}
.sh.ctr .lbl{justify-content:center}
.sh.ctr .lbl::before{display:none}
.lbl{display:flex;align-items:center;gap:.65rem;font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;color:var(--terra2);font-weight:600;margin-bottom:.9rem}
.lbl::before{content:"";display:block;width:1.6rem;height:1px;background:var(--terra2)}
.lbl.lv{color:var(--sea2)}
.lbl.lv::before{background:var(--sea2)}
.lbl.lp{color:var(--terra2)}
.lbl.lp::before{background:var(--terra2)}
.sh h2{font-family:"Playfair Display",serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:400;color:var(--ink);line-height:1.2;margin-bottom:1rem;letter-spacing:-.01em}
.sh h2 em{font-style:italic;color:var(--olive2)}
.sh h2 span.lv{color:var(--sea2)}
.sh h2 span.lp{color:var(--terra2)}
.sh p{font-size:.9rem;color:var(--gray);line-height:1.95;max-width:560px;font-weight:400}
.sh.ctr p{margin:0 auto}
.bg-off{background:var(--cream)}
.bg-off2{background:var(--sand)}
.bg-sage{background:var(--olive4)}
.bg-lav{background:var(--sea4)}

/* BUTTONS */
.btn-wa{display:inline-flex;align-items:center;gap:.5rem;background:var(--olive2);color:white;padding:.82rem 1.85rem;border-radius:3rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .28s;letter-spacing:.02em;box-shadow:0 4px 16px rgba(92,125,98,.22)}
.btn-wa:hover{background:var(--olive);transform:translateY(-2px);box-shadow:0 8px 24px rgba(92,125,98,.32)}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--ink2);padding:.82rem 1.85rem;border-radius:3rem;font-size:.82rem;font-weight:500;text-decoration:none;border:1.5px solid var(--sand3);transition:all .28s}
.btn-outline:hover{border-color:var(--terra);color:var(--terra2);background:var(--terra4)}
.btn-sage{display:inline-flex;align-items:center;gap:.5rem;background:var(--olive2);color:white;padding:.82rem 1.85rem;border-radius:3rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .28s}
.btn-sage:hover{background:var(--olive);transform:translateY(-2px);box-shadow:0 8px 24px rgba(92,125,98,.3)}

/* MAESTRA SECTION */
.maestra-s{padding:8rem 0;background:var(--cream);position:relative}
.maestra-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:24px;overflow:hidden;box-shadow:var(--shadow3);border:1px solid var(--border)}
.maestra-photo{position:relative;min-height:580px;background:linear-gradient(145deg,#d2e0d4 0%,#bacbb9 40%,#a8bdaa 100%);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.maestra-photo-bg{position:absolute;inset:0;background:linear-gradient(145deg,#daeade 0%,#c4d6c6 35%,#b0c4b2 65%,#9eb5a0 100%)}
.m-deco{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.maestra-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(28,24,16,.12) 0%,transparent 100%);height:200px}
.maestra-name-card{position:absolute;bottom:2rem;left:2rem;right:2rem;background:rgba(250,248,244,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:var(--r);padding:1.3rem 1.6rem;border:1px solid rgba(255,255,255,.95)}
.maestra-name-card h3{font-family:"Playfair Display",serif;font-size:1.4rem;font-weight:500;color:var(--ink);margin-bottom:.2rem}
.maestra-name-card p{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra2)}
.cert-pills{display:flex;gap:.4rem;margin-top:.6rem;flex-wrap:wrap}
.cpill{font-size:.56rem;font-weight:600;letter-spacing:.08em;padding:.2rem .58rem;border-radius:2rem;background:var(--olive4);color:var(--olive2);border:1px solid rgba(122,158,126,.25)}
.maestra-bio{background:var(--cream);padding:4rem 3.5rem;display:flex;flex-direction:column;justify-content:center}
.maestra-bio .lbl{margin-bottom:1.25rem}
.maestra-bio h2{font-family:"Playfair Display",serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;color:var(--ink);line-height:1.2;margin-bottom:.5rem;letter-spacing:-.01em}
.maestra-bio h2 em{font-style:italic;color:var(--terra2)}
.maestra-bio h2 span{color:var(--sea2)}
.bio-intro{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.18rem;color:var(--terra2);margin-bottom:1.5rem;line-height:1.6}
.bio-text{font-size:.88rem;color:var(--gray);line-height:1.95;font-weight:400;margin-bottom:1.5rem}
.bio-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;padding:1.5rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.bio-stat{text-align:center}
.bio-stat strong{display:block;font-family:"Playfair Display",serif;font-size:2rem;font-weight:500;color:var(--olive2);line-height:1}
.bio-stat span{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray)}
.bio-specialties{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:2rem}
.spec{font-size:.68rem;font-weight:500;padding:.3rem .8rem;border-radius:2rem;background:var(--olive4);color:var(--olive2);border:1px solid rgba(122,158,126,.2)}
.spec.lv{background:var(--sea4);color:var(--sea2);border-color:rgba(74,124,158,.2)}
.spec.lp{background:var(--terra4);color:var(--terra2);border-color:rgba(196,112,85,.2)}
@media(max-width:900px){.maestra-grid{grid-template-columns:1fr}.maestra-photo{min-height:360px}.maestra-bio{padding:2.5rem 2rem}}

/* PAZFLOW METHOD */
.pf-s{padding:8rem 0;background:var(--sand);position:relative;overflow:hidden}
.pf-s::before{content:"";position:absolute;top:-160px;right:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(196,112,85,.07) 0%,transparent 65%);pointer-events:none}

/* Header */
.pf-head{text-align:center;margin-bottom:4rem}
.pf-head h2{font-family:"Playfair Display",serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:400;color:var(--ink);line-height:1.2;margin-bottom:1rem;letter-spacing:-.01em}
.pf-head h2 em{font-style:italic;color:var(--olive2)}
.pf-head p{font-size:.9rem;color:var(--gray);line-height:1.95;max-width:520px;margin:0 auto;font-weight:400}

/* Formula row */
.pf-formula{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:3.5rem;border:1px solid var(--border);border-radius:18px;background:var(--cream);overflow:hidden;max-width:760px;margin-left:auto;margin-right:auto}
.pf-piece{flex:1;display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:1.75rem 1rem;position:relative;transition:background .25s}
.pf-piece:hover{background:var(--sand)}
.pf-piece:not(:last-child){border-right:1px solid var(--border)}
.pf-piece.pf-result{background:var(--olive4);border-left:1px solid rgba(122,158,126,.25)!important}
.pf-piece.pf-result .pf-piece-name{color:var(--olive2)}
.pf-ico{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;border:1.5px solid}
.pf-ico-yoga{background:var(--olive4);border-color:rgba(122,158,126,.3)}
.pf-ico-pilates{background:var(--sea4);border-color:rgba(74,124,158,.25)}
.pf-ico-elon{background:var(--terra4);border-color:rgba(196,112,85,.25)}
.pf-ico-result{background:linear-gradient(135deg,var(--olive4),var(--sea4));border-color:var(--border)}
.pf-piece-name{font-family:"Playfair Display",serif;font-size:.95rem;font-weight:500;color:var(--ink);letter-spacing:-.01em}
.pf-piece-sub{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);font-weight:500}
.pf-op{font-family:"Playfair Display",serif;font-size:1.6rem;color:var(--gray2);font-weight:300;flex-shrink:0;padding:0 .1rem;align-self:center}

/* Cards row */
.pf-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1.25rem}
.pfc{background:var(--cream);border-radius:16px;padding:2rem 1.75rem;border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .28s,box-shadow .28s;position:relative;overflow:hidden}
.pfc::before{content:"";position:absolute;top:0;left:0;right:0;height:3px}
.pfc.pfc-yoga::before{background:linear-gradient(90deg,var(--olive2),var(--olive))}
.pfc.pfc-pilates::before{background:linear-gradient(90deg,var(--sea2),var(--sea))}
.pfc.pfc-elon::before{background:linear-gradient(90deg,var(--terra2),var(--terra))}
.pfc:hover{transform:translateY(-4px);box-shadow:var(--shadow2)}
.pfc-ico{font-size:1.75rem;margin-bottom:.85rem;display:block}
.pfc-tag{display:inline-block;font-size:.52rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:.2rem .65rem;border-radius:2rem;margin-bottom:.75rem}
.pfc-tag-yoga{background:var(--olive4);color:var(--olive2);border:1px solid rgba(122,158,126,.25)}
.pfc-tag-pilates{background:var(--sea4);color:var(--sea2);border:1px solid rgba(74,124,158,.2)}
.pfc-tag-elon{background:var(--terra4);color:var(--terra2);border:1px solid rgba(196,112,85,.2)}
.pfc h3{font-family:"Playfair Display",serif;font-size:1.15rem;font-weight:500;color:var(--ink);margin-bottom:.5rem;line-height:1.2}
.pfc p{font-size:.82rem;color:var(--gray);line-height:1.85;font-weight:300}
.pfc-feats{list-style:none;margin-top:1.1rem;display:flex;flex-direction:column;gap:.38rem;padding-top:1rem;border-top:1px solid var(--border)}
.pfc-feats li{font-size:.74rem;color:var(--gray);display:flex;align-items:center;gap:.45rem;font-weight:300}
.pfc-feats li::before{content:"";width:4px;height:4px;border-radius:50%;flex-shrink:0}
.pfc-yoga .pfc-feats li::before{background:var(--olive2)}
.pfc-pilates .pfc-feats li::before{background:var(--sea2)}
.pfc-elon .pfc-feats li::before{background:var(--terra2)}

/* Fusion block */
.pfc-fusion{background:linear-gradient(135deg,var(--olive4) 0%,var(--cream) 50%,var(--sea4) 100%);border:1.5px solid rgba(122,158,126,.25);border-radius:16px;padding:2.5rem 2.8rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;box-shadow:var(--shadow2)}
.pfc-fusion-left .pfc-tag-fusion{display:inline-block;font-size:.52rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:.2rem .65rem;border-radius:2rem;margin-bottom:.85rem;background:var(--sand2);color:var(--olive2);border:1px solid rgba(122,158,126,.3)}
.pfc-fusion-left h3{font-family:"Playfair Display",serif;font-size:1.55rem;font-weight:500;color:var(--ink);margin-bottom:.65rem;line-height:1.2}
.pfc-fusion-left h3 em{font-style:italic;color:var(--olive2)}
.pfc-fusion-left p{font-size:.85rem;color:var(--gray);line-height:1.9;font-weight:300;margin-bottom:1.5rem}
.pfc-fusion-stats{display:flex;gap:1.5rem;margin-bottom:1.75rem;padding:.9rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.pfc-fstat strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.8rem;font-weight:600;color:var(--olive2);line-height:1}
.pfc-fstat span{font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);font-weight:400}
.pfc-steps{display:flex;flex-direction:column;gap:0}
.pfstep{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 0;border-bottom:1px solid var(--border)}
.pfstep:last-child{border-bottom:none;padding-bottom:0}
.pfstep-n{font-family:"Cormorant Garamond",serif;font-size:2.2rem;font-weight:300;line-height:1;flex-shrink:0;width:2rem;color:var(--terra2);opacity:.5;text-align:right}
.pfstep-b h4{font-size:.82rem;font-weight:600;color:var(--ink2);margin-bottom:.18rem;display:flex;align-items:center;gap:.5rem}
.pfstep-b h4 span{font-size:.48rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;padding:.15rem .5rem;border-radius:2rem}
.pfstep-yoga h4 span{background:var(--olive4);color:var(--olive2)}
.pfstep-pilates h4 span{background:var(--sea4);color:var(--sea2)}
.pfstep-elon h4 span{background:var(--terra4);color:var(--terra2)}
.pfstep-b p{font-size:.76rem;color:var(--gray);line-height:1.65;font-weight:300}

/* Tags shared (kept for other uses) */
.yfc-tag{display:inline-block;font-size:.58rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.18rem .55rem;border-radius:2rem;margin-bottom:.75rem}
.tag-s{background:var(--sage4);color:var(--sage2);border:1px solid rgba(138,171,142,.2)}
.tag-l{background:var(--lav4);color:var(--lav2);border:1px solid rgba(155,142,196,.18)}
.tag-p{background:var(--peach4);color:var(--peach2);border:1px solid rgba(212,145,110,.18)}
.tag-f{background:var(--off2);color:var(--gray);border:1px solid var(--border)}

@media(max-width:900px){
  .pf-cards{grid-template-columns:1fr 1fr}
  .pfc-fusion{grid-column:1/-1;grid-template-columns:1fr}
  .pf-formula{max-width:100%;flex-wrap:wrap}
  .pf-piece{flex:0 0 calc(50% - 1px)}
  .pf-op{display:none}
}
@media(max-width:580px){
  .pf-cards{grid-template-columns:1fr}
  .pf-piece{flex:0 0 100%}
  .pfc-fusion{padding:1.75rem 1.5rem;gap:1.75rem}
  .pfc-fusion-stats{gap:1rem}
}

/* CLASES */
.cg{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.cc{background:var(--cream);border-radius:var(--r);overflow:hidden;border:1px solid rgba(232,228,220,.4);box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s}
.cc:hover{transform:translateY(-5px);box-shadow:var(--shadow2)}
.cc-img{height:180px;position:relative;overflow:hidden}
.cc-bg{width:100%;height:100%;transition:transform .5s}
.cc:hover .cc-bg{transform:scale(1.06)}
.cc-badge{position:absolute;top:.65rem;left:.65rem;font-size:.56rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.22rem .6rem;border-radius:2rem}
.cb-s{background:rgba(92,125,98,.9);color:white}
.cb-l{background:rgba(45,95,130,.9);color:white}
.cb-p{background:rgba(165,90,62,.9);color:white}
.cb-f{background:linear-gradient(90deg,rgba(92,125,98,.9),rgba(45,95,130,.9));color:white}
.cc-body{padding:1.3rem}
.cc-body h3{font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:500;color:var(--ink);margin-bottom:.4rem}
.cc-body p{font-size:.8rem;color:var(--gray);line-height:1.75;font-weight:300;margin-bottom:.9rem}
.cc-foot{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid var(--border)}
.cc-meta{font-size:.67rem;color:var(--gray2);letter-spacing:.03em}
.btn-bk{display:inline-flex;align-items:center;gap:.32rem;background:var(--terra);color:white;padding:.32rem .8rem;border-radius:2rem;font-size:.67rem;font-weight:600;text-decoration:none;transition:background .2s}
.btn-bk:hover{background:var(--terra2)}
@media(max-width:900px){.cg{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.cg{grid-template-columns:1fr}}


/* TEAM mini */
.team-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.tc{background:white;border-radius:var(--r);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .3s}
.tc:hover{transform:translateY(-3px)}
.tc-photo{aspect-ratio:3/4;overflow:hidden}
.tc-bg{width:100%;height:100%;background-size:cover;background-position:top;transition:transform .4s}
.tc:hover .tc-bg{transform:scale(1.04)}
.tc-info{padding:1rem}
.tc-tag{display:inline-block;font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;padding:.16rem .5rem;border-radius:2rem;margin-bottom:.5rem}
.tc-tag-s{background:var(--sage4);color:var(--sage2)}
.tc-tag-l{background:var(--lav4);color:var(--lav2)}
.tc-tag-p{background:var(--peach4);color:var(--peach2)}
.tc-tag-f{background:var(--off2);color:var(--gray)}
.tc-info h3{font-family:"Cormorant Garamond",serif;font-size:1rem;font-weight:600;color:var(--ink);margin-bottom:.15rem}
.tc-info p{font-size:.75rem;color:var(--gray);font-weight:300;line-height:1.5}
.tc-soc{display:flex;gap:.35rem;margin-top:.7rem}
.tsa{width:23px;height:23px;border-radius:50%;background:var(--off2);display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:.56rem;font-weight:600;text-decoration:none;transition:all .2s}
.tsa:hover{background:var(--sage4);color:var(--sage2)}
@media(max-width:900px){.team-mini{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.team-mini{grid-template-columns:1fr}}


/* TESTIMONIOS */
.testg{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;max-width:920px;margin:0 auto}
.testc{background:white;border-radius:var(--r);padding:1.75rem;border:1px solid var(--border);box-shadow:var(--shadow);transition:box-shadow .3s}
.testc:hover{box-shadow:var(--shadow2)}
.tstars{font-size:.85rem;margin-bottom:.75rem;color:var(--sage)}
.testc blockquote{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1rem;color:var(--ink2);line-height:1.75;margin-bottom:1.15rem}
.tau{display:flex;align-items:center;gap:.75rem}
.tav{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:"Cormorant Garamond",serif;font-size:.95rem;font-weight:600;color:white;flex-shrink:0}
.av1{background:linear-gradient(135deg,var(--sage),var(--sage2))}
.av2{background:linear-gradient(135deg,var(--lav),var(--lav2))}
.av3{background:linear-gradient(135deg,var(--peach),var(--peach2))}
.av4{background:linear-gradient(135deg,#a0b8c8,#507090)}
.tai strong{display:block;font-size:.83rem;font-weight:600;color:var(--ink)}
.tai span{font-size:.7rem;color:var(--gray);font-weight:300}
.ttype{display:inline-block;font-size:.56rem;letter-spacing:.09em;text-transform:uppercase;padding:.13rem .45rem;border-radius:2rem;font-weight:600;margin-top:.18rem}
.tt-s{background:var(--sage4);color:var(--sage2)}
.tt-l{background:var(--lav4);color:var(--lav2)}
.tt-p{background:var(--peach4);color:var(--peach2)}
@media(max-width:640px){.testg{grid-template-columns:1fr}}

/* PRECIOS */
.pcg{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:1100px;margin:0 auto}
.pcc{background:var(--cream);border-radius:var(--r);padding:1.75rem 1.35rem;border:1px solid rgba(232,228,220,.5);box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s,border-color .3s;position:relative}
.pcc:hover{transform:translateY(-4px);box-shadow:var(--shadow2)}
.pcc.feat{border-color:rgba(92,125,98,.35);background:var(--olive4)}
.pcbadge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--olive2);color:white;font-size:.56rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:.22rem .9rem;border-radius:2rem;white-space:nowrap}
.pcc h3{font-family:"Playfair Display",serif;font-size:1.05rem;font-weight:500;color:var(--ink);margin-bottom:.5rem}
.pcprice{font-family:"Playfair Display",serif;font-size:3rem;font-weight:500;line-height:1;margin:.45rem 0 .18rem}
.pp-s{color:var(--olive2)}.pp-l{color:var(--sea2)}.pp-p{color:var(--terra2)}
.pcper{font-size:.7rem;color:var(--gray);margin-bottom:1.3rem;font-weight:300}
.pcul{list-style:none;margin-bottom:1.35rem}
.pcul li{font-size:.78rem;padding:.38rem 0;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:.4rem;color:var(--gray);font-weight:300;line-height:1.5}
.pcul li::before{content:"✓";font-weight:700;flex-shrink:0;font-size:.7rem;margin-top:1px}
.ls::before{color:var(--sage2)}.ll::before{color:var(--lav2)}.lp2::before{color:var(--peach2)}
.btn-plan{display:block;width:100%;padding:.72rem;border-radius:3rem;font-family:"DM Sans",sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.04em;text-decoration:none;text-align:center;transition:all .25s;border:1.5px solid}
.bpo{background:transparent;border-color:var(--olive2);color:var(--olive2)}
.bpo:hover{background:var(--olive2);color:white}
.bps{background:var(--olive2);border-color:var(--olive2);color:white}
.bps:hover{background:var(--olive)}
@media(max-width:1000px){.pcg{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.pcg{grid-template-columns:1fr;max-width:360px;margin:0 auto}}

/* CTA */
.cta-s{padding:8rem 0;background:var(--sand);text-align:center;position:relative;overflow:hidden}
.cta-s::before{content:"";position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,var(--terra4) 0%,transparent 70%);pointer-events:none}
.cta-s h2{font-family:"Playfair Display",serif;font-size:clamp(2.2rem,4.5vw,3.8rem);font-weight:400;color:var(--ink);line-height:1.15;margin-bottom:1.1rem;position:relative;z-index:1;letter-spacing:-.01em}
.cta-s h2 em{font-style:italic;color:var(--terra2)}
.cta-s h2 strong{font-weight:700;color:var(--olive2)}
.cta-s p{font-size:.9rem;color:var(--gray);max-width:460px;margin:0 auto 2.5rem;line-height:1.95;font-weight:400;position:relative;z-index:1}
.ctab{display:flex;gap:.85rem;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
.socs{display:flex;justify-content:center;gap:.55rem;margin-top:2rem}
.soca{width:34px;height:34px;border-radius:50%;background:var(--sand2);display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:.6rem;font-weight:600;text-decoration:none;transition:all .2s}
.soca:hover{background:var(--olive4);color:var(--olive2)}

/* CONTACT */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.ci-h{font-family:"Playfair Display",serif;font-size:2.2rem;font-weight:400;color:var(--ink);margin-bottom:1.5rem;line-height:1.2;letter-spacing:-.01em}
.ci-h em{font-style:italic;color:var(--terra2)}
.citem{display:flex;gap:.9rem;margin-bottom:1.35rem;align-items:flex-start}
.cico{width:40px;height:40px;min-width:40px;border-radius:50%;background:var(--olive4);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(122,158,126,.25)}
.cico svg{width:17px;height:17px;color:var(--olive2)}
.citem strong{display:block;font-size:.58rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--terra2);margin-bottom:.2rem}
.citem p{font-size:.83rem;color:var(--gray);line-height:1.65;font-weight:400}
.fbox{background:var(--cream);border-radius:18px;padding:2.5rem;border:1px solid var(--border);box-shadow:var(--shadow2)}
.fbox h3{font-family:"Playfair Display",serif;font-size:1.3rem;font-weight:500;color:var(--ink);margin-bottom:.25rem}
.fbox .fd{font-size:.78rem;color:var(--gray);margin-bottom:1.4rem;font-weight:400}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.fg{margin-bottom:.75rem}
.fg input,.fg select,.fg textarea{width:100%;padding:.76rem 1rem;border:1.5px solid var(--border);border-radius:10px;font-family:"DM Sans",sans-serif;font-size:.83rem;color:var(--ink);outline:none;transition:border-color .22s,box-shadow .22s;background:var(--sand);font-weight:400}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--olive2);box-shadow:0 0 0 3px rgba(122,158,126,.1);background:var(--white)}
.fg textarea{resize:vertical;min-height:88px}
.btn-sub2{width:100%;padding:.85rem;background:var(--olive2);color:white;border:none;border-radius:3rem;font-family:"DM Sans",sans-serif;font-size:.88rem;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:background .22s}
.btn-sub2:hover{background:var(--olive)}
.btn-wa-f{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;background:var(--olive2);color:white;padding:.8rem;border-radius:3rem;text-decoration:none;font-family:"DM Sans",sans-serif;font-size:.82rem;font-weight:600;margin-top:.6rem;transition:background .2s}
.btn-wa-f:hover{background:var(--olive)}
.fnote{font-size:.67rem;color:var(--gray2);text-align:center;margin-top:.7rem;font-weight:400}
@media(max-width:900px){.cgrid{grid-template-columns:1fr}}
@media(max-width:520px){.frow{grid-template-columns:1fr}}

/* PRECIOS */
.pricing-s{padding:7rem 0;background:var(--cream)}
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;align-items:start;margin-top:3rem}
.pc{background:white;border-radius:20px;padding:2.2rem 1.8rem;border:1.5px solid var(--border);box-shadow:var(--shadow);position:relative;transition:transform .3s,box-shadow .3s}
.pc:hover{transform:translateY(-4px);box-shadow:var(--shadow2)}
.pc-popular{border-color:var(--olive2);box-shadow:0 8px 40px rgba(92,125,98,.15)}
.pc-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--olive2);color:white;font-size:.55rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:.28rem 1rem;border-radius:2rem;white-space:nowrap}
.pc-name{font-family:"Playfair Display",serif;font-size:1.15rem;font-weight:500;color:var(--ink);margin-bottom:.9rem}
.pc-price{font-family:"Cormorant Garamond",serif;font-size:3rem;font-weight:600;line-height:1;margin-bottom:.2rem}
.pc-sage .pc-price{color:var(--olive2)}
.pc-lav .pc-price{color:var(--sea2)}
.pc-terra .pc-price{color:var(--terra2)}
.pc-period{font-size:.72rem;color:var(--gray);letter-spacing:.05em;margin-bottom:1.5rem;font-weight:400}
.pc-feats{list-style:none;display:flex;flex-direction:column;gap:.65rem;margin-bottom:2rem;border-top:1px solid var(--border);padding-top:1.4rem}
.pc-feats li{font-size:.82rem;color:var(--gray);display:flex;align-items:flex-start;gap:.55rem;line-height:1.55}
.pc-feats li::before{content:"✓";color:var(--olive2);font-weight:700;flex-shrink:0;margin-top:.05rem}
.pc-btn{display:block;text-align:center;padding:.82rem 1.2rem;border-radius:3rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .25s;border:1.5px solid transparent}
.pc-btn-fill{background:var(--olive2);color:white;box-shadow:0 4px 14px rgba(92,125,98,.22)}
.pc-btn-fill:hover{background:var(--olive);transform:translateY(-1px);box-shadow:0 6px 20px rgba(92,125,98,.32)}
.pc-btn-outline-sage{border-color:var(--olive2);color:var(--olive2);background:transparent}
.pc-btn-outline-sage:hover{background:var(--olive4);transform:translateY(-1px)}
.pc-btn-outline-lav{border-color:var(--sea2);color:var(--sea2);background:transparent}
.pc-btn-outline-lav:hover{background:var(--sea4);transform:translateY(-1px)}
.pc-btn-outline-terra{border-color:var(--terra2);color:var(--terra2);background:transparent}
.pc-btn-outline-terra:hover{background:var(--terra4);transform:translateY(-1px)}
.pricing-note{text-align:center;margin-top:2rem;font-size:.8rem;color:var(--gray);font-weight:400}
.pricing-note span{color:var(--olive2);font-weight:600}
@media(max-width:1000px){.pricing-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.pricing-grid{grid-template-columns:1fr}.pc-popular{margin-top:1rem}}

/* FOOTER */
footer{background:var(--ink);border-top:none;padding:5rem 0 0;color:rgba(255,255,255,.7)}
.fg2{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:3.5rem;max-width:1160px;margin:0 auto;padding:0 3rem 3.5rem}
.fb .fln{font-family:"Playfair Display",serif;font-size:1.25rem;font-weight:500;color:white;display:flex;align-items:center;gap:.28rem;margin-bottom:.12rem}
.fln .ang{color:var(--terra);font-style:italic}
.fln .ly{color:var(--olive);font-weight:700}
.fb .fls{font-size:.48rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:1.15rem;display:block}
.fb p{font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.85;max-width:265px;font-weight:400;margin-bottom:1.35rem}
.fsoc{display:flex;gap:.5rem}
.fsb{width:30px;height:30px;background:rgba(255,255,255,.08);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-size:.6rem;font-weight:600;text-decoration:none;transition:all .2s}
.fsb:hover{background:rgba(255,255,255,.15);color:white}
.fsb.wa{background:rgba(92,125,98,.18);color:var(--olive)}
.fsb.wa:hover{background:var(--olive2);color:white}
footer h4{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.35);font-weight:500;margin-bottom:.9rem;padding-bottom:.45rem;border-bottom:1px solid rgba(255,255,255,.08)}
footer ul{list-style:none}
footer ul li{margin-bottom:.45rem}
footer ul li a{font-size:.8rem;color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s;font-weight:400;display:flex;align-items:center;gap:.38rem}
footer ul li a:hover{color:rgba(255,255,255,.9)}
.fgal{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;border-radius:8px;overflow:hidden}
.fgi{aspect-ratio:1;overflow:hidden}
.fgb{width:100%;height:100%;background-size:cover;transition:transform .3s}
.fgi:hover .fgb{transform:scale(1.12)}
.fbt{background:rgba(0,0,0,.3);border-top:1px solid rgba(255,255,255,.06);padding:1.2rem 3rem}
.fbi{max-width:1160px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.7rem;color:rgba(255,255,255,.3);font-weight:400}
.fbi a{color:rgba(255,255,255,.3);text-decoration:none;transition:color .2s}
.fbi a:hover{color:rgba(255,255,255,.7)}
.fblinks{display:flex;gap:1.5rem}
@media(max-width:900px){.fg2{grid-template-columns:1fr 1fr;padding:0 2rem 2.5rem}}
@media(max-width:540px){.fg2{grid-template-columns:1fr;padding:0 1.5rem 2rem}.fbt{padding:1rem 1.5rem}.fbi{flex-direction:column;text-align:center}}

/* BG COLORS */
.b1{background:linear-gradient(145deg,#d4e2d2,#a4c0a8)}
.b2{background:linear-gradient(145deg,#d4dce6,#9ab0c4)}
.b3{background:linear-gradient(145deg,#e8d8cc,#c8a090)}
.b4{background:linear-gradient(145deg,#d8dde6,#a8b4c4)}
.b5{background:linear-gradient(145deg,#e4ddd0,#c4bba0)}
.b6{background:linear-gradient(145deg,#dfd4d4,#c0a8a0)}

/* FLOAT WA */
.waf{position:fixed;bottom:2rem;right:2rem;z-index:980;display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;opacity:0;transition:opacity .6s}
.waf.vis{opacity:1}
.waf-btn{background:var(--wa);color:white;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 20px rgba(37,211,102,.35);animation:wap 2.8s infinite}
.waf-btn:hover{transform:scale(1.06)}
.waf-lbl{background:var(--ink);color:white;font-size:.68rem;font-weight:500;padding:.28rem .85rem;border-radius:2rem;white-space:nowrap;opacity:.85}
@keyframes wap{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.35)}50%{box-shadow:0 4px 28px rgba(37,211,102,.55),0 0 0 8px rgba(37,211,102,.07)}}

/* WA SVG */
.wsv path{fill:currentColor}

/* CANCER DE MAMA SECTION */
.cancer-s{padding:7rem 0;background:linear-gradient(160deg,var(--pink4) 0%,#fff5f9 50%,var(--pink4) 100%);position:relative;overflow:hidden}
.cancer-s::before{content:"";position:absolute;top:-120px;right:-120px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,var(--pink5) 0%,transparent 65%);pointer-events:none}
.cancer-s::after{content:"";position:absolute;bottom:-80px;left:-80px;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,var(--pink5) 0%,transparent 65%);pointer-events:none}
.cancer-lbl{display:inline-flex;align-items:center;gap:.65rem;font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:var(--pink2);font-weight:600;margin-bottom:1rem}
.cancer-lbl::before,.cancer-lbl::after{content:"";display:block;width:1.6rem;height:1px;background:var(--pink)}
.cancer-h2{font-family:"Playfair Display",serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:400;color:var(--ink);line-height:1.2;margin-bottom:.85rem}
.cancer-h2 em{font-style:italic;color:var(--pink2)}
.cancer-intro{font-size:.95rem;color:var(--gray);max-width:680px;margin:0 auto 3.5rem;line-height:1.95;font-weight:300}
.cancer-ribbon{display:inline-block;width:34px;height:44px;margin-bottom:1.5rem;position:relative}
.cancer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-bottom:3.5rem}
.cancer-card{background:white;border-radius:16px;padding:2rem 1.6rem;border:1.5px solid var(--pink5);box-shadow:0 4px 24px rgba(232,119,154,.1);transition:transform .3s,box-shadow .3s}
.cancer-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px rgba(232,119,154,.18)}
.cancer-card-ico{width:52px;height:52px;border-radius:50%;background:var(--pink3);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.1rem;border:1px solid var(--pink5)}
.cancer-card h3{font-family:"Playfair Display",serif;font-size:1.1rem;font-weight:500;color:var(--ink);margin-bottom:.55rem;line-height:1.25}
.cancer-card p{font-size:.82rem;color:var(--gray);line-height:1.85;font-weight:300}
.cancer-highlight{background:white;border-radius:20px;padding:2.8rem 3rem;border:2px solid var(--pink5);box-shadow:0 8px 40px rgba(232,119,154,.12);display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start;margin-bottom:3rem}
.cancer-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.cancer-stat{background:var(--pink3);border-radius:14px;padding:1.25rem 1rem;border:1px solid var(--pink5);text-align:center;min-width:0}
.cancer-stat strong{display:block;font-family:"Cormorant Garamond",serif;font-size:2.2rem;font-weight:600;color:var(--pink2);line-height:1;margin-bottom:.2rem;word-break:break-word}
.cancer-stat span{font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gray);font-weight:300;line-height:1.4;display:block}
.cancer-quote-block{padding-left:2rem;border-left:3px solid var(--pink)}
.cancer-quote-block blockquote{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.2rem;color:var(--ink);line-height:1.65;margin-bottom:.75rem}
.cancer-quote-block cite{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pink2);font-style:normal}
.cancer-steps{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center;margin-bottom:3rem}
.cancer-step{display:flex;align-items:flex-start;gap:.75rem;background:white;border-radius:14px;padding:1.2rem 1.5rem;border:1px solid var(--pink5);max-width:260px;box-shadow:0 2px 12px rgba(232,119,154,.08)}
.cancer-step-num{width:32px;height:32px;min-width:32px;border-radius:50%;background:var(--pink);color:white;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center}
.cancer-step p{font-size:.8rem;color:var(--gray);line-height:1.7;font-weight:300;margin:0}
.cancer-step strong{display:block;font-size:.82rem;color:var(--ink);font-weight:600;margin-bottom:.18rem}
.cancer-cta-band{background:linear-gradient(135deg,var(--pink2) 0%,#d4608a 100%);border-radius:20px;padding:2.5rem 3rem;text-align:center;color:white;position:relative;overflow:hidden}
.cancer-cta-band::before{content:"🎀";position:absolute;top:-10px;right:2rem;font-size:4rem;opacity:.15}
.cancer-cta-band::after{content:"🎀";position:absolute;bottom:-10px;left:2rem;font-size:4rem;opacity:.15}
.cancer-cta-band h3{font-family:"Playfair Display",serif;font-size:1.7rem;font-weight:400;margin-bottom:.6rem;color:white}
.cancer-cta-band h3 strong{font-weight:600}
.cancer-cta-band p{font-size:.88rem;opacity:.88;margin-bottom:1.5rem;font-weight:300;line-height:1.75;max-width:500px;margin-left:auto;margin-right:auto}
.btn-pink{display:inline-flex;align-items:center;gap:.5rem;background:white;color:var(--pink2);padding:.82rem 1.9rem;border-radius:3rem;font-size:.84rem;font-weight:700;text-decoration:none;transition:all .25s;letter-spacing:.02em}
.btn-pink:hover{background:var(--pink4);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}
@media(max-width:900px){
  .cancer-grid{grid-template-columns:1fr 1fr}
  .cancer-highlight{grid-template-columns:1fr;gap:2rem;padding:2rem}
  .cancer-steps{flex-direction:column;align-items:center}
}
@media(max-width:600px){
  .cancer-grid{grid-template-columns:1fr}
  .cancer-highlight{padding:1.5rem 1rem;border-radius:14px}
  .cancer-stat-grid{grid-template-columns:1fr 1fr;gap:.6rem}
  .cancer-stat{padding:.9rem .7rem;border-radius:10px}
  .cancer-stat strong{font-size:1.6rem}
  .cancer-stat span{font-size:.6rem}
  .cancer-quote-block{padding-left:.85rem;border-left-width:2px}
  .cancer-quote-block blockquote{font-size:1rem}
  .cancer-cta-band{padding:1.75rem 1.25rem;border-radius:14px}
  .cancer-cta-band h3{font-size:1.35rem}
  .cancer-steps{gap:.8rem}
  .cancer-step{max-width:100%;width:100%}
}
/* ── COOKIE BANNER & MODALES LEGALES ── */
.ck-banner{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:rgba(26,26,26,.97);backdrop-filter:blur(12px);color:#f0f0f0;padding:1.4rem 2rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.08);transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);box-shadow:0 -4px 30px rgba(0,0,0,.3)}
.ck-banner.show{transform:translateY(0)}
.ck-banner-text{flex:1;min-width:260px;font-size:.78rem;line-height:1.7;color:rgba(255,255,255,.8);font-weight:300}
.ck-banner-text strong{color:white;font-weight:600}
.ck-banner-text a{color:var(--pink);text-decoration:underline;cursor:pointer}
.ck-banner-text a:hover{color:var(--pink5)}
.ck-btns{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.ck-btn{padding:.55rem 1.3rem;border-radius:2rem;font-family:"Nunito",sans-serif;font-size:.75rem;font-weight:600;cursor:pointer;border:none;transition:all .22s;white-space:nowrap}
.ck-accept{background:var(--pink);color:white}
.ck-accept:hover{background:var(--pink2)}
.ck-reject{background:transparent;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.25)}
.ck-reject:hover{background:rgba(255,255,255,.08);color:white}
.ck-config{background:transparent;color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.15);font-size:.7rem}
.ck-config:hover{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.3)}
/* Modales */
.legal-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .3s}
.legal-overlay.open{opacity:1;pointer-events:all}
.legal-modal{background:white;border-radius:20px;max-width:720px;width:100%;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.22);transform:translateY(24px);transition:transform .3s}
.legal-overlay.open .legal-modal{transform:translateY(0)}
.legal-modal-head{padding:1.75rem 2rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.legal-h3{font-family:"Playfair Display",serif;font-size:.95rem;font-weight:600;color:var(--ink);margin:1.25rem 0 .4rem}
.legal-modal-head h2,.legal-modal-head p[role="heading"]{font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:500;color:var(--ink);display:flex;align-items:center;gap:.6rem}
.legal-close{background:var(--off2);border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1rem;color:var(--gray);display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}
.legal-close:hover{background:var(--border);color:var(--ink)}
.legal-modal-body{padding:1.75rem 2rem 2rem;overflow-y:auto;font-size:.84rem;color:var(--gray);line-height:1.9;font-weight:300}
.legal-modal-body h3{font-family:"Cormorant Garamond",serif;font-size:1.1rem;font-weight:600;color:var(--ink);margin:1.5rem 0 .4rem}
.legal-modal-body h3:first-child{margin-top:0}
.legal-modal-body p{margin-bottom:.8rem}
.legal-modal-body ul{margin:.4rem 0 .8rem 1.2rem}
.legal-modal-body ul li{margin-bottom:.3rem}
.legal-modal-body a{color:var(--pink2);text-decoration:underline}
.legal-modal-body strong{color:var(--ink);font-weight:600}
.legal-modal-body .legal-badge{display:inline-flex;align-items:center;gap:.4rem;background:var(--pink3);color:var(--pink2);font-size:.68rem;font-weight:600;letter-spacing:.08em;padding:.22rem .7rem;border-radius:2rem;border:1px solid var(--pink5);margin-bottom:1rem}
.ck-pref-grid{display:grid;gap:.7rem;margin:1rem 0}
.ck-pref-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:var(--off);border-radius:12px;border:1px solid var(--border)}
.ck-pref-info strong{display:block;font-size:.82rem;color:var(--ink);font-weight:600;margin-bottom:.18rem}
.ck-pref-info p{font-size:.75rem;color:var(--gray);margin:0;line-height:1.55}
.ck-toggle{position:relative;width:42px;height:24px;flex-shrink:0;margin-top:2px}
.ck-toggle input{opacity:0;width:0;height:0}
.ck-slider{position:absolute;inset:0;background:#ccc;border-radius:24px;cursor:pointer;transition:background .25s}
.ck-slider::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:white;border-radius:50%;transition:transform .25s;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.ck-toggle input:checked+.ck-slider{background:var(--pink)}
.ck-toggle input:checked+.ck-slider::before{transform:translateX(18px)}
.ck-toggle input:disabled+.ck-slider{background:var(--sage);cursor:not-allowed;opacity:.7}
.legal-modal-foot{padding:1rem 2rem 1.5rem;border-top:1px solid var(--border);display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap;flex-shrink:0}
.btn-legal-save{background:var(--pink);color:white;padding:.6rem 1.5rem;border-radius:2rem;font-family:"Nunito",sans-serif;font-size:.8rem;font-weight:600;border:none;cursor:pointer;transition:background .2s}
.btn-legal-save:hover{background:var(--pink2)}
.btn-legal-sec{background:transparent;color:var(--gray);padding:.6rem 1.2rem;border-radius:2rem;font-family:"Nunito",sans-serif;font-size:.8rem;font-weight:500;border:1px solid var(--border);cursor:pointer;transition:all .2s}
.btn-legal-sec:hover{border-color:var(--pink);color:var(--pink2)}
@media(max-width:600px){
  .ck-banner{padding:1.1rem 1.25rem;gap:1rem}
  .ck-btns{width:100%;justify-content:stretch}
  .ck-btn{flex:1;text-align:center}
  .legal-modal-head,.legal-modal-body,.legal-modal-foot{padding-left:1.25rem;padding-right:1.25rem}
}
/* ── CLASE POPUP MODAL ── */
.clase-overlay{position:fixed;inset:0;z-index:10500;background:rgba(15,15,15,.6);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1.25rem;opacity:0;pointer-events:none;transition:opacity .3s}
.clase-overlay.open{opacity:1;pointer-events:all}
.clase-modal{background:white;border-radius:24px;max-width:640px;width:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 32px 80px rgba(0,0,0,.22);transform:translateY(28px) scale(.98);transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .32s}
.clase-overlay.open .clase-modal{transform:translateY(0) scale(1)}
.clase-modal-hero{position:relative;height:200px;border-radius:24px 24px 0 0;overflow:hidden;flex-shrink:0}
.clase-modal-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.clase-modal-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55) 0%,rgba(0,0,0,.1) 60%,transparent 100%)}
.clase-modal-badge{position:absolute;top:1rem;left:1.25rem;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:.3rem .85rem;border-radius:2rem;color:white;backdrop-filter:blur(8px)}
.clase-modal-close{position:absolute;top:.85rem;right:.85rem;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);border:none;cursor:pointer;font-size:1rem;color:var(--ink);display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.clase-modal-close:hover{background:white;transform:scale(1.08)}
.clase-modal-title{position:absolute;bottom:1.1rem;left:1.25rem;right:3.5rem}
.clase-modal-title h2{font-family:"Cormorant Garamond",serif;font-size:1.7rem;font-weight:600;color:white;line-height:1.15;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.clase-modal-body{padding:1.6rem 1.75rem;overflow-y:auto;flex:1}
.clase-modal-meta{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.25rem}
.clase-modal-chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:.28rem .75rem;border-radius:2rem;background:var(--off);color:var(--gray);border:1px solid var(--border)}
.clase-modal-desc{font-size:.88rem;color:var(--gray);line-height:1.9;font-weight:300;margin-bottom:1.4rem}
.clase-modal-benefits{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .85rem;margin-bottom:1.5rem}
.clase-modal-benefit{display:flex;align-items:flex-start;gap:.45rem;font-size:.8rem;color:var(--ink2);line-height:1.5;font-weight:300}
.clase-modal-benefit::before{content:"✓";color:var(--sage);font-weight:700;font-size:.85rem;flex-shrink:0;margin-top:.05rem}
.clase-modal-foot{padding:1.1rem 1.75rem 1.5rem;border-top:1px solid var(--border);display:flex;gap:.75rem;align-items:center;flex-shrink:0;flex-wrap:wrap}
.clase-modal-foot .btn-wa{flex:1;justify-content:center;font-size:.88rem;padding:.8rem 1.5rem;min-width:180px}
.clase-modal-foot-note{font-size:.72rem;color:var(--gray);font-weight:300;line-height:1.5}
/* Card clickable */
.cc{cursor:pointer;transition:transform .25s,box-shadow .25s}
.cc:hover{transform:translateY(-5px);box-shadow:0 12px 36px rgba(0,0,0,.1)}
.cc-read-more{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--sage2);font-weight:600;margin-top:.5rem;letter-spacing:.04em}
.cc-read-more::after{content:"→";transition:transform .2s}
.cc:hover .cc-read-more::after{transform:translateX(3px)}
@media(max-width:600px){
  .clase-modal-benefits{grid-template-columns:1fr}
  .clase-modal-hero{height:160px}
  .clase-modal-title h2{font-size:1.35rem}
  .clase-modal-body{padding:1.25rem}
  .clase-modal-foot{padding:.9rem 1.25rem 1.25rem;flex-direction:column}
  .clase-modal-foot .btn-wa{width:100%}
}

/* ── GALERÍA ── */
.galeria-s{padding:7rem 0;background:var(--off)}
.galeria-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.galeria-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:14px;cursor:pointer;background:var(--off2)}
.galeria-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.galeria-item:hover img{transform:scale(1.07)}
.galeria-item-overlay{position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .3s;display:flex;align-items:center;justify-content:center;border-radius:14px}
.galeria-item:hover .galeria-item-overlay{background:rgba(0,0,0,.22)}
.galeria-zoom-ico{opacity:0;transform:scale(.7);transition:all .3s;color:white;font-size:1.6rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.galeria-item:hover .galeria-zoom-ico{opacity:1;transform:scale(1)}
/* Lightbox */
.lb-overlay{position:fixed;inset:0;z-index:11000;background:rgba(8,8,8,.94);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.lb-overlay.open{opacity:1;pointer-events:all}
.lb-inner{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}
.lb-img-wrap{position:relative;max-width:85vw;max-height:82vh;display:flex;align-items:center;justify-content:center}
.lb-img{max-width:85vw;max-height:82vh;object-fit:contain;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.6);user-select:none;transition:opacity .25s}
.lb-img.fading{opacity:0}
.lb-close{position:fixed;top:1.25rem;right:1.4rem;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:white;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:2}
.lb-close:hover{background:rgba(255,255,255,.25)}
.lb-btn{position:fixed;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:white;font-size:1.35rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .22s;z-index:2;user-select:none}
.lb-btn:hover{background:rgba(255,255,255,.28);transform:translateY(-50%) scale(1.08)}
.lb-prev{left:1.1rem}
.lb-next{right:1.1rem}
.lb-counter{position:fixed;bottom:1.4rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.65);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-family:"Nunito",sans-serif;font-weight:300}
.lb-dots{position:fixed;bottom:2.8rem;left:50%;transform:translateX(-50%);display:flex;gap:.45rem}
.lb-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:all .2s;border:none;padding:0}
.lb-dot.active{background:white;width:20px;border-radius:4px}
.galeria-item.placeholder{background:linear-gradient(135deg,var(--sage4),var(--lav4));display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.5rem}
.galeria-item.placeholder span{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage2);font-weight:600}
@media(max-width:700px){.galeria-grid{grid-template-columns:repeat(2,1fr)}.lb-btn{width:38px;height:38px;font-size:1.1rem}.lb-prev{left:.5rem}.lb-next{right:.5rem}.lb-img{max-width:95vw}}
@media(max-width:420px){.galeria-grid{grid-template-columns:repeat(2,1fr)}}
/* ── SELECTOR DE IDIOMA ── */
.lang-sel{display:flex;align-items:center;gap:2px;background:var(--sand);border-radius:2rem;padding:3px;border:1px solid var(--border);margin-left:.5rem}
.lang-btn{background:none;border:none;cursor:pointer;font-family:"DM Sans",sans-serif;font-size:.58rem;font-weight:600;letter-spacing:.1em;color:var(--gray);padding:.22rem .6rem;border-radius:2rem;transition:all .2s;text-transform:uppercase}
.lang-btn.active{background:var(--cream);color:var(--olive2);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.lang-btn:hover:not(.active){color:var(--ink)}
@media(max-width:900px){.lang-sel{margin-left:0;margin-top:.5rem;align-self:flex-start}}

/* ── TRADUCCIONES ── */
[data-es],[data-en],[data-de]{transition:opacity .18s}
