/* ============================================================
   PERLA BEREAUD · base.css
   Motor de temas (skin) desacoplado del esqueleto.
   4 temas: santuario (default) · editorial · clinica · aura
   Cambian color + tipografía + fondo → los pinta el botón flotante.
   ============================================================ */

/* ---------- TOKENS · tema por defecto = SANTUARIO (oscuro) ---------- */
:root,
:root[data-theme="santuario"]{
  --bg:#0B0913; --bg-2:#0F0B1A; --surface:rgba(255,255,255,.05); --surface-2:rgba(255,255,255,.08);
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  --text:#F3EFF9; --dim:#A79FB8; --dim-2:#7C7391;
  --a1:#4FE3DC; --a2:#7B4BC4; --a3:#E5399B;
  --grad:linear-gradient(105deg,#4FE3DC,#2BB5B0 34%,#7B4BC4 84%);
  --btn-fg:#0B0913;
  --fdisp:"Bricolage Grotesque"; --fbody:"Inter";
  --rad:20px; --shadow:0 30px 70px rgba(0,0,0,.5);
  --amb1:rgba(43,181,176,.42); --amb2:rgba(123,75,196,.5); --amb3:rgba(229,57,155,.24);
  --amb-blur:96px; --amb-op:.55;
}
:root[data-theme="editorial"]{
  --bg:#F3ECE1; --bg-2:#EDE3D4; --surface:#FBF7F0; --surface-2:#F5EEE2;
  --line:rgba(36,28,46,.12); --line-2:rgba(36,28,46,.2);
  --text:#241C2E; --dim:#4A4152; --dim-2:#6A6274;
  --a1:#1F8F8A; --a2:#6C3FA8; --a3:#C7357F;
  --grad:linear-gradient(105deg,#1F8F8A,#6C3FA8);
  --btn-fg:#FBF7F0;
  --fdisp:"Fraunces"; --fbody:"Inter";
  --rad:16px; --shadow:0 30px 70px rgba(36,28,46,.16);
  --amb1:rgba(31,143,138,.18); --amb2:rgba(108,63,168,.16); --amb3:rgba(199,53,127,.12);
  --amb-blur:90px; --amb-op:.5;
}
:root[data-theme="clinica"]{
  --bg:#F4FAFB; --bg-2:#E8F4F6; --surface:#FFFFFF; --surface-2:#F1FAFB;
  --line:rgba(19,42,46,.09); --line-2:rgba(19,42,46,.16);
  --text:#132A2E; --dim:#4C6367; --dim-2:#6F858A;
  --a1:#1F9E98; --a2:#6C3FA8; --a3:#D53E90;
  --grad:linear-gradient(100deg,#1F9E98,#6C3FA8);
  --btn-fg:#FFFFFF;
  --fdisp:"Plus Jakarta Sans"; --fbody:"Plus Jakarta Sans";
  --rad:20px; --shadow:0 22px 55px rgba(19,42,46,.1);
  --amb1:rgba(190,227,238,.75); --amb2:rgba(108,63,168,.1); --amb3:rgba(31,158,152,.16);
  --amb-blur:90px; --amb-op:.7;
}
:root[data-theme="aura"]{
  --bg:#120B22; --bg-2:#170E2C; --surface:rgba(255,255,255,.055); --surface-2:rgba(255,255,255,.09);
  --line:rgba(255,255,255,.12); --line-2:rgba(255,255,255,.2);
  --text:#F6F1FF; --dim:#B9AEDA; --dim-2:#877CA8;
  --a1:#3FE0D6; --a2:#9B6BFF; --a3:#FF57B0;
  --grad:linear-gradient(100deg,#3FE0D6,#7CE7FF 26%,#9B6BFF 62%,#FF57B0);
  --btn-fg:#160C22;
  --fdisp:"Space Grotesk"; --fbody:"Inter";
  --rad:24px; --shadow:0 40px 90px rgba(155,107,255,.3);
  --amb1:rgba(63,224,214,.5); --amb2:rgba(155,107,255,.5); --amb3:rgba(255,87,176,.45);
  --amb-blur:80px; --amb-op:.55;
}
/* --- 8 tonos extra (total 12) --- */
:root[data-theme="noche"]{--bg:#06181A;--bg-2:#0A2427;--surface:rgba(255,255,255,.05);--surface-2:rgba(255,255,255,.08);--line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.16);--text:#E8F6F3;--dim:#94BAB6;--dim-2:#5E827E;--a1:#3FE0D6;--a2:#2BB5B0;--a3:#4FE3DC;--grad:linear-gradient(105deg,#4FE3DC,#2BB5B0 60%,#1F8F8A);--btn-fg:#06181A;--fdisp:"Space Grotesk";--fbody:"Inter";--rad:18px;--shadow:0 30px 70px rgba(0,0,0,.5);--amb1:rgba(63,224,214,.4);--amb2:rgba(31,143,138,.4);--amb3:rgba(79,227,220,.3);--amb-blur:96px;--amb-op:.5}
:root[data-theme="ciruela"]{--bg:#140A1E;--bg-2:#1B0F28;--surface:rgba(255,255,255,.05);--surface-2:rgba(255,255,255,.08);--line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.16);--text:#F3EAF7;--dim:#B79FC6;--dim-2:#7C6389;--a1:#C88BE0;--a2:#8E5AA8;--a3:#E5399B;--grad:linear-gradient(105deg,#C88BE0,#8E5AA8 55%,#E5399B);--btn-fg:#140A1E;--fdisp:"Bricolage Grotesque";--fbody:"Inter";--rad:20px;--shadow:0 30px 70px rgba(0,0,0,.5);--amb1:rgba(200,139,224,.4);--amb2:rgba(142,90,168,.45);--amb3:rgba(229,57,155,.3);--amb-blur:96px;--amb-op:.5}
:root[data-theme="carbon"]{--bg:#12161A;--bg-2:#181D22;--surface:rgba(255,255,255,.05);--surface-2:rgba(255,255,255,.08);--line:rgba(255,255,255,.09);--line-2:rgba(255,255,255,.16);--text:#EDF1F4;--dim:#A6B2BA;--dim-2:#6E7A82;--a1:#4FE3DC;--a2:#8FA9BC;--a3:#E5399B;--grad:linear-gradient(105deg,#4FE3DC,#7B4BC4 82%);--btn-fg:#12161A;--fdisp:"Space Grotesk";--fbody:"Inter";--rad:16px;--shadow:0 30px 70px rgba(0,0,0,.55);--amb1:rgba(79,227,220,.34);--amb2:rgba(123,75,196,.34);--amb3:rgba(229,57,155,.24);--amb-blur:96px;--amb-op:.45}
:root[data-theme="rosa"]{--bg:#F9EEF2;--bg-2:#F4E5EC;--surface:#FFFFFF;--surface-2:#FBF2F6;--line:rgba(58,28,46,.12);--line-2:rgba(58,28,46,.2);--text:#3A1C2E;--dim:#6A4A5A;--dim-2:#8A6A7A;--a1:#D6547E;--a2:#A24C8C;--a3:#C7357F;--grad:linear-gradient(105deg,#D6547E,#A24C8C);--btn-fg:#FFFFFF;--fdisp:"Fraunces";--fbody:"Inter";--rad:18px;--shadow:0 26px 55px rgba(58,28,46,.14);--amb1:rgba(224,107,154,.18);--amb2:rgba(162,76,140,.16);--amb3:rgba(199,53,127,.12);--amb-blur:90px;--amb-op:.5}
:root[data-theme="lavanda"]{--bg:#F2EFF8;--bg-2:#ECE7F4;--surface:#FFFFFF;--surface-2:#F6F2FB;--line:rgba(36,28,46,.12);--line-2:rgba(36,28,46,.2);--text:#241C2E;--dim:#544A66;--dim-2:#786E8C;--a1:#7C6CE0;--a2:#6C3FA8;--a3:#C7568F;--grad:linear-gradient(105deg,#7C6CE0,#6C3FA8);--btn-fg:#FFFFFF;--fdisp:"Plus Jakarta Sans";--fbody:"Plus Jakarta Sans";--rad:20px;--shadow:0 24px 55px rgba(36,28,46,.12);--amb1:rgba(124,108,224,.2);--amb2:rgba(108,63,168,.16);--amb3:rgba(199,86,143,.12);--amb-blur:90px;--amb-op:.5}
:root[data-theme="menta"]{--bg:#ECF6F1;--bg-2:#E3F1EA;--surface:#FFFFFF;--surface-2:#F1FAF5;--line:rgba(18,52,46,.11);--line-2:rgba(18,52,46,.18);--text:#12342C;--dim:#43655B;--dim-2:#6B877E;--a1:#1FA085;--a2:#3E7CA8;--a3:#D6547E;--grad:linear-gradient(105deg,#1FA085,#3E7CA8);--btn-fg:#FFFFFF;--fdisp:"Plus Jakarta Sans";--fbody:"Plus Jakarta Sans";--rad:20px;--shadow:0 22px 50px rgba(18,52,46,.1);--amb1:rgba(47,184,154,.2);--amb2:rgba(62,124,168,.14);--amb3:rgba(224,102,143,.12);--amb-blur:90px;--amb-op:.55}
:root[data-theme="oro"]{--bg:#F8F2E3;--bg-2:#F2EAD5;--surface:#FFFFFF;--surface-2:#FBF6EA;--line:rgba(42,36,22,.12);--line-2:rgba(42,36,22,.2);--text:#2A2416;--dim:#5E543C;--dim-2:#847A60;--a1:#B98A2E;--a2:#8A6D2E;--a3:#C7568F;--grad:linear-gradient(105deg,#B98A2E,#8A6D2E);--btn-fg:#FFFFFF;--fdisp:"Fraunces";--fbody:"Inter";--rad:18px;--shadow:0 24px 52px rgba(42,36,22,.14);--amb1:rgba(199,154,62,.2);--amb2:rgba(138,109,46,.14);--amb3:rgba(199,86,143,.1);--amb-blur:90px;--amb-op:.55}
:root[data-theme="cielo"]{--bg:#EDF4FA;--bg-2:#E3EEF6;--surface:#FFFFFF;--surface-2:#F1F7FC;--line:rgba(18,48,60,.1);--line-2:rgba(18,48,60,.18);--text:#12303C;--dim:#42636F;--dim-2:#6B8591;--a1:#2E92C6;--a2:#5C5AC0;--a3:#E5589B;--grad:linear-gradient(105deg,#2E92C6,#5C5AC0);--btn-fg:#FFFFFF;--fdisp:"Plus Jakarta Sans";--fbody:"Plus Jakarta Sans";--rad:20px;--shadow:0 22px 50px rgba(18,48,60,.1);--amb1:rgba(46,146,198,.2);--amb2:rgba(92,90,192,.14);--amb3:rgba(229,88,155,.12);--amb-blur:90px;--amb-op:.55}

/* ---------- RESET / BASE ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--fbody),system-ui,sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .5s ease,color .35s ease}
h1,h2,h3,h4,.disp{font-family:var(--fdisp),"Inter",sans-serif;font-weight:700;line-height:1.06;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.wrap.narrow{max-width:760px}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--a1)}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--a1);border-radius:2px;opacity:.8}
.eyebrow.c{justify-content:center}

/* ---------- AMBIENT BG ---------- */
.ambient{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:var(--bg);transition:background .5s ease}
.ambient span{position:absolute;border-radius:50%;filter:blur(var(--amb-blur));opacity:var(--amb-op);will-change:transform}
.ambient .b1{width:52vw;height:52vw;left:-14vw;top:-16vw;background:radial-gradient(circle,var(--amb1),transparent 66%);animation:fl1 30s ease-in-out infinite}
.ambient .b2{width:46vw;height:46vw;right:-12vw;top:6vw;background:radial-gradient(circle,var(--amb2),transparent 66%);animation:fl2 36s ease-in-out infinite}
.ambient .b3{width:40vw;height:40vw;left:28vw;top:120vh;background:radial-gradient(circle,var(--amb3),transparent 66%);animation:fl3 42s ease-in-out infinite}
@keyframes fl1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(9vw,11vw) scale(1.16)}}
@keyframes fl2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-8vw,8vw) scale(1.1)}}
@keyframes fl3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(7vw,-9vw) scale(1.2)}}

/* ---------- HEADER / NAV ---------- */
header.hd{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
header.hd.on{background:color-mix(in srgb,var(--bg) 74%,transparent);backdrop-filter:blur(14px) saturate(1.3);border-bottom-color:var(--line)}
header.hd .bar{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--fdisp);font-weight:700;font-size:19px}
.brand-logo{height:38px;width:auto;display:block}
footer.ft .brand-logo{height:42px}
.brand .logo-l{display:none}
:root[data-theme="santuario"] .brand .logo-c,:root[data-theme="aura"] .brand .logo-c,:root[data-theme="noche"] .brand .logo-c,:root[data-theme="ciruela"] .brand .logo-c,:root[data-theme="carbon"] .brand .logo-c{display:none}
:root[data-theme="santuario"] .brand .logo-l,:root[data-theme="aura"] .brand .logo-l,:root[data-theme="noche"] .brand .logo-l,:root[data-theme="ciruela"] .brand .logo-l,:root[data-theme="carbon"] .brand .logo-l{display:block}
.brand .mk{width:30px;height:30px;flex:none}
.nav{display:flex;align-items:center;gap:26px}
.nav a.lk{font-size:14.5px;color:var(--dim);font-weight:500;transition:color .2s}
.nav a.lk:hover{color:var(--text)}
.navtoggle{display:none;background:none;border:0;color:var(--text);cursor:pointer;padding:8px}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;border-radius:100px;padding:13px 24px;transition:transform .16s,box-shadow .16s,background .2s,filter .2s;cursor:pointer;border:1px solid transparent;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-primary{background:var(--grad);color:var(--btn-fg);font-weight:700;box-shadow:0 10px 28px color-mix(in srgb,var(--a2) 40%,transparent)}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 16px 40px color-mix(in srgb,var(--a3) 42%,transparent)}
.btn-ghost{background:var(--surface);border-color:var(--line-2);color:var(--text)}
.btn-ghost:hover{background:var(--surface-2);transform:translateY(-2px)}
.btn-wa{background:linear-gradient(120deg,#25D366,#128C7E);color:#fff;box-shadow:0 8px 24px rgba(18,140,126,.32)}
.btn-wa:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(18,140,126,.42)}

/* ---------- SECTIONS ---------- */
section.blk{padding:82px 0;position:relative}
section.blk.alt{background:var(--bg-2)}
.shead{max-width:650px;margin-bottom:44px}
.shead.center{margin-left:auto;margin-right:auto;text-align:center}
.shead h2{font-size:clamp(28px,4.4vw,46px);font-weight:800;margin-top:15px}
.shead p{color:var(--dim);font-size:16.5px;margin-top:15px}

/* ---------- CRED STRIP ---------- */
.credrow{display:flex;flex-wrap:wrap;gap:10px 12px;justify-content:center}
.cred{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--dim);border:1px solid var(--line);border-radius:100px;padding:8px 15px;background:var(--surface);transition:border-color .2s,color .2s}
.cred:hover{border-color:var(--a1);color:var(--text)}
.cred svg{width:15px;height:15px;color:var(--a1)}

/* ---------- SERVICES ---------- */
.flagship{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--line-2);border-radius:26px;overflow:hidden;background:var(--surface)}
.flagship .media{position:relative;min-height:340px}
.flagship .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.flagship .info{padding:40px;display:flex;flex-direction:column;justify-content:center}
.flagship .price{font-family:var(--fdisp);font-weight:700;font-size:40px;line-height:1;margin:6px 0 4px;color:var(--a1)}
.flagship .price small{font-size:15px;font-weight:500;color:var(--dim);font-family:var(--fbody)}
.flagship h3{font-size:26px;font-weight:700;margin-bottom:8px}
.flagship p{color:var(--dim);font-size:15px;margin-bottom:8px}
.meta{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 22px}
.meta span{font-size:12.5px;color:var(--dim);border:1px solid var(--line);border-radius:8px;padding:5px 10px}
.svcgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc{border:1px solid var(--line);border-radius:var(--rad);padding:26px 24px;background:var(--surface);transition:transform .2s,border-color .2s;position:relative;overflow:hidden}
.svc::before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--grad);transform:scaleY(0);transform-origin:top;transition:transform .25s}
.svc:hover{transform:translateY(-5px);border-color:var(--line-2)}
.svc:hover::before{transform:scaleY(1)}
.svc .ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--a1) 14%,transparent);border:1px solid color-mix(in srgb,var(--a1) 26%,transparent);margin-bottom:15px;font-size:21px}
.svc h4{font-size:18px;font-weight:700;margin-bottom:5px}
.svc .p2{font-family:var(--fdisp);font-weight:700;font-size:21px;color:var(--a1);margin-bottom:8px}
.svc p{color:var(--dim);font-size:14px;margin-bottom:16px}
.svc a.more{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--a1);min-height:40px}
.svc a.more:hover{gap:10px}

