/* La landing comparte el sistema visual del CV: anchura, tipografía, vidrio y ritmo. */
.page-landing{
  font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.page-landing .wrap{
  width:min(1200px,calc(100% - 42px));
  max-width:1200px;
  padding-inline:0;
}
.page-landing .barra{
  width:min(1200px,calc(100% - 42px));
  max-width:1200px;
  margin:12px auto 0;
  padding:10px 12px 10px 18px;
}
.page-landing .marca{font-weight:750}
.page-landing .barra nav{gap:1px}
.page-landing .barra nav a{font-size:13px;font-weight:650;padding:9px 12px}
.page-landing .barra nav a.btn{padding-inline:17px}
.page-landing .menu-toggle{font-weight:750}
.page-landing .vidrio{
  border:1px solid var(--sup-borde);
  background:var(--vidrio);
  box-shadow:var(--sombra),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.page-landing .vidrio::before{display:none}
.page-landing .btn{font-size:14px;font-weight:750;padding:12px 23px}
.page-landing .enlace{font-size:14px;font-weight:700}
.page-landing .rotulo{font-weight:800}
.page-landing .hero{
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  gap:clamp(26px,4vw,55px);
  min-height:550px;
  padding:95px 0 75px;
}
.page-landing .hero h1{
  max-width:11ch;
  margin:18px 0 26px;
  font-size:clamp(55px,6.8vw,96px);
  line-height:1.03;
  letter-spacing:-.07em;
}
.page-landing .hero .lead{font-size:18px;line-height:1.68}
.page-landing .hero .acts{gap:17px 24px;margin-top:34px}
.page-landing .hero-work{
  align-self:center;
  max-height:535px;
  border:1px solid var(--sup-borde);
  border-radius:24px;
  background:var(--vidrio);
  box-shadow:var(--sombra),inset 0 1px 0 rgba(255,255,255,.08);
}
.page-landing .hero-work-head{padding:18px 20px}
.page-landing .hero-work-link{padding:16px 20px}
.page-landing .proof-strip{
  margin-top:0;
  padding:20px 23px;
  border:1px solid var(--sup-borde);
  border-radius:23px;
  background:var(--vidrio);
  box-shadow:var(--sombra),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.page-landing .cabecera{padding-block:85px 30px;max-width:760px}
.page-landing .cabecera h2{
  font-size:clamp(39px,5vw,65px);
  line-height:1.05;
  letter-spacing:-.06em;
}
.page-landing .cabecera p{font-size:16px;line-height:1.65}
.page-landing .svc,
.page-landing .trabajo,
.page-landing .demo,
.page-landing .pregunta{
  border-radius:22px;
  border:1px solid var(--sup-borde);
}
.page-landing .svc{padding:25px 24px}
.page-landing .svc h3{font-size:27px}
.page-landing .trabajo{padding:32px}
.page-landing .trabajo h3{font-size:30px}
.page-landing .contacto{
  border-radius:24px;
  border:1px solid var(--sup-borde);
  background:var(--vidrio);
  box-shadow:var(--sombra),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.page-landing .form-contacto input,
.page-landing .form-contacto textarea{
  border:1px solid var(--sup-borde);
  border-radius:12px;
  background:var(--sup-1);
}
.page-landing .chat-panel{border:1px solid var(--sup-borde)}
@media(max-width:820px){
  .page-landing .hero{grid-template-columns:1fr;min-height:0;gap:28px}
  .page-landing .hero-work{width:100%;max-width:640px}
}
@media(max-width:760px){
  .page-landing .barra{top:calc(8px + env(safe-area-inset-top,0px));border-radius:24px;margin-top:8px;padding:9px 10px 9px 15px}
  .page-landing .barra nav{gap:3px}
  .page-landing .barra nav a{font-size:13px}
}
@media(max-width:620px){
  .page-landing .wrap,.page-landing .barra{width:calc(100% - 32px)}
  .page-landing .hero{padding:58px 0 45px}
  .page-landing .hero h1{font-size:clamp(51px,11vw,72px)}
  .page-landing .hero .lead{font-size:16px}
  .page-landing .hero-work-body{gap:14px;padding:20px 16px 15px}
  .page-landing .hero-work-phone{width:min(100%,155px)}
  .page-landing .proof-strip{padding:18px}
  .page-landing .cabecera{padding-block:70px 26px}
  .page-landing .trabajo{padding:24px 19px}
  .page-landing .contacto{padding:40px 20px}
}


.page-landing .chat-inline{border:0;padding:0;background:none;color:var(--acento-texto);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.page-landing .chat-inline:hover{text-decoration:underline;text-underline-offset:4px}
.page-landing .chat-abrir{transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .2s ease,box-shadow .2s ease}
.page-landing .chat-abrir:hover{transform:translateY(-3px);box-shadow:0 20px 36px -12px rgba(255,150,20,.68)}
.page-landing .chat-abrir.is-dormant{opacity:0;transform:translateY(12px);pointer-events:none}
@media(prefers-reduced-motion:reduce){.page-landing .chat-abrir{transition:none}}
