:root{
--gold:#d4af37;
--gold-soft:#f3e5b5;
}

/* HERO */

.rl-hero{
height:70vh;
min-height:500px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:white;
position:relative;
overflow:hidden;

}

.rl-hero::before{
content:"";
position:absolute;
inset:0;
filter:brightness(.85);
}

.rl-hero-bg{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
z-index:0;
filter:brightness(.85);
}

.rl-hero::after{
content:"";
position:absolute;
bottom:0;
left:0;
right:0;
height:50%;
background:linear-gradient(
to bottom,
rgba(255,255,255,0),
#f6f3ee 90%
);
}

.rl-hero-content{
position:relative;
z-index:2;
max-width:700px;
padding:20px;
}

.rl-hero h1{
font-family:'Playfair Display',serif;
font-size:56px;
background:linear-gradient(45deg,#fff,var(--gold-soft),var(--gold));
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

/* INFO BOX */

.rl-info{
max-width:1000px;
margin:-60px auto 80px;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:25px;
padding:0 20px;

position:relative;
z-index:5;
}

.rl-info-box{
background:white;
padding:25px;
border-radius:18px;
text-align:center;
box-shadow:0 10px 35px rgba(0,0,0,.08);
border:1px solid rgba(212,175,55,.2);
}

.rl-info-box h3{
color:var(--gold);
}

/* DESCRIPTION */

.rl-description{
max-width:800px;
margin:auto;
text-align:center;
padding:0 20px 80px;
}

.rl-description h2{
font-family:'Playfair Display',serif;
font-size:32px;
margin-bottom:20px;
}

.rl-description h2::after{
content:"";
display:block;
width:80px;
height:3px;
margin:15px auto;
background:linear-gradient(90deg,var(--gold),var(--gold-soft));
}

/* GALLERY */

.rl-gallery{
max-width:1200px;
margin:auto;
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:20px;
padding:0 20px 100px;
}

.rl-gallery img{
width:100%;
border-radius:18px;
transition:.4s;
}

.rl-gallery img:hover{
transform:scale(1.03);
box-shadow:0 15px 40px rgba(0,0,0,.15);
}

/* CTA */

.rl-cta{
text-align:center;
padding-bottom:120px;
}

.rl-button{
display:inline-block;
padding:14px 34px;
border-radius:40px;
background:linear-gradient(45deg,var(--gold),#caa032);
color:white;
text-decoration:none;
transition:.3s;
margin-top: 50px;
}

.rl-button:hover{
transform:translateY(-2px);
box-shadow:0 10px 25px rgba(212,175,55,.4);
}

/* MOBILE */

@media(max-width:768px){

.rl-hero h1{
font-size:36px;
}

.rl-hero{
height:auto;
padding:120px 0 80px;
}

}

.hidden-content{
display:none;
}

.rl-lock{
display:flex;
justify-content:center;
padding:80px 20px;
}

.rl-lock-box{
background:white;
padding:40px;
border-radius:20px;
text-align:center;
max-width:420px;
box-shadow:0 15px 40px rgba(0,0,0,.1);
border:1px solid rgba(212,175,55,.25);
}

.rl-lock-box input{
width:100%;
padding:14px;
margin-top:15px;
border-radius:8px;
border:1px solid #ddd;
font-size:16px;
}

.rl-lock-box button{
margin-top:15px;
padding:12px 28px;
border:none;
border-radius:30px;
background:linear-gradient(45deg,#d4af37,#caa032);
color:white;
cursor:pointer;
}

#errorMsg{
color:red;
margin-top:10px;
font-size:14px;
}


.rl-navigation{
max-width:1100px;
margin:80px auto;
padding:0 20px;
}

.rl-nav-inner{
display:flex;
justify-content:space-between;
gap:20px;
flex-wrap:wrap;
}

.rl-prev,
.rl-next{
text-decoration:none;
padding:14px 22px;
background:white;
border-radius:12px;
box-shadow:0 8px 25px rgba(0,0,0,.08);
color:#111;
transition:.25s;
}

.rl-prev:hover,
.rl-next:hover{
transform:translateY(-3px);
}