/* ---------- REFRAME / FEATS ---------- */
.reframe{border:1px solid var(--line);border-radius:22px;padding:38px 36px;background:linear-gradient(135deg,color-mix(in srgb,var(--a2) 12%,transparent),color-mix(in srgb,var(--a1) 6%,transparent));margin-bottom:34px}
.reframe .q{font-family:var(--fdisp);font-weight:600;font-size:clamp(21px,3.2vw,30px);line-height:1.26;max-width:23ch}
.reframe .q em{font-style:normal}
.feats{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.feat{display:flex;gap:16px;padding:24px;border:1px solid var(--line);border-radius:var(--rad);background:var(--surface);transition:border-color .2s,transform .2s}
.feat:hover{border-color:var(--line-2);transform:translateY(-3px)}
.feat .fic{width:46px;height:46px;flex:none;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--a1) 18%,transparent),color-mix(in srgb,var(--a2) 18%,transparent));border:1px solid var(--line-2);color:var(--a1)}
.feat h4{font-size:17px;font-weight:700;margin-bottom:5px}
.feat p{color:var(--dim);font-size:14px}

/* ---------- PROCESO ---------- */
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step{position:relative;padding:26px 22px;border:1px solid var(--line);border-radius:var(--rad);background:var(--surface)}
.step .n{font-family:var(--fdisp);font-weight:800;font-size:15px;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--grad);color:var(--btn-fg);margin-bottom:14px}
.step h4{font-size:16.5px;font-weight:700;margin-bottom:6px}
.step p{color:var(--dim);font-size:13.5px}
.step:not(:last-child)::after{content:"→";position:absolute;right:-13px;top:44px;color:var(--dim-2);font-size:15px}

