/* Codex — preserve the association's original lettering and panoramic opening. */
.rh-photo-hero {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(520px, 70vh, 760px);
  overflow: hidden;
  color: #fff;
  background: #405848;
}
.rh-photo-background,.rh-photo-shade {position:absolute;inset:0;width:100%;height:100%}
.rh-photo-background {display:block;object-fit:cover;object-position:50% 50%}
.rh-photo-shade {background:linear-gradient(180deg,rgba(12,25,17,.12),rgba(12,25,17,.24) 55%,rgba(12,25,17,.44))}
.rh-photo-content {position:relative;z-index:1;text-align:center;width:min(860px,100%);padding:25px 20px 65px}
.rh-main .rh-photo-title {position:relative;width:min(740px,100%);height:230px;margin:0 auto;line-height:1}
.rh-photo-title img {position:absolute;display:block;width:100%;height:auto;max-width:100%;top:50%;left:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 3px 12px rgba(0,0,0,.25))}
.rh-main .rh-photo-caption {font-size:clamp(15px,1.3vw,19px);font-weight:500;letter-spacing:.14em;line-height:1.9;text-shadow:0 2px 10px rgba(0,0,0,.6);margin-top:20px}
.rh-photo-scroll {position:absolute;z-index:1;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:20px;white-space:nowrap;font-size:10px;letter-spacing:.1em;color:#fff!important}
.rh-photo-scroll>span:last-child {display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff80;border-radius:50%;font-size:16px}
.rh-intro {display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:center;padding-block:76px 82px;scroll-margin-top:24px}
.rh-intro h2 {margin-top:14px;font-size:clamp(25px,2.4vw,34px);line-height:1.8}
.rh-intro-details>p:first-child {font-size:13px;line-height:2.15;color:#53635a}
.rh-intro .rh-actions {gap:20px 25px;margin-top:25px}
@media(max-width:1000px) {
  .rh-photo-hero {min-height:clamp(440px,65vw,600px)}
  .rh-intro {grid-template-columns:1fr;gap:25px;padding-block:58px 64px}
  .rh-intro h2 br {display:none}
}
@media(max-width:760px) {
  .rh-photo-hero {min-height:clamp(280px,90vw,440px)}
  .rh-photo-background {object-position:30% 50%}
  .rh-photo-content {padding:10px 8px 60px}
  .rh-main .rh-photo-title {height:145px;width:100%}
  .rh-main .rh-photo-caption {font-size:13px;letter-spacing:.12em;margin-top:15px}
  .rh-photo-scroll {bottom:22px;font-size:9px;gap:14px}
  .rh-intro {padding-block:44px 52px;gap:23px}
  .rh-intro h2 {font-size:clamp(23px,6vw,29px);margin-top:12px;line-height:1.8}
  .rh-intro h2 br {display:block}
  .rh-intro-details>p:first-child {font-size:12px;line-height:2.1}
  .rh-intro .rh-actions {align-items:flex-start;flex-direction:column;gap:17px}
}
@media(max-width:360px) {
  .rh-photo-content {padding-inline:0}
  .rh-main .rh-photo-title {height:124px}
  .rh-main .rh-photo-caption {font-size:12px}
  .rh-intro h2 {font-size:21px}
}
