
:root{
  --ink:#0B0B0C; --ink-2:#131211; --espresso:#1B1712; --espresso-2:#211C15;
  --gold:#B08D2B; --gold-light:#E8C766; --gold-dim:rgba(176,141,43,0.35);
  --palm:#1F4D3A; --palm-light:#2E6B52;
  --sand:#EDE3CF; --sand-2:#E4D7BC; --cream:#F3EFE6; --cream-dim:rgba(243,239,230,0.68);
  --line-dark:rgba(232,199,102,0.16); --line-light:rgba(11,11,12,0.12);
  --shadow-1:0 20px 60px rgba(0,0,0,0.45); --shadow-2:0 10px 30px rgba(0,0,0,0.35);
  --font-display:'Fraunces',serif; --font-body:'Inter',sans-serif; --font-mono:'Space Mono',monospace;
  --font-ar:'Noto Naskh Arabic',serif;
  --container:1240px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;}
}
body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;-webkit-tap-highlight-color:transparent;}
a,button,.btn,.tilt,input,select{touch-action:manipulation;}
html[dir="rtl"] body{font-family:var(--font-ar),var(--font-body);}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;margin:0;letter-spacing:-0.01em;}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3,html[dir="rtl"] h4{font-family:var(--font-ar),var(--font-display);letter-spacing:0;}
p{margin:0;}
.container{max-width:var(--container);margin:0 auto;padding:0 32px;}
:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px;}
img,svg,video{max-width:100%;}

.eyebrow{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold-light);display:inline-flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--gold-light);display:inline-block;}
html[dir="rtl"] .eyebrow{letter-spacing:0.05em;}

.section{padding:100px 0;position:relative;}
.section--espresso{background:var(--espresso);}
.section--ink{background:var(--ink);}
.section-head{max-width:720px;margin-bottom:52px;}
.section-head h2{font-size:clamp(2rem,4vw,3rem);margin-top:18px;color:var(--cream);}
.section-head p{margin-top:18px;color:var(--cream-dim);font-size:1.05rem;max-width:620px;}

.wing-divider{display:flex;align-items:center;justify-content:center;height:60px;}
.wing-divider svg{width:120px;height:40px;opacity:0.55;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;font-family:var(--font-mono);font-size:0.76rem;letter-spacing:0.1em;text-transform:uppercase;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);white-space:nowrap;}
html[dir="rtl"] .btn{font-family:var(--font-ar),var(--font-mono);letter-spacing:0;text-transform:none;font-size:0.92rem;}
.btn--gold{background:var(--gold);color:var(--ink);}
.btn--gold:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:var(--shadow-2);}
.btn--outline{background:transparent;border-color:var(--gold-dim);color:var(--cream);}
.btn--outline:hover{border-color:var(--gold-light);background:rgba(232,199,102,0.06);}
.btn--dark{background:var(--ink);color:var(--cream);}
.btn--dark:hover{background:var(--espresso-2);}
.btn--palm{background:var(--palm);color:var(--cream);}
.btn--palm i.fa-whatsapp{color:#ffffff;font-size:1.05em;}
.btn--palm:hover{background:var(--palm-light);}
.btn:disabled{opacity:0.45;cursor:not-allowed;transform:none !important;}

.reveal{opacity:0;transform:translateY(28px) rotateX(6deg);transform-origin:top center;transition:opacity .9s cubic-bezier(.2,.8,.2,1), transform .9s cubic-bezier(.2,.8,.2,1);}
.reveal.is-visible{opacity:1;transform:translateY(0) rotateX(0);}
.tilt{transform-style:preserve-3d;will-change:transform;transition:transform .18s cubic-bezier(.2,.8,.2,1);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;}}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;transition:all .4s ease;background:linear-gradient(to bottom, rgba(11,11,12,0.85), transparent);}
.nav.is-scrolled{padding:12px 32px;background:rgba(11,11,12,0.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-dark);}
.nav__brand{display:flex;align-items:center;gap:12px;}
.nav__brand img{width:38px;height:38px;border-radius:50%;}
.nav__brand span{font-family:var(--font-display);font-size:1.05rem;color:var(--cream);}
.nav__links{display:flex;gap:30px;align-items:center;}
.nav__links a{font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--cream-dim);position:relative;padding:6px 0;}
html[dir="rtl"] .nav__links a{font-family:var(--font-ar);letter-spacing:0;text-transform:none;font-size:0.85rem;}
.nav__links a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold-light);transition:width .3s ease;}
.nav__links a:hover::after{width:100%;}
.nav__right{display:flex;align-items:center;gap:14px;}
.nav__burger{display:none;background:none;border:none;color:var(--cream);font-size:1.3rem;min-width:44px;min-height:44px;align-items:center;justify-content:center;}

/* lang dropdown */
.lang-dd{position:relative;}
.lang-dd__btn{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--line-dark);color:var(--cream);font-family:var(--font-mono);font-size:0.72rem;padding:8px 12px;letter-spacing:0.05em;min-height:44px;}
.lang-dd__menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--ink-2);border:1px solid var(--line-dark);min-width:210px;max-height:70vh;overflow-y:auto;box-shadow:var(--shadow-1);display:none;z-index:50;}
.lang-dd__menu.is-open{display:block;}
.lang-dd__menu button{display:flex;width:100%;align-items:center;gap:10px;padding:11px 14px;background:none;border:none;color:var(--cream-dim);font-size:0.85rem;text-align:left;}
.lang-dd__menu button .flag{margin-left:auto;flex-shrink:0;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,0.12);object-fit:cover;}
html[dir="rtl"] .lang-dd__menu button .flag{margin-left:0;margin-right:auto;}
.lang-dd__menu button:hover,.lang-dd__menu button.active{background:rgba(232,199,102,0.08);color:var(--cream);}
.lang-dd__menu .code{font-family:var(--font-mono);font-size:0.65rem;color:var(--gold-light);width:24px;}

