/* Independent interactions. Original page styling remains in source-styles. */
[hidden]{display:none!important}
:focus-visible{outline:3px solid #f4b125;outline-offset:4px}
.rpb-dropdown-links{position:absolute;top:100%;left:0;min-width:210px;background:#000;color:#fff;padding:8px 0!important;list-style:none;z-index:1000}
.rpb-dropdown-links a{display:block;padding:10px 18px;color:white!important;white-space:nowrap}
#navbar li{position:relative}
/* The native menu replaces Popmenu's captured overflow state. */
#navbar .nav-overflow-container>li[data-targetid]{visibility:visible!important;pointer-events:auto!important}
.rpb-provider-fallback{text-align:center;padding:12px;font-size:15px}
.rpb-careers{width:100%;margin:0 auto;padding:0 0 24px}
.rpb-careers-frame{display:block;width:100%;height:1700px;border:0;background:#fff}
.rpb-careers .rpb-provider-fallback a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.rpb-careers button:disabled{opacity:.65;cursor:not-allowed}
@media(max-width:767px){.rpb-careers-frame{height:2100px}}
body:has([data-rpb-native-signup]) #navbar .container-fluid>.row{margin-left:0;margin-right:0}
[data-rpb-native-signup] legend{color:#f7f6f6;font-size:20px;line-height:1.4}
[data-rpb-native-signup] .rpb-provider-fallback a{color:#f7f6f6;text-decoration:underline;text-underline-offset:3px}
@media(min-width:992px){
 body:has([data-rpb-native-signup]) #navbar .navbar-collapse{justify-content:center}
 body:has([data-rpb-native-signup]) #navbar .navbar-collapse>.nav{position:static;width:auto;flex:0 1 auto}
}
.rpb-event-inquiry{max-width:720px;margin:0 auto;padding:48px 24px;text-align:center;color:#f7f6f6}.rpb-event-inquiry p{color:inherit}.rpb-event-inquiry .rpb-button{margin:12px 0;min-height:48px}
.rpb-review-notice{padding:16px;background:#fff6e2;color:#35270f;border:1px solid #d3ad52;text-align:center}
.rpb-subscription{max-width:720px;margin:0 auto;padding:160px 24px 100px}.rpb-subscription h1{text-align:center}.rpb-subscription label{display:block;margin:18px 0 8px}.rpb-subscription input:not([type=checkbox]){display:block;width:100%;min-height:46px;padding:8px 12px;background:#fff;color:#111;border:1px solid #777;border-radius:2px;font:inherit}.rpb-subscription fieldset{margin:24px 0;padding:16px;border:1px solid #888}.rpb-subscription .rpb-choice{display:flex;align-items:center;gap:12px;margin:16px 0}.rpb-subscription input[type=checkbox]{width:22px;height:22px;accent-color:#dd0030}.rpb-subscription button,.rpb-button{display:inline-block;padding:12px 28px;background:#dd0030;color:white;border:0;font:inherit}.rpb-subscription button:disabled{opacity:.65;cursor:not-allowed}.rpb-form-invitation{text-align:center;padding:24px}
.rpb-tour-frame{min-height:850px!important;width:100%!important}.rpb-code-frame{min-height:1500px!important;width:100%!important}.rpb-event-frame{min-height:1800px!important;width:100%!important}.rpb-work-frame{min-height:950px!important;width:100%!important}
.rpb-accessibility-link{position:absolute;left:-10000px;top:0;z-index:99999}.rpb-accessibility-link:focus{left:10px;top:10px;padding:10px;background:#fff;color:#111}
.rpb-lightbox{border:0;padding:0;background:#111;max-width:94vw;max-height:94vh;color:#fff}
.rpb-lightbox::backdrop{background:rgb(0 0 0 / .88)}
.rpb-lightbox img{display:block;max-width:90vw;max-height:82vh;object-fit:contain}
.rpb-lightbox button{display:block;margin:8px auto;padding:8px 20px;color:#111;background:white;border:1px solid white}
.rpb-gallery-carousel{position:relative;max-width:1500px;margin:auto;padding:0 16px}.rpb-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin:0;padding:0;list-style:none;scrollbar-width:none}.rpb-gallery-slide{flex:0 0 calc((100% - 30px)/4);scroll-snap-align:start}.rpb-gallery-slide img{width:100%;aspect-ratio:1/2;object-fit:cover;display:block}.rpb-gallery-previous,.rpb-gallery-next{position:absolute;top:50%;z-index:2;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:#111;font-size:26px;line-height:1;cursor:pointer}.rpb-gallery-previous{left:0}.rpb-gallery-next{right:0}.rpb-gallery-grid{display:block!important;columns:3;column-gap:10px;height:auto!important}.rpb-gallery-grid .xblock{display:block!important;position:static!important;transform:none!important;width:100%!important;margin-bottom:10px;break-inside:avoid}.rpb-gallery-grid img{display:block;width:100%!important;height:auto!important}.rpb-lightbox-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px}.rpb-lightbox-controls button{margin:0;padding:8px 12px}.rpb-lightbox img{margin:auto}
@media(max-width:767px){.rpb-gallery-slide{flex-basis:100%}.rpb-gallery-grid{columns:2}.rpb-lightbox-controls{gap:8px}.rpb-lightbox-controls button{padding:8px;font-size:14px}.rpb-code-frame{min-height:1800px!important}.rpb-event-frame{min-height:2200px!important}}
@media(max-width:991px){#navbar .navbar-collapse.rpb-open{display:flex!important;flex-direction:column!important;max-height:85vh;overflow:auto}#navbar .navbar-collapse:not(.rpb-open){display:none!important}.rpb-dropdown-links{position:static}#navbar .navbar-collapse.rpb-open .nav-overflow-container{display:flex!important;flex-direction:column!important;visibility:visible!important}#navbar .navbar-toggle{display:block!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Source-backed layout replacements for provider-owned gallery/map runtimes. */
.rpb-gallery-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px;columns:auto}
.rpb-inline-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));height:auto!important}
.rpb-inline-gallery .xblock{position:static!important;transform:none!important;display:block!important;width:100%!important;height:auto!important}
.rpb-inline-gallery img{width:100%!important;height:100%!important;object-fit:cover}
#portrait-gallery .rpb-inline-gallery{grid-template-columns:repeat(5,minmax(0,1fr))}
#portrait-gallery .rpb-inline-gallery .xblock{aspect-ratio:1}
.pm-location-search-section-wrapper #lls-left-container:has(#mapbox){grid-template-columns:40% 60%;gap:0}
.pm-location-search-section-wrapper #mapbox img{display:block;width:100%;height:500px;object-fit:cover}
@media(max-width:991px){
 #navbar .container-fluid>.row{margin-left:0!important;margin-right:0!important}
 #navbar .container-fluid>.row>.col-xs-12{display:block!important;padding-left:0!important;padding-right:0!important;width:100%!important}
 #navbar .navbar-header{width:100%!important;float:none!important}
 #navbar .navbar-collapse.rpb-open{position:relative!important;width:100%!important;height:auto!important;max-height:calc(100vh - 60px);padding:0 20px!important;margin:0!important;overflow-x:hidden;overflow-y:auto;background:#000}
 #navbar .navbar-collapse.rpb-open .nav,#navbar .navbar-collapse.rpb-open .MuiBox-root,#navbar .navbar-collapse.rpb-open .nav-overflow-container{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important;max-width:none!important;flex-basis:auto!important;float:none!important;margin:0!important;overflow:visible!important;white-space:normal!important;transform:none!important;position:static!important}
 #navbar .navbar-collapse.rpb-open li{display:block!important;float:none!important;width:100%!important;margin:0!important}
 #navbar .navbar-collapse.rpb-open li>a,#navbar .navbar-collapse.rpb-open li>button{display:block!important;padding:12px 0!important;text-align:left!important}
 #navbar .rpb-dropdown-links{width:100%!important;padding-left:18px!important}
 .pm-location-search-section-wrapper #lls-left-container:has(#mapbox){grid-template-columns:1fr}
 #portrait-gallery .rpb-inline-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rpb-inline-gallery,.rpb-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:991px){
 #navbar .navbar-collapse.rpb-open .nav,#navbar .navbar-collapse.rpb-open .MuiBox-root,#navbar .navbar-collapse.rpb-open .nav-overflow-container{height:auto!important;min-height:0!important;max-height:none!important;flex-wrap:nowrap!important}
 #navbar .navbar-collapse.rpb-open li:empty{display:none!important}
 #navbar .navbar-collapse.rpb-open .nav-dropdown{display:block!important;text-align:left!important;padding:12px 0!important}
 #navbar .navbar-collapse.rpb-open li{flex-shrink:0!important}
}
.rpb-mobile-navigation{box-sizing:border-box;width:calc(100% - 32px);max-width:600px;max-height:calc(100dvh - 32px);margin:auto;padding:96px 16px 88px;border:0;border-radius:4px;background:#080808;color:#fff;font-family:'Albert Sans',sans-serif;text-align:center;overflow:auto}
.rpb-mobile-navigation::backdrop{background:rgb(0 0 0 / .8)}
.rpb-mobile-navigation ul{list-style:none;padding:0;margin:0}
.rpb-mobile-navigation>ul>li{padding:15px 0}
.rpb-mobile-navigation a,.rpb-mobile-navigation button,.rpb-mobile-navigation>ul>li>span{display:block;width:100%;color:#fff;background:none;border:0;font-family:inherit;font-size:22px;line-height:1.43;letter-spacing:4px;font-weight:400;text-transform:uppercase;text-decoration:none;padding:0;cursor:pointer}
.rpb-mobile-navigation .rpb-mobile-close{position:absolute;top:14px;right:14px;width:28px;font-size:30px;line-height:1;letter-spacing:0}
.rpb-mobile-navigation button[aria-controls]::after{content:' →';letter-spacing:0}
.rpb-mobile-navigation button[aria-expanded=true]::after{content:'⌄';display:block}
.rpb-mobile-navigation .rpb-mobile-submenu>li{padding:15px 0}
.rpb-mobile-navigation .rpb-mobile-submenu{padding-top:20px}
.rpb-mobile-navigation .rpb-mobile-rules{padding-top:8px}
.rpb-mobile-navigation .rpb-mobile-rules a{font-size:16px;line-height:1.43;padding:10px 0}
.rpb-mobile-navigation{padding-bottom:64px}
.rpb-client-logos{display:flex;flex-wrap:wrap;justify-content:center;max-width:1352px;margin:auto}
.rpb-client-logos>div{display:flex;align-items:center;justify-content:center;flex:0 0 12.5%;padding:31.5px;box-sizing:border-box}
.rpb-client-logos img{display:block;width:106px;max-width:100%;height:auto;aspect-ratio:1;object-fit:contain}
@media(max-width:767px){.rpb-client-logos>div{flex-basis:33.333%;padding:16px}.rpb-client-logos img{width:100%}}
@media(max-width:767px){.rpb-tour-frame{min-height:1300px!important}}
/* Owner-approved blog repairs: retain article copy, media and existing paths. */
#page-content .row:has(>.col-xs-12>.pm-blog-post-index){margin-left:0;margin-right:0}
body:has(.pm-blog-post-index) #navbar .container-fluid>.row,body:has(.pm-blog-post-wrapper) #navbar .container-fluid>.row,body:has(.pm-custom-page-red-booth-blog) #navbar .container-fluid>.row{margin-left:0;margin-right:0}
.pm-blog-post-index.pm-blog-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px;max-width:1280px;margin:48px auto;padding:0 24px}
.pm-blog-post-index.pm-blog-list>div{min-width:0;max-width:none;width:auto;margin:0}
.pm-blog-post-index.pm-blog-list h2{color:#f7f6f6;font-size:28px;line-height:1.3;overflow-wrap:anywhere;margin:0 0 12px}
.pm-blog-post-index.pm-blog-list a{color:#f7f6f6;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.pm-blog-post-index.pm-blog-list a:hover,.pm-blog-post-index.pm-blog-list a:focus-visible{color:#f4b125}
.pm-blog-post-index.pm-blog-list a:hover h2,.pm-blog-post-index.pm-blog-list a:focus-visible h2{color:inherit}
.pm-blog-post-index.pm-blog-list time{color:#c8c8c8}
.pm-blog-post-wrapper{min-width:0;max-width:100%;overflow-wrap:anywhere}
.pm-blog-post-wrapper #blog_post_preview [style*="white-space: pre"],.pm-blog-post-wrapper #blog_post_preview pre{white-space:pre-wrap!important}
.pm-blog-post-wrapper #blog_post_preview img,.pm-blog-post-wrapper #blog_post_preview video{max-width:100%!important;height:auto!important}
.pm-blog-post-wrapper #blog_post_preview iframe{max-width:100%!important}
.pm-blog-post-wrapper #blog_post_preview table{display:block;max-width:100%;overflow-x:auto}
@media(max-width:991px){.pm-blog-post-index.pm-blog-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pm-blog-post-index.pm-blog-list{grid-template-columns:minmax(0,1fr);gap:32px;margin:32px auto;padding:0 24px}.pm-blog-post-index.pm-blog-list h2{font-size:26px}}
@media(min-width:992px) and (max-width:1350px){body:has(.pm-blog-post-index) #navbar a,body:has(.pm-blog-post-index) #navbar .nav-dropdown,body:has(.pm-blog-post-wrapper) #navbar a,body:has(.pm-blog-post-wrapper) #navbar .nav-dropdown,body:has(.pm-custom-page-red-booth-blog) #navbar a,body:has(.pm-custom-page-red-booth-blog) #navbar .nav-dropdown{font-size:16px;padding-left:8px;padding-right:8px}}

/* Native RPB signup retains the existing page palette and typography. */
.rpb-subscription input[type=hidden]{display:none!important}
.rpb-subscription .rpb-signup-field label{font-weight:600}
.rpb-subscription input[type=button]{width:auto;min-height:48px;padding:12px 28px;background:#dd0030;color:#fff;border:0;cursor:pointer;font:inherit}
.rpb-subscription input[type=button]:disabled{opacity:.65;cursor:not-allowed}
.rpb-subscription input:not([type=hidden]):focus-visible,.rpb-subscription a:focus-visible{outline:3px solid #f4b125;outline-offset:4px}
.rpb-subscription #listRelTable{width:100%;border-collapse:collapse}
.rpb-subscription #listRelTable td{padding:0;border:0;background:none}
.rpb-subscription .rpb-choice{min-height:44px;margin:6px 0;scroll-margin-top:140px;cursor:pointer}
.rpb-subscription .rpb-choice input{flex:0 0 22px;margin:0}
.rpb-subscription legend{color:inherit;font-size:1.2em;padding:0 8px}
.rpb-subscription #rpb-signup-error,.rpb-subscription #errorMsgDiv{padding:12px;margin:16px 0;background:#fff1ee;color:#9c1d0b;border:1px solid currentColor}
.rpb-subscription #rpb-signup-status{margin-top:16px}
.rpb-subscription #rpb-signup-status:empty{display:none}
.rpb-subscription #zcOptinSuccessPopup{box-sizing:border-box;max-width:calc(100vw - 32px)!important;width:720px!important;max-height:80vh;height:auto!important;overflow:auto;left:50%!important;transform:translateX(-50%);color:#131313}

/* Migration QA: contain the original desktop navigation row and source media. */
#navbar .container-fluid>.row{margin-left:0;margin-right:0}
.pm-about-section-image-container picture img{max-width:100%;height:auto}
@media(max-width:767px){.pm-page-refund-policy .pm-about-section-content-container{min-width:0;max-width:100%;overflow-wrap:anywhere}}
.pm-page-home .pm-about-section:has(img[src$="6c673f5214cca85a-f28381db-5b51-4036-8ecc-91262eeb06bd.png"]){overflow-x:clip}
