/* Desarrollo Web & Apps — capa sobre la base v3. Paleta oficial, Inter, esquinas rectas. */

/* Servicios: animaciones propias (MP4 en loop), tratamiento de la v3 */
/* Capacidades por servicio: chips rectos */
.tech-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:26px 0 0;padding:0}
.tech-list li{border:1px solid #c3c3c3;padding:7px 11px;font-size:12px;line-height:1.3;color:#3a4148;background:#fff}
.panel-cta{margin-top:28px}
.service-tabs .service-tab strong{max-width:260px}

/* Selector: con cinco servicios compactamos el ritmo vertical */
@media (min-width:921px){
  .landing-dev .service-tab,.landing-dev .service-tab+.service-tab{padding-top:21px;padding-bottom:21px}
  .landing-dev .service-tab .tab-number,.landing-dev .service-tab::after{top:22px}
  .landing-dev .service-tab strong{font-size:22px}
}

/* Formulario: select con la misma presencia que los inputs */
.landing-dev select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#101820 50%),linear-gradient(135deg,#101820 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px;font-size:16px;cursor:pointer}
.landing-dev select:invalid{color:#5c6670}
.landing-dev select[aria-invalid=true],.landing-dev input[aria-invalid=true]{border-bottom-color:#f04134}
.field-flash select{background-color:#1a61ff14;border-bottom-color:#1a61ff}

/* Hero: la línea azul es un poco más larga que en v3 */
.landing-dev .hero h1{font-size:clamp(50px,5.4vw,82px)}
@media (max-width:600px){.landing-dev .hero h1{font-size:clamp(40px,11.6vw,70px)}}

/* Proyectos en producción */
.project-case{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;grid-template-rows:auto auto auto 1fr auto!important;column-gap:56px!important;align-items:start}
.project-case::after{display:none}
.project-case .case-top{grid-column:1;grid-row:1;display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}
.project-case .case-type{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#1a61ff;font-weight:650;max-width:none}
.project-case .case-year{font-size:12px;color:#5c6670;font-variant-numeric:tabular-nums}
.project-case .case-number{grid-column:1;grid-row:2;font-size:clamp(34px,3.6vw,50px)!important;line-height:1.02;letter-spacing:-.055em;color:#101820!important}
.project-case .case-caption{grid-column:1;grid-row:3;font-size:12px;margin-top:12px;color:#5c6670}
.project-case .case-caption::before{content:'';display:inline-block;width:8px;height:8px;background:#1a61ff;margin-right:9px;vertical-align:1px}
.project-case .case-body{grid-column:1;grid-row:4;margin-top:30px}
.project-case .case-body h4{font-size:19px;letter-spacing:-.03em;line-height:1.25}
.project-case .case-body p{font-size:14px;line-height:1.7;color:#3a4148;margin-top:10px}
.project-case .case-author{grid-column:1;grid-row:5;margin-top:26px;padding-top:18px;border-top:1px solid #c3c3c3;display:flex;flex-direction:column;gap:8px}
.project-case .case-author>span{font-size:12px;color:#5c6670}
.project-case .case-author>a{font-size:12px}
.project-case .case-shot{grid-column:2;grid-row:1/6;margin:0;position:relative;overflow:hidden;background:#f6f6f6;aspect-ratio:3/2;align-self:center}
.project-case .case-shot img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .9s var(--ease,cubic-bezier(.2,.7,.2,1))}
.project-case .case-shot::before{content:'';position:absolute;left:0;top:0;width:28%;height:8px;background:#1a61ff;z-index:1}
.project-case:hover .case-shot img{transform:scale(1.025)}
@media (max-width:920px){
  .project-case{column-gap:32px!important;padding:30px!important}
  .project-case .case-body p{font-size:13px}
}
@media (max-width:760px){
  .project-case{display:flex!important;flex-direction:column}
  .project-case[hidden]{display:none!important}
  .project-case .case-shot{order:-1;margin:-30px -30px 26px;aspect-ratio:16/10}
  .project-case .case-top{margin-bottom:18px}
  .project-case .case-number{font-size:36px!important}
}
@media (prefers-reduced-motion:reduce){.project-case .case-shot img{transition:none}}
.motion-reduced .project-case .case-shot img{transition:none;transform:none!important}

/* Partners: carrusel continuo como el de clientes; logos oficiales a color, sin filtro */
.partner-section{background:#fff;padding-block:44px;border-top:1px solid #ececec}
.partner-section .small-heading{color:#101820}
.partner-section .client-track .client-logos li{height:78px}
.partner-section .client-track .client-logos img{filter:none!important;opacity:1!important;max-width:min(150px,100%);max-height:60px}
.partner-section.clients-moving .client-track{animation-duration:40s;animation-direction:reverse}
.partner-section.clients-moving .client-track .client-logos{gap:56px;padding-right:56px}
.partner-section.clients-moving .client-track .client-logos li{width:160px;flex-basis:160px}
@media(max-width:600px){
  .partner-section{padding-block:30px}
  .partner-section .client-track .client-logos li{height:58px}
  .partner-section .client-track .client-logos img{max-width:110px;max-height:46px}
  .partner-section.clients-moving .client-track .client-logos{gap:34px;padding-right:34px}
  .partner-section.clients-moving .client-track .client-logos li{width:120px;flex-basis:120px}
}

/* Hero: capa más densa para que el video no compita con el texto */
.landing-dev .hero-backdrop::after{background:rgba(16,24,32,.86)}
.landing-dev .hero-backdrop .hero-poster,.landing-dev .hero-backdrop video{filter:saturate(.45)}
@media(max-width:600px){.landing-dev .hero-backdrop::after{background:rgba(16,24,32,.88)}}
.project-case .case-shot-contain{background:#fff}
.project-case .case-shot-contain img{object-fit:contain;object-position:center}
/* reCAPTCHA v2: reserva su espacio para evitar saltos de layout (CLS) */
.recaptcha-slot{min-height:78px;margin:4px 0 10px}
.recaptcha-slot .g-recaptcha{min-height:78px}
@media(max-width:360px){.recaptcha-slot .g-recaptcha{transform:scale(.88);transform-origin:left top}}
.recaptcha-preview{display:flex;align-items:center;gap:12px;height:78px;max-width:304px;border:1px solid #d3d3d3;background:#f9f9f9;padding:0 14px;font-size:12px;color:#5c6670}
.recaptcha-preview::before{content:'';width:24px;height:24px;border:2px solid #c1c1c1;background:#fff;flex:none}
