.page.tech-overview-page .tech-overview-copy { grid-template-columns:1.5fr 1fr; gap:0 40px; }
.technical-title-line { white-space:nowrap; }
.page.tech-overview-page .tech-overview-copy h2 { font-size:clamp(46px,4.5vw,68px); line-height:1.04; }
.page.tech-overview-page .tech-overview-copy .text { font-size:17px; line-height:1.65; max-width:460px; }
.page.tech-final-page .tech-final-grid { display:grid; grid-template-columns:1fr; grid-template-rows:1fr auto; gap:40px; }
.page.tech-final-page .tech-final-cards { height:auto; align-self:center; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:1fr; gap:24px; }
.page.tech-final-page .tech-card.compact { padding:28px 32px; }
.page.tech-final-page .tech-card.compact h3 { font-size:32px; margin-bottom:20px; }
.page.tech-final-page .tech-card.compact .eyebrow { margin-bottom:14px; font-size:10px; }
.page.tech-final-page .tech-card ul { font-size:16px; line-height:1.6; }
.page.tech-final-page .tech-card li + li { margin-top:10px; }
.page.tech-final-page .big-text { display:grid; grid-template-columns:1fr 1.7fr; align-items:end; gap:48px; text-align:left; padding-top:26px; border-top:1px solid rgba(201,154,64,.2); }
.page.tech-final-page .big-text .eyebrow { margin:0 0 7px; max-width:240px; line-height:1.7; }
.page.tech-final-page .big-text h2 { font-size:clamp(42px,4.5vw,68px); line-height:1.04; text-align:right; }

