.bentley-page {
  --reverie-teal: #07434d;
  --reverie-gradient: linear-gradient(110deg, #07434d 0%, #163b42 38%, #000 100%);
  --case-rule: #dfe5e5;
  --case-muted: #777;
  background: #fff;
  color: #242424;
}
.bentley-page .case-intro { padding-top: 30px; }
.reverie-cover {
  color: var(--reverie-teal);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  text-align: center;
  margin-top: 30px;
  min-height: clamp(300px, 34vw, 450px);
  padding: 50px 20px;
  background: #fff;
}
.reverie-kicker, .reverie-subtitle { margin: 0; font-size: 11px; font-weight: 300; line-height: 1.6; letter-spacing: .2em; }
.reverie-cover h1 { margin: 0; padding-left: .09em; font-size: clamp(42px, 8.6vw, 120px); font-weight: 300; line-height: 1; letter-spacing: .09em; }
.bentley-page .case-hero { margin: 12px 0 0; }
.reverie-heading { margin: 0 0 32px; }
.reverie-heading .case-eyebrow { margin: 0 0 16px; color: var(--reverie-teal); }
.reverie-heading h2, .reverie-sanctuary h2, .reverie-detail h2 { margin: 0; font-size: clamp(21px, 3vw, 38px); font-weight: 300; line-height: 1.18; letter-spacing: .015em; }
.reverie-users {
  color: #242424;
  margin-top: clamp(56px, 7vw, 100px);
  padding: clamp(28px, 4vw, 56px) 0;
  text-align: left;
  background: #fff;
}
.reverie-users .reverie-heading .case-eyebrow { color: var(--reverie-teal); }
.user-portraits {
  display: grid;
  grid-template-columns: 635fr 927fr 941fr;
  align-items: center;
  max-width: 950px;
  margin: 0 auto;
  background: #fff;
}
.bentley-page .user-portraits img { width: 100%; height: auto; }
.reverie-polarity { margin: 24px 0 clamp(56px, 7vw, 100px); padding: clamp(20px, 3.5vw, 48px) 0; background: #fff; }
.polarity-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.bentley-page .polarity-pair figcaption { padding: 0 0 18px; color: var(--reverie-teal); font-size: clamp(10px, 1.2vw, 14px); font-weight: 300; letter-spacing: .1em; }
.bentley-page .polarity-pair figure:last-child figcaption { justify-content: flex-end; text-align: right; }
.reverie-exploration { padding-bottom: clamp(56px, 7vw, 100px); }
.direction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: end; }
.direction-grid .image-link { background: #080808; }
.bentley-page .direction-grid img { height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
.direction-grid figcaption { color: #555; }
.exploration-disclosure { margin-top: 34px; border-top: 1px solid var(--case-rule); border-bottom: 1px solid var(--case-rule); }
.exploration-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; min-height: 60px; padding: 16px 0; font-size: 10px; letter-spacing: .1em; }
.exploration-disclosure summary::-webkit-details-marker { display: none; }
.exploration-disclosure summary:focus-visible { outline: 2px solid var(--reverie-teal); outline-offset: 4px; }
.exploration-disclosure > .image-link { margin-bottom: 24px; }
.disclosure-icon { font-family: Arial, sans-serif; font-size: 22px; font-weight: 300; }
.exploration-disclosure[open] .disclosure-icon { transform: rotate(45deg); }
.reverie-sanctuary { display: flex; flex-direction: column; justify-content: center; gap: 18px; min-height: 210px; padding: 42px 0; text-align: left; color: #242424; background: #fff; }
.reverie-sanctuary .case-eyebrow { margin: 0; color: var(--reverie-teal); }
.reverie-gallery { display: grid; gap: 16px; margin-top: 16px; }
.reverie-motion { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.reverie-detail { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(36px, 7vw, 110px); align-items: center; padding: clamp(48px, 7vw, 96px) 0; }
.reverie-detail-copy .case-eyebrow { margin: 0 0 28px; color: var(--reverie-teal); font-size: 10px; }
.reverie-detail-copy > p { font-size: 12px; }
.reverie-detail .case-priorities { gap: 12px 24px; }
.bentley-page .case-colophon { padding: 24px 0 40px; }
.bentley-page h1, .bentley-page h2 { color: var(--reverie-teal); }
@supports (background-clip: text) or (-webkit-background-clip: text) {
  .reverie-cover h1, .reverie-heading h2, .reverie-sanctuary h2, .reverie-detail h2 {
    background: var(--reverie-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
}
@media (forced-colors: active) {
  .bentley-page h1, .bentley-page h2 { background: none; color: CanvasText; }
}
@media (max-width: 760px) {
  .reverie-cover { min-height: 290px; gap: 18px; }
  .reverie-cover h1 { font-size: clamp(36px, 8.8vw, 68px); }
  .reverie-kicker, .reverie-subtitle { font-size: 9px; letter-spacing: .13em; }
  .reverie-users { padding: 28px 0; }
  .reverie-heading { margin-bottom: 24px; }
  .reverie-polarity { padding: 24px 0; }
  .direction-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .bentley-page .direction-grid img { aspect-ratio: 3 / 2; max-height: 410px; }
  .reverie-sanctuary { min-height: 180px; }
  .reverie-gallery, .reverie-motion { gap: 8px; }
  .reverie-detail { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .reverie-detail-copy { grid-row: 1; }
  .reverie-detail figure { max-width: 520px; }
}
@media (max-width: 440px) {
  .bentley-page .shell { width: calc(100% - 32px); }
  .user-portraits { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: 4px; }
  .polarity-pair { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .bentley-page .polarity-pair figure:last-child figcaption { justify-content: flex-start; text-align: left; }
  .reverie-motion { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}

/* Short narrative passages preserve the image-led presentation. */
.bentley-page .reverie-story { max-width:620px; margin:22px 0 0; font-size:clamp(14px,1.15vw,17px); line-height:1.8; font-weight:400; color:#585f60; }
.bentley-page .reverie-sanctuary .reverie-story { margin-top:4px; }
.bentley-page .reverie-detail-copy > p:not(.case-eyebrow) { max-width:420px; font-size:clamp(14px,1.15vw,17px); line-height:1.8; color:#585f60; }
.reverie-story-break { margin:0; padding:clamp(40px,6vw,80px) 0 24px; }
.reverie-story-ending { padding-bottom:clamp(40px,6vw,80px); }

/* Visual narrative: short labels, line icons and looping diagrams. */
.bentley-page .reverie-short { margin:20px 0 0; color:#647274; font-size:clamp(14px,1.15vw,17px); line-height:1.7; }
.reverie-cues { list-style:none; margin:26px 0 34px; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.reverie-cues li { display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; color:var(--reverie-teal); }
.reverie-cues svg { width:90px; height:90px; }
.reverie-cues span { font-size:12px; letter-spacing:.04em; }
.reverie-design-cues { width:min(100%,720px); margin-top:16px; margin-bottom:0; }
.reverie-design-cues li { align-items:flex-start; text-align:left; }
.reverie-design-cues svg { width:64px; height:64px; }
.reverie-diagram { margin:28px 0 36px; background:#f7f9f8; padding:clamp(12px,2vw,24px); }
.bentley-page .reverie-diagram img { display:block; width:100%; max-width:720px; height:auto; margin:0 auto; }
.bentley-page .reverie-diagram figcaption { display:block; text-align:center; justify-content:center; padding:8px 0 4px; color:#647274; font-size:12px; letter-spacing:.03em; }
.reverie-detail-copy .reverie-diagram { margin:28px 0 0; }
.reverie-motion-control { display:flex; justify-content:flex-end; margin:24px 0; }
.reverie-motion-control button { background:transparent; border:1px solid #c9d5d5; color:#07434d; padding:10px 16px; font:inherit; font-size:12px; cursor:pointer; }
.reverie-motion-control button:focus-visible { outline:2px solid #07434d; outline-offset:4px; }
@media(max-width:540px) { .reverie-cues { gap:12px; } .reverie-cues svg { width:64px; height:64px; } .reverie-cues span { font-size:11px; } .reverie-design-cues svg { width:48px; height:48px; } }

/* Center the presentation copy; preserve the identity detail's left alignment. */
.bentley-page .project-opening-title,
.bentley-page .reverie-heading,
.bentley-page .reverie-sanctuary { text-align:center; align-items:center; }
.bentley-page .reverie-heading > p,
.bentley-page .reverie-sanctuary > p { margin-left:auto; margin-right:auto; }
.bentley-page .reverie-design-cues { margin-left:auto; margin-right:auto; }
.bentley-page .reverie-design-cues li { align-items:center; text-align:center; }
.bentley-page .polarity-pair figcaption,
.bentley-page .polarity-pair figure:last-child figcaption,
.bentley-page .direction-grid figcaption { text-align:center; justify-content:center; }
.bentley-page .reverie-detail-copy { text-align:left; }
.bentley-page .reverie-detail-copy .reverie-diagram figcaption { text-align:left; }
.bentley-page .reverie-detail > figure > figcaption { text-align:left; }
.bentley-page .reverie-diagram img { max-width:900px; }
.bentley-page .reverie-cues svg { stroke-width:1.7; }
