
/* GLOBAL RESET */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

:root{

--forest:     #16241b;
--forest-2:   #23382a;

--gold:       #b99655;
--gold-soft:  #d8bf90;

--ivory:      #f6f3ec;
--muted:      #b6b0a6;

}

html{
scroll-behavior:smooth;
}

body{

background:#122018;

color:var(--ivory);

font-family:'Inter',sans-serif;

overflow-x:hidden;

}

/* custom scrollbar */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-track{
background:#091009;
}

::-webkit-scrollbar-thumb{
background:#5f4b2a;
}

section{
position:relative;
}

.container{
width:min(1500px,92%);
margin:auto;
}

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@300;400;500&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
background:#090b08;
font-family:'Inter',sans-serif;
color:#f4efe5;
overflow-x:hidden;
}

/* HERO */

.hero{
position:relative;
height:72vh;
min-height:750px;
max-height:860px;
overflow:hidden;
}

.hero-slider{

position:absolute;

inset:0;

z-index:0;

}

.hero-video{

position:absolute;
inset:0;

width:100%;
height:100%;

object-fit:cover;

opacity:0;

transform:scale(1.06);

transition:
opacity 1.2s ease,
transform 7s ease;

will-change:opacity,transform;

backface-visibility:hidden;

pointer-events:none;

}

.hero-video.active{

opacity:1;

transform:scale(1.10);

z-index:2;

}
.hero-overlay{
position:absolute;
inset:0;
background:

linear-gradient(
90deg,
rgba(12,22,16,.82) 0%,
rgba(18,35,26,.66) 35%,
rgba(18,35,26,.34) 65%,
rgba(0,0,0,.42) 100%
),

linear-gradient(
180deg,
rgba(0,0,0,.18) 0%,
rgba(0,0,0,.10) 45%,
rgba(0,0,0,.58) 100%
);

z-index:1;
}

.hero-noise{
position:absolute;
inset:0;
background-image:url('https://grainy-gradients.vercel.app/noise.svg');
opacity:.08;
z-index:2;
mix-blend-mode:soft-light;
}

/* NAVBAR */

.navbar{
position:absolute;
top:0;
left:0;
width:100%;

padding:28px 70px;

display:flex;
justify-content:space-between;
align-items:center;

z-index:10;
}

.logo{

display:flex;

align-items:center;

text-decoration:none;

z-index:20;

}

.logo img{

width:280px;

height:auto;

display:block;

object-fit:contain;

filter:
drop-shadow(0 6px 18px rgba(0,0,0,.35));

transition:.35s ease;

}

.logo:hover img{

opacity:.92;

transform:translateY(-1px);

}

.nav-menu{
display:flex;
gap:42px;
}

.nav-menu a{
color:rgba(255,255,255,.78);
text-decoration:none;
font-size:.84rem;
letter-spacing:2px;
text-transform:uppercase;
transition:.35s;
}

.nav-menu a:hover{
color:#c89a58;
}

.lang-switch{
display:flex;
gap:14px;
}

.lang-switch a{
text-decoration:none;
color:#8e8a82;
font-size:.8rem;
letter-spacing:2px;
}

.lang-switch .active{
color:#c89a58;
}

/* HERO CONTENT */

.hero-container{

position:relative;
z-index:5;
height:100%;

padding:125px 70px 45px;

display:flex;
justify-content:space-between;
align-items:flex-end;

}

.hero-content{
max-width:860px;
}

.eyebrow{
display:inline-block;
margin-bottom:34px;
font-size:.82rem;
letter-spacing:4px;
text-transform:uppercase;
color:#c89a58;
}

.eyebrow--access{
position:relative;
padding-left:14px;
letter-spacing:3.2px;
font-size:.74rem;
color:#d4a862;
}

.eyebrow--access::before{
content:'';
position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
width:2px;
height:1.05em;
background:linear-gradient(180deg,rgba(214,172,102,.72),rgba(214,172,102,.28));
}

.hero h1{

font-family:'Cormorant Garamond',serif;

font-size:3.15rem;

line-height:1.02;

font-weight:500;

max-width:520px;

margin-bottom:18px;

letter-spacing:-0.5px;

}
.hero p{

max-width:470px;

font-size:.88rem;

line-height:1.7;

color:rgba(255,255,255,.74);

margin-bottom:28px;

}

/* BUTTONS */

.hero-actions{

display:flex;

gap:20px;

margin-bottom:42px;

flex-wrap:wrap;

}

.btn-primary,
.btn-secondary{

display:inline-flex;

align-items:center;
justify-content:center;

padding:19px 38px;

text-decoration:none;

font-size:.80rem;

letter-spacing:2.4px;

text-transform:uppercase;

transition:.35s ease;

min-height:62px;

}

/* PRIMARY */

.btn-primary{

background:

linear-gradient(
180deg,
#173827,
#11271d
);

border:1px solid rgba(214,172,102,.48);

color:#f4efe5;

box-shadow:

0 10px 28px rgba(0,0,0,.22);

}

.btn-primary:hover{

transform:translateY(-4px);

background:

linear-gradient(
180deg,
#1e4933,
#173827
);

box-shadow:

0 18px 38px rgba(0,0,0,.30);

}

/* SECONDARY */

.btn-secondary{

border:1px solid rgba(214,172,102,.36);

color:#d9c29a;

background:rgba(255,255,255,.04);

backdrop-filter:blur(14px);

}

.btn-secondary:hover{

border-color:#d8b57a;

transform:translateY(-4px);

background:rgba(255,255,255,.06);

}

/* HERO ACCESS STRIP */

.hero-access-strip{

display:flex;

align-items:center;

flex-wrap:wrap;

gap:12px 18px;

max-width:560px;

padding-top:18px;

margin-top:-8px;

border-top:1px solid rgba(177,138,79,.14);

font-size:.66rem;

letter-spacing:2.2px;

text-transform:uppercase;

color:rgba(217,188,132,.78);

opacity:.92;

}

.hero-access-strip .prestige-stars{

font-size:.78rem;

letter-spacing:3px;

}

.hero-access-strip__break{

flex-basis:100%;

height:0;

}

/* legacy alias — inner pages unaffected */
.hero-prestige{

display:flex;

align-items:center;

flex-wrap:wrap;

gap:16px;

font-size:.72rem;

letter-spacing:2px;

text-transform:uppercase;

color:#d9bc84;

opacity:.92;

}