.mobile-menu{position:fixed;inset:0;background:var(--ink);z-index:600;display:flex;flex-direction:column;transform:translateY(-100%);transition:transform .5s cubic-bezier(.4,0,.2,1);}
.mobile-menu.is-open{transform:translateY(0);}
.mobile-menu__scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:90px 24px 50px;}
.mobile-menu a{font-family:var(--font-display);font-size:1.35rem;color:var(--cream);}
.mobile-menu__label{font-family:var(--font-mono);font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-light);margin-top:14px;}
.mobile-menu__label:first-child{margin-top:0;}
.mobile-menu__close{position:absolute;top:26px;right:32px;background:none;border:none;color:var(--cream);font-size:1.6rem;z-index:2;}
@media (max-width:900px){.nav__links{display:none;} .nav__burger{display:flex;}}
@media (max-width:420px){
  .nav{padding-left:18px;padding-right:18px;}
  .nav__right .btn--gold{display:none;}
  .nav__brand span{font-size:0.88rem;}
  .btn{font-size:0.66rem;padding:14px 16px;white-space:normal;text-align:center;letter-spacing:0.05em;}
  .hero__ctas{flex-direction:column;align-items:stretch;}
}

/* HERO */
.hero{min-height:100vh;min-height:100svh;position:relative;display:flex;align-items:flex-end;background-size:cover;background-position:center;overflow:hidden;}
#hero3d{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(11,11,12,0.96) 0%, rgba(11,11,12,0.4) 45%, rgba(11,11,12,0.6) 100%);}
.hero__content{width:100%;padding:0 32px 90px;position:relative;z-index:2;}
.hero__wings{max-width:260px;margin-bottom:20px;opacity:0;}
.hero__wings path{stroke:var(--gold-light);stroke-width:1.4;fill:none;stroke-dasharray:400;stroke-dashoffset:400;}
.hero__badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-light);border:1px solid var(--gold-dim);padding:8px 16px;}
html[dir="rtl"] .hero__badge{font-family:var(--font-ar);letter-spacing:0;text-transform:none;font-size:0.85rem;}
.hero h1{font-size:clamp(2.5rem,6.2vw,5.2rem);color:var(--cream);max-width:900px;line-height:1.06;}
.hero h1 em{font-style:italic;color:var(--gold-light);font-weight:500;}
.hero p{margin-top:22px;color:var(--cream-dim);font-size:1.12rem;max-width:540px;}
.hero__ctas{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;}
.hero__scroll{position:absolute;bottom:34px;right:40px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--cream-dim);font-family:var(--font-mono);font-size:0.63rem;letter-spacing:0.15em;text-transform:uppercase;}
.hero__scroll .line{width:1px;height:46px;background:linear-gradient(to bottom, var(--gold-light), transparent);animation:scrollpulse 2s ease-in-out infinite;}
@keyframes scrollpulse{0%,100%{opacity:0.3;}50%{opacity:1;}}
html[dir="rtl"] .hero__scroll{right:auto;left:40px;}

.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);}
.stats__item{padding:32px 20px;text-align:center;border-left:1px solid var(--line-dark);min-width:0;}
.stats__item:first-child{border-left:none;}
.stats__num{font-family:var(--font-display);font-size:2.1rem;color:var(--gold-light);}
.stats__label{font-family:var(--font-mono);font-size:0.66rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--cream-dim);margin-top:6px;}
html[dir="rtl"] .stats__label{font-family:var(--font-ar);letter-spacing:0;text-transform:none;}
@media (max-width:800px){.stats{grid-template-columns:repeat(2,1fr);} .stats__item:nth-child(3){border-left:none;}}

/* CORPORATE BANNER */
.corporate{background:linear-gradient(120deg, var(--palm) 0%, #163c2d 100%);padding:56px 0;}
.corporate .container{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;}
.corporate__text{max-width:640px;}
.corporate__text h3{color:var(--cream);font-size:1.5rem;}
.corporate__text p{color:rgba(243,239,230,0.8);margin-top:10px;font-size:0.98rem;}
.corporate .btn{flex-shrink:0;}

/* ROOMS */
.rooms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.room-card{position:relative;overflow:hidden;background:var(--espresso-2);border:1px solid var(--line-dark);display:flex;flex-direction:column;min-width:0;}
.room-card__img{height:340px;overflow:hidden;position:relative;background:var(--espresso-2);}
.room-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.4,0,.2,1);}
.room-card:hover .room-card__img img{transform:scale(1.06);}
.room-card__tag{position:absolute;top:18px;left:18px;background:rgba(11,11,12,0.75);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--gold-light);font-family:var(--font-mono);font-size:0.63rem;letter-spacing:0.1em;text-transform:uppercase;padding:8px 14px;}
html[dir="rtl"] .room-card__tag{left:auto;right:18px;font-family:var(--font-ar);text-transform:none;}
.room-card__body{padding:28px 30px 32px;flex:1;display:flex;flex-direction:column;}
.room-card__body h3{font-size:1.45rem;color:var(--cream);}
.room-card__body p{margin-top:12px;color:var(--cream-dim);font-size:0.94rem;flex:1;}
.room-card__meta{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:18px;border-top:1px solid var(--line-dark);flex-wrap:wrap;gap:12px;}
.room-card__price{font-family:var(--font-mono);color:var(--gold-light);}
.room-card__price small{display:block;color:var(--cream-dim);font-size:0.63rem;letter-spacing:0.08em;text-transform:uppercase;margin-top:3px;}
.room-card__amenities{display:flex;gap:14px;margin-top:14px;color:var(--cream-dim);font-size:0.82rem;flex-wrap:wrap;}
.room-card__amenities i{color:var(--gold-light);margin-right:5px;}
html[dir="rtl"] .room-card__amenities i{margin-right:0;margin-left:5px;}
@media (max-width:860px){.rooms-grid{grid-template-columns:1fr;}}
.room-variety-note{margin-top:22px;font-size:0.85rem;color:var(--cream-dim);font-style:italic;}

