.hero { position: relative; display: grid; min-height: calc(100svh - var(--header-height)); align-items: end; overflow: hidden; background: var(--color-dark); color: var(--color-white); }
.hero-media, .hero-media::after { position: absolute; inset: 0; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 61% center; }
.hero-media::after { content: ""; background: linear-gradient(90deg, rgba(17,16,15,.94), rgba(17,16,15,.8) 38%, rgba(17,16,15,.34) 70%, rgba(17,16,15,.42)), linear-gradient(0deg, rgba(17,16,15,.78), transparent 52%); }
.hero-content { position: relative; z-index: 1; padding: clamp(5.5rem, 10vh, 8.5rem) 0 clamp(3rem, 6vh, 5rem); }
.hero .eyebrow { color: #ffc197; }
.hero .lead { margin-top: var(--space-5); color: rgba(255,255,255,.78); }
.hero .btn-row { margin-top: var(--space-8); }
.hero .btn--secondary { border-color: rgba(255,255,255,.52); color: var(--color-white); }
.hero-support { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: 1.15rem; color: rgba(255,255,255,.75); font-size: .86rem; font-weight: 550; text-decoration: none; }
.hero-support:hover { color: var(--color-white); }
.trust-strip { position: relative; z-index: 1; border-top: 1px solid rgba(255,255,255,.17); background: rgba(17,16,15,.76); }
.trust-grid { display: flex; flex-wrap: wrap; align-items: center; min-height: 58px; }
.trust-grid span { display: inline-flex; align-items: center; gap: .65rem; padding: .65rem 1.2rem .65rem 0; color: rgba(255,255,255,.7); font-size: .72rem; font-weight: 650; letter-spacing: .09em; text-transform: uppercase; }
.trust-grid span::before { width: 5px; height: 5px; border-radius: 50%; background: var(--color-brand); content: ""; }
.trust-grid span + span { padding-left: 1.2rem; border-left: 1px solid rgba(255,255,255,.2); }

#soluciones .split > div { grid-column: span 6; }
#soluciones .split-media { aspect-ratio: 6 / 5; }
.section-dark .editorial-title { max-width: 760px; font-size: clamp(2.6rem, 3vw, 3.25rem); }
.section-action { margin-top: var(--space-8); }
#servicios .section-heading h2 { max-width: 900px; font-size: clamp(3rem, 4vw, 4.5rem); letter-spacing: -.035em; line-height: 1; }
.services-lead-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(340px, .85fr); gap: 32px; align-items: stretch; }
.services-lead-stack { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 32px; }
.services-secondary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 56px; }
.service-card { display: flex; min-width: 0; flex-direction: column; }
.service-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: center; transition: transform var(--transition-standard); }
.service-card:hover img { transform: scale(1.02); }
.service-card--featured img { aspect-ratio: 16 / 9; }
.service-card-body { display: flex; flex-direction: column; gap: .85rem; padding-top: 1.35rem; }
.service-card h3 { max-width: none; margin: 0; font-size: clamp(1.25rem, 1.55vw, 1.6rem); }
.service-card--featured h3 { font-size: clamp(1.875rem, 2.25vw, 2.125rem); }
.service-card p { margin: 0; font-size: .94rem; line-height: 1.6; }
.service-card a { display: inline-flex; align-items: center; gap: .45rem; color: var(--color-brand-hover); font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.service-card a::after { content: "→"; font-size: 1rem; }
.service-card--stacked { display: grid; grid-template-columns: minmax(0,.44fr) minmax(0,.56fr); align-items: start; gap: 20px; }
.service-card--stacked img { height: 100%; aspect-ratio: auto; }
.service-card--stacked .service-card-body { padding-top: 0; }

.sectors-section { padding-block: var(--space-section); }
.sectors-layout { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); align-items: stretch; }
.sectors-media { grid-column: span 7; min-height: 510px; margin: 0; }
.sectors-media img { width: 100%; height: 100%; object-fit: cover; }
.sectors-content { display: flex; grid-column: span 5; flex-direction: column; justify-content: center; padding: clamp(2.5rem,5vw,4.5rem); background: var(--color-dark); color: var(--color-white); }
.sectors-content h2 { max-width: 15ch; font-family: var(--font-ui); font-size: clamp(2rem,2.2vw,2.6rem); font-weight: 600; line-height: 1.1; }
.sectors-content > p:not(.eyebrow) { margin-top: var(--space-5); color: rgba(255,255,255,.7); font-size: .96rem; }
.sector-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin: var(--space-8) 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,.18); list-style: none; }
.sector-list li { padding: .68rem 0; border-bottom: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.83); font-size: .86rem; }
.sector-list li:nth-child(odd) { margin-right: 1rem; }