/* GOLD STARS */

.prestige-stars{

color:#f2d49b;

font-size:.82rem;

letter-spacing:4px;

text-shadow:

0 0 10px rgba(214,172,102,.16);

}

/* DIVIDER */

.hero-divider{

color:#b88b4a;

opacity:.45;

}

/* LOCATIONS */

.hero-locations{
font-size:.78rem;
letter-spacing:3px;
text-transform:uppercase;
color:rgba(255,255,255,.45);
}

.estate-card{

position:relative;

width:270px;

padding:22px;

background:

linear-gradient(
180deg,
rgba(28,52,36,.84),
rgba(18,34,24,.78)
);

backdrop-filter:blur(18px);

overflow:hidden;

}

/* 360 fade */

-webkit-mask-image:
radial-gradient(
ellipse at center,
black 78%,
rgba(0,0,0,.92) 86%,
transparent 100%
);

mask-image:
radial-gradient(
ellipse at center,
black 78%,
rgba(0,0,0,.92) 86%,
transparent 100%
);

}
.estate-card::after{

content:'';

position:absolute;

inset:-35px;

pointer-events:none;

background:

radial-gradient(
ellipse at center,
transparent 58%,
rgba(8,16,10,.16) 100%
);

filter:blur(26px);

opacity:.85;

}

.corner{

position:absolute;

width:64px;
height:64px;

z-index:10;

background-image:url('assets/ui/gold-corner.png');

background-size:contain;
background-repeat:no-repeat;

opacity:.36;

pointer-events:none;

transition:.35s ease;

}

/* TOP LEFT */

.corner.tl{

top:1px;
left:1px;

}

/* BOTTOM RIGHT */

.corner.br{

bottom:1px;
right:1px;

transform:rotate(180deg);

}

/* HOVER */

.estate-card:hover .corner{

opacity:.55;

transform:scale(1.04);

}

.estate-card:hover .corner.br{

transform:
rotate(180deg)
scale(1.04);

}

/* LABEL */

.estate-label{

display:block;

margin-bottom:12px;

font-size:.62rem;

letter-spacing:2.5px;

text-transform:uppercase;

color:#b18a4f;

}

/* TITLE */

.estate-card h3{

font-family:'Cormorant Garamond',serif;

font-size:1.25rem;

line-height:1.15;

font-weight:500;

margin-bottom:10px;

}

/* DESCRIPTION */

.estate-card p{

font-size:.80rem;

line-height:1.6;

color:rgba(255,255,255,.68);

margin-bottom:22px;

}

/* META */

.estate-meta{

display:flex;

justify-content:space-between;

padding-top:16px;

border-top:1px solid rgba(177,138,79,.12);

}

.estate-meta--grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:14px 10px;

}

.estate-meta small{

display:block;

margin-bottom:6px;

color:#8a857c;

letter-spacing:1.5px;

text-transform:uppercase;

font-size:.56rem;

}

.estate-meta strong{

font-size:.76rem;

font-weight:400;

color:#f4efe5;

}
/* TABLET */

@media(max-width:1280px){

.hero h1{
font-size:3.6rem;
}

.hero-container{

flex-direction:column;

justify-content:center;

align-items:flex-start;

gap:50px;
}

}

/* MOBILE */

@media(max-width:920px){

.nav-menu{
display:none;
}

.hero{

height:auto;

min-height:100vh;

}

.hero-container{

padding:150px 28px 60px;

flex-direction:column;

justify-content:center;

align-items:flex-start;

gap:42px;

}

.navbar{
padding:24px 28px;
}

.hero h1{

font-size:2.7rem;

max-width:100%;
}

.estate-card{
width:100%;
}

.hero-actions{
flex-direction:column;
}

}

/* DESTINATIONS */

.destinations{

padding:120px 70px;

background:#173025;

}

.section-top{

text-align:center;

margin-bottom:65px;

}

.section-eyebrow{

display:block;

font-size:.72rem;

letter-spacing:3px;

text-transform:uppercase;

color:#b88b4a;

margin-bottom:20px;

}

.section-top h2{

font-family:'Cormorant Garamond',serif;

font-size:2.4rem;

font-weight:500;

letter-spacing:1px;

}

.section-ornament{

display:flex;

justify-content:center;

margin-top:50px;
margin-bottom:-50px;

}

.section-ornament img{

width:340px;

height:auto;

display:block;

opacity:.95;

filter:

drop-shadow(
0 0 12px rgba(184,139,74,.12)
);

}
.section-ornament img{

transition:.45s ease;

}

.section-top:hover .section-ornament img{

transform:translateY(-2px);

opacity:1;

}
.destinations-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:22px;

}

.destination-card{

position:relative;

height:470px;

overflow:hidden;

text-decoration:none;

border:1px solid rgba(184,139,74,.14);

}

.destination-card img{

width:100%;

height:100%;

object-fit:cover;

transition:
transform 1.2s ease,
filter .8s ease;

}

.destination-overlay{

position:absolute;

inset:0;

background:
linear-gradient(
180deg,
rgba(0,0,0,.05) 0%,
rgba(0,0,0,.25) 45%,
rgba(0,0,0,.82) 100%
);

z-index:2;

}

.destination-content{

position:absolute;

left:34px;

bottom:34px;

z-index:4;

}

.destination-content h3{

font-family:'Cormorant Garamond',serif;

font-size:2rem;

font-weight:500;

color:#f4efe5;

margin-bottom:12px;

}

.destination-content span{

font-size:.82rem;

letter-spacing:2px;

text-transform:uppercase;

color:#d3c3a4;

}

.destination-card:hover img{

transform:scale(1.08);

filter:brightness(.78);

}

.destination-card:hover{

border-color:rgba(184,139,74,.45);

}

@media(max-width:1280px){

.destinations-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:920px){

.destinations{

padding:90px 28px;

}

.destinations-grid{

grid-template-columns:1fr;

}

.destination-card{

height:420px;

}

}
/* EXPERIENCES */

/* EXPERIENCES */

.experiences{

padding:80px 70px 130px;

background:#21382b;

text-align:center;

}

.exp-top{

margin-bottom:60px;

}

.exp-eyebrow{

display:block;

font-size:.74rem;

letter-spacing:3px;

text-transform:uppercase;

color:#b88b4a;

margin-bottom:18px;

}

