/* Portfolio: fill the desktop introduction with an existing project photograph. */
.portfolio-intro-v63{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(32px,5vw,80px);align-items:center;margin-bottom:40px}
.portfolio-intro-copy>p:not(.kicker){line-height:1.8;color:#5c6870;max-width:54ch}
.portfolio-intro-v63 h2{font-size:clamp(32px,3.2vw,54px);line-height:1.15;margin:16px 0 24px}
.portfolio-intro-photo{position:relative;margin:0;min-width:0;overflow:hidden;background:#142431;aspect-ratio:1.35}
.portfolio-intro-photo>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.portfolio-intro-photo:hover>img{transform:scale(1.035)}
.portfolio-intro-photo figcaption{position:absolute;inset:auto 0 0;padding:70px 28px 26px;display:grid;gap:8px;color:#fff;background:linear-gradient(transparent,#10212feb)}
.portfolio-intro-photo figcaption span{font:11px 'IBM Plex Mono',monospace;letter-spacing:.08em}
.portfolio-intro-photo figcaption span:first-child{color:#f5c518}.portfolio-intro-photo figcaption strong{font-size:27px;line-height:1.2}
.portfolio-facts-v63{display:flex;gap:36px;border-top:1px solid #c8d0d4;margin-top:30px;padding-top:22px}.portfolio-facts-v63 b{display:block;font-size:44px;line-height:1.1;color:#172c3b}.portfolio-facts-v63 span{display:block;font-size:12px;color:#66747e;margin-top:7px}
@media(min-width:1100px){.portfolio-page #grp-clientes>.vertical-carousel,.portfolio-page .vertical-status{max-width:none}.portfolio-page .vertical-carousel .project-cover{grid-template-columns:1.55fr 1fr!important}}
/* A single secondary photograph should use the whole available row. */
body[data-foundation] #ecko .proy-fotos .fp-side.one{grid-template-columns:minmax(0,1fr)!important}
body[data-foundation] #ecko .nave-industrial .fp-side.one img{aspect-ratio:auto!important;height:auto!important;object-fit:contain!important}
.division-touch-controls,.division-touch-caption{display:none}
@media(max-width:900px){
 .portfolio-intro-v63{grid-template-columns:1fr;gap:28px}.portfolio-intro-photo{aspect-ratio:1.45}.portfolio-intro-photo figcaption{padding:50px 20px 20px}
 #divisiones .carousel{margin-inline:0}
 #divs-track.divs-accordion{flex-direction:row!important;height:clamp(360px,92vw,480px);width:100%;touch-action:pan-y;overflow:hidden}
 #divs-track.divs-accordion>.div{flex:0 0 24px!important;height:100%!important;min-width:0;border-top:0;border-left:1px solid #ffffff30;transition:flex-basis .65s cubic-bezier(.22,.75,.25,1)!important}
 #divs-track.divs-accordion>.div.is-open{flex-basis:calc(100% - 120px)!important}
 #divs-track.divs-accordion>.div>img{left:50%;width:calc(100vw - 48px);max-width:none;transform:translateX(-50%) scale(1.06)!important;filter:saturate(.3) brightness(.55);transition:transform .8s cubic-bezier(.22,.75,.25,1),filter .65s ease}
 #divs-track.divs-accordion>.div.is-open>img{transform:translateX(-50%) scale(1)!important;filter:none}
 #divs-track.divs-accordion>.div .t{width:calc(100vw - 168px);padding:0 15px 24px;bottom:0}
 #divs-track.divs-accordion>.div .t h3{font-size:clamp(19px,4.8vw,30px);line-height:1.17;word-break:normal}
 #divs-track.divs-accordion>.div .t :is(p,.nota,i){display:none}
 #divs-track.divs-accordion>.div .t em{font-size:11px;margin-top:18px}
 #divs-track.divs-accordion .div-label{writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);left:50%;right:auto;bottom:22px;gap:10px;font-size:11px;letter-spacing:.04em}
 #divs-track.divs-accordion .div-label::after{display:none}
 #divs-track.divs-accordion .div-label b{font-size:9px}
 .division-touch-controls{display:flex;justify-content:space-between;gap:6px;margin-top:18px}
 .division-touch-controls button{flex:1;min-height:44px;min-width:0;border:1px solid #ffffff35;background:transparent;color:#c9d2da;font:12px 'IBM Plex Mono',monospace;cursor:pointer;transition:background .3s,color .3s}
 .division-touch-controls button[aria-pressed=true]{background:#e6b916;border-color:#e6b916;color:#122330}
 .division-touch-controls button:focus-visible{outline:2px solid white;outline-offset:3px}
 .division-touch-caption{display:block;min-height:170px;padding-top:18px;max-width:65ch}
 .division-touch-caption p{font-size:15px;line-height:1.65;color:#e1e7eb;margin:0 0 12px;text-align:left}
 .division-touch-caption>span{font:10px/1.6 'IBM Plex Mono',monospace;text-transform:uppercase;color:#b5c1ca;letter-spacing:.06em}
}
@media(min-width:601px) and (max-width:900px){#divs-track.divs-accordion>.div .t{width:calc(100vw - 240px);padding:0 24px 30px}}
@media(prefers-reduced-motion:reduce){#divs-track.divs-accordion>.div,#divs-track.divs-accordion>.div>img,.portfolio-intro-photo>img{transition:none!important}.portfolio-intro-photo:hover>img{transform:none}}
.portfolio-intro-copy>p{text-align:left!important;text-justify:auto}
.portfolio-page #grp-trayectoria .history-chapter>summary{color:#fff!important}
.portfolio-page #grp-trayectoria .history-chapter>summary>span:not(.route-number):not(.history-meta):not(.history-blueprint){color:#fff!important;font-size:clamp(19px,1.7vw,26px)!important;font-weight:600;line-height:1.3}

.portfolio-intro-copy>p{text-align:left!important}.portfolio-page #grp-trayectoria .history-chapter>summary{color:#fff!important}.portfolio-page #grp-trayectoria .history-chapter>summary>span:not(.route-number):not(.history-meta):not(.history-blueprint){color:#fff!important;font-size:clamp(19px,1.7vw,26px)!important;font-weight:600;line-height:1.3}
