:root{
  --black:#050606;
  --ink:#111310;
  --cream:#f7f4ec;
  --gold:#d7b86f;
  --gold-bright:#f0d797;
  --gold-deep:#9b7628;
  --silver:#b8beb9;
  --surface:#0b0d0c;
  --surface-soft:#111411;
  --line:rgba(236,211,151,.2);
}

body{
  background:
    radial-gradient(circle at 12% 8%,rgba(215,184,111,.09),transparent 28rem),
    linear-gradient(180deg,#050606,#090b09 55%,#050606);
  color:#f8f5ed;
  letter-spacing:.006em;
}

::selection{background:var(--gold);color:#080908}

.header{
  height:82px;
  border:1px solid rgba(255,255,255,.13);
  border-bottom-color:rgba(215,184,111,.22);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(8,10,9,.9),rgba(16,18,16,.72));
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
  box-shadow:0 18px 55px rgba(0,0,0,.28);
}

.brand-name{
  color:var(--gold-bright);
  text-shadow:0 0 28px rgba(215,184,111,.2);
}

.header nav a{color:#e6e7e2;transition:color .2s ease}
.header nav a:hover{color:var(--gold-bright)}
.header-book,.btn-gold{
  color:#090a08;
  border:1px solid rgba(255,255,255,.35);
  background:linear-gradient(110deg,#b88b2c 0%,#ecd48e 48%,#c49a3e 100%);
  box-shadow:0 10px 30px rgba(177,132,35,.2),inset 0 1px 0 rgba(255,255,255,.65);
}

.hero{
  border:1px solid rgba(255,255,255,.12);
  border-radius:30px;
  box-shadow:0 40px 100px rgba(0,0,0,.48);
}
.hero>img{object-position:50% 50%}

.hero:after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(239,215,156,.08),inset 0 -120px 150px rgba(0,0,0,.22);
}

.hero-overlay{
  background:
    linear-gradient(180deg,rgba(3,4,3,.52),rgba(3,4,3,.04) 36%,rgba(3,4,3,.93)),
    linear-gradient(90deg,rgba(3,4,3,.52),transparent 62%);
}

.hero-content{z-index:3}
.hero-kicker{
  display:inline-flex;
  width:max-content;
  padding:10px 14px;
  border:1px solid rgba(240,215,151,.45);
  border-radius:999px;
  background:rgba(5,6,6,.5);
  color:var(--gold-bright);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}

.hero h1{
  color:#fffdf7;
  text-shadow:0 4px 35px rgba(0,0,0,.5);
}

.hero-bottom{border-color:rgba(240,215,151,.34)}
.hero-bottom p{color:#fffdf8;font-weight:400}
.hero-bottom span{color:#d2d5cf}

.btn,.header-book{
  border-radius:999px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;
}

.btn:hover,.header-book:hover{transform:translateY(-2px)}
.btn-light{
  background:linear-gradient(135deg,#fffdf8,#eae5d8);
  box-shadow:0 12px 32px rgba(0,0,0,.2);
}
.btn-line{background:rgba(8,9,8,.3);border-color:rgba(255,255,255,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn-line:hover{border-color:var(--gold);background:rgba(215,184,111,.1)}

.floating-call{
  z-index:22;
  width:68px;
  height:68px;
  color:var(--gold-bright);
  background:radial-gradient(circle at 38% 30%,#242015 0,#0d0e0c 46%,#030403 100%);
  border:2px solid var(--gold-bright);
  box-shadow:0 16px 48px rgba(0,0,0,.62),0 0 0 7px rgba(215,184,111,.12),inset 0 0 0 4px rgba(215,184,111,.08),inset 0 1px 0 rgba(255,255,255,.18);
}
.floating-call:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 20px 55px rgba(0,0,0,.7),0 0 0 9px rgba(215,184,111,.15),inset 0 0 0 4px rgba(215,184,111,.1)}
.phone-glyph{
  display:block;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  font-size:2rem;
  line-height:1;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.55));
}

.editorial{
  position:relative;
  background:
    radial-gradient(circle at 82% 12%,rgba(215,184,111,.18),transparent 24rem),
    linear-gradient(145deg,#faf8f2,#eee9dc);
}
.editorial:after{content:"";position:absolute;left:8vw;right:8vw;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.editorial h2{color:#151713}
.editorial-grid>div p{color:#4c514b;font-size:1.05rem}
.section-label{color:#5f625d}.section-label span{color:var(--gold-deep)}
.text-link{border-color:var(--gold-deep);color:#292b28}

.spin-section{
  background:
    radial-gradient(circle at 50% 50%,rgba(188,140,44,.13),transparent 34rem),
    linear-gradient(180deg,#070807,#0d100d);
}
.spin-heading span{color:var(--gold-bright)}
.spin-heading h2,.section-head h2,.amenities h2,.booking-heading h2{color:#fffdf7}
.spin-viewer{
  border-color:rgba(228,198,128,.38);
  box-shadow:0 42px 100px rgba(0,0,0,.75),0 0 70px rgba(180,130,32,.08);
}
.spin-arrow{border-color:rgba(239,214,153,.5);background:rgba(5,6,6,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}

.services-section{
  background:
    radial-gradient(circle at 100% 0,rgba(215,184,111,.08),transparent 32rem),
    #080a08;
}
.service-list{border-color:rgba(255,255,255,.12)}
.service-list article{
  position:relative;
  border-color:rgba(255,255,255,.12);
  transition:background .25s ease,padding .25s ease,border-color .25s ease;
}
.service-list article:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:2px;background:var(--gold);transform:scaleY(0);transition:transform .25s ease}
.service-list article:hover{padding-left:22px;border-color:rgba(215,184,111,.35);background:linear-gradient(90deg,rgba(215,184,111,.08),transparent)}
.service-list article:hover:before{transform:scaleY(1)}
.service-list h3{color:#fffdf7}.service-list p{color:#aeb4ae}.service-list b,.service-list .number{color:var(--gold-bright)}

.amenities{
  background:
    linear-gradient(135deg,rgba(215,184,111,.08),transparent 35%),
    #0b0d0c;
}
.amenities-grid{align-items:start}
.amenities-list{gap:12px;border:0}
.amenities-list span{
  margin:0!important;
  padding:20px 22px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  color:#e5e7e1;
}
.amenities-list span:before{content:"◆";margin-right:12px;color:var(--gold);font-size:.62rem}

.booking{
  background:
    radial-gradient(circle at 12% 15%,rgba(215,184,111,.1),transparent 30rem),
    linear-gradient(180deg,#060706,#0b0d0b);
}
.booking-heading{display:grid;grid-template-columns:1fr .55fr;align-items:end;column-gap:50px}
.booking-heading .section-label{grid-column:1/-1;color:#b7bbb5}
.booking-heading>p{color:#b3b8b2;line-height:1.8}
.booking-form{
  border:1px solid rgba(232,204,139,.3);
  border-radius:32px;
  background:linear-gradient(155deg,rgba(18,21,18,.96),rgba(7,8,7,.98));
  box-shadow:0 45px 100px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05);
}
.booking-form legend{color:#f6f3ea;border-color:rgba(255,255,255,.13)}
.booking-form legend>span{background:linear-gradient(145deg,#f0d797,#a77b24);box-shadow:0 8px 25px rgba(169,123,36,.25)}
.booking-form label{color:#c0c4be}
.booking-form input,.booking-form select,.booking-form textarea{
  min-height:56px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.045);
  color:#fff;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{
  outline:0;
  border-color:var(--gold);
  background:rgba(215,184,111,.06);
  box-shadow:0 0 0 4px rgba(215,184,111,.1);
}
.vehicle-choice{border-color:rgba(232,204,139,.28)!important;border-radius:22px;background:linear-gradient(135deg,#111410,#070807)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.vehicle-choice>b{border-color:var(--gold);color:var(--gold-bright)}
.return-fields{border-color:rgba(215,184,111,.24);border-radius:18px;background:rgba(215,184,111,.04)}

.route-planner{
  border-color:rgba(232,204,139,.3);
  border-radius:24px;
  background:#070807;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.route-toolbar,.route-summary,.route-status{border-color:rgba(255,255,255,.12)}
.route-toolbar span{color:var(--gold-bright)}
.route-button{border-radius:999px;background:linear-gradient(110deg,#b98b2c,#edd794);box-shadow:0 10px 28px rgba(181,135,37,.2)}
.route-summary strong{color:var(--gold-bright)}
.btn-gold{min-height:64px;font-size:.78rem}

.contact{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% -20%,rgba(255,239,193,.3),transparent 28rem),
    linear-gradient(135deg,#6d511a,#ad8530 48%,#5b4315);
}
.contact:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.2);pointer-events:none}
.contact>*{position:relative}

footer{border-top:1px solid rgba(215,184,111,.2);background:#050606}
footer b{color:var(--gold-bright)}

.luggage-notice{
  margin:4px 0 30px;
  padding:16px 18px;
  border:1px solid rgba(215,184,111,.38);
  border-left:3px solid var(--gold);
  background:rgba(215,184,111,.07);
  color:#c8cac5;
  font-size:.92rem;
  line-height:1.55;
}
.luggage-notice strong{color:var(--gold-bright)}

.payment-step{padding-top:4px}
.payment-intro{max-width:720px;margin:-4px 0 24px;color:#b8bcb6;font-size:.95rem;line-height:1.65}
.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.payment-choice{position:relative;display:grid!important;grid-template-columns:54px 1fr 30px;align-items:center;gap:17px;min-height:112px;padding:24px!important;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.035);cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.payment-choice:hover{transform:translateY(-2px);border-color:rgba(240,215,151,.55);background:rgba(215,184,111,.07)}
.payment-choice>input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0}
.payment-choice:has(input:checked){border-color:var(--gold);background:linear-gradient(135deg,rgba(215,184,111,.14),rgba(215,184,111,.04));box-shadow:0 0 0 3px rgba(215,184,111,.08)}
.payment-choice>span:nth-of-type(2){display:flex;flex-direction:column;gap:6px}
.payment-choice strong{color:#fff;font-size:1.05rem;letter-spacing:.01em;text-transform:none}
.payment-choice small{color:#969c96;font-size:.76rem;letter-spacing:.02em;text-transform:none}
.payment-choice>b{width:28px;height:28px;border:1px solid #555;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:.8rem}
.payment-choice:has(input:checked)>b{border-color:var(--gold);background:var(--gold);color:#080908}
.payment-icon{width:54px;height:40px;border-radius:9px;display:grid;place-items:center}
.card-icon{position:relative;border:1px solid #7d817d;background:linear-gradient(145deg,#2a2e2b,#111311)}
.card-icon:before{content:"";position:absolute;left:0;right:0;top:10px;height:7px;background:linear-gradient(90deg,var(--gold),var(--gold-bright))}
.card-icon:after{content:"••••";position:absolute;left:8px;bottom:4px;color:#d9dcd7;font-size:.65rem;letter-spacing:.12em}
.twint-icon{border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,#f22960 0 25%,#762ae8 25% 50%,#19a7ef 50% 75%,#22c972 75%);color:#fff;font:700 1.35rem "DM Sans",Arial,sans-serif;text-shadow:0 1px 5px #0008}
.payment-security{display:flex;align-items:flex-start;gap:13px;margin-top:18px;padding:17px 19px;border-radius:14px;background:#080a08;border:1px solid rgba(215,184,111,.22)}
.payment-security>span{color:var(--gold);margin-top:3px}.payment-security p{margin:0;color:#aeb3ad;font-size:.84rem;line-height:1.55}.payment-security strong{color:#ece8dd}
.contact-payment{margin:30px auto 0!important;color:#f5e7bd;font-size:.82rem!important;letter-spacing:.04em!important;text-transform:none!important}

@media(max-width:850px){
  .header{border-radius:20px;height:68px;background:rgba(7,8,7,.88)}
  .menu{border-color:rgba(240,215,151,.5);border-radius:999px;color:var(--gold-bright)}
  .hero{border-radius:24px}
  .hero-kicker{font-size:.61rem}
  .hero h1{font-size:21vw;line-height:.86}
  .booking-heading{display:block}
  .booking-form{border-radius:22px;padding:30px 18px}
  .route-planner{border-radius:18px}
  .amenities-list{grid-template-columns:1fr}
  .hero>img{object-position:48% 50%}
  .floating-call{width:58px;height:58px}
  .phone-glyph{font-size:1.75rem}
  .payment-methods{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:no-preference){
  .hero>img{animation:premiumReveal 1.2s ease both}
  .hero-content{animation:premiumRise .9s .15s ease both}
}
@keyframes premiumReveal{from{transform:scale(1.04);filter:brightness(.72)}to{transform:scale(1);filter:brightness(1)}}
@keyframes premiumRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