.exp-top h2{

font-family:'Cormorant Garamond',serif;

font-size:3rem;

font-weight:500;

margin-bottom:20px;

}

.exp-grid{

display:grid;

grid-template-columns:repeat(6,1fr);

gap:24px;

}

/* GOLD LUXURY CARDS */

.exp-item{

position:relative;

text-decoration:none;

padding:30px 22px;

overflow:hidden;

display:flex;
flex-direction:column;
align-items:center;
justify-content:center;

text-align:center;

/* REAL GOLD FRAME */

background:

linear-gradient(
135deg,

rgba(255,236,195,.28) 0%,

rgba(214,172,102,.92) 18%,

rgba(143,105,48,.58) 50%,

rgba(222,186,118,.88) 82%,

rgba(255,228,178,.24) 100%

);

border:none;

backdrop-filter:blur(10px);

transition:.45s ease;

}

/* INNER DARK PANEL */

.exp-item::before{

content:'';

position:absolute;

inset:2px;

background:

linear-gradient(
180deg,
rgba(28,50,38,.96),
rgba(20,36,27,.92)
);

pointer-events:none;

z-index:0;

}

/* KEEP CONTENT ABOVE */

.exp-item > *{

position:relative;

z-index:2;

}

/* CARD HOVER */

.exp-item:hover{

box-shadow:

0 0 22px rgba(214,172,102,.22),

0 0 48px rgba(214,172,102,.10);

transform:translateY(-4px);

}

/* ICON */

.exp-icon{

width:110px;

height:110px;

object-fit:contain;

display:block;

margin:0 auto 22px auto;

opacity:.92;

filter:
brightness(.98)
sepia(.25);

transition:.35s ease;

}

/* ICON HOVER */

.exp-item:hover .exp-icon{

transform:
translateY(-4px)
scale(1.08);

opacity:1;

filter:
brightness(1.08)
drop-shadow(
0 0 16px rgba(184,139,74,.30)
);

}

/* TITLE */

.exp-item h3{

margin:0;

font-size:.88rem;

letter-spacing:2px;

text-transform:uppercase;

color:#f1eadf;

}
/* TITLE */

.exp-item h3{

font-size:.88rem;

font-weight:500;

letter-spacing:1px;

text-transform:uppercase;

color:#f4efe5;

}

/* BUTTON WRAP */

.exp-button-wrap{

margin-top:55px;

}

/* BUTTON */

.exp-button{

display:inline-block;

padding:18px 42px;

text-decoration:none;

font-size:.8rem;

letter-spacing:2px;

text-transform:uppercase;

border:1px solid rgba(184,139,74,.45);

color:#f4efe5;

transition:.35s ease;

}

.exp-button:hover{

background:#b88b4a;

color:#091009;

}

/* RESPONSIVE */

@media(max-width:1280px){

.exp-grid{

grid-template-columns:repeat(3,1fr);

}

}

@media(max-width:920px){

.experiences{

padding:90px 28px;

}

.exp-grid{

grid-template-columns:repeat(2,1fr);

gap:18px;

}

.exp-top h2{

font-size:2.2rem;

}

}

/* CTA ROW */

.exp-cta-row{



display:flex;

align-items:center;

justify-content:center;

gap: 70px;

flex-wrap:wrap;

}


/* SIDE TEXT */

.exp-side{

display:flex;

align-items:center;

gap:16px;

font-size:.68rem;

letter-spacing:2.5px;

text-transform:uppercase;

color:#d8bb86;

margin-top:100px;

text-shadow:

0 1px 2px rgba(24,14,4,.35),

0 0 10px rgba(184,139,74,.08);

opacity:.95;

}
/* SINGLE DIVIDER DOT */

.exp-side .divider{

opacity:.42;

color:#b88b4a;

font-size:.8rem;

}

/* CTA */

.exp-btn{

display:inline-flex;

align-items:center;

gap:14px;

padding:20px 42px;

text-decoration:none;

font-size:.78rem;

letter-spacing:2px;

text-transform:uppercase;

border:1px solid rgba(184,139,74,.34);

background:
linear-gradient(
180deg,
rgba(18,45,31,.96),
rgba(14,30,22,.96)
);

color:#f4efe5;

transition:.35s ease;

}

.exp-btn:hover{

transform:translateY(-3px);

border-color:#d3b074;

box-shadow:
0 0 28px rgba(184,139,74,.14);

}

/* MOBILE */

@media(max-width:920px){

.exp-cta-row{

flex-direction:column;

gap:18px;

}

}
/* FEATURED HUNTS */

.featured-hunts{

padding:30px 70px;

background:#f3eee5;

color:#16241b;

}

/* STRONGER LUXURY FRAME */

.fh-frame{

position:relative;

padding:55px 45px 80px;

border-radius:2px;

/* metallic gold frame */

background:

linear-gradient(
135deg,

rgba(255,235,195,.22) 0%,

rgba(214,172,102,.95) 18%,

rgba(143,105,48,.55) 50%,

rgba(222,186,118,.92) 82%,

rgba(255,230,185,.20) 100%

);

box-shadow:

0 0 0 1px rgba(214,172,102,.10),

0 8px 34px rgba(120,88,42,.08);

}

/* FRAME */

.fh-frame{

position:relative;

padding:55px 45px 10px;

overflow:hidden;

}

/* ORNAMENTS */

.fh-ornament{

position:absolute;

display:block;

pointer-events:none;

z-index:10;

width:180px;

height:auto;

opacity:.78;

filter:
drop-shadow(
0 0 10px rgba(184,139,74,.10)
);

}

/* TRUE TOP RIGHT CORNER */

/* TOP ORNAMENT */

.fh-ornament-top{

position:absolute !important;

top:40px !important;

right:30px !important;

left:unset !important;

bottom:unset !important;

margin:0 !important;

width:290px;       /* bigger */

height:auto;

transform:none !important;

z-index:9999;

}

/* BOTTOM ORNAMENT */

.fh-ornament-bottom{

position:absolute;

width:290px;

height:auto;

bottom:40px; 
top:-110px;

left:-10px;

top:auto;

transform:rotate(180deg);

opacity:.72;

}
/* INNER PANEL */

.fh-frame::before{

content:'';

position:absolute;

inset:2px;

background:#f3eee5;

z-index:0;

}

/* SOFT METALLIC SHEEN */

