/* ==========================================================================
   Centro Salud Mental CSM — sistema de diseño v3  (ver DESIGN.md)
   Orden: 1 tokens · 2 base · 3 botones · 4 cabecera · 5 pie/CTA/flotante · 6 revelado
          7 componentes de portada · 8 contenido heredado (Elementor) · 9 familias de página
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  --ink:#0e1c2a; --ink-2:#17293b; --ink-3:#26425a;
  --blue:#2b5a78; --blue-2:#3d7392; --blue-l:#e6eef3;
  --camel:#b39671; --camel-d:#7a5f38; --camel-l:#e9dcc6;
  --sand:#f5efe4; --sand-2:#ece2d0; --paper:#fbf8f2; --line:#e3d9c7; --white:#fff;
  --text:#2c3a47; --muted:#5f6e7b;
  --sage:#4f6f5d; --alert:#b42a3e; --ok:#2d6a4f;
  --font-display:'Fraunces',Georgia,'Times New Roman',serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r-sm:12px; --r:20px; --r-lg:32px;
  --sh-1:0 1px 2px rgba(14,28,42,.05),0 4px 14px rgba(14,28,42,.05);
  --sh-2:0 2px 6px rgba(14,28,42,.05),0 16px 40px rgba(14,28,42,.09);
  --sh-3:0 30px 70px rgba(14,28,42,.2);
  --wrap:1200px; --gut:clamp(18px,4vw,40px);
  --sec:clamp(56px,8vw,112px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --hdr:76px;
}

/* ---------- 2. Base ---------- */
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 24px)}
body{margin:0;font-family:var(--font-body);font-size:17px;line-height:1.7;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.nav-open,html.nav-open body{overflow:hidden}
img,svg{max-width:100%}
img{height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--font-display);font-optical-sizing:auto;font-weight:500;line-height:1.12;letter-spacing:-.018em;color:var(--ink);margin:0 0 .5em;text-wrap:balance}
h1{font-size:clamp(2.3rem,5vw,4rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}
h3{font-size:clamp(1.2rem,1.8vw,1.5rem);font-weight:560;line-height:1.25}
h4{font-size:1.1rem;font-weight:600}
p{margin:0 0 1.1em;text-wrap:pretty}
em{font-style:italic}
:focus-visible{outline:3px solid var(--blue-2);outline-offset:3px;border-radius:6px}
::selection{background:var(--camel-l);color:var(--ink)}
.csm-wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-999px;top:8px}.skip:focus{left:12px;z-index:200;background:#fff;color:var(--ink);padding:10px 16px;border-radius:10px;box-shadow:var(--sh-2)}
main{display:block;overflow-x:clip}
main:focus{outline:0}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ---------- 3. Botones ---------- */
.cx-btn,main .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);color:#fff;text-decoration:none;font:600 15px/1.1 var(--font-body);letter-spacing:.005em;padding:15px 26px;min-height:48px;border-radius:999px;border:1.5px solid var(--ink);cursor:pointer;text-align:center;transition:background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease),transform .22s var(--ease),box-shadow .22s var(--ease)}
.cx-btn:hover,main .btn:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-2px);box-shadow:0 12px 26px rgba(14,28,42,.2)}
.cx-btn:active,main .btn:active{transform:none}
.cx-btn-lg{padding:18px 32px;font-size:16px;min-height:56px}
.cx-btn-sm{padding:11px 20px;font-size:14px;min-height:42px}
.cx-btn-ghost{background:transparent;color:var(--ink);border-color:rgba(14,28,42,.35)}
.cx-btn-ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.cx-btn-camel{background:var(--camel);color:var(--ink);border-color:var(--camel)}
.cx-btn-camel:hover{background:#c7ad88;border-color:#c7ad88;color:var(--ink)}
.cx-btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.cx-btn-line:hover{background:#fff;color:var(--ink);border-color:#fff}
.cx-eyebrow{display:inline-flex;align-items:center;gap:12px;margin:0 0 14px;font:600 12.5px/1.2 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--camel-d)}
.cx-eyebrow:before{content:"";width:28px;height:1.5px;background:currentColor}
.cx-eyebrow-l{color:var(--camel-l)}
.cx-more{display:inline-flex;gap:8px;align-items:center;font-weight:600;font-size:14.5px;color:var(--blue);text-decoration:none;margin-top:6px}
.cx-more span{transition:transform .2s var(--ease)}
a:hover>.cx-more span,.cx-more:hover span,article:hover .cx-more span{transform:translateX(4px)}

/* ---------- 4. Cabecera ---------- */
.cx-header{position:sticky;top:0;z-index:100;background:rgba(251,248,242,.9);backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid transparent;transition:box-shadow .25s,border-color .25s,background .25s}
.cx-header.is-scrolled{border-color:var(--line);box-shadow:0 8px 30px rgba(14,28,42,.07);background:rgba(251,248,242,.96)}
.cx-util{background:var(--ink);color:#c9d3dc;font-size:13px;overflow:hidden;max-height:44px;transition:max-height .3s var(--ease)}
.cx-header.is-scrolled .cx-util{max-height:0}
.cx-util-in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px}
.cx-util a{text-decoration:none;transition:color .2s}.cx-util a:hover{color:#fff}
.cx-util-l,.cx-util-r{display:flex;align-items:center;gap:16px}
.cx-dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5}
.cx-bar{display:flex;align-items:center;gap:18px;min-height:var(--hdr)}
.cx-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.cx-logo img{width:52px;height:52px;object-fit:contain;display:block}
.cx-logo-t{display:flex;flex-direction:column;line-height:1.15}
.cx-logo-t b{font:600 17px var(--font-display);color:var(--ink);letter-spacing:-.01em}
.cx-logo-t i{font:500 11.5px var(--font-body);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--camel-d)}
.cx-nav{margin-left:auto}
.cx-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:2px}
.cx-item{position:relative}
.cx-link,.cx-trigger>a,.cx-label{display:block;padding:12px 11px;font:500 15px/1.2 var(--font-body);color:var(--ink);text-decoration:none;background:none;border:0;cursor:pointer;white-space:nowrap;border-radius:10px}
.cx-trigger{display:flex;align-items:center}
.cx-trigger>a,.cx-label{padding-right:2px}
.cx-sub-btn{background:none;border:0;cursor:pointer;color:var(--ink);padding:10px 8px 10px 2px;border-radius:10px;display:grid;place-items:center;opacity:.7}
.cx-chev{transition:transform .25s var(--ease)}
.cx-item.sub-open .cx-chev{transform:rotate(180deg)}
.cx-link:after,.cx-trigger>a:after,.cx-label:after{content:"";display:block;height:2px;margin-top:4px;background:var(--camel);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.cx-item:hover>.cx-link:after,.cx-item:hover .cx-trigger>a:after,.cx-item:hover .cx-label:after,.cx-item.current>.cx-link:after,.cx-item.current .cx-trigger>a:after{transform:scaleX(1)}
.cx-panel{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-3);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;list-style:none;margin:6px 0 0;min-width:250px;z-index:5}
.cx-item.sub-open>.cx-panel{opacity:1;visibility:visible;transform:none}
.cx-drop a{display:block;padding:11px 14px;border-radius:10px;font-size:15px;text-decoration:none;color:var(--text)}
.cx-drop a:hover{background:var(--sand);color:var(--ink)}
.cx-item.is-mega{position:static}
.cx-bar{position:relative}
.cx-mega{left:0;right:0;margin-inline:var(--gut);padding:28px;border-radius:var(--r-lg)}
.cx-mega-grid{display:grid;grid-template-columns:repeat(4,1fr) 1.15fr;gap:8px 28px}
.cx-mega-h{font:600 12px/1.2 var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--camel-d);margin:0 0 10px;padding:0 10px}
.cx-mega-h{min-height:2.4em}
.cx-mega-col ul{list-style:none;margin:0;padding:0}
.cx-mega-col a{display:block;padding:8px 10px;border-radius:10px;font-size:15px;color:var(--text);text-decoration:none;transition:background .15s,color .15s,padding .2s var(--ease)}
.cx-mega-col a:hover{background:var(--sand);color:var(--ink);padding-left:14px}
.cx-mega-side{background:var(--ink);color:#d7dfe6;border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:12px;align-self:stretch;background-image:url(/assets/img/circulos.svg);background-size:240px;background-position:right -60px bottom -70px;background-repeat:no-repeat}
.cx-mega-side .cx-mega-h{color:var(--camel-l);padding:0}
.cx-mega-t{font-size:14.5px;line-height:1.55;margin:0}
.cx-mega-side .cx-btn{background:var(--camel);border-color:var(--camel);color:var(--ink);align-self:flex-start}
.cx-mega-all{color:#fff;font-size:14px;font-weight:600;text-decoration:none;margin-top:auto}
.cx-mega-all:hover{text-decoration:underline}
.cx-tel{display:inline-flex;align-items:center;gap:8px;font:600 15px var(--font-body);color:var(--ink);text-decoration:none;padding:10px 6px;white-space:nowrap}
.cx-tel svg{color:var(--camel-d)}
.cx-cta{padding:12px 22px;min-height:44px;font-size:14.5px}
.cx-burger{display:none;width:48px;height:48px;border:1.5px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;margin-left:auto;position:relative;flex:none}
.cx-burger span{position:absolute;left:13px;right:13px;height:2px;background:var(--ink);border-radius:2px;transition:transform .3s var(--ease),opacity .2s,top .3s var(--ease)}
.cx-burger span:nth-child(1){top:16px}.cx-burger span:nth-child(2){top:23px}.cx-burger span:nth-child(3){top:30px}
.cx-burger[aria-expanded=true] span:nth-child(1){top:23px;transform:rotate(45deg)}
.cx-burger[aria-expanded=true] span:nth-child(2){opacity:0}
.cx-burger[aria-expanded=true] span:nth-child(3){top:23px;transform:rotate(-45deg)}
.cx-nav-foot{display:none}

@media(max-width:1439px){.cx-tel span{display:none}.cx-tel{padding:10px;border:1.5px solid var(--line);border-radius:50%;background:#fff}}
@media(min-width:1100px) and (max-width:1439px){.cx-bar{gap:12px}.cx-link,.cx-trigger>a,.cx-label{padding:12px 8px;font-size:14.5px}.cx-logo-t b{font-size:16px}.cx-cta{padding:12px 18px}}
@media(max-width:1099px){
  :root{--hdr:68px}
  .cx-header,.cx-header.is-scrolled{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}
  .cx-util-l{display:none}.cx-util-in{justify-content:center}
  .cx-logo-t i{display:none}
  .cx-burger{display:block}
  .cx-tel{display:none}                                   /* en móvil el teléfono sale del header: lo sustituye «Pide cita» */
  .cx-burger{margin-left:0}
  .cx-cta{display:inline-flex;margin-left:auto;padding:10px 18px;min-height:42px;font-size:14.5px;white-space:nowrap}
  .cx-nav{position:fixed;inset:0;top:0;margin:0;background:var(--paper);z-index:90;padding:calc(var(--hdr) + 52px) var(--gut) 28px;overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-12px);transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;display:flex;flex-direction:column;overscroll-behavior:contain}
  .cx-nav.open{visibility:visible;opacity:1;transform:none}
  .cx-header .cx-logo,.cx-header .cx-cta,.cx-header .cx-burger{position:relative;z-index:95}
  .cx-menu{flex-direction:column;align-items:stretch;gap:0;max-width:640px;width:100%;margin:0 auto}
  .cx-item{border-bottom:1px solid var(--line)}
  .cx-link,.cx-trigger>a,.cx-label{font:500 clamp(1.4rem,5.5vw,1.9rem)/1.2 var(--font-display);padding:16px 2px;letter-spacing:-.01em;flex:1;text-align:left}
  .cx-link:after,.cx-trigger>a:after,.cx-label:after{display:none}
  .cx-trigger{justify-content:space-between}
  .cx-sub-btn{width:48px;height:48px;opacity:1;background:var(--sand);margin:6px 0;border-radius:50%}
  .cx-item.is-mega{position:relative}
  .cx-panel,.cx-mega{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0;margin:0;min-width:0;background:transparent;display:none;border-radius:0}
  .cx-item.sub-open>.cx-panel{display:block;padding:0 0 18px}
  .cx-mega-grid{grid-template-columns:1fr 1fr;gap:6px 18px}
  .cx-mega-side{grid-column:1/-1;margin-top:10px}
  .cx-drop a{font-size:17px;padding:12px 6px}
  .cx-nav-foot{display:block;max-width:640px;width:100%;margin:28px auto 0;font-size:14px;color:var(--muted)}
  .cx-nav-foot .cx-btn{width:100%;margin-bottom:14px}
  html.nav-open .cx-header{background:var(--paper)}
  html.nav-open .cx-util{max-height:0}
}
@media(max-width:560px){.cx-mega-grid{grid-template-columns:1fr}.cx-logo-t b{font-size:15.5px}.cx-logo img{width:44px;height:44px}}

/* ---------- 5. Banda CTA, pie y botón flotante ---------- */
.cx-band{background:var(--ink);color:#d3dce4;margin-top:var(--sec);position:relative;overflow:hidden;background-image:url(/assets/img/banner-tinta.svg);background-size:cover;background-position:center}
.cx-band-in{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:clamp(44px,6vw,80px);flex-wrap:wrap}
.cx-band h2{color:#fff;margin:0 0 12px;font-size:clamp(1.8rem,3.4vw,2.7rem)}
.cx-band p{margin:0;max-width:560px}
.cx-band .cx-eyebrow{margin-bottom:14px}
.cx-band-act{display:flex;gap:12px;flex-wrap:wrap}
.cx-footer{background:var(--ink-2);color:#a9b7c4;font-size:15px}
.cx-band+.cx-footer{margin-top:0}
.cx-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(28px,4vw,56px);padding-block:clamp(48px,6vw,80px) 44px}
.cx-footer h3{font:600 12px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--camel);margin:0 0 22px}
.cx-footer a{text-decoration:none;color:#d3dce4;transition:color .2s}.cx-footer a:hover{color:#fff;text-decoration:underline}
.cx-f-logo img{width:84px;height:84px;object-fit:contain;filter:brightness(0) invert(1);opacity:.92;margin-bottom:18px;display:block}
.cx-f-brand p{max-width:360px;line-height:1.75}
.cx-f-links{list-style:none;margin:0;padding:0}.cx-f-links li{margin:0 0 11px}
.cx-f-contact p{margin:0 0 14px}
.cx-f-phone{font:500 26px/1.2 var(--font-display);color:#fff!important;display:inline-block;margin:4px 0 16px}
.cx-f-legal{font-size:13px;color:#8fa0af}
.cx-foot-bottom{border-top:1px solid rgba(255,255,255,.1)}
.cx-foot-bottom-in{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-block:22px;font-size:13.5px;color:#8fa0af}
.cx-foot-legal a{margin-left:22px}
@media(max-width:991px){.cx-foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cx-foot-grid{grid-template-columns:1fr}.cx-foot-legal a{margin:0 18px 0 0}}
.cx-float{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:80;display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:#fff;text-decoration:none;padding:12px 20px 12px 16px;border-radius:999px;box-shadow:0 14px 34px rgba(14,28,42,.35);font:600 15px/1.1 var(--font-body);transition:transform .3s var(--ease),opacity .3s,background .2s}
.cx-float:hover{background:var(--blue);transform:translateY(-2px)}
.cx-float svg{flex:none;background:var(--camel);color:var(--ink);border-radius:50%;padding:7px;width:36px;height:36px}
.cx-float span{display:flex;flex-direction:column}
.cx-float small{font-weight:500;font-size:11px;opacity:.75;letter-spacing:.06em;text-transform:uppercase}
.cx-float.is-away{opacity:0;pointer-events:none;transform:translateY(20px)}
@media(max-width:560px){.cx-float{padding:10px;width:56px;height:56px;justify-content:center}.cx-float span{display:none}.cx-float svg{background:none;color:#fff;padding:0;width:26px;height:26px}}

/* ---------- 6. Revelado ---------- */
.js .cx-rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease) var(--rv-d,0ms),transform .7s var(--ease) var(--rv-d,0ms)}
.js .cx-rv.cx-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .cx-rv{opacity:1;transform:none}
}

/* ---------- 7. Componentes de portada ---------- */
.cx-section{padding-block:var(--sec)}
.cx-sand{background:var(--sand)}
.cx-head{max-width:720px;margin:0 0 clamp(28px,4vw,52px)}
.cx-head h2{margin-bottom:.35em}
.cx-head p:not(.cx-eyebrow){color:var(--muted);font-size:1.05rem}
.cx-head-split{max-width:none;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,72px);align-items:end}
.cx-head-split p{color:var(--text)}
.cx-hero{position:relative;background:var(--paper);background-image:url(/assets/img/patron-arcos.svg);overflow:hidden;padding-block:clamp(40px,6vw,88px) clamp(48px,7vw,104px)}
.cx-hero:before{content:"";position:absolute;right:-12%;top:-30%;width:60vw;height:60vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(circle,rgba(179,150,113,.22),transparent 65%);pointer-events:none}
.cx-hero-in{position:relative;display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(28px,5vw,80px);align-items:center}
.cx-pills{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.cx-pills li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font:600 13px/1.2 var(--font-body);color:var(--ink);letter-spacing:.02em}
.cx-hero h1{font-size:clamp(2.4rem,5.6vw,4.4rem);line-height:1.04;letter-spacing:-.025em;margin-bottom:.45em}
.cx-hero h1 em{color:var(--camel-d);font-weight:400}
.cx-lead{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.55;color:var(--ink);font-weight:500}
.cx-hero-copy p{max-width:600px}
.cx-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 22px}
.cx-note{font-size:14.5px;color:var(--muted);display:flex;gap:10px;align-items:flex-start}
.cx-note:before{content:"";flex:none;width:18px;height:18px;margin-top:4px;border-radius:50%;background:var(--sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5 9.3 2.6 2.6L13 6.4' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.cx-badge{display:inline-block;background:var(--ink);color:#e7edf2;border-radius:var(--r-sm);padding:14px 18px;font-size:14.5px;line-height:1.5;margin:6px 0 0;max-width:560px}
.cx-hero-art{position:relative;margin:0;justify-self:center;width:min(100%,470px)}
.cx-hero-art>img{display:block;width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(14,28,42,.18))}
.cx-float-card{position:absolute;background:#fff;border-radius:var(--r-sm);padding:12px 16px;box-shadow:var(--sh-2);font-size:14px;line-height:1.3;color:var(--ink);border:1px solid var(--line);animation:cxfloat 7s ease-in-out infinite}
.cx-float-card small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.cx-fc1{left:-8%;top:20%}.cx-fc2{right:-6%;bottom:16%;animation-delay:-3s}
@keyframes cxfloat{50%{transform:translateY(-8px)}}
@media(max-width:900px){.cx-hero-in{grid-template-columns:1fr}.cx-hero-art{width:min(70%,320px);margin:8px auto 0}.cx-fc1{left:-4%}.cx-fc2{right:-4%}}
@media(max-width:480px){.cx-hero-art{width:min(66%,260px)}.cx-float-card{font-size:12.5px;padding:9px 12px}.cx-float-card small{display:none}}
@media(max-width:760px){.cx-hero-art{display:none}}

.cx-chip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.cx-chip-link{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;text-decoration:none;color:var(--ink);font-weight:500;font-size:15px;line-height:1.3;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s,background .22s}
.cx-chip-link:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:var(--camel);background:var(--sand)}
.cx-emo{flex:none;width:42px;height:42px;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-size:20px;line-height:1}
.cx-chip-link:hover .cx-emo{background:#fff}
@media(max-width:1000px){.cx-chip-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.cx-chip-grid{grid-template-columns:repeat(2,1fr)}.cx-chip-link{padding:10px 12px;font-size:14px}.cx-emo{width:36px;height:36px;font-size:17px}}
@media(max-width:400px){.cx-chip-grid{grid-template-columns:1fr}}

.cx-facts{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.cx-facts-4{grid-template-columns:repeat(4,1fr)}
.cx-facts-3{grid-template-columns:repeat(3,1fr)}
.cx-fact{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:16px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.cx-fact:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.cx-fact .cx-emo{width:52px;height:52px;font-size:24px;background:var(--sand)}
.cx-fact h3{font-size:1.2rem;margin:0 0 .3em}
.cx-fact p{margin:0;color:var(--muted);font-size:15.5px}
@media(max-width:1000px){.cx-facts-4{grid-template-columns:repeat(2,1fr)}.cx-facts-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cx-facts-4,.cx-facts-3{grid-template-columns:1fr}.cx-fact{flex-direction:row;align-items:flex-start;padding:20px}}
.cx-callout{margin-top:clamp(28px,4vw,48px);background:var(--sand);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(28px,4vw,52px);text-align:center;background-image:url(/assets/img/patron-arcos.svg)}
.cx-callout p{max-width:640px;margin-inline:auto;color:var(--text)}
.cx-callout h3{font-size:clamp(1.5rem,2.6vw,2.1rem)}

.cx-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:center}
.cx-split-faq{grid-template-columns:.8fr 1.2fr;align-items:start}
.cx-split-team{grid-template-columns:.8fr 1.2fr;align-items:start}
.cx-art-card{margin:0;position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--sand-2);min-height:380px;display:flex;align-items:flex-end;box-shadow:var(--sh-2)}
.cx-art-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx-art-small{min-height:0;box-shadow:none;background:transparent;border-radius:0;overflow:visible;margin-top:20px}
.cx-art-small>img{position:static;width:min(100%,300px);height:auto}
.cx-counter{position:relative;margin:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:var(--r);padding:20px 24px;max-width:340px;box-shadow:var(--sh-1)}
.cx-counter strong{display:block;font:500 clamp(2.6rem,5vw,3.6rem)/1 var(--font-display);color:var(--camel-d);margin-bottom:6px}
.cx-counter span{color:var(--text);font-size:15px;line-height:1.45;display:block}
.cx-counter-inline{margin:20px 0 0;background:#fff;border:1px solid var(--line)}
.cx-copy p{max-width:640px}
@media(max-width:900px){.cx-split,.cx-split-faq,.cx-split-team,.cx-head-split{grid-template-columns:1fr}.cx-art-card{min-height:280px}}

.cx-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.cx-step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;position:relative;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.cx-step:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.cx-step-n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;font:500 19px var(--font-display);margin-bottom:18px}
.cx-step h3{font-size:1.2rem}
.cx-step p{margin:0;color:var(--muted);font-size:15.5px}
.cx-step:not(:last-child):after{content:"";position:absolute;top:50px;right:-17px;width:18px;height:2px;background:var(--camel)}
@media(max-width:1000px){.cx-steps{grid-template-columns:repeat(2,1fr)}.cx-step:after{display:none}}
@media(max-width:600px){.cx-steps{grid-template-columns:1fr}}

.cx-dark{background:var(--ink);color:#cfd9e2;background-image:url(/assets/img/banner-tinta.svg);background-size:cover;background-position:center}
.cx-dark h2,.cx-dark h3{color:#fff}
.cx-duo{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,72px);align-items:center}
.cx-checks{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px}
.cx-checks li{display:flex;gap:12px;align-items:flex-start;color:#fff}
.cx-checks li:before{content:"";flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--camel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='m6 11.4 3.2 3.2L16 7.6' fill='none' stroke='%230e1c2a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.cx-pledge{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-lg);padding:clamp(26px,3.5vw,44px);backdrop-filter:blur(6px)}
.cx-pledge-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--camel);color:var(--ink);font:600 30px/1 var(--font-body);margin-bottom:20px}
.cx-pledge p{margin:0;color:#dbe4ec}
@media(max-width:900px){.cx-duo{grid-template-columns:1fr}}

.cx-quotes{display:grid;gap:16px}
.cx-quote{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,36px);position:relative}
.cx-quote:before{content:"\201C";position:absolute;top:6px;right:22px;font:400 90px/1 var(--font-display);color:var(--camel-l)}
.cx-quote p{font-family:var(--font-display);font-size:1.12rem;line-height:1.6;color:var(--ink)}
.cx-quote footer{font:600 14px var(--font-body);color:var(--camel-d)}

.cx-contact-grid{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:16px}
.cx-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(24px,3vw,40px)}
.cx-card-lg{background:var(--ink);color:#cfd9e2;border-color:var(--ink)}
.cx-card-lg h2,.cx-card h2{font-size:clamp(1.5rem,2.4vw,2rem)}
.cx-card-lg h2{color:#fff}
.cx-bigphone{font:500 clamp(1.7rem,3vw,2.3rem)/1.2 var(--font-display);color:#fff}
.cx-stack{display:grid;gap:10px}
.cx-card-lg .cx-btn{background:var(--camel);border-color:var(--camel);color:var(--ink)}
.cx-card-lg .cx-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.cx-card-lg .cx-btn-ghost:hover{background:#fff;color:var(--ink)}
.cx-hours{list-style:none;margin:0;padding:0}
.cx-hours li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.cx-hours li:last-child{border:0}.cx-hours b{font-weight:600;color:var(--ink)}
@media(max-width:1000px){.cx-contact-grid{grid-template-columns:1fr 1fr}.cx-card-lg{grid-column:1/-1}}
@media(max-width:640px){.cx-contact-grid{grid-template-columns:1fr}}
.cx-close{text-align:center;background:var(--sand);padding-block:clamp(44px,6vw,80px)}
.cx-close-t{font:500 clamp(1.5rem,3vw,2.2rem)/1.2 var(--font-display);color:var(--ink);margin-bottom:22px}

/* ---------- 8. Contenido heredado (Elementor: el-* / w-*) ---------- */
.cx-btn,main .btn{white-space:nowrap}
.el-section{padding:clamp(24px,4vw,56px) 0}
.el-row{display:flex;flex-wrap:wrap;gap:0 32px;max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.el-col{flex:1 1 calc(var(--w,100%) - 32px);min-width:min(100%,280px)}
.el-col:empty{display:none}
.el-container{width:100%;min-width:0}
.el-col .el-section{padding:clamp(18px,3vw,32px) 0}
.el-col .el-row{padding-inline:0}
main [style*="grid-template-columns"]>*{min-width:0}
main a,main p,main li,main h1,main h2,main h3{overflow-wrap:anywhere}
main table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse}
.el-col[style*="background-image"]{background-image:url(/assets/img/banner-tinta.svg)!important;background-size:cover!important;background-position:center!important;position:relative;min-height:clamp(220px,26vw,320px);display:flex;flex-direction:column;justify-content:flex-end;border-radius:var(--r-lg)!important;overflow:hidden;color:#fff;border:0!important}
.el-col[style*="background-image"] .el-section{padding:0!important;margin:0!important}
.el-col[style*="background-image"] .el-row{padding:clamp(22px,3vw,44px)}
.el-col[style*="background-image"] :is(h1,h2){color:#fff}
.el-col[style*="background-image"] .w-sub{color:var(--camel-l)}
.el-col[style*="background-image"] .w-heading{color:#fff!important}
.w-heading{margin:0 0 1.2em}
.w-heading :is(h1,h2,h3){margin:.15em 0 0}
.w-sub{display:inline-flex;align-items:center;gap:12px;color:var(--camel-d);font:600 12.5px/1.2 var(--font-body);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
.w-sub:before{content:"";width:28px;height:1.5px;background:currentColor}
.w-text{color:var(--text)!important}
.w-text :is(ul,ol){padding-left:1.2em}.w-text li{margin:.3em 0}
.w-btn{margin:1.4em 0 0}
.w-img{margin:0 0 1.4em}
.w-img img{width:100%;border-radius:var(--r);display:block}
.w-img:has(img[src$=".png"]){max-width:56px;opacity:.9}
.w-img img[src*="/assets/img/"]{aspect-ratio:16/9;object-fit:cover;background:var(--sand-2)}
.w-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;margin-bottom:16px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.w-box:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.w-box h3{font-size:1.2rem;margin:0 0 .35em}
.w-box-ic{width:44px;height:44px;margin-bottom:14px}
.w-box-d{color:var(--muted);font-size:15.5px}
.w-box-n{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;font:500 18px var(--font-display);margin-bottom:14px}
.el-col:has(>.w-box){display:flex;flex-direction:column}.el-col>.w-box:last-child{flex:1}
.w-counter strong{display:block;font:500 clamp(2.4rem,4vw,3.4rem)/1 var(--font-display);color:var(--camel-d)}
.w-counter span{color:var(--muted);font-size:15px}
.w-acc details,main details.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);margin:0 0 10px;transition:box-shadow .2s,border-color .2s}
.w-acc details[open]{box-shadow:var(--sh-1);border-color:var(--camel)}
.w-acc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 22px;font:600 16.5px/1.4 var(--font-body);color:var(--ink)}
.w-acc summary::-webkit-details-marker{display:none}
.w-acc summary:after{content:"+";flex:none;font:300 28px/1 var(--font-body);color:var(--camel-d);transition:transform .25s var(--ease)}
.w-acc details[open] summary:after{transform:rotate(45deg)}
.w-acc details>div{padding:0 22px 20px;color:var(--text)}
.w-list{list-style:none;padding:0;margin:0 0 1.2em}
.w-list li{display:flex;gap:12px;margin:.55em 0}
.w-list img{width:22px;height:22px;flex:none;margin-top:3px}
.w-testi blockquote{margin:0 0 20px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--r);font-family:var(--font-display);font-size:1.1rem;line-height:1.6;color:var(--ink)}
.w-testi footer{margin-top:12px;font:600 14px var(--font-body);color:var(--camel-d)}
.w-map iframe{width:100%;height:380px;border:0;border-radius:var(--r)}
.w-divider{border:0;border-top:1px solid var(--line);margin:0}
.el-section:has(.w-divider:only-child){padding:0!important;margin:0!important}
.w-icons{display:flex;gap:10px}.w-icons img{width:30px;height:30px}
.w-posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}
.w-posts article{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;gap:6px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.w-posts article:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.w-posts h2,.w-posts h3{font-size:1.3rem;margin:0}.w-posts a{text-decoration:none}
.w-posts time{color:var(--camel-d);font:600 12.5px var(--font-body);letter-spacing:.08em}
.w-posts p{color:var(--muted);font-size:15.5px;margin:4px 0 8px}
.blog-index{padding-block:clamp(44px,7vw,96px)}
.csm-404{padding:100px var(--gut);text-align:center}
.cx-pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,38px);margin:0 0 18px}
.cx-post{max-width:820px;margin:0 auto;padding:clamp(36px,6vw,80px) var(--gut) 0;font-size:18px}
.cx-post :is(h2,h3){color:var(--ink)!important}
.cx-post h1{color:var(--ink)!important;font-size:clamp(2rem,4vw,3rem)!important}
.cx-post ul{padding-left:1.2em}.cx-post li{margin:.3em 0}
.cx-pcta{background:var(--ink);color:#e7edf2;border-radius:var(--r-lg);padding:clamp(26px,4vw,48px);text-align:center;margin-top:28px}
.cx-pcta *{color:inherit}
.csm-form .fld,.fld{margin:0 0 18px}
.csm-form label{display:block;font:600 14px var(--font-body);color:var(--ink);margin-bottom:6px}
.csm-form input:not([type=checkbox]),.csm-form textarea,.csm-form select{width:100%;padding:14px 16px;border:1.5px solid #cfc3ad;border-radius:var(--r-sm);font:400 16px var(--font-body);background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.csm-form :is(input,textarea,select):focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(43,90,120,.18)}
.csm-form :is(input,textarea):user-invalid{border-color:var(--alert)}
.csm-form .hp{position:absolute;left:-9999px}
.csm-form .chk{display:flex;gap:10px;font-weight:400}
@media(max-width:767px){
  .el-row{padding-inline:18px;gap:0}.el-col{flex-basis:100%}
  main .el-section[style*="padding"]{padding-block:36px!important;padding-inline:0!important}
  main .el-col[style*="padding"]{padding:24px 18px!important}
}
@media(min-width:768px){.el-col{min-width:min(100%,230px)}}
@media(min-width:1201px){.hidden-desktop,.hidden-laptop{display:none!important}}
@media(min-width:1025px) and (max-width:1200px){.hidden-tablet_extra{display:none!important}}
@media(min-width:768px) and (max-width:1024px){.hidden-tablet{display:none!important}}
@media(max-width:767px){.hidden-mobile{display:none!important}}
.cx-split-faq .w-acc{min-width:0}

/* ---------- 9a. Familia psq-wrap (servicios, hub, psicólogo online) ---------- */
main .psq-wrap{
  --azul-med:var(--blue);--azul-claro:var(--blue-2);--azul-light:rgba(43,90,120,.07);
  --camel:#b39671;--camel-dark:var(--camel-d);--oscuro:var(--ink);--oscuro-soft:var(--ink-2);
  --fondo:var(--sand);--texto:var(--text);--texto-suave:var(--muted);
  --radio:24px;--radio-sm:14px;
  --verde-llam:#2f6b53;
  background:var(--paper);
}
main .psq-wrap :is(h1,h2){font-weight:500!important;letter-spacing:-.02em}
main .psq-wrap h1{font-size:clamp(2.3rem,5vw,3.9rem)!important;line-height:1.06}
main .psq-wrap h2{font-size:clamp(1.75rem,3.4vw,2.6rem)!important}
main .psq-wrap .section{padding:var(--sec) 0}
main .psq-wrap .container{max-width:var(--wrap);padding-inline:var(--gut)}
main .psq-wrap .container--narrow{padding-inline:var(--gut)}
main .psq-wrap .hero{background:linear-gradient(115deg,rgba(14,28,42,.96),rgba(23,41,59,.88)),url(/assets/img/banner-tinta.svg) center/cover;padding:clamp(56px,8vw,120px) 0}
main .psq-wrap .hero h1 em{color:var(--camel-l)}
main .psq-wrap .section--medical{background:var(--blue-l)}
main .psq-wrap .section--alt{background:var(--sand)}
main .psq-wrap .section--dark,main .psq-wrap .cta-band,main .psq-wrap .cta-final{background-image:url(/assets/img/banner-tinta.svg);background-size:cover}
main .psq-wrap :is(.service-card,.sintoma-card,.highlight-card,.condition-item,.step,.profesional-card,.cta-option,.benefit-item){border-radius:var(--r)}
main .psq-wrap .btn{min-height:48px}
main .psq-wrap .btn--primary{background:var(--ink);border-color:var(--ink)}
main .psq-wrap .btn--camel{color:var(--ink)}
main .psq-wrap .section-label{color:var(--camel-d)}
main .psq-wrap .section-label:before,main .psq-wrap .divider{background:var(--camel)}
main .psq-wrap details.faq-item{border-radius:var(--r-sm)}

/* ---------- 9b. Landings (landing/*, landinginformes, empieza-hoy) ---------- */
.fam-landing .cx-float{display:none}
.fam-landing main>.el-container{max-width:var(--wrap);margin:0 auto!important;padding:clamp(18px,3vw,36px) var(--gut)!important;background:none!important}
.fam-landing main>.el-container:first-child:has(.w-logo){max-width:none;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--sand)!important;border-bottom:1px solid var(--line);padding:10px var(--gut)!important}
.fam-landing main>.el-container:first-child:has(.w-logo) .w-divider{display:none}
.fam-landing main>.el-container:first-child:has(.w-logo) .w-btn{margin:0}
.fam-landing .w-logo img{width:64px!important;height:64px!important;object-fit:contain;display:block}
.fam-landing main .el-container[style]{margin-top:0!important;margin-bottom:0!important}
.fam-landing main .el-container[style*="padding"]{padding-left:0!important;padding-right:0!important}
.fam-landing main>.el-container:has(.w-logo)+.el-container{padding-top:clamp(40px,6vw,88px)!important;padding-bottom:12px!important}
.fam-landing main>.el-container:has(.w-logo)+.el-container h1{font-size:clamp(2.4rem,5.4vw,4.2rem);color:var(--ink)}
.fam-landing main h1 span[style]{font-size:inherit!important;font-weight:500!important}
.fam-landing main h1 span[style]+br+span,.fam-landing main h1>span:last-child{font-size:.45em!important}
.fam-landing main .w-heading{color:var(--ink)!important}
.fam-landing main .w-heading h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
.fam-landing main .w-heading b{font-weight:500;font-style:italic;color:var(--camel-d)}
.fam-landing .el-col .w-img{max-width:72px}
.fam-landing main [style*="background-color:#17293b"]{background:var(--ink)!important;color:#d8e1e8;border-radius:var(--r-lg);padding:clamp(28px,4vw,56px)!important;background-image:url(/assets/img/banner-tinta.svg)!important;background-size:cover!important}
.fam-landing main [style*="background-color:#17293b"] :is(h2,h3,.w-heading,.w-text){color:#fff!important}
.fam-landing main [style*="background-color:#17293b"] .w-box{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.fam-landing main [style*="background-color:#17293b"] .w-box :is(h3){color:#fff}
.fam-landing main [style*="background-color:#17293b"] .w-box-d{color:#cfd9e2}
.fam-landing main .el-col[style*="background-color:#0e1c2a"]{border-radius:var(--r-lg)!important}
.fam-landing main section.el-section[style*="margin"]{margin-block:clamp(20px,3vw,40px)!important}
.fam-landing main section.el-section{padding-left:0!important;padding-right:0!important}
/* tests de valoración (JS heredado, ids propios) */
main :is(#test-ansiedad-csm,#test-depresion-csm,#test-pareja-csm,#test-psiquiatria-csm,#test-infantil-csm,#test-sexologia-csm),main [id^="test-"][id$="-csm"],main #csm-contenedor-test{border-radius:var(--r-lg)!important;box-shadow:var(--sh-2)!important;border:1px solid var(--line)!important;background:#fff!important;max-width:680px!important;margin:0 auto!important;padding:clamp(24px,4vw,44px)!important;font-family:var(--font-body)!important}
main [id^="test-"][id$="-csm"] .opcion{background:var(--sand)!important;border-radius:var(--r-sm)!important;border:1.5px solid transparent!important;min-height:48px;transition:border-color .2s,background .2s!important}
main [id^="test-"][id$="-csm"] .opcion:hover,main [id^="test-"][id$="-csm"] .opcion:focus-visible{border-color:var(--camel)!important;background:#fff!important}
main [id^="test-"][id$="-csm"] .progreso-fill{background:var(--camel-d)!important}
main #btn-enviar,main .csm-btn-negro,main .boton-cita{background:var(--ink)!important;border-radius:999px!important;color:#fff!important;border:0!important}
main #csm-contenedor-test .csm-headline,main #csm-contenedor-test .csm-main-condition{font-family:var(--font-display)!important;font-weight:500!important;font-size:clamp(1.8rem,4vw,2.6rem)!important;color:var(--ink)!important}
main #csm-contenedor-test .csm-alert-multi{animation:none!important;color:var(--camel-d)!important;border-color:var(--camel)!important}
.fam-landing main .flex.flex-col{display:none}

/* ---------- 9c. Contacto ---------- */
.fam-contact main .w-box{display:flex;flex-direction:column;gap:4px}
.fam-contact .w-map{margin-top:24px}
.fam-contact main form{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(22px,3vw,38px)}
.fam-contact main input:not([type=checkbox]):not([type=hidden]),.fam-contact main textarea,.fam-contact main select{width:100%;padding:14px 16px;border:1.5px solid #cfc3ad;border-radius:var(--r-sm);font:400 16px var(--font-body);background:#fff}
.fam-contact main input:focus,.fam-contact main textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(43,90,120,.18)}
.fam-contact main label{display:block;font:600 14px var(--font-body);color:var(--ink);margin-bottom:6px}
.fam-contact main button[type=submit],main form button[type=submit]{background:var(--ink);color:#fff;border:0;border-radius:999px;padding:15px 30px;font:600 15px var(--font-body);cursor:pointer;transition:background .2s}
main form button[type=submit]:hover{background:var(--blue)}

/* ---------- 9d. Informes periciales (ip-/hf-/hc-/hl-/hp-/ci-) y legales ---------- */
.fam-informes main [class*="-wrap"]{--r-i:var(--r)}
.fam-informes main :is([class$="-hero"],.ip-cta-final,[class$="-cta"]){background-image:linear-gradient(115deg,rgba(14,28,42,.94),rgba(23,41,59,.86)),url(/assets/img/banner-tinta.svg)!important;background-size:cover!important}
.fam-legal main .w-text{max-width:820px;margin:0 auto;padding:clamp(36px,6vw,80px) var(--gut)}
.fam-legal main .w-text p{margin-bottom:1em}
.fam-service main section.el-section>.el-row>.el-col>.w-img:has(img[src$=".svg"]){max-width:56px}



/* ==========================================================================
   10. Páginas de servicio (sv-*)  — plantillas: especialista · especialidad · pericial · índice
   Marcado generado por tools/svc.py (hero, migas, anclas, relacionadas). Nada de esto se edita en content/html.
   ========================================================================== */
.ic{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em;overflow:visible}
html:has(.sv-anchors){scroll-padding-top:calc(var(--hdr) + 84px)}
.svc{--sv-hero-text:#dbe4ec}
main .svc .sv-eyebrow{display:inline-flex;align-items:center;gap:12px;margin:0 0 14px;font:600 12.5px/1.3 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--camel-l)}
main .svc .sv-eyebrow:before{content:"";width:28px;height:1.5px;background:currentColor;flex:none}/* --- botones --- */
main .svc .sv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 24px;border-radius:999px;border:1.5px solid transparent;font:600 15px/1.1 var(--font-body);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease),transform .22s var(--ease),box-shadow .22s var(--ease)}
main .svc .sv-btn .ic{width:19px;height:19px}
main .svc .sv-btn:hover{transform:translateY(-2px)}
main .svc .sv-btn--primary{background:var(--camel);color:var(--ink);border-color:var(--camel)}
main .svc .sv-btn--primary:hover{background:#c9ae88;border-color:#c9ae88}
main .svc .sv-btn--call{background:#fff;color:var(--ink);border-color:#fff}
main .svc .sv-btn--call:hover{background:var(--sand);border-color:var(--sand)}
main .svc .sv-btn--wa,main .svc .sv-btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
main .svc .sv-btn--wa:hover,main .svc .sv-btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}/* --- migas --- */
main .svc .sv-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:2px 0;list-style:none;margin:0 0 clamp(22px,3vw,36px);padding:0;font:500 13.5px/1.4 var(--font-body)}
main .svc .sv-crumbs li{display:inline-flex;align-items:center;margin:0}
main .svc .sv-crumbs li+li:before{content:"";width:6px;height:6px;border:solid currentColor;border-width:1.5px 1.5px 0 0;transform:rotate(45deg);margin:0 11px 0 5px;opacity:.55;flex:none}
main .svc .sv-crumbs a{color:inherit;text-decoration:none;padding:6px 0;min-height:24px}
main .svc .sv-crumbs a:hover{text-decoration:underline;text-underline-offset:3px}
main .svc .sv-crumbs [aria-current]{font-weight:700}
main .svc .sv-crumbs-bar{padding-block:14px 0}
main .svc .sv-crumbs-bar .sv-crumbs ol{margin:0;color:#4b5a68}
main .svc .sv-crumbs-bar .sv-crumbs [aria-current]{color:var(--ink)}/* --- hero --- */
main .svc .sv-hero{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(26px,4vw,56px) clamp(52px,7vw,96px);color:var(--sv-hero-text)}
main .svc .sv-hero:has(+ .trust-bar){padding-bottom:clamp(84px,10vw,132px)}
main .svc .sv-hero__in{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
main .svc .sv-hero__in:has(.sv-side){grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr)}
main .svc .sv-hero__main{min-width:0}
main .svc .sv-hero h1{font-family:var(--font-display);font-weight:500!important;font-size:clamp(2.15rem,4.7vw,3.7rem)!important;line-height:1.06;letter-spacing:-.025em;margin:0 0 .5em;color:#fff;text-wrap:balance}
main .svc .sv-hero h1 em{font-style:italic;font-weight:400;color:var(--camel-l)}
main .svc .sv-brand{display:block;margin-bottom:.55em;font:600 clamp(.72rem,1.1vw,.82rem)/1.2 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--camel-l)}
main .svc .sv-sub{max-width:640px;font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.65;color:#d3dde6;margin:0 0 28px}
main .svc .sv-cta{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 30px}
main .svc .sv-trust{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
main .svc .sv-trust li{display:inline-flex;align-items:center;gap:9px;padding:8px 15px 8px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);font:600 13.5px/1.3 var(--font-body);color:#fff}
main .svc .sv-trust li:before{content:"";flex:none;width:18px;height:18px;border-radius:50%;background:var(--camel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5 9.3 2.6 2.6L13 6.4' fill='none' stroke='%230e1c2a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
main .svc .sv-hero .sv-crumbs ol{color:#cbd6e0}
main .svc .sv-hero .sv-crumbs [aria-current]{color:#fff}
main .svc .sv-side{border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px)}
main .svc .sv-side__t{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:600 12.5px/1.2 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--camel-l)}
main .svc .sv-side__t .ic{width:20px;height:20px}
main .svc .sv-toc{counter-reset:t;list-style:none;margin:0;padding:0}
main .svc .sv-toc li{counter-increment:t;border-top:1px solid rgba(255,255,255,.14)}
main .svc .sv-toc li:first-child{border-top:0}
main .svc .sv-toc a{display:flex;gap:14px;align-items:baseline;padding:11px 2px;color:#fff;text-decoration:none;font-size:15px;line-height:1.35}
main .svc .sv-toc a:before{content:counter(t,decimal-leading-zero);font:500 14px var(--font-display);color:var(--camel);flex:none}
main .svc .sv-toc a:hover{color:var(--camel-l)}/* especialidad: oscuro, tinta + arcos, índice lateral */
main .svc .sv-hero--especialidad,main .svc .sv-hero--hub,main .svc .sv-hero--pericial{background:linear-gradient(115deg,rgba(14,28,42,.97),rgba(23,41,59,.9)),url(/assets/img/banner-tinta.svg) center/cover,var(--ink)}
main .svc .sv-hero--especialidad:before,main .svc .sv-hero--hub:before{content:"";position:absolute;right:-8%;top:-30%;width:min(60vw,760px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(61,115,146,.38),transparent 66%);z-index:-1}
main .svc .sv-side--toc,main .svc .sv-side--ambitos{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.17);backdrop-filter:blur(8px)}/* pericial: tinta con filete camel y "papel" */
main .svc .sv-hero--pericial{border-bottom:4px solid var(--camel)}
main .svc .sv-hero--pericial:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 34px);z-index:-1}
main .svc .sv-hero--pericial .sv-trust li{border-radius:10px;background:rgba(179,150,113,.14);border-color:rgba(179,150,113,.45)}
main .svc .sv-ambitos{list-style:none;margin:0;padding:0}
main .svc .sv-ambitos li{border-top:1px solid rgba(255,255,255,.14)}main .svc .sv-ambitos li:first-child{border-top:0}
main .svc .sv-ambitos a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;color:#fff;text-decoration:none;font-size:15px}
main .svc .sv-ambitos a:hover{color:var(--camel-l)}main .svc .sv-ambitos .ic{width:18px;height:18px;color:var(--camel)}/* especialista: claro, arco ilustrado y tarjeta de consulta */
main .svc .sv-hero--especialista{--sv-hero-text:var(--text);background:linear-gradient(180deg,var(--sand),var(--paper) 92%)}
main .svc .sv-hero__art{position:absolute;right:max(-7%,-90px);top:50%;height:124%;width:auto;transform:translateY(-50%);opacity:.5;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(#000 62%,transparent 92%);mask-image:linear-gradient(#000 62%,transparent 92%)}
main .svc .sv-hero--especialista h1{color:var(--ink)}
main .svc .sv-hero--especialista h1 em{color:var(--camel-d)}
main .svc .sv-hero--especialista .sv-brand,main .svc .sv-hero--especialista .sv-eyebrow{color:var(--camel-d)}
main .svc .sv-hero--especialista .sv-sub{color:var(--text)}
main .svc .sv-hero--especialista .sv-crumbs ol{color:#4b5a68}main .svc .sv-hero--especialista .sv-crumbs [aria-current]{color:var(--ink)}
main .svc .sv-hero--especialista .sv-btn--primary{background:var(--ink);border-color:var(--ink);color:#fff}
main .svc .sv-hero--especialista .sv-btn--primary:hover{background:var(--blue);border-color:var(--blue)}
main .svc .sv-hero--especialista .sv-btn--call{background:transparent;color:var(--ink);border-color:var(--ink)}
main .svc .sv-hero--especialista .sv-btn--call:hover{background:var(--ink);color:#fff}
main .svc .sv-hero--especialista .sv-btn--wa,main .svc .sv-hero--especialista .sv-btn--ghost{color:var(--ink);border-color:rgba(14,28,42,.35)}
main .svc .sv-hero--especialista .sv-btn--wa:hover,main .svc .sv-hero--especialista .sv-btn--ghost:hover{background:var(--sand-2);border-color:var(--ink);color:var(--ink)}
main .svc .sv-hero--especialista .sv-trust li{background:#fff;border-color:var(--line);color:var(--ink)}
main .svc .sv-hero--especialista .sv-trust li:before{background-color:var(--blue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5 9.3 2.6 2.6L13 6.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
main .svc .sv-side--info{background:#fff;border:1px solid var(--line);box-shadow:var(--sh-2)}
main .svc .sv-side--info .sv-side__t{color:var(--camel-d)}
main .svc .sv-info{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:16px}
main .svc .sv-info li{display:flex;gap:14px;align-items:flex-start;color:var(--muted);font-size:14.5px;line-height:1.45}
main .svc .sv-info li>.ic{width:42px;height:42px;padding:10px;border-radius:14px;background:var(--blue-l);color:var(--blue)}
main .svc .sv-info b{display:block;color:var(--ink);font-weight:600;font-size:15px}
main .svc .sv-info a{color:var(--ink);text-decoration:none}main .svc .sv-info a:hover{text-decoration:underline}
main .svc .sv-side__btn{width:100%;background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
main .svc .sv-side__btn:hover{background:var(--blue)!important;border-color:var(--blue)!important}
@media(max-width:960px){
  main .svc .sv-hero__in:has(.sv-side){grid-template-columns:minmax(0,1fr)}
  main .svc .sv-side--toc{display:none}
  main .svc .sv-hero__art{display:none}
}
@media(max-width:560px){main .svc .sv-cta .sv-btn{flex:1 1 100%}main .svc .sv-trust li{font-size:13px}}/* --- trust-bar de las páginas psq: tarjeta flotante sobre el hero --- */
main .svc .sv-hero+.trust-bar{position:relative;z-index:5;width:calc(100% - 2*var(--gut));max-width:calc(var(--wrap) - 2*var(--gut));margin:calc(-1 * clamp(52px,6vw,72px)) auto 0;padding:24px clamp(16px,3vw,36px);background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2)}
main .svc .trust-bar .container{max-width:none;padding:0}
main .svc .trust-bar__grid{gap:18px 24px}
main .svc .trust-item{display:flex;gap:14px;align-items:center;text-align:left}
main .svc .trust-item__icon{flex:none;width:46px;height:46px;margin:0;border-radius:14px;background:var(--blue-l);color:var(--blue);display:grid;place-items:center}
main .svc .trust-item__icon .ic{width:23px;height:23px}
main .svc .trust-item__text{color:var(--muted);font-size:.84rem}
main .svc .trust-item__text strong{color:var(--ink)}
@media(max-width:960px){main .svc .trust-bar__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){main .svc .trust-bar__grid{grid-template-columns:1fr}}/* --- barra de anclas pegajosa --- */
main .svc .sv-anchors{position:sticky;top:calc(var(--hdr) - 1px);z-index:60;background:rgba(251,248,242,.95);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line);margin-top:clamp(16px,2vw,24px)}
main .svc .sv-anchors__in{display:flex;align-items:center;gap:16px}
main .svc .sv-anchors__list{list-style:none;margin:0;padding:9px 0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);padding-right:24px}
main .svc .sv-anchors__list::-webkit-scrollbar{display:none}
main .svc .sv-anchors__list a{display:block;padding:9px 15px;border-radius:999px;border:1px solid transparent;font:600 14px/1.2 var(--font-body);color:var(--ink);text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
main .svc .sv-anchors__list a:hover{background:var(--sand)}
main .svc .sv-anchors__list a[aria-current]{background:var(--ink);color:#fff}
main .svc .sv-anchors__cta{flex:none;padding:9px 18px;border-radius:999px;background:var(--camel);color:var(--ink);font:700 14px/1.2 var(--font-body);text-decoration:none;transition:background .2s}
main .svc .sv-anchors__cta:hover{background:#c9ae88}
@media(max-width:700px){main .svc .sv-anchors__cta{display:none}}
.svc [id]{scroll-margin-top:calc(var(--hdr) + 84px)}/* --- bloque de relacionadas --- */
main .svc .sv-related{padding-block:var(--sec);background:var(--paper)}
main .svc .sv-sech{max-width:720px;margin:0 0 clamp(24px,3.5vw,40px)}
main .svc .sv-sech .sv-eyebrow{color:var(--camel-d)}
main .svc .sv-sech h2{margin:0}
main .svc .sv-rel__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
main .svc .sv-rel__grid a{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"i t g" "i s g";column-gap:14px;align-items:center;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:var(--ink);transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s}
main .svc .sv-rel__grid a:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:var(--camel)}
main .svc .sv-rel__ic{grid-area:i;width:46px;height:46px;padding:11px;border-radius:14px;background:var(--sand);color:var(--blue)}
main .svc .sv-rel__t{grid-area:t;font:600 16px/1.3 var(--font-body)}
main .svc .sv-rel__grid small{grid-area:s;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
main .svc .sv-rel__go{grid-area:g;width:20px;height:20px;color:var(--camel-d);transition:transform .22s var(--ease)}
main .svc .sv-rel__grid a:hover .sv-rel__go{transform:translateX(4px)}
main .svc .sv-rel__all a{background:var(--ink);border-color:var(--ink);color:#fff;grid-template-areas:"t g";grid-template-columns:1fr auto}
main .svc .sv-rel__all .sv-rel__go{color:var(--camel)}/* --- iconos dentro de los bloques heredados (sustituyen a los emojis) --- */
main .svc .btn .ic,main .svc .specialty-card__cta .ic{width:18px;height:18px}
main .svc :is(.highlight-card__icon,.benefit-icon,.ubicacion__item-icon,.specialty-card__icon,.equipo-area-card__icon){color:var(--blue)}
main .svc .highlight-card__icon{width:40px;height:40px;border-radius:12px;background:var(--blue-l);display:grid;place-items:center;font-size:1rem;margin-top:0}
main .svc :is(.highlight-card__icon,.benefit-icon,.ubicacion__item-icon,.specialty-card__icon,.equipo-area-card__icon) .ic{width:22px;height:22px}
main .svc .benefit-icon,main .svc .ubicacion__item-icon{background:var(--blue-l);border-color:transparent;border-radius:14px}
main .svc .profesional-card__icon{width:50px;height:50px;border-radius:50%;background:rgba(179,150,113,.18);color:var(--camel);display:grid;place-items:center;font-size:1rem;margin-bottom:16px}
main .svc .profesional-card__icon .ic{width:25px;height:25px}
main .svc .cta-option__icon{width:60px;height:60px;border-radius:50%;background:var(--blue-l);color:var(--blue);display:grid;place-items:center;margin:0 auto 12px;font-size:1rem}
main .svc .cta-option__icon .ic{width:28px;height:28px}
main .svc .map-pin-icon{color:var(--blue);font-size:1rem;line-height:0}
main .svc .map-pin-icon .ic{width:54px;height:54px}
main .svc :is(.sintoma-card__badge,.avanzado-card__badge,.emdr-badge,.equipo__badge) .ic{width:13px;height:13px;vertical-align:-.1em}/* --- limpieza de restos del diseño antiguo (verdes, morados, grises de bajo contraste) --- */
main .svc{--camel-dark:var(--camel-d);--verde-wa:var(--sage);--verde-llam:var(--blue);--gris-medio:#5f6e7b}
main .svc .profesional-card__colegiado{color:var(--camel-l)}
main .svc .btn--call{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:none}
main .svc .btn--call:hover{background:var(--ink);border-color:var(--ink)}
main .svc .btn--wa{background:var(--sage);border-color:var(--sage);color:#fff;box-shadow:none}
main .svc .btn--wa:hover{background:#3f5b4c;border-color:#3f5b4c}
main .svc .btn--camel{box-shadow:none}
main .svc .btn--camel:hover{background:#c9ae88;border-color:#c9ae88;color:var(--ink)}
main .svc .btn--primary,main .svc .btn--medical{box-shadow:none}
main .svc .btn--medical{background:var(--blue);border-color:var(--blue)}
main .svc .btn--outline-dark{color:var(--ink);border-color:rgba(14,28,42,.4)}
main .svc [class*="service-card--"]{border-top-color:var(--camel)}
main .svc .sintomas-section{background:var(--blue-l)}
main .svc .sintoma-card{border-top-color:var(--camel);border-color:var(--line)}
main .svc :is(.cta-final__note,.cta-option__label){color:var(--muted)}
main .svc .cta-final__note span{color:var(--blue)}
main .svc .equipo__disclaimer{color:#b5c3cf}
main .svc .equipo__disclaimer strong{color:#e3eaf0}
main .svc .profesional-card p{color:#c3d0db}
main .svc .step p{color:#cdd8e2}
main .svc .cta-band p,main .svc .section--dark .section-lead{color:#cdd8e2!important}
main .svc .faq-item summary{min-height:56px}
main .svc .faq-item summary:focus-visible{outline:3px solid var(--blue-2);outline-offset:-3px;border-radius:var(--r-sm)}
main .svc .faq-answer{color:var(--text)}
main .svc .section-lead,main .svc .intro__body,main .svc .benefit-text p,main .svc .condition-item span{color:#4b5a68}/* --- ritmo y jerarquía por familia (secciones psq) --- */
main .svc .section-title{margin-bottom:.4em}
main .svc .section-lead{max-width:680px}
main .svc .divider{display:none}
main .svc .intro__grid{gap:clamp(28px,5vw,72px)}
main .svc .highlight-card{border-left-width:1px;border-radius:var(--r)}
main .svc .condition-item{border-radius:var(--r)}
main .svc .step__num{background:var(--camel);color:var(--ink);box-shadow:none}/* especialidad: cálida, encabezados centrados, tarjetas con filete camel */
main .svc-especialidad .section--alt{background:var(--sand)}
main .svc-especialidad .service-card,main .svc-especialidad .sintoma-card{border-top-width:3px}/* especialista: encabezados a la izquierda con numeración de sección */
main .svc-especialista{counter-reset:secn}
main .svc-especialista .text-center,main .svc-especialista .area-header,main .svc-especialista .equipo__intro{text-align:left}
main .svc-especialista .section-lead,main .svc-especialista .equipo__intro{margin-left:0;margin-right:0}
main .svc-especialista .section-label{counter-increment:secn;color:var(--camel-d);font-size:.76rem}
main .svc-especialista .section-label:before{content:counter(secn,decimal-leading-zero);width:auto;height:auto;background:none;font:500 1.15rem var(--font-display);letter-spacing:0;padding-right:12px;border-right:1.5px solid var(--camel)}
main .svc-especialista .section--dark .section-label,main .svc-especialista .equipo .section-label{color:var(--camel-l)}
main .svc-especialista .btn-group--center{justify-content:flex-start}/* pericial: tono frío, "§" y filete lateral */
main .svc-pericial .section--alt,main .svc-pericial .section--medical{background:var(--blue-l)}
main .svc-pericial .section-label{color:var(--blue)}
main .svc-pericial .section-label:before{content:"§";width:auto;height:auto;background:none;font:500 1.25rem var(--font-display);letter-spacing:0}
main .svc-pericial .text-center,main .svc-pericial .area-header{text-align:left}
main .svc-pericial .section-lead{margin-left:0}
main .svc-pericial :is(.highlight-card,.benefit-item,.service-card,.informe-card){border-left:4px solid var(--ink)}
main .svc-pericial .btn-group--center{justify-content:flex-start}/* --- páginas heredadas de Elementor reorganizadas (sv-body) --- */
main .svc .sv-body{padding-bottom:0}
main .svc .sv-body>.el-section{margin:0!important;padding-block:clamp(36px,5vw,72px)}
main .svc .sv-body>.el-section:nth-of-type(even){background:var(--sand)}
main .svc .sv-body .el-row{align-items:flex-start;gap:clamp(20px,3vw,40px)}
main .svc .sv-body .el-col{margin:0;padding:0}
main .svc .sv-body .el-col:has(>.w-box:first-child+.w-text){background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,34px);box-shadow:var(--sh-1)}
main .svc .sv-body .w-box:not(:has(.w-box-d)):not(:has(img)){background:none;border:0;padding:0;margin:0 0 .6em;box-shadow:none;transform:none}
main .svc .sv-body .w-box:not(:has(.w-box-d)):not(:has(img)) h3{font-size:clamp(1.3rem,2vw,1.7rem);margin:0}
main .svc .sv-body .w-text{color:var(--text)!important}
main .svc .sv-body .w-text p{max-width:68ch}
main .svc .sv-body .w-text ul,main .svc .sv-body .w-text ol{padding-left:1.25em}
main .svc .sv-body .w-heading h2{font-size:clamp(1.7rem,3vw,2.5rem)}
main .svc .sv-body .w-box:has(.w-box-d){display:flex;flex-direction:column;gap:2px;border-radius:var(--r-lg);box-shadow:var(--sh-2)}
main .svc .sv-body .w-box-ic{width:36px;height:36px;margin-bottom:12px}
main .svc .sv-body .w-divider{margin:clamp(28px,4vw,52px) 0}
main .svc .sv-body .w-acc{max-width:880px}
main .svc .sv-body details>div{white-space:pre-line}
main .svc .sv-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
main .svc .sv-chips li{display:inline-flex;align-items:center;gap:9px;padding:10px 18px 10px 12px;background:#fff;border:1px solid var(--line);border-radius:999px;font:600 15px/1.2 var(--font-body);color:var(--ink)}
main .svc .sv-chips li:before{content:"";flex:none;width:18px;height:18px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5 9.3 2.6 2.6L13 6.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
main .svc .sv-md>*:last-child{margin-bottom:0}/* lista de pasos: el número ya va en <b>; se anula la numeración nativa (evitaba "1. 1") */
ol.w-process,ol.sv-steps{list-style:none;margin:0;padding:0!important;display:grid;gap:14px}
ol.w-process>li{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:18px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,2.4vw,26px);margin:0}
ol.w-process>li::marker{content:""}
ol.w-process>li>b{grid-row:1/span 3;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;font:500 18px var(--font-display)}
ol.w-process>li>h3{margin:0 0 .3em;font-size:1.2rem}
ol.w-process>li>p{margin:0;color:var(--muted);font-size:15.5px}
@media(max-width:600px){ol.w-process>li{grid-template-columns:40px minmax(0,1fr);column-gap:14px}ol.w-process>li>b{width:38px;height:38px}}/* --- índice /servicios/: mosaico filtrable --- */
main .svc .sv-filter{position:sticky;top:calc(var(--hdr) - 1px);z-index:60;background:rgba(251,248,242,.96);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line);padding-block:12px}
html:not(.js) .sv-filter{display:none}
main .svc .sv-filter__in{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
main .svc .sv-filter__tabs{display:flex;flex-wrap:wrap;gap:6px}
main .svc .sv-filter__tabs button{min-height:44px;padding:10px 18px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font:600 14.5px/1.2 var(--font-body);color:var(--ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
main .svc .sv-filter__tabs button:hover{border-color:var(--ink)}
main .svc .sv-filter__tabs button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
main .svc .sv-filter__q{margin-left:auto;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;background:#fff;border:1.5px solid var(--line);border-radius:999px;color:var(--muted);min-width:min(100%,280px)}
main .svc .sv-filter__q:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(43,90,120,.16)}
main .svc .sv-filter__q input{flex:1;min-width:0;border:0;outline:0;background:none;font:400 15px var(--font-body);color:var(--ink);padding:10px 0}
main .svc .sv-filter__n{flex-basis:100%;margin:0;font-size:13.5px;color:var(--muted)}
main .svc.sv-hub [hidden]{display:none!important}
main .svc.sv-hub .toc-bar{background:transparent;border:0;padding:20px 0 0;position:static}
main .svc.sv-hub .toc-bar__inner{display:flex;flex-wrap:wrap;gap:8px}
main .svc.sv-hub .toc-link{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:600 13.5px/1.2 var(--font-body);text-decoration:none}
main .svc.sv-hub .toc-link:hover{border-color:var(--camel);background:var(--sand)}
main .svc.sv-hub .section{padding-block:clamp(40px,5.5vw,72px)}
main .svc.sv-hub .area-header{text-align:left;max-width:760px;margin-bottom:clamp(22px,3vw,34px)}
main .svc.sv-hub .area-header .section-lead{margin-left:0}
main .svc.sv-hub .section--alt,main .svc.sv-hub .section--white{background:var(--paper)}
main .svc.sv-hub [data-type=especialistas]{background:var(--sand)}
main .svc.sv-hub .section--dark{background:var(--ink)}
main .svc.sv-hub .specialty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
main .svc.sv-hub .specialty-card{display:flex;flex-direction:column;gap:14px;padding:26px;border-radius:var(--r);background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--text);transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s}
main .svc.sv-hub .specialty-card:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--camel)}
main .svc.sv-hub .specialty-card__top{display:flex;gap:14px;align-items:center}
main .svc.sv-hub .specialty-card__icon{width:50px;height:50px;border-radius:15px;background:var(--blue-l);color:var(--blue);display:grid;place-items:center;font-size:1rem;flex:none}
main .svc.sv-hub .specialty-card h3{margin:0;font-size:1.35rem}
main .svc.sv-hub .specialty-card__count{font-size:13px;color:var(--camel-d);font-weight:600}
main .svc.sv-hub .specialty-card p{margin:0;font-size:15px;color:#4b5a68}
main .svc.sv-hub .specialty-card__tags{display:flex;flex-wrap:wrap;gap:6px}
main .svc.sv-hub .specialty-card__tags span{padding:4px 11px;border-radius:999px;background:var(--sand);font-size:12.5px;font-weight:600;color:var(--ink)}
main .svc.sv-hub .specialty-card__cta{margin-top:auto;font-weight:700;color:var(--blue);font-size:14.5px}
main .svc.sv-hub .specialty-card__cta:after{content:" →"}
main .svc .sv-subh{margin:clamp(26px,3.5vw,40px) 0 14px;font:600 12.5px/1.2 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--camel-d)}
main .svc.sv-hub .hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
main .svc.sv-hub .hub-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;min-height:60px;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);font:600 15.5px/1.3 var(--font-body);text-decoration:none;transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s}
main .svc.sv-hub .hub-item:after{content:"";flex:none;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237a5f38' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/100% no-repeat;transition:transform .22s var(--ease)}
main .svc.sv-hub .hub-item:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:var(--camel)}
main .svc.sv-hub .hub-item:hover:after{transform:translateX(4px)}
main .svc.sv-hub .cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
main .svc.sv-hub .informe-card{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:var(--r);text-decoration:none;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);border-left:4px solid var(--camel);transition:transform .22s var(--ease),background .22s}
main .svc.sv-hub .informe-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.12)}
main .svc.sv-hub .informe-card h3{color:#fff;font-size:1.2rem;margin:0}
main .svc.sv-hub .informe-card p{color:#cdd8e2;margin:0;font-size:14.5px}
main .svc.sv-hub .informe-card__label{font:700 11.5px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--camel-l)}
main .svc.sv-hub .section--dark .hub-item{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
main .svc.sv-hub .section--dark .hub-item:after{filter:brightness(2.2)}
main .svc.sv-hub .section--dark .sv-subh{color:var(--camel-l)}/* --- informes periciales con documento propio (hf-/ip-/hc-/hl-/hp-/ci-wrap) --- */
.svc-doc :is(.hf-wrap,.hc-wrap,.hl-wrap,.hp-wrap,.ci-wrap,.ip-wrap){max-width:var(--wrap);margin:0 auto;padding:clamp(10px,1.6vw,18px) var(--gut) clamp(36px,5vw,64px);--radio:var(--r);--radio-sm:var(--r-sm);font-family:var(--font-body)}
.svc-doc .sv-anchors{margin:clamp(14px,2vw,22px) 0 clamp(26px,3.5vw,40px)}
.svc-doc .sv-anchors__in{padding-inline:0;max-width:none}
.svc-doc :is(.hf-volver,.ip-volver){display:none}
.svc-doc :is(.hf-hero,.hc-hero,.hl-hero,.hp-hero,.ci-hero,.ip-hero){background:linear-gradient(115deg,rgba(14,28,42,.97),rgba(23,41,59,.9)),url(/assets/img/banner-tinta.svg) center/cover!important;border-radius:var(--r-lg);padding:clamp(30px,5vw,64px);border-bottom:4px solid var(--camel)}
.svc-doc :is(.hf-hero,.hc-hero,.hl-hero,.hp-hero,.ci-hero,.ip-hero) h1{font-family:var(--font-display)!important;font-weight:500!important;font-size:clamp(2rem,4.2vw,3.2rem)!important;line-height:1.08;letter-spacing:-.02em;color:#fff!important;margin-bottom:.5em}
.svc-doc :is(.hf-hero,.hc-hero,.hl-hero,.hp-hero,.ci-hero,.ip-hero) h1 em{font-style:italic;font-weight:400;color:var(--camel-l)!important}
.svc-doc :is(.hf-hero,.hc-hero,.hl-hero,.hp-hero,.ci-hero,.ip-hero) :is(p,.ip-hero__desc){color:#d3dde6!important;font-size:clamp(1rem,1.4vw,1.12rem)!important}
.svc-doc :is(.hf-hero__sub,.hc-hero__sub,.hl-hero__sub,.hp-hero__sub,.ci-hero__sub,.ip-hero__sub){color:#b9c7d3!important;font-size:.95rem!important}
.svc-doc :is(.hf-badge,.hc-badge,.hl-badge,.hp-badge,.ci-badge,.ip-hero__badge){border-radius:999px!important;padding:6px 16px!important;letter-spacing:.14em!important;font-size:11.5px!important;font-weight:700!important;background:var(--camel)!important;color:var(--ink)!important}
.svc-doc :is(.hf-btn,.hc-btn,.hl-btn,.hp-btn,.ci-btn,.ip-btn){border-radius:999px!important;min-height:50px;line-height:1.1!important;padding:14px 26px!important;font-weight:600;gap:9px}
.svc-doc :is(.hf-btn,.hc-btn,.hl-btn,.hp-btn,.ci-btn,.ip-btn) .ic{width:18px;height:18px}
.svc-doc :is(.hf-btn--outline,.hc-btn--outline,.hl-btn--outline,.hp-btn--outline,.ci-btn--outline,.ip-btn--outline){border:1.5px solid rgba(255,255,255,.55)!important;color:#fff!important}
.svc-doc :is(.hf-btn--camel,.hc-btn--camel,.hl-btn--camel,.hp-btn--camel,.ci-btn--camel,.ip-btn--camel){background:var(--camel)!important;color:var(--ink)!important}
.svc-doc :is(.hf-btn--dark,.hc-btn--dark,.hl-btn--dark,.hp-btn--dark,.ci-btn--dark,.ip-btn--dark){background:var(--ink)!important;color:#fff!important}
.svc-doc :is(.hf-trust,.hc-trust,.hl-trust,.hp-trust,.ci-trust,.ip-trust){margin-top:clamp(14px,2vw,22px)!important;gap:14px!important}
.svc-doc :is(.hf-trust__i,.hc-trust__i,.hl-trust__i,.hp-trust__i,.ci-trust__i,.ip-trust__item){border-radius:var(--r)!important;border-color:var(--line)!important;box-shadow:var(--sh-1)!important}
.svc-doc :is(.hf-trust__n,.hc-trust__n,.hl-trust__n,.hp-trust__n,.ci-trust__n,.ip-trust__num){font-family:var(--font-display)!important;font-weight:500!important}
.svc-doc :is(.hf-trust__n,.hc-trust__n,.hl-trust__n,.hp-trust__n,.ci-trust__n,.ip-trust__num) em{color:var(--camel-d)!important}
.svc-doc :is(.hf-trust__l,.hc-trust__l,.hl-trust__l,.hp-trust__l,.ci-trust__l,.ip-trust__label){color:#4b5a68!important;font-size:12.5px!important}
.svc-doc :is(h1,h2,h3){font-family:var(--font-display)!important;font-weight:500!important;letter-spacing:-.015em}
.svc-doc [class*="-razon__ico"],.svc-doc [class*="-ambito__ico"],.svc-doc [class*="__ico"]{color:var(--blue)}
.svc-doc [class*="__ico"] .ic,.svc-doc [class*="-ambito__ico"] .ic{width:26px;height:26px}
.svc-doc [class*="trust__n"] .ic,.svc-doc [class*="trust__num"] .ic{width:30px;height:30px}
.svc-doc :is([class$="__chip"],[class$="-badge"],[class$="__badge"],[class$="__tit"]) .ic{width:16px;height:16px;vertical-align:-.2em}
.svc-doc [class*="-faq-a"]{color:var(--text)!important}
.svc-doc .sv-related{background:var(--sand);margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut);border-radius:var(--r-lg)}
@media(max-width:700px){.svc-doc .sv-related{margin-inline:calc(-1 * var(--gut));border-radius:0}}
/* bandas oscuras de los informes: el h2 global (tinta) las dejaba ilegibles */
.svc-doc :is([class$="-cta"],[class*="-cta-final"],[class$="-contra"],[class*="-cob__head"]) :is(h2,h3,h4){color:#fff!important}
.svc-doc :is([class$="-cta"],[class*="-cta-final"]) :is(p,div,span,li):not([class*="btn"]){color:#d3dde6!important}
:is(.fam-service,.fam-informes) main [style*="background-color:#17293b"] :is(h2,h3,h4){color:#fff!important}
:is(.fam-service,.fam-informes) main [style*="background-color:#17293b"] :is(li,p){color:#d3dde6}
:is(.fam-service,.fam-informes) main [style*="background-color:#0e1c2a"] :is(h2,h3,h4){color:#fff!important}

/* ---------- 11. Contraste (auditado con tools/contrast_audit.py; ver tools/contrast_report.md) ----------
   Causa principal: bloques psq-wrap pensados con fondo claro (cta-final, section--dark, cta-band) reciben aquí un fondo tinta/azul
   y conservaban texto oscuro. Se fuerza texto claro solo en los elementos de texto de esas bandas. */
main .psq-wrap :is(.cta-final,.section--dark,.cta-band,.equipo){color:#dbe4eb}
main .psq-wrap :is(.cta-final,.section--dark,.cta-band) :is(h1,h2,h3,h4){color:#fff}
main .psq-wrap :is(.cta-final__lead,.cta-final__note,.section--dark .section-lead,.cta-band>.container>p,.section--dark .step p,.metodo__steps .step p,.equipo__disclaimer){color:#dbe4eb}
main .psq-wrap :is(.cta-final__note span,.cta-final>.container>.section-label,.section--dark .section-label,.cta-final .section-label){color:#ecd9b8}
main .psq-wrap .section--dark .step h3,main .psq-wrap .metodo__steps .step h3{color:#fff}
main .psq-wrap .equipo .profesional-card__colegiado,main .psq-wrap .equipo .profesional-card__col,main .psq-wrap .profesional-card__col-label{color:#c9d5df}
main .psq-wrap .profesional-card__tag{background:var(--camel-l);color:var(--ink)}
main .psq-wrap .cta-option__label{color:#55636f}
main .psq-wrap .cta-option .btn--wa,main .psq-wrap .btn--wa{background:#0f7a40;border-color:#0f7a40;color:#fff}
main .psq-wrap .ubicacion__item-text a{color:#0f6b38}
main .psq-wrap .ubicacion__item-text span{color:#4d5b68}
.cx-pcta :is(h1,h2,h3,p,a:not(.cx-btn)){color:#fff}
.cx-pcta p{color:#dbe4eb}
/* Elementor / informes con colores en línea heredados */
main .ip-wrap :is(.ip-nav-sec__label){color:#55636f}
main .ip-srv-cta strong,main [class$="-srv-cta"] strong{color:var(--ink)}
main :is(.hf-highlight,.hc-highlight,.hl-highlight,.hp-highlight) a{color:var(--camel-d)}
main :is(.ip-btn--camel-outline){color:var(--camel-d);border-color:var(--camel-d)}
main h2 em{color:var(--camel-d)}
main :is(.hf-ctag--cap,.hc-ctag--cap,.hl-ctag--cap,.hp-ctag--cap,.ci-ctag--cap){background:var(--camel-d);color:#fff}
main [style*="color:#b89c7b"]{color:var(--camel-d)!important}
main :is([style*="background-color:#17293b"],[style*="background-color:#0e1c2a"],[style*="background-color:#2c2c2c"]) [style*="color:#b89c7b"]{color:#e0c9a4!important}
main :is(.ip-wrap,.hf-wrap,.hc-wrap,.hl-wrap,.hp-wrap,.ci-wrap) :is(.ip-metodo p,.ip-proceso-header p,.ip-paso__badge,.ip-srv-item__txt,[class$="-srv__sub"],[class$="-metodo"] p,.ci-tipo p,.ci-tipo li){color:#4d5b68}
.town :is(.tn-crumbs,.tn-crumbs a,.tn-nica){color:#c9d5df}
.town .tn-alt :is(.tn-head p,.tn-card p,.tn-eyebrow){color:#4d5b68}
.csm-fab .csm-fab-wa{background:#0f7a40}
/* 11b. Refuerzos (especificidad/!important acotado: el CSS de los bloques heredados es en línea o con !important) */
main :is(.section--dark,.cta-final,.cta-band) .section-label{color:#ecd9b8!important}
main .section--dark .section-lead{color:#dbe4eb!important}
main .cx-post .cx-pcta :is(h1,h2,h3,p,li,a:not(.cx-btn)){color:#fff!important}
main .cx-post .cx-pcta p{color:#dbe4eb!important}
main .ip-srv-cta strong,main [class$="-srv-cta"] strong{color:#fff!important}
main .el-col a[href^="tel"]{color:#e0c9a4}
main :is([style*="background-color:#17293b"],[style*="background-color:#0e1c2a"]) :is(.w-text,.w-text p){color:#d8e1e8!important}
.fam-landing main [style*="background-color:#17293b"] .w-box-d{color:#fff!important}
main :is(.hf-highlight,.hc-highlight,.hl-highlight,.hp-highlight) p a{color:#6b5230!important}
main h2 em[style],main h2>em{color:var(--camel-d)!important}
main :is(.ip-srv-head,.ip-cta-final,.ip-online,.hf-cta,.ip-hero,[class$="-hero"],[class$="-cta"]) h2>em,main .ip-cta-final__inner h2>em,main .ip-online__inner h2>em{color:#e0c9a4!important}
main .ubicacion__item-text a{color:#0f6b38!important}

/* ---------- 12. Chip NICA (registro sanitario del centro; texto desde {{clinica.nica}}) ----------
   Un solo componente para todos los heros: .cx-nica (li, span o chip existente). Claro sobre fondos oscuros, tinta sobre claros. */
.cx-nica{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font:600 12.5px/1.25 var(--font-body);letter-spacing:.04em;white-space:nowrap}
.cx-nica:before{content:"";flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5 4 5.6v5.7c0 4.700 3.200 8.900 8 10.200 4.800-1.300 8-5.500 8-10.200V5.600L12 2.500Zm-1.200 13.800-3.500-3.500 1.400-1.400 2.100 2.100 4.700-4.700 1.400 1.400-6.100 6.100Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.500 4 5.600v5.700c0 4.700 3.200 8.900 8 10.200 4.800-1.300 8-5.500 8-10.200V5.600L12 2.500Zm-1.200 13.800-3.500-3.500 1.400-1.400 2.100 2.100 4.700-4.700 1.400 1.400-6.100 6.100Z'/%3E%3C/svg%3E") center/contain no-repeat}
.cx-nica-row,.cx-meta{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:14px 0 0;padding:0}
.cx-meta li,.cx-nica-row .cx-nica,.cx-pcta .cx-nica{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 13px 6px 10px}
.cx-meta{margin:0 0 14px}
/* servicios (sv-trust): el chip hereda la píldora de la lista; solo cambia el icono */
main .svc .sv-trust li.cx-nica{color:#fff}
main .svc .sv-trust li.cx-nica:before{width:16px;height:16px;border-radius:0;background:currentColor}
main .svc .sv-hero--especialista .sv-trust li.cx-nica{color:var(--ink)}
/* heros oscuros de informes y landings */
:is(.ip-hero,.hf-hero,.hc-hero,.hl-hero,.hp-hero,.ci-hero) .cx-nica-row .cx-nica{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28);color:#fff}
.ip-hero__chips .cx-nica{color:#fff}
.fam-landing .cx-nica-row{margin-top:12px}
.fam-landing .cx-nica-row .cx-nica{background:rgba(255,255,255,.7)}
@media(max-width:560px){.cx-nica{font-size:12px}}

/* ---------- 13. Contacto compacto (/contacto/; generado por build_contact en tools/v3.py) ---------- */
.ct-hero{background:var(--ink) url(/assets/img/banner-tinta.svg) center/cover;color:#dbe4eb;padding:clamp(16px,2vw,26px) 0}
.ct-hero-in{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(16px,3vw,48px);align-items:center}
.ct-hero .cx-eyebrow{margin:0 0 6px;color:#ecd9b8}
.ct-hero h1{color:#fff;font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.05;margin:0 0 6px}
.ct-lead{margin:0;max-width:64ch;font-size:.95rem;line-height:1.5;color:#dbe4eb}
.ct-hero-act{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.ct-quick{display:flex;flex-wrap:wrap;gap:10px}
.ct-quick .cx-btn{min-height:46px;padding:12px 20px}
.ct-quick .ic{width:18px;height:18px}
.ct-b-call{background:#fff;color:var(--ink);border-color:#fff}
.ct-b-call:hover{background:var(--camel-l);color:var(--ink);border-color:var(--camel-l)}
.ct-b-wa{background:#0f7a40;border-color:#0f7a40;color:#fff}
.ct-b-wa:hover{background:#0b6434;border-color:#0b6434}
.ct-hero-meta{list-style:none;margin:0;padding:0}
.ct-hero-meta .cx-nica{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:6px 13px 6px 10px}
.ct-main{padding:clamp(18px,2.4vw,32px) 0}
.ct-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(16px,2.4vw,32px);align-items:start}
.ct-formcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,2.2vw,28px);box-shadow:var(--sh-1)}
.ct-formcard h2{font-size:clamp(1.3rem,2vw,1.6rem);margin:0 0 4px}
.ct-sub{margin:0 0 14px;color:#4d5b68;font-size:.95rem;line-height:1.5}
.fam-contact .ct-formel{background:none;border:0;padding:0;border-radius:0;display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.ct-formel .fld{margin:0 0 12px}
.ct-formel .fld:nth-of-type(1),.ct-formel .fld:nth-of-type(4),.ct-formel .csm-consent,.ct-formel button,.ct-formel .ct-status{grid-column:1/-1}
.ct-formel input:not([type=checkbox]):not([type=hidden]),.ct-formel textarea{padding:11px 14px;font-size:15.5px}
.ct-formel textarea{resize:vertical;min-height:70px}
.ct-formel label{margin-bottom:4px;font-size:13.5px}
.ct-formel .csm-consent{margin:2px 0 12px;font-size:13px;color:#4d5b68}
.ct-formel button[type=submit]{width:100%;justify-content:center}
.ct-formel .fld.is-bad input,.ct-formel .fld.is-bad textarea{border-color:var(--alert);background:#fff7f8}
.ct-err{display:block;margin-top:4px;color:var(--alert);font-size:13px;font-weight:600}
.ct-status{margin:10px 0 0;font-size:14px;font-weight:600;min-height:0}
.ct-status:empty{display:none}
.ct-status.is-err{color:var(--alert)}
.ct-status.is-busy{color:var(--blue)}
.ct-formel button[disabled]{opacity:.7;cursor:progress}
.ct-info{display:flex;flex-direction:column;gap:14px}
.ct-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ct-card{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;box-shadow:var(--sh-1)}
.ct-card>.ic{flex:none;width:24px;height:24px;color:var(--blue);margin-top:2px}
.ct-card h3{font:600 .8rem/1.2 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--camel-d);margin:0 0 4px}
.ct-card p{margin:0;font-size:.95rem;line-height:1.45;color:var(--text)}
.ct-card .ct-big{font:600 1.15rem/1.35 var(--font-display)}
.ct-card .ct-big a{color:var(--ink);text-decoration:none}
.ct-card .ct-big a:hover{color:var(--blue);text-decoration:underline}
.ct-card .ct-note{font-size:.82rem;color:#4d5b68;margin-top:2px}
.ct-link,.ct-card a.ct-link{color:var(--blue);font-weight:600}
.ct-card-tel,.ct-card-mail{grid-column:1/-1}
.ct-card-mail:has(.ct-mail:empty) .ct-mail,.ct-soc a:not([href^="http"]){display:none}
.ct-card-mail:has(.ct-mail:empty) p:first-of-type{display:none}
.ct-soc span{font-weight:600;margin-right:6px}
.ct-soc a{margin-right:10px;color:var(--blue)}
.ct-card-mail:not(:has(.ct-soc a[href^="http"])):not(:has(.ct-mail:not(:empty))){display:none}
.ct-map iframe{height:200px;border-radius:var(--r-sm);border:1px solid var(--line)}
.ct-map{margin:0}
.ct-faq{padding:0 0 clamp(26px,3vw,44px)}
.ct-faq h2{font-size:clamp(1.2rem,1.8vw,1.5rem);margin:0 0 12px}
.ct-qs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}
.ct-q{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm)}
.ct-q summary{cursor:pointer;list-style:none;padding:14px 44px 14px 16px;font:600 1rem/1.35 var(--font-body);color:var(--ink);position:relative;min-height:48px}
.ct-q summary::-webkit-details-marker{display:none}
.ct-q summary:after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--camel-d)}
.ct-q[open] summary:after{content:"–"}
.ct-q>div{padding:0 16px 14px}
.ct-q p{margin:0 0 10px;font-size:.95rem;color:#4d5b68}
@media(max-width:1000px){.ct-hero-in,.ct-grid{grid-template-columns:1fr}.ct-qs{grid-template-columns:1fr}}
@media(max-width:620px){.ct-formel{grid-template-columns:1fr!important}.ct-cards{grid-template-columns:1fr}.ct-quick .cx-btn{flex:1 1 100%}.ct-hero h1{font-size:1.9rem}}

/* ---------- 14. Cabecera en pantallas muy estrechas (320–380 px): sin desbordes ---------- */
@media(max-width:380px){
  .cx-bar{gap:8px}
  .cx-logo{gap:8px;min-width:0;flex:0 1 auto}.cx-logo img{width:38px;height:38px}.cx-logo-t b{font-size:14px;white-space:nowrap}
  .cx-cta{padding:9px 13px;min-height:40px;font-size:13.5px}
  .cx-util-r{gap:12px}.cx-util{font-size:12.5px}
}

/* 15. Documentos legales (aviso legal, privacidad, cookies) */
.csm-legal{max-width:880px;margin:0 auto;padding:clamp(28px,5vw,56px) 24px;font-size:16.5px;line-height:1.75;color:var(--ink-2)}
.csm-legal h1{font-size:clamp(2rem,4vw,2.9rem);margin:0 0 .3em}
.csm-legal h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:1.9em 0 .55em;padding-top:.4em;border-top:1px solid var(--line,#e3d9c8);scroll-margin-top:110px}
.csm-legal h3{font-size:1.1rem;margin:1.4em 0 .4em;scroll-margin-top:110px}
.csm-legal p,.csm-legal li{overflow-wrap:break-word}
.csm-legal ul{padding-left:1.25em}.csm-legal li{margin:.35em 0}
.csm-legal a{color:var(--camel-d);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.csm-legal-ver{color:#46576a;font-size:15px;margin:0 0 1em}
.csm-legal-rel{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:15px;color:#46576a}
.csm-legal-others{display:flex;gap:10px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.csm-legal-others li{margin:0}
.csm-legal-toc{background:#f6f1e8;border:1px solid #e3d9c8;border-radius:14px;padding:16px 22px;margin:1.4em 0 2em}
.csm-legal-toc h2{border:0;margin:0 0 .4em;padding:0;font-size:1.1rem}
.csm-legal-toc ol{margin:0;padding-left:1.3em;columns:2;column-gap:32px}.csm-legal-toc li{margin:.25em 0;break-inside:avoid}
.csm-legal-tbl{overflow-x:auto;margin:1em 0 1.4em;border:1px solid #e3d9c8;border-radius:12px;background:#fff}
.csm-legal-tbl table{border-collapse:collapse;width:100%;min-width:560px;font-size:15px;line-height:1.55}
.csm-legal-tbl th,.csm-legal-tbl td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid #eee4d3}
.csm-legal-tbl thead th{background:#0e1c2a;color:#fff;font-weight:600}
.csm-legal-tbl tbody th{background:#faf6ee;color:var(--ink);width:26%}
.csm-legal-tbl tr:last-child td,.csm-legal-tbl tr:last-child th{border-bottom:0}
.csm-legal-note{background:#fbf3df;border:1px solid #ecd9a6;border-radius:12px;padding:4px 18px;margin:1em 0}
.csm-pend{background:#fff0b8;color:#3a2f00;padding:0 4px;border-radius:4px}
@media(max-width:640px){.csm-legal-toc ol{columns:1}.csm-legal{padding-inline:18px}}

/* 16. Páginas editoriales (Kandel) y equipo */
.csm-art{max-width:880px;margin:0 auto;padding:clamp(24px,4vw,48px) 24px clamp(48px,6vw,80px);font-size:17px;line-height:1.75;color:var(--text)}
.csm-teampage{max-width:1100px}
.csm-art h1{font-family:var(--font-display);font-size:clamp(2rem,4.2vw,3rem);line-height:1.15;color:var(--ink);margin:.2em 0 .5em}
.csm-art h2{font-family:var(--font-display);font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.25;color:var(--ink);margin:0 0 .6em;scroll-margin-top:110px}
.csm-art h3{font-size:1.15rem;color:var(--ink-2);margin:1.4em 0 .3em;scroll-margin-top:110px}
.csm-art p{margin:0 0 1em}
.csm-art a{color:var(--camel-d);text-underline-offset:3px}
.csm-art .cx-btn{text-decoration:none}
.csm-art-crumbs ol{display:flex;flex-wrap:wrap;gap:4px 10px;list-style:none;margin:0;padding:0;font-size:14.5px;color:var(--muted)}
.csm-art-crumbs li+li::before{content:"›";margin-right:10px}
.csm-art-btns{display:flex;flex-wrap:wrap;gap:12px;margin:1.4em 0 .4em!important}
.csm-art-toc{background:var(--sand);border:1px solid var(--line);border-radius:var(--r-sm);padding:16px 22px;margin:1.6em 0 2.2em}
.csm-art-toc h2{font-size:1.05rem;font-family:var(--font-body);margin:0 0 .4em}
.csm-art-toc ol{margin:0;padding-left:1.3em;columns:2;column-gap:32px}.csm-art-toc li{margin:.25em 0;break-inside:avoid;font-size:15.5px;line-height:1.5}
.csm-art-sec{padding:clamp(22px,3.5vw,38px) 0;border-top:1px solid var(--line)}
.csm-art-go{font-weight:600}
.csm-art-denise{background:var(--blue-l);border:1px solid #cfdde6;border-radius:var(--r);padding:clamp(22px,3.5vw,36px);margin:1.6em 0}
.csm-art-lab{display:inline-block;background:var(--ink);color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:4px 12px;border-radius:99px;margin:0 0 .8em!important}
.csm-art-faq details{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;margin:.6em 0}
.csm-art-faq summary{cursor:pointer;padding:14px 18px;font-weight:600;color:var(--ink);list-style:none}
.csm-art-faq summary::-webkit-details-marker{display:none}
.csm-art-faq summary::after{content:"+";float:right;font-size:1.3em;line-height:1;color:var(--camel-d)}
.csm-art-faq details[open] summary::after{content:"–"}
.csm-art-faq summary:focus-visible{outline:3px solid var(--blue-2);outline-offset:2px;border-radius:var(--r-sm)}
.csm-art-faq details>div{padding:0 18px 6px}
.csm-art-final{background:var(--ink);color:#e8eef3;border-radius:var(--r);padding:clamp(24px,4vw,44px);margin-top:1.6em;border-top:0}
.csm-art-final h2{color:#fff}.csm-art-final a:not(.cx-btn){color:var(--camel-l)}
.csm-art-aviso{background:#fbf3df;border:1px solid #ecd9a6;border-radius:12px;padding:12px 18px;font-size:15px;color:#3b2f10}
.csm-art-final .csm-art-aviso{color:#3b2f10}
.csm-art-src ul{padding-left:1.2em}
.csm-art-rev{margin-top:2em;padding:16px 20px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);font-size:15px}
.csm-team{list-style:none;margin:2em 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.csm-team-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh-1);text-align:center}
.csm-team-card img,.csm-team-ini{width:100%;max-width:240px;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%;border-radius:50%;margin:0 auto 14px;display:block}
.csm-team-ini{display:flex;align-items:center;justify-content:center;background:var(--blue-l);color:var(--blue);font:600 3rem var(--font-display)}
.csm-team-card h2{font-size:1.25rem;margin:0 0 .2em}
.csm-team-role{color:var(--muted);margin:0 0 .3em!important}.csm-team-col{font-size:15px;margin:0!important}
@media(max-width:640px){.csm-art{padding-inline:18px}.csm-art-toc ol{columns:1}}