/* BOOKING FOLIO */
.section--booking{background:var(--sand);color:var(--ink);background-image:repeating-linear-gradient(0deg, rgba(11,11,12,0.025) 0px, rgba(11,11,12,0.025) 1px, transparent 1px, transparent 3px);}
.section--booking .eyebrow{color:var(--palm);}
.section--booking .eyebrow::before{background:var(--palm);}
.section--booking .section-head h2{color:var(--ink);}
.section--booking .section-head p{color:rgba(11,11,12,0.65);}
.folio{background:var(--cream);border:1px solid var(--line-light);box-shadow:var(--shadow-1);position:relative;}
.folio::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background:repeating-linear-gradient(90deg, var(--gold) 0 18px, transparent 18px 26px);}
.folio__inner{padding:50px;}
.folio__head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:32px;border-bottom:1px dashed var(--line-light);padding-bottom:26px;}
.folio__head h3{font-size:1.55rem;color:var(--ink);}
.folio__ref{font-family:var(--font-mono);font-size:0.75rem;color:rgba(11,11,12,0.5);}
.folio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.field{display:flex;flex-direction:column;gap:8px;min-width:0;}
.field label{font-family:var(--font-mono);font-size:0.63rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(11,11,12,0.55);}
html[dir="rtl"] .field label{font-family:var(--font-ar);letter-spacing:0;text-transform:none;}
.field input,.field select,.field textarea{border:none;border-bottom:1.5px solid rgba(11,11,12,0.25);background:transparent;font-family:var(--font-mono);font-size:1rem;color:var(--ink);padding:8px 2px;min-width:0;width:100%;}
.field textarea{font-family:var(--font-body);resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--palm);outline:none;}
.field-error{font-size:0.7rem;color:#8a3324;font-family:var(--font-mono);min-height:16px;}
.hp-field{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.folio__summary{margin-top:36px;padding-top:28px;border-top:1px dashed var(--line-light);display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:start;}
.folio__summary > *{min-width:0;}
.summary-lines{display:flex;flex-direction:column;gap:12px;font-family:var(--font-mono);font-size:0.9rem;}
.summary-line{display:flex;justify-content:space-between;color:rgba(11,11,12,0.7);gap:10px;}
.summary-line.total{color:var(--ink);font-size:1.15rem;font-weight:700;border-top:1px solid rgba(11,11,12,0.2);padding-top:12px;margin-top:6px;}
.folio__actions{display:flex;flex-direction:column;gap:14px;}
.folio__note{font-size:0.76rem;color:rgba(11,11,12,0.55);line-height:1.5;}
.availability-msg{font-family:var(--font-mono);font-size:0.85rem;padding:14px 16px;display:none;}
.availability-msg.show{display:block;}
.availability-msg.ok{background:rgba(31,77,58,0.1);color:var(--palm);border:1px solid rgba(31,77,58,0.3);}
.availability-msg.pending{background:rgba(176,141,43,0.1);color:#7a5f1c;border:1px solid rgba(176,141,43,0.35);}
.pay-methods{display:none;margin-top:18px;padding-top:18px;border-top:1px dashed var(--line-light);}
.pay-methods.show{display:block;}
.pay-methods__title{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(11,11,12,0.55);margin-bottom:12px;}
.pay-methods__row{display:flex;gap:10px;flex-wrap:wrap;}
.pay-btn{flex:1;min-width:140px;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 14px;background:var(--ink);color:var(--cream);border:1px solid transparent;font-family:var(--font-mono);font-size:0.78rem;}
.pay-btn:hover{background:var(--espresso-2);}
.pay-btn i{color:var(--gold-light);}
.pay-methods__note{margin-top:12px;font-size:0.76rem;color:rgba(11,11,12,0.55);line-height:1.5;}
@media (max-width:900px){.folio-grid{grid-template-columns:repeat(2,1fr);} .folio__summary{grid-template-columns:1fr;} .folio__inner{padding:30px 22px;}}

/* SPLIT (dining/events) */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.split__visual{min-height:520px;position:relative;overflow:hidden;background:linear-gradient(135deg, var(--espresso) 0%, var(--ink) 100%);display:flex;align-items:center;justify-content:center;}
.split__visual .motif{width:55%;opacity:0.85;}
.split__visual .motif path{stroke:var(--gold-light);stroke-width:1;fill:none;}
.split__visual .big-icon{font-size:5rem;color:var(--gold-dim);}
.split__content{padding:80px 64px;display:flex;flex-direction:column;justify-content:center;min-width:0;}
.split__content h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-top:16px;}
.split__content p{margin-top:18px;color:var(--cream-dim);}
.split__list{margin-top:24px;display:flex;flex-direction:column;gap:13px;}
.split__list li{display:flex;gap:12px;color:var(--cream-dim);font-size:0.94rem;}
.split__list i{color:var(--gold-light);margin-top:3px;}
.split__content .btn{margin-top:28px;align-self:flex-start;}
html[dir="rtl"] .split__content .btn{align-self:flex-end;}
@media (max-width:900px){.split{grid-template-columns:1fr;} .split__visual{min-height:260px;} .split__content{padding:52px 26px;}}

/* AMENITIES */
.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
.amenity{background:var(--ink);padding:36px 26px;text-align:center;transition:background .3s ease;min-width:0;}
.amenity:hover{background:var(--espresso-2);}
.amenity i{font-size:1.55rem;color:var(--gold-light);}
.amenity h4{margin-top:15px;font-size:0.98rem;color:var(--cream);font-family:var(--font-body);font-weight:600;}
html[dir="rtl"] .amenity h4{font-family:var(--font-ar);}
.amenity p{margin-top:8px;font-size:0.8rem;color:var(--cream-dim);}
@media (max-width:900px){.amenities-grid{grid-template-columns:repeat(2,1fr);}}

/* GALLERY */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:10px;}
.gallery__item{overflow:hidden;cursor:pointer;position:relative;min-width:0;background:var(--espresso-2);}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.gallery__item:hover img{transform:scale(1.08);}
.gallery__item.is-pattern{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--espresso),var(--ink));}
.gallery__item.is-pattern.gold{background:linear-gradient(135deg,var(--gold),#8a6f22);}
.gallery__item.is-pattern span{font-family:var(--font-display);font-style:italic;color:var(--cream);font-size:1.1rem;text-align:center;padding:10px;}
.gallery__item.is-pattern.gold span{color:var(--ink);}
.gallery__item.is-pattern svg{width:70px;opacity:0.7;}
.gallery__item::after{content:"\f00e";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--cream);background:rgba(11,11,12,0);opacity:0;transition:all .3s ease;font-size:1.25rem;}
.gallery__item:hover::after{background:rgba(11,11,12,0.35);opacity:1;}
.gallery__item.is-pattern:hover::after{content:none;}
.gallery__item--wide{grid-column:span 2;}
.gallery__item--tall{grid-row:span 2;}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,1fr);} .gallery__item--wide{grid-column:span 2;}}

