/* Photographic edits: shared image treatment and readable project controls. */
.services-visual > img{object-position:57% center}
.nova-feature .nova-explore{background:#fff;color:var(--ink);min-height:50px;border:1px solid #21204525;box-shadow:0 4px 24px #21204520}
.nova-feature .nova-explore:hover{background:var(--sky);color:var(--ink)}
.nova-feature-foot .text-link{background:var(--sky);color:var(--ink);border:0;padding:13px 20px;min-height:48px;gap:25px}
.nova-feature-foot .text-link:hover{background:#fff;color:var(--ink)}
.group-brands{background:white;color:var(--ink);padding:40px 0 45px;border-top:1px solid var(--line)}
.group-brands > p{font-size:12px;margin-bottom:28px}
.group-brands > div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px;align-items:center}
.group-brands a{display:flex;align-items:center;justify-content:center;min-height:90px;padding:12px;perspective:800px}
.group-brands img{width:100%;height:60px;object-fit:contain;max-width:175px;transition:transform .3s}
.group-brands a:nth-child(5) img{filter:brightness(0) saturate(100%);max-width:140px}
.group-brands a:hover img{transform:translateY(-5px)}
.footer > .group-brands{margin:42px 0 25px}

/* Evolución: the left column becomes a photographic counterpoint. */
body[data-edition="evolucion"] .intro{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px 5vw;padding-top:85px;padding-bottom:90px;align-items:start}
body[data-edition="evolucion"] .intro > .section-label{grid-column:1;grid-row:1;line-height:1.7;margin-top:10px;max-width:250px}
body[data-edition="evolucion"] .intro-main{grid-column:2;grid-row:1 / span 2}
.intro-visual{grid-column:1;grid-row:2;margin:0;align-self:end}
.intro-visual img{width:100%;height:350px;object-fit:cover;object-position:45% center}
.intro-visual figcaption{display:flex;justify-content:space-between;gap:15px;padding-top:13px;font-size:10px;color:var(--muted)}

/* Atelier: a measured arrival, one brand following the next. */
.brand-motion-ready .brand-grid a{opacity:0;transform:perspective(800px) translateY(55px) rotateX(16deg);transition:opacity .75s,transform .95s cubic-bezier(.2,.75,.2,1);transition-delay:calc(var(--brand-index) * 90ms)}
.brand-motion-ready.brand-entered .brand-grid a{opacity:1;transform:perspective(800px) translateY(0) rotateX(0)}
.brand-grid a:focus-visible{opacity:1;transform:none;outline:2px solid var(--ink);outline-offset:5px}

/* Cinemática: Olesa closes the photographic collection across the whole page. */
.cinema .project-grid:not(.index-view):not(.filtered) .project-card[data-project="9"]{grid-column:1 / -1;margin:0}
.cinema .project-grid:not(.index-view):not(.filtered) .project-card[data-project="9"] .project-photo{aspect-ratio:1.9}
.cinema .project-grid:not(.index-view):not(.filtered) .project-card[data-project="9"] img{object-position:center 58%}
.cinema .project-grid:not(.index-view):not(.filtered) .project-card[data-project="5"] .project-meta p{color:var(--ink);font-size:13px}

/* The circular reveal stays inside the Benigànim chapter. */
.cinema .circle-surface{background:rgba(255,255,255,.9)}
.cinema .circle-copy{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:5vw;width:90vw;text-align:left}
.cinema .circle-project-copy > .micro{color:var(--ink);letter-spacing:.07em}
.cinema .circle-copy h2{font-size:clamp(40px,4.6vw,74px);line-height:1.03;margin:20px 0;letter-spacing:-.045em}
.cinema .circle-copy p{font-size:clamp(12px,1.1vw,15px);line-height:1.7;max-width:520px}
.cinema .circle-copy .circle-detail{margin-top:14px;color:var(--muted);max-width:470px}
.circle-project-link{display:inline-flex;gap:30px;align-items:center;background:var(--ink);color:white;padding:13px 20px;margin-top:24px;min-height:48px;font-size:12px}
.circle-project-link > span{font-size:23px}
.circle-project-link:hover{background:#3cb3de;color:var(--ink)}
.circle-project-photo{margin:0}
.cinema .circle-project-photo img{width:100%;height:43svh;max-height:390px;object-fit:cover;object-position:center}
.circle-project-photo figcaption{display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.6;margin-top:14px;color:var(--ink)}

/* Six brands assemble into a single, spacious final composition. */
.motion-sequences .cinema .contact-sequence{padding-bottom:0}
.cinema .brand-finale{padding:0;border:0;background:var(--sky);position:relative;overflow:clip}
.cinema .brand-finale > .brand-stage{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;gap:38px;padding:80px 5vw 42px;min-height:750px;perspective:1000px}
.brand-heading{position:relative;z-index:2;text-align:center}
.brand-heading > span{display:block;font-size:10px;letter-spacing:.08em;margin-bottom:23px}
.brand-heading h2{font-size:clamp(40px,5.5vw,86px);line-height:1.06;letter-spacing:-.05em;font-weight:400}
.brand-heading h2 em{display:block}
.cinema .brand-finale .brand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 4vw;width:100%;max-width:1150px;margin:auto;perspective:1000px}
.cinema .brand-finale .brand-grid a{height:130px;min-height:0;padding:20px;transform-origin:center;position:relative}
.cinema .brand-finale .brand-grid img{max-width:235px;height:85px}
.cinema .brand-finale .brand-grid a:nth-child(5) img{max-width:185px;height:65px}
.brand-finale-foot{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #21204545;padding-top:22px;font-size:11px;position:relative;z-index:2}
.brand-finale-foot a{min-height:44px;display:flex;align-items:center}
.brand-finale-foot a span{font-size:24px;margin-left:25px}
.brand-finale.brand-scroll-ready{height:190svh}
.cinema .brand-finale.brand-scroll-ready > .brand-stage{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:0;padding-top:35px;padding-bottom:25px;gap:20px}
.cinema .brand-finale.brand-scroll-ready .brand-grid a{height:clamp(95px,16svh,130px);padding:15px}
.brand-scroll-ready .brand-grid a{will-change:transform,opacity}

@media(max-width:1000px) and (min-width:701px){
 .intro-visual img{height:310px}
 .cinema .brand-finale .brand-grid a{height:105px}
 .cinema .brand-finale .brand-grid img{height:65px;max-width:185px}
}
@media(min-width:701px) and (max-height:700px){
 .cinema .circle-copy h2{font-size:clamp(35px,4.2vw,62px);margin:15px 0}
 .cinema .circle-copy p{font-size:12px}
 .cinema .circle-copy .circle-detail{margin-top:10px}
 .circle-project-link{margin-top:15px;padding:10px 16px}
 .cinema .brand-finale.brand-scroll-ready > .brand-stage{padding-top:23px;padding-bottom:18px;gap:15px}
 .brand-heading h2{font-size:clamp(36px,4.4vw,67px)}
 .brand-heading > span{margin-bottom:12px}
 .cinema .brand-finale .brand-grid{gap:8px 4vw}
 .cinema .brand-finale .brand-grid a{height:95px;padding:12px}
 .cinema .brand-finale .brand-grid img{height:60px}
 .brand-finale-foot{padding-top:12px}
}
@media(max-width:700px){
 .cinema .project-grid:not(.index-view):not(.filtered){grid-template-columns:minmax(0,1fr);gap:35px 0}
 body[data-edition="evolucion"] .intro{grid-template-columns:1fr;padding:55px 22px;gap:30px}
 body[data-edition="evolucion"] .intro > .section-label{grid-column:1;grid-row:1;max-width:none;margin:0}
 body[data-edition="evolucion"] .intro-main{grid-column:1;grid-row:2}
 .intro-visual{grid-column:1;grid-row:3}
 .intro-visual img{height:auto;aspect-ratio:1.2;object-position:center}
 .intro-visual figcaption{font-size:10px}
 .services-visual > img{object-position:center}
 .group-brands > div{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
 .group-brands{padding:30px 0}
 .group-brands img{height:48px}
 .group-brands a{min-height:82px}
 .nova-feature-foot .text-link{font-size:13px;gap:20px;min-height:48px}
 .cinema .project-grid:not(.index-view):not(.filtered) .project-card[data-project="9"] .project-photo{aspect-ratio:1.15}
 .cinema .brand-finale > .brand-stage{padding:55px 22px 28px;gap:30px;min-height:0}
 .brand-heading{text-align:left}
 .brand-heading h2{font-size:clamp(36px,10.5vw,54px)}
 .brand-heading > span{font-size:10px;margin-bottom:20px}
 .cinema .brand-finale .brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 14px;margin:5px 0 15px}
 .cinema .brand-finale .brand-grid a{height:95px;padding:12px}
 .cinema .brand-finale .brand-grid img{height:55px;max-width:150px}
 .cinema .brand-finale .brand-grid a:nth-child(5) img{max-width:125px;height:46px}
 .brand-finale-foot{align-items:start;flex-direction:column;gap:8px;font-size:11px}
 .brand-motion-ready .brand-grid a{transform:translateY(24px);transition-delay:calc(var(--brand-index) * 65ms)}
}
@media(prefers-reduced-motion:reduce){
 .brand-motion-ready .brand-grid a{opacity:1;transform:none;transition:none}
 .group-brands img{transition:none}
 .group-brands a:hover img{transform:none}
 .brand-finale.brand-scroll-ready{height:auto}
 .cinema .brand-finale.brand-scroll-ready > .brand-stage{position:relative;top:0;height:auto;min-height:750px}
 .brand-scroll-ready .brand-grid a{will-change:auto}
}
