/* 2.2: thematic photo screens; layout works with JavaScript disabled. */
.photo-scene {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  background: #171c20;
  overflow: clip;
}
.photo-scene-background {
  position: sticky;
  top: 0;
  grid-area: 1 / 1;
  align-self: start;
  height: 100vh;
  height: 100svh;
  min-height: 520px;
  overflow: hidden;
  pointer-events: none;
}
.photo-scene-background img {
  position: absolute;
  width: 100%;
  max-width: none;
  height: calc(100% + 100px);
  top: -50px;
  object-fit: cover;
  object-position: center;
  transform: translate3d(0,var(--scene-y,0px),0);
}
.photo-scene-background::after {
  position: absolute;
  content: "";
  inset: 0;
  background: linear-gradient(90deg,rgba(12,17,21,.83),rgba(12,17,21,.37)),linear-gradient(0deg,rgba(12,17,21,.60),transparent 65%);
}
.photo-scene-content { grid-area: 1 / 1; position: relative; z-index: 1; min-width: 0; color: #fff; }
.photo-scene-content > .section { background: transparent; min-height: 100svh; }
.photo-scene-content > .visual-section::before { display: none; }
.photo-scene-content .section-heading,
.photo-scene-content .sticky-heading,
.photo-scene-content .rich-copy { color: #fff; }
.photo-scene-content h2 { overflow-wrap: anywhere; hyphens: auto; }
.photo-scene-content .rich-copy { padding: clamp(24px,3vw,44px); background: rgba(16,23,28,.88); border: 1px solid #ffffff30; }
.photo-scene-content .section-heading > p,
.photo-scene-content .sticky-heading > p,
.photo-scene-content .rich-copy > p { color: #f3f3f0; }
.photo-scene-content .section-heading .kicker,
.photo-scene-content .sticky-heading > .kicker { color: #f1b78d; }
.photo-scene-content .sticky-heading > .text-link,
.photo-scene-content .control .text-link { color: #fff; border-color: #ffffff80; }
.photo-scene-content .control-flow article { padding: 26px; background: rgba(20,27,32,.9); border-color: #ffffff55; color: #fff; }
.photo-scene-content .control-flow article::before { display: none; }
.photo-scene-content .control-flow article > p { color: #f0f0ed; }
.photo-scene-content .control-flow article > span { color: #f1b78d; }
.inner-hero.is-full-screen { min-height: 100svh; display: flex; align-items: center; padding: 0; }
.inner-hero.is-full-screen .inner-hero-content { padding-block: clamp(140px,18vh,210px) 90px; }
.inner-hero.is-full-screen h1 { font-size: clamp(40px,6.8vw,120px); line-height: 1.05; overflow-wrap: anywhere; }
.has-block-photo { --photo-pad: 26px; overflow: hidden; }
.depth-card.has-block-photo,
.home-highlight-card.has-block-photo { padding: var(--photo-pad); background: #fbfaf7; color: #20262a; border-color: #d5d6d0; }
.has-block-photo .block-photo { margin: calc(-1 * var(--photo-pad)) calc(-1 * var(--photo-pad)) 26px; }
.block-photo img { display: block; width: 100%; height: clamp(185px,20vw,310px); object-fit: cover; }
.depth-card.has-block-photo::after { display: none; }
.depth-card.has-block-photo h3 { margin-top: 18px; font-size: clamp(32px,3.6vw,58px); }
.depth-card.has-block-photo > p { margin-top: 18px; color: #454d51; font-size: 18px; }
.home-highlight-card.has-block-photo .kicker { margin-top: 18px; color: #86502d; }
.home-highlight-card.has-block-photo h3 { font-size: clamp(28px,2.8vw,44px); line-height: 1.1; overflow-wrap: anywhere; }
.home-highlight-card.has-block-photo > p:last-of-type { color: #454d51; margin-top: 18px; padding-bottom: 54px; font-size: 16px; }
.home-highlight-card.has-block-photo:hover,
.home-highlight-card.has-block-photo:focus-visible { background: #fff; color: #20262a; }
.home-highlight-card.has-block-photo:hover .kicker { color: #86502d; }
.home-highlight-card.has-block-photo:hover > p:last-of-type { color: #454d51; }
.material-grid article.has-block-photo { padding: var(--photo-pad); background: #232b31; }
.material-grid article.has-block-photo h3 { margin-top: 18px; }
.material-grid article.has-block-photo p { color: #edf0ef; }
.case-next-stage { border-top: 1px solid #c8cbc6; margin-top: 38px; padding-top: 26px; }
.case-next-stage .kicker { margin-bottom: 12px; }
.case-next-stage > p:last-child { max-width: 900px; font-size: clamp(20px,2vw,30px); color: #263238; }
.case-gallery.is-contained figure { background: #20282e; }
.case-gallery.is-contained img { width: 100%; height: 100%; object-fit: contain; }
@media (max-width:820px) {
  .photo-scene-background { min-height: 0; }
  .photo-scene-background::after { background: linear-gradient(0deg,rgba(12,17,21,.9),rgba(12,17,21,.66)); }
  .photo-scene-content > .section { padding-block: 84px; }
  .photo-scene-content .control-flow article { padding: 22px; }
  .inner-hero.is-full-screen .inner-hero-content { padding-block: 126px 70px; }
  .has-block-photo { --photo-pad: 22px; }
  .block-photo img { height: auto; aspect-ratio: 16 / 10; }
  .photo-scene-background img { transform: none; }
}
@media (prefers-reduced-motion:reduce) {
  .photo-scene-background img { transform: none; }
}