.lightbox{position:fixed;inset:0;background:rgba(11,11,12,0.96);z-index:800;display:none;align-items:center;justify-content:center;padding:40px;}
.lightbox.is-open{display:flex;}
.lightbox img{max-width:90vw;max-height:82vh;object-fit:contain;box-shadow:var(--shadow-1);}
.lightbox__close,.lightbox__prev,.lightbox__next{position:absolute;background:none;border:1px solid var(--line-dark);color:var(--cream);width:46px;height:46px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;}
.lightbox__close{top:26px;right:30px;}
.lightbox__prev{left:26px;top:50%;transform:translateY(-50%);}
.lightbox__next{right:26px;top:50%;transform:translateY(-50%);}
.lightbox__close:hover,.lightbox__prev:hover,.lightbox__next:hover{border-color:var(--gold-light);color:var(--gold-light);}

/* TESTIMONIALS */
.testimonials{position:relative;max-width:800px;margin:0 auto;text-align:center;}
.testimonial{display:none;}
.testimonial.is-active{display:block;animation:fadein .6s ease;}
@keyframes fadein{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.testimonial i.fa-quote-left{color:var(--gold-light);font-size:1.4rem;opacity:0.6;}
.testimonial p{font-family:var(--font-display);font-size:1.4rem;font-style:italic;color:var(--cream);margin-top:18px;line-height:1.5;}
html[dir="rtl"] .testimonial p{font-family:var(--font-ar);font-style:normal;}
.testimonial__author{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:14px;}
.testimonial__avatar{width:42px;height:42px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:0.85rem;flex-shrink:0;}
.testimonial__author span{display:block;font-family:var(--font-mono);font-size:0.76rem;color:var(--cream-dim);text-align:left;}
html[dir="rtl"] .testimonial__author span{text-align:right;font-family:var(--font-ar);}
.testimonial__author strong{color:var(--cream);display:block;font-family:var(--font-body);font-size:0.94rem;}
.testimonial-dots{display:flex;gap:10px;justify-content:center;margin-top:32px;}
.testimonial-dots button{width:8px;height:8px;border-radius:50%;border:none;background:var(--line-dark);padding:0;}
.testimonial-dots button.active{background:var(--gold-light);}
.testimonial-note{margin-top:36px;font-size:0.72rem;color:rgba(243,239,230,0.4);font-family:var(--font-mono);}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.contact-form{display:flex;flex-direction:column;gap:18px;min-width:0;}
.contact-form .field input,.contact-form .field textarea{border:1px solid var(--line-dark);background:var(--espresso-2);color:var(--cream);padding:14px 16px;font-family:var(--font-body);font-size:0.94rem;}
.contact-form .field label{color:var(--cream-dim);}
/* Reusable fix for any .folio form placed on a dark background (gift card, account,
   complaint forms) — .folio's default styling assumes a light background, so any
   dark-background usage must also apply this class or labels/inputs become unreadable. */
.folio--dark .field label{color:var(--cream-dim);}
.folio--dark .field input,.folio--dark .field select,.folio--dark .field textarea{background:var(--ink);border:1px solid var(--line-dark);color:var(--cream);padding:14px 16px;font-family:var(--font-body);font-size:0.94rem;}
.folio--dark .folio__note,.folio--dark p{color:var(--cream-dim);}
.contact-form textarea{resize:vertical;min-height:120px;}
.contact-info{display:flex;flex-direction:column;gap:24px;min-width:0;}
.contact-info__item{display:flex;gap:16px;align-items:flex-start;}
.contact-info__item i{color:var(--gold-light);font-size:1.15rem;margin-top:4px;flex-shrink:0;}
.contact-info__item h4{font-size:0.98rem;color:var(--cream);font-family:var(--font-body);font-weight:600;}
.contact-info__item p{margin-top:6px;color:var(--cream-dim);font-size:0.9rem;}
.map-frame{margin-top:8px;border:1px solid var(--line-dark);height:250px;overflow:hidden;filter:grayscale(0.3) invert(0.92) contrast(0.9);}
.map-frame iframe{width:100%;height:100%;border:0;}
.social-row{display:flex;gap:12px;margin-top:6px;flex-wrap:wrap;}
.social-row a{width:38px;height:38px;border:1px solid var(--line-dark);display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0;}
.social-row a:hover{border-color:var(--gold-light);color:var(--gold-light);}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}}

