/* Refinamiento editorial de la demo. Los estilos base y el punto de montaje de la agenda se conservan. */
:root{--catapaz-label:#B8D7D4;--catapaz-name:#FFFFFF;--catapaz-accent:#86CFC4;--catapaz-name-hover:#DDF4EF;--catapaz-accent-hover:#FFFFFF}
html{scroll-behavior:smooth}
body{background:#FBFAF6}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
button,a{ -webkit-tap-highlight-color:transparent }
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #176D72;outline-offset:4px}
.pie button:focus-visible,.pie a:focus-visible,.primera-visita button:focus-visible,.historia:focus-visible{outline-color:#BFE6DF}
.salto-contenido{position:fixed;top:10px;left:10px;z-index:100;padding:12px 16px;background:#fff;color:var(--deep);font-weight:700;transform:translateY(-150%)}
.salto-contenido:focus{transform:translateY(0)}
.cab nav a{transition:background .2s,color .2s}
.cab nav a:focus-visible{border-radius:8px}
.bt-link .ic{width:17px;height:17px}
.franja .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px}
.franja-aviso{flex:none;padding:2px 0;border:0;background:transparent;color:#D3F0E9;font:600 .68rem/1.4 var(--font);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.franja-aviso:hover{color:#fff}
.franja-aviso:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Hero: emblema vectorial inspirado en el sello de la clínica. */
.portada{padding:48px 0 76px;background:radial-gradient(circle at 90% 12%,rgba(134,207,196,.18),transparent 29%),#FBFAF6}
.portada-grid{align-items:center;gap:34px}
.portada-emblema{position:relative;order:0;width:100%;max-width:520px;margin:0 auto;display:grid;justify-items:center}
.emblema-escena{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1;isolation:isolate}
.emblema-escena::before{content:"";position:absolute;inset:13%;z-index:-1;border:1px solid rgba(45,151,149,.28);border-radius:50%;box-shadow:0 0 0 22px rgba(134,207,196,.065),0 0 0 58px rgba(134,207,196,.045)}
.emblema-entrada{width:100%;animation:emblema-entrar .9s cubic-bezier(.2,.75,.2,1) both}
.emblema-flota{animation:emblema-flotar 7s ease-in-out 1s infinite alternate}
.emblema-flota img{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 24px rgba(25,68,85,.16));transition:filter .4s ease,transform .4s ease}
.portada-emblema:hover .emblema-flota img{transform:scale(1.035) rotate(2deg);filter:drop-shadow(0 25px 30px rgba(25,68,85,.23))}
.emblema-firma{display:grid;justify-items:center;gap:1px;margin-top:-7px;text-align:center;color:var(--deep);animation:emblema-firma .7s .38s both}
.emblema-firma span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--teal-700)}
.emblema-firma b{font-size:clamp(1.4rem,3vw,2.25rem);line-height:1.12;letter-spacing:-.05em}
.emblema-firma small{margin-top:7px;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
@keyframes emblema-entrar{from{opacity:0;transform:translateY(26px) scale(.84) rotate(-8deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes emblema-flotar{from{transform:translateY(0)}to{transform:translateY(-11px)}}
@keyframes emblema-firma{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.portada h1{max-width:12ch;font-size:clamp(3rem,8vw,5.65rem);line-height:.99;letter-spacing:-.055em;margin-bottom:20px}
.portada h1 .mano{margin-top:.1em;white-space:nowrap}
.portada .bajada{max-width:44ch;font-size:1.08rem;line-height:1.72}
.portada .dos-suc{margin-top:30px;padding-top:20px}
.familia-foto figcaption a{color:var(--teal-700);font-weight:600;text-decoration:none}
.familia-foto figcaption a:hover{text-decoration:underline;text-underline-offset:3px}
@media(min-width:900px){
  .portada{padding:76px 0 112px}
  .portada-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,5vw,84px)}
  .portada .acciones{align-items:center}
}
@media(max-width:899px){
  .portada .dos-suc{grid-template-columns:1fr 1fr}
}
@media(min-width:700px) and (max-width:899px){
  .portada-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:20px}
  .portada{padding:62px 0 78px}
  .portada h1{font-size:clamp(3.4rem,7vw,4.2rem)}
  .portada .dos-suc{grid-template-columns:1fr;gap:7px;margin-top:17px;padding-top:13px;font-size:.78rem}
  .portada-emblema{max-width:390px}
  .emblema-firma b{font-size:1.5rem}
}
@media(max-width:600px){
  .portada{padding:26px 0 56px}
  .portada h1{font-size:clamp(2.9rem,11.4vw,4.25rem)}
  .portada .dos-suc{display:none}
  .portada-emblema{max-width:330px;margin-top:0}
  .emblema-firma{margin-top:-13px}
}
@media(max-width:370px){.cab .bt{padding:0 10px;font-size:.77rem}.marca img{width:36px;height:36px}.marca b{font-size:.87rem}}

/* Primera visita reemplaza la promoción de junio vencida. */
.primera-visita{position:relative;isolation:isolate;overflow:hidden;background:#194455;color:#E5F3EE;padding:64px 0 72px}
.primera-visita::before{content:"";position:absolute;right:-180px;top:-250px;width:560px;height:560px;border:1px solid rgba(134,207,196,.24);border-radius:50%;box-shadow:0 0 0 45px rgba(134,207,196,.055),0 0 0 90px rgba(134,207,196,.04);z-index:-1}
.primera-grid{display:grid;gap:16px}
.primera-num{display:flex;align-items:center;gap:16px;color:#BFE6DF;letter-spacing:.15em;text-transform:uppercase;font-size:.72rem;font-weight:600}
.primera-num img{width:56px;height:56px}
.primera-visita h2{color:#fff;font-size:clamp(2.15rem,5.4vw,4.15rem);line-height:1.05;letter-spacing:-.045em;max-width:12ch;margin:10px 0 0}
.primera-visita h2 em{font-family:var(--hand);color:#A9E3D8;letter-spacing:0;font-size:1.15em;font-style:normal;white-space:nowrap}
.primera-cierre p{max-width:42ch;line-height:1.7;color:#D2E6E2;margin:0 0 22px}
.primera-visita .bt{white-space:normal;text-align:center}
@media(min-width:900px){.primera-grid{grid-template-columns:90px 1.15fr .85fr;gap:34px;align-items:center}.primera-num{align-self:start;flex-direction:column;align-items:flex-start}.primera-cierre{padding-left:32px;border-left:1px solid rgba(191,230,223,.3)}}

/* Tratamientos: seleccionar informa; solo la CTA lleva a consultar. */
.sec{padding:82px 0}
.titulo{max-width:720px;margin-bottom:34px}
.titulo h2{font-size:clamp(2.2rem,5.5vw,3.65rem);letter-spacing:-.045em}
.titulo p{max-width:56ch}
.tratamientos-explorador{display:grid;grid-template-columns:minmax(230px,.35fr) minmax(0,1fr);gap:22px;align-items:stretch}
.tratamientos-selector{display:flex;flex-direction:column;align-self:stretch;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tratamientos-selector button{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-content:center;min-height:90px;width:100%;padding:17px 18px 17px 21px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--deep);font:inherit;text-align:left;cursor:pointer;transition:background .22s ease,padding .22s ease}
.tratamientos-selector button:last-child{border-bottom:0}
.tratamientos-selector button::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;background:var(--teal);transform:scaleY(0);transition:transform .22s ease}
.tratamientos-selector button small{grid-column:1;display:block;color:var(--teal-700);font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.tratamientos-selector button span{grid-column:1;display:block;font-size:clamp(.94rem,1.6vw,1.14rem);font-weight:700;letter-spacing:-.025em;line-height:1.25}
.tratamientos-selector button .ic{grid-column:2;grid-row:1/span 2;width:18px;height:18px;align-self:center;color:var(--teal);opacity:.55;transform:rotate(-45deg);transition:opacity .22s,transform .22s}
.tratamientos-selector button:hover{background:#F0F8F5;padding-left:26px}
.tratamientos-selector button[aria-selected="true"]{background:var(--mint-100);padding-left:27px}
.tratamientos-selector button[aria-selected="true"]::before{transform:scaleY(1)}
.tratamientos-selector button[aria-selected="true"] .ic{opacity:1;transform:rotate(0)}
.tratamientos-selector button:active{background:#D7EDE7}
.tratamientos-paneles{min-width:0}
.tratamiento-panel{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);min-height:450px;overflow:hidden;border-radius:22px;background:#EAF4F0;animation:tratamiento-entrar .32s ease both}
.tratamiento-panel[hidden]{display:none}
.tratamiento-visual{position:relative;min-width:0;min-height:450px;margin:0;overflow:hidden;background:#CDE6DE}
.tratamiento-visual::after{content:"";position:absolute;inset:auto 0 0;height:95px;background:linear-gradient(transparent,rgba(12,48,57,.68))}
.tratamiento-visual img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform .6s ease}
.tratamiento-panel:hover .tratamiento-visual img{transform:scale(1.035)}
#panel-evaluacion .tratamiento-visual img{object-position:center 38%}
#panel-limpieza .tratamiento-visual{background:#1D6F74}
#panel-infancia .tratamiento-visual{background:#C9E6EB}
#panel-implantes .tratamiento-visual{background:#194455}
#panel-limpieza .tratamiento-visual img,#panel-infancia .tratamiento-visual img,#panel-implantes .tratamiento-visual img{object-fit:contain;object-position:center}
.tratamiento-visual figcaption{position:absolute;z-index:1;left:18px;bottom:16px;color:#fff;font-size:.66rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;text-shadow:0 1px 7px rgba(0,0,0,.35)}
.tratamiento-visual-sello{display:grid;place-items:center;background:radial-gradient(circle at 50% 48%,#5AB5AB,#1F7378 64%,#194455)}
.tratamiento-visual-sello::before{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.44);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.06)}
.tratamiento-visual-sello img{position:relative;inset:auto;z-index:1;width:min(65%,260px);height:auto;filter:drop-shadow(0 14px 20px rgba(9,39,49,.28))}
.tratamiento-contenido{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(26px,3.3vw,44px)}
.tratamiento-indice{color:var(--teal-700);font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.tratamiento-contenido h3{max-width:15ch;margin:20px 0 15px;font-size:clamp(1.8rem,3vw,2.55rem);line-height:1.08;letter-spacing:-.05em}
.tratamiento-contenido p{max-width:39ch;margin:0;color:var(--ink-2);font-size:.93rem;line-height:1.7}
.tratamiento-cierre{display:grid;gap:3px;margin:auto 0 18px;padding:18px 0 0;border-top:1px solid #BFDAD3;width:100%}
.tratamiento-cierre span{color:var(--teal-700);font-size:.62rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.tratamiento-cierre strong{color:var(--deep);font-size:.87rem;font-weight:600}
.tratamiento-fuente{margin:-4px 0 15px;color:var(--teal-700);font-size:.78rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.tratamiento-contenido .bt{max-width:100%;white-space:normal;text-align:center;font-size:.86rem;min-height:46px;padding:8px 18px}
@keyframes tratamiento-entrar{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.tratamientos-todos{margin-top:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tratamientos-todos summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;padding:20px 4px;color:var(--deep);font-weight:600;cursor:pointer}
.tratamientos-todos summary::-webkit-details-marker{display:none}
.tratamientos-todos summary span{font-size:1.65rem;color:var(--teal);font-weight:400;line-height:1;transition:transform .2s}
.tratamientos-todos[open] summary span{transform:rotate(45deg)}
.tratamientos-todos .lista-trat{padding:8px 4px 30px}
@media(max-width:1000px){
  .tratamientos-explorador{display:block}
  .tratamientos-selector{flex-direction:row;gap:5px;overflow-x:auto;overflow-y:hidden;padding:0 0 10px;border:0;scrollbar-width:thin;scroll-snap-type:x proximity}
  .tratamientos-selector button{flex:0 0 185px;min-height:76px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;scroll-snap-align:start}
  .tratamientos-selector button::before{left:11px;right:11px;top:auto;bottom:0;width:auto;height:3px;transform:scaleX(0)}
  .tratamientos-selector button:hover,.tratamientos-selector button[aria-selected="true"]{padding-left:14px}
  .tratamientos-selector button[aria-selected="true"]::before{transform:scaleX(1)}
  .tratamientos-selector button .ic{width:15px;height:15px}
  .tratamiento-panel{min-height:420px}
  .tratamiento-visual{min-height:420px}
}
@media(max-width:620px){
  .tratamientos-selector button{flex-basis:164px;min-height:70px}
  .tratamientos-selector button span{font-size:.89rem}
  .tratamiento-panel{display:block;border-radius:18px}
  .tratamiento-visual{height:310px;min-height:0}
  #panel-evaluacion .tratamiento-visual img{object-position:center 33%}
  .tratamiento-visual-sello img{width:165px}
  .tratamiento-contenido{min-height:330px;padding:25px 23px 27px}
  .tratamiento-contenido h3{margin:12px 0 11px;font-size:2rem}
  .tratamiento-cierre{margin-top:24px}
}

/* Contenido humano y reseñas. */
.familia{background:#F0F7F3}
.familia .marco-redondo{aspect-ratio:4/5;border-radius:220px 220px 24px 24px}
.familia .marco-redondo img{object-position:center 36%}
.familia-foto figcaption{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:space-between;line-height:1.5}
.familia h2{font-size:clamp(2.15rem,5.3vw,3.5rem)}
.familia-grid{gap:45px}
.opiniones{background:#FBFAF6}
.opiniones .wrap{display:grid;gap:20px}
.nota-grande{margin:0;align-self:start}
.cita{padding:28px 32px;background:#F0F7F3;border-left:4px solid #2D9795;border-radius:2px 22px 22px 2px}
.cita::before{z-index:0;color:#D8ECE6;font-size:8rem;top:-38px;right:20px}
.cita p,.cita cite{position:relative}
.citas-chicas{margin-top:0}
.citas-chicas blockquote{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:18px 0 0}
@media(min-width:900px){.opiniones .wrap{grid-template-columns:220px 1fr;column-gap:54px}.citas-chicas{grid-column:2}.cita{grid-column:2;grid-row:1}.nota-grande{grid-column:1;grid-row:1}}

/* Selección editorial del Instagram real, cada imagen lleva a su publicación. */
.insta{background:#F3F5F0}
.insta .titulo.fila{margin-bottom:14px;max-width:none}
.insta .titulo h2{max-width:15ch;font-size:clamp(2rem,4.8vw,3.4rem)}
.insta-bajada{margin-bottom:28px;max-width:58ch;line-height:1.6}
.historias-grid{display:grid;gap:14px}
.historia{position:relative;isolation:isolate;display:block;min-height:250px;overflow:hidden;border-radius:18px;color:#fff;text-decoration:none;background:#194455;transition:transform .25s,box-shadow .25s}
.historia:hover{transform:translateY(-4px);box-shadow:0 24px 40px -30px rgba(18,53,66,.8)}
.historia::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,transparent 34%,rgba(12,36,44,.8) 100%)}
.historia img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 28%;transition:transform .45s}
.historia:hover img{transform:scale(1.035)}
.historia-principal img{object-position:center 37%}
.historia-copia{position:absolute;z-index:1;left:20px;right:20px;bottom:18px;display:grid;gap:6px;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.historia-copia small{font-size:.67rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#DCF6EF}
.historia-copia b{font-size:1.23rem;letter-spacing:-.025em;line-height:1.2;max-width:20ch}
.historia-copia>span{font-size:.78rem;font-weight:600;color:#E2F3EF}
.historia:not(.historia-principal){display:flex;flex-direction:column;min-height:0;background:#fff;color:var(--deep)}
.historia:not(.historia-principal)::after{display:none}
.historia:not(.historia-principal) img{position:relative;inset:auto;flex:none;width:100%;height:205px;object-fit:cover;object-position:center 22%}
.historia:not(.historia-principal) .historia-copia{position:relative;left:auto;right:auto;bottom:auto;flex:1;padding:15px 18px 17px;gap:3px;text-shadow:none}
.historia:not(.historia-principal) .historia-copia small{color:var(--teal-700)}
.historia:not(.historia-principal) .historia-copia b{font-size:1.05rem}
.historia:not(.historia-principal) .historia-copia>span{color:var(--teal-700)}
@media(min-width:650px){.historias-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.historia-principal{grid-row:span 2;min-height:610px}}
@media(min-width:1050px){.historias-grid{grid-template-columns:1.1fr 1fr 1fr}.historia-principal{min-height:610px}.historia:not(.historia-principal) img{height:190px}}

/* Reserva: referencia visual del SaaS, separada de su punto de montaje vacío. */
.reserva{padding-top:86px;padding-bottom:92px}
.reserva-caja{background:#E8EEE5;padding:34px 20px;border-radius:30px}
.reserva-caja::before{display:none}
.reserva-bloque{align-items:start}
.reserva-txt h2{max-width:11ch}
.reserva-frase{max-width:40ch}
.reserva-pasos{margin-top:28px}
.reserva-pasos li::before{background:#fff;color:#315C58;border-color:#C7D7CB}
.agenda-shell{position:relative;min-height:420px;border-radius:26px;background:#FBFAF6}
#agenda-saas:empty{position:absolute;inset:0;z-index:0;min-height:420px}
#agenda-saas:not(:empty){position:relative;z-index:2;min-height:420px;background:#FBFAF6;border-radius:26px}
#agenda-saas:not(:empty)+.agenda-preview{display:none}
.agenda-preview{position:relative;z-index:1;padding:28px clamp(18px,4vw,42px) 20px;background:#FBFAF6;border-radius:26px;box-shadow:0 22px 55px -36px rgba(18,53,66,.42)}
.agenda-eyebrow{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 22px;color:#48645B;font-size:.69rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.agenda-eyebrow span{color:#5E766E;border:1px solid #CAD6CB;border-radius:99px;padding:4px 9px;letter-spacing:.08em;font-size:.57rem}
.agenda-steps{list-style:none;display:flex;gap:8px;justify-content:center;align-items:center;margin:0 0 26px;padding:0;color:#8B8075;font-size:.78rem}
.agenda-steps li{display:flex;align-items:center;gap:6px;white-space:nowrap}
.agenda-steps li+li::before{content:"";width:clamp(7px,4vw,58px);height:1px;background:#DCCFC0;margin-right:2px}
.agenda-steps i{display:grid;place-items:center;flex:none;width:27px;height:27px;border:1px solid #D9C9B9;border-radius:50%;font-size:.68rem;font-style:normal;color:#9C8271}
.agenda-steps .actual{color:#274F48}
.agenda-steps .actual i{background:#436A5E;border-color:#436A5E;color:#fff}
.agenda-preview h3{margin:0 0 3px;color:#3B3936;font-size:1.12rem;letter-spacing:-.02em}
.agenda-ayuda{margin:0 0 17px;color:#83796F;font-size:.82rem}
.agenda-opcion{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin:9px 0;padding:16px 18px;border:1px solid #E5DACB;border-radius:16px;background:#F8F6F1;color:#5F785D}
.agenda-radio{width:20px;height:20px;border:1px solid #D9C8B7;border-radius:50%}
.agenda-opcion b{display:block;color:#3B3936;font-weight:500;font-size:.85rem}
.agenda-opcion small{display:block;color:#877D74;font-size:.7rem;line-height:1.4;margin-top:3px}
.agenda-opcion>span:last-child{font-size:1.3rem}
.agenda-pie{text-align:center;color:#8B8177;font-size:.68rem;margin:21px 0 0}
.reserva-contactos{margin-top:22px}
.reserva-contactos p{font-size:.85rem;color:var(--deep);font-weight:600;margin:0 0 10px}
.contactos-grid{display:grid;gap:9px}
.contactos-grid a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border:1px solid #C5D9D2;border-radius:13px;background:#fff;color:var(--deep);text-decoration:none;font-size:.9rem;font-weight:600;transition:transform .2s,border-color .2s,background .2s}
.contactos-grid a:hover,.contactos-grid a.is-preferida{background:#F0F8F5;border-color:#2D9795;transform:translateY(-2px)}
.contactos-grid a small{display:block;font-size:.72rem;color:var(--ink-2);font-weight:400;margin-top:2px}
.contactos-grid .ic{color:var(--teal);width:18px;height:18px}
@media(min-width:900px){.reserva-caja{padding:60px clamp(36px,5vw,70px)}.reserva-bloque{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(35px,6vw,90px)}.reserva-txt{position:sticky;top:120px}}
@media(max-width:899px){.reserva-agenda{display:flex;flex-direction:column}.reserva-contactos{order:-1;margin:0 0 20px}.reserva-agenda:has(#agenda-saas:not(:empty)) .agenda-shell{order:-2}}
@media(max-width:520px){.agenda-preview{padding:22px 18px 19px}.agenda-steps{font-size:.66rem;gap:4px}.agenda-steps li+li::before{width:9px}.agenda-opcion{padding:13px 12px;gap:9px}.reserva-caja{margin:0 -6px}}

/* Firma Catapaz como crédito secundario, en la misma superficie del footer. */
.pie-inferior{display:flex;flex-direction:column;gap:22px;margin-top:22px;border-top:1px solid rgba(134,207,196,.2);padding-top:20px}
.pie-inferior .aviso{border:0;padding:0;margin:0!important;color:#B8D7D4;max-width:85ch}
.catapaz-signature{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.25rem;width:fit-content;max-width:100%;min-height:44px;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;text-decoration:none;border-radius:2px}
.catapaz-signature__label{color:var(--catapaz-label);font-size:.5625rem;font-weight:600;line-height:1.5;letter-spacing:.25em;text-transform:uppercase}
.catapaz-signature__name{color:var(--catapaz-name);font-size:1.125rem;font-weight:800;line-height:1;letter-spacing:-.025em;white-space:nowrap;transition:color 160ms ease}
.catapaz-signature__dot{color:var(--catapaz-accent);transition:color 160ms ease}
.catapaz-signature:focus-visible{outline:2px solid var(--catapaz-name);outline-offset:6px}
.catapaz-signature:hover .catapaz-signature__name,.catapaz-signature:focus-visible .catapaz-signature__name{color:var(--catapaz-name-hover)}
.catapaz-signature:hover .catapaz-signature__dot,.catapaz-signature:focus-visible .catapaz-signature__dot{color:var(--catapaz-accent-hover)}
@media(min-width:900px){.pie-inferior{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:50px}.pie-inferior .aviso{flex:1}}

/* Aviso de propuesta: aparece una vez al recorrer tres cuartos de la página. */
body.modal-abierto{overflow:hidden}
.modal-propuesta{width:min(620px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:1px solid #BFDCD6;border-radius:26px;background:#FBFAF6;color:var(--deep);box-shadow:0 34px 90px rgba(9,39,49,.3)}
.modal-propuesta[open]{animation:modal-aparecer .38s cubic-bezier(.18,.8,.25,1) both}
.modal-propuesta::backdrop{background:rgba(9,37,48,.7);backdrop-filter:blur(5px)}
.modal-propuesta-cuerpo{overflow:hidden}
.modal-propuesta-cab{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 18px 14px 28px;background:var(--teal);color:#fff}
.modal-propuesta-cab span{font-size:.68rem;font-weight:700;letter-spacing:.115em;text-transform:uppercase;line-height:1.5}
.modal-propuesta-cerrar{display:grid;place-items:center;flex:none;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(255,255,255,.11);color:#fff;font:400 1.45rem/1 var(--font);cursor:pointer;transition:background .2s,transform .2s}
.modal-propuesta-cerrar:hover{background:rgba(255,255,255,.25);transform:rotate(90deg)}
.modal-propuesta-cerrar:focus-visible{outline:3px solid #fff;outline-offset:3px}
.modal-propuesta-contenido{padding:36px clamp(24px,6vw,44px) 34px}
.modal-propuesta-etiqueta{margin:0 0 14px;color:var(--teal-700);font-size:.68rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.modal-propuesta h2{max-width:13ch;margin:0 0 22px;font-size:clamp(2.25rem,6vw,3.6rem);line-height:1.08;letter-spacing:-.055em}
.modal-propuesta h2 em{display:block;color:var(--teal-700);font:700 1.18em/.92 var(--hand);letter-spacing:0;transform:rotate(-2deg);transform-origin:left center}
.modal-propuesta-aviso{display:inline-block;margin:0 0 26px;padding:10px 15px;border-left:3px solid var(--teal);border-radius:0 8px 8px 0;background:var(--mint-100);color:var(--deep);font-size:.9rem;font-weight:700;line-height:1.45}
.modal-propuesta #modal-propuesta-descripcion{margin:0;padding-top:23px;border-top:1px dashed #A9CCC7;color:var(--ink-2);font-size:.93rem;line-height:1.8}
.modal-propuesta #modal-propuesta-descripcion strong{color:var(--deep)}
.modal-saas-pantallas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:18px 0 12px;padding:0;list-style:none}
.modal-saas-pantallas li{display:flex;flex-direction:column;gap:8px;min-height:84px;padding:12px 10px;border:1px solid #C6DED6;border-radius:10px;background:#EFF7F3;color:var(--deep);font-size:.75rem;font-weight:600;line-height:1.3}
.modal-saas-pantallas li span{color:var(--teal-700);font-size:.64rem;font-weight:800;letter-spacing:.12em}
.modal-propuesta-alcance{margin:0;color:var(--ink-2);font-size:.75rem;line-height:1.55}
.modal-propuesta-pie{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px clamp(24px,6vw,44px);background:#EAF4F0}
.modal-propuesta-pie span{color:var(--teal-700);font:700 1.5rem/1 var(--hand)}
.modal-propuesta-pie .bt{font-size:.87rem;min-height:44px;padding:0 18px}
.modal-propuesta-pie .ic{width:17px;height:17px}
@keyframes modal-aparecer{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:520px){
  .modal-propuesta{width:calc(100% - 22px);max-height:calc(100dvh - 22px);border-radius:20px}
  .modal-propuesta-cab{padding:12px 13px 12px 20px}
  .modal-propuesta-cab span{font-size:.59rem;letter-spacing:.075em}
  .modal-propuesta-contenido{padding:29px 23px 25px}
  .modal-propuesta h2{font-size:clamp(2rem,9vw,2.6rem)}
  .modal-saas-pantallas{gap:5px}
  .modal-saas-pantallas li{padding:10px 8px;min-height:90px;font-size:.68rem}
  .modal-propuesta-pie{padding:18px 23px;flex-wrap:wrap}
  .modal-propuesta-pie .bt{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .tratamientos-selector button,.tratamientos-selector button::before,.tratamientos-selector button .ic,.tratamiento-visual img,.historia,.historia img,.catapaz-signature__name,.catapaz-signature__dot,.emblema-flota img,.modal-propuesta-cerrar{transition:none}
  .tratamiento-panel,.emblema-entrada,.emblema-flota,.emblema-firma,.modal-propuesta[open]{animation:none}
}
