/* Calmaquip · repartidor de sector — primera pantalla de calmaquipdom.net.
   Mismo vocabulario que los dos sitios: radios grandes, píldoras, velo del navy
   corporativo sobre foto real. Aquí no hay contenido que leer: hay una decisión
   que tomar, así que las dos puertas ocupan la pantalla y todo lo demás cede. */
:root{
--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 7h21M16 1l6 6-6 6'/%3E%3C/svg%3E");
--deep:#020B33;
--r-panel:32px;
--r-media:24px;
/* Velos medidos sobre los píxeles reales de cada foto: el quirófano es claro y
   la lavandería es media, así que no pueden llevar la misma opacidad. */
--veil-med:linear-gradient(175deg,rgba(3,16,77,.60) 0%,rgba(2,11,51,.80) 55%,rgba(2,11,51,.93) 100%);
--veil-pro:linear-gradient(175deg,rgba(38,66,8,.64) 0%,rgba(24,43,5,.85) 55%,rgba(15,28,3,.95) 100%);
}
*{box-sizing:border-box}
html{height:100%}
body{margin:0;min-height:100%;display:flex;flex-direction:column;background:var(--deep);color:#fff;font:var(--type-body);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.in{max-width:1240px;margin:0 auto;padding:0 clamp(18px,3vw,34px);width:100%}

.skip{position:absolute;left:-9999px;top:0;z-index:20;background:#fff;color:var(--deep);padding:10px 16px;border-radius:0 0 12px 0;font:var(--fw-semibold) 14px/1 var(--font-sans)}
.skip:focus{left:0}

/* ---------- encabezado ---------- */
.head{flex:0 0 auto;padding:clamp(16px,2.2vw,26px) 0}
.head .in{display:flex;align-items:center;gap:20px}
.head .mark{height:clamp(34px,3.4vw,44px);width:auto}
.head .gt{font:var(--fw-medium) 12.5px/1 var(--font-sans);letter-spacing:.02em;color:rgba(255,255,255,.72);padding:8px 14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;transition:color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard)}
.head .gt:hover{color:#fff;border-color:rgba(255,255,255,.5)}

/* ---------- las dos puertas ---------- */
.split{flex:1 1 auto;display:flex;gap:clamp(10px,1.1vw,16px);padding:0 clamp(18px,3vw,34px) clamp(10px,1.4vw,18px);min-height:clamp(430px,58vh,620px)}
.door{position:relative;flex:1 1 50%;display:flex;align-items:flex-end;overflow:hidden;border-radius:var(--r-panel);isolation:isolate;
  transition:flex-grow var(--dur-slow) var(--ease-standard)}
.door .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  transform:scale(1.04);transition:transform 900ms var(--ease-standard)}
.door .veil{position:absolute;inset:0;z-index:1}
.med .veil{background:var(--veil-med)}
.pro .veil{background:var(--veil-pro)}
.door .body{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:clamp(9px,1vw,14px);padding:clamp(26px,3.4vw,48px);width:100%;max-width:560px}

.eye{display:inline-flex;align-items:center;gap:9px;font:var(--fw-semibold) 12px/1 var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.eye::before{content:"";width:26px;height:3px;border-radius:999px;background:currentColor}

.ttl{display:block;font:var(--fw-black) clamp(34px,4.4vw,60px)/1.02 var(--font-sans);letter-spacing:-.025em;color:#fff}
/* Un lado tiene título de una línea y el otro de dos: se reserva la misma altura
   para que las dos puertas alineen el texto y el botón. */
@media(min-width:861px){.ttl{min-height:calc(2 * 1.02em)}}
.ttl em{display:block;font-style:normal;font-weight:var(--fw-light);opacity:.88}

.lead{max-width:44ch;font:var(--fw-regular) clamp(14.5px,1.15vw,16.5px)/1.6 var(--font-sans);color:rgba(255,255,255,.9)}

/* Marca de la última elección, la escribe app.js solo si ya visitó antes. */
.last{display:inline-flex;align-items:center;gap:7px;font:var(--fw-semibold) 11px/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--deep);background:#fff;border-radius:999px;padding:6px 11px;margin-bottom:2px}
.pro .last{color:#2E4D0A}

.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:2px}
.chips span{font:var(--fw-medium) 12px/1 var(--font-sans);color:rgba(255,255,255,.94);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:7px 12px}

.go{margin-top:clamp(6px,1vw,12px);display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 28px;border-radius:999px;background:#fff;font:var(--fw-semibold) 15px/1 var(--font-sans);
  transition:gap var(--dur-base) var(--ease-standard),transform var(--dur-base) var(--ease-standard)}

.med .go{color:#03104D}
.pro .go{color:#2E4D0A}
/* La puerta institucional aún no abre: su botón lo dice, no finge ser una entrada.
   Va después de .med/.pro .go y con .door delante (0,3,0) para no perder el desempate. */
.door .go.pronto{background:transparent;border:1.5px solid rgba(255,255,255,.66);color:#fff}
.door:hover .go.pronto{background:rgba(255,255,255,.14);border-color:#fff}
.go i{width:17px;height:17px;background:currentColor;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat}

/* Al apuntar una puerta, esa crece y la otra cede: la decisión se siente antes
   de hacer clic. Con el teclado pasa lo mismo vía :focus-visible. */
@media (hover:hover) and (min-width:861px){
  .door:hover,.door:focus-visible{flex-grow:1.34}
  .door:hover .ph,.door:focus-visible .ph{transform:scale(1.1)}
  .door:hover .go,.door:focus-visible .go{gap:14px;transform:translateY(-1px)}
}
.door:focus-visible{outline:3px solid #fff;outline-offset:-3px}

/* ---------- pie ---------- */
.base{flex:0 0 auto;padding:clamp(14px,1.8vw,22px) 0 clamp(18px,2.4vw,30px)}
.base .in{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap}
.base p{margin:0;font:var(--fw-regular) 13.5px/1.5 var(--font-sans);color:rgba(255,255,255,.72)}
.base b{font-weight:var(--fw-semibold);color:#fff}
.base .legal{display:inline-block;margin-top:6px;color:rgba(255,255,255,.6)}
.base .right{display:flex;align-items:center;gap:clamp(14px,2vw,26px);flex-wrap:wrap}
.base .help a{color:#fff;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:1px}
.soc{display:flex;gap:8px}
.soc a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.72);transition:color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),background var(--dur-fast) var(--ease-standard)}
.soc a:hover{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.08)}
.soc i{width:17px;height:17px;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.ic-instagram{-webkit-mask-image:url(assets/icons/instagram.png);mask-image:url(assets/icons/instagram.png)}
.ic-facebook{-webkit-mask-image:url(assets/icons/facebook.png);mask-image:url(assets/icons/facebook.png)}
.ic-linkedin{-webkit-mask-image:url(assets/icons/linkedin.png);mask-image:url(assets/icons/linkedin.png)}
.base .help a:hover{border-bottom-color:#fff}

@media (max-width:860px){
  body{min-height:auto}
  .split{flex-direction:column;min-height:0;padding-bottom:16px}
  .door{min-height:clamp(380px,62vh,480px)}
  .base .in{flex-direction:column;gap:8px}
}
@media (prefers-reduced-motion:reduce){
  .door,.door .ph,.go{transition:none}
}
