.services-page { background: #fff; }
.services-page .section-kicker { margin: 0 0 12px; color: #176eff; font-size: 13px; font-weight: 800; letter-spacing: .11em; }

/* Hero */
.services-hero { position: relative; min-height: 610px; overflow: hidden; display: flex; align-items: center; color: #fff; background: #04152f; }
.services-hero-background { position: absolute; inset: 0; background: url("assets/servicios-hero-v1.webp") 72% center / cover no-repeat; transform: scale(1.002); }
.services-hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(2,14,34,.985) 0%, rgba(2,14,34,.96) 27%, rgba(3,19,44,.79) 47%, rgba(3,19,44,.30) 73%, rgba(3,19,44,.08) 100%), linear-gradient(180deg, rgba(2,14,34,.05), rgba(2,14,34,.28)); }
.services-hero-inner { position: relative; z-index: 2; min-height: 610px; display: flex; align-items: center; }
.services-hero-copy { width: min(690px, 61%); padding: 80px 0 86px; }
.services-eyebrow { margin: 0 0 18px; color: #9cc4ff; font-size: 14px; font-weight: 800; letter-spacing: .055em; }
.services-eyebrow span { padding-inline: 4px; }
.services-hero h1 { max-width: 700px; margin: 0; font-size: clamp(47px, 4.3vw, 64px); line-height: 1.035; letter-spacing: -.043em; font-weight: 760; }
.services-hero h1 strong { color: #4a8cff; font-weight: 760; }
.services-hero-copy > p:not(.services-eyebrow) { max-width: 620px; margin: 24px 0 0; color: rgba(255,255,255,.93); font-size: 17px; line-height: 1.58; }
.services-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.services-hero .btn-primary { color: #fff; background: var(--blue); border-color: var(--blue); box-shadow: 0 10px 26px rgba(0,58,170,.30); }
.services-hero .btn-secondary { color: var(--ink); background: #fff; border-color: #fff; box-shadow: 0 10px 24px rgba(1,16,39,.18); }

/* Overview */
.services-overview { padding: 78px 0 82px; background: #fff; }
.services-overview-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 72px; align-items: center; }
.services-overview-media { position: relative; min-height: 470px; overflow: hidden; border-radius: 18px; box-shadow: 0 22px 48px rgba(4,23,54,.14); }
.services-overview-media img { width: 100%; height: 100%; min-height: 470px; object-fit: cover; object-position: center; }
.services-overview-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(2,14,34,.73) 100%); }
.services-overview-badge { position: absolute; z-index: 2; left: 26px; right: 26px; bottom: 24px; color: #fff; }
.services-overview-badge span { display: block; margin-bottom: 5px; color: #9cc4ff; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.services-overview-badge strong { font-size: 20px; line-height: 1.2; }
.services-overview-copy h2, .services-section-heading h2, .services-models-copy h2, .services-process-heading h2, .services-field-copy h2, .services-consultation-copy h2 { margin: 0; color: #08183e; font-size: clamp(32px, 3vw, 44px); line-height: 1.08; letter-spacing: -.035em; }
.services-overview-copy > p:not(.section-kicker) { margin: 20px 0 0; color: #4d5b76; font-size: 16px; line-height: 1.68; }
.services-overview-points { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 26px; margin-top: 30px; }
.services-overview-points article { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding-top: 18px; border-top: 1px solid #dbe4f1; }
.services-overview-points article > span { color: #176eff; font-size: 13px; font-weight: 800; }
.services-overview-points h3 { margin: 0 0 5px; font-size: 16px; }
.services-overview-points p { margin: 0; color: #5a6780; font-size: 13.5px; line-height: 1.5; }

/* Capabilities */
.services-capabilities { padding: 76px 0 84px; background: linear-gradient(180deg, #f4f7fc 0%, #fff 100%); }
.services-section-heading { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); gap: 56px; align-items: end; }
.services-section-heading > p { margin: 0 0 4px; color: #52617b; font-size: 16px; line-height: 1.6; }
.services-capability-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 38px; }
.services-capability-card { position: relative; min-height: 305px; padding: 28px 26px 26px; overflow: hidden; background: #fff; border: 1px solid #e0e7f2; border-radius: 14px; box-shadow: 0 12px 28px rgba(4,23,54,.07); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.services-capability-card::after { content: ""; position: absolute; right: -45px; bottom: -65px; width: 145px; height: 145px; border-radius: 50%; background: radial-gradient(circle, rgba(8,100,255,.10), transparent 68%); }
.services-capability-card:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgba(4,23,54,.11); border-color: rgba(8,100,255,.20); }
.services-capability-icon { width: 58px; height: 58px; display: grid; place-items: center; color: #176eff; background: #edf4ff; border-radius: 14px; }
.services-capability-icon svg { width: 33px; height: 33px; stroke-width: 1.8; }
.services-card-tag { margin: 21px 0 8px; color: #176eff; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; }
.services-capability-card h3 { margin: 0; color: #08183e; font-size: 21px; line-height: 1.2; letter-spacing: -.02em; }
.services-capability-card > p:last-child { margin: 12px 0 0; color: #53617b; font-size: 14px; line-height: 1.58; }

/* Models */
.services-models { padding: 78px 0; color: #fff; background: linear-gradient(110deg, #031936 0%, #072653 100%); }
.services-models-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 70px; align-items: center; }
.services-models-copy .section-kicker { color: #7fb0ff; }
.services-models-copy h2 { color: #fff; }
.services-models-copy > p:not(.section-kicker) { margin: 20px 0 0; color: #dce7f7; font-size: 16px; line-height: 1.65; }
.services-text-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 26px; color: #79afff; font-size: 15px; font-weight: 750; }
.services-models-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.services-models-grid article { min-height: 240px; padding: 26px 22px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.13); border-radius: 12px; }
.services-models-grid article > span { color: #71a9ff; font-size: 13px; font-weight: 800; }
.services-models-grid h3 { margin: 32px 0 10px; color: #fff; font-size: 19px; line-height: 1.25; }
.services-models-grid p { margin: 0; color: #d6e1f1; font-size: 14px; line-height: 1.55; }

/* Process */
.services-process { padding: 82px 0 88px; background: #fff; }
.services-process-heading { max-width: 760px; margin: 0 auto; text-align: center; }
.services-process-heading > p:not(.section-kicker) { margin: 15px auto 0; color: #56647d; font-size: 16px; line-height: 1.6; }
.services-process-steps { position: relative; display: grid; grid-template-columns: repeat(5,1fr); gap: 18px; margin-top: 44px; }
.services-process-steps::before { content: ""; position: absolute; left: 7%; right: 7%; top: 25px; height: 1px; background: #cbd8ea; }
.services-process-steps article { position: relative; z-index: 1; padding: 0 15px; text-align: center; }
.services-process-steps article > span { width: 50px; height: 50px; margin: 0 auto 20px; display: grid; place-items: center; color: #fff; background: #176eff; border: 7px solid #fff; border-radius: 50%; box-shadow: 0 7px 18px rgba(8,100,255,.20); font-size: 12px; font-weight: 800; }
.services-process-steps h3 { margin: 0 0 8px; color: #08183e; font-size: 17px; }
.services-process-steps p { margin: 0; color: #5a6780; font-size: 13.5px; line-height: 1.52; }

/* Field */
.services-field { padding: 76px 0 82px; background: #f5f8fc; }
.services-field-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 68px; align-items: center; }
.services-field-media { min-height: 490px; overflow: hidden; border-radius: 18px; box-shadow: 0 22px 46px rgba(4,23,54,.13); }
.services-field-media img { width: 100%; height: 100%; min-height: 490px; object-fit: cover; object-position: 50% center; }
.services-field-copy > p:not(.section-kicker) { margin: 20px 0 0; color: #4e5d77; font-size: 16px; line-height: 1.68; }
.services-field-points { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; margin-top: 27px; border-top: 1px solid #d7e1ef; }
.services-field-points div { padding: 18px 0; border-bottom: 1px solid #d7e1ef; }
.services-field-points strong { display: block; color: #08183e; font-size: 15px; }
.services-field-points span { display: block; margin-top: 5px; color: #596780; font-size: 13.5px; line-height: 1.48; }

/* Consultation */
.services-consultation { padding: 82px 0 88px; background: #fff; }
.services-consultation-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 64px; align-items: start; }
.services-consultation-copy { position: sticky; top: 112px; }
.services-consultation-copy > p:not(.section-kicker) { margin: 20px 0 0; color: #506078; font-size: 16px; line-height: 1.65; }
.services-form-progress { display: grid; gap: 10px; margin-top: 28px; }
.services-form-progress span { padding: 12px 14px; color: #6a7890; background: #f5f7fb; border-left: 3px solid #d9e2ef; font-size: 13px; font-weight: 700; }
.services-form-progress span.active { color: #0b56da; background: #edf4ff; border-left-color: #176eff; }
.services-form { padding: 30px; background: #f7f9fc; border: 1px solid #dde6f1; border-radius: 16px; }
.services-form fieldset { margin: 0 0 24px; padding: 0; border: 0; }
.services-form legend { margin-bottom: 15px; color: #08183e; font-size: 16px; font-weight: 800; }
.services-form-options { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.services-form-options label { position: relative; }
.services-form-options input { position: absolute; opacity: 0; pointer-events: none; }
.services-form-options span { min-height: 48px; padding: 12px 14px; display: flex; align-items: center; color: #35435f; background: #fff; border: 1px solid #dbe4f0; border-radius: 8px; font-size: 13px; font-weight: 650; cursor: pointer; }
.services-form-options input:checked + span { color: #0a55d6; background: #edf4ff; border-color: #8eb8ff; }
.services-form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.services-form label { display: flex; flex-direction: column; gap: 7px; color: #25344f; font-size: 13px; font-weight: 700; }
.services-form input, .services-form select, .services-form textarea { width: 100%; padding: 13px 14px; color: #10203f; background: #fff; border: 1px solid #d7e0ec; border-radius: 8px; outline: none; }
.services-form input:focus, .services-form select:focus, .services-form textarea:focus { border-color: #7babff; box-shadow: 0 0 0 3px rgba(8,100,255,.10); }
.services-form-comments { margin-top: 16px; }
.services-form-submit { margin-top: 20px; }

.services-final-cta { margin-top: 0; }

@media (max-width: 1080px) {
  .services-hero-copy { width: min(650px, 72%); }
  .services-overview-layout, .services-field-layout { gap: 44px; }
  .services-capability-grid { grid-template-columns: repeat(2,1fr); }
  .services-models-layout { grid-template-columns: 1fr; gap: 38px; }
  .services-models-grid { max-width: 900px; }
  .services-consultation-layout { grid-template-columns: 1fr; gap: 34px; }
  .services-consultation-copy { position: static; }
  .services-form-progress { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 900px) {
  .services-hero, .services-hero-inner { min-height: 560px; }
  .services-hero-background { background-position: 68% center; }
  .services-hero::before { background: linear-gradient(90deg, rgba(2,14,34,.96) 0%, rgba(2,14,34,.88) 56%, rgba(2,14,34,.42) 100%), linear-gradient(180deg, rgba(2,14,34,.05), rgba(2,14,34,.26)); }
  .services-hero-copy { width: min(620px, 80%); padding: 64px 0 70px; }
  .services-overview-layout, .services-field-layout { grid-template-columns: 1fr; }
  .services-overview-media, .services-overview-media img, .services-field-media, .services-field-media img { min-height: 420px; }
  .services-section-heading { grid-template-columns: 1fr; gap: 18px; }
  .services-process-steps { grid-template-columns: repeat(2,1fr); gap: 30px 18px; }
  .services-process-steps::before { display: none; }
  .services-process-steps article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .services-hero, .services-hero-inner { min-height: 610px; }
  .services-hero-background { background-position: 72% center; }
  .services-hero::before { background: linear-gradient(90deg, rgba(2,14,34,.97) 0%, rgba(2,14,34,.93) 62%, rgba(2,14,34,.72) 100%); }
  .services-hero-copy { width: 100%; padding: 54px 0 60px; }
  .services-eyebrow { font-size: 11px; }
  .services-hero h1 { font-size: 39px; }
  .services-hero-copy > p:not(.services-eyebrow) { font-size: 16px; }
  .services-hero-actions { flex-direction: column; max-width: 340px; }
  .services-overview, .services-capabilities, .services-models, .services-process, .services-field, .services-consultation { padding-top: 56px; padding-bottom: 60px; }
  .services-overview-media, .services-overview-media img, .services-field-media, .services-field-media img { min-height: 340px; }
  .services-overview-points, .services-field-points { grid-template-columns: 1fr; }
  .services-capability-grid, .services-models-grid, .services-process-steps, .services-form-options, .services-form-grid { grid-template-columns: 1fr; }
  .services-process-steps article:last-child { grid-column: auto; }
  .services-models-grid article { min-height: auto; }
  .services-form-progress { grid-template-columns: 1fr; }
  .services-form { padding: 22px 18px; }
}
