/* Comunidades de propietarios: edificio en sección */
main.pv-comunidades-de-propietarios {
  --ce-k: 13px;
  --ce-wall: var(--ink);
  background: var(--bg);
  overflow-x: clip;
}
main.pv-comunidades-de-propietarios p, main.pv-comunidades-de-propietarios h1, main.pv-comunidades-de-propietarios h2,
main.pv-comunidades-de-propietarios h3, main.pv-comunidades-de-propietarios dl, main.pv-comunidades-de-propietarios dd,
main.pv-comunidades-de-propietarios figure, main.pv-comunidades-de-propietarios blockquote { margin: 0; }

html.js main.pv-comunidades-de-propietarios .ce-a { opacity: 0; transform: translateY(18px); transition: opacity 900ms var(--ease), transform 900ms var(--ease); transition-delay: calc(var(--d, 0) * 90ms); }
body.loaded main.pv-comunidades-de-propietarios .ce-a { opacity: 1; transform: none; }

main.pv-comunidades-de-propietarios .ce-h2 {
  font-family: var(--display); font-weight: 600; color: var(--ink);
  font-size: clamp(25px, 2.4vw, 32px); line-height: 1.1; letter-spacing: -0.03em; max-width: 22ch;
}
main.pv-comunidades-de-propietarios .ce-sub { margin-top: 14px; font-size: 18px; line-height: 1.6; color: var(--muted); }

/* ---------- Cabecera ---------- */
main.pv-comunidades-de-propietarios .ce-hero { padding: 136px 0 0; }
main.pv-comunidades-de-propietarios .ce-hero-g { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; align-items: stretch; }
main.pv-comunidades-de-propietarios .ce-hero-copy { grid-column: 1 / span 7; display: flex; flex-direction: column; padding: 28px 0 0; }
main.pv-comunidades-de-propietarios .ce-crumb {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; color: var(--muted); text-decoration: none;
  font-size: var(--ce-k); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 30px;
}
main.pv-comunidades-de-propietarios .ce-crumb::before { content: ""; width: 14px; height: 1px; background: currentColor; transition: width 300ms var(--ease); }
main.pv-comunidades-de-propietarios .ce-crumb:hover { color: var(--ink); }
main.pv-comunidades-de-propietarios .ce-crumb:hover::before { width: 26px; }
main.pv-comunidades-de-propietarios .ce-h1 {
  font-family: var(--display); font-weight: 600; color: var(--ink);
  font-size: clamp(32px, 4.32vw, 51px); line-height: 1; letter-spacing: -0.04em; max-width: 12ch;
}
main.pv-comunidades-de-propietarios .ce-claim { margin-top: 26px; font-size: clamp(16px, 1.16vw, 18px); line-height: 1.55; color: var(--body); max-width: 34ch; }
main.pv-comunidades-de-propietarios .ce-act { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 36px; }
main.pv-comunidades-de-propietarios .ce-tel {
  display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none;
  font-family: var(--display); font-weight: 600; font-size: 16px; font-variant-numeric: tabular-nums;
  border-bottom: 1px solid var(--line); padding-bottom: 3px; transition: border-color 250ms var(--ease);
}
main.pv-comunidades-de-propietarios .ce-tel:hover { border-color: var(--ink); }
main.pv-comunidades-de-propietarios .ce-tel .icon { width: 16px; height: 16px; color: var(--navy); }

/* Placa de portal con las cifras */
main.pv-comunidades-de-propietarios .ce-plate {
  margin-top: auto; padding-top: 56px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
}
main.pv-comunidades-de-propietarios .ce-plate > div { border-top: 2px solid var(--ink); padding: 16px 20px 0 0; }
main.pv-comunidades-de-propietarios .ce-plate > div + div { padding-left: 20px; border-left: 1px solid var(--line); }
main.pv-comunidades-de-propietarios .ce-plate dt { font-size: var(--ce-k); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
main.pv-comunidades-de-propietarios .ce-plate dd { font-family: var(--display); font-weight: 600; font-size: 16px; line-height: 1.3; letter-spacing: -0.015em; color: var(--ink); }

main.pv-comunidades-de-propietarios .ce-hero-fig { grid-column: 8 / -1; min-width: 0; position: relative; min-height: 600px; overflow: hidden; background: var(--bg-soft); }
main.pv-comunidades-de-propietarios .ce-hero-fig img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; display: block; }

