/* ===== HOME + componentes de landing reutilizables ===== */
.psd-hero-home{position:relative;overflow:clip;display:flex;align-items:center;min-height:clamp(600px,80vh,800px);padding:44px 0 56px}
.psd-hero-home-bg{position:absolute;inset:-6% 0;z-index:0}
.psd-hero-home-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.psd-hero-home-scrim{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 58% 66% at 12% 84%,rgba(218,229,159,.30),transparent 66%),linear-gradient(90deg,rgba(250,250,247,.97) 0%,rgba(250,250,247,.93) 34%,rgba(250,250,247,.74) 54%,rgba(250,250,247,.44) 74%,rgba(250,250,247,.24) 100%)}
.psd-hero-home-inner{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center}
.psd-hero-home-copy{max-width:640px}
.psd-hero-sub{font-size:18px;max-width:58ch}
.psd-hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 24px}
.psd-hero-home .psd-btn-ghost{background:rgba(255,255,255,.55)}
.psd-hero-home-media{margin:0;position:relative;justify-self:center;width:min(100%,430px)}
.psd-hero-home-media::before{content:"";position:absolute;inset:-7%;border-radius:50%;z-index:0;background:conic-gradient(from 0deg,rgba(150,171,96,0) 8%,rgba(150,171,96,.55) 26%,rgba(218,229,159,.6) 44%,rgba(79,131,137,.35) 62%,rgba(150,171,96,0) 86%);opacity:.7}
.psd-motion .psd-hero-home-media::before{animation:psdSpin 16s linear infinite}
@keyframes psdSpin{to{transform:rotate(360deg)}}
.psd-hero-home-media img{position:relative;z-index:1;border-radius:46% 54% 52% 48%/44% 46% 54% 56%;box-shadow:0 26px 60px rgba(31,39,58,.22);aspect-ratio:1/1;object-fit:cover}
.psd-hero-home-media figcaption{position:relative;z-index:1;font-family:var(--psd-sans);font-size:13px;font-weight:700;color:var(--psd-ink);text-align:center;margin:-24px auto 0;width:max-content;max-width:100%;background:rgba(255,255,255,.78);border-radius:30px;padding:9px 18px;box-shadow:0 6px 18px rgba(31,39,58,.12)}
.psd-motion .psd-hero-home-copy>*{opacity:0;transform:translateY(12px);animation:psdUp .7s ease-out forwards}
.psd-motion .psd-hero-home-copy>*:nth-child(1){animation-delay:.05s}.psd-motion .psd-hero-home-copy>*:nth-child(2){animation-delay:.14s}.psd-motion .psd-hero-home-copy>*:nth-child(3){animation-delay:.24s}.psd-motion .psd-hero-home-copy>*:nth-child(4){animation-delay:.34s}.psd-motion .psd-hero-home-copy>*:nth-child(5){animation-delay:.45s}.psd-motion .psd-hero-home-copy>*:nth-child(6){animation-delay:.55s}.psd-motion .psd-hero-home-copy>*:nth-child(7){animation-delay:.64s}
.psd-motion .psd-hero-home-media{opacity:0;transform:translateY(14px) scale(.98);animation:psdUp .8s ease-out .3s forwards}
@keyframes psdUp{to{opacity:1;transform:none}}
.psd-strip{background:var(--psd-dark);padding:44px 0}
.psd-strip-quote{font-family:var(--psd-serif);font-style:italic;font-size:clamp(20px,2.6vw,28px);line-height:1.5;color:#fff;text-align:center;margin:0 auto;max-width:30em}
.psd-answer{font-size:19px;max-width:78ch}
/* servicios */
/* Grids auto-centrantes: fila incompleta SIEMPRE centrada (equilibrio visual = fluencia cognitiva) */
.psd-services-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;margin-top:34px}
.psd-services-grid>*{flex:0 0 calc((100% - 52px)/3);min-width:0}
.psd-service-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--psd-radius);overflow:hidden;box-shadow:var(--psd-shadow);border:1px solid #eceff2;text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s}
.psd-service-card:hover{transform:translateY(-4px);box-shadow:var(--psd-shadow-lg)}
.psd-service-card>*{position:relative;z-index:2}
.psd-service-img img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .6s}
.psd-service-card:hover .psd-service-img img{transform:scale(1.04)}
.psd-service-card h3{font-size:20px;margin:20px 22px 8px}
.psd-service-card p{margin:0 22px 14px;font-size:15.5px;flex:1}
.psd-service-more{display:block;margin:0 22px 22px;font-family:var(--psd-sans);font-size:14px;font-weight:700;color:var(--psd-green-hover)}
.psd-service-card.is-star{border:none;box-shadow:0 14px 36px rgba(31,39,58,.14);position:relative;isolation:isolate}
.psd-service-card.is-star .psd-star-ring{position:absolute;inset:-35%;z-index:0;background:conic-gradient(var(--psd-green),var(--psd-green-soft),#fff,var(--psd-green-hover),var(--psd-green));pointer-events:none}
.psd-motion .psd-service-card.is-star .psd-star-ring{animation:psdSpin 9s linear infinite}
.psd-service-card.is-star .psd-star-bg{position:absolute;inset:2.5px;border-radius:20px;background:#fff;z-index:1;pointer-events:none}
/* why */
.psd-why-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:30px}
.psd-why-grid>*{flex:0 0 calc((100% - 66px)/4);min-width:0}
.psd-why{background:#fff;border-radius:var(--psd-radius);padding:28px 26px;box-shadow:var(--psd-shadow)}
.psd-why>*{position:relative;z-index:2}
.psd-why-num{display:block;font-family:var(--psd-sans);font-weight:900;font-size:clamp(30px,9vw,46px);line-height:1;color:var(--psd-green-ink);margin-bottom:10px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.psd-why h3{font-size:17px;margin-bottom:10px}
.psd-why p{font-size:15px;margin:0}
/* equipo */
.psd-team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:30px}
.psd-team-grid>*{flex:0 0 calc((100% - 96px)/7);min-width:0}
.psd-team-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border-radius:18px;padding:10px;border:1px solid #eceff2;transition:transform .25s,box-shadow .25s}
.psd-team-card:hover{transform:translateY(-4px);box-shadow:var(--psd-shadow-lg)}
.psd-team-card>*{position:relative;z-index:2}
.psd-team-card img{aspect-ratio:1/1;object-fit:cover;border-radius:12px;width:100%}
.psd-team-card strong{font-family:var(--psd-sans);font-size:13.5px;color:var(--psd-ink);margin:10px 2px 2px}
.psd-team-card span{font-size:12.5px;line-height:1.35;color:var(--psd-body);margin:0 2px}
.psd-team-card em{font-family:var(--psd-sans);font-style:normal;font-size:11.5px;color:var(--psd-green-hover);margin:6px 2px 2px}
/* casos mini + slider */
.psd-cases-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;margin-top:30px}
.psd-cases-grid>*{flex:0 0 calc((100% - 28px)/2);min-width:0}
.psd-case-mini h3{font-size:18px;margin-bottom:12px}
.psd-ba{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 14px 40px rgba(31,39,58,.14);touch-action:pan-y}
.psd-ba img{width:100%;height:auto;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.psd-ba-beforewrap{position:absolute;inset:0;width:var(--cut,50%);overflow:hidden;will-change:width}
.psd-ba-beforewrap img{width:auto;height:100%;max-width:none}
.psd-ba-handle{position:absolute;top:0;bottom:0;left:var(--cut,50%);width:0}
.psd-ba-handle::before{content:"";position:absolute;top:0;bottom:0;left:-1.5px;width:3px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.35)}
.psd-ba-handle span{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center}
.psd-ba-handle span::before{content:"\25C2 \25B8";font-size:13px;color:var(--psd-ink);letter-spacing:2px}
.psd-ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.psd-ba-tag{position:absolute;bottom:12px;font-family:var(--psd-sans);font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:rgba(31,39,58,.72);color:#fff;padding:6px 12px;border-radius:30px;pointer-events:none}
.psd-ba-tag-a{right:12px}.psd-ba-tag-b{left:12px;opacity:0;transition:opacity .3s}
.psd-ba.is-revealed .psd-ba-tag-b{opacity:1}
.psd-ba:focus-within .psd-ba-handle span{outline:3px solid #6b4fa0;outline-offset:2px} /* 14/10/2026: foco visible con teclado */
.psd-legal{font-size:14px;color:#5c6570;max-width:90ch}
/* reviews */
.psd-reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:26px}
.psd-reviews blockquote{margin:0;background:var(--psd-bg);border-radius:18px;padding:26px;font-size:16px}
.psd-reviews blockquote::before{content:"\2605\2605\2605\2605\2605";display:block;color:#e7b93c;font-size:15px;letter-spacing:3px;margin-bottom:10px}
.psd-reviews p{margin-bottom:12px}
.psd-reviews footer{font-family:var(--psd-sans);font-size:13px;color:var(--psd-slate)}
/* guía */
.psd-guide{counter-reset:g;list-style:none;padding:0;margin:26px 0 0}
.psd-guide li{position:relative;padding:18px 20px 18px 66px;background:#fff;border-radius:16px;margin-bottom:12px;box-shadow:var(--psd-shadow)}
.psd-guide li::before{counter-increment:g;content:counter(g);position:absolute;left:16px;top:16px;width:36px;height:36px;border-radius:50%;background:var(--psd-green);color:#fff;font-family:var(--psd-sans);font-weight:900;display:flex;align-items:center;justify-content:center}
@media (max-width:1024px){.psd-services-grid>*{flex-basis:calc((100% - 26px)/2)}.psd-why-grid>*{flex-basis:calc((100% - 22px)/2)}.psd-team-grid>*{flex-basis:calc((100% - 48px)/4)}.psd-reviews{grid-template-columns:1fr}}
@media (max-width:880px){
  .psd-hero-home{min-height:auto;padding:30px 0 46px}
  .psd-hero-home-inner{grid-template-columns:1fr;gap:26px}
  .psd-hero-home-media{order:-1;width:176px;margin:6px auto 0}
  .psd-hero-home-media figcaption{font-size:12px;padding:7px 14px;margin-top:-18px}
  .psd-hero-home-scrim{background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(218,229,159,.25),transparent 70%),linear-gradient(180deg,rgba(250,250,247,.90) 0%,rgba(250,250,247,.94) 55%,rgba(250,250,247,.985) 100%)}
  .psd-hook{font-size:clamp(30px,8.6vw,38px)}
  .psd-hero-home .psd-btn{width:100%;text-align:center}
  .psd-why-grid>*,.psd-cases-grid>*{flex-basis:100%}
  /* Servicios y equipo: carrusel con scroll-snap y «asomo» de la siguiente tarjeta (affordance de swipe) */
  /* 30/09/2026: justify-content:start — el center heredado de escritorio dejaba las primeras tarjetas del carrusel fuera de alcance (a la izquierda del scroll) */
  .psd-services-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;justify-content:start;grid-auto-columns:min(76%,330px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding-bottom:14px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--psd-green) transparent}
  .psd-services-grid>*{scroll-snap-align:start}
  .psd-team-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;justify-content:start;grid-auto-columns:min(44%,190px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding-bottom:12px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--psd-green) transparent}
  .psd-team-grid>*{scroll-snap-align:start}
}
/* Icono doble de la calculadora (dos emojis en el mismo círculo) */
.psd-wiz-ico-2{font-size:12px;letter-spacing:-3px}
.psd-case-figure{margin:0;border-radius:20px;overflow:hidden;box-shadow:0 14px 40px rgba(31,39,58,.14)}
.psd-case-figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 30%}
.psd-case-figure figcaption{font-family:var(--psd-sans);font-size:13px;color:var(--psd-slate);padding:10px 14px;background:#fff}

/* anclas bajo header sticky */
.psd-section,[id]{scroll-margin-top:120px}

/* ===== Test interactivo (wizard) — único bloque violeta del sitio (Von Restorff) ===== */
.psd-wiz{--wa:#6b4fa0;--wa-soft:#efeaf9;--wa-line:#d9ccf3;position:relative;background:linear-gradient(150deg,#fff 55%,var(--wa-soft));border:2px solid var(--wa-line);border-radius:26px;padding:38px 36px 34px;box-shadow:0 18px 50px rgba(107,79,160,.14);margin-top:30px}
.psd-wiz-kicker{font-family:var(--psd-sans);font-size:12.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:var(--wa);margin:0 0 10px;display:flex;align-items:center;gap:10px}
.psd-wiz-kicker::before{content:"";width:34px;height:3px;border-radius:3px;background:var(--wa)}
.psd-wiz-progress{display:flex;gap:6px;margin:0 0 22px;max-width:280px}
.psd-wiz-progress span{height:5px;border-radius:4px;background:var(--wa-line);flex:1;transition:background .3s}
.psd-wiz-progress span.is-on{background:var(--wa)}
.psd-wiz-q{font-family:var(--psd-serif);font-size:clamp(24px,3vw,34px);line-height:1.22;color:var(--psd-ink);margin:0 0 6px;max-width:22em}
.psd-wiz-hint{font-family:var(--psd-sans);font-size:13.5px;color:var(--psd-slate);margin:0 0 20px}
.psd-wiz-arrow{width:26px;height:34px;color:var(--wa);margin:2px 0 10px}
.psd-motion .psd-wiz-arrow{animation:psdWizArrow 1.6s ease-in-out infinite}
@keyframes psdWizArrow{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.psd-wiz-opts{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.psd-wiz-opts>*{flex:0 0 calc((100% - 28px)/3);min-width:0}
/* 4 opciones → cuadrado 2×2; 2 opciones → par ancho simétrico (equilibrio visual) */
.psd-wiz-opts:has(>:nth-child(4):last-child)>*,.psd-wiz-opts:has(>:nth-child(2):last-child)>*{flex-basis:calc((100% - 14px)/2)}
.psd-wiz-opt{font-family:var(--psd-sans);font-size:15.5px;font-weight:600;text-align:left;color:var(--psd-ink);background:#fff;border:2px solid var(--wa-line);border-radius:16px;padding:16px 18px;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;align-items:center;gap:12px}
.psd-wiz-opt:hover,.psd-wiz-opt:focus-visible{border-color:var(--wa);transform:translateY(-2px);box-shadow:0 10px 24px rgba(107,79,160,.18)}
.psd-wiz-opt .psd-wiz-ico{flex:0 0 auto;width:38px;height:38px;border-radius:12px;background:var(--wa-soft);color:var(--wa);display:flex;align-items:center;justify-content:center;font-size:19px}
.psd-wiz-step[hidden]{display:none}
.psd-motion .psd-wiz-step{animation:psdUp .35s ease-out}
.psd-wiz-res{border:2px solid var(--wa);border-radius:20px;background:#fff;padding:26px 26px 24px;max-width:640px;position:relative}
.psd-motion .psd-wiz-res{animation:psdUp .35s ease-out,psdWizPulse 2.4s ease-in-out 2}
@keyframes psdWizPulse{0%,100%{box-shadow:0 0 0 0 rgba(107,79,160,.35)}50%{box-shadow:0 0 0 9px rgba(107,79,160,0)}}
.psd-wiz-res-k{font-family:var(--psd-sans);font-size:12px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--wa);margin:0 0 8px}
.psd-wiz-res h3{font-size:22px;margin:0 0 6px}
.psd-wiz-price{font-family:var(--psd-sans);font-weight:900;font-size:30px;color:var(--wa);margin:0 0 12px}
.psd-wiz-price small{font-size:14px;font-weight:600;color:var(--psd-slate)}
.psd-wiz-res ul{list-style:none;margin:0 0 18px;padding:0}
.psd-wiz-res li{position:relative;padding:4px 0 4px 28px;font-size:15.5px}
.psd-wiz-res li::before{content:"\2713";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:var(--wa-soft);color:var(--wa);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.psd-wiz-cta{display:inline-block;font-family:var(--psd-sans);font-weight:700;font-size:16px;background:var(--wa);color:#fff!important;border:2px solid var(--wa);border-radius:50px;padding:14px 26px;text-decoration:none;cursor:pointer;transition:background .25s,transform .2s,box-shadow .25s;box-shadow:0 8px 22px rgba(107,79,160,.35)}
.psd-wiz-cta:hover{background:#5a4187;border-color:#5a4187;transform:translateY(-2px)}
.psd-wiz-alt{font-family:var(--psd-sans);font-size:14.5px;margin-left:14px}
.psd-wiz-back{background:none;border:0;cursor:pointer;font-family:var(--psd-sans);font-size:13.5px;color:var(--psd-slate);padding:6px 2px;margin-top:16px;text-decoration:underline;text-underline-offset:3px}
.psd-wiz-back:hover{color:var(--wa)}
@media (max-width:1024px){.psd-wiz-opts>*{flex-basis:calc((100% - 14px)/2)}}
@media (max-width:640px){.psd-wiz{padding:26px 18px 24px}.psd-wiz-opts>*{flex-basis:100%!important}.psd-wiz-alt{display:block;margin:12px 0 0}}

/* ===== Calculadora de implantes · capa de evidencia (eco del caso, mercado, tiempos, casos reales, doctor, compartir) ===== */
.psd-wiz-echo{font-family:var(--psd-sans);font-size:14px;font-weight:700;color:var(--wa);margin:-2px 0 10px}
.psd-wiz-market{display:block;background:#fff;border:1px solid var(--wa-line);border-radius:14px;padding:12px 14px;margin:0 0 16px;max-width:520px}
.psd-wiz-market-cap{display:block;font-family:var(--psd-sans);font-size:12.5px;font-weight:600;color:var(--psd-slate);margin-bottom:9px}
.psd-wiz-market-row{display:flex;align-items:center;gap:10px}
.psd-wiz-market-you{flex:0 0 auto;font-family:var(--psd-sans);font-size:13px;font-weight:800;color:#fff;background:var(--psd-green-hover);border-radius:30px;padding:6px 12px;white-space:nowrap}
.psd-wiz-market-bar{flex:1;height:10px;border-radius:6px;background:linear-gradient(90deg,#cfe6bf,#f3dda9 55%,#eec0ad);min-width:60px}
.psd-wiz-market-max{flex:0 0 auto;font-family:var(--psd-sans);font-style:normal;font-size:12.5px;font-weight:700;color:#a3664a;white-space:nowrap}
.psd-wiz-time{font-family:var(--psd-sans);font-size:13.5px;font-weight:600;color:var(--psd-slate);background:#fff;border:1px dashed var(--wa-line);border-radius:12px;padding:9px 12px;margin:0 0 16px;max-width:520px}
.psd-wiz-wait{font-family:var(--psd-sans);font-size:13.5px;color:#7d6128;background:#fdf6e2;border-left:3px solid #e7b93c;border-radius:0 10px 10px 0;padding:9px 12px;margin:-6px 0 14px;max-width:520px}
.psd-wiz-case{margin:0 0 16px;border:1px solid var(--wa-line);border-radius:16px;overflow:hidden;background:#fff;max-width:520px}
.psd-wiz-case-imgs{display:grid;grid-template-columns:1fr 1fr;gap:2px;text-decoration:none}
.psd-wiz-case-imgs span{position:relative;display:block}
.psd-wiz-case-imgs img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s}
.psd-wiz-case-imgs:hover img{transform:scale(1.04)}
.psd-wiz-case-imgs em{position:absolute;left:8px;bottom:8px;font-family:var(--psd-sans);font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#fff;background:rgba(31,39,58,.72);border-radius:20px;padding:4px 10px}
.psd-wiz-case figcaption{font-family:var(--psd-sans);font-size:12.5px;color:var(--psd-slate);padding:9px 12px;line-height:1.45}
.psd-wiz-case figcaption a{font-weight:700;color:var(--wa);white-space:nowrap}
.psd-wiz-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:2px 0 12px}
.psd-wiz-wa{font-family:var(--psd-sans);font-weight:700;font-size:14.5px;color:#fff!important;background:#25d366;border-radius:50px;padding:12px 20px;text-decoration:none;box-shadow:0 6px 16px rgba(37,211,102,.3);transition:background .2s,transform .2s}
.psd-wiz-wa:hover{background:#1ebe5b;transform:translateY(-2px)}
.psd-wiz-share{font-family:var(--psd-sans);font-weight:700;font-size:14px;color:var(--wa);background:#fff;border:2px solid var(--wa-line);border-radius:50px;padding:11px 18px;cursor:pointer;transition:border-color .2s,transform .2s}
.psd-wiz-share:hover{border-color:var(--wa);transform:translateY(-2px)}
.psd-wiz-links{font-family:var(--psd-sans);font-size:14px;margin:0 0 4px}
.psd-wiz-links a{font-weight:700}
.psd-wiz-shared{display:none;max-width:640px;margin-top:18px;border-top:2px dashed var(--wa-line);padding-top:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.psd-wiz-onres .psd-wiz-shared{display:grid}
.psd-motion .psd-wiz-onres .psd-wiz-shared{animation:psdUp .4s ease-out}
.psd-wiz-doctor{display:flex;gap:12px;align-items:center}
.psd-wiz-doctor img{width:62px;height:62px;aspect-ratio:1/1;border-radius:50%;object-fit:cover;object-position:50% 40%;flex:0 0 auto;box-shadow:0 6px 16px rgba(31,39,58,.16)}
/* 30/09/2026: el hijo flexible es el <picture> (encogía el avatar a 17-48 px de ancho) y en la landing .psd img{height:auto} lo estiraba: círculo exacto de 62 px siempre */
.psd-wiz-doctor>picture{display:block;flex:0 0 62px;width:62px;height:62px}
.psd-wiz-doctor p{font-family:var(--psd-sans);font-size:13px;line-height:1.5;margin:0;color:var(--psd-ink)}
.psd-wiz-doctor p>span:last-child{color:var(--psd-slate)}
.psd-wiz-next{list-style:none;counter-reset:wn;margin:0;padding:0;display:grid;gap:8px}
.psd-wiz-next li{position:relative;counter-increment:wn;font-family:var(--psd-sans);font-size:13px;color:var(--psd-slate);padding-left:30px}
.psd-wiz-next li::before{content:counter(wn);position:absolute;left:0;top:-1px;width:21px;height:21px;border-radius:50%;background:var(--wa);color:#fff;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.psd-wiz-next li strong{color:var(--psd-ink)}
@media (max-width:640px){
  .psd-wiz-shared{grid-template-columns:1fr}
  .psd-wiz-actions .psd-wiz-cta,.psd-wiz-actions .psd-wiz-wa{flex:1 1 100%;text-align:center}
  .psd-wiz-market-max{display:none}
}

/* ===== Puerta de recompensa (el precio tras nombre + teléfono + consentimiento) ===== */
.psd-wiz-gate{background:linear-gradient(160deg,#fff,var(--wa-soft));border:1px solid var(--wa-line);border-radius:16px;padding:20px 20px 16px;margin:2px 0 14px;max-width:560px}
.psd-wiz-gate-k{font-family:var(--psd-sans);font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--psd-green-ink);margin:0 0 6px}
.psd-wiz-gate-t{font-family:var(--psd-serif);font-size:21px;line-height:1.25;color:var(--psd-ink);margin:0 0 4px}
.psd-wiz-gate-s{font-family:var(--psd-sans);font-size:14px;color:var(--psd-slate);margin:0 0 14px}
.psd-wiz-gate-fields{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 12px}
.psd-wiz-gate-fields input{flex:1 1 calc((100% - 10px)/2);min-width:150px;font-family:var(--psd-sans);font-size:16px;color:var(--psd-ink);background:#fff;border:2px solid var(--wa-line);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .2s}
.psd-wiz-gate-fields input:focus{border-color:var(--wa)}
.psd-wiz-gate-consent{display:flex;gap:9px;align-items:flex-start;font-family:var(--psd-sans);font-size:12.5px;line-height:1.5;color:var(--psd-slate);margin:0 0 14px;cursor:pointer}
.psd-wiz-gate-consent input{margin-top:2px;width:16px;height:16px;accent-color:var(--wa);flex:0 0 auto}
.psd-wiz-gate-consent a{font-weight:700;color:var(--wa)}
.psd-wiz-gate .psd-wiz-cta{border:0}
.psd-wiz-gate-note{font-family:var(--psd-sans);font-size:12px;font-weight:600;color:var(--psd-slate);margin:10px 0 0}
.psd-wiz-gate.is-invalid input:invalid,.psd-wiz-gate.is-invalid input[name="telefono"]{border-color:#c96f5a}
.psd-wiz-gate.is-invalid .psd-wiz-gate-consent{color:#a5533f}
.psd-motion .psd-wiz-reward:not([hidden]){animation:psdUp .45s ease-out}
/* pie doctor+pasos integrado dentro del borde de la tarjeta */
.psd-wiz-res .psd-wiz-shared{max-width:none;margin-top:14px;padding-top:14px}
/* ===== Galería inline de casos antes/después (botón llamativo + retorno fácil) ===== */
.psd-wiz-cases{margin:2px 0 12px;max-width:560px}
.psd-wiz-cases summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;font-family:var(--psd-sans);font-size:14.5px;font-weight:800;color:var(--wa);background:#fff;border:2px solid var(--wa);border-radius:50px;padding:11px 18px;transition:transform .2s,box-shadow .2s;box-shadow:0 6px 16px rgba(107,79,160,.16)}
.psd-wiz-cases summary::-webkit-details-marker{display:none}
.psd-wiz-cases summary:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(107,79,160,.24)}
.psd-wiz-cases-ico{font-size:17px}
.psd-wiz-cases-hint{font-weight:600;font-size:12px;color:var(--psd-slate);margin-left:auto}
.psd-wiz-cases[open] summary{border-radius:16px 16px 0 0}
.psd-wiz-cases-grid{display:grid;gap:12px;border:2px solid var(--wa-line);border-top:0;border-radius:0 0 16px 16px;padding:14px;background:#fff}
.psd-wiz-cases-grid figure{margin:0}
.psd-wiz-cases-grid figure>span{position:relative;display:inline-block;width:calc((100% - 4px)/2);vertical-align:top}
.psd-wiz-cases-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:10px}
.psd-wiz-cases-grid em{position:absolute;left:6px;bottom:6px;font-family:var(--psd-sans);font-style:normal;font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:#fff;background:rgba(31,39,58,.72);border-radius:20px;padding:3px 8px}
.psd-wiz-cases-grid figcaption{font-family:var(--psd-sans);font-size:12.5px;color:var(--psd-slate);padding:6px 2px 0}
.psd-wiz-cases-foot{font-family:var(--psd-sans);font-size:12.5px;color:var(--psd-slate);border:2px solid var(--wa-line);border-top:0;border-radius:0 0 16px 16px;margin:-12px 0 0;padding:10px 14px 12px;background:#fff}
.psd-wiz-cases-foot .psd-wiz-cases-close{font-family:var(--psd-sans);font-weight:800;font-size:12.5px;color:#fff;background:var(--wa);border:0;border-radius:30px;padding:7px 14px;cursor:pointer;margin-left:8px}
.psd-wiz-cases-grid{border-radius:0}
@media (max-width:640px){.psd-wiz-gate-fields input{flex-basis:100%}}

/* ===== Motor universal: cargador «Analizando tu caso…» (ilusión de esfuerzo) + doctor y pasos dentro de la tarjeta ===== */
.psd-wiz-step.is-analyzing > .psd-wiz-res{display:none}
.psd-wiz-loading{padding:38px 12px;text-align:center;font-family:var(--psd-sans);font-weight:700;color:var(--wa)}
.psd-wiz-loading p{margin:12px 0 0;font-size:16px}
.psd-wiz-loading-dots{display:inline-flex;gap:8px}
.psd-wiz-loading-dots i{width:12px;height:12px;border-radius:50%;background:var(--wa);opacity:.35;animation:psdDots 1s ease-in-out infinite}
.psd-wiz-loading-dots i:nth-child(2){animation-delay:.18s}.psd-wiz-loading-dots i:nth-child(3){animation-delay:.36s}
@keyframes psdDots{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}
.psd-wiz-res .psd-wiz-doctor{margin:0 0 14px;padding:12px 14px;border:1px solid var(--wa-line);border-radius:14px;background:#fff;max-width:520px}
.psd-wiz-res .psd-wiz-next{margin:0 0 16px;max-width:520px}
.psd-wiz-case-one{display:block!important;width:100%!important}
.psd-wiz-case-one img{aspect-ratio:4/5!important;max-height:340px;object-position:50% 30%}
.psd-wiz-cases-grid .psd-wiz-case-single .psd-wiz-case-one img{aspect-ratio:4/5!important}
/* Hero: el botón fantasma mantiene fondo sólido al pasar el ratón (antes quedaba blanco sobre blanco) */
.psd-hero-home .psd-btn-ghost:hover{background:var(--psd-green-ink);border-color:var(--psd-green-ink);color:#fff!important}

/* ===== Precios orientativos en la home (datos de inc/prices.php): anclaje «gratis» + 5 precios de mayor intención ===== */
.psd-price-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-top:28px}
.psd-price-grid .psd-price-card{flex:1 1 176px;max-width:calc((100% - 80px)/6);min-width:170px;background:#fff;border-radius:18px;padding:22px 16px 20px;box-shadow:0 8px 24px rgba(31,39,58,.06);border:1px solid rgba(150,171,96,.28);text-align:center;text-decoration:none;color:var(--psd-ink);position:relative;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.psd-price-grid .psd-price-card::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,var(--psd-green),var(--psd-green-soft));opacity:0;transition:opacity .35s}
.psd-price-grid .psd-price-card:hover,.psd-price-grid .psd-price-card:focus-visible{transform:translateY(-4px);box-shadow:0 16px 36px rgba(31,39,58,.12);border-color:rgba(150,171,96,.6);color:var(--psd-ink)}
.psd-price-grid .psd-price-card:hover::after{opacity:1}
.psd-price-grid .psd-price-card b{display:block;font-family:var(--psd-sans);font-weight:900;font-size:clamp(22px,2vw,27px);line-height:1.05;color:var(--psd-green-ink);font-variant-numeric:tabular-nums;letter-spacing:-.4px}
.psd-price-grid .psd-price-card b small{display:block;font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--psd-slate);margin-bottom:8px;letter-spacing:.8px;line-height:1.3}
.psd-price-grid .psd-price-card span{display:block;font-size:14px;color:var(--psd-body);margin-top:9px;line-height:1.38}
.psd-price-grid .psd-price-card.is-free b{color:var(--psd-teal-ink)}
.psd-prices-home .psd-center{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:26px}
.psd-prices-home .psd-legal{margin:18px auto 0;text-align:center}
@media (max-width:880px){.psd-price-grid .psd-price-card{flex-basis:calc(50% - 8px);max-width:calc(50% - 8px);min-width:0;padding:18px 12px 16px}.psd-price-grid .psd-price-card b{font-size:22px}}

/* ===== Página /precios/: navegación por áreas + tablas por grupo ===== */
.psd-price-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:26px 0 6px;padding:0;list-style:none}
.psd-price-nav a{display:inline-block;font-family:var(--psd-sans);font-weight:700;font-size:14px;padding:10px 16px;border-radius:999px;background:#fff;border:1.5px solid rgba(150,171,96,.5);color:var(--psd-ink);text-decoration:none;transition:background .25s,color .25s,border-color .25s}
.psd-price-nav a:hover,.psd-price-nav a:focus-visible{background:var(--psd-green-ink);border-color:var(--psd-green-ink);color:#fff}
.psd-price-group{scroll-margin-top:110px}
.psd-price-group .psd-table td:last-child{font-family:var(--psd-sans);font-weight:800;white-space:nowrap;color:var(--psd-green-ink)}
.psd-price-group .psd-table tr.is-free td:last-child{color:var(--psd-teal-ink)}
.psd-price-group-link{margin-top:14px;font-family:var(--psd-sans);font-weight:700}
.psd-price-hero-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:18px 0 0;padding:0;list-style:none;font-family:var(--psd-sans);font-size:14.5px;font-weight:600;color:var(--psd-slate)}
.psd-price-hero-facts li::before{content:"✓";display:inline-block;margin-right:6px;color:var(--psd-green-ink);font-weight:900}

.psd-prices-home{background:linear-gradient(180deg,#fff 0%,rgba(218,229,159,.22) 100%)}
.psd-price-grid .psd-price-card b em{display:block;font-style:normal;font-size:12.5px;font-weight:700;letter-spacing:.4px;color:var(--psd-slate);margin-bottom:2px}
.psd-price-grid .psd-price-card b{white-space:nowrap}
/* Tablas de precios en móvil: filas apiladas (tratamiento + qué incluye a la izquierda, precio a la derecha), sin scroll lateral */
@media (max-width:880px){
  #psd-precios .psd-table-wrap,.psd-price-group .psd-table-wrap{overflow:visible;margin-top:18px}
  #psd-precios .psd-table,.psd-price-group .psd-table{min-width:0;display:block;border-radius:16px}
  #psd-precios .psd-table thead,.psd-price-group .psd-table thead{display:none}
  #psd-precios .psd-table tbody,.psd-price-group .psd-table tbody{display:block}
  #psd-precios .psd-table tr,.psd-price-group .psd-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:3px;padding:13px 16px;border-bottom:1px solid #eef0f2;align-items:center}
  #psd-precios .psd-table tr:nth-child(even) td,.psd-price-group .psd-table tr:nth-child(even) td{background:transparent}
  #psd-precios .psd-table tr:nth-child(even),.psd-price-group .psd-table tr:nth-child(even){background:#fafbf7}
  #psd-precios .psd-table td,.psd-price-group .psd-table td{display:block;padding:0;border:0;background:transparent}
  #psd-precios .psd-table td:nth-child(1),.psd-price-group .psd-table td:nth-child(1){grid-column:1;font-family:var(--psd-sans);font-weight:700;font-size:15.5px;color:var(--psd-ink)}
  #psd-precios .psd-table td:nth-child(2),.psd-price-group .psd-table td:nth-child(2){grid-column:1;font-size:13.5px;line-height:1.4;color:#5c6570}
  #psd-precios .psd-table td:nth-child(3),.psd-price-group .psd-table td:nth-child(3){grid-column:2;grid-row:1/span 2;font-family:var(--psd-sans);font-weight:800;font-size:16px;color:var(--psd-green-ink);white-space:nowrap;text-align:right}
  #psd-precios .psd-table td:nth-child(3) strong{white-space:nowrap}
}
.psd-price-grid .psd-price-card b small{white-space:normal}

/* Casos de blanqueamiento en el test/calculadora: la foto antes/después se ve entera (proporción real 4:5) */
.psd-wiz-case-one img{aspect-ratio:auto!important;height:auto;max-height:none;object-fit:contain}
.psd-wiz-case .psd-wiz-case-one{max-width:320px}
.psd-wiz-cases-grid figure.psd-wiz-case-single img{aspect-ratio:auto;height:auto;object-fit:contain}
.psd-wiz-cases-grid figure.psd-wiz-case-single .psd-wiz-case-one{max-width:320px}
/* Test: la foto antes/después ya lleva sus etiquetas → sin pastilla superpuesta y tarjeta ajustada a la foto */
.psd-wiz-case-one em{display:none}
.psd-wiz-case:has(.psd-wiz-case-one){max-width:340px}
.psd-wiz-cases-grid figure.psd-wiz-case-single{max-width:340px}
/* Portada · casos: implantes (4:3) y blanqueamiento (4:5) con la misma altura visual */
@media (min-width:881px){#psd-casos-home .psd-cases-grid>*:first-child{flex-basis:calc((100% - 28px)*.64)}#psd-casos-home .psd-cases-grid>*:last-child{flex-basis:calc((100% - 28px)*.36)}}

/* ===== 23/09/2026 · Casos antes/después: selector de vista (sonrisa / interior de la boca) bajo el comparador ===== */
.psd-ba-views{display:inline-flex;gap:4px;margin-top:14px;padding:4px;border-radius:999px;background:rgba(31,39,58,.05);border:1px solid rgba(31,39,58,.08);max-width:100%}
.psd-ba-view{appearance:none;border:0;background:transparent;font:600 13.5px/1.1 var(--psd-sans);color:var(--psd-slate);padding:10px 16px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:background .25s,color .25s,box-shadow .25s}
.psd-ba-view:hover{color:var(--psd-ink)}
.psd-ba-view.is-on{background:#fff;color:#5b3f94;box-shadow:0 2px 10px rgba(31,39,58,.12)}
.psd-ba-view:focus-visible{outline:3px solid #6b4fa0;outline-offset:2px}
.psd-ba img{transition:opacity .25s}
.psd-case-mini>p{margin:12px 0 0;font-size:15px;color:var(--psd-slate)}
@media (max-width:420px){.psd-ba-view{padding:9px 12px;font-size:13px}}
/* Antes y después con encuadres distintos: una foto sobre otra, enteras y rotuladas (sin superponer) */
.psd-ba-pair{display:grid;gap:10px;border-radius:20px;overflow:hidden;box-shadow:0 14px 40px rgba(31,39,58,.14);background:#fff}
.psd-ba-pair-item{position:relative;margin:0}
.psd-ba-pair-item img{display:block;width:100%;height:auto}
.psd-ba-pair-item .psd-ba-tag{left:12px;right:auto;bottom:auto;top:12px;opacity:1}
.psd-ba-pair-item.is-after .psd-ba-tag{background:rgba(95,114,56,.9)}
/* Lemas y cifras de «Por qué…»: nunca se parten a mitad de palabra (el JS ajusta el tamaño si no caben) */
.psd-why-num{overflow-wrap:normal;word-break:normal;white-space:nowrap}
/* Test: iconos dobles (🦷🦷) caben en su pastilla en una línea */
.psd-wiz-opt .psd-wiz-ico.psd-wiz-ico-2{font-size:12px;letter-spacing:-3px;white-space:nowrap}
/* /casos/: títulos de los casos antiguos de ortodoncia (bloques del editor) sin palabras partidas */
#psd-casos-ortodoncia .uagb-heading-text,#psd-casos-ortodoncia h4{overflow-wrap:normal!important;word-break:normal!important;hyphens:manual;font-size:clamp(18px,1.2vw + 10px,22px)!important;line-height:1.25!important}

/* ===== 29/09/2026 · Textos que no caben en su caja en pantallas de 320–360 px (medido en el staging) ===== */
@media (max-width:360px){
  .psd-price-grid .psd-price-card{padding:16px 10px 14px}
  .psd-price-grid .psd-price-card b small{font-size:10.5px;letter-spacing:.2px}
  .psd-wiz{padding:22px 12px 20px}
  .psd-wiz-gate{padding:16px 12px 12px}
  .psd-wiz-gate .psd-wiz-cta,.psd-wiz-actions .psd-wiz-cta{white-space:normal;font-size:14px;padding-left:14px;padding-right:14px;max-width:100%;box-sizing:border-box}
  .psd-wiz-res h3{font-size:19px}
}
/* Tablas de precios apiladas: la 1.ª columna nunca es más estrecha que su palabra más larga (no pisa el precio) */
@media (max-width:880px){
  #psd-precios .psd-table tr,.psd-price-group .psd-table tr{grid-template-columns:minmax(min-content,1fr) auto}
}
@media (max-width:360px){
  #psd-precios .psd-table tr td:nth-child(3),.psd-price-group .psd-table tr td:nth-child(3),#psd-precios .psd-table tr td:last-child,.psd-price-group .psd-table tr td:last-child{white-space:normal!important;text-align:right;max-width:9.5em;overflow-wrap:normal}
}
/* /casos/: casos antiguos de ortodoncia (bloques del editor) con menos relleno en móvil para que título y comparador quepan */
@media (max-width:480px){
  #psd-casos-ortodoncia .wp-block-uagb-container{padding-left:12px!important;padding-right:12px!important;margin-left:0!important;margin-right:0!important;max-width:100%!important}
  #psd-casos-ortodoncia .wp-block-uagb-advanced-heading{padding-left:0!important;padding-right:0!important}
  #psd-casos-ortodoncia .uagb-heading-text{font-size:clamp(15px,5vw,20px)!important}
  #psd-casos-ortodoncia .bafg-twentytwenty-container,#psd-casos-ortodoncia img{max-width:100%!important}
}
@media (max-width:360px){#psd-precios .psd-table tr td:nth-child(3) strong,.psd-price-group .psd-table tr td:last-child strong{white-space:normal}}

/* 14/10/2026 · /casos/ higiene y conservadora: una tarjeta por fila, mismo ancho; la pareja oclusal antes|después en dos columnas */
.psd-cases-stack>*{flex-basis:100%;max-width:900px}
@media (min-width:720px){.psd-cases-stack .psd-ba-pair{grid-template-columns:1fr 1fr}}
