/* Capilar Clinic — tokens compartidos por el sitio y el panel médico.
   Layout: columna editorial de 1180px, comparadores antes/después como protagonistas. */
:root{
  --bg:#F2F3EF;          /* hueso frío */
  --surface:#FFFFFF;
  --sunk:#E6E9E3;
  --ink:#16201E;         /* tinta verde-noche */
  --muted:#5B6863;
  --rule:#CDD3CC;
  --accent:#A9582A;      /* cobre, como el folículo a contraluz */
  --accent-ink:#FFFFFF;
  --accent-soft:#F3E3D6;
  --sage:#3E6A5C;
  --hair:#2A2420;
  --skin:#E7C9AE;
  --skin-line:#C9A588;
  --wa:#1F9D55;
  --ok:#2F7D57; --warn:#A86A12;
  --shadow:0 1px 2px rgba(22,32,30,.06),0 8px 24px -12px rgba(22,32,30,.25);
  --f-display:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-data:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --r:14px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0E1513;--surface:#16201D;--sunk:#1D2925;--ink:#E7ECE8;--muted:#9AA8A2;--rule:#2C3A35;
  --accent:#DE8F5C;--accent-ink:#1A0F08;--accent-soft:#3A271B;--sage:#86B5A3;
  --hair:#3B332D;--skin:#C9A486;--skin-line:#A5826A;--wa:#2BB566;--ok:#5FBF8C;--warn:#E0A64A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 28px -14px rgba(0,0,0,.7);color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E1513;--surface:#16201D;--sunk:#1D2925;--ink:#E7ECE8;--muted:#9AA8A2;--rule:#2C3A35;
  --accent:#DE8F5C;--accent-ink:#1A0F08;--accent-soft:#3A271B;--sage:#86B5A3;
  --hair:#3B332D;--skin:#C9A486;--skin-line:#A5826A;--wa:#2BB566;--ok:#5FBF8C;--warn:#E0A64A;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 12px 28px -14px rgba(0,0,0,.7);color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--f-body);margin:0;-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
h1,h2,h3{font-family:var(--f-display);font-weight:650;line-height:1.08;text-wrap:balance;margin:0;letter-spacing:-.03em}
p{margin:0}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(16px,4vw,32px)}
.label{font:600 .72rem/1.2 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mono{font-family:var(--f-data);font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;border:0;border-radius:999px;padding:.78em 1.3em;font:600 .95rem/1 var(--f-body);text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,border-color .15s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{filter:brightness(1.06)}
.btn-wa{background:var(--wa);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--rule)}
.btn-ghost:hover{border-color:var(--ink)}
.icon{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.icon.fill{fill:currentColor;stroke:none}

/* cabecera */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--rule)}
.site-head .wrap{display:flex;align-items:center;gap:20px;min-height:66px}
.brand{display:flex;align-items:baseline;gap:.35em;text-decoration:none;color:var(--ink);font-family:var(--f-display);font-size:1.35rem;font-weight:700;letter-spacing:-.03em;line-height:1;white-space:nowrap}
.brand b{font-weight:400;color:var(--accent)}
.brand small{font:600 .62rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-left:.3em}
.nav{display:flex;gap:22px;margin-left:auto;font-size:.93rem}
.nav a{text-decoration:none;color:var(--muted)}
.nav a:hover{color:var(--ink)}
.head-actions{display:flex;gap:8px;align-items:center}
.theme-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--rule);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.theme-btn:hover{border-color:var(--ink)}
.theme-btn .sun{display:none}
:root[data-theme="dark"] .theme-btn .sun{display:block}
:root[data-theme="dark"] .theme-btn .moon{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme-btn .sun{display:block}:root:not([data-theme="light"]) .theme-btn .moon{display:none}}