/* ---------- Entrada ---------- */
main.pv-comunidades-de-propietarios .ce-lead { padding: 120px 0; }
main.pv-comunidades-de-propietarios .ce-lead-g { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; align-items: start; }
main.pv-comunidades-de-propietarios .ce-lead-g .ce-h2 { grid-column: 1 / span 5; }
main.pv-comunidades-de-propietarios .ce-lead-t { grid-column: 7 / -1; font-family: var(--display); font-weight: 500; font-size: clamp(18px, 1.36vw, 21px); line-height: 1.55; letter-spacing: -0.012em; color: var(--ink); }

/* ---------- Edificio en sección ---------- */
main.pv-comunidades-de-propietarios .ce-sec { padding: 0 0 128px; }
main.pv-comunidades-de-propietarios .ce-sec-head { margin-bottom: 64px; }
main.pv-comunidades-de-propietarios .ce-bldg { display: grid; grid-template-columns: minmax(0, 1fr) 300px; grid-template-rows: auto 1fr; column-gap: 32px; }
main.pv-comunidades-de-propietarios .ce-roof {
  grid-column: 1; grid-row: 1; position: relative; height: 18px; margin-top: 22px !important;
  border-left: 2px solid var(--ce-wall); border-right: 2px solid var(--ce-wall); margin: 0 28px;
}
/* Pretil y chimeneas */
main.pv-comunidades-de-propietarios .ce-roof::before { content: ""; position: absolute; left: -2px; right: -2px; top: 0; height: 2px; background: var(--ce-wall); }
main.pv-comunidades-de-propietarios .ce-roof::after {
  content: ""; position: absolute; top: -22px; left: 18%; width: 12px; height: 22px; background: var(--ce-wall);
  box-shadow: 40px 8px 0 0 var(--ce-wall);
}
main.pv-comunidades-de-propietarios .ce-fls { grid-column: 1; grid-row: 2; list-style: none; margin: 0; padding: 0; }
main.pv-comunidades-de-propietarios .ce-fl {
  position: relative; display: grid; grid-template-columns: 230px minmax(0, 1fr) auto; gap: 0 32px; align-items: start;
  margin: 0 28px; padding: 32px 32px 34px; min-height: 150px;
  border-left: 2px solid var(--ce-wall); border-right: 2px solid var(--ce-wall); border-top: 4px solid var(--ce-wall);
  transition: background 400ms var(--ease);
}
@media (hover: hover) and (pointer: fine) { main.pv-comunidades-de-propietarios .ce-fl:hover { background: var(--navy-soft); } }
/* Rasante: la línea de tierra sobresale bajo el portal */
main.pv-comunidades-de-propietarios .ce-fl-sotano { border-top-width: 4px; background: repeating-linear-gradient(135deg, transparent 0 9px, rgba(29,36,82,.07) 9px 10px); min-height: 0; padding-top: 26px; padding-bottom: 28px; border-bottom: 2px solid var(--ce-wall); }
main.pv-comunidades-de-propietarios .ce-fl-sotano::before { content: ""; position: absolute; top: -4px; left: -30px; right: -30px; height: 4px; background: var(--ce-wall); }
main.pv-comunidades-de-propietarios .ce-fl-name { display: flex; align-items: center; gap: 16px; }
main.pv-comunidades-de-propietarios .ce-fl-name h3 { font-family: var(--display); font-weight: 600; font-size: 18px; line-height: 1.25; letter-spacing: -0.02em; color: var(--ink); }
main.pv-comunidades-de-propietarios .ce-fl-body { display: grid; gap: 12px; align-content: start; padding-top: 2px; }
main.pv-comunidades-de-propietarios .ce-fl-cov { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
main.pv-comunidades-de-propietarios .ce-fl-cov li { display: flex; align-items: flex-start; gap: 12px; font-family: var(--display); font-weight: 600; font-size: 18px; line-height: 1.35; letter-spacing: -0.015em; color: var(--ink); }
main.pv-comunidades-de-propietarios .ce-fl-cov .icon, main.pv-comunidades-de-propietarios .ce-rail .icon, main.pv-comunidades-de-propietarios .ce-sel-l .icon { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; color: var(--navy); stroke-width: 2; }
main.pv-comunidades-de-propietarios .ce-fl-note { font-size: 16px; line-height: 1.6; color: var(--body); max-width: 54ch; }
main.pv-comunidades-de-propietarios .ce-fl-case {
  justify-self: start; margin-top: 2px; font-size: 14.5px; line-height: 1.6; font-weight: 500; color: var(--navy);
  text-decoration: underline; text-decoration-color: rgba(29,36,82,.3); text-underline-offset: 4px; text-decoration-thickness: 1px;
  transition: text-decoration-color 250ms var(--ease);
}
main.pv-comunidades-de-propietarios .ce-fl-case .icon { width: 14px; height: 14px; vertical-align: -2px; margin-left: 6px; transition: transform 350ms var(--ease); }
main.pv-comunidades-de-propietarios .ce-fl-case:hover { text-decoration-color: var(--navy); }
main.pv-comunidades-de-propietarios .ce-fl-case:hover .icon { transform: translateX(3px); }
main.pv-comunidades-de-propietarios .ce-fl-fig { width: 180px; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bg-soft); }
main.pv-comunidades-de-propietarios .ce-fl-fig img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 900ms var(--ease); }
@media (hover: hover) and (pointer: fine) { main.pv-comunidades-de-propietarios .ce-fl:hover .ce-fl-fig img { transform: scale(1.05); } }

