/* Generated by php tools/build-home-css.php. Edit the source stylesheets. */

/* Source: css/style.css */
/* ================================================================
   SOLO SPA — Main Stylesheet
   ================================================================ */

/* ── Design tokens (shared) ── */
:root {
  --green:       #2e8b4a;
  --green-light: #4db86a;
  --green-dark:  #1a5c30;
  --radius:      16px;
  --radius-lg:   28px;
  --transition:  0.4s cubic-bezier(0.25,0.46,0.45,0.94);
  --font-serif:  'Cormorant Garamond', Georgia, serif;
  --font-sans:   'Jost', system-ui, sans-serif;
}

/* Arabic — Cairo for body & headings */
html[lang="ar"] {
  --font-sans:  'Cairo', 'Segoe UI', Tahoma, sans-serif;
  --font-serif: 'Cairo', 'Segoe UI', Tahoma, sans-serif;
}

/* ── Dark theme (default) ── */
:root,
[data-theme="dark"] {
  --gold:        #2e8b4a;
  --gold-light:  #4db86a;
  --gold-dark:   #1a5c30;

  --dark:        #060d07;
  --dark-2:      #0c1a0e;
  --dark-3:      #111f13;

  --cream:       #edf5ee;
  --cream-2:     #d6eadb;
  --text:        #1e3a22;
  --text-light:  #6a9070;
  --white:       #fff;

  --bg-body:     #060d07;
  --bg-section:  #0c1a0e;
  --bg-section2: #111f13;
  --bg-card:     #0c1a0e;
  --border:      rgba(46,139,74,0.18);

  --glass-bg:    rgba(46,139,74,0.07);
  --glass-border:rgba(46,139,74,0.22);

  --shadow:      0 20px 60px rgba(0,0,0,0.4);
  --shadow-sm:   0 8px 24px rgba(0,0,0,0.2);

  --nav-bg:      rgba(6,13,7,0.92);
  --input-bg:    rgba(255,255,255,0.05);
  --input-border:rgba(46,139,74,0.15);


  color-scheme: dark;
}

/* ── Light theme ── */
[data-theme="light"] {
  --gold:        #1a6b35;
  --gold-light:  #2e8b4a;
  --gold-dark:   #0d4520;

  --dark:        #f0f8f2;
  --dark-2:      #e2f0e6;
  --dark-3:      #d4e9da;

  --cream:       #0c1a0e;
  --cream-2:     #1e3a22;
  --text:        #0c1a0e;
  --text-light:  #3d6b48;
  --white:       #fff;

  --bg-body:     #f0f8f2;
  --bg-section:  #e2f0e6;
  --bg-section2: #d4e9da;
  --bg-card:     #ffffff;
  --border:      rgba(26,107,53,0.15);

  --glass-bg:    rgba(255,255,255,0.65);
  --glass-border:rgba(26,107,53,0.2);

  --shadow:      0 20px 60px rgba(26,107,53,0.12);
  --shadow-sm:   0 8px 24px rgba(26,107,53,0.1);

  --nav-bg:      rgba(240,248,242,0.94);
  --input-bg:    rgba(255,255,255,0.8);
  --input-border:rgba(26,107,53,0.2);


  color-scheme: light;
}

/* ── Reset & Base ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
  font-size: 16px;
}

body {
  font-family: var(--font-sans);
  background: var(--bg-body);
  color: var(--cream);
  overflow-x: hidden;
  cursor: auto;
  transition: background 0.4s ease, color 0.4s ease;
}

/* custom-cursor disabled site-wide for stability */

img { display: block; max-width: 100%; height: auto; }
img.cover { width: 100%; height: 100%; object-fit: cover; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
@media (pointer: fine) {
  body.custom-cursor button { cursor: pointer; }
  body.custom-cursor .fab { cursor: pointer; }
}
input, select, textarea { font-family: var(--font-sans); }

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.section { padding: 100px 0; position: relative; }
.text-center { text-align: center; }

/* ── Custom Cursor ── */
.cursor-glow {
  position: fixed;
  top: 0; left: 0;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(46,139,74,0.14) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  transition: transform 0.1s linear;
}

.cursor-dot {
  position: fixed;
  top: 0; left: 0;
  width: 10px; height: 10px;
  background: var(--gold);
  border-radius: 50%;
  pointer-events: none;
  z-index: 10000;
  transform: translate(-50%, -50%);
  transition: width 0.2s, height 0.2s, background 0.2s;
  mix-blend-mode: difference;
}

.cursor-dot.hovered {
  width: 40px; height: 40px;
  background: var(--gold-light);
}

/* ── Preloader ── */
.preloader {
  position: fixed;
  inset: 0;
  background: var(--bg-body);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.preloader.loaded {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.preloader__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.preloader__logo {
  position: relative;
  width: 220px;
  height: 220px;
  margin: 0 auto 32px;
  flex-shrink: 0;
}

.preloader__logo-img {
  width: 220px;
  height: 220px;
  object-fit: contain;
  animation: pulseGlow 1.8s ease-in-out infinite;
}

@keyframes pulseGlow {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.72; }
}

@keyframes spinFade {
  0%, 100% { opacity: 1; transform: rotate(0deg); }
  50% { opacity: 0.4; transform: rotate(180deg); }
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.preloader__bar {
  width: 220px;
  height: 2px;
  background: rgba(46,139,74,0.2);
  border-radius: 99px;
  overflow: hidden;
}

.preloader__fill {
  height: 100%;
  width: 0%;
  background: var(--gold);
  border-radius: 99px;
  animation: loadFill 1.8s ease-out forwards;
}

@keyframes loadFill { to { width: 100%; } }

/* ── Buttons ── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 32px;
  border-radius: 60px;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: var(--transition);
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0.1);
  transform: translateX(-105%);
  transition: transform 0.4s ease;
  border-radius: inherit;
}

.btn:hover::before { transform: translateX(0); }

.btn--primary {
  background: var(--gold);
  color: #0c1a0e;
}

.btn--primary:hover {
  background: var(--gold-light);
  color: #0c1a0e;
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(46,139,74,0.4);
}

.btn--outline {
  border: 1.5px solid var(--gold);
  color: var(--gold);
}

.btn--outline:hover {
  background: var(--gold);
  color: #0c1a0e;
  transform: translateY(-2px);
}

.btn--ghost {
  border: 1.5px solid rgba(255,255,255,0.3);
  color: var(--white);
}

.btn--ghost:hover {
  border-color: var(--gold);
  color: var(--gold);
  transform: translateY(-2px);
}

.btn--sm { padding: 10px 22px; font-size: 0.8rem; }
.btn--full { width: 100%; }

/* ── Glass morphism ── */
.glass {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* ── Section headings ── */
.section__label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
  display: block;
}

.section__title {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--cream);
  margin-bottom: 20px;
}

.section__title em {
  font-style: italic;
  color: var(--gold);
}

.section__desc {
  color: var(--text-light);
  font-size: 1rem;
  max-width: 520px;
  margin: 0 auto;
  line-height: 1.7;
}

.section__header { margin-bottom: 60px; }

/* ── Navigation ── */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  padding: 20px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background 0.4s ease, padding 0.4s ease, backdrop-filter 0.4s ease;
}

.nav.scrolled {
  background: var(--nav-bg);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 14px 40px;
  border-bottom: 1px solid var(--border);
}

.nav__logo {
  display: flex;
  align-items: center;
  min-width: 0;
  flex-shrink: 0;
  text-decoration: none;
  color: inherit;
}

.nav__logo-mark {
  position: relative;
  flex-shrink: 0;
  width: 76px;
  height: 76px;
}

.nav__brand-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.nav__brand-name {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: rgba(245, 240, 232, 0.95);
}

.nav__brand-tag {
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  line-height: 1.25;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav__brand-desc {
  font-size: 0.68rem;
  line-height: 1.35;
  color: rgba(245, 240, 232, 0.72);
  max-width: 240px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.nav__logo-img,
.footer__logo-img,
.preloader__logo-img {
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.nav__logo-img {
  height: 76px;
  width: auto;
  object-fit: contain;
  background: transparent;
  border: none;
  outline: none;
  box-shadow: none;
  filter: none;
}

/* Light mode → colored logo | Dark mode → white logo (never stack) */
.nav__logo-mark .nav__logo-img.logo-img--dark,
.nav__logo-mark .nav__logo-img.logo-img--light,
.footer__logo-img.logo-img--dark,
.footer__logo-img.logo-img--light {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.nav__logo-mark .nav__logo-img--custom {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.preloader__logo-img--custom {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  visibility: visible;
}

.logo-img--dark {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.logo-img--light {
  opacity: 1;
  visibility: visible;
}

[data-theme="dark"] .logo-img--dark {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

[data-theme="dark"] .logo-img--light {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.footer__logo {
  position: relative;
  min-height: 100px;
}

.preloader__logo-img.logo-img--dark,
.preloader__logo-img.logo-img--light {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.nav__logo:hover .nav__logo-img {
  opacity: 0.88;
  transform: translateY(-50%) scale(1.04);
}

.nav__logo:hover .nav__brand-name {
  color: var(--gold-light);
}

.nav__links {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  justify-content: center;
}

@media (min-width: 769px) and (max-width: 1200px) {
  .nav__links .nav__link {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
  }
}

.nav__link {
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(245,240,232,0.75);
  transition: color 0.3s;
  position: relative;
}

.nav__link::after {
  content: '';
  position: absolute;
  bottom: -4px; left: 0;
  width: 0; height: 1.5px;
  background: var(--gold);
  transition: width 0.3s ease;
}

[data-theme="dark"] .nav__link:hover {
  color: var(--cream);
}

[data-theme="light"] .nav__link:hover {
  color: var(--gold);
}

.nav__link:hover::after { width: 100%; }

.nav__right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.nav__cta {
  position: relative;
  z-index: 3;
  white-space: nowrap;
  flex-shrink: 0;
}

button.btn {
  appearance: none;
  -webkit-appearance: none;
}

button.nav__link {
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  width: 100%;
}

.nav__book-li {
  display: none;
}

.nav__cta.btn--outline:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: #0c1a0e;
}

.nav__hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: 0;
  margin: 0;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
}

.nav__hamburger span {
  display: block;
  width: 24px;
  height: 1.5px;
  background: var(--gold);
  transition: var(--transition);
}

.nav__hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav__hamburger.open span:nth-child(2) { opacity: 0; }
.nav__hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ── Hero ── */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.hero__bg picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.hero__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center 42%;
  z-index: 0;
}

.hero__bg:has(.hero__bg-img)::before {
  content: none;
}

@media (min-width: 769px) {
  .hero__bg-img {
    transform-origin: center center;
    animation: heroBreath 16s ease-in-out infinite;
    will-change: transform;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__bg-img { animation: none; will-change: auto; transform: none; }
}

.hero__bg::before {
  content: '';
  position: absolute;
  inset: -10%;
  background-image: url('../assets/images/hero-spa-mobile.webp');
  background-size: cover;
  background-position: center 42%;
  background-repeat: no-repeat;
  transform-origin: center center;
  animation: heroBreath 16s ease-in-out infinite;
  will-change: transform;
}

@media (min-width: 769px) {
  .hero__bg::before {
    background-image: url('../assets/images/hero-spa.webp');
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__bg::before { animation: none; will-change: auto; }
}

.hero__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(4,14,6,0.55) 0%,
    rgba(6,20,8,0.25) 45%,
    rgba(4,14,6,0.65) 100%
  ),
  radial-gradient(ellipse at 50% 40%, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.45) 75%);
}

@keyframes heroBreath {
  0%, 100% {
    transform: scale(1.06);
    filter: brightness(0.92) saturate(1.05);
  }
  50% {
    transform: scale(1.14);
    filter: brightness(1.02) saturate(1.1);
  }
}

.hero__particles {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}

.particle {
  position: absolute;
  width: 2px;
  height: 2px;
  background: var(--gold);
  border-radius: 50%;
  opacity: 0;
  animation: floatParticle var(--dur) var(--delay) infinite ease-in-out;
}

@keyframes floatParticle {
  0% { opacity: 0; transform: translateY(0) scale(0); }
  20% { opacity: 0.6; transform: translateY(-30px) scale(1); }
  80% { opacity: 0.3; }
  100% { opacity: 0; transform: translateY(-120px) scale(0.5); }
}

.hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 780px;
  padding: 0 24px;
}

.hero__eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
  opacity: 1;
}

.hero__title {
  font-family: var(--font-serif);
  font-size: clamp(3.5rem, 8vw, 7rem);
  font-weight: 300;
  line-height: 1.0;
  color: var(--cream);
  margin-bottom: 28px;
  overflow: hidden;
}

.reveal-line {
  display: block;
  opacity: 1;
  transform: none;
}

.reveal-line.italic {
  font-style: italic;
  color: var(--gold);
}

@keyframes slideUp {
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.hero__subtitle {
  font-size: clamp(0.95rem, 1.5vw, 1.1rem);
  color: rgba(245,240,232,0.75);
  line-height: 1.7;
  margin-bottom: 44px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  opacity: 1;
}

.hero__actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  opacity: 1;
}

.hero__scroll-indicator {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  opacity: 0;
  animation: fadeUp 0.8s 1.5s ease-out forwards;
}

.hero__scroll-text {
  font-size: 0.65rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: rgba(245,240,232,0.5);
}

.hero__scroll-line {
  width: 1px;
  height: 50px;
  background: linear-gradient(to bottom, var(--gold), transparent);
  animation: scrollPulse 2s infinite;
}

@keyframes scrollPulse {
  0%, 100% { opacity: 1; transform: scaleY(1); }
  50% { opacity: 0.3; transform: scaleY(0.5); }
}

.hero__card {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  border-radius: var(--radius);
  font-size: 0.8rem;
}

.hero__card strong { display: block; font-weight: 600; color: var(--cream); }
.hero__card small { color: var(--text-light); font-size: 0.72rem; }
.hero__card-icon { font-size: 1.4rem; }

.hero__card--1 {
  bottom: 18%;
  left: 6%;
  animation: float 4s ease-in-out infinite;
}

.hero__card--2 {
  top: 28%;
  right: 6%;
  animation: float 4s 1.5s ease-in-out infinite;
}

@media (min-width: 1025px) {
  .hero__card--1 {
    left: 10%;
  }

  .hero__card--2 {
    right: 2.5%;
  }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* ── Marquee ── */
.marquee-wrap {
  overflow: hidden;
  background: var(--bg-section2);
  border-top: 1px solid rgba(46,139,74,0.12);
  border-bottom: 1px solid rgba(46,139,74,0.12);
  padding: 18px 0;
}

.marquee-track {
  display: flex;
  gap: 48px;
  width: max-content;
  animation: marquee 28s linear infinite;
  font-family: var(--font-serif);
  font-size: 1rem;
  font-style: italic;
  color: rgba(245,240,232,0.5);
  white-space: nowrap;
}

.marquee-track .sep { color: var(--gold); }

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ── About ── */
.services__view-all {
  margin-top: 28px;
}

.page-hero--split .page-hero__media picture,
.page-hero--split .page-hero__media .hero__bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  animation: heroBreath 16s ease-in-out infinite;
  will-change: transform;
}

.about {
  background: var(--bg-section);
  overflow: hidden;
}

.about__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.about__visuals {
  position: relative;
}

/* About image slider */
.about-slider {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  height: 520px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

.about-slider__slides {
  position: relative;
  width: 100%;
  height: 100%;
}

.about-slider__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1.04);
  transition: opacity 1s ease, transform 1.2s ease;
  pointer-events: none;
}

.about-slider__slide.active {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
  z-index: 1;
}

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

.about-slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(14,12,10,0.55);
  border: 1px solid rgba(46,139,74,0.35);
  color: var(--cream);
  font-size: 1.6rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(8px);
  transition: var(--transition);
  cursor: pointer;
}

.about-slider__arrow:hover {
  background: var(--gold);
  color: var(--dark);
  border-color: var(--gold);
}

.about-slider__arrow--prev { left: 16px; }
.about-slider__arrow--next { right: 16px; }

.about-slider__dots {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  gap: 8px;
}

.about-slider__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.35);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: var(--transition);
}

.about-slider__dot.active {
  background: var(--gold);
  width: 24px;
  border-radius: 8px;
}

.about__badge {
  position: absolute;
  top: 40px;
  right: 24px;
  z-index: 5;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 2px;
  padding: 12px;
}

.about__badge-num {
  font-family: var(--font-serif);
  font-size: 2.2rem;
  color: var(--gold);
  line-height: 1;
}

.about__badge-label {
  font-size: 0.65rem;
  letter-spacing: 0.05em;
  color: var(--text-light);
  line-height: 1.3;
}

.about__body {
  color: var(--text-light);
  line-height: 1.8;
  margin-bottom: 40px;
  font-size: 1rem;
}

.about__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 44px;
}

.about__stat { border-left: 2px solid var(--gold); padding-left: 16px; }

.about__stat-num {
  display: block;
  font-family: var(--font-serif);
  font-size: 2.2rem;
  color: var(--gold);
  line-height: 1;
}

.about__stat-label {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-top: 4px;
  display: block;
}

/* ── Services preview (home) ── */
.services-preview {
  position: relative;
  overflow: hidden;
}
.services-preview .section__header { margin-bottom: 32px; }

/* ── Services ── */
.services {
  position: relative;
  z-index: 8;
  background: var(--bg-body);
  overflow: hidden;
  isolation: isolate;
  content-visibility: visible;
}

.services .container {
  position: relative;
  z-index: 2;
}

.services__bg-shape {
  position: absolute;
  top: -200px; right: -200px;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(46,139,74,0.05) 0%, transparent 70%);
  pointer-events: none;
}

.services__tabs {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 48px;
  position: relative;
  z-index: 30;
  pointer-events: auto;
  isolation: isolate;
}

.tab-btn {
  padding: 10px 24px;
  border-radius: 60px;
  border: 1.5px solid rgba(77, 184, 106, 0.55);
  background: rgba(46, 139, 74, 0.14);
  color: rgba(237, 245, 238, 0.92);
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: var(--transition);
  cursor: pointer;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
}

.tab-btn:hover {
  background: rgba(46, 139, 74, 0.32);
  border-color: var(--green-light);
  color: #fff;
}

.tab-btn.active {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
  font-weight: 600;
  box-shadow: 0 4px 16px rgba(46, 139, 74, 0.35);
}

/* Services filter (CSS-driven — reliable on mobile) */
#services[data-filter="massage"] .service-card--link:not([data-category="massage"]),
#services[data-filter="body-care"] .service-card--link:not([data-category="body"]):not([data-category="body-care"]),
#services[data-filter="skincare"] .service-card--link:not([data-category="skincare"]) {
  display: none !important;
}

#services[data-filter] .service-card--link {
  opacity: 1;
  transform: none;
}

/* Services slider */
.services-slider-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}

.services-slider__viewport {
  overflow: hidden;
  flex: 1;
  border-radius: var(--radius-lg);
}

.services-slider__track {
  display: flex;
  gap: 28px;
  transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  padding: 8px 4px 16px;
}

.services-slider__arrow {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  color: var(--cream);
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(12px);
  transition: var(--transition);
  cursor: pointer;
}

.services-slider__arrow:hover {
  background: var(--gold);
  color: var(--dark);
  border-color: var(--gold);
}

.services-slider__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
}

.services-slider__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(46,139,74,0.3);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: var(--transition);
}

.services-slider__dot.active {
  background: var(--gold);
  width: 24px;
  border-radius: 8px;
}

/* All tab: show every service in a grid (no slider) */
.services--show-all .services-slider-wrap {
  display: block;
}

.services--show-all .services-slider__arrow,
.services--show-all .services-slider__dots {
  display: none !important;
}

.services--show-all .services-slider__viewport {
  overflow: visible;
}

.services--show-all .services-slider__track {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  transform: none !important;
  padding: 8px 0 16px;
}

.services--show-all .service-card {
  flex: none;
  min-width: 0;
  max-width: none;
  width: 100%;
}

@media (max-width: 1024px) {
  .services--show-all .services-slider__track {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .services--show-all .services-slider__track {
    grid-template-columns: 1fr;
  }
}

.service-card {
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--bg-card);
  border: 1px solid var(--border);
  transition: var(--transition);
  transform: translateY(0);
  flex: 0 0 calc(33.333% - 19px);
  min-width: 300px;
  max-width: 360px;
}

.service-card--link {
  position: relative;
  z-index: 2;
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

body.custom-cursor .service-card--link {
  cursor: pointer;
}

.service-card--link:hover {
  transform: translateY(-8px);
  border-color: rgba(46,139,74,0.35);
  box-shadow: var(--shadow);
}

.service-card.hidden { display: none !important; }

.service-card__view {
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ffffff;
  padding: 12px 24px;
  border: 1.5px solid #ffffff;
  border-radius: 60px;
  background: rgba(255, 255, 255, 0.1);
  transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.service-card:hover .service-card__view {
  color: #ffffff;
  background: var(--gold);
  border-color: var(--gold);
}

.service-card__img {
  position: relative;
  height: 220px;
  overflow: hidden;
}

.service-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.service-card:hover .service-card__img img {
  transform: scale(1.08);
}

.service-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(14,12,10,0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.4s;
}

.service-card:hover .service-card__overlay { opacity: 1; }

.service-card__body { padding: 24px; }

.service-card__tag {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
  display: block;
}

.service-card__title {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  color: var(--cream);
  margin-bottom: 10px;
  font-weight: 400;
}

.service-card__desc {
  font-size: 0.875rem;
  color: var(--text-light);
  line-height: 1.6;
  margin-bottom: 20px;
}

.service-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid rgba(46,139,74,0.1);
}

.service-card__duration {
  font-size: 0.78rem;
  color: var(--text-light);
}

.service-card__price {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  color: var(--gold);
}

.service-card__rates {
  display: flex;
  flex-direction: column;
  gap: 6px;
  width: 100%;
}

.service-card__rates span {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.service-card__rates em {
  font-style: normal;
  font-size: 0.78rem;
  color: var(--text-light);
}

.service-card__rates strong {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--gold);
}

.service-detail__price-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 18px;
}

.service-detail__price-options div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.service-detail__price-options strong {
  font-family: var(--font-serif);
  color: var(--gold);
  font-size: 1.25rem;
}

/* ── Parallax Banner ── */
.parallax-banner {
  position: relative;
  height: 460px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.parallax-banner__bg {
  position: absolute;
  inset: -80px;
  filter: brightness(0.35);
}

.parallax-banner__bg picture,
.parallax-banner__bg img {
  display: block;
  width: 100%;
  height: 100%;
}

.parallax-banner__bg img {
  object-fit: cover;
  object-position: center;
}

@media (max-width: 768px) {
  .parallax-banner__bg {
    inset: 0;
  }
}

.parallax-banner__content { position: relative; z-index: 1; text-align: center; padding: 0 24px; }

/* Dark imagery — keep light text in both themes */
.parallax-banner .section__label {
  color: #8ae0a3;
}

.parallax-banner__title {
  font-family: var(--font-serif);
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  font-weight: 300;
  color: #ffffff;
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.45);
  line-height: 1.2;
  margin-bottom: 36px;
}

.parallax-banner__title em { font-style: italic; color: #b8f0c8; }

/* ── Gallery ── */
.gallery { background: var(--bg-section); }

.gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 220px;
  gap: 16px;
}

.gallery__grid--videos {
  display: flex;
  flex-wrap: nowrap;
  grid-template-columns: none;
  grid-auto-rows: auto;
  gap: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-padding-inline: 4px;
  padding-bottom: 14px;
  scrollbar-width: thin;
  scrollbar-color: var(--gold) transparent;
}

.gallery__grid--videos::-webkit-scrollbar {
  height: 6px;
}

.gallery__grid--videos::-webkit-scrollbar-track {
  background: transparent;
}

.gallery__grid--videos::-webkit-scrollbar-thumb {
  background: var(--gold);
  border-radius: 999px;
}

.gallery__grid--videos .gallery__video-card {
  flex: 0 0 auto;
  width: clamp(240px, 26vw, 300px);
  scroll-snap-align: start;
}

.gallery__videos-slider {
  position: relative;
  padding-inline: 60px;
}

.gallery__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1.5px solid var(--gold);
  background: rgba(14, 12, 10, 0.55);
  color: var(--gold);
  font-size: 1.8rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  backdrop-filter: blur(4px);
  transition: background 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}

.gallery__nav span { transform: translateY(-2px); }

.gallery__nav:hover {
  background: var(--gold);
  color: #0e0c0a;
}

.gallery__nav:disabled {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}

.gallery__nav--prev { inset-inline-start: 0; }
.gallery__nav--next { inset-inline-end: 0; }

.gallery__video-card {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  aspect-ratio: 9 / 16;
  max-height: 520px;
  min-height: 0;
  width: 100%;
  background: var(--bg-body);
  cursor: pointer;
  isolation: isolate;
}

.gallery__video,
.gallery__video-thumb {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #000;
}

.gallery__video {
  object-fit: cover;
  display: block;
}

.gallery__video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gallery__youtube-player {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: #000;
}

.gallery__youtube-player iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.gallery__video-card--no-poster .gallery__video-toggle {
  background: rgba(14, 12, 10, 0.15);
}

.gallery__video-card.is-playing .gallery__youtube-player {
  z-index: 2;
}

.gallery__video-toggle {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(14, 12, 10, 0.25);
  border: 0;
  padding: 0;
  cursor: pointer;
  pointer-events: auto;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.35s ease, opacity 0.35s ease;
}

.gallery__video-card.is-playing .gallery__video-toggle {
  opacity: 0;
  pointer-events: none;
}

.gallery__video-card.has-error .gallery__video-toggle {
  opacity: 1;
  pointer-events: auto;
  background: rgba(80, 20, 20, 0.45);
}

.gallery__video-card.is-playing:hover .gallery__video-toggle {
  opacity: 1;
  pointer-events: auto;
  background: rgba(14, 12, 10, 0.35);
}

.gallery__video-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 1.5px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  color: var(--gold);
  background: rgba(14, 12, 10, 0.45);
  transition: transform 0.35s ease;
}

.gallery__video-card:hover .gallery__video-icon { transform: scale(1.05); }

.gallery__video-icon--pause { display: none; font-size: 0.95rem; letter-spacing: -0.15em; }
.gallery__video-card.is-playing .gallery__video-icon--play { display: none; }
.gallery__video-card.is-playing .gallery__video-icon--pause { display: flex; }

.gallery__video-title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  margin: 0;
  padding: 48px 20px 18px;
  font-size: 0.82rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #f5f0e8;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
  background: linear-gradient(transparent, rgba(14, 12, 10, 0.82));
  pointer-events: none;
}

.gallery__item {
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
  cursor: pointer;
}

.gallery__item--wide { grid-column: span 2; }
.gallery__item--tall { grid-row: span 2; }

.gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.gallery__item:hover img { transform: scale(1.06); }

.gallery__hover {
  position: absolute;
  inset: 0;
  background: rgba(14,12,10,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.4s;
}

.gallery__item:hover .gallery__hover { opacity: 1; }

.gallery__hover span {
  width: 60px; height: 60px;
  border-radius: 50%;
  border: 1.5px solid var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  transform: scale(0.7);
  transition: transform 0.4s;
}

.gallery__item:hover .gallery__hover span { transform: scale(1); }

/* ── Lightbox ── */
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 9000;
  background: rgba(0,0,0,0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0.4s;
}

.lightbox.open { opacity: 1; visibility: visible; }

.lightbox__img-wrap {
  max-width: 90vw;
  max-height: 85vh;
  border-radius: var(--radius);
  overflow: hidden;
}

.lightbox__img-wrap img {
  max-width: 90vw;
  max-height: 85vh;
  object-fit: contain;
}

.lightbox__close {
  position: absolute;
  top: 24px; right: 32px;
  font-size: 1.5rem;
  color: var(--cream);
  opacity: 0.7;
  transition: opacity 0.3s;
  cursor: pointer;
}

.lightbox__close:hover { opacity: 1; }

.lightbox__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 3rem;
  color: var(--cream);
  opacity: 0.6;
  padding: 0 20px;
  cursor: pointer;
  transition: opacity 0.3s;
}

.lightbox__arrow:hover { opacity: 1; }
.lightbox__arrow--prev { left: 10px; }
.lightbox__arrow--next { right: 10px; }

/* ── Testimonials ── */
.testimonials { background: var(--bg-body); overflow: hidden; }

.testimonials__slider {
  overflow: hidden;
  border-radius: var(--radius-lg);
  container-type: inline-size;
  container-name: testimonials-slider;
}

.testimonials__track {
  display: flex;
  gap: 28px;
  transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);
  will-change: transform;
}

.testimonial-card {
  flex: 0 0 calc((100cqw - 56px) / 3);
  width: calc((100cqw - 56px) / 3);
  min-width: calc((100cqw - 56px) / 3);
  padding: 32px 28px;
  border-radius: var(--radius-lg);
  flex-shrink: 0;
  box-sizing: border-box;
}

.testimonial-card__stars {
  color: var(--gold);
  font-size: 1rem;
  letter-spacing: 4px;
  margin-bottom: 20px;
}

.testimonial-card__text {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  color: rgba(245,240,232,0.85);
  line-height: 1.8;
  margin-bottom: 28px;
  font-style: italic;
}

.testimonial-card__author {
  display: flex;
  align-items: center;
  gap: 14px;
}

.testimonial-card__author img {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 2px solid var(--gold);
  object-fit: cover;
  box-sizing: border-box;
}

/* Dark mode: light avatar background so client logos/photos stay visible */
:root .testimonial-card__author img,
[data-theme="dark"] .testimonial-card__author img {
  background: var(--cream);
  object-fit: contain;
  padding: 5px;
}

[data-theme="light"] .testimonial-card__author img {
  background: transparent;
  object-fit: cover;
  padding: 0;
}

.testimonial-card__author strong {
  display: block;
  font-size: 0.9rem;
  color: var(--cream);
  margin-bottom: 2px;
}

.testimonial-card__author small {
  font-size: 0.75rem;
  color: var(--text-light);
}

.testimonials__dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 36px;
}

.dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(46,139,74,0.3);
  transition: var(--transition);
  cursor: pointer;
}

.dot.active {
  background: var(--gold);
  width: 28px;
  border-radius: 8px;
}

/* ── Booking ── */
.booking {
  background: var(--bg-section);
  position: relative;
  overflow: hidden;
}

.booking__bg-particles {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.booking__grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 72px;
  align-items: start;
}

.booking__desc {
  color: var(--text-light);
  line-height: 1.8;
  margin: 20px 0 32px;
}

.booking__perks {
  margin-bottom: 40px;
}

.booking__perks li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  font-size: 0.875rem;
  color: var(--cream);
  border-bottom: 1px solid rgba(46,139,74,0.1);
}

.perk-icon {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.6rem;
  font-weight: 700;
  color: var(--dark);
  flex-shrink: 0;
}

.booking__contact-info { display: flex; flex-direction: column; gap: 16px; }

.bci {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 0.875rem;
}

.bci > span { font-size: 1.2rem; }

.bci strong { display: block; color: var(--cream); font-weight: 500; }
.bci a, .bci span { color: var(--text-light); }
.bci a:hover { color: var(--gold); }

/* Booking Form */
.booking__form-wrap {
  padding: 44px;
  border-radius: var(--radius-lg);
}

.booking__form-title {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  color: var(--cream);
  margin-bottom: 32px;
  font-weight: 400;
}

.form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form__row--3 {
  grid-template-columns: repeat(3, 1fr);
}

.form__phone {
  display: flex;
  align-items: stretch;
  border-radius: 10px;
  overflow: hidden;
  border: 1.5px solid var(--input-border);
  background: var(--input-bg);
  transition: border-color 0.3s, box-shadow 0.3s;
}

.form__phone:focus-within {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(46,139,74,0.12);
  background: rgba(46,139,74,0.04);
}

.form__phone-code {
  flex: 0 0 auto;
  width: auto;
  min-width: 108px;
  max-width: 132px;
  padding: 13px 10px;
  border: none;
  border-right: 1.5px solid var(--input-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 0.88rem;
}

.form__phone input {
  flex: 1;
  min-width: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.form__phone input:focus {
  box-shadow: none;
  background: transparent;
}

.form__group {
  position: relative;
  margin-bottom: 20px;
}

.form__group label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 8px;
  transition: color 0.3s;
}

.form__group:focus-within label { color: var(--gold); }

.form__group input:not([type="checkbox"]):not([type="radio"]),
.form__group select,
.form__group textarea {
  width: 100%;
  padding: 13px 16px;
  background: var(--input-bg);
  border: 1.5px solid var(--input-border);
  border-radius: 10px;
  color: var(--cream);
  font-size: 0.9rem;
  transition: border-color 0.3s, box-shadow 0.3s;
  outline: none;
  appearance: none;
}

.form__group select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232e8b4a' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px;
  padding-right: 40px;
}

.form__group select option {
  background: var(--bg-section);
  color: var(--cream);
}

.form__group input:focus,
.form__group select:focus,
.form__group textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(46,139,74,0.12);
  background: rgba(46,139,74,0.04);
}

.form__group input::placeholder,
.form__group textarea::placeholder {
  color: rgba(122,106,88,0.6);
}

.form__group input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(0.7);
  cursor: pointer;
}

.form__group textarea { resize: vertical; }

.form__group.error input:not([type="checkbox"]):not([type="radio"]),
.form__group.error select,
.form__group.error textarea {
  border-color: #e05c5c;
}

.form__error {
  display: block;
  font-size: 0.72rem;
  color: #e05c5c;
  margin-top: 5px;
  opacity: 0;
  transition: opacity 0.3s;
}

.form__group.error .form__error { opacity: 1; }

.booking__form-error {
  color: #e85d5d;
  font-size: 0.85rem;
  line-height: 1.5;
  margin: 0 0 16px;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  background: rgba(232, 93, 93, 0.12);
  border: 1px solid rgba(232, 93, 93, 0.35);
}

.booking__form-error[hidden] {
  display: none;
}

/* ── Success Modal ── */
.modal {
  position: fixed;
  inset: 0;
  z-index: 8000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s, visibility 0.4s;
}

.modal.open { opacity: 1; visibility: visible; }

.modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.7);
  backdrop-filter: blur(6px);
}

.modal__box {
  position: relative;
  z-index: 1;
  padding: 56px 48px;
  border-radius: var(--radius-lg);
  text-align: center;
  max-width: 440px;
  width: 90%;
  transform: scale(0.8);
  transition: transform 0.4s cubic-bezier(0.175,0.885,0.32,1.275);
}

.modal.open .modal__box { transform: scale(1); }

.modal__icon {
  width: 72px; height: 72px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--dark);
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  animation: popIn 0.5s 0.3s ease-out both;
}

@keyframes popIn {
  from { transform: scale(0); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.modal__title {
  font-family: var(--font-serif);
  font-size: 1.8rem;
  color: var(--cream);
  margin-bottom: 16px;
  font-weight: 400;
}

.modal__text {
  color: var(--text-light);
  line-height: 1.7;
  margin-bottom: 32px;
  font-size: 0.9rem;
}

.modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  border: none;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  color: var(--cream);
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.25s, transform 0.2s;
}

.modal__close:hover {
  background: rgba(255,255,255,0.16);
  transform: scale(1.05);
}

.modal__box--booking {
  max-width: 640px;
  width: min(94vw, 640px);
  max-height: 90vh;
  overflow-y: auto;
  text-align: left;
  padding: 36px 32px 32px;
  -webkit-overflow-scrolling: touch;
}

.modal--booking .booking__form-title {
  margin-bottom: 8px;
  padding-inline-end: 40px;
}

.booking-modal__desc {
  color: var(--text-light);
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 24px;
}

.modal--booking .booking__form {
  margin-top: 0;
}

[data-theme="light"] .modal__close {
  background: rgba(12,26,14,0.06);
  color: var(--text-dark);
}

[data-theme="light"] .modal__close:hover {
  background: rgba(12,26,14,0.12);
}

/* ── Contact ── */
.contact { background: var(--bg-body); }

.contact__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.contact__card {
  padding: 36px 28px;
  border-radius: var(--radius);
  text-align: center;
  transition: var(--transition);
}

.contact__card:hover {
  transform: translateY(-5px);
  border-color: rgba(46,139,74,0.3);
}

.contact__card-icon { font-size: 2rem; margin-bottom: 16px; }
.contact__card h4 { font-family: var(--font-serif); font-size: 1.1rem; margin-bottom: 8px; }
.contact__card p, .contact__card a { font-size: 0.875rem; color: var(--text-light); line-height: 1.7; }
.contact__card a:hover { color: var(--gold); }

.contact__map {
  border-radius: var(--radius-lg);
  overflow: hidden;
  height: 380px;
  border: 1px solid rgba(46,139,74,0.15);
}

.contact__map iframe { width: 100%; height: 100%; border: none; filter: invert(0.9) hue-rotate(180deg); }

/* ── Footer ── */
.footer { background: var(--bg-section2); }

.footer--rich {
  position: relative;
  margin-top: 0;
  background: linear-gradient(180deg, var(--green-dark) 0%, #0c1a0e 38%, var(--dark) 100%);
  color: #fff;
  overflow: hidden;
}

.footer--rich::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 50% at 20% 0%, rgba(77,184,106,0.1) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at 90% 100%, rgba(46,139,74,0.08) 0%, transparent 55%);
  pointer-events: none;
}

.footer--rich::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--green-dark), var(--gold-light) 50%, var(--green-dark));
  z-index: 2;
}

.footer__top {
  position: relative;
  z-index: 1;
  padding: 64px 0 72px;
}

.footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.15fr 1fr;
  gap: 48px;
}

.footer__logo {
  position: relative;
  min-height: 96px;
  margin-bottom: 14px;
}

.footer__logo-img {
  height: 96px;
  width: auto;
  object-fit: contain;
  background: transparent;
}

.footer--rich .footer__logo-img--white {
  position: static !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto;
  display: block !important;
}

.footer--rich .footer__logo-img--custom {
  filter: brightness(0) invert(1);
}

[data-theme="light"] .footer--rich .footer__logo-img--white,
[data-theme="dark"] .footer--rich .footer__logo-img--white {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

.footer__addresses {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(77,184,106,0.22);
}

.footer__address-item {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.85);
  line-height: 1.65;
  margin-bottom: 12px;
}

.footer__address-item:last-child {
  margin-bottom: 0;
}

.footer__address-link {
  display: inline-block;
  color: rgba(255,255,255,0.88);
  transition: color 0.45s cubic-bezier(0.4, 0, 0.2, 1), transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer__address-link:hover {
  color: #b8f0c8;
  transform: translateX(3px);
}

html[dir="rtl"] .footer__address-link:hover {
  transform: translateX(-3px);
}

[data-theme="light"] .footer--rich .footer__address-link {
  color: rgba(255,255,255,0.92);
}

[data-theme="light"] .footer--rich .footer__address-link:hover {
  color: #d4ffe0;
}

.footer__brand-title {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 8px;
  line-height: 1.35;
}

.footer__brand-tagline {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--gold-light);
  margin-bottom: 10px;
  letter-spacing: 0.04em;
}

.footer__brand-desc {
  color: rgba(237,245,238,0.78);
  font-size: 0.84rem;
  line-height: 1.75;
  max-width: 300px;
  margin-bottom: 22px;
}

.footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.footer--rich .social-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(77,184,106,0.35);
  background: rgba(46,139,74,0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: var(--transition);
  backdrop-filter: blur(4px);
}

.footer--rich .social-btn svg { width: 17px; height: 17px; }

.footer--rich .social-btn:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: var(--dark);
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(46,139,74,0.35);
}

.footer__col h5 {
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  color: #fff;
  margin-bottom: 22px;
  padding-bottom: 10px;
  border-bottom: 2px solid rgba(77,184,106,0.45);
}

.footer__col .footer__links {
  gap: 2px;
}

.footer__links li {
  line-height: 1.2;
}

.footer__links a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  margin: 0 -10px;
  border-radius: 10px;
  font-size: 0.84rem;
  color: rgba(255,255,255,0.88);
  transform: translate3d(0, 0, 0);
  transition:
    color 0.55s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.55s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.55s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer__links a:hover {
  color: #fff;
  background: rgba(77,184,106,0.18);
  transform: translate3d(5px, 0, 0);
  box-shadow: 0 2px 12px rgba(46,139,74,0.15);
}

.footer__link-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate3d(0, 0, 0) scale(1);
  transition:
    transform 0.55s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.55s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer__links a:hover .footer__link-icon {
  transform: translate3d(0, 0, 0) scale(1.06);
  box-shadow: 0 3px 12px rgba(77,184,106,0.4);
}

.footer__link-icon--quick,
.footer__link-icon--explore {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: linear-gradient(135deg, #5fd080 0%, var(--gold) 100%);
  color: #0a3318;
  box-shadow: 0 2px 8px rgba(46,139,74,0.35);
}

.footer__links a:hover .footer__link-icon--quick,
.footer__links a:hover .footer__link-icon--explore {
  background: linear-gradient(135deg, #72e090 0%, var(--gold-light) 100%);
}

.footer__link-icon--quick svg,
.footer__link-icon--explore svg {
  width: 13px;
  height: 13px;
}

.footer__link-icon--arrow {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, #5fd080 0%, var(--gold) 100%);
  color: #0a3318;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 2px 8px rgba(46,139,74,0.35);
}

.footer__links a:hover .footer__link-icon--arrow {
  background: linear-gradient(135deg, #72e090 0%, var(--gold-light) 100%);
}

.footer__branch-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.footer__branch-value {
  font-size: 0.84rem;
  color: rgba(255,255,255,0.92);
  letter-spacing: 0.02em;
  transition: color 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer__links a:hover .footer__branch-value {
  color: #b8f0c8;
}

.footer__links--branch a {
  align-items: flex-start;
}

.footer__links .footer__contact-label {
  color: #b8f0c8;
  transition: color 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer__links a:hover .footer__contact-label {
  color: #fff;
}

.footer__contact-block {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(77,184,106,0.2);
}

.footer__contact-block p {
  font-size: 0.8rem;
  color: rgba(237,245,238,0.75);
  line-height: 1.65;
  margin-bottom: 10px;
}

.footer__contact-block a {
  color: rgba(237,245,238,0.88);
  transition: color 0.3s;
}

.footer__contact-block a:hover { color: var(--gold-light); }

.footer__contact-label {
  display: block;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #b8f0c8;
  margin-bottom: 3px;
}

.footer__col ul:not(.footer__links) { display: flex; flex-direction: column; gap: 12px; }

.footer__col:not(.footer__brand) > a:not(.social-btn) {
  font-size: 0.875rem;
  color: rgba(255,255,255,0.85);
  transition: color 0.3s;
}

.footer__col > p {
  font-size: 0.85rem;
  color: var(--text-light);
  line-height: 1.7;
  margin-bottom: 18px;
}

.social-btn {
  width: 40px; height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(46,139,74,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-light);
  transition: var(--transition);
}

.social-btn svg { width: 16px; height: 16px; }

.social-btn:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--dark);
  transform: translateY(-3px);
}

.footer__newsletter {
  display: flex;
  gap: 8px;
}

.footer__newsletter input {
  flex: 1;
  padding: 11px 16px;
  background: var(--input-bg);
  border: 1.5px solid var(--input-border);
  border-radius: 60px;
  color: var(--cream);
  font-size: 0.85rem;
  outline: none;
  transition: border-color 0.3s;
}

.footer__newsletter input:focus { border-color: var(--gold); }
.footer__newsletter input::placeholder { color: rgba(122,106,88,0.6); }

.footer__bottom {
  position: relative;
  z-index: 1;
  padding: 22px 0;
  border-top: 1px solid rgba(77,184,106,0.18);
  text-align: center;
  background: rgba(0,0,0,0.15);
}

.footer--rich .footer__bottom {
  background: rgba(6,13,7,0.45);
}

.footer__bottom p {
  font-size: 0.78rem;
  color: var(--text-light);
}

.footer--rich .footer__bottom p {
  color: rgba(237,245,238,0.65);
}

.footer--rich .footer__bottom a {
  color: var(--gold-light);
}

.footer--rich .footer__bottom a:hover {
  color: #fff;
}

html[dir="rtl"] .footer__links a:hover {
  transform: translate3d(-5px, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .footer__links a,
  .footer__link-icon,
  .footer__branch-value,
  .footer__links .footer__contact-label {
    transition: none;
  }

  .footer__links a:hover,
  .footer__links a:hover .footer__link-icon {
    transform: none;
  }
}

[data-theme="light"] .footer--rich {
  background: linear-gradient(180deg, #1a6b35 0%, #0d4520 38%, #0a3318 100%);
}

[data-theme="light"] .footer--rich .footer__col h5,
[data-theme="light"] .footer--rich .footer__brand-title,
[data-theme="light"] .footer--rich .footer__brand-tagline {
  color: #fff;
}

[data-theme="light"] .footer--rich .footer__brand-desc,
[data-theme="light"] .footer--rich .footer__address-item {
  color: rgba(255,255,255,0.88);
}

[data-theme="light"] .footer--rich .footer__links a {
  color: rgba(255,255,255,0.9);
}

[data-theme="light"] .footer--rich .footer__links a:hover {
  color: #fff;
  background: rgba(255,255,255,0.1);
}

[data-theme="light"] .footer--rich .footer__branch-value {
  color: rgba(255,255,255,0.95);
}

[data-theme="light"] .footer--rich .footer__links .footer__contact-label,
[data-theme="light"] .footer--rich .footer__contact-label {
  color: #c8f5d4;
}

[data-theme="light"] .footer--rich .footer__link-icon--quick,
[data-theme="light"] .footer--rich .footer__link-icon--explore,
[data-theme="light"] .footer--rich .footer__link-icon--arrow {
  background: linear-gradient(135deg, #8ee8a8 0%, #4db86a 100%);
  color: #0a3318;
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

[data-theme="light"] .footer--rich .footer__links a:hover .footer__link-icon--quick,
[data-theme="light"] .footer--rich .footer__links a:hover .footer__link-icon--explore,
[data-theme="light"] .footer--rich .footer__links a:hover .footer__link-icon--arrow {
  background: linear-gradient(135deg, #a8f0bc 0%, #5fd080 100%);
}

[data-theme="light"] .footer--rich .social-btn {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.3);
  color: #fff;
}

[data-theme="light"] .footer--rich .social-btn:hover {
  background: #fff;
  color: #0d4520;
}

/* ── Floating action buttons (Music · Call · WhatsApp · Up) ── */
body > .fab-stack {
  --fab-size: 58px;
  --fab-gap: 16px;
  --fab-gold: #e8c989;
  --fab-gold-bright: #f6e4b4;
  position: fixed;
  inset-inline-end: max(22px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 9998;
  display: flex;
  flex-direction: column;
  gap: var(--fab-gap);
  align-items: center;
  visibility: visible;
  opacity: 1;
  pointer-events: none;
}

body > .fab-stack > * {
  pointer-events: auto;
}

body > .fab-stack .fab {
  --fab-glow: rgba(212, 175, 106, 0.38);
  position: relative;
  isolation: isolate;
  width: var(--fab-size);
  height: var(--fab-size);
  padding: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  color: #fff8ee;
  text-decoration: none;
  background:
    linear-gradient(#1a140c, #1a140c) padding-box,
    linear-gradient(145deg, #fff6d6 0%, #d7b56a 26%, #8a6428 52%, #f4e2ae 78%, #c49a48 100%) border-box;
  border: 2px solid transparent;
  flex-shrink: 0;
  cursor: pointer;
  touch-action: manipulation;
  box-shadow:
    0 16px 30px -12px rgba(8, 24, 16, 0.58),
    0 0 0 5px rgba(255, 248, 238, 0.08),
    0 0 22px var(--fab-glow),
    inset 0 1px 0 rgba(255, 248, 220, 0.55);
  transition:
    transform 0.45s cubic-bezier(0.22, 0.8, 0.28, 1),
    box-shadow 0.45s ease,
    filter 0.45s ease;
  animation: fabFloat 5.4s ease-in-out infinite;
}

body > .fab-stack .fab::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: inherit;
  border: 1.5px solid transparent;
  border-top-color: rgba(246, 228, 180, 0.95);
  border-right-color: rgba(246, 228, 180, 0.28);
  animation: fabOrbit 7.5s linear infinite;
  pointer-events: none;
  z-index: 0;
}

body > .fab-stack .fab::after {
  content: none;
}

body > .fab-stack .fab__gem {
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  box-shadow:
    inset 0 2px 4px rgba(255, 255, 255, 0.42),
    inset 0 -10px 14px rgba(0, 0, 0, 0.28);
}

body > .fab-stack .fab__gem::after {
  content: "";
  position: absolute;
  top: -30%;
  left: -55%;
  width: 42%;
  height: 160%;
  background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, 0.62) 48%, transparent 62%);
  transform: rotate(18deg);
  animation: fabShine 4.8s ease-in-out infinite;
}

body > .fab-stack .fab__pulse {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1.5px solid rgba(232, 201, 137, 0.4);
  opacity: 0;
  pointer-events: none;
  z-index: 0;
}

body > .fab-stack .fab svg,
body > .fab-stack .fab .music-player__icon {
  position: relative;
  z-index: 2;
}

body > .fab-stack .fab svg {
  display: block;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.28));
  transition: transform 0.4s cubic-bezier(0.22, 0.8, 0.28, 1);
}

body > .fab-stack .music-player__icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  line-height: 0;
}

body > .fab-stack .music-player__icon svg {
  grid-area: 1 / 1;
  margin: 0;
}

body > .fab-stack .fab .music-player__waves {
  position: absolute;
  inset: 0;
  z-index: 2;
}

body > .fab-stack .fab:hover,
body > .fab-stack .fab:focus-visible {
  transform: translateY(-8px) scale(1.08);
  animation-play-state: paused;
  filter: brightness(1.07);
  box-shadow:
    0 24px 40px -14px rgba(8, 24, 16, 0.6),
    0 0 0 6px rgba(232, 201, 137, 0.18),
    0 0 28px var(--fab-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

body > .fab-stack .fab:hover svg,
body > .fab-stack .fab:focus-visible svg {
  transform: scale(1.12);
}

body > .fab-stack .fab:active {
  transform: translateY(-2px) scale(0.98);
}

body > .fab-stack .fab--music,
body > .fab-stack .music-player__btn.fab--music {
  --fab-glow: rgba(62, 196, 122, 0.42);
  background:
    linear-gradient(#123222, #123222) padding-box,
    linear-gradient(145deg, #fff6d6 0%, #d7b56a 26%, #8a6428 52%, #f4e2ae 78%, #c49a48 100%) border-box;
  color: #fff8ee;
}

body > .fab-stack .fab--music .fab__gem {
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, 0.55), transparent 40%),
    radial-gradient(circle at 72% 78%, rgba(8, 40, 22, 0.4), transparent 52%),
    linear-gradient(160deg, #4fd48a 0%, #1d7a4a 48%, #0c3d26 100%);
}

body > .fab-stack .fab--music {
  animation-delay: 0s;
}

body > .fab-stack .fab--call {
  --fab-glow: rgba(201, 168, 104, 0.4);
  color: #f6ead2;
}

body > .fab-stack .fab--call .fab__gem {
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, 0.32), transparent 40%),
    radial-gradient(circle at 70% 80%, rgba(0, 0, 0, 0.38), transparent 54%),
    linear-gradient(160deg, #2a5a40 0%, #143224 48%, #0a1c14 100%);
}

body > .fab-stack .fab--call {
  animation-delay: 0.4s;
}

body > .fab-stack .fab--call::before {
  animation-delay: -2s;
}

body > .fab-stack .fab--whatsapp {
  --fab-glow: rgba(54, 214, 122, 0.5);
  color: #fff;
}

body > .fab-stack .fab--whatsapp .fab__gem {
  background:
    radial-gradient(circle at 30% 24%, rgba(255, 255, 255, 0.5), transparent 38%),
    radial-gradient(circle at 74% 80%, rgba(8, 60, 30, 0.38), transparent 50%),
    linear-gradient(160deg, #5ef09a 0%, #1fbf62 46%, #0e8a44 100%);
}

body > .fab-stack .fab--whatsapp {
  animation-delay: 0.8s;
}

body > .fab-stack .fab--whatsapp::before {
  animation-delay: -4s;
}

body > .fab-stack .fab--whatsapp .fab__pulse {
  border-color: rgba(94, 240, 154, 0.7);
  animation: fabPing 2.6s ease-out infinite;
}

body > .fab-stack .fab--whatsapp .fab__pulse::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 1px solid rgba(232, 201, 137, 0.45);
  animation: fabPing 2.6s ease-out 0.7s infinite;
}

body > .fab-stack .fab--top,
body > .fab-stack .back-to-top {
  position: relative;
  width: var(--fab-size);
  height: var(--fab-size);
  color: #1a3324;
  font-size: 0;
  background:
    linear-gradient(#3a2c16, #3a2c16) padding-box,
    linear-gradient(145deg, #fff6d6 0%, #d7b56a 26%, #8a6428 52%, #f4e2ae 78%, #c49a48 100%) border-box;
}

body > .fab-stack .fab--top .fab__gem {
  background:
    radial-gradient(circle at 32% 24%, #fff, transparent 44%),
    linear-gradient(160deg, #fffaf1 0%, #f0e2c4 48%, #e4d0a2 100%);
}

body > .fab-stack .fab--top {
  animation-delay: 1.2s;
}

body > .fab-stack .fab--top svg {
  width: 20px;
  height: 20px;
}

body > .fab-stack .fab--top:hover,
body > .fab-stack .fab--top:focus-visible {
  color: #10291d;
}

body > .fab-stack .music-player {
  position: relative;
  inset: auto;
  z-index: auto;
  display: flex;
  width: var(--fab-size);
  height: var(--fab-size);
  padding: 0;
  gap: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  cursor: default;
}

body > .fab-stack .music-player:hover {
  transform: none;
  box-shadow: none;
}

body > .fab-stack .music-player__btn {
  width: var(--fab-size);
  height: var(--fab-size);
  margin: 0;
  overflow: visible;
  background:
    linear-gradient(#123222, #123222) padding-box,
    linear-gradient(145deg, #fff6d6 0%, #d7b56a 26%, #8a6428 52%, #f4e2ae 78%, #c49a48 100%) border-box;
}

body > .fab-stack .music-player__btn:hover,
body > .fab-stack .music-player__btn.playing {
  background:
    linear-gradient(#123222, #123222) padding-box,
    linear-gradient(145deg, #fff6d6 0%, #d7b56a 26%, #8a6428 52%, #f4e2ae 78%, #c49a48 100%) border-box;
}

body > .fab-stack .music-player__btn.playing {
  animation: none;
  box-shadow:
    0 16px 30px -12px rgba(8, 24, 16, 0.58),
    0 0 0 5px rgba(255, 248, 238, 0.08),
    0 0 26px rgba(62, 196, 122, 0.55),
    inset 0 1px 0 rgba(255, 248, 220, 0.55);
}

body > .fab-stack .music-player__label {
  display: none;
}

@keyframes fabFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

@keyframes fabOrbit {
  to { transform: rotate(360deg); }
}

@keyframes fabShine {
  0% { transform: translateX(0) rotate(18deg); opacity: 0; }
  12% { opacity: 1; }
  42% { transform: translateX(220%) rotate(18deg); opacity: 0; }
  100% { transform: translateX(220%) rotate(18deg); opacity: 0; }
}

@keyframes fabPing {
  0% { transform: scale(0.92); opacity: 0.75; }
  70% { transform: scale(1.22); opacity: 0; }
  100% { transform: scale(1.22); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  body > .fab-stack .fab,
  body > .fab-stack .fab::before,
  body > .fab-stack .fab__gem::after,
  body > .fab-stack .fab__pulse,
  body > .fab-stack .fab__pulse::after {
    animation: none;
  }
}

/* ── Scroll Reveal (below-fold only; above-fold stays visible) ── */
[data-reveal] {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

@media (prefers-reduced-motion: no-preference) and (min-width: 769px) {
  [data-reveal]:not(.revealed) {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.7s ease, transform 0.7s ease;
    pointer-events: none;
  }

  [data-reveal].revealed {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .about__grid { gap: 48px; }
  .booking__grid { grid-template-columns: 1fr; gap: 48px; }
  .footer__grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .about__badge { right: -10px; }
}

@media (max-width: 768px) {
  body.custom-cursor { cursor: auto; }

  .preloader,
  .leaves-scene,
  .cursor-glow,
  .cursor-dot {
    display: none !important;
  }

  .nav__links { display: none; }
  .nav__cta { display: none; }
  .nav__hamburger { display: flex; }

  .nav__links.open {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0;
    background: var(--bg-body);
    align-items: center;
    justify-content: center;
    gap: 28px;
    z-index: 999;
    padding: 96px 24px 40px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .nav__links.open .nav__link {
    font-size: 1.35rem;
    letter-spacing: 0.08em;
    color: var(--text) !important;
  }

  [data-theme="dark"] .nav__links.open .nav__link {
    color: var(--cream) !important;
  }

  .nav__links.open .nav__link:hover,
  .nav__links.open .nav__link--active {
    color: var(--gold) !important;
  }

  .nav.nav--open {
    background: var(--nav-bg);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
  }

  .nav.nav--open .nav__logo,
  .nav.nav--open .nav__right {
    position: relative;
    z-index: 1001;
  }

  .nav.nav--open .nav__hamburger span {
    background: var(--gold);
  }

  [data-theme="light"] .nav.nav--open .nav__logo-img--custom {
    filter: none;
  }

  [data-theme="light"] .nav.nav--open .logo-img--light {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  [data-theme="light"] .nav.nav--open .logo-img--dark {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .hero__card { display: none; }

  .hero {
    min-height: 100svh;
    padding: 96px 0 40px;
  }

  .hero__bg::before {
    inset: 0;
    animation: none;
    will-change: auto;
    transform: none;
  }

  .hero__content {
    padding: 0 20px;
    max-width: 100%;
  }

  .hero__eyebrow {
    font-size: 0.68rem;
    letter-spacing: 0.2em;
    margin-bottom: 14px;
  }

  .hero__title {
    font-size: clamp(2rem, 9vw, 3.25rem);
    line-height: 1.08;
    margin-bottom: 20px;
  }

  .hero__subtitle {
    font-size: 0.95rem;
    line-height: 1.65;
    max-width: 100%;
    margin-bottom: 28px;
  }

  .hero__actions {
    gap: 12px;
  }

  .hero__actions .btn {
    width: 100%;
    max-width: 300px;
    justify-content: center;
    min-height: 48px;
  }

  .hero__scroll-indicator { display: none; }

  .nav {
    padding: 14px 18px;
  }

  .nav__logo-mark {
    width: 58px;
    height: 58px;
  }

  .nav__logo-img {
    height: 58px;
  }

  .about__grid { grid-template-columns: 1fr; }
  .about-slider { height: 340px; }
  .about__badge { right: 16px; top: 20px; }
  .about__stats { grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .about__text > .btn {
    display: inline-flex;
    margin-left: auto;
    margin-right: auto;
  }
  .about__text {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }


  .gallery__grid {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 180px;
  }
  .gallery__grid--videos {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 16px;
    grid-template-columns: unset;
    grid-auto-rows: unset;
  }
  .gallery__grid--videos .gallery__video-card {
    flex: 0 0 auto;
    width: min(70vw, 280px);
    max-height: none;
    aspect-ratio: 9 / 16;
  }
  .gallery__videos-slider {
    padding-inline: 44px;
  }
  .gallery__nav {
    width: 38px;
    height: 38px;
    font-size: 1.4rem;
  }
  .gallery__nav--prev { inset-inline-start: 0; }
  .gallery__nav--next { inset-inline-end: 0; }
  .gallery__item--wide { grid-column: span 2; }
  .gallery__item--tall { grid-row: span 1; }

  .testimonial-card {
    flex: 0 0 100cqw;
    width: 100cqw;
    min-width: 100cqw;
    padding: 28px;
  }

  .contact__grid { grid-template-columns: 1fr; }

  .footer__grid { grid-template-columns: 1fr; gap: 32px; }

  body > .fab-stack {
    --fab-size: 52px;
    --fab-gap: 13px;
    inset-inline-end: max(14px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 9998;
  }

  .form__row { grid-template-columns: 1fr; }
  .form__row--3 { grid-template-columns: 1fr; }
  .booking__form-wrap { padding: 28px; }

}

@media (max-width: 480px) {
  .nav { padding: 12px 16px; }
  .section { padding: 64px 0; }
  .gallery__grid { grid-template-columns: 1fr; }
  .gallery__grid--videos { gap: 14px; }
  .gallery__grid--videos .gallery__video-card { width: min(78vw, 260px); }
  .gallery__item--wide { grid-column: span 1; }
  .hero__actions { flex-direction: column; align-items: center; }
  .hero__title { font-size: clamp(1.85rem, 8.5vw, 2.75rem); }
  .parallax-banner { height: 360px; }
  .parallax-banner__title { font-size: clamp(1.5rem, 6.5vw, 2.2rem); }
}

/* ── 3D Falling Leaves ── */
.leaves-scene {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 35;
  overflow: hidden;
  background: transparent;
}

.leaves-perspective {
  width: 100%;
  height: 100%;
  perspective: 1100px;
  perspective-origin: 50% 0%;
  transform-style: preserve-3d;
  position: relative;
  background: transparent;
}

.leaf {
  position: absolute;
  top: -120px;
  transform-style: preserve-3d;
  transform-origin: center center;
  will-change: transform, opacity;
  pointer-events: none;
  background: none;
  animation: leafFall var(--leaf-dur, 18s) ease-in-out forwards;
}

.leaf img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transform-style: preserve-3d;
  transform-origin: center center;
  backface-visibility: visible;
  pointer-events: none;
  user-select: none;
  background: none;
  animation: leafTumble var(--leaf-dur, 18s) ease-in-out forwards;
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.2))
          drop-shadow(0 3px 8px rgba(0, 0, 0, 0.1));
}

@keyframes leafFall {
  0% {
    transform: translate3d(0, -120px, var(--tz-start)) rotateZ(var(--rz-start));
    opacity: 0;
  }
  6%  { opacity: var(--leaf-opacity); }
  50% {
    transform: translate3d(var(--drift-mid), 55vh, var(--tz-mid)) rotateZ(var(--rz-mid));
    opacity: var(--leaf-opacity);
  }
  94% { opacity: calc(var(--leaf-opacity) * 0.35); }
  100% {
    transform: translate3d(var(--drift-end), 115vh, var(--tz-end)) rotateZ(var(--rz-end));
    opacity: 0;
  }
}

@keyframes leafTumble {
  0% {
    transform: rotateX(var(--rx-start)) rotateY(var(--ry-start));
  }
  50% {
    transform: rotateX(var(--rx-mid)) rotateY(var(--ry-mid));
  }
  100% {
    transform: rotateX(var(--rx-end)) rotateY(var(--ry-end));
  }
}

/* ── Music Player ── */
.music-player {
  position: fixed;
  bottom: 78px;
  right: 108px;
  z-index: 1200;
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-radius: 60px;
  padding: 10px 18px 10px 10px;
  cursor: pointer;
  pointer-events: auto;
  transition: box-shadow 0.4s ease, transform 0.3s ease;
  box-shadow: 0 8px 32px rgba(0,0,0,0.2);
}

.music-player:hover {
  box-shadow: 0 12px 40px rgba(46,139,74,0.25);
  transform: translateY(-2px);
}

.music-player__btn {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  cursor: pointer;
  transition: background 0.3s, transform 0.2s, box-shadow 0.45s ease;
  overflow: hidden;
}

.music-player__btn:hover {
  background: var(--gold-light);
}

.music-player__btn.playing {
  animation: musicPulse 2s ease-in-out infinite;
}

@keyframes musicPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(46,139,74,0.4); }
  50%       { box-shadow: 0 0 0 10px rgba(46,139,74,0); }
}

.music-player__icon {
  position: relative;
  z-index: 1;
  display: flex;
  color: #fff;
}

.music-player__icon svg { width: 20px; height: 20px; }

/* Sound waves (only visible while playing) */
.music-player__waves {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  opacity: 0;
  transition: opacity 0.3s;
}

.music-player.playing .music-player__waves { opacity: 1; }
.music-player.playing .music-player__icon svg { opacity: 0; }

.music-player__waves span {
  display: block;
  width: 3px;
  border-radius: 3px;
  background: #fff;
  animation: waveBar 1.2s ease-in-out infinite;
}

.music-player__waves span:nth-child(1) { height: 6px;  animation-delay: 0.0s; }
.music-player__waves span:nth-child(2) { height: 14px; animation-delay: 0.2s; }
.music-player__waves span:nth-child(3) { height: 20px; animation-delay: 0.1s; }
.music-player__waves span:nth-child(4) { height: 14px; animation-delay: 0.3s; }
.music-player__waves span:nth-child(5) { height: 6px;  animation-delay: 0.15s; }

@keyframes waveBar {
  0%, 100% { transform: scaleY(0.4); opacity: 0.6; }
  50%       { transform: scaleY(1.0); opacity: 1; }
}

.music-player__label {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.music-player__title {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--cream);
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.music-player__status {
  font-size: 0.65rem;
  color: var(--gold);
  letter-spacing: 0.08em;
  white-space: nowrap;
  transition: color 0.3s;
}

/* volume ring on hover */
.music-player__vol {
  display: none;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}

.music-player:hover .music-player__vol { display: flex; }

/* Music lives in the FAB stack; keep the label hidden on small screens. */
@media (max-width: 768px) {
  .music-player__label {
    display: none;
  }
}

/* ── Service Detail Page ── */
.service-detail:empty {
  min-height: 50vh;
  background: linear-gradient(90deg, var(--bg-section) 0%, rgba(46, 139, 74, 0.05) 50%, var(--bg-section) 100%);
  background-size: 200% 100%;
  animation: skeletonShimmer 1.4s ease-in-out infinite;
}

.service-detail__hero {
  position: relative;
  min-height: 55vh;
  display: flex;
  align-items: flex-end;
  padding-top: 120px;
  overflow: hidden;
}

.service-detail__hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  animation: heroBreath 16s ease-in-out infinite;
  will-change: transform;
}

.service-detail__hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6,13,7,0.55) 0%, rgba(6,13,7,0.9) 100%);
}

/* Dark hero imagery — light foreground in both themes (home + inner pages) */
.hero,
.service-detail__hero,
.page-hero {
  --hero-fg: #ffffff;
  --hero-fg-muted: rgba(245, 240, 232, 0.92);
  --hero-accent: #8ae0a3;
  --hero-accent-strong: #6fcf89;
  --hero-accent-em: #b8f0c8;
}

.hero .hero__title,
.hero .hero__title .reveal-line {
  color: var(--hero-fg);
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.45);
}

.hero .hero__title .reveal-line.italic {
  color: var(--hero-accent-em);
}

.hero .hero__eyebrow {
  color: var(--hero-accent);
}

.hero .hero__subtitle {
  color: var(--hero-fg-muted);
}

.hero .btn--ghost {
  border-color: rgba(245, 240, 232, 0.6);
  color: #f5f0e8;
}

.hero .btn--ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #f5f0e8;
  color: #fff;
}

.service-detail__hero-content {
  position: relative;
  z-index: 1;
  padding-bottom: 60px;
  color: var(--hero-fg-muted);
}

.service-detail__back {
  display: inline-block;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hero-accent);
  margin-bottom: 20px;
  transition: color 0.3s;
}

.service-detail__back:hover { color: var(--hero-fg); }

.service-detail__title {
  font-family: var(--font-serif);
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 400;
  color: var(--hero-fg);
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.45);
  margin: 12px 0 20px;
  line-height: 1.1;
}

.service-detail__hero .service-card__tag {
  color: var(--hero-accent);
  border-color: rgba(138, 224, 163, 0.45);
}

.service-detail__meta {
  display: flex;
  align-items: center;
  gap: 24px;
  font-size: 1rem;
  color: var(--hero-fg-muted);
}

.service-detail__price {
  font-family: var(--font-serif);
  font-size: 1.8rem;
  color: var(--hero-accent-strong);
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.service-detail__body {
  position: relative;
  z-index: 10;
}

.service-detail__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
  align-items: start;
}

.service-detail__main h2,
.service-detail__main h3 {
  font-family: var(--font-serif);
  font-weight: 400;
  color: var(--cream);
  margin-bottom: 16px;
}

.service-detail__main h2 { font-size: 2rem; margin-top: 0; }
.service-detail__main h3 { font-size: 1.4rem; margin-top: 36px; }

.service-detail__desc {
  color: var(--text-light);
  line-height: 1.85;
  font-size: 1.05rem;
  margin-bottom: 24px;
}

.service-detail__faqs {
  margin-top: 8px;
}

.service-detail__faq {
  margin-bottom: 24px;
}

.service-detail__faq strong {
  display: block;
  font-family: var(--font-serif);
  font-size: 1.1rem;
  color: var(--cream);
  margin-bottom: 8px;
}

.service-detail__faq p {
  color: var(--text-light);
  line-height: 1.75;
  font-size: 0.92rem;
  margin: 0;
}

.service-detail__ideal {
  color: var(--text-light);
  line-height: 1.7;
  padding: 20px;
  border-left: 3px solid var(--gold);
  background: var(--glass-bg);
  border-radius: 0 var(--radius) var(--radius) 0;
}

.service-detail__benefits {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.service-detail__benefits li {
  padding-left: 24px;
  position: relative;
  color: var(--cream);
  line-height: 1.6;
}

.service-detail__benefits li::before {
  content: '✦';
  position: absolute;
  left: 0;
  color: var(--gold);
}

.service-detail__sidebar {
  padding: 36px;
  border-radius: var(--radius-lg);
  position: sticky;
  top: 100px;
  z-index: 11;
  isolation: isolate;
}

.service-detail__sidebar h3 {
  font-family: var(--font-serif);
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--cream);
  margin: 0 0 20px;
}

.service-detail__includes {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
}

.service-detail__includes li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--cream);
}

.service-detail__includes li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.service-detail__sidebar-meta {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 24px;
  padding-top: 4px;
  border-top: 1px solid var(--border);
}

.service-detail__sidebar-meta div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-size: 0.9rem;
}

.service-detail__sidebar-meta span {
  color: var(--text-light);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.72rem;
  font-weight: 600;
}

.service-detail__sidebar-meta strong {
  color: var(--gold);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 600;
}

.service-detail__sidebar .btn--full + .btn--full {
  margin-top: 12px;
}

.service-detail__related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 40px;
}

.service-detail__notfound {
  text-align: center;
  padding: 160px 24px 80px;
}

.service-detail__notfound h1 {
  font-family: var(--font-serif);
  font-size: 2.5rem;
  margin-bottom: 16px;
}

.beauty-center__grid .services-slider__track {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1200px;
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .beauty-center__grid .services-slider__track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 920px;
  }
}

@media (max-width: 640px) {
  .beauty-center__grid .services-slider__track {
    grid-template-columns: 1fr;
    max-width: 420px;
  }
}

.footer__bottom a {
  color: var(--gold);
  margin-left: 8px;
}

.footer__bottom a:hover { text-decoration: underline; }

@media (max-width: 1024px) {
  .service-card { flex: 0 0 calc(50% - 14px); min-width: 280px; }
  .service-detail__grid { grid-template-columns: 1fr; }
  .service-detail__sidebar { position: static; }
  .service-detail__related-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .services-slider__arrow { width: 40px; height: 40px; font-size: 1.4rem; }
  .service-card { flex: 0 0 85%; min-width: 260px; }
  .service-detail__related-grid { grid-template-columns: 1fr; }
}

/* ── Theme Toggle Button ── */
.theme-toggle {
  --toggle-w: 52px;
  --toggle-h: 28px;
  --thumb-size: 20px;
  --thumb-pad: 3px;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--toggle-w);
  height: var(--toggle-h);
  flex-shrink: 0;
  cursor: pointer;
  overflow: hidden;
  border-radius: 30px;
}

.theme-toggle__input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}

.theme-toggle__track {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(46,139,74,0.2);
  border: 1.5px solid rgba(46,139,74,0.35);
  transition: background 0.4s ease, border-color 0.4s ease;
  pointer-events: none;
}

.theme-toggle__input:checked + .theme-toggle__track {
  background: var(--green);
  border-color: var(--green);
}

.theme-toggle__thumb {
  position: absolute;
  top: 50%;
  left: var(--thumb-pad);
  width: var(--thumb-size);
  height: var(--thumb-size);
  border-radius: 50%;
  background: var(--green-light);
  transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1), background 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  pointer-events: none;
  box-shadow: 0 2px 6px rgba(0,0,0,0.25);
  transform: translateY(-50%);
  z-index: 1;
}

.theme-toggle__input:checked ~ .theme-toggle__thumb {
  transform: translateY(-50%) translateX(calc(var(--toggle-w) - var(--thumb-size) - var(--thumb-pad) * 2));
  background: #fff;
}

/* icons inside thumb */
.theme-toggle__thumb::before {
  content: '🌙';
  font-size: 10px;
}

.theme-toggle__input:checked ~ .theme-toggle__thumb::before {
  content: '☀️';
}

/* Light mode overrides for specific elements */
[data-theme="light"] .section__title,
[data-theme="light"] .section__desc,
[data-theme="light"] .hero__subtitle,
[data-theme="light"] .about__body,
[data-theme="light"] .booking__desc,
[data-theme="light"] .testimonial-card__text,
[data-theme="light"] .service-card__desc,
[data-theme="light"] .contact__card p,
[data-theme="light"] .contact__card a,
[data-theme="light"] .footer__brand p,
[data-theme="light"] .footer__col p,
[data-theme="light"] .footer__bottom p {
  color: var(--text-light);
}

[data-theme="light"] .footer--rich .footer__brand p,
[data-theme="light"] .footer--rich .footer__col p,
[data-theme="light"] .footer--rich .footer__bottom p {
  color: rgba(255,255,255,0.75);
}

[data-theme="light"] .service-card__title,
[data-theme="light"] .offer-card__title,
[data-theme="light"] .offer-featured h2,
[data-theme="light"] .offer-list li,
[data-theme="light"] .contact__card h4,
[data-theme="light"] .testimonial-card__author strong,
[data-theme="light"] .about__stat-num,
[data-theme="light"] .booking__form-title {
  color: var(--text);
}

/* Light mode nav: white links/logo over dark hero, dark when scrolled */
[data-theme="light"] .nav:not(.scrolled) .nav__link {
  color: rgba(245, 240, 232, 0.9);
}

[data-theme="light"] .nav:not(.scrolled) .nav__link:hover,
[data-theme="light"] .nav:not(.scrolled) .nav__link--active,
[data-theme="light"] .nav:not(.scrolled) .nav__link.active {
  color: #8ae0a3;
}

[data-theme="light"] .nav.scrolled .nav__link {
  color: rgba(12, 26, 14, 0.75);
}

[data-theme="light"] .nav.scrolled .nav__link:hover,
[data-theme="light"] .nav.scrolled .nav__link--active,
[data-theme="light"] .nav.scrolled .nav__link.active {
  color: var(--gold);
}

[data-theme="light"] .nav:not(.scrolled) .nav__cta {
  border-color: rgba(245, 240, 232, 0.75);
  color: #f5f0e8;
}

[data-theme="light"] .nav:not(.scrolled) .nav__cta:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
}

[data-theme="light"] .nav:not(.scrolled) .nav__hamburger span {
  background: #f5f0e8;
}

.nav.scrolled .nav__brand-name {
  color: var(--cream);
}

[data-theme="light"] .nav.scrolled .nav__brand-name {
  color: var(--text);
}

[data-theme="light"] .nav:not(.scrolled) .nav__brand-name {
  color: #f5f0e8;
}

[data-theme="light"] .nav:not(.scrolled) .nav__brand-tag {
  color: rgba(245, 240, 232, 0.72);
}

[data-theme="light"] .nav:not(.scrolled) .nav__brand-desc {
  color: rgba(245, 240, 232, 0.65);
}

.nav.scrolled .nav__brand-desc {
  color: rgba(237, 245, 238, 0.7);
}

[data-theme="light"] .nav.scrolled .nav__brand-desc {
  color: var(--text-light);
}

[data-theme="light"] .nav:not(.scrolled) .nav__logo:hover .nav__brand-name {
  color: #8ae0a3;
}

[data-theme="light"] .nav:not(.scrolled) .logo-img--light {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

[data-theme="light"] .nav:not(.scrolled) .logo-img--dark {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

[data-theme="light"] .nav.scrolled .logo-img--light {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

[data-theme="light"] .nav.scrolled .logo-img--dark {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Uploaded logo: white over dark hero; original colors on light scrolled nav */
.nav:not(.scrolled) .nav__logo-img--custom {
  filter: brightness(0) invert(1);
}

[data-theme="light"] .nav.scrolled .nav__logo-img--custom {
  filter: none;
}

[data-theme="dark"] .nav.scrolled .nav__logo-img--custom {
  filter: brightness(0) invert(1);
}

[data-theme="light"] .hero .hero__title,
[data-theme="light"] .hero .hero__title .reveal-line {
  color: var(--hero-fg);
}

[data-theme="light"] .hero .hero__title .reveal-line.italic {
  color: var(--hero-accent-em);
}

[data-theme="light"] .hero .hero__eyebrow {
  color: var(--hero-accent);
}

[data-theme="light"] .hero .hero__subtitle {
  color: var(--hero-fg-muted);
}

[data-theme="light"] .hero .btn--ghost {
  border-color: rgba(245, 240, 232, 0.6);
  color: #f5f0e8;
}

[data-theme="light"] .hero .btn--ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #f5f0e8;
  color: #fff;
}

[data-theme="light"] .btn--ghost {
  border-color: rgba(12,26,14,0.35);
  color: var(--text);
}

[data-theme="light"] .btn--ghost:hover {
  border-color: var(--gold);
  color: var(--gold);
}

[data-theme="light"] .btn--primary,
[data-theme="light"] .btn--primary:hover {
  color: #fff;
}

[data-theme="light"] .btn--outline:hover {
  color: #fff;
}

[data-theme="light"] .btn--outline.btn--full {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
}

[data-theme="light"] .btn--outline.btn--full:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: #fff;
}

[data-theme="light"] .nav.scrolled .nav__cta {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
}

[data-theme="light"] .nav.scrolled .nav__cta:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: #fff;
}

[data-theme="light"] .nav:not(.scrolled) .nav__cta:hover {
  color: #fff;
}

/* Light mode: pages without hero need solid nav (article, service detail, etc.) */
[data-theme="light"] body:not(:has(.page-hero)):not(:has(.hero)) .nav:not(.scrolled) {
  background: var(--nav-bg);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
}

[data-theme="light"] body:not(:has(.page-hero)):not(:has(.hero)) .nav:not(.scrolled) .nav__link {
  color: rgba(12, 26, 14, 0.75);
}

[data-theme="light"] body:not(:has(.page-hero)):not(:has(.hero)) .nav:not(.scrolled) .nav__link:hover,
[data-theme="light"] body:not(:has(.page-hero)):not(:has(.hero)) .nav:not(.scrolled) .nav__link--active,
[data-theme="light"] body:not(:has(.page-hero)):not(:has(.hero)) .nav:not(.scrolled) .nav__link.active {
  color: var(--gold);
}

[data-theme="light"] body:not(:has(.page-hero)):not(:has(.hero)) .nav:not(.scrolled) .nav__cta {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
}

[data-theme="light"] body:not(:has(.page-hero)):not(:has(.hero)) .nav:not(.scrolled) .nav__cta:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: #fff;
}

[data-theme="light"] body:not(:has(.page-hero)):not(:has(.hero)) .nav:not(.scrolled) .nav__hamburger span {
  background: var(--gold);
}

[data-theme="light"] body:not(:has(.page-hero)):not(:has(.hero)) .nav:not(.scrolled) .logo-img--light {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

[data-theme="light"] body:not(:has(.page-hero)):not(:has(.hero)) .nav:not(.scrolled) .logo-img--dark {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

[data-theme="light"] body:not(:has(.page-hero)):not(:has(.hero)) .nav:not(.scrolled) .nav__logo-img--custom {
  filter: none;
}

[data-theme="light"] .marquee-track {
  color: rgba(12,26,14,0.45);
}

[data-theme="light"] .tab-btn {
  color: var(--text);
  border-color: rgba(26, 107, 53, 0.45);
  background: rgba(255, 255, 255, 0.72);
}

[data-theme="light"] .tab-btn:hover {
  background: rgba(26, 107, 53, 0.12);
  border-color: var(--gold);
  color: var(--text);
}

[data-theme="light"] .tab-btn.active {
  color: #fff;
  background: var(--gold);
  border-color: var(--gold);
}

[data-theme="light"] .hero__scroll-text {
  color: rgba(245,240,232,0.7);
}

[data-theme="light"] .dot {
  background: rgba(26,107,53,0.3);
}

[data-theme="light"] .dot.active {
  background: var(--gold);
}

[data-theme="light"] .social-btn {
  border-color: rgba(26,107,53,0.25);
  color: var(--text-light);
}

[data-theme="light"] .social-btn:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
}

[data-theme="light"] .form__group input,
[data-theme="light"] .form__group select,
[data-theme="light"] .form__group textarea {
  color: var(--text);
}

[data-theme="light"] .form__group select option {
  background: #fff;
  color: var(--text);
}

[data-theme="light"] .booking__perks li {
  color: var(--text);
}

[data-theme="light"] .bci strong {
  color: var(--text);
}

[data-theme="light"] .bci a,
[data-theme="light"] .bci > div > span {
  color: var(--text-light);
}

[data-theme="light"] .hero__card strong {
  color: var(--text);
}

[data-theme="light"] .hero__card small {
  color: var(--text-light);
}

[data-theme="light"] .footer__newsletter input {
  color: var(--text);
}

[data-theme="light"] .preloader {
  background: var(--bg-body);
}

/* ── Inner Pages (Packages, Blog, Contact…) ── */
.page-hero {
  position: relative;
  min-height: 42vh;
  display: flex;
  align-items: flex-end;
  padding: 140px 0 70px;
  overflow: hidden;
}

.page-hero__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  animation: heroBreath 16s ease-in-out infinite;
  will-change: transform;
}

.page-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(6,13,7,0.92) 8%, rgba(6,13,7,0.6) 55%, rgba(6,13,7,0.4));
}

[data-theme="light"] .page-hero__overlay {
  background: linear-gradient(to top, rgba(6,13,7,0.9) 10%, rgba(6,13,7,0.55) 55%, rgba(6,13,7,0.38));
}

.page-hero__content {
  position: relative;
  z-index: 2;
  color: var(--hero-fg-muted);
}

/* Split hero: text + visible image (Packages, Programs, Pharaohs, Beauty) */
.page-hero--split {
  min-height: 52vh;
  align-items: center;
  padding: 130px 0 64px;
}

.page-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr minmax(280px, 42%);
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
  width: 100%;
}

.page-hero__media {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(138, 224, 163, 0.25);
  aspect-ratio: 4 / 5;
  max-height: 440px;
  justify-self: end;
  width: 100%;
}

.page-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  animation: heroBreath 16s ease-in-out infinite;
  will-change: transform;
}

.page-hero--split .page-hero__bg {
  opacity: 0.35;
}

.page-hero--split .page-hero__overlay {
  background: linear-gradient(
    105deg,
    rgba(6, 13, 7, 0.95) 0%,
    rgba(6, 13, 7, 0.75) 45%,
    rgba(6, 13, 7, 0.5) 100%
  );
}

[data-theme="light"] .page-hero--split .page-hero__overlay {
  background: linear-gradient(
    105deg,
    rgba(6, 13, 7, 0.92) 0%,
    rgba(6, 13, 7, 0.7) 50%,
    rgba(6, 13, 7, 0.45) 100%
  );
}

.page-hero__label {
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--hero-accent);
  margin-bottom: 12px;
}

.page-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  font-weight: 300;
  line-height: 1.1;
  color: var(--hero-fg);
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.45);
}

.page-hero__title em { font-style: italic; color: var(--hero-accent); }

.page-hero__desc {
  margin-top: 16px;
  max-width: 560px;
  color: var(--hero-fg-muted);
  line-height: 1.7;
}

.page-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  color: var(--hero-fg-muted);
  margin-bottom: 20px;
}

.page-breadcrumb a {
  color: var(--hero-accent);
  transition: color 0.3s;
}

.page-breadcrumb a:hover {
  color: var(--hero-fg);
}

/* Offer / package pages */
.offers-section {
  background: var(--bg-section);
  padding-bottom: 120px;
}

html[dir="rtl"] .page-breadcrumb {
  flex-direction: row-reverse;
  justify-content: flex-end;
}

/* Offer / package cards */
.offers-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
}

.offer-card {
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--bg-card);
  border: 1px solid var(--border);
  transition: var(--transition);
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
  height: 100%;
}

.offer-card:hover {
  transform: translateY(-8px);
  border-color: var(--gold);
  box-shadow: var(--shadow-sm);
}

.offer-card__img {
  position: relative;
  aspect-ratio: 3 / 2;
  height: auto;
  overflow: hidden;
  flex-shrink: 0;
}

.offer-card__image-hit {
  position: absolute;
  z-index: 5;
  inset: 0;
  display: block;
}

.offer-card__title-link {
  color: inherit;
}

.offer-card__title-link:hover {
  color: var(--gold);
}

.offer-card__img img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.6s ease;
}

.offer-card:hover .offer-card__img img {
  transform: scale(1.06);
}

/* Trip + spa combo artwork: each selected component keeps its own image. */
.offer-card__combo-media {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  background: var(--bg-card);
}

.offer-card__combo-media img:first-child {
  clip-path: polygon(0 0, 62% 0, 48% 100%, 0 100%);
  z-index: 1;
}

.offer-card__combo-media img:last-child {
  clip-path: polygon(58% 0, 100% 0, 100% 100%, 44% 100%);
  z-index: 2;
}

.offer-card__img .offer-card__combo-media::after,
.offer-featured__img .offer-card__combo-media::after {
  content: "+";
  position: absolute;
  z-index: 3;
  inset: 50% auto auto 50%;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(255,255,255,.82);
  border-radius: 50%;
  background: rgba(7, 64, 42, .9);
  color: #fff;
  font-size: 1.35rem;
  font-weight: 700;
  box-shadow: 0 6px 20px rgba(0,0,0,.24);
}

.offers-section .offer-card__body {
  flex: 1;
  min-height: 20rem;
}

.offers-section .offer-card__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  min-height: 3.6rem;
}

.offers-section .offer-card__desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  min-height: 4.35rem;
  flex-shrink: 0;
}

.offers-section--packages .offer-card__body {
  min-height: 0;
}

.offers-section--packages .offers-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.offers-section--packages .offer-card__desc {
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  overflow: visible;
  min-height: 0;
}

.offers-section .offer-card__body .offer-list {
  flex: 0 0 auto;
  overflow: visible;
}

.offer-card__body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow-wrap: break-word;
}

.offer-card__tag {
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}

.offer-card__title {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  color: var(--cream);
  margin-bottom: 10px;
}

.offer-card__desc {
  font-size: 0.88rem;
  color: var(--text-light);
  line-height: 1.65;
  min-width: 0;
}

.offer-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 12px;
}

.offer-card__facts span {
  display: inline-flex;
  align-items: center;
  padding: 5px 8px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--text-light);
  font-size: .72rem;
  line-height: 1.2;
}

.rte-content p {
  margin: 0 0 0.75em;
}

.rte-content p:last-child {
  margin-bottom: 0;
}

.rte-content strong,
.rte-content b {
  color: var(--text-light);
  font-weight: 600;
}

.offer-card__desc.rte-content :is(p, li, span, strong, b, em, i, u),
.offer-featured__desc.rte-content :is(p, li, span, strong, b, em, i, u) {
  color: var(--text-light);
}

.offer-card__desc.rte-content [style],
.offer-featured__desc.rte-content [style] {
  color: var(--text-light) !important;
  float: none !important;
  width: auto !important;
  max-width: 100% !important;
  position: static !important;
}

.offer-card__desc.rte-content :is(p, div, ul, ol) {
  max-width: 100%;
  overflow-wrap: break-word;
}

.rte-content ul,
.rte-content ol {
  margin: 0.5em 0 0.75em;
  padding-inline-start: 1.25em;
}

.rte-content li {
  margin-bottom: 0.35em;
}

.rte-content a {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.rte-content img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 12px auto;
  border-radius: 10px;
}

.offer-featured__desc {
  color: var(--text-light);
  line-height: 1.75;
  margin-bottom: 24px;
}

.offer-card__footer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  flex-shrink: 0;
  width: 100%;
}

.offer-card__footer .btn--full {
  margin-top: 8px;
}

.offer-card__price {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.45;
  color: var(--gold);
}

.offer-price {
  display: inline;
  font-family: var(--font-serif);
  color: var(--gold);
}

.offer-price--featured {
  display: block;
  font-size: 1.5rem;
  line-height: 1.5;
  margin-bottom: 4px;
}

.offer-price__current {
  font-weight: 600;
}

.offer-price__unit {
  font-size: 0.92em;
  color: var(--gold-light);
}

.offer-price__instead {
  font-size: 0.82em;
  color: var(--text-light);
  font-family: var(--font-body, inherit);
}

.offer-price__was {
  text-decoration: line-through;
  opacity: 0.85;
}

.offer-featured__pricing {
  margin-bottom: 24px;
}

.offer-featured__duration {
  display: block;
  margin-top: 8px;
  color: var(--text-light);
  font-size: 0.95rem;
}

.offer-card__meta {
  font-size: 0.82rem;
  color: var(--text-light);
  line-height: 1.4;
}

.offers-section .offer-card__price {
  line-height: 1.5;
}

.offers-section .offer-card__footer {
  gap: 6px;
  padding-top: 14px;
}

.offers-section .offer-card__footer .btn--full {
  margin-top: 12px;
}

.offer-featured {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 40px;
  align-items: stretch;
  padding: 40px;
  border-radius: var(--radius-lg);
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  margin-bottom: 56px;
}

.offer-featured__img {
  position: relative;
  align-self: stretch;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 280px;
}

.offer-featured__img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.offer-featured h2 {
  font-family: var(--font-serif);
  font-size: 2rem;
  color: var(--cream);
  margin-bottom: 16px;
}

.offer-featured p {
  color: var(--text-light);
  line-height: 1.75;
  margin-bottom: 24px;
}

.offer-list {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}

.offer-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(46, 139, 74, 0.1);
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--cream);
}

.offer-list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.offer-card__body .offer-list {
  margin-bottom: 16px;
  min-width: 0;
}

.offer-card__body .offer-list li {
  min-width: 0;
  overflow-wrap: break-word;
  font-size: 0.85rem;
  padding: 8px 0;
}

/* Blog */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.blog-card {
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  overflow: hidden;
  background: var(--bg-card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  color: inherit;
  text-decoration: none;
}

.blog-card:hover {
  transform: translateY(-6px);
  border-color: rgba(46, 139, 74, 0.35);
  box-shadow: var(--shadow);
}

.blog-card__img {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #e2e8f0;
}

.blog-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.blog-card:hover .blog-card__img img {
  transform: scale(1.05);
}

.blog-card__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px;
  flex: 1;
  text-align: start;
}

.blog-card__badge {
  align-self: flex-start;
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  background: #e6f7f9;
  color: #42b7c3;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.4;
}

.blog-card__title {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(1.05rem, 1.2vw, 1.28rem);
  font-weight: 700;
  color: var(--cream);
  line-height: 1.45;
  text-align: center;
}

.blog-card__excerpt {
  margin: 0;
  font-size: 0.92rem;
  color: var(--text-light);
  line-height: 1.75;
  flex: 1;
}

html[dir="ltr"] .blog-card__excerpt {
  direction: ltr;
  text-align: left;
}

html[dir="rtl"] .blog-card__excerpt {
  direction: rtl;
  text-align: right;
}

.blog-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  margin-top: 4px;
  font-size: 0.82rem;
  color: var(--text-light);
}

.blog-card__meta span + span::before {
  content: '·';
  margin: 0 8px;
  color: #cbd5e1;
}

/* Blog detail */
.blog-detail__hero {
  position: relative;
  min-height: 50vh;
  display: flex;
  align-items: flex-end;
  padding: 140px 0 60px;
  overflow: hidden;
}

.blog-detail__hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  animation: heroBreath 16s ease-in-out infinite;
  will-change: transform;
}

.blog-detail__hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, var(--bg-body) 5%, rgba(6,13,7,0.6));
}

.blog-detail__hero-content { position: relative; z-index: 2; }

.blog-detail__category {
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}

.blog-detail__title {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 300;
  color: var(--cream);
  max-width: 800px;
  line-height: 1.15;
}

.blog-detail__meta {
  margin-top: 16px;
  font-size: 0.85rem;
  color: var(--text-light);
}

.blog-detail__layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 48px;
  align-items: start;
}

.blog-detail__content {
  font-size: 1rem;
  line-height: 1.85;
  color: var(--text-light);
}

.blog-detail__content h2 {
  font-family: var(--font-serif);
  font-size: 1.75rem;
  color: var(--cream);
  margin: 36px 0 16px;
}

.blog-detail__content p { margin-bottom: 20px; }

.blog-detail__content ul {
  margin: 0 0 24px 20px;
  list-style: disc;
}

.blog-detail__content li { margin-bottom: 8px; }

.blog-detail__sidebar {
  position: sticky;
  top: 100px;
  padding: 28px;
  border-radius: var(--radius);
}

.blog-detail__sidebar h4 {
  font-family: var(--font-serif);
  color: var(--cream);
  margin-bottom: 16px;
}

.article-detail {
  padding-top: 130px;
}

.article-detail__header {
  max-width: 980px;
  margin: 0 auto 42px;
}

.article-detail__header .section__title {
  max-width: 900px;
  margin: 22px auto 0;
  text-align: center;
}

.article-detail__header .page-breadcrumb {
  justify-content: center;
}

.article-detail__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 0;
  margin-top: 16px;
  color: var(--text-light);
  font-size: 0.86rem;
}

.article-detail__meta span + span::before {
  content: '·';
  margin: 0 10px;
  color: var(--gold);
}

.article-detail__image {
  display: block;
  width: 100%;
  max-height: 560px;
  object-fit: cover;
  border-radius: var(--radius-lg);
  margin-top: 30px;
  box-shadow: var(--shadow);
}

.article-detail__layout {
  grid-template-columns: minmax(0, 1fr) 340px;
}

.article-sidebar {
  padding: 28px;
}

.article-sidebar__section + .article-sidebar__section {
  border-top: 1px solid var(--border);
  margin-top: 28px;
  padding-top: 28px;
}

.article-sidebar__title {
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.3;
  margin: 0 0 18px;
}

.article-sidebar__list {
  display: flex;
  flex-direction: column;
}

.article-sidebar__item {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  padding: 12px 0;
  color: var(--cream);
  border-bottom: 1px solid var(--border);
  text-decoration: none;
}

.article-sidebar__item:first-child {
  padding-top: 0;
}

.article-sidebar__item img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 10px;
}

.article-sidebar__item strong,
.article-sidebar__item small {
  display: block;
}

.article-sidebar__item strong {
  color: var(--cream);
  font-size: 0.9rem;
  line-height: 1.45;
  transition: color 0.2s ease;
}

.article-sidebar__item small {
  color: var(--text-light);
  font-size: 0.74rem;
  margin-top: 5px;
}

.article-sidebar__item:hover strong {
  color: var(--gold);
}

.article-sidebar__more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  color: var(--gold);
  font-size: 0.85rem;
  font-weight: 600;
}

[dir="rtl"] .article-sidebar__more span {
  transform: rotate(180deg);
}

.article-contact {
  max-width: 980px;
  margin: 72px auto 0;
  scroll-margin-top: 110px;
}

.article-contact__inner {
  padding: clamp(26px, 5vw, 48px);
}

.article-contact__heading {
  max-width: 680px;
  margin: 0 auto 30px;
  text-align: center;
}

.article-contact__heading .booking__form-title {
  margin-bottom: 10px;
}

.article-contact__heading p {
  color: var(--text-light);
  line-height: 1.7;
}

.article-detail__not-found {
  min-height: 45vh;
  display: grid;
  place-content: center;
  gap: 16px;
  text-align: center;
}

.blog-related {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Article content created with the dashboard editor */
.article-content {
  color: var(--text-light);
  font-size: 1rem;
  line-height: 1.9;
}

.article-content p { margin-bottom: 20px; }

.article-content a {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

.article-content a:hover {
  color: var(--gold);
}

.article-content__html-preview {
  display: block;
  width: 100%;
  height: max(760px, 82vh);
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #fff;
}

.article-content h2,
.article-content h3,
.article-content h4 {
  color: var(--cream);
  line-height: 1.4;
  margin: 34px 0 14px;
}

.article-content ul,
.article-content ol {
  margin: 0 0 24px;
  padding-inline-start: 28px;
}

.article-content ul { list-style: disc; }
.article-content ol { list-style: decimal; }
.article-content li { margin-bottom: 8px; }

.article-content img {
  max-width: 100%;
  height: auto;
  margin: 28px auto;
  border-radius: 12px;
  display: block;
}

.article-content .article-img {
  margin: 28px 0;
  clear: both;
}

.article-content .article-img img {
  margin: 0;
  display: inline-block;
  vertical-align: top;
}

.article-content .article-img--right { text-align: right; }
.article-content .article-img--center { text-align: center; }
.article-content .article-img--left { text-align: left; }

/* Contact page */
.contact-page {
  position: relative;
  z-index: 2;
  margin-top: -28px;
  padding-top: 32px;
}

.contact-page__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 12px;
  margin-bottom: 48px;
}

.contact-page__card {
  background: linear-gradient(180deg, #ffffff 0%, #f4f8f5 100%);
  border: 1px solid rgba(46, 139, 74, 0.14);
  border-radius: 22px;
  padding: 34px 22px 38px;
  min-height: 228px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow:
    0 14px 40px rgba(12, 26, 14, 0.08),
    0 2px 0 rgba(255, 255, 255, 0.85) inset;
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.contact-page__card:hover {
  transform: translateY(-6px);
  border-color: rgba(46, 139, 74, 0.28);
  box-shadow:
    0 20px 48px rgba(12, 26, 14, 0.12),
    0 2px 0 rgba(255, 255, 255, 0.9) inset;
}

.contact-page__icon {
  width: 76px;
  height: 76px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 25%, rgba(46, 139, 74, 0.16), rgba(46, 139, 74, 0.05));
  border: 1px solid rgba(46, 139, 74, 0.2);
  color: #2e8b4a;
  flex-shrink: 0;
}

.contact-page__icon svg {
  display: block;
  width: 34px;
  height: 34px;
  stroke-width: 1.9;
}

.contact-page__card h3 {
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 1.5vw, 1.5rem);
  font-weight: 700;
  color: #153a24;
  margin: 0 0 12px;
  line-height: 1.25;
}

.contact-page__card p {
  margin: 0;
  margin-top: auto;
  font-size: 0.96rem;
  line-height: 1.6;
  max-width: 18rem;
}

.contact-page__card a {
  color: #2e8b4a;
  text-decoration: none;
  font-weight: 600;
  transition: color 0.2s ease;
}

.contact-page__card a:hover {
  color: #1a6b38;
  text-decoration: underline;
}

.contact-page__map {
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(46, 139, 74, 0.14);
  box-shadow: 0 14px 40px rgba(12, 26, 14, 0.08);
}

.contact-page__map iframe {
  filter: none;
}

.contact-page__locations {
  margin: 10px 0 78px;
}

.contact-page__locations .section__header {
  margin-bottom: 0;
}

.contact-page__locations-grid {
  max-width: 1040px;
  margin-inline: auto;
  padding-top: 32px;
}

[data-theme="light"] .contact-page__card {
  background: linear-gradient(180deg, #ffffff 0%, #f0f5f1 100%);
}

[data-theme="dark"] .contact-page__card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(244, 248, 245, 0.94) 100%);
}

[data-theme="dark"] .contact-page__card h3 {
  color: #153a24;
}

.contact-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  gap: 32px;
  align-items: stretch;
  margin-bottom: 48px;
}

.contact-page__form-wrap {
  padding: 36px;
  border-radius: var(--radius-lg);
  height: 100%;
}

.contact-page__form .form__group label {
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.86rem;
  font-weight: 500;
}

.contact-page__form .form__group {
  margin-bottom: 16px;
}

.contact-page__form .form__row .form__group {
  margin-bottom: 0;
}

.contact-page__form .form__row {
  margin-bottom: 16px;
}

.contact-page__grid .contact__map {
  height: 100%;
  min-height: 440px;
  margin-bottom: 0;
}

.contact-form-wrap {
  padding: 36px;
  border-radius: var(--radius-lg);
}

.contact-form-wrap h3 {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  color: var(--cream);
  margin-bottom: 24px;
}

[data-theme="dark"] .nav__link--active {
  color: var(--cream);
}

[data-theme="light"] .nav__link--active,
[data-theme="light"] .nav__link.active {
  color: var(--gold);
}

@media (max-width: 1024px) {
  .offers-grid,
  .blog-grid,
  .blog-related { grid-template-columns: repeat(2, 1fr); }
  .offer-featured { grid-template-columns: 1fr; }
  .offer-featured__img {
    height: 300px;
    min-height: 0;
  }
  .blog-detail__layout { grid-template-columns: 1fr; }
  .blog-detail__sidebar { position: static; }
  .article-detail__layout { gap: 42px; }
  .article-sidebar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
  .article-sidebar__section + .article-sidebar__section {
    border-top: 0;
    border-inline-start: 1px solid var(--border);
    margin-top: 0;
    padding-top: 0;
    padding-inline-start: 32px;
  }
  .contact-page__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-page__grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .article-detail {
    padding-top: 108px;
  }

  .article-detail__header {
    margin-bottom: 32px;
  }

  .article-detail__header .section__title {
    text-align: start;
  }

  .article-detail__header .page-breadcrumb {
    justify-content: flex-start;
  }

  .article-detail__meta {
    justify-content: flex-start;
  }

  .article-detail__image {
    border-radius: 14px;
    margin-top: 22px;
  }

  .article-sidebar {
    display: block;
    padding: 24px;
  }

  .article-sidebar__section + .article-sidebar__section {
    border-top: 1px solid var(--border);
    border-inline-start: 0;
    margin-top: 26px;
    padding-top: 26px;
    padding-inline-start: 0;
  }

  .article-contact {
    margin-top: 48px;
  }

  .offers-section .offer-card__body {
    min-height: 0;
  }

  .contact-page {
    margin-top: -12px;
    padding-top: 20px;
  }

  .contact-page__cards {
    grid-template-columns: 1fr;
    margin-top: 8px;
  }

  .contact-page__card {
    min-height: 0;
    padding: 28px 20px 32px;
  }

  .offers-grid,
  .blog-grid,
  .blog-related { grid-template-columns: 1fr; }
  .page-hero { min-height: 36vh; padding-top: 120px; }
  .page-hero__inner { grid-template-columns: 1fr; }
  .page-hero__media {
    max-height: 320px;
    aspect-ratio: 16 / 10;
    justify-self: stretch;
    order: -1;
  }
}

/* services grid is server-rendered; no loading skeleton */

/* ── Mobile comfort & responsiveness ── */
@media (pointer: coarse) {
  .cursor-glow,
  .cursor-dot,
  .leaves-scene { display: none !important; }
}

/* Mobile/tablet nav: keep the menu controlled by the hamburger up to iPad widths. */
@media (max-width: 1024px) {
  .nav {
    padding: 14px 18px;
    gap: 12px;
  }

  .nav.scrolled {
    padding: 12px 18px;
  }

  .nav__logo-mark {
    width: 62px;
    height: 62px;
  }

  .nav__logo-img {
    height: 62px;
  }

  .nav__links {
    display: none !important;
  }

  .nav__cta {
    display: none;
  }

  .nav__book-li {
    display: list-item;
    margin-top: 8px;
  }

  .nav__links.open .nav__link--book {
    color: var(--gold);
    border: 1.5px solid var(--gold);
    border-radius: 60px;
    padding: 12px 28px;
    max-width: 280px;
  }

  .nav__hamburger {
    display: flex;
  }

  .nav__right {
    gap: 8px;
    margin-inline-start: auto;
  }

  .lang-switch {
    margin-inline-end: 2px;
  }

  .lang-switch__toggle {
    padding: 6px 10px;
    min-height: 40px;
  }

  .theme-toggle {
    --toggle-w: 54px;
    --toggle-h: 30px;
    --thumb-size: 22px;
    --thumb-pad: 3px;
  }

  .nav__links.open {
    display: flex !important;
    position: fixed;
    inset: 0;
    flex-direction: column !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
    padding: 112px 24px 42px;
    min-height: 100svh;
    overflow-y: auto;
    background: var(--bg-body);
    z-index: 999;
    -webkit-overflow-scrolling: touch;
  }

  .nav__links.open li {
    width: 100%;
    text-align: center;
  }

  .nav__links.open .nav__link {
    display: block;
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    padding: 10px 12px;
    font-size: clamp(1.05rem, 4.8vw, 1.45rem);
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: var(--text) !important;
  }

  [data-theme="dark"] .nav__links.open .nav__link {
    color: var(--cream) !important;
  }

  .nav__links.open .nav__link:hover,
  .nav__links.open .nav__link--active,
  .nav__links.open .nav__link.active {
    color: var(--gold) !important;
  }

  .nav.nav--open {
    background: var(--nav-bg);
    border-bottom: 1px solid var(--border);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }

  .nav.nav--open .nav__logo,
  .nav.nav--open .nav__right {
    position: relative;
    z-index: 1001;
  }

  .nav.nav--open .nav__hamburger span {
    background: var(--gold);
  }

  [data-theme="light"] .nav.nav--open .nav__logo-img--custom {
    filter: none;
  }
}

@media (max-width: 768px) {
  html { -webkit-text-size-adjust: 100%; }
  body { font-size: 16px; line-height: 1.65; }

  .hero__particles,
  .page-hero__bg {
    animation: none !important;
    will-change: auto;
  }

  .page-hero__media img {
    animation: none !important;
    will-change: auto;
  }

  .container { padding: 0 18px; }
  .section { padding: 72px 0; }
  .section__desc { font-size: 1rem; line-height: 1.7; }
  .nav { padding: 14px 18px; }
  .nav.scrolled { padding: 12px 18px; }
  .nav__logo { gap: 10px; }
  .nav__logo-mark { width: 64px; height: 64px; }
  .nav__logo-img { height: 64px; }
  .nav__brand-name { font-size: 0.95rem; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .nav__brand-tag { max-width: 150px; }
  .nav__brand-desc { max-width: 150px; -webkit-line-clamp: 1; line-clamp: 1; font-size: 0.62rem; }
  .nav__right { gap: 8px; }
  .nav__hamburger span { width: 22px; }
  .theme-toggle {
    --toggle-w: 54px;
    --toggle-h: 30px;
    --thumb-size: 22px;
    --thumb-pad: 3px;
  }
  .services__tabs {
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 4px;
  }
  .tab-btn {
    min-height: 44px;
    padding: 12px 18px;
    font-size: 0.75rem;
  }
  .parallax-banner { height: 300px; }
  .parallax-banner__title { font-size: clamp(1.6rem, 7vw, 2.4rem); }
  body > .fab-stack {
    --fab-size: 52px;
    inset-inline-end: max(14px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
    z-index: 9998;
  }
  .booking__form-wrap { padding: 22px 18px; }
  .testimonial-card { padding: 24px 20px; }
  .service-card__title { font-size: 1.15rem; }
  .service-card__desc { font-size: 0.92rem; line-height: 1.6; }
  .page-hero__title { font-size: clamp(1.8rem, 8vw, 2.6rem); }
  .services:not(.services--show-all) .services-slider__track { gap: 16px; }
}

@media (max-width: 480px) {
  .about__stats {
    grid-template-columns: 1fr;
    gap: 16px;
    text-align: center;
  }
  .hero__subtitle { font-size: 0.95rem; line-height: 1.65; }
  .hero__actions .btn { width: 100%; max-width: 280px; }
  .nav__logo-mark { width: 56px; height: 56px; }
  .nav__logo-img { height: 56px; }
  .nav__brand-name { font-size: 0.92rem; }
  .nav__brand-tag { display: none; }
  .nav__brand-desc { max-width: 110px; -webkit-line-clamp: 1; line-clamp: 1; font-size: 0.58rem; }
  .footer__grid { gap: 28px; }
}

/* ── Animations helper ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .cursor-glow, .cursor-dot { display: none; }
  body { cursor: auto; }
  button { cursor: pointer; }
  .back-to-top, .gallery__item, .tab-btn { cursor: pointer; }
  .hero__bg::before,
  .page-hero__bg,
  .service-detail__hero-bg,
  .blog-detail__hero-bg {
    animation: none;
    transform: scale(1);
  }
}

/* ── Language switcher (dropdown) ── */
.lang-switch {
  position: relative;
  margin-inline-end: 8px;
}
.lang-switch > summary {
  list-style: none;
  cursor: pointer;
}
.lang-switch > summary::-webkit-details-marker {
  display: none;
}
.lang-switch__toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(245, 240, 232, 0.92);
  border: 1px solid rgba(245, 240, 232, 0.45);
  border-radius: 999px;
  background: rgba(6, 13, 7, 0.42);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: color 0.2s, border-color 0.2s, background 0.2s;
  user-select: none;
}
.nav.scrolled .lang-switch__toggle {
  color: var(--cream);
  border-color: var(--border);
  background: rgba(255, 255, 255, 0.06);
}
.lang-switch[open] .lang-switch__toggle,
.lang-switch__toggle:hover {
  color: var(--gold-light);
  border-color: var(--gold-light);
  background: rgba(46, 139, 74, 0.18);
}
.lang-switch__chevron {
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  opacity: 0.85;
  transition: transform 0.2s;
}
.lang-switch[open] .lang-switch__chevron {
  transform: rotate(180deg);
}
.lang-switch__menu {
  position: absolute;
  top: calc(100% + 6px);
  inset-inline-end: 0;
  min-width: 128px;
  margin: 0;
  padding: 6px;
  list-style: none;
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  background: var(--nav-bg);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: var(--shadow-sm);
  z-index: 1200;
}
.lang-switch__option {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  color: var(--cream);
  border-radius: 8px;
  transition: color 0.2s, background 0.2s;
}
a.lang-switch__option:hover {
  color: var(--gold-light);
  background: rgba(46, 139, 74, 0.16);
}
.lang-switch__option.is-active {
  color: var(--gold-light);
  background: rgba(46, 139, 74, 0.2);
  cursor: default;
}

/* Light mode — match nav over hero / scrolled */
[data-theme="light"] .nav:not(.scrolled) .lang-switch__toggle {
  color: #f5f0e8;
  border-color: rgba(245, 240, 232, 0.75);
  background: rgba(6, 13, 7, 0.48);
}
[data-theme="light"] .nav:not(.scrolled) .lang-switch[open] .lang-switch__toggle,
[data-theme="light"] .nav:not(.scrolled) .lang-switch__toggle:hover {
  color: #8ae0a3;
  border-color: #8ae0a3;
  background: rgba(6, 13, 7, 0.62);
}
[data-theme="light"] .nav.scrolled .lang-switch__toggle {
  color: rgba(12, 26, 14, 0.88);
  border-color: var(--border);
  background: rgba(255, 255, 255, 0.92);
}
[data-theme="light"] .nav.scrolled .lang-switch[open] .lang-switch__toggle,
[data-theme="light"] .nav.scrolled .lang-switch__toggle:hover {
  color: var(--gold);
  border-color: var(--gold);
  background: rgba(46, 139, 74, 0.1);
}
[data-theme="light"] .lang-switch__menu {
  background: rgba(255, 255, 255, 0.98);
  border-color: rgba(26, 107, 53, 0.22);
  box-shadow: 0 10px 28px rgba(26, 107, 53, 0.16);
}
[data-theme="light"] .lang-switch__option {
  color: var(--text);
}
[data-theme="light"] a.lang-switch__option:hover,
[data-theme="light"] .lang-switch__option.is-active {
  color: var(--gold);
  background: rgba(46, 139, 74, 0.1);
}

[dir="rtl"] .lang-switch {
  margin-inline-end: 0;
  margin-inline-start: 8px;
}
@media (max-width: 900px) {
  .lang-switch__toggle {
    padding: 5px 8px;
    font-size: 0.65rem;
  }
}

.thank-you-page {
  min-height: 60vh;
  display: flex;
  align-items: center;
}

.thank-you-page__card {
  max-width: 560px;
  margin: 0 auto;
  padding: 48px 32px;
  text-align: center;
}

.thank-you-page__card .modal__text {
  margin-bottom: 32px;
}

.booking-confirmation{max-width:760px!important;text-align:start!important}.booking-confirmation>.modal__icon,.booking-confirmation>.modal__title,.booking-confirmation>.modal__text{text-align:center;margin-inline:auto}.booking-confirmation__product{display:flex;align-items:center;gap:16px;margin:24px 0 8px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--bg-section)}.booking-confirmation__product img{width:96px;height:76px;border-radius:12px;object-fit:cover}.booking-confirmation__product div{display:flex;flex-direction:column;gap:5px}.booking-confirmation__product strong{font-size:1.1rem}.booking-confirmation__product span{color:var(--text-muted)}.booking-confirmation__rows{padding:0 4px}.booking-confirmation__rows>div{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:18px;padding:15px 8px;border-bottom:1px solid var(--border)}.booking-confirmation__rows>div>span,.booking-confirmation__rows>div>strong{justify-self:end;text-align:end}.booking-confirmation__rows small{display:block;color:var(--text-muted);margin-top:5px}.booking-confirmation__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}@media(max-width:600px){.booking-confirmation__rows>div{grid-template-columns:1fr;gap:6px}.booking-confirmation__rows>div>span,.booking-confirmation__rows>div>strong{justify-self:start;text-align:start}.booking-confirmation__product img{width:76px;height:66px}}

/* ── Legal / Policy Pages ── */
.page-hero--compact {
  min-height: 42vh;
}

.legal-page {
  background: var(--bg-section);
}

.legal-page__inner {
  max-width: 760px;
  margin: 0 auto;
  padding: 8px 0 24px;
}

.legal-page__updated {
  font-size: 0.85rem;
  color: var(--text-muted, var(--text-light));
  margin-bottom: 32px;
}

.legal-page__section h2 {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 12px;
}

.legal-page__section > p {
  margin: 0 0 12px;
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--text);
  opacity: 0.88;
}

.legal-page__section li,
.legal-page__contact p {
  color: var(--text);
  opacity: 0.88;
}

[data-theme="light"] .legal-page__section h2,
[data-theme="light"] .legal-page__section li,
[data-theme="light"] .legal-page__contact p {
  color: #1a2e1c;
  opacity: 1;
}

.legal-page__section {
  margin-bottom: 32px;
}

.legal-page__section ul {
  margin: 0;
  padding-inline-start: 1.25rem;
  display: grid;
  gap: 10px;
}

.legal-page__section li {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--text-light);
}

.legal-page__contact {
  padding-top: 24px;
  border-top: 1px solid rgba(77, 184, 106, 0.2);
}

.legal-page__contact p {
  margin-bottom: 12px;
  color: var(--text-light);
}

.legal-page__contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}

.legal-page__contact-list a {
  color: var(--gold);
  text-decoration: none;
}

.legal-page__contact-list a:hover {
  text-decoration: underline;
}

.footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  padding-top: 4px;
}

.footer__legal a {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer__legal a:hover {
  text-decoration: underline;
  color: #fff;
}

.footer__col--legal .footer__links--legal a {
  font-weight: 500;
}

[data-theme="light"] .footer__legal a {
  color: #b8f0c8;
}

[data-theme="light"] .footer__legal a:hover {
  color: #fff;
}

.form__group--checkbox {
  margin-top: 4px;
  margin-bottom: 8px;
}

.form__group--checkbox > label.form__checkbox {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  cursor: pointer;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--text-light);
  margin-bottom: 0;
  letter-spacing: normal;
  text-transform: none;
  font-weight: 400;
}

.form__checkbox input[type="checkbox"] {
  width: 20px;
  height: 20px;
  min-width: 20px;
  margin-top: 2px;
  flex-shrink: 0;
  padding: 0;
  border: 2px solid var(--input-border);
  border-radius: 4px;
  background: var(--input-bg);
  accent-color: var(--gold);
  cursor: pointer;
  appearance: auto;
  -webkit-appearance: checkbox;
}

.form__checkbox-text a {
  position: relative;
  z-index: 1;
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.form__checkbox-text a:hover {
  color: var(--gold-light);
}

.form__group--checkbox.error .form__checkbox input[type="checkbox"] {
  outline: 2px solid #e05c5c;
  outline-offset: 1px;
}

.form__group--checkbox.error .form__checkbox-text {
  color: #e8a0a0;
}

.form__group--checkbox .form__error {
  display: none;
  margin-top: 6px;
  padding-inline-start: 32px;
}

.form__group--checkbox.error .form__error {
  display: block;
  opacity: 1;
}

/* ── 2026 storefront refresh ────────────────────────────────────── */
.hero--storefront .hero__content {
  width: min(760px, calc(100% - 40px));
  padding: 46px 48px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(5,18,9,.88), rgba(5,18,9,.58));
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.hero--storefront .hero__title {
  max-width: 680px;
  margin-inline: auto;
}

.hero__eyebrow--store {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: 8px 16px;
  border: 1px solid rgba(116,216,142,.4);
  border-radius: 999px;
  background: rgba(46,139,74,.18);
  color: #b9f3c8;
}

.hero__commerce-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 18px;
  color: rgba(255,255,255,.78);
  font-size: .82rem;
}

.hero__commerce-note span {
  display: inline-grid;
  width: 19px;
  height: 19px;
  place-items: center;
  border-radius: 50%;
  background: #69d487;
  color: #09210f;
  font-weight: 800;
}

.commerce-category-bar {
  position: relative;
  z-index: 8;
  padding: 48px 0 54px;
  background: var(--bg-body);
  border-bottom: 1px solid var(--border);
}

.commerce-category-bar__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.commerce-category-bar__heading .section__label {
  margin-bottom: 6px;
}

.commerce-category-bar__heading h2 {
  max-width: 680px;
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  font-weight: 600;
  line-height: 1.2;
}

.commerce-category-bar__secure {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  padding: 9px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--text-light);
  font-size: .78rem;
}

.commerce-category-bar__secure span {
  color: #43b968;
  font-size: .7rem;
}

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

.commerce-category {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 13px;
  min-height: 118px;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--bg-card);
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.commerce-category:hover {
  transform: translateY(-4px);
  border-color: var(--gold);
  box-shadow: var(--shadow-sm);
}

.commerce-category--accent {
  background: linear-gradient(135deg, #1f7b3b, #36a657);
  border-color: transparent;
}

.commerce-category__icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 14px;
  background: rgba(46,139,74,.12);
  color: var(--gold-light);
  font-size: 1.35rem;
}

.commerce-category--accent .commerce-category__icon {
  background: rgba(255,255,255,.15);
  color: #fff;
}

.commerce-category__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.commerce-category__copy strong {
  color: var(--cream);
  font-size: .98rem;
  line-height: 1.35;
}

.commerce-category__copy small {
  color: var(--text-light);
  font-size: .75rem;
  line-height: 1.5;
}

.commerce-category--accent .commerce-category__copy strong,
.commerce-category--accent .commerce-category__copy small,
.commerce-category--accent .commerce-category__arrow {
  color: #fff;
}

.commerce-category__arrow {
  color: var(--gold);
  font-size: 1.1rem;
  transition: transform .25s ease;
}

.commerce-category:hover .commerce-category__arrow {
  transform: translateX(4px);
}

html[dir="rtl"] .commerce-category:hover .commerce-category__arrow {
  transform: translateX(-4px);
}

html[dir="rtl"] .commerce-category__arrow {
  transform: scaleX(-1);
}

.nav__cta--store {
  gap: 7px;
  box-shadow: 0 8px 22px rgba(46,139,74,.2);
}

.service-card,
.offer-card {
  border-radius: 20px;
  box-shadow: 0 12px 35px rgba(0,0,0,.08);
}

.service-card__body,
.offer-card__body {
  position: relative;
}

.service-card__tag,
.offer-card__tag {
  display: inline-flex;
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(46,139,74,.11);
  letter-spacing: .06em;
}

.service-card__shop-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  padding: 11px 14px;
  border-radius: 12px;
  background: var(--gold);
  color: #fff;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  width: 100%;
}

.service-card__image-link {
  display: block;
  min-width: 0;
  color: inherit;
}

.offer-card__media-label {
  position: absolute;
  inset-block-start: 14px;
  inset-inline-start: 14px;
  z-index: 2;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(7,23,11,.82);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  box-shadow: 0 5px 18px rgba(0,0,0,.2);
  backdrop-filter: blur(8px);
}

.home-marketplace {
  background:
    radial-gradient(circle at 10% 0%, rgba(46,139,74,.13), transparent 34%),
    var(--bg-section);
}

.home-marketplace .offers-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.home-marketplace .offer-card .btn--full {
  min-height: 48px;
}

/* Home experience cards: inset photo, short copy, price and arrow. */
.home-combo-showcase {
  background: #f7f4ec;
  padding-block: 28px 36px;
}

.home-combo-showcase__title {
  max-width: 12em;
  margin: 0 0 18px;
  color: #10281f;
  font-family: Fraunces, Cairo, var(--font-serif);
  font-size: clamp(32px, 4.6vw, 52px);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.home-combo-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  padding: 12px 4px 42px;
  perspective: 1100px;
}

.home-combo-card {
  display: flex;
  flex-direction: column;
  padding: 10px 10px 14px;
  border: 0;
  border-radius: 22px;
  background: #fff;
  transform-style: preserve-3d;
  transition: transform .5s cubic-bezier(.2, .75, .2, 1), background-color .35s ease, box-shadow .5s ease;
  box-shadow: 0 10px 24px rgba(16, 40, 31, .08);
}

.home-combo-card:nth-child(odd) { --turn: 16deg; }
.home-combo-card:nth-child(even) { --turn: -16deg; }

.home-combo-card:hover {
  z-index: 3;
  background: #0d4a34;
  transform: translateY(-22px) rotateX(18deg) rotateY(var(--turn)) scale(1.05);
  box-shadow: 28px 36px 28px -18px rgba(13, 74, 52, .45);
}

.home-combo-card--accent {
  background: #0d4a34;
  box-shadow: 0 12px 26px rgba(13, 74, 52, .18);
}

[data-theme="dark"] .home-combo-showcase { background: #0b1a13; }
[data-theme="dark"] .home-combo-showcase__title { color: #f3f1ea; }
[data-theme="dark"] .home-combo-card:not(.home-combo-card--accent) {
  background: #163028;
  box-shadow: 0 14px 28px rgba(0, 0, 0, .35);
}
[data-theme="dark"] .home-combo-card--accent { background: #0d4a34; }
[data-theme="dark"] .home-combo-card:hover {
  background: #f4f1e8;
  box-shadow: -24px 34px 30px -16px rgba(0, 0, 0, .55);
}

.home-combo-card__media-wrap { position: relative; }
.home-combo-card__media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  border-radius: 16px;
  background: #e7eee8;
  transform: translateZ(1px);
  transition: transform .5s cubic-bezier(.2, .75, .2, 1);
}
.home-combo-card:hover .home-combo-card__media {
  transform: translateZ(42px) scale(1.04);
}

.home-combo-card__badge {
  position: absolute;
  z-index: 5;
  top: 10px;
  inset-inline-start: 10px;
  padding: 5px 8px;
  border-radius: 4px;
  background: #10231b;
  color: #fff;
  font-size: .64rem;
  font-weight: 850;
}

.home-combo-card__save {
  position: absolute;
  z-index: 5;
  top: 10px;
  inset-inline-end: 10px;
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(16,35,27,.18);
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  color: #10231b;
  box-shadow: 0 4px 14px rgba(0,0,0,.12);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}
.home-combo-card__save.is-saved { color: #167d4a; }

.home-combo-card__media > img,
.home-combo-card__media .offer-card__combo-media img,
.combo-detail__media > img,
.combo-detail__media .offer-card__combo-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-combo-card__media .offer-card__combo-media::after {
  content: "+";
  position: absolute;
  z-index: 4;
  inset: 50% auto auto 50%;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 3px solid #0d4a34;
  border-radius: 50%;
  background: #fff;
  color: #0d4a34;
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1;
}

.combo-detail__media .offer-card__combo-media::after {
  content: "+";
  position: absolute;
  z-index: 4;
  inset: 50% auto auto 50%;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 2px solid #fff;
  border-radius: 50%;
  background: rgba(7,64,42,.92);
  color: #fff;
  font-size: 1.18rem;
  font-weight: 700;
}

.home-combo-card__mark {
  position: absolute;
  z-index: 6;
  top: 10px;
  inset-inline-start: 10px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(255,255,255,.94);
  color: #0d4a34;
}

.home-combo-card__mark svg { width: 18px; height: 18px; }
.home-combo-card--accent .home-combo-card__mark {
  background: rgba(255,255,255,.16);
  color: #fff;
}

.home-combo-card__body { padding: 12px 6px 2px; }
.home-combo-card__location {
  display: block;
  margin-bottom: 5px;
  color: #56615c;
  font-size: .62rem;
  font-weight: 850;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.home-combo-card__body h3 {
  min-height: 3.75em;
  margin: 0 0 4px;
  font-family: Manrope, Cairo, var(--font-sans);
  font-size: .95rem;
  font-weight: 750;
  line-height: 1.25;
}
.home-combo-card__body h3 a { color: #10281f; text-decoration: none; transition: color .35s ease; }
.home-combo-card__desc {
  display: -webkit-box;
  min-height: 2.7em;
  margin: 0;
  overflow: hidden;
  color: #66756d;
  font-size: .75rem;
  line-height: 1.35;
  transition: color .35s ease;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.home-combo-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; }
.home-combo-card__rating { white-space: nowrap; color: #10231b; font-size: .7rem; }
.home-combo-card__rating strong { font-weight: 850; }
.home-combo-card__rating small { color: #56615c; }
.home-combo-card__price { display: flex; align-items: baseline; gap: 5px; min-width: 0; color: #10281f; text-align: start; white-space: nowrap; }
.home-combo-card__price small { width: auto; color: #66756d; font-size: .72rem; }
.home-combo-card__price strong { color: #0d4a34; font-size: .92rem; font-weight: 800; }
.home-combo-card__price-request { max-width: 120px; line-height: 1.15; color: #0d4a34; }
.home-combo-card__go {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1.5px solid #d5ddd8;
  border-radius: 50%;
  color: #10281f;
  text-decoration: none;
  font-size: 1.05rem;
}
.home-combo-card--accent h3 a,
.home-combo-card--accent .home-combo-card__desc,
.home-combo-card--accent .home-combo-card__price,
.home-combo-card--accent .home-combo-card__price small,
.home-combo-card--accent .home-combo-card__price strong,
.home-combo-card--accent .home-combo-card__go { color: #fff; }
.home-combo-card--accent .home-combo-card__go { border-color: rgba(255,255,255,.45); }

.home-combo-card:hover h3 a,
.home-combo-card:hover .home-combo-card__desc,
.home-combo-card:hover .home-combo-card__price,
.home-combo-card:hover .home-combo-card__price small,
.home-combo-card:hover .home-combo-card__price strong,
.home-combo-card:hover .home-combo-card__go { color: #fff; }
.home-combo-card:hover .home-combo-card__go { border-color: rgba(255,255,255,.5); }

[data-theme="dark"] .home-combo-card h3 a,
[data-theme="dark"] .home-combo-card .home-combo-card__price,
[data-theme="dark"] .home-combo-card .home-combo-card__price strong,
[data-theme="dark"] .home-combo-card .home-combo-card__go { color: #f3f1ea; }
[data-theme="dark"] .home-combo-card .home-combo-card__desc,
[data-theme="dark"] .home-combo-card .home-combo-card__price small { color: #c5d5cb; }
[data-theme="dark"] .home-combo-card .home-combo-card__go { border-color: rgba(255,255,255,.28); }

[data-theme="dark"] .home-combo-card:hover h3 a,
[data-theme="dark"] .home-combo-card:hover .home-combo-card__desc,
[data-theme="dark"] .home-combo-card:hover .home-combo-card__price,
[data-theme="dark"] .home-combo-card:hover .home-combo-card__price small,
[data-theme="dark"] .home-combo-card:hover .home-combo-card__price strong,
[data-theme="dark"] .home-combo-card:hover .home-combo-card__go { color: #10281f; }
[data-theme="dark"] .home-combo-card:hover .home-combo-card__go { border-color: rgba(16,40,31,.28); }

html[dir="rtl"] .home-combo-card__go { transform: scaleX(-1); }
html[dir="rtl"] .home-combo-card:nth-child(odd) { --turn: -16deg; }
html[dir="rtl"] .home-combo-card:nth-child(even) { --turn: 16deg; }

/* Full Viator-style combo detail page. */
.combo-detail { background: var(--bg-body); }
.combo-detail__hero { padding: 150px 0 70px; }
.combo-detail__back { display: inline-flex; margin-bottom: 24px; color: var(--gold); font-weight: 700; }
.combo-detail__hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 42px; align-items: stretch; }
.combo-detail__media { position: relative; min-height: 520px; overflow: hidden; border-radius: 26px; background: var(--bg-card); }
.combo-detail__intro { display: flex; flex-direction: column; justify-content: center; }
.combo-detail__intro h1 { margin: 10px 0 18px; color: var(--cream); font-family: var(--font-serif); font-size: clamp(2.2rem, 4vw, 4.4rem); line-height: 1.04; }
.combo-detail__description { margin: 12px 0 24px; color: var(--text-light); line-height: 1.75; }
.combo-detail__intro .offer-price { display: block; margin-bottom: 22px; }
.combo-detail__gallery { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.combo-detail__gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 14px; }
.combo-detail__content { background: var(--bg-section); }
.combo-detail__sections { display: grid; gap: 20px; max-width: 980px; }
.combo-detail__panel { padding: 28px; border: 1px solid var(--border); border-radius: 18px; background: var(--bg-card); }
.combo-detail__panel h2 { margin: 0 0 18px; color: var(--cream); font-family: var(--font-serif); }
.combo-detail__panel p { margin: 0; color: var(--text-light); line-height: 1.75; }
.combo-detail__panel ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; color: var(--text-light); }
.combo-detail__includes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.combo-detail__includes .is-included { color: var(--cream); }
.combo-detail__includes .is-excluded { opacity: .75; }
.combo-detail__itinerary { display: grid; gap: 18px; margin: 0; padding-inline-start: 24px; }
.combo-detail__itinerary li { padding-inline-start: 10px; color: var(--gold); }
.combo-detail__itinerary strong { color: var(--cream); }
.combo-detail__itinerary p { margin-top: 6px; }
.combo-detail__sticky-book { position: sticky; bottom: 18px; z-index: 8; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 18px; border: 1px solid var(--border); border-radius: 18px; background: color-mix(in srgb, var(--bg-card) 92%, transparent); box-shadow: 0 16px 42px rgba(0,0,0,.18); backdrop-filter: blur(16px); }
.combo-detail__sticky-book > div { display: grid; gap: 4px; }

/* Product-led combo details: gallery first, readable content, sticky booking. */
body[data-page="combo-offer"] .combo-detail {
  background:
    radial-gradient(circle at 85% 0%, rgba(46,139,74,.08), transparent 28rem),
    var(--bg-body);
}

.combo-product { padding: 142px 0 100px; }
.combo-product__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
  color: var(--text-light);
  font-size: .86rem;
  font-weight: 700;
}
.combo-product__back:hover { color: var(--gold); }
.combo-product__header { max-width: 1000px; margin-bottom: 30px; }
.combo-product__eyebrow {
  margin: 0 0 12px;
  color: var(--gold);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.combo-product__header h1 {
  max-width: 980px;
  margin: 0 0 20px;
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: clamp(2.5rem, 5vw, 5rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.035em;
}
.combo-product__gallery {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
  gap: 12px;
  height: clamp(430px, 48vw, 620px);
  margin-bottom: 54px;
}
.combo-product__gallery--single { grid-template-columns: 1fr; }
.combo-product__cover,
.combo-product__thumbs img {
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid var(--border);
  background: var(--bg-card);
}
.combo-product__cover { position: relative; min-height: 0; }
.combo-product__thumbs { display: grid; grid-template-rows: repeat(2, minmax(0,1fr)); gap: 12px; min-height: 0; }
.combo-product__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.combo-product__thumbs img:only-child { grid-row: 1 / -1; }
.combo-product__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: clamp(36px, 6vw, 86px);
  align-items: start;
}
.combo-product__main { min-width: 0; }
.combo-product__section {
  padding: 0 0 38px;
  margin-bottom: 38px;
  border-bottom: 1px solid var(--border);
}
.combo-product__section:last-child { margin-bottom: 0; }
.combo-product__section h2 {
  margin: 0 0 20px;
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: clamp(1.65rem, 2.4vw, 2.25rem);
  line-height: 1.15;
}
.combo-product__overview .rte-content,
.combo-product__overview .rte-content :is(p,li,strong,span) {
  color: var(--text-light);
  font-size: 1rem;
  line-height: 1.85;
}
.combo-product__check-list,
.combo-product__includes ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.combo-product__check-list li,
.combo-product__includes li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--text-light);
  line-height: 1.55;
}
.combo-product__check-list li span,
.combo-product__includes .is-included span { color: #26915a; font-weight: 900; }
.combo-product__includes {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 40px;
}
.combo-product__includes ul { grid-template-columns: 1fr; }
.combo-product__includes .is-excluded span { color: #c66a62; font-weight: 900; }
.combo-product__timeline { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: combo-step; }
.combo-product__timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  padding-bottom: 28px;
  counter-increment: combo-step;
}
.combo-product__timeline li::before {
  content: counter(combo-step);
  position: relative;
  z-index: 2;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green, #1f7a4a);
  color: #fff;
  font-weight: 800;
}
.combo-product__timeline li:not(:last-child)::after {
  content: "";
  position: absolute;
  inset-inline-start: 19px;
  top: 40px;
  bottom: 0;
  width: 2px;
  background: var(--border);
}
.combo-product__timeline strong { display: block; padding-top: 7px; color: var(--cream); font-size: 1.05rem; }
.combo-product__timeline p { margin: 7px 0 0; color: var(--text-light); line-height: 1.65; }
.combo-product__practical { display: grid; gap: 18px; border-bottom: 0; }
.combo-product__practical > div { display: flex; gap: 16px; padding: 20px; border: 1px solid var(--border); border-radius: 16px; background: var(--bg-card); }
.combo-product__practical-icon { flex: 0 0 40px; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; background: rgba(46,139,74,.12); color: var(--gold); font-size: 1.2rem; }
.combo-product__practical h3 { margin: 0 0 6px; color: var(--cream); font-size: 1rem; }
.combo-product__practical p { margin: 0; color: var(--text-light); line-height: 1.65; }
.combo-product__booking {
  position: sticky;
  top: 128px;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 22px;
  background: var(--bg-card);
  box-shadow: 0 18px 50px rgba(0,0,0,.12);
}
.combo-product__booking-label { margin: 10px 0 18px; color: var(--text-light); font-size: .85rem; }
.combo-product__booking .offer-price { display: block; margin-bottom: 22px; font-size: 1.8rem; }
.combo-product__booking-benefits { display: grid; gap: 10px; padding: 18px 0; margin-bottom: 18px; border-block: 1px solid var(--border); color: var(--text-light); font-size: .84rem; line-height: 1.4; }
.combo-product__booking .btn { min-height: 54px; }
.combo-product__booking small { display: block; margin-top: 14px; color: var(--text-light); text-align: center; line-height: 1.5; }

@media (max-width: 1180px) {
  .home-combo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
}

@media (max-width: 900px) {
  .home-combo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .combo-detail__hero-grid { grid-template-columns: 1fr; }
  .combo-detail__media { min-height: 0; aspect-ratio: 3/2; }
  .combo-detail__gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .combo-product { padding-top: 118px; }
  .combo-product__gallery { grid-template-columns: 1fr; height: auto; }
  .combo-product__cover { aspect-ratio: 3/2; }
  .combo-product__thumbs { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: none; }
  .combo-product__thumbs img { aspect-ratio: 4/3; }
  .combo-product__layout { grid-template-columns: 1fr; }
  .combo-product__booking { position: static; order: -1; }
}

@media (max-width: 520px) {
  .home-combo-showcase { padding-block: 18px 28px; }
  .home-combo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .home-combo-showcase__title { font-size: 32px; }
  .home-combo-card { padding: 8px 8px 12px; border-radius: 18px; }
  .home-combo-card__body h3 { font-size: .92rem; }
  .combo-detail__hero { padding-top: 120px; }
  .combo-detail__includes { grid-template-columns: 1fr; }
  .combo-detail__sticky-book { align-items: stretch; flex-direction: column; }
  .combo-product { padding-top: 105px; }
  .combo-product__header h1 { font-size: 2.35rem; }
  .combo-product__gallery { margin-bottom: 34px; }
  .combo-product__thumbs { display: none; }
  .combo-product__check-list,
  .combo-product__includes { grid-template-columns: 1fr; }
  .combo-product__section { padding-bottom: 28px; margin-bottom: 28px; }
}

@media (max-width: 900px) {
  .home-marketplace .offers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .home-marketplace .offers-grid { gap: 12px; }
  .home-marketplace .offer-card__body { padding: 14px 12px; }
  .home-marketplace .offer-card__title { font-size: 1.08rem; min-height: 2.7rem; }
  .home-marketplace .offer-card__desc { font-size: .76rem; min-height: 3.75rem; line-height: 1.55; }
  .home-marketplace .offer-card__tag { font-size: .6rem; padding: 4px 7px; }
  .home-marketplace .offer-card__footer { padding-top: 10px; }
  .home-marketplace .offer-card .btn--full { min-height: 42px; padding-inline: 8px; font-size: .72rem; }
  .home-marketplace .offer-card__combo-media::after { width: 30px; height: 30px; font-size: 1rem; }
}

[data-theme="light"] .commerce-category--accent .commerce-category__copy strong,
[data-theme="light"] .commerce-category--accent .commerce-category__copy small {
  color: #fff;
}

@media (max-width: 1100px) {
  .commerce-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .hero--storefront .hero__content {
    width: calc(100% - 24px);
    padding: 30px 20px;
    border-radius: 22px;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .hero__eyebrow--store { margin-inline: auto; }
  .hero__commerce-note { font-size: .74rem; }

  .commerce-category-bar { padding: 34px 0 38px; }
  .commerce-category-bar__heading { align-items: flex-start; margin-bottom: 18px; }
  .commerce-category-bar__secure { display: none; }
  .commerce-categories { grid-template-columns: 1fr 1fr; gap: 10px; }
  .commerce-category {
    display: flex;
    min-height: 150px;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    padding: 16px;
  }
  .commerce-category__icon { width: 42px; height: 42px; }
  .commerce-category__copy { flex: 1; }
  .commerce-category__copy small { font-size: .7rem; }
  .commerce-category__arrow { align-self: flex-end; margin-top: -28px; }
  .service-card__shop-cta { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .commerce-category,
  .commerce-category__arrow { transition: none; }
}

/* ── Grand Tours advertising ───────────────────────────────────── */
.grand-tours-promo {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 12%, rgba(46, 139, 74, .12), transparent 34%),
    var(--bg-body);
}

.grand-tours-promo__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 34px;
}

.grand-tours-promo__header .section__title { margin-bottom: 12px; }
.grand-tours-promo__header .section__desc { margin: 0; }

.grand-tours-promo__all {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
  padding: 11px 0;
  border-bottom: 1px solid var(--gold);
  color: var(--cream);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

.grand-tours-promo__all span { color: var(--gold-light); font-size: 1rem; }

.grand-tour-ads {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .9fr);
  grid-template-rows: repeat(2, minmax(235px, 1fr));
  gap: 18px;
}

.grand-tour-ad {
  position: relative;
  display: none;
  grid-column: 2;
  min-height: 235px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 24px;
  background: #092015;
  color: #fff;
  box-shadow: 0 20px 55px rgba(0, 0, 0, .18);
  isolation: isolate;
  text-decoration: none;
  transition: opacity .28s ease, filter .28s ease;
}

.grand-tour-ad.is-visible { display: block; }

.grand-tour-ad--featured {
  grid-column: 1;
  grid-row: 1 / 3;
  min-height: 488px;
}

.grand-tour-ad img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.2, .75, .25, 1), filter .4s ease;
}

.grand-tour-ad__shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(2, 16, 10, .06) 22%, rgba(2, 16, 10, .9) 100%),
    linear-gradient(90deg, rgba(2, 16, 10, .38), transparent 72%);
}

.grand-tour-ad__partner {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 8px 11px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  background: rgba(3, 25, 16, .62);
  backdrop-filter: blur(10px);
  color: rgba(255, 255, 255, .9);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.grand-tour-ad__content {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  padding: 24px;
}

.grand-tour-ad--featured .grand-tour-ad__content { padding: 34px; }

.grand-tour-ad__meta {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 9px;
  color: rgba(255, 255, 255, .82);
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.grand-tour-ad__meta b { color: #7be49a; }
.grand-tour-ad__meta i { width: 3px; height: 3px; border-radius: 50%; background: currentColor; }

.grand-tour-ad__content > strong {
  max-width: 720px;
  color: #fff;
  font-family: var(--font-serif);
  font-size: clamp(1.55rem, 2.4vw, 2.7rem);
  font-weight: 600;
  line-height: 1.02;
}

.grand-tour-ad:not(.grand-tour-ad--featured) .grand-tour-ad__content > strong {
  font-size: clamp(1.25rem, 1.65vw, 1.75rem);
}

.grand-tour-ad__content small {
  display: block;
  max-width: 590px;
  margin-top: 10px;
  color: rgba(255, 255, 255, .78);
  font-size: .78rem;
  line-height: 1.55;
}

.grand-tour-ad:not(.grand-tour-ad--featured) .grand-tour-ad__content small { display: none; }

.grand-tour-ad__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.grand-tour-ad__cta b {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: var(--gold);
  transition: transform .25s ease, background .25s ease;
}

.grand-tour-ad:hover img { transform: scale(1.055); filter: saturate(1.08); }
.grand-tour-ad:hover .grand-tour-ad__cta b { transform: translate(3px, -3px); background: var(--gold-light); }

[data-theme="light"] .grand-tours-promo { background: #f4f0e8; }
[data-theme="light"] .grand-tours-promo__all { color: var(--text-dark); }

@media (max-width: 900px) {
  .grand-tours-promo__header { align-items: flex-start; flex-direction: column; }
  .grand-tour-ads { grid-template-columns: 1fr 1fr; grid-template-rows: 390px 250px; }
  .grand-tour-ad { grid-column: auto; }
  .grand-tour-ad--featured { grid-column: 1 / 3; grid-row: auto; min-height: 390px; }
}

@media (max-width: 620px) {
  .grand-tours-promo__header { margin-bottom: 24px; }
  .grand-tour-ads {
    display: flex;
    margin-inline: -20px;
    padding-inline: 20px;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .grand-tour-ads::-webkit-scrollbar { display: none; }
  .grand-tour-ad,
  .grand-tour-ad--featured {
    width: min(84vw, 350px);
    min-width: min(84vw, 350px);
    min-height: 390px;
    scroll-snap-align: center;
  }
  .grand-tour-ad--featured .grand-tour-ad__content,
  .grand-tour-ad__content { padding: 24px; }
  .grand-tour-ad:not(.grand-tour-ad--featured) .grand-tour-ad__content > strong { font-size: 1.55rem; }
  .grand-tour-ad:not(.grand-tour-ad--featured) .grand-tour-ad__content small { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  .grand-tour-ad { transition: none; }
}

/* ── Ecommerce booking flow ─────────────────────────────────────── */
.solo-eg-theme .modal.open {
  opacity: 1;
  visibility: visible;
}

.modal__box--booking {
  max-width: 920px;
  width: min(96vw, 920px);
  padding: 0 34px 34px;
  border: 1px solid var(--border);
  background: var(--bg-card);
}

.booking-flow__top {
  margin: 0 -34px 24px;
  padding: 26px 34px 24px;
  border-bottom: 1px solid var(--border);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  background:
    radial-gradient(circle at 88% 10%, rgba(94,195,120,.19), transparent 34%),
    linear-gradient(135deg, rgba(46,139,74,.12), transparent 62%);
}

.booking-flow__steps {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  margin: 0 46px 24px;
}

.booking-flow__steps span {
  display: flex;
  min-width: 94px;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  color: var(--text-light);
  font-size: .7rem;
  text-align: center;
}

.booking-flow__steps i {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 50%;
  background: var(--bg-section);
  color: var(--text-light);
  font-style: normal;
  font-weight: 700;
}

.booking-flow__steps .is-active {
  color: var(--cream);
}

.booking-flow__steps .is-active i {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
  box-shadow: 0 0 0 5px rgba(46,139,74,.12);
}

.booking-flow__steps .is-done {
  color: var(--cream);
}

.booking-flow__steps .is-done i {
  background: rgba(46,139,74,.28);
  border-color: var(--gold);
  color: #fff;
}

.booking-pay-stage,
.booking-confirm-stage {
  display: grid;
  gap: 12px;
  padding-bottom: 8px;
}

.booking-pay-stage[hidden],
.booking-confirm-stage[hidden] {
  display: none;
}

.booking-pay-stage__amount {
  margin: 0;
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  font-weight: 600;
  letter-spacing: -0.03em;
}

.booking-pay-stage__meta,
.booking-pay-stage__note {
  margin: 0;
  color: var(--text-light);
  font-size: 0.88rem;
  line-height: 1.55;
}

.booking-pay-stage__loading {
  display: grid;
  place-items: center;
  min-height: 120px;
  color: var(--text-light);
}

.booking-pay-stage__loading::before {
  content: "";
  width: 28px;
  height: 28px;
  margin-bottom: 10px;
  border: 3px solid rgba(237,245,238,.18);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: spin .8s linear infinite;
}

.booking-pay-stage__embed {
  width: 100%;
  min-height: 460px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: #07140c;
}

.booking-pay-stage__frame {
  display: block;
  width: 100%;
  min-height: 560px;
  height: 70vh;
  border: 0;
  background: #07140c;
}

.booking-pay-stage__error {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid rgba(227, 179, 179, .4);
  border-radius: 12px;
  background: rgba(142, 43, 43, .16);
  color: #f3d4d4;
}

.booking-confirm-stage {
  justify-items: center;
  text-align: center;
  padding: 18px 8px 10px;
}

.booking-confirm-stage__icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(46,139,74,.16);
  color: var(--gold-light);
  font-size: 1.6rem;
}

.booking-confirm-stage h3 {
  margin: 4px 0 0;
  color: var(--cream);
}

.booking-confirm-stage p {
  max-width: 420px;
  margin: 0;
  color: var(--text-light);
}

.modal--booking.is-paying .booking-modal__desc,
.modal--booking.is-confirming .booking-modal__desc {
  display: none;
}

.modal--booking.is-paying .modal__box--booking {
  max-width: 920px;
}

.booking-flow__steps em {
  width: clamp(30px, 7vw, 90px);
  height: 1px;
  margin-top: 15px;
  background: var(--border);
}

.booking-flow__top .booking__form-title,
.booking-flow__top .booking-modal__desc {
  text-align: center;
  padding-inline: 42px;
}

.booking-selection {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--bg-section);
  text-align: start;
}

.booking-selection[hidden] { display: none; }

.booking-selection.has-media {
  grid-template-columns: 128px minmax(0, 1fr) 34px;
}

.booking-selection__media {
  position: relative;
  width: 128px;
  height: 82px;
  overflow: hidden;
  border-radius: 12px;
  background: var(--bg);
}

.booking-selection__media[hidden] { display: none; }

.booking-selection__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.booking-selection__media.is-combo .booking-selection__image--primary {
  clip-path: polygon(0 0, 64% 0, 47% 100%, 0 100%);
}

.booking-selection__media.is-combo .booking-selection__image--secondary {
  clip-path: polygon(64% 0, 100% 0, 100% 100%, 47% 100%);
}

.booking-selection__plus {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 55%;
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--green-dark, #164c39);
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}

.booking-selection__plus[hidden] { display: none; }

.booking-selection__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 5px;
}

.booking-selection__copy small {
  color: var(--gold);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.booking-selection__copy strong {
  overflow: hidden;
  color: var(--cream);
  font-size: 1rem;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.booking-selection__meta {
  color: var(--text-muted);
  font-size: .78rem;
  font-weight: 700;
}

.booking-selection__check {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: rgba(46,139,74,.14);
  color: var(--gold-light);
  font-weight: 800;
}

.payment-choice-fieldset {
  min-width: 0;
  padding: 0;
  border: 0;
}

.payment-choice-fieldset legend {
  margin-bottom: 9px;
  color: var(--cream);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.payment-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.payment-choice {
  display: flex;
  min-height: 66px;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--input-border);
  border-radius: 12px;
  background: var(--input-bg);
  color: var(--text-light);
  font-size: .76rem;
  line-height: 1.45;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.payment-choice:has(input:checked) {
  border-color: var(--gold);
  background: rgba(46,139,74,.12);
  color: var(--cream);
}

.payment-choice input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.payment-choice__mark {
  position: relative;
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  border: 2px solid var(--input-border);
  border-radius: 50%;
}

.payment-choice input:checked + .payment-choice__mark {
  border-color: var(--gold);
}

.payment-choice input:checked + .payment-choice__mark::after {
  content: '';
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--gold);
}

@media (max-width: 700px) {
  .modal__box--booking {
    width: 100%;
    max-height: 94svh;
    padding: 0 16px 24px;
    border-radius: 20px 20px 0 0;
  }
  .modal--booking { align-items: flex-end; }
  .booking-flow__top { margin: 0 -16px 18px; padding: 20px 16px 18px; }
  .booking-flow__steps { gap: 5px; margin: 0 30px 18px; }
  .booking-flow__steps span { min-width: 64px; font-size: .58rem; }
  .booking-flow__steps em { width: 24px; }
  .booking-flow__top .booking__form-title,
  .booking-flow__top .booking-modal__desc { padding-inline: 24px; }
  .booking-selection { grid-template-columns: minmax(0, 1fr) 28px; gap: 11px; }
  .booking-selection.has-media { grid-template-columns: 92px minmax(0, 1fr) 28px; }
  .booking-selection__media { width: 92px; height: 64px; }
  .booking-selection__plus { width: 23px; height: 23px; font-size: .85rem; }
  .payment-choice-grid { grid-template-columns: 1fr; }
  .payment-choice { min-height: 54px; }
}

/* Marketplace-style combo offer details, using Solo Spa branding. */
.gyg-offer {
  --gyg-ink: #10231b;
  --gyg-muted: #56615c;
  --gyg-line: #d9dfdc;
  --gyg-green: #167d4a;
  padding: 138px 0 92px;
  background: #fff;
  color: var(--gyg-ink);
}

.gyg-offer__container { max-width: 1240px; }
.gyg-offer__back { display: inline-flex; margin-bottom: 22px; color: var(--gyg-green); font-size: .88rem; font-weight: 800; }
.gyg-offer__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 24px; }
.gyg-offer__header h1 { max-width: 930px; margin: 0 0 12px; color: var(--gyg-ink); font-family: var(--font-sans); font-size: clamp(2rem, 3.5vw, 3.45rem); font-weight: 850; line-height: 1.08; letter-spacing: -.035em; }
.gyg-offer__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--gyg-muted); font-size: .9rem; }
.gyg-offer__meta span:first-child { padding: 5px 9px; border-radius: 4px; background: #eef1ef; color: var(--gyg-ink); font-weight: 750; }
.gyg-offer__actions { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 4px; }
.gyg-offer__actions button,
.gyg-offer__actions a { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 8px 12px; border: 0; border-radius: 9px; background: transparent; color: var(--gyg-ink); font: inherit; font-weight: 750; cursor: pointer; }
.gyg-offer__actions button:hover,
.gyg-offer__actions a:hover { background: #f1f5f2; }
.gyg-offer__actions button:first-child { font-size: 1.35rem; }
.gyg-offer__actions button:first-child span { font-size: .9rem; }
.gyg-offer__actions button.is-saved { color: var(--gyg-green); }
.gyg-facebook-share b { width: 25px; height: 25px; display: grid; place-items: end center; border-radius: 50%; background: #1877f2; color: #fff; font-family: Arial, sans-serif; font-size: 1.25rem; line-height: 1; }

.gyg-gallery { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(340px, 1fr); gap: 8px; height: 510px; overflow: hidden; border-radius: 18px; }
.gyg-gallery--single { grid-template-columns: 1fr; }
.gyg-gallery__main { position: relative; min-height: 0; overflow: hidden; border-radius: 0; background: #edf1ef; }
.gyg-gallery__main > img,
.gyg-gallery__main .offer-card__combo-media img { width: 100%; height: 100%; object-fit: cover; }
.gyg-gallery__thumbs { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 8px; min-width: 0; }
.gyg-gallery__thumbs img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.gyg-gallery__all { position: absolute; z-index: 3; inset-inline-end: 14px; bottom: 14px; min-height: 40px; padding: 8px 14px; border: 1px solid var(--gyg-ink); border-radius: 9px; background: rgba(255,255,255,.94); color: var(--gyg-ink); font-weight: 800; cursor: pointer; }
.gyg-offer__lead { max-width: 940px; margin: 20px 0 26px; color: #2b3732; font-size: 1.02rem; line-height: 1.65; }

.gyg-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 24px 0 28px; border-block: 1px solid var(--gyg-line); }
.gyg-benefits > div { display: flex; align-items: flex-start; gap: 14px; }
.gyg-benefits > div > span { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 9px; background: #eff7f2; color: var(--gyg-green); font-size: 1.3rem; font-weight: 800; }
.gyg-benefits p { display: grid; gap: 4px; margin: 0; }
.gyg-benefits strong { color: var(--gyg-ink); font-size: .98rem; }
.gyg-benefits small { color: var(--gyg-muted); font-size: .82rem; line-height: 1.45; }

.gyg-offer__layout { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 64px; align-items: start; padding-top: 24px; }
.gyg-details { min-width: 0; }
.gyg-detail-row { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 34px; padding: 30px 0; border-bottom: 1px solid var(--gyg-line); }
.gyg-detail-row h2 { margin: 0; color: var(--gyg-ink); font-family: var(--font-sans); font-size: 1.12rem; font-weight: 850; line-height: 1.35; }
.gyg-detail-row :is(p, li, strong, span),
.gyg-detail-row .rte-content :is(p, li, strong, span) { color: #202a26; font-size: .96rem; line-height: 1.62; }
.gyg-detail-row > ul { margin: 0; padding-inline-start: 20px; }
.gyg-detail-row > ul li + li { margin-top: 7px; }
.gyg-detail-row .rte-content > :first-child { margin-top: 0; }
.gyg-detail-row .rte-content > :last-child { margin-bottom: 0; }
.gyg-includes { display: grid; gap: 20px; }
.gyg-includes ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.gyg-includes li { display: flex; align-items: flex-start; gap: 10px; }
.gyg-includes li span { font-size: 1.05rem; font-weight: 900; }
.gyg-includes .yes span { color: #16834d; }
.gyg-includes .no span { color: #c84b48; }
.gyg-itinerary { display: grid; gap: 16px; margin: 0; padding-inline-start: 22px; }
.gyg-itinerary li { padding-inline-start: 6px; }
.gyg-itinerary p { margin: 5px 0 0; color: var(--gyg-muted); }
.gyg-important { display: grid; gap: 22px; }
.gyg-important strong { display: block; margin-bottom: 7px; font-weight: 850; }
.gyg-important p { margin: 0; color: var(--gyg-muted); }

.gyg-book-card { position: sticky; top: 122px; padding: 24px; border: 1px solid var(--gyg-line); border-radius: 14px; background: #fff; box-shadow: 0 10px 32px rgba(18,48,35,.12); }
.gyg-book-card > small { color: var(--gyg-muted); font-weight: 700; }
.gyg-book-card .offer-price { display: block; margin: 5px 0 18px; color: var(--gyg-ink); font-size: 1.65rem; }
.gyg-book-card .offer-card__facts { display: grid; gap: 8px; margin-bottom: 18px; color: var(--gyg-muted); }
.gyg-book-card .btn { min-height: 54px; }
.gyg-book-card > p { margin: 14px 0 0; color: var(--gyg-muted); font-size: .8rem; text-align: center; }

.gyg-related { padding: 54px 0 44px; border-bottom: 1px solid var(--gyg-line); }
.gyg-related h2,
.gyg-reviews h2 { margin: 0 0 22px; color: var(--gyg-ink); font-family: var(--font-sans); font-size: clamp(1.55rem, 2.3vw, 2rem); font-weight: 850; }
.gyg-related__track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.gyg-related-card { min-width: 0; overflow: hidden; border: 1px solid var(--gyg-line); border-radius: 12px; background: #fff; }
.gyg-related-card__media { position: relative; display: block; height: 185px; overflow: hidden; background: #edf1ef; }
.gyg-related-card__media > img,
.gyg-related-card__media .offer-card__combo-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gyg-related-card__media .offer-card__combo-media::after { content: "+"; position: absolute; z-index: 4; inset: 50% auto auto 50%; width: 32px; height: 32px; display: grid; place-items: center; transform: translate(-50%,-50%); border: 2px solid #fff; border-radius: 50%; background: rgba(7,64,42,.9); color: #fff; font-weight: 800; }
.gyg-related-card__media > span:not(.offer-card__combo-media) { position: absolute; z-index: 5; top: 10px; inset-inline-start: 10px; padding: 5px 8px; border-radius: 4px; background: #10231b; color: #fff; font-size: .68rem; font-weight: 800; }
.gyg-related-card__body { padding: 14px; }
.gyg-related-card__body small { color: var(--gyg-muted); font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.gyg-related-card__body h3 { min-height: 3.5em; margin: 7px 0 8px; font-family: var(--font-sans); font-size: 1rem; line-height: 1.18; }
.gyg-related-card__body h3 a { color: var(--gyg-ink); }
.gyg-related-card__body p { min-height: 1.3em; margin: 0 0 11px; color: var(--gyg-muted); font-size: .77rem; }
.gyg-related-card__body .offer-price { color: var(--gyg-ink); font-size: .98rem; font-weight: 850; }
.gyg-related-card__body .offer-price__instead { display: block; margin: 3px 0 0; font-size: .67rem; }

.gyg-reviews { padding-top: 48px; }
.gyg-reviews h2 span { color: var(--gyg-muted); font-size: .85rem; }
.gyg-reviews__layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 48px; }
.gyg-reviews__score { display: flex; flex-direction: column; align-items: flex-start; }
.gyg-reviews__score small { color: var(--gyg-muted); font-weight: 750; }
.gyg-reviews__score strong { margin: 8px 0 4px; color: var(--gyg-ink); font-size: 3rem; line-height: 1; }
.gyg-reviews__score strong i { font-size: 1.25rem; font-style: normal; }
.gyg-reviews__score div,
.gyg-review__stars { color: #0b2439; font-size: 1.35rem; letter-spacing: 3px; }
.gyg-reviews__list { display: grid; }
.gyg-reviews__list article { padding: 0 0 26px; margin-bottom: 26px; border-bottom: 1px solid var(--gyg-line); }
.gyg-reviews__list article > strong { display: inline-block; margin-top: 8px; color: var(--gyg-ink); }
.gyg-reviews__list article > small { display: block; color: var(--gyg-muted); }
.gyg-reviews__list article p { margin: 12px 0 0; color: #2c3632; line-height: 1.65; }

.gyg-gallery-dialog { width: min(1120px, calc(100% - 30px)); max-height: 90vh; padding: 54px 20px 20px; border: 0; border-radius: 18px; background: #fff; }
.gyg-gallery-dialog::backdrop { background: rgba(2,12,8,.82); }
.gyg-gallery-dialog__close { position: absolute; top: 12px; inset-inline-end: 15px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #eef1ef; color: #10231b; font-size: 1.5rem; cursor: pointer; }
.gyg-gallery-dialog > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gyg-gallery-dialog img { width: 100%; border-radius: 10px; }

@media (max-width: 980px) {
  .gyg-gallery { grid-template-columns: 1.55fr 1fr; height: 430px; }
  .gyg-offer__layout { grid-template-columns: 1fr; gap: 26px; }
  .gyg-book-card { position: static; order: -1; }
  .gyg-related__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
  .gyg-related-card { flex: 0 0 min(310px, 82vw); scroll-snap-align: start; }
}

@media (max-width: 700px) {
  .gyg-offer { padding-top: 108px; }
  .gyg-offer__header { align-items: flex-start; flex-direction: column; gap: 12px; }
  .gyg-offer__header h1 { font-size: 2rem; }
  .gyg-offer__actions { align-self: stretch; justify-content: flex-end; }
  .gyg-gallery { display: block; height: auto; border-radius: 13px; }
  .gyg-gallery__main { aspect-ratio: 4 / 3; }
  .gyg-gallery__thumbs { display: none; }
  .gyg-benefits { grid-template-columns: 1fr; gap: 18px; }
  .gyg-detail-row { grid-template-columns: 1fr; gap: 14px; padding: 25px 0; }
  .gyg-reviews__layout { grid-template-columns: 1fr; gap: 28px; }
  .gyg-gallery-dialog > div { grid-template-columns: 1fr; }
}

.booking-duration[hidden]{display:none}
.booking-duration__label{display:block;margin-bottom:10px;font-weight:700}
.booking-duration__options{display:flex;flex-wrap:wrap;gap:8px}
.booking-duration__choice{
  min-height:48px;
  padding:0 18px;
  border:1px solid rgba(23,57,44,.22);
  border-radius:999px;
  background:#fff;
  color:#17392c;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
}
.booking-duration__choice.is-selected{background:#17392c;color:#fff;border-color:#17392c}
.booking-duration__price{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:14px 0 0}
.booking-duration__price small{font-size:15px;color:#5d6e64}
.booking-duration__price strong{font:500 30px/1 Fraunces,Cairo,serif;color:#17392c}
.booking-pay__label {
  display: block;
  margin-bottom: 10px;
  font-weight: 700;
}
.booking-pay-options {
  display: grid;
  gap: 10px;
}
.booking-pay .booking-pay-option {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: 0;
  padding: 12px;
  border: 2px solid #d5e0d8;
  border-radius: 16px;
  background: #fff;
  color: #17321e;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
}
.booking-pay .booking-pay-option:has(input:checked) {
  border-color: #0b4d37;
  background: #e7f6ee;
  box-shadow: 0 0 0 3px rgba(11, 77, 55, .12);
}
.booking-pay .booking-pay-option:focus-within {
  outline: 2px solid #0b4d37;
  outline-offset: 2px;
}
.booking-pay .booking-pay-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
}
.booking-pay .booking-pay-option__chip {
  display: grid;
  place-items: center;
  width: 72px;
  height: 64px;
  border-radius: 14px;
  background: #f3f6f4;
  color: #0b4d37;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}
.booking-pay .booking-pay-option:has(input:checked) .booking-pay-option__chip {
  background: #0b4d37;
  color: #fff;
}
.booking-pay .booking-pay-option strong {
  display: block;
  color: #10281c;
  font-size: 1.05rem;
  letter-spacing: 0;
  text-transform: none;
}
.booking-pay .booking-pay-option small,
.booking-pay__hint {
  display: block;
  margin-top: 4px;
  color: #4d6558;
  font-size: .86rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
  opacity: 1;
  text-transform: none;
}
[data-theme="dark"] .booking-pay .booking-pay-option {
  background: rgba(255, 255, 255, .04);
  border-color: rgba(255, 255, 255, .18);
  color: #f3f1ea;
}
[data-theme="dark"] .booking-pay .booking-pay-option strong { color: #f3f1ea; }
[data-theme="dark"] .booking-pay .booking-pay-option small,
[data-theme="dark"] .booking-pay__hint { color: #c9d5cc; }
[data-theme="dark"] .booking-pay .booking-pay-option__chip {
  background: rgba(255, 255, 255, .08);
  color: #b7e7c8;
}
[data-theme="dark"] .booking-pay .booking-pay-option:has(input:checked) {
  background: rgba(46, 139, 74, .2);
  border-color: #70d28a;
}
[data-theme="dark"] .booking-pay .booking-pay-option:has(input:checked) .booking-pay-option__chip {
  background: #70d28a;
  color: #10281c;
}
/* payment choice cards */
.booking-whatsapp-note {
  margin: 0 0 14px;
  color: #10281f;
  line-height: 1.5;
}
[data-theme="dark"] .booking-whatsapp-note { color: #f3f1ea; }


/* Source: css/solo-eg.css */
/* ================================================================
   SOLO SPA — Editorial redesign
   Keeps the original brand palette and application behaviour while
   giving the public website an independent visual system.
   ================================================================ */

:root {
  --radius: 10px;
  --radius-lg: 18px;
  --eg-ink: #07150b;
  --eg-green: #2e8b4a;
  --eg-green-deep: #123e22;
  --eg-mint: #b9dfc4;
  --eg-paper: #f3f0e8;
  --eg-line: rgba(201, 165, 93, 0.24);
  --eg-display: var(--font-serif);
}

[data-theme="dark"] {
  --bg-body: #07150b;
  --bg-section: #0b1d10;
  --bg-section2: #102817;
  --bg-card: #0e2214;
  --cream: #f5f2e9;
  --cream-2: #d8e8dc;
  --text-light: #9ab2a0;
  --nav-bg: rgba(7, 21, 11, 0.93);
  --border: rgba(201, 165, 93, 0.2);
  --shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
  --shadow-sm: 0 12px 34px rgba(0, 0, 0, 0.22);
}

[data-theme="light"] {
  --bg-body: #f3f0e8;
  --bg-section: #e9eee5;
  --bg-section2: #dfe9df;
  --bg-card: #fbfaf6;
  --cream: #102817;
  --cream-2: #244d30;
  --text-light: #5e7764;
  --nav-bg: rgba(243, 240, 232, 0.94);
  --border: rgba(167, 125, 53, 0.2);
  --shadow: 0 28px 70px rgba(29, 71, 39, 0.13);
  --shadow-sm: 0 12px 30px rgba(29, 71, 39, 0.09);
}

body.solo-eg-theme {
  background:
    radial-gradient(circle at 12% 8%, rgba(201, 165, 93, 0.09), transparent 28rem),
    var(--bg-body);
}

.solo-eg-theme .container {
  width: min(100% - 48px, 1340px);
  max-width: none;
  padding: 0;
}

.solo-eg-theme .section {
  padding: clamp(44px, 4.5vw, 68px) 0;
}

.solo-eg-theme .section__header {
  margin-bottom: clamp(28px, 3vw, 40px);
}

.solo-eg-theme .section__label,
.solo-eg-theme .page-hero__label {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.2em;
}

.solo-eg-theme .section__label::before,
.solo-eg-theme .page-hero__label::before {
  content: "";
  width: 34px;
  height: 2px;
  background: currentColor;
}

.solo-eg-theme .section__title {
  font-size: clamp(2.6rem, 5.2vw, 5.4rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
}

html[lang="ar"] .solo-eg-theme .section__title {
  letter-spacing: 0;
  line-height: 1.3;
}

.solo-eg-theme .btn {
  min-height: 52px;
  padding: 14px 28px;
  border-radius: 4px;
  letter-spacing: 0.09em;
}

.solo-eg-theme .btn--primary {
  box-shadow: 7px 7px 0 rgba(201, 165, 93, 0.18);
}

.solo-eg-theme .btn--primary:hover {
  transform: translate(-3px, -3px);
  box-shadow: 10px 10px 0 rgba(201, 165, 93, 0.24);
}

/* Floating editorial navigation */
.solo-eg-theme .nav {
  top: 16px;
  left: 3vw;
  right: 3vw;
  width: auto;
  min-height: 78px;
  padding: 8px 12px 8px 18px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 12px;
  background: rgba(6, 24, 11, 0.82);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.16);
  backdrop-filter: blur(22px) saturate(1.15);
  -webkit-backdrop-filter: blur(22px) saturate(1.15);
}

html[dir="rtl"] .solo-eg-theme .nav {
  padding: 8px 18px 8px 12px;
}

.solo-eg-theme .nav.scrolled {
  top: 8px;
  padding: 6px 12px 6px 18px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--nav-bg);
}

.solo-eg-theme .nav__logo-mark,
.solo-eg-theme .nav__logo-img {
  width: 66px;
  height: 66px;
}

.solo-eg-theme .nav__links {
  gap: clamp(10px, 1.35vw, 24px);
  padding: 0 12px;
}

.solo-eg-theme .nav__link {
  font-size: 0.7rem;
  letter-spacing: 0.08em;
}

.solo-eg-theme .nav__link::after {
  bottom: -9px;
  height: 3px;
}

.solo-eg-theme .nav__cta {
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 6px;
  color: #f5f2e9;
}

.solo-eg-theme .theme-toggle__track {
  border-radius: 5px;
}

/* Asymmetric split hero */
.solo-eg-theme .hero {
  min-height: max(760px, 100svh);
  justify-content: flex-start;
  background:
    linear-gradient(120deg, rgba(201, 165, 93, 0.08), transparent 42%),
    var(--bg-body);
  padding: 150px 6vw 94px;
}

.solo-eg-theme .hero::before {
  content: "SOLO";
  position: absolute;
  left: 4vw;
  bottom: -0.18em;
  z-index: 0;
  font-family: var(--eg-display);
  font-size: clamp(8rem, 20vw, 20rem);
  font-weight: 600;
  line-height: 0.72;
  letter-spacing: -0.08em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(201, 165, 93, 0.16);
  pointer-events: none;
}

html[dir="rtl"] .solo-eg-theme .hero::before {
  left: auto;
  right: 4vw;
}

.solo-eg-theme .hero__bg {
  inset: 118px 4vw 46px auto;
  width: 50%;
  border-radius: 16px 16px 110px 16px;
  box-shadow: var(--shadow);
}

html[dir="rtl"] .solo-eg-theme .hero__bg {
  right: auto;
  left: 4vw;
  border-radius: 16px 16px 16px 110px;
}

.solo-eg-theme .hero__bg picture,
.solo-eg-theme .hero__bg-img {
  border-radius: inherit;
}

.solo-eg-theme .hero__gradient {
  background:
    linear-gradient(180deg, rgba(3, 18, 7, 0.06), rgba(3, 18, 7, 0.43)),
    linear-gradient(90deg, rgba(3, 18, 7, 0.28), transparent 42%);
}

.solo-eg-theme .hero__content {
  width: 44%;
  max-width: 680px;
  padding: 0;
  text-align: start;
}

.solo-eg-theme .hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 30px;
  letter-spacing: 0.22em;
  color: var(--gold-light);
}

.solo-eg-theme .hero__eyebrow::before {
  content: "";
  width: 42px;
  height: 2px;
  background: var(--gold);
}

.solo-eg-theme .hero__title {
  max-width: 650px;
  font-size: clamp(3.4rem, 6vw, 6.5rem);
  line-height: 0.88;
  letter-spacing: -0.055em;
  color: var(--green-light);
  overflow: visible;
}

.solo-eg-theme .hero .hero__title .reveal-line {
  color: var(--green-light);
  text-shadow: 0 3px 26px rgba(0, 0, 0, 0.16);
}

.solo-eg-theme .hero .hero__title .reveal-line.italic {
  color: var(--gold-light);
}

html[lang="ar"] .solo-eg-theme .hero__title {
  font-size: clamp(3rem, 5.3vw, 5.7rem);
  line-height: 1.22;
  letter-spacing: 0;
}

.solo-eg-theme .hero__title .italic {
  margin-inline-start: clamp(20px, 5vw, 78px);
}

.solo-eg-theme .hero__subtitle {
  margin: 0 0 34px;
  max-width: 520px;
  color: var(--cream-2);
}

[data-theme="light"] .solo-eg-theme .hero__eyebrow {
  color: var(--gold-dark);
}

[data-theme="light"] .solo-eg-theme .hero .hero__title .reveal-line {
  color: var(--green-dark);
  text-shadow: 0 3px 24px rgba(26, 92, 48, 0.12);
}

[data-theme="light"] .solo-eg-theme .hero .hero__title .reveal-line.italic {
  color: var(--gold-dark);
}

[data-theme="light"] .solo-eg-theme .hero__subtitle {
  color: #244d30;
}

.solo-eg-theme .hero__actions {
  justify-content: flex-start;
}

.solo-eg-theme .hero__scroll-indicator {
  left: 6vw;
  transform: none;
  align-items: flex-start;
}

html[dir="rtl"] .solo-eg-theme .hero__scroll-indicator {
  left: auto;
  right: 6vw;
}

.solo-eg-theme .hero__card {
  border-radius: 8px;
  background: rgba(7, 21, 11, 0.86);
  border: 1px solid rgba(227, 199, 125, 0.25);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
}

.solo-eg-theme .hero__card strong {
  color: #f5f2e9;
}

.solo-eg-theme .hero__card small {
  color: #ddd1ad;
}

.solo-eg-theme .hero__card--1 {
  left: auto;
  right: 40%;
  bottom: 11%;
}

.solo-eg-theme .hero__card--2 {
  right: 1%;
  top: 27%;
}

html[dir="rtl"] .solo-eg-theme .hero__card--1 {
  right: auto;
  left: 40%;
}

html[dir="rtl"] .solo-eg-theme .hero__card--2 {
  right: auto;
  left: 1%;
}

.solo-eg-theme .marquee-wrap {
  padding: 0;
  background: var(--eg-green);
  border: 0;
  transform: rotate(-1deg) scale(1.02);
  position: relative;
  z-index: 9;
}

.solo-eg-theme .marquee-track {
  padding: 18px 0;
  color: rgba(255, 255, 255, 0.88);
  font-family: var(--font-sans);
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.solo-eg-theme .marquee-track .sep {
  color: var(--gold-light);
}

/* Story section */
.solo-eg-theme .about {
  background:
    radial-gradient(circle at 5% 2%, rgba(201, 165, 93, 0.18), transparent 30rem),
    linear-gradient(110deg, #f7f1e3 0%, #fff 55%, #f4faf5 100%);
  color: #183e28;
}

/* This section intentionally stays light in both themes, so its copy must not
   inherit the light foreground tokens used by dark cards. */
.solo-eg-theme .about .section__label {
  color: #237c40;
}

.solo-eg-theme .about .section__title {
  color: #174c2a;
}

.solo-eg-theme .about .section__title em {
  color: #2e8b4a;
}

.solo-eg-theme .about .about__body {
  color: #4b6755;
}

.solo-eg-theme .about .about__stat-num {
  color: #1d7438;
}

.solo-eg-theme .about .about__stat-label {
  color: #466b52;
}

.solo-eg-theme .about-story {
  width: min(100% - 64px, 1500px);
}

.solo-eg-theme .about-story__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(56px, 7vw, 118px);
  align-items: stretch;
}

.solo-eg-theme .about-story__media {
  position: relative;
  isolation: isolate;
  min-height: 780px;
  overflow: hidden;
  border-radius: 34px;
  box-shadow: 0 26px 60px rgba(63, 73, 39, 0.14);
}

.solo-eg-theme .about-story__slides {
  position: absolute;
  inset: 0;
}

.solo-eg-theme .about-story__slide {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.035);
  transition: opacity 0.75s ease, visibility 0.75s ease, transform 1.1s ease;
}

.solo-eg-theme .about-story__slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.solo-eg-theme .about-story__media img {
  width: 100%;
  height: 100%;
  min-height: 780px;
  object-fit: cover;
  object-position: center;
  transition: transform 0.8s ease;
}

.solo-eg-theme .about-story__media:hover img {
  transform: scale(1.025);
}

.solo-eg-theme .about-story__slider-arrow {
  position: absolute;
  z-index: 4;
  top: 50%;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(241, 203, 127, 0.55);
  border-radius: 50%;
  color: #f1cb7f;
  background: rgba(7, 21, 11, 0.68);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
  font-size: 2rem;
  line-height: 1;
  transform: translateY(-50%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease;
}

.solo-eg-theme .about-story__slider-arrow:hover {
  color: #07150b;
  background: var(--gold);
  transform: translateY(-50%) scale(1.06);
}

.solo-eg-theme .about-story__slider-arrow--prev {
  left: 22px;
}

.solo-eg-theme .about-story__slider-arrow--next {
  right: 22px;
}

html[dir="rtl"] .solo-eg-theme .about-story__slider-arrow--prev {
  left: auto;
  right: 22px;
}

html[dir="rtl"] .solo-eg-theme .about-story__slider-arrow--next {
  right: auto;
  left: 22px;
}

.solo-eg-theme .about-story__slider-dots {
  position: absolute;
  z-index: 4;
  left: 50%;
  bottom: 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(7, 21, 11, 0.58);
  transform: translateX(-50%);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.solo-eg-theme .about-story__slider-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  transition: width 0.3s ease, border-radius 0.3s ease, background 0.3s ease;
}

.solo-eg-theme .about-story__slider-dot.is-active {
  width: 28px;
  border-radius: 999px;
  background: var(--gold-light);
}

.solo-eg-theme .about-story__badge {
  position: absolute;
  z-index: 3;
  top: 34px;
  inset-inline-end: 34px;
  width: clamp(160px, 13vw, 220px);
  aspect-ratio: 1;
  padding: 22px;
  border: 2px solid rgba(29, 116, 56, 0.34);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #1d7438;
  text-align: center;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 50px rgba(16, 45, 32, 0.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.solo-eg-theme .about-story__badge-num {
  font-family: var(--font-serif);
  font-size: clamp(2.6rem, 4vw, 4.2rem);
  line-height: 0.85;
}

.solo-eg-theme .about-story__badge-label {
  max-width: 160px;
  font-size: clamp(0.8rem, 1.1vw, 1.05rem);
  font-weight: 600;
  line-height: 1.3;
}

.solo-eg-theme .about-story__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 8px 0 18px;
}

.solo-eg-theme .about-story__eyebrow {
  margin: 0 0 28px;
  color: #a77d35;
  font-size: clamp(0.78rem, 1.15vw, 1rem);
  font-weight: 600;
  letter-spacing: 0.13em;
  line-height: 1.5;
  text-transform: uppercase;
}

.solo-eg-theme .about-story__title {
  margin: 0;
  color: #1d7438;
  font-family: var(--font-serif);
  font-size: clamp(3.15rem, 5vw, 5.6rem);
  font-weight: 600;
  line-height: 0.95;
  letter-spacing: -0.045em;
}

html[lang="ar"] .solo-eg-theme .about-story__title {
  font-family: var(--font-sans);
  font-size: clamp(2.65rem, 4.5vw, 4.7rem);
  line-height: 1.3;
  letter-spacing: 0;
}

.solo-eg-theme .about-story__title em {
  color: inherit;
  font-style: normal;
}

.solo-eg-theme .about-story__ornament {
  position: relative;
  width: 280px;
  height: 74px;
  margin: 26px 0 22px;
}

.solo-eg-theme .about-story__ornament::before {
  content: "";
  position: absolute;
  top: 13px;
  left: 0;
  width: 42px;
  height: 42px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 15px 34px rgba(33, 86, 48, 0.1);
}

.solo-eg-theme .about-story__ornament span {
  position: absolute;
  top: 32px;
  left: 55px;
  width: 205px;
  height: 3px;
  background: linear-gradient(90deg, #1d7438, #c9a55d);
}

html[dir="rtl"] .solo-eg-theme .about-story__ornament::before {
  left: auto;
  right: 0;
}

html[dir="rtl"] .solo-eg-theme .about-story__ornament span {
  left: auto;
  right: 55px;
}

.solo-eg-theme .about-story__body {
  max-width: 790px;
  margin: 0;
  color: #4c6656;
  font-size: clamp(1rem, 1.35vw, 1.22rem);
  line-height: 2;
}

.solo-eg-theme .about-story__locations {
  width: 100%;
  margin-top: auto;
  padding-top: clamp(44px, 5vw, 76px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 48px);
  align-items: end;
}

.solo-eg-theme .home-story-locations {
  margin-top: 38px;
}

.solo-eg-theme .home-story-locations__title {
  margin: 0;
  color: #123c25;
  font-family: var(--font-serif);
  font-size: clamp(1.7rem, 2.4vw, 2.35rem);
  font-weight: 600;
  line-height: 1.2;
}

[data-theme="dark"] .solo-eg-theme .home-story-locations__title {
  color: #f4f1e8;
}

.solo-eg-theme .home-story-locations .about-story__locations {
  margin-top: 0;
  padding-top: 26px;
  gap: 20px;
}

.solo-eg-theme .home-story-locations .about-location {
  min-height: 215px;
  padding: 30px 22px 28px;
  border-radius: 22px;
}

.solo-eg-theme .home-story-locations .about-location--dark {
  --about-float-base: 18px;
  min-height: 205px;
}

.solo-eg-theme .home-story-locations .about-location__icon {
  width: 54px;
  height: 54px;
  margin-bottom: 14px;
}

.solo-eg-theme .home-story-locations .about-location strong {
  font-size: clamp(1.22rem, 1.65vw, 1.65rem);
}

.solo-eg-theme .home-story-locations + .btn {
  margin-top: 44px;
}

.solo-eg-theme .home-story-stats-section {
  position: relative;
  padding: clamp(44px, 5vw, 72px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 30%, rgba(201, 165, 93, 0.16), transparent 24rem),
    #e3f1e8;
  border-top: 1px solid rgba(29, 116, 56, 0.12);
  border-bottom: 1px solid rgba(29, 116, 56, 0.12);
}

.solo-eg-theme .home-story-stats-section .about__stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 4vw, 64px);
  margin: 0;
}

.solo-eg-theme .home-story-stats-section .about__stat {
  min-width: 0;
  padding: 8px 0 8px clamp(16px, 2vw, 28px);
  border-left: 3px solid #1d7438;
}

html[dir="rtl"] .solo-eg-theme .home-story-stats-section .about__stat {
  padding-right: clamp(16px, 2vw, 28px);
  padding-left: 0;
  border-right: 3px solid #1d7438;
  border-left: 0;
}

.solo-eg-theme .home-story-stats-section .about__stat-num {
  color: #1d7438;
  font-size: clamp(2.4rem, 4vw, 4.3rem);
}

.solo-eg-theme .home-story-stats-section .about__stat-label {
  margin-top: 12px;
  color: #3f674c;
  font-size: clamp(0.72rem, 1vw, 0.95rem);
  letter-spacing: 0.11em;
}

.solo-eg-theme .about-story__stats {
  margin-top: clamp(52px, 6vw, 88px);
  padding: clamp(34px, 4vw, 54px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 5vw, 72px);
  color: #0d2618;
  background: #e3f1e8;
}

.solo-eg-theme .about-story__stat {
  min-width: 0;
  padding-inline-start: clamp(20px, 2.6vw, 38px);
  border-inline-start: 4px solid #1d7438;
}

.solo-eg-theme .about-story__stat-num {
  display: block;
  font-family: var(--font-serif);
  font-size: clamp(3rem, 5vw, 5.2rem);
  line-height: 0.9;
  letter-spacing: -0.035em;
}

.solo-eg-theme .about-story__stat-label {
  display: block;
  margin-top: 16px;
  color: #326b45;
  font-size: clamp(0.78rem, 1.15vw, 1.05rem);
  font-weight: 600;
  letter-spacing: 0.11em;
  line-height: 1.35;
  text-transform: uppercase;
}

.solo-eg-theme .about-location {
  --about-icon-cutout: #fff;
  --about-float-base: 0px;
  position: relative;
  isolation: isolate;
  min-height: 300px;
  padding: 44px 30px 38px;
  overflow: hidden;
  border-radius: 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  will-change: transform;
  animation: aboutLocationFloat 5.2s ease-in-out infinite;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.solo-eg-theme .about-location::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -55%;
  bottom: -55%;
  left: -58%;
  width: 34%;
  pointer-events: none;
  opacity: 0;
  transform: rotate(22deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.34), transparent);
  animation: aboutLocationShine 6.4s ease-in-out infinite;
}

.solo-eg-theme .about-location:hover {
  animation-play-state: paused;
}

.solo-eg-theme .about-location--light {
  color: #0c1d13;
  background: rgba(255, 253, 247, 0.94);
  border: 1px solid rgba(203, 164, 94, 0.28);
  box-shadow: 0 24px 65px rgba(33, 86, 48, 0.1);
}

.solo-eg-theme .about-location--dark {
  --about-icon-cutout: #102d20;
  --about-float-base: 34px;
  min-height: 278px;
  color: #efc77d;
  background: #102d20;
  border: 1px solid rgba(239, 199, 125, 0.35);
  box-shadow: 0 26px 60px rgba(16, 45, 32, 0.2);
  animation-delay: -2.6s;
}

.solo-eg-theme .about-location--dark:hover {
  animation-play-state: paused;
}

.solo-eg-theme .about-location__pattern {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: -105px;
  width: 270px;
  height: 270px;
  transform: translateX(-50%);
  opacity: 0.1;
  border: 2px solid #efc77d;
  border-radius: 50%;
  background:
    repeating-radial-gradient(circle, transparent 0 13px, #efc77d 14px 15px, transparent 16px 26px),
    repeating-conic-gradient(from 22.5deg, transparent 0 12deg, #efc77d 13deg 14deg, transparent 15deg 30deg);
  animation: aboutLocationPattern 22s linear infinite;
}

.solo-eg-theme .about-location__icon {
  position: relative;
  z-index: 1;
  width: 66px;
  height: 66px;
  margin-bottom: 20px;
  color: currentColor;
  transform-origin: 50% 80%;
  animation: aboutLocationPin 3.2s ease-in-out infinite;
}

.solo-eg-theme .about-location__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.solo-eg-theme .about-location strong {
  position: relative;
  z-index: 1;
  margin-bottom: 12px;
  color: currentColor;
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 600;
  line-height: 1.25;
}

.solo-eg-theme .about-location > span:last-child {
  position: relative;
  z-index: 1;
  color: #426050;
  font-size: clamp(0.9rem, 1.25vw, 1.1rem);
  line-height: 1.7;
}

.solo-eg-theme .about-location--dark > span:last-child {
  color: rgba(255, 255, 255, 0.78);
}

.solo-eg-theme .about-location--dark .about-location__icon {
  animation-delay: -1.6s;
}

@keyframes aboutLocationFloat {
  0%, 100% {
    transform: translate3d(0, var(--about-float-base), 0) rotate(-0.12deg);
  }
  50% {
    transform: translate3d(0, calc(var(--about-float-base) - 13px), 0) rotate(0.12deg);
  }
}

@keyframes aboutLocationPin {
  0%, 100% {
    transform: translateY(0) scale(1);
    filter: drop-shadow(0 8px 9px rgba(17, 55, 31, 0.08));
  }
  48% {
    transform: translateY(-8px) scale(1.035);
    filter: drop-shadow(0 14px 12px rgba(17, 55, 31, 0.16));
  }
  58% {
    transform: translateY(-6px) scale(1.02);
  }
}

@keyframes aboutLocationShine {
  0%, 18% {
    left: -58%;
    opacity: 0;
  }
  28% {
    opacity: 0.55;
  }
  48%, 100% {
    left: 126%;
    opacity: 0;
  }
}

@keyframes aboutLocationPattern {
  from {
    transform: translateX(-50%) rotate(0deg);
  }
  to {
    transform: translateX(-50%) rotate(360deg);
  }
}

/* Services: two-column editorial cards */
.solo-eg-theme .services {
  background:
    radial-gradient(circle at 92% 4%, rgba(201, 165, 93, 0.13), transparent 26rem),
    var(--bg-body);
}

.solo-eg-theme .services__bg-shape {
  top: 70px;
  right: 3vw;
  width: 160px;
  height: 160px;
  border: 1px solid var(--border);
  border-radius: 50%;
  background: transparent;
}

.solo-eg-theme .services__bg-shape::before,
.solo-eg-theme .services__bg-shape::after {
  content: "";
  position: absolute;
  inset: 22px;
  border: 1px solid var(--border);
  border-radius: inherit;
}

.solo-eg-theme .services__bg-shape::after {
  inset: 48px;
}

.solo-eg-theme .services__tabs {
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 58px;
  padding: 6px;
  gap: 4px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--bg-card);
}

.solo-eg-theme .tab-btn {
  padding: 11px 22px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--text-light);
  box-shadow: none;
}

.solo-eg-theme .tab-btn.active {
  background: linear-gradient(135deg, var(--eg-green-deep), var(--eg-green));
  color: var(--gold-light);
  box-shadow: none;
}

.solo-eg-theme .services-slider__track {
  gap: 24px;
}

.solo-eg-theme .service-card {
  flex: 0 0 calc(50% - 12px);
  min-width: 460px;
  max-width: none;
  display: grid;
  grid-template-columns: minmax(170px, 42%) minmax(0, 58%);
  min-height: 322px;
  border-radius: 8px;
  box-shadow: var(--shadow-sm);
}

.solo-eg-theme .services--show-all .services-slider__track {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.solo-eg-theme .service-card--link:hover {
  transform: translateY(-5px);
  box-shadow: 10px 12px 0 rgba(201, 165, 93, 0.18);
}

.solo-eg-theme .service-card__img {
  height: 100%;
  min-height: 322px;
}

.solo-eg-theme .service-card__body {
  padding: clamp(24px, 3vw, 38px);
  display: flex;
  flex-direction: column;
}

.solo-eg-theme .service-card__tag {
  order: -1;
}

.solo-eg-theme .service-card__title {
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.05;
}

html[lang="ar"] .solo-eg-theme .service-card__title {
  line-height: 1.45;
}

.solo-eg-theme .service-card__footer {
  margin-top: auto;
}

.solo-eg-theme .services-slider__arrow {
  width: 52px;
  height: 64px;
  border-radius: 4px;
}

/* Home highlights */
.solo-eg-theme .solo-highlights {
  position: relative;
  isolation: isolate;
  width: calc(100% - 36px);
  min-height: 700px;
  margin: 18px;
  padding: clamp(96px, 9vw, 146px) clamp(34px, 6vw, 110px);
  overflow: hidden;
  border-radius: 38px 38px 0 0;
  background:
    radial-gradient(circle at 88% 72%, rgba(137, 151, 73, 0.42), transparent 31%),
    radial-gradient(circle at 9% 8%, rgba(201, 165, 93, 0.18), transparent 28%),
    linear-gradient(115deg, #182318 0%, #0c2a1f 52%, #135b31 100%);
  box-shadow: inset 0 0 0 1px rgba(234, 198, 128, 0.1);
}

.solo-eg-theme .solo-highlights::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 26px;
  border: 1px solid rgba(234, 198, 128, 0.2);
  border-bottom: 0;
  border-radius: 32px 32px 0 0;
  pointer-events: none;
}

.solo-eg-theme .solo-highlights::after {
  content: "";
  position: absolute;
  z-index: -2;
  width: 560px;
  height: 560px;
  right: -160px;
  bottom: -270px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 165, 93, 0.22), transparent 67%);
  filter: blur(8px);
  pointer-events: none;
}

html[dir="rtl"] .solo-eg-theme .solo-highlights::after {
  right: auto;
  left: -160px;
}

.solo-eg-theme .solo-highlights__sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.solo-eg-theme .solo-highlights__grid {
  width: min(100%, 1560px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(22px, 2.2vw, 38px);
}

.solo-eg-theme .solo-highlight-card {
  min-height: 220px;
  padding: 28px 24px 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #f8f1e5;
  text-align: center;
  border: 1px solid rgba(238, 226, 202, 0.2);
  border-radius: 24px;
  background: rgba(238, 236, 217, 0.105);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.13);
  backdrop-filter: blur(11px);
  -webkit-backdrop-filter: blur(11px);
  transition: transform 0.35s ease, border-color 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
}

.solo-eg-theme .solo-highlight-card:hover {
  transform: translateY(-8px);
  color: #fff;
  border-color: rgba(239, 201, 128, 0.52);
  background: rgba(238, 236, 217, 0.17);
  box-shadow: 0 26px 55px rgba(0, 0, 0, 0.2);
}

.solo-eg-theme .solo-highlight-card__icon {
  position: relative;
  isolation: isolate;
  width: 78px;
  height: 78px;
  margin-bottom: 27px;
  display: grid;
  place-items: center;
  color: #edc981;
  border: 1px solid rgba(237, 201, 129, 0.34);
  border-radius: 50%;
  background: rgba(230, 190, 112, 0.14);
  box-shadow: 0 13px 30px rgba(0, 0, 0, 0.18);
  animation: soloHighlightIconFloat 3.8s ease-in-out infinite;
  transition: background 0.35s ease, box-shadow 0.35s ease;
}

.solo-eg-theme .solo-highlight-card__icon::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -8px;
  border: 1px solid rgba(237, 201, 129, 0.36);
  border-radius: inherit;
  opacity: 0;
  animation: soloHighlightIconPulse 3.8s ease-out infinite;
}

.solo-eg-theme .solo-highlight-card:nth-child(2n) .solo-highlight-card__icon,
.solo-eg-theme .solo-highlight-card:nth-child(2n) .solo-highlight-card__icon::after {
  animation-delay: -0.9s;
}

.solo-eg-theme .solo-highlight-card:nth-child(3n) .solo-highlight-card__icon,
.solo-eg-theme .solo-highlight-card:nth-child(3n) .solo-highlight-card__icon::after {
  animation-delay: -1.8s;
}

.solo-eg-theme .solo-highlight-card:nth-child(4n) .solo-highlight-card__icon,
.solo-eg-theme .solo-highlight-card:nth-child(4n) .solo-highlight-card__icon::after {
  animation-delay: -2.7s;
}

.solo-eg-theme .solo-highlight-card:hover .solo-highlight-card__icon {
  background: rgba(230, 190, 112, 0.22);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.25);
}

.solo-eg-theme .solo-highlight-card__icon svg {
  width: 43px;
  height: 43px;
  fill: none;
  stroke: currentColor;
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform-origin: center;
  animation: soloHighlightGlyphSway 4.6s ease-in-out infinite;
}

.solo-eg-theme .solo-highlight-card:nth-child(even) .solo-highlight-card__icon svg {
  animation-direction: reverse;
  animation-delay: -1.2s;
}

@keyframes soloHighlightIconFloat {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  45% {
    transform: translateY(-9px) rotate(-2deg);
  }
  60% {
    transform: translateY(-7px) rotate(2deg);
  }
}

@keyframes soloHighlightIconPulse {
  0%, 20% {
    opacity: 0;
    transform: scale(0.82);
  }
  45% {
    opacity: 0.55;
  }
  78%, 100% {
    opacity: 0;
    transform: scale(1.28);
  }
}

@keyframes soloHighlightGlyphSway {
  0%, 100% {
    transform: rotate(0deg) scale(1);
  }
  35% {
    transform: rotate(-5deg) scale(1.04);
  }
  68% {
    transform: rotate(4deg) scale(0.98);
  }
}

.solo-eg-theme .solo-highlight-card strong {
  color: inherit;
  font-size: clamp(1.08rem, 1.45vw, 1.42rem);
  font-weight: 700;
  line-height: 1.35;
}

html[lang="ar"] .solo-eg-theme .solo-highlight-card strong {
  line-height: 1.65;
}

/* Full-width promise block */
.solo-eg-theme .parallax-banner {
  width: min(94%, 1480px);
  height: min(680px, 72vw);
  min-height: 460px;
  margin: 0 auto;
  border-radius: 14px 120px 14px 14px;
}

html[dir="rtl"] .solo-eg-theme .parallax-banner {
  border-radius: 120px 14px 14px 14px;
}

.solo-eg-theme .parallax-banner__bg {
  filter: brightness(0.42) saturate(0.8);
}

.solo-eg-theme .parallax-banner__content {
  max-width: 840px;
}

.solo-eg-theme .parallax-banner__title {
  font-size: clamp(3rem, 6vw, 6.4rem);
  line-height: 0.92;
}

/* Visual Stories: balanced desktop grid, swipeable mobile reels */
.solo-eg-theme .gallery--videos {
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 14%, rgba(201, 165, 93, 0.13), transparent 25rem),
    radial-gradient(circle at 92% 86%, rgba(46, 139, 74, 0.1), transparent 28rem),
    var(--bg-section);
}

.solo-eg-theme .gallery--videos .section__header {
  margin-bottom: clamp(28px, 3vw, 40px);
}

.solo-eg-theme .gallery__videos-slider {
  padding-inline: 58px;
}

.solo-eg-theme .gallery__grid--videos {
  width: min(100%, 1100px);
  margin-inline: auto;
  padding: 8px 4px 24px;
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(18px, 2.3vw, 32px);
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.solo-eg-theme .gallery__grid--videos::-webkit-scrollbar {
  display: none;
}

.solo-eg-theme .gallery__grid--videos .gallery__video-card {
  flex: 0 0 clamp(310px, 29vw, 370px);
  width: clamp(310px, 29vw, 370px);
  max-height: none;
  aspect-ratio: 9 / 14;
  scroll-snap-align: start;
  border: 1px solid rgba(201, 165, 93, 0.28);
  border-radius: 26px;
  box-shadow: 0 22px 55px rgba(7, 21, 11, 0.16);
  transform: none;
  transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

.solo-eg-theme .gallery__video-card:nth-child(even) {
  transform: none;
}

.solo-eg-theme .gallery__video-card:hover {
  transform: translateY(-8px);
  border-color: rgba(201, 165, 93, 0.62);
  box-shadow: 0 30px 70px rgba(7, 21, 11, 0.24);
}

.solo-eg-theme .gallery__video-thumb img,
.solo-eg-theme .gallery__video {
  transition: transform 0.7s ease;
}

.solo-eg-theme .gallery__video-card:hover .gallery__video-thumb img,
.solo-eg-theme .gallery__video-card:hover .gallery__video {
  transform: scale(1.035);
}

.solo-eg-theme .gallery__video-toggle {
  background: linear-gradient(180deg, rgba(7, 21, 11, 0.06), rgba(7, 21, 11, 0.28));
}

.solo-eg-theme .gallery__video-icon {
  width: 70px;
  height: 70px;
  color: #f1cb7f;
  border-color: rgba(241, 203, 127, 0.85);
  background: rgba(7, 21, 11, 0.66);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.solo-eg-theme .gallery__video-title {
  padding: 76px 26px 24px;
  color: #fff8e9;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  background: linear-gradient(transparent, rgba(7, 21, 11, 0.9));
}

.solo-eg-theme .gallery__nav {
  display: flex !important;
  width: 48px;
  height: 48px;
  border-color: rgba(201, 165, 93, 0.72);
  background: #123e22;
  color: #f1cb7f;
  box-shadow: 0 13px 34px rgba(7, 21, 11, 0.2);
}

.solo-eg-theme .gallery__nav[hidden] {
  display: none !important;
}

.solo-eg-theme .gallery__nav:hover {
  background: var(--gold);
  color: #07150b;
}

.solo-eg-theme .testimonials {
  background:
    radial-gradient(circle at 90% 10%, rgba(201, 165, 93, 0.13), transparent 28rem),
    var(--eg-green-deep);
}

.solo-eg-theme .testimonials .section__title,
.solo-eg-theme .testimonials .section__label {
  color: #f5f2e9;
}

.solo-eg-theme .testimonial-card {
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.075);
  border-color: rgba(255, 255, 255, 0.15);
}

.solo-eg-theme .testimonial-card__text,
.solo-eg-theme .testimonial-card__author strong {
  color: #f5f2e9;
}

/* Home: keep the booking and Find Us sections visually connected. */
.solo-eg-theme .booking.section {
  padding-bottom: 0;
}

.solo-eg-theme .contact.section {
  padding-top: 40px;
}

/* Inner page hero */
.solo-eg-theme .page-hero {
  min-height: 680px;
  padding: 160px 5vw 70px;
  display: flex;
  align-items: flex-end;
  background: var(--bg-section);
  overflow: hidden;
}

.solo-eg-theme .page-hero::after {
  content: "";
  position: absolute;
  left: 5vw;
  right: 5vw;
  bottom: 34px;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
  z-index: 3;
}

.solo-eg-theme .page-hero__bg {
  inset: 112px 4vw 58px 47%;
  border-radius: 10px 10px 100px 10px;
  background-position: center;
}

html[dir="rtl"] .solo-eg-theme .page-hero__bg {
  inset: 112px 47% 58px 4vw;
  border-radius: 10px 10px 10px 100px;
}

.solo-eg-theme .page-hero__overlay {
  background: linear-gradient(90deg, var(--bg-section) 2%, rgba(7, 21, 11, 0.8) 42%, transparent 70%);
}

html[dir="rtl"] .solo-eg-theme .page-hero__overlay {
  background: linear-gradient(-90deg, var(--bg-section) 2%, rgba(7, 21, 11, 0.8) 42%, transparent 70%);
}

.solo-eg-theme .page-hero__content {
  width: min(44%, 670px);
  margin: 0;
  padding: 0;
}

.solo-eg-theme .page-hero__title {
  font-size: clamp(3.1rem, 6.2vw, 6.8rem);
  line-height: 0.9;
  letter-spacing: -0.045em;
}

html[lang="ar"] .solo-eg-theme .page-hero__title {
  line-height: 1.28;
  letter-spacing: 0;
}

.solo-eg-theme .page-hero--compact {
  min-height: 520px;
}

/* Offer/package pages */
.solo-eg-theme .offers-section {
  background:
    linear-gradient(90deg, transparent 49.95%, var(--border) 50%, transparent 50.05%),
    var(--bg-body);
}

.solo-eg-theme .offer-featured {
  border-radius: 12px 100px 12px 12px;
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

html[dir="rtl"] .solo-eg-theme .offer-featured {
  border-radius: 100px 12px 12px 12px;
}

.solo-eg-theme .offer-card,
.solo-eg-theme .blog-card,
.solo-eg-theme .contact-page__card {
  border-radius: 7px;
  box-shadow: var(--shadow-sm);
}

.solo-eg-theme .offer-card:hover,
.solo-eg-theme .blog-card:hover,
.solo-eg-theme .contact-page__card:hover {
  transform: translateY(-5px);
  box-shadow: 9px 10px 0 rgba(201, 165, 93, 0.17);
}

.solo-eg-theme .offer-card__img,
.solo-eg-theme .blog-card__img {
  border-radius: 0;
}

/* Details, forms and content */
.solo-eg-theme .service-detail__hero {
  min-height: 760px;
  align-items: center;
  padding: 150px 0 70px;
}

.solo-eg-theme .service-detail__hero-bg {
  inset: 110px 4vw 50px 44%;
  border-radius: 12px 12px 110px 12px;
}

html[dir="rtl"] .solo-eg-theme .service-detail__hero-bg {
  inset: 110px 44% 50px 4vw;
  border-radius: 12px 12px 12px 110px;
}

.solo-eg-theme .service-detail__hero-overlay {
  background: linear-gradient(90deg, var(--bg-body) 6%, rgba(7, 21, 11, 0.9) 45%, transparent 76%);
}

html[dir="rtl"] .solo-eg-theme .service-detail__hero-overlay {
  background: linear-gradient(-90deg, var(--bg-body) 6%, rgba(7, 21, 11, 0.9) 45%, transparent 76%);
}

.solo-eg-theme .service-detail__hero-content {
  padding-bottom: 0;
}

.solo-eg-theme .service-detail__hero-copy {
  position: relative;
  width: min(620px, calc(44vw - max(24px, (100vw - 1340px) / 2) - 32px));
  padding: clamp(24px, 2.4vw, 42px);
  overflow: hidden;
  border: 1px solid rgba(201, 165, 93, 0.3);
  border-inline-start: 4px solid var(--gold);
  border-radius: 6px 44px 6px 6px;
  background:
    linear-gradient(135deg, rgba(16, 45, 32, 0.88), rgba(7, 21, 11, 0.54)),
    rgba(7, 21, 11, 0.52);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

html[dir="rtl"] .solo-eg-theme .service-detail__hero-copy {
  border-radius: 44px 6px 6px 6px;
}

.solo-eg-theme .service-detail__hero-copy::after {
  content: "";
  position: absolute;
  inset-inline-end: -42px;
  bottom: -58px;
  width: 160px;
  height: 160px;
  border: 1px solid rgba(201, 165, 93, 0.2);
  border-radius: 50%;
  box-shadow:
    0 0 0 22px rgba(201, 165, 93, 0.055),
    0 0 0 48px rgba(201, 165, 93, 0.035);
  pointer-events: none;
}

.solo-eg-theme .service-detail__back {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  margin-bottom: 26px;
  padding: 9px 16px;
  border: 1px solid rgba(138, 224, 163, 0.38);
  border-radius: 999px;
  color: #aaf0bd;
  background: rgba(138, 224, 163, 0.08);
  font-weight: 600;
}

.solo-eg-theme .service-detail__back:hover {
  color: #07150b;
  border-color: var(--gold-light);
  background: var(--gold-light);
}

.solo-eg-theme .service-detail__hero .service-card__tag {
  width: fit-content;
  margin: 0 0 18px;
  padding: 7px 13px;
  border: 1px solid rgba(201, 165, 93, 0.42);
  border-radius: 4px;
  color: var(--gold-light);
  background: rgba(201, 165, 93, 0.1);
  letter-spacing: 0.18em;
}

.solo-eg-theme .service-detail__title {
  max-width: 650px;
  margin: 0;
  font-size: clamp(3rem, 4.6vw, 4.5rem);
  line-height: 0.94;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

html[lang="ar"] .solo-eg-theme .service-detail__title {
  line-height: 1.25;
  letter-spacing: 0;
}

.solo-eg-theme .service-detail__meta:not(:empty) {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.solo-eg-theme .service-detail__sidebar,
.solo-eg-theme .contact-page__form-wrap {
  border-radius: 8px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
}

.solo-eg-theme input,
.solo-eg-theme select,
.solo-eg-theme textarea {
  border-radius: 4px;
}

.solo-eg-theme .faq-item,
.solo-eg-theme .service-detail__faq {
  border-radius: 4px;
}

/* Geometric footer */
.solo-eg-theme .footer--rich {
  width: calc(100% - 32px);
  margin: 16px;
  border-radius: 12px;
  background: #07150b;
  overflow: hidden;
}

.solo-eg-theme .footer--rich::before {
  opacity: 0.5;
}

.solo-eg-theme .footer__top {
  padding-top: 96px;
}

.solo-eg-theme .footer__grid {
  grid-template-columns: 1.35fr repeat(4, minmax(130px, 0.8fr));
}

.solo-eg-theme .footer__brand {
  padding-inline-end: 42px;
  border-inline-end: 1px solid rgba(255, 255, 255, 0.12);
}

.solo-eg-theme .footer__bottom {
  margin: 36px;
  padding: 24px 0 8px;
}

.solo-eg-theme .footer__legal-link--featured {
  color: var(--gold-light);
  font-weight: 700;
}

.solo-eg-theme .footer__legal-link--featured:hover {
  color: #fff;
}

.solo-eg-theme .legal-page__section h2 {
  color: var(--gold);
}

/* RTL motion and direction refinements */
html[dir="rtl"] .solo-eg-theme .section__label::before,
html[dir="rtl"] .solo-eg-theme .page-hero__label::before,
html[dir="rtl"] .solo-eg-theme .hero__eyebrow::before {
  order: 2;
}

html[dir="rtl"] .solo-eg-theme .service-card__footer,
html[dir="rtl"] .solo-eg-theme .footer__links a {
  direction: rtl;
}

@media (max-width: 1180px) {
  .solo-eg-theme .nav__links {
    gap: 10px;
  }

  .solo-eg-theme .nav__link {
    font-size: 0.64rem;
  }

  .solo-eg-theme .nav__cta {
    display: none;
  }

  .solo-eg-theme .hero__content {
    width: 47%;
  }

  .solo-eg-theme .hero__bg {
    width: 47%;
  }

  .solo-eg-theme .service-card {
    min-width: 400px;
  }

  .solo-eg-theme .solo-highlights__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solo-eg-theme .footer__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px) {
  .solo-eg-theme .nav {
    left: 18px;
    right: 18px;
    top: 12px;
  }

  .solo-eg-theme .nav.scrolled {
    top: 7px;
  }

  .solo-eg-theme .nav__links {
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--nav-bg);
    box-shadow: var(--shadow);
  }

  .solo-eg-theme .nav__link {
    font-size: 0.82rem;
  }

  .solo-eg-theme .nav__hamburger {
    display: flex;
  }

  .solo-eg-theme .hero {
    min-height: 860px;
    align-items: flex-end;
    padding: 150px 34px 88px;
  }

  .solo-eg-theme .hero__bg {
    inset: 106px 20px 24px;
    width: auto;
    border-radius: 12px 12px 76px 12px;
  }

  html[dir="rtl"] .solo-eg-theme .hero__bg {
    inset: 106px 20px 24px;
    border-radius: 12px 12px 12px 76px;
  }

  .solo-eg-theme .hero__gradient {
    background: linear-gradient(180deg, rgba(3, 18, 7, 0.18), rgba(3, 18, 7, 0.91) 78%);
  }

  .solo-eg-theme .hero__content {
    width: 100%;
    max-width: 690px;
    color: #fff;
  }

  .solo-eg-theme .hero__title {
    color: #fff;
  }

  [data-theme="light"] .solo-eg-theme .hero .hero__title .reveal-line,
  [data-theme="dark"] .solo-eg-theme .hero .hero__title .reveal-line {
    color: var(--green-light);
    text-shadow: 0 3px 24px rgba(0, 0, 0, 0.48);
  }

  [data-theme="light"] .solo-eg-theme .hero .hero__title .reveal-line.italic,
  [data-theme="dark"] .solo-eg-theme .hero .hero__title .reveal-line.italic {
    color: var(--gold-light);
  }

  .solo-eg-theme .hero__subtitle {
    color: rgba(255, 255, 255, 0.76);
  }

  .solo-eg-theme .hero__card,
  .solo-eg-theme .hero__scroll-indicator {
    display: none;
  }

  .solo-eg-theme .about {
    background:
      radial-gradient(circle at 5% 2%, rgba(201, 165, 93, 0.18), transparent 30rem),
      linear-gradient(110deg, #f7f1e3 0%, #fff 55%, #f4faf5 100%);
  }

  .solo-eg-theme .about-story__grid {
    grid-template-columns: 1fr;
    gap: 54px;
  }

  .solo-eg-theme .about-story__media,
  .solo-eg-theme .about-story__media img {
    min-height: 660px;
    height: min(100vw, 760px);
  }

  .solo-eg-theme .about-story__content {
    padding-bottom: 34px;
  }

  .solo-eg-theme .about-story__locations {
    margin-top: 0;
    padding-top: 54px;
  }

  .solo-eg-theme .services--show-all .services-slider__track {
    grid-template-columns: 1fr;
  }

  .solo-eg-theme .solo-highlights {
    padding: 82px 42px;
  }

  .solo-eg-theme .page-hero {
    min-height: 700px;
    padding: 140px 32px 68px;
  }

  .solo-eg-theme .page-hero__bg,
  html[dir="rtl"] .solo-eg-theme .page-hero__bg {
    inset: 104px 20px 36px;
    border-radius: 12px 12px 74px 12px;
  }

  html[dir="rtl"] .solo-eg-theme .page-hero__bg {
    border-radius: 12px 12px 12px 74px;
  }

  .solo-eg-theme .page-hero__overlay,
  html[dir="rtl"] .solo-eg-theme .page-hero__overlay {
    background: linear-gradient(180deg, rgba(4, 15, 7, 0.12), rgba(4, 15, 7, 0.9) 78%);
  }

  .solo-eg-theme .page-hero__content {
    width: 100%;
    max-width: 640px;
  }

  .solo-eg-theme .service-detail__hero-bg,
  html[dir="rtl"] .solo-eg-theme .service-detail__hero-bg {
    inset: 100px 20px auto;
    height: clamp(310px, 68vw, 500px);
    border-radius: 12px 12px 74px 12px;
    background-position: center;
    animation: none;
  }

  html[dir="rtl"] .solo-eg-theme .service-detail__hero-bg {
    border-radius: 12px 12px 12px 74px;
  }

  .solo-eg-theme .service-detail__hero {
    min-height: calc(100px + clamp(310px, 68vw, 500px));
    align-items: center;
    padding: 100px 0 0;
  }

  .solo-eg-theme .service-detail__hero-overlay,
  html[dir="rtl"] .solo-eg-theme .service-detail__hero-overlay {
    display: block;
    inset: 100px 20px auto;
    height: clamp(310px, 68vw, 500px);
    border-radius: 12px 12px 74px 12px;
    background: linear-gradient(90deg, rgba(4, 15, 7, 0.68), rgba(4, 15, 7, 0.42));
  }

  html[dir="rtl"] .solo-eg-theme .service-detail__hero-overlay {
    border-radius: 12px 12px 12px 74px;
  }

  .solo-eg-theme .service-detail__hero-content {
    width: min(100% - 100px, 640px);
  }

  .solo-eg-theme .service-detail__hero-copy {
    width: 100%;
    max-width: 640px;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .solo-eg-theme .service-detail__hero-copy::after {
    display: none;
  }

  .solo-eg-theme .service-detail__back {
    min-height: 0;
    margin-bottom: 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: #8ae0a3;
    background: transparent;
    font-size: 0.78rem;
  }

  .solo-eg-theme .service-detail__back:hover {
    color: #b8f0c8;
    background: transparent;
  }

  .solo-eg-theme .service-detail__hero .service-card__tag {
    margin-bottom: 16px;
    padding: 0;
    border: 0;
    color: #8ae0a3;
    background: transparent;
  }

  .solo-eg-theme .service-detail__title {
    font-size: clamp(2.7rem, 9vw, 4.3rem);
    line-height: 1;
  }

  .solo-eg-theme .footer__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* About Us page ---------------------------------------------------------- */
.solo-eg-theme .about-page {
  overflow: hidden;
  background: var(--bg-body);
}

.solo-eg-theme .about-page .section {
  padding-block: clamp(72px, 8vw, 118px);
}

.solo-eg-theme .about-hero {
  min-height: min(760px, 78svh);
  background: #0b2516;
}

.solo-eg-theme .about-hero .page-hero__inner {
  grid-template-columns: minmax(0, 1fr) minmax(420px, 520px);
  gap: clamp(36px, 4vw, 68px);
}

.solo-eg-theme .about-hero .page-hero__content {
  width: 100%;
  max-width: 820px;
}

.solo-eg-theme .about-hero .page-hero__desc {
  max-width: 720px;
}

.solo-eg-theme .about-hero .page-hero__media {
  max-width: 520px;
  max-height: 520px;
  aspect-ratio: 1 / 1;
  border-radius: 34px 8px 34px 8px;
}

.solo-eg-theme .about-hero .page-hero__media img {
  object-position: center 35%;
}

.solo-eg-theme .about-intro {
  background:
    radial-gradient(circle at 6% 10%, rgba(201, 165, 93, 0.17), transparent 27rem),
    linear-gradient(120deg, #f6f1e6 0%, #fff 52%, #f0f7f2 100%);
}

.solo-eg-theme .about-intro__grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(48px, 7vw, 105px);
  align-items: center;
}

.solo-eg-theme .about-intro__media {
  position: relative;
  margin: 0;
  min-height: 620px;
  overflow: visible;
}

.solo-eg-theme .about-intro__media > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
  object-position: center;
  border-radius: 30px 8px 30px 8px;
  box-shadow: 0 30px 70px rgba(20, 65, 37, 0.18);
}

.solo-eg-theme .about-intro__seal {
  position: absolute;
  right: -36px;
  bottom: 46px;
  width: 132px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 7px solid #f6f1e6;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #1d7438, #0e4f27);
  box-shadow: 0 18px 38px rgba(16, 62, 34, 0.25);
  font-family: var(--font-serif);
  font-size: 1.15rem;
  line-height: 1.05;
  text-align: center;
  letter-spacing: 0.08em;
}

html[dir="rtl"] .solo-eg-theme .about-intro__seal {
  right: auto;
  left: -36px;
}

.solo-eg-theme .about-intro__content {
  min-width: 0;
  color: #385846;
}

.solo-eg-theme .about-intro__content .section-label,
.solo-eg-theme .about-values .section-label,
.solo-eg-theme .about-why .section-label {
  margin: 0 0 16px;
  color: #1d7438;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.solo-eg-theme .about-intro__content .section-title,
.solo-eg-theme .about-values .section-title,
.solo-eg-theme .about-why .section-title {
  margin: 0;
  color: #153b25;
  font-family: var(--font-serif);
  font-size: clamp(2.55rem, 4.4vw, 4.9rem);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.03em;
}

.solo-eg-theme .about-divider {
  width: min(280px, 72%);
  margin: 26px 0;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #bb8e40;
}

.solo-eg-theme .about-divider i {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, #1d7438, rgba(29, 116, 56, 0.12));
}

.solo-eg-theme .about-divider i:last-child {
  background: linear-gradient(90deg, rgba(29, 116, 56, 0.12), #1d7438);
}

.solo-eg-theme .about-intro__content > p:not(.section-label) {
  margin: 0;
  max-width: 760px;
  color: #4b6755;
  font-size: clamp(1rem, 1.15vw, 1.14rem);
  line-height: 1.9;
}

.solo-eg-theme .about-intro__content > h3 {
  margin: 38px 0 0;
  color: #153b25;
  font-family: var(--font-serif);
  font-size: clamp(1.7rem, 2.4vw, 2.35rem);
  font-weight: 600;
}

.solo-eg-theme .about-intro .about-story__locations {
  margin-top: 0;
  padding-top: 26px;
  gap: 20px;
}

.solo-eg-theme .about-intro .about-location {
  min-height: 215px;
  padding: 30px 22px 28px;
  border-radius: 22px;
}

.solo-eg-theme .about-intro .about-location--dark {
  --about-float-base: 18px;
  min-height: 205px;
}

.solo-eg-theme .about-intro .about-location__icon {
  width: 54px;
  height: 54px;
  margin-bottom: 14px;
}

.solo-eg-theme .about-intro .about-location strong {
  font-size: clamp(1.22rem, 1.65vw, 1.65rem);
}

.solo-eg-theme .about-values {
  color: #f5f2e9;
  background:
    radial-gradient(circle at 90% 8%, rgba(201, 165, 93, 0.14), transparent 30rem),
    #0b2516;
}

.solo-eg-theme .about-values .section-header {
  max-width: 760px;
  margin: 0 auto clamp(42px, 5vw, 68px);
  text-align: center;
}

.solo-eg-theme .about-values .section-label {
  color: #d4ab60;
}

.solo-eg-theme .about-values .section-title {
  color: #fffaf0;
}

.solo-eg-theme .about-values__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 34px);
  align-items: stretch;
}

.solo-eg-theme .about-value {
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(223, 184, 109, 0.24);
  border-radius: 26px 7px 26px 7px;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025));
  box-shadow: 0 24px 52px rgba(0, 0, 0, 0.18);
  transition: transform 0.35s ease, border-color 0.35s ease;
}

.solo-eg-theme .about-value:hover {
  transform: translateY(-8px);
  border-color: rgba(223, 184, 109, 0.58);
}

.solo-eg-theme .about-value__image {
  height: 230px;
  padding: 34px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #f8f5ed, #eaf3ec);
}

.solo-eg-theme .about-value__image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 170px;
  max-height: 170px;
  object-fit: contain;
}

.solo-eg-theme .about-value__body {
  flex: 1;
  padding: 30px 30px 34px;
}

.solo-eg-theme .about-value__body > span {
  display: block;
  margin-bottom: 13px;
  color: #d4ab60;
  font-size: 1.1rem;
}

.solo-eg-theme .about-value__body h3 {
  margin: 0 0 14px;
  color: #fffaf0;
  font-family: var(--font-serif);
  font-size: clamp(1.55rem, 2vw, 2rem);
  font-weight: 600;
}

.solo-eg-theme .about-value__body p {
  margin: 0;
  color: rgba(245, 242, 233, 0.72);
  font-size: 0.98rem;
  line-height: 1.75;
}

.solo-eg-theme .about-why {
  background:
    radial-gradient(circle at 8% 88%, rgba(201, 165, 93, 0.16), transparent 26rem),
    linear-gradient(130deg, #f7f1e5, #f4faf5);
}

.solo-eg-theme .about-why__card {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(29, 116, 56, 0.16);
  border-radius: 34px 8px 34px 8px;
  background: #fff;
  box-shadow: 0 30px 75px rgba(26, 70, 42, 0.14);
}

.solo-eg-theme .about-why .about-story__media,
.solo-eg-theme .about-why .about-story__media img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  border-radius: 0;
}

.solo-eg-theme .about-why__content {
  padding: clamp(44px, 6vw, 86px);
  align-self: center;
}

.solo-eg-theme .about-why__content > p:not(.section-label) {
  margin: 28px 0 0;
  color: #4b6755;
  font-size: clamp(1rem, 1.15vw, 1.13rem);
  line-height: 1.9;
}

.solo-eg-theme .about-why__actions {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.solo-eg-theme .about-why__actions .btn--outline {
  border-color: rgba(29, 116, 56, 0.4);
  color: #1d7438;
}

/* About page theme modes -------------------------------------------------
   This page originally mixed permanently dark and permanently light panels.
   Keep the editorial layout while making every surface follow the selector. */
[data-theme="light"] body[data-page="about"] .about-hero {
  --hero-fg: #153b25;
  --hero-fg-muted: #4b6755;
  --hero-accent: #1d7438;
  background: #edf1e8;
}

[data-theme="light"] body[data-page="about"] .about-hero .page-hero__overlay,
html[dir="rtl"][data-theme="light"] body[data-page="about"] .about-hero .page-hero__overlay {
  background: linear-gradient(90deg, rgba(237, 241, 232, 0.99) 0%, rgba(237, 241, 232, 0.94) 43%, rgba(237, 241, 232, 0.36) 76%, transparent 100%);
}

html[dir="rtl"][data-theme="light"] body[data-page="about"] .about-hero .page-hero__overlay {
  background: linear-gradient(-90deg, rgba(237, 241, 232, 0.99) 0%, rgba(237, 241, 232, 0.94) 43%, rgba(237, 241, 232, 0.36) 76%, transparent 100%);
}

[data-theme="light"] body[data-page="about"] .about-hero .page-hero__title {
  color: #153b25;
  text-shadow: none;
}

[data-theme="light"] body[data-page="about"] .about-hero .page-hero__desc {
  color: #3f5f4b;
}

[data-theme="light"] body[data-page="about"] .about-hero .page-hero__label {
  color: #76551d;
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(118, 85, 29, 0.28);
}

[data-theme="light"] body[data-page="about"] .about-hero .page-breadcrumb {
  color: #3f5f4b;
  background: rgba(255, 255, 255, 0.72);
  border-color: rgba(29, 116, 56, 0.2);
}

[data-theme="light"] body[data-page="about"] .about-hero .page-breadcrumb a {
  color: #17652f;
}

[data-theme="light"] body[data-page="about"] .about-hero .page-breadcrumb a:hover {
  color: #0f4520;
}

[data-theme="light"] body[data-page="about"] .about-hero::after {
  background: rgba(29, 116, 56, 0.2);
}

[data-theme="light"] body[data-page="about"] .about-hero .page-hero__media {
  border-color: rgba(29, 116, 56, 0.2);
  box-shadow: 0 24px 64px rgba(29, 71, 39, 0.16);
}

[data-theme="light"] body[data-page="about"] .nav:not(.scrolled) {
  border-color: rgba(167, 125, 53, 0.2);
  background: rgba(248, 246, 239, 0.9);
  box-shadow: 0 18px 50px rgba(29, 71, 39, 0.12);
}

[data-theme="light"] body[data-page="about"] .nav:not(.scrolled) .nav__link {
  color: #244d30;
}

[data-theme="light"] body[data-page="about"] .nav:not(.scrolled) .nav__link:hover,
[data-theme="light"] body[data-page="about"] .nav:not(.scrolled) .nav__link.active,
[data-theme="light"] body[data-page="about"] .nav:not(.scrolled) .nav__link--active {
  color: #1d7438;
}

[data-theme="light"] body[data-page="about"] .nav:not(.scrolled) .nav__logo-img--custom {
  filter: none;
}

[data-theme="light"] body[data-page="about"] .about-values {
  color: #385846;
  background:
    radial-gradient(circle at 90% 8%, rgba(201, 165, 93, 0.16), transparent 30rem),
    linear-gradient(135deg, #edf3eb, #f8f5ed);
}

[data-theme="light"] body[data-page="about"] .about-values .section-label {
  color: #1d7438;
}

[data-theme="light"] body[data-page="about"] .about-values .section-title,
[data-theme="light"] body[data-page="about"] .about-value__body h3 {
  color: #153b25;
}

[data-theme="light"] body[data-page="about"] .about-value {
  border-color: rgba(29, 116, 56, 0.16);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 24px 52px rgba(29, 71, 39, 0.1);
}

[data-theme="light"] body[data-page="about"] .about-value__body p {
  color: #4b6755;
}

[data-theme="light"] body[data-page="about"] .about-intro .about-location--dark {
  --about-icon-cutout: #f7faf5;
  color: #1d7438;
  background: rgba(255, 255, 255, 0.9);
  border-color: rgba(29, 116, 56, 0.2);
  box-shadow: 0 24px 65px rgba(33, 86, 48, 0.1);
}

[data-theme="light"] body[data-page="about"] .about-intro .about-location--dark > span:last-child {
  color: #426050;
}

[data-theme="dark"] body[data-page="about"] .about-intro {
  background:
    radial-gradient(circle at 6% 10%, rgba(201, 165, 93, 0.11), transparent 27rem),
    linear-gradient(120deg, #081a0e, #0b2516 52%, #102817 100%);
}

[data-theme="dark"] body[data-page="about"] .about-intro__content,
[data-theme="dark"] body[data-page="about"] .about-intro__content > p:not(.section-label),
[data-theme="dark"] body[data-page="about"] .about-why__content > p:not(.section-label) {
  color: #a9c0ae;
}

[data-theme="dark"] body[data-page="about"] .about-intro__content .section-label,
[data-theme="dark"] body[data-page="about"] .about-why .section-label {
  color: #8ae0a3;
}

[data-theme="dark"] body[data-page="about"] .about-intro__content .section-title,
[data-theme="dark"] body[data-page="about"] .about-intro__content > h3,
[data-theme="dark"] body[data-page="about"] .about-why .section-title {
  color: #fffaf0;
}

[data-theme="dark"] body[data-page="about"] .about-intro .about-location--light {
  --about-icon-cutout: #102817;
  color: #b8f0c8;
  background: #102817;
  border-color: rgba(138, 224, 163, 0.2);
  box-shadow: 0 24px 65px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] body[data-page="about"] .about-intro .about-location--light > span:last-child {
  color: #a9c0ae;
}

[data-theme="dark"] body[data-page="about"] .about-why {
  background:
    radial-gradient(circle at 8% 88%, rgba(201, 165, 93, 0.12), transparent 26rem),
    linear-gradient(130deg, #081a0e, #102817);
}

[data-theme="dark"] body[data-page="about"] .about-why__card {
  border-color: rgba(201, 165, 93, 0.2);
  background: #0e2214;
  box-shadow: 0 30px 75px rgba(0, 0, 0, 0.25);
}

[data-theme="dark"] body[data-page="about"] .about-why__actions .btn--outline {
  border-color: rgba(138, 224, 163, 0.4);
  color: #b8f0c8;
}

@media (max-width: 1050px) {
  .solo-eg-theme .about-hero .page-hero__inner {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 44%);
    gap: 32px;
  }

  .solo-eg-theme .about-intro__grid,
  .solo-eg-theme .about-why__card {
    grid-template-columns: 1fr;
  }

  .solo-eg-theme .about-intro__media {
    min-height: 0;
  }

  .solo-eg-theme .about-intro__media > img {
    height: min(76vw, 680px);
    min-height: 0;
  }

  .solo-eg-theme .about-intro__content {
    padding-top: 10px;
  }

  .solo-eg-theme .about-values__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solo-eg-theme .about-why .about-story__media,
  .solo-eg-theme .about-why .about-story__media img {
    height: min(72vw, 620px);
    min-height: 480px;
  }
}

@media (max-width: 700px) {
  .solo-eg-theme .about-page .section {
    padding-block: 64px;
  }

  .solo-eg-theme .about-hero {
    min-height: 0;
    padding-top: 118px;
  }

  .solo-eg-theme .about-hero .page-hero__media {
    aspect-ratio: 4 / 3;
    max-height: 360px;
  }

  .solo-eg-theme .about-intro__grid {
    gap: 46px;
  }

  .solo-eg-theme .about-intro__media > img {
    height: 112vw;
    max-height: 560px;
  }

  .solo-eg-theme .about-intro__seal {
    right: 14px;
    bottom: -30px;
    width: 104px;
    border-width: 5px;
    font-size: 0.92rem;
  }

  html[dir="rtl"] .solo-eg-theme .about-intro__seal {
    right: auto;
    left: 14px;
  }

  .solo-eg-theme .about-intro__content .section-title,
  .solo-eg-theme .about-values .section-title,
  .solo-eg-theme .about-why .section-title {
    font-size: clamp(2.35rem, 12vw, 3.35rem);
    line-height: 1.03;
  }

  .solo-eg-theme .about-intro .about-story__locations,
  .solo-eg-theme .about-values__grid {
    grid-template-columns: 1fr;
  }

  .solo-eg-theme .about-intro .about-location--dark {
    --about-float-base: 0px;
  }

  .solo-eg-theme .about-value__image {
    height: 190px;
  }

  .solo-eg-theme .about-why .about-story__media,
  .solo-eg-theme .about-why .about-story__media img {
    height: 112vw;
    min-height: 0;
    max-height: 540px;
  }

  .solo-eg-theme .about-why__content {
    padding: 38px 24px 42px;
  }

  .solo-eg-theme .about-why__actions {
    display: grid;
  }

  .solo-eg-theme .about-why__actions .btn {
    width: 100%;
  }
}

/* Service details: compact ecommerce-style product page. */
.solo-eg-theme .service-detail--product .service-detail__hero {
  min-height: 650px;
  padding: 118px 0 38px;
  align-items: center;
  background:
    radial-gradient(circle at 8% 22%, rgba(201, 165, 93, 0.13), transparent 25rem),
    var(--bg-body);
}

.solo-eg-theme .service-detail--product .service-detail__hero-bg {
  inset: 98px 3vw 28px 49%;
  border-radius: 28px 28px 110px 28px;
  animation: none;
  box-shadow: 0 24px 70px rgba(4, 18, 10, 0.19);
}

html[dir="rtl"] .solo-eg-theme .service-detail--product .service-detail__hero-bg {
  inset: 98px 49% 28px 3vw;
  border-radius: 28px 28px 28px 110px;
}

.solo-eg-theme .service-detail--product .service-detail__hero-overlay {
  background: linear-gradient(90deg, var(--bg-body) 7%, rgba(7, 21, 11, 0.96) 42%, rgba(7, 21, 11, 0.12) 74%);
}

html[dir="rtl"] .solo-eg-theme .service-detail--product .service-detail__hero-overlay {
  background: linear-gradient(-90deg, var(--bg-body) 7%, rgba(7, 21, 11, 0.96) 42%, rgba(7, 21, 11, 0.12) 74%);
}

.solo-eg-theme .service-detail--product .service-detail__hero-content {
  padding: 0;
}

.solo-eg-theme .service-detail--product .service-detail__hero-copy {
  width: min(47%, 610px);
  padding: clamp(28px, 3vw, 42px);
  border: 1px solid rgba(201, 165, 93, 0.25);
  border-inline-start: 4px solid var(--gold);
  border-radius: 10px 46px 10px 10px;
  background: linear-gradient(145deg, rgba(13, 48, 31, 0.97), rgba(5, 25, 14, 0.93));
  box-shadow: 0 24px 70px rgba(2, 14, 7, 0.27);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

html[dir="rtl"] .solo-eg-theme .service-detail--product .service-detail__hero-copy {
  border-radius: 46px 10px 10px 10px;
}

.solo-eg-theme .service-detail--product .service-detail__hero-copy::after { display: none; }

.solo-eg-theme .service-detail--product .service-detail__back {
  min-height: 0;
  margin-bottom: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #9beab0;
  font-size: 0.72rem;
}

.solo-eg-theme .service-detail--product .service-detail__hero .service-card__tag {
  margin-bottom: 14px;
  padding: 6px 11px;
  font-size: 0.62rem;
}

.solo-eg-theme .service-detail--product .service-detail__title {
  max-width: 540px;
  font-size: clamp(2.5rem, 4vw, 4rem);
  line-height: 0.98;
}

.solo-eg-theme .service-detail__lead {
  max-width: 520px;
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.96rem;
  line-height: 1.65;
}

.solo-eg-theme .service-detail--product .service-detail__meta {
  gap: 10px;
  margin-top: 20px;
  padding-top: 18px;
}

.solo-eg-theme .service-detail--product .service-detail__meta span {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  padding: 8px 13px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.8rem;
}

.solo-eg-theme .service-detail--product .service-detail__meta .service-detail__price {
  color: #9beab0;
  font-family: var(--font-sans);
  font-size: 0.9rem;
  font-weight: 700;
}

.solo-eg-theme .service-detail__hero-cta {
  margin-top: 22px;
  box-shadow: none;
}

.solo-eg-theme .service-detail__hero-cta span { font-size: 1.15rem; }

.solo-eg-theme .service-detail--product .service-detail__body {
  padding-top: 34px;
  background:
    radial-gradient(circle at 95% 12%, rgba(46, 139, 74, 0.08), transparent 26rem),
    var(--bg-body);
}

.solo-eg-theme .service-detail__trust-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 30px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-card);
  box-shadow: var(--shadow-sm);
}

.solo-eg-theme .service-detail__trust-strip span {
  min-height: 66px;
  padding: 15px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  color: var(--cream);
  font-size: 0.82rem;
  font-weight: 600;
  text-align: center;
}

.solo-eg-theme .service-detail__trust-strip span + span { border-inline-start: 1px solid var(--border); }

.solo-eg-theme .service-detail__trust-strip i {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  place-items: center;
  border-radius: 50%;
  background: rgba(46, 139, 74, 0.13);
  color: var(--gold);
  font-style: normal;
}

.solo-eg-theme .service-detail--product .service-detail__grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 390px);
  gap: clamp(26px, 4vw, 54px);
}

.solo-eg-theme .service-detail--product .service-detail__main {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 28px;
}

.solo-eg-theme .service-detail__overview-card,
.solo-eg-theme .service-detail__experience,
.solo-eg-theme .service-detail__highlights,
.solo-eg-theme .service-detail__faq-section {
  padding: clamp(26px, 3vw, 42px);
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg-card);
  box-shadow: var(--shadow-sm);
}

.solo-eg-theme .service-detail__eyebrow {
  margin: 0 0 9px;
  color: var(--gold);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.solo-eg-theme .service-detail--product .service-detail__main h2,
.solo-eg-theme .service-detail--product .service-detail__sidebar h2 {
  margin: 0 0 18px;
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 2.7vw, 2.65rem);
  font-weight: 500;
  line-height: 1.08;
}

.solo-eg-theme .service-detail--product .service-detail__desc {
  max-width: 760px;
  margin: 0;
  color: var(--text-light);
  font-size: 0.98rem;
  line-height: 1.78;
}

.solo-eg-theme .service-detail--product .service-detail__desc + .service-detail__desc { margin-top: 13px; }

.solo-eg-theme .service-detail__section-heading { margin-bottom: 22px; }
.solo-eg-theme .service-detail__section-heading h2 { margin-bottom: 0; }

.solo-eg-theme .service-detail__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.solo-eg-theme .service-detail__step {
  min-height: 225px;
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: var(--bg-section);
}

.solo-eg-theme .service-detail__step-number {
  display: block;
  margin-bottom: 32px;
  color: var(--gold);
  font-family: var(--font-serif);
  font-size: 1.8rem;
}

.solo-eg-theme .service-detail--product .service-detail__step h3 {
  margin: 0 0 10px;
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: 1.18rem;
  font-weight: 600;
  line-height: 1.2;
}

.solo-eg-theme .service-detail__step p {
  margin: 0;
  color: var(--text-light);
  font-size: 0.82rem;
  line-height: 1.65;
}

.solo-eg-theme .service-detail__benefit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.solo-eg-theme .service-detail__benefit-grid li {
  display: flex;
  min-height: 70px;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 8px;
  color: var(--cream);
  font-size: 0.86rem;
  line-height: 1.45;
}

.solo-eg-theme .service-detail__benefit-grid li span {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--eg-green);
  color: #fff;
}

.solo-eg-theme .service-detail--product .service-detail__faqs { margin: 0; }

.solo-eg-theme .service-detail--product .service-detail__faq {
  margin: 0;
  border: 0;
  border-top: 1px solid var(--border);
  border-radius: 0;
  background: transparent;
}

.solo-eg-theme .service-detail--product .service-detail__faq:last-child { border-bottom: 1px solid var(--border); }

.solo-eg-theme .service-detail__faq summary {
  display: flex;
  padding: 18px 0;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: var(--cream);
  font-size: 0.95rem;
  font-weight: 600;
  list-style: none;
  cursor: pointer;
}

.solo-eg-theme .service-detail__faq summary::-webkit-details-marker { display: none; }
.solo-eg-theme .service-detail__faq summary span { color: var(--gold); font-size: 1.35rem; transition: transform 0.25s ease; }
.solo-eg-theme .service-detail__faq[open] summary span { transform: rotate(45deg); }

.solo-eg-theme .service-detail--product .service-detail__faq p {
  margin: -4px 0 18px;
  color: var(--text-light);
  font-size: 0.88rem;
  line-height: 1.7;
}

.solo-eg-theme .service-detail--product .service-detail__sidebar {
  top: 104px;
  padding: 30px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg-card);
  box-shadow: var(--shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.solo-eg-theme .service-detail__sidebar-copy {
  margin: -5px 0 24px;
  color: var(--text-light);
  font-size: 0.88rem;
  line-height: 1.65;
}

.solo-eg-theme .service-detail__checkout-price {
  display: flex;
  margin-bottom: 20px;
  padding: 18px;
  align-items: flex-end;
  justify-content: space-between;
  gap: 15px;
  border-radius: 8px;
  background: var(--bg-section);
}

.solo-eg-theme .service-detail__checkout-price small {
  color: var(--text-light);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.solo-eg-theme .service-detail__checkout-price strong {
  color: var(--gold);
  font-family: var(--font-serif);
  font-size: 1.65rem;
}

.solo-eg-theme .service-detail--product .service-detail__sidebar-meta {
  margin-bottom: 22px;
  padding-top: 16px;
}

.solo-eg-theme .service-detail__included-block {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}

.solo-eg-theme .service-detail--product .service-detail__included-block h3 {
  margin: 0 0 10px;
  color: var(--cream);
  font-family: var(--font-serif);
  font-size: 1.2rem;
}

.solo-eg-theme .service-detail--product .service-detail__includes { margin-bottom: 0; }
.solo-eg-theme .service-detail--product .service-detail__includes li { padding: 10px 0; font-size: 0.82rem; }

.solo-eg-theme .service-detail__payment-note {
  display: flex;
  margin: 22px 0 0;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--text-light);
  font-size: 0.72rem;
  text-align: center;
}

.solo-eg-theme .service-detail__payment-note span { color: var(--gold); }

@media (max-width: 1050px) {
  .solo-eg-theme .service-detail--product .service-detail__grid { grid-template-columns: 1fr; }
  .solo-eg-theme .service-detail--product .service-detail__sidebar { position: static; }
}

@media (max-width: 900px) {
  .solo-eg-theme .service-detail--product .service-detail__hero {
    min-height: 0;
    padding: 92px 0 32px;
    align-items: stretch;
  }

  .solo-eg-theme .service-detail--product .service-detail__hero-bg,
  html[dir="rtl"] .solo-eg-theme .service-detail--product .service-detail__hero-bg {
    inset: 92px 16px auto;
    width: auto;
    height: clamp(300px, 58vw, 430px);
    border-radius: 18px 18px 64px 18px;
  }

  html[dir="rtl"] .solo-eg-theme .service-detail--product .service-detail__hero-bg { border-radius: 18px 18px 18px 64px; }

  .solo-eg-theme .service-detail--product .service-detail__hero-overlay,
  html[dir="rtl"] .solo-eg-theme .service-detail--product .service-detail__hero-overlay {
    display: block;
    inset: 92px 16px auto;
    width: auto;
    height: clamp(300px, 58vw, 430px);
    border-radius: 18px 18px 64px 18px;
    background: linear-gradient(180deg, rgba(4, 15, 7, 0.08), rgba(4, 15, 7, 0.7));
  }

  html[dir="rtl"] .solo-eg-theme .service-detail--product .service-detail__hero-overlay { border-radius: 18px 18px 18px 64px; }

  .solo-eg-theme .service-detail--product .service-detail__hero-content {
    width: min(100% - 48px, 680px);
    padding-top: clamp(220px, 46vw, 330px);
  }

  .solo-eg-theme .service-detail--product .service-detail__hero-copy {
    width: 100%;
    padding: 26px;
    border: 1px solid rgba(201, 165, 93, 0.28);
    border-inline-start: 4px solid var(--gold);
    border-radius: 10px 34px 10px 10px;
    background: linear-gradient(145deg, rgba(13, 48, 31, 0.98), rgba(5, 25, 14, 0.97));
    box-shadow: 0 18px 48px rgba(2, 14, 7, 0.25);
  }

  html[dir="rtl"] .solo-eg-theme .service-detail--product .service-detail__hero-copy { border-radius: 34px 10px 10px 10px; }
  .solo-eg-theme .service-detail__steps { grid-template-columns: 1fr; }
  .solo-eg-theme .service-detail__step { min-height: 0; }
  .solo-eg-theme .service-detail__step-number { margin-bottom: 14px; }
}

@media (max-width: 640px) {
  .solo-eg-theme .service-detail--product .service-detail__hero { padding-top: 84px; }

  .solo-eg-theme .service-detail--product .service-detail__hero-bg,
  html[dir="rtl"] .solo-eg-theme .service-detail--product .service-detail__hero-bg,
  .solo-eg-theme .service-detail--product .service-detail__hero-overlay,
  html[dir="rtl"] .solo-eg-theme .service-detail--product .service-detail__hero-overlay {
    inset: 84px 10px auto;
    height: 290px;
  }

  .solo-eg-theme .service-detail--product .service-detail__hero-content {
    width: min(100% - 30px, 560px);
    padding-top: 205px;
  }

  .solo-eg-theme .service-detail--product .service-detail__hero-copy { padding: 23px 20px; }
  .solo-eg-theme .service-detail--product .service-detail__title { font-size: clamp(2.1rem, 10vw, 3rem); }
  .solo-eg-theme .service-detail__lead { font-size: 0.87rem; }
  .solo-eg-theme .service-detail__hero-cta { width: 100%; }
  .solo-eg-theme .service-detail__trust-strip { grid-template-columns: 1fr; }
  .solo-eg-theme .service-detail__trust-strip span { min-height: 52px; justify-content: flex-start; }
  .solo-eg-theme .service-detail__trust-strip span + span { border-inline-start: 0; border-top: 1px solid var(--border); }
  .solo-eg-theme .service-detail__overview-card,
  .solo-eg-theme .service-detail__experience,
  .solo-eg-theme .service-detail__highlights,
  .solo-eg-theme .service-detail__faq-section,
  .solo-eg-theme .service-detail--product .service-detail__sidebar { padding: 22px 18px; }
  .solo-eg-theme .service-detail__benefit-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .solo-eg-theme .container {
    width: min(100% - 32px, 1340px);
  }

  .solo-eg-theme .section {
    padding: 44px 0;
  }

  .solo-eg-theme .service-detail__hero {
    min-height: calc(96px + clamp(300px, 82vw, 390px));
    padding: 96px 0 0;
  }

  .solo-eg-theme .service-detail__hero-bg,
  html[dir="rtl"] .solo-eg-theme .service-detail__hero-bg {
    inset: 96px 16px auto;
    height: clamp(300px, 82vw, 390px);
    border-radius: 10px 10px 52px 10px;
  }

  html[dir="rtl"] .solo-eg-theme .service-detail__hero-bg {
    border-radius: 10px 10px 10px 52px;
  }

  .solo-eg-theme .service-detail__hero-overlay,
  html[dir="rtl"] .solo-eg-theme .service-detail__hero-overlay {
    inset: 96px 16px auto;
    height: clamp(300px, 82vw, 390px);
    border-radius: 10px 10px 52px 10px;
  }

  html[dir="rtl"] .solo-eg-theme .service-detail__hero-overlay {
    border-radius: 10px 10px 10px 52px;
  }

  .solo-eg-theme .service-detail__hero-content {
    width: min(100% - 82px, 560px);
  }

  .solo-eg-theme .service-detail__hero-copy {
    padding: 0;
    border-radius: 0;
  }

  html[dir="rtl"] .solo-eg-theme .service-detail__hero-copy {
    border-radius: 0;
  }

  .solo-eg-theme .service-detail__back {
    min-height: 0;
    margin-bottom: 22px;
    padding: 0;
    font-size: 0.72rem;
  }

  .solo-eg-theme .service-detail__hero .service-card__tag {
    margin-bottom: 14px;
  }

  .solo-eg-theme .service-detail__title {
    font-size: clamp(2.35rem, 10.5vw, 3.5rem);
  }

  .solo-eg-theme .nav {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px);
    min-height: 66px;
    left: 10px !important;
    right: 10px !important;
    padding: 5px 8px 5px 12px;
  }

  .solo-eg-theme .nav__logo-mark,
  .solo-eg-theme .nav__logo-img {
    width: 56px;
    height: 56px;
  }

  .solo-eg-theme .hero {
    display: block;
    min-height: 780px;
    padding: 134px 30px 70px;
  }

  .solo-eg-theme .hero__bg,
  html[dir="rtl"] .solo-eg-theme .hero__bg {
    inset: 92px 10px 12px;
  }

  .solo-eg-theme .hero__title {
    font-size: clamp(3rem, 15vw, 4.7rem);
  }

  html[lang="ar"] .solo-eg-theme .hero__title {
    font-size: clamp(2.35rem, 11vw, 3.3rem);
    line-height: 1.3;
  }

  .solo-eg-theme .hero__content {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 70px;
    width: auto;
    max-width: none;
    padding: 0;
  }

  html[dir="rtl"] .solo-eg-theme .hero__content {
    text-align: right;
  }

  .solo-eg-theme .hero__title .italic {
    margin-inline-start: 18px;
  }

  .solo-eg-theme .hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .solo-eg-theme .hero__actions .btn {
    width: 100%;
    max-width: none;
  }

  .solo-eg-theme .about-story {
    width: min(100% - 32px, 1500px);
  }

  .solo-eg-theme .about-story__media,
  .solo-eg-theme .about-story__media img {
    min-height: 0;
    height: 118vw;
    max-height: 590px;
    border-radius: 24px;
  }

  .solo-eg-theme .about-story__badge {
    top: 18px;
    inset-inline-end: 18px;
    width: 138px;
    padding: 16px;
    gap: 7px;
  }

  .solo-eg-theme .about-story__badge-num {
    font-size: 2.65rem;
  }

  .solo-eg-theme .about-story__badge-label {
    font-size: 0.75rem;
  }

  .solo-eg-theme .about-story__slider-arrow {
    width: 42px;
    height: 42px;
    font-size: 1.65rem;
  }

  .solo-eg-theme .about-story__slider-arrow--prev {
    left: 14px;
  }

  .solo-eg-theme .about-story__slider-arrow--next {
    right: 14px;
  }

  html[dir="rtl"] .solo-eg-theme .about-story__slider-arrow--prev {
    right: 14px;
  }

  html[dir="rtl"] .solo-eg-theme .about-story__slider-arrow--next {
    left: 14px;
  }

  .solo-eg-theme .about-story__slider-dots {
    bottom: 16px;
  }

  .solo-eg-theme .about-story__title {
    font-size: clamp(2.7rem, 13vw, 4.2rem);
  }

  html[lang="ar"] .solo-eg-theme .about-story__title {
    font-size: clamp(2.35rem, 11vw, 3.6rem);
  }

  .solo-eg-theme .about-story__ornament {
    width: 230px;
    margin: 20px 0 16px;
  }

  .solo-eg-theme .about-story__ornament span {
    width: 165px;
  }

  .solo-eg-theme .about-story__body {
    font-size: 1rem;
    line-height: 1.85;
  }

  .solo-eg-theme .about-story__locations {
    grid-template-columns: 1fr;
    gap: 18px;
    padding-top: 40px;
  }

  .solo-eg-theme .home-story-locations {
    margin-top: 34px;
  }

  .solo-eg-theme .home-story-locations__title {
    font-size: clamp(1.75rem, 8vw, 2.25rem);
  }

  .solo-eg-theme .home-story-locations .about-story__locations {
    margin-top: 26px;
    padding-top: 0;
  }

  .solo-eg-theme .home-story-stats-section .about__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 26px 18px;
    text-align: start;
  }

  .solo-eg-theme .home-story-stats-section .about__stat {
    padding: 6px 0 6px 16px;
  }

  html[dir="rtl"] .solo-eg-theme .home-story-stats-section .about__stat {
    padding-right: 16px;
    padding-left: 0;
  }

  .solo-eg-theme .about-story__stats {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 42px;
    padding: 30px 24px;
  }

  .solo-eg-theme .about-story__stat {
    padding-inline-start: 22px;
  }

  .solo-eg-theme .about-story__stat-num {
    font-size: 3.5rem;
  }

  .solo-eg-theme .about-story__stat-label {
    margin-top: 10px;
  }

  .solo-eg-theme .about-location,
  .solo-eg-theme .about-location--dark {
    --about-float-base: 0px;
    min-height: 245px;
    transform: none;
    border-radius: 22px;
  }

  .solo-eg-theme .about-location--dark:hover {
    transform: translateY(-8px);
  }

  .solo-eg-theme .service-card {
    min-width: 82vw;
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .solo-eg-theme .service-card__img {
    min-height: 240px;
    height: 240px;
  }

  .solo-eg-theme .services--show-all .service-card {
    min-width: 0;
  }

  .solo-eg-theme .services__tabs {
    justify-content: flex-start;
    flex-wrap: nowrap;
    width: 100%;
    overflow-x: auto;
  }

  .solo-eg-theme .tab-btn {
    padding: 10px 14px;
  }

  .solo-eg-theme .services-slider__arrow {
    display: none;
  }

  .solo-eg-theme .solo-highlights {
    width: calc(100% - 16px);
    min-height: 0;
    margin: 8px;
    padding: 54px 18px;
    border-radius: 24px 24px 0 0;
  }

  .solo-eg-theme .solo-highlights::before {
    inset: 10px;
    border-radius: 19px 19px 0 0;
  }

  .solo-eg-theme .solo-highlights__grid {
    gap: 12px;
  }

  .solo-eg-theme .solo-highlight-card {
    min-height: 172px;
    padding: 21px 12px;
    border-radius: 17px;
  }

  .solo-eg-theme .solo-highlight-card__icon {
    width: 58px;
    height: 58px;
    margin-bottom: 18px;
  }

  .solo-eg-theme .solo-highlight-card__icon svg {
    width: 32px;
    height: 32px;
  }

  .solo-eg-theme .solo-highlight-card strong {
    font-size: 0.92rem;
  }

  .solo-eg-theme .parallax-banner {
    width: calc(100% - 20px);
    height: 620px;
    border-radius: 10px 72px 10px 10px;
  }

  html[dir="rtl"] .solo-eg-theme .parallax-banner {
    border-radius: 72px 10px 10px 10px;
  }

  .solo-eg-theme .gallery__grid--videos {
    width: calc(100vw - 36px);
    margin-inline: calc(50% - 50vw + 18px);
    padding: 8px 2px 24px;
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .solo-eg-theme .gallery__videos-slider {
    padding-inline: 0;
  }

  .solo-eg-theme .gallery__nav {
    display: none !important;
  }

  .solo-eg-theme .gallery__grid--videos::-webkit-scrollbar {
    display: none;
  }

  .solo-eg-theme .gallery__grid--videos .gallery__video-card {
    flex: 0 0 min(76vw, 310px);
    width: min(76vw, 310px);
    aspect-ratio: 9 / 14;
    scroll-snap-align: center;
    border-radius: 22px;
  }

  .solo-eg-theme .gallery__video-card:nth-child(even),
  .solo-eg-theme .gallery__video-card:hover {
    transform: none;
  }

  .solo-eg-theme .page-hero {
    min-height: 650px;
    padding: 130px 24px 60px;
  }

  .solo-eg-theme .page-hero__bg,
  html[dir="rtl"] .solo-eg-theme .page-hero__bg {
    inset: 88px 10px 22px;
  }

  .solo-eg-theme .page-hero__title {
    font-size: clamp(2.7rem, 14vw, 4.6rem);
  }

  .solo-eg-theme .footer--rich {
    width: calc(100% - 16px);
    margin: 8px;
  }

  .solo-eg-theme .footer__grid {
    grid-template-columns: 1fr;
  }

  .solo-eg-theme .footer__brand {
    padding-inline-end: 0;
    padding-bottom: 34px;
    border-inline-end: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .solo-eg-theme .footer__bottom {
    margin: 24px 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .solo-eg-theme .marquee-wrap {
    transform: none;
  }

  .solo-eg-theme .solo-highlight-card__icon,
  .solo-eg-theme .solo-highlight-card__icon::after,
  .solo-eg-theme .solo-highlight-card__icon svg {
    animation: none;
  }
}

/* ================================================================
   Pharaohs Programs — temple-inspired page identity
   Scoped to this page so the shared offers template stays unchanged.
   ================================================================ */
body[data-page="pharaohs"] .page-hero--pharaohs {
  min-height: 760px;
  isolation: isolate;
  background:
    radial-gradient(circle at 76% 38%, rgba(218, 174, 83, 0.2), transparent 22rem),
    linear-gradient(135deg, #07150b 0%, #0c2d19 58%, #07150b 100%);
}

body[data-page="pharaohs"] .page-hero--pharaohs::before {
  content: "";
  position: absolute;
  inset: 108px 3vw 42px;
  z-index: 1;
  pointer-events: none;
  border: 1px solid rgba(222, 180, 90, 0.5);
  background:
    linear-gradient(45deg, transparent 45%, rgba(222, 180, 90, 0.26) 46% 54%, transparent 55%) 0 0 / 22px 22px,
    linear-gradient(-45deg, transparent 45%, rgba(222, 180, 90, 0.16) 46% 54%, transparent 55%) 0 0 / 22px 22px;
  opacity: 0.52;
  clip-path: polygon(0 0, 100% 0, 100% 12px, 12px 12px, 12px calc(100% - 12px), 100% calc(100% - 12px), 100% 100%, 0 100%);
}

body[data-page="pharaohs"] .page-hero--pharaohs::after {
  left: 3vw;
  right: 3vw;
  bottom: 42px;
  height: 12px;
  background:
    linear-gradient(135deg, #c99f4c 25%, transparent 25%) 0 0 / 18px 18px,
    linear-gradient(225deg, #c99f4c 25%, transparent 25%) 0 0 / 18px 18px;
  opacity: 0.75;
}

body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__bg {
  inset: 106px 3vw 42px 48%;
  border: 2px solid rgba(222, 180, 90, 0.72);
  border-radius: 0;
  background-position: center;
  filter: sepia(0.2) saturate(0.92) contrast(1.04);
  clip-path: polygon(8% 0, 92% 0, 100% 9%, 100% 100%, 0 100%, 0 9%);
}

html[dir="rtl"] body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__bg {
  inset: 106px 48% 42px 3vw;
  border-radius: 0;
}

body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__overlay {
  background:
    linear-gradient(90deg, #07150b 3%, rgba(7, 21, 11, 0.94) 39%, rgba(7, 21, 11, 0.15) 74%),
    repeating-linear-gradient(90deg, transparent 0 68px, rgba(218, 174, 83, 0.04) 69px 70px);
}

html[dir="rtl"] body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__overlay {
  background:
    linear-gradient(-90deg, #07150b 3%, rgba(7, 21, 11, 0.94) 39%, rgba(7, 21, 11, 0.15) 74%),
    repeating-linear-gradient(90deg, transparent 0 68px, rgba(218, 174, 83, 0.04) 69px 70px);
}

body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__inner {
  z-index: 4;
}

body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__content {
  width: min(46%, 700px);
}

body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__label {
  color: #efcc81;
}

body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__label::before {
  background: #efcc81;
}

body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__title {
  color: #f8e8bd;
  font-size: clamp(3.4rem, 6.4vw, 7rem);
  text-shadow: 0 3px 32px rgba(0, 0, 0, 0.58);
}

body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__desc {
  color: rgba(255, 248, 226, 0.78);
  font-size: 1.02rem;
}

body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__media {
  position: relative;
  border: 3px double #d6aa55;
  border-radius: 160px 160px 8px 8px;
  box-shadow:
    0 0 0 8px rgba(7, 21, 11, 0.72),
    0 0 0 9px rgba(214, 170, 85, 0.35),
    0 28px 70px rgba(0, 0, 0, 0.48);
}

body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__media::after {
  content: "◆  ☥  ◆";
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: 10px;
  color: #f0ca78;
  text-align: center;
  font-size: 1.15rem;
  letter-spacing: 0.7em;
  background: rgba(7, 21, 11, 0.86);
  border-top: 1px solid rgba(222, 180, 90, 0.55);
}

.pharaoh-hero__sun {
  position: absolute;
  top: 132px;
  inset-inline-end: 5.5vw;
  z-index: 5;
  display: grid;
  width: 92px;
  height: 92px;
  place-items: center;
  color: #0b2a17;
  border: 1px solid #f4d58f;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #f6dc9d, #c6953e 72%);
  box-shadow: 0 0 42px rgba(222, 180, 90, 0.34);
}

.pharaoh-hero__sun span {
  font-family: Georgia, serif;
  font-size: 3rem;
  line-height: 1;
}

.pharaoh-hero__pyramids {
  position: absolute;
  inset-inline-end: 40%;
  bottom: 42px;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  gap: 4px;
  opacity: 0.28;
  pointer-events: none;
}

.pharaoh-hero__pyramids i {
  display: block;
  width: 78px;
  height: 58px;
  background: linear-gradient(135deg, #edcb80 0 49%, #a6782f 50%);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.pharaoh-hero__pyramids i:nth-child(2) {
  width: 122px;
  height: 96px;
}

.pharaoh-hero__pyramids i:nth-child(3) {
  width: 62px;
  height: 46px;
}

.pharaoh-hero__seal {
  display: flex;
  width: min(100%, 420px);
  align-items: center;
  gap: 14px;
  margin-top: 32px;
  color: #e3bb68;
}

.pharaoh-hero__seal span {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, #d7aa55);
}

.pharaoh-hero__seal span:last-child {
  background: linear-gradient(90deg, #d7aa55, transparent);
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 12%, rgba(184, 135, 52, 0.14), transparent 28rem),
    linear-gradient(90deg, transparent 49.94%, rgba(150, 109, 39, 0.18) 50%, transparent 50.06%),
    #eee4cc;
}

[data-theme="dark"] body[data-page="pharaohs"] .offers-section--pharaohs-programs {
  background:
    radial-gradient(circle at 12% 12%, rgba(215, 170, 82, 0.12), transparent 28rem),
    linear-gradient(90deg, transparent 49.94%, rgba(215, 170, 82, 0.15) 50%, transparent 50.06%),
    #09180e;
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: auto;
  opacity: 0.1;
  pointer-events: none;
  background-image: url("../assets/images/generated/pharaoh-statues-bg.webp");
  background-repeat: repeat-y;
  background-position: center 38px;
  background-size: 100% auto;
  filter: sepia(0.28) saturate(0.72);
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs > .container {
  position: relative;
  z-index: 1;
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-featured {
  position: relative;
  padding: 54px;
  border: 4px double #bd8c3b;
  border-radius: 120px 120px 10px 10px;
  background:
    linear-gradient(135deg, rgba(220, 178, 91, 0.08), transparent 38%),
    #0b2a17;
  box-shadow:
    0 0 0 8px rgba(189, 140, 59, 0.12),
    0 28px 70px rgba(54, 37, 12, 0.22);
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-featured::before {
  content: "☥";
  position: absolute;
  top: 18px;
  left: 50%;
  z-index: 2;
  color: #e7bf6c;
  font-family: Georgia, serif;
  font-size: 2rem;
  line-height: 1;
  transform: translateX(-50%);
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-featured__img {
  min-height: 430px;
  border: 1px solid rgba(229, 190, 108, 0.62);
  border-radius: 96px 96px 4px 4px;
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-featured h2,
body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-card__title {
  color: #e9bf68;
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-featured__desc,
body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-featured__desc.rte-content :is(p, li, span, strong, b, em, i, u),
body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-featured p,
body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-list li {
  color: rgba(255, 248, 228, 0.78);
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-card {
  position: relative;
  border: 1px solid rgba(164, 115, 40, 0.48);
  border-radius: 72px 72px 6px 6px;
  background:
    linear-gradient(180deg, rgba(206, 160, 72, 0.12), transparent 38%),
    #fffaf0;
  box-shadow: 0 18px 45px rgba(80, 55, 15, 0.13);
}

/* The featured panel is dark, but the regular program cards are light.
   Keep their benefit text dark enough to remain readable in light mode. */
body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-card .offer-list li {
  color: #496657;
}

[data-theme="dark"] body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-card {
  background:
    linear-gradient(180deg, rgba(206, 160, 72, 0.1), transparent 38%),
    #0c2314;
}

[data-theme="dark"] body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-card .offer-list li {
  color: rgba(255, 248, 228, 0.78);
}

/* Program artwork uses a mix of square and 2:1 source images. Keep every card
   at the same 2:1 height, show the full artwork, and use a soft copy of the
   same image behind narrower sources instead of cropping them. */
body[data-page="programs"] .offers-section--programs .offer-card__img {
  height: auto;
  aspect-ratio: 2 / 1;
  isolation: isolate;
  background: #e8e2d8;
}

body[data-page="programs"] .offers-section--programs .offer-card__img .offer-card__img-bg {
  position: absolute;
  z-index: 0;
  inset: -18px;
  width: calc(100% + 36px);
  height: calc(100% + 36px);
  object-fit: cover;
  object-position: center;
  filter: blur(16px);
  opacity: 0.42;
  transform: scale(1.08);
}

body[data-page="programs"] .offers-section--programs .offer-card__img > img:not(.offer-card__img-bg) {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
}

/* These two source files are square. Enlarge them to fill the shared 2:1
   program frame, keeping the title and main treatment artwork in view. */
body[data-page="programs"] .offers-section--programs .offer-card__img > img[src*="aftersuntherapycompressed"]:not(.offer-card__img-bg),
body[data-page="programs"] .offers-section--programs .offer-card__img > img[src*="chocolatemagicbathcompressed"]:not(.offer-card__img-bg) {
  object-fit: cover;
  object-position: center 36%;
}

body[data-page="programs"] .offers-section--programs .offer-card:hover .offer-card__img > img:not(.offer-card__img-bg) {
  transform: none;
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-card::before {
  content: "◆  ☥  ◆";
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 3;
  min-width: 132px;
  padding: 8px 14px;
  color: #f1ce84;
  text-align: center;
  letter-spacing: 0.18em;
  background: #123e22;
  border: 1px solid rgba(212, 169, 82, 0.76);
  border-top: 0;
  transform: translateX(-50%);
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-card__img {
  border-radius: 70px 70px 0 0;
  border-bottom: 3px double rgba(175, 125, 45, 0.62);
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-card__body {
  position: relative;
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-card__tag {
  display: inline-flex;
  width: fit-content;
  padding: 5px 12px;
  color: #f0cd83;
  border: 1px solid rgba(214, 170, 85, 0.46);
  background: #123e22;
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .perk-icon {
  display: inline-grid;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  place-items: center;
  color: #0b2a17;
  border-radius: 50%;
  background: #dfb55e;
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .btn--primary,
body[data-page="pharaohs"] .offers-section--pharaohs-programs .btn--outline {
  border-radius: 0;
  border-color: #c99d49;
  clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 10px 100%, 0 50%);
}

body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-card:hover {
  transform: translateY(-10px);
  border-color: #c99d49;
  box-shadow: 0 24px 54px rgba(80, 55, 15, 0.23);
}

@media (max-width: 900px) {
  body[data-page="pharaohs"] .page-hero--pharaohs {
    min-height: 0;
    padding: 130px 24px 56px;
    align-items: flex-start;
  }

  body[data-page="pharaohs"] .page-hero--pharaohs::before {
    inset: 88px 10px 22px;
  }

  body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__bg,
  html[dir="rtl"] body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__bg {
    inset: 88px 10px 22px;
  }

  body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__overlay,
  html[dir="rtl"] body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__overlay {
    background: linear-gradient(180deg, rgba(7, 21, 11, 0.2), rgba(7, 21, 11, 0.94) 72%);
  }

  body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__content {
    width: 100%;
  }

  body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__media {
    display: none;
  }

  .pharaoh-hero__sun {
    top: 112px;
    inset-inline-end: 28px;
    width: 68px;
    height: 68px;
  }

  .pharaoh-hero__sun span {
    font-size: 2.2rem;
  }

  .pharaoh-hero__pyramids {
    inset-inline-end: 18px;
    bottom: 22px;
  }

  body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-featured {
    padding: 44px 22px 28px;
    border-radius: 70px 70px 8px 8px;
  }

  body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-featured__img {
    min-height: 340px;
    border-radius: 54px 54px 4px 4px;
  }

  body[data-page="pharaohs"] .offers-section--pharaohs-programs::before {
    background-size: 650px auto;
    background-position: center 30px;
    opacity: 0.085;
  }
}

@media (max-width: 560px) {
  body[data-page="pharaohs"] .page-hero--pharaohs {
    padding-top: 125px;
  }

  body[data-page="pharaohs"] .page-hero--pharaohs .page-hero__title {
    font-size: clamp(2.8rem, 15vw, 4.3rem);
  }

  body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-card {
    border-radius: 52px 52px 6px 6px;
  }

  body[data-page="pharaohs"] .offers-section--pharaohs-programs .offer-card__img {
    border-radius: 50px 50px 0 0;
  }
}

/* Home hero: use the light gold brand tone in dark mode. */
[data-theme="dark"] .solo-eg-theme .hero .hero__title,
[data-theme="dark"] .solo-eg-theme .hero .hero__title .reveal-line,
[data-theme="dark"] .solo-eg-theme .hero .hero__title .reveal-line.italic {
  color: #f1cb7f;
}

/* Storefront compatibility: keep the editorial hero and two-column product
   cards readable after adding direct ecommerce actions. */
.solo-eg-theme .hero--storefront .hero__content {
  width: 44%;
  max-width: 680px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.solo-eg-theme .hero--storefront .hero__title {
  max-width: 620px;
  margin-inline: 0;
  font-size: clamp(3rem, 5vw, 5.35rem);
  line-height: .93;
}

.solo-eg-theme .hero--storefront .hero__eyebrow--store {
  display: inline-flex;
  width: fit-content;
  padding: 8px 15px;
  margin-bottom: 24px;
  color: var(--green-dark);
  background: rgba(46,139,74,.08);
  border-color: rgba(46,139,74,.34);
}

.solo-eg-theme .hero--storefront .hero__commerce-note {
  justify-content: flex-start;
  margin-top: 22px;
  color: var(--cream-2);
}

.solo-eg-theme .service-card__image-link {
  display: block;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}

.solo-eg-theme .service-card__shop-cta {
  flex: 0 0 auto;
  margin-top: 18px;
  border-radius: 4px;
  min-height: 46px;
}

.solo-eg-theme .service-card__title a {
  color: inherit;
}

@media (max-width: 900px) {
  .solo-eg-theme .hero--storefront .hero__content {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 70px;
    width: auto;
    max-width: none;
    padding: 0;
  }

  .solo-eg-theme .hero--storefront .hero__title {
    color: #fff;
    font-size: clamp(2.7rem, 11vw, 4.5rem);
  }

  .solo-eg-theme .hero--storefront .hero__eyebrow--store {
    margin-inline: 0;
    color: #c5f2d0;
    background: rgba(8,35,16,.6);
    border-color: rgba(197,242,208,.4);
  }

  .solo-eg-theme .hero--storefront .hero__commerce-note {
    color: rgba(255,255,255,.82);
  }
}

/* Home hero artwork: keep the complete portrait image visible inside its card. */
.solo-eg-theme .hero__bg {
  isolation: isolate;
  border: 1px solid rgba(201, 165, 93, 0.42);
  background:
    radial-gradient(circle at 50% 42%, rgba(201, 165, 93, 0.16), transparent 42%),
    linear-gradient(145deg, #102817, #07150b);
}

.solo-eg-theme .hero__bg picture {
  z-index: 1;
  background:
    radial-gradient(circle at 50% 42%, rgba(229, 190, 108, 0.12), transparent 44%),
    #0a1d10;
}

.solo-eg-theme .hero__bg:has(.hero__bg-img)::before {
  content: "";
  position: absolute;
  inset: -24px;
  z-index: 0;
  background-image:
    linear-gradient(rgba(7, 21, 11, 0.2), rgba(7, 21, 11, 0.2)),
    var(--hero-artwork);
  background-size: cover;
  background-position: center;
  filter: blur(18px) brightness(0.68) saturate(1.15);
  transform: scale(1.08);
  animation: soloHeroBackdropPulse 6s ease-in-out infinite;
}

.solo-eg-theme .hero__bg .hero__bg-img {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0;
  object-fit: contain;
  object-position: center;
  background: transparent;
  animation: soloHeroArtworkPulse 5s ease-in-out infinite;
  transform-origin: center;
  transition: transform 0.65s ease, filter 0.65s ease;
}

.solo-eg-theme .hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(
    112deg,
    transparent 18%,
    rgba(246, 220, 157, 0.03) 37%,
    rgba(246, 220, 157, 0.2) 48%,
    rgba(246, 220, 157, 0.04) 59%,
    transparent 78%
  );
  transform: translateX(-135%);
  animation: soloHeroArtworkShine 4.5s ease-in-out infinite;
  mix-blend-mode: screen;
}

.solo-eg-theme .hero__bg:hover .hero__bg-img {
  animation-play-state: paused;
  transform: scale(1);
  filter: brightness(1.08) saturate(1.08) contrast(1.02);
}

@keyframes soloHeroArtworkPulse {
  0%,
  100% {
    transform: scale(1);
    filter: brightness(0.94) saturate(0.96);
  }

  50% {
    transform: scale(1);
    filter: brightness(1.04) saturate(1.06);
  }
}

@keyframes soloHeroBackdropPulse {
  0%,
  100% {
    transform: scale(1.08);
    filter: blur(18px) brightness(0.66) saturate(1.08);
  }

  50% {
    transform: scale(1.13);
    filter: blur(15px) brightness(0.76) saturate(1.2);
  }
}

@keyframes soloHeroArtworkShine {
  0%,
  28% {
    transform: translateX(-135%);
    opacity: 0;
  }

  42% {
    opacity: 0.7;
  }

  62%,
  100% {
    transform: translateX(135%);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .solo-eg-theme .hero__bg .hero__bg-img {
    animation: none;
    transform: none;
    filter: none;
  }

  .solo-eg-theme .hero__bg:has(.hero__bg-img)::before {
    animation: none;
  }

  .solo-eg-theme .hero__bg::after {
    animation: none;
    opacity: 0;
  }
}

/* Give the portrait artwork a wider editorial frame without stretching it. */
@media (min-width: 901px) {
  .solo-eg-theme .hero__bg,
  html[dir="rtl"] .solo-eg-theme .hero__bg {
    top: 118px;
    bottom: 52px;
    width: auto;
    height: auto;
    aspect-ratio: 1120 / 1103;
  }

  .solo-eg-theme .hero__bg .hero__bg-img {
    object-fit: cover;
    object-position: center;
  }

  .solo-eg-theme .hero__bg {
    right: 2vw;
    left: auto;
  }

  html[dir="rtl"] .solo-eg-theme .hero__bg {
    right: auto;
    left: 2vw;
  }
}

@media (max-width: 900px) {
  .solo-eg-theme .hero {
    min-height: 1207px;
  }

  .solo-eg-theme .hero__bg,
  html[dir="rtl"] .solo-eg-theme .hero__bg {
    top: 92px;
    right: auto;
    bottom: auto;
    left: 50%;
    width: min(calc(100% - 20px), 735px);
    height: auto;
    aspect-ratio: 735 / 1103;
    transform: translateX(-50%);
  }
}

@media (max-width: 560px) {
  .solo-eg-theme .hero {
    min-height: calc(150vw + 74px);
  }
}
/* Skip layout/paint work for long sections until they approach the viewport. */
@supports (content-visibility: auto) {
  main > section:not(:first-child),
  body > section:not(.hero):not(.page-hero),
  .parallax-banner,
  .footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 760px;
  }
}

/* Mobile performance: avoid continuous GPU-heavy blur and autoplay effects. */
@media (max-width: 900px) {
  .solo-eg-theme .hero__bg:has(.hero__bg-img)::before,
  .solo-eg-theme .hero__bg::after {
    display: none !important;
  }

  .solo-eg-theme .hero__bg .hero__bg-img,
  .solo-eg-theme .hero__card,
  .solo-eg-theme .marquee-track,
  .solo-eg-theme .about-location-card,
  .solo-eg-theme .about-location-card::before,
  .solo-eg-theme .about-location-card::after,
  .solo-eg-theme .solo-highlight-card__icon,
  .solo-eg-theme .solo-highlight-card__icon::after,
  .solo-eg-theme .solo-highlight-card__icon svg {
    animation: none !important;
    filter: none !important;
    will-change: auto !important;
  }

  .solo-eg-theme .nav,
  .solo-eg-theme .nav.scrolled,
  .solo-eg-theme .glass,
  .solo-eg-theme .about-slider__arrow,
  .solo-eg-theme .about-slider__dots,
  .solo-eg-theme .modal__content,
  .solo-eg-theme .booking-modal__dialog {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

/* Final mobile containment for the standalone About page. */
@media (max-width: 700px) {
  .solo-eg-theme .about-page,
  .solo-eg-theme .about-page main,
  .solo-eg-theme .about-page section,
  .solo-eg-theme .about-page .container {
    max-width: 100%;
  }

  .solo-eg-theme .about-page .about-hero .page-hero__inner {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  .solo-eg-theme .about-page .about-hero .page-hero__media {
    order: -1;
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }

  .solo-eg-theme .about-page .about-hero .page-hero__content {
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  .solo-eg-theme .about-page .about-hero .page-hero__title {
    max-width: 100%;
    font-size: clamp(2.45rem, 11vw, 3.3rem);
    line-height: 0.96;
    overflow-wrap: anywhere;
  }

  .solo-eg-theme .about-page .about-intro__content,
  .solo-eg-theme .about-page .about-value,
  .solo-eg-theme .about-page .about-why__content {
    min-width: 0;
    max-width: 100%;
  }

  .solo-eg-theme .about-page .about-intro__content .section-title,
  .solo-eg-theme .about-page .about-values .section-title,
  .solo-eg-theme .about-page .about-why .section-title {
    max-width: 100%;
    font-size: clamp(2.15rem, 10vw, 3rem);
    overflow-wrap: anywhere;
  }
}


/* Source: css/solo-lux.css */
/* ================================================================
   SOLO SPA — "Modern Sanctuary" design layer
   ----------------------------------------------------------------
   A complete visual re-skin loaded after style.css and solo-eg.css.
   It only touches presentation: colours, type, radii, spacing,
   surfaces and motion. No markup or copy is changed anywhere.
   ================================================================ */

/* ── 1. Design tokens ─────────────────────────────────────────── */
:root {
  --radius: 18px;
  --radius-lg: 28px;
  --radius-xl: 36px;
  --transition: 0.45s cubic-bezier(0.22, 1, 0.36, 1);

  --font-serif: 'Fraunces', 'Cormorant Garamond', Georgia, serif;
  --font-sans: 'Manrope', 'Jost', system-ui, -apple-system, sans-serif;
  --eg-display: var(--font-serif);

  --lux-gold: #c9a35a;
  --lux-gold-soft: #e7d3a3;
  --lux-sage: #9fc1ab;
  --lux-sage-soft: #dceadf;
  --lux-forest: #0f2a1f;
  --lux-ivory: #f7f4ed;
  --lux-sand: #efe8da;
  --lux-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ── Services catalog hero ────────────────────────────────────── */
.solo-eg-theme .services-catalog-hero {
  position: relative;
  isolation: isolate;
  padding: 142px 0 68px;
  overflow: hidden;
  color: #f6f1e8;
  background:
    radial-gradient(720px 300px at 88% 4%, rgba(201, 163, 90, 0.2), transparent 62%),
    linear-gradient(180deg, #123322 0%, #09150f 100%);
}

.solo-eg-theme .services-catalog-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.28;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000, transparent 72%);
}

.solo-eg-theme .services-catalog-hero__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: clamp(28px, 6vw, 90px);
  margin-bottom: 10px;
}

.solo-eg-theme .services-catalog-hero__intro {
  min-width: 0;
}

.solo-eg-theme .services-catalog-hero .page-breadcrumb {
  margin-bottom: 18px;
  color: rgba(246, 241, 232, 0.74);
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(231, 211, 163, 0.24);
}

.solo-eg-theme .services-catalog-hero .page-breadcrumb a,
.solo-eg-theme .services-catalog-hero .page-breadcrumb a:hover {
  color: var(--lux-gold-soft);
}

.solo-eg-theme .services-catalog-hero .page-hero__label {
  margin-bottom: 12px;
  color: var(--lux-gold-soft);
  background: transparent;
  border-color: transparent;
  padding-inline: 0;
}

.solo-eg-theme .services-catalog-hero .page-hero__label::before {
  background: var(--lux-gold-soft);
}

.solo-eg-theme .services-catalog-hero__title {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-family: var(--font-serif);
  font-size: clamp(3rem, 6vw, 6.3rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.045em;
}

.solo-eg-theme .services-catalog-hero__desc {
  width: min(100%, 470px);
  margin: 0 0 8px;
  color: rgba(246, 241, 232, 0.74);
  font-size: clamp(0.98rem, 1.25vw, 1.12rem);
  line-height: 1.8;
}

.solo-eg-theme .services-catalog {
  position: relative;
  height: 640px;
  margin-top: 18px;
  overflow: hidden;
  clip-path: inset(0 round 34px);
  isolation: isolate;
  border: 1px solid rgba(231, 211, 163, 0.24);
  border-radius: 34px;
  background:
    radial-gradient(560px 220px at 50% 77%, rgba(201, 163, 90, 0.2), transparent 72%),
    linear-gradient(180deg, #163b29 0%, #07100b 100%);
  box-shadow: inset 0 0 90px rgba(0, 0, 0, 0.38), 0 34px 90px -48px rgba(0, 0, 0, 0.86);
}

.solo-eg-theme .services-catalog__viewport {
  position: absolute;
  inset: 0 0 82px;
  overflow: hidden;
  perspective: 1600px;
  perspective-origin: 50% 42%;
  touch-action: pan-y;
  cursor: grab;
  outline: none;
}

.solo-eg-theme .services-catalog__viewport:focus-visible {
  box-shadow: inset 0 0 0 3px rgba(231, 211, 163, 0.72);
}

.solo-eg-theme .services-catalog__viewport.is-dragging {
  cursor: grabbing;
  user-select: none;
}

.solo-eg-theme .services-catalog__ring {
  display: flex;
  gap: 20px;
  height: 100%;
  padding: 28px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}

.solo-eg-theme .services-catalog.is-enhanced .services-catalog__ring {
  position: absolute;
  inset: 0;
  display: block;
  padding: 0;
  overflow: visible;
  transform-style: preserve-3d;
}

.solo-eg-theme .services-catalog-card {
  flex: 0 0 min(340px, 78vw);
  overflow: hidden;
  scroll-snap-align: center;
  border: 1px solid rgba(231, 211, 163, 0.38);
  border-radius: 24px;
  color: #f6f1e8;
  background: #123020;
  box-shadow: 0 30px 72px rgba(0, 0, 0, 0.48);
  transition: border-color 0.3s, box-shadow 0.3s;
}

.solo-eg-theme .services-catalog.is-enhanced .services-catalog-card {
  position: absolute;
  top: 49%;
  left: 50%;
  width: min(350px, 76vw);
  will-change: transform, opacity;
  backface-visibility: hidden;
}

.solo-eg-theme .services-catalog-card.is-active {
  border-color: rgba(231, 211, 163, 0.82);
  box-shadow: 0 34px 84px rgba(0, 0, 0, 0.58), 0 0 0 1px rgba(231, 211, 163, 0.18);
}

.solo-eg-theme .services-catalog-card__image {
  position: relative;
  display: block;
  height: 278px;
  overflow: hidden;
  background: #0d2518;
}

.solo-eg-theme .services-catalog-card__image::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(to bottom, transparent, rgba(8, 19, 12, 0.38));
  pointer-events: none;
}

.solo-eg-theme .services-catalog-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.65s var(--lux-ease);
}

.solo-eg-theme .services-catalog-card.is-active:hover .services-catalog-card__image img {
  transform: scale(1.045);
}

.solo-eg-theme .services-catalog-card__number {
  position: absolute;
  top: 15px;
  inset-inline-start: 15px;
  z-index: 1;
  padding: 7px 12px;
  border: 1px solid rgba(231, 211, 163, 0.42);
  border-radius: 999px;
  color: var(--lux-gold-soft);
  background: rgba(7, 16, 11, 0.78);
  font-family: var(--font-serif);
  font-size: 0.92rem;
  letter-spacing: 0.08em;
  backdrop-filter: blur(9px);
}

.solo-eg-theme .services-catalog-card__body {
  display: flex;
  min-height: 190px;
  padding: 21px 22px 23px;
  flex-direction: column;
}

.solo-eg-theme .services-catalog-card__body small {
  overflow: hidden;
  color: var(--lux-gold-soft);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.solo-eg-theme .services-catalog-card__body strong {
  display: -webkit-box;
  min-height: 2.15em;
  margin: 7px 0 12px;
  overflow: hidden;
  color: #fff;
  font-family: var(--font-serif);
  font-size: clamp(1.42rem, 2vw, 1.78rem);
  font-weight: 500;
  line-height: 1.08;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.solo-eg-theme .services-catalog-card__meta {
  display: flex;
  min-height: 21px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: rgba(246, 241, 232, 0.66);
  font-size: 0.74rem;
}

.solo-eg-theme .services-catalog-card__link {
  margin-top: auto;
  padding-top: 14px;
  color: var(--lux-gold-soft);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.solo-eg-theme .services-catalog__controls {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 120;
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: center;
  gap: 17px;
  padding: 14px 20px 18px;
  color: rgba(246, 241, 232, 0.74);
  background: linear-gradient(to top, rgba(5, 12, 8, 0.94), rgba(5, 12, 8, 0.18));
}

.solo-eg-theme .services-catalog__controls button {
  display: grid;
  width: 46px;
  height: 46px;
  padding: 0 0 3px;
  place-items: center;
  border: 1px solid rgba(231, 211, 163, 0.42);
  border-radius: 50%;
  color: var(--lux-gold-soft);
  background: rgba(9, 21, 14, 0.72);
  font-size: 1.75rem;
  line-height: 1;
  transition: color 0.25s, background 0.25s, opacity 0.25s, transform 0.25s;
}

.solo-eg-theme .services-catalog__controls button:hover:not(:disabled) {
  color: #122419;
  background: var(--lux-gold-soft);
  transform: translateY(-2px);
}

.solo-eg-theme .services-catalog__controls button:disabled {
  opacity: 0.34;
  cursor: not-allowed;
}

.solo-eg-theme .services-catalog__status {
  min-width: min(260px, 46vw);
  text-align: center;
}

.solo-eg-theme .services-catalog__status strong,
.solo-eg-theme .services-catalog__status span {
  display: block;
}

.solo-eg-theme .services-catalog__status strong {
  color: var(--lux-gold-soft);
  font-family: var(--font-serif);
  font-size: 1.22rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.solo-eg-theme .services-catalog__status span {
  margin-top: 2px;
  font-size: 0.68rem;
  letter-spacing: 0.06em;
}

@media (max-width: 760px) {
  .solo-eg-theme .services-catalog-hero {
    padding: 112px 0 44px;
  }

  .solo-eg-theme .services-catalog-hero__head {
    display: block;
  }

  .solo-eg-theme .services-catalog-hero__title {
    font-size: clamp(2.65rem, 13vw, 4.2rem);
  }

  .solo-eg-theme .services-catalog-hero__desc {
    margin-top: 22px;
    font-size: 0.94rem;
  }

  .solo-eg-theme .services-catalog {
    height: 530px;
    margin-top: 30px;
    border-radius: 26px;
    clip-path: inset(0 round 26px);
  }

  .solo-eg-theme .services-catalog__viewport {
    inset-bottom: 76px;
    perspective: 1100px;
  }

  .solo-eg-theme .services-catalog.is-enhanced .services-catalog-card {
    width: min(286px, 76vw);
  }

  .solo-eg-theme .services-catalog-card__image {
    height: 210px;
  }

  .solo-eg-theme .services-catalog-card__body {
    min-height: 174px;
    padding: 18px;
  }

  .solo-eg-theme .services-catalog-card__body strong {
    font-size: 1.34rem;
  }

  .solo-eg-theme .services-catalog__controls {
    min-height: 76px;
    gap: 10px;
    padding-inline: 12px;
  }

  .solo-eg-theme .services-catalog__controls button {
    width: 42px;
    height: 42px;
  }

  .solo-eg-theme .services-catalog__status {
    min-width: min(210px, 52vw);
  }

  .solo-eg-theme .services-catalog__status span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .solo-eg-theme .services-catalog-card,
  .solo-eg-theme .services-catalog-card__image img,
  .solo-eg-theme .services-catalog__controls button {
    transition: none;
  }
}

html[lang="ar"] {
  --font-sans: 'Cairo', 'Segoe UI', Tahoma, sans-serif;
  --font-serif: 'Cairo', 'Segoe UI', Tahoma, sans-serif;
}

:root,
[data-theme="dark"] {
  --gold: #4fb57a;
  --gold-light: #7fd4a1;
  --gold-dark: #2e8b4a;
  --green: #4fb57a;
  --green-light: #7fd4a1;
  --green-dark: #1f7a4a;

  --dark: #0b1a13;
  --dark-2: #112620;
  --dark-3: #16302a;

  --cream: #f3f1ea;
  --cream-2: #d6e2d8;
  --text: #f3f1ea;
  --text-light: #9fb5a6;

  --bg-body: #0b1a13;
  --bg-section: #10211a;
  --bg-section2: #142a22;
  --bg-card: #142a22;
  --border: rgba(255, 255, 255, 0.09);

  --glass-bg: rgba(20, 42, 34, 0.68);
  --glass-border: rgba(255, 255, 255, 0.1);

  --shadow: 0 34px 80px -24px rgba(0, 0, 0, 0.6);
  --shadow-sm: 0 16px 40px -18px rgba(0, 0, 0, 0.5);

  --nav-bg: rgba(11, 26, 19, 0.78);
  --input-bg: rgba(255, 255, 255, 0.04);
  --input-border: rgba(255, 255, 255, 0.12);

  --about-icon-cutout: #142a22;
  --lux-eyebrow: #e7d3a3;
}

[data-theme="light"] {
  --gold: #1f7a4a;
  --gold-light: #2e9a5f;
  --gold-dark: #135a35;
  --green: #1f7a4a;
  --green-light: #2e9a5f;
  --green-dark: #135a35;

  --dark: #f7f4ed;
  --dark-2: #efe8da;
  --dark-3: #e6efe6;

  --cream: #122a1f;
  --cream-2: #2f4a3c;
  --text: #122a1f;
  --text-light: #627a6c;

  --bg-body: #f7f4ed;
  --bg-section: #f1ece1;
  --bg-section2: #e8f0e8;
  --bg-card: #ffffff;
  --border: rgba(18, 42, 31, 0.1);

  --glass-bg: rgba(255, 255, 255, 0.72);
  --glass-border: rgba(255, 255, 255, 0.85);

  --shadow: 0 30px 70px -20px rgba(18, 42, 31, 0.22), 0 10px 24px -12px rgba(18, 42, 31, 0.12);
  --shadow-sm: 0 14px 34px -14px rgba(18, 42, 31, 0.18);

  --nav-bg: rgba(255, 253, 248, 0.82);
  --input-bg: #ffffff;
  --input-border: rgba(18, 42, 31, 0.14);

  --about-icon-cutout: #ffffff;
  --lux-eyebrow: #a07f3a;
}

/* ── 2. Base surfaces & typography ────────────────────────────── */
body.solo-eg-theme {
  background:
    radial-gradient(60rem 40rem at 110% -10%, rgba(159, 193, 171, 0.22), transparent 60%),
    radial-gradient(50rem 36rem at -20% 20%, rgba(201, 163, 90, 0.12), transparent 60%),
    var(--bg-body);
  color: var(--cream);
  font-family: var(--font-sans);
  font-size: 1rem;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[data-theme="dark"] body.solo-eg-theme {
  background:
    radial-gradient(60rem 40rem at 110% -10%, rgba(79, 181, 122, 0.12), transparent 60%),
    radial-gradient(50rem 36rem at -20% 20%, rgba(201, 163, 90, 0.08), transparent 60%),
    var(--bg-body);
}

.solo-eg-theme h1,
.solo-eg-theme h2,
.solo-eg-theme h3,
.solo-eg-theme h4 {
  font-family: var(--font-serif);
  font-weight: 500;
  font-variation-settings: "SOFT" 60, "WONK" 0, "opsz" 72;
  letter-spacing: -0.015em;
}

.solo-eg-theme .container {
  width: min(100% - 48px, 1280px);
}

.solo-eg-theme .section {
  padding: clamp(64px, 7vw, 112px) 0;
}

.solo-eg-theme .section__header {
  margin-bottom: clamp(36px, 4vw, 56px);
}

/* Eyebrow label as a soft chip */
.solo-eg-theme .section__label,
.solo-eg-theme .page-hero__label,
.solo-eg-theme .hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px 8px 12px;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lux-eyebrow);
  background: rgba(201, 163, 90, 0.1);
  border: 1px solid rgba(201, 163, 90, 0.22);
  margin-bottom: 18px;
}

html[dir="rtl"] .solo-eg-theme .section__label,
html[dir="rtl"] .solo-eg-theme .page-hero__label,
html[dir="rtl"] .solo-eg-theme .hero__eyebrow {
  padding: 8px 12px 8px 16px;
}

.solo-eg-theme .section__label::before,
.solo-eg-theme .page-hero__label::before,
.solo-eg-theme .hero__eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 4px rgba(201, 163, 90, 0.18);
}

.solo-eg-theme .section__title {
  font-size: clamp(2.2rem, 4.2vw, 3.9rem);
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: var(--cream);
  margin-bottom: 18px;
}

html[lang="ar"] .solo-eg-theme .section__title {
  letter-spacing: 0;
  line-height: 1.32;
}

.solo-eg-theme .section__title em {
  font-style: italic;
  font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 72;
  color: var(--gold);
}

.solo-eg-theme .section__desc {
  font-size: 1.05rem;
  color: var(--text-light);
  max-width: 560px;
}

::selection {
  background: rgba(31, 122, 74, 0.25);
}

/* ── 3. Buttons ───────────────────────────────────────────────── */
.solo-eg-theme .btn {
  min-height: 52px;
  padding: 14px 28px;
  border-radius: 999px;
  font-family: var(--font-sans);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: transform 0.35s var(--lux-ease), box-shadow 0.35s var(--lux-ease), background 0.35s, color 0.35s, border-color 0.35s;
}

.solo-eg-theme .btn::before {
  display: none;
}

.solo-eg-theme .btn--primary {
  background: linear-gradient(135deg, var(--gold-light), var(--gold) 55%, var(--gold-dark));
  color: #fff;
  border: 0;
  box-shadow: 0 14px 30px -12px rgba(31, 122, 74, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.solo-eg-theme .btn--primary:hover {
  background: linear-gradient(135deg, var(--gold-light), var(--gold) 45%, var(--gold-dark));
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 20px 40px -14px rgba(31, 122, 74, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

[data-theme="dark"] .solo-eg-theme .btn--primary {
  color: #082015;
}

[data-theme="dark"] .solo-eg-theme .btn--primary:hover {
  color: #082015;
}

.solo-eg-theme .btn--outline {
  border: 1.5px solid var(--border);
  color: var(--cream);
  background: var(--bg-card);
}

.solo-eg-theme .btn--outline:hover {
  border-color: var(--gold);
  color: var(--gold);
  background: var(--bg-card);
  transform: translateY(-2px);
}

.solo-eg-theme .btn--ghost {
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.solo-eg-theme .btn--ghost:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}

[data-theme="light"] .solo-eg-theme .hero .btn--ghost {
  border-color: var(--border);
  background: var(--bg-card);
  color: var(--cream);
}

[data-theme="light"] .solo-eg-theme .hero .btn--ghost:hover {
  border-color: var(--gold);
  color: var(--gold);
}

/* ── 4. Navigation ────────────────────────────────────────────── */
.solo-eg-theme .nav {
  top: 14px;
  left: max(14px, 2vw);
  right: max(14px, 2vw);
  min-height: 72px;
  padding: 8px 10px 8px 16px;
  border: 1px solid var(--glass-border);
  border-radius: 999px;
  background: var(--nav-bg);
  box-shadow: 0 20px 50px -24px rgba(18, 42, 31, 0.35);
  backdrop-filter: blur(22px) saturate(1.3);
  -webkit-backdrop-filter: blur(22px) saturate(1.3);
  transition: top 0.4s var(--lux-ease), padding 0.4s var(--lux-ease), box-shadow 0.4s;
}

html[dir="rtl"] .solo-eg-theme .nav {
  padding: 8px 16px 8px 10px;
}

.solo-eg-theme .nav.scrolled {
  top: 8px;
  padding: 6px 10px 6px 16px;
  border-color: var(--border);
  background: var(--nav-bg);
  box-shadow: 0 24px 60px -24px rgba(18, 42, 31, 0.45);
}

.solo-eg-theme .nav__logo-mark,
.solo-eg-theme .nav__logo-img {
  width: 58px;
  height: 58px;
}

.solo-eg-theme .nav__links {
  gap: 2px;
  padding: 0 8px;
  flex-wrap: nowrap;
}

.solo-eg-theme .nav__link {
  display: inline-block;
  padding: 10px clamp(6px, 0.55vw, 12px);
  border-radius: 999px;
  font-size: clamp(0.58rem, 0.66vw, 0.72rem);
  font-weight: 700;
  letter-spacing: 0.06em;
  white-space: nowrap;
  color: var(--text-light);
  transition: color 0.3s, background 0.3s;
}

.solo-eg-theme .nav__link::after {
  display: none;
}

.solo-eg-theme .nav__link:hover,
[data-theme="dark"] .solo-eg-theme .nav__link:hover,
[data-theme="light"] .solo-eg-theme .nav__link:hover {
  color: var(--cream);
  background: rgba(18, 42, 31, 0.06);
}

[data-theme="dark"] .solo-eg-theme .nav__link:hover {
  background: rgba(255, 255, 255, 0.07);
}

.solo-eg-theme .nav__link.active,
.solo-eg-theme .nav__link--active {
  color: var(--gold);
  background: rgba(31, 122, 74, 0.1);
}

.solo-eg-theme .nav__cta {
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 999px;
  color: #fff;
}

.solo-eg-theme .nav__hamburger {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(18, 42, 31, 0.06);
  gap: 5px;
}

[data-theme="dark"] .solo-eg-theme .nav__hamburger {
  background: rgba(255, 255, 255, 0.07);
}

.solo-eg-theme .nav__hamburger span {
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: var(--cream);
}

/* The nav now floats on a light glass pill in light mode, so links, logo,
   CTA and hamburger must be dark whether or not the page has scrolled. */
[data-theme="light"] .solo-eg-theme .nav:not(.scrolled) .nav__link,
[data-theme="light"] .solo-eg-theme .nav.scrolled .nav__link {
  color: var(--text-light);
}

[data-theme="light"] .solo-eg-theme .nav:not(.scrolled) .nav__link:hover,
[data-theme="light"] .solo-eg-theme .nav.scrolled .nav__link:hover {
  color: var(--cream);
}

[data-theme="light"] .solo-eg-theme .nav:not(.scrolled) .nav__link.active,
[data-theme="light"] .solo-eg-theme .nav:not(.scrolled) .nav__link--active,
[data-theme="light"] .solo-eg-theme .nav.scrolled .nav__link.active,
[data-theme="light"] .solo-eg-theme .nav.scrolled .nav__link--active {
  color: var(--gold);
}

[data-theme="light"] .solo-eg-theme .nav:not(.scrolled) .nav__cta {
  border-color: transparent;
  color: #fff;
}

[data-theme="light"] .solo-eg-theme .nav:not(.scrolled) .nav__hamburger span {
  background: var(--cream);
}

[data-theme="light"] .solo-eg-theme .nav:not(.scrolled) .logo-img--light,
[data-theme="light"] .solo-eg-theme .nav.scrolled .logo-img--light {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

[data-theme="light"] .solo-eg-theme .nav:not(.scrolled) .logo-img--dark,
[data-theme="light"] .solo-eg-theme .nav.scrolled .logo-img--dark {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

[data-theme="light"] .solo-eg-theme .nav:not(.scrolled) .nav__logo-img--custom {
  filter: none;
}

[data-theme="dark"] .solo-eg-theme .nav:not(.scrolled) .nav__logo-img--custom,
[data-theme="dark"] .solo-eg-theme .nav.scrolled .nav__logo-img--custom {
  filter: brightness(0) invert(1);
}

/* Language switch & theme toggle */
.solo-eg-theme .lang-switch__toggle {
  border-radius: 999px;
  border: 1px solid var(--border);
  background: transparent;
}

.solo-eg-theme .lang-switch__menu {
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--bg-card);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.solo-eg-theme .lang-switch__option {
  border-radius: 12px;
}

.solo-eg-theme .theme-toggle__track {
  border-radius: 999px;
  background: rgba(18, 42, 31, 0.1);
  border: 1px solid var(--border);
}

[data-theme="dark"] .solo-eg-theme .theme-toggle__track {
  background: rgba(255, 255, 255, 0.08);
}

.solo-eg-theme .theme-toggle__thumb {
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

/* Mobile menu sheet */
@media (max-width: 1024px) {
  .solo-eg-theme .nav__links.open {
    position: fixed;
    inset: 0;
    top: 0;
    height: 100dvh;
    background:
      radial-gradient(40rem 30rem at 100% 0%, rgba(159, 193, 171, 0.25), transparent 60%),
      var(--bg-body);
    padding-top: 110px;
    padding-bottom: 48px;
    gap: 4px;
  }

  .solo-eg-theme .nav__links.open .nav__link {
    padding: 14px 18px;
    border-radius: 16px;
    font-family: var(--font-serif);
    font-size: clamp(1.4rem, 5.6vw, 1.9rem);
    font-weight: 500;
    letter-spacing: -0.01em;
    text-transform: none;
  }

  .solo-eg-theme .nav__links.open .nav__link--book {
    margin-top: 10px;
    border: 0;
    background: linear-gradient(135deg, var(--gold-light), var(--gold) 55%, var(--gold-dark));
    color: #fff !important;
    font-family: var(--font-sans);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 16px 32px;
    border-radius: 999px;
  }

  .solo-eg-theme .nav.nav--open {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

/* ── 5. Hero ──────────────────────────────────────────────────── */
.solo-eg-theme .hero {
  min-height: 0;
  padding: 140px 5vw 80px;
  background: transparent;
}

@media (min-width: 901px) {
  .solo-eg-theme .hero {
    /* Tall enough to frame the artwork card without leaving dead space on tall screens. */
    min-height: calc(min(46vw, 700px) * 1.08 + 190px);
  }
}

.solo-eg-theme .hero::before {
  content: none;
}

/* Soft decorative glow behind the hero copy */
.solo-eg-theme .hero::after {
  content: "";
  position: absolute;
  left: -10vw;
  top: 10%;
  width: 46vw;
  height: 60%;
  background: radial-gradient(closest-side, rgba(159, 193, 171, 0.35), transparent 70%);
  filter: blur(40px);
  z-index: 0;
  pointer-events: none;
}

[data-theme="dark"] .solo-eg-theme .hero::after {
  background: radial-gradient(closest-side, rgba(79, 181, 122, 0.18), transparent 70%);
}

html[dir="rtl"] .solo-eg-theme .hero::after {
  left: auto;
  right: -10vw;
}

.solo-eg-theme .hero__bg {
  border: 0;
  border-radius: var(--radius-xl);
  background: var(--bg-section2);
  box-shadow: var(--shadow);
  outline: 1px solid var(--border);
  outline-offset: -1px;
}

html[dir="rtl"] .solo-eg-theme .hero__bg {
  border-radius: var(--radius-xl);
}

.solo-eg-theme .hero__bg picture {
  background: var(--bg-section2);
}

.solo-eg-theme .hero__bg:has(.hero__bg-img)::before,
.solo-eg-theme .hero__bg::after {
  display: none;
}

.solo-eg-theme .hero__bg .hero__bg-img {
  animation: none;
  filter: none;
  transform: scale(1.001);
  transition: transform 1.2s var(--lux-ease);
}

.solo-eg-theme .hero__bg:hover .hero__bg-img {
  transform: scale(1.03);
  filter: none;
}

.solo-eg-theme .hero__gradient {
  background:
    linear-gradient(180deg, rgba(11, 26, 19, 0) 40%, rgba(11, 26, 19, 0.28) 100%);
}

.solo-eg-theme .hero__content {
  width: 44%;
  max-width: 620px;
}

/* Size the artwork by width so it never grows into the headline on tall screens. */
@media (min-width: 901px) {
  .solo-eg-theme .hero__bg,
  html[dir="rtl"] .solo-eg-theme .hero__bg {
    top: 118px;
    bottom: auto;
    width: min(46vw, 700px);
    height: auto;
    aspect-ratio: 1 / 1.08;
    max-height: calc(100svh - 170px);
  }
}

.solo-eg-theme .hero__eyebrow {
  margin-bottom: 26px;
}

.solo-eg-theme .hero__eyebrow::before {
  width: 7px;
  height: 7px;
  background: currentColor;
}

.solo-eg-theme .hero--storefront .hero__eyebrow--store {
  padding: 8px 16px 8px 12px;
  color: var(--lux-eyebrow);
  background: rgba(201, 163, 90, 0.1);
  border: 1px solid rgba(201, 163, 90, 0.22);
}

.solo-eg-theme .hero__title,
.solo-eg-theme .hero--storefront .hero__title {
  max-width: 640px;
  font-size: clamp(3rem, 5.4vw, 5.6rem);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.03em;
  color: var(--cream);
}

html[lang="ar"] .solo-eg-theme .hero__title,
html[lang="ar"] .solo-eg-theme .hero--storefront .hero__title {
  line-height: 1.22;
  letter-spacing: 0;
}

.solo-eg-theme .hero .hero__title .reveal-line,
[data-theme="light"] .solo-eg-theme .hero .hero__title .reveal-line,
[data-theme="dark"] .solo-eg-theme .hero .hero__title,
[data-theme="dark"] .solo-eg-theme .hero .hero__title .reveal-line {
  color: var(--cream);
  text-shadow: none;
}

.solo-eg-theme .hero .hero__title .reveal-line.italic,
[data-theme="light"] .solo-eg-theme .hero .hero__title .reveal-line.italic,
[data-theme="dark"] .solo-eg-theme .hero .hero__title .reveal-line.italic {
  color: var(--gold);
  font-style: italic;
  font-variation-settings: "SOFT" 100, "WONK" 1, "opsz" 144;
}

.solo-eg-theme .hero__title .italic {
  margin-inline-start: 0;
}

.solo-eg-theme .hero__subtitle,
[data-theme="light"] .solo-eg-theme .hero__subtitle {
  max-width: 520px;
  margin: 0 0 32px;
  font-size: 1.08rem;
  line-height: 1.7;
  color: var(--text-light);
}

.solo-eg-theme .hero__actions {
  gap: 12px;
}

.solo-eg-theme .hero--storefront .hero__commerce-note {
  margin-top: 22px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text-light);
}

.solo-eg-theme .hero__commerce-note span {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(31, 122, 74, 0.12);
  color: var(--gold);
  font-size: 0.7rem;
  margin-inline-end: 8px;
}

.solo-eg-theme .hero__scroll-indicator {
  left: 5vw;
}

html[dir="rtl"] .solo-eg-theme .hero__scroll-indicator {
  left: auto;
  right: 5vw;
}

.solo-eg-theme .hero__scroll-text {
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  color: var(--text-light);
}

.solo-eg-theme .hero__scroll-line {
  background: linear-gradient(180deg, var(--gold), transparent);
}

/* Floating glass chips */
.solo-eg-theme .hero__card {
  padding: 14px 18px;
  border-radius: 20px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.solo-eg-theme .hero__card strong {
  color: var(--cream);
  font-family: var(--font-sans);
  font-weight: 700;
}

.solo-eg-theme .hero__card small {
  color: var(--text-light);
}

.solo-eg-theme .hero__card-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(31, 122, 74, 0.1);
}

.solo-eg-theme .hero__card--1 {
  right: 42%;
  bottom: 13%;
}

.solo-eg-theme .hero__card--2 {
  right: 2.5%;
  top: 22%;
}

@media (max-width: 900px) {
  .solo-eg-theme .hero,
  .solo-eg-theme .hero--storefront {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: auto;
    padding: 104px 14px 36px;
  }

  .solo-eg-theme .hero__bg,
  html[dir="rtl"] .solo-eg-theme .hero__bg {
    position: relative;
    inset: auto;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    max-height: 58svh;
    margin: 0;
    transform: none !important;
    border-radius: 28px;
    box-shadow: 0 30px 60px -30px rgba(11, 26, 19, 0.45);
  }

  .solo-eg-theme .hero__gradient {
    background:
      linear-gradient(180deg, rgba(11, 26, 19, 0) 40%, rgba(11, 26, 19, 0.55) 100%);
  }

  .solo-eg-theme .hero__content,
  .solo-eg-theme .hero--storefront .hero__content,
  html[dir="rtl"] .solo-eg-theme .hero__content {
    position: relative;
    inset: auto;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    width: auto;
    max-width: none;
    margin: -64px 10px 0;
    padding: 26px 22px 24px;
    border-radius: 26px;
    background: linear-gradient(160deg, #163528 0%, #0e2219 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 28px 60px -24px rgba(11, 26, 19, 0.65);
    z-index: 2;
  }

  [data-theme="dark"] .solo-eg-theme .hero__content {
    background: linear-gradient(160deg, #1a3a2d 0%, #11261d 100%);
    border-color: rgba(255, 255, 255, 0.1);
  }

  .solo-eg-theme .hero__bg .hero__bg-img {
    object-fit: cover;
  }

  .solo-eg-theme .hero--storefront .hero__title,
  .solo-eg-theme .hero .hero__title .reveal-line,
  [data-theme="light"] .solo-eg-theme .hero .hero__title .reveal-line {
    color: #fff;
    font-size: clamp(2.5rem, 10vw, 4rem);
  }

  .solo-eg-theme .hero .hero__title .reveal-line.italic,
  [data-theme="light"] .solo-eg-theme .hero .hero__title .reveal-line.italic {
    color: var(--lux-gold-soft);
  }

  .solo-eg-theme .hero__subtitle,
  [data-theme="light"] .solo-eg-theme .hero__subtitle {
    color: rgba(255, 255, 255, 0.86);
  }

  .solo-eg-theme .hero--storefront .hero__eyebrow--store {
    color: var(--lux-gold-soft);
    background: rgba(11, 26, 19, 0.55);
    border-color: rgba(231, 211, 163, 0.35);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .solo-eg-theme .hero--storefront .hero__commerce-note {
    color: rgba(255, 255, 255, 0.8);
  }

  .solo-eg-theme .hero__commerce-note span {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
  }

  [data-theme="light"] .solo-eg-theme .hero .btn--ghost {
    border-color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
  }
}

/* Marquee strip */
.solo-eg-theme .marquee-wrap {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  width: min(100% - 48px, 1280px);
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--bg-card);
  transform: none;
  box-shadow: var(--shadow-sm);
}

.solo-eg-theme .marquee-track {
  padding: 16px 0;
  color: var(--text-light);
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.solo-eg-theme .marquee-track .sep {
  color: var(--lux-gold);
}

/* ── 6. Storefront category bar ───────────────────────────────── */
.solo-eg-theme .commerce-category-bar {
  padding: clamp(48px, 5vw, 72px) 0 0;
  background: transparent;
  border: 0;
}

.solo-eg-theme .commerce-category-bar__heading h2 {
  font-size: clamp(1.6rem, 2.6vw, 2.3rem);
  letter-spacing: -0.02em;
  color: var(--cream);
}

.solo-eg-theme .commerce-category-bar__secure {
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--bg-card);
  color: var(--text-light);
  font-size: 0.78rem;
  font-weight: 600;
}

.solo-eg-theme .commerce-category-bar__secure span {
  color: var(--gold);
}

.solo-eg-theme .commerce-categories {
  gap: 16px;
}

.solo-eg-theme .commerce-category {
  padding: 22px 22px;
  border-radius: 24px;
  border: 1px solid var(--border);
  background: var(--bg-card);
  box-shadow: none;
  transition: transform 0.4s var(--lux-ease), box-shadow 0.4s var(--lux-ease), border-color 0.3s;
}

.solo-eg-theme .commerce-category:hover {
  transform: translateY(-4px);
  border-color: rgba(31, 122, 74, 0.35);
  box-shadow: var(--shadow-sm);
}

.solo-eg-theme .commerce-category__icon {
  width: 50px;
  height: 50px;
  border-radius: 16px;
  background: rgba(31, 122, 74, 0.1);
  color: var(--gold);
  font-size: 1.1rem;
}

.solo-eg-theme .commerce-category__copy strong {
  font-family: var(--font-serif);
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--cream);
}

.solo-eg-theme .commerce-category__copy small {
  color: var(--text-light);
}

.solo-eg-theme .commerce-category__arrow {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  color: var(--cream);
  transition: background 0.3s, color 0.3s, transform 0.3s;
}

.solo-eg-theme .commerce-category:hover .commerce-category__arrow {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
  transform: translateX(3px);
}

html[dir="rtl"] .solo-eg-theme .commerce-category:hover .commerce-category__arrow {
  transform: translateX(-3px);
}

.solo-eg-theme .commerce-category--accent {
  background: linear-gradient(135deg, var(--lux-forest), #1f4a37);
  border-color: transparent;
}

[data-theme="dark"] .solo-eg-theme .commerce-category--accent {
  background: linear-gradient(135deg, var(--gold-dark), var(--gold));
}

.solo-eg-theme .commerce-category--accent .commerce-category__icon {
  background: rgba(255, 255, 255, 0.12);
  color: var(--lux-gold-soft);
}

.solo-eg-theme .commerce-category--accent .commerce-category__copy strong,
.solo-eg-theme .commerce-category--accent .commerce-category__copy small,
.solo-eg-theme .commerce-category--accent .commerce-category__arrow {
  color: #fff;
}

.solo-eg-theme .commerce-category--accent .commerce-category__arrow {
  border-color: rgba(255, 255, 255, 0.3);
}

/* ── 7. Story / About ─────────────────────────────────────────── */
.solo-eg-theme .about {
  background: transparent;
  color: var(--cream);
}

.solo-eg-theme .about .section__title,
.solo-eg-theme .about__body,
.solo-eg-theme .about .section__label {
  color: inherit;
}

.solo-eg-theme .about .section__label {
  color: var(--lux-eyebrow);
}

.solo-eg-theme .about__body {
  color: var(--text-light);
  font-size: 1.05rem;
  line-height: 1.8;
}

.solo-eg-theme .about-slider {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
  outline: 1px solid var(--border);
  outline-offset: -1px;
}

.solo-eg-theme .about-slider__slide img {
  border-radius: 0;
}

.solo-eg-theme .about-slider__arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.solo-eg-theme .about-slider__arrow:hover {
  background: #fff;
  color: var(--lux-forest);
}

.solo-eg-theme .about-slider__dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.5);
  transition: width 0.3s var(--lux-ease), background 0.3s;
}

.solo-eg-theme .about-slider__dot.active {
  width: 26px;
  background: #fff;
}

.solo-eg-theme .about__badge {
  border-radius: 24px;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  box-shadow: var(--shadow-sm);
  color: var(--cream);
}

.solo-eg-theme .about__badge-num {
  font-family: var(--font-serif);
  color: var(--gold);
}

.solo-eg-theme .home-story-locations__title {
  font-size: 1rem;
  font-family: var(--font-sans);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-light);
}

.solo-eg-theme .about-location {
  border-radius: 24px;
  border: 1px solid var(--border);
  box-shadow: none;
  transition: transform 0.4s var(--lux-ease), box-shadow 0.4s var(--lux-ease);
}

.solo-eg-theme .about-location:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-sm);
}

.solo-eg-theme .about-location--light {
  background: var(--bg-card);
  color: var(--cream);
}

.solo-eg-theme .about-location--light span:last-child {
  color: var(--text-light);
}

.solo-eg-theme .about-location--dark {
  background: linear-gradient(145deg, var(--lux-forest), #1f4a37);
  border-color: transparent;
  color: #fff;
}

.solo-eg-theme .about-location__icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: rgba(31, 122, 74, 0.1);
  color: var(--gold);
}

.solo-eg-theme .about-location--dark .about-location__icon {
  background: rgba(255, 255, 255, 0.12);
  color: var(--lux-gold-soft);
}

.solo-eg-theme .about-location__icon svg {
  width: 26px;
  height: 26px;
}

.solo-eg-theme .about-location strong {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 500;
}

/* Stats strip */
.solo-eg-theme .home-story-stats-section {
  padding: 0 0 clamp(40px, 5vw, 72px);
  background: transparent;
}

.solo-eg-theme .about__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  padding: 0;
  border: 0;
  background: transparent;
}

.solo-eg-theme .about__stat {
  padding: 26px 28px;
  border: 1px solid var(--border);
  border-left: 1px solid var(--border);
  border-radius: 24px;
  background: var(--bg-card);
}

html[dir="rtl"] .solo-eg-theme .about__stat {
  border-right: 1px solid var(--border);
}

.solo-eg-theme .about__stat-num {
  font-family: var(--font-serif);
  font-size: clamp(2.2rem, 3.5vw, 3rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  color: var(--gold);
}

.solo-eg-theme .about__stat-label {
  color: var(--text-light);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* ── 8. Services ──────────────────────────────────────────────── */
.solo-eg-theme .services {
  background: transparent;
}

.solo-eg-theme .services__bg-shape {
  border-color: var(--border);
  opacity: 0.6;
}

.solo-eg-theme .services__tabs {
  margin: 0 auto 44px;
  padding: 6px;
  gap: 4px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--bg-card);
  box-shadow: var(--shadow-sm);
}

.solo-eg-theme .tab-btn {
  padding: 11px 22px;
  border-radius: 999px;
  color: var(--text-light);
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.solo-eg-theme .tab-btn:hover {
  color: var(--cream);
  background: rgba(18, 42, 31, 0.05);
}

.solo-eg-theme .tab-btn.active {
  background: var(--lux-forest);
  color: #fff;
  box-shadow: 0 10px 24px -12px rgba(18, 42, 31, 0.6);
}

[data-theme="dark"] .solo-eg-theme .tab-btn.active {
  background: var(--gold);
  color: #082015;
}

.solo-eg-theme .service-card {
  border-radius: 28px;
  border: 1px solid var(--border);
  background: var(--bg-card);
  box-shadow: none;
  overflow: hidden;
  transition: transform 0.45s var(--lux-ease), box-shadow 0.45s var(--lux-ease), border-color 0.3s;
}

.solo-eg-theme .service-card--link:hover {
  transform: translateY(-6px);
  border-color: rgba(31, 122, 74, 0.3);
  box-shadow: var(--shadow);
}

.solo-eg-theme .service-card__img {
  border-radius: 0;
}

.solo-eg-theme .service-card__img img {
  transition: transform 1s var(--lux-ease);
}

.solo-eg-theme .service-card:hover .service-card__img img {
  transform: scale(1.05);
}

.solo-eg-theme .service-card__overlay {
  background: linear-gradient(180deg, rgba(11, 26, 19, 0) 40%, rgba(11, 26, 19, 0.6) 100%);
}

.solo-eg-theme .service-card__view {
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--lux-forest);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.solo-eg-theme .service-card__tag {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(201, 163, 90, 0.12);
  color: var(--lux-eyebrow);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.solo-eg-theme .service-card__title {
  font-size: clamp(1.4rem, 1.8vw, 1.8rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--cream);
}

.solo-eg-theme .service-card__desc {
  color: var(--text-light);
  line-height: 1.7;
}

.solo-eg-theme .service-card__footer {
  padding-top: 16px;
  border-top: 1px dashed var(--border);
}

.solo-eg-theme .service-card__duration {
  color: var(--text-light);
  font-size: 0.82rem;
  font-weight: 600;
}

.solo-eg-theme .service-card__price {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--cream);
}

.solo-eg-theme .service-card__shop-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  margin-top: 18px;
  padding: 12px 22px;
  border-radius: 999px;
  border: 1.5px solid var(--border);
  background: transparent;
  color: var(--cream);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: background 0.3s, color 0.3s, border-color 0.3s, transform 0.3s var(--lux-ease);
}

.solo-eg-theme .service-card__shop-cta:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
  transform: translateY(-2px);
}

.solo-eg-theme .services-slider__arrow {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--bg-card);
  color: var(--cream);
  box-shadow: var(--shadow-sm);
}

.solo-eg-theme .services-slider__arrow:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
}

.solo-eg-theme .services-slider__dots button,
.solo-eg-theme .services-slider__dots span {
  border-radius: 999px;
}

/* ── 9. Grand Tours promo ─────────────────────────────────────── */
.solo-eg-theme .grand-tours-promo {
  background: transparent;
}

.solo-eg-theme .grand-tours-promo__all {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 22px;
  border-radius: 999px;
  border: 1.5px solid var(--border);
  background: var(--bg-card);
  color: var(--cream);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: border-color 0.3s, color 0.3s, transform 0.3s var(--lux-ease);
}

.solo-eg-theme .grand-tours-promo__all:hover {
  border-color: var(--gold);
  color: var(--gold);
  transform: translateY(-2px);
}

.solo-eg-theme .grand-tour-ad {
  border-radius: 28px;
  border: 0;
  box-shadow: var(--shadow-sm);
  transition: transform 0.5s var(--lux-ease), box-shadow 0.5s var(--lux-ease);
}

.solo-eg-theme .grand-tour-ad:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
}

.solo-eg-theme .grand-tour-ad__shade {
  background: linear-gradient(180deg, rgba(11, 26, 19, 0.05) 0%, rgba(11, 26, 19, 0.35) 45%, rgba(11, 26, 19, 0.9) 100%);
}

.solo-eg-theme .grand-tour-ad__partner {
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--lux-forest);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.solo-eg-theme .grand-tour-ad__meta {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lux-gold-soft);
}

.solo-eg-theme .grand-tour-ad__content > strong {
  font-family: var(--font-serif);
  font-weight: 500;
  letter-spacing: -0.02em;
}

.solo-eg-theme .grand-tour-ad__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.32);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* ── 10. Offers / packages ───────────────────────────────────── */
.solo-eg-theme .offers-section {
  background: transparent;
}

.solo-eg-theme .offer-card {
  border-radius: 28px;
  border: 1px solid var(--border);
  background: var(--bg-card);
  box-shadow: none;
  overflow: hidden;
  transition: transform 0.45s var(--lux-ease), box-shadow 0.45s var(--lux-ease), border-color 0.3s;
}

.solo-eg-theme .offer-card:hover {
  transform: translateY(-6px);
  border-color: rgba(31, 122, 74, 0.3);
  box-shadow: var(--shadow);
}

.solo-eg-theme .offer-card__img {
  border-radius: 0;
}

.solo-eg-theme .offer-card__media-label {
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--lux-forest);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.solo-eg-theme .offer-card__tag {
  display: inline-flex;
  width: fit-content;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(201, 163, 90, 0.12);
  color: var(--lux-eyebrow);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.solo-eg-theme .offer-card__title {
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--cream);
}

.solo-eg-theme .offer-card__desc,
.solo-eg-theme .offer-featured__desc {
  color: var(--text-light);
}

.solo-eg-theme .offer-list li {
  color: var(--cream-2);
}

.solo-eg-theme .perk-icon {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(31, 122, 74, 0.12);
  color: var(--gold);
  font-size: 0.68rem;
  font-weight: 800;
}

.solo-eg-theme .offer-card__footer {
  border-top: 1px dashed var(--border);
}

.solo-eg-theme .offer-price__current {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--cream);
}

.solo-eg-theme .offer-price__was {
  color: var(--text-light);
}

.solo-eg-theme .offer-featured {
  border-radius: var(--radius-xl);
  border: 1px solid var(--border);
  background: var(--bg-card);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.solo-eg-theme .offer-featured__img {
  border-radius: 0;
}

.solo-eg-theme .offer-featured h2 {
  font-weight: 500;
  letter-spacing: -0.025em;
  color: var(--cream);
}

/* ── 11. Promise banner ───────────────────────────────────────── */
.solo-eg-theme .parallax-banner {
  width: min(100% - 48px, 1280px);
  margin: 0 auto;
  border-radius: var(--radius-xl);
  overflow: hidden;
  box-shadow: var(--shadow);
  isolation: isolate;
}

.solo-eg-theme .parallax-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(11, 26, 19, 0.35), rgba(11, 26, 19, 0.7));
}

.solo-eg-theme .parallax-banner__content {
  position: relative;
  z-index: 2;
}

.solo-eg-theme .parallax-banner .section__label {
  color: var(--lux-gold-soft);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(231, 211, 163, 0.35);
}

.solo-eg-theme .parallax-banner__title {
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  color: #fff;
}

/* ── 12. Visual stories ───────────────────────────────────────── */
.solo-eg-theme .gallery {
  background: transparent;
}

.solo-eg-theme .gallery__video-card {
  border-radius: 28px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}

.solo-eg-theme .gallery__video-toggle {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--lux-forest);
  border: 0;
  box-shadow: 0 12px 30px -10px rgba(0, 0, 0, 0.5);
}

.solo-eg-theme .gallery__video-title {
  font-family: var(--font-sans);
  font-weight: 700;
}

.solo-eg-theme .gallery__nav {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid var(--border);
  background: var(--bg-card);
  color: var(--cream);
  box-shadow: var(--shadow-sm);
}

/* ── 13. Testimonials ─────────────────────────────────────────── */
.solo-eg-theme .testimonials {
  background: transparent;
}

/* Keep the testimonials heading readable after the legacy dark-section rules. */
.solo-eg-theme .testimonials .section__title {
  color: var(--cream);
}

.solo-eg-theme .testimonials .section__label {
  color: var(--lux-eyebrow);
}

.solo-eg-theme .testimonial-card {
  position: relative;
  padding: clamp(28px, 3vw, 44px);
  border-radius: 28px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-sm);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.solo-eg-theme .testimonial-card::before {
  content: "\201C";
  position: absolute;
  top: 10px;
  inset-inline-start: 24px;
  font-family: var(--font-serif);
  font-size: 7rem;
  line-height: 1;
  color: rgba(201, 163, 90, 0.16);
  pointer-events: none;
}

.solo-eg-theme .testimonial-card__stars {
  color: var(--lux-gold);
  letter-spacing: 0.1em;
}

.solo-eg-theme .testimonial-card__text {
  font-family: var(--font-serif);
  font-size: clamp(1.15rem, 1.6vw, 1.45rem);
  font-weight: 400;
  font-variation-settings: "SOFT" 100, "opsz" 24;
  line-height: 1.55;
  color: var(--cream);
}

.solo-eg-theme .testimonial-card__author img {
  border-radius: 50%;
  outline: 3px solid rgba(201, 163, 90, 0.3);
}

.solo-eg-theme .testimonial-card__author strong {
  font-family: var(--font-sans);
  font-weight: 700;
  color: var(--cream);
}

.solo-eg-theme .testimonial-card__author small {
  color: var(--text-light);
}

.solo-eg-theme .testimonials__dots button,
.solo-eg-theme .testimonials__dots span {
  border-radius: 999px;
}

/* ── 14. Booking ──────────────────────────────────────────────── */
.solo-eg-theme .booking {
  background: transparent;
}

.solo-eg-theme .booking .container {
  padding: clamp(32px, 4vw, 64px);
  border-radius: var(--radius-xl);
  background:
    radial-gradient(50rem 30rem at 0% 0%, rgba(159, 193, 171, 0.3), transparent 60%),
    var(--bg-section2);
  border: 1px solid var(--border);
}

[data-theme="dark"] .solo-eg-theme .booking .container {
  background:
    radial-gradient(50rem 30rem at 0% 0%, rgba(79, 181, 122, 0.12), transparent 60%),
    var(--bg-section);
}

.solo-eg-theme .booking__desc {
  color: var(--text-light);
  font-size: 1.05rem;
  line-height: 1.75;
}

.solo-eg-theme .booking__perks li {
  color: var(--cream-2);
  font-weight: 500;
}

.solo-eg-theme .booking__contact-info .bci {
  padding: 14px 16px;
  border-radius: 18px;
  background: var(--bg-card);
  border: 1px solid var(--border);
}

.solo-eg-theme .booking__contact-info .bci strong {
  color: var(--text-light);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.solo-eg-theme .booking__contact-info .bci a,
.solo-eg-theme .booking__contact-info .bci span + div span {
  color: var(--cream);
}

.solo-eg-theme .booking__form-wrap {
  padding: clamp(28px, 3vw, 44px);
  border-radius: 28px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.solo-eg-theme .booking__form-title {
  font-size: clamp(1.6rem, 2.4vw, 2.1rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--cream);
}

/* Form controls */
.solo-eg-theme .form__group > label,
.solo-eg-theme .payment-choice-fieldset legend {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-light);
}

.solo-eg-theme .form__group input,
.solo-eg-theme .form__group select,
.solo-eg-theme .form__group textarea {
  min-height: 52px;
  padding: 14px 18px;
  border-radius: 16px;
  border: 1.5px solid var(--input-border);
  background: var(--input-bg);
  color: var(--cream);
  font-family: var(--font-sans);
  font-size: 0.95rem;
  transition: border-color 0.3s, box-shadow 0.3s, background 0.3s;
}

.solo-eg-theme .form__group textarea {
  min-height: 110px;
}

.solo-eg-theme .form__group input:focus,
.solo-eg-theme .form__group select:focus,
.solo-eg-theme .form__group textarea:focus {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 4px rgba(31, 122, 74, 0.14);
}

.solo-eg-theme .form__group.error input,
.solo-eg-theme .form__group.error select,
.solo-eg-theme .form__group.error textarea {
  border-color: #d2543f;
  box-shadow: 0 0 0 4px rgba(210, 84, 63, 0.12);
}

.solo-eg-theme .form__error {
  color: #d2543f;
}

.solo-eg-theme .payment-choice {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1.5px solid var(--input-border);
  background: var(--input-bg);
  color: var(--cream);
  font-size: 0.86rem;
  font-weight: 600;
  line-height: 1.35;
  text-transform: none;
  letter-spacing: 0;
  transition: border-color 0.3s, background 0.3s;
}

.solo-eg-theme .form__checkbox {
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.9rem;
  color: var(--cream-2);
}

.solo-eg-theme .payment-choice:hover {
  border-color: var(--gold);
}

.solo-eg-theme .payment-choice:has(input:checked) {
  border-color: var(--gold);
  background: rgba(31, 122, 74, 0.08);
}

.solo-eg-theme .payment-choice__mark {
  display: inline-block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
}

.solo-eg-theme .payment-choice > span:last-child {
  flex: 1 1 auto;
}

.solo-eg-theme .form__checkbox input[type="checkbox"] {
  border-radius: 6px;
  accent-color: var(--gold);
}

/* ── 15. Contact ──────────────────────────────────────────────── */
.solo-eg-theme .contact {
  background: transparent;
}

.solo-eg-theme .contact__card {
  padding: 32px 28px;
  border-radius: 28px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: transform 0.4s var(--lux-ease), box-shadow 0.4s var(--lux-ease), border-color 0.3s;
}

.solo-eg-theme .contact__card:hover {
  transform: translateY(-4px);
  border-color: rgba(31, 122, 74, 0.3);
  box-shadow: var(--shadow-sm);
}

.solo-eg-theme .contact__card-icon {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  margin: 0 auto 18px;
  border-radius: 20px;
  background: rgba(31, 122, 74, 0.1);
  font-size: 1.6rem;
}

.solo-eg-theme .contact__card h4 {
  font-size: 1.3rem;
  font-weight: 500;
  color: var(--cream);
}

.solo-eg-theme .contact__card p,
.solo-eg-theme .contact__card a {
  color: var(--text-light);
}

.solo-eg-theme .contact__card a:hover {
  color: var(--gold);
}

.solo-eg-theme .contact__map {
  border-radius: var(--radius-xl);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  overflow: hidden;
}

/* ── 16. Footer ───────────────────────────────────────────────── */
.solo-eg-theme .footer--rich {
  width: min(100% - 32px, 1400px);
  margin: 0 auto 16px;
  border-radius: var(--radius-xl);
  background:
    radial-gradient(60rem 40rem at 100% 0%, rgba(79, 181, 122, 0.14), transparent 60%),
    radial-gradient(40rem 30rem at 0% 100%, rgba(201, 163, 90, 0.1), transparent 60%),
    var(--lux-forest);
  color: #f3f1ea;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.solo-eg-theme .footer--rich::before,
.solo-eg-theme .footer--rich::after {
  display: none;
}

.solo-eg-theme .footer__top {
  padding-top: clamp(64px, 7vw, 96px);
  padding-bottom: clamp(40px, 4vw, 56px);
}

.solo-eg-theme .footer__grid {
  gap: clamp(32px, 4vw, 56px);
}

.solo-eg-theme .footer__brand {
  border-inline-end: 0;
  padding-inline-end: 0;
}

.solo-eg-theme .footer__brand-title {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #fff;
}

.solo-eg-theme .footer__brand-tagline {
  color: var(--lux-gold-soft);
}

.solo-eg-theme .footer__brand-desc {
  color: rgba(243, 241, 234, 0.7);
  line-height: 1.75;
}

.solo-eg-theme .footer--rich .social-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  transition: background 0.3s, border-color 0.3s, transform 0.3s var(--lux-ease);
}

.solo-eg-theme .footer--rich .social-btn:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: #fff;
  transform: translateY(-3px);
}

.solo-eg-theme .footer__col h5 {
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lux-gold-soft);
}

.solo-eg-theme .footer__col h5::after {
  display: none;
}

.solo-eg-theme .footer__links a {
  color: rgba(243, 241, 234, 0.74);
  transition: color 0.3s, transform 0.3s var(--lux-ease);
}

.solo-eg-theme .footer__links a:hover {
  color: #fff;
}

.solo-eg-theme .footer__link-icon {
  color: var(--gold-light);
}

.solo-eg-theme .footer__contact-label {
  color: rgba(243, 241, 234, 0.5);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.solo-eg-theme .footer__branch-value,
.solo-eg-theme .footer__address-link {
  color: rgba(243, 241, 234, 0.86);
}

.solo-eg-theme .footer__bottom {
  margin: 0 clamp(24px, 4vw, 48px);
  padding: 24px 0 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(243, 241, 234, 0.55);
  font-size: 0.82rem;
}

.solo-eg-theme .footer__bottom a {
  color: rgba(243, 241, 234, 0.8);
}

.solo-eg-theme .footer__bottom a:hover,
.solo-eg-theme .footer__legal a:hover {
  color: var(--lux-gold-soft);
}

.solo-eg-theme .footer__legal a {
  color: rgba(243, 241, 234, 0.6);
}

/* ── 17. Inner page hero ──────────────────────────────────────── */
.solo-eg-theme .page-hero {
  padding: 150px 0 72px;
  background: transparent;
}

.solo-eg-theme .page-hero__content,
html[dir="rtl"] .solo-eg-theme .page-hero__content {
  margin: 0 auto;
  width: min(100% - 48px, 1280px);
  padding: 0 clamp(12px, 3vw, 48px);
  max-width: none;
}

.solo-eg-theme .page-hero__title,
.solo-eg-theme .page-hero__desc {
  max-width: 720px;
}

.solo-eg-theme .page-hero__bg {
  inset: 100px max(14px, 2vw) 0;
  border-radius: var(--radius-xl);
  animation: none;
}

.solo-eg-theme .page-hero__overlay {
  inset: 100px max(14px, 2vw) 0;
  border-radius: var(--radius-xl);
  background: linear-gradient(180deg, rgba(11, 26, 19, 0.45), rgba(11, 26, 19, 0.85));
}

[data-theme="light"] .solo-eg-theme .page-hero__overlay {
  background: linear-gradient(180deg, rgba(11, 26, 19, 0.45), rgba(11, 26, 19, 0.85));
}

.solo-eg-theme .page-hero__title {
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: #fff;
}

html[lang="ar"] .solo-eg-theme .page-hero__title {
  letter-spacing: 0;
  line-height: 1.3;
}

.solo-eg-theme .page-hero__desc {
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.05rem;
}

.solo-eg-theme .page-hero__label {
  color: var(--lux-gold-soft);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(231, 211, 163, 0.35);
}

.solo-eg-theme .page-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.74rem;
  font-weight: 600;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.solo-eg-theme .page-breadcrumb a:hover {
  color: var(--lux-gold-soft);
}

.solo-eg-theme .page-hero__media {
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 30px 70px -20px rgba(0, 0, 0, 0.6);
}

/* ── 18. Floating chrome: FAB, music, modal ───────────────────── */
.solo-eg-theme .fab:hover {
  transform: translateY(-8px) scale(1.08);
}

.solo-eg-theme .music-player__btn.playing {
  box-shadow:
    0 16px 30px -12px rgba(8, 24, 16, 0.58),
    0 0 0 5px rgba(255, 248, 238, 0.08),
    0 0 26px rgba(62, 196, 122, 0.55),
    inset 0 1px 0 rgba(255, 248, 220, 0.55);
}

.solo-eg-theme .modal__box {
  border-radius: 28px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.solo-eg-theme .modal__backdrop {
  background: rgba(11, 26, 19, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.solo-eg-theme .modal__close {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(18, 42, 31, 0.06);
  color: var(--cream);
}

[data-theme="dark"] .solo-eg-theme .modal__close {
  background: rgba(255, 255, 255, 0.08);
}

.solo-eg-theme .modal__icon {
  border-radius: 50%;
  background: rgba(31, 122, 74, 0.12);
  color: var(--gold);
}

.solo-eg-theme .modal__title {
  color: var(--cream);
}

.solo-eg-theme .booking-flow__steps span i {
  border-radius: 50%;
}

.solo-eg-theme .booking-flow__steps span.is-active i {
  background: var(--gold);
  color: #fff;
}

.solo-eg-theme .booking-selection {
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--bg-section2);
}

.solo-eg-theme .booking-selection__image {
  border-radius: 12px;
}

/* ── 19. Legal / CMS content ─────────────────────────────────── */
.solo-eg-theme .cms-content,
.solo-eg-theme .rte-content {
  color: var(--cream-2);
}

.solo-eg-theme .cms-content h2,
.solo-eg-theme .cms-content h3,
.solo-eg-theme .legal-page__section h2 {
  color: var(--cream);
}

.solo-eg-theme .cms-content a,
.solo-eg-theme .rte-content a {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ── 20. Motion & accessibility ───────────────────────────────── */
.solo-eg-theme :focus-visible {
  outline: 3px solid rgba(31, 122, 74, 0.45);
  outline-offset: 3px;
  border-radius: 6px;
}

@media (prefers-reduced-motion: reduce) {
  .solo-eg-theme *,
  .solo-eg-theme *::before,
  .solo-eg-theme *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ── 21. Responsive refinements ───────────────────────────────── */
@media (max-width: 768px) {
  .solo-eg-theme .container {
    width: min(100% - 32px, 1280px);
  }

  .solo-eg-theme .marquee-wrap,
  .solo-eg-theme .parallax-banner {
    width: min(100% - 32px, 1280px);
  }

  .solo-eg-theme .footer--rich {
    width: calc(100% - 16px);
    margin: 0 auto 8px;
    border-radius: 28px;
  }

  .solo-eg-theme .booking .container {
    padding: 24px 18px;
    border-radius: 28px;
  }

  .solo-eg-theme .nav {
    top: 10px;
    left: 10px;
    right: 10px;
    min-height: 64px;
    padding: 6px 8px 6px 12px;
  }

  html[dir="rtl"] .solo-eg-theme .nav {
    padding: 6px 12px 6px 8px;
  }

  .solo-eg-theme .nav__logo-mark,
  .solo-eg-theme .nav__logo-img {
    width: 50px;
    height: 50px;
  }

  .solo-eg-theme .section__title {
    font-size: clamp(2rem, 8.5vw, 2.8rem);
  }

  .solo-eg-theme .service-card,
  .solo-eg-theme .offer-card,
  .solo-eg-theme .testimonial-card,
  .solo-eg-theme .contact__card,
  .solo-eg-theme .commerce-category,
  .solo-eg-theme .about-location,
  .solo-eg-theme .grand-tour-ad {
    border-radius: 22px;
  }

  .solo-eg-theme .commerce-category {
    padding: 18px 16px;
  }

  .solo-eg-theme .commerce-category__arrow {
    margin-top: 4px;
    width: 34px;
    height: 34px;
  }

  .solo-eg-theme .commerce-category__copy strong {
    font-size: 1.1rem;
  }

  .solo-eg-theme .page-hero__bg,
  .solo-eg-theme .page-hero__overlay {
    inset: 86px 10px 0;
    border-radius: 24px;
  }
}
/* ── Solo Spa shop & cart ───────────────────────────────────────────── */
.nav-cart{position:relative;width:42px;height:42px;display:grid;place-items:center;border:0;background:transparent;color:inherit;cursor:pointer}.nav-cart svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.nav-cart svg circle{fill:currentColor;stroke:none}.nav-cart [data-cart-count]{position:absolute;inset-block-start:0;inset-inline-end:0;min-width:18px;height:18px;padding:0 4px;border-radius:20px;background:#0b4d37;color:#fff;font:700 11px/18px Manrope,Cairo,sans-serif;text-align:center}
.cart-backdrop{position:fixed;inset:0;background:rgba(2,22,15,.48);opacity:0;transition:.25s;z-index:9998}.cart-backdrop.is-open{opacity:1}.cart-drawer{position:fixed;top:0;bottom:0;inset-inline-end:0;width:min(440px,100%);z-index:9999;background:#faf8f1;color:#102c21;box-shadow:0 0 50px rgba(0,0,0,.2);display:grid;grid-template-rows:auto 1fr auto;transform:translateX(105%);transition:transform .35s cubic-bezier(.22,.7,.2,1)}[dir=rtl] .cart-drawer{transform:translateX(-105%)}.cart-drawer.is-open{transform:none}.cart-drawer>header{padding:26px 28px 20px;border-bottom:1px solid #d9ddd5;display:flex;justify-content:space-between;align-items:center}.cart-drawer>header small{font:700 10px/1 Manrope,Cairo,sans-serif;letter-spacing:.2em;color:#527063}.cart-drawer>header h2{font:500 30px/1.2 Fraunces,Cairo,serif;margin:7px 0 0}.cart-drawer>header button{border:0;background:transparent;font-size:34px;font-weight:200;color:#173b2d;cursor:pointer}.cart-drawer__items{overflow:auto;padding:8px 28px}.cart-item{position:relative;display:grid;grid-template-columns:82px 1fr auto;gap:14px;padding:18px 22px 18px 0;border-bottom:1px solid #dde1d8;align-items:center}.cart-item>img,.cart-item__placeholder{width:82px;height:92px;border-radius:10px;object-fit:cover;background:#edf0e7;display:grid;place-items:center;font:500 18px Fraunces,serif;color:#365846}.cart-item__copy{display:flex;flex-direction:column;gap:5px}.cart-item__copy strong{font-size:14px}.cart-item__copy small{color:#62766c}.cart-item>strong{font-size:13px;white-space:nowrap}.cart-remove{position:absolute;top:14px;inset-inline-end:0;border:0;background:none;font-size:22px;color:#819087;cursor:pointer}.cart-qty{display:flex;align-items:center;border:1px solid #cad2ca;border-radius:30px;width:max-content;margin-top:5px}.cart-qty button{width:28px;height:26px;border:0;background:none;color:#164a36;cursor:pointer}.cart-qty span{min-width:24px;text-align:center;font-size:12px}.cart-empty{height:100%;display:flex;min-height:320px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.cart-empty>span{font-size:46px;color:#286449}.cart-empty h3{font:500 28px Fraunces,Cairo,serif;margin:12px 0 4px}.cart-empty p{color:#718078;font-size:13px}.cart-drawer>footer{padding:22px 28px 26px;border-top:1px solid #d9ddd5}.cart-drawer__total{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cart-drawer__total strong{font:600 20px Fraunces,Cairo,serif}.cart-checkout{background:#0b4d37;color:#fff!important;border-radius:30px;min-height:50px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:700;text-decoration:none}.cart-continue{display:block;text-align:center;color:#0b4d37!important;font-size:12px;text-decoration:underline;margin-top:13px}.cart-open{overflow:hidden}
.shop-shell{background:#f7f5ee;color:#112e23;min-height:70vh;padding-top:var(--nav-height,76px)}.shop-hero{min-height:540px;display:flex;align-items:center;padding:70px max(5vw,24px);background:linear-gradient(90deg,rgba(5,37,26,.94) 0%,rgba(5,37,26,.72) 48%,rgba(5,37,26,.08) 76%),url('../uploads/services/Hot-Stones-Massage-1-8832db76.webp') center/cover}.shop-hero__content{max-width:600px;color:#fff}.shop-kicker{font:700 11px/1.2 Manrope,Cairo,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#3d705a;margin:0 0 10px}.shop-hero .shop-kicker{color:#dbe7d8}.shop-hero h1,.shop-section-heading h2,.product-detail h1,.checkout-page h1{font:500 clamp(44px,6vw,76px)/.94 Fraunces,Cairo,serif;letter-spacing:-.035em;margin:0}.shop-hero p:not(.shop-kicker){max-width:470px;font-size:16px;line-height:1.7;margin:22px 0;color:#e6ece5}.shop-pill{display:inline-flex;align-items:center;gap:18px;border-radius:30px;background:#fff;color:#143b2d!important;padding:14px 24px;text-decoration:none;font-weight:700;font-size:13px}.shop-catalog{max-width:1400px;margin:auto;padding:70px max(4vw,20px) 100px}.shop-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:34px}.shop-section-heading h2{font-size:clamp(38px,4vw,58px)}.shop-filters{display:flex;gap:8px;flex-wrap:wrap}.shop-filters button{border:1px solid #cbd3cb;background:transparent;border-radius:22px;padding:9px 17px;color:#315344;cursor:pointer}.shop-filters button.is-active{background:#0b4d37;color:#fff;border-color:#0b4d37}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product-card{background:#fff;border:1px solid #e1e2dc;border-radius:14px;overflow:hidden;box-shadow:0 6px 20px rgba(20,52,39,.04)}.product-card__image{height:300px;background:#e7e9df;display:block;position:relative;overflow:hidden}.product-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.product-card:hover .product-card__image img{transform:scale(1.035)}.product-card__placeholder{height:100%;display:grid;place-items:center;font:500 36px Fraunces,serif;color:#668070}.product-card__image em{position:absolute;top:12px;inset-inline-start:12px;background:#fff4d9;color:#684e11;border-radius:16px;padding:5px 11px;font-style:normal;font-size:11px;font-weight:700}.product-card__body{padding:15px}.product-card__body small{color:#668073;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.product-card__body h3{font-size:16px;margin:5px 0 10px}.product-card__body h3 a{color:inherit;text-decoration:none}.product-card__price{display:flex;align-items:center;gap:8px;margin-bottom:13px}.product-card__price strong{color:#0b4d37}.product-card__price del{font-size:12px;color:#98a29c}.product-add{width:100%;border:0;border-radius:24px;min-height:42px;padding:0 18px;background:#0b4d37;color:white;display:flex;align-items:center;justify-content:space-between;font:700 12px Manrope,Cairo,sans-serif;cursor:pointer}.product-add:disabled{background:#a8b2ac;cursor:not-allowed}.product-add.is-loading{opacity:.65}.shop-empty{text-align:center;padding:80px 20px;border:1px dashed #bdc8be;border-radius:15px}.shop-empty span{font-size:45px}.shop-empty h3{font:500 30px Fraunces,Cairo,serif;margin:15px 0 7px}.shop-empty p{color:#65776e}
.product-detail{padding-bottom:90px}.product-back{display:block;max-width:1320px;margin:0 auto;padding:32px max(4vw,20px) 20px;color:#174d38;text-decoration:none;font-size:13px}.product-detail__grid{max-width:1250px;margin:auto;padding:0 max(4vw,20px);display:grid;grid-template-columns:1.1fr .9fr;gap:55px}.product-gallery__main{height:620px;border-radius:18px;overflow:hidden;background:#e7e9df;display:grid;place-items:center;font:500 50px Fraunces,serif}.product-gallery__main img{width:100%;height:100%;object-fit:cover}.product-gallery__thumbs{display:flex;gap:10px;margin-top:12px}.product-gallery__thumbs button{width:90px;height:76px;padding:0;border:2px solid transparent;border-radius:9px;overflow:hidden;background:none}.product-gallery__thumbs button.is-active{border-color:#0b4d37}.product-gallery__thumbs img{width:100%;height:100%;object-fit:cover}.product-detail__info{padding-top:45px}.product-detail h1{font-size:clamp(42px,5vw,70px)}.product-detail__lead{color:#536b60;line-height:1.8;font-size:16px}.product-detail__price{display:flex;align-items:center;gap:15px;margin:25px 0}.product-detail__price strong{font:600 28px Fraunces,Cairo,serif}.product-detail__price del{color:#87938c}.product-detail__buy{display:grid;grid-template-columns:90px 1fr;gap:10px}.product-detail__buy input{border:1px solid #cad2ca;border-radius:25px;background:white;padding:0 15px;text-align:center}.product-detail__benefits{display:grid;gap:9px;padding:24px 0;border-bottom:1px solid #d7ddd6;color:#365b4a;font-size:13px}.product-detail__description{line-height:1.8;padding-top:20px;color:#455f53}.checkout-page{padding-bottom:100px}.checkout-grid{max-width:1180px;margin:auto;padding:0 max(4vw,20px);display:grid;grid-template-columns:1fr 420px;gap:50px}.checkout-form h1{font-size:58px;margin-bottom:30px}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.checkout-fields label{font-weight:700;font-size:12px}.checkout-fields label.wide{grid-column:1/-1}.checkout-fields input,.checkout-fields textarea{display:block;width:100%;margin-top:7px;background:#fff;border:1px solid #cdd5ce;border-radius:9px;padding:13px;font:inherit}.checkout-fields textarea{min-height:85px;resize:vertical}.shop-checkout-submit{width:100%;min-height:52px;margin-top:20px;border:0;border-radius:27px;background:#0b4d37;color:#fff;display:flex;align-items:center;justify-content:center;gap:15px;font-weight:700;cursor:pointer}.checkout-note{display:block;text-align:center;color:#687970;margin-top:10px}.checkout-error{background:#fbe7e4;color:#8f2e25;padding:12px;border-radius:8px}.checkout-summary{background:#fff;border:1px solid #dde1db;border-radius:15px;padding:24px;height:max-content}.checkout-summary h2{font:500 28px Fraunces,Cairo,serif;margin:0 0 15px}.checkout-item{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e5e8e3}.checkout-item img{width:58px;height:62px;object-fit:cover;border-radius:7px}.checkout-item div{display:flex;flex-direction:column}.checkout-item small{color:#718078}.checkout-item>b{font-size:12px}.checkout-total{display:flex;justify-content:space-between;padding-top:18px}.checkout-total strong{font-size:20px}.checkout-pay{border:0;margin:24px 0 0;padding:0;display:grid;gap:10px}.checkout-pay legend{font-weight:700;font-size:12px;margin-bottom:4px}.checkout-pay-option{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid #cdd5ce;border-radius:12px;padding:14px 16px;cursor:pointer}.checkout-pay-option:has(input:checked){border-color:#0b4d37;background:#f3f8f5;box-shadow:inset 0 0 0 1px #0b4d37}.checkout-pay-option input{margin-top:3px;accent-color:#0b4d37}.checkout-pay-option strong{display:block;font-size:14px}.checkout-pay-option small{display:block;margin-top:4px;color:#66756c;line-height:1.5}.checkout-qty{display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap;align-items:center;width:max-content}.checkout-qty input{width:36px!important;flex:0 0 36px!important;display:inline-block!important;height:26px;border:0;background:transparent;color:#164a36;text-align:center;font:700 13px Manrope,Cairo,sans-serif;padding:0;-moz-appearance:textfield}.checkout-qty input::-webkit-outer-spin-button,.checkout-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.checkout-pay-now{display:flex;justify-content:space-between;margin:10px 0 0;color:#0b4d37;font-size:14px}.checkout-unit{margin-top:4px}.product-detail__buy input{color:#164a36}
@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,1fr)}.checkout-grid{grid-template-columns:1fr}.checkout-summary{order:-1}.product-detail__grid{gap:28px}.product-gallery__main{height:500px}}
@media(max-width:680px){.nav-cart{width:37px;height:37px}.shop-shell{padding-top:70px}.shop-hero{min-height:480px;padding:55px 24px;background:linear-gradient(0deg,rgba(5,37,26,.88),rgba(5,37,26,.35)),url('../uploads/services/Hot-Stones-Massage-1-8832db76.webp') center/cover}.shop-hero h1{font-size:48px}.shop-section-heading{display:block}.shop-filters{margin-top:20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-card__image{height:190px}.product-card__body{padding:11px}.product-card__body h3{font-size:13px}.product-card__price{display:block}.product-add{padding:0 12px}.product-detail__grid{grid-template-columns:1fr;padding:0 18px}.product-gallery__main{height:390px}.product-detail__info{padding-top:5px}.product-detail h1{font-size:44px}.checkout-fields{grid-template-columns:1fr}.checkout-grid{padding:0 18px}.checkout-form h1{font-size:46px}.cart-drawer>header,.cart-drawer>footer{padding-inline:20px}.cart-drawer__items{padding-inline:20px}}
.home-shop-preview{background:#f7f5ee;max-width:none;padding-inline:max(5vw,24px)}.home-shop-preview>.shop-section-heading,.home-shop-preview>.product-grid{max-width:1400px;margin-inline:auto}.home-shop-preview>.shop-section-heading{margin-bottom:34px}.home-shop-link{color:#0b4d37;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.shop-hero p.shop-hero__ship{display:inline-flex;align-items:center;max-width:none;gap:8px;margin:4px 0 22px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#f4f8f2;font:600 13px/1.35 Manrope,Cairo,sans-serif}
.shop-shipping-note{display:flex;align-items:flex-start;gap:12px;max-width:1400px;margin:0 auto 28px;padding:14px 18px;border:1px solid #d5e3d8;border-radius:14px;background:#f3f8f4;color:#1d4a36;font-size:14px;line-height:1.55}
.shop-shipping-note strong{display:block;margin-bottom:2px}
.cart-shipping-note{margin:0 0 14px;color:#3d6554;font-size:12px;line-height:1.5}
.checkout-wrap{max-width:1180px;margin:0 auto;padding:0 max(4vw,20px) 80px}
.checkout-page .product-back{max-width:none;margin:0;padding:28px 0 8px}
.checkout-head{margin-bottom:28px}
.checkout-head h1{font-size:clamp(40px,5vw,58px);margin:0 0 16px}
.checkout-notice{display:grid;gap:4px;margin:0;padding:14px 16px;border-radius:14px;background:#eef6f0;border:1px solid #d4e5d8;color:#1d4736;font-size:14px;line-height:1.55}
.checkout-notice strong{display:block}
.checkout-empty{max-width:520px;margin:40px auto;padding:48px 28px;background:#fff;border:1px solid #dde1db;border-radius:18px;text-align:center}
.checkout-empty h2{font:500 32px Fraunces,Cairo,serif;margin:0 0 8px}
.checkout-empty p{color:#66756c;margin:0 0 22px}
.checkout-empty .shop-checkout-submit{max-width:280px;margin:0 auto;text-decoration:none}
.checkout-page .checkout-grid{max-width:none;margin:0;padding:0;gap:24px;align-items:start;grid-template-columns:minmax(0,1fr) 360px}
.checkout-card,.checkout-page .checkout-summary{background:#fff;border:1px solid #dde1db;border-radius:18px;padding:26px}
.checkout-page .checkout-summary{position:sticky;top:96px}
.checkout-card h2,.checkout-page .checkout-summary h2{font:500 22px Fraunces,Cairo,serif;margin:0 0 18px}
.checkout-fields{gap:14px}
.checkout-fields label{color:#355445;letter-spacing:.02em}
.checkout-hint{display:block;margin-top:6px;font-weight:500;color:#5f7468;font-size:12px;line-height:1.45}
.checkout-page .checkout-item{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"img copy price" "img qty price";gap:8px 12px;align-items:center;padding:14px 0}
.checkout-page .checkout-item img{grid-area:img;width:64px;height:72px;border-radius:10px}
.checkout-item__copy{grid-area:copy;min-width:0}
.checkout-page .checkout-item div.checkout-item__copy{display:flex;flex-direction:column;gap:4px}
.checkout-item__copy strong{font-size:14px;line-height:1.3}
.checkout-page .checkout-qty{grid-area:qty;margin-top:0}
.checkout-page .checkout-item>b{grid-area:price;font-size:13px;white-space:nowrap}
.checkout-page .checkout-item .checkout-qty{display:inline-flex!important;flex-direction:row!important;align-items:center}
.checkout-breakdown{display:grid;gap:10px;margin:16px 0 0;padding-top:16px;border-top:1px solid #e5e8e3}
.checkout-breakdown>div{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:#4d6358}
.checkout-breakdown .checkout-pay-now{margin:6px 0 0;padding-top:10px;border-top:1px solid #e5e8e3;color:#0b4d37;font-weight:700}
.checkout-breakdown dd{margin:0;font-weight:700;color:#14321c}
.checkout-summary-note{margin:14px 0 0;color:#5f7468;font-size:12px;line-height:1.5}
.checkout-pay{margin-top:22px}
@media(max-width:1000px){.checkout-page .checkout-grid{grid-template-columns:1fr}.checkout-page .checkout-summary{order:-1;position:static}.checkout-wrap{padding-bottom:60px}}
@media(max-width:680px){.checkout-breakdown dd,.checkout-page .checkout-item>b{padding-inline-end:56px}}

.product-detail__grid{align-items:center;gap:40px}
.product-gallery__main{height:auto;aspect-ratio:1;border-radius:28px;background:#ebe6da;box-shadow:0 24px 50px rgba(16,40,31,.08)}
.product-gallery__main img{object-fit:contain;object-position:center;transform:none}
.product-detail h1{font-size:clamp(32px,4vw,48px);max-width:none}
.product-detail__info{padding-top:8px}
.product-detail__lead{font-size:15px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.product-detail__price{margin:18px 0}
.product-detail__benefits{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0 0;border-bottom:0}
.product-detail__benefits span{background:#fff;border:1px solid #e4e0d4;border-radius:999px;padding:8px 12px;color:#1d4a36;font-size:12px;line-height:1.3}
.brand-story{max-width:1250px;margin:8px auto 0;padding:36px max(4vw,20px) 10px;border-top:1px solid #e3dfd3}
.brand-story__title{max-width:20ch;margin:0 0 14px;font:500 clamp(30px,3.6vw,44px)/1.08 Fraunces,Cairo,serif;letter-spacing:-.03em;color:#10281f}
.brand-story__lead{max-width:680px;margin:0 0 28px;color:#3e574c;font-size:16px;line-height:1.75}
.brand-story__label{margin:0 0 14px;font:700 11px/1 Manrope,Cairo,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#8a6a2d}
.brand-story__grid,.brand-story__tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.brand-card,.brand-tile{position:relative;overflow:hidden;background:#fff;border:1px solid #e7e3d8;border-radius:22px;padding:22px 22px 18px 24px;box-shadow:0 14px 34px rgba(16,40,31,.04)}
.brand-card{border-inline-start:3px solid #0d4a34}
.brand-card__index,.brand-tile span{display:block;margin-bottom:8px;font:600 12px/1 Manrope,Cairo,sans-serif;letter-spacing:.18em;color:#a6843d}
.brand-card h3{margin:0 0 12px;font:500 24px/1.15 Fraunces,Cairo,serif;color:#10281f}
.brand-card ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.brand-card li{position:relative;padding-inline-start:16px;color:#3c564b;font-size:14px;line-height:1.45}
.brand-card li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:6px;height:6px;border-radius:50%;background:#0d4a34}
.brand-tile p{margin:0;color:#24382f;font-size:15px;line-height:1.55}
.brand-why{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:28px;align-items:center;margin-top:14px;padding:32px 34px;border-radius:26px;background:#0d4a34;color:#f6f3ea}
.brand-why .brand-story__label{color:#e7d3a1}
.brand-why h3{margin:0;font:500 clamp(28px,3vw,40px)/1.12 Fraunces,Cairo,serif;color:#f6f3ea}
.brand-why p{margin:0;color:#e5efe8;font-size:16px;line-height:1.7}
.brand-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0 0;background:#fff;border:1px solid #e7e3d8;border-radius:22px;overflow:hidden}
.brand-specs div{padding:18px 20px;border-inline-end:1px solid #eeeae1;border-bottom:1px solid #eeeae1}
.brand-specs dt{margin:0 0 6px;font:700 10px/1 Manrope,Cairo,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8a6a2d}
.brand-specs dd{margin:0;font:500 18px/1.3 Fraunces,Cairo,serif;color:#10281f}
.brand-specs__note{grid-column:1 / -1;background:#f4f1e8}
.brand-specs__note dd{font:600 13px/1.4 Manrope,Cairo,sans-serif;letter-spacing:.04em}
.brand-story__extra{margin-top:16px;color:#3c564b;line-height:1.7}
.brand-story__extra h3{margin:0 0 6px;font:500 22px Fraunces,Cairo,serif;color:#10281f}
@media(max-width:1000px){.product-gallery__main{height:auto}}
@media(max-width:680px){
  .product-detail h1{font-size:36px}
  .product-gallery__main{height:auto;border-radius:22px}
  .brand-story{padding-top:28px}
  .brand-story__grid,.brand-story__tiles,.brand-why,.brand-specs{grid-template-columns:1fr}
  .brand-why{padding:24px 20px}
  .brand-specs{grid-template-columns:1fr 1fr}
}
[data-theme="dark"] .shop-shell{background:#0b1a13;color:#f3f1ea}
[data-theme="dark"] .product-back{color:#d7e4da}
[data-theme="dark"] .product-gallery__main{background:#142a22;box-shadow:none}
[data-theme="dark"] .product-detail__lead,[data-theme="dark"] .brand-story__lead,[data-theme="dark"] .brand-card li,[data-theme="dark"] .brand-story__extra{color:#d5e0d8}
[data-theme="dark"] .product-detail h1,[data-theme="dark"] .brand-story__title,[data-theme="dark"] .brand-card h3,[data-theme="dark"] .brand-tile p,[data-theme="dark"] .brand-specs dd,[data-theme="dark"] .brand-story__extra h3{color:#f3f1ea}
[data-theme="dark"] .product-detail__benefits span,[data-theme="dark"] .brand-card,[data-theme="dark"] .brand-tile,[data-theme="dark"] .brand-specs{background:#142a22;border-color:#234237;color:#f3f1ea}
[data-theme="dark"] .product-detail__benefits span{color:#d7e4da}
[data-theme="dark"] .brand-story{border-top-color:#234237}
[data-theme="dark"] .brand-specs div{border-color:#234237}
[data-theme="dark"] .brand-specs__note{background:#10241c}
[data-theme="dark"] .brand-why{background:#f4f1e8}
[data-theme="dark"] .brand-why h3{color:#10281f}
[data-theme="dark"] .brand-why p{color:#24382f}
[data-theme="dark"] .brand-why .brand-story__label{color:#8a6a2d}
[data-theme="dark"] .product-detail__price strong,[data-theme="dark"] .product-detail__price{color:#f3f1ea}


/* Source: css/responsive.css */
/* ==================================================================
   Solo Spa — final responsive guardrails
   Loaded last so shared components remain stable from 320px phones
   through tablets, compact laptops, and wide desktop displays.
   ================================================================== */

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

img,
video,
canvas,
iframe {
  max-width: 100%;
}

.solo-eg-theme :where(
  .hero__content,
  .page-hero__content,
  .page-hero__inner,
  .service-detail__content,
  .service-detail__sidebar,
  .service-card__body,
  .offer-card__body,
  .about-intro__content,
  .about-why__content,
  .footer__col,
  .booking__form-wrap
) {
  min-width: 0;
}

.solo-eg-theme :where(h1, h2, h3, h4, p, a, li, address) {
  overflow-wrap: break-word;
}

.solo-eg-theme :where(table, pre, code) {
  max-width: 100%;
}

.solo-eg-theme table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.solo-eg-theme :where(input, select, textarea, button) {
  max-width: 100%;
}

body.solo-eg-theme > .fab-stack .back-to-top {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

body.solo-eg-theme > .fab-stack .back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Desktop keeps the full link row. Tighten it on smaller desktops so
   the language switch, cart, and theme stay inside the pill. */
@media (min-width: 1025px) {
  .solo-eg-theme .nav__links {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    justify-content: center;
  }

  .solo-eg-theme .nav__hamburger {
    display: none;
  }

  .solo-eg-theme .nav__right {
    flex-shrink: 0;
  }
}

@media (min-width: 1025px) and (max-width: 1480px) {
  .solo-eg-theme .nav {
    left: 12px;
    right: 12px;
    padding-inline: 12px 8px;
  }

  .solo-eg-theme .nav__links {
    gap: 0;
    padding-inline: 4px;
  }

  .solo-eg-theme .nav__link {
    padding: 8px 5px;
    font-size: 0.62rem;
    letter-spacing: 0.03em;
  }
}

/* Full-screen navigation on phones and tablets. */
@media (max-width: 1024px) {
  .solo-eg-theme .nav__links {
    display: none;
  }

  .solo-eg-theme .nav__cta {
    display: none;
  }

  .solo-eg-theme .nav__hamburger {
    display: flex;
  }

  .solo-eg-theme .nav__book-li {
    display: list-item;
  }

  .solo-eg-theme .nav__links.open {
    position: fixed;
    inset: 0;
    z-index: 999;
    display: flex;
    height: 100dvh;
    padding: 104px 24px max(36px, env(safe-area-inset-bottom));
    overflow-y: auto;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 2px;
    background:
      radial-gradient(40rem 30rem at 100% 0%, rgba(159, 193, 171, 0.25), transparent 60%),
      var(--bg-body);
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .solo-eg-theme .nav__links.open .nav__link {
    padding: 11px 18px;
    color: var(--cream) !important;
    font-family: var(--font-serif);
    font-size: clamp(1.22rem, 4.5vw, 1.75rem);
    font-weight: 500;
    letter-spacing: -0.01em;
    text-transform: none;
  }

  .solo-eg-theme .nav.nav--open .nav__logo,
  .solo-eg-theme .nav.nav--open .nav__right {
    position: relative;
    z-index: 1001;
  }

  .solo-eg-theme .nav.nav--open .nav__hamburger span {
    background: var(--gold);
  }
}

@media (max-width: 768px) {
  .solo-eg-theme .container {
    width: min(calc(100% - 32px), 1340px);
  }

  .solo-eg-theme :where(
    .page-hero__inner,
    .about-intro__grid,
    .about-why__grid,
    .contact-page__grid,
    .booking__grid,
    .service-detail__grid,
    .service-detail__main-grid
  ) {
    grid-template-columns: minmax(0, 1fr);
  }

  .solo-eg-theme :where(.page-hero__title, .services-catalog-hero__title) {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .solo-eg-theme :where(input, select, textarea) {
    font-size: 16px; /* Prevent iOS from zooming focused fields. */
  }

  .solo-eg-theme .modal {
    padding:
      max(8px, env(safe-area-inset-top))
      max(8px, env(safe-area-inset-right))
      max(8px, env(safe-area-inset-bottom))
      max(8px, env(safe-area-inset-left));
  }

  .solo-eg-theme .modal__box {
    width: min(100%, 620px);
    max-height: calc(100dvh - 16px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .solo-eg-theme .services__tabs {
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .solo-eg-theme .services__tabs::-webkit-scrollbar {
    display: none;
  }

  .solo-eg-theme .services__tabs .tab-btn {
    flex: 0 0 auto;
    min-height: 44px;
    scroll-snap-align: start;
  }

  .solo-eg-theme :where(.btn, .tab-btn, .service-card__shop-cta) {
    min-height: 44px;
  }

  .solo-eg-theme .footer--rich {
    max-width: calc(100% - 16px);
  }
}

@media (max-width: 480px) {
  .solo-eg-theme .nav {
    top: max(8px, env(safe-area-inset-top));
    left: 8px;
    right: 8px;
    min-height: 60px;
    padding: 5px 7px 5px 10px;
  }

  html[dir="rtl"] .solo-eg-theme .nav {
    padding: 5px 10px 5px 7px;
  }

  .solo-eg-theme .nav__right {
    gap: 6px;
  }

  .solo-eg-theme .nav__logo-mark,
  .solo-eg-theme .nav__logo-img {
    width: 50px;
    height: 50px;
  }

  .solo-eg-theme .lang-switch {
    margin-inline-end: 0;
  }

  .solo-eg-theme .lang-switch__toggle {
    min-height: 40px;
    padding-inline: 10px;
  }

  .solo-eg-theme .theme-toggle {
    --toggle-w: 48px;
    --toggle-h: 28px;
    --thumb-size: 20px;
  }

  .solo-eg-theme .nav__hamburger {
    width: 42px;
    height: 42px;
  }

  .solo-eg-theme .page-breadcrumb {
    max-width: 100%;
    flex-wrap: wrap;
  }

  .solo-eg-theme .booking-flow__steps {
    margin-inline: 4px;
  }

  .solo-eg-theme .booking-flow__steps span {
    min-width: 0;
  }

  .solo-eg-theme .services-catalog__controls {
    padding-inline-start: 10px;
    padding-inline-end: 62px;
  }

  body.solo-eg-theme > .fab-stack {
    --fab-size: 52px;
    --fab-gap: 13px;
    inset-inline-end: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
  }

  body.solo-eg-theme > .fab-stack .fab svg {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 350px) {
  .solo-eg-theme .container {
    width: min(calc(100% - 24px), 1340px);
  }

  .solo-eg-theme .nav__logo-mark,
  .solo-eg-theme .nav__logo-img {
    width: 46px;
    height: 46px;
  }

  .solo-eg-theme .lang-switch__toggle {
    padding-inline: 8px;
    gap: 4px;
  }

  .solo-eg-theme .theme-toggle {
    --toggle-w: 44px;
  }

  .solo-eg-theme .nav__hamburger {
    width: 40px;
    height: 40px;
  }

  .solo-eg-theme .services-catalog__status span {
    display: none;
  }

  .solo-eg-theme .services-catalog__status {
    min-width: 112px;
  }
}

@media (max-width: 1024px) and (max-height: 680px) {
  .solo-eg-theme .nav__links.open {
    justify-content: flex-start;
    gap: 0;
  }

  .solo-eg-theme .nav__links.open .nav__link {
    padding-block: 8px;
    font-size: 1.15rem;
  }
}

/* ── Global offer ticker ─────────────────────────────────────────────── */
:root {
  --solo-ticker-height: 34px;
  --solo-ticker-safe-top: env(safe-area-inset-top, 0px);
  --solo-ticker-offset: calc(var(--solo-ticker-height) + var(--solo-ticker-safe-top));
}

html {
  scroll-padding-top: calc(110px + var(--solo-ticker-offset));
}

.top-ticker {
  position: fixed;
  z-index: 1002;
  inset: 0 0 auto;
  height: var(--solo-ticker-offset);
  padding-top: var(--solo-ticker-safe-top);
  overflow: hidden;
  color: #fffaf0;
  background:
    linear-gradient(90deg, rgba(211, 172, 87, 0.12), transparent 18% 82%, rgba(211, 172, 87, 0.12)),
    linear-gradient(100deg, #0a281b, #176f3c 50%, #0a281b);
  border-bottom: 1px solid rgba(231, 202, 132, 0.46);
  box-shadow: 0 5px 18px rgba(8, 39, 26, 0.16);
}

.top-ticker__viewport {
  height: var(--solo-ticker-height);
  display: flex;
  align-items: center;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}

.top-ticker__track {
  width: max-content;
  display: flex;
  align-items: center;
  animation: solo-ticker-scroll 20s linear infinite;
  will-change: transform;
}

.top-ticker__group {
  min-width: 100vw;
  padding-inline: clamp(28px, 5vw, 90px);
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: clamp(36px, 8vw, 130px);
  flex-shrink: 0;
}

.top-ticker__item {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
  color: inherit;
  font-size: 0.69rem;
  font-weight: 750;
  letter-spacing: 0.13em;
  line-height: 1;
  text-transform: uppercase;
  text-shadow: 0 1px 9px rgba(0, 0, 0, 0.18);
}

.top-ticker__item svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  fill: none;
  stroke: #efd28b;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.top-ticker__spark {
  color: #efd28b;
  font-size: 0.63rem;
  opacity: 0.9;
}

.top-ticker:hover .top-ticker__track {
  animation-play-state: paused;
}

.solo-eg-theme .nav {
  top: calc(var(--solo-ticker-offset) + 12px);
}

.solo-eg-theme .nav.scrolled {
  top: calc(var(--solo-ticker-offset) + 7px);
}

html[dir="rtl"] .top-ticker__track {
  animation-direction: reverse;
}

@keyframes solo-ticker-scroll {
  to { transform: translateX(-50%); }
}

@media (max-width: 600px) {
  :root {
    --solo-ticker-height: 30px;
  }

  .top-ticker__group {
    min-width: max-content;
    padding-inline: 22px;
    gap: 28px;
  }

  .top-ticker__item {
    gap: 7px;
    font-size: 0.59rem;
    letter-spacing: 0.09em;
  }

  .top-ticker__item svg {
    width: 14px;
    height: 14px;
  }

  .solo-eg-theme .nav,
  .solo-eg-theme .nav.scrolled {
    top: calc(var(--solo-ticker-offset) + 8px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .top-ticker__track {
    width: 100%;
    animation: none;
  }

  .top-ticker__group {
    width: 100%;
    min-width: 100%;
  }

  .top-ticker__group[aria-hidden="true"] {
    display: none;
  }
}

/* Keep the home hero tight to the storefront section on desktop. */
@media (min-width: 901px) {
  .solo-eg-theme .hero--storefront {
    min-height: max(660px, calc(min(42vw, 620px) * 1.08 + 96px));
    padding-bottom: 12px;
  }

  .solo-eg-theme .hero--storefront .hero__bg,
  html[dir="rtl"] .solo-eg-theme .hero--storefront .hero__bg {
    top: 96px;
    width: min(42vw, 620px);
  }

  .solo-eg-theme .hero--storefront .hero__scroll-indicator {
    display: none;
  }
}

/* Booking form: one full-name field, and no reserved blank rows on phones. */
.booking__form .form__row {
  align-items: end;
  gap: 12px 14px;
  margin-bottom: 12px;
}

.booking__form .form__row > .form__group,
.booking__form .form__group:last-child {
  margin-bottom: 0;
}

.booking__form > .form__group {
  margin-bottom: 12px;
}

.booking__form .form__row--phone {
  grid-template-columns: 112px minmax(0, 1fr);
}

.booking__form .form__group:not(.form__group--checkbox) .form__error {
  max-height: 0;
  margin-top: 0;
  overflow: hidden;
}

.booking__form .form__group:not(.form__group--checkbox).error .form__error {
  max-height: 2.8em;
  margin-top: 4px;
}

@media (max-width: 768px) {
  .booking__form .form__row {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 10px;
  }

  .booking__form .form__row--phone {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  .booking__form > .form__group {
    margin-bottom: 10px;
  }

  .booking__form .form__group > label {
    margin-bottom: 4px;
  }

  .solo-eg-theme .booking__form .form__group input,
  .solo-eg-theme .booking__form .form__group select {
    min-height: 44px;
    padding: 8px 12px;
    font-size: 0.82rem;
  }

  .solo-eg-theme .booking__form .form__group select {
    padding-inline-end: 28px;
    background-position: right 8px center;
  }

  html[dir="rtl"] .solo-eg-theme .booking__form .form__group select {
    background-position: left 8px center;
  }

  .solo-eg-theme .booking__form .form__group textarea {
    min-height: 68px;
  }

  .booking__form-title {
    margin-bottom: 14px;
  }

  .booking__form-wrap {
    padding: 16px 14px;
  }
}

/* Compact home rhythm: reduce stacked top/bottom padding between sections. */
body[data-page="home"] .section {
  padding-block: clamp(40px, 4vw, 60px);
}

body[data-page="home"] .section__header {
  margin-bottom: clamp(26px, 3vw, 40px);
}

body[data-page="home"] .home-combo-showcase {
  padding-top: clamp(24px, 2.4vw, 36px);
}

body[data-page="home"] .commerce-category-bar {
  padding-top: clamp(32px, 3.5vw, 48px);
}

body[data-page="home"] .about.section {
  padding-bottom: clamp(30px, 3vw, 44px);
}

body[data-page="home"] .home-story-stats-section {
  padding-bottom: clamp(24px, 3vw, 38px);
}

body[data-page="home"] .booking.section {
  padding-bottom: 0;
}

body[data-page="home"] .contact.section {
  padding-top: 30px;
}

@media (max-width: 600px) {
  body[data-page="home"] .section {
    padding-block: 32px;
  }

  body[data-page="home"] .section__header {
    margin-bottom: 24px;
  }

  body[data-page="home"] .commerce-category-bar {
    padding-top: 26px;
  }

  body[data-page="home"] .about.section {
    padding-bottom: 26px;
  }

  body[data-page="home"] .home-story-stats-section {
    padding-bottom: 20px;
  }

  body[data-page="home"] .booking.section {
    padding-bottom: 0;
  }

  body[data-page="home"] .contact.section {
    padding-top: 24px;
  }
}

/* Shared layouts that stayed in a desktop grid on tablets. */
@media (max-width: 1180px) {
  .solo-eg-theme .footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .solo-eg-theme .service-card {
    flex-basis: calc(50% - 14px);
    width: auto;
    max-width: none;
    min-width: min(340px, calc(100vw - 96px));
  }
}

@media (max-width: 760px) {
  .solo-eg-theme .footer__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .solo-eg-theme .form__row,
  .solo-eg-theme .form__row--3 {
    grid-template-columns: minmax(0, 1fr);
  }

  .solo-eg-theme .service-card {
    flex-basis: 100%;
    min-width: 0;
  }
}


/* Source: css/reference-storefront.css */
/* Pixel direction based on the supplied Solo Spa storefront reference. */
body[data-page="shop"],body[data-page="services"]{background:#f7f4ec;color:#13261e}
body[data-page="shop"] .music-player,body[data-page="shop"] .leaves-scene,body[data-page="services"] .music-player,body[data-page="services"] .leaves-scene{display:none!important}
body[data-page="combo-offers"]{background:#f7f4ec;color:#13261e}body[data-page="combo-offers"] .music-player,body[data-page="combo-offers"] .leaves-scene{display:none!important}body[data-page="combo-offers"] .top-ticker{height:25px;min-height:25px;background:#073b2a;color:#fff}body[data-page="combo-offers"] .top-ticker__viewport{height:25px}body[data-page="combo-offers"] .top-ticker__track{animation:none;justify-content:center;width:100%;height:25px}body[data-page="combo-offers"] .top-ticker__group{display:none}body[data-page="combo-offers"] .top-ticker__viewport:after{content:"SOLO SPA  •  SHARM EL SHEIKH";display:block;text-align:center;font:700 9px/25px Manrope,Cairo,sans-serif;letter-spacing:.34em}
.ref-storefront{padding-top:88px;background:#f7f4ec;font-family:Manrope,Cairo,sans-serif}.ref-hero{height:min(55vw,590px);min-height:470px;background-image:linear-gradient(90deg,rgba(6,40,28,.72),rgba(6,40,28,.14) 68%),var(--ref-hero);background-size:cover;background-position:center;display:flex;align-items:center;padding:5vw}.ref-hero__content{color:#fff;max-width:580px}.ref-hero__content>p{font:700 11px/1.2 Manrope,Cairo,sans-serif;letter-spacing:.3em;margin:0 0 12px}.ref-hero__content h1{font:500 clamp(52px,6.4vw,88px)/.85 Fraunces,Cairo,serif;letter-spacing:-.055em;margin:0}.ref-hero__content>span{display:block;width:130px;height:3px;background:#d0b56f;margin:24px 0 18px}.ref-hero__content h2{font:500 17px/1.45 Manrope,Cairo,sans-serif;margin:0 0 24px}.ref-hero__content>a,.ref-package-banner a{display:inline-flex;align-items:center;gap:13px;background:#fbfaf5;color:#123b2c!important;border-radius:30px;padding:13px 24px;text-decoration:none;font-weight:800;font-size:13px}.ref-categories{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:8px max(3vw,18px);background:#f7f4ec}.ref-categories a{height:86px;border:1px solid #d8dbd4;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;color:#173c2e;text-decoration:none;font-size:13px;line-height:1.1;background:#fbfaf6}.ref-categories a.active{background:#0c4d37;color:#fff;border-color:#0c4d37}.ref-categories i{font-style:normal;font-size:30px;font-family:Georgia,serif}.ref-section{padding:26px max(5vw,24px);max-width:1440px;margin:auto}.ref-section--tight{padding-top:8px}.ref-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:11px}.ref-heading p,.ref-package-banner p{font-size:10px;font-weight:800;letter-spacing:.28em;margin:0 0 3px;color:#486555}.ref-heading h2,.ref-package-banner h2{font:500 clamp(32px,4vw,52px)/1 Fraunces,Cairo,serif;letter-spacing:-.035em;margin:0}.ref-heading small{font-size:13px;color:#475b51}.ref-heading>a{font-size:12px;color:#0b573c;font-weight:800;text-underline-offset:4px}.ref-heading>button{border:0;background:none;font-size:28px;color:#154534}.ref-grid{display:grid;gap:14px}.ref-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ref-card{position:relative;background:#fbfaf6;border:1px solid #dedfd9;border-radius:10px;overflow:hidden;padding-bottom:10px}.ref-card>a:first-child{display:block;height:260px;overflow:hidden;background:#e6e8df}.ref-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.ref-card:hover img{transform:scale(1.025)}.ref-card h3{font:800 15px/1.25 Manrope,Cairo,sans-serif;margin:9px 12px}.ref-card__cta{margin:0 12px;height:38px;border-radius:24px;background:#0b5038;color:#fff!important;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:13px}.ref-package-banner{height:320px;margin:20px 0 5px;background-image:linear-gradient(90deg,rgba(5,44,31,.94),rgba(5,44,31,.58),rgba(5,44,31,.05)),var(--banner);background-size:cover;background-position:center;display:flex;align-items:center;padding:5vw;color:#fff}.ref-package-banner p{color:#d7e0d9}.ref-package-banner h2{font-size:52px;margin-bottom:23px}.ref-mini-section{padding-top:17px}.ref-card--mini{padding-bottom:0}.ref-card--mini>a:first-child{height:210px}.ref-card--mini h3{font-size:13px;margin:8px 12px}.ref-card--mini button{position:absolute;inset-inline-end:12px;bottom:9px;width:38px;height:38px;border-radius:50%;border:0;background:#0a4b35;color:#fff;font-size:19px}.ref-placeholder{height:100%;display:grid;place-items:center;font:500 34px Fraunces,serif;color:#446554}.ref-empty-card{display:block;padding:34px;border:1px dashed #9cac9f;border-radius:10px;color:#164e38;text-decoration:none;background:#fbfaf6}
@media(max-width:760px){.ref-storefront{padding-top:74px}.ref-hero{height:330px;min-height:330px;padding:25px 22px;background-image:linear-gradient(90deg,rgba(6,40,28,.75),rgba(6,40,28,.08)),var(--ref-hero)}.ref-hero__content{max-width:300px}.ref-hero__content h1{font-size:49px}.ref-hero__content>span{margin:14px 0 11px;width:95px}.ref-hero__content h2{font-size:13px;margin-bottom:15px}.ref-hero__content>a{padding:10px 18px;font-size:11px}.ref-categories{gap:5px;padding:7px}.ref-categories a{height:75px;display:block;padding:8px 2px;font-size:10px}.ref-categories i{display:block;font-size:24px;margin-bottom:4px}.ref-section{padding:20px 13px}.ref-heading h2{font-size:30px}.ref-card>a:first-child{height:165px}.ref-card h3{font-size:11px;margin:7px 9px}.ref-card__cta{height:32px;margin:0 8px;font-size:10px}.ref-package-banner{height:190px;padding:22px}.ref-package-banner h2{font-size:34px;margin-bottom:14px}.ref-package-banner a{padding:9px 15px;font-size:10px}.ref-card--mini>a:first-child{height:130px}.ref-mini-section .ref-heading{align-items:end}.ref-heading>a{font-size:10px}}
/* Service detail reference */
.ref-detail{padding-top:88px;background:#f8f6ef;color:#172c23;min-height:100vh;font-family:Manrope,Cairo,sans-serif}.ref-detail__tools{height:58px;padding:0 max(4vw,25px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dcded8}.ref-detail__tools>a{font-size:12px;color:#164a36;text-decoration:none}.ref-detail__tools button{border:0;background:none;color:#164a36;font-size:24px;margin-inline-start:12px}.ref-gallery__main{height:min(50vw,520px);position:relative;background:#ddd}.ref-gallery__main img{width:100%;height:100%;object-fit:cover}.ref-gallery__main span{position:absolute;bottom:14px;inset-inline-end:20px;background:rgba(4,31,22,.82);color:#fff;border-radius:20px;padding:6px 12px;font-size:11px}.ref-gallery__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:8px max(4vw,25px)}.ref-gallery__thumbs button{height:110px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:none}.ref-gallery__thumbs button.active{border-color:#14543c}.ref-gallery__thumbs img{width:100%;height:100%;object-fit:cover}.ref-detail__content{max-width:1100px;margin:auto;padding:10px max(4vw,25px) 90px}.ref-detail__kicker{font-size:10px;font-weight:800;letter-spacing:.28em;color:#365f4c;margin:8px 0}.ref-detail h1{font:500 clamp(50px,6vw,76px)/.9 Fraunces,Cairo,serif;letter-spacing:-.045em;margin:0;max-width:800px}.ref-detail__lead{font-size:16px;color:#485e54;margin:15px 0 20px;max-width:760px}.ref-detail__facts{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #d8ddd7;padding:0 0 20px}.ref-detail__facts span{display:flex;align-items:center;gap:10px;padding:7px 18px;border-inline-end:1px solid #d8ddd7;font-size:13px}.ref-detail__facts span:last-child{border:0}.ref-detail__facts b{font-size:25px;font-weight:400;color:#18523b}.ref-detail__tabs{display:flex;gap:50px;border-bottom:1px solid #d8ddd7;height:58px;align-items:end}.ref-detail__tabs a{padding:0 5px 12px;color:#66766e;text-decoration:none;font-size:13px}.ref-detail__tabs a.active{color:#123e2d;border-bottom:3px solid #1b6045}.ref-copy{padding:20px 0 13px}.ref-copy h2,.ref-experience>h2,.ref-plan>h2,.ref-related>h2{font:500 30px/1.1 Fraunces,Cairo,serif;margin:0 0 8px}.ref-copy p{font-size:13px;color:#566b61;line-height:1.7}.ref-experience{padding:8px 0 18px}.ref-experience article{border:1px solid #dadcd6;border-radius:8px;overflow:hidden;background:#fbfaf6}.ref-experience article img{width:100%;height:190px;object-fit:cover}.ref-experience article div{display:flex;gap:10px;align-items:center;padding:8px 12px;font-size:12px}.ref-experience article span{color:#47705e;font-weight:800}.ref-plan{border:1.5px solid #34705a;border-radius:12px;padding:20px;margin:0 0 10px;background:#f6f6ef}.ref-plan__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.ref-plan label{font-size:10px;font-weight:700;color:#3d594d}.ref-plan label>button,.ref-plan label>input{width:100%;height:43px;border:1px solid #d8dcd6;border-radius:6px;background:#fff;margin-top:5px;padding:0 13px;color:#4f6259;text-align:start;display:flex;justify-content:space-between;align-items:center}.ref-counter{height:43px;width:120px;border:1px solid #d8dcd6;border-radius:21px;background:#fff;margin-top:5px;display:flex;justify-content:space-between;align-items:center}.ref-counter button{border:0;background:none;width:38px}.ref-plan__total{display:flex;justify-content:space-between;margin:17px 0 10px;border-top:1px solid #d8ddd7;padding-top:13px;font-size:11px}.ref-plan__primary{width:100%;height:45px;border:0;border-radius:7px;background:#0a4d36;color:#fff;font-weight:700}.ref-plan>a{height:40px;border:1px solid #32715a;border-radius:7px;color:#17513b;text-decoration:none;display:flex;align-items:center;justify-content:center;margin-top:8px;font-size:12px}.ref-accordions details{border:1px solid #dddeda;border-radius:7px;margin:6px 0;background:#faf9f5}.ref-accordions summary{list-style:none;padding:12px 16px;display:flex;justify-content:space-between;font-size:12px}.ref-accordions details p{padding:0 16px 14px;color:#62736b;font-size:12px}.ref-related{padding-top:20px}.ref-view{font-size:11px;color:#17553d;margin:0 10px 10px;display:block}.ref-mobile-book{display:none}
@media(min-width:900px){.ref-gallery{display:grid;grid-template-columns:1fr 520px;grid-template-rows:520px;padding:22px max(4vw,25px) 8px;gap:8px}.ref-gallery__main{height:520px;border-radius:13px;overflow:hidden}.ref-gallery__thumbs{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);padding:0}.ref-gallery__thumbs button{height:auto}.ref-detail__content{max-width:900px}}
@media(max-width:760px){.ref-detail{padding-top:74px}.ref-detail__tools{height:47px;padding:0 18px}.ref-gallery__main{height:278px}.ref-gallery__thumbs{padding:6px 18px}.ref-gallery__thumbs button{height:65px}.ref-detail__content{padding:7px 20px 95px}.ref-detail h1{font-size:42px}.ref-detail__lead{font-size:13px}.ref-detail__facts span{display:block;text-align:center;padding:7px 4px;font-size:10px}.ref-detail__facts b{display:block}.ref-detail__tabs{gap:25px}.ref-detail__tabs a{font-size:11px}.ref-experience article img{height:120px}.ref-plan{padding:15px}.ref-plan__grid{grid-template-columns:1fr 1fr;gap:9px}.ref-plan label>button,.ref-plan label>input{font-size:10px;padding:0 8px}.ref-mobile-book{position:fixed;display:flex;bottom:0;left:0;right:0;z-index:90;background:#fbfaf6;border-top:1px solid #cfd6cf;padding:10px 14px;justify-content:space-between;align-items:center}.ref-mobile-book div{display:flex;flex-direction:column}.ref-mobile-book small{font-size:9px;color:#68776f}.ref-mobile-book strong{font:500 17px Fraunces,Cairo,serif}.ref-mobile-book>button{height:41px;border:0;border-radius:20px;background:#0b4d37;color:#fff;padding:0 18px;font-size:10px}.ref-related .ref-card--mini>a:first-child{height:120px}}

/* Offers, packages and trips use the same clean card language. */
#offersPage{background:#f7f4ec;color:#172c23;padding-top:88px}#offersPage .page-hero--split{min-height:390px;padding:45px max(5vw,25px);display:flex;align-items:center;position:relative;overflow:hidden}#offersPage .page-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}#offersPage .page-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,43,30,.88),rgba(5,43,30,.22))}#offersPage .page-hero__inner{position:relative;width:100%;color:#fff}#offersPage .page-hero__media{display:none}#offersPage .page-hero__title{font:500 clamp(48px,6vw,78px)/.92 Fraunces,Cairo,serif;max-width:680px;letter-spacing:-.04em}#offersPage .page-hero__desc{max-width:570px;color:#e5ece7}#offersPage .offers-section{padding:35px max(4vw,20px) 80px}#offersPage .offer-featured{background:#fff;border:1px solid #dedfd9;border-radius:14px;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;margin-bottom:18px}#offersPage .offer-featured__img{min-height:360px}#offersPage .offer-featured__img img{width:100%;height:100%;object-fit:cover}#offersPage .offer-featured>div:last-child{padding:35px}#offersPage .offer-featured h2{font:500 38px Fraunces,Cairo,serif;margin:8px 0}#offersPage .offers-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#offersPage .offer-card{background:#fff;border:1px solid #dedfd9;border-radius:12px;overflow:hidden}#offersPage .offer-card__img{height:260px}#offersPage .offer-card__img img{width:100%;height:100%;object-fit:cover}#offersPage .offer-card__body{padding:15px}#offersPage .offer-card__title{font:700 17px Manrope,Cairo,sans-serif}#offersPage .btn{border-radius:23px;background:#0b5038;color:#fff;border-color:#0b5038}
@media(max-width:760px){#offersPage{padding-top:74px}#offersPage .page-hero--split{min-height:300px;padding:30px 20px}#offersPage .page-hero__title{font-size:44px}#offersPage .offers-section{padding:14px 12px 60px}#offersPage .offer-featured{grid-template-columns:1fr}#offersPage .offer-featured__img{min-height:220px}#offersPage .offer-featured>div:last-child{padding:18px}#offersPage .offer-featured h2{font-size:29px}#offersPage .offers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#offersPage .offer-card__img{height:150px}#offersPage .offer-card__body{padding:10px}#offersPage .offer-card__title{font-size:12px}}

.ref-storefront--catalog,.ref-detail,.shop-shell{padding-top:128px}
@media(max-width:1024px){.ref-detail,.shop-shell,.ref-storefront--catalog{padding-top:96px}}

/* Service detail: use the available desktop canvas and improve readability. */
@media(min-width:900px){
  .ref-gallery--multi .ref-gallery__thumbs{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
  .ref-gallery--single{display:block;padding:22px max(4vw,25px) 8px}
  .ref-gallery--single .ref-gallery__main{height:520px;border-radius:13px;overflow:hidden}
  .ref-detail__content{width:100%;max-width:1800px;padding:26px max(4vw,32px) 110px}
  .ref-detail__kicker{font-size:12px}
  .ref-detail h1{max-width:1100px}
  .ref-detail__lead{max-width:1150px;font-size:18px;line-height:1.75;margin:18px 0 28px}
  .ref-detail__facts{padding-bottom:26px}
  .ref-detail__facts span{gap:14px;padding:13px 28px;font-size:17px}
  .ref-detail__facts b{font-size:31px}
  .ref-detail__tabs{height:70px;gap:76px}
  .ref-detail__tabs a{padding:0 8px 16px;font-size:17px}
  .ref-copy{padding:34px 0 24px}
  .ref-copy h2,.ref-experience>h2,.ref-plan>h2,.ref-related>h2{font-size:clamp(38px,2.5vw,48px);margin-bottom:16px}
  .ref-copy p{max-width:1450px;font-size:18px;line-height:1.85}
  .ref-experience{padding:12px 0 32px}
  .ref-experience article{border-radius:12px}
  .ref-experience article img{height:clamp(260px,20vw,350px)}
  .ref-experience article div{gap:14px;padding:16px 20px;font-size:17px}
  .ref-plan{padding:30px;border-radius:15px}
  .ref-plan__grid{gap:20px}
  .ref-plan label{font-size:15px}
  .ref-plan label>button,.ref-plan label>input{height:54px;margin-top:8px;padding:0 17px;font-size:15px}
  .ref-counter{width:154px;height:54px;margin-top:8px;border-radius:28px}
  .ref-counter button{width:46px;font-size:19px}
  .ref-plan__total{margin:24px 0 15px;padding-top:18px;font-size:16px}
  .ref-plan__primary{height:56px;font-size:16px}
  .ref-plan>a{height:50px;font-size:15px}
  .ref-accordions summary{padding:18px 22px;font-size:17px}
  .ref-accordions details p{padding:0 22px 20px;font-size:16px;line-height:1.75}
  .ref-related{padding-top:32px}
  .ref-view{font-size:14px}
}

/* Modern service-detail interactions and location experience. */
body[data-page="services"]{overflow-x:hidden}
.ref-detail{position:relative;isolation:isolate;overflow:clip}
.ref-detail:before{content:"";position:absolute;z-index:-1;top:48%;inset-inline-end:-16vw;width:42vw;height:42vw;border-radius:50%;background:radial-gradient(circle,rgba(99,160,126,.13),rgba(99,160,126,0) 68%);pointer-events:none}
.ref-gallery__main{box-shadow:0 24px 70px rgba(21,55,42,.12);animation:refGalleryIn .9s cubic-bezier(.2,.8,.2,1) both}
.ref-gallery__main img,.ref-gallery__thumbs img{transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .45s ease,opacity .3s ease}
.ref-gallery__main:hover img{transform:scale(1.018)}
.ref-gallery__thumbs button{position:relative;transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.ref-gallery__thumbs button:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 55%,rgba(7,61,43,.2));opacity:0;transition:opacity .35s}
.ref-gallery__thumbs button:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(17,55,40,.16)}
.ref-gallery__thumbs button:hover:after{opacity:1}
.ref-detail__facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.ref-detail__facts span{min-width:0;overflow-wrap:anywhere}
.ref-detail__tabs a{position:relative;transition:color .3s ease,transform .3s ease}
.ref-detail__tabs a:hover{color:#0c5038;transform:translateY(-2px)}
.ref-detail__tabs a.active{border-bottom-color:transparent}
.ref-detail__tabs a:after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:3px;border-radius:4px;background:#1b6045;transform:scaleX(0);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.ref-detail__tabs a.active:after{transform:scaleX(1)}
.ref-copy p{overflow-wrap:anywhere}
.ref-experience article{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .45s ease}
.ref-experience article:hover{transform:translateY(-8px);border-color:rgba(28,99,71,.35);box-shadow:0 24px 50px rgba(19,58,43,.13)}
.ref-experience article:hover img{transform:scale(1.035)}
.ref-plan{position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(15,65,45,.08)}
.ref-plan:before{content:"";position:absolute;top:-160px;inset-inline-end:-100px;width:310px;height:310px;border-radius:50%;background:radial-gradient(circle,rgba(80,155,111,.18),transparent 68%);pointer-events:none}
.ref-plan__primary{transition:transform .3s ease,box-shadow .3s ease,background .3s ease}
.ref-plan__primary:hover{transform:translateY(-3px);background:#073c2b;box-shadow:0 14px 30px rgba(7,60,43,.25)}
.ref-location{scroll-margin-top:150px;margin:34px 0 18px;padding:clamp(26px,4vw,56px);border-radius:24px;background:linear-gradient(145deg,#e9f0e8 0%,#f8f6ef 50%,#e2ece5 100%);border:1px solid rgba(31,91,65,.18);box-shadow:0 26px 80px rgba(17,58,41,.1);position:relative;overflow:hidden}
.ref-location:before,.ref-location:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.ref-location:before{width:280px;height:280px;top:-160px;inset-inline-end:-80px;background:rgba(64,133,94,.13)}.ref-location:after{width:190px;height:190px;bottom:-120px;inset-inline-start:26%;border:1px solid rgba(36,102,74,.16)}
.ref-location__heading{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px}.ref-location__heading h2{font:500 clamp(34px,3vw,52px)/1.08 Fraunces,Cairo,serif;margin:0;max-width:740px}.ref-location__heading>span{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#0b4d37;color:#fff;font-size:35px;box-shadow:0 16px 34px rgba(11,77,55,.22)}
.ref-location__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ref-location__card{min-width:0;min-height:235px;padding:28px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;border:1px solid rgba(24,82,58,.18);border-radius:18px;background:rgba(255,255,255,.78);color:#153e2e;text-decoration:none;backdrop-filter:blur(12px);box-shadow:0 14px 36px rgba(18,63,45,.08);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .4s ease}.ref-location__card:hover{color:#153e2e;transform:translateY(-8px);border-color:rgba(24,82,58,.42);box-shadow:0 26px 52px rgba(18,63,45,.15)}.ref-location__card>i{font:500 28px/1 Fraunces,serif;color:#5e8e76;font-style:normal}.ref-location__card small{font-size:11px;letter-spacing:.18em;font-weight:800;color:#5d796b}.ref-location__card h3{font:500 clamp(28px,2.4vw,40px)/1.05 Fraunces,Cairo,serif;margin:9px 0}.ref-location__card p{font-size:15px;line-height:1.65;color:#587065;margin:0 0 20px;max-width:470px}.ref-location__card strong{display:inline-flex;gap:8px;align-items:center;color:#0d583d;font-size:14px}.ref-location__card strong b{transition:transform .3s}.ref-location__card:hover strong b{transform:translate(4px,-4px)}
.ref-location__card--dark{background:linear-gradient(145deg,#073d2c,#0c583f);color:#fff;border-color:transparent}.ref-location__card--dark:hover{color:#fff}.ref-location__card--dark>i,.ref-location__card--dark small,.ref-location__card--dark p{color:#c5d9ce}.ref-location__card--dark strong{color:#fff}
.ref-location__transfer{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:16px;padding:18px 20px;border-radius:16px;background:#fff;border:1px solid rgba(24,82,58,.14)}.ref-location__transfer>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e1eee6;color:#0c5a3e}.ref-location__transfer p{display:flex;flex-direction:column;margin:0}.ref-location__transfer small{color:#60746a;margin-top:3px}.ref-location__transfer button{height:44px;border:0;border-radius:24px;background:#0b4d37;color:#fff;padding:0 22px;font-weight:800}
.ref-reveal{opacity:0;transform:translateY(42px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.8,.2,1)}.ref-reveal.ref-reveal--left{transform:translateX(-42px)}html[dir="rtl"] .ref-reveal.ref-reveal--left{transform:translateX(42px)}.ref-reveal.is-visible{opacity:1;transform:none}
@keyframes refGalleryIn{from{opacity:0;transform:translateY(24px) scale(.985)}to{opacity:1;transform:none}}
@media(min-width:900px){.ref-detail__tabs{position:sticky;top:116px;z-index:25;background:rgba(248,246,239,.88);backdrop-filter:blur(16px);padding-inline:10px}.ref-copy,.ref-experience,.ref-plan,.ref-location,.ref-accordions,.ref-related{scroll-margin-top:205px}}
@media(max-width:760px){.ref-location{margin-top:22px;padding:24px 16px;border-radius:18px}.ref-location__heading{align-items:center}.ref-location__heading>span{width:54px;height:54px;font-size:26px;flex:0 0 auto}.ref-location__heading h2{font-size:30px}.ref-location__grid{grid-template-columns:1fr}.ref-location__card{min-height:0;padding:21px 18px;gap:14px}.ref-location__card h3{font-size:29px}.ref-location__transfer{grid-template-columns:auto 1fr}.ref-location__transfer button{grid-column:1/-1;width:100%}.ref-detail__tabs{overflow-x:auto;gap:24px}.ref-detail__tabs a{white-space:nowrap}.ref-detail__facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.ref-gallery__main,.ref-gallery__main img,.ref-gallery__thumbs button,.ref-experience article,.ref-plan__primary,.ref-reveal{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}
/* Services catalog: three balanced cards per row on desktop. */
.ref-storefront--catalog .ref-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:899px){.ref-storefront--catalog .ref-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ref-storefront--catalog .ref-grid--3{grid-template-columns:1fr}}

/* Services category tabs. */
.ref-service-filters{display:flex;width:max-content;max-width:100%;margin:10px auto 32px;padding:8px;border:1px solid #dfe3df;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 18px 38px rgba(20,54,41,.12);overflow-x:auto;scrollbar-width:none}
.ref-service-filters::-webkit-scrollbar{display:none}
.ref-service-filters button{flex:0 0 auto;min-width:150px;height:58px;padding:0 26px;border:0;border-radius:999px;background:transparent;color:#62786d;font:800 14px/1 Manrope,Cairo,sans-serif;letter-spacing:.08em;cursor:pointer;transition:background .3s ease,color .3s ease,box-shadow .3s ease,transform .3s ease}
.ref-service-filters button:hover{color:#0a3c2c;transform:translateY(-1px)}
.ref-service-filters button.is-active{background:#092f24;color:#fff;box-shadow:0 12px 25px rgba(9,47,36,.2)}
.ref-storefront--catalog [data-service-grid] .ref-card{animation:refServiceCardIn .42s cubic-bezier(.2,.8,.2,1) both}
.ref-storefront--catalog [data-service-grid] .ref-card[hidden]{display:none}
@keyframes refServiceCardIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(max-width:760px){.ref-service-filters{justify-content:flex-start;margin:4px 0 24px;padding:6px}.ref-service-filters button{min-width:auto;height:48px;padding:0 20px;font-size:12px}}

/* Premium service cards inspired by the supplied three-card reference. */
.ref-service-card{padding:0;border:1px solid #e0e5e2;border-radius:20px;background:#fff;box-shadow:0 16px 44px rgba(24,53,42,.09);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.ref-service-card:hover{transform:translateY(-7px);border-color:#c5d5cd;box-shadow:0 26px 60px rgba(20,58,43,.16)}
.ref-service-card__media{position:relative;aspect-ratio:1.42/1;overflow:hidden;background:#e7ece8}
.ref-service-card__media>a{display:block;width:100%;height:100%}
.ref-service-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.ref-service-card:hover .ref-service-card__media img{transform:scale(1.045)}
.ref-service-card__badge{position:absolute;top:16px;inset-inline-start:16px;max-width:70%;padding:10px 18px;border-radius:999px;background:#24ad69;color:#fff;font:800 12px/1 Manrope,Cairo,sans-serif;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 8px 20px rgba(20,130,77,.2)}
.ref-service-card__favorite{position:absolute;top:14px;inset-inline-end:14px;width:48px;height:48px;border:1px solid rgba(255,255,255,.78);border-radius:50%;background:rgba(255,255,255,.9);color:#91a19a;font-size:27px;line-height:1;cursor:pointer;backdrop-filter:blur(8px);transition:color .25s,background .25s,transform .25s}
.ref-service-card__favorite:hover{transform:scale(1.06);color:#d9485f}.ref-service-card__favorite.is-favorite{background:#fff0f2;color:#d9485f}
.ref-service-card__body{display:flex;flex-direction:column;min-height:350px;padding:22px 24px 20px}
.ref-service-card__place{margin:0 0 12px;color:#168cb0;font:700 12px/1.35 Manrope,Cairo,sans-serif;letter-spacing:.07em}.ref-service-card__place span{font-size:9px}
.ref-service-card h3{margin:0 0 15px;font:600 clamp(21px,1.55vw,29px)/1.12 Fraunces,Cairo,serif;color:#092f24}.ref-service-card h3 a{color:inherit;text-decoration:none}
.ref-service-card__meta{display:flex;flex-wrap:wrap;gap:9px 18px;margin-bottom:16px;color:#66736d;font-size:12px;font-weight:700}.ref-service-card__meta span:first-child{color:#248ead}
.ref-service-card__desc{display:-webkit-box;min-height:60px;margin:0 0 10px;overflow:hidden;color:#46554e;font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.ref-service-card__rating{margin-top:auto;color:#f29a05;font-size:17px;letter-spacing:1px}
.ref-service-card__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:16px;padding-top:16px;border-top:1px solid #e7ebe8}
.ref-service-card__price{display:flex;flex-direction:column;gap:5px;min-width:0}.ref-service-card__price small{color:#8a928e;font-size:10px;font-weight:800;letter-spacing:.12em}.ref-service-card__price strong{color:#0b3b2c;font:700 26px/1 Fraunces,Cairo,serif;white-space:nowrap}.ref-service-card__price strong em{font:600 11px/1 Manrope,Cairo,sans-serif;color:#79847f}.ref-service-card__price strong.is-text{font:700 14px/1.2 Manrope,Cairo,sans-serif;white-space:normal}
.ref-service-card__book{flex:0 0 auto;min-width:126px;height:46px;padding:0 19px;border:0;border-radius:999px;background:linear-gradient(110deg,#073c2c,#138d70);color:#fff;font:800 12px/1 Manrope,Cairo,sans-serif;cursor:pointer;box-shadow:0 10px 22px rgba(9,78,57,.2);transition:transform .25s,box-shadow .25s}.ref-service-card__book:hover{transform:translateY(-2px);box-shadow:0 15px 28px rgba(9,78,57,.28)}
@media(max-width:760px){.ref-service-card__media{aspect-ratio:1.55/1}.ref-service-card__body{min-height:320px;padding:18px}.ref-service-card h3{font-size:23px}.ref-service-card__book{min-width:118px;padding:0 15px}}

/* The services-page trip preview uses the same full booking cards as the Trips catalog. */
.ref-trips-preview{padding-top:42px;padding-bottom:64px}
.ref-trips-preview .ref-heading{margin-bottom:26px}
.ref-trips-preview .trip-service-card{height:100%}
.ref-trips-preview .trip-service-card .ref-service-card__body{min-height:370px}
@media(max-width:760px){.ref-trips-preview{padding-top:30px;padding-bottom:42px}.ref-trips-preview .trip-service-card .ref-service-card__body{min-height:330px}}

/* Trips page shares the same premium three-card language as Services. */
body[data-page="trips"] .offers-section--trips .offers-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
body[data-page="trips"] .trip-service-card{height:100%}
body[data-page="trips"] .trip-service-card .ref-service-card__body{min-height:370px}
body[data-page="trips"] .trip-service-card .ref-service-card__media>img{position:static;display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:980px){body[data-page="trips"] .offers-section--trips .offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){body[data-page="trips"] .offers-section--trips .offers-grid{grid-template-columns:1fr}body[data-page="trips"] .trip-service-card .ref-service-card__body{min-height:330px}}

/* Trips marketplace cards: match the supplied Grand Tours visual reference. */
body[data-page="trips"] #offersPage .offers-section--trips{background:#f3f6fb;padding-top:54px}
body[data-page="trips"] #offersPage .offers-section--trips .container{max-width:1480px}
body[data-page="trips"] #offersPage .offers-section--trips .offers-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
body[data-page="trips"] #offersPage .trip-service-card{height:100%;border:1px solid #dce3ee;border-radius:22px;background:#fff;box-shadow:0 18px 45px rgba(25,49,96,.1);overflow:hidden}
body[data-page="trips"] #offersPage .trip-service-card:hover{transform:translateY(-7px);border-color:#b9cae2;box-shadow:0 28px 65px rgba(25,49,96,.16)}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__media{height:auto;aspect-ratio:1.58/1;border-radius:0;background:#dce6f2}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__media>img{width:100%;height:100%;object-fit:cover}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__badge{top:18px;inset-inline-start:18px;padding:11px 19px;border-radius:999px;background:#1eb56b;color:#fff;font-size:12px;letter-spacing:.08em;box-shadow:0 9px 22px rgba(24,159,91,.25)}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__favorite{top:17px;inset-inline-end:17px;width:50px;height:50px;border:1px solid rgba(218,225,232,.95);background:rgba(255,255,255,.94);color:#aeb9bf;font-size:28px;box-shadow:0 7px 20px rgba(18,38,74,.1)}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__favorite.is-favorite{background:#fff1f3;color:#da405b}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__body{min-height:410px;padding:26px 28px 24px;background:#fff}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__place{margin-bottom:17px;color:#128db5;font-size:13px;letter-spacing:.075em}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__place span{color:#128db5}
body[data-page="trips"] #offersPage .trip-service-card h3{min-height:2.25em;margin-bottom:18px;color:#10186b;font:600 clamp(24px,1.8vw,32px)/1.12 Fraunces,Cairo,serif;letter-spacing:-.025em}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__meta{gap:10px 19px;margin-bottom:18px;color:#6a7178;font-size:13px}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__meta span,
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__meta span:first-child{color:#657078}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__meta span::first-letter{color:#4fc1df}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__desc{min-height:78px;margin-bottom:14px;color:#3f454c;font-size:14px;line-height:1.62;-webkit-line-clamp:3}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__rating{color:#f39a05;font-size:19px;letter-spacing:1px}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__footer{margin-top:20px;padding-top:20px;border-top:1px solid #e6e9ef}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__price small{color:#8a8e94;font-size:11px}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__price strong{color:#10186b;font:700 30px/1 Fraunces,Cairo,serif}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__price strong em{color:#858a93}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__book{min-width:142px;height:50px;padding:0 22px;border-radius:999px;background:linear-gradient(110deg,#10158c,#08a9df);color:#fff;font-size:13px;box-shadow:0 12px 26px rgba(15,71,169,.25)}
body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__book:hover{box-shadow:0 17px 32px rgba(15,71,169,.35)}
@media(max-width:1050px){body[data-page="trips"] #offersPage .offers-section--trips .offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){body[data-page="trips"] #offersPage .offers-section--trips{padding:24px 12px 55px}body[data-page="trips"] #offersPage .offers-section--trips .offers-grid{grid-template-columns:1fr}body[data-page="trips"] #offersPage .trip-service-card .ref-service-card__body{min-height:370px;padding:21px}body[data-page="trips"] #offersPage .trip-service-card h3{min-height:0;font-size:27px}}

/* Packages: equal cards in one three-column row instead of a separate featured block. */
body[data-page="packages"] .offers-section--packages .offers-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px;align-items:stretch}
body[data-page="packages"] .offers-section--packages .offer-card{height:100%;content-visibility:auto;contain-intrinsic-size:auto 720px}
@media(max-width:760px){body[data-page="packages"] .offers-section--packages .offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){body[data-page="packages"] .offers-section--packages .offers-grid{grid-template-columns:1fr!important}}

/* Packages hero: copy and artwork sit side by side instead of one image behind the title. */
body[data-page="packages"] #offersPage .page-hero--packages{
  min-height:0;
  margin:28px max(3vw,20px) 0;
  padding:28px;
  display:block;
  border-radius:28px;
  background:
    radial-gradient(720px 320px at 100% 0%,rgba(198,161,90,.16),transparent 62%),
    linear-gradient(180deg,#fbfaf6,#f4f0e6);
  border:1px solid #e6e1d4;
  box-shadow:0 18px 46px rgba(16,40,31,.05);
  overflow:hidden;
}
body[data-page="packages"] #offersPage .page-hero--packages .page-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);
  gap:clamp(24px,4vw,56px);
  align-items:center;
  color:#173c2e;
}
body[data-page="packages"] #offersPage .page-hero--packages .page-hero__content{color:#173c2e}
body[data-page="packages"] #offersPage .page-hero--packages .page-breadcrumb{
  margin-bottom:18px;
  padding:6px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid #e6e1d4;
  color:#5d6f66;
  font-size:12px;
}
body[data-page="packages"] #offersPage .page-hero--packages .page-breadcrumb a{color:#0b5038;text-decoration:none}
body[data-page="packages"] #offersPage .page-hero--packages .page-hero__label{
  margin:0 0 10px;
  color:#8a6b32;
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
}
body[data-page="packages"] #offersPage .page-hero--packages .page-hero__title{
  max-width:11ch;
  margin:0;
  color:#10281f;
  text-shadow:none;
  font:500 clamp(52px,5.2vw,80px)/.92 Fraunces,Cairo,serif;
  letter-spacing:-.045em;
}
body[data-page="packages"] #offersPage .page-hero--packages .page-hero__title::after{
  content:"";
  display:block;
  width:72px;
  height:3px;
  margin-top:18px;
  border-radius:99px;
  background:linear-gradient(90deg,#c6a15a,#0b5038);
}
body[data-page="packages"] #offersPage .page-hero--packages .page-hero__desc{
  max-width:46ch;
  margin:16px 0 0;
  color:#4d6258;
  font-size:16px;
  line-height:1.65;
}
body[data-page="packages"] #offersPage .page-hero--packages .page-hero__media{
  display:block;
  position:relative;
  width:100%;
  max-height:none;
  aspect-ratio:5/4;
  justify-self:stretch;
  border:0;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 22px 48px rgba(12,40,28,.16);
}
body[data-page="packages"] #offersPage .page-hero--packages .page-hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 32%;
  animation:none;
}
@media(max-width:860px){
  body[data-page="packages"] #offersPage .page-hero--packages{margin:10px 12px 0;padding:14px;border-radius:22px}
  body[data-page="packages"] #offersPage .page-hero--packages .page-hero__inner{grid-template-columns:1fr;gap:16px}
  body[data-page="packages"] #offersPage .page-hero--packages .page-hero__content{padding:6px 6px 8px}
  body[data-page="packages"] #offersPage .page-hero--packages .page-hero__title{max-width:none;font-size:44px}
  body[data-page="packages"] #offersPage .page-hero--packages .page-hero__desc{font-size:14px}
  body[data-page="packages"] #offersPage .page-hero--packages .page-hero__media{aspect-ratio:16/10}
}

body[data-page="packages"] #offersPage .offer-card__title{
  color:#10281f !important;
  -webkit-text-fill-color:#10281f;
  font-weight:700;
}

/* Programs and packages were locked to a cream page and white cards, so
   dark mode only changed the navigation. Match the rest of the site. */
html[data-theme="dark"] body[data-page="programs"],
html[data-theme="dark"] body[data-page="packages"]{
  background:#0c1813 !important;
  color:#f4efe4;
}
html[data-theme="dark"] body[data-page="programs"] #offersPage,
html[data-theme="dark"] body[data-page="packages"] #offersPage,
html[data-theme="dark"] body[data-page="programs"] #offersPage .offers-section,
html[data-theme="dark"] body[data-page="packages"] #offersPage .offers-section{
  background:#0c1813;
  color:#f4efe4;
}
html[data-theme="dark"] body[data-page="programs"] #offersPage .offer-featured,
html[data-theme="dark"] body[data-page="packages"] #offersPage .offer-featured,
html[data-theme="dark"] body[data-page="programs"] #offersPage .offer-card,
html[data-theme="dark"] body[data-page="packages"] #offersPage .offer-card{
  background:#14261d;
  border-color:#2c4638;
  color:#f4efe4;
}
html[data-theme="dark"] body[data-page="programs"] #offersPage :is(h2, h3, .offer-card__title, .offer-card__title-link),
html[data-theme="dark"] body[data-page="packages"] #offersPage :is(h2, h3, .offer-card__title, .offer-card__title-link){
  color:#f6f1e8 !important;
  -webkit-text-fill-color:#f6f1e8;
}
html[data-theme="dark"] body[data-page="programs"] #offersPage :is(.offer-list li, .offer-featured__desc, .offer-card__desc, .rte-content, .rte-content p, .rte-content strong, .rte-content b, .offer-featured__duration, .offer-card__meta, .offer-card__facts span, .offer-price__instead, .offer-price__unit),
html[data-theme="dark"] body[data-page="packages"] #offersPage :is(.offer-list li, .offer-featured__desc, .offer-card__desc, .rte-content, .rte-content p, .rte-content strong, .rte-content b, .offer-featured__duration, .offer-card__meta, .offer-card__facts span, .offer-price__instead, .offer-price__unit){
  color:#d7e3da;
}
html[data-theme="dark"] body[data-page="programs"] #offersPage .offer-price__current,
html[data-theme="dark"] body[data-page="packages"] #offersPage .offer-price__current{
  color:#f6f1e8;
}
html[data-theme="dark"] body[data-page="programs"] #offersPage .offer-price__was,
html[data-theme="dark"] body[data-page="packages"] #offersPage .offer-price__was{
  color:#b7c6bb;
}
html[data-theme="dark"] body[data-page="programs"] #offersPage .offer-list li,
html[data-theme="dark"] body[data-page="packages"] #offersPage .offer-list li{
  border-bottom-color:#2c4638;
}
html[data-theme="dark"] body[data-page="programs"] #offersPage .offer-card__tag,
html[data-theme="dark"] body[data-page="packages"] #offersPage .offer-card__tag{
  color:#e7d7a4;
  background:#1d3328;
}
/* Keep package copy readable against its panel in dark mode at every size. */
html[data-theme="dark"] body[data-page="packages"] #offersPage .page-hero--packages{
  background:radial-gradient(720px 320px at 100% 0%,rgba(198,161,90,.12),transparent 62%),linear-gradient(180deg,#163326,#10251c);
  border-color:#355342;
}
html[data-theme="dark"] body[data-page="packages"] #offersPage .page-hero--packages .page-breadcrumb{
  background:#203d2e;
  border-color:#42604c;
}

html[data-theme="dark"] body[data-page="packages"] #offersPage .page-hero--packages,
html[data-theme="dark"] body[data-page="packages"] #offersPage .page-hero--packages .page-hero__content,
html[data-theme="dark"] body[data-page="packages"] #offersPage .page-hero--packages .page-hero__title,
html[data-theme="dark"] body[data-page="packages"] #offersPage .page-hero--packages .page-hero__desc,
html[data-theme="dark"] body[data-page="packages"] #offersPage .page-hero--packages .page-hero__label,
html[data-theme="dark"] body[data-page="packages"] #offersPage .page-hero--packages .page-breadcrumb,
html[data-theme="dark"] body[data-page="packages"] #offersPage .page-hero--packages .page-breadcrumb a{
  color:#f4efe4;
}

/* Pharaohs Programs: restore the temple identity after the shared offers rules. */
body[data-page="pharaohs"] #offersPage{background:#07170e;color:#f8edcf}
body[data-page="pharaohs"] #offersPage .page-hero--pharaohs{min-height:720px;padding:150px max(5vw,25px) 70px;background:radial-gradient(circle at 77% 34%,rgba(220,174,76,.22),transparent 24rem),linear-gradient(135deg,#06130b,#0d321d 58%,#07160d)}
body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__bg{inset:125px 4vw 48px 50%;border:3px double #d6aa55;border-radius:150px 150px 8px 8px;background-position:center;filter:sepia(.18) saturate(.95);box-shadow:0 28px 70px rgba(0,0,0,.45)}
html[dir="rtl"] body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__bg{inset:125px 50% 48px 4vw}
body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__overlay{background:linear-gradient(90deg,#06130b 3%,rgba(6,19,11,.94) 42%,rgba(6,19,11,.12) 78%)}
html[dir="rtl"] body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__overlay{background:linear-gradient(-90deg,#06130b 3%,rgba(6,19,11,.94) 42%,rgba(6,19,11,.12) 78%)}
body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__inner{z-index:4}
body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__content{width:min(46%,680px)}
body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__label{color:#e7bd67}
body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__title{max-width:700px;margin:14px 0 20px;color:#f7e6b8;font:500 clamp(54px,6.4vw,104px)/.9 Fraunces,Cairo,serif;text-shadow:0 4px 34px rgba(0,0,0,.6)}
body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__desc{max-width:570px;color:#eadfbe;font-size:16px;line-height:1.75}

body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs{position:relative;padding-top:70px;background:radial-gradient(circle at 12% 12%,rgba(190,139,48,.16),transparent 30rem),#eee3c9}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured{position:relative;grid-template-columns:1fr 1fr;gap:0;padding:18px;border:4px double #c69843;border-radius:110px 110px 10px 10px;background:linear-gradient(145deg,rgba(223,177,82,.12),transparent 42%),#0a2a18;box-shadow:0 0 0 8px rgba(183,132,47,.13),0 30px 70px rgba(54,37,12,.25)}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured:before{content:"◆  ☥  ◆";position:absolute;top:15px;left:50%;z-index:3;padding:7px 20px;border:1px solid #d4aa57;background:#0a2a18;color:#edc979;letter-spacing:.28em;transform:translateX(-50%)}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured__img{min-height:520px;border:1px solid rgba(229,190,108,.65);border-radius:88px 8px 8px 88px;overflow:hidden}
html[dir="rtl"] body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured__img{border-radius:8px 88px 88px 8px}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured>div:last-child{padding:46px 48px;background:transparent;color:#f8edcf}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured h2{margin:10px 0 16px;color:#e8bb60;font:500 clamp(40px,4vw,66px)/1 Fraunces,Cairo,serif}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured__desc,
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured__desc.rte-content :is(p,strong,b,span,li),
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured .offer-list li{color:#f5e9c9!important;font-size:15px;line-height:1.65}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured__desc strong{color:#efc86f!important}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured .offer-card__facts span,
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured__duration{border-color:rgba(224,181,91,.55);color:#f2dfae;background:rgba(255,255,255,.06)}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured .offer-price__current{color:#f1c66a}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured .offer-price__unit{color:#f7ebc8}

body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offers-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:36px}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card{position:relative;border:3px double #bc8c3e;border-radius:70px 70px 8px 8px;background:linear-gradient(180deg,rgba(221,174,77,.13),transparent 38%),#0b2b19;color:#f7ebca;box-shadow:0 20px 48px rgba(54,37,12,.2)}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card__img{height:300px;border-radius:66px 66px 0 0;border-bottom:3px double #bd9045}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card__body{padding:28px 30px 30px}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card__title{color:#edc36e;font:500 clamp(28px,2.4vw,40px)/1.08 Fraunces,Cairo,serif}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card__desc,
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card__desc.rte-content :is(p,strong,b,span,li),
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card .offer-list li{color:#efe4c6!important}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card__desc strong{color:#e9bf68!important}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card__facts span,
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card__meta{color:#e5d4a6}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card__footer{border-color:rgba(222,177,82,.35)}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-price__current{color:#efc66e}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-price__unit{color:#e9ddbd}
body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .btn{border:1px solid #d0a451;border-radius:0;background:linear-gradient(110deg,#b78335,#e2bd6a);color:#092316;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);font-weight:800}

@media(max-width:900px){body[data-page="pharaohs"] #offersPage .page-hero--pharaohs{min-height:620px;padding:125px 22px 52px}body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__bg,html[dir="rtl"] body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__bg{inset:88px 10px 22px}body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__overlay,html[dir="rtl"] body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__overlay{background:linear-gradient(180deg,rgba(6,19,11,.18),rgba(6,19,11,.96) 72%)}body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__content{width:100%;align-self:flex-end}body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__media{display:none}body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured{grid-template-columns:1fr;border-radius:70px 70px 8px 8px}body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured__img,html[dir="rtl"] body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured__img{min-height:340px;border-radius:66px 66px 4px 4px}body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured>div:last-child{padding:30px 24px}body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offers-grid{grid-template-columns:1fr}}
@media(max-width:560px){body[data-page="pharaohs"] #offersPage .page-hero--pharaohs .page-hero__title{font-size:48px}body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs{padding-inline:10px}body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-featured__img{min-height:250px}body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card{border-radius:46px 46px 8px 8px}body[data-page="pharaohs"] #offersPage .offers-section--pharaohs-programs .offer-card__img{height:220px;border-radius:42px 42px 0 0}}

/* Keep the audio control in the luxury FAB stack on every page. */
html body.solo-eg-theme .music-player{display:flex!important;visibility:visible!important;opacity:1!important}
html body.solo-eg-theme > .fab-stack .music-player{position:relative;inset:auto;z-index:auto;width:var(--fab-size,58px);height:var(--fab-size,58px);padding:0;gap:0;border:0;border-radius:50%;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
html body.solo-eg-theme .music-player__title{color:#fff}
html body.solo-eg-theme .music-player__status{color:#b9dfca}
html body.solo-eg-theme .music-player__label{display:none!important}
html body.solo-eg-theme > .fab-stack .music-player__btn{display:flex!important;width:var(--fab-size,58px);height:var(--fab-size,58px);overflow:visible}

/* Full-bleed services hero slider with fixed catalog copy. */
.ref-hero--slider{position:relative;isolation:isolate;overflow:hidden;background-color:#17392d}
.ref-hero--slider:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(4,35,24,.82) 0%,rgba(4,35,24,.48) 38%,rgba(4,35,24,.08) 72%);pointer-events:none}
html[dir="rtl"] .ref-hero--slider:after{background:linear-gradient(270deg,rgba(4,35,24,.82) 0%,rgba(4,35,24,.48) 38%,rgba(4,35,24,.08) 72%)}
.ref-hero__slides,.ref-hero__slide{position:absolute;inset:0}.ref-hero__slides{z-index:0}.ref-hero__slide{opacity:0;transform:scale(1.035);transition:opacity 1s ease,transform 6.5s ease;pointer-events:none}.ref-hero__slide.is-active{opacity:1;transform:scale(1)}
.ref-hero__slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.ref-hero--slider .ref-hero__content{position:relative;z-index:2}
.ref-hero__controls{position:absolute;z-index:3;inset-inline-start:5vw;bottom:24px;display:flex;align-items:center;gap:10px}
.ref-hero__arrow{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(7,47,34,.42);color:#fff;font:400 26px/1 Georgia,serif;cursor:pointer;backdrop-filter:blur(8px);transition:background .25s,transform .25s}.ref-hero__arrow:hover{background:#fff;color:#123b2c;transform:scale(1.06)}
.ref-hero__dots{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:rgba(7,47,34,.32);backdrop-filter:blur(8px)}.ref-hero__dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.48);cursor:pointer;transition:width .3s,background .3s}.ref-hero__dots button.is-active{width:24px;border-radius:6px;background:#fff}
@media(max-width:760px){.ref-hero--slider:after{background:linear-gradient(90deg,rgba(4,35,24,.82),rgba(4,35,24,.24))}.ref-hero__controls{inset-inline-start:22px;bottom:12px}.ref-hero__arrow{width:32px;height:32px;font-size:22px}.ref-hero__dots{padding:7px 9px}.ref-hero__dots button{width:6px;height:6px}.ref-hero__dots button.is-active{width:18px}}
@media(prefers-reduced-motion:reduce){.ref-hero__slide{transition:opacity .2s ease;transform:none}}

/* Curved 3D treatment carousel inspired by the supplied product catalogue. */
.ref-services-carousel-section{position:relative;scroll-margin-top:110px;padding:clamp(54px,7vw,92px) max(4vw,24px);overflow:hidden;color:#f7f1e6;background:radial-gradient(900px 380px at 50% 64%,rgba(45,126,83,.2),transparent 70%),linear-gradient(145deg,#071c13,#0d3423 55%,#07160f)}
.ref-services-carousel-section--hero{padding-top:32px}
.ref-services-carousel-section:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:70px 70px}
.ref-services-carousel-section__head,.ref-services-carousel-section .services-catalog{position:relative;z-index:1;width:min(100%,1440px);margin-inline:auto}
.ref-services-carousel-section__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,520px);align-items:end;gap:40px;margin-bottom:24px}.ref-services-carousel-section__head>div>p{margin:0 0 10px;color:#d8b969;font-size:11px;font-weight:800;letter-spacing:.28em}.ref-services-carousel-section__head :is(h1,h2){margin:0;color:#fff;font:500 clamp(42px,5vw,72px)/.95 Fraunces,Cairo,serif;letter-spacing:-.04em}.ref-services-carousel-section__head>p{margin:0 0 4px;color:rgba(247,241,230,.72);font-size:15px;line-height:1.75}
.ref-services-carousel-section .services-catalog{margin-top:0}
.ref-services-carousel-section .services-catalog-card{text-decoration:none}
@media(max-width:760px){.ref-services-carousel-section{padding:28px 13px}.ref-services-carousel-section--hero{padding-top:20px}.ref-services-carousel-section__head{display:block;margin-bottom:18px}.ref-services-carousel-section__head :is(h1,h2){font-size:38px}.ref-services-carousel-section__head>p{margin-top:16px;font-size:13px}.ref-services-carousel-section .services-catalog{margin-top:0}}

/* Public catalog titles share the existing heading design. */
.ref-catalog-heading{padding-top:140px;padding-bottom:20px}
.ref-catalog-heading h1{margin:0;font:500 clamp(32px,4vw,52px)/1.15 Fraunces,Cairo,serif;letter-spacing:-.035em}
@media(max-width:760px){.ref-catalog-heading{padding-top:105px}}

.ref-service-card__rates{display:flex;flex-direction:column;gap:8px;min-width:0}
.ref-service-card__rates span{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.ref-service-card__rates small{color:#66736d;font:700 11px/1.2 Manrope,Cairo,sans-serif;letter-spacing:0}
.ref-service-card__rates strong{color:#0b3b2c;font:700 18px/1 Fraunces,Cairo,serif;white-space:nowrap}
.ref-service-card__rates em{font:600 10px/1 Manrope,Cairo,sans-serif;color:#79847f}
.ref-plan__rates{display:flex;flex-direction:column;gap:10px;margin:18px 0 14px;padding-top:16px;border-top:1px solid #e4e7e2}
.ref-plan__rates div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ref-plan__rates span{color:#66736d;font-size:13px;font-weight:700}
.ref-plan__rates strong{color:#0b3b2c;font:700 22px/1 Fraunces,Cairo,serif}

@media (max-width: 760px) {
  .ref-detail__content {
    padding-bottom: calc(108px + env(safe-area-inset-bottom));
  }
  .ref-experience .ref-grid--2 {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .ref-experience article div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 6px 12px;
    padding: 14px 14px 16px;
  }
  .ref-experience article strong {
    line-height: 1.3;
  }
  .ref-experience article div p {
    grid-column: 1 / -1;
    margin: 2px 0 0;
    line-height: 1.5;
  }
  .ref-mobile-book {
    z-index: 150;
    gap: 10px;
    padding-inline-end: 68px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom));
  }
  .ref-mobile-book > button {
    flex: 0 1 auto;
    min-width: 0;
    padding-inline: 14px;
    white-space: nowrap;
  }
}
/* mobile experience cards stack */

/* Egyptian massage: a quieter, immersive treatment page */
.ref-detail--egyptian{background:#f5f2e9;color:#19392c}
.ref-detail--egyptian .ref-detail__tools{background:#f5f2e9;border-color:#dcded2}
.egyptian-hero{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden;background:#173b2c;color:#fff}
.egyptian-hero__image{position:absolute;inset:0}
.egyptian-hero__image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,36,26,.91) 0%,rgba(10,36,26,.72) 38%,rgba(10,36,26,.12) 100%)}
.egyptian-hero__image img{width:100%;height:100%;object-fit:cover;object-position:center;animation:egyptianImage 1.8s cubic-bezier(.2,.7,.2,1) both}
.egyptian-hero__content{position:relative;width:min(720px,65%);padding:85px 0 80px max(7vw,30px);animation:egyptianEnter 1s .12s both}
.egyptian-hero__eyebrow{display:flex;align-items:center;gap:13px;color:#e1d0a3;font-size:10px;font-weight:800;letter-spacing:.23em;text-transform:uppercase}
.egyptian-hero__eyebrow span{width:38px;height:1px;background:#d4bd89}
.ref-detail--egyptian .egyptian-hero h1{font-size:clamp(58px,7.5vw,110px);line-height:.96;letter-spacing:-.05em;margin:25px 0;color:#fff}
.egyptian-hero__lead{max-width:510px;color:rgba(255,255,255,.82);font-size:16px;line-height:1.75}
.egyptian-hero__actions{display:flex;align-items:center;gap:28px;margin-top:32px}
.egyptian-hero__actions button{border:0;background:#e4d3a9;color:#173b2c;padding:17px 23px;font-weight:800;cursor:pointer;transition:background .3s,transform .3s}
.egyptian-hero__actions button:hover{background:#fff;transform:translateY(-3px)}
.egyptian-hero__actions button span{margin-inline-start:24px}.egyptian-hero__actions a{color:#fff;text-decoration:none;font-size:12px;border-bottom:1px solid rgba(255,255,255,.5);padding:12px 0}.egyptian-hero__actions a span{margin-inline-start:12px}
.egyptian-hero__meta{display:flex;gap:25px;margin-top:55px;font-size:11px;letter-spacing:.06em;color:#e8e5d9}.egyptian-hero__index{position:absolute;right:4vw;bottom:30px;font-size:10px;letter-spacing:.2em;color:#fff}
.ref-detail--egyptian .ref-detail__content{max-width:1260px;padding-top:0}
.ref-detail--egyptian .ref-detail__facts{padding:24px 0;border-color:#d7ddd2}
.ref-rate-list{padding:6px 0 18px}
.ref-rate-list>p{margin:0 0 14px;font-size:17px;line-height:1.5;color:#3e5649}
.ref-rate-list>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ref-rate-list button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:18px 20px;border:1px solid #d5ddd4;border-radius:8px;background:#fff;color:#17392c;text-align:start;cursor:pointer}
.ref-rate-list button span{font-size:17px;font-weight:700}
.ref-rate-list button strong{font:500 28px/1 Fraunces,Cairo,serif}
.ref-rate-list button:hover{border-color:#17392c}
@media(max-width:760px){.ref-rate-list>div{grid-template-columns:1fr}.ref-rate-list button{padding:16px}.ref-rate-list button strong{font-size:24px}}.ref-detail--egyptian .ref-detail__tabs{height:76px;gap:48px}.ref-detail--egyptian .ref-detail__tabs a{font-size:13px;padding-bottom:18px}
.ref-detail--egyptian .ref-copy,.ref-detail--egyptian .ref-experience,.ref-detail--egyptian .ref-location,.ref-detail--egyptian .ref-related{padding-top:70px;padding-bottom:35px;scroll-margin-top:100px}
.ref-detail--egyptian .ref-copy h2,.ref-detail--egyptian .ref-experience>h2,.ref-detail--egyptian .ref-plan>h2,.ref-detail--egyptian .ref-related>h2{font-size:clamp(32px,4vw,50px);margin-bottom:20px}.ref-detail--egyptian .ref-copy p{font-size:16px;line-height:1.85;max-width:850px}
.ref-detail--egyptian .ref-experience article{border:0;background:#ebece2;border-radius:2px;transition:transform .45s ease,box-shadow .45s ease}.ref-detail--egyptian .ref-experience article:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(25,57,44,.12)}.ref-detail--egyptian .ref-experience article img{height:270px}.ref-detail--egyptian .ref-experience article div{padding:22px;align-items:start}.ref-detail--egyptian .ref-experience article strong{font-size:18px}.ref-detail--egyptian .ref-plan{margin-top:35px;padding:36px;background:#e9ede3;border-color:#cbd7c8;border-radius:3px}
@keyframes egyptianEnter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes egyptianImage{from{transform:scale(1.06)}to{transform:scale(1)}}
@media(max-width:760px){.egyptian-hero{min-height:620px;align-items:flex-end}.egyptian-hero__image:after{background:linear-gradient(0deg,rgba(10,36,26,.96),rgba(10,36,26,.65) 53%,rgba(10,36,26,.15))}.egyptian-hero__content{width:100%;padding:130px 24px 45px}.ref-detail--egyptian .egyptian-hero h1{font-size:clamp(50px,13vw,72px);margin:20px 0}.egyptian-hero__lead{font-size:14px;line-height:1.65}.egyptian-hero__actions{gap:18px;flex-wrap:wrap}.egyptian-hero__actions button{padding:15px 18px}.egyptian-hero__meta{margin-top:35px;gap:18px}.egyptian-hero__index{display:none}.ref-detail--egyptian .ref-detail__tabs{gap:22px;height:65px}.ref-detail--egyptian .ref-copy,.ref-detail--egyptian .ref-experience,.ref-detail--egyptian .ref-location,.ref-detail--egyptian .ref-related{padding-top:48px;padding-bottom:22px}.ref-detail--egyptian .ref-experience article img{height:200px}.ref-detail--egyptian .ref-plan{padding:22px}.ref-detail--egyptian .ref-copy p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.egyptian-hero__content,.egyptian-hero__image img{animation:none}.egyptian-hero__actions button,.ref-detail--egyptian .ref-experience article{transition:none}}

/* Dimensional motion for the Egyptian massage experience cards. */
.ref-detail--egyptian .ref-experience .ref-grid{perspective:1100px}
.ref-detail--egyptian .ref-experience article{position:relative;transform-style:preserve-3d;transform:perspective(1100px) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg));transition:transform .65s cubic-bezier(.2,.75,.2,1),box-shadow .65s ease,opacity .8s ease;will-change:transform}
.ref-detail--egyptian .ref-experience article:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--card-light-x,50%) var(--card-light-y,50%),rgba(255,255,255,.3),transparent 55%);opacity:0;transition:opacity .5s ease}
.ref-detail--egyptian .ref-experience article.is-tilting{transform:perspective(1100px) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg)) translateZ(12px);box-shadow:0 25px 50px rgba(25,57,44,.2);transition:transform .12s ease-out,box-shadow .4s ease}
.ref-detail--egyptian .ref-experience article.is-tilting:after{opacity:1}
.ref-detail--egyptian .ref-experience article img{transition:transform .7s cubic-bezier(.2,.75,.2,1);transform-origin:center}
.ref-detail--egyptian .ref-experience article.is-tilting img{transform:scale(1.035)}
.ref-detail--egyptian .ref-experience article.egyptian-card-reveal{opacity:0;transform:translateY(35px) scale(.97);transition-delay:var(--card-delay,0ms)}
.ref-detail--egyptian .ref-experience article.egyptian-card-reveal.is-visible{opacity:1;transform:perspective(1100px) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg));transition-delay:0ms}
.ref-detail--egyptian .ref-experience article.egyptian-card-reveal.is-visible.is-tilting{transform:perspective(1100px) rotateX(var(--card-rotate-x,0deg)) rotateY(var(--card-rotate-y,0deg)) translateZ(12px)}
@media(prefers-reduced-motion:reduce){.ref-detail--egyptian .ref-experience article,.ref-detail--egyptian .ref-experience article.egyptian-card-reveal,.ref-detail--egyptian .ref-experience article img{opacity:1!important;transform:none!important;transition:none!important}}

/* A gentle panoramic crop of the existing hero image. */
.egyptian-hero__image{cursor:grab;touch-action:pan-y;overflow:hidden}
.egyptian-hero__image.is-dragging{cursor:grabbing}
.egyptian-hero__image img{object-position:var(--hero-position,50%) center;user-select:none;-webkit-user-drag:none;transform:scale(1.12);animation:egyptianPan 16s ease-in-out infinite alternate}
.egyptian-hero__image.is-dragging img,.egyptian-hero__image[style] img{animation:none}
.egyptian-hero__content,.egyptian-hero__index{pointer-events:none}
.egyptian-hero__actions{pointer-events:auto}
@keyframes egyptianPan{from{transform:scale(1.12) translateX(-2%)}to{transform:scale(1.12) translateX(2%)}}
@media(prefers-reduced-motion:reduce){.egyptian-hero__image{cursor:default}.egyptian-hero__image img{animation:none;transform:none}}
.egyptian-hero__image.is-dragging img,.egyptian-hero__image[style] img{transform:scale(1.12) translateX(calc((50% - var(--hero-position, 50%)) * .08))}
/* Make the ambient movement visible without requiring interaction. */
@media (prefers-reduced-motion: no-preference){
  .egyptian-hero__image img{transform:scale(1.25);animation:egyptianPanVisible 9s ease-in-out infinite alternate}
  .egyptian-hero__image.is-dragging img,.egyptian-hero__image[style] img{animation:none;transform:scale(1.25) translateX(var(--hero-shift,0%));transition:transform .15s ease-out}
  .ref-detail--egyptian .ref-experience article.egyptian-card-reveal.is-visible img{animation:egyptianCardDrift 7s ease-in-out infinite alternate}
  .ref-detail--egyptian .ref-experience article.egyptian-card-reveal.is-visible:nth-child(2) img{animation-delay:-3.5s}
  .ref-detail--egyptian .ref-experience article.egyptian-card-reveal.is-visible.is-tilting img{animation-play-state:paused}
}
@keyframes egyptianPanVisible{from{transform:scale(1.25) translateX(-7%)}to{transform:scale(1.25) translateX(7%)}}
@keyframes egyptianCardDrift{from{transform:scale(1.04) translateX(-1%)}to{transform:scale(1.12) translateX(1%)}}
/* Slow, continuous movement in both directions, with drag control. */
@media (prefers-reduced-motion: no-preference){
  .egyptian-hero__image{touch-action:none}
  .egyptian-hero__image img{animation:egyptianDriftTwoAxes 14s ease-in-out infinite alternate;will-change:transform}
  .egyptian-hero__image.is-dragging img,.egyptian-hero__image[style] img{animation:none;transform:scale(1.3) translate(var(--hero-shift-x,0%),var(--hero-shift-y,0%));transition:transform .12s ease-out}
}
@keyframes egyptianDriftTwoAxes{
  0%{transform:scale(1.3) translate(-7%,-5%)}
  35%{transform:scale(1.3) translate(5%,4%)}
  70%{transform:scale(1.3) translate(7%,-3%)}
  100%{transform:scale(1.3) translate(-4%,5%)}
}

/* Align the header on the Egyptian massage page and keep the ticker legible. */
body[data-page="services"]:has(.ref-detail--egyptian) .top-ticker{height:var(--solo-ticker-offset);min-height:var(--solo-ticker-offset)}
body[data-page="services"]:has(.ref-detail--egyptian) .top-ticker__viewport{height:var(--solo-ticker-height);justify-content:center}
body[data-page="services"]:has(.ref-detail--egyptian) .top-ticker__track{display:none}
body[data-page="services"]:has(.ref-detail--egyptian) .top-ticker__viewport:after{line-height:1;white-space:nowrap}
body[data-page="services"]:has(.ref-detail--egyptian) .nav{top:calc(var(--solo-ticker-offset) + 5px)}
@media(max-width:600px){body[data-page="services"]:has(.ref-detail--egyptian) .nav,body[data-page="services"]:has(.ref-detail--egyptian) .nav.scrolled{top:calc(var(--solo-ticker-offset) + 5px)}}
/* Restore the original moving transport and payment messages. */
body[data-page="services"]:has(.ref-detail--egyptian) .top-ticker__viewport{justify-content:flex-start}
body[data-page="services"]:has(.ref-detail--egyptian) .top-ticker__viewport:after{content:none}
body[data-page="services"]:has(.ref-detail--egyptian) .top-ticker__track{display:flex;width:max-content;height:100%;justify-content:flex-start;animation:solo-ticker-scroll 20s linear infinite}
body[data-page="services"]:has(.ref-detail--egyptian) .top-ticker__group{display:flex}
@media(prefers-reduced-motion:reduce){body[data-page="services"]:has(.ref-detail--egyptian) .top-ticker__track{animation:none}}

/* Keep the home artwork below the fixed ticker and navigation. */
@media(min-width:901px){
  body[data-page="home"] .hero--storefront{min-height:max(700px,calc(min(42vw, 620px) * 1.08 + var(--solo-ticker-offset) + 150px))}
  body[data-page="home"] .hero--storefront .hero__bg{top:calc(var(--solo-ticker-offset) + 116px);max-height:none}
  body[data-page="home"] .hero--storefront .hero__bg .hero__bg-img{object-position:center top}
}
@media(max-width:900px){
  body[data-page="home"] .hero--storefront{padding-top:calc(var(--solo-ticker-offset) + 96px)}
  body[data-page="home"] .hero--storefront .hero__bg .hero__bg-img{object-position:center top}
}

/* Gentle depth and responsive pointer movement for the home hero artwork. */
@media (prefers-reduced-motion: no-preference){
  body[data-page="home"] .hero--storefront .hero__bg{transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s ease}
  body[data-page="home"] .hero--storefront .hero__bg .hero__bg-img{animation:homeArtworkDepth 9s ease-in-out infinite alternate;transform-origin:center top;will-change:transform}
  body[data-page="home"] .hero--storefront .hero__bg.is-depth-active .hero__bg-img{animation:none;transform:scale(1.04) translate(var(--hero-depth-x,0px),var(--hero-depth-y,0px));transition:transform .25s ease-out}
  @media (min-width:901px){body[data-page="home"] .hero--storefront .hero__bg.is-depth-active{transform:perspective(1200px) rotateX(var(--hero-tilt-x,0deg)) rotateY(var(--hero-tilt-y,0deg));box-shadow:0 35px 70px rgba(11,38,23,.28)}}
}
@keyframes homeArtworkDepth{from{transform:scale(1.02) translate3d(-.5%,0,0)}to{transform:scale(1.06) translate3d(.5%,.5%,0)}}
.ref-plan__wax button{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:13px 15px;border:1px solid #ccd9cd;background:#fff;border-radius:8px;text-align:start;cursor:pointer}
.ref-plan__wax button:hover,.ref-plan__wax button:focus-visible{border-color:#246b4c;background:#edf5ed}
.ref-plan__wax button strong{white-space:nowrap;font-size:16px}
/* Shared service and trip detail layout. */
.ref-detail--egyptian .egyptian-hero h1{overflow-wrap:anywhere}
.ref-detail--trip .trip-detail__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ref-detail--trip .trip-detail__details>div{background:#ebece2;padding:24px;border-radius:4px;line-height:1.7}
.ref-detail--trip .trip-detail__details h3{font:500 23px/1.2 Fraunces,Cairo,serif;margin:0 0 12px}
.ref-detail--trip .trip-detail__details ul{padding-inline-start:20px;margin:0}
.ref-detail--trip .ref-plan{scroll-margin-top:120px}
.trip-service-card a.ref-service-card__book{display:flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:760px){.ref-detail--trip .trip-detail__details{grid-template-columns:1fr}}
.ref-detail--combo{min-height:0}
.gyg-offer#combo-details{scroll-margin-top:110px}
/* Keep normal vertical scrolling available over the hero on touch screens. */
@media (hover:none){.egyptian-hero__image{touch-action:pan-y}}
.ref-detail .ref-book-action{padding:30px 0;scroll-margin-top:110px}
.ref-detail .ref-book-action .ref-plan__primary{min-height:58px;max-width:420px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:32px;cursor:pointer;transition:background .25s,transform .25s}
.ref-detail .ref-book-action .ref-plan__primary:hover{background:#176949;transform:translateY(-2px)}
@media(max-width:760px){.ref-detail .ref-book-action .ref-plan__primary{max-width:none}}
@media(prefers-reduced-motion:reduce){.ref-detail .ref-book-action .ref-plan__primary{transition:none}}

/* Service catalog cards: calm, readable treatment information. */
body[data-page="services"] #all-services .ref-heading{margin-bottom:22px}
body[data-page="services"] #all-services [data-service-grid]{gap:24px;perspective:none;align-items:stretch}
body[data-page="services"] #all-services .ref-service-card,
body[data-page="services"] #all-services .ref-service-card:nth-child(n){display:flex;flex-direction:column;height:100%;border:1px solid #e0e5dc;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(24,54,39,.06);transform:none;transform-style:flat;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
body[data-page="services"] #all-services .ref-service-card:hover,
body[data-page="services"] #all-services .ref-service-card.is-tilting{transform:translateY(-5px);border-color:#bccfc0;box-shadow:0 20px 42px rgba(24,54,39,.13)}
body[data-page="services"] #all-services .ref-service-card::before,
body[data-page="services"] #all-services .ref-service-card::after{content:none}
body[data-page="services"] #all-services .ref-service-card__media{aspect-ratio:1.48/1;background:#e4ebe3}
body[data-page="services"] #all-services .ref-service-card__media img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
body[data-page="services"] #all-services .ref-service-card:hover .ref-service-card__media img{transform:scale(1.04)}
body[data-page="services"] #all-services .ref-service-card__badge{top:16px;inset-inline-start:16px;padding:9px 12px;border-radius:5px;background:#f6f3e9;color:#24513a;box-shadow:none;font-size:10px;letter-spacing:.1em}
body[data-page="services"] #all-services .ref-service-card__favorite{width:40px;height:40px;top:12px;inset-inline-end:12px;border:0;background:rgba(255,255,255,.95);color:#244d3b;font-size:23px}
body[data-page="services"] #all-services .ref-service-card__body{flex:1;min-height:0;padding:23px 24px 24px;background:#fff}
body[data-page="services"] #all-services .ref-service-card__place{margin:0 0 10px;color:#809083;font-size:9px;letter-spacing:.14em}
body[data-page="services"] #all-services .ref-service-card__place span{color:#b79d61}
body[data-page="services"] #all-services .ref-service-card h3{margin:0 0 12px;color:#193e2d;font:500 clamp(22px,1.6vw,27px)/1.18 Fraunces,Cairo,serif;letter-spacing:-.02em}
body[data-page="services"] #all-services .ref-service-card__meta{margin:0 0 13px;gap:8px;color:#6d7e70;font-size:11px;font-weight:600}
body[data-page="services"] #all-services .ref-service-card__meta span{color:#53735c;background:#f1f5ee;border-radius:4px;padding:6px 9px}
body[data-page="services"] #all-services .ref-service-card__desc{min-height:0;margin:0;color:#66766b;font-size:13px;line-height:1.7;-webkit-line-clamp:2}
body[data-page="services"] #all-services .ref-service-card__footer{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin-top:auto;padding-top:22px;border-top:0}
body[data-page="services"] #all-services .ref-service-card__rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:15px;border-top:1px solid #edf0e9}
body[data-page="services"] #all-services .ref-service-card__rates span{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
body[data-page="services"] #all-services .ref-service-card__rates small,
body[data-page="services"] #all-services .ref-service-card__price small{color:#829082;font-size:10px;font-weight:700;letter-spacing:.06em}
body[data-page="services"] #all-services .ref-service-card__rates strong,
body[data-page="services"] #all-services .ref-service-card__price strong{font:600 21px/1.1 Fraunces,Cairo,serif;color:#214d35}
body[data-page="services"] #all-services .ref-service-card__price{padding-top:15px;border-top:1px solid #edf0e9}
body[data-page="services"] #all-services .ref-service-card__price strong.is-text{font:700 14px/1.3 Manrope,Cairo,sans-serif}
body[data-page="services"] #all-services .ref-service-card__book{width:100%;min-height:46px;border:1px solid #1d563d;border-radius:7px;background:#174d36;color:#fff;box-shadow:none;font-size:12px;letter-spacing:.02em;transition:background .25s ease,transform .25s ease}
body[data-page="services"] #all-services .ref-service-card__book:hover{background:#256c4b;box-shadow:none;transform:translateY(-2px)}
body[data-page="services"] #all-services .ref-service-card a:focus-visible,body[data-page="services"] #all-services .ref-service-card button:focus-visible{outline:3px solid #bd9d55;outline-offset:3px}
@media(max-width:760px){body[data-page="services"] #all-services [data-service-grid]{gap:16px}body[data-page="services"] #all-services .ref-service-card__body{padding:20px}body[data-page="services"] #all-services .ref-service-card__media{aspect-ratio:1.6/1}}
@media(prefers-reduced-motion:reduce){body[data-page="services"] #all-services .ref-service-card,body[data-page="services"] #all-services .ref-service-card__media img,body[data-page="services"] #all-services .ref-service-card__book{transition:none!important;transform:none!important}}
body[data-page="services"] #all-services [data-service-grid] .ref-service-card[hidden]{display:none!important}

body[data-page="services"] #all-services .ref-service-card:hover{transform:translateY(-5px)}

/* Services catalog follows the dark/light toggle. */
html[data-theme="dark"] body.solo-eg-theme[data-page="services"]{
  background:#0c1813 !important;
  color:#f4efe4 !important;
}
html[data-theme="dark"] body[data-page="services"] .ref-storefront{
  background:#0c1813;
  color:#f4efe4;
}
[data-theme="dark"] body[data-page="services"] .ref-categories{background:transparent}
[data-theme="dark"] body[data-page="services"] .ref-categories a{
  background:#14261d;
  color:#f4efe4;
  border-color:#2a4336;
}
[data-theme="dark"] body[data-page="services"] .ref-categories a.active{
  background:#f4efe4;
  color:#10281d;
  border-color:#f4efe4;
}
[data-theme="dark"] body[data-page="services"] .ref-heading p{color:#c9b27a}
[data-theme="dark"] body[data-page="services"] .ref-heading h2,
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card h3,
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card h3 a{color:#f6f1e8}
[data-theme="dark"] body[data-page="services"] .ref-service-filters{
  background:#13241c;
  border-color:#2a4336;
  box-shadow:none;
}
[data-theme="dark"] body[data-page="services"] .ref-service-filters button{color:#c5d2c8}
[data-theme="dark"] body[data-page="services"] .ref-service-filters button.is-active{
  background:#f4efe4;
  color:#10281d;
}
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card,
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card:nth-child(n),
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__body{
  background:#14261d;
  border-color:#2c4638;
  color:#f4efe4;
}
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__place,
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__desc,
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__rates small,
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__price small{color:#b7c6bb}
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__meta span{
  background:#1d3328;
  color:#d7e3da;
}
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__rates,
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__price{border-top-color:#2c4638}
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__rates strong,
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__price strong{color:#f6f1e8}
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__badge{
  background:#1d3328;
  color:#e7d7a4;
}
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__book{
  background:#f4efe4;
  color:#10281d;
  border-color:#f4efe4;
}
[data-theme="dark"] body[data-page="services"] #all-services .ref-service-card__book:hover{background:#fff}

/* Site-wide floating leaves, excluding the gift-card page. */
body:not([data-page="gift-card"]) .leaves-scene{display:block!important;pointer-events:none}
@media(prefers-reduced-motion:reduce){body:not([data-page="gift-card"]) .leaves-scene{display:none!important}}
/* Ensure leaves remain visible above storefront content on touch devices. */
body:not([data-page="gift-card"]) #leavesScene{display:block!important}
@media(prefers-reduced-motion:reduce){body:not([data-page="gift-card"]) #leavesScene{display:none!important}}

/* Animate only visible catalog images to keep scrolling light. */
@media (prefers-reduced-motion: no-preference){
  .ref-storefront--catalog .ref-service-card__media img,
  .ref-storefront--catalog .services-catalog-card__image img{animation:catalogImageMotion 10s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:center;will-change:auto}
  .ref-storefront--catalog .ref-service-card__media img.is-in-view,
  .ref-storefront--catalog .services-catalog-card__image img.is-in-view{animation-play-state:running}
  .ref-storefront--catalog .ref-service-card:nth-child(even) .ref-service-card__media img,
  .ref-storefront--catalog .services-catalog-card:nth-child(even) .services-catalog-card__image img{animation-delay:-5s}
}
@keyframes catalogImageMotion{0%{transform:scale(1.08) translate3d(-2%, -1%, 0)}100%{transform:scale(1.13) translate3d(2%, 1%, 0)}}
@media (prefers-reduced-motion: reduce){.ref-storefront--catalog .ref-service-card__media img,.ref-storefront--catalog .services-catalog-card__image img{animation:none!important;transform:none!important}}

/* On narrow phones each offer keeps a readable title and a usable action. */
@media(max-width:480px){
  #offersPage .offers-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  #offersPage .offer-card__img{height:220px}
  #offersPage .offer-card__body{padding:16px}
  #offersPage .offer-card__title{font-size:17px;line-height:1.4}
  #offersPage .offer-card .btn{min-height:44px;white-space:normal}
}

/* Touch screens keep the same artwork and controls without continuous decoration. */
@media (max-width:900px), (pointer:coarse) {
  .leaves-scene { display:none !important; }
  .fab, .fab::before, .fab::after,
  .fab__gem, .fab__gem::before, .fab__gem::after,
  .fab__pulse, .fab__pulse::after, .fab__ring,
  .about-location, .about-location::before, .about-location::after,
  .about-location__icon, .about-location__pattern,
  .standard-hero-story,
  body[data-page="home"] .hero--storefront .hero__bg .hero__bg-img,
  .egyptian-hero__image img {
    animation:none !important;
    will-change:auto !important;
  }
  .nav, .nav__inner, .hero__eyebrow--store {
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
}
@media (max-width:900px), (pointer:coarse) {
  .modal, .modal__box { transition:none !important; }
  .modal__backdrop { backdrop-filter:none; -webkit-backdrop-filter:none; }
}

