/* Align to the actual masthead border, including translated headings and resize. */
.cw-overlay[data-cw-case-study="explorations"] .ex-page-35 { padding-top: var(--ex-masthead-bottom, 8.15cqw); }
.ex-current-products [data-ex-product] { cursor: zoom-in; }
.ex-current-products figcaption[data-ex-product]:focus-visible { outline: 2px solid var(--cw-deep-green); outline-offset: 5px; }
/* Crop the page's inline bounce to its logo box, including shadow-root SVG overflow. */
.cw-overlay[data-cw-case-study="explorations"] .ex-architecture__proposal-logo { overflow: hidden; }
.cw-image-viewer__product[hidden] { display: none !important; }
.cw-image-viewer.is-product .cw-image-viewer__image { display: none !important; }
.cw-image-viewer.is-product .cw-image-viewer__stage { background: transparent; border: 0; border-radius: 0; box-shadow: none; overflow: hidden; }
.cw-image-viewer__product { width: 100%; height: 100%; overflow: auto; overscroll-behavior: contain; container-type: size; background: transparent; color: #f8f8f4; }
.ex-product-view { box-sizing: border-box; min-height: 100%; width: 100%; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 5cqw; padding: clamp(28px, 4cqw, 80px); font-family: Manrope, sans-serif; }
.ex-product-view__copy { min-width: 0; display: flex; flex-direction: column; align-items: start; gap: clamp(22px, 3cqh, 38px); }
.ex-product-view__formerly { display: flex; align-items: center; gap: 14px; padding: 12px 18px 12px 12px; border: 1px solid rgb(248 248 244 / .22); border-radius: 14px; background: rgb(248 248 244 / .045); max-width: 100%; box-sizing: border-box; margin-bottom: clamp(42px, 6cqh, 88px); }
.ex-product-view__formerly > img { width: clamp(36px, 3.6cqw, 60px); height: auto; object-fit: contain; border-radius: 19.5%; }
.ex-product-view__formerly p { margin: 0; display: flex; flex-direction: column; gap: 5px; font-size: clamp(14px, 1.1cqw, 17px); }
.ex-product-view__formerly span { color: #a9babc; font-size: .86em; letter-spacing: .06em; }
.ex-product-view__formerly strong { font-weight: 500; }
.ex-product-view__identity { --identity-size: clamp(86px, 10.8cqw, 184px); display: flex; align-items: center; gap: calc(var(--identity-size) * .3); width: 100%; }
.ex-product-view__identity .ex-product-view__icon { width: var(--identity-size); height: var(--identity-size); object-fit: contain; flex: none; }
.ex-product-view__identity h2 { margin: 0; flex: none; width: calc(var(--identity-size) * var(--wordmark-width)); transform: translateY(calc(var(--identity-size) * var(--wordmark-offset))); }
/* Equal visible initial-letter heights and baselines, measured from the supplied SVG paths. */
.ex-product-view__identity h2 img { width: 100%; height: calc(var(--identity-size) * var(--wordmark-height)); object-fit: contain; object-position: left center; display: block; }
.ex-product-view__description { margin: 0; max-width: 56ch; font-size: clamp(16px, 1.15cqw, 20px); line-height: 1.65; font-weight: 400; color: #d4dfe0; }
.ex-product-view__description p { margin: 0 0 1em; }
.ex-product-view__description p:last-child { margin-bottom: 0; }
.ex-product-view__footer { display: flex; align-items: end; min-height: 80px; margin-top: auto; padding-top: 20px; }
.ex-product-view__signature { position: relative; display: block; width: 245px; height: 66px; flex: none; pointer-events: none; }
.ex-product-view__palette { margin: 0; position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 76px; gap: 16px; align-self: center; justify-self: center; width: min(90%, calc((100cqh - 8cqw) * .6352 + 92px)); }
.ex-product-view__palette-art { display: block; width: 100%; aspect-ratio: 740 / 1165; }
.ex-product-view__palette figcaption { position: absolute; top: 44.206%; bottom: 0; right: 0; width: 76px; display: grid; grid-template-rows: repeat(5, 1fr); }
.ex-product-view__palette figcaption span { display: flex; align-items: center; color: #d4dfe0; font: 500 clamp(12px, 1cqw, 15px)/1.3 Manrope, sans-serif; }
@container (max-width: 780px) {
  .ex-product-view { grid-template-columns: 1fr; padding: 24px; gap: 26px; }
  .ex-product-view__copy { display: contents; }
  .ex-product-view__identity { --identity-size: clamp(48px, calc((100cqw - 48px) / 4), 86px); }
  .ex-product-view__identity h2 img { max-width: 320px; }
  .ex-product-view__description { font-size: 16px; }
  .ex-product-view__palette { width: min(90%, 400px); grid-template-columns: minmax(0, 1fr) 66px; gap: 12px; margin-block: 14px; justify-self: start; }
  .ex-product-view__palette figcaption { width: 66px; }
  .ex-product-view__formerly { order: 0; margin-bottom: 38px; justify-self: start; }
  .ex-product-view__identity { order: 1; }
  .ex-product-view__description { order: 2; }
  .ex-product-view__palette { order: 3; }
  .ex-product-view__footer { order: 4; }
}
@media (max-width: 680px) {
  .cw-overlay[data-cw-case-study="explorations"] .ex-page-35 { padding-top: 12.6cqw; }
}
@media (prefers-reduced-motion: reduce) {
  .cw-image-viewer.is-product .cw-image-viewer__stage { transition: none; }
}

/* Outside the scrolling stage: the full viewport clips the ball at the screen edge. */
.cw-image-viewer > .ex-product-view__signature-motion { position: absolute; z-index: 3; display: block; width: 245px; height: 66px; overflow: visible; pointer-events: none; }
.cw-image-viewer:not(.is-ready) > .ex-product-view__signature-motion { visibility: hidden; }