/* FOOTER */
.footer{background:var(--ink-2);padding:64px 0 28px;border-top:1px solid var(--line-dark);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.footer-brand img{width:42px;height:42px;border-radius:50%;}
.footer-brand span{font-family:var(--font-display);font-size:1.1rem;}
.footer p.desc{color:var(--cream-dim);font-size:0.88rem;max-width:280px;}
.footer h5{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-light);margin-bottom:16px;}
html[dir="rtl"] .footer h5{font-family:var(--font-ar);letter-spacing:0;text-transform:none;}
.footer ul{display:flex;flex-direction:column;gap:11px;}
.footer ul a{color:var(--cream-dim);font-size:0.88rem;}
.footer ul a:hover{color:var(--cream);}
.footer-bottom{margin-top:56px;padding-top:24px;border-top:1px solid var(--line-dark);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:0.76rem;color:rgba(243,239,230,0.4);}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.footer-grid{grid-template-columns:1fr;}}

/* FLOATING UI */
.float-stack{position:fixed;right:24px;bottom:24px;z-index:400;display:flex;flex-direction:column;gap:12px;align-items:center;}
html[dir="rtl"] .float-stack{right:auto;left:24px;}
.fab{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-2);border:none;font-size:1.25rem;transition:transform .3s ease;}
.fab:hover{transform:translateY(-3px) scale(1.05);}
.fab--whatsapp{background:#25D366;color:#fff;}
.fab--chat{background:var(--gold);color:var(--ink);position:relative;}
.fab--chat .dot{position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:50%;background:var(--palm-light);border:2px solid var(--ink);}
.fab--top{background:var(--espresso-2);color:var(--cream);opacity:0;pointer-events:none;transition:opacity .3s ease;border:1px solid var(--line-dark);}
.fab--top.show{opacity:1;pointer-events:auto;}

.skip-link{position:absolute;top:-80px;left:16px;background:var(--gold);color:var(--ink);padding:12px 20px;z-index:1000;transition:top .2s ease;}
.skip-link:focus{top:16px;}

/* CHAT WIDGET */
.chat-panel{position:fixed;right:24px;bottom:94px;width:340px;max-width:calc(100vw - 48px);background:var(--espresso-2);border:1px solid var(--line-dark);box-shadow:var(--shadow-1);z-index:450;display:none;flex-direction:column;max-height:60vh;}
.chat-panel.is-open{display:flex;}
html[dir="rtl"] .chat-panel{right:auto;left:24px;}
.chat-panel__head{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line-dark);}
.chat-panel__head img{width:32px;height:32px;border-radius:50%;}
.chat-panel__head strong{font-size:0.92rem;color:var(--cream);display:block;}
.chat-panel__head small{color:var(--palm-light);font-size:0.72rem;}
.chat-panel__close{margin-left:auto;background:none;border:none;color:var(--cream-dim);font-size:1.1rem;}
html[dir="rtl"] .chat-panel__close{margin-left:0;margin-right:auto;}
.chat-panel__body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 18px;display:flex;flex-direction:column;gap:12px;}
.chat-bubble{max-width:85%;padding:10px 14px;font-size:0.86rem;line-height:1.5;}
.chat-bubble.bot{background:var(--ink);color:var(--cream);align-self:flex-start;border:1px solid var(--line-dark);}
.chat-bubble.user{background:var(--gold);color:var(--ink);align-self:flex-end;}
html[dir="rtl"] .chat-bubble.bot{align-self:flex-end;}
html[dir="rtl"] .chat-bubble.user{align-self:flex-start;}
.chat-quick{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 14px;}
.chat-quick button{background:none;border:1px solid var(--gold-dim);color:var(--gold-light);font-size:0.76rem;padding:8px 12px;}
.chat-quick button:hover{background:rgba(232,199,102,0.08);}
.chat-panel__footer{padding:12px 18px;border-top:1px solid var(--line-dark);}
.chat-panel__footer a{display:flex;align-items:center;justify-content:center;gap:8px;}

/* ============================================================
   CONTENT SUB-PAGES (garanties, offres, services, legal...)
============================================================ */
.subhero{position:relative;padding:170px 0 90px;background:linear-gradient(160deg, var(--espresso) 0%, var(--ink) 60%);overflow:hidden;}
.subhero__glow{position:absolute;top:-200px;right:-150px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle, rgba(232,199,102,0.16) 0%, transparent 70%);pointer-events:none;}
.subhero .eyebrow{margin-bottom:14px;}
.subhero h1{font-size:clamp(2.2rem,4.5vw,3.6rem);color:var(--cream);max-width:820px;}
.subhero p{margin-top:18px;color:var(--cream-dim);font-size:1.08rem;max-width:640px;}
.breadcrumb{font-family:var(--font-mono);font-size:0.72rem;color:var(--cream-dim);margin-bottom:20px;}
.breadcrumb a{color:var(--gold-light);}
.i18n-fallback-note{display:inline-block;margin-top:14px;font-size:0.75rem;color:var(--gold-light);border:1px solid var(--gold-dim);padding:6px 12px;font-family:var(--font-mono);}

.guarantee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.guarantee-grid--2col{grid-template-columns:repeat(2,1fr);}
.guarantee-card{background:var(--espresso-2);border:1px solid var(--line-dark);padding:34px 28px;transition:transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease;}
.guarantee-card:hover{transform:translateY(-6px);border-color:var(--gold-dim);box-shadow:0 20px 40px rgba(0,0,0,0.35);}
.guarantee-card i{font-size:1.8rem;color:var(--gold-light);}
.guarantee-card h3{margin-top:18px;font-size:1.2rem;color:var(--cream);}
.guarantee-card p{margin-top:12px;color:var(--cream-dim);font-size:0.92rem;line-height:1.6;}
@media (max-width:900px){.guarantee-grid{grid-template-columns:1fr;}}