.fh-frame::after{

content:'';

position:absolute;

inset:-2px;

pointer-events:none;

background:

linear-gradient(
90deg,
transparent,
rgba(255,223,156,.18),
transparent
);

filter:blur(12px);

opacity:.55;

}

/* KEEP CONTENT ABOVE */

.fh-frame > *:not(.fh-ornament){

position:relative;

z-index:2;

}

/* HEADER */

.fh-header{

display:flex;

justify-content:space-between;

align-items:flex-end;

margin-bottom:55px;

}

.fh-eyebrow{

display:block;

font-size:.72rem;

letter-spacing:3px;

text-transform:uppercase;

color:#b88b4a;

margin-bottom:18px;

}

.fh-header h2{

font-family:'Cormorant Garamond',serif;

font-size:3rem;

font-weight:500;

color:#f5efe3;

}
/* BOTTOM CTA */

.fh-bottom{

display:flex;

justify-content:center;

margin-top:55px;

}

/* VIEW ALL */

.fh-viewall{

display:inline-flex;

align-items:center;

gap:12px;

padding:18px 38px;

text-decoration:none;

color:#f8f2e7;

letter-spacing:2px;

font-size:.78rem;

text-transform:uppercase;

border:1px solid rgba(184,139,74,.48);

background:

linear-gradient(
180deg,

#b88b4a 0%,

#9f7640 100%

);

box-shadow:

0 10px 26px rgba(184,139,74,.16),

0 0 18px rgba(184,139,74,.08);

transition:.35s ease;

}

.fh-viewall:hover{

transform:translateY(-4px);

background:

linear-gradient(
180deg,

#c99b57 0%,

#b38445 100%

);

border-color:#d9b16b;

box-shadow:

0 18px 36px rgba(184,139,74,.24);

}

/* SLIDER */

.fh-slider{

display:flex;

align-items:center;

gap:28px;

}

.fh-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:22px;

flex:1;

}

/* CARDS */

.fh-card{

position:relative;

height:520px;

overflow:hidden;

border:1px solid rgba(184,139,74,.14);

}

.fh-card img{

width:100%;

height:100%;

object-fit:cover;

transition:1.2s ease;

}

/* ULTRA READABLE OVERLAY */

.fh-overlay{

position:absolute;

inset:0;

z-index:2;

background:

linear-gradient(
180deg,

rgba(3,5,4,.58) 0%,

rgba(8,12,10,.42) 18%,

rgba(8,14,11,.68) 48%,

rgba(4,8,6,.96) 100%

),

linear-gradient(
90deg,

rgba(0,0,0,.12) 0%,

transparent 50%,

rgba(0,0,0,.12) 100%

);

}


.fh-content{

position:absolute;

inset:28px;

z-index:3;

display:flex;

flex-direction:column;

}

.fh-content small{

display:block;

letter-spacing:2px;

color:#d8b980;

font-size:.7rem;

margin-bottom:22px;

}

.fh-content h3{

font-family:'Cormorant Garamond',serif;

font-size:2rem;

line-height:1.08;

margin:0 0 28px;

min-height:138px;

display:flex;

align-items:flex-start;

color:#f8f4ec;

}

.fh-content ul{

display:flex;
flex-direction:column;
gap:14px;
min-height:130px;

}

.fh-content li{

margin-bottom:12px;

font-size:.78rem;

color:rgba(255,255,255,.74);

}

.fh-content strong{

margin-top:auto;

padding-top:18px;

color:#d8b57a;

letter-spacing:1px;

font-size:.9rem;

display:block;

}

.fh-card:hover img{

transform:scale(1.08);

}

.featured-hunts h2{

color:#16241b;

}

/* ARROWS */

.fh-arrow{

width:56px;

height:56px;

border-radius:50%;

border:1px solid rgba(184,139,74,.24);

background:none;

color:#c9a86d;

font-size:2rem;

cursor:pointer;

transition:.35s;

}

.fh-arrow:hover{

border-color:#c9a86d;

transform:scale(1.08);

}


/* METALLIC GOLD DOTS */

.fh-dots span{

width:9px;

height:9px;

border-radius:50%;

background:

radial-gradient(
circle at 35% 30%,
#ffe9bf 0%,
#d9b16b 45%,
#8b6936 100%
);

box-shadow:
0 0 10px rgba(184,139,74,.18);

}

.fh-dots .active{

transform:scale(1.25);

box-shadow:
0 0 18px rgba(215,185,126,.34);

}

@media(max-width:1280px){

.fh-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:920px){

.featured-hunts{

padding:90px 28px;

}

.fh-header{

flex-direction:column;

align-items:flex-start;

gap:24px;

}

.fh-grid{

grid-template-columns:1fr;

}

.fh-arrow{

display:none;

}

}

/* LUXURY STAYS */

.luxury-stays{

position:relative;

min-height:760px;

overflow:hidden;

background:#efe8dc;

color:#16241b;

}

.stays-bg{

position:absolute;

inset:0;

z-index:0;

}

.stays-bg img{

width:100%;

height:100%;

object-fit:cover;

transform:scale(1.03);

}

.stays-overlay{

position:absolute;

inset:0;

z-index:1;

background:

linear-gradient(
90deg,

rgba(5,10,7,.95) 0%,

rgba(10,24,16,.88) 14%,

rgba(18,42,30,.74) 30%,

rgba(24,52,38,.52) 48%,

rgba(243,238,229,.14) 72%,

rgba(243,238,229,.02) 100%

);

}

.stays-inner{

position:relative;

z-index:3;

padding:90px 70px;

}

.stays-left{

max-width:650px;

}

/* EYEBROW */

.stays-eyebrow{

display:block;

font-size:.68rem;

letter-spacing:3px;

text-transform:uppercase;

color:#b88b4a;

margin-bottom:20px;

}

/* TITLE */

/* TITLE */

.stays-left h2{

font-family:'Cormorant Garamond',serif;

font-size:3rem;

font-weight:500;

line-height:1.02;

margin-bottom:24px;

letter-spacing:-.5px;

color:#f6f1e8;

text-shadow:
0 8px 24px rgba(0,0,0,.28);

}

/* TEXT */

.stays-left p{

font-size:.88rem;

line-height:1.8;

max-width:400px;

color:rgba(255,255,255,.82);

margin-bottom:34px;

text-shadow:
0 4px 18px rgba(0,0,0,.22);

}
.stays-btn{

display:inline-block;

padding:15px 30px;

background:#173025;

border:1px solid #b99655;

text-decoration:none;

letter-spacing:2px;

font-size:.72rem;

text-transform:uppercase;

color:#f6f3ec;

transition:.35s ease;

margin-bottom:50px;

}

