.cta-secondary{
background:transparent;
color:white;
border:1px solid rgba(255,255,255,0.35);
}

/*--------------- 2. HERO -------------------*/

.hero-home{
position:relative;
height:100vh;
min-height:700px;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}

.hero-video{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
object-fit:cover;
z-index:1;
}

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.45);
z-index:2;
}

.hero-content{
position:relative;
z-index:3;
max-width:860px;
text-align:center;
padding:80px;
border-radius:18px;
background:rgba(0,0,0,0.35);
backdrop-filter:blur(4px);
}

.eyebrow{
display:inline-block;
padding:8px 14px;
border:1px solid rgba(201,162,39,0.45);
border-radius:999px;
font-size:13px;
letter-spacing:0.08em;
text-transform:uppercase;
color:#e6cf80;
margin-bottom:18px;
}

.hero-content h1{
font-family:'Playfair Display', serif;
font-size:50px;
line-height:1.1;
margin-bottom:15px;
color:white;
}

.hero-content p{
font-size:18px;
margin-bottom:25px;
color:white;
line-height:1.7;
}

.hero-actions{
display:flex;
gap:14px;
justify-content:center;
flex-wrap:wrap;
}

/*--------------- 3. TRUST BAR -------------------*/

.trust-bar{
padding:28px 0;
background:#111;
border-top:1px solid rgba(255,255,255,0.08);
border-bottom:1px solid rgba(255,255,255,0.08);
}

.trust-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:20px;
}

.trust-item{
display:flex;
flex-direction:column;
gap:6px;
padding:18px 20px;
background:#151515;
border:1px solid #262626;
border-radius:14px;
}

.trust-item strong{
font-size:16px;
color:white;
}

.trust-item span{
font-size:14px;
line-height:1.5;
color:#b6b6b6;
}

/*--------------- 4. INTRO -------------------*/

.intro{
padding:100px 0 40px;
}

.intro-grid{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
gap:50px;
align-items:start;
}

.section-kicker{
margin:0 0 16px;
color:#c9a227;
font-size:13px;
letter-spacing:0.08em;
text-transform:uppercase;
}

.intro h2,
.partners h2,
.why-us h2,
.booking h2,
.fleet h2,
.seo-text h2{
font-family:'Playfair Display', serif;
font-size:38px;
margin:0 0 18px;
}

.intro p,
.partners-copy,
.partners-note,
.booking-copy,
.seo-text p{
color:#bdbdbd;
line-height:1.8;
font-size:17px;
}

/* ------------------- 5. SERVICES ------------------- */

.services{
padding:80px 0 120px;
background:#0f0f0f;
text-align:center;
}

.services h2{
font-family:'Playfair Display', serif;
font-size:34px;
margin-bottom:18px;
color:white;
}

.services-intro{
max-width:860px;
margin:0 auto 70px;
color:#bababa;
font-size:17px;
line-height:1.8;
}

.service-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:24px;
max-width:1280px;
margin:auto;
}

.service{
background:#1f1f1f;
position:relative;
height:300px;
width:100%;
border-radius:12px;
overflow:hidden;
display:block;
border:2px solid #2a2a2a;
transition:all .3s ease;
text-decoration:none;
}

.service img{
width:100%;
height:100%;
object-fit:cover;
}

.service-tag{
position:absolute;
top:16px;
left:16px;
z-index:2;
display:inline-flex;
align-items:center;
justify-content:center;
padding:7px 11px;
border-radius:999px;
background:rgba(12,12,12,0.78);
border:1px solid rgba(255,255,255,0.14);
color:#f3e0a0;
font-size:11px;
letter-spacing:0.08em;
text-transform:uppercase;
}

.service h3{
position:absolute;
left:16px;
right:16px;
bottom:74px;
color:white;
font-size:20px;
text-align:left;
margin:0;
z-index:2;
text-shadow:0 2px 10px rgba(0,0,0,0.75);
}

.service p{
position:absolute;
left:16px;
right:16px;
bottom:16px;
color:#d3d3d3;
font-size:12px;
line-height:1.35;
text-align:left;
margin:0;
z-index:2;
text-shadow:0 2px 10px rgba(0,0,0,0.75);
}

.service::after{
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:66%;
background:linear-gradient(180deg,rgba(0,0,0,0) 0%, rgba(0,0,0,0.82) 100%);
z-index:1;
}

.service:hover{
transform:translateY(-8px);
border-color:#c9a227;
box-shadow:0 20px 50px rgba(0,0,0,0.9);
}

.service:hover h3{
color:#c9a227;
}

/* ------------------- 6. FLEET -----------------*/

.fleet{
padding:100px 0;
text-align:center;
background:#161616;
}

.fleet-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
margin-top:40px;
}

.fleet-card{
display:block;
text-decoration:none;
color:white;
background:#1b1b1b;
border:1px solid #2a2a2a;
border-radius:12px;
overflow:hidden;
transition:all .3s ease;
padding:24px;
text-align:left;
}

.fleet-card h3{
font-size:24px;
margin:0 0 12px;
}

.fleet-card p{
color:#b5b5b5;
line-height:1.6;
margin:0 0 20px;
}

.fleet-card img{
width:100%;
height:240px;
object-fit:contain;
}

.fleet-card:hover{
transform:translateY(-6px);
box-shadow:0 15px 40px rgba(0,0,0,0.7);
border-color:#c9a227;
}

/* ------------------- 7. PARTNERS -----------------*/