/* botón flotante de WhatsApp */
.wa-float{position:fixed;right:clamp(14px,3vw,28px);bottom:calc(clamp(14px,3vw,28px) + env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:10px;background:var(--wa);color:#fff;text-decoration:none;border-radius:999px;padding:12px 18px 12px 14px;font-weight:600;box-shadow:0 10px 30px -8px rgba(15,90,50,.55)}
.wa-float svg{width:26px;height:26px}
.wa-float:hover{filter:brightness(1.07)}
@media (max-width:560px){.wa-float span{display:none}.wa-float{padding:14px}}

/* iconos de escala de calvicie */
.scalp .head{fill:var(--hair)}
.scalp .bald{fill:var(--skin)}
.scalp .thin{fill:var(--skin)}
.scalp .ear{fill:var(--skin);stroke:var(--skin-line);stroke-width:1}
.scalp .nose{fill:var(--skin-line)}
.scalp .outline{fill:none;stroke:var(--skin-line);stroke-width:1.2}
.scale-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}
.scale-opt{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;border:1.5px solid var(--rule);border-radius:12px;background:var(--surface);cursor:pointer;color:var(--ink);font:inherit;transition:border-color .15s,transform .15s}
.scale-opt:hover{border-color:var(--muted);transform:translateY(-1px)}
.scale-opt svg{width:58px;height:70px}
.scale-opt .k{font:600 .85rem/1 var(--f-data)}
.scale-opt .d{font-size:.72rem;color:var(--muted);text-align:center;line-height:1.25}
.scale-opt[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.scale-opt[aria-pressed="true"]::after{content:"";position:absolute;top:8px;right:8px;width:9px;height:9px;border-radius:50%;background:var(--accent)}

/* comparador antes / después */
.cmp{position:relative;overflow:hidden;border-radius:var(--r);background:var(--sunk);aspect-ratio:4/5;max-width:100%;user-select:none;touch-action:pan-y;cursor:ew-resize}
.cmp img,.cmp .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cmp .after-wrap{position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos,50%))}
.cmp .handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.cmp .knob{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#fff;color:#16201E;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.cmp .tag{position:absolute;top:12px;padding:5px 10px;border-radius:999px;font:600 .7rem/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;background:rgba(14,21,19,.72);color:#fff}
.cmp .tag.l{left:12px}.cmp .tag.r{right:12px}
.cmp input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.cmp input[type=range]:focus-visible + .handle .knob{outline:3px solid var(--accent);outline-offset:2px}

/* logo y menú móvil */
.brand img{height:48px;width:auto;display:block}
.logo-d{display:none!important}
:root[data-theme="dark"] .logo-l{display:none!important}
:root[data-theme="dark"] .logo-d{display:block!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-l{display:none!important}:root:not([data-theme="light"]) .logo-d{display:block!important}}
.menu-btn{display:none;width:42px;height:42px;border-radius:50%;border:1.5px solid var(--rule);background:var(--surface);color:var(--ink);place-items:center;cursor:pointer}
.menu-btn .x{display:none}
.menu-btn[aria-expanded="true"] .x{display:block}
.menu-btn[aria-expanded="true"] .bars{display:none}
@media (max-width:920px){
  .menu-btn{display:grid}
  .head-actions{margin-left:auto}
  .site-head .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;margin:0;background:var(--bg);border-bottom:1px solid var(--rule);padding:4px clamp(16px,4vw,32px) 14px;box-shadow:var(--shadow)}
  .site-head .nav.open{display:flex}
  .site-head .nav a{padding:14px 0;border-bottom:1px solid var(--rule);font-size:1.02rem;color:var(--ink)}
  .site-head .nav a:last-child{border-bottom:0}
}
/* redes */
.social{display:flex;flex-wrap:wrap;gap:10px}
.social a{display:inline-flex;align-items:center;gap:8px;padding:.55em .9em;border:1.5px solid var(--rule);border-radius:999px;text-decoration:none;color:var(--ink);font-weight:500;font-size:.88rem}
.social a:hover{border-color:var(--accent);color:var(--accent)}
.social svg{width:18px;height:18px}