.stays-btn:hover{

background:#b99655;

border-color:#d8bf90;

color:#16241b;

transform:translateY(-3px);

}

/* GALLERY */

/* GALLERY */

.stays-gallery{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:24px;

max-width:1180px;

width:100%;

}

.stays-thumb{

height:220px;

overflow:hidden;

position:relative;

/* THIN GOLD FRAME */

border:2px solid #b99655;

}

.stays-thumb img{

display:block;

width:100%;

height:100%;

object-fit:cover;

transition:1.15s ease;

}

.stays-thumb:hover img{

transform:scale(1.08);

}
/* MOBILE */

@media(max-width:920px){

.luxury-stays{

min-height:auto;

}

.stays-inner{

padding:75px 28px;

}

.stays-left{

max-width:100%;

}

.stays-left h2{

font-size:2.35rem;

}

.stays-left p{

font-size:.84rem;

}

.stays-gallery{

grid-template-columns:1fr;

}

.stays-thumb{

height:180px;

}

}

/* TOP RIGHT ORNAMENT */

.stays-corner-ornament{

position:absolute;

top:42px;

right:60px;

z-index:4;

pointer-events:none;

}

.stays-corner-ornament img{

width:135px;

height:auto;

display:block;

opacity:.34;

filter:

drop-shadow(
0 0 16px rgba(184,139,74,.10)
);

}

/* WHAT WE OFFER */

.offer-section{

padding:120px 70px;

background:

linear-gradient(
180deg,

#f7f1e6 0%,

#eee4d2 100%

);

}

/* HEADER */

.offer-top{

text-align:center;

margin-bottom:55px;

}

.offer-eyebrow{

display:block;

font-size:.72rem;

letter-spacing:3px;

text-transform:uppercase;

color:#c59a52;

margin-bottom:18px;

opacity:1;

}

/* TITLE */

.offer-top h2{

font-family:'Cormorant Garamond',serif;

font-size:3rem;

font-weight:500;

color:#171410;

}

/* ULTRA LUXURY GOLD SEAL */

.inquiry-seal{

position:absolute;

top:52px;
right:62px;

width:155px;
height:155px;

border-radius:50%;

display:flex;
flex-direction:column;
justify-content:center;
align-items:center;

text-align:center;

background:

radial-gradient(
circle at 35% 26%,

#f7dfab 0%,

#d0a65d 24%,

#aa7f3d 58%,

#775425 100%
);

border:
1px solid rgba(255,232,182,.55);

box-shadow:

0 0 34px rgba(184,139,74,.24),

inset 0 0 20px rgba(255,240,205,.14),

inset 0 0 0 7px rgba(255,228,170,.10);

overflow:hidden;

}

/* INNER RING */

.inquiry-seal::before{

content:'';

position:absolute;

inset:9px;

border-radius:50%;

border:
1px solid rgba(255,236,195,.28);

}

/* EYEBROW */

.inquiry-seal span{

font-size:.50rem;

letter-spacing:3.5px;

text-transform:uppercase;

color:#fff5dc;

margin-bottom:8px;

opacity:.98;

}

/* MAIN TEXT */

.inquiry-seal strong{

font-family:'Cormorant Garamond',serif;

font-size:1.08rem;

line-height:1;

font-weight:600;

color:#fffdf6;

transform:translateY(-8px);

}

/* STARS */

.seal-stars{

position:absolute;

bottom:38px;

left:50%;

transform:translateX(-50%);

display:flex;

align-items:center;

justify-content:center;

gap:8px;

}

.seal-stars span{

color:#fff0c7;

font-size:.62rem;

}

/* GRID */

.offer-grid{

display:grid;

grid-template-columns:repeat(5,1fr);

gap:18px;

max-width:1800px;

margin:0 auto;

}

/* CARD */

.offer-card{

position:relative;

height:430px;

overflow:hidden;

border:1px solid rgba(184,139,74,.14);

background:#111;

}

/* IMAGE */

.offer-card img:first-child{

width:100%;

height:100%;

object-fit:cover;

transition:1.15s ease;

}

/* OVERLAY */

.offer-overlay{

position:absolute;

inset:0;

background:

linear-gradient(
180deg,

rgba(5,7,5,.45) 0%,

rgba(6,10,8,.38) 22%,

rgba(10,15,12,.70) 55%,

rgba(4,8,6,.95) 100%

);

}

/* CONTENT */

.offer-content{

position:absolute;

inset:0;

z-index:3;

padding:34px 24px;

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

text-align:center;

}

/* ICON */

.offer-icon{

width:78px;
height:78px;

object-fit:contain;

margin-bottom:28px;

opacity:.96;

}

/* TITLE */

.offer-content h3{

font-family:'Cormorant Garamond',serif;

font-size:2rem;

line-height:1.05;

margin-bottom:20px;

color:#fffef9;

}

/* TEXT */

.offer-content p{

font-size:.88rem;

line-height:1.8;

max-width:220px;

color:rgba(255,255,255,.80);

}

/* HOVER */

.offer-card:hover img:first-child{

transform:scale(1.08);

}

.offer-card:hover{

border-color:rgba(197,154,82,.42);

}

/* TABLET */

@media(max-width:1350px){

.offer-grid{

grid-template-columns:repeat(3,1fr);

}

}

/* MOBILE */

@media(max-width:920px){

.offer-section{

padding:90px 28px;

}

.offer-grid{

grid-template-columns:1fr;

}

.offer-card{

height:390px;

}

}


/* INTERACTIVE MAP */

.map-section{
position:relative;
min-height:760px;
overflow:hidden;

background:#050806;
color:#f4efe5;

padding:90px 70px;

display:flex;
flex-direction:column;
justify-content:space-between;
text-align:center;
}

/* BG */

.map-bg{
position:absolute;
inset:0;
z-index:0;
}

.map-bg img{
width:100%;
height:100%;

object-fit:cover;
object-position:center;

opacity:.92;

transform:scale(1.03);

filter:
brightness(.92)
contrast(1.08)
saturate(.9);
}

/* SOFT OVERLAY */

