/* Riviera Event Pass 2.48.57 — approved final composition, photographic assets first.
   Source: customer-validated mockup. Live HTML copy and direct commercial URLs preserved.
   Loaded LAST to avoid legacy CSS accidentally restoring opaque masks. */
html body.rep14-home .rep14-root.rep50-showcase .rep50-intro {
 isolation:isolate!important;position:relative!important;
 min-height:clamp(220px,17.5vw,280px)!important;
 padding:clamp(18px,2vw,31px) 20px clamp(76px,6vw,102px)!important;
 background:#064b77!important;overflow:hidden!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-intro::before{
 content:""!important;position:absolute!important;inset:0!important;z-index:-2!important;
 background-image:var(--rep50-banner)!important;background-repeat:no-repeat!important;
 background-size:cover!important;background-position:center 53%!important;filter:none!important;opacity:1!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-intro::after{
 content:""!important;position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;
 background:linear-gradient(180deg,rgba(1,31,55,.14),rgba(1,30,54,.23) 68%,rgba(2,33,55,.10))!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-intro-body{
 width:min(1200px,100%)!important;margin:auto!important;position:relative!important;z-index:1!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-intro h1{
 font:400 clamp(34px,3.6vw,59px)/1.02 Georgia,'Times New Roman',serif!important;
 max-width:1080px!important;margin:3px auto 17px!important;
 letter-spacing:-.022em!important;color:#fff!important;
 text-shadow:0 2px 4px rgba(1,31,52,.83),0 6px 12px rgba(1,31,52,.45)!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-intro p{
 font:700 clamp(10px,1vw,14px)/1.3 Arial,sans-serif!important;
 letter-spacing:.22em!important;color:#fff!important;text-shadow:0 2px 5px #00243a!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-grid{
 gap:clamp(12px,1.15vw,20px)!important;margin-top:clamp(-82px,-5vw,-61px)!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer{
 min-height:clamp(375px,29vw,495px)!important;
 border:3px solid #f1c474!important;border-radius:22px!important;
 box-shadow:0 11px 16px rgba(20,25,31,.3)!important;
 background:#032a46!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-photo{
 position:absolute!important;inset:0!important;z-index:-2!important;
 background-image:var(--rep50-photo)!important;
 background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
 transform:none!important;opacity:1!important;filter:none!important;
}
/* The approved card already has its navy text panel. A transparent overlay
   preserves the full photograph, instead of reintroducing a heavy blue mask. */
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer::after,
html body.rep14-home .rep14-root.rep50-showcase .rep50-tropez::after{
 background:linear-gradient(90deg,rgba(2,30,50,.12) 0%,rgba(2,30,50,.04) 47%,transparent 78%)!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-content{
 position:relative!important;z-index:3!important;
 width:min(84%,640px)!important;min-height:clamp(375px,29vw,495px)!important;
 padding:clamp(22px,3vw,49px) clamp(20px,2.6vw,49px)!important;
 display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-event-kicker{display:none!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2{
 margin:0 0 14px!important;max-width:100%!important;
 font:400 clamp(31px,3.2vw,52px)/1.01 Georgia,'Times New Roman',serif!important;
 letter-spacing:-.026em!important;color:#fff!important;
 text-shadow:0 2px 4px rgba(0,22,43,.56)!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 span{
 display:block!important;font-size:.87em!important;font-style:normal!important;color:#fff!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 em{
 display:block!important;font-style:normal!important;font-size:1.08em!important;letter-spacing:-.035em!important;
 color:#f7c56b!important;text-shadow:0 2px 4px rgba(0,30,48,.60)!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-caption{
 font:700 clamp(10px,.85vw,13px)/1.4 Arial,sans-serif!important;
 letter-spacing:.09em!important;color:#fff!important;
 text-shadow:0 2px 4px rgba(0,20,40,.7)!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-perks{
 margin:14px 0 18px!important;padding-top:15px!important;
 gap:10px!important;border-top:1px solid rgba(247,198,107,.9)!important;
 font:700 clamp(12px,1.0vw,16px)/1.3 Arial,sans-serif!important;color:#fff!important;
 text-shadow:0 2px 3px rgba(0,24,43,.85)!important;
}
html body.rep14-home .rep14-root.rep50-showcase .rep50-perks li{color:#fff!important;white-space:normal!important;}
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-link{
 min-height:48px!important;padding:11px clamp(18px,2vw,32px)!important;
 font:700 clamp(13px,1.1vw,17px)/1.2 Arial,sans-serif!important;
 border:1px solid #ffe4a1!important;box-shadow:0 3px 8px rgba(4,20,37,.22)!important;
 background:linear-gradient(180deg,#ffe8aa,#edb749)!important;
}
/* Shorter or longer translated headings must always wrap in the dark text side. */
html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2{overflow-wrap:break-word!important;hyphens:auto!important;}
@media(max-width:1019px){
 html body.rep14-home .rep14-root.rep50-showcase .rep50-intro{
   min-height:215px!important;padding:22px 16px 78px!important;
 }
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer,
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-content{
   min-height:350px!important;
 }
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-content{
   width:92%!important;padding:25px 20px!important;
 }
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2{
   font-size:clamp(27px,3.2vw,36px)!important;
 }
}
@media(max-width:680px){
 html body.rep14-home .rep14-root.rep50-showcase .rep50-intro{
  min-height:210px!important;padding:25px 14px 82px!important;
 }
 html body.rep14-home .rep14-root.rep50-showcase .rep50-intro h1{
  font-size:clamp(28px,7vw,40px)!important;
 }
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-grid{margin-top:-55px!important;}
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer,
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-content{
  min-height:360px!important;
 }
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-content{
  width:97%!important;padding:25px 18px!important;
 }
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2{
  font-size:clamp(30px,7vw,40px)!important;
 }
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer h2 em{
  font-size:clamp(32px,8vw,44px)!important;
 }
 html body.rep14-home .rep14-root.rep50-showcase .rep50-photo{
  background-position:54% center!important;
 }
 /* Local darkening for legibility ONLY on small phones. */
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer::after,
 html body.rep14-home .rep14-root.rep50-showcase .rep50-tropez::after{
  background:linear-gradient(90deg,rgba(2,30,50,.20),rgba(2,30,50,.13) 42%,transparent 86%)!important;
 }
}
/* Visual fidelity: the approved headline breaks into two lines above the cards. */
@media(min-width:1020px){
 html body.rep14-home .rep14-root.rep50-showcase .rep50-intro{
   min-height:clamp(270px,19vw,320px)!important;
   padding:clamp(13px,1.2vw,23px) 20px 108px!important;
 }
 html body.rep14-home .rep14-root.rep50-showcase .rep50-intro h1{
   max-width:min(870px,88vw)!important;
 }
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer-grid{
   margin-top:-88px!important;
 }
}
/* Portrait view: the subject of each approved photo must remain visible,
   rather than being clipped by cover's default center crop. */
@media(max-width:680px){
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer .rep50-photo{
  background-position:right center!important;
 }
 html body.rep14-home .rep14-root.rep50-showcase .rep50-offer::after,
 html body.rep14-home .rep14-root.rep50-showcase .rep50-tropez::after{
  background:linear-gradient(90deg,rgba(2,30,50,.42),rgba(2,30,50,.25) 55%,rgba(2,30,50,.05) 100%)!important;
 }
}
