@layer cinema-behavior, cinema-signature, cinema-refinement, cinema-components, cinema;
/* Shared interaction feedback. Keep reveal transforms and static cards untouched. */
@layer cinema-behavior {
 .ow-cinema :is(a,button,summary) {
  text-underline-offset:.22em;
  text-decoration-thickness:1px;
  transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,translate .2s ease!important;
 }
 .ow-cinema :is(button,summary) { cursor:pointer; }
 .ow-cinema :is(button:disabled,[aria-disabled="true"]) { cursor:not-allowed; }

 /* A single blue response works on both white sections and navy calls to action. */
 .ow-cinema :is(.ow-button,.ow-cta-button,.cin-nav-cta,.ow-google-reviews__link):not(.ow-button--text,:disabled,[aria-disabled="true"]):is(:hover,:focus-visible) {
  background:#006e99!important; color:#fff!important; border-color:#006e99!important;
  box-shadow:0 5px 16px #031a3524!important;
 }
 .ow-cinema .ow-button--text:is(:hover,:focus-visible) {
  background:transparent!important; color:inherit!important; box-shadow:none!important;
  text-decoration:underline!important;
 }
 .ow-cinema button:not(:disabled,[aria-disabled="true"]):is(:hover,:focus-visible) {
  box-shadow:0 0 0 2px #007ea8!important;
 }
 .ow-cinema .ow-quote-modal__header :is(a,button.ow-quote-weby):is(:hover,:focus-visible) {
  color:#9be5ff!important;
 }
 .ow-cinema .ow-quote-modal button.ow-quote-weby:is(:hover,:focus-visible) {
  background:#ffffff18!important; border-color:#80ddff!important; box-shadow:none!important;
 }
 .ow-cinema :is(.ow-native-quote__consent,.ow-assistant footer,.ow-assistant__lead) a:is(:hover,:focus-visible) {
  color:#006e99!important;
 }

 /* Navigation: text-only feedback in the mega menu, tinted rows on mobile. */
 .ow-cinema :is(.cin-desktop-nav>a,.cin-mega>summary):is(:hover,:focus-visible),
 .ow-cinema .cin-desktop-nav [aria-current="page"] {
  color:#006e99!important; text-decoration:underline!important; text-underline-offset:7px;
 }
 .ow-cinema .cin-mega-panel a:is(:hover,:focus-visible) {
  background:transparent!important; color:#006e99!important; box-shadow:none!important;
 }
 .ow-cinema .cin-mobile-nav nav a:is(:hover,:focus-visible) {
  background:#eaf5fa!important; color:#006e99!important;
  border-radius:5px; box-shadow:0 0 0 6px #eaf5fa!important;
 }
 .ow-cinema :is(.cin-nav-cta>svg,.cin-footer-project>span) {
  display:inline-block; transition:translate .2s ease!important;
 }
 .ow-cinema .cin-footer :is(a,button):is(:hover,:focus-visible) {
  color:#7edcff!important; text-decoration:underline!important;
 }

 /* Reading links keep their surrounding text colour, including on dark panels. */
 .ow-cinema :is(p,li,address) a:not([class*="button"]):is(:hover,:focus-visible),
 .ow-cinema :is(.ow-context-links a,.local-inline-links a,.local-text-link,.local-territory-links a,.ow-local-regions__links a):is(:hover,:focus-visible) {
  text-decoration:underline!important; text-decoration-thickness:2px;
 }
 .ow-cinema :is(.ow-filter-chip,.ow-local-regions__links a):is(:hover,:focus-visible) {
  background:#006e99!important; color:#fff!important; border-color:#006e99!important;
 }
 .ow-cinema summary:is(:hover,:focus-visible) { color:#006e99!important; }
 .ow-cinema :is(.ow-accordion,.ow-legal-faq) summary:is(:hover,:focus-visible)::after {
  background:#006e99!important; color:white!important;
 }

 /* Only linked cards receive a navigation cue; no false affordance on information. */
 .ow-cinema :is(.ow-process-timeline__step,.ow-process-timeline__marker,.ow-process-timeline__content) {
  background:transparent!important; box-shadow:none!important; filter:none!important;
  transform:none!important; translate:none!important; cursor:default!important;
 }
 .ow-cinema :is(article.ow-info-card--static,article.ow-comparison-card,article.ow-pricing-card,.ow-media-card:not(a)):is(:hover,:focus-within) {
  box-shadow:none!important; filter:none!important; transform:none!important;
 }
 .ow-cinema :is(a.ow-media-card,a.ow-portfolio-card,a.ow-portfolio-explorer-card,a.ow-related-project-card,a.ow-blog-card,a.ow-info-card,a.ow-service-need-card,a.ow-contact-v2-card,a.ow-contact-v2-route,.local-projects>a,.local-formats>a):is(:hover,:focus-visible) {
  border-color:#007ea8!important;
  box-shadow:0 8px 24px #031a3514!important;
 }
 .ow-cinema :is(a.ow-media-card,a.ow-portfolio-card,a.ow-portfolio-explorer-card,a.ow-related-project-card,a.ow-blog-card,a.ow-info-card,a.ow-service-need-card,.local-projects>a,.local-formats>a):is(:hover,:focus-visible) :is(h3,.ow-info-card__arrow,.ow-service-need-card__arrow) {
  color:#006e99!important;
 }
 .ow-cinema :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card figure,.ow-blog-card__image) { overflow:hidden; }
 .ow-cinema :is(a.ow-media-card,a.ow-portfolio-card,a.ow-portfolio-explorer-card,a.ow-related-project-card,a.ow-blog-card) img {
  transition:scale .45s cubic-bezier(.2,.7,.2,1)!important;
 }
 .ow-cinema :is(a,button,summary):focus-visible {
  outline:3px solid #007ea8!important; outline-offset:5px!important;
 }

 /* Movement only for precise pointing devices, never required to understand a link. */
 @media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .ow-cinema :is(.ow-button,.ow-cta-button,.cin-nav-cta):not(:disabled,[aria-disabled="true"]):hover { translate:0 -2px; transform:none!important; }
  .ow-cinema :is(.ow-button,.ow-cta-button,.cin-nav-cta):not(:disabled,[aria-disabled="true"]):active { translate:0 0; }
  .ow-cinema :is(.cin-nav-cta,.cin-footer-project):hover>:is(span,svg) { translate:2px -2px; }
  .ow-cinema :is(a.ow-media-card,a.ow-portfolio-card,a.ow-portfolio-explorer-card,a.ow-related-project-card,a.ow-blog-card):hover img { scale:1.035; transform:none!important; }
 }
 @media (prefers-reduced-motion:reduce) {
  /* Match the specificity of component transitions, including their descendants. */
  .ow-cinema.ow-cinema.ow-cinema *, .ow-cinema.ow-cinema.ow-cinema *::before, .ow-cinema.ow-cinema.ow-cinema *::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
  .ow-cinema :is(.ow-button,.ow-cta-button,.cin-nav-cta):is(:hover,:active) { translate:none!important; transform:none!important; }
  .ow-cinema a:hover img { scale:none!important; transform:none!important; }
 }
 @media (hover:none) {
  .ow-cinema :is(.ow-button,.ow-cta-button,.cin-nav-cta):hover { translate:none!important; transform:none!important; }
 }
}