/* ---------- VSL / VIDEO ---------- */
.vsl-note{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--dim);border:1px solid var(--line-2);border-radius:100px;padding:6px 14px;background:var(--surface)}
.vsl-note .live{width:8px;height:8px;border-radius:50%;background:var(--a3);box-shadow:0 0 0 4px color-mix(in srgb,var(--a3) 26%,transparent);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.vframe{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line-2);background:#000;box-shadow:var(--shadow)}
.vframe.v916{aspect-ratio:9/16;max-width:300px;margin:0 auto;width:100%}
.vframe.v169{aspect-ratio:16/9;width:100%}
.vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- MARQUEE ---------- */
.marquee{position:relative;overflow:hidden;margin:8px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mtrack{display:flex;gap:12px;width:max-content;animation:scroll 42s linear infinite}
.marquee:hover .mtrack{animation-play-state:paused}
.mtrack.r2{animation-duration:52s;animation-direction:reverse}
@keyframes scroll{to{transform:translateX(-50%)}}
.chip{white-space:nowrap;font-size:15px;font-weight:500;color:var(--text);border:1px solid var(--line-2);border-radius:100px;padding:11px 20px;background:var(--surface)}

/* ---------- TESTIMONIOS ---------- */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tcard{border:1px solid var(--line);border-radius:var(--rad);padding:26px 24px;background:var(--surface);display:flex;flex-direction:column;gap:16px}
.tcard .qt{color:var(--text);font-size:15px;line-height:1.6}
.tcard .stars{font-size:14px;letter-spacing:2px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.tcard .who{display:flex;align-items:center;gap:11px;margin-top:auto}
.tcard .who img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid var(--line-2)}
.tcard .who b{font-size:14px;display:block}
.tcard .who span{font-size:12.5px;color:var(--dim-2)}

/* ---------- FAQ ---------- */
.faqlist{display:flex;flex-direction:column;gap:12px;max-width:820px;margin:0 auto}
details.faq{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
details.faq[open]{border-color:var(--line-2)}
details.faq summary{list-style:none;cursor:pointer;padding:19px 22px;font-family:var(--fdisp);font-weight:600;font-size:16.5px;display:flex;align-items:center;justify-content:space-between;gap:16px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary .pl{flex:none;width:24px;height:24px;position:relative;transition:transform .25s}
details.faq[open] summary .pl{transform:rotate(45deg)}
details.faq summary .pl::before,details.faq summary .pl::after{content:"";position:absolute;background:var(--a1);border-radius:2px}
details.faq summary .pl::before{left:11px;top:4px;width:2px;height:16px}
details.faq summary .pl::after{top:11px;left:4px;height:2px;width:16px}
details.faq .a{padding:0 22px 20px;color:var(--dim);font-size:14.5px;line-height:1.65}
details.faq .a b{color:var(--text);font-weight:600}

/* ---------- AGENDA / FORM ---------- */
.agenda{border:1px solid var(--line-2);border-radius:26px;overflow:hidden;background:var(--surface);display:grid;grid-template-columns:1fr 1fr}
.agenda .left{padding:44px 40px;border-right:1px solid var(--line);background:var(--bg-2)}
.agenda .left h2{font-size:clamp(26px,3.6vw,36px);font-weight:800;margin-bottom:14px}
.agenda .left p{color:var(--dim);font-size:15px;margin-bottom:22px}
.resv{list-style:none;display:flex;flex-direction:column;gap:12px}
.resv li{display:flex;gap:12px;font-size:14px;color:var(--dim)}
.resv li b{color:var(--text);font-weight:600}
.resv li .ck{color:var(--a1);flex:none;margin-top:2px}
form.f{padding:40px;display:flex;flex-direction:column;gap:14px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--dim)}
.field input,.field select,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;color:var(--text);font-family:inherit;font-size:14.5px;transition:border-color .2s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--a1)}
.field textarea{resize:vertical;min-height:78px}
.field select option{background:var(--surface);color:var(--text)}
form.f .btn{justify-content:center;margin-top:4px}
.fnote{font-size:12px;color:var(--dim-2);text-align:center}

/* ---------- DISCLAIMER ---------- */
.disc{border:1px solid color-mix(in srgb,var(--a3) 30%,transparent);border-left:4px solid var(--a3);border-radius:16px;padding:26px 28px;background:color-mix(in srgb,var(--a3) 6%,transparent)}
.disc h4{font-size:16px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:9px}
.disc p{color:var(--dim);font-size:14px;margin-bottom:8px}
.disc .list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.disc .list span{font-size:12.5px;color:var(--text);border:1px solid var(--line-2);border-radius:8px;padding:5px 11px;background:var(--surface)}
.crisis{margin-top:14px;font-size:13.5px;color:var(--dim)}
.crisis b{color:var(--a1)}

/* ---------- FOOTER ---------- */
footer.ft{border-top:1px solid var(--line);padding:52px 0 120px;margin-top:40px;background:var(--bg-2)}
.ftgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.ftgrid .brand{margin-bottom:14px}
.ftgrid p{color:var(--dim);font-size:14px;max-width:34ch}
.ftcol h5{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim-2);margin-bottom:14px;font-weight:600}
.ftcol a,.ftcol div{display:block;color:var(--dim);font-size:14px;margin-bottom:9px;transition:color .2s}
.ftcol a:hover{color:var(--a1)}
.ftbottom{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;color:var(--dim-2);font-size:12.5px}