.promo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.promo-card{position:relative;background:var(--espresso-2);border:1px solid var(--line-dark);padding:32px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease;}
.promo-card::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s ease;}
.promo-card:hover{transform:translateY(-6px);border-color:var(--gold-dim);}
.promo-card:hover::after{transform:scaleX(1);}
.promo-card__badge{display:inline-block;background:var(--gold);color:var(--ink);font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;padding:6px 12px;margin-bottom:16px;}
.promo-card h3{font-size:1.35rem;color:var(--cream);}
.promo-card p{margin-top:12px;color:var(--cream-dim);font-size:0.92rem;line-height:1.6;}
.promo-card__cta{margin-top:20px;}
@media (max-width:900px){.promo-grid{grid-template-columns:1fr;}}

.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
.service-item{background:var(--ink);padding:32px;transition:background .35s ease, transform .35s cubic-bezier(.2,.8,.2,1);}
.service-item:hover{background:var(--espresso-2);transform:translateY(-4px);}
.service-item i{font-size:1.4rem;color:var(--gold-light);}
.service-item h4{margin-top:14px;font-size:1.05rem;color:var(--cream);}
.service-item p{margin-top:10px;color:var(--cream-dim);font-size:0.9rem;line-height:1.6;}
@media (max-width:900px){.service-list{grid-template-columns:1fr;}}

.faq{max-width:820px;}
.faq-item{border-bottom:1px solid var(--line-dark);}
.faq-item__q{width:100%;text-align:left;background:none;border:none;color:var(--cream);padding:20px 0;font-size:1.02rem;font-family:var(--font-body);display:flex;justify-content:space-between;align-items:center;gap:16px;}
html[dir="rtl"] .faq-item__q{text-align:right;}
.faq-item__q i{color:var(--gold-light);transition:transform .3s ease;flex-shrink:0;}
.faq-item.is-open .faq-item__q i{transform:rotate(180deg);}
.faq-item__a{max-height:0;overflow:hidden;transition:max-height .35s ease;color:var(--cream-dim);font-size:0.94rem;line-height:1.6;}
.faq-item.is-open .faq-item__a{max-height:400px;padding-bottom:20px;}

.legal-doc{max-width:820px;}
.legal-doc h2{font-size:1.4rem;color:var(--gold-light);margin-top:44px;margin-bottom:14px;}
.legal-doc h2:first-child{margin-top:0;}
.legal-doc p{color:var(--cream-dim);font-size:0.96rem;line-height:1.75;margin-bottom:14px;}
.legal-doc ul{margin:0 0 14px;padding-left:22px;}
html[dir="rtl"] .legal-doc ul{padding-left:0;padding-right:22px;}
.legal-doc li{color:var(--cream-dim);font-size:0.96rem;line-height:1.75;margin-bottom:8px;list-style:disc;}
.legal-doc strong{color:var(--cream);}
.legal-doc .updated{font-family:var(--font-mono);font-size:0.75rem;color:rgba(243,239,230,0.45);margin-bottom:36px;display:block;}

.cta-band{background:linear-gradient(120deg, var(--palm) 0%, #163c2d 100%);padding:56px 0;text-align:center;}
.cta-band h3{color:var(--cream);font-size:1.6rem;}
.cta-band p{color:rgba(243,239,230,0.8);margin-top:10px;max-width:560px;margin-left:auto;margin-right:auto;}
.cta-band .btn{margin-top:24px;}

.page-transition{position:fixed;inset:0;background:var(--ink);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s ease;}
.page-transition.is-active{opacity:1;pointer-events:auto;}
.page-transition img{width:56px;height:56px;animation:pulse-logo 1s ease-in-out infinite;}
@keyframes pulse-logo{0%,100%{transform:scale(1);opacity:0.7;}50%{transform:scale(1.12);opacity:1;}}

.currency-toggle{display:flex;gap:6px;margin-top:16px;}
.currency-toggle button{background:none;border:1px solid rgba(11,11,12,0.2);color:rgba(11,11,12,0.6);font-family:var(--font-mono);font-size:0.7rem;padding:6px 12px;}
.currency-toggle button.active{background:var(--palm);color:var(--cream);border-color:var(--palm);}

.weather-chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:0.72rem;color:var(--cream-dim);border:1px solid var(--line-dark);padding:7px 14px;margin-top:16px;}
.weather-chip i{color:var(--gold-light);}

.giftcard-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
@media (max-width:900px){.giftcard-grid{grid-template-columns:1fr;}}

.service-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.service-card-link{display:block;background:var(--espresso-2);border:1px solid var(--line-dark);padding:32px;text-decoration:none;transition:border-color .3s ease, transform .3s ease;}
.service-card-link:hover{border-color:var(--gold-dim);transform:translateY(-4px);}
.service-card-link i{font-size:1.7rem;color:var(--gold-light);}
.service-card-link h3{margin-top:16px;font-size:1.25rem;color:var(--cream);font-family:var(--font-display);}
.service-card-link p{margin-top:10px;color:var(--cream-dim);font-size:0.92rem;line-height:1.6;}
.service-card-link__more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--gold-light);font-family:var(--font-mono);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.05em;}
@media (max-width:900px){.service-cards-grid{grid-template-columns:1fr;}}

