/* Photo-led hospitality editorial. Inherits the official resource palette and type. */
.rr-case { --case-accent: #d8326b; }
.rr-case .rr-breadcrumb, .rr-case .rr-resource-terms { color: var(--rr-muted); }
.rr-case .case-model-label { margin-top: 48px; padding: 14px 20px; background: var(--rr-soft); border-left: 3px solid var(--rr-pink); font-size: 13px; color: #7c2845; font-weight: 600; }
.rr-case .rr-resource-prose .case-model-label + h2 { margin-top: 20px; }
.rr-case .case-hero { padding: 25px 0 0; }
.rr-case .case-kicker { display: flex; align-items: center; gap: 12px; }
.rr-case .case-kicker::before { content: ""; width: 24px; height: 2px; background: var(--rr-pink); }
.rr-case .case-hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 54px; padding-bottom: 54px; }
.rr-case .case-hero h1 { font-size: clamp(38px, 4.5vw, 65px); line-height: 1.07; letter-spacing: -.055em; margin: 20px 0 26px; }
.rr-case .case-deck { font-size: 18px; line-height: 1.65; color: var(--rr-muted); max-width: 490px; }
.rr-case .case-photo { margin: 0; position: relative; }
.rr-case .case-photo img { width: 100%; aspect-ratio: 4 / 4.4; height: auto; object-fit: cover; border-radius: 100px 3px 3px 3px; background: #e8ded5; }
.rr-case .case-photo figcaption { position: absolute; bottom: 25px; left: -25px; max-width: calc(100% - 8px); padding: 20px 26px; background: var(--rr-soft); color: var(--rr-ink); line-height: 1.5; border-left: 3px solid var(--rr-pink); }
.rr-case .case-photo figcaption strong { display: block; font: 750 20px/1.4 "Manrope", sans-serif; letter-spacing: -.04em; }
.rr-case .case-photo figcaption span { font-size: 12px; }
.rr-case .case-hero-actions { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; margin: 26px 0 12px; }
.rr-case .case-text-link { font-size: 13px; text-decoration: underline; text-underline-offset: 5px; }
.rr-case .case-stats { display: grid; grid-template-columns: 1.1fr 1fr 1fr; border-top: 1px solid var(--rr-line); border-bottom: 1px solid var(--rr-line); padding: 30px 0; gap: 30px; margin: 0; list-style: none; }
.rr-case .case-stats li + li { border-left: 1px solid var(--rr-line); padding-left: 32px; }
.rr-case .case-stats strong { font: 750 clamp(40px, 4vw, 62px)/1.15 "Manrope", sans-serif; letter-spacing: -.06em; display: block; color: var(--rr-pink); }
.rr-case .case-stats span { font-size: 13px; }
.rr-case .case-evidence { color: var(--rr-muted); font-size: 12px; line-height: 1.7; margin: 14px 0 0; max-width: 820px; }
.rr-case .case-layout { display: grid; grid-template-columns: 235px minmax(0, 720px); justify-content: space-between; gap: 60px; padding-block: 64px 80px; }
.rr-case .case-aside { position: sticky; top: 28px; align-self: start; font-size: 13px; }
.rr-case .case-aside nav { margin: 20px 0 28px; }
.rr-case .case-aside nav a { display: block; border-bottom: 1px solid var(--rr-line); padding: 11px 0; line-height: 1.5; color: var(--rr-muted); }
.rr-case .case-aside nav a:hover { color: var(--rr-pink); }
.rr-case .case-aside dl { margin-block: 24px; }
.rr-case .case-aside dt { text-transform: uppercase; font-size: 10px; letter-spacing: .1em; color: var(--rr-muted); margin-top: 18px; }
.rr-case .case-aside dd { margin: 3px 0 0; }
.rr-case .case-aside .rr-button { font-size: 12px; }
.rr-case .case-story { min-width: 0; }
.rr-case .case-story > p:first-child { font-size: 20px; line-height: 1.75; color: var(--rr-ink); }
.rr-case .case-study-note { background: var(--rr-soft); padding: 24px; border-left: 3px solid var(--rr-pink); line-height: 1.65; }
.rr-case .case-study-note small { font-size: 13px; }
.rr-case .case-source { border-top: 1px solid var(--rr-line); margin-top: 34px; padding-top: 24px; font-size: 13px; color: var(--rr-muted); }
.rr-resource .case-collection { border-top: 1px solid var(--rr-line); padding: 48px 0; }
.rr-resource .case-collection h2 { font: 750 clamp(30px, 3.5vw, 46px)/1.17 "Manrope", sans-serif; letter-spacing: -.05em; margin: 0 0 18px; max-width: 740px; }
.rr-resource .case-collection-intro { max-width: 720px; color: var(--rr-muted); margin: 0 0 30px; }
.rr-resource .case-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 26px; list-style: none; padding: 0; margin: 0; }
.rr-resource .case-card { display: block; height: 100%; border-bottom: 1px solid var(--rr-line); padding-bottom: 22px; text-decoration: none; }
.rr-resource .case-card-image { overflow: hidden; background: #e8ded5; margin-bottom: 17px; position: relative; }
.rr-resource .case-card img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .4s ease; }
.rr-resource .case-card:hover img { transform: scale(1.025); }
.rr-resource .case-card-type { color: var(--rr-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; display: block; }
.rr-resource .case-card h3 { font: 750 23px/1.3 "Manrope", sans-serif; letter-spacing: -.04em; margin: 8px 0; }
.rr-resource .case-card p { margin: 0 0 16px; font-size: 13px; color: var(--rr-muted); }
.rr-resource .case-card-bottom { display: flex; justify-content: space-between; align-items: center; gap: 15px; font-size: 12px; color: #af2251; font-weight: 700; }
.rr-case .case-next { background: var(--rr-soft); padding-block: 64px; }
.rr-case .case-next-grid { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 50px; }
.rr-case .case-next h2 { font: 750 clamp(32px, 4vw, 54px)/1.15 "Manrope", sans-serif; letter-spacing: -.05em; max-width: 680px; margin-bottom: 20px; }
.rr-case .case-next p { max-width: 650px; color: var(--rr-muted); }
.rr-case .case-next .rr-resource-terms { max-width: 290px; }
@media (prefers-reduced-motion: no-preference) { .rr-case .case-hero-grid { animation: rr-resource-arrive .6s ease both; } }
@media (max-width: 1000px) { .rr-case .case-hero-grid { gap: 30px; } .rr-case .case-layout { gap: 35px; grid-template-columns: 200px minmax(0, 1fr); } }
@media (max-width: 767px) {
  .rr-case .case-hero-grid, .rr-case .case-layout, .rr-case .case-next-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .rr-case .case-hero h1 { font-size: clamp(37px, 9vw, 58px); }
  .rr-case .case-deck { font-size: 16px; }
  .rr-case .case-photo { margin-left: 14px; }
  .rr-case .case-photo img { aspect-ratio: 1.2; border-top-left-radius: 65px; }
  .rr-case .case-photo figcaption { left: -14px; bottom: 18px; padding: 14px 18px; }
  .rr-case .case-stats { grid-template-columns: minmax(0, 1fr); gap: 18px; padding-block: 22px; }
  .rr-case .case-stats li { display: flex; align-items: center; gap: 20px; }
  .rr-case .case-stats li + li { padding: 16px 0 0; border-left: 0; border-top: 1px solid var(--rr-line); }
  .rr-case .case-stats strong { font-size: 43px; min-width: 90px; }
  .rr-case .case-aside { position: static; }
  .rr-case .case-aside dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; }
  .rr-case .case-aside dl div { padding-right: 12px; }
  .rr-case .case-layout { padding-block: 32px 45px; }
  .rr-case .case-story > p:first-child { font-size: 18px; }
  .rr-resource .case-cards { grid-template-columns: minmax(0, 1fr); }
  .rr-case .case-next { padding-block: 45px; }
}