/* ---------- WHATSAPP FLOAT ---------- */
.wafloat{position:fixed;right:18px;bottom:18px;z-index:60;display:inline-flex;align-items:center;gap:10px;background:linear-gradient(120deg,#25D366,#128C7E);color:#fff;font-weight:600;font-size:14.5px;padding:13px 20px;border-radius:100px;box-shadow:0 12px 34px rgba(18,140,126,.45);transition:transform .18s}
.wafloat:hover{transform:translateY(-3px) scale(1.03)}
.wafloat svg{width:20px;height:20px}
@media(max-width:560px){.wafloat span{display:none}.wafloat{padding:15px;border-radius:50%}}

/* ---------- THEME SWITCHER (el botón que pinta la página) ---------- */
.themebar{position:fixed;left:18px;bottom:18px;z-index:61;display:flex;align-items:center;flex-wrap:wrap;gap:9px;max-width:min(78vw,330px);background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(14px) saturate(1.3);border:1px solid var(--line-2);border-radius:20px;padding:10px 14px;box-shadow:0 14px 40px rgba(0,0,0,.28)}
.themebar .tlab{width:100%}
.themebar .tlab{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-right:2px}
.themebar .sw{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .16s,border-color .2s;position:relative}
.themebar .sw:hover{transform:scale(1.14)}
.themebar .sw[aria-pressed="true"]{border-color:var(--text)}
.themebar .sw.s-santuario{background:radial-gradient(circle at 30% 30%,#4FE3DC,#7B4BC4)}
.themebar .sw.s-editorial{background:radial-gradient(circle at 30% 30%,#F3ECE1 40%,#6C3FA8)}
.themebar .sw.s-clinica{background:radial-gradient(circle at 30% 30%,#FFFFFF 40%,#1F9E98)}
.themebar .sw.s-aura{background:radial-gradient(circle at 30% 30%,#3FE0D6,#FF57B0)}
.themebar .sw.s-noche{background:radial-gradient(circle at 30% 30%,#4FE3DC,#0A2427)}
.themebar .sw.s-ciruela{background:radial-gradient(circle at 30% 30%,#C88BE0,#140A1E)}
.themebar .sw.s-carbon{background:radial-gradient(circle at 30% 30%,#4FE3DC,#12161A)}
.themebar .sw.s-rosa{background:radial-gradient(circle at 30% 30%,#F9EEF2 40%,#C7357F)}
.themebar .sw.s-lavanda{background:radial-gradient(circle at 30% 30%,#F2EFF8 40%,#6C3FA8)}
.themebar .sw.s-menta{background:radial-gradient(circle at 30% 30%,#ECF6F1 40%,#1FA085)}
.themebar .sw.s-oro{background:radial-gradient(circle at 30% 30%,#F8F2E3 40%,#B98A2E)}
.themebar .sw.s-cielo{background:radial-gradient(circle at 30% 30%,#EDF4FA 40%,#2E92C6)}
@media(max-width:560px){.themebar .tlab{display:none}.themebar{left:12px;bottom:12px;padding:8px 10px}}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ---------- SOBRE MÍ (retrato + texto) ---------- */
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center}
.about .ph{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line-2);box-shadow:var(--shadow)}
.about .ph img{width:100%;aspect-ratio:4/5;object-fit:cover}
.about .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.42),transparent 48%)}
.about .ph .sig{position:absolute;left:16px;bottom:14px;z-index:2}
.about .ph .sig b{display:block;font-family:var(--fdisp);font-weight:700;font-size:18px;color:#fff}
.about .ph .sig span{font-size:12.5px;color:rgba(255,255,255,.82)}
.about .atext h2{font-size:clamp(26px,3.6vw,40px);font-weight:800;margin:14px 0 16px}
.about .atext p{color:var(--dim);font-size:15.5px;margin-bottom:14px}
.about .atext p b{color:var(--text);font-weight:600}
.about .acreds{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.about .acreds span{font-size:12.5px;color:var(--text);border:1px solid var(--line-2);border-radius:100px;padding:7px 14px;background:var(--surface)}

/* ---------- EN MEDIOS + FUNDACIÓN (franja de fotos) ---------- */
.mediaband{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--surface)}
.mediaband .top{padding:26px 32px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;border-bottom:1px solid var(--line)}
.mediaband .top .lbl{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim-2);font-weight:600}
.mediaband .top .m{font-size:15px;color:var(--dim)}
.mediaband .top .m b{color:var(--text);font-weight:600}
.fgrid{display:grid;grid-template-columns:1.35fr 1fr 1fr}
.fgrid figure{position:relative;overflow:hidden;min-height:230px}
.fgrid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.fgrid figure:hover img{transform:scale(1.05)}
.fgrid figcaption{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;font-size:12.5px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.7);font-weight:500}
.fgrid figure::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.64),transparent 55%)}
.fgrid figure:not(:last-child){border-right:1px solid var(--line)}

/* ---------- TESTIMONIOS gráficos listos (imágenes) ---------- */
.tgraphic{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tgraphic img{width:100%;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--surface)}

/* ---------- RESPONSIVE (compartido) ---------- */
@media(max-width:900px){
  .nav .lk{display:none}
  .flagship,.agenda{grid-template-columns:1fr}
  .feats,.svcgrid,.tgrid{grid-template-columns:1fr 1fr}
  .proc{grid-template-columns:1fr 1fr}
  .step:not(:last-child)::after{display:none}
  .ftgrid{grid-template-columns:1fr 1fr}
  .agenda .left{border-right:0;border-bottom:1px solid var(--line)}
  .about{grid-template-columns:1fr;gap:26px}
  .fgrid,.tgraphic{grid-template-columns:1fr 1fr}
  .fgrid figure:nth-child(3){grid-column:1/-1}
}
@media(max-width:640px){
  .navtoggle{display:block}
  .nav{position:fixed;inset:66px 0 auto 0;background:color-mix(in srgb,var(--bg) 97%,transparent);backdrop-filter:blur(14px);flex-direction:column;gap:0;padding:12px 22px 22px;border-bottom:1px solid var(--line);transform:translateY(-120%);transition:transform .3s;z-index:40}
  .nav.open{transform:none}
  .nav a.lk{display:block;padding:13px 0;width:100%;border-bottom:1px solid var(--line);font-size:16px;color:var(--text)}
  .nav .btn{width:100%;justify-content:center;margin-top:12px}
  .svcgrid,.feats,.tgrid,.proc{grid-template-columns:1fr}
  .ftgrid{grid-template-columns:1fr}
  .flagship .info,.agenda .left,form.f{padding:30px 24px}
  section.blk{padding:60px 0}
  .fgrid,.tgraphic{grid-template-columns:1fr}
  .fgrid figure:not(:last-child){border-right:0;border-bottom:1px solid var(--line)}
  .tgraphic{max-width:360px;margin:0 auto}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:background .01s,color .01s!important}.reveal{opacity:1!important;transform:none!important}html{scroll-behavior:auto}}
