/* Nuevas secciones: contenido concreto y compacto para profesionales. */
.services,
.advantages,
.request,
.faq { isolation: isolate; }

.services { padding: 88px 0 71px; background: #f4f9fc; }
.services:before { content: ''; position: absolute; width: 470px; height: 470px; right: -175px; top: -220px; border: 1px solid #bddbea; border-radius: 50%; box-shadow: 0 0 0 75px #d7ebf350, 0 0 0 150px #d7ebf326; pointer-events: none; }
.services-head { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 46px; margin-bottom: 34px; }
.services-head .section-title { font-size: clamp(2.8rem, 4.6vw, 5.3rem); }
.services-head > p { width: min(100%, 340px); margin: 0 0 7px; color: #607a8c; font-size: 14px; line-height: 1.7; }
.service-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.service-card { min-height: 407px; display: flex; flex-direction: column; padding: 25px 27px 24px; background: #fff; border: 1px solid #d2e5ef; border-radius: 6px; box-shadow: 0 18px 40px #15547b0c; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.service-card:hover { transform: translateY(-8px); box-shadow: 0 25px 50px #15547b20; border-color: #97c7df; }
.service-card:first-child { background: radial-gradient(circle at 100% 0%, #235c8b 0%, #10395d 42%, #082744 100%); border-color: #16466c; color: #fff; }
.service-top { display: flex; justify-content: space-between; align-items: start; min-height: 49px; }
.service-index { color: #4f9cc5; font-size: 10px; font-weight: 800; letter-spacing: .19em; }
.service-card:first-child .service-index { color: #a0d8f5; }
.service-mark { color: #7abfe5; font: 400 28px/1 'Manrope', sans-serif; animation: service-mark-float 5s ease-in-out infinite alternate; }
.service-card:nth-child(2) .service-mark { animation-delay: -1.3s; }
.service-card:nth-child(3) .service-mark { animation-delay: -2.5s; }
.service-card h3 { margin: 8px 0 12px; font: 800 clamp(22px, 2.25vw, 31px)/1.13 'Manrope', Arial, sans-serif; letter-spacing: -.05em; }
.service-card > p { margin: 0 0 21px; color: #607a8c; font-size: 13px; line-height: 1.65; }
.service-card:first-child > p { color: #b8d6e8; }
.service-card ul { margin: 0 0 24px; padding: 0; list-style: none; }
.service-card li { position: relative; padding: 8px 0 8px 17px; border-top: 1px solid #dceaf1; color: #425e70; font-size: 12px; font-weight: 700; line-height: 1.4; }
.service-card li:before { content: ''; position: absolute; left: 1px; top: 15px; width: 6px; height: 6px; border: 1px solid #2c8ec6; transform: rotate(45deg); }
.service-card:first-child li { color: #d6e9f5; border-color: #ffffff26; }
.service-card:first-child li:before { border-color: #9cd7f6; }
.service-card > a { display: flex; justify-content: space-between; align-items: center; gap: 20px; width: 100%; margin-top: auto; padding-top: 16px; border-top: 1px solid #c8dce8; color: #176aa3; font-size: 12px; font-weight: 800; }
.service-card > a span { font-size: 20px; font-weight: 400; transition: transform .25s; }
.service-card > a:hover span { transform: translate(3px, -3px); }
.service-card:first-child > a { color: #a7e3ff; border-color: #ffffff36; }
.services-note { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 24px; padding: 17px 0 0; border-top: 1px solid #d4e5ee; color: #71899b; font-size: 12px; }
.services-note > a { color: #1c77b2; font-weight: 800; }
.services-note > a span { margin-left: 20px; }

.advantages { padding: 85px 0; color: #fff; background: radial-gradient(circle at 72% 30%, #164d79, #082a4b 48%, #061c35 100%); }
.advantages:before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #ffffff09 1px, transparent 1px), linear-gradient(#ffffff08 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(90deg, transparent, #000); pointer-events: none; }
.advantages-layout { position: relative; display: grid; grid-template-columns: .86fr 1.14fr; gap: 8%; align-items: center; }
.advantages-copy .section-title { font-size: clamp(2.75rem, 4.7vw, 5.3rem); }
.advantages-copy .section-title em { color: #8bd4fb; }
.advantages-copy > p:not(.eyebrow) { max-width: 430px; margin: 24px 0 27px; color: #b5d1e3; font-size: 14px; line-height: 1.75; }
.advantage-grid { display: grid; grid-template-columns: 1.05fr .95fr; grid-template-rows: repeat(2, minmax(196px, 1fr)); gap: 13px; }
.advantage-card { position: relative; display: flex; flex-direction: column; min-height: 196px; padding: 24px; overflow: hidden; border: 1px solid #9fd3f13b; border-radius: 5px; background: #ffffff0c; backdrop-filter: blur(8px); transition: transform .35s, background .35s, border-color .35s; }
.advantage-card:hover { transform: translateY(-5px); background: #ffffff16; border-color: #9fd3f18f; }
.advantage-card-feature { grid-row: span 2; background: radial-gradient(circle at 75% 15%, #3188c57a, #164466 55%, #103553); }
.advantage-card-feature:after { content: ''; position: absolute; width: 270px; height: 270px; right: -95px; bottom: -135px; border: 1px solid #b9e8ff3c; border-radius: 50%; box-shadow: 0 0 0 35px #a7ddfa12, 0 0 0 70px #a7ddfa0a; }
.advantage-kicker { position: relative; z-index: 1; color: #a7d8f3; font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.advantage-card strong { position: relative; z-index: 1; margin: auto 0 4px; color: #c8eaff; font: 800 clamp(3.5rem, 6vw, 6.4rem)/1 'Manrope', sans-serif; letter-spacing: -.08em; }
.advantage-card-feature strong { font-size: clamp(5rem, 9vw, 10rem); }
.advantage-card h3 { position: relative; z-index: 1; margin: auto 0 7px; font: 800 19px/1.2 'Manrope', sans-serif; letter-spacing: -.04em; }
.advantage-card p { position: relative; z-index: 1; max-width: 260px; margin: 0; color: #aecbde; font-size: 12px; line-height: 1.55; }
.advantage-symbol { margin: auto 0 4px; color: #a6e2ff; font: 300 62px/1 'Manrope', sans-serif; }

.request { padding: 87px 0; background: #f5f9fc; }
.request:before { content: ''; position: absolute; width: 540px; height: 540px; left: -340px; top: -150px; border: 1px solid #cde3ed; border-radius: 50%; box-shadow: 0 0 0 80px #e0eff542; pointer-events: none; }
.request-layout { position: relative; display: grid; grid-template-columns: .9fr 1.1fr; gap: 12%; align-items: center; }
.request-intro .section-title { font-size: clamp(2.75rem, 4.7vw, 5.3rem); }
.request-intro > p:not(.eyebrow) { margin: 22px 0 25px; color: #667f90; font-size: 15px; line-height: 1.7; max-width: 400px; }
.request-list { border-top: 1px solid #bfd5e2; }
.request-item { display: grid; grid-template-columns: 45px 1fr; gap: 17px; padding: 23px 0; border-bottom: 1px solid #bfd5e2; }
.request-item > span { color: #3991c4; font-size: 12px; font-weight: 800; letter-spacing: .13em; }
.request-item h3 { margin: 0 0 7px; font: 800 21px/1.2 'Manrope', sans-serif; letter-spacing: -.04em; }
.request-item p { max-width: 440px; margin: 0; color: #667f90; font-size: 13px; line-height: 1.65; }
.request-confirm { display: flex; align-items: center; gap: 13px; padding: 17px 18px; margin-top: 17px; background: #e5f2f9; border-left: 3px solid #288ccc; }
.request-confirm span { color: #1683be; font-size: 23px; }
.request-confirm p { margin: 0; color: #4e6c80; font-size: 12px; line-height: 1.5; }

.faq { padding: 88px 0 90px; background: #eaf4fa; }
.faq-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 12%; align-items: start; }
.faq-intro .section-title { font-size: clamp(2.75rem, 4.5vw, 5.1rem); }
.faq-intro > p:not(.eyebrow) { margin: 23px 0 20px; max-width: 350px; color: #637f91; font-size: 14px; line-height: 1.65; }
.faq-list { border-top: 1px solid #bfd7e5; }
.faq-list details { border-bottom: 1px solid #bfd7e5; background: transparent; transition: background .3s; }
.faq-list details[open] { background: #ffffff88; }
.faq-list summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 17px; cursor: pointer; list-style: none; color: #153d5b; font: 800 16px/1.3 'Manrope', sans-serif; letter-spacing: -.025em; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #a9cde0; border-radius: 50%; color: #2785bd; font: 400 23px/1 'DM Sans', sans-serif; transition: transform .3s, background .3s; }
.faq-list details[open] summary span { transform: rotate(45deg); background: #d9effa; }
.faq-list details > p { max-width: 580px; margin: -3px 60px 21px 17px; color: #5f7a8c; font-size: 13px; line-height: 1.7; }

/* La última celda impar invita a consultar: ninguna fotografía se repite. */
.work-viewport.is-static .work-track { width: 100%; justify-content: center; }
.product-inquiry { color: #fff; background: #0a2b4d; border-color: #19527a; }
.product-inquiry-art { position: relative; display: grid; place-items: center; height: 174px; overflow: hidden; background: radial-gradient(circle at 72% 33%, #2071a9, #0e3b65 49%, #092946 100%); }
.product-inquiry-art:before { content: ''; position: absolute; width: 205px; height: 205px; border: 1px solid #b9e5ff62; border-radius: 50%; box-shadow: 0 0 0 31px #9ddaff16, 0 0 0 63px #9ddaff0e; }
.product-inquiry-art span { position: relative; z-index: 1; color: #c5eaff; font-size: 51px; animation: service-mark-float 5s ease-in-out infinite alternate; }
.product-inquiry-copy { display: flex; flex-direction: column; flex: 1; padding: 14px 17px 17px; }
.product-inquiry-copy small { color: #91cbea; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.product-inquiry-copy h3 { margin: 7px 0 8px; font: 800 15px/1.22 'Manrope', sans-serif; letter-spacing: -.035em; }
.product-inquiry-copy a { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; color: #bce9ff; font-size: 11px; font-weight: 800; }
.product-inquiry-copy a span { font-size: 18px; font-weight: 400; }

@keyframes service-mark-float { to { transform: translateY(-7px) rotate(8deg); opacity: .62; } }

@media (max-width: 1050px) {
  .services-head, .advantages-layout, .request-layout, .faq-layout { gap: 6%; }
  .service-card { padding: 23px 19px; }
  .service-card h3 { font-size: 23px; }
}

@media (min-width: 761px) and (max-width: 950px) {
  .site-header { height: 76px; padding: 0 32px; }
  .desktop-nav, .header-cta { display: none; }
  .menu-toggle { display: flex; margin-left: auto; flex-direction: column; justify-content: center; gap: 6px; width: 42px; height: 42px; background: none; border: 1px solid #ffffff50; border-radius: 3px; padding: 9px; z-index: 55; }
  .menu-toggle span { height: 2px; background: #fff; width: 100%; transition: transform .25s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .mobile-menu { position: fixed; z-index: 49; top: 0; right: 0; left: 0; display: flex; flex-direction: column; padding: 85px 32px 25px; background: #071c35; transform: translateY(-105%); transition: transform .35s; box-shadow: 0 20px 35px #05182d66; }
  .mobile-menu.is-open { transform: translateY(0); }
  .mobile-menu a { padding: 13px 0; border-bottom: 1px solid #ffffff22; font: 700 18px 'Manrope', sans-serif; }
  .mobile-menu .mobile-whatsapp { font-size: 13px; color: #a8dbfa; border: 0; margin-top: 8px; }
}

@media (max-width: 760px) {
  .services, .advantages, .request, .faq { padding: 68px 0; }
  .services-head { display: block; margin-bottom: 25px; }
  .services-head .section-title, .advantages-copy .section-title, .request-intro .section-title, .faq-intro .section-title { font-size: clamp(2.6rem, 9.7vw, 4rem); }
  .services-head > p { margin: 18px 0 0; font-size: 13px; }
  .service-grid { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-right: -19px; padding-right: 19px; padding-bottom: 10px; }
  .service-grid::-webkit-scrollbar { display: none; }
  .service-card { flex: 0 0 min(82vw, 370px); min-height: 405px; scroll-snap-align: start; padding: 23px; }
  .service-card h3 { font-size: 26px; }
  .services-note { align-items: start; flex-direction: column; gap: 8px; margin-top: 13px; }
  .services-note:before { content: 'DESLIZA PARA VER SERVICIOS  ↔'; color: #7e9aab; font-size: 9px; font-weight: 800; letter-spacing: .15em; margin-bottom: 6px; }
  .advantages-layout, .request-layout, .faq-layout { display: block; }
  .advantages-copy > p:not(.eyebrow), .request-intro > p:not(.eyebrow), .faq-intro > p:not(.eyebrow) { font-size: 13px; margin: 20px 0 23px; }
  .advantage-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; margin-top: 37px; gap: 10px; }
  .advantage-card { min-height: 195px; padding: 19px; }
  .advantage-card-feature { grid-row: auto; grid-column: 1 / -1; min-height: 220px; }
  .advantage-card-feature strong { font-size: 6rem; }
  .advantage-card strong { font-size: 4rem; }
  .advantage-card h3 { font-size: 16px; }
  .advantage-card p { font-size: 11px; }
  .advantage-symbol { font-size: 49px; }
  .request-list { margin-top: 37px; }
  .request-item { grid-template-columns: 35px 1fr; gap: 11px; padding: 19px 0; }
  .request-item h3 { font-size: 18px; }
  .request-item p { font-size: 12px; }
  .faq-list { margin-top: 35px; }
  .faq-list summary { padding: 18px 10px; font-size: 14px; }
  .faq-list details > p { margin: -2px 45px 19px 10px; font-size: 12px; }
  .mobile-menu { max-height: 100svh; overflow-y: auto; }
  .mobile-menu a { padding: 12px 0; font-size: 17px; }
  .work-viewport.is-static .work-track { width: max-content; justify-content: flex-start; }
  .product-inquiry-art { height: 150px; }
}

@media (max-width: 390px) {
  .advantage-card { padding: 16px; }
  .advantage-card strong { font-size: 3.4rem; }
  .advantage-card h3 { font-size: 15px; }
  .service-card { flex-basis: 85vw; }
}

@media (prefers-reduced-motion: reduce) {
  .service-mark { animation: none; }
  .product-inquiry-art span { animation: none; }
  .service-card, .advantage-card, .faq-list summary span { transition: none; }
}

/* Opción 03 · El laboratorio inmersivo */
.intro { min-height: 650px; padding: 104px 0 78px; color: #fff; background: radial-gradient(circle at 79% 39%, #236e9c 0%, #104a78 24%, #082c50 49%, #061d38 78%); }
.intro:before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #b5e7ff09 1px, transparent 1px), linear-gradient(#b5e7ff08 1px, transparent 1px); background-size: 75px 75px; mask-image: linear-gradient(90deg, transparent 20%, #000 100%); pointer-events: none; }
.intro:after { content: ''; position: absolute; width: 40vw; height: 40vw; min-width: 480px; min-height: 480px; right: -11%; top: -34%; border-radius: 50%; background: #72c9ff1a; filter: blur(70px); pointer-events: none; animation: intro-glow 7s ease-in-out infinite alternate; }
.intro-layout { position: relative; z-index: 2; grid-template-columns: 1.2fr .8fr; column-gap: 10%; align-items: center; }
.intro .eyebrow { color: #a4ddfa; }
.intro .section-title { margin-top: 26px; font-size: clamp(3.8rem, 6.5vw, 7.5rem); line-height: 1.01; letter-spacing: -.078em; }
.intro .section-title em { color: #9bdefd; }
.intro-aside { position: relative; z-index: 3; max-width: 360px; padding: 25px 0 0; }
.intro-aside p { color: #c0dbea; font-size: 17px; line-height: 1.75; }
.intro .inline-link { color: #b1e5ff; border-color: #9bdafd80; }
.intro-orbit { position: absolute; z-index: 1; width: min(48vw, 670px); aspect-ratio: 1; right: 2%; top: -16%; display: grid; place-items: center; border: 1px solid #a9e4ff33; border-radius: 50%; box-shadow: 0 0 0 42px #a9e4ff09, 0 0 0 84px #a9e4ff07, inset 0 0 80px #87d3ff12; animation: intro-orbit-spin 44s linear infinite; }
.intro-orbit:before, .intro-orbit:after { content: ''; position: absolute; border-radius: 50%; }
.intro-orbit:before { inset: 17%; border: 1px dashed #b9eaff54; }
.intro-orbit:after { inset: 34%; border: 1px solid #b9eaff50; background: #63caff12; }
.intro-orbit-core { position: relative; z-index: 1; color: #c6efff; font-size: clamp(55px, 8vw, 110px); text-shadow: 0 0 36px #8ad5ff; }
.intro-orbit-label { position: absolute; bottom: 12%; color: #a6ddf7; font-size: 10px; font-weight: 800; letter-spacing: .28em; }
.intro .value-row { position: relative; z-index: 3; margin-top: 79px; gap: 14px; border: 0; }
.intro .value-item { min-height: 172px; padding: 25px 25px 23px; border: 1px solid #b5e6ff38; border-radius: 5px; background: #ffffff0c; backdrop-filter: blur(7px); transition: transform .35s, background .35s, border-color .35s; }
.intro .value-item:hover { transform: translateY(-7px); background: #ffffff17; border-color: #b5e6ff8c; }
.intro .value-item:before { top: -1px; left: 24px; width: 44px; height: 2px; background: #91daff; }
.intro .value-icon { color: #8ed6f8; font-size: 10px; }
.intro .value-item h3 { color: #fff; font-size: 23px; margin: 23px 0 8px; }
.intro .value-item p { color: #b5d1e2; max-width: 290px; font-size: 13px; }
.intro-hint { display: none; }
@keyframes intro-orbit-spin { to { transform: rotate(360deg); } }
@keyframes intro-glow { to { opacity: .45; transform: translate(-40px, 30px) scale(1.12); } }
@media (max-width: 760px) {
  .intro { min-height: 0; padding: 76px 0 63px; background: radial-gradient(circle at 85% 12%, #1d6795 0%, #0b3b65 35%, #061d38 75%); }
  .intro-layout { display: block; }
  .intro .section-title { font-size: clamp(3.55rem, 13.2vw, 5.5rem); margin-top: 20px; }
  .intro-aside { max-width: 330px; padding: 0; margin-top: 26px; }
  .intro-aside p { font-size: 14px; line-height: 1.65; margin-bottom: 18px; }
  .intro-orbit { width: 390px; right: -190px; top: -62px; opacity: .55; }
  .intro-orbit-label { display: none; }
  .intro .value-row { display: flex; gap: 11px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 44px -19px 0 0; padding: 3px 19px 12px 0; }
  .intro .value-row::-webkit-scrollbar { display: none; }
  .intro .value-item, .intro .value-item:last-child { flex: 0 0 min(78vw, 320px); min-height: 171px; grid-column: auto; scroll-snap-align: start; padding: 22px; }
  .intro .value-item h3 { font-size: 21px; margin-top: 19px; }
  .intro-hint { display: block; color: #9bcae1; font-size: 9px; font-weight: 800; letter-spacing: .18em; margin: 4px 0 0; }
  .intro-hint span { margin-left: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .intro:after, .intro-orbit { animation: none; }
  .intro .value-item { transition: none; }
}

/* Móvil · opción 02: mosaico premium, tres tarjetas visibles. */
@media (max-width: 760px) {
  .intro .value-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    overflow: visible;
    scroll-snap-type: none;
    margin: 35px 0 0;
    padding: 0;
  }
  .intro .value-item,
  .intro .value-item:last-child {
    min-width: 0;
    min-height: 154px;
    padding: 18px 17px;
    grid-column: auto;
    scroll-snap-align: none;
  }
  .intro .value-item:first-child {
    grid-column: 1 / -1;
    min-height: 137px;
    background: linear-gradient(115deg, #277db5, #104269);
    border-color: #88d4fc90;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .intro .value-item:first-child .value-icon { margin-bottom: auto; }
  .intro .value-item h3 { font-size: 18px; margin: 18px 0 6px; }
  .intro .value-item:first-child h3 { font-size: 23px; margin: 15px 0 5px; }
  .intro .value-item p { font-size: 11px; line-height: 1.45; }
  .intro .value-item:before { left: 17px; }
  .intro-hint { display: none; }
}
@media (max-width: 390px) {
  .intro .value-item,
  .intro .value-item:last-child { padding: 15px 13px; min-height: 161px; }
  .intro .value-item:first-child { min-height: 132px; }
  .intro .value-item h3 { font-size: 16px; }
  .intro .value-item:first-child h3 { font-size: 21px; }
  .intro .value-item:before { left: 13px; }
}

/* Servicios móvil · opción 01: imagen protagonista y dos categorías visibles. */
.services-mobile-heading,.service-mobile-summary { display: none; }
@media (max-width: 760px) {
  .services-desktop-heading { display: none; }
  .services-mobile-heading { display: inline; }
  .services { padding: 66px 0 58px; }
  .services-head { margin-bottom: 21px; }
  .services-head .section-title { font-size: clamp(2.45rem, 9.5vw, 3.7rem); }
  .services-head > p { margin-top: 15px; max-width: 340px; }
  .service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; overflow: visible; scroll-snap-type: none; margin: 0; padding: 0; }
  .service-card { min-width: 0; min-height: 163px; padding: 15px; scroll-snap-align: none; border-radius: 7px; }
  .service-card:first-child { grid-column: 1 / -1; min-height: 264px; padding: 18px; background: linear-gradient(180deg, rgba(4,22,42,.84) 0%, rgba(4,22,42,.04) 36%, rgba(4,22,42,.92) 100%), url('assets/hero-escultura.png') center 58% / cover; border-color: #1b5780; box-shadow: 0 20px 34px #0b466b30; }
  .service-top { min-height: 29px; }
  .service-card:first-child .service-top { min-height: 48px; }
  .service-mark { font-size: 20px; }
  .service-card h3 { font-size: 18px; margin: 9px 0 5px; }
  .service-card:first-child h3 { margin-top: auto; font-size: 27px; }
  .service-card > p:not(.service-mobile-summary),.service-card ul { display: none; }
  .service-card:first-child > p:not(.service-mobile-summary) { display: block; max-width: 290px; margin: 0 0 7px; color: #e1edf5; font-size: 11px; line-height: 1.45; }
  .service-card .service-mobile-summary { display: block; margin: 0 0 8px; color: #5e7a8c; font-size: 10px; line-height: 1.4; }
  .service-card > a { padding-top: 9px; font-size: 10px; }
  .service-card:first-child > a { padding-top: 10px; }
  .service-card > a span { font-size: 16px; }
  .services-note { margin-top: 14px; }
  .services-note:before { content: none; }
}
@media (max-width: 390px) {
  .service-card { padding: 13px; min-height: 170px; }
  .service-card:first-child { min-height: 256px; padding: 16px; }
  .service-card h3 { font-size: 16px; }
  .service-card:first-child h3 { font-size: 25px; }
}

/* Trabajos móvil · opción 02: galería inmersiva de dos filas. */
.work-mobile-heading { display: none; }
@media (max-width: 760px) {
  .work-desktop-heading { display: none; }
  .work-mobile-heading { display: inline; }
  .work { padding: 65px 0 55px; color: #fff; background: radial-gradient(circle at 75% 5%, #185681 0%, #0b355a 42%, #061d38 100%); }
  .work:before { border-color: #b7e5ff24; box-shadow: 0 0 0 80px #ffffff08, 0 0 0 160px #ffffff05; }
  .work .eyebrow { color: #a3dbf8; }
  .work .section-title { color: #fff; font-size: clamp(3.15rem, 12vw, 4.4rem); }
  .work .section-title em { color: #9bdefd; }
  .work .section-heading > p { color: #b4d0e0; font-size: 12px; margin-top: 13px; }
  .work .work-controls { margin-top: 23px; }
  .work .filter { color: #b7d8e8; border-color: #91cce157; }
  .work .filter.is-active { color: #092e4e; background: #a7e1ff; border-color: #a7e1ff; }
  .work .work-count { color: #9ac9e1; }
  .work .carousel-arrow { color: #d7effb; border-color: #a9d9ef75; background: #ffffff14; }
  .work .carousel-arrow:hover { background: #ffffff2b; }
  .work .work-track { gap: 10px; }
  .work .product-column { width: 70vw; gap: 10px; }
  .work .product-column .product-card { color: #fff; background: #0e3a5f; border-color: #8fcceb5b; box-shadow: 0 13px 27px #001b3460; }
  .work .product-column .product-media { height: 180px; }
  .work .product-column .product-body { min-height: 55px; padding: 10px 12px; }
  .work .product-column .product-body small { color: #a8d8f1; font-size: 8px; margin-bottom: 4px; }
  .work .product-column .product-body h3 { color: #fff; font-size: 13px; }
  .work .product-column .product-arrow { display: none; }
  .work .product-column .product-id { font-size: 8px; }
  .work .product-inquiry { background: #15517b; }
  .work .work-foot { color: #9cc6da; }
  .work .work-progress { background: #ffffff42; }
  .work .work-progress span { background: #8ddaff; }
}
@media (max-width: 390px) {
  .work .product-column { width: 73vw; }
  .work .product-column .product-media { height: 165px; }
}
