/* 09D · Static first view, progressively enhanced into an opening dialogue. */
.cinema{--operec-opening-ready:1;position:relative;inset:auto;height:100svh;min-height:620px;overflow:auto;display:block}
html.presentation-seen .cinema:not(.is-enhanced){display:none}
.cinema.is-enhanced{position:fixed;inset:0;height:100%;min-height:0;z-index:1000}
.cinema-shell{position:relative}.opening-operec-logo{width:248px;height:auto;max-width:58%;padding:13px 16px;border-radius:6px;background:#fff;box-shadow:0 9px 35px #00160f33;--opening-animation:cinema-rise .5s cubic-bezier(.22,1,.36,1) both}
.cinema-skip{flex-shrink:0}.cinema-stage{--opening-animation:opening-map-phase 2.5s .3s ease both}.opening-crest-note{font-size:10px;color:#d0e2c5;line-height:1.5;margin-top:8px;text-align:center}.opening-municipal-names{display:flex;flex-wrap:wrap;justify-content:center;gap:5px 12px;font-size:9px;line-height:1.5;color:#b9d0ae;margin-top:7px}.cinema-map .intro-crest-disc{fill:#fbfff6;stroke:#adcb93;stroke-width:1.2}
.opening-clients-scene{position:absolute;inset:128px 0 100px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;opacity:0;pointer-events:none;--opening-animation:opening-clients-phase 3s 2.35s both}.opening-clients-scene .eyebrow{color:#bddf9d;font-size:10px}.opening-clients-scene h3{font-size:42px;letter-spacing:-1px;color:#eef9e7;margin-top:12px}.opening-clients-scene>p{font-size:11px;color:#c8dcc0;margin-top:19px}.opening-brand-groups{position:relative;width:min(820px,100%);height:230px;margin-top:24px}.opening-brand-group{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:13px;opacity:0}.opening-logo{display:flex;justify-content:center;align-items:center;background:#fff;border:1px solid #dce8d0;border-radius:6px;padding:17px;min-width:0;box-shadow:0 9px 24px #001a1230}.opening-logo img{object-fit:contain;max-width:100%;max-height:100%;width:auto;height:auto}.opening-group-1{--opening-animation:opening-logo-group 1.1s 2.4s both}.opening-group-2{--opening-animation:opening-logo-group 1.1s 3.2s both}.opening-group-3{--opening-animation:opening-logo-group 1.45s 4s both}
.cinema.is-running{overflow:hidden}.is-running .opening-operec-logo{animation:var(--opening-animation)}.cinema.is-running .cinema-stage{animation:var(--opening-animation)}.is-running .opening-clients-scene,.is-running .opening-brand-group{animation:var(--opening-animation)}.cinema.is-running .cinema-bottom{display:block;min-height:34px;height:34px;padding-top:10px}.is-running .opening-actions,.is-running .opening-preferences{display:none}.is-running .opening-document-note{font-size:10px;text-align:right;max-width:none}.is-running .opening-document-note br{display:none}
.cinema.is-static{overflow:auto}.cinema.is-static .cinema-shell{display:block;height:auto;min-height:100%;max-width:1180px;padding-block:28px 30px}.is-static .cinema-top{margin-bottom:30px}.is-static .cinema-stage{min-height:330px;animation:none!important;opacity:1;transform:none}.is-static .cinema-map{max-height:310px}.is-static .cinema-copy h2{font-size:42px}.is-static .cinema-copy p{font-size:14px}.is-static .cinema-point{opacity:1}.is-static .cinema-connection{stroke-dashoffset:0}.is-static .opening-clients-scene{position:relative;inset:auto;opacity:1;margin-top:27px;pointer-events:auto;animation:none!important}.is-static .opening-clients-scene h3{font-size:28px}.is-static .opening-brand-groups{height:170px;width:100%;max-width:880px;margin-top:19px}.is-static .opening-brand-group{display:none;animation:none!important}.is-static .opening-group-1{display:grid;opacity:1;position:relative;height:100%}.is-static .opening-clients-scene>p{margin-top:11px}.is-static .cinema-bottom{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:23px;margin-top:29px;padding-top:24px}.opening-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;max-width:560px}.opening-animate{background:#153b2b;border:1px solid #93ba75;color:white}.opening-gallery-link{font-size:12px;display:flex;align-items:center;gap:8px;min-height:44px;text-decoration:underline;text-underline-offset:4px}.opening-gallery-link .icon{width:16px;height:16px}.opening-preferences{width:min(470px,100%);text-align:left}.opening-preferences>label{font-size:11px;color:#d4e9c7;display:block;margin-bottom:8px}.opening-preferences>div{display:flex;gap:8px}.opening-preferences select{background:#133a2a;color:#f1f7e9;border:1px solid #719861;border-radius:3px;min-height:44px;font-size:12px;padding:9px;min-width:0;flex:1}.opening-preferences button{min-height:44px;border:1px solid #a7c88d;background:#d1ebac;color:#173b25;border-radius:3px;padding:9px 12px;font-size:11px;flex-shrink:0}.opening-preferences p{font-size:10px;color:#bfd3b3;line-height:1.7;margin-top:8px}.opening-document-note{font-size:10px!important;line-height:1.7;color:#b8cdae!important;max-width:none!important;width:100%;flex-shrink:1!important}.is-static .cinema-stage,.is-static .opening-clients-scene{visibility:visible}.is-static [data-intro-animate]:disabled,.opening-preferences button:disabled{opacity:.5;cursor:not-allowed}.cinema a:focus-visible,.cinema button:focus-visible,.cinema select:focus-visible{outline:3px solid #d4ffa6;outline-offset:4px}
@keyframes opening-map-phase{0%{opacity:0;transform:scale(.98)}18%,84%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.94)}}
@keyframes opening-clients-phase{0%{opacity:0;transform:translateY(9px)}12%,76%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:scale(.94)}}
@keyframes opening-logo-group{0%{opacity:0;transform:translateY(8px)}18%,72%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.cinema[data-motion-opt-in="true"].is-running .opening-operec-logo,.cinema[data-motion-opt-in="true"].is-running .cinema-stage,.cinema[data-motion-opt-in="true"].is-running .opening-clients-scene,.cinema[data-motion-opt-in="true"].is-running .opening-brand-group{animation:var(--opening-animation)!important}}
@media(max-width:800px){.cinema{min-height:0}.opening-operec-logo{width:204px;padding:10px 13px}.cinema.is-static .cinema-shell{padding-block:22px}.is-static .cinema-top{margin-bottom:25px}.is-static .cinema-stage{min-height:0}.is-static .cinema-copy h2{font-size:33px}.is-static .cinema-copy p{font-size:12px}.is-static .cinema-map{height:240px}.opening-clients-scene{inset:100px 0 90px}.opening-clients-scene h3{font-size:34px}.opening-brand-groups{height:250px}.opening-logo{padding:14px}.is-static .opening-brand-groups{height:180px}.is-static .cinema-bottom{gap:20px}.opening-preferences{width:100%}}
@media(max-width:600px){.opening-operec-logo{width:178px;max-width:62%;padding:10px}.is-static .cinema-copy h2{font-size:30px}.is-static .cinema-map{height:190px}.opening-municipal-names{font-size:8px}.opening-clients-scene{inset:96px 0 69px}.opening-clients-scene h3{font-size:28px}.opening-clients-scene .eyebrow{font-size:7px}.opening-brand-groups{grid-template-columns:1fr;height:310px;margin-top:18px}.opening-brand-group{grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,1fr);gap:9px}.opening-logo{padding:10px}.opening-clients-scene>p{font-size:10px}.is-static .opening-brand-groups{height:265px}.is-static .opening-group-1{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:7px;height:136px}.is-static .opening-brand-groups{height:136px}.is-static .opening-logo{padding:8px}.opening-actions{gap:9px}.opening-actions .button{font-size:11px;min-height:46px}.opening-preferences>div{flex-wrap:wrap}.opening-preferences select{font-size:16px;flex-basis:100%;min-height:48px}.opening-preferences button{font-size:12px}.is-static .cinema-bottom{gap:20px;margin-top:24px}.opening-document-note{font-size:9px!important}.is-running .opening-document-note{font-size:8px!important;line-height:1.5}.opening-crest-note{font-size:9px}}
@media(max-width:350px){.opening-operec-logo{width:161px}.is-static .cinema-copy h2{font-size:28px}.opening-brand-groups{height:280px}.opening-logo{padding:8px}.is-static .opening-brand-groups{height:126px}.is-static .opening-group-1{height:126px}.is-static .opening-logo{padding:5px}}
@media(max-height:580px){.opening-clients-scene{inset:75px 0 45px}.opening-brand-groups{height:210px;max-width:740px}.is-static .opening-brand-groups{height:136px}.cinema.is-static .cinema-map{height:170px}.is-running .cinema-top{min-height:40px}.opening-operec-logo{width:160px;padding:8px}}
@media print{.cinema{display:none!important}}

