/* Final composition pass: keep the page quiet, paced and legible from CONTOUR to contact. */
html, body { overflow-x: clip; }
body { background: #181717; }

/* Keep image detail present without the heavy plates that made the earlier pass feel muddy. */
.monument-shade, .scene-shade, .scene-dim, .contour-shade,
.systems-gateway-image::after, .project-image::after, .closing-frame::after { background: transparent !important; }
.scene-title, .scene-bottom, .contour-title, .contour-caption, .closing-copy { text-shadow: 0 2px 22px rgba(13,12,11,.28); }
.scene-shade::after, .scene-bottom::before, .closing-copy::before { background: transparent !important; filter: none !important; }

/* CONTOUR owns its film handoff and motion fallback in facades.css. */

.contour-afterword { position:relative; display:grid; grid-template-columns:minmax(150px,.8fr) minmax(280px,1.25fr); gap:8vw; align-items:start; padding-top:clamp(84px,10vw,156px) !important; padding-bottom:clamp(98px,12vw,186px); border-top:1px solid rgba(244,239,231,.12); }
.contour-afterword::before { content:""; position:absolute; top:-1px; left:var(--shell); width:clamp(70px,10vw,180px); border-top:1px solid var(--cream); }
.contour-afterword > .eyebrow { color:var(--taupe); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.contour-afterword > div { max-width:620px; }
.contour-afterword h3 { font-size:clamp(38px,4.5vw,72px); font-weight:400; line-height:1; letter-spacing:-.06em; }
.contour-afterword > div > p { max-width:440px; margin-top:28px; color:var(--taupe); font-size:15px; line-height:1.5; }
.contour-afterword .text-button { margin-top:28px; color:var(--cream); font-size:12px; }

/* Systems are a quiet directory after the material story. */
#systems.systems-gateway { margin:0 !important; padding:clamp(100px,12vw,180px) 8px clamp(110px,13vw,190px) !important; border-top:1px solid rgba(244,239,231,.12); }
#systems .systems-gateway-heading { margin-bottom:clamp(34px,5vw,72px) !important; }
#systems .systems-gateway-heading .eyebrow, #systems .systems-gateway-kind { display:none !important; }
#systems .systems-gateway-heading h2 { max-width:700px; }
#systems .systems-gateway-main { gap:12px !important; }
#systems .systems-gateway-image { height:clamp(450px,67svh,760px) !important; border-radius:var(--radius) !important; }
#systems .systems-gateway-image img { transition:transform .9s var(--ease); }
#systems .systems-gateway-category:hover .systems-gateway-image img, #systems .systems-gateway-category:focus-visible .systems-gateway-image img { transform:scale(1.025); }
#systems .systems-gateway-more { padding-top:30px !important; }
#systems .systems-gateway-family { min-height:58px; }
#systems .systems-gateway-family + .systems-gateway-family { border-top:1px solid rgba(244,239,231,.12); }

.work-section { padding-top:clamp(90px,11vw,170px); border-top:1px solid rgba(244,239,231,.12); }
.work-heading .eyebrow, .project-meta > span { color:var(--taupe); }
.work-more { padding-bottom:clamp(90px,10vw,150px); }
.work-more .text-button { display:none !important; }

/* One uninterrupted logo ribbon. The copied slides are inert and aria-hidden in partners.js. */
.partners { padding:clamp(70px,8vw,126px) 0 clamp(80px,9vw,144px) !important; border-top:1px solid rgba(244,239,231,.12); border-bottom:1px solid rgba(244,239,231,.12); }
.partners-viewport { margin-top:clamp(42px,5vw,76px) !important; overflow-x:auto !important; overflow-y:hidden; overscroll-behavior-x:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.partners-viewport::-webkit-scrollbar { display:none; }
.partners-track { display:flex !important; width:max-content !important; flex-wrap:nowrap !important; gap:0 !important; justify-content:initial !important; transform:none !important; will-change:scroll-position; }
.partners-slide { flex:0 0 clamp(195px,23vw,340px) !important; width:clamp(195px,23vw,340px) !important; padding:0 32px 28px !important; }
.partners-logo { height:112px !important; }
.partners-logo img { max-height:84px !important; opacity:.9; }

.closing-image { padding-top:8px; }
.closing-frame { height:min(78svh,840px); min-height:520px; }
.closing-copy { top:12%; }
.closing-copy .pill { margin-top:32px; }

/* Provenance stays with gallery/detail records where it can be understood. */
.pg-provenance, .pg-viewer-provenance { margin-top:7px; color:var(--taupe); font-size:10px; line-height:1.4; }
.pg-viewer-provenance { max-width:420px; }

@media (max-width:700px) {
  .contour-afterword { grid-template-columns:1fr; gap:24px; padding-top:72px !important; padding-bottom:100px; }
  .contour-afterword h3 { font-size:42px; }
  .contour-afterword > div > p { margin-top:20px; font-size:13px; }
  #systems.systems-gateway { padding:92px 8px 120px !important; }
  #systems .systems-gateway-image { height:clamp(380px,68svh,620px) !important; }
  .partners-heading { align-items:center; }
  .partners-heading h2 { max-width:220px; }
  .partners-slide { flex-basis:clamp(195px,68vw,280px) !important; padding-inline:24px !important; }
  .partners-logo { height:96px !important; }
  .partners-logo img { max-height:74px !important; }
  .closing-frame { height:74svh; min-height:500px; }
  .closing-copy { top:10%; left:24px; right:24px; }
  .closing-copy .pill { margin-top:26px; }
}

@media (prefers-reduced-motion:reduce) {
}
