/* Servicios reutiliza los componentes originales de la landing y el portafolio. */
.service-specialty-nav a:focus-visible, .detail-service-button:focus-visible { outline: 3px solid var(--ochre); outline-offset: 3px; }
.service-category-offer { background: var(--ivory); color: var(--graphite); scroll-margin-top: 5rem; }
.service-detail.is-category-page .service-category-offer { padding-top: 6rem; padding-bottom: 3rem; }
.service-detail.is-category-page .detail-intro.section-pad { padding-block: 3rem; }
.detail-service-button { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; padding: .6rem .8rem; border: 1px solid rgba(255,255,255,.4); border-radius: 999px; font-size: .8rem; }
.detail-service-button:hover { border-color: var(--ochre); color: #e8c65d; }
.service-specialty-nav { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.5rem; }
.service-specialty-nav a { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; padding: .6rem .8rem; border: 1px solid #bfc8c0; color: var(--mineral); font-size: .85rem; }
.service-specialty-nav a:hover { background: #e5e9e0; }
.service-category-offer .service-detail-spec { scroll-margin-top: 6rem; }
.service-category-scope { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.5rem; list-style: none; padding: 0; margin: 0; }
.service-category-scope li { display: flex; align-items: flex-start; gap: .8rem; padding: .85rem 0; border-bottom: 1px solid #d5d8d1; font-size: .95rem; line-height: 1.65; }
.service-category-scope li > span { flex: none; min-width: 1.5rem; padding-top: .25rem; color: #806115; font: .75rem var(--display); }
.service-category-fiches { margin-top: 2.5rem; }
.service-category-fiches > h3 { margin: 0 0 1.5rem; color: var(--mineral); font: 500 1.9rem/1.15 var(--display); }
@media (max-width: 640px) {
    .service-category-scope { grid-template-columns: 1fr; }
    .service-detail.is-category-page .service-category-offer { padding-top: 2.5rem; }
}
.metrics-grid.has-three-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mobile-glass-dock { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mobile-glass-dock:has([data-dock-link="portfolio"]) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.service-families .service-card { min-width: 0; padding-inline: clamp(1.1rem, 2vw, 2rem); }
.service-families .service-card h3 { font-size: clamp(1.7rem, 2.35vw, 2.65rem); overflow-wrap: break-word; }
.service-families .service-card:focus-visible { outline: 3px solid var(--ochre); outline-offset: 4px; color: var(--white); box-shadow: 0 26px 55px rgba(23,63,58,.18); transform: translateY(-9px); }
.service-families .service-card:focus-visible::before { opacity: 1; transform: scale(1); }
.service-families .service-card:focus-visible .service-icon, .service-families .service-card:focus-visible p { color: var(--white); }
/* Los slides participan en el alto para que títulos largos nunca se recorten. */
.service-cinema-hero .cinema-hero-slides { position: relative; display: grid; }
.service-cinema-hero .cinema-hero-slide { position: relative; grid-area: 1 / 1; }
.service-cinema-hero .cinema-hero-content { padding-bottom: 6rem; }
.service-cinema-hero :is(h1, .cinema-title) { max-width: 12ch; font-size: clamp(3.6rem, 6.5vw, 6.4rem); }
.service-cinema-hero .cinema-hero-slide { pointer-events: none; }
.service-cinema-hero .cinema-hero-slide.is-active { pointer-events: auto; }
.service-cinema-catalog .cinema-row { padding-top: .8rem; }
.service-cinema-card { display: flex; flex-direction: column; }
.service-cinema-card .cinema-card-image { aspect-ratio: 3 / 2; }
.service-cinema-card .cinema-card-image img { object-fit: contain; }
.service-cinema-card .cinema-card-copy { flex: 1; }
.service-cinema-card .cinema-card-copy p { display: block; }
.service-card-explore { display: inline-flex; align-items: center; gap: .65rem; min-height: 44px; margin-top: .7rem; color: #e7c878; font: 500 .75rem var(--display); letter-spacing: .08em; text-transform: uppercase; }
.service-card-explore:hover { color: var(--white); }
.service-cinema-card .cinema-card-copy { display: flex; flex-direction: column; }
.service-cinema-card .service-card-explore { margin-top: auto; padding-top: .75rem; }
.service-cinema-card .cinema-card-copy p { padding-bottom: .7rem; }
.service-cinema-hero .cinema-summary { max-width: 52ch; }
.service-cinema-hero .cinema-scroll-note { display: none; }
.service-cinema-catalog .service-subcategory-intro { align-items: flex-start; }
.service-cinema-catalog .service-subcategory-intro a { min-height: 44px; display: inline-flex; align-items: center; gap: .6rem; }
.service-cinema-catalog .cinema-rail-heading button { width: 44px; height: 44px; }
.service-cinema-card[data-reveal].is-visible:hover { transform: translateY(-7px); }
.service-cinema-card:focus-within { outline: 2px solid var(--ochre); outline-offset: -2px; }
.service-detail .detail-hero h1 { max-width: 14ch; font-size: clamp(3.8rem, 7vw, 7.1rem); overflow-wrap: break-word; }
.service-detail .detail-hero-copy { margin-top: 3rem; }
.service-detail.is-category-page .detail-hero h1 { max-width: 24ch; font-size: clamp(2.25rem, 4.6vw, 4.7rem); line-height: 1.08; }
.service-detail.is-category-page .detail-hero-copy { margin-top: 2rem; }
.service-detail .detail-facts span { overflow-wrap: break-word; }
.service-scope-grid { padding: 0; list-style: none; border: 0; gap: 1px; }
.service-scope-grid > li { min-width: 0; padding: 1.7rem; border: 1px solid rgba(255,255,255,.18); transition: background .3s, color .3s, transform .3s; }
.service-scope-grid > li > span { color: var(--ochre); font: .72rem var(--display); letter-spacing: .15em; }
.service-scope-grid h3 { margin: 1.8rem 0 0; font-size: clamp(1.55rem, 2vw, 2.1rem); line-height: 1.1; }
.service-scope-grid > li:hover { color: var(--graphite); background: var(--ochre); }
.service-scope-grid > li:hover > span { color: var(--graphite); }
.service-detail.is-category-page .service-scope-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2rem; }
.service-detail.is-category-page .service-scope-grid > li { display: flex; align-items: flex-start; gap: 1rem; padding: 1.15rem 1.25rem; }
.service-detail.is-category-page .service-scope-grid > li > span { flex: none; min-width: 1.5rem; padding-top: .3rem; }
.service-detail.is-category-page .service-scope-grid h3 { margin: 0; font: 500 clamp(.95rem, 1.15vw, 1.05rem)/1.65 var(--body); text-transform: none; }
.service-detail.is-category-page .service-scope-grid > li:hover { color: inherit; background: transparent; }
.service-detail.is-category-page .service-scope-grid > li:hover > span { color: var(--ochre); }
.service-detail .detail-focus-image { background: #e5e2d9; }
.service-detail .detail-focus-image img { object-fit: contain; object-position: center; }
.service-detail .detail-focus:hover .detail-focus-image img { transform: none; }
.service-related.section-pad { padding-block: clamp(3rem, 5vw, 5rem); }
.service-related-heading { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; }
.service-related-heading h2 { margin: .7rem 0 0; font: 500 clamp(2.2rem, 3.8vw, 3.6rem)/1 var(--display); text-transform: uppercase; }
.service-related-all { display: inline-flex; flex-shrink: 0; align-items: center; gap: .8rem; padding-block: .5rem; border-bottom: 1px solid var(--ochre); color: #e3c474; font: 500 .85rem var(--display); letter-spacing: .06em; text-transform: uppercase; }
.service-related-grid { display: grid; grid-template-columns: repeat(var(--related-columns, 3), minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.service-related-grid.has-single { max-width: 42rem; }
.service-related .cinema-card-image { height: auto; aspect-ratio: 3 / 2; }
.service-related .cinema-card-image img { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; }
.service-related .cinema-card-copy { min-height: 0; padding: 1.25rem; }
.service-related .cinema-card-copy h3 { font-size: clamp(1.6rem, 2.2vw, 2.2rem); line-height: 1.05; }
.service-related .cinema-card-copy p { color: #c2cbc5; font-size: .85rem; }
.service-related .cinema-card-copy > span { font-size: .68rem; }
.capability-empty { padding-block: 9rem 5rem; min-height: 45vh; }
.capability-empty h1, .capability-empty h2 { font: 500 2.5rem/1.1 var(--display); }
@media (max-width: 980px) {
    .service-families .service-card h3 { font-size: 2.2rem; }
    .service-detail .detail-hero h1 { font-size: clamp(3.5rem, 8vw, 5.5rem); }
    .service-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-related-grid.has-single { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .metrics-grid.has-three-metrics { grid-template-columns: 1fr; }
    .service-families .service-card { min-height: 300px; }
    .service-cinema-hero .cinema-hero-content { padding-top: 10rem; padding-bottom: 3rem; }
    .service-cinema-hero :is(h1, .cinema-title) { max-width: 16ch; font-size: clamp(2.8rem, 12vw, 4.25rem); line-height: .92; }
    .service-detail .detail-hero h1 { max-width: 16ch; font-size: clamp(2.7rem, 12vw, 4.5rem); line-height: .94; }
    .service-detail .detail-hero-copy { margin-top: 2.3rem; }
    .service-detail .detail-hero-copy > p { display: block; font-size: .85rem; }
    .service-detail .detail-facts { grid-template-columns: 1.4fr 1fr 1fr; }
    .service-scope-grid h3 { margin-top: 1.25rem; }
    .service-detail.is-category-page .service-scope-grid { grid-template-columns: 1fr; }
    .service-detail.is-category-page .detail-facts-float { position: relative; bottom: auto; left: auto; width: calc(100% - 2rem); padding-bottom: 1rem; transform: none; }
    .service-detail.is-category-page .detail-hero-inner { padding-bottom: 1.5rem; }
    .service-detail.is-category-page .detail-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-detail.is-category-page .detail-facts span:first-child { grid-column: 1 / -1; min-height: 48px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
    .service-related-heading { align-items: start; flex-direction: column; gap: 1rem; }
    .service-related-grid { grid-template-columns: 1fr; gap: 1.25rem; margin-top: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
    .service-families .service-card, .service-families .service-card::before, .service-cinema-card, .service-scope-grid > li { transition: none; }
    .service-families .service-card:hover, .service-families .service-card:focus-visible, .service-cinema-card[data-reveal].is-visible:hover { transform: none; }
}

.capability-crosslink { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .7rem 2rem; border-top: 1px solid #ffffff26; padding-block: 1.2rem; margin-top: 1.5rem; font-size: .8rem; color: #c1c9c3; }
.capability-crosslink span { color: #e3c474; display: inline-flex; align-items: center; gap: .9rem; }
.capability-crosslink.on-light { color: var(--graphite); border-color: var(--line); }
.capability-crosslink.on-light span { color: var(--mineral); }

/* Categorías y subcategorías del catálogo comercial. */
.service-subcategory-intro { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding-block: .3rem 1.4rem; }
.service-subcategory-intro p { max-width: 60rem; margin: 0; color: #c6d0c9; line-height: 1.65; }
.service-subcategory-intro a, .service-category-contact a { flex: none; color: #e7c878; border-bottom: 1px solid currentColor; padding-bottom: .35rem; }
.service-subcategory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.8rem); padding-bottom: 1.75rem; }
.service-subcategory-card { display: flex; flex-direction: column; min-width: 0; color: #f7f4ec; text-decoration: none; transition: transform .25s ease; }
.service-subcategory-card[data-reveal] { transition: opacity .75s ease, transform .85s cubic-bezier(.2,.8,.2,1); }
.service-subcategory-card:hover, .service-subcategory-card:focus-visible { transform: translateY(-4px); }
.service-subcategory-card:focus-visible { outline: 3px solid #c99a24; outline-offset: 4px; }
.service-subcategory-card > img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: contain; background: #263c37; }
.service-subcategory-copy { display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; padding: 1.1rem .1rem 0; }
.service-subcategory-copy small { color: #e2ba58; font-size: .68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .13em; }
.service-subcategory-copy strong { color: inherit; font: 500 clamp(1.65rem, 2.2vw, 2.25rem)/1.03 var(--display); text-transform: uppercase; }
.service-subcategory-copy > span { max-width: 43ch; color: #c5d0cb; font-size: .88rem; line-height: 1.55; }
.service-subcategory-copy b { display: inline-flex; align-items: center; gap: .45rem; margin-top: .3rem; padding-bottom: .28rem; border-bottom: 1px solid currentColor; color: #e2ba58; font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.service-category-page .service-subcategory-card { color: #242a2d; }
.service-category-page .service-subcategory-card > img { background: #e5e2d9; }
.service-category-page .service-subcategory-copy small { color: #947016; }
.service-category-page .service-subcategory-copy > span { color: #535c59; }
.service-category-page .service-subcategory-copy b { color: #173f3a; }
.service-category-page { background: #f7f4ec; }
.service-category-hero { position: relative; overflow: hidden; isolation: isolate; background: #0d211e; color: #f7f4ec; }
.service-category-hero-slides, .service-category-hero-slide, .service-category-hero-shade { position: absolute; inset: 0; }
.service-category-hero-slide { overflow: hidden; opacity: 0; visibility: hidden; transition: opacity 1s ease, visibility 1s; }
.service-category-hero-slide.is-active { opacity: 1; visibility: visible; }
.service-category-hero-slide::before { position: absolute; inset: -3rem; background: var(--category-image) center / cover; filter: blur(28px) brightness(.65); content: ""; }
.service-category-hero-slide img { position: absolute; top: 0; right: 0; width: 74%; height: 100%; object-fit: contain; object-position: right center; }
.service-category-hero-slide.is-active img { animation: serviceCategoryImageIn 1.2s cubic-bezier(.2,.75,.25,1) both; }
@keyframes serviceCategoryImageIn { from { opacity: .35; transform: translateX(22px); } to { opacity: 1; transform: none; } }
.service-category-hero-shade { z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(10,30,26,.98) 0%, rgba(10,30,26,.92) 26%, rgba(10,30,26,.64) 43%, rgba(10,30,26,.04) 72%), linear-gradient(0deg, #0d211e 0%, rgba(13,33,30,.68) 12%, transparent 38%); }
.service-category-hero-inner { position: relative; z-index: 2; display: flex; flex-direction: column; min-height: clamp(39rem, 76svh, 53rem); padding-block: 7.5rem 1.4rem; }
.service-category-hero-topline { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.service-category-back { display: inline-flex; align-items: center; gap: .55rem; color: #e1e6dc; font-size: .78rem; }
.service-category-hero-topline > span { color: #e1e6dc; font: 500 .72rem var(--display); letter-spacing: .13em; text-transform: uppercase; }
.service-category-hero-copy { width: min(43%, 36rem); margin-block: auto; padding-block: 2.7rem; }
.service-category-hero .section-label { color: #e4bc5b; }
.service-category-hero h1 { max-width: 13ch; margin: 1rem 0 1.4rem; font: 500 clamp(3.2rem, 5.5vw, 5.7rem)/.97 var(--display); letter-spacing: -.015em; text-transform: uppercase; overflow-wrap: break-word; }
.service-category-hero [data-type-depth] { text-shadow: 0 1px 0 #aab7ac, 0 2px 0 #6f897d, 0 3px 0 #36554a, 0 12px 26px rgba(0,0,0,.3); }
.service-category-hero [data-type-depth] .type-word { perspective: 700px; }
.service-category-hero [data-type-depth].is-type-ready .type-char { transform-origin: 50% 100%; transform: translate3d(0,.6em,-30px) rotateX(65deg); transition: opacity .5s ease, filter .65s ease, transform .95s cubic-bezier(.16,.75,.2,1); }
.service-category-hero [data-type-depth].is-typed .type-char { transform: translate3d(0,0,0) rotateX(0); transition-delay: calc(var(--type-index) * 18ms); }
.service-category-hero-copy > p { max-width: 48ch; margin: 0; color: #d5ded6; font-size: .92rem; line-height: 1.72; }
.service-category-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.8rem; }
.service-category-secondary-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; max-width: 100%; }
.service-category-magazine { display: inline-flex; min-height: 44px; align-items: center; gap: .55rem; padding: .65rem .9rem; border: 1px solid rgba(228,188,91,.6); border-radius: 4px; color: #f7f4ec; background: rgba(13,33,30,.4); font: 500 .76rem var(--display); letter-spacing: .08em; text-transform: uppercase; transition: color .25s, background .25s, border-color .25s; }
.service-category-magazine > i, .service-category-magazine > svg { flex: none; color: #e4bc5b; font-size: .95rem; }
.service-category-magazine:hover { color: #173f3a; background: #e4bc5b; border-color: #e4bc5b; }
.service-category-magazine:hover > i, .service-category-magazine:hover > svg { color: inherit; }
.service-category-magazine:focus-visible { outline: 2px solid #e4bc5b; outline-offset: 4px; }
.service-category-explore { position: relative; display: inline-flex; min-height: 54px; align-items: center; gap: 1.7rem; padding: .35rem .4rem .35rem 1.4rem; border: 1px solid rgba(228,188,91,.6); border-radius: 999px; color: #f7f4ec; background: rgba(13,33,30,.5); font: 600 .82rem var(--display); letter-spacing: .12em; text-transform: uppercase; transition: color .3s, background .3s, border-color .3s, box-shadow .3s, transform .3s; }
.service-category-explore > i { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: #173f3a; background: #e4bc5b; font-size: 1rem; transition: background .3s, transform .35s cubic-bezier(.2,.75,.25,1); }
.service-category-explore:hover { border-color: #e4bc5b; color: #173f3a; background: #e4bc5b; box-shadow: 0 8px 24px rgba(0,0,0,.16); transform: translateY(-2px); }
.service-category-explore:hover > i { background: #f7f4ec; transform: rotate(-45deg); }
.service-category-quote { display: inline-flex; align-items: center; gap: .6rem; padding-block: .55rem; border-bottom: 1px solid rgba(247,244,236,.4); font-size: .76rem; }
.service-category-quote i { color: #e4bc5b; }
.service-category-hero-footer { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-top: 1rem; border-top: 1px solid rgba(247,244,236,.24); }
.service-category-image-caption { display: flex; min-width: 0; align-items: center; gap: 1.2rem; }
.service-category-image-caption > span { flex: none; color: #c0cbc3; font: 400 .75rem var(--display); letter-spacing: .12em; }
.service-category-image-caption strong { color: #e4bc5b; font-size: 1.25rem; font-weight: 500; }
.service-category-image-caption > a { display: inline-flex; align-items: center; gap: .6rem; font-size: .78rem; line-height: 1.45; }
.service-category-image-caption > a i { color: #e4bc5b; }
.service-category-hero-controls { display: flex; flex: none; gap: .4rem; }
.service-category-hero-controls button { display: grid; min-width: 42px; min-height: 42px; padding: .6rem; place-items: center; border: 1px solid rgba(247,244,236,.3); color: #f7f4ec; background: rgba(13,33,30,.65); font-size: .73rem; cursor: pointer; transition: color .2s, background .2s; }
.service-category-hero-controls button:hover { color: #242a2d; background: #c99a24; }
.service-category-hero-controls button:disabled { opacity: .5; cursor: default; }
.service-category-hero-controls button:disabled:hover { color: #f7f4ec; background: rgba(13,33,30,.65); }
.service-category-preview-bar { position: relative; z-index: 2; border-top: 1px solid rgba(247,244,236,.15); background: #0d211e; }
.service-category-previews { display: grid; grid-template-columns: repeat(var(--preview-count), minmax(0, 1fr)); gap: 1.2rem; padding-block: .8rem 1rem; }
.service-category-preview { display: flex; min-width: 0; align-items: center; gap: .8rem; padding: .75rem 0 0; border: 0; border-top: 2px solid transparent; color: #a9bbb3; background: transparent; text-align: left; cursor: pointer; transition: border-color .25s, color .25s; }
.service-category-preview img { width: 72px; height: 48px; object-fit: contain; opacity: .55; transition: opacity .25s; }
.service-category-preview > span { display: flex; min-width: 0; flex-direction: column; gap: .2rem; }
.service-category-preview small { color: #d9b866; font: 400 .62rem var(--display); letter-spacing: .12em; }
.service-category-preview b { font: 500 .95rem/1.15 var(--display); letter-spacing: .02em; text-transform: uppercase; }
.service-category-preview.is-active, .service-category-preview:hover { border-top-color: #c99a24; color: #f7f4ec; }
.service-category-preview.is-active img, .service-category-preview:hover img { opacity: 1; }
.service-category-hero :is(a, button):focus-visible { outline: 2px solid #e4bc5b; outline-offset: 4px; }
html:not(.js) .service-category-hero-controls, html:not(.js) .service-category-preview-bar { display: none; }
.service-category-page [data-reveal] { transition: opacity .75s ease, transform .85s cubic-bezier(.2,.8,.2,1), border-color .3s ease; }
.service-category-page :is(.service-solution-card, .service-subcategory-card)[data-reveal].is-visible:hover { transform: translateY(-4px); }
html:not(.js) .service-category-page [data-reveal], .service-category-page [data-reveal]:focus-within { opacity: 1; transform: none; }
@supports (animation-timeline: view()) {
    @media (min-width: 981px) and (prefers-reduced-motion: no-preference) {
        .service-category-hero { view-timeline-name: --category-hero; view-timeline-axis: block; }
        .service-category-hero-slides { animation: serviceCategoryScrollDepth linear both; animation-timeline: --category-hero; animation-range: exit 0% exit 100%; }
        @keyframes serviceCategoryScrollDepth { from { transform: translateY(0); } to { transform: translateY(7%); } }
    }
}
@media (min-width: 981px) {
    body.is-service-category .site-header:not(.is-scrolled) { color: #f7f4ec; border-color: rgba(247,244,236,.18); background: linear-gradient(180deg, rgba(10,30,26,.65), transparent); box-shadow: none; }
    body.is-service-category .site-header:not(.is-scrolled) .brand-logo-dark { display: none; }
    body.is-service-category .site-header:not(.is-scrolled) .brand-logo-light { display: block; }
}
.service-category-results-heading { max-width: 55rem; margin-bottom: 2rem; }
.service-category-results-heading h2, .service-detail-specs-heading h2 { margin: .6rem 0 0; font: 500 clamp(2.4rem, 4vw, 4rem)/1 var(--display); text-transform: uppercase; }
.service-category-service-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.service-solution-card { display: flex; flex-direction: column; grid-column: span 2; min-width: 0; border: 1px solid #d9d9d0; background: #fffdf8; color: #242a2d; text-decoration: none; transition: border-color .25s ease, transform .25s ease; }
.service-solution-card:nth-last-child(2):nth-child(3n + 1), .service-solution-card:last-child:nth-child(3n + 2) { grid-column: span 3; }
.service-solution-card:hover, .service-solution-card:focus-visible { border-color: #c99a24; transform: translateY(-4px); }
.service-solution-card:focus-visible { outline: 3px solid #c99a24; outline-offset: 3px; }
.service-solution-media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #e4e2d9; }
.service-solution-media img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .4s ease; }
.service-solution-card:hover .service-solution-media img { transform: scale(1.025); }
.service-solution-copy { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; flex: 1; padding: clamp(1rem, 1.6vw, 1.4rem); }
.service-solution-copy small { display: inline-flex; align-items: center; gap: .6rem; color: #916d17; font-size: .66rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.service-solution-copy small i { width: 1rem; height: 1px; background: currentColor; }
.service-solution-copy strong { color: #242a2d; font: 500 clamp(1.65rem, 2.1vw, 2.2rem)/1.04 var(--display); text-transform: uppercase; }
.service-solution-copy > span { color: #505a57; font-size: .86rem; line-height: 1.55; }
.service-solution-copy b { display: inline-flex; align-items: center; gap: .45rem; margin-top: .35rem; padding-bottom: .25rem; border-bottom: 1px solid currentColor; color: #173f3a; font-size: .74rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.service-category-contact { padding-block: 2.4rem; background: #173f3a; color: #f7f4ec; }
.service-category-contact .site-shell { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.service-category-contact p { margin: 0; max-width: 55rem; }
.service-detail-specs { background: #f7f4ec; color: #242a2d; }
.service-detail-specs-heading { margin-bottom: 2rem; }
.service-detail-specs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #d5d8d1; border: 1px solid #d5d8d1; }
.service-detail-spec { padding: clamp(1.5rem, 3vw, 2.8rem); background: #f7f4ec; }
.service-detail-spec h3 { margin: 0 0 1rem; font: 500 clamp(1.5rem, 2vw, 2rem)/1.1 var(--display); text-transform: uppercase; color: #173f3a; }
.service-detail-spec ul { margin: 0; padding-left: 1.2rem; line-height: 1.7; }
.service-detail-spec li + li { margin-top: .5rem; }
.service-detail.is-category-page .service-detail-specs-heading h2 { font-size: clamp(2rem, 3vw, 2.85rem); line-height: 1.12; }
.service-detail.is-category-page .service-detail-spec { padding: clamp(1.25rem, 2vw, 2rem); }
.service-detail.is-category-page .service-detail-spec ul { font-size: .95rem; line-height: 1.65; }
.service-detail.is-category-page .service-detail-spec li + li { margin-top: .3rem; }
@media (max-width: 980px) {
    .service-subcategory-grid, .service-category-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .service-solution-card, .service-solution-card:nth-last-child(2):nth-child(3n + 1), .service-solution-card:last-child:nth-child(3n + 2) { grid-column: auto; }
    .service-category-hero-slides { top: 5.125rem; bottom: auto; height: min(66.6667vw, 36rem); }
    .service-category-hero-slide::before { display: none; }
    .service-category-hero-slide img { width: 100%; object-position: center; }
    .service-category-hero-shade { top: 5.125rem; bottom: auto; height: min(66.6667vw, 36rem); background: linear-gradient(0deg, #0d211e 0%, rgba(13,33,30,.15) 26%, transparent 58%), linear-gradient(180deg, rgba(13,33,30,.45), transparent 28%); }
    .service-category-hero-inner { min-height: 0; padding-top: calc(min(66.6667vw, 36rem) + 4rem); }
    .service-category-hero-topline { position: absolute; top: 6.1rem; right: 0; left: 0; }
    .service-category-hero-copy { width: 100%; margin: 0; padding-block: 0 2rem; }
    .service-category-hero h1 { max-width: 18ch; font-size: clamp(3rem, 7.5vw, 4.5rem); }
    .service-category-hero-copy > p { max-width: 62ch; }
    .service-category-previews { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(11rem, 31vw); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #c99a24 #0d211e; }
    .service-category-preview { scroll-snap-align: start; }
}
@media (max-width: 700px) {
    .service-subcategory-intro, .service-category-contact .site-shell { align-items: flex-start; flex-direction: column; }
    .service-subcategory-grid, .service-category-service-grid, .service-detail-specs-grid { grid-template-columns: 1fr; }
    .service-category-hero-topline > span { display: none; }
    .service-category-hero h1 { margin-bottom: 1rem; font-size: clamp(2.8rem, 11vw, 4rem); }
    .service-category-hero-copy > p { font-size: .85rem; line-height: 1.65; }
    .service-category-hero-actions { gap: .8rem 1.25rem; margin-top: 1.4rem; }
    .service-category-explore { min-height: 50px; gap: 1.25rem; padding-left: 1.15rem; }
    .service-category-explore > i { width: 38px; height: 38px; }
    .service-category-hero-footer { flex-wrap: wrap; gap: 1rem; }
    .service-category-image-caption { gap: .8rem; flex: 1 1 13rem; }
    .service-category-hero-controls { margin-left: auto; }
    .service-category-previews { grid-auto-columns: minmax(11rem, 52vw); gap: 1rem; }
    .service-category-preview img { width: 60px; height: 40px; }
}
@media (prefers-reduced-motion: reduce) {
    .service-subcategory-card, .service-subcategory-card[data-reveal], .service-solution-card, .service-solution-media img, .service-category-hero-slide, .service-category-preview, .service-category-preview img, .service-category-page [data-reveal], .service-category-explore, .service-category-explore > i, .service-category-magazine { transition: none; }
    .service-category-hero-slides, .service-category-hero-slide.is-active img { animation: none; transform: none; }
    .service-category-page [data-type-reveal].is-type-ready .type-char { opacity: 1; filter: none; transform: none; transition: none; }
    .service-subcategory-card:hover, .service-subcategory-card:focus-visible, .service-solution-card:hover, .service-solution-card:focus-visible, .service-solution-card:hover .service-solution-media img, .service-category-explore:hover, .service-category-explore:hover > i { transform: none; }
    .service-category-page :is(.service-solution-card, .service-subcategory-card)[data-reveal].is-visible:hover { transform: none; }
}
.service-detail-breadcrumb { display:flex; flex-wrap:wrap; gap:.35rem; line-height:1.6; }
.service-detail-breadcrumb a { color:inherit; text-decoration:none; }
.service-detail-breadcrumb a:hover { text-decoration:underline; }
