/* Public UI only; CMS styles and uploaded files are unchanged. */
[data-rp-pending="reviews"],[data-rp-pending="awards"] { visibility:hidden; }
.rx-review-carousel { min-width:0; }
.rx-review-viewport { overflow:hidden; }
.rx-rev-cards.rx-review-track { display:flex; gap:20px; }
.rx-review-track > .rx-review { flex:0 0 calc((100% - 40px)/3); min-width:0; box-sizing:border-box; }
.rx-review-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:10px; margin-top:16px; font:400 11px var(--ui); color:var(--ink-muted); }
.rx-review-controls button { min-height:36px; min-width:36px; padding:6px 12px; border:1px solid var(--hairline); border-radius:999px; background:var(--card); color:var(--green-900); cursor:pointer; font:500 12px var(--ui); }
.rx-review-controls button:focus-visible { outline:2px solid var(--gold-500); outline-offset:2px; }
.rx-review-controls button:hover { border-color:var(--gold-500); }
.rx-review .rx-review-source { margin-top:6px; font:500 11px var(--ui); text-decoration:underline; text-underline-offset:3px; }
.rp-route-shell { min-height:100svh; background:#fbf8f2; }
.rp-route-head { height:calc(76px + env(safe-area-inset-top,0px)); padding:env(safe-area-inset-top,0px) var(--gutter,40px) 0; display:flex; align-items:center; background:#07211a; }
.rp-route-head img { width:167px; height:44px; object-fit:contain; }
.rp-route-body { padding:clamp(48px,10vw,144px) var(--gutter,40px); }
.rp-route-body span { display:block; width:min(600px,80%); height:clamp(22px,4vw,48px); margin-bottom:20px; border-radius:4px; background:#ede9df; }
.rp-route-body span:first-child { width:100px; height:10px; background:#d9c49a; }
.rp-route-body span:last-child { width:min(380px,65%); height:14px; }
.rp-page img[data-rp-template-src],.rp-page img[data-rp-image-pending] { opacity:0; }
.cr-hero-ph img { transition:opacity .2s ease; }
.rp-map-widget { isolation:isolate; z-index:0; }
.rp-map-widget .mv-open { bottom:40px; }
.mv-osm .leaflet-control-attribution { margin:0 8px 6px; padding:3px 6px; border-radius:4px; background:rgba(251,248,242,.94); color:#07211a; font:400 11px/1.5 var(--sans, sans-serif); }
[data-rp-contact-disabled] { display:none!important; pointer-events:none!important; }
[data-rp-pending="team"] { pointer-events:none; user-select:none; }
[data-rp-pending="team"] > * { visibility:hidden; }
select[data-rp-pending="team"], .fx-stats[data-rp-pending="team"] { visibility:hidden; }
.ldr-posters[data-rp-pending="team"] { position:relative; min-height:360px; overflow:hidden; }
.ldr-posters[data-rp-pending="team"]::after { content:""; position:absolute; inset:0; background:linear-gradient(105deg,#ede9df 15%,#f7f5ef 38%,#ede9df 60%); background-size:220% 100%; border-radius:16px; animation:rp-skeleton 1.6s ease-in-out infinite; }
.rp-profile-loading { min-height:calc(100svh - var(--rx-top)); margin-top:var(--rx-top); padding:clamp(32px,6vw,90px); display:grid; grid-template-columns:minmax(180px,.7fr) 1.3fr; align-items:center; gap:clamp(30px,6vw,90px); background:var(--green-900); color:var(--ivory-50); }
.rp-profile-loading-photo { width:min(100%,320px); aspect-ratio:3/4; border-radius:48% 48% 0 0; background:#18392e; }
.rp-profile-loading-copy > span { font:500 12px var(--ui); text-transform:uppercase; letter-spacing:.15em; color:var(--gold-300); }
.rp-profile-loading h1 { font:300 clamp(30px,5vw,70px)/1.1 var(--display); }
.rp-skeleton-line { width:85%; height:16px; margin-top:18px; border-radius:4px; background:#234337; }
.rp-skeleton-line.short { width:55%; }
@keyframes rp-skeleton { to { background-position:-220% 0; } }
.mp-filters .fx-sel { position:relative; display:block; min-width:0; }
.mp-side-head { position:relative; z-index:20; }
.mp-select-native { display:none!important; }
.mp-select-button { width:100%; min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 11px; border:1px solid var(--hairline); border-radius:12px; background:var(--card); color:var(--green-900); cursor:pointer; font:500 12px var(--ui); text-align:left; transition:border-color .18s,box-shadow .18s,background .18s; }
.mp-select-button span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mp-select-button svg { flex:none; transition:transform .2s; }
.mp-select-button:hover { border-color:var(--gold-500); background:#faf8f2; }
.mp-select-button:focus-visible { outline:2px solid var(--gold-500); outline-offset:2px; }
.mp-select-button[aria-expanded="true"] { border-color:var(--gold-500); box-shadow:0 0 0 3px rgba(201,164,91,.12); }
.mp-select-list { position:absolute; z-index:75; top:calc(100% + 7px); left:0; min-width:100%; width:max-content; max-width:min(280px,calc(100vw - 32px)); max-height:min(340px,55svh); overflow:auto; padding:6px; border:1px solid var(--hairline); border-radius:14px; background:var(--card); box-shadow:0 18px 45px -15px rgba(7,33,26,.35); opacity:0; visibility:hidden; transform:translateY(-6px) scale(.98); transform-origin:top left; transition:opacity .18s,transform .18s,visibility .18s; }
.mp-select-list.open { opacity:1; visibility:visible; transform:none; }
.mp-filters .fx-sel:last-child .mp-select-list { left:auto; right:0; transform-origin:top right; }
.mp-select-option { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:40px; padding:9px 10px; border-radius:9px; color:var(--green-900); cursor:pointer; font:500 12px var(--ui); white-space:nowrap; }
.mp-select-option:hover,.mp-select-option:focus,.mp-select-option.active { background:#f0ecdf; outline:none; }
.mp-select-option[aria-selected="true"] { background:var(--green-900); color:var(--ivory-50); }
.mp-select-option[aria-selected="true"]::after { content:"✓"; color:var(--gold-300); }
.mp-scope { display:flex; justify-content:space-between; align-items:center; gap:8px; font:400 11px var(--ui); color:var(--ink-muted); }
.mp-scope button { border:0; padding:4px 0; background:none; color:var(--green-900); cursor:pointer; font:600 11px var(--ui); text-decoration:underline; text-underline-offset:3px; }
.mp-scope [hidden] { display:none; }
.mp-list { overflow-anchor:none; }
.mv-cluster { transition:background .16s,box-shadow .16s; touch-action:manipulation; }
.mv-spider-leg { stroke:var(--green-900); stroke-width:1.5; stroke-dasharray:3 3; }
.mv-spider-pin { filter:drop-shadow(0 2px 3px rgba(0,0,0,.15)); }
.rx-review-top img { object-position:center 35%; image-rendering:auto; }
[data-rp-pending="media"] { visibility:hidden; }
.rp-mini > .rp-cover-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.42; pointer-events:none; }
.pp-permit-qr { display:inline-block; margin-top:16px; }
.pp-permit-qr img { display:block; width:144px; height:144px; object-fit:contain; background:white; }
.pg-film { position:relative; }
.pg-film > [id^="ep-"] { position:absolute; top:0; scroll-margin-top:100px; }
@media (max-width:760px) {
  .rx-review-track > .rx-review { flex-basis:100%; }
  .rp-route-head { height:calc(64px + env(safe-area-inset-top,0px)); justify-content:center; }
  main.mp.show-list .mp-list { top:var(--mp-results-top,calc(var(--rx-top) + 150px)); }
  .rp-profile-loading { grid-template-columns:1fr; gap:24px; padding:28px 24px; }
  .rp-profile-loading-photo { width:150px; }
  .mp-select-button { font-size:11px; padding-inline:9px; }
  .mp-select-option { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) {
  .cr-hero-ph img { transition:none; }
  .ldr-posters[data-rp-pending="team"]::after { animation:none; }
  .mp-select-list,.mp-select-button,.mp-select-button svg,.mv-cluster { transition:none; }
}

/* Homepage is video-only: neither CSS layer may download a fallback photograph. */
.hx-hero, .hx-hero .rp-hero-video { background-image:none; background-color:var(--green-900); }