.partners{
padding:100px 0;
background:#101010;
text-align:center;
}

.partner-grid{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:24px;
margin-top:50px;
}

.partner-card{
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
min-height:150px;
padding:24px;
background:linear-gradient(180deg,#181818 0%, #131313 100%);
border:1px solid #2a2a2a;
border-radius:16px;
text-decoration:none;
transition:all .3s ease;
}

.partner-card:hover{
transform:translateY(-4px);
border-color:#c9a227;
box-shadow:0 14px 30px rgba(0,0,0,0.35);
}

.partner-brand{
width:100%;
max-width:220px;
height:110px;
display:flex;
align-items:center;
justify-content:center;
padding:18px;
border-radius:14px;
margin-bottom:18px;
background:transparent;
border:1px solid #2a2a2a;
}

.partner-meta{
font-family:'Playfair Display', serif;
font-size:15px;
letter-spacing:0.05em;
line-height:1.4;
color:#e0e0e0;
text-align:center;
}

.partner-logo{
max-width:100%;
max-height:74px;
width:auto;
height:auto;
object-fit:contain;
filter:brightness(0) invert(1);
opacity:0.92;
}

.tourism-partners{
display:grid;
grid-template-columns:minmax(320px,520px);
gap:20px;
max-width:820px;
margin:44px auto 0;
justify-content:center;
}

.tourism-partner{
display:flex;
flex-direction:column;
gap:10px;
padding:24px 26px;
background:#151515;
border:1px solid #272727;
border-radius:16px;
text-decoration:none;
text-align:center;
transition:all .3s ease;
}

.tourism-partner:hover{
border-color:#c9a227;
transform:translateY(-4px);
}

.tourism-partner-label{
color:#c9a227;
font-size:12px;
letter-spacing:0.08em;
text-transform:uppercase;
}

.tourism-partner-logo{
max-width:280px;
width:100%;
height:auto;
object-fit:contain;
margin:auto;
display:block;
margin:4px auto 2px;
}

.tourism-partner strong{
font-family:'Playfair Display', serif;
font-size:28px;
color:#f3f3f3;
}

/* ------------------- 8. WHY US -----------------*/

.why-us{
padding:100px 0;
}

.why-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px;
margin-top:40px;
}

.why-card{
padding:30px;
background:#141414;
border:1px solid #232323;
border-radius:14px;
}

.why-card h3{
margin-top:0;
margin-bottom:14px;
font-size:22px;
}

.why-card p{
margin:0;
color:#b6b6b6;
line-height:1.7;
}

/* ------------------- 9. BOOKING -----------------*/

.booking{
padding:100px 0;
text-align:center;
background:#0a0a0a;
}

.booking form{
max-width:600px;
margin:auto;
display:flex;
flex-direction:column;
gap:15px;
}

.booking input,
.booking select,
.booking textarea{
padding:12px;
border-radius:6px;
border:none;
}

.booking button{
background:#c9a227;
color:black;
padding:15px;
border:none;
border-radius:25px;
font-weight:bold;
cursor:pointer;
}

/* ------------------- 10. MAP -----------------*/

.map{
padding:100px 0;
text-align:center;
}

/* ------------------- 11. LOGO -----------------*/

@media (max-width: 900px){
.hero-home{
min-height:auto;
height:auto;
padding:124px 20px 56px;
align-items:flex-start;
}

.hero-content{
width:100%;
max-width:680px;
padding:42px 28px;
}

.hero-content h1{
font-size:40px;
}

.trust-grid,
.intro-grid,
.partner-grid,
.why-grid{
grid-template-columns:1fr;
}
}

@media (max-width: 768px){
.hero-home{
padding:112px 16px 46px;
}

.hero-content{
padding:28px 20px;
border-radius:20px;
}

.hero-content h1{
font-size:32px;
line-height:1.08;
margin-bottom:12px;
}

.hero-content p{
font-size:16px;
line-height:1.65;
margin-bottom:18px;
}

.hero-actions{
flex-direction:column;
gap:10px;
}

.hero-actions .cta{
width:100%;
}
}

/* ------------------- 12. SEO -----------------*/

.seo-text{
max-width:1100px;
margin:80px auto;
padding:0 20px;
padding-bottom:100px;
position:relative;
}

.seo-text::after{
content:"";
display:block;
width:100%;
height:1px;
margin-top:60px;
background:linear-gradient(90deg,rgba(201,162,39,0) 0%, rgba(201,162,39,0.65) 50%, rgba(201,162,39,0) 100%);
}

@media (max-width: 1024px){
.trust-grid,
.partner-grid,
.why-grid{
grid-template-columns:repeat(2,minmax(0,1fr));
}
}

@media (max-width: 768px){
.hero-home{
min-height:620px;
}

.hero-content{
padding:30px 18px;
margin:0 16px;
box-sizing:border-box;
}

.hero-content h1{
font-size:34px;
}

.hero-actions{
flex-direction:column;
align-items:center;
gap:8px;
}

.hero-actions .cta{
width:min(100%, 230px);
max-width:230px;
padding:8px 12px;
font-size:12px;
line-height:1.25;
border-radius:14px;
box-sizing:border-box;
}

.intro-grid,
.trust-grid,
.partner-grid,
.tourism-partners,
.why-grid{
grid-template-columns:1fr;
}

.service{
max-width:420px;
margin:0 auto;
}

.services,
.fleet,
.partners,
.why-us,
.booking,
.map{
padding-left:20px;
padding-right:20px;
}
}
