/* Rounded visual language across the site and service pages. */
button,
input[type="button"],
input[type="submit"],
.hero-cta,
.contact-cta-button,
.btn-cotizar {
    border-radius: 999px;
}

img {
    border-radius: 18px;
}

.brand-symbol img,
.logo img,
.cotizar-brand img {
    border-radius: 0;
}

.service-card,
.story-image,
.service-hero,
.hero-media,
.timeline-card,
.timeline-year,
.thumbs img,
.location iframe,
.svc-hero-frame,
.gi-hero-photo,
.ph-hero-frame,
.iv-hero-media,
.gi-beneficios-frame,
.ph-gallery-item,
.iv-featured-media,
.cotizar-visual-photo {
    border-radius: 22px;
    overflow: hidden;
}

.service-card img,
.story-image img,
.timeline-card img,
.hero-media img,
.svc-hero-frame img,
.gi-hero-photo img,
.ph-hero-frame img,
.iv-hero-media img {
    border-radius: inherit;
}

.dot,
.timeline-arrow,
.hero-arrow,
.cotizar-close {
    border-radius: 50%;
}

@media (max-width: 680px) {
    .service-hero,
    .hero-media,
    .story-image,
    .location iframe {
        border-radius: 18px;
    }
}

main img.image-expandable { cursor:zoom-in; }
main img.image-expandable:focus-visible { outline:3px solid #58a9df; outline-offset:-4px; }
.image-lightbox { position:fixed; inset:0; width:min(94vw,1400px); max-width:none; max-height:92vh; margin:auto; padding:48px 18px 16px; border:0; border-radius:22px; background:#fff; box-shadow:0 28px 80px rgba(0,0,0,.35); }
.image-lightbox::backdrop { background:rgba(5,19,33,.86); backdrop-filter:blur(5px); }
.image-lightbox figure { display:flex; flex-direction:column; align-items:center; gap:12px; margin:0; }
.image-lightbox img { display:block; max-width:100%; max-height:calc(92vh - 120px); width:auto; height:auto; border-radius:14px; object-fit:contain; }
.image-lightbox figcaption { color:#233f55; font-size:15px; text-align:center; }
.image-lightbox-close { position:absolute; top:8px; right:12px; display:grid; place-items:center; width:36px; height:36px; padding:0; border:0; border-radius:50%; background:#eaf3fa; color:#17364d; font-size:29px; line-height:1; cursor:pointer; }
.image-lightbox-close:hover { background:#cde6f6; }
.image-lightbox-close:focus-visible { outline:3px solid #1263a3; outline-offset:2px; }

/* The individual service pages use the same two-family, two-size type system. */
.page-servicio { font-family:Arial,Helvetica,sans-serif; font-size:16px; }
.page-servicio * { font-family:inherit!important; font-size:inherit!important; text-transform:none!important; }
.page-servicio :is(h1,h2,h3) { font-family:Georgia,serif!important; font-size:32px!important; line-height:1.2; }
.page-servicio :is(h1,h2,h3) * { font-family:inherit!important; }