/* The accessible static presentation contains the same 24 business marks, without cycling. */
.is-static .opening-brand-groups{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;height:auto!important}
.is-static .opening-brand-group{display:contents!important}
.is-static .opening-logo{height:76px;padding:12px}
.is-static .cinema-locations{display:flex}.is-static .cinema-copy p{display:block}
.is-static .cinema-top{position:sticky;top:-28px;padding:10px 0;z-index:4;background:#08271fee;backdrop-filter:blur(10px)}
@media(max-width:800px){.is-static .opening-brand-groups{grid-template-columns:repeat(4,minmax(0,1fr))}.is-static .cinema-top{top:-22px}.is-static .opening-logo{height:72px}}
@media(max-width:600px){.is-static .opening-brand-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.is-static .opening-logo{height:65px;padding:9px}}

/* O10: sustained final image and 1.2s reveal of the existing hero. */
.cinema.is-running{animation:cinema-exit 1.2s 4.6s cubic-bezier(.22,1,.36,1) forwards,cinema-safety .01s 6.5s step-end forwards}
@keyframes cinema-exit{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.018);visibility:hidden;pointer-events:none}}
@keyframes opening-logo-group{0%{opacity:0;transform:translateY(7px)}15%,82%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-3px)}}
@keyframes opening-clients-phase{0%{opacity:0;transform:translateY(8px)}12%,100%{opacity:1;transform:translateY(0)}}
.opening-logo{min-height:0;overflow:hidden}
.opening-logo img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center}
.is-running .opening-group-3{--opening-animation:opening-last-group 1.45s 4s both}
@keyframes opening-last-group{0%{opacity:0;transform:translateY(7px)}15%,100%{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.cinema[data-motion-opt-in="true"].is-running{animation:cinema-exit 1.2s 4.6s cubic-bezier(.22,1,.36,1) forwards,cinema-safety .01s 6.5s step-end forwards!important}}

.opening-brand-group{grid-template-rows:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.opening-brand-group{grid-template-rows:repeat(4,minmax(0,1fr))}}
