/* Phone layout, loaded after the original landing page stylesheet. */
@media (max-width: 767px) {
  section[id] { scroll-margin-top: 64px; }
  #rr-top { padding: 9px 14px; font-size: 11px; line-height: 1.5; text-wrap: balance; }
  .section-pad { padding-top: 44px; padding-bottom: 44px; }
  .rr-hero { padding-top: 30px; padding-bottom: 40px; }
  .rr-hero .h1-display { font-size: clamp(28px, 7.7vw, 36px); line-height: 1.14; }
  .rr-hero .body-lg { font-size: 16px; line-height: 1.65; }
  .rr-hero .text-xl { font-size: 18px; line-height: 1.5; }
  .rr-hero-banner { margin-top: 22px; }
  .rr-hero-banner img { height: auto; }
  .rr-hero .mt-8 { margin-top: 22px; }
  .rr-audience h2 { font-size: clamp(29px, 8vw, 36px); line-height: 1.17; }
  #workshop-for-you article { padding: 24px 20px; }
  #workshop-for-you .rr-audience-ready li:last-child { padding: 14px 10px; gap: 10px; }
  .rr-audience-cta { padding: 17px 18px; font-size: 16px; }
  .rr-grid-2, .rr-grid-3, .rr-grid-4, .rr-coach { grid-template-columns: minmax(0, 1fr); }
  .rr-grid > *, .rr-audience-grid > *, .rr-coach > * { min-width: 0; }
  #participate.rr-passes { padding: 48px 16px; }
  .rr-section-head { margin-bottom: 26px; }
  .rr-section-head p { font-size: 11px; letter-spacing: .18em; }
  .rr-section-head h2 { font-size: clamp(31px, 8.7vw, 42px); line-height: 1.1; }
  .rr-section-head span { font-size: 14px; line-height: 1.6; }
  .rr-booking-countdown { gap: 18px; padding: 22px 14px; margin-bottom: 24px; }
  .rr-booking-countdown h3 { font-size: 18px; line-height: 1.45; }
  .rr-booking-countdown p { font-size: 12px; line-height: 1.7; }
  .rr-timer-digits, .rr-countdown {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px; width: 100%; max-width: 340px; margin-left: auto; margin-right: auto;
  }
  .rr-timer-digits > div, .rr-countdown > div { min-width: 0; }
  .rr-timer-digits strong, .rr-countdown strong {
    display: block; min-width: 0; width: 100%; padding: 12px 4px;
    font-size: clamp(22px, 6.5vw, 28px); line-height: 1.2;
    font-variant-numeric: tabular-nums;
  }
  .rr-timer-digits span, .rr-countdown span { font-size: 9px; letter-spacing: .5px; }
  .rr-pass-grid { width: 100%; max-width: 480px; gap: 22px; }
  .rr-pass-card { display: flex; flex-direction: column; padding: 0 18px 20px; }
  .rr-pass-banner { margin: 0 -18px 20px; aspect-ratio: 1.65; }
  .rr-pass-banner h3 { font-size: clamp(42px, 12vw, 56px); }
  .rr-pass-banner strong { font-size: 28px; line-height: 1.3; }
  .rr-old-price { font-size: 16px; }
  .rr-pass-card ul { gap: 11px; margin-bottom: 22px; }
  .rr-pass-card li { font-size: 15px; line-height: 1.55; }
  .rr-pass-card > a { min-height: 54px; margin-top: auto; padding: 14px 10px; }
  .rr-booking-help { font-size: 13px; line-height: 1.8; }
  .rr-photo-rail, .rr-recognition-gallery { overscroll-behavior-x: contain; }
  .rr-rail-img { width: min(78vw, 300px); height: auto; aspect-ratio: 30 / 23; }
  #awards { padding-top: 52px; padding-bottom: 52px; }
  #awards .rr-achievements-expanded { grid-template-columns: minmax(0, 1fr); max-width: 430px; margin-left: auto; margin-right: auto; gap: 18px; }
  #awards .rr-achievements-expanded figcaption { font-size: 13px; padding: 12px 6px 6px; }
  #contact { padding: 44px 16px; }
  #contact > div { padding: 26px 16px; }
  #contact .body-lg { font-size: 16px; }
  #contact .mt-6 a, .rr-legal-footer nav a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
  summary { min-height: 48px; }
  .rr-legal-footer { padding: 36px 20px calc(120px + env(safe-area-inset-bottom, 0px)); }
  .rr-legal-footer a { overflow-wrap: anywhere; }
  .rr-legal-footer nav { gap: 4px 20px; }
  #rr-sticky { padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)); }
  #rr-sticky > div { padding-right: 62px; }
  .rr-sticky-cta { height: 48px; min-width: 0; padding: 0 10px; font-size: 15px; }
  #rr-sticky > p { margin-top: 6px; font-size: 10px; line-height: 16px; white-space: nowrap; }
  .rr-whatsapp-chat {
    width: 50px; height: 50px; padding: 0; right: 12px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    justify-content: center; border-radius: 50%;
  }
  .rr-whatsapp-chat > span { display: none; }
  .rr-whatsapp-chat svg { width: 25px; height: 25px; }
  .rr-booking-visible .rr-whatsapp-chat { bottom: calc(31px + env(safe-area-inset-bottom, 0px)); }
  a, summary { -webkit-tap-highlight-color: #c91d2826; touch-action: manipulation; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  #rr-sticky, .rr-whatsapp-chat, .lift, .rr-pass-card > a { transition: none; }
}

/* Separate the category artwork from the price so neither can collide. */
#participate .rr-pass-card {
  --rr-card-pad: 22px;
  display: flex; flex-direction: column; min-width: 0;
  padding: 0 var(--rr-card-pad) 22px; border-radius: 16px;
  border-color: #ffffff26; background: #111113;
  box-shadow: 0 12px 32px #0003;
}
#participate .rr-pass-banner {
  flex: none; aspect-ratio: 2 / 1;
  margin: 0 calc(-1 * var(--rr-card-pad));
  border-bottom: 1px solid #ffffff12;
}
#participate .rr-pass-banner > div { width: 84%; transform: translateY(-3px); }
#participate .rr-pass-banner span { font-size: 10px; line-height: 1.4; letter-spacing: .22em; }
#participate .rr-pass-banner h3 { font-size: 48px; line-height: 1; margin: 7px 0 0 !important; letter-spacing: .025em; }
#participate .rr-pass-pricing {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 22px 0 16px; margin-bottom: 0;
}
#participate .rr-pass-price { min-width: 0; }
#participate .rr-pass-price strong {
  display: block; color: #fff; font: 800 30px/1.25 Poppins, sans-serif;
  letter-spacing: -.8px; white-space: nowrap; font-variant-numeric: lining-nums;
}
#participate .rr-pass-price .rr-old-price { font-size: 14px; line-height: 1.4; margin-bottom: 5px; color: #aaa; letter-spacing: 0; }
#participate .rr-pass-unit { display: block; margin-top: 4px; font-size: 11px; line-height: 1.5; color: #b5b5bd; }
#participate .rr-pass-discount {
  flex: none; padding: 8px 10px; border-radius: 8px; border: 1px solid #ef55584d;
  background: #e52d3214; color: #ffb3b6; font-size: 12px; line-height: 1.4; font-weight: 700; text-align: center;
}
#participate .rr-pass-discount small { display: block; margin-top: 3px; font-size: 8px; font-weight: 600; letter-spacing: .6px; }
#participate .rr-pass-card ul { grid-template-columns: 1fr; gap: 10px; margin: 0; }
#participate .rr-pass-card li { padding-left: 22px; font-size: 14px; line-height: 1.65; color: #ddd !important; }
#participate .rr-pass-card > a {
  flex: none; min-height: 52px; margin: 0 0 22px; padding: 12px 10px;
  font-size: 14px; line-height: 1.4; letter-spacing: 0; border-radius: 10px;
  box-shadow: 0 6px 18px #e1060018;
}
#participate .rr-pass-card > a:after { font-size: 20px; line-height: 1; }
@media (max-width: 767px) {
  #participate .rr-pass-card { --rr-card-pad: 20px; }
  #participate .rr-pass-banner h3 { font-size: 44px; }
  #participate .rr-pass-price strong { font-size: 30px; }
  #participate .rr-pass-pricing { padding: 20px 0 16px; margin-bottom: 0; }
  #participate .rr-pass-card > a { min-height: 52px; }
}
@media (max-width: 359px) {
  #participate .rr-pass-card { --rr-card-pad: 16px; }
  #participate .rr-pass-price strong { font-size: 26px; }
  #participate .rr-pass-discount { padding: 7px; font-size: 10px; }
  #participate .rr-pass-banner h3 { font-size: 38px; }
}

