/* Secondary pages only: visual overrides, independent from the approved Home. */
.secondary-page .page-intro {
  padding-top: 184px !important;
  padding-bottom: 12px !important;
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
  column-gap: 72px;
  align-items: end;
}
.secondary-page .page-intro > div { grid-column: 1 / -1; margin-bottom: 28px !important; }
.secondary-page .page-intro h1 { font-size: clamp(44px, 4.35vw, 64px) !important; line-height: 1.06 !important; letter-spacing: -.045em !important; margin: 0 !important; text-wrap: pretty; }
.secondary-page .page-intro p { font-size: 17px !important; line-height: 1.8; padding: 0 0 5px 24px; border-left: 1px solid #DCDFEA; }
.secondary-page .about-story { margin-top: 80px !important; padding-block: 80px !important; }
.secondary-page .about-story > div { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important; align-items: center !important; gap: 80px !important; max-width: 1260px !important; }
.secondary-page .about-story h2 { font-size: clamp(32px, 3vw, 44px) !important; line-height: 1.14 !important; }
.secondary-page .about-story h4 { line-height: 1.35; font-size: 18px !important; }
.secondary-page .about-story p { line-height: 1.75; font-size: 15px !important; }
.secondary-page .about-story > div > div:first-child > div:last-child > div { padding-top: 24px; border-top: 1px solid #DCDFEA; }
.secondary-page .about-story img { animation: none !important; }
.secondary-page .secondary-cta > div { border-radius: 4px !important; padding: 64px !important; text-align: left !important; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.secondary-page .secondary-cta h2 { font-size: clamp(32px, 3.2vw, 46px) !important; margin: 0 !important; max-width: 18em; }
.secondary-page .secondary-cta a { flex-shrink: 0; border-radius: 999px !important; padding: 18px 28px !important; font-size: 15px !important; text-align: center; }
.page-services .service-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px; }
.page-services .service-card { grid-column: span 2; padding: 30px; min-height: 310px; border-radius: 4px; }
.page-services .service-card.feature { grid-column: span 3; padding: 0; min-height: 0; }
.page-services .service-card.feature img { height: 260px; object-position: center 52%; }
.page-services .service-card.feature .service-copy { padding: 30px 34px 0; }
.page-services .service-card.feature .service-arrow { padding: 12px 34px 26px; }
.page-services .service-card h3 { font-size: 24px; line-height: 1.22; text-wrap: pretty; }
.page-services .service-card.feature h3 { font-size: 30px; max-width: 18em; }
.page-services .service-card p { line-height: 1.75; margin-bottom: 0; }
.page-services .service-number { margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid #DCDFEA; }
.page-services .feature .service-number, .page-services .service-card:nth-child(4) .service-number { border-color: rgba(255,255,255,.22); }
.page-services .service-card:nth-last-child(-n+2) { grid-column: span 2; min-height: 310px; }
.page-contact #formulario > div { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) !important; gap: 48px !important; }
.page-contact #formulario > div > div:first-child { border-radius: 4px !important; padding: 36px !important; background: #F4F5F9; }
.page-contact #formulario input, .page-contact #formulario select, .page-contact #formulario textarea { min-width: 0; box-sizing: border-box; border-radius: 4px !important; background: #fff; color: #12172B; line-height: 1.5; transition: border-color .2s, box-shadow .2s; }
.page-contact #formulario input:hover, .page-contact #formulario select:hover, .page-contact #formulario textarea:hover { border-color: #8B92A8 !important; }
.page-contact #formulario input:focus, .page-contact #formulario select:focus, .page-contact #formulario textarea:focus { border-color: #1B43FE !important; outline: none !important; box-shadow: 0 0 0 3px rgba(27,67,254,.12); }
.page-contact #formulario textarea { min-height: 120px; }
.page-contact #btn-submit { border-radius: 999px !important; min-height: 56px; }
.page-contact #formulario > div > div:last-child { gap: 0 !important; }
.page-contact #formulario > div > div:last-child > div { border-radius: 4px !important; padding: 30px !important; }
.page-contact #formulario > div > div:last-child > div:first-child { background: #fff !important; border-top: 2px solid #1B43FE; padding-top: 28px !important; }
.page-contact #formulario > div > div:last-child > div:nth-child(2) { background: #fff !important; border-top: 1px solid #E7E9F2; margin-bottom: 12px; }
.page-contact #formulario h4 { font-size: 24px !important; letter-spacing: -.025em; }
.page-contact #formulario p { line-height: 1.75; }
.page-contact #formulario a[href^="mailto:"] { overflow-wrap: anywhere; line-height: 1.6; }
.page-contact #formulario a[href^="mailto:"]:hover { color: #1B43FE !important; }
@media (max-width: 1023px) {
  .secondary-page .page-intro { grid-template-columns: 1fr; gap: 0; padding-top: 190px !important; }
  .secondary-page .page-intro h1 { max-width: 16em !important; font-size: 52px !important; }
  .secondary-page .page-intro p { max-width: 38em !important; margin-top: 28px !important; }
  .secondary-page .about-story > div { gap: 36px !important; }
  .secondary-page .about-story h2 { font-size: 34px !important; }
  .secondary-page .secondary-cta > div { padding: 40px !important; align-items: flex-start; flex-direction: column; gap: 28px; }
  .page-services .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-services .service-card, .page-services .service-card.feature, .page-services .service-card:nth-last-child(-n+2) { grid-column: auto; }
  .page-services .service-card.feature img { height: 220px; }
  .page-services .service-card.feature h3 { font-size: 26px; }
  .page-services .service-card.feature .service-copy { padding: 26px 26px 0; }
  .page-contact #formulario > div { grid-template-columns: 1fr !important; gap: 40px !important; }
  .page-contact #formulario > div > div:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px !important; }
  .page-contact #formulario > div > div:last-child > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .secondary-page .page-intro h1 { font-size: 39px !important; line-height: 1.09 !important; }
  .secondary-page .page-intro > div { margin-bottom: 22px !important; font-size: 12px !important; }
  .secondary-page .page-intro p { font-size: 16px !important; padding-left: 18px; margin-top: 24px !important; }
  .secondary-page .about-story { margin-top: 48px !important; padding-block: 48px !important; }
  .secondary-page .about-story > div { grid-template-columns: 1fr !important; gap: 36px !important; }
  .secondary-page .about-story h2 { font-size: 32px !important; }
  .secondary-page .about-story > div > div:last-child { max-width: 390px; margin-inline: auto; }
  .secondary-page .secondary-cta > div { padding: 34px 26px !important; }
  .secondary-page .secondary-cta h2 { font-size: 32px !important; }
  .secondary-page .secondary-cta a { width: 100%; padding-inline: 16px !important; }
  .page-services .service-grid { grid-template-columns: 1fr; gap: 16px; }
  .page-services .service-card, .page-services .service-card:nth-last-child(-n+2) { min-height: 0; padding: 26px; }
  .page-services .service-card.feature { padding: 0; }
  .page-services .service-card.feature h3 { font-size: 27px; }
  .page-services .service-card.feature img { height: 215px; }
  .page-contact #formulario > div > div:first-child { padding: 22px !important; }
  .page-contact #formulario > div > div:last-child { grid-template-columns: 1fr !important; gap: 12px !important; }
  .page-contact #formulario > div > div:last-child > div { padding: 24px !important; }
}

/* Servicios / Nosotros: editorial polish aligned with the Home. */
:is(.page-services,.page-about) .page-intro{padding-top:164px!important;padding-bottom:40px!important;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:0 64px;position:relative}
:is(.page-services,.page-about) .page-intro:after{content:'';position:absolute;bottom:0;left:40px;right:40px;height:1px;background:#dfe4ec}
:is(.page-services,.page-about) .page-intro>div{font-size:12px!important;letter-spacing:.17em!important;margin-bottom:24px!important}
:is(.page-services,.page-about) .page-intro h1{font-size:clamp(40px,4vw,58px)!important;line-height:1.07!important;letter-spacing:-.04em!important;max-width:19em!important;text-wrap:balance}
:is(.page-services,.page-about) .page-intro p{font-size:16px!important;line-height:1.8;padding-left:24px;border-left:2px solid #1b43fe;margin:0!important}
.page-services .page-intro+section{padding-top:44px!important}
.page-services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.page-services .service-grid .service-card{grid-column:auto;min-height:0;padding:28px;display:grid;grid-template-columns:48px minmax(0,1fr) 20px;gap:22px;background:#f5f6f8;color:#0a1330;border:1px solid #e1e5eb;border-radius:5px;transition:transform .25s ease,background .25s ease,border-color .25s ease}
.page-services .service-grid .service-card:hover{transform:translateY(-3px);background:#eef2ff;border-color:#1b43fe66;box-shadow:none}
.page-services .service-icon{width:44px;height:44px;color:#1b43fe;margin-top:4px}
.page-services .service-copy{min-width:0}
.page-services .service-number{margin:0 0 12px;padding:0;border:0;color:#657189;font-size:10px;letter-spacing:.12em}
.page-services .service-card h3{font-size:23px;line-height:1.22;letter-spacing:-.025em;margin:0 0 12px}
.page-services .service-card p{font-size:14px;line-height:1.7;color:#59647a;opacity:1}
.page-services .service-arrow{align-self:start;padding:0;margin:0;color:#1b43fe;font-size:22px}
:is(.page-services,.page-about) .secondary-cta{padding-top:64px!important}
:is(.page-services,.page-about) .secondary-cta>div{padding:44px 48px!important;border-radius:5px!important;background:#0a1330!important;border-top:3px solid #1b43fe}
:is(.page-services,.page-about) .secondary-cta h2{font-size:clamp(30px,3vw,42px)!important;line-height:1.15!important;letter-spacing:-.03em!important}
:is(.page-services,.page-about) .secondary-cta a{border-radius:6px!important;padding:14px 24px!important;min-width:180px}
.page-about .about-story{margin-top:52px!important;padding-block:64px!important;background:#f5f6f8!important}
.page-about .about-story>div{gap:56px!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;align-items:center!important}
.page-about .about-story h2{font-size:38px!important;line-height:1.15!important;margin-bottom:28px!important;letter-spacing:-.03em!important}
.page-about .about-story>div>div:first-child>div:first-child{font-size:12px!important;letter-spacing:.16em!important}
.page-about .about-story>div>div:first-child>div:last-child{gap:20px!important}
.page-about .about-story>div>div:first-child>div:last-child>div{padding-top:18px;border-top:1px solid #d7dfea}
.page-about .about-story h4{font-size:18px!important;letter-spacing:-.015em}
.page-about .about-story p{font-size:14px!important;line-height:1.75!important;max-width:42em}
.page-about .about-story>div>div:last-child{width:100%}
@media(max-width:1023px){
:is(.page-services,.page-about) .page-intro{padding-top:174px!important;grid-template-columns:1fr;gap:0}
:is(.page-services,.page-about) .page-intro h1{font-size:48px!important;max-width:17em!important}
:is(.page-services,.page-about) .page-intro p{margin-top:26px!important;max-width:40em!important}
.page-services .service-grid .service-card{grid-template-columns:36px minmax(0,1fr);padding:24px;gap:16px;position:relative}
.page-services .service-icon{width:34px;height:34px;margin-top:26px}
.page-services .service-card h3{font-size:20px}
.page-services .service-arrow{position:absolute;top:18px;right:18px;font-size:18px}
.page-about .about-story>div{grid-template-columns:1fr!important;gap:36px!important}
.page-about .about-story>div>div:last-child{max-width:560px;margin:auto}
.page-about .about-story h2{max-width:20em}
:is(.page-services,.page-about) .secondary-cta>div{padding:36px!important;gap:24px}
}
@media(max-width:767px){
:is(.page-services,.page-about) section.page-intro{padding-top:152px!important;padding-bottom:30px!important}
:is(.page-services,.page-about) .page-intro:after{left:24px;right:24px}
:is(.page-services,.page-about) .page-intro h1{font-size:38px!important;line-height:1.1!important}
:is(.page-services,.page-about) .page-intro p{font-size:15px!important;padding-left:18px}
.page-services .service-grid{grid-template-columns:1fr;gap:12px}
.page-services .page-intro+section{padding-top:28px!important}
.page-services .service-grid .service-card{padding:22px 20px;gap:14px}
.page-services .service-card h3{font-size:19px}
.page-services .service-card p{font-size:13px}
.page-about .about-story{margin-top:32px!important;padding-block:40px!important}
.page-about .about-story h2{font-size:31px!important}
:is(.page-services,.page-about) .secondary-cta{padding-top:40px!important}
:is(.page-services,.page-about) .secondary-cta>div{padding:28px 24px!important}
:is(.page-services,.page-about) .secondary-cta h2{font-size:30px!important}
}
.page-services .service-grid .service-card .service-number{color:#657189}
.page-services .service-grid .service-card .service-arrow{color:#1b43fe}

/* Main editorial headlines only; service names and body copy retain their scale. */
:is(.page-services,.page-about) .page-intro{grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);column-gap:56px;padding-bottom:48px!important}
:is(.page-services,.page-about) .page-intro h1{font-size:clamp(64px,5.1vw,88px)!important;line-height:1.01!important;letter-spacing:-.045em!important;max-width:15em!important}
:is(.page-services,.page-about) .page-intro>div{margin-bottom:28px!important}
.page-about .about-story h2{font-size:clamp(60px,4.5vw,72px)!important;line-height:1.03!important;letter-spacing:-.04em!important;max-width:12.5em;margin-bottom:36px!important;text-wrap:balance}
:is(.page-services,.page-about) .secondary-cta h2{font-size:clamp(46px,3.8vw,60px)!important;line-height:1.04!important;max-width:18em}
@media(max-width:1023px){
:is(.page-services,.page-about) .page-intro{grid-template-columns:1fr;column-gap:0}
:is(.page-services,.page-about) .page-intro h1{font-size:clamp(46px,7vw,60px)!important;max-width:16em!important}
.page-about .about-story h2{font-size:clamp(46px,6.5vw,58px)!important;max-width:15em}
:is(.page-services,.page-about) .secondary-cta h2{font-size:clamp(44px,6vw,54px)!important}
}
@media(max-width:767px){
:is(.page-services,.page-about) .page-intro h1{font-size:clamp(38px,10.7vw,46px)!important;line-height:1.04!important;letter-spacing:-.035em!important}
:is(.page-services,.page-about) .page-intro>div{margin-bottom:24px!important}
.page-about .about-story h2{font-size:clamp(38px,10vw,44px)!important;line-height:1.04!important;letter-spacing:-.035em!important;margin-bottom:28px!important}
:is(.page-services,.page-about) .secondary-cta h2{font-size:clamp(38px,10vw,44px)!important;line-height:1.05!important}
}


/* Responsive secondary header navigation */
.secondary-nav-toggle{display:none;border:1px solid #dce1ea;background:#fff;color:#0a1330;width:44px;height:44px;border-radius:7px;cursor:pointer;place-items:center;padding:0;transition:border-color .2s ease,color .2s ease,background .2s ease}
.secondary-nav-toggle:hover,.secondary-nav-toggle:focus-visible{border-color:#1b43fe;color:#1b43fe}
.secondary-nav-toggle-lines{display:grid;gap:4px;width:20px}
.secondary-nav-toggle-lines span{display:block;height:1.5px;background:currentColor;border-radius:999px;transition:transform .25s ease,opacity .2s ease}
.secondary-nav-toggle.is-open .secondary-nav-toggle-lines span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.secondary-nav-toggle.is-open .secondary-nav-toggle-lines span:nth-child(2){opacity:0}
.secondary-nav-toggle.is-open .secondary-nav-toggle-lines span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.secondary-mobile-menu{display:none}
@media(max-width:1199px){
  body.secondary-page #hdr #hdrinner{height:84px!important;min-height:84px!important;flex-wrap:nowrap!important;row-gap:0!important;padding-block:0!important;align-items:center!important}
  body.secondary-page #hdrinner>nav.secondary-desktop-nav{display:none!important}
  body.secondary-page #hdrinner>.secondary-header-actions{display:flex!important;align-items:center!important;margin-left:auto!important;gap:10px!important;flex-shrink:0}
  body.secondary-page #hdrinner>.secondary-header-actions>a{display:none!important}
  body.secondary-page .secondary-nav-toggle{display:grid!important}
  body.secondary-page .secondary-mobile-menu{display:block;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,.98);border-top:1px solid #e7e9f2;box-shadow:0 18px 36px rgba(10,19,48,.10);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .22s ease,transform .28s cubic-bezier(.16,1,.3,1),visibility .22s ease}
  body.secondary-page .secondary-mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  body.secondary-page .secondary-mobile-menu-inner{max-width:1280px;margin:0 auto;padding:20px 32px 26px;display:grid;gap:4px;font-family:Archivo,sans-serif}
  body.secondary-page .secondary-mobile-link{display:flex;align-items:center;min-height:48px;padding:10px 4px;color:#12172b!important;font-size:17px;font-weight:500;border-bottom:1px solid #eef0f5}
  body.secondary-page .secondary-mobile-link.is-active{color:#1b43fe!important}
  body.secondary-page .secondary-mobile-cta{display:flex!important;align-items:center;justify-content:center;margin-top:12px;min-height:50px;padding:12px 20px;background:#1b43fe;color:#fff!important;font-size:15px;font-weight:600;border-radius:6px}
  body.secondary-page .page-intro{padding-top:148px!important}
}
@media(max-width:767px){
  body.secondary-page #hdr #hdrinner{height:80px!important;min-height:80px!important;padding-inline:20px!important}
  body.secondary-page .secondary-mobile-menu-inner{padding:16px 20px 22px}
  body.secondary-page .secondary-mobile-link{font-size:18px;min-height:50px}
  body.secondary-page .secondary-mobile-cta{min-height:52px;font-size:16px}
  body.secondary-page .page-intro{padding-top:132px!important}
}
@media(prefers-reduced-motion:reduce){.secondary-mobile-menu,.secondary-nav-toggle-lines span{transition:none!important}}