.detail-hero-list{display:flex;flex-direction:column;gap:14px;margin-top:24px;}
.detail-hero-list li{display:flex;gap:12px;color:var(--cream-dim);font-size:0.95rem;}
.detail-hero-list i{color:var(--gold-light);margin-top:3px;}
.detail-block{padding:70px 0;border-bottom:1px solid var(--line-dark);}
.detail-block:last-child{border-bottom:none;}
.detail-block__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.detail-block__grid.reverse{direction:rtl;}
.detail-block__grid.reverse > *{direction:ltr;}
.detail-block__visual{background:linear-gradient(135deg,var(--espresso),var(--ink));border:1px solid var(--line-dark);min-height:320px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.detail-block__visual::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(232,199,102,0.16) 0%, transparent 70%);animation:visual-pulse 5s ease-in-out infinite;}
.detail-block__visual i{position:relative;z-index:1;transition:transform .5s cubic-bezier(.2,.8,.2,1);}
.detail-block:hover .detail-block__visual i{transform:scale(1.08) rotate(-2deg);}
@keyframes visual-pulse{0%,100%{transform:scale(1);opacity:0.7;}50%{transform:scale(1.15);opacity:1;}}
@media (prefers-reduced-motion: reduce){.detail-block__visual::before{animation:none;}}
.detail-block__visual i{font-size:4.5rem;color:var(--gold-dim);}
.detail-block h2{font-size:1.7rem;color:var(--cream);margin-bottom:16px;}
.detail-block p{color:var(--cream-dim);font-size:0.96rem;line-height:1.7;margin-bottom:14px;}
.detail-block ul{margin:16px 0 0;padding:0;list-style:none;}
.detail-block li{display:flex;gap:12px;color:var(--cream-dim);font-size:0.94rem;margin-bottom:12px;}
.detail-block li i{color:var(--gold-light);margin-top:3px;flex-shrink:0;}
@media (max-width:900px){.detail-block__grid{grid-template-columns:1fr;} .detail-block__grid.reverse{direction:ltr;}}

.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.package-card{background:var(--espresso-2);border:1px solid var(--line-dark);padding:30px;text-align:center;transition:transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease;}
.package-card:hover{transform:translateY(-6px);border-color:var(--gold-dim);}
.package-card.featured{border-color:var(--gold);position:relative;}
.package-card.featured::before{content:"★";position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--ink);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.8rem;}
.package-card h4{color:var(--cream);font-size:1.1rem;margin-bottom:10px;}
.package-card .price{font-family:var(--font-mono);color:var(--gold-light);font-size:1.3rem;margin-bottom:14px;}
.package-card ul{list-style:none;padding:0;text-align:left;}
.package-card li{color:var(--cream-dim);font-size:0.86rem;margin-bottom:8px;display:flex;gap:8px;}
.package-card li i{color:var(--palm-light);margin-top:3px;}
@media (max-width:900px){.package-grid{grid-template-columns:1fr;}}

.cultural-list{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px 32px;list-style:none;padding:0;}
@media (max-width:900px){.cultural-list{grid-template-columns:1fr;}}

/* defensive: prevent CSS Grid min-content sizing from forcing overflow on narrow screens */
.rooms-grid > *,.amenities-grid > *,.footer-grid > *,.contact-grid > *,.stats__item,.folio-grid > *,.gallery__item,.split > *,
.guarantee-grid > *,.promo-grid > *,.service-list > *,.package-grid > *,.service-cards-grid > *,.detail-block__grid > *,.cultural-list > *{min-width:0;}

.stay-type-toggle{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap;}
.stay-type-toggle button{flex:1;min-width:180px;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;background:transparent;border:1.5px solid rgba(11,11,12,0.2);color:rgba(11,11,12,0.6);font-family:var(--font-mono);font-size:0.78rem;transition:all .25s ease;}
.stay-type-toggle button.active{background:var(--palm);border-color:var(--palm);color:var(--cream);}
.stay-type-toggle button:hover:not(.active){border-color:var(--palm);color:var(--ink);}
.folio__hourly-note{margin-top:-6px;margin-bottom:20px;font-size:0.8rem;color:rgba(11,11,12,0.55);font-style:italic;line-height:1.5;}

.directions-widget{margin-top:20px;padding-top:20px;border-top:1px solid var(--line-dark);}
.directions-widget__title{font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--gold-light);margin-bottom:12px;}
.directions-widget__row{display:flex;flex-direction:column;align-items:stretch;gap:12px;}
.directions-widget__row > span{text-align:center;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.08em;}
.directions-widget__search{display:flex;gap:10px;}
.directions-widget__search input{flex:1;min-width:0;}
.directions-widget__row input{flex:1;min-width:160px;background:var(--espresso-2);border:1px solid var(--line-dark);color:var(--cream);padding:11px 14px;font-family:var(--font-body);font-size:0.88rem;}
.directions-widget__result{margin-top:14px;}
.directions-widget__result p{color:var(--cream-dim);font-size:0.85rem;margin-bottom:10px;}
.directions-widget__links{display:flex;gap:10px;flex-wrap:wrap;}

.package-grid--4{grid-template-columns:repeat(4,1fr);}
@media (max-width:1100px){.package-grid--4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.package-grid--4{grid-template-columns:1fr;}}

.directions-widget__social{display:flex;flex-direction:column;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line-dark);}
.directions-widget__social-col .btn{white-space:normal;text-align:center;width:100%;}
.directions-widget__social-col{background:var(--espresso-2);border:1px solid var(--line-dark);padding:18px;}
.directions-widget__social-title{font-size:0.9rem;font-weight:600;color:var(--gold-light);margin-bottom:8px;}
.directions-widget__social-title i{margin-right:6px;}
.directions-widget__social-text{font-size:0.8rem;color:var(--cream-dim);margin-bottom:14px;line-height:1.5;}