/* Project navigation is expressed inside the image, never by a box around unpadded copy. */
@layer cinema-behavior {
 .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a), .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a):is(:hover,:focus-visible) {
  padding:0!important; background:transparent!important; border:0!important;
  border-radius:20px!important; box-shadow:none!important; text-decoration:none!important;
 }
 .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a) :is(.ow-media-card__body,.ow-portfolio-card__body,.ow-portfolio-explorer-card__body,.ow-related-project-card__body,.local-project-body) { padding:24px!important; background:transparent!important; }
 .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a) :is(.ow-media-card__body,.ow-portfolio-card__body,.ow-portfolio-explorer-card__body,.ow-related-project-card__body,.local-project-body) h3, .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a):is(:hover,:focus-visible) h3 {
  color:var(--cin-ink)!important; margin:0!important;
 }
 .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a) :is(.ow-media-card__body,.ow-portfolio-card__body,.ow-portfolio-explorer-card__body,.ow-related-project-card__body,.local-project-body) p { margin:12px 0 0!important; }
 .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a) :is(.ow-media-card__body,.ow-portfolio-card__body,.ow-portfolio-explorer-card__body,.ow-related-project-card__body,.local-project-body)>:is(span,.ow-media-card__meta) { display:block; margin-bottom:10px!important; }
 .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a) :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media) {
  display:block!important; position:relative!important; isolation:isolate;
  width:100%!important; margin:0!important; padding:0!important;
  overflow:hidden!important; border-radius:20px!important;
 }
 .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a) :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media) img {
  display:block!important; border-radius:0!important; scale:1; transform:none!important;
  transition:scale .5s cubic-bezier(.2,.7,.2,1)!important;
 }
 .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a) :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media)::before {
  content:''!important; position:absolute!important; inset:0!important; z-index:1!important;
  background:linear-gradient(180deg,transparent 45%,#031a3570)!important;
  opacity:0!important; pointer-events:none;
  transition:opacity .3s ease!important;
 }
 .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a) :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media)::after {
  content:''!important; position:absolute!important; inset:auto 20px 20px auto!important;
  z-index:2!important; width:44px!important; height:44px!important; border-radius:50%!important;
  border:1px solid #ffffffa6!important;
  background:#101820a6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E") center/22px no-repeat!important;
  opacity:0!important; translate:0 8px; pointer-events:none;
  transition:opacity .3s ease,translate .3s ease!important;
 }
 .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a):focus-visible :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media)::before, .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a):focus-visible :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media)::after { opacity:1!important; translate:none; }
 @media (hover:hover) and (pointer:fine) {
  .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a):hover :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media)::before, .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a):hover :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media)::after { opacity:1!important; translate:none; }
 }
 @media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a):hover :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media) img { scale:1.045!important; }
 }
 @media (hover:none) {
  .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a) :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media)::after { opacity:1!important; translate:none!important; }
 }
 @media (prefers-reduced-motion:reduce) {
  .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a) :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media) img, .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a):hover :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media) img { scale:1!important; transition:none!important; }
  .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a) :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media)::before, .ow-cinema a[href^="/realisations/"]:is(.ow-media-card,.ow-portfolio-card,.ow-portfolio-explorer-card,.ow-related-project-card,.local-projects>a) :is(.ow-media-card__image,.ow-portfolio-card__visual,.ow-portfolio-explorer-card__image,.ow-related-project-card>figure,.local-project-media)::after { transition:none!important; translate:none!important; }
 }
}


/* Reuse the site's project-card treatment and interaction language. */
@layer cinema-behavior {
 .ow-cinema :is(.ed-link,.ed-local-links a,.ed-directions a):is(:hover,:focus-visible) {
  color:#006e99!important;
  text-decoration:underline!important;
  text-underline-offset:.25em!important;
 }
 .ow-cinema .ed-gallery .ow-media-card {display:block!important;min-width:0;}
 .ow-cinema .ed-gallery .ow-media-card__image {aspect-ratio:16/10!important;}
 .ow-cinema .ed-gallery .ow-media-card__image picture {display:block;height:100%;}
 .ow-cinema .ed-gallery .ow-media-card__image img {width:100%!important;height:100%!important;object-fit:cover!important;object-position:top!important;aspect-ratio:auto!important;}
 .ow-cinema .ed-gallery .ow-media-card__body h3 {display:block;font-size:21px!important;line-height:1.4!important;}
 @media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .ow-cinema :is(.ed-link,.ed-directions a)>span[aria-hidden] {transition:translate .2s ease;}
  .ow-cinema :is(.ed-link,.ed-directions a):hover>span[aria-hidden] {translate:2px -2px;}
 }
}