/* Distinct ambient compositions, kept behind the content. */
.page.differential-page { display:flex; align-items:center; isolation:isolate; background:#050505; }
.page.differential-page .differential-photo { position:absolute; inset:0 0 0 18%; z-index:0; background:url('images/diferencial-bastidores.jpg') center center / cover no-repeat; opacity:.58; animation:differential-photo-drift 24s ease-in-out infinite alternate; pointer-events:none; }
.differential-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.96) 9%,rgba(5,5,5,.7) 33%,rgba(5,5,5,.16) 65%,rgba(5,5,5,.22) 100%),linear-gradient(180deg,rgba(5,5,5,.45),transparent 28%,transparent 70%,rgba(5,5,5,.85)); }
.page.differential-page .differential-collage { inset:0; height:100%; background:none; opacity:.72; mask-image:none; }
.collage-photo { position:absolute; top:0; bottom:0; background-size:cover; background-repeat:no-repeat; }
.collage-photo-one { left:48%; width:38%; background-image:url('images/equipe-3486.jpg'); background-size:auto 135%; background-position:100% 28%; mask-image:linear-gradient(90deg,transparent 0%,#000 28%,#000 64%,transparent 100%); }
.collage-photo-two { left:69%; width:40%; background-image:url('images/equipe-3489.jpg'); background-position:55% 30%; mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 18%,#000 48%); }
.differential-collage::after { background:linear-gradient(90deg,#050505 0%,#050505 40%,rgba(5,5,5,.92) 48%,rgba(5,5,5,.6) 56%,rgba(5,5,5,.15) 72%,rgba(5,5,5,.1) 100%),linear-gradient(180deg,rgba(5,5,5,.25),transparent 25%,transparent 68%,rgba(5,5,5,.8)); }
.page.differential-page .differential-copy { position:relative; z-index:2; width:62%; max-width:740px; }
.differential-copy h2 { font-size:clamp(48px,5.5vw,80px); line-height:1.04; }
.differential-copy .text { margin-top:36px; max-width:560px; font-size:18px; line-height:1.8; }
@keyframes differential-photo-drift { from { transform:scale(1.02); } to { transform:scale(1.065) translateX(-6px); } }
.page.with-line::before,.page .with-line::before { animation:ambient-drift 24s ease-in-out infinite alternate; opacity:.12; }
.page::after { animation:ambient-drift 32s ease-in-out infinite alternate-reverse; opacity:.14; }
.page:nth-child(2)::after { background:linear-gradient(105deg,transparent 65%,rgba(201,154,64,.26) 65.06%,transparent 65.12%),radial-gradient(ellipse at 90% 80%,transparent 40%,rgba(201,154,64,.35) 40.1%,transparent 40.25%); }
.page:nth-child(4)::before { background:repeating-linear-gradient(90deg,transparent 0 99px,rgba(201,154,64,.2) 100px,transparent 101px),repeating-linear-gradient(0deg,transparent 0 99px,rgba(201,154,64,.15) 100px,transparent 101px); mask-image:linear-gradient(150deg,transparent 20%,#000 100%); }
.page:nth-child(4)::after { background:radial-gradient(ellipse at 95% 15%,transparent 34%,rgba(201,154,64,.4) 34.1%,transparent 34.3%); }
.page:nth-child(5)::before { background:linear-gradient(135deg,transparent 68%,rgba(201,154,64,.4) 68.07%,transparent 68.15%),linear-gradient(135deg,transparent 74%,rgba(201,154,64,.25) 74.07%,transparent 74.15%); }
.page:nth-child(5)::after { background:repeating-linear-gradient(135deg,transparent 0 119px,rgba(201,154,64,.16) 120px,transparent 121px); mask-image:linear-gradient(90deg,transparent,#000); }
.page:nth-child(6)::after { background:radial-gradient(ellipse at 90% 50%,transparent 28%,rgba(201,154,64,.3) 28.1%,transparent 28.25%); }
.page:nth-child(7)::before { background:linear-gradient(0deg,transparent 20%,rgba(201,154,64,.3) 20.1%,transparent 20.2%),linear-gradient(0deg,transparent 80%,rgba(201,154,64,.2) 80.1%,transparent 80.2%); }
.page:nth-child(7)::after { background:radial-gradient(circle at 94% 12%,rgba(201,154,64,.12),transparent 32%); }
.page:nth-child(8)::before { background:radial-gradient(circle at 78% 75%,transparent 120px,rgba(201,154,64,.4) 121px,transparent 122px); }
.page:nth-child(9)::before { background:linear-gradient(120deg,transparent 70%,rgba(201,154,64,.35) 70.1%,transparent 70.2%); }
.page:nth-child(10)::before { background:repeating-linear-gradient(0deg,transparent 0 69px,rgba(201,154,64,.18) 70px,transparent 71px); mask-image:linear-gradient(90deg,transparent 45%,#000); }
.page:nth-child(8)::after,.page:nth-child(9)::after,.page:nth-child(10)::after { background:none; }
.page:nth-child(11)::before { background:radial-gradient(ellipse at center,transparent 38%,rgba(201,154,64,.4) 38.1%,transparent 38.3%); animation:contact-orbit 30s ease-in-out infinite alternate; }
.page:nth-child(11)::after { background:radial-gradient(ellipse at center,transparent 48%,rgba(201,154,64,.3) 48.1%,transparent 48.25%); }
.page.cover .glow { animation:glow-breathe 12s ease-in-out infinite alternate; }
.page .tech-card { transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease,background .35s ease; }
.page .tech-card:hover,.page.tech-overview-page .tech-card.compact:hover,.page.tech-final-page .tech-card.compact:hover { transform:translateY(-5px); border-color:rgba(201,154,64,.65); box-shadow:0 12px 35px rgba(201,154,64,.09); background:rgba(18,16,10,.85); }
.page.is-in-view .tech-card,.page.is-in-view .service-item,.page.is-in-view .case-card { animation:content-arrive .7s ease-out backwards; }
.page.is-in-view article:nth-child(2) { animation-delay:.1s; }
.page.is-in-view article:nth-child(3) { animation-delay:.2s; }
.page.is-in-view article:nth-child(4) { animation-delay:.3s; }
.page.is-in-view article:nth-child(5) { animation-delay:.4s; }
.page.is-in-view article:nth-child(6) { animation-delay:.5s; }
.page.is-in-view article:nth-child(7) { animation-delay:.6s; }
@keyframes content-arrive { from { opacity:0; translate:0 14px; } to { opacity:1; translate:0 0; } }
.services-page .service-item { transition:padding-left .3s ease,border-color .3s ease; }
.services-page .service-item:hover { padding-left:10px; border-color:rgba(201,154,64,.55); }
.services-page .service-item:hover h3 { color:#c99a40; }
.services-page .service-item h3 { transition:color .3s ease; }
@keyframes ambient-drift { from { transform:translate(-8px,-6px); } to { transform:translate(10px,8px); } }
@keyframes contact-orbit { from { transform:scale(.94) rotate(-5deg); } to { transform:scale(1.04) rotate(5deg); } }
@keyframes glow-breathe { from { opacity:.5; transform:scale(.92); } to { opacity:.8; transform:scale(1.08); } }
@media(max-width:900px) {
 .page.differential-page .differential-photo { inset:0; background-position:62% center; opacity:.45; }
 .page.differential-page .differential-collage { inset:0; height:100%; opacity:.5; }
 .collage-photo-one { left:0; width:72%; background-position:58% center; }
 .collage-photo-two { left:48%; width:65%; background-position:52% center; }
 .differential-collage::after { background:linear-gradient(180deg,rgba(5,5,5,.4),rgba(5,5,5,.55) 55%,rgba(5,5,5,.85)),linear-gradient(90deg,rgba(5,5,5,.3),transparent); }
 .page.differential-page .differential-copy { width:100%; }
 .differential-copy h2 { font-size:clamp(40px,11vw,62px); }
 .differential-copy .text { font-size:16px; margin-top:28px; }
 .page.tech-final-page .tech-final-grid { grid-template-rows:auto auto; gap:36px; }
 .page.tech-final-page .tech-final-cards { grid-template-columns:1fr; }
 .page.tech-final-page .tech-card.compact { padding:26px 24px; }
 .page.tech-final-page .big-text { grid-template-columns:1fr; gap:18px; }
 .page.tech-final-page .big-text h2 { font-size:clamp(36px,10vw,48px); }
 .page.tech-overview-page .tech-overview-copy { grid-template-columns:1fr; }
 .page.tech-overview-page .tech-overview-copy h2 { font-size:clamp(36px,10vw,48px); }
 .page.tech-overview-page .tech-overview-copy h2 { font-size:clamp(25px,7.3vw,48px); }
 .page.tech-overview-page .tech-overview-copy .text { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
 .page.differential-page .differential-photo { animation:none; }
 .page::after,.page.with-line::before,.page .with-line::before,.page.cover .glow { animation:none; }
 .page .tech-card,.services-page .service-item,.services-page .service-item h3 { transition:none; }
 .page .tech-card:hover { transform:none; }
 .page.is-in-view .tech-card,.page.is-in-view .service-item,.page.is-in-view .case-card { animation:none; }
}
