/* Function-led editorial spreads: unchanged UI, original public captures. */
.catalog-select[data-project=croma] img{width:82px;height:82px;border-radius:50%;object-fit:cover;mask-image:radial-gradient(circle,#000 59%,transparent 73%)}
.project-page .project-identity img[src*="croma-entrada"]{width:180px;height:180px;object-fit:cover;border-radius:50%;mask-image:radial-gradient(circle,#000 60%,transparent 73%)}
.project-story{position:relative;padding:35px 0 0}
.project-spread{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr);align-items:center;gap:clamp(28px,5vw,80px);position:relative;padding:65px 0 100px;margin:0;isolation:isolate}
.project-spread+.project-spread{margin-top:30px}
.project-spread:before{content:'';position:absolute;inset:0 -3% -5%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 65% 48%,#387b8620,transparent 65%)}
.spread-copy{position:relative;z-index:1;min-width:0;background:radial-gradient(ellipse at 20% 45%,#061829dc,transparent 80%)}
.enterprise .spread-copy h2{font:400 clamp(32px,3.5vw,48px)/1.14 var(--editorial);letter-spacing:-.035em;margin:0 0 24px;max-width:23ch;text-wrap:balance;scroll-margin-top:90px}
.enterprise .spread-copy p{font-size:17px;line-height:1.85;color:#c4dce3;max-width:54ch;margin:0 0 22px}
.enterprise .spread-copy .spread-detail{font-size:14px;color:#a8c5d0;line-height:1.85;margin:0;max-width:58ch}
.spread-image{margin:0;min-width:0;position:relative;align-self:center}
.spread-image:before{content:'';position:absolute;inset:-8% -4% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#7bd9df17,transparent 68%);filter:blur(28px)}
.project-spread[aria-labelledby*="croma"]{isolation:auto}
.project-spread[aria-labelledby*="croma"] .spread-image{mix-blend-mode:lighten}
.spread-image>a{display:block;position:relative;text-decoration:none;cursor:zoom-in;outline-offset:8px}
.spread-image img{display:block;width:100%;height:auto;max-width:100%;border-radius:4px 28px 4px 4px;mask-image:linear-gradient(0deg,transparent,#000 4%,#000 98%,transparent);transition:filter .3s ease;filter:drop-shadow(0 14px 25px #00101a55)}
.spread-image a:hover img{filter:brightness(1.06) drop-shadow(0 14px 25px #00101a55)}
.spread-image a:focus-visible{outline:2px solid #9be1dd}
.capture-window{display:block;position:relative;overflow:hidden;border-radius:4px 28px 4px 4px;mask-image:linear-gradient(0deg,transparent,#000 3%,#000 99%,transparent)}
.capture-window[style*="--crop"]{aspect-ratio:var(--crop-ratio)}
.capture-window[style*="--crop"] img{position:absolute;width:var(--crop-width);max-width:none;height:auto;left:var(--crop-left);top:var(--crop-top);mask-image:none;border-radius:0;filter:none}
.spread-image figcaption{font:400 11px/1.6 Manrope,sans-serif;letter-spacing:.01em;color:#a7c3d0;margin-top:18px}
.project-spread.reverse{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr)}
.project-spread.reverse .spread-image{grid-column:1;grid-row:1}
.project-spread.reverse .spread-copy{grid-column:2;grid-row:1}
.project-spread.reverse .spread-image img{border-radius:28px 4px 4px 4px}
.project-spread.panorama{grid-template-columns:1fr;gap:32px;padding-top:45px}
.panorama .spread-copy{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);column-gap:80px;align-items:start}
.panorama .spread-copy h2{grid-row:1/3;margin-bottom:0;max-width:20ch}
.panorama .spread-image{width:100%}
.panorama .spread-image img{border-radius:5px 45px 5px 5px}
.portrait .spread-image{max-width:380px;width:100%;justify-self:center}
.portrait .spread-image img{border-radius:24px 24px 8px 8px;mask-image:linear-gradient(0deg,transparent,#000 3%,#000 98%,transparent)}
.portrait .spread-copy{max-width:510px}
.project-story>.project-next{margin:20px 0 35px}
/* Native scroll, subtle differential motion; never hide content behind a reveal. */
@supports(animation-timeline:view()){
 .project-spread .spread-image{animation:spread-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
 @keyframes spread-drift{from{transform:translateY(14px)}to{transform:translateY(-14px)}}
}
.motion-paused .spread-image,.scene-suspended .spread-image{animation:none!important}
@media(min-width:1000px){.project-page .detail-content{max-width:1240px}.project-spread.split .spread-image{width:calc(100% + 18px)}}
@media(max-width:900px){
 .project-spread,.project-spread.reverse{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);padding:40px 0 65px}
 .enterprise .spread-copy h2{font-size:33px}.enterprise .spread-copy p{font-size:15px}
 .project-spread.panorama{grid-template-columns:1fr}.panorama .spread-copy{gap:24px}
}
@media(max-width:640px){
 .catalog-select[data-project=croma] img{width:72px;height:72px;object-fit:cover}
 .project-page .project-identity img[src*="croma-entrada"]{width:140px;height:140px}
 .project-story{padding-top:5px}
 .project-spread,.project-spread.reverse,.project-spread.panorama{display:flex;flex-direction:column;align-items:stretch;gap:25px;margin:0;padding:35px 0 45px}
 .project-spread+.project-spread{margin-top:18px}
 .panorama .spread-copy{display:block}
 .enterprise .spread-copy h2,.panorama .spread-copy h2{font-size:32px;line-height:1.15;margin-bottom:20px;max-width:23ch}
 .enterprise .spread-copy p{font-size:16px;line-height:1.8;margin-bottom:16px}
 .enterprise .spread-copy .spread-detail{font-size:14px}
 .spread-image{width:100%;align-self:center}
 .spread-image img,.panorama .spread-image img{border-radius:3px 22px 3px 3px;mask-image:linear-gradient(0deg,transparent,#000 2%,#000 99%,transparent)}
 .spread-image figcaption{font-size:10px;margin-top:12px}
 .capture-window[style*="--crop"]{aspect-ratio:var(--mobile-ratio)}
 .capture-window[style*="--crop"] img{width:var(--mobile-width);left:var(--mobile-left);top:var(--mobile-top)}
 .portrait .spread-image{width:min(100%,300px)}
 @supports(animation-timeline:view()){@keyframes spread-drift{from{transform:translateY(7px)}to{transform:translateY(-7px)}}}
}
@media(prefers-reduced-motion:reduce){.spread-image{animation:none!important}.spread-image img{transition:none}}

.project-spread[aria-labelledby*="croma"] .spread-image>a{background:#061829}
.project-spread[aria-labelledby*="croma"] .capture-window{mix-blend-mode:screen}
.project-spread[aria-labelledby*="croma"] .spread-image>a{mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent),linear-gradient(0deg,transparent,#000 8%,#000 98%,transparent);mask-composite:intersect}
.project-page .project-identity img[src*="croma-entrada"]{object-position:center}

/* Same-page gallery: originals remain unmasked and fully readable. */
html{scrollbar-gutter:stable}
.project-gallery{position:fixed;inset:0;width:min(96vw,1500px);height:min(94dvh,1100px);max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #9ee9ee30;border-radius:18px;color:#def3f6;background:linear-gradient(145deg,#0c2c3fed,#061623f5);box-shadow:0 25px 100px #0006;overflow:hidden}
.project-gallery::backdrop{background:#03111bd9;backdrop-filter:blur(12px)}
.gallery-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;padding:20px}
.gallery-bar,.gallery-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px}
.gallery-caption{font-size:14px;line-height:1.5;margin:0;color:#c0dce4}
.project-gallery button{font:inherit;font-size:14px;color:#c5f5f1;border:1px solid #9ee9ee45;background:#113345;border-radius:30px;padding:11px 20px;min-height:44px;cursor:pointer;flex-shrink:0}
.project-gallery button:hover{background:#1b4b5b}
.project-gallery button:focus-visible{outline:2px solid #a1fff1;outline-offset:3px}
.gallery-stage{min-height:0;display:grid;place-items:center;position:relative;overflow:auto}
.gallery-stage>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:5px}
.gallery-stage>img[hidden],.gallery-error[hidden]{display:none}
.gallery-stage[aria-busy=true]::after{content:'';position:absolute;width:45px;height:3px;bottom:8px;background:#9fe8e0;box-shadow:0 0 16px #70d8df}
.gallery-count{font-size:13px;color:#bad4df;font-variant-numeric:tabular-nums}
@media(max-width:640px){.project-gallery{width:100%;height:100dvh;border:0;border-radius:0}.gallery-shell{padding: max(14px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom));gap:12px}.gallery-bar{align-items:flex-start;gap:10px}.gallery-caption{font-size:12px}.project-gallery button{padding:11px 16px}.gallery-navigation{gap:10px}}
.gallery-stage>img{width:100%;height:100%;min-height:0;min-width:0;object-fit:contain}
.gallery-stage{overflow:hidden;touch-action:none;user-select:none;cursor:zoom-in}
.gallery-stage.is-zoomed{cursor:grab}
.gallery-stage.is-zoomed:active{cursor:grabbing}
.gallery-stage>img{transform-origin:center;will-change:transform;pointer-events:none}
.project-gallery[open]::backdrop{animation:gallery-environment-in 240ms ease-out both}
.project-gallery.is-closing::backdrop{animation:gallery-environment-out 180ms ease-in both}
@keyframes gallery-environment-in{from{background:#03111b00;backdrop-filter:blur(0)}to{background:#03111bd9;backdrop-filter:blur(12px)}}
@keyframes gallery-environment-out{from{background:#03111bd9;backdrop-filter:blur(12px)}to{background:#03111b00;backdrop-filter:blur(0)}}
.motion-paused .project-gallery::backdrop{animation:none}
@media(prefers-reduced-motion:reduce){.project-gallery::backdrop{animation:none!important}}
.project-gallery.is-closing.is-returning .gallery-stage{overflow:visible}
.project-gallery.is-closing::backdrop{animation-duration:300ms}
.gallery-stage>.gallery-neighbor{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.project-gallery.is-opening .gallery-stage{overflow:visible}

/* Dedicated views share the overview's reading rhythm. */
.project-page .detail-heading>p:last-child{max-width:58ch;line-height:1.75;text-wrap:pretty}
.enterprise .spread-copy :is(p,.spread-detail){text-wrap:pretty}
.enterprise .spread-copy h2{line-height:1.18}
.spread-image figcaption{font-size:12px;line-height:1.7;text-wrap:pretty;max-width:64ch}
@media(max-width:800px){
 .project-spread,.project-spread.reverse{grid-template-columns:1fr}
 .project-spread.reverse .spread-copy,.project-spread.reverse .spread-image{grid-column:auto;grid-row:auto}
 .project-spread.reverse .spread-copy{order:0}.project-spread.reverse .spread-image{order:1}
 .panorama .spread-copy{display:block}.panorama .spread-copy h2{margin-bottom:22px}
 .spread-copy{max-width:62ch}.spread-image{width:100%}
}
@media(max-width:640px){
 .project-page .detail-heading>p:last-child{font-size:18px;line-height:1.75}
 .enterprise .spread-copy h2,.panorama .spread-copy h2{font-size:clamp(30px,8.5vw,34px);line-height:1.18;margin-bottom:22px}
 .enterprise .spread-copy .spread-detail{font-size:15px;line-height:1.8}
 .spread-image figcaption{font-size:12px;margin-top:14px}
 .project-spread,.project-spread.reverse,.project-spread.panorama{gap:24px;padding-bottom:48px}
}

/* Match project spreads to the shared detail reading scale. */
.enterprise .spread-copy h2{font-size:var(--reading-title);line-height:1.18;margin-bottom:var(--reading-gap)}
.project-page .detail-heading>p:last-child{line-height:1.75}
.enterprise .spread-copy p{line-height:1.8}
@media(max-width:640px){
 .project-page .detail-heading>p:last-child{font-size:17px}
 .enterprise .spread-copy h2{margin-top:0;max-width:100%}
 .project-page .project-work>p:not(.eyebrow){font-size:17px;line-height:1.8}
 .project-spread,.project-spread.reverse,.project-spread.panorama{gap:24px;padding-bottom:44px}
}

/* Closing a zoomed/interrupted opening keeps the viewport crop throughout the fade. */
.project-gallery.is-closing:not(.is-returning) .gallery-stage{overflow:hidden}