.map-overlay{
position:absolute;
inset:0;
z-index:1;

background:

/* GREEN EDGE GLOW */

radial-gradient(
ellipse at center,
rgba(8,18,12,0) 35%,
rgba(18,52,34,.10) 58%,
rgba(12,42,27,.22) 78%,
rgba(6,18,11,.42) 100%
),

/* SIDE GREEN VIGNETTE */

radial-gradient(
circle at center,
transparent 40%,
rgba(14,46,28,.12) 68%,
rgba(7,22,14,.34) 100%
),

/* TOP / BOTTOM DEPTH */

linear-gradient(
180deg,
rgba(4,14,9,.86) 0%,
rgba(6,18,12,.26) 22%,
rgba(0,0,0,.02) 50%,
rgba(6,18,12,.26) 78%,
rgba(4,14,9,.90) 100%
),

/* LEFT / RIGHT GREEN SHADE */

linear-gradient(
90deg,
rgba(10,34,20,.55) 0%,
rgba(8,20,14,.08) 20%,
rgba(0,0,0,0) 50%,
rgba(8,20,14,.08) 80%,
rgba(10,34,20,.58) 100%
);

pointer-events:none;
}
.exp-cta{

margin-top:55px;
margin-bottom:-50px;
display:flex;
justify-content:center;

}

.exp-btn{

display:inline-flex;
align-items:center;
gap:14px;

padding:18px 38px;

text-decoration:none;

font-size:.76rem;
letter-spacing:2.5px;
text-transform:uppercase;

color:#efe9dc;

background:
linear-gradient(
180deg,
#163324 0%,
#10261b 100%
);

border:1px solid rgba(184,139,74,.35);

transition:.35s ease;

box-shadow:
0 16px 40px rgba(0,0,0,.28);

}

.exp-btn::after{

content:'→';

font-size:1rem;

transition:.35s ease;

}

.exp-btn:hover{

transform:translateY(-3px);

border-color:#b88b4a;

background:
linear-gradient(
180deg,
#1e4530 0%,
#163324 100%
);

box-shadow:
0 24px 55px rgba(0,0,0,.42);

}

.exp-btn:hover::after{

transform:translateX(6px);

}
/* CONTENT */

.map-inner{
position:relative;
z-index:4;

display:flex;
flex-direction:column;
justify-content:space-between;
align-items:center;

width:100%;
min-height:580px;
}

/* TOP */

.map-top{
padding-top:10px;
max-width:980px;
}

/* EYEBROW */

.map-eyebrow{
display:block;

font-size:.72rem;
letter-spacing:4px;
text-transform:uppercase;

color:#b88b4a;

margin-bottom:22px;
}

/* TITLE WRAPPER */

.map-title-wrap{

display:inline-block;

padding:22px 42px;

background:
linear-gradient(
180deg,
rgba(0,0,0,.26) 0%,
rgba(0,0,0,.10) 100%
);

backdrop-filter:blur(6px);

border:1px solid rgba(184,139,74,.08);

border-radius:24px;

margin-bottom:24px;
}

/* MAIN HEADING */

.map-inner h2{

font-family:'Cormorant Garamond',serif;

font-size:4.4rem;
font-weight:600;

line-height:.92;

letter-spacing:-1px;

color:#ffffff;

margin:0;

text-shadow:
0 2px 0 rgba(255,255,255,.05),
0 10px 28px rgba(0,0,0,.92),
0 0 35px rgba(184,139,74,.14);
}

/* TEXT */

.map-inner p{

font-size:1rem;
line-height:1.9;

max-width:720px;
margin:0 auto;

color:rgba(255,255,255,.82);

text-shadow:
0 6px 18px rgba(0,0,0,.65);
}

/* CTA */

.map-bottom{
padding-bottom:15px;
}

.map-btn{

display:inline-block;

padding:19px 44px;

background:
linear-gradient(
180deg,
#173727 0%,
#10261b 100%
);

border:1px solid rgba(184,139,74,.34);

text-decoration:none;

letter-spacing:2.5px;
font-size:.76rem;
text-transform:uppercase;

color:#f5f0e7;

box-shadow:
0 18px 42px rgba(0,0,0,.42);

transition:.35s ease;
}

.map-btn:hover{

transform:translateY(-3px);

background:
linear-gradient(
180deg,
#214b35 0%,
#173727 100%
);

border-color:#b88b4a;

box-shadow:
0 26px 54px rgba(0,0,0,.55);
}

/* MOBILE */

@media(max-width:920px){

.map-section{
padding:75px 28px;
min-height:620px;
}

.map-title-wrap{
padding:16px 24px;
}

.map-inner h2{
font-size:2.9rem;
line-height:1;
}

.map-inner p{
font-size:.88rem;
max-width:100%;
}

}
/* PRIVATE CTA */

.private-cta{

position:relative;

min-height:620px;

overflow:hidden;

background:#132117;

}

.private-bg{

position:absolute;

inset:0;

z-index:0;

}

.private-bg img{

width:100%;

height:100%;

object-fit:cover;

transform:scale(1.03);

}

.private-overlay{

position:absolute;

inset:0;

z-index:1;

background:

linear-gradient(
90deg,

rgba(8,14,10,.78) 0%,

rgba(12,22,16,.58) 28%,

rgba(14,28,20,.24) 58%,

rgba(10,18,14,.20) 100%

),

linear-gradient(
180deg,

rgba(0,0,0,.08) 0%,

rgba(0,0,0,.10) 50%,

rgba(0,0,0,.42) 100%

);

}

.private-inner{

position:relative;

z-index:4;

padding:95px 70px;

max-width:620px;

}

/* EYEBROW */

.private-eyebrow{

display:block;

margin-bottom:24px;

font-size:.72rem;

letter-spacing:3px;

text-transform:uppercase;

color:#b88b4a;

}

/* HEADLINE */

.private-inner h2{

font-family:'Cormorant Garamond',serif;

font-size:4rem;

font-weight:500;

line-height:.98;

margin-bottom:28px;

}

/* TEXT */

.private-inner p{

font-size:1rem;

line-height:1.85;

max-width:520px;

color:rgba(255,255,255,.74);

margin-bottom:42px;

}

/* BUTTON */

.private-btn{

display:inline-block;

padding:19px 42px;

background:#c7a368;

border:1px solid #d6b57f;

text-decoration:none;

letter-spacing:2px;

font-size:.76rem;

text-transform:uppercase;

color:#081008;

font-weight:600;

transition:.35s ease;

}

