/* PISO ZERO — integración accesible, entrega 20261111-01.
   Estilos acotados: no sustituyen la composición ni el hero aprobados. */
:root { --pz-orange: #eb7a2a; --pz-black: #0b0b0b; }
*, *::before, *::after { box-sizing: border-box; }
:focus-visible { outline: 2px solid var(--pz-orange); outline-offset: 4px; }
main:focus { outline: none; }
main { min-width: 0; }
img { max-width: 100%; }
.row > *, .grid2 > *, .grid3 > *, .split > *, .pisos > *,
.tecban > *, .feat > *, .cta-inner > *, .cta-option > div,
.fz-grid > *, .fz-bottom > * { min-width: 0; }
.sig .t, .sig p, .pcard .ov > div { min-width: 0; overflow-wrap: anywhere; }
.sig .go { flex-shrink: 0; }
body .fz-foot .fzc { width: min(90%, 1440px); max-width: none; margin-inline: auto; }
.fz-foot .fz-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,.667fr) minmax(0,1.333fr); gap: 1.5rem; }
.fz-foot .fz-list a { overflow-wrap: anywhere; }
.fz-foot .fz-news-row { min-width: 0; }
.fz-foot .fz-news-row input { width: 0; flex: 1 1 0; }
.fz-foot .fz-news-row button { flex-shrink: 0; }
.fz-foot .fz-social { flex-wrap: wrap; }
.fz-foot .fz-bottom { align-items: flex-start; }
.fz-foot .fz-bottom span { display: inline; overflow-wrap: anywhere; }
.fz-foot :focus-visible { outline-color: var(--pz-black); }
.fz-contact-note { margin: .7rem 0 0; max-width: 44ch; font-size: .75rem; line-height: 1.5; }
.pz-example-label { padding: .6rem 1.25rem; border-bottom: 1px solid #262626; color: #aaa; font-size: .72rem; letter-spacing: .03em; font-family: 'JetBrains Mono',monospace; }
.code-tabs [role="tab"][aria-selected="true"] { color: #fff; background: rgba(255,255,255,.08); }
.code-pane[hidden] { display: none; }
body:not(.pz-tabs-ready) .code-pane { display: block; }
body:not(.pz-tabs-ready) .code-tabs { display: none; }
.card--blog { display: flex; flex-direction: column; width: 100%; }
.card--blog .card-body { flex: 1; background: #000; }
.pz-inline-links { flex-wrap: wrap; }
.particles-wrapper { pointer-events: none; background: #0b0b0b; }
.particles-wrapper canvas, [data-quote-particles] canvas { pointer-events: none; }
.particles-wrapper[data-particles-state="error"] { background: #0b0b0b; }
@media (max-width:991px) {
  .fz-foot { padding-block: 64px 40px; }
  .fz-foot .fz-grid { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 64px; gap: 2rem 1rem; }
  .fz-foot .fz-news { grid-column: 1 / -1; }
  .fz-foot .fz-grid > div:empty { display: none; }
  .fz-foot .fz-bottom { margin-top: 64px; }
  .col-6, .col-4 { min-width: 0; max-width: 100%; }
}
@media (max-width:600px) {
  .fz-foot .fz-list a { font-size: 1rem; }
  .fz-foot .fz-bottom { gap: 1.5rem; }
  .fz-foot .fz-bottom > div { width: 100%; }
  .cta-banner .cta-inner { padding: 1.5rem; }
  .logo-panel { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ind { white-space: normal; text-align: center; max-width: 100%; font-size: .7rem; padding: .55rem .5rem; }
  .sig { gap: 12px; padding: 16px; }
  .sig img { width: 88px; }
  .pz-contact-card { flex-direction: column; align-items: flex-start; }
  .pz-contact-card img { width: 100%; max-width: 180px; }
  .code-pane { padding: 1rem; }
  .code-pane pre { max-width: 100%; }
}
@media (max-width:359px) {
  .fz-foot .fz-grid { grid-template-columns: minmax(0,1fr); }
  .fz-foot .fz-news-row { flex-wrap: wrap; gap: .5rem; }
  .fz-foot .fz-news-row input { flex-basis: 100%; width: 100%; border-right: 1px solid #0b0b0b; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .hero-title .hl { animation: none; opacity: 1; transform: none; }
  .card, .card img, .card--news, .news-thumb__grey, .pcard img, .pcard .go,
  .ind, .btn .ar, .blog-img img, .button { transition: none; }
}
