/* Capsules reference: alternating full-height rounded panels, amber imagery, quiet copy. */
.pj--contour { --ce-surface:#24241f; --ce-ink:#ecebe2; --ce-soft:#c5c3b8; --ce-top:102px; }
#detailDialog:has(.pj--contour) .detail-top::after { height:8px; bottom:-8px; }
.pj--contour .pj-wayfinder { top:calc(100svh - 78px); margin-top:-58px; margin-bottom:0; z-index:25; background:#e9e8dd; border-color:#e9e8dd; box-shadow:0 4px 30px #0002; backdrop-filter:none; -webkit-backdrop-filter:none; }
.pj--contour .pj-wayfinder button { color:#46463e; }
.pj--contour .pj-wayfinder button:hover,.pj--contour .pj-wayfinder button[aria-current] { color:#fff; background:#292b25; }
.pj--contour .pj-wayfinder-progress { background:#696c5f; }
.pj--contour .pj-wayfinder :focus-visible { outline-color:#5b654a; }
.pj--contour .ce-experience { position:relative; padding:55px 0 0; margin:0; }
.pj--contour .ce-heading { overflow:hidden; padding:0 0 22px; }
.pj--contour .ce-heading p { margin:0 20px 32px; color:var(--ce-soft); font-size:11px; }
.pj--contour .ce-heading h3 { width:max-content; max-width:none; padding-right:24px; font-size:clamp(70px,10.5vw,190px); font-weight:400; line-height:1.04; letter-spacing:-.065em; white-space:nowrap; color:var(--ce-ink); }
.pj--contour .ce-scenes { position:relative; isolation:isolate; padding-bottom:1px; }
.pj--contour .ce-scene { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:4px; margin-bottom:12px; min-height:560px; height:calc(100svh - var(--ce-top) - 24px); max-height:1050px; }
.pj--contour .ce-panel { min-width:0; min-height:0; border-radius:30px; overflow:hidden; background:var(--ce-surface); }
.pj--contour .ce-copy { display:flex; flex-direction:column; justify-content:space-between; padding:clamp(24px,2.2vw,42px); color:var(--ce-ink); }
.pj--contour .ce-copy h4 { font-size:clamp(28px,3vw,56px); line-height:1.04; letter-spacing:-.045em; font-weight:400; }
.pj--contour .ce-copy-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; }
.pj--contour .ce-copy-bottom p { flex:0 1 245px; margin-bottom:54px; font-size:12px; line-height:1.45; letter-spacing:-.01em; color:var(--ce-soft); }
.pj--contour .ce-count { display:flex; align-items:center; gap:9px; flex-shrink:0; font-size:10px; white-space:nowrap; }
.pj--contour .ce-count > span:first-child { display:grid; place-items:center; height:30px; width:30px; border:1px solid #6f7065; border-radius:50%; }
.pj--contour .ce-count > span:last-child { color:#9d9e92; }
.pj--contour .ce-visual { position:relative; }
.pj--contour .ce-image { display:block; width:100%; height:100%; max-height:none; object-fit:cover; object-position:center; transform:scale(var(--ce-image-scale,1)); }
.pj--contour .ce-image-error { position:absolute; inset:0; display:grid; place-items:center; padding:30px; text-align:center; font-size:14px; color:var(--ce-ink); }
.pj--contour .ce-scene--reverse .ce-copy { grid-column:2; grid-row:1; }
.pj--contour .ce-scene--reverse .ce-visual { grid-column:1; grid-row:1; }
.pj--contour .ce-scene--reverse .ce-count { margin-left:184px; }
.pj--contour[data-ce-stack="on"] .ce-scene { position:sticky; top:var(--ce-top); margin-bottom:18svh; }
.pj--contour[data-ce-stack="on"] .ce-scene:last-child { margin-bottom:0; }
.pj--contour[data-ce-stack="on"] .ce-visual { transform:translate3d(0,var(--ce-lead,0px),0); will-change:transform; }
.pj--contour .ce-end { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:35px 20px 110px; color:var(--ce-soft); font-size:12px; }
.pj--contour .ce-end button { display:flex; align-items:center; gap:28px; min-height:44px; cursor:pointer; color:var(--ce-ink); }
.pj--contour .ce-end button:focus-visible { outline:2px solid var(--ce-ink); outline-offset:5px; }
.pj--contour .pj-material-card figure,.pj--contour .pj-resource-photo,.pj--contour .pj-project-call { border-radius:24px; }
@media (min-width:1800px) { .pj--contour .ce-scene { min-height:720px; } }
@media (max-width:1000px) {
  .pj--contour .ce-copy-bottom { flex-direction:column-reverse; align-items:flex-start; gap:30px; }
  .pj--contour .ce-copy-bottom p { flex:none; max-width:240px; }
}
@media (max-width:700px) {
  .pj--contour .pj-wayfinder { top:calc(var(--pj-header) + 5px); margin:0 auto 32px; width:max-content; max-width:calc(100% - 20px); }
  .pj--contour .pj-wayfinder button { padding:9px 13px; }
  .pj--contour .ce-experience { padding-top:10px; }
  .pj--contour .ce-heading { padding-bottom:24px; }
  .pj--contour .ce-heading p { margin:0 12px 24px; font-size:10px; }
  .pj--contour .ce-heading h3 { width:auto; padding:0 12px; font-size:clamp(48px,12.4vw,86px); white-space:normal; line-height:1; letter-spacing:-.055em; }
  .pj--contour .ce-scene { display:flex; flex-direction:column; gap:4px; height:auto; min-height:0; max-height:none; margin-bottom:28px; }
  .pj--contour .ce-panel { border-radius:22px; }
  .pj--contour .ce-copy { min-height:270px; padding:24px; }
  .pj--contour .ce-copy h4 { font-size:clamp(29px,7.8vw,46px); }
  .pj--contour .ce-copy-bottom { flex-direction:row; align-items:flex-end; gap:20px; margin-top:36px; }
  .pj--contour .ce-copy-bottom p { flex:0 1 200px; margin-bottom:0; font-size:11px; }
  .pj--contour .ce-count { gap:4px; font-size:9px; }
  .pj--contour .ce-count > span:first-child { width:25px; height:25px; }
  .pj--contour .ce-scene--reverse .ce-count { margin-left:0; }
  .pj--contour .ce-visual { height:auto; aspect-ratio:4/5; }
  .pj--contour .ce-image { position:absolute; inset:0; }
  .pj--contour .ce-end { padding:0 12px 60px; font-size:11px; }
  .pj--contour .ce-end button { gap:12px; text-align:right; }
}
@media (prefers-reduced-motion:reduce) {
  .pj--contour .ce-scene { position:relative !important; margin-bottom:16px !important; }
  .pj--contour .ce-visual,.pj--contour .ce-image { transform:none !important; }
}