.private-btn:hover{

transform:translateY(-3px);

background:#d8b57a;

box-shadow:
0 14px 34px rgba(184,139,74,.22);

}

/* TRUST */

.private-note{

display:block;

margin-top:28px;

font-size:.72rem;

letter-spacing:1px;

color:rgba(255,255,255,.45);

}

/* MOBILE */

@media(max-width:920px){

.private-cta{

min-height:auto;

}

.private-inner{

padding:75px 28px;

max-width:100%;

}

.private-inner h2{

font-size:2.6rem;

}

.private-inner p{

font-size:.88rem;

}

}

/* BOTTOM RIGHT ORNAMENT */

.private-corner-ornament{

position:absolute;

right:42px;

bottom:32px;

z-index:3;

pointer-events:none;

}

.private-corner-ornament img{

display:block;

width:150px;

height:auto;

opacity:.22;

filter:

drop-shadow(
0 0 14px rgba(184,139,74,.10)
);

}
/* FOOTER */

.footer{

background:#21382b;

padding:85px 70px 38px;

border-top:1px solid rgba(184,139,74,.10);

}

/* TOP */

.footer-top{

display:grid;

grid-template-columns:
1.3fr
repeat(5,1fr);

gap:50px;

padding-bottom:42px;

border-bottom:1px solid rgba(184,139,74,.12);

}

/* BRAND */

.footer-logo{

width:210px;

margin-bottom:34px;

}

/* SOCIAL WRAP */

.footer-socials{

display:flex;

gap:16px;

}

/* PREMIUM SOCIAL BUTTONS */

.footer-socials a{

width:50px;

height:50px;

display:flex;

align-items:center;

justify-content:center;

border-radius:50%;

text-decoration:none;

font-size:.78rem;

letter-spacing:2px;

color:#f7f1e7;

background:

linear-gradient(
180deg,

rgba(184,139,74,.22) 0%,

rgba(122,88,42,.16) 100%

);

border:

1px solid rgba(184,139,74,.34);

box-shadow:

0 0 16px rgba(184,139,74,.08),

inset 0 0 10px rgba(255,228,170,.05);

transition:.35s ease;

}

/* HOVER */

.footer-socials a:hover{

transform:translateY(-3px);

border-color:#d9b16b;

background:

linear-gradient(
180deg,

#c99b57 0%,

#a97b3d 100%

);

color:#ffffff;

box-shadow:

0 10px 28px rgba(184,139,74,.18),

0 0 18px rgba(214,172,102,.10);

}

/* COLUMNS */

.footer-col h4{

font-size:.78rem;

letter-spacing:3px;

text-transform:uppercase;

margin-bottom:24px;

color:#b88b4a;

}

.footer-col{

display:flex;

flex-direction:column;

}

.footer-col a{

text-decoration:none;

color:rgba(255,255,255,.68);

font-size:.92rem;

line-height:2.1;

transition:.3s;

}

.footer-col a:hover{

color:#d5b278;

padding-left:4px;

}

/* BOTTOM */

.footer-bottom{

display:flex;

justify-content:space-between;

align-items:center;

padding-top:34px;

}

.footer-bottom span{

font-size:.78rem;

letter-spacing:1px;

color:rgba(255,255,255,.42);

}

/* EMBEDDED ORNAMENT */

.footer-divider{

display:flex;

align-items:center;

justify-content:center;

padding:0 34px;

flex-shrink:0;

}

.footer-divider img{

display:block;

width:192px;

height:auto;

opacity:.72;

filter:

drop-shadow(
0 0 10px rgba(184,139,74,.10)
);

}

.footer-legal{

display:flex;

align-items:center;

gap:34px;

}

.footer-legal a{

text-decoration:none;

font-size:.78rem;

text-transform:uppercase;

letter-spacing:2px;

color:rgba(255,255,255,.45);

transition:.3s;

}

.footer-legal a:hover{

color:#cda86b;

}

/* MOBILE */

@media(max-width:1200px){

.footer-top{

grid-template-columns:repeat(3,1fr);

}

}

@media(max-width:920px){

.footer{

padding:70px 28px 32px;

}

.footer-top{

grid-template-columns:1fr;

gap:42px;

}

.footer-bottom{

flex-direction:column;

gap:22px;

align-items:flex-start;

}

.footer-divider{

padding:4px 0;

}

.footer-legal{

flex-direction:column;

gap:14px;

align-items:flex-start;

}

}

/* PRIVATE AUTHORITY CARD */

.private-authority{

position:absolute;

top:54px;
right:54px;

width:285px;

padding:24px;

background:

linear-gradient(
180deg,

rgba(28,52,36,.84),
rgba(18,34,24,.78)

);

backdrop-filter:blur(18px);

overflow:hidden;

z-index:12;

/* SOFT EDGE FADE */

-webkit-mask-image:

radial-gradient(
ellipse at center,

black 78%,

rgba(0,0,0,.92) 86%,

transparent 100%

);

mask-image:

radial-gradient(
ellipse at center,

black 78%,

rgba(0,0,0,.92) 86%,

transparent 100%

);

}

/* OUTER FADE */

.private-authority::after{

content:'';

position:absolute;

inset:-35px;

pointer-events:none;

background:

radial-gradient(
ellipse at center,

transparent 58%,

rgba(8,16,10,.16) 100%

);

filter:blur(26px);

opacity:.85;

}

/* TOP GOLD EDGE */

.private-authority::before{

content:'';

position:absolute;

top:0;
left:0;

width:100%;
height:1px;

background:

linear-gradient(
90deg,

transparent,

#d8b980,

transparent

);

z-index:2;

}

/* ORNAMENT */

.authority-ornament{

position:absolute;

right:-1px;
bottom:8px;

width:106px;

opacity:.42;

pointer-events:none;

z-index:1;

transition:.35s ease;

mix-blend-mode:screen;

}

/* HOVER */

.private-authority:hover .authority-ornament{

opacity:.62;

transform:scale(1.03);

}

/* EYEBROW */

.authority-eyebrow{

display:block;

margin-bottom:14px;

font-size:.58rem;

letter-spacing:3.5px;

text-transform:uppercase;

color:#d8b980;

position:relative;

z-index:3;

}

/* TITLE */

.private-authority h3{

font-family:'Cormorant Garamond',serif;

font-size:2rem;

line-height:.95;

font-weight:500;

margin-bottom:24px;

color:#fff8ef;

position:relative;

z-index:3;

}