#metodo { background: #e5ded3; }
#metodo .container > h2 { max-width: 820px; }
.method-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin-top: var(--space-10); border-block: 1px solid #bfb6a9; }
.method-step { min-height: 315px; padding: 1.35rem 1.2rem 1.6rem; border-right: 1px solid #bfb6a9; }
.method-step:last-child { border-right: 0; }
.method-step .num { display: block; margin-bottom: 3rem; color: var(--color-brand); font-family: var(--font-display); font-size: 3.8rem; font-weight: 500; line-height: .8; }
.method-step h3 { font-size: 1.1rem; }
.method-step p { margin: .7rem 0 0; font-size: .88rem; line-height: 1.6; }
.contact-actions, .contact-secondary-links { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1.1rem; }
.contact-secondary-links a { color: var(--color-text); font-size: .86rem; font-weight: 600; }
.contact-secondary-links a + a { padding-left: 1.1rem; border-left: 1px solid var(--color-border); }
.faq-list { max-width: 980px; margin-top: var(--space-10); border-top: 1px solid var(--color-border); }
.faq-item { padding: 1.35rem 0 1.45rem; border-bottom: 1px solid var(--color-border); }
.faq-item h3 { font-size: 1.04rem; }
.faq-item p { margin: .7rem 0 0; font-size: .95rem; }
.cta-panel { position: relative; display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: var(--grid-gap); min-height: clamp(460px,36vw,520px); align-items: end; overflow: hidden; padding: clamp(4.5rem,5vw,5rem) clamp(4rem,5vw,4.5rem); background: var(--color-dark); color: var(--color-white); }
.cta-panel::before { position: absolute; inset: 18px; border: 1px solid rgba(255,255,255,.16); content: ""; pointer-events: none; }
.cta-panel > * { position: relative; z-index: 1; }
.cta-panel > div:first-child { grid-column: span 7; }
.cta-panel .btn-row, .cta-support { grid-column: 9 / -1; }
.cta-panel .btn-row { justify-content: flex-end; }
.cta-panel .btn--secondary { border-color: rgba(255,255,255,.55); color: var(--color-white); }
.cta-support { display: flex; flex-wrap: wrap; gap: .65rem 1rem; margin: 0; color: rgba(255,255,255,.75); font-size: .82rem; }
.cta-support a { display: inline-flex; align-items: center; gap: .45rem; color: inherit; text-decoration: none; }

@media (max-width:1119px) { .services-lead-layout { grid-template-columns: 1fr; } .services-lead-stack, .services-secondary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; gap: 24px; } .services-secondary-grid .service-card:last-child { grid-column: 1 / -1; } .service-card--stacked { display:flex; } .service-card--stacked img { height:auto; aspect-ratio:16/10; } .service-card--stacked .service-card-body { padding-top:1.35rem; } }
@media (max-width:767px) { .hero { min-height:auto; } .hero-media img { object-position:63% center; } .hero-content { padding:clamp(4.5rem,18vw,5.25rem) 0 clamp(4.5rem,18vw,6rem); } .hero .btn-row { width:100%; gap:12px; } .hero .btn { width:100%; } .trust-grid { min-height:auto; padding-block:.3rem; } .trust-grid span { width:50%; padding:.65rem 0; font-size:.64rem; } .trust-grid span + span { padding-left:.75rem; border-left:0; } .trust-grid span:nth-child(even) { padding-left:.75rem; border-left:1px solid rgba(255,255,255,.2); } #soluciones .split-media, #atencion .split-media, .section-dark .split-media { order:-1; } #servicios .section-heading h2 { font-size:clamp(1.95rem,8.2vw,2.35rem); } .services-lead-layout, .services-lead-stack, .services-secondary-grid { grid-template-columns:1fr; gap:40px; } .services-secondary-grid { margin-top:40px; } .services-secondary-grid .service-card:last-child { grid-column:auto; } .service-card--stacked { display:flex; } .service-card img, .service-card--featured img, .service-card--stacked img { height:auto; aspect-ratio:16/10; } .service-card--stacked .service-card-body { padding-top:1.25rem; } .service-card h3, .service-card--featured h3 { font-size:clamp(1.5rem,7vw,1.75rem); } .sectors-layout, .cta-panel { grid-template-columns:1fr; gap:var(--space-8); } .sectors-media, .sectors-content { grid-column:auto; } .sectors-media { min-height:330px; } .sectors-content { padding:2.3rem 1.5rem; } .sector-list { grid-template-columns:1fr; } .sector-list li:nth-child(odd) { margin-right:0; } .method-grid { grid-template-columns:1fr; margin-top:var(--space-8); } .method-step { display:grid; min-height:0; grid-template-columns:72px 1fr; gap:0 1rem; padding:1.25rem 0; border-right:0; border-bottom:1px solid #bfb6a9; } .method-step .num { grid-row:span 2; margin:0; font-size:2.6rem; } .contact-secondary-links { display:grid; } .contact-secondary-links a + a { padding-left:0; border-left:0; } .cta-panel { min-height:0; padding:3rem 24px 6rem; } .cta-panel > div:first-child, .cta-panel .btn-row, .cta-support { grid-column:auto; } .cta-panel .btn-row, .cta-panel .btn { width:100%; justify-content:flex-start; } .cta-panel .btn { justify-content:center; } }
