.sony-project .project-sidebar__group { display: grid; gap: 0.9rem; }
.sony-project .project-sidebar__submenu { display: grid; gap: 0.7rem; padding-left: 1rem; border-left: 1px solid rgba(255,255,255,.18); }
.sony-project .project-sidebar__submenu a { color: rgba(255,255,255,.4); font-size: .86rem; line-height: 1.2; transition: color 180ms ease; }
.sony-project .project-sidebar__submenu a:hover, .sony-project .project-sidebar__submenu a:focus-visible { color: #fff; }
.sony-project .project-section h2 { margin-bottom: clamp(2rem,4vw,3.2rem); }
.sony-coming-soon { display: grid; place-items: center; min-height: clamp(20rem,48vw,38rem); border: 1px solid rgba(255,255,255,.16); border-radius: .65rem; background: radial-gradient(circle at 50% 45%,#181818 0,#080808 55%,#000 100%); }
.sony-coming-soon span { color: rgba(255,255,255,.54); font-size: clamp(1rem,1.6vw,1.3rem); letter-spacing: .08em; text-transform: uppercase; }
.sony-subsection, .sony-process-block { scroll-margin-top: 7rem; }
.sony-subsection + .sony-subsection { margin-top: clamp(4rem,7vw,7rem); }
.sony-subsection h3, .sony-process-block h3 { margin: 0 0 1.5rem; font-size: clamp(1.2rem,1.7vw,1.5rem); font-weight: 400; line-height: 1.25; }
.sony-process-intro { max-width: 55rem; margin: 0 0 clamp(4rem,8vw,7rem); color: rgba(255,255,255,.5); font-size: .9rem; line-height: 1.6; }
.sony-process-block + .sony-process-block { margin-top: clamp(4rem,8vw,8rem); }
.sony-process-block > p { max-width: 54rem; margin: -.4rem 0 2rem; color: rgba(255,255,255,.72); font-size: 1rem; line-height: 1.6; }
.sony-media-grid { display: grid; grid-template-columns: 1fr; gap: clamp(1rem,2vw,1.5rem); }
.sony-media-grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.sony-media-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.sony-media { width: 100%; overflow: hidden; border: 0; border-radius: .65rem; background: #111; }
button.sony-media { padding: 0; cursor: zoom-in; }
.sony-media img, .sony-media video { display: block; width: 100%; height: auto; }
.sony-media img { transition: transform 220ms ease; }
button.sony-media:hover img, button.sony-media:focus-visible img { transform: scale(1.012); }
.sony-project .project-lightbox { width: min(94vw,90rem); max-width: none; height: min(92vh,60rem); max-height: none; padding: 3rem 1rem 1rem; overflow: hidden; border: 0; border-radius: .65rem; background: #111; }
.sony-project .project-lightbox::backdrop { background: rgba(0,0,0,.9); }
.sony-project .project-lightbox img { width: 100%; height: 100%; object-fit: contain; }
.sony-project .project-lightbox__close { position: absolute; top: .45rem; right: .75rem; padding: .15rem .45rem; border: 0; color: #fff; background: transparent; font: inherit; font-size: 1.75rem; cursor: pointer; }
@media (max-width:720px) {
  .sony-media-grid--two, .sony-media-grid--three { grid-template-columns: 1fr; }
  .sony-project .project-sidebar__group { width: 100%; }
  .sony-project .project-sidebar__submenu { display: flex; flex-wrap: wrap; margin-top: -.2rem; padding: 0 0 0 1rem; border-left: 0; }
}
@media (prefers-reduced-motion:reduce) { .sony-media img { transition: none; } }