/* LIST */

.authority-list{

display:flex;

flex-direction:column;

gap:16px;

padding:0;

margin:0;

list-style:none;

position:relative;

z-index:3;

}

/* ITEMS */

.authority-list li{

position:relative;

padding-left:14px;

font-size:.80rem;

line-height:1.55;

color:rgba(255,255,255,.70);

}

/* GOLD STAR */

.authority-list li::before{

content:'✦';

position:absolute;

left:0;
top:1px;

font-size:.55rem;

color:#d8b980;

}

/* HIGHLIGHT */

.authority-list strong{

display:block;

margin-bottom:2px;

font-size:.92rem;

font-weight:500;

letter-spacing:.6px;

color:#efd19b;

}

/* MOBILE */

@media(max-width:980px){

.private-authority{

position:relative;

top:auto;
right:auto;

width:100%;

margin-top:42px;

}

}

/* ============================================================
   ▟ INTERACTION ELEVATION LAYER  ▙
   Added on top of the approved design. Purely additive:
   smooth scroll, atmospheric grain, a refined cursor, and
   premium micro-interactions. Nothing above this line was
   altered. Everything here degrades gracefully (no-JS /
   reduced-motion / touch) back to the approved baseline.
   ============================================================ */

/* ---- Lenis smooth scroll plumbing ---- */
html.lenis,
html.lenis body { height: auto; }
html.lenis { scroll-behavior: auto; }              /* Lenis owns the scroll */
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

/* ---- Context-aware cursor (unified with the rest of the project)
   A ring that tightens on interactive elements and opens into a
   gold disc carrying a contextual label ("VIEW HUNT", "EXPLORE",
   "BEGIN"…). Desktop / fine-pointer only. ---- */
.cursor{
  position:fixed; top:0; left:0;
  width:16px; height:16px;
  border:1px solid rgba(200,154,88,.7);
  border-radius:50%;
  pointer-events:none;
  z-index:9999;
  transform:translate3d(-100px,-100px,0) translate(-50%,-50%);
  transition:width .4s cubic-bezier(.16,1,.3,1),
             height .4s cubic-bezier(.16,1,.3,1),
             background-color .4s cubic-bezier(.16,1,.3,1),
             border-color .4s cubic-bezier(.16,1,.3,1),
             opacity .35s ease;
  will-change:transform;
  display:grid; place-items:center;
}
.cursor__label{
  font-family:'Inter',sans-serif;
  font-size:.5rem; font-weight:500;
  letter-spacing:.22em; text-transform:uppercase;
  color:#122018;
  opacity:0; white-space:nowrap;
  transform:scale(.7);
  transition:opacity .3s ease, transform .3s ease;
}
.cursor.is-hover{
  width:11px; height:11px;
  background:#c89a58; border-color:#c89a58;
}
.cursor.is-label{
  width:84px; height:84px;
  background:#c89a58; border-color:#d6b57f;
  box-shadow:0 8px 30px -8px rgba(184,139,74,.5);
}
.cursor.is-label .cursor__label{ opacity:1; transform:scale(1); }
.cursor.is-hide{ opacity:0; }
body.has-custom-cursor,
body.has-custom-cursor a,
body.has-custom-cursor button{ cursor:none; }

/* ---- Atmospheric film grain (whole page, very subtle) ---- */
.rh-grain{
  position:fixed; inset:0;
  pointer-events:none;
  z-index:9990;
  opacity:.05;
  mix-blend-mode:soft-light;
}

/* ---- Nav: refined gold underline on hover ---- */
.nav-menu a{ position:relative; }
.nav-menu a::after{
  content:'';
  position:absolute; left:0; bottom:-6px;
  width:100%; height:1px;
  background:#c89a58;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .5s cubic-bezier(.16,1,.3,1);
}
.nav-menu a:hover::after{ transform:scaleX(1); }

/* ---- Premium depth on hover for the editorial cards ---- */
.destination-card,
.offer-card,
.fh-card{
  transition:transform .8s cubic-bezier(.16,1,.3,1),
             box-shadow .8s cubic-bezier(.16,1,.3,1),
             border-color .35s ease;
  will-change:transform;
}
.destination-card:hover,
.offer-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 60px -24px rgba(0,0,0,.7);
}
.fh-card:hover{
  box-shadow:0 30px 60px -26px rgba(20,12,2,.45);
}

/* gentle lift for the species gold tiles (keeps approved frame) */
.exp-item{ will-change:transform; }

/* ---- Featured-hunts: functional momentum slider ----
   On desktop the four cards still sit flush (identical look);
   once cards overflow (tablet / future cards) the arrows drive
   a smooth, snap-aligned horizontal track. */
@media(min-width:921px){
  .fh-grid{
    display:flex;
    gap:22px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -ms-overflow-style:none;
    scrollbar-width:none;
    padding-bottom:4px;
  }
  .fh-grid::-webkit-scrollbar{ display:none; }
  .fh-grid > .fh-card{
    flex:0 0 calc((100% - 66px) / 4);
    scroll-snap-align:start;
  }
}
@media(min-width:921px) and (max-width:1280px){
  .fh-grid > .fh-card{ flex-basis:calc((100% - 22px) / 2); }
}
.fh-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  transition:opacity .4s ease, transform .35s ease, border-color .35s ease;
}
.fh-arrow[disabled]{ opacity:.22; pointer-events:none; }
.fh-grid.is-grabbing{ scroll-behavior:auto; cursor:grabbing; }

/* ---- Reveal baseline: only armed once JS confirms the full engine
   is on (html.rh-motion). With no-JS / reduced-motion / a failed CDN
   the class is never added and the page renders fully visible. ---- */
html.rh-motion .hero-content h1{ clip-path:inset(0 0 100% 0); }

/* ---- Respect reduced motion & no-JS ---- */
.no-js .cursor,
.no-js .rh-grain{ display:none; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .cursor, .rh-grain{ display:none !important; }
  html.rh-motion .hero-content h1{ clip-path:none !important; }
  .destination-card:hover,
  .offer-card:hover,
  .fh-card:hover{ transform:none; }
}

/* touch / coarse pointer: no custom cursor */
@media (hover:none), (pointer:coarse){
  .cursor{ display:none !important; }
  body.has-custom-cursor,
  body.has-custom-cursor a,
  body.has-custom-cursor button{ cursor:auto; }
}