/* Dibujos de cada planta */
main.pv-comunidades-de-propietarios .ce-draw { flex: 0 0 40px; width: 40px; height: 32px; position: relative; color: var(--navy); }
main.pv-comunidades-de-propietarios .ce-draw::before, main.pv-comunidades-de-propietarios .ce-draw::after { content: ""; position: absolute; }
main.pv-comunidades-de-propietarios .ce-draw-azotea::before { left: 0; right: 0; bottom: 6px; height: 2px; background: currentColor; }
main.pv-comunidades-de-propietarios .ce-draw-azotea::after { left: 7px; bottom: 8px; width: 7px; height: 12px; border: 1.5px solid currentColor; border-bottom: 0; box-shadow: 16px 5px 0 -1.5px var(--bg), 16px 5px 0 0 currentColor; }
main.pv-comunidades-de-propietarios .ce-draw-viviendas::before { left: 4px; top: 4px; width: 12px; height: 22px; border: 1.5px solid currentColor; box-shadow: 18px 0 0 -1.5px var(--bg), 18px 0 0 0 currentColor; }
main.pv-comunidades-de-propietarios .ce-draw-viviendas::after { left: 0; right: 0; bottom: 4px; height: 1.5px; background: currentColor; }
main.pv-comunidades-de-propietarios .ce-draw-comunes::before { inset: 2px 2px 4px 2px; background: currentColor; clip-path: polygon(0 100%, 0 78%, 25% 78%, 25% 54%, 50% 54%, 50% 30%, 75% 30%, 75% 6%, 100% 6%, 100% 100%); opacity: .9; }
main.pv-comunidades-de-propietarios .ce-draw-portal::before { left: 11px; bottom: 4px; width: 18px; height: 26px; border: 1.5px solid currentColor; border-bottom: 0; border-radius: 9px 9px 0 0; }
main.pv-comunidades-de-propietarios .ce-draw-portal::after { left: 0; right: 0; bottom: 3px; height: 1.5px; background: currentColor; }
main.pv-comunidades-de-propietarios .ce-draw-sotano::before { inset: 4px; border: 1.5px solid currentColor; background: repeating-linear-gradient(135deg, currentColor 0 1.5px, transparent 1.5px 6px); }
@media (hover: hover) and (pointer: fine) {
  main.pv-comunidades-de-propietarios .ce-fl:hover .ce-draw-azotea::after, main.pv-comunidades-de-propietarios .ce-fl:hover .ce-draw-viviendas::before { box-shadow: 16px 5px 0 -1.5px var(--navy-soft), 16px 5px 0 0 currentColor; }
  main.pv-comunidades-de-propietarios .ce-fl:hover .ce-draw-viviendas::before { box-shadow: 18px 0 0 -1.5px var(--navy-soft), 18px 0 0 0 currentColor; }
}

