/* Micrositios: estilos acotados y adaptables. */
.service-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(2rem,5vw,4rem); align-items: center; }
.service-hero h1 { font-size: clamp(2.2rem,4vw,3.7rem); overflow-wrap: break-word; }
.service-hero .button { margin-top: 1.6rem; }
.service-hero .hero-lead, .service-hero .service-picture figcaption { color: #e0e5f4; }
.service-hero .service-breadcrumb a { color: #ffffff; }
.service-breadcrumb { margin-bottom: 2rem; font-size: .9rem; }
.service-breadcrumb a { color: var(--blue); }
.service-picture { margin: 0; min-width: 0; }
.service-picture img { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.service-picture figcaption { margin-top: .6rem; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.service-features { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; }
.service-feature { padding: 1.7rem; border: 1px solid var(--line); border-top: 3px solid var(--blue); border-radius: var(--radius); }
.service-feature h3 { margin: .6rem 0 0; font-size: 1.25rem; }
.service-use { background: var(--soft); }
.service-use h3 { margin-top: 2rem; }
.service-projects { display: flex; flex-wrap: wrap; gap: .8rem; list-style: none; padding: 0; margin: 1.5rem 0 2rem; }
.service-projects a { display: block; padding: .8rem 1.2rem; background: var(--soft); border-radius: 12px; color: var(--blue); font-weight: 650; }
.service-catalog { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.4rem; }
.service-catalog article { border: 1px solid var(--line); border-radius: var(--radius); padding: 1.6rem; }
.service-catalog h2 { font-size: 1.5rem; }
@media (max-width: 900px) { .service-layout { grid-template-columns: 1fr; } .service-features,.service-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .service-features,.service-catalog { grid-template-columns: 1fr; } }
