.cbvs-k9{--k9-red:#a91e28;--k9-ink:#24272b;--k9-gold:#d5af51;color:var(--k9-ink);font-family:inherit;line-height:1.65;box-sizing:border-box}.cbvs-k9 *{box-sizing:border-box}.cbvs-k9 h1,.cbvs-k9 h2,.cbvs-k9 h3,.cbvs-k9 h4{color:inherit;line-height:1.15;margin:0 0 20px;font-weight:800}.cbvs-k9 h2{font-size:clamp(28px,4vw,42px)}.cbvs-k9 p{margin:0 0 18px}.k9-page{max-width:1240px;margin:0 auto;background:#fff}.cbvs-k9 .k9-hero{background:#23272b;color:#fff;padding:clamp(32px,6vw,80px);border-top:6px solid var(--k9-red);border-radius:4px}.k9-hero>span,.k9-heading>span{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:700}.cbvs-k9 .k9-hero h1{font-size:clamp(40px,7vw,76px);margin:18px 0}.cbvs-k9 .k9-tagline{font-size:clamp(22px,3vw,32px);font-weight:700}.k9-hero>div{max-width:820px}.cbvs-k9 .k9-text{padding:48px clamp(20px,5vw,64px);border-bottom:1px solid #e5e5e5}.k9-text h3{font-size:23px;margin-top:28px}.cbvs-k9-gallery{padding:48px clamp(20px,5vw,64px);background:#f4f3ef}.k9-heading{max-width:760px}.k9-heading>span{color:var(--k9-red)}.k9-heading h2{margin-top:12px}.k9-legend{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:13px;padding:18px 0;border-top:1px solid #d9d7d0;border-bottom:1px solid #d9d7d0}.k9-group{margin-top:38px}.k9-group>h3{font-size:26px}.k9-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.k9-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 5px 16px #0000000a;border:1px solid #e4e2dc}.k9-photo{aspect-ratio:4/4;position:relative;overflow:hidden;background:#e4e2db}.k9-photo>img{width:100%;height:100%;object-fit:cover;display:block}.k9-memorial .k9-photo>img{filter:grayscale(1)}.k9-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#65665f;font-size:15px;gap:6px}.k9-placeholder>span:first-child{font-size:70px;line-height:1}.k9-ribbon{position:absolute;left:12px;right:12px;bottom:12px;padding:6px 10px;text-align:center;background:#fff;color:#222;border-radius:4px;font-size:12px;font-weight:700;box-shadow:0 2px 8px #0002}.k9-ribbon-jubilado{background:var(--k9-gold)}.k9-ribbon-jubilado_fallecido{background:linear-gradient(110deg,#d5af51 0%,#d5af51 48%,#fff 52%,#fff 100%)}.k9-ribbon-historico{background:#30363a;color:#fff}.k9-caption{text-align:center;padding:22px 12px 24px}.cbvs-k9 .k9-caption h4{text-transform:uppercase;font-size:clamp(28px,4vw,42px);overflow-wrap:anywhere;margin:0 0 8px}.k9-caption p{margin:0;font-size:17px;font-weight:600}.k9-caption .k9-year{font-size:27px;font-weight:800;margin-top:5px}.k9-empty{grid-column:1/-1;padding:24px;border:1px dashed #aaa;color:#606060}.k9-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.k9-event{border:1px solid #ddd;border-radius:8px;overflow:hidden}.k9-event>img{width:100%;height:260px;object-fit:cover}.k9-event>div{padding:24px}.k9-event h3{margin-top:0}.k9-faq details{border-bottom:1px solid #ddd;padding:20px 0}.k9-faq summary{cursor:pointer;font-size:18px;font-weight:700}.k9-faq details>div{margin-top:18px;max-width:900px}.k9-faq summary:focus-visible{outline:3px solid var(--k9-red);outline-offset:5px}@media(max-width:800px){.k9-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.k9-event-grid{grid-template-columns:1fr}}@media(max-width:500px){.k9-grid{grid-template-columns:1fr}.k9-photo{aspect-ratio:4/3}.k9-legend{display:grid}.cbvs-k9 .k9-text,.cbvs-k9-gallery{padding:32px 20px}}

/* Integración visual con la página K9 existente: blanco, azul y rojo. */
.cbvs-k9-gallery{--k9-red:#ed1c24;--k9-ink:#003b71;background:#fff;max-width:1200px;margin:0 auto;padding:48px 24px;font-family:inherit}
.cbvs-k9-gallery .k9-heading{max-width:800px;margin:0 auto 26px;text-align:center}
.cbvs-k9-gallery h2{font-size:clamp(28px,3vw,36px);font-weight:500;color:#003b71}
.cbvs-k9-gallery .k9-heading p{color:#222;font-size:16px}
.cbvs-k9-gallery .k9-heading>span{color:#ed1c24;letter-spacing:0;text-transform:none;font-size:17px;font-weight:400}
.cbvs-k9-gallery .k9-group>h3{font-size:25px;font-weight:500;color:#003b71}
.cbvs-k9-gallery .k9-legend{color:#444;border-color:#e6e6e6;justify-content:center}
.cbvs-k9-gallery .k9-card{box-shadow:none;border:1px solid #e8e8e8;border-radius:6px}
.cbvs-k9-gallery .k9-caption{color:#222}
.cbvs-k9-gallery .k9-caption h4{font-size:32px}
.k9-integrated{max-width:1200px;margin:auto;background:white}.k9-integrated h2,.k9-integrated h3,.cbvs-k9.k9-text h2{color:#003b71;font-weight:500}.k9-intro{padding:55px clamp(24px,5vw,70px);max-width:1050px;margin:auto}.k9-red{color:#f00014;font-size:24px}.k9-history{margin-top:24px;border-top:1px solid #e5e5e5;padding-top:20px}.k9-history summary{color:#003b71;cursor:pointer;font-weight:600;margin-bottom:18px}.k9-services{padding:45px clamp(24px,5vw,70px);border-top:1px solid #e5e5e5}.k9-services>h2,.k9-services>p{text-align:center}.k9-service-columns{columns:3;column-gap:38px;margin-top:48px}.k9-service-columns h3{break-after:avoid;font-size:23px;margin-top:0}.k9-service-columns p{break-inside:avoid;font-size:15px;color:#333}.k9-closing{margin-top:45px!important}.k9-integrated p{color:#222}.k9-integrated .k9-red{color:#f00014}@media(max-width:700px){.k9-service-columns{columns:1}.k9-service-columns h3{margin-top:30px}}