/* Coberturas generales: franja lateral */
main.pv-comunidades-de-propietarios .ce-rail {
  grid-column: 2; grid-row: 1 / span 2; align-self: start; position: sticky; top: 120px; margin: 22px 0 0;
  background: var(--navy); color: #fff; padding: 30px 28px 14px;
}
main.pv-comunidades-de-propietarios .ce-rail h3 { font-family: var(--display); font-weight: 600; font-size: 18px; letter-spacing: -0.02em; color: #fff; padding-bottom: 18px; }
main.pv-comunidades-de-propietarios .ce-rail li:last-child { padding-bottom: 12px; }
main.pv-comunidades-de-propietarios .ce-rail ul { list-style: none; margin: 0; padding: 0; }
main.pv-comunidades-de-propietarios .ce-rail li { display: flex; gap: 12px; padding: 18px 0; border-top: 1px solid rgba(255,255,255,.14); font-size: 18px; line-height: 1.45; color: #fff; }
main.pv-comunidades-de-propietarios .ce-rail .icon { color: #fff; }

/* ---------- Perfiles: selector ---------- */
main.pv-comunidades-de-propietarios .ce-sel { padding: 120px 0; background: var(--bg-soft); border-top: 1px solid var(--line); }
main.pv-comunidades-de-propietarios .ce-sel .ce-h2 { margin-bottom: 48px; }
main.pv-comunidades-de-propietarios .ce-sel-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
main.pv-comunidades-de-propietarios .ce-sel-t {
  position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; text-align: left; cursor: pointer;
  padding: 24px 26px 26px; border: 1px solid var(--line); background: var(--bg); color: var(--ink); border-radius: 0; font: inherit;
  transition: background 350ms var(--ease), border-color 350ms var(--ease), color 350ms var(--ease);
}
main.pv-comunidades-de-propietarios .ce-sel-t::after {
  content: ""; position: absolute; left: 32px; bottom: -9px; width: 16px; height: 16px; background: var(--navy);
  transform: rotate(45deg) scale(0); transition: transform 350ms var(--ease);
}
main.pv-comunidades-de-propietarios .ce-sel-k { font-size: var(--ce-k); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); transition: color 350ms; }
main.pv-comunidades-de-propietarios .ce-sel-h { font-family: var(--display); font-weight: 600; font-size: clamp(18px, 1.28vw, 21px); line-height: 1.25; letter-spacing: -0.02em; }
@media (hover: hover) and (pointer: fine) { main.pv-comunidades-de-propietarios .ce-sel-t:hover { border-color: var(--navy); } }
main.pv-comunidades-de-propietarios .ce-sel-t[aria-selected="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
main.pv-comunidades-de-propietarios .ce-sel-t[aria-selected="true"] .ce-sel-k { color: rgba(255,255,255,.66); }
main.pv-comunidades-de-propietarios .ce-sel-t[aria-selected="true"]::after { transform: rotate(45deg) scale(1); }
main.pv-comunidades-de-propietarios .ce-sel-t:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
main.pv-comunidades-de-propietarios .ce-sel-ps { margin-top: 24px; background: var(--bg); border: 1px solid var(--line); border-top: 2px solid var(--navy); }
main.pv-comunidades-de-propietarios .ce-sel-p { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 32px 64px; padding: 44px 44px 48px; }
main.pv-comunidades-de-propietarios .ce-sel-p:focus-visible { outline: 2px solid var(--navy); outline-offset: -4px; }
main.pv-comunidades-de-propietarios .ce-sel-p:not([hidden]) { animation: ce-in 520ms var(--ease); }
@keyframes ce-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
main.pv-comunidades-de-propietarios .ce-sel-txt { font-family: var(--display); font-weight: 500; font-size: clamp(18px, 1.2vw, 18px); line-height: 1.55; letter-spacing: -0.01em; color: var(--ink); }
main.pv-comunidades-de-propietarios .ce-sel-l { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
main.pv-comunidades-de-propietarios .ce-sel-l li { display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 16px; line-height: 1.5; color: var(--ink); }

/* ---------- Cita ---------- */
main.pv-comunidades-de-propietarios .ce-quote { padding: 0; }
main.pv-comunidades-de-propietarios .ce-quote-g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 620px; }
main.pv-comunidades-de-propietarios .ce-quote-img { position: relative; overflow: hidden; background: var(--bg-soft); }
main.pv-comunidades-de-propietarios .ce-quote-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
main.pv-comunidades-de-propietarios .ce-quote-t { background: var(--navy); color: #fff; display: flex; align-items: center; padding: 80px max(40px, calc((100vw - 1280px) / 2 + 40px)) 80px 72px; }
main.pv-comunidades-de-propietarios .ce-quote-t p {
  position: relative; font-family: var(--display); font-weight: 600; color: #fff;
  font-size: clamp(25px, 2.4vw, 40px); line-height: 1.18; letter-spacing: -0.03em; max-width: 17ch; padding-top: 56px;
}
main.pv-comunidades-de-propietarios .ce-quote-t p::before { content: "\201C"; position: absolute; top: -18px; left: -4px; font-size: 51px; line-height: 1; color: rgba(255,255,255,.3); font-family: var(--display); }

/* ---------- Fichas de incidencias ---------- */
main.pv-comunidades-de-propietarios .ce-cases { padding: 128px 0; }
main.pv-comunidades-de-propietarios .ce-cases .ce-h2 { margin-bottom: 48px; }
main.pv-comunidades-de-propietarios .ce-inc-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
main.pv-comunidades-de-propietarios .ce-inc { border: 1px solid var(--ink); background: var(--bg); display: flex; flex-direction: column; scroll-margin-top: 120px; transition: box-shadow 400ms var(--ease); }
main.pv-comunidades-de-propietarios .ce-inc:target { box-shadow: 0 0 0 3px var(--navy); }
main.pv-comunidades-de-propietarios .ce-inc-top {
  display: flex; justify-content: space-between; gap: 12px; padding: 14px 24px; border-bottom: 1px dashed var(--faint);
  font-size: var(--ce-k); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted);
}
main.pv-comunidades-de-propietarios .ce-inc-top span:last-child { color: var(--navy); }
main.pv-comunidades-de-propietarios .ce-inc h3 { font-family: var(--display); font-weight: 600; font-size: 21px; line-height: 1.2; letter-spacing: -0.02em; color: var(--ink); padding: 26px 24px 0; }
main.pv-comunidades-de-propietarios .ce-inc dl { display: grid; padding: 18px 24px 26px; gap: 18px; flex: 1; grid-template-rows: auto 1fr; }
main.pv-comunidades-de-propietarios .ce-inc dl > div + div { border-top: 1px solid var(--line); padding-top: 18px; }
main.pv-comunidades-de-propietarios .ce-inc dt { font-size: var(--ce-k); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
main.pv-comunidades-de-propietarios .ce-inc dd { font-size: 16px; line-height: 1.6; color: var(--body); }
main.pv-comunidades-de-propietarios .ce-inc dl > div + div dd { color: var(--ink); }

/* ---------- Preguntas ---------- */
main.pv-comunidades-de-propietarios .ce-faqs { padding: 0 0 128px; }
main.pv-comunidades-de-propietarios .ce-faqs-g { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; align-items: start; }
main.pv-comunidades-de-propietarios .ce-faqs-g::before { content: ""; grid-column: 1 / -1; height: 2px; background: var(--ink); margin-bottom: 40px; }
main.pv-comunidades-de-propietarios .ce-faqs-g > .ce-h2 { grid-column: 1 / span 4; max-width: 14ch; }
main.pv-comunidades-de-propietarios .ce-faq-l { grid-column: 6 / -1; }
main.pv-comunidades-de-propietarios .ce-faq { padding: 0 0 28px; margin-bottom: 28px; border-bottom: 1px solid var(--line); }
main.pv-comunidades-de-propietarios .ce-faq:last-child { margin-bottom: 0; }
main.pv-comunidades-de-propietarios .ce-faq h3 { font-family: var(--display); font-weight: 600; font-size: 18px; line-height: 1.35; letter-spacing: -0.02em; color: var(--ink); margin-bottom: 10px; }
main.pv-comunidades-de-propietarios .ce-faq p { font-size: 16px; line-height: 1.7; color: var(--body); max-width: 62ch; }

/* ---------- Cierre ---------- */
main.pv-comunidades-de-propietarios .ce-end { padding: 104px 0 112px; background: var(--bg-soft); border-top: 1px solid var(--line); }
main.pv-comunidades-de-propietarios .ce-end-g { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 36px; }
main.pv-comunidades-de-propietarios .ce-end-t { font-family: var(--display); font-weight: 600; color: var(--ink); font-size: clamp(25px, 2.72vw, 40px); line-height: 1.1; letter-spacing: -0.035em; max-width: 22ch; }
main.pv-comunidades-de-propietarios .ce-end-a { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px 28px; }
main.pv-comunidades-de-propietarios .ce-end-l {
  display: inline-flex; align-items: center; gap: 14px; text-decoration: none; color: #fff; background: var(--navy);
  font-family: var(--display); font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; padding: 18px 26px;
  transition: background 250ms var(--ease);
}
main.pv-comunidades-de-propietarios .ce-end-l .icon { width: 16px; height: 16px; transition: transform 400ms var(--ease); }
main.pv-comunidades-de-propietarios .ce-end-l:hover { background: var(--ink); }
main.pv-comunidades-de-propietarios .ce-end-l:hover .icon { transform: translateX(4px); }
main.pv-comunidades-de-propietarios .ce-end-tel { color: var(--body); text-decoration: none; font-size: 16px; font-variant-numeric: tabular-nums; border-bottom: 1px solid var(--line); }
main.pv-comunidades-de-propietarios .ce-end-tel:hover { color: var(--ink); border-color: var(--ink); }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  main.pv-comunidades-de-propietarios .ce-fl { grid-template-columns: 200px minmax(0, 1fr); }
  main.pv-comunidades-de-propietarios .ce-fl-fig { display: none; }
  main.pv-comunidades-de-propietarios .ce-bldg { grid-template-columns: minmax(0, 1fr); }
  main.pv-comunidades-de-propietarios .ce-rail { grid-column: 1; grid-row: 3; margin: 40px 28px 0; position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 0 32px; align-items: start; padding: 28px 32px; }
  main.pv-comunidades-de-propietarios .ce-rail h3 { padding: 16px 0 0; }
  main.pv-comunidades-de-propietarios .ce-rail li:first-child { border-top: 0; }
}
@media (max-width: 960px) {
  main.pv-comunidades-de-propietarios .ce-hero { padding-top: 112px; }
  main.pv-comunidades-de-propietarios .ce-hero-copy, main.pv-comunidades-de-propietarios .ce-hero-fig { grid-column: 1 / -1; }
  main.pv-comunidades-de-propietarios .ce-hero-g, main.pv-comunidades-de-propietarios .ce-lead-g, main.pv-comunidades-de-propietarios .ce-faqs-g { grid-template-columns: minmax(0, 1fr); }
  main.pv-comunidades-de-propietarios .ce-hero-copy { padding-top: 16px; }
  main.pv-comunidades-de-propietarios .ce-h1 { max-width: 14ch; }
  main.pv-comunidades-de-propietarios .ce-plate { padding-top: 44px; }
  main.pv-comunidades-de-propietarios .ce-hero-fig { margin-top: 48px; min-height: 0; aspect-ratio: 4 / 3; }
  main.pv-comunidades-de-propietarios .ce-lead, main.pv-comunidades-de-propietarios .ce-sel, main.pv-comunidades-de-propietarios .ce-cases { padding: 88px 0; }
  main.pv-comunidades-de-propietarios .ce-sec, main.pv-comunidades-de-propietarios .ce-faqs { padding-bottom: 88px; }
  main.pv-comunidades-de-propietarios .ce-lead-g .ce-h2, main.pv-comunidades-de-propietarios .ce-lead-t,
  main.pv-comunidades-de-propietarios .ce-faqs-g > .ce-h2, main.pv-comunidades-de-propietarios .ce-faq-l { grid-column: 1 / -1; }
  main.pv-comunidades-de-propietarios .ce-lead-t, main.pv-comunidades-de-propietarios .ce-faq-l { margin-top: 28px; }
  main.pv-comunidades-de-propietarios .ce-sec-head { margin-bottom: 48px; }
  main.pv-comunidades-de-propietarios .ce-bldg { grid-template-columns: minmax(0, 1fr); }
  main.pv-comunidades-de-propietarios .ce-rail ul { position: static; }
  main.pv-comunidades-de-propietarios .ce-sel-p { grid-template-columns: 1fr; padding: 32px; }
  main.pv-comunidades-de-propietarios .ce-inc-g { grid-template-columns: 1fr; }
  main.pv-comunidades-de-propietarios .ce-quote { padding: 0; }
main.pv-comunidades-de-propietarios .ce-quote-g { grid-template-columns: 1fr; min-height: 0; }
  main.pv-comunidades-de-propietarios .ce-quote-img { aspect-ratio: 16 / 10; }
  main.pv-comunidades-de-propietarios .ce-quote-t { padding: 64px 40px 72px; }
}
@media (max-width: 720px) {
  main.pv-comunidades-de-propietarios .ce-hero { padding-top: 100px; }
  main.pv-comunidades-de-propietarios .ce-h1 { font-size: clamp(32px, 8.32vw, 40px); }
  main.pv-comunidades-de-propietarios .ce-act .btn-ink { flex: 1 1 100%; }
  main.pv-comunidades-de-propietarios .ce-plate { grid-template-columns: 1fr; padding-top: 36px; }
  main.pv-comunidades-de-propietarios .ce-plate > div, main.pv-comunidades-de-propietarios .ce-plate > div + div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 14px 0; border-left: 0; border-top: 1px solid var(--line); }
  main.pv-comunidades-de-propietarios .ce-plate > div:first-child { border-top: 2px solid var(--ink); }
  main.pv-comunidades-de-propietarios .ce-plate dt { margin: 0; flex: 0 0 auto; }
  main.pv-comunidades-de-propietarios .ce-plate dd { font-size: 16px; text-align: right; }
  main.pv-comunidades-de-propietarios .ce-hero-fig { margin: 40px -22px 0; }
  main.pv-comunidades-de-propietarios .ce-roof { margin: 0 12px; }
  main.pv-comunidades-de-propietarios .ce-fl { grid-template-columns: 1fr; gap: 16px; margin: 0 12px; padding: 24px 20px 26px; min-height: 0; }
  main.pv-comunidades-de-propietarios .ce-fl-sotano::before { left: -12px; right: -12px; }
  main.pv-comunidades-de-propietarios .ce-fl-name { gap: 12px; }
  main.pv-comunidades-de-propietarios .ce-fl-name h3 { font-size: 16px; }
  main.pv-comunidades-de-propietarios .ce-fl-cov li { font-size: 18px; }
  main.pv-comunidades-de-propietarios .ce-rail { padding: 24px 22px 10px; margin: 32px 0 0; grid-template-columns: 1fr; }
  main.pv-comunidades-de-propietarios .ce-rail h3 { padding: 0 0 12px; }
  main.pv-comunidades-de-propietarios .ce-sel .ce-h2, main.pv-comunidades-de-propietarios .ce-cases .ce-h2 { margin-bottom: 32px; }
  main.pv-comunidades-de-propietarios .ce-sel-tabs { grid-template-columns: 1fr; gap: 8px; }
  main.pv-comunidades-de-propietarios .ce-sel-t { padding: 18px 20px; gap: 6px; }
  main.pv-comunidades-de-propietarios .ce-sel-t::after { display: none; }
  main.pv-comunidades-de-propietarios .ce-sel-ps { margin-top: 16px; }
  main.pv-comunidades-de-propietarios .ce-sel-p { padding: 24px 20px 26px; gap: 24px; }
  main.pv-comunidades-de-propietarios .ce-quote-t { padding: 56px 22px 64px; }
  main.pv-comunidades-de-propietarios .ce-quote-t p { padding-top: 44px; }
  main.pv-comunidades-de-propietarios .ce-quote-t p::before { font-size: 51px; }
  main.pv-comunidades-de-propietarios .ce-inc-top { padding: 12px 20px; }
  main.pv-comunidades-de-propietarios .ce-inc h3 { padding: 22px 20px 0; font-size: 18px; }
  main.pv-comunidades-de-propietarios .ce-inc dl { padding: 16px 20px 22px; }
  main.pv-comunidades-de-propietarios .ce-faq h3 { font-size: 16px; }
  main.pv-comunidades-de-propietarios .ce-end { padding: 80px 0 88px; }
  main.pv-comunidades-de-propietarios .ce-end-a { width: 100%; }
  main.pv-comunidades-de-propietarios .ce-end-l { width: 100%; justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  html.js main.pv-comunidades-de-propietarios .ce-a { opacity: 1; transform: none; transition: none; }
  main.pv-comunidades-de-propietarios .ce-sel-p:not([hidden]) { animation: none; }
  main.pv-comunidades-de-propietarios *, main.pv-comunidades-de-propietarios *::before, main.pv-comunidades-de-propietarios *::after { transition-duration: 1ms !important; transition-delay: 0s !important; }
}