/* Seating is the first benefit on each ticket. */
#participate .rr-pass-card .rr-pass-seating { padding-bottom: 12px; margin-bottom: 2px; border-bottom: 1px solid #ffffff12; }
#participate .rr-pass-seating b { display: block; color: #fff; font-weight: 600; }
#participate .rr-pass-seating span { display: block; margin-top: 3px; color: #bfbfc7; font-size: 13px; line-height: 1.5; }

/* Reserve video dimensions so loading the player cannot shift the hero CTA. */
.rr-hero-video { background: #111; }
.rr-hero-video video:focus-visible { outline: 3px solid #bd2931; outline-offset: -3px; }
.rr-hero-video video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0; }
.rr-hero-video-note { max-width: 896px; margin: 12px auto 0; padding: 0 4px; text-align: center; font-size: 12px; line-height: 1.65; color: #656565; }
.rr-hero-video-note strong { display: block; color: #a51923; font-weight: 600; margin-bottom: 3px; }
.rr-hero-video-note a { display: inline-block; color: #a51923; text-decoration: underline; text-underline-offset: 3px; padding: 5px 0; }
@media (max-width: 767px) { .rr-hero-video-note { font-size: 11px; } .rr-hero-video-note a { min-height: 44px; display: inline-flex; align-items: center; } }

.rr-video-unmute { position:absolute; left:16px; top:16px; z-index:2; min-height:44px; padding:10px 16px; border:1px solid #ffffff80; border-radius:999px; background:#111e; color:#fff; font-size:14px; font-weight:600; cursor:pointer; box-shadow:0 2px 12px #0003; }
.rr-video-unmute[hidden] { display:none; }
.rr-video-unmute:focus-visible { outline:3px solid #bd2931; outline-offset:3px; }

/* Explain the next action before visitors choose a pass. */
.rr-viewing-tickets .rr-whatsapp-chat, .rr-viewing-venue .rr-whatsapp-chat, .rr-viewing-written-reviews .rr-whatsapp-chat { visibility: hidden; pointer-events: none; }
#participate .rr-ticket-instruction { margin: 14px auto; max-width: 540px; font-size: 16px; line-height: 1.6; letter-spacing: 0; text-transform: none; color: #ddd; }
@media (max-width: 767px) { .rr-sticky-cta { font-size: 14px; } }

/* Display-only demo countdown, clearly separated from the payable offer prices. */
#participate [hidden] { display: none !important; }
#participate .rr-old-price { display: block; }
.rr-offer { max-width: 1200px; margin: 0 auto 28px; padding: 24px 28px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid #dfae5c70; border-radius: 14px; background: linear-gradient(110deg,#2a2013,#171419); color: #fff; }
.rr-offer-eyebrow { color: #efd2a0; font: 700 11px/1.5 Poppins,sans-serif; letter-spacing: .13em; }
.rr-offer h3 { margin: 7px 0; font: 700 23px/1.4 Poppins,sans-serif; }
.rr-offer p { margin: 0; max-width: 580px; font-size: 13px; line-height: 1.7; color: #d0c7bd; }
.rr-offer-clock { flex: none; text-align: center; min-width: 116px; padding: 10px 16px; background: #0005; border: 1px solid #ffffff18; border-radius: 10px; }
.rr-offer-clock span { display: block; color: #d6c4a8; font-size: 11px; }
.rr-offer-clock strong { display: block; font: 700 32px/1.4 Poppins,sans-serif; font-variant-numeric: tabular-nums; }
.rr-offer-ended { border-color: #ffffff26; background: #161619; }
#rr-checkout-message { max-width: 1200px; margin: 0 auto 18px; font-size: 14px; line-height: 1.7; color: #ffe0ad; }
#participate .rr-pass-card > a[aria-disabled="true"] { opacity: .65; cursor: wait; }
@media(max-width:767px) {
  .rr-offer { padding: 18px; gap: 14px; flex-wrap: wrap; margin-bottom: 22px; }
  .rr-offer h3 { font-size: 20px; }
  .rr-offer-clock { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 7px 14px; }
  .rr-offer-clock strong { font-size: 28px; }
  #participate .rr-pass-discount { font-size: 11px; padding: 8px; }
}

/* Actual Holiday Inn photography in a responsive editorial gallery. */
#venue.rr-venue-premium {
  padding: 76px 28px 54px; scroll-margin-top: 70px;
  background: radial-gradient(ellipse at 8% 0%, #4b362324, transparent 58%), #141210;
  border-top: 1px solid #c6a06b38; border-bottom: 1px solid #c6a06b38;
  color: #f5eee3;
}
.rr-venue-wrap { max-width: 1184px; margin: 0 auto; }
.rr-venue-heading { display: grid; grid-template-columns: 1.3fr 1fr; align-items: end; gap: 40px; margin-bottom: 32px; }
.rr-venue-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 19px; color: #d4b483; font: 600 10px/1.5 Poppins,sans-serif; letter-spacing: .2em; }
.rr-venue-kicker > span { width: 28px; height: 1px; background: currentColor; }
#rr-venue-title { margin: 0; font: 400 clamp(44px,5.2vw,68px)/1.05 Georgia,'Times New Roman',serif; letter-spacing: -.035em; color: #f8efde; }
#rr-venue-title > span { display: block; margin-top: 12px; color: #d1ae79; font: 400 clamp(18px,2.3vw,27px)/1.35 Poppins,sans-serif; letter-spacing: -.02em; }
.rr-venue-intro { max-width: 400px; justify-self: end; }
.rr-venue-intro p { margin: 0; color: #bfb7ad; font-size: 13px; line-height: 1.8; }
.rr-venue-intro .rr-venue-tagline { margin-bottom: 11px; color: #eee2d0; font: 400 25px/1.3 Georgia,'Times New Roman',serif; }
.rr-venue-gallery { display: grid; grid-template-columns: 1.62fr 1fr; grid-template-rows: repeat(2,220px); gap: 12px; }
.rr-venue-photo { position: relative; isolation: isolate; overflow: hidden; min-width: 0; margin: 0; border: 1px solid #d6b58138; border-radius: 4px; background: #332b20; }
.rr-venue-photo-main { grid-row: span 2; }
.rr-venue-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rr-venue-photo:after { content: ''; position: absolute; inset: 25% 0 0; background: linear-gradient(transparent 25%,#100c08c9); pointer-events: none; }
.rr-venue-photo figcaption { position: absolute; bottom: 20px; left: 22px; right: 18px; z-index: 1; }
.rr-venue-photo figcaption span { display: block; color: #f4dab1; font: 600 9px/1.6 Poppins,sans-serif; letter-spacing: .12em; }
.rr-venue-photo figcaption strong { display: block; margin-top: 6px; color: #fff7ed; font: 400 20px/1.3 Georgia,'Times New Roman',serif; text-shadow: 0 1px 10px #0008; }
.rr-venue-photo-main figcaption { bottom: 27px; left: 30px; }
.rr-venue-photo-main figcaption strong { font-size: clamp(24px,2.5vw,32px); max-width: 420px; }
.rr-venue-details { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 28px 0; border-bottom: 1px solid #c6a06b2b; }
.rr-venue-address { display: flex; gap: 15px; min-width: 0; }
.rr-venue-address svg { flex: none; color: #cfad7a; margin-top: 4px; }
.rr-venue-address strong { display: block; font-size: 14px; line-height: 1.6; color: #f2e7d5; font-weight: 600; }
.rr-venue-address p { margin: 4px 0 8px; font-size: 12px; line-height: 1.7; color: #bdb4a8; }
.rr-venue-address span { display: block; font-size: 11px; line-height: 1.8; color: #d2b88f; }
.rr-venue-address i { margin: 0 8px; font-style: normal; }
.rr-venue-actions { display: flex; align-items: center; gap: 10px; flex: none; }
.rr-venue-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 15px; min-height: 48px; padding: 12px 18px; border-radius: 3px; font: 600 12px/1.4 Poppins,sans-serif; text-decoration: none; }
.rr-venue-actions a span { font-size: 20px; line-height: 1; }
.rr-venue-directions { border: 1px solid #c9a16b66; color: #e7cc9f; background: transparent; }
.rr-venue-tickets { border: 1px solid #e2bb7d; background: #dfbb82; color: #241b10; }
.rr-venue-directions:hover { background: #c9a16b14; }
.rr-venue-tickets:hover { background: #f0d2a1; }
.rr-venue-premium a:focus-visible { outline: 2px solid #f5d6a4; outline-offset: 4px; }
.rr-venue-credit { display: flex; justify-content: space-between; gap: 8px 24px; margin: 16px 0 0; color: #a89f93; font-size: 10px; line-height: 1.7; }
.rr-venue-credit a { color: #bfa780; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1000px) {
  .rr-venue-details { align-items: start; flex-direction: column; gap: 20px; }
  .rr-venue-gallery { grid-template-rows: repeat(2,190px); }
}
@media (max-width: 767px) {
  #venue.rr-venue-premium { padding: 44px 18px 32px; scroll-margin-top: 60px; }
  .rr-venue-heading { grid-template-columns: minmax(0,1fr); gap: 22px; margin-bottom: 25px; }
  .rr-venue-kicker { font-size: 9px; margin-bottom: 16px; }
  #rr-venue-title { font-size: 43px; }
  #rr-venue-title > span { margin-top: 9px; font-size: 20px; }
  .rr-venue-intro { justify-self: start; max-width: 470px; }
  .rr-venue-intro .rr-venue-tagline { font-size: 23px; margin-bottom: 9px; }
  .rr-venue-intro p { font-size: 12px; line-height: 1.8; }
  .rr-venue-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: auto auto; gap: 12px; }
  .rr-venue-photo-main { grid-row: auto; grid-column: 1/-1; aspect-ratio: 4/3; }
  .rr-venue-photo:not(.rr-venue-photo-main) { aspect-ratio: 1/1.1; }
  .rr-venue-photo figcaption { left: 11px; right: 8px; bottom: 12px; }
  .rr-venue-photo figcaption span { font-size: 8px; letter-spacing: .06em; }
  .rr-venue-photo figcaption strong { font-size: 16px; line-height: 1.25; margin-top: 4px; }
  .rr-venue-photo-main figcaption { left: 19px; bottom: 21px; right: 18px; }
  .rr-venue-photo-main figcaption strong { max-width: 270px; font-size: 26px; }
  .rr-venue-details { padding: 23px 0; gap: 21px; }
  .rr-venue-address { gap: 11px; }
  .rr-venue-address svg { width: 22px; }
  .rr-venue-address strong { font-size: 13px; }
  .rr-venue-address p { font-size: 11px; }
  .rr-venue-address span { font-size: 10px; }
  .rr-venue-address i { margin: 0 4px; }
  .rr-venue-actions { display: grid; grid-template-columns: 1fr; width: 100%; gap: 10px; }
  .rr-venue-actions a { font-size: 13px; min-height: 49px; }
  .rr-venue-tickets { grid-row: 1; }
  .rr-venue-credit { flex-direction: column; font-size: 9px; gap: 0; }
  .rr-venue-credit a { align-self: start; min-height: 44px; display: inline-flex; align-items: center; }
}

/* Client review films: swipe to browse, tap to watch. */
#client-reviews { padding: 74px 28px 64px; scroll-margin-top: 66px; background: radial-gradient(ellipse at 0 0,#46322038,transparent 65%),#11110f; color: #f7f0e5; border-block: 1px solid #d0ad7230; }
.rr-reviews-wrap { max-width: 1184px; margin: auto; }
.rr-reviews-heading { display: flex; justify-content: space-between; align-items: end; gap: 34px; margin-bottom: 34px; }
.rr-reviews-kicker { display: flex; align-items: center; gap: 11px; margin: 0 0 17px; color: #d3b582; font-size: 10px; letter-spacing: .2em; font-weight: 600; }
.rr-reviews-kicker:before { content: ''; width: 28px; height: 1px; background: currentColor; }
#rr-reviews-title { margin: 0; font: 400 clamp(36px,4.3vw,55px)/1.12 Georgia,serif; letter-spacing: -.035em; color: #f7f0e5; }
#rr-reviews-title em { font-weight: 400; color: #d7b47d; }
.rr-reviews-description { max-width: 330px; padding-bottom: 3px; }
.rr-reviews-description p { margin: 0; font-size: 13px; line-height: 1.8; color: #c4bcb0; }
.rr-reviews-description span { display: inline-flex; align-items: center; gap: 8px; margin-top: 13px; font-size: 10px; letter-spacing: .08em; color: #d8b883; }
.rr-reviews-description span:before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #d8b883; }
.rr-reviews-track { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 44px) / 3.2); gap: 20px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; padding: 3px 2px 8px; }
.rr-reviews-track::-webkit-scrollbar { display: none; }
.rr-review-card { min-width: 0; scroll-snap-align: start; border: 1px solid #d9b6783d; border-radius: 9px; overflow: hidden; background: #1d1b17; }
.rr-review-card > a { position: relative; display: block; color: inherit; text-decoration: none; }
.rr-review-poster { position: relative; aspect-ratio: 9/14; overflow: hidden; background: #2a241c; }
.rr-review-poster img { width: 100%; height: 100%; display: block; object-fit: cover; }
.rr-review-poster:after { content: ''; position: absolute; inset: 0; background: linear-gradient(#0003,transparent 35%,#0001 55%,#090704b3); pointer-events: none; }
.rr-review-film-label { position: absolute; z-index: 1; top: 16px; left: 16px; padding: 6px 10px; border: 1px solid #ffffff40; background: #111b; border-radius: 3px; color: #fff5e4; font: 600 9px/1.5 Poppins,sans-serif; letter-spacing: .1em; }
.rr-review-play { position: absolute; z-index: 1; bottom: 22px; left: 20px; display: flex; align-items: center; gap: 11px; color: #fff4df; font-size: 12px; font-weight: 600; }
.rr-review-play-icon { display: grid; place-items: center; width: 49px; height: 49px; border-radius: 50%; border: 1px solid #e3c995; background: #d5b279; color: #20170d; box-shadow: 0 4px 24px #0005; }
.rr-review-play-icon svg { width: 16px; height: 19px; margin-left: 3px; }
.rr-review-caption { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 18px 20px; }
.rr-review-caption h3 { margin: 0; color: #f7eddf; font: 500 15px/1.4 Poppins,sans-serif; }
.rr-review-caption span { flex: none; color: #c2ac88; font-size: 11px; font-variant-numeric: tabular-nums; }
.rr-review-card > a:focus-visible { outline: 3px solid #ecd5a9; outline-offset: -4px; }
.rr-review-card > a:hover .rr-review-play-icon { background: #f1d6a2; }
.rr-reviews-controls { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 21px; }
.rr-reviews-hint { color: #b5ad9f; font-size: 11px; line-height: 1.5; }
.rr-reviews-navigation { display: flex; align-items: center; gap: 12px; }
.rr-reviews-status { font-size: 11px; color: #d3b683; letter-spacing: .15em; min-width: 49px; text-align: center; font-variant-numeric: tabular-nums; }
.rr-reviews-navigation > button { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid #ccaa6e70; border-radius: 50%; background: transparent; color: #ead3ab; font-size: 23px; cursor: pointer; }
.rr-reviews-navigation > button:disabled { opacity: .3; cursor: default; }
.rr-review-dots { display: flex; gap: 3px; }
.rr-review-dot { position: relative; width: 30px; height: 44px; border: 0; background: transparent; cursor: pointer; }
.rr-review-dot:after { content: ''; display: block; width: 7px; height: 7px; margin: auto; border-radius: 50%; background: #8d837266; }
.rr-review-dot[aria-pressed="true"]:after { width: 22px; border-radius: 10px; background: #d4b077; }
.rr-reviews-controls button:focus-visible { outline: 2px solid #f4d7a0; outline-offset: 2px; }
.rr-review-open { overflow: hidden; }
.rr-review-open .rr-whatsapp-chat, .rr-review-open #rr-sticky { visibility: hidden; }
:is(#rr-review-dialog,#rr-participant-dialog) { margin: auto; width: min(470px,calc(100vw - 28px)); max-width: none; max-height: calc(100dvh - 24px); padding: 16px; border: 1px solid #d2ae6e75; border-radius: 12px; background: #151410; color: #f9efdc; overflow: auto; box-shadow: 0 25px 100px #000b; }
:is(#rr-review-dialog,#rr-participant-dialog):not([open]) { display: none; }
:is(#rr-review-dialog,#rr-participant-dialog)::backdrop { background: #090806ed; backdrop-filter: blur(8px); }
.rr-review-player-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.rr-review-player-head p { margin: 0 0 4px; font-size: 8px; color: #c7a97b; letter-spacing: .18em; }
.rr-review-player-head h3 { margin: 0; font: 500 17px/1.4 Poppins,sans-serif; color: #f9efdc; }
.rr-review-close { display: grid; place-items: center; flex: none; border: 1px solid #c5ab7b50; background: #ffffff08; color: #f9efdc; font-size: 27px; line-height: 1; width: 44px; height: 44px; border-radius: 50%; cursor: pointer; }
:is(#rr-review-dialog,#rr-participant-dialog) video { display: block; width: 100%; height: min(67dvh,660px); object-fit: contain; background: #000; border-radius: 6px; }
.rr-review-player-status { margin: 9px 0 0; font-size: 12px; color: #ddc7a3; }
.rr-review-player-status[hidden] { display: none; }
.rr-review-player-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; }
.rr-review-player-footer button { min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid #c5ab7b50; border-radius: 5px; background: #ffffff08; color: #f5dfb7; font-size: 12px; cursor: pointer; }
.rr-review-player-footer button:disabled { opacity: .35; cursor: default; }
.rr-review-player-count { color: #baa688; font-size: 11px; }
.rr-review-direct { display: flex; align-items: center; min-height: 44px; color: #d9bd90; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
:is(#rr-review-dialog,#rr-participant-dialog) :focus-visible { outline: 2px solid #e8c796; outline-offset: 3px; }
@media (max-width: 900px) {
  .rr-reviews-heading { align-items: start; flex-direction: column; gap: 18px; }
  .rr-reviews-description { max-width: 480px; }
  .rr-reviews-track { grid-auto-columns: 43%; }
}
@media (max-width: 767px) {
  #client-reviews { padding: 44px 18px 34px; }
  #rr-reviews-title { font-size: 36px; }
  .rr-reviews-kicker { font-size: 9px; }
  .rr-reviews-heading { gap: 17px; margin-bottom: 25px; }
  .rr-reviews-description p { font-size: 12px; }
  .rr-reviews-description span { margin-top: 9px; font-size: 9px; }
  .rr-reviews-track { grid-auto-columns: 82%; gap: 14px; }
  .rr-review-caption { padding: 16px; }
  .rr-review-caption h3 { font-size: 14px; }
  .rr-reviews-controls { flex-wrap: wrap; gap: 5px 12px; margin-top: 12px; }
  .rr-reviews-hint { flex-basis: 100%; font-size: 10px; }
  .rr-reviews-navigation { gap: 8px; }
  .rr-review-dot { width: 27px; }
  :is(#rr-review-dialog,#rr-participant-dialog) { padding: 12px; }
  :is(#rr-review-dialog,#rr-participant-dialog) video { height: min(66dvh,660px); }
}

/* Written client feedback — an editorial, light counterpart to the film gallery. */
#written-reviews { padding: 72px 28px 58px; scroll-margin-top: 58px; background: #f1ece2; color: #29241d; border-block: 1px solid #d1c3aa; }
.rr-quotes-wrap { max-width: 1184px; margin: auto; }
.rr-quotes-heading { display: flex; align-items: end; justify-content: space-between; gap: 34px; margin-bottom: 32px; }
.rr-quotes-kicker { display: flex; align-items: center; gap: 10px; color: #856638; font: 600 10px/1.5 Poppins,sans-serif; letter-spacing: .18em; margin: 0 0 17px; }
.rr-quotes-kicker:before { content: ''; height: 1px; width: 28px; background: currentColor; }
#rr-quotes-title { margin: 0; font: 400 clamp(37px,4.2vw,53px)/1.1 Georgia,serif; letter-spacing: -.035em; color: #28251f; }
#rr-quotes-title em { color: #95703d; font-weight: 400; }
.rr-quotes-intro { max-width: 344px; margin: 0 0 4px; color: #6c6255; font: 400 13px/1.85 Poppins,sans-serif; }
.rr-quotes-track { display: grid; position: relative; grid-auto-flow: column; grid-auto-columns: calc((100% - 36px)/2.2); gap: 20px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 3px 2px 13px; }
.rr-quotes-track::-webkit-scrollbar { display: none; }
.rr-quote-card { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 30px; border: 1px solid #d6c8ae; border-radius: 9px; background: #fffcf6; scroll-snap-align: start; box-shadow: 0 7px 14px #3b2c1405; }
.rr-quote-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.rr-quote-card-head span { color: #85693e; font: 500 9px/1.5 Poppins,sans-serif; letter-spacing: .14em; }
.rr-quote-card-head svg { color: #bb9657; width: 29px; height: 26px; }
.rr-quote-card blockquote { margin: 0 0 27px; flex: 1; }
.rr-quote-card blockquote p { margin: 0; color: #30291f; font: 400 26px/1.42 Georgia,serif; letter-spacing: -.015em; }
.rr-quote-person { display: flex; align-items: center; gap: 12px; padding-top: 20px; border-top: 1px solid #dfd4c1; }
.rr-quote-person > img { flex: none; width: 44px; height: 44px; object-fit: cover; object-position: 50% 42%; border-radius: 50%; border: 1px solid #d7c6a7; }
.rr-quote-person-icon { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #eee5d4; color: #95703d; }
.rr-quote-person-icon svg { width: 18px; height: 18px; }
.rr-quote-person strong { display: block; color: #433726; font: 600 12px/1.5 Poppins,sans-serif; }
.rr-quote-person small { display: block; color: #83745d; font: 400 10px/1.6 Poppins,sans-serif; margin-top: 2px; }
.rr-quote-source { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; align-self: start; margin: 10px 0 -8px; color: #76562d; font: 600 11px/1.5 Poppins,sans-serif; text-decoration: underline; text-underline-offset: 4px; }
.rr-quote-source svg { width: 12px; height: 12px; }
.rr-quotes-controls { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 11px; }
.rr-quotes-hint { font-size: 11px; color: #766851; }
.rr-quote-dots { display: flex; align-items: center; gap: 2px; }
.rr-quote-dot { border: 0; background: transparent; width: 30px; height: 44px; cursor: pointer; }
.rr-quote-dot:after { content: ''; display: block; width: 6px; height: 6px; margin: auto; border-radius: 50%; background: #b6a78e; }
.rr-quote-dot[aria-pressed="true"]:after { width: 21px; border-radius: 6px; background: #8b6939; }
.rr-quote-dot[hidden] { display: none; }
.rr-quotes-navigation { display: flex; align-items: center; gap: 12px; }
.rr-quotes-navigation button { display: grid; place-items: center; height: 46px; width: 46px; border: 1px solid #bba581; border-radius: 50%; color: #77582c; background: transparent; font-size: 23px; cursor: pointer; }
.rr-quotes-navigation button:disabled { opacity: .3; cursor: default; }
.rr-quotes-status { min-width: 49px; text-align: center; font-size: 11px; font-variant-numeric: tabular-nums; letter-spacing: .14em; color: #846737; }
.rr-quotes-note { margin: 22px 0 0; font: 400 10px/1.75 Poppins,sans-serif; color: #82735f; }
#written-reviews a:focus-visible, #written-reviews button:focus-visible, .rr-quotes-track:focus-visible { outline: 2px solid #8b6633; outline-offset: 4px; }
@media (max-width: 900px) {
  .rr-quotes-heading { flex-direction: column; align-items: start; gap: 18px; }
  .rr-quotes-intro { max-width: 470px; }
  .rr-quotes-track { grid-auto-columns: 65%; }
}
@media (max-width: 767px) {
  #written-reviews { padding: 42px 18px 34px; }
  #rr-quotes-title { font-size: 37px; }
  .rr-quotes-kicker { font-size: 9px; margin-bottom: 14px; }
  .rr-quotes-heading { gap: 16px; margin-bottom: 25px; }
  .rr-quotes-intro { font-size: 12px; }
  .rr-quotes-track { grid-auto-columns: 88%; gap: 14px; }
  .rr-quote-card { padding: 23px; }
  .rr-quote-card-head { margin-bottom: 19px; }
  .rr-quote-card blockquote p { font-size: 24px; line-height: 1.4; }
  .rr-quote-card blockquote { margin-bottom: 24px; }
  .rr-quote-person { gap: 10px; }
  .rr-quotes-controls { flex-wrap: wrap; gap: 4px 8px; }
  .rr-quotes-hint { flex-basis: 100%; font-size: 10px; }
  .rr-quotes-navigation { gap: 8px; }
  .rr-quote-dot { width: 27px; }
  .rr-quotes-note { margin-top: 18px; font-size: 9px; }
}
@media (max-width: 359px) {
  .rr-quote-card { padding: 21px 18px; }
  .rr-quote-card blockquote p { font-size: 22px; }
}

/* Man in Action — a cinematic portrait-film gallery after the coach introduction. */
#man-in-action { padding: 68px 28px 48px; background: radial-gradient(ellipse at 85% 0,#47321c30,transparent 60%),#0b0b0a; color: #f7ecda; border-block: 1px solid #a2875550; scroll-margin-top: 65px; }
.rr-action-wrap { max-width: 1184px; margin: auto; }
.rr-action-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 32px; }
.rr-action-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; color: #c9ad7c; font: 500 10px/1.6 Poppins,sans-serif; letter-spacing: .2em; }
.rr-action-kicker:before { content: ''; width: 27px; height: 1px; background: #b48a4d; }
#rr-action-title { margin: 0; color: #faf2e6; font: 400 clamp(43px,5vw,65px)/1.07 Georgia,serif; letter-spacing: -.035em; }
#rr-action-title em { color: #d6af72; font-weight: 400; }
.rr-action-intro p { margin: 0; color: #bdb7ac; font: 400 13px/1.9 Poppins,sans-serif; }
.rr-action-intro > span { display: block; margin-top: 14px; color: #bda67f; font: 500 8px/1.8 Poppins,sans-serif; letter-spacing: .17em; }
.rr-action-track { display: grid; position: relative; grid-auto-flow: column; grid-auto-columns: calc((100% - 54px)/3.5); gap: 18px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 3px 2px 13px; }
.rr-action-track::-webkit-scrollbar { display: none; }
.rr-action-card { min-width: 0; border: 1px solid #aa8a4c50; border-radius: 9px; background: #141310; overflow: hidden; scroll-snap-align: start; }
.rr-action-play { display: block; height: 100%; color: inherit; text-decoration: none; }
.rr-action-poster { aspect-ratio: 9/13; position: relative; overflow: hidden; background: #080808; }
.rr-action-poster:after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,#0004 0%,transparent 25%,transparent 45%,#000b 100%); pointer-events: none; }
.rr-action-poster img { height: 100%; width: 100%; object-fit: cover; object-position: center; transition: transform .4s ease; }
.rr-action-landscape .rr-action-poster img { object-fit: contain; }
.rr-action-number { position: absolute; top: 15px; left: 16px; z-index: 1; color: #fff5df; font: 400 24px/1 Georgia,serif; text-shadow: 0 1px 6px #000; }
.rr-action-duration { position: absolute; right: 12px; top: 13px; z-index: 1; padding: 4px 7px; border: 1px solid #e6d8b742; border-radius: 4px; background: #08080899; color: #f8ecd8; font: 500 10px/1.4 Poppins,sans-serif; }
.rr-action-play-icon { position: absolute; z-index: 1; left: 50%; top: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; height: 57px; width: 57px; border-radius: 50%; border: 1px solid #ead7adba; background: #16130fbf; box-shadow: 0 6px 30px #0007; color: #f4ddb0; transition: background .2s; }
.rr-action-play-icon svg { width: 23px; height: 23px; margin-left: -3px; }
.rr-action-watch { position: absolute; z-index: 1; bottom: 18px; left: 18px; color: #ecd6b0; font: 500 9px/1.6 Poppins,sans-serif; letter-spacing: .19em; }
.rr-action-caption { padding: 19px 18px 21px; min-height: 98px; }
.rr-action-caption p { margin: 0 0 7px; color: #b89b6e; font: 500 8px/1.6 Poppins,sans-serif; letter-spacing: .16em; }
.rr-action-caption h3 { margin: 0; color: #f4ebde; font: 500 14px/1.5 Poppins,sans-serif; }
.rr-action-controls { display: flex; align-items: center; gap: 24px; margin-top: 12px; }
.rr-action-hint { color: #aa9f8d; font: 400 11px/1.7 Poppins,sans-serif; }
.rr-action-progress { flex: 1; height: 1px; background: #d9b97d28; }
.rr-action-progress span { display: block; height: 100%; width: 10%; background: #c4a063; transition: width .2s; }
.rr-action-navigation { display: flex; align-items: center; gap: 13px; }
.rr-action-navigation button { display: grid; place-items: center; height: 46px; width: 46px; border: 1px solid #b398665e; border-radius: 50%; background: transparent; color: #dfc393; font-size: 23px; cursor: pointer; }
.rr-action-navigation button:disabled { opacity: .25; cursor: default; }
.rr-action-status { min-width: 49px; text-align: center; color: #bba783; font: 400 10px/1 Poppins,sans-serif; font-variant-numeric: tabular-nums; letter-spacing: .13em; }
#man-in-action a:focus-visible, #man-in-action button:focus-visible, .rr-action-track:focus-visible { outline: 2px solid #e0ba7b; outline-offset: 3px; }
.rr-action-open { overflow: hidden; }
.rr-action-open #rr-sticky, .rr-action-open .rr-whatsapp-chat, .rr-viewing-action .rr-whatsapp-chat { visibility: hidden; pointer-events: none; }
#rr-action-dialog { width: min(660px,calc(100vw - 24px)); max-height: calc(100dvh - 24px); margin: auto; padding: 18px; overflow: auto; background: #10100f; color: #f5e8d1; border: 1px solid #b3986680; border-radius: 12px; box-shadow: 0 20px 100px #000b; }
#rr-action-dialog::backdrop { background: #000e; backdrop-filter: blur(7px); }
.rr-action-player-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.rr-action-player-head p { margin: 0 0 4px; color: #bba37a; font: 400 8px/1.6 Poppins,sans-serif; letter-spacing: .12em; }
.rr-action-player-head h3 { margin: 0; color: #f3e9d9; font: 500 17px/1.5 Poppins,sans-serif; }
.rr-action-close { flex: none; height: 44px; width: 44px; border: 1px solid #b3986660; border-radius: 50%; background: #fff1; color: #e6ceaa; font-size: 27px; cursor: pointer; }
#rr-action-dialog video { display: block; width: 100%; height: min(66dvh,660px); object-fit: contain; background: #000; border-radius: 5px; }
#rr-action-dialog.rr-action-wide video { height: auto; max-height: 66dvh; aspect-ratio: 16/9; }
.rr-action-player-status { color: #c8b697; font-size: 12px; margin: 10px 0 0; }
.rr-action-player-status[hidden] { display: none; }
.rr-action-player-footer { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 12px; }
.rr-action-player-footer button { min-height: 44px; padding: 8px 12px; border: 1px solid #b3986660; border-radius: 5px; background: #fff1; color: #e6ceaa; font-size: 12px; cursor: pointer; }
.rr-action-player-footer button:disabled { opacity: .3; cursor: default; }
.rr-action-player-count { color: #bba783; font-size: 11px; }
.rr-action-direct { display: flex; align-items: center; min-height: 44px; color: #d6bd94; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
@media (hover:hover) { .rr-action-play:hover img { transform: scale(1.035); } .rr-action-play:hover .rr-action-play-icon { background: #92713bcf; } }
@media (max-width: 900px) { .rr-action-track { grid-auto-columns: 35%; } .rr-action-heading { align-items: start; flex-direction: column; gap: 19px; } }
@media (max-width: 767px) {
  #man-in-action { padding: 43px 18px 34px; }
  .rr-action-heading { margin-bottom: 25px; gap: 16px; }
  .rr-action-kicker { font-size: 8px; letter-spacing: .16em; gap: 8px; }
  .rr-action-kicker:before { width: 17px; }
  #rr-action-title { font-size: 44px; }
  .rr-action-intro p { font-size: 12px; }
  .rr-action-intro > span { font-size: 7px; margin-top: 10px; }
  .rr-action-track { grid-auto-columns: 76%; gap: 14px; }
  .rr-action-poster { aspect-ratio: 9/12; }
  .rr-action-caption { padding: 16px; min-height: 90px; }
  .rr-action-caption h3 { font-size: 13px; }
  .rr-action-controls { flex-wrap: wrap; gap: 10px 18px; }
  .rr-action-hint { flex-basis: 100%; font-size: 10px; }
  .rr-action-navigation { gap: 10px; }
  #rr-action-dialog { padding: 12px; }
  .rr-action-player-head h3 { font-size: 14px; }
  .rr-action-player-head p { font-size: 7px; }
  .rr-action-player-footer { flex-wrap: wrap; }
  .rr-action-direct { justify-content: center; flex-basis: 100%; margin-top: -4px; }
  #rr-action-dialog video { height: min(60dvh,660px); }
}
@media (prefers-reduced-motion:reduce) { .rr-action-poster img, .rr-action-play-icon, .rr-action-progress span { transition: none; } }

/* Keep film navigation above the cards, clear of the fixed booking bar. */
.rr-action-controls { margin: 0 0 18px; }
.rr-action-card { scroll-margin-block: 80px 120px; }
.rr-action-navigation button { touch-action: manipulation; }
@media (max-width: 767px) {
  #man-in-action { padding: 32px 16px; }
  .rr-action-heading { gap: 10px; margin-bottom: 14px; }
  .rr-action-kicker { margin-bottom: 11px; font-size: 10px; letter-spacing: .12em; color: #d3bb91; }
  #rr-action-title { font-size: clamp(36px,10.8vw,44px); }
  .rr-action-intro p { max-width: 320px; font-size: 13px; line-height: 1.65; color: #c9c2b7; }
  .rr-action-scene, .rr-action-intro > span { display: none; }
  .rr-action-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px 12px; margin: 0 0 14px; }
  .rr-action-hint { max-width: 120px; font-size: 11px; line-height: 1.6; color: #c1b6a4; }
  .rr-action-progress { grid-column: 1/-1; grid-row: 2; height: 2px; }
  .rr-action-navigation { gap: 8px; }
  .rr-action-navigation button { height: 48px; width: 48px; border-color: #b3986680; background: #d6b57608; }
  .rr-action-status { min-width: 44px; font-size: 11px; color: #d0b991; }
  .rr-action-track { grid-auto-columns: min(82%,264px); gap: 12px; padding: 3px 2px 4px; }
  .rr-action-poster { aspect-ratio: auto; height: clamp(210px,38vh,310px); height: clamp(210px,38svh,310px); }
  .rr-action-poster img { object-position: 50% 40%; }
  .rr-action-caption { min-height: 86px; padding: 14px; }
  .rr-action-caption p { font-size: 10px; letter-spacing: .08em; color: #c7ad84; margin-bottom: 5px; }
  .rr-action-caption h3 { font-size: 15px; line-height: 1.45; }
  .rr-action-watch { font-size: 11px; letter-spacing: .12em; bottom: 14px; left: 14px; }
  .rr-action-duration { font-size: 11px; padding: 5px 8px; }
  .rr-action-number { font-size: 23px; }
}
/* Mobile players use the available screen and keep close/next controls visible. */
@media (max-width: 767px), (max-width: 960px) and (max-height: 500px) {
  #rr-action-dialog, :is(#rr-review-dialog,#rr-participant-dialog) { box-sizing: border-box; width: 100%; max-width: 100%; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; padding: max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px)); overscroll-behavior: contain; }
  #rr-action-dialog[open], :is(#rr-review-dialog,#rr-participant-dialog)[open] { display: flex; flex-direction: column; }
  .rr-action-player-head, .rr-review-player-head { flex: none; margin-bottom: 10px; gap: 12px; }
  .rr-action-player-head > div, .rr-review-player-head > div { min-width: 0; }
  .rr-action-player-head h3, .rr-review-player-head h3 { font-size: 15px; line-height: 1.35; }
  .rr-action-player-head p, .rr-review-player-head p { font-size: 9px; line-height: 1.5; letter-spacing: .07em; }
  .rr-action-close, .rr-review-close { width: 48px; height: 48px; touch-action: manipulation; }
  #rr-action-dialog video, #rr-action-dialog.rr-action-wide video, :is(#rr-review-dialog,#rr-participant-dialog) video { flex: 1 1 0; min-height: 0; height: 0; max-height: none; aspect-ratio: auto; width: 100%; object-fit: contain; }
  .rr-action-player-footer, .rr-review-player-footer { flex: none; display: grid; grid-template-columns: 1fr auto 1fr; gap: 0 12px; align-items: center; margin-top: 10px; }
  .rr-action-player-footer button, .rr-review-player-footer button { min-height: 48px; font-size: 13px; touch-action: manipulation; }
  .rr-action-player-count, .rr-review-player-count { font-size: 12px; text-align: center; min-width: 38px; }
  .rr-action-direct, .rr-review-direct { grid-column: 1/-1; justify-content: center; min-height: 44px; margin: 0; font-size: 12px; }
  .rr-action-player-status, .rr-review-player-status { flex: none; font-size: 12px; line-height: 1.5; margin-top: 6px; }
}
@media (max-width: 960px) and (max-height: 500px) {
  .rr-action-player-footer, .rr-review-player-footer { grid-template-columns: 1fr auto 1fr auto; gap: 10px; }
  .rr-action-direct, .rr-review-direct { grid-column: auto; padding: 0 8px; }
  .rr-action-player-head p, .rr-review-player-head p { display: none; }
}

/* Satin ruby booking controls with a champagne edge and a slow reflection. */
a:is([href="#participate"],[href="#rr-ticket-options"]), #participate .rr-pass-card > a {
  --rr-booking-accent: 187,37,54;
  --rr-booking-edge: 234,193,133;
  --rr-shimmer-delay: 0s;
  position: relative; isolation: isolate; overflow: hidden; transform: none;
  border: 1px solid #d7ae766b; border-radius: 12px;
  background: linear-gradient(110deg,#761321 0%,#ad2536 46%,#8e1526 100%);
  color: #fff8ed !important;
  box-shadow: inset 0 1px 0 #ffe0b52e,inset 0 -1px 0 #430b1d66,0 6px 20px #490a1c40;
  text-shadow: 0 1px 1px #450b1940;
  transition: transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease;
}
#participate .rr-pass-card--gold > a { --rr-shimmer-delay: .65s; }
#participate .rr-pass-card--vip > a { --rr-shimmer-delay: 1.3s; }
.rr-venue-tickets:is([href="#participate"],[href="#rr-ticket-options"]) {
  --rr-booking-accent: 191,151,89;
  background: linear-gradient(110deg,#a77d42,#e2c693 48%,#bd955a);
  color: #231b10 !important; text-shadow: none;
}
a:is([href="#participate"],[href="#rr-ticket-options"])::before, #participate .rr-pass-card > a::before {
  content: ''; position: absolute; z-index: -1; pointer-events: none;
  top: -70%; bottom: -70%; left: 0; width: 38%;
  background: linear-gradient(90deg,transparent 0%,#ffe8c005 28%,#ffe8c035 48%,#fff3db59 50%,#ffe8c01a 54%,transparent 100%);
  transform: translateX(-180%) skewX(-24deg); opacity: 0;
}
.rr-cta-in-view:is([href="#participate"],[href="#rr-ticket-options"]), #participate .rr-pass-card > a.rr-cta-in-view {
  animation: rr-booking-breathe 5.2s ease-in-out infinite;
}
.rr-cta-in-view:is([href="#participate"],[href="#rr-ticket-options"])::before, #participate .rr-pass-card > a.rr-cta-in-view::before {
  animation: rr-booking-satin 7.8s cubic-bezier(.22,.61,.36,1) var(--rr-shimmer-delay) infinite;
}
/* Keep the direction cue independent of the label and the moving reflection. */
#participate .rr-pass-card > a::after {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 27px; height: 27px; border: 1px solid #efd5af40; border-radius: 50%;
  background: #fff1d90c; color: #f4dfb9; font-size: 18px; line-height: 1;
  transition: transform .28s ease,background .28s ease,border-color .28s ease;
}
#rr-sticky .rr-sticky-cta {
  border-color: #d8b47e9c;
  background: linear-gradient(110deg,#781322,#b1283a 48%,#8d1729);
}
#rr-sticky .rr-sticky-cta.rr-cta-in-view { animation: rr-booking-breathe 4.4s ease-in-out infinite; }
#rr-sticky .rr-sticky-cta.rr-cta-in-view::before { animation-duration: 6.6s; }
@keyframes rr-booking-breathe {
  0%,100% {
    border-color: rgba(var(--rr-booking-edge),.38);
    box-shadow: inset 0 1px 0 #ffe0b52e,inset 0 -1px 0 #430b1d66,0 5px 16px rgba(var(--rr-booking-accent),.13);
  }
  50% {
    border-color: rgba(var(--rr-booking-edge),.72);
    box-shadow: inset 0 1px 0 #ffe0b54d,inset 0 -1px 0 #430b1d66,0 7px 23px rgba(var(--rr-booking-accent),.27),0 0 0 1px rgba(var(--rr-booking-edge),.06);
  }
}
@keyframes rr-booking-satin {
  0%,48% { transform: translateX(-180%) skewX(-24deg); opacity: 0; }
  50% { opacity: .85; }
  74% { transform: translateX(360%) skewX(-24deg); opacity: .85; }
  75%,100% { transform: translateX(360%) skewX(-24deg); opacity: 0; }
}
@media (hover:hover) and (pointer:fine) {
  a:is([href="#participate"],[href="#rr-ticket-options"]):hover, #participate .rr-pass-card > a:hover {
    transform: translateY(-1px); border-color: #f1d4a3;
    background: linear-gradient(110deg,#891b2b,#ba3041 48%,#9c2031);
    box-shadow: inset 0 1px 0 #ffe0b54d,0 9px 25px rgba(var(--rr-booking-accent),.28);
  }
  .rr-venue-tickets:is([href="#participate"],[href="#rr-ticket-options"]):hover { background: linear-gradient(110deg,#bd955b,#ead4ad 48%,#c8a36e); }
  #participate .rr-pass-card > a:hover::after { transform: translateX(2px); background: #fff1d91c; border-color: #efd5af80; }
}
a:is([href="#participate"],[href="#rr-ticket-options"]):focus-visible, #participate .rr-pass-card > a:focus-visible {
  outline: 2px solid #f1d4a3; outline-offset: 4px;
}
a:is([href="#participate"],[href="#rr-ticket-options"]):active, #participate .rr-pass-card > a:active { transform: translateY(1px); }
/* Pause while interacting and while a video dialog covers the page. */
#rr-sticky .rr-sticky-cta:is(:hover,:focus-visible),
:is(.rr-review-open,.rr-action-open) #rr-sticky .rr-sticky-cta,
a:is([href="#participate"],[href="#rr-ticket-options"]):is(:hover,:focus-visible),
#participate .rr-pass-card > a:is(:hover,:focus-visible,[aria-disabled="true"]),
:is(.rr-review-open,.rr-action-open) a:is([href="#participate"],[href="#rr-ticket-options"]),
:is(.rr-review-open,.rr-action-open) #participate .rr-pass-card > a { animation: none; }
#rr-sticky .rr-sticky-cta:is(:hover,:focus-visible)::before,
:is(.rr-review-open,.rr-action-open) #rr-sticky .rr-sticky-cta::before,
a:is([href="#participate"],[href="#rr-ticket-options"]):is(:hover,:focus-visible)::before,
#participate .rr-pass-card > a:is(:hover,:focus-visible,[aria-disabled="true"])::before,
:is(.rr-review-open,.rr-action-open) a:is([href="#participate"],[href="#rr-ticket-options"])::before,
:is(.rr-review-open,.rr-action-open) #participate .rr-pass-card > a::before { animation: none; opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  a:is([href="#participate"],[href="#rr-ticket-options"]), #participate .rr-pass-card > a,
  #rr-sticky .rr-sticky-cta.rr-cta-in-view,
  a:is([href="#participate"],[href="#rr-ticket-options"])::before, #participate .rr-pass-card > a::before,
  #participate .rr-pass-card > a::after {
    animation: none !important; transition: none !important; transform: none !important;
  }
  a:is([href="#participate"],[href="#rr-ticket-options"])::before, #participate .rr-pass-card > a::before { display: none; }
}
@media (max-width:767px) {
  .rr-viewing-action #rr-sticky > div,
  .rr-viewing-venue #rr-sticky > div,
  .rr-viewing-written-reviews #rr-sticky > div { padding-right: 0; }
}

/* Booking navigation lands on real checkout buttons above the ticket artwork. */
#rr-ticket-options { scroll-margin-top: 64px; }
#participate .rr-pass-card > a { margin: 16px 0; min-height: 54px; }
#rr-ticket-options:focus-visible { outline: 2px solid #da5962; outline-offset: 5px; }
@media (max-width:767px) {
  #participate .rr-pass-card > a { margin: 16px 0; }
}

/* Warm editorial imagery replaces the schematic learning-card icons. */
.rr-growth-visual.rr-learning-photo {
  display: block; width: calc(100% + 48px); max-width: none; height: auto; aspect-ratio: 16 / 9;
  object-fit: cover; object-position: center; border-radius: 16px 16px 0 0;
  background: #eee4d5; border: 1px solid #d1b79238;
  box-shadow: 0 7px 22px #4b2a1210;
}

/* The supplied metallic logo sets the hero palette: ruby, silver and gold. */
#rr-top {
  background: #0a0a0c; color: #e5e4e2;
  border-bottom: 1px solid #d6b36a38;
}
.rr-hero {
  padding-top: 42px; padding-bottom: 64px; color: #f1f1f3;
  background: radial-gradient(ellipse at 8% 16%,#8c0b203d,transparent 44%),
    radial-gradient(ellipse at 93% 30%,#b28a3930,transparent 42%),
    linear-gradient(155deg,#09090c,#151113 52%,#09090c);
  border-bottom: 1px solid #c5a45d40;
}
.rr-hero::before {
  content: ""; position: absolute; top: 0; left: 12%; right: 12%; height: 1px;
  background: linear-gradient(90deg,transparent,#c9a85e80,transparent); pointer-events: none;
}
.rr-hero-brand {
  position: relative; width: min(100%,680px); aspect-ratio: 5.3 / 1;
  margin: 0 auto 28px; overflow: hidden;
}
.rr-hero-brand img {
  display: block; position: absolute; width: 100%; height: auto;
  left: 0; top: 50%; transform: translateY(-50%);
}
.rr-hero .label-caps {
  background: #d2ac5610; border: 1px solid #d1b57450;
  color: #e8ce96; font-size: 11px; letter-spacing: .16em;
}
.rr-hero .h1-display {
  color: #f2f2f5; line-height: 1.1; letter-spacing: -.045em;
  text-shadow: 0 3px 22px #0004;
}
.rr-hero .h1-display .text-blue { color: #ff7680; }
.rr-hero .gold-underline {
  color: #f0d494; background: none; padding-bottom: 0;
}
.rr-hero .gold-underline::after { display: none; }
@supports (background-clip: text) {
  .rr-hero .h1-display .text-blue {
    background: linear-gradient(180deg,#ffb6b9 4%,#ff6572 62%,#ef4655);
    background-clip: text; -webkit-background-clip: text; color: transparent;
  }
  .rr-hero .gold-underline {
    background: linear-gradient(180deg,#fff1c9 8%,#edd196 60%,#d2ad66);
    background-clip: text; -webkit-background-clip: text; color: transparent;
  }
}
.rr-hero .text-red { color: #e1c99c; }
.rr-hero .text-muted-foreground { color: #bcbcc5; }
.rr-hero .rr-hero-video {
  border: 1px solid #e2c68a66; border-radius: 20px;
  box-shadow: 0 24px 68px #0008,0 0 0 5px #ffffff04;
}
.rr-hero .rr-hero-video-note { color: #aaaab5; }
.rr-hero .rr-hero-video-note strong { color: #ead09b; }
.rr-hero .rr-hero-video-note a { color: #ead09b; }
.rr-hero .bg-card {
  background: linear-gradient(115deg,#ffffff08,#ffffff03);
  border-color: #d9c18b33; box-shadow: 0 12px 28px #0002;
}
.rr-hero .bg-card .text-blue { color: #f0e4cf; }
.rr-hero a[href="#rr-ticket-options"] {
  --rr-booking-accent: 211,28,53; --rr-booking-edge: 235,198,125;
  background: linear-gradient(125deg,#a40e25,#d6253a 48%,#870d22);
  color: #fff8ed; border-color: #d8b87499;
}
.rr-hero a:focus-visible, .rr-hero button:focus-visible {
  outline: 3px solid #f0d494; outline-offset: 4px;
}
@media (max-width:767px) {
  .rr-hero { padding-top: 25px; padding-bottom: 38px; }
  .rr-hero-brand { margin-bottom: 22px; }
  .rr-hero .label-caps { font-size: 9px; letter-spacing: .12em; padding: 7px 12px; }
  .rr-hero .h1-display { margin-top: 19px; font-size: clamp(30px,8.3vw,40px); line-height: 1.12; }
  .rr-hero .h1-display .text-blue { display: block; }
  .rr-hero .h1-display br { display: none; }
  .rr-hero .body-lg { font-size: 15px; line-height: 1.7; }
  .rr-hero .text-xl { font-size: 17px; line-height: 1.55; }
  .rr-hero .rr-hero-video { border-radius: 14px; }
  .rr-hero .rr-hero-video-note { font-size: 10px; line-height: 1.7; }
}

/* Phone refinement: early booking access, readable copy and unobstructed taps. */
@media (max-width:767px) {
  .rr-hero { padding-top: 22px; padding-bottom: 32px; }
  .rr-hero-brand { margin-bottom: 18px; }
  .rr-hero .label-caps { display: none; }
  .rr-hero .h1-display { margin-top: 0; font-size: clamp(26px,7.8vw,34px); line-height: 1.12; }
  .rr-hero .text-red { margin-top: 12px; font-size: 16px; line-height: 1.5; }
  .rr-hero .body-lg { margin-top: 12px; font-size: 14px; line-height: 1.65; text-wrap: pretty; }
  .rr-hero .rr-hero-booking { margin-top: 20px; }
  .rr-hero-booking a { min-height: 52px; height: auto; padding-top: 14px; padding-bottom: 14px; }
  .rr-hero .rr-hero-video { margin-top: 20px; }
  .rr-hero .rr-hero-video-note { margin-top: 12px; font-size: 11px; line-height: 1.65; }
  .rr-hero .bg-card { margin-top: 20px; padding: 16px; }
  .rr-hero .bg-card .text-xl { font-size: 16px; }
  .rr-hero .bg-card .text-sm { font-size: 12px; line-height: 1.65; }
  .rr-video-unmute { left: 10px; top: 10px; min-height: 44px; padding: 9px 12px; font-size: 12px; }

  /* WhatsApp sits in the space reserved beside the fixed booking bar only. */
  body:not(.rr-booking-visible) .rr-whatsapp-chat { visibility: hidden; pointer-events: none; }
  #rr-sticky { padding-left: 12px; padding-right: 12px; }
  #rr-sticky .rr-sticky-cta { min-height: 48px; font-size: 14px; }
  .rr-booking-visible .rr-whatsapp-chat { bottom: calc(31px + env(safe-area-inset-bottom,0px)); }

  /* Full-size touch targets without making the navigation row wider than a phone. */
  .rr-review-dots, .rr-quote-dots { gap: 0; flex: none; }
  .rr-review-dot, .rr-quote-dot { flex: none; width: 44px; height: 44px; touch-action: manipulation; }
  .rr-reviews-controls, .rr-quotes-controls { gap: 5px 6px; }
  .rr-reviews-navigation, .rr-quotes-navigation { gap: 4px; }
  .rr-reviews-navigation > button, .rr-quotes-navigation > button { width: 44px; height: 44px; }
  .rr-reviews-status, .rr-quotes-status { position: absolute; width: 1px; height: 1px; min-width: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .rr-review-caption h3, .rr-action-caption h3 { overflow-wrap: anywhere; }

  #coach .rr-coach-photo { height: 350px; min-height: 0; }
  #coach .rr-coach-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
  #coach .rr-coach > .p-6 { padding: 22px; }
  #coach .rr-coach h3 { font-size: 26px; line-height: 1.25; }
  #coach .rr-coach blockquote { font-size: 18px; line-height: 1.55; }
  #coach .rr-coach .text-base { font-size: 15px; line-height: 1.75; }
  #coach .rr-text-link { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (max-width:359px) {
  .rr-hero { padding-left: 16px; padding-right: 16px; }
  .rr-hero .body-lg { font-size: 13px; }
  .rr-hero .text-red { font-size: 15px; }
  #rr-sticky .rr-sticky-cta { font-size: 12px; }
  #coach .rr-coach-photo { height: 310px; }
  #coach .rr-coach > .p-6 { padding: 18px; }
}

/* Participant stories: cinematic portrait films, followed by a clear next step. */
#participants-testimony { position:relative; padding:76px 28px 64px; scroll-margin-top:64px; background:radial-gradient(ellipse at 6% 0,#8e662327,transparent 60%),radial-gradient(ellipse at 100% 100%,#720b1720,transparent 55%),#0d0e10; color:#f8f1e5; border-block:1px solid #cba76a55; }
#rr-participants-title { margin:0; color:#f9f3e8; font:400 clamp(36px,4.5vw,58px)/1.08 Georgia,serif; letter-spacing:-.035em; }
#rr-participants-title em { display:block; color:#dfbf89; font-weight:400; }
#participants-testimony .rr-reviews-heading { margin-bottom:32px; }
#participants-testimony .rr-reviews-track { grid-auto-columns:calc((100% - 48px)/3.7); gap:16px; }
#participants-testimony .rr-review-card { border-radius:16px; background:#171719; border-color:#d7b97b45; box-shadow:0 10px 32px #0003; }
#participants-testimony .rr-review-poster { aspect-ratio:9/14; }
#participants-testimony .rr-review-poster img { object-position:center 38%; }
#participants-testimony .rr-review-film-label { top:16px; left:16px; padding:6px 9px; background:#100e0c96; border:1px solid #e2c79b4f; border-radius:5px; color:#f9e2b8; font-size:9px; letter-spacing:.14em; backdrop-filter:blur(8px); }
.rr-participant-duration { position:absolute; z-index:1; right:15px; top:19px; color:#fff; font:500 10px/1.5 Poppins,sans-serif; font-variant-numeric:tabular-nums; background:#100e0c99; padding:4px 7px; border-radius:4px; }
#participants-testimony .rr-review-caption { padding:17px; }
#participants-testimony .rr-review-caption p { color:#c7a974; font-size:8px; letter-spacing:.15em; margin:0 0 5px; }
#participants-testimony .rr-review-caption h3 { font-size:14px; }
#participants-testimony .rr-review-caption > span { font-size:22px; }
#participants-testimony .rr-review-play { bottom:20px; left:17px; font-size:11px; }
#participants-testimony .rr-review-play-icon { width:46px; height:46px; background:linear-gradient(135deg,#f7e7bc,#c49a5c); border-color:#f9e8bc; box-shadow:0 0 0 7px #f4d79a13,0 8px 20px #0004; }
#participants-testimony .rr-reviews-controls { flex-wrap:nowrap; margin-top:16px; }
#participants-testimony .rr-reviews-status { position:static; width:auto; height:auto; overflow:visible; clip:auto; clip-path:none; }
.rr-story-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:30px; padding:26px 28px; border:1px solid #c4a36a55; border-radius:14px; background:linear-gradient(110deg,#382b1c75,#111214 72%); color:#f9f1e4; }
.rr-story-cta h3 { margin:0 0 7px; color:inherit; font:400 27px/1.2 Georgia,serif; letter-spacing:-.02em; }
.rr-story-cta p { margin:0; color:#c6bbae; font:400 11px/1.7 Poppins,sans-serif; }
.rr-story-cta .rr-story-eyebrow { margin:0 0 11px; color:#ddbd84; font-size:8px; font-weight:600; letter-spacing:.17em; }
a.rr-story-button[href="#rr-ticket-options"] { display:inline-flex; align-items:center; justify-content:center; gap:22px; flex:none; min-height:54px; padding:14px 24px; border:1px solid #ff8790; border-radius:9px; color:#fff; background:linear-gradient(115deg,#d6162d,#a70016); font:600 13px/1.4 Poppins,sans-serif; text-decoration:none; white-space:nowrap; box-shadow:0 8px 28px #c6002130,inset 0 1px 0 #ffffff26; }
a.rr-story-button span { font-size:23px; font-weight:400; line-height:1; }
#written-reviews .rr-story-cta { background:linear-gradient(115deg,#271f18,#121214); }
@media (min-width:768px) and (max-width:1000px) {
 #participants-testimony .rr-reviews-track { grid-auto-columns:37%; }
}
@media (max-width:767px) {
 #participants-testimony { padding:46px 18px 36px; }
 #rr-participants-title { font-size:39px; }
 #participants-testimony .rr-reviews-heading { gap:16px; margin-bottom:24px; }
 #participants-testimony .rr-reviews-track { grid-auto-columns:min(82%,280px); gap:13px; }
 #participants-testimony .rr-reviews-hint { flex-basis:auto; max-width:120px; font-size:10px; }
 #participants-testimony .rr-reviews-navigation { gap:7px; }
 #participants-testimony .rr-reviews-status { min-width:43px; font-size:10px; }
 #participants-testimony .rr-reviews-navigation > button { width:44px; height:44px; }
 .rr-story-cta { flex-direction:column; align-items:stretch; gap:19px; padding:22px 20px; margin-top:25px; }
 .rr-story-cta h3 { font-size:26px; }
 .rr-story-cta p { font-size:11px; }
 a.rr-story-button[href="#rr-ticket-options"] { width:100%; padding:14px 16px; min-height:54px; gap:16px; }
}
@media (max-width:360px) {
 #rr-participants-title { font-size:35px; }
 #participants-testimony .rr-reviews-navigation { gap:4px; }
 #participants-testimony .rr-reviews-hint { max-width:104px; }
 a.rr-story-button[href="#rr-ticket-options"] { font-size:12px; }
}