.pay-btn--orange i{color:#FF6600;}
.pay-btn--mtn i{color:#FFCC00;}

.pay-btn{position:relative;}
.pay-btn--pending{opacity:0.68;}
.pay-btn__badge{position:absolute;top:-9px;right:-6px;background:var(--gold);color:var(--ink);font-size:0.6rem;font-family:var(--font-mono);padding:2px 7px;text-transform:uppercase;letter-spacing:0.03em;}

.nav-dd{position:relative;}
.nav-dd__trigger{background:none;border:none;color:var(--cream-dim);font-family:var(--font-mono);font-size:0.7rem;letter-spacing:0.08em;text-transform:uppercase;padding:6px 0;display:flex;align-items:center;gap:6px;cursor:pointer;}
.nav-dd__trigger:hover{color:var(--cream);}
.nav-dd__trigger i{font-size:0.6rem;transition:transform .25s ease;}
.nav-dd.is-open .nav-dd__trigger i{transform:rotate(180deg);}
.nav-dd.is-open .nav-dd__trigger{color:var(--cream);}
.nav-dd__menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%);background:var(--ink-2);border:1px solid var(--line-dark);min-width:230px;box-shadow:var(--shadow-1);display:none;z-index:60;padding:8px 0;}
.nav-dd__menu.is-open{display:block;}
.nav-dd__menu a{display:block;position:relative;padding:11px 18px 11px 20px;color:var(--cream-dim);font-size:0.85rem;text-transform:none;letter-spacing:0;font-family:var(--font-body);font-style:normal;font-weight:400;transition:padding-left .3s cubic-bezier(.2,.8,.2,1),background .25s ease,color .25s ease;}
.nav-dd__menu a::before{content:"";position:absolute;left:18px;top:50%;transform:translateY(-50%) scale(0.4);width:16px;height:16px;background-image:url('/assets/logo.webp');background-size:contain;background-repeat:no-repeat;background-position:center;opacity:0;transition:opacity .3s ease,transform .3s cubic-bezier(.2,.8,.2,1);}
.nav-dd__menu a:hover{padding-left:40px;}
.nav-dd__menu a:hover::before{opacity:1;transform:translateY(-50%) scale(1);}
html[dir="rtl"] .nav-dd__menu a{padding:11px 20px 11px 18px;}
html[dir="rtl"] .nav-dd__menu a::before{left:auto;right:18px;}
html[dir="rtl"] .nav-dd__menu a:hover{padding-right:40px;padding-left:18px;}
.nav-dd__menu a:hover{background:rgba(232,199,102,0.08);color:var(--cream);}

.home-teaser-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;}
.home-teaser-card{background:var(--ink);border:1px solid var(--line-dark);padding:36px;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease;}
.home-teaser-card:hover{transform:translateY(-6px);border-color:var(--gold-dim);}
.home-teaser-card i{font-size:1.8rem;color:var(--gold-light);}
.home-teaser-card h3{margin-top:16px;font-size:1.3rem;color:var(--cream);}
.home-teaser-card p{margin-top:12px;color:var(--cream-dim);font-size:0.92rem;line-height:1.6;}
.home-teaser-card .btn{margin-top:20px;}
@media (max-width:800px){.home-teaser-grid{grid-template-columns:1fr;}}

.pay-btn--active{border-color:var(--gold) !important;background:rgba(232,199,102,0.12) !important;}

.oauth-buttons{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}
.oauth-btn{gap:10px;background:rgba(11,11,12,0.03);}
.oauth-divider{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:rgba(11,11,12,0.4);font-family:var(--font-mono);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.08em;}
.oauth-divider::before,.oauth-divider::after{content:"";flex:1;height:1px;background:rgba(11,11,12,0.15);}

.visitor-nudge{position:fixed;left:20px;bottom:130px;z-index:900;max-width:360px;background:var(--espresso-2);border:1px solid var(--gold-dim);box-shadow:var(--shadow-2);padding:20px 22px;animation:nudgeIn .4s cubic-bezier(.2,.8,.2,1);}
@keyframes nudgeIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.visitor-nudge p{color:var(--cream);font-size:0.9rem;line-height:1.5;margin-bottom:14px;padding-right:18px;}
.visitor-nudge .btn{padding:11px 18px;font-size:0.72rem;}
.visitor-nudge #visitorNudgeClose{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--cream-dim);font-size:1.2rem;cursor:pointer;line-height:1;}
@media (max-width:480px){.visitor-nudge{left:12px;right:12px;bottom:130px;max-width:none;}}
html[dir="rtl"] .visitor-nudge{left:auto;right:20px;}
html[dir="rtl"] .visitor-nudge #visitorNudgeClose{right:auto;left:12px;}

.sticky-book-cta{position:fixed;left:20px;right:auto;bottom:20px;z-index:850;display:flex;align-items:center;gap:10px;background:var(--gold);color:var(--ink);font-family:var(--font-mono);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.06em;padding:14px 22px;text-decoration:none;box-shadow:var(--shadow-2);opacity:0;pointer-events:none;transform:translateY(20px);transition:all .35s cubic-bezier(.2,.8,.2,1);}
.sticky-book-cta.show{opacity:1;pointer-events:auto;transform:translateY(0);}
@media (max-width:900px){.sticky-book-cta{left:16px;bottom:78px;padding:12px 18px;font-size:0.72rem;}}
html[dir="rtl"] .sticky-book-cta{left:auto;right:20px;}
@media (max-width:900px){html[dir="rtl"] .sticky-book-cta{left:auto;right:16px;bottom:78px;}}

.exit-intent-overlay{position:fixed;inset:0;z-index:1000;background:rgba(11,11,12,0.82);display:flex;align-items:center;justify-content:center;padding:20px;animation:nudgeIn .3s ease;}
.exit-intent-card{position:relative;max-width:440px;width:100%;background:var(--espresso-2);border:1px solid var(--gold-dim);padding:36px 32px;text-align:center;}
.exit-intent-card h3{margin-top:8px;font-size:1.4rem;color:var(--cream);}
.exit-intent-card p:not(.eyebrow){margin-top:14px;color:var(--cream-dim);font-size:0.92rem;line-height:1.6;}
.exit-intent-card .btn{margin-top:20px;width:100%;}
.exit-intent-card #exitIntentClose{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--cream-dim);font-size:1.4rem;cursor:pointer;}
