.services-page main { --main-background-image: linear-gradient(90deg, rgba(15, 54, 103, 0.18), rgba(12, 31, 43, 0.78)), url('/src/assets/images/mainBackground.jpg'); }
.services-page main h1 { max-width: 650px; margin: 0; color: #ffffff; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 3.5rem; font-weight: 600; line-height: 1.08; text-align: right; text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35); }
.services-page main .linkContact { display: inline-block; margin-top: 1.75rem; padding: .85rem 1.7rem; border: 2px solid #e40046; border-radius: 999px; background: #e40046; color: #ffffff; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 1rem; font-weight: 700; text-decoration: none; box-shadow: 0 8px 20px rgba(228, 0, 70, .28); transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease; }
.services-page main .linkContact:hover { background: #c9003d; border-color: #c9003d; box-shadow: 0 12px 24px rgba(228, 0, 70, .36); transform: translateY(-3px); }
.services-page main .linkContact:focus-visible { outline: 3px solid rgba(228, 0, 70, .45); outline-offset: 4px; }
.services-page .servicesSection { width: min(1120px, calc(100% - 3rem)); margin: 0 auto; padding: 7rem 0; }
.services-page .servicesSection__heading { max-width: 700px; margin-bottom: 3rem; }
.services-page .servicesSection__eyebrow { margin: 0 0 .8rem; color: #e40046; font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.services-page .servicesSection__heading h2 { margin: 0; color: #0f3667; font-size: clamp(2.2rem, 5vw, 4rem); }
.services-page .servicesSection__intro { color: #53625e; line-height: 1.7; }
.services-page .servicesSection__category + .servicesSection__category { margin-top: 4rem; }
.services-page .servicesSection__categoryTitle { margin: 0 0 1.25rem; color: #0f3667; font-size: 1.45rem; }
.services-page .servicesSection--additional { background: transparent; }
.services-page .servicesSection--additional .servicesSection__grid { grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); }
.services-page .servicesSection__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); align-items: stretch; }
.services-page .serviceCard { display: flex; flex-direction: column; overflow: hidden; min-width: 0; height: 100%; border: 1px solid #dfe8e3; border-radius: 10px; background: #ffffff; box-shadow: 0 10px 24px rgba(15, 54, 103, .08); transition: transform .25s ease, box-shadow .25s ease; }
.services-page .serviceCard:hover { transform: translateY(-6px); box-shadow: 0 16px 30px rgba(15, 54, 103, .14); }
.services-page .serviceCard__image { display: block; width: 100%; height: 210px; padding: .75rem; object-fit: contain; object-position: center; background: #ffffff; transition: transform .4s ease; }
.services-page .serviceCard__placeholder { display: grid; place-items: center; height: 210px; background: linear-gradient(135deg, #0f3667, #e40046); color: #ffffff; font-family: Georgia, serif; font-size: 1.3rem; font-style: italic; }
.services-page .serviceCard > .serviceCard__price { display: block; margin: 1rem 1.5rem 0; color: #e40046; font-size: 1.15rem; }
.services-page .serviceCard:hover .serviceCard__image { transform: scale(1.04); }
.services-page .servicesSection--additional .serviceCard:hover .serviceCard__image { transform: none; }
.services-page .serviceCard__body { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; }
.services-page .serviceCard__body h3 { margin: 0 0 .7rem; color: #0f3667; }
.services-page .serviceCard__price { display: block; margin: 0 0 .9rem; color: #e40046; font-size: 1.15rem; }
.services-page .serviceCard__description { margin: 0; color: #53625e; line-height: 1.65; }
.services-page .serviceCard__description p { margin: 0 0 .8rem; }
.services-page .serviceCard__description p:last-child { margin-bottom: 0; }
.services-page .serviceCard__description ul, .services-page .serviceCard__description ol { margin: .5rem 0 0; padding-left: 1.2rem; }
.services-page .serviceCard__description li { margin-bottom: .35rem; }
.services-page .serviceCard__description a { color: #0f3667; font-weight: 700; }
.services-page .serviceCard__whatsapp { display: inline-flex; align-items: center; align-self: flex-start; gap: .55rem; margin-top: auto; padding: .7rem .9rem; border-radius: 4px; background: #18a866; color: #ffffff; font-size: .88rem; font-weight: 700; text-decoration: none; transition: background-color .25s ease, transform .25s ease; }
.services-page .serviceCard__whatsapp svg { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.services-page .serviceCard__whatsapp:hover { background: #128451; transform: translateY(-2px); }
.services-page .servicesEmpty { padding: 2rem; border: 1px dashed #b9cbc3; color: #53625e; text-align: center; }
@media (max-width: 900px) { .services-page .servicesSection__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .services-page main { align-items: center; } .services-page main h1 { font-size: 2.35rem; text-align: center; } .services-page main .linkContact { margin-top: 1.5rem; } .services-page .servicesSection { width: min(100% - 2rem, 640px); padding: 5rem 0; } .services-page .servicesSection__grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .services-page .servicesSection--additional .servicesSection__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } .services-page .servicesSection--additional .serviceCard { width: 100%; } }
