
:root {
  --bg: #07111f;
  --bg-soft: #0b1829;
  --surface: rgba(14, 29, 48, 0.76);
  --surface-strong: #0e1d30;
  --surface-soft: rgba(32, 59, 92, 0.58);
  --border: rgba(157, 194, 232, 0.14);
  --border-strong: rgba(157, 194, 232, 0.25);
  --text: #f4f8ff;
  --muted: #9eb0c6;
  --brand: #76b7ff;
  --brand-strong: #3688f5;
  --brand-contrast: #06101c;
  --glow: rgba(54, 136, 245, 0.26);
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.34);
  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 12px;
  --container: 1240px;
  --header-height: 78px;
  --ease: cubic-bezier(.2,.75,.25,1);
}

[data-theme="dark"] {
  --bg: #070d16;
  --bg-soft: #0b1320;
  --surface: rgba(16, 26, 40, 0.76);
  --surface-strong: #111d2c;
  --surface-soft: rgba(31, 50, 76, 0.62);
  --border: rgba(203, 224, 255, 0.11);
  --border-strong: rgba(203, 224, 255, 0.21);
  --text: #f7fbff;
  --muted: #a8b3c2;
  --brand: #7caeff;
  --brand-strong: #4c84e6;
  --brand-contrast: #081221;
  --glow: rgba(76, 132, 230, 0.24);
}

[data-theme="light"] {
  --bg: #eef5ff;
  --bg-soft: #e5eefb;
  --surface: rgba(255, 255, 255, 0.82);
  --surface-strong: #ffffff;
  --surface-soft: rgba(239, 246, 255, 0.92);
  --border: rgba(20, 57, 94, 0.11);
  --border-strong: rgba(20, 57, 94, 0.17);
  --text: #112033;
  --muted: #61748c;
  --brand: #2f78d8;
  --brand-strong: #1e5fb5;
  --brand-contrast: #f7fbff;
  --glow: rgba(47, 120, 216, 0.18);
  --shadow: 0 24px 60px rgba(35, 77, 125, 0.13);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  background: var(--bg);
}

body {
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--text);
  background:
    radial-gradient(circle at 15% 10%, var(--glow), transparent 28%),
    radial-gradient(circle at 85% 18%, rgba(118, 183, 255, 0.045), transparent 25%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-soft) 100%);
  font-family: Inter, 'IBM Plex Sans Arabic', system-ui, sans-serif;
  transition: background .45s var(--ease), color .45s var(--ease);
}

html[dir="rtl"] body,
html[dir="rtl"] button,
html[dir="rtl"] input,
html[dir="rtl"] select,
html[dir="rtl"] textarea {
  font-family: 'IBM Plex Sans Arabic', Inter, system-ui, sans-serif;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -3;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 88%);
}

::selection {
  background: var(--brand);
  color: var(--brand-contrast);
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  border: 0;
}

img,
video {
  max-width: 100%;
}


select.form-control {
  appearance: none;
  -webkit-appearance: none;
  color-scheme: dark;
  cursor: pointer;
  padding-inline-end: 44px;
  background-image: linear-gradient(45deg, transparent 50%, var(--brand) 50%), linear-gradient(135deg, var(--brand) 50%, transparent 50%), linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0));
  background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%, 0 0;
  background-size: 6px 6px, 6px 6px, auto;
  background-repeat: no-repeat;
}

html[dir="rtl"] select.form-control {
  background-position: 14px 50%, 20px 50%, 0 0;
  padding-inline: 13px 44px;
}

select.form-control option {
  background: #0d1c2d;
  color: #f4f8ff;
}

[data-theme="light"] select.form-control {
  color-scheme: light;
}

[data-theme="light"] select.form-control option {
  background: #ffffff;
  color: #112033;
}

.gallery-tabs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  box-shadow: 0 12px 34px rgba(0,0,0,.08);
}

.gallery-tab {
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  padding: 9px 15px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  transition: all .28s var(--ease);
}

.gallery-tab:hover { color: var(--text); background: var(--surface-soft); }
.gallery-tab.active { color: var(--brand-contrast); background: linear-gradient(135deg, var(--brand), var(--brand-strong)); box-shadow: 0 8px 24px var(--glow); }

.gallery-card {
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
  transform: translateZ(0);
}

.gallery-card.is-hidden { display: none; }
.gallery-card .media-wrap { position: relative; overflow: hidden; background: #06101c; }
.gallery-card img,
.gallery-card video {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  background: linear-gradient(135deg, #0b1d32, #112b47);
  transition: transform .7s var(--ease), filter .5s ease;
}
.gallery-card.video-card video { aspect-ratio: 9 / 14; cursor: default; pointer-events: none; }
.gallery-card:hover img,
.gallery-card:hover video { transform: scale(1.045); filter: saturate(1.06) contrast(1.03); }

.media-badge {
  position: absolute;
  top: 12px;
  inset-inline-start: 12px;
  z-index: 2;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(6, 16, 28, .58);
  color: #fff;
  backdrop-filter: blur(14px);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.media-shade {
  position: absolute;
  inset: auto 0 0;
  height: 35%;
  background: linear-gradient(180deg, transparent, rgba(4, 12, 22, .78));
  pointer-events: none;
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 7000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(1, 6, 12, .84);
  backdrop-filter: blur(18px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease;
}

.lightbox.open { opacity: 1; visibility: visible; pointer-events: auto; }
.lightbox-dialog { position: relative; width: min(980px, 94vw); max-height: 90vh; display: grid; place-items: center; }
.lightbox-dialog img,
.lightbox-dialog video { max-width: 100%; max-height: 82vh; border-radius: 18px; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 30px 100px rgba(0,0,0,.48); background: #06101c; }
.lightbox-close { position: absolute; top: -12px; inset-inline-end: -12px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); background: rgba(8,18,30,.86); color: #fff; cursor: pointer; font-size: 20px; z-index: 2; }
.lightbox-caption { margin-top: 10px; color: rgba(255,255,255,.76); font-size: 11px; text-align: center; }

.home-loader-mark { position: relative; width: 226px; height: 226px; display: grid; place-items: center; }
.home-loader-ring { position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 0deg, rgba(118,183,255,.10), rgba(118,183,255,.10) 55%, var(--brand) 72%, var(--brand-strong) 83%, rgba(118,183,255,.10) 93%); -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px)); mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px)); animation: spin 1.15s linear infinite; box-shadow: 0 0 42px var(--glow); }
.home-loader-ring::after { content: ''; position: absolute; inset: 7px; border-radius: 50%; border: 1px solid rgba(118,183,255,.10); }
.home-loader-mark img { width: 218px; height: 218px; object-fit: contain; object-position: center; border-radius: 0; overflow: visible; border: 0; background: transparent; box-shadow: none; display: block; }
.home-loader-name { color: var(--text); font-size: 10px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.home-loader-line { width: 190px; height: 2px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.08); }
.home-loader-line span { display: block; width: 42%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, transparent, var(--brand), transparent); animation: loaderSweep 1.2s ease-in-out infinite; }

@keyframes loaderSweep { 0% { transform: translateX(-180%); } 100% { transform: translateX(430%); } }

@media (prefers-reduced-motion: reduce) {
  .home-loader-ring, .home-loader-line span { animation: none; }
  .gallery-card img, .gallery-card video { transition: none; }
}

.container {
  width: min(var(--container), calc(100% - 40px));
  margin-inline: auto;
}

.page-shell {
  position: relative;
  isolation: isolate;
}

.ambient {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  overflow: hidden;
}

.ambient span {
  position: absolute;
  width: 30rem;
  height: 30rem;
  border-radius: 50%;
  filter: blur(90px);
  opacity: .09;
  background: var(--brand);
  transform: translate3d(0,0,0);
}

.ambient span:nth-child(1) { top: 10%; right: -12rem; }
.ambient span:nth-child(2) { bottom: 5%; left: -14rem; opacity: .06; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: var(--header-height);
  border-bottom: 1px solid var(--border);
  background: rgba(7, 17, 31, .66);
  backdrop-filter: blur(22px) saturate(1.2);
  transition: background .4s var(--ease), border-color .4s var(--ease);
}

[data-theme="dark"] .site-header { background: rgba(7,7,13,.62); }
[data-theme="light"] .site-header { background: rgba(238,244,239,.75); }

.navbar {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: max-content;
}

.brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  clip-path: circle(50%);
  object-fit: contain;
  object-position: center;
  border: 0;
  background: transparent;
  box-shadow: 0 0 0 5px rgba(255,255,255,.015), 0 10px 35px var(--glow);
}

.brand-copy {
  display: grid;
  gap: 2px;
}

.brand-copy strong {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.02em;
}

.brand-copy span {
  font-size: 10px;
  color: var(--muted);
  letter-spacing: .11em;
  text-transform: uppercase;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 7px;
}

.nav-links a {
  position: relative;
  padding: 10px 13px;
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  transition: color .25s ease, background .25s ease, transform .25s ease;
}

.nav-links a::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 4px;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: var(--brand);
  transform: translateX(-50%);
  transition: width .3s var(--ease);
}

.nav-links a:hover,
.nav-links a.active {
  color: var(--text);
  background: var(--surface-soft);
  transform: translateY(-1px);
}

.nav-links a.active::after { width: 18px; }

.nav-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pill,
.btn,
.icon-btn {
  border: 1px solid var(--border);
  border-radius: 999px;
  transition: transform .25s var(--ease), border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.pill,
.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.pill {
  min-height: 40px;
  padding: 0 14px;
  color: var(--muted);
  background: var(--surface);
  cursor: pointer;
}

.pill:hover,
.icon-btn:hover {
  color: var(--text);
  border-color: var(--border-strong);
  background: var(--surface-soft);
  transform: translateY(-2px);
}

.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 0 18px;
  overflow: hidden;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.23), transparent 70%);
  transform: translateX(-130%);
  transition: transform .8s ease;
}

.btn:hover::before { transform: translateX(130%); }
.btn:hover { transform: translateY(-3px); box-shadow: 0 14px 34px var(--glow); }
.btn:active { transform: translateY(-1px); }

.btn-primary {
  color: var(--brand-contrast);
  background: linear-gradient(135deg, var(--brand), var(--brand-strong));
  border-color: transparent;
}

.btn-secondary {
  color: var(--text);
  background: var(--surface);
}

.icon-btn {
  width: 40px;
  height: 40px;
  color: var(--text);
  background: var(--surface);
  cursor: pointer;
}

.mobile-toggle { display: none; }

.pref-menu { position: relative; z-index: 9000; }
.pref-panel {
  position: absolute;
  top: calc(100% + 9px);
  inset-inline-end: 0;
  min-width: 155px;
  padding: 6px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--border);
  border-radius: 15px;
  background: rgba(11, 27, 45, .97);
  backdrop-filter: blur(20px);
  box-shadow: var(--shadow);
  z-index: 9100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px) scale(.98);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}
.pref-menu.open .pref-panel { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
[data-theme="dark"] .pref-panel { background: rgba(13, 24, 39, .98); }
[data-theme="light"] .pref-panel { background: rgba(255,255,255,.97); }
.pref-panel button {
  width: 100%;
  padding: 10px 11px;
  text-align: start;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 11px;
}
.pref-panel button:hover { background: var(--surface-soft); color: var(--text); }
.pref-panel button[aria-pressed="true"], .pref-panel button[aria-checked="true"] { background: linear-gradient(135deg, var(--surface-soft), rgba(118,183,255,.13)); color: var(--text); box-shadow: inset 0 0 0 1px rgba(118,183,255,.11); }

.hero,
.page-hero,
.gallery-hero {
  position: relative;
  overflow: hidden;
}

.hero {
  min-height: calc(100vh - var(--header-height));
  display: grid;
  align-items: center;
  isolation: isolate;
}

.hero-media,
.hero-media::after {
  position: absolute;
  inset: 0;
}

.hero-media { z-index: 0; pointer-events: none; }

.hero-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.8) contrast(1.08) brightness(.6);
  transform: scale(1.03);
}

.hero-media::after {
  z-index: 1;
  pointer-events: none;
  content: '';
  background:
    linear-gradient(90deg, rgba(7,17,31,.92) 0%, rgba(7,17,31,.70) 44%, rgba(7,17,31,.50) 100%),
    linear-gradient(180deg, rgba(7,17,31,.12), rgba(7,17,31,.88));
}

[data-theme="dark"] .hero-media::after {
  background: linear-gradient(90deg, rgba(7,7,13,.94), rgba(7,7,13,.58), rgba(7,7,13,.5)), linear-gradient(180deg, rgba(7,7,13,.06), rgba(7,7,13,.9));
}

[data-theme="light"] .hero-media::after {
  background: linear-gradient(90deg, rgba(235,243,237,.9), rgba(235,243,237,.54), rgba(235,243,237,.35)), linear-gradient(180deg, rgba(235,243,237,.05), rgba(235,243,237,.78));
}

.hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .7fr);
  gap: 48px;
  align-items: end;
  padding: 80px 0 72px;
}

.hero-copy {
  max-width: 720px;
}

.eyebrow,
.kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--brand);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.eyebrow .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 7px rgba(118,183,255,.08), 0 0 22px var(--glow);
  animation: pulse 2.2s infinite ease-in-out;
}

.hero h1 {
  margin-top: 18px;
  max-width: 780px;
  font-size: clamp(42px, 7vw, 86px);
  line-height: .98;
  letter-spacing: -.065em;
  font-weight: 800;
}

.hero h1 span { color: var(--brand); }

.hero-lead {
  max-width: 640px;
  margin-top: 20px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.9;
}

.hero-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.hero-side {
  display: grid;
  gap: 12px;
  justify-items: end;
}

.floating-card {
  width: min(100%, 340px);
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025));
  backdrop-filter: blur(18px);
  box-shadow: var(--shadow);
  animation: floatY 5.8s ease-in-out infinite;
}

.floating-card:nth-child(2) { animation-delay: -.9s; }
.floating-card:nth-child(3) { animation-delay: -1.8s; }

.floating-card small {
  display: block;
  margin-bottom: 10px;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.floating-card strong {
  display: block;
  font-size: 23px;
  line-height: 1.25;
}

.floating-card p {
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
}

.section {
  padding: 96px 0;
}

.section-sm { padding: 66px 0; }

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
}

.section-head h2,
.page-hero h1,
.gallery-hero h1 {
  margin-top: 12px;
  font-size: clamp(30px, 4vw, 54px);
  letter-spacing: -.045em;
  line-height: 1.05;
}

.section-head p,
.page-hero p,
.gallery-hero p {
  max-width: 680px;
  margin-top: 11px;
  color: var(--muted);
  line-height: 1.85;
  font-size: 13px;
}

.text-link {
  color: var(--brand);
  white-space: nowrap;
  font-size: 12px;
  font-weight: 800;
  transition: transform .25s ease;
}

.text-link:hover { transform: translateX(-4px); }
html[dir="ltr"] .text-link:hover { transform: translateX(4px); }

.packages-grid,
.feature-grid,
.service-grid,
.process-grid {
  display: grid;
  gap: 16px;
}

.packages-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.process-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.card {
  position: relative;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, var(--surface), rgba(255,255,255,.018));
  box-shadow: 0 15px 50px rgba(0,0,0,.1);
  backdrop-filter: blur(16px);
  transition: transform .45s var(--ease), border-color .35s ease, box-shadow .45s var(--ease), background .35s ease;
}

.card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.08), transparent 28%);
  opacity: 0;
  transition: opacity .3s ease;
}

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

.card:hover::after { opacity: 1; }

.package {
  min-height: 100%;
  padding: 24px;
  display: flex;
  flex-direction: column;
}

.package.featured {
  border-color: color-mix(in srgb, var(--brand) 50%, var(--border));
  box-shadow: 0 18px 55px var(--glow);
}

.package-badge.popular {
  background: linear-gradient(135deg, #4aa8ff, #7bc8ff);
  box-shadow: 0 8px 24px rgba(74,168,255,.24);
  color: #06111f;
}

.package-badge {
  align-self: flex-start;
  margin-bottom: 18px;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--brand-contrast);
  background: var(--brand);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.package h3 {
  font-size: 18px;
  letter-spacing: -.02em;
}

.package .descriptor {
  margin-top: 7px;
  color: var(--brand);
  font-size: 11px;
  font-weight: 700;
}

.price {
  display: flex;
  align-items: baseline;
  gap: 7px;
  margin: 22px 0 18px;
}

.price strong {
  font-size: 42px;
  letter-spacing: -.06em;
}

.price span { color: var(--muted); font-size: 12px; }
.price del { color: var(--muted); font-size: 13px; margin-inline-end: 2px; }

.package ul,
.detail-list,
.process-list {
  list-style: none;
}

.package ul {
  display: grid;
  gap: 10px;
  margin-bottom: 24px;
  flex: 1;
}

.package li,
.detail-list li,
.process-list li {
  position: relative;
  padding-inline-start: 21px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.package li::before,
.detail-list li::before,
.process-list li::before {
  content: '';
  position: absolute;
  top: .75em;
  inset-inline-start: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 0 0 5px rgba(118,183,255,.07);
}

.feature {
  padding: 23px;
  min-height: 210px;
}

.icon {
  width: 47px;
  height: 47px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--brand);
  background: rgba(118,183,255,.09);
  border: 1px solid rgba(118,183,255,.13);
  font-size: 21px;
  margin-bottom: 18px;
}

.feature h3 { font-size: 18px; }
.feature p { margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.9; }

.story-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 16px;
}

.story-card { padding: 28px; }
.story-card h3 { font-size: 25px; letter-spacing: -.035em; }
.story-card p { margin-top: 10px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.story-card .detail-list { display: grid; gap: 12px; margin-top: 22px; }

.process-card {
  padding: 20px;
  min-height: 180px;
}

.process-number {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--surface-soft);
  border: 1px solid var(--border);
  color: var(--brand);
  font-weight: 900;
}

.process-card h3 { margin-top: 15px; font-size: 16px; }
.process-card p { margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.8; }

.page-hero,
.gallery-hero {
  padding: 118px 0 78px;
  background: linear-gradient(180deg, rgba(255,255,255,.02), transparent);
}

.page-hero::after,
.gallery-hero::after {
  content: '';
  position: absolute;
  width: 460px;
  height: 460px;
  border-radius: 50%;
  background: var(--glow);
  filter: blur(100px);
  inset-inline-end: -160px;
  top: -120px;
  opacity: .5;
  pointer-events: none;
}

.form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 16px;
  align-items: start;
}

.form-card { padding: 28px; }

.form-header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  margin-bottom: 22px;
}

.form-header h2 { font-size: 24px; letter-spacing: -.035em; }
.form-header span { color: var(--muted); font-size: 10px; }

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}

.form-group { display: grid; gap: 7px; }
.form-group.full { grid-column: 1 / -1; }
.form-group label { color: var(--text); font-size: 11px; font-weight: 700; }

.form-control {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  color: var(--text);
  background: rgba(255,255,255,.025);
  border: 1px solid var(--border);
  border-radius: 14px;
  outline: none;
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

textarea.form-control { min-height: 130px; padding: 14px; resize: vertical; }
.form-control::placeholder { color: color-mix(in srgb, var(--muted) 75%, transparent); }
.form-control:focus {
  border-color: var(--brand);
  background: rgba(255,255,255,.04);
  box-shadow: 0 0 0 4px var(--glow);
}

.form-submit { width: 100%; margin-top: 16px; }

.form-note {
  margin-top: 12px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.8;
  text-align: center;
}

.success {
  display: none;
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--brand) 60%, transparent);
  border-radius: 14px;
  background: rgba(54,136,245,.08);
  color: var(--text);
  font-size: 12px;
}

.booking-aside {
  padding: 22px;
  position: sticky;
  top: 96px;
}

.booking-aside h3 { font-size: 18px; }
.booking-aside p { margin-top: 8px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.booking-aside .detail-list { display: grid; gap: 12px; margin-top: 18px; }

.gallery-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
}

.gallery-count { color: var(--muted); font-size: 11px; }

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

.media-card { overflow: hidden; }
.media-card video { width: 100%; aspect-ratio: 9 / 14; object-fit: cover; display: block; background: #000; }
.media-card .caption { padding: 12px 13px 15px; color: var(--muted); font-size: 10px; }

.cta-banner {
  position: relative;
  overflow: hidden;
  padding: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  border: 1px solid var(--border);
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, rgba(118,183,255,.10), rgba(255,255,255,.025));
}

.cta-banner::after {
  content: '';
  position: absolute;
  width: 270px;
  height: 270px;
  border-radius: 50%;
  background: var(--glow);
  filter: blur(80px);
  inset-inline-end: -80px;
}

.cta-banner h2 { font-size: clamp(24px, 3vw, 42px); letter-spacing: -.045em; }
.cta-banner p { margin-top: 8px; color: var(--muted); font-size: 12px; }
.cta-actions { display: flex; gap: 9px; flex-wrap: wrap; position: relative; z-index: 1; }

.site-footer {
  padding: 70px 0 24px;
  border-top: 1px solid var(--border);
}

.footer-top {
  display: grid;
  grid-template-columns: 1.2fr .7fr .7fr;
  gap: 32px;
}

.footer-brand p { max-width: 420px; margin-top: 15px; color: var(--muted); font-size: 11px; line-height: 1.9; }
.footer-col { display: grid; align-content: start; gap: 9px; }
.footer-col h4 { margin-bottom: 5px; font-size: 11px; color: var(--text); }
.footer-col a,
.footer-col span { color: var(--muted); font-size: 11px; transition: color .2s ease; }
.footer-col a:hover { color: var(--brand); }
.footer-bottom { display: flex; justify-content: space-between; gap: 14px; margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--border); color: var(--muted); font-size: 10px; }

.reveal {
  opacity: 0;
  transform: translateY(28px) scale(.985);
  transition: opacity .8s var(--ease), transform .8s var(--ease);
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

[data-delay="1"] { transition-delay: .08s; }
[data-delay="2"] { transition-delay: .16s; }
[data-delay="3"] { transition-delay: .24s; }
[data-delay="4"] { transition-delay: .32s; }

.loader {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  background: var(--bg);
  transition: opacity .7s var(--ease), visibility .7s var(--ease);
}

.loader.hide { opacity: 0; visibility: hidden; pointer-events: none; }
.loader-inner { display: grid; justify-items: center; gap: 18px; }
.loader-ring { width: 86px; height: 86px; padding: 3px; border-radius: 50%; background: conic-gradient(from 0deg, transparent 0 35%, var(--brand), transparent 70% 100%); animation: spin 1.2s linear infinite; box-shadow: 0 0 50px var(--glow); }
.loader-ring img { width: 100%; height: 100%; object-fit: contain; object-position: center; border-radius: 0; border: 0; background: transparent; }
.loader-percent { color: var(--brand); font-weight: 900; font-size: 13px; }
.loader-message { color: var(--muted); font-size: 11px; }

.toast {
  position: fixed;
  inset-inline-start: 22px;
  bottom: 22px;
  z-index: 4000;
  max-width: min(360px, calc(100vw - 44px));
  padding: 13px 15px;
  border: 1px solid var(--border-strong);
  border-radius: 15px;
  background: rgba(11, 27, 45, .92);
  backdrop-filter: blur(18px);
  box-shadow: var(--shadow);
  opacity: 0;
  transform: translateY(15px);
  pointer-events: none;
  transition: opacity .3s ease, transform .3s ease;
  color: var(--text);
  font-size: 11px;
}

[data-theme="dark"] .toast { background: rgba(20,20,31,.9); }
[data-theme="light"] .toast { background: rgba(255,255,255,.92); }
.toast.show { opacity: 1; transform: none; }

#pointer-glow {
  position: fixed;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
  background: radial-gradient(circle, var(--glow), transparent 68%);
  transform: translate3d(-9999px,-9999px,0);
  filter: blur(6px);
  opacity: .55;
  transition: opacity .25s ease;
}

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes pulse { 0%,100% { transform: scale(1); opacity: .72; } 50% { transform: scale(1.16); opacity: 1; } }
@keyframes floatY { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }

@media (max-width: 1100px) {
  .packages-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gallery-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .process-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 900px) {
  :root { --header-height: 70px; }
  .container { width: min(var(--container), calc(100% - 28px)); }
  .nav-links {
    position: fixed;
    inset-inline: 14px;
    top: calc(var(--header-height) + 8px);
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: rgba(7,17,31,.92);
    backdrop-filter: blur(18px);
    transform: translateY(-10px) scale(.98);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
  }
  [data-theme="dark"] .nav-links { background: rgba(7,7,13,.92); }
  [data-theme="light"] .nav-links { background: rgba(255,255,255,.95); }
  .nav-links.open { opacity: 1; transform: none; pointer-events: auto; }
  .nav-links a { padding: 13px 14px; border-radius: 12px; }
  .mobile-toggle { display: inline-flex; }
  .nav-actions .pill { display: none; }
  .hero-grid { grid-template-columns: 1fr; padding-top: 60px; }
  .hero-side { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); justify-items: stretch; }
  .floating-card { width: auto; }
  .story-grid,
  .form-layout { grid-template-columns: 1fr; }
  .booking-aside { position: static; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .section { padding: 76px 0; }
  .page-hero, .gallery-hero { padding: 84px 0 60px; }
  .hero h1 { font-size: clamp(38px, 13vw, 68px); }
  .hero-lead { font-size: 14px; }
  .hero-side { grid-template-columns: 1fr; }
  .packages-grid,
  .feature-grid,
  .service-grid,
  .gallery-grid,
  .process-grid,
  .form-grid { grid-template-columns: 1fr; }
  .form-group.full { grid-column: auto; }
  .section-head,
  .cta-banner,
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .cta-banner { padding: 26px; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { display: grid; }
  .brand-copy span { display: none; }
  .nav-actions .btn { padding-inline: 13px; min-height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  #pointer-glow { display: none; }
}


@media (max-width: 720px) {
  .gallery-tabs { width: 100%; justify-content: space-between; }
  .gallery-tab { flex: 1; padding-inline: 10px; }
  .gallery-toolbar { align-items: stretch; flex-direction: column; }
  .lightbox { padding: 12px; }
  .lightbox-close { top: 4px; inset-inline-end: 4px; }
  .lightbox-dialog img, .lightbox-dialog video { max-height: 76vh; border-radius: 14px; }
}


.booking-price-note{margin-top:1.25rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,rgba(74,163,255,.08),rgba(74,163,255,.02));display:flex;flex-direction:column;gap:.35rem;}
.booking-price-note span{font-size:.8rem;color:var(--muted);}
.booking-price-note strong{font-size:1rem;color:var(--accent-strong);letter-spacing:.04em;}


.booking-page .page-hero { padding: 92px 0 54px; }
.booking-hero-grid { display:flex; align-items:flex-end; justify-content:space-between; gap:34px; }
.booking-hero-grid > div:first-child { max-width:820px; }
.booking-hero h1 { margin-top:14px; font-size:clamp(38px,5.7vw,72px); letter-spacing:-.06em; line-height:1.02; }
.booking-hero p { max-width:720px; margin-top:15px; }
.booking-hero-meta { display:grid; grid-template-columns:repeat(3, minmax(74px, 1fr)); gap:8px; width:min(100%, 350px); }
.booking-hero-meta span { min-height:72px; padding:11px 12px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--border); border-radius:17px; background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)); box-shadow:0 10px 30px rgba(0,0,0,.08); }
.booking-hero-meta strong { color:var(--brand); font-size:11px; letter-spacing:.08em; }
.booking-hero-meta small { color:var(--muted); font-size:9px; line-height:1.5; }
.booking-section { padding-top:30px; }
.booking-layout { display:grid; grid-template-columns:minmax(0, 1fr) minmax(330px, .46fr); gap:18px; align-items:start; }
.booking-main-card { padding:30px; overflow:hidden; }
.booking-main-card::before { content:''; position:absolute; width:340px; height:340px; border-radius:50%; background:var(--glow); filter:blur(70px); top:-220px; inset-inline-end:-160px; opacity:.55; pointer-events:none; }
.booking-progress { position:relative; display:grid; grid-template-columns:auto 1fr auto 1fr auto; align-items:center; gap:10px; margin-bottom:28px; }
.booking-progress span { display:inline-flex; align-items:center; gap:8px; color:var(--muted); font-size:9px; font-weight:800; }
.booking-progress span b { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; border:1px solid var(--border); color:var(--muted); background:rgba(255,255,255,.025); font-size:9px; }
.booking-progress span.active { color:var(--text); }
.booking-progress span.active b { color:var(--brand-contrast); background:linear-gradient(135deg,var(--brand),var(--brand-strong)); border-color:transparent; box-shadow:0 8px 24px var(--glow); }
.booking-progress i { height:1px; background:linear-gradient(90deg,var(--border-strong),var(--border)); }
.booking-side { position:relative; min-height:100%; padding:24px; overflow:hidden; border:1px solid var(--border); border-radius:var(--radius-lg); background:linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012)); box-shadow:var(--shadow); backdrop-filter:blur(18px); }

.booking-package-visual {
  position: relative;
  z-index: 1;
  height: 152px;
  margin: -2px -2px 18px;
  overflow: hidden;
  border-radius: 19px;
  border: 1px solid var(--border);
  background: #07111f;
  isolation: isolate;
  box-shadow: 0 18px 50px rgba(0,0,0,.2);
}
.booking-package-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform .8s var(--ease), filter .8s var(--ease);
}
.booking-side:hover .booking-package-visual img { transform: scale(1.035); }
.booking-package-visual-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5,12,21,.02), rgba(5,12,21,.7));
  pointer-events: none;
}
.booking-package-visual-label {
  position: absolute;
  inset-inline-start: 12px;
  bottom: 10px;
  padding: 5px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(5,12,21,.58);
  color: rgba(255,255,255,.86);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
  backdrop-filter: blur(10px);
}
.booking-side::after { content:''; position:absolute; width:220px; height:220px; border-radius:50%; background:var(--glow); filter:blur(85px); inset-inline-start:-120px; bottom:-110px; opacity:.45; pointer-events:none; }
.booking-side-orbit { position:absolute; width:220px; height:220px; inset-inline-start:-140px; top:-110px; border:1px solid var(--border); border-radius:50%; opacity:.55; }
.booking-side-orbit span { position:absolute; width:7px; height:7px; border-radius:50%; background:var(--brand); box-shadow:0 0 18px var(--glow); }
.booking-side-orbit span:first-child { top:25px; inset-inline-end:42px; }
.booking-side-orbit span:last-child { bottom:42px; inset-inline-start:38px; opacity:.45; }
.booking-side-head { position:relative; z-index:1; display:grid; grid-template-columns:auto 1fr; gap:13px; align-items:start; margin-top:18px; }
.booking-side-number { display:grid; place-items:center; width:35px; height:35px; border-radius:12px; color:var(--brand-contrast); background:var(--brand); font-size:10px; font-weight:900; }
.booking-side h2 { font-size:24px; letter-spacing:-.045em; line-height:1.1; }
.booking-side p { margin-top:8px; color:var(--muted); font-size:11px; line-height:1.9; }
.booking-selected-card { position:relative; z-index:1; margin-top:20px; padding:14px 16px; border:1px solid color-mix(in srgb, var(--brand) 24%, var(--border)); border-radius:18px; background:linear-gradient(135deg, rgba(54,136,245,.14), rgba(255,255,255,.02)); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
.booking-selected-top { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--muted); font-size:9px; }
.booking-selected-dot { width:7px; height:7px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 5px rgba(54,136,245,.08), 0 0 20px var(--glow); }
.booking-selected-card > strong { display:block; margin-top:8px; font-size:17px; letter-spacing:-.025em; }
.booking-selected-card > span { display:block; margin-top:4px; color:var(--muted); font-size:10px; }
.booking-selected-price { display:flex; align-items:baseline; gap:7px; margin-top:12px; }
.booking-selected-price strong { font-size:30px; letter-spacing:-.06em; }
.booking-selected-price span { color:var(--muted); font-size:10px; }
.booking-side-foot { position:relative; z-index:1; display:grid; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid var(--border); }
.booking-side-foot span { display:flex; align-items:center; gap:9px; color:var(--muted); font-size:10px; }
.booking-side-foot i { width:7px; height:7px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 4px rgba(54,136,245,.07); }
.booking-side-foot b { font-weight:700; }
.booking-field-head { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:12px; }
.booking-field-head label { display:block; color:var(--text); font-size:12px; font-weight:800; }
.booking-field-head small { display:block; margin-top:4px; color:var(--muted); font-size:9px; }
.booking-field-head > span { color:var(--brand); font-size:9px; font-weight:800; }
.booking-package-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.booking-package-choice { position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; min-height:86px; padding:13px; text-align:start; color:var(--text); background:rgba(255,255,255,.018); border:1px solid var(--border); border-radius:17px; cursor:pointer; transition:transform .35s var(--ease), border-color .35s ease, background .35s ease, box-shadow .35s ease; overflow:hidden; }
.booking-package-choice::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at var(--mx,60%) var(--my,50%), rgba(118,183,255,.12), transparent 32%); opacity:0; transition:opacity .3s ease; pointer-events:none; }
.booking-package-choice:hover { transform:translateY(-3px); border-color:var(--border-strong); background:rgba(118,183,255,.045); box-shadow:0 14px 38px rgba(0,0,0,.13); }
.booking-package-choice:hover::after { opacity:1; }
.booking-package-choice.selected { border-color:color-mix(in srgb,var(--brand) 70%,var(--border)); background:linear-gradient(135deg,rgba(54,136,245,.16),rgba(118,183,255,.04)); box-shadow:0 18px 40px var(--glow); }
.booking-package-choice.featured { border-color:color-mix(in srgb,var(--brand) 35%,var(--border)); }
.booking-package-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:rgba(118,183,255,.08); border:1px solid rgba(118,183,255,.1); font-size:18px; }
.booking-package-copy { min-width:0; display:grid; gap:4px; }
.booking-package-copy strong { font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.booking-package-copy small { color:var(--muted); font-size:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.booking-package-price { display:flex; flex-direction:column; align-items:flex-end; gap:0; padding-inline-start:6px; }
.booking-package-price b { color:var(--brand); font-size:20px; letter-spacing:-.05em; }
.booking-package-price small { color:var(--muted); font-size:8px; letter-spacing:.06em; }
.booking-choice-tag { position:absolute; top:8px; inset-inline-start:10px; padding:4px 7px; border-radius:999px; color:var(--brand-contrast); background:var(--brand); font-size:7px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.booking-choice-tag.signature { background:linear-gradient(135deg,#dfe9ff,#8bbdff); }
.booking-choice-tag.popular { background:linear-gradient(135deg,#4aa8ff,#7bc8ff); color:#06111f; box-shadow:0 8px 22px rgba(74,168,255,.22); }
.booking-package-choice.featured .booking-package-icon { margin-top:6px; }
.visually-hidden-field { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.booking-divider { display:flex; align-items:center; gap:12px; margin:26px 0 16px; color:var(--muted); font-size:9px; font-weight:800; }
.booking-divider::after { content:''; flex:1; height:1px; background:var(--border); }
.booking-submit-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.9fr); gap:12px; align-items:center; margin-top:18px; }
.booking-submit-copy { display:flex; align-items:center; gap:10px; padding:8px 4px; }
.booking-submit-check { display:grid; place-items:center; flex:0 0 auto; width:34px; height:34px; border-radius:11px; color:var(--brand-contrast); background:var(--brand); font-weight:900; box-shadow:0 8px 24px var(--glow); }
.booking-submit-copy strong { display:block; font-size:11px; }
.booking-submit-copy small { display:block; margin-top:3px; color:var(--muted); font-size:9px; line-height:1.6; }
.booking-submit-row .form-submit { margin-top:0; min-height:54px; }
.booking-package-wrap.chosen .booking-field-head > span { color:var(--text); }
.booking-package-wrap.chosen .booking-field-head > span::before { content:'✓ '; color:var(--brand); }

@media (max-width: 980px) {
  .booking-layout { grid-template-columns:1fr; }
  .booking-side { order:2; }
  .booking-main-card { order:1; }
  .booking-hero-grid { align-items:flex-start; flex-direction:column; }
  .booking-hero-meta { width:100%; max-width:500px; }
}

@media (max-width: 680px) {
  .booking-page .page-hero { padding:74px 0 42px; }
  .booking-main-card { padding:19px; }
  .booking-side { padding:20px; }
  .booking-package-visual { height: 118px; margin-bottom: 14px; }
  .booking-hero h1 { font-size:clamp(34px,11vw,58px); }
  .booking-hero-meta { grid-template-columns:1fr; max-width:none; }
  .booking-hero-meta span { min-height:56px; }
  .booking-package-grid { grid-template-columns:1fr; }
  .booking-submit-row { grid-template-columns:1fr; }
  .booking-submit-row .form-submit { width:100%; }
  .booking-progress { gap:7px; }
  .booking-progress span { gap:5px; }
  .booking-progress span em { display:none; }
  .booking-progress i { min-width:22px; }
}

.booking-main-card,
.booking-side,
.booking-package-choice,
.booking-selected-card { isolation:isolate; }

.booking-main-card::after,
.booking-side::before {
  content:'';
  position:absolute;
  inset:1px;
  border-radius:inherit;
  pointer-events:none;
}

.booking-main-card::after {
  background:linear-gradient(120deg, transparent 0%, rgba(118,183,255,.08) 36%, transparent 58%);
  transform:translateX(-120%);
  animation:bookingSheen 8s ease-in-out infinite;
  z-index:0;
}

.booking-main-card > * { position:relative; z-index:1; }
.booking-side > * { position:relative; z-index:1; }

.booking-side::before {
  border:1px solid rgba(118,183,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}

.booking-progress span {
  transition:transform .35s ease,color .35s ease;
}
.booking-progress span.active { transform:translateY(-2px); }
.booking-progress span.active b { animation:stepPulse 2.8s ease-in-out infinite; }

.booking-package-choice {
  transform:translateZ(0);
}
.booking-package-choice::before {
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  border:1px solid transparent;
  background:linear-gradient(120deg, transparent 20%, rgba(118,183,255,.55), transparent 72%) border-box;
  -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:0;
  transform:translateX(-18%);
  transition:opacity .3s ease;
  pointer-events:none;
}
.booking-package-choice:hover::before,
.booking-package-choice.selected::before { opacity:1; }

.booking-package-choice.selected {
  animation:selectedCardIn .5s var(--ease) both;
}
.booking-package-choice.selected::after { opacity:1; }
.booking-package-choice.selected .booking-package-icon {
  border-color:rgba(118,183,255,.36);
  box-shadow:0 0 0 5px rgba(54,136,245,.05), 0 0 26px rgba(54,136,245,.18);
}
.booking-package-choice.selected .booking-package-price b {
  text-shadow:0 0 22px rgba(118,183,255,.22);
}

.booking-choice-tag { box-shadow:0 8px 22px rgba(54,136,245,.18); }

.booking-selected-card {
  overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.booking-selected-card::after {
  content:'';
  position:absolute;
  width:140px;
  height:140px;
  border-radius:50%;
  top:-70px;
  inset-inline-end:-45px;
  background:rgba(118,183,255,.16);
  filter:blur(32px);
  pointer-events:none;
}
.booking-selected-card.is-changing { animation:summarySwap .5s var(--ease) both; }
.booking-selected-card.is-active { box-shadow:0 18px 48px rgba(17,97,190,.14), inset 0 1px 0 rgba(255,255,255,.06); }

.booking-submit-row .form-submit {
  position:relative;
  overflow:hidden;
  box-shadow:0 14px 36px rgba(45,126,235,.18);
}
.booking-submit-row .form-submit::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.16) 45%,transparent 65%);
  transform:translateX(-130%);
  transition:transform .7s ease;
}
.booking-submit-row .form-submit:hover::after { transform:translateX(130%); }

.booking-field-head > span { transition:transform .25s ease,color .25s ease; }
.booking-package-wrap.chosen .booking-field-head > span { transform:translateY(-1px); }

@keyframes bookingSheen {
  0%, 62%, 100% { transform:translateX(-120%); opacity:0; }
  68% { opacity:.7; }
  84% { transform:translateX(120%); opacity:0; }
}
@keyframes stepPulse {
  0%,100% { box-shadow:0 8px 24px var(--glow), 0 0 0 0 rgba(118,183,255,0); }
  50% { box-shadow:0 12px 30px var(--glow), 0 0 0 8px rgba(118,183,255,.04); }
}
@keyframes selectedCardIn {
  0% { transform:scale(.985); }
  60% { transform:scale(1.008); }
  100% { transform:scale(1); }
}
@keyframes summarySwap {
  0% { opacity:.45; transform:translateY(7px) scale(.985); }
  100% { opacity:1; transform:translateY(0) scale(1); }
}

@media (max-width: 980px) {
  .booking-side { min-height:auto; }
}

@media (max-width: 680px) {
  .booking-section { padding-top:18px; }
  .booking-main-card { border-radius:20px; }
  .booking-side { border-radius:20px; }
  .booking-package-choice { min-height:82px; }
  .booking-submit-copy { padding:4px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .booking-main-card::after,
  .booking-progress span.active b,
  .booking-package-choice.selected,
  .booking-selected-card.is-changing { animation:none !important; }
}

.hp-field {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html.devtools-detected body > *:not(#security-notice) {
  filter: blur(7px);
  transition: filter .18s ease;
}

#security-notice {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(3, 9, 18, .82);
  backdrop-filter: blur(16px);
}

.security-notice-card {
  width: min(420px, 100%);
  padding: 30px;
  text-align: center;
  border: 1px solid var(--border-strong);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(16, 30, 48, .98), rgba(8, 18, 31, .98));
  box-shadow: 0 30px 100px rgba(0, 0, 0, .5), 0 0 45px var(--glow);
}

.security-notice-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: var(--surface-soft);
  border: 1px solid var(--border-strong);
  font-size: 24px;
}

.security-notice-card strong { display: block; font-size: 18px; margin-bottom: 8px; }
.security-notice-card p { color: var(--muted); font-size: 13px; line-height: 1.8; }

@media (prefers-reduced-motion: reduce) {
  html.devtools-detected body > *:not(#security-notice) { transition: none; }
}

.gallery-card.video-card.video-paused .media-wrap::after{content:"";position:absolute;inset:0;border:1px solid rgba(83,164,255,.28);border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(83,164,255,.06);pointer-events:none}.gallery-card.video-card.is-recovering .media-wrap::after{animation:videoRecover .38s ease both}@keyframes videoRecover{0%{opacity:.15;box-shadow:inset 0 0 0 0 rgba(83,164,255,0),0 0 0 rgba(83,164,255,0)}40%{opacity:1;box-shadow:inset 0 0 0 1px rgba(83,164,255,.35),0 0 28px rgba(83,164,255,.18)}100%{opacity:.25;box-shadow:inset 0 0 0 1px rgba(83,164,255,.08),0 0 0 rgba(83,164,255,0)}}


.social-float {
  position: fixed;
  inset-inline-end: 24px;
  inset-block-end: 24px;
  z-index: 1200;
  display: grid;
  justify-items: end;
  gap: 12px;
  pointer-events: auto;
}

.social-float-menu {
  display: grid;
  gap: 10px;
  width: min(236px, calc(100vw - 44px));
  opacity: 0;
  transform: translateY(12px) scale(.96);
  transform-origin: bottom right;
  pointer-events: none;
  transition: opacity .28s var(--ease), transform .35s var(--ease);
}

.social-float.is-open .social-float-menu,
.social-float:hover .social-float-menu {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.social-float-link {
  position: relative;
  min-height: 52px;
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border: 1px solid rgba(118, 183, 255, .20);
  border-radius: 17px;
  color: var(--text);
  background: linear-gradient(135deg, rgba(18, 33, 56, .96), rgba(11, 22, 39, .92));
  box-shadow: 0 16px 34px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter: blur(18px) saturate(125%);
  transition: transform .25s var(--ease), border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.social-float-link:hover {
  transform: translateX(-5px);
  border-color: rgba(118,183,255,.48);
  box-shadow: 0 18px 38px rgba(0,0,0,.31), 0 0 0 1px rgba(118,183,255,.06);
}

.social-float-link span[data-i18n] {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1px;
}

.social-float-icon,
.social-float-toggle-icon {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 11px;
  flex: 0 0 auto;
}

.social-float-icon svg,
.social-float-toggle-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.social-float-link.whatsapp .social-float-icon { color: #49e58a; background: rgba(52,224,123,.10); }
.social-float-link.instagram .social-float-icon { color: #e6a1ff; background: linear-gradient(135deg, rgba(225,48,108,.18), rgba(131,58,180,.18)); }
.social-float-link.snapchat .social-float-icon { color: #ffe36b; background: rgba(255,226,56,.10); }

.social-arrow {
  color: var(--muted);
  font-size: 13px;
  transition: color .2s ease, transform .2s ease;
}
.social-float-link:hover .social-arrow { color: var(--brand); transform: translate(2px, -2px); }

.social-float-toggle {
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  padding: 0;
  margin: 0;
  cursor: pointer;
  position: relative;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  pointer-events: auto;
  color: #06130d;
  background: radial-gradient(circle at 30% 25%, #77f5ad 0%, #20dd73 52%, #0fa457 100%);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 14px 36px rgba(9, 190, 95, .32), 0 0 0 7px rgba(30, 222, 113, .07);
  transition: transform .25s var(--ease), box-shadow .25s ease;
}

.social-float-toggle:hover {
  transform: translateY(-4px) scale(1.035);
  box-shadow: 0 18px 40px rgba(9,190,95,.4), 0 0 0 9px rgba(30,222,113,.08);
}

.social-float-toggle-icon svg { width: 29px; height: 29px; stroke-width: 1.7; }
.social-float-ping {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1px solid rgba(78,231,136,.5);
  animation: socialPulse 2.6s ease-out infinite;
  pointer-events: none;
}

@keyframes socialPulse {
  0% { transform: scale(.88); opacity: .85; }
  70%,100% { transform: scale(1.16); opacity: 0; }
}

@media (min-width: 901px) {
  .social-float-menu .social-float-link:nth-child(1) { transition-delay: 40ms; }
  .social-float-menu .social-float-link:nth-child(2) { transition-delay: 80ms; }
  .social-float-menu .social-float-link:nth-child(3) { transition-delay: 120ms; }
}

@media (max-width: 640px) {
  .social-float {
    inset-inline-end: 16px;
    inset-block-end: 16px;
  }
  .social-float-menu { width: min(220px, calc(100vw - 32px)); }
  .social-float-link { min-height: 49px; border-radius: 15px; }
  .social-float-toggle { width: 58px; height: 58px; }
}

@media (prefers-reduced-motion: reduce) {
  .social-float-menu,
  .social-float-link,
  .social-float-toggle { transition: none !important; }
  .social-float-ping { animation: none; }
}

.booking-main-card { position: relative; overflow: hidden; isolation: isolate; }
.packingbackground {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: .19;
  filter: saturate(.7) contrast(1.08) brightness(.72);
  transform: scale(1.025);
  pointer-events: none;
  user-select: none;
}
.packingbackground-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(4,10,18,.72) 0%, rgba(7,17,31,.78) 55%, rgba(7,17,31,.92) 100%),
    linear-gradient(90deg, rgba(7,17,31,.9), rgba(7,17,31,.38));
}
.packingbackground-glow {
  position: absolute;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  inset-inline-end: -130px;
  top: -140px;
  z-index: 2;
  background: var(--glow);
  filter: blur(85px);
  opacity: .52;
  pointer-events: none;
  animation: bookingVideoGlow 7s ease-in-out infinite;
}
.booking-main-content { position: relative; z-index: 4; }
@keyframes bookingVideoGlow {
  0%, 100% { transform: translate3d(0,0,0) scale(1); opacity:.38; }
  50% { transform: translate3d(-18px,12px,0) scale(1.08); opacity:.56; }
}
@media (max-width: 680px) {
  .packingbackground { opacity: .15; }
  .packingbackground-glow { width:240px; height:240px; inset-inline-end:-100px; top:-100px; }
}
@media (prefers-reduced-motion: reduce) {
  .packingbackground-glow { animation:none; }
  .packingbackground { transform:none; }
}


@media (max-width: 900px) {
  .nav-actions .pill { display: inline-flex; min-height: 36px; padding-inline: 10px; font-size: 10px; }
  .nav-actions .btn-primary { display: none; }
  .pref-panel { min-width: 138px; }
}
@media (max-width: 560px) {
  .nav-actions { gap: 5px; }
  .nav-actions .pill { max-width: 84px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .pref-panel { min-width: 132px; }
}


@media (max-width: 680px) {
  .home-loader-mark { width: 176px; height: 176px; }
  .home-loader-mark img { width: 166px; height: 166px; }
  .home-loader-line { width: 170px; }
}

.site-header { overflow: visible; }
.navbar { position: relative; z-index: 1200; transform: none; }
.nav-actions { position: relative; z-index: 1300; }
.pref-menu { position: relative; z-index: 1400; }
.pref-trigger { touch-action: manipulation; }
.pref-panel { z-index: 1500; }
.brand-mark { width: 50px; height: 50px; }
.mobile-menu-backdrop { display:none; }

@media (max-width: 900px) {
  .site-header { z-index: 2000; }
  .navbar { min-height: var(--header-height); }
  .nav-links {
    position: absolute;
    top: calc(100% + 10px);
    inset-inline: 0;
    width: auto;
    display: grid;
    gap: 6px;
    padding: 10px;
    border: 1px solid var(--border-strong);
    border-radius: 20px;
    background: rgba(8, 20, 36, .985);
    backdrop-filter: blur(24px) saturate(130%);
    box-shadow: 0 24px 70px rgba(0,0,0,.42), 0 0 0 1px rgba(118,183,255,.035);
    transform: translateY(-8px) scale(.975);
    transform-origin: top center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s var(--ease), transform .22s var(--ease), visibility .22s ease;
    z-index: 2200;
  }
  [data-theme="dark"] .nav-links { background: rgba(7, 11, 19, .985); }
  [data-theme="light"] .nav-links { background: rgba(255,255,255,.985); }
  .nav-links.open { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
  .nav-links a {
    min-height: 50px;
    display: flex;
    align-items: center;
    padding: 12px 15px;
    border-radius: 14px;
    font-size: 13px;
  }
  .mobile-toggle { display: inline-flex; position: relative; z-index: 2300; touch-action: manipulation; }
  .mobile-toggle.is-open { transform: rotate(90deg); }
  .pref-panel { min-width: 154px; }
  .mobile-menu-backdrop.is-visible {
    display: block;
    position: fixed;
    inset: var(--header-height) 0 0;
    z-index: 1900;
    border: 0;
    background: rgba(2, 8, 16, .34);
    backdrop-filter: blur(2px);
  }
  .brand-mark { width: 46px; height: 46px; }
}

@media (max-width: 560px) {
  .nav-actions { gap: 6px; }
  .nav-actions .pill { min-height: 38px; max-width: 112px; padding-inline: 11px; font-size: 10px; }
  .pref-menu { z-index: 2400; }
  .pref-panel { min-width: 148px; }
  .nav-links { inset-inline: 2px; }
}

.home-loader-mark { width: 258px; height: 258px; }
.home-loader-ring { inset: 0; }
.home-loader-mark img { width: 246px; height: 246px; }

@media (max-width: 680px) {
  .home-loader-mark { width: 214px; height: 214px; }
  .home-loader-mark img { width: 202px; height: 202px; }
  .home-loader-line { width: 182px; }
}

.pref-panel {
  position: fixed !important;
  z-index: 10050 !important;
  pointer-events: none;
  transform: translateY(-6px) scale(.98);
}
.pref-menu.open .pref-panel {
  pointer-events: auto;
  transform: none;
}
.pref-panel button { position: relative; z-index: 1; pointer-events: auto; }

.global-mobile-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10030;
  background: rgba(1, 7, 15, .52);
  backdrop-filter: blur(3px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .22s ease, visibility .22s ease;
}
.global-mobile-backdrop.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media (max-width: 900px) {
  .site-header { z-index: 10000 !important; overflow: visible !important; }
  .navbar { position: relative; z-index: 10001 !important; }
  .nav-actions { position: relative; z-index: 10004 !important; }
  .mobile-toggle { position: relative; z-index: 10007 !important; pointer-events: auto !important; }
  .nav-links {
    position: fixed !important;
    top: calc(var(--header-height) + 12px) !important;
    inset-inline: 14px !important;
    width: auto !important;
    max-height: calc(100vh - var(--header-height) - 28px);
    overflow-y: auto;
    z-index: 10040 !important;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px) scale(.985);
    -webkit-overflow-scrolling: touch;
  }
  .nav-links.open {
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .nav-links a {
    position: relative;
    z-index: 1;
    pointer-events: auto !important;
    touch-action: manipulation;
  }
  .pref-menu { z-index: 10060 !important; }
  .pref-trigger { position: relative; z-index: 10061 !important; touch-action: manipulation; }
  .pref-panel { z-index: 10070 !important; }
}

.home-loader-mark { width: 270px !important; height: 270px !important; }
.home-loader-mark img {
  width: 256px !important;
  height: 256px !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 50% !important;
}
.home-loader-ring { inset: 0 !important; pointer-events: none !important; }

@media (max-width: 680px) {
  .booking-submit-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .booking-submit-copy {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 44px;
  }
  .booking-submit-copy small { max-width: none !important; }
  .booking-submit-row .form-submit { width: 100% !important; min-height: 56px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .global-mobile-backdrop, .nav-links, .pref-panel { transition: none !important; }
}

.site-header,
.navbar,
.nav-actions,
.pref-menu { overflow: visible !important; }

.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 5000 !important;
  isolation: isolate;
}

.navbar { z-index: 5001 !important; }
.nav-actions { z-index: 5010 !important; }
.pref-menu { z-index: 5020 !important; }
.pref-trigger,
.mobile-toggle { position: relative; z-index: 5030 !important; pointer-events: auto !important; touch-action: manipulation; }

.pref-panel {
  position: absolute !important;
  top: calc(100% + 9px) !important;
  inset-inline-end: 0 !important;
  inset-inline-start: auto !important;
  width: max-content !important;
  min-width: 148px !important;
  max-width: min(220px, calc(100vw - 20px)) !important;
  padding: 7px !important;
  z-index: 5050 !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none !important;
  transform: translateY(-6px) scale(.98) !important;
  transform-origin: top right;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.pref-menu.open .pref-panel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

.pref-panel button {
  display: flex !important;
  width: 100% !important;
  min-height: 42px;
  align-items: center;
  justify-content: flex-start;
  padding: 9px 11px;
  cursor: pointer !important;
  pointer-events: auto !important;
  touch-action: manipulation;
}

.pref-panel button.is-selected {
  border-color: var(--border-strong) !important;
  background: var(--surface-soft) !important;
  color: var(--text) !important;
}

.site-header.mobile-nav-open::after {
  content: '';
  position: fixed;
  inset: var(--header-height) 0 0;
  z-index: 4990;
  pointer-events: none;
  background: rgba(1, 7, 15, .32);
  backdrop-filter: blur(3px);
}

@media (max-width: 900px) {
  .site-header { z-index: 6000 !important; }
  .navbar { min-height: var(--header-height); }

  .nav-links,
  .nav-links.open {
    position: fixed !important;
    top: calc(var(--header-height) + 10px) !important;
    inset-inline-start: 12px !important;
    inset-inline-end: 12px !important;
    width: auto !important;
    max-height: min(70dvh, 520px);
    overflow-y: auto;
    padding: 8px !important;
    display: grid !important;
    gap: 4px !important;
    z-index: 5995 !important;
    border-radius: 18px !important;
    background: rgba(8, 20, 36, .985) !important;
    border: 1px solid var(--border-strong) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,.48), 0 0 0 1px rgba(118,183,255,.05) !important;
    transform-origin: top center;
  }

  [data-theme="dark"] .nav-links,
  [data-theme="dark"] .nav-links.open { background: rgba(7,11,19,.985) !important; }
  [data-theme="light"] .nav-links,
  [data-theme="light"] .nav-links.open { background: rgba(255,255,255,.985) !important; }

  .nav-links { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transform: translateY(-8px) scale(.985) !important; }
  .nav-links.open { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; }

  .nav-links a {
    position: relative !important;
    display: flex !important;
    align-items: center;
    min-height: 52px !important;
    padding: 12px 14px !important;
    border-radius: 13px !important;
    z-index: 1 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  .nav-links a:hover,
  .nav-links a.active { background: var(--surface-soft); }

  .nav-actions .pill { display: inline-flex !important; }
  .nav-actions .btn-primary { display: none !important; }
  .mobile-toggle { display: inline-flex !important; z-index: 6010 !important; }

  .pref-menu { z-index: 6020 !important; }
  .pref-panel {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    min-width: 150px !important;
    max-width: calc(100vw - 18px) !important;
  }
}

@media (max-width: 520px) {
  .navbar { width: min(var(--container), calc(100% - 20px)); }
  .brand-mark { width: 48px !important; height: 48px !important; }
  .brand-copy strong { font-size: 15px; }
  .nav-actions { gap: 5px !important; }
  .nav-actions .pill { min-height: 39px !important; padding-inline: 10px !important; font-size: 10px !important; }
  .pref-panel { min-width: 140px !important; }
}

@media (max-width: 900px) {
  html.devtools-detected body > *:not(#security-notice) { filter: none !important; }
  #security-notice { display: none !important; }
}


.site-header { position: sticky !important; top: 0 !important; z-index: 10000 !important; overflow: visible !important; }
.navbar, .nav-actions, .pref-menu { position: relative !important; overflow: visible !important; }
.navbar { z-index: 10001 !important; }
.nav-actions { z-index: 10003 !important; }
.pref-menu { z-index: 10020 !important; }
.pref-trigger, .mobile-toggle { position: relative !important; z-index: 10021 !important; pointer-events: auto !important; touch-action: manipulation !important; }
.pref-panel {
  position: absolute !important;
  top: calc(100% + 9px) !important;
  inset-inline-end: 0 !important;
  inset-inline-start: auto !important;
  min-width: 150px !important;
  width: max-content !important;
  max-width: calc(100vw - 20px) !important;
  z-index: 10050 !important;
  pointer-events: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-7px) scale(.98) !important;
}
.pref-menu.open .pref-panel {
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.pref-panel button { pointer-events: auto !important; touch-action: manipulation !important; min-height: 42px !important; }
.pref-panel button.is-selected { background: var(--surface-soft) !important; color: var(--text) !important; box-shadow: inset 0 0 0 1px var(--border-strong) !important; }

@media (max-width: 900px) {
  .site-header { z-index: 10000 !important; }
  .nav-links, .nav-links.open {
    position: fixed !important;
    top: calc(var(--header-height) + 10px) !important;
    inset-inline-end: 10px !important;
    inset-inline-start: auto !important;
    width: min(320px, calc(100vw - 20px)) !important;
    max-height: min(72dvh, 520px) !important;
    padding: 9px !important;
    display: grid !important;
    gap: 5px !important;
    overflow-y: auto !important;
    z-index: 10010 !important;
    border-radius: 19px !important;
    pointer-events: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-8px) scale(.985) !important;
  }
  .nav-links.open { pointer-events: auto !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
  .nav-links a { pointer-events: auto !important; touch-action: manipulation !important; min-height: 50px !important; }
  .mobile-toggle { display: inline-flex !important; z-index: 10025 !important; }
  .pref-menu { z-index: 10030 !important; }
  .pref-panel { z-index: 10060 !important; }
  .mobile-menu-backdrop { z-index: 9990 !important; }
}


.site-header { position: sticky !important; top: 0 !important; z-index: 2147482000 !important; overflow: visible !important; isolation: isolate !important; }
.site-header .navbar, .site-header .nav-actions, .site-header .pref-menu { position: relative !important; overflow: visible !important; }
.site-header .navbar { z-index: 2147482001 !important; }
.site-header .nav-actions { z-index: 2147482005 !important; }
.site-header .pref-menu { z-index: 2147482010 !important; }
.site-header .pref-trigger, .site-header .mobile-toggle { position: relative !important; z-index: 2147482015 !important; pointer-events: auto !important; touch-action: manipulation !important; }

.pref-panel[data-portalized="1"] {
  position: fixed !important;
  z-index: 2147483000 !important;
  max-height: min(70vh, 360px);
  overflow-y: auto;
  overscroll-behavior: contain;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-6px) scale(.98) !important;
}
.pref-panel[data-portalized="1"].portal-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}
.pref-panel[data-portalized="1"] button {
  position: relative !important;
  z-index: 2147483001 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent;
}

.mobile-menu-backdrop-v28 {
  position: fixed !important;
  inset: var(--header-height) 0 0 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  z-index: 2147481000 !important;
  background: rgba(2,8,16,.42) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .2s ease, visibility .2s ease !important;
}
.mobile-menu-backdrop-v28.is-visible { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }

@media (max-width: 900px) {
  .site-header { z-index: 2147482000 !important; }
  .site-header .navbar { min-height: var(--header-height) !important; }
  .site-header .nav-links,
  .site-header .nav-links.open {
    position: fixed !important;
    top: calc(var(--header-height) + 10px) !important;
    inset-inline: 10px !important;
    width: auto !important;
    max-height: min(72dvh, 520px) !important;
    overflow-y: auto !important;
    padding: 10px !important;
    display: grid !important;
    gap: 5px !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 20px !important;
    background: rgba(8,20,36,.985) !important;
    backdrop-filter: blur(24px) saturate(135%) !important;
    box-shadow: 0 28px 90px rgba(0,0,0,.55), 0 0 0 1px rgba(118,183,255,.06) !important;
    z-index: 2147481500 !important;
    pointer-events: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-10px) scale(.985) !important;
    transform-origin: top center !important;
    transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s ease !important;
  }
  .site-header .nav-links.open { pointer-events: auto !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
  [data-theme="dark"] .site-header .nav-links { background: rgba(7,11,19,.99) !important; }
  [data-theme="light"] .site-header .nav-links { background: rgba(255,255,255,.985) !important; }
  .site-header .nav-links a {
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    padding: 12px 14px !important;
    border-radius: 13px !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
  .site-header .nav-links a:hover,
  .site-header .nav-links a.active { background: var(--surface-soft) !important; }
  .site-header .mobile-toggle { display: inline-flex !important; }
  .site-header .nav-actions .btn-primary { display: none !important; }
  .site-header .nav-actions { gap: 6px !important; }
  .site-header .nav-actions .pill { display: inline-flex !important; min-height: 38px !important; padding-inline: 10px !important; font-size: 10px !important; }
}

@media (max-width: 560px) {
  .site-header .navbar { width: min(var(--container), calc(100% - 18px)) !important; }
  .site-header .brand-mark { width: 48px !important; height: 48px !important; }
  .site-header .brand-copy strong { font-size: 14px !important; }
  .site-header .nav-actions .pill { max-width: 105px !important; }
}

.home-loader-mark { width: 300px !important; height: 300px !important; }
.home-loader-mark img {
  width: 292px !important;
  height: 292px !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  clip-path: none !important;
  overflow: visible !important;
  display: block !important;
}
.home-loader-ring { inset: 0 !important; pointer-events: none !important; }
@media (max-width: 680px) {
  .home-loader-mark { width: 236px !important; height: 236px !important; }
  .home-loader-mark img { width: 228px !important; height: 228px !important; }
}

.form-control {
  color: #f6f9ff !important;
  background: rgba(9, 22, 38, .88) !important;
  border-color: rgba(118,183,255,.19) !important;
  caret-color: var(--brand) !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #f6f9ff !important;
}
.form-control::placeholder { color: #9fb2c8 !important; opacity: 1 !important; -webkit-text-fill-color: #9fb2c8 !important; }
.form-control:focus { color: #ffffff !important; background: rgba(10,25,43,.96) !important; border-color: var(--brand) !important; box-shadow: 0 0 0 4px rgba(54,136,245,.16), 0 12px 32px rgba(0,0,0,.14) !important; }
.form-control:-webkit-autofill,
.form-control:-webkit-autofill:hover,
.form-control:-webkit-autofill:focus { -webkit-text-fill-color:#f6f9ff !important; box-shadow: 0 0 0 1000px #0b1d32 inset !important; transition: background-color 9999s ease-in-out 0s; }
[data-theme="light"] .form-control { color:#142235 !important; background:rgba(255,255,255,.92) !important; -webkit-text-fill-color:#142235 !important; border-color:rgba(20,57,94,.16) !important; }
[data-theme="light"] .form-control::placeholder { color:#718299 !important; -webkit-text-fill-color:#718299 !important; }
[data-theme="light"] .form-control:focus { background:#fff !important; color:#0e1a29 !important; -webkit-text-fill-color:#0e1a29 !important; }
select.form-control option { background:#0c1b2d !important; color:#f6f9ff !important; }
[data-theme="light"] select.form-control option { background:#fff !important; color:#162335 !important; }

.packingbackground { opacity: .30 !important; }
.packingbackground-overlay { background: linear-gradient(180deg, rgba(7,17,31,.25), rgba(7,17,31,.78)) !important; }
.booking-main-card { min-width: 0; }
@media (max-width: 680px) {
  .booking-package-grid { grid-template-columns: 1fr !important; }
  .booking-package-choice { min-height: 78px !important; }
  .booking-main-card { padding: 20px !important; }
  .booking-submit-row { gap: 14px !important; }
  .booking-submit-copy { align-items: flex-start !important; }
  .booking-submit-copy strong { font-size: 13px !important; }
  .booking-submit-copy small { font-size: 10px !important; line-height: 1.7 !important; }
  .form-submit { min-height: 58px !important; }
}

.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 999999 !important;
  overflow: visible !important;
  isolation: isolate !important;
}
.site-header .navbar,
.site-header .nav-actions,
.site-header .pref-menu { position: relative !important; overflow: visible !important; }
.site-header .nav-actions { z-index: 1000002 !important; }
.site-header .pref-menu { z-index: 1000004 !important; }
.site-header .pref-trigger,
.site-header .mobile-toggle {
  position: relative !important;
  z-index: 1000005 !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent;
}

.site-header .pref-panel {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  inset-inline-end: 0 !important;
  inset-inline-start: auto !important;
  min-width: 158px !important;
  width: max-content !important;
  max-width: min(220px, calc(100vw - 20px)) !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 7px !important;
  display: grid !important;
  gap: 4px !important;
  border: 1px solid rgba(118,183,255,.24) !important;
  border-radius: 16px !important;
  background: #0a1a2d !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.45), 0 0 0 1px rgba(118,183,255,.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  z-index: 1000010 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-6px) scale(.98) !important;
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
}
.site-header .pref-menu.open > .pref-panel {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}
.site-header .pref-panel button {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: transparent !important;
  color: #a9bdd3 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  font-size: 12px !important;
  -webkit-tap-highlight-color: transparent !important;
}
.site-header .pref-panel button:hover,
.site-header .pref-panel button:focus-visible,
.site-header .pref-panel button.is-selected {
  background: #17304f !important;
  color: #f5f9ff !important;
  outline: none !important;
  box-shadow: inset 0 0 0 1px rgba(118,183,255,.20) !important;
}
[data-theme="light"] .site-header .pref-panel { background: #ffffff !important; border-color: rgba(20,57,94,.15) !important; }
[data-theme="light"] .site-header .pref-panel button { color: #5d718a !important; }
[data-theme="light"] .site-header .pref-panel button:hover,
[data-theme="light"] .site-header .pref-panel button:focus-visible,
[data-theme="light"] .site-header .pref-panel button.is-selected { background: #eef5ff !important; color: #122338 !important; }

.mobile-menu-backdrop-v29 {
  position: fixed !important;
  inset: var(--header-height) 0 0 !important;
  z-index: 999990 !important;
  border: 0 !important;
  background: rgba(1, 7, 14, .56) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .16s ease, visibility .16s ease !important;
}
.mobile-menu-backdrop-v29.is-visible {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
.hamburger-bars { width: 18px; height: 16px; display: grid; align-content: center; gap: 3px; }
.hamburger-bars i { display:block; width:100%; height:2px; border-radius:2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.mobile-toggle.is-open .hamburger-bars i:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.mobile-toggle.is-open .hamburger-bars i:nth-child(2) { opacity: 0; }
.mobile-toggle.is-open .hamburger-bars i:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

@media (max-width: 900px) {
  .site-header .navbar { min-height: var(--header-height) !important; }
  .site-header .nav-actions .pill { display: inline-flex !important; }
  .site-header .nav-actions .btn-primary { display: none !important; }
  .site-header .mobile-toggle { display: inline-flex !important; align-items:center !important; justify-content:center !important; }
  .site-header .nav-links,
  .site-header .nav-links.open {
    position: fixed !important;
    top: calc(var(--header-height) + 9px) !important;
    inset-inline-end: 12px !important;
    inset-inline-start: auto !important;
    width: min(310px, calc(100vw - 24px)) !important;
    max-height: calc(100dvh - var(--header-height) - 24px) !important;
    display: grid !important;
    gap: 4px !important;
    padding: 10px !important;
    border: 1px solid rgba(118,183,255,.24) !important;
    border-radius: 18px !important;
    background: #08182a !important;
    box-shadow: 0 22px 70px rgba(0,0,0,.56) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 999995 !important;
    overflow: auto !important;
    pointer-events: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-8px) scale(.985) !important;
    transform-origin: top right !important;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
  }
  .site-header .nav-links.open {
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  .site-header .nav-links a {
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    color: #dce9f7 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    font-size: 14px !important;
    background: transparent !important;
  }
  .site-header .nav-links a:hover,
  .site-header .nav-links a:focus-visible,
  .site-header .nav-links a.active {
    background: #17304f !important;
    color: #ffffff !important;
    outline: none !important;
  }
  [data-theme="dark"] .site-header .nav-links { background: #070f1a !important; }
  [data-theme="light"] .site-header .nav-links { background: #ffffff !important; border-color: rgba(20,57,94,.16) !important; }
  [data-theme="light"] .site-header .nav-links a { color: #22354c !important; }
  [data-theme="light"] .site-header .nav-links a:hover,
  [data-theme="light"] .site-header .nav-links a:focus-visible,
  [data-theme="light"] .site-header .nav-links a.active { background: #eef5ff !important; color: #102038 !important; }
  .site-header .pref-panel {
    min-width: 150px !important;
    top: calc(100% + 7px) !important;
    z-index: 1000009 !important;
  }
}

@media (max-width: 560px) {
  .site-header .navbar { width: calc(100% - 14px) !important; }
  .site-header .brand-mark { width: 52px !important; height: 52px !important; }
  .site-header .brand-copy strong { font-size: 14px !important; white-space: nowrap !important; }
  .site-header .nav-actions { gap: 5px !important; }
  .site-header .nav-actions .pill { min-height: 39px !important; padding-inline: 10px !important; }
  .site-header .pref-panel { min-width: 148px !important; }
}

.home-loader-mark {
  width: 286px !important;
  height: 286px !important;
  position: relative !important;
  display: grid !important;
  place-items: center !important;
}
.home-loader-mark img {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: 0 0 28px rgba(54,136,245,.14) !important;
  clip-path: none !important;
}
.home-loader-mark::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 3.2% !important;
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0deg 56deg, var(--brand-strong) 72deg, var(--brand) 88deg, transparent 110deg 360deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px));
  animation: loaderOrbitV29 1.35s linear infinite;
  pointer-events: none;
}
.home-loader-mark::after {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 5.5% !important;
  border-radius: 50%;
  box-shadow: 0 0 32px rgba(54,136,245,.13), inset 0 0 20px rgba(54,136,245,.04);
  pointer-events: none;
}
@keyframes loaderOrbitV29 { to { transform: rotate(360deg); } }
@media (max-width: 680px) {
  .home-loader-mark { width: 238px !important; height: 238px !important; }
  .home-loader-line { width: 176px !important; }
}

@media (max-width: 900px) {
  html.devtools-detected body > *:not(#security-notice) { filter: none !important; }
  #security-notice { display: none !important; }
}

.home-loader-mark::before,
.home-loader-mark::after { display: none !important; content: none !important; }
.home-loader-mark img {
  animation: logoPulseV30 1.9s ease-in-out infinite;
  filter: drop-shadow(0 0 18px rgba(54,136,245,.14));
}
@keyframes logoPulseV30 {
  0%, 100% { transform: scale(1); filter: drop-shadow(0 0 15px rgba(54,136,245,.10)); }
  50% { transform: scale(1.018); filter: drop-shadow(0 0 28px rgba(54,136,245,.24)); }
}
@media (prefers-reduced-motion: reduce) {
  .home-loader-mark img { animation: none !important; }
}

/* Merchant review package catalog */
.package-catalog-section{position:relative}
.package-catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.package-catalog-card{overflow:hidden;display:flex;flex-direction:column}
.package-catalog-card>img{width:100%;height:190px;object-fit:cover;display:block;background:rgba(255,255,255,.04)}
.package-catalog-body{padding:20px;display:flex;flex-direction:column;gap:12px;height:100%}
.package-catalog-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.package-catalog-badge{font-size:22px}
.package-catalog-price{font-weight:900;white-space:nowrap}
.package-catalog-body h3{margin:0;font-size:20px}
.package-catalog-body p{margin:0;line-height:1.75;color:var(--muted)}
.package-catalog-body .btn{margin-top:auto;width:100%;text-align:center}
.catalog-note{margin-top:18px;padding:15px 18px;border:1px solid rgba(120,170,230,.22);border-radius:16px;background:rgba(255,255,255,.035);color:var(--muted);line-height:1.7}
.catalog-note strong{color:var(--text)}
@media (max-width:1100px){.package-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.package-catalog-grid{grid-template-columns:1fr}.package-catalog-card>img{height:210px}}

/* Package visuals */
.package-visual{margin:-2px -2px 14px;border-radius:18px;overflow:hidden;border:1px solid rgba(120,170,230,.16);background:rgba(0,0,0,.18);aspect-ratio:16/8;box-shadow:inset 0 0 30px rgba(0,0,0,.2)}
.package-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 52%;filter:saturate(1.05) contrast(1.03)}
.package-catalog-card>img{object-position:center 52%}
@media (max-width:620px){.package-visual{aspect-ratio:16/9}.package-catalog-card>img{height:220px}}

.package-catalog-popular{display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px;padding:5px 9px;border-radius:999px;background:linear-gradient(135deg,#4aa8ff,#7bc8ff);color:#06111f;font-size:9px;font-weight:900;box-shadow:0 8px 22px rgba(74,168,255,.18);}


/* V31 — premium, perfectly aligned Ayan loader */
.loader .loader-inner { gap: 16px; }
.home-loader-mark {
  width: 286px !important;
  height: 286px !important;
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  isolation: isolate;
  filter: drop-shadow(0 18px 42px rgba(28,111,214,.20));
}
.home-loader-mark img {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  animation: ayanLogoPulse 2.4s cubic-bezier(.4,0,.2,1) infinite;
}
/* Rotating light sweep — exactly the same diameter as the logo. */
.home-loader-mark::before {
  content: '';
  position: absolute;
  z-index: 3;
  inset: 0 !important;
  border-radius: 50%;
  padding: 2px;
  background: conic-gradient(from 0deg,
    rgba(118,183,255,.04) 0deg,
    rgba(118,183,255,.04) 250deg,
    rgba(118,183,255,.28) 286deg,
    #7ec2ff 310deg,
    #ffffff 324deg,
    rgba(118,183,255,.04) 342deg,
    rgba(118,183,255,.04) 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: ayanLoaderOrbit 1.65s linear infinite;
  filter: drop-shadow(0 0 8px rgba(80,165,255,.75));
  pointer-events: none;
}
/* Subtle halo behind the logo. */
.home-loader-mark::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 2.5% !important;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(55,137,255,.10) 0 45%, rgba(55,137,255,.035) 60%, transparent 73%);
  box-shadow: 0 0 46px rgba(55,137,255,.16), inset 0 0 24px rgba(55,137,255,.06);
  animation: ayanHalo 2.4s ease-in-out infinite;
  pointer-events: none;
}
.home-loader-name {
  margin-top: 2px;
  color: #eaf4ff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .24em;
  text-transform: uppercase;
  text-shadow: 0 0 18px rgba(86,164,255,.22);
}
.home-loader-line {
  width: 210px;
  height: 2px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(255,255,255,.08);
  box-shadow: 0 0 14px rgba(74,153,255,.08);
}
.home-loader-line span {
  display: block;
  width: 34%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, #78b8ff 45%, #fff 50%, #78b8ff 55%, transparent);
  animation: ayanLoaderSweep 1.35s cubic-bezier(.4,0,.2,1) infinite;
}
@keyframes ayanLoaderOrbit { to { transform: rotate(360deg); } }
@keyframes ayanLoaderSweep { 0% { transform: translateX(-320%); } 100% { transform: translateX(520%); } }
@keyframes ayanLogoPulse {
  0%,100% { transform: scale(1); }
  50% { transform: scale(1.012); }
}
@keyframes ayanHalo {
  0%,100% { opacity:.72; transform:scale(.985); }
  50% { opacity:1; transform:scale(1.015); }
}
@media (max-width: 680px) {
  .home-loader-mark { width: 238px !important; height: 238px !important; }
  .home-loader-line { width: 178px !important; }
  .home-loader-name { font-size: 10px; letter-spacing: .20em; }
}
@media (prefers-reduced-motion: reduce) {
  .home-loader-mark::before,
  .home-loader-mark::after,
  .home-loader-mark img,
  .home-loader-line span { animation: none !important; }
}


/* =========================================================
   Ayan V10 — Cinematic homepage packages showcase
   Package images intentionally remain the existing assets.
   ========================================================= */
.packages-showcase{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:76px 0 54px;
  min-height:calc(100vh - var(--header-height));
  background:
    radial-gradient(ellipse at 18% 48%, rgba(32,125,232,.16), transparent 34%),
    radial-gradient(ellipse at 82% 42%, rgba(14,78,145,.18), transparent 36%),
    linear-gradient(180deg,#06101d 0%,#081525 52%,#06101c 100%);
}
.packages-showcase::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(2,8,16,.78),rgba(3,12,23,.22) 45%,rgba(2,8,16,.78)),
    linear-gradient(180deg,rgba(2,9,18,.18),rgba(2,9,18,.82));
  pointer-events:none;
}
.packages-showcase::after{
  content:"";
  position:absolute;
  left:-10%;
  right:-10%;
  bottom:0;
  height:32%;
  z-index:-1;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.42));
  pointer-events:none;
}
.packages-backdrop{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.packages-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(40px);
  opacity:.42;
}
.packages-orb-a{width:420px;height:420px;left:-180px;top:25%;background:rgba(30,116,220,.22)}
.packages-orb-b{width:500px;height:500px;right:-220px;top:12%;background:rgba(31,87,150,.2)}
.packages-streak{
  position:absolute;
  width:55vw;
  height:2px;
  opacity:.26;
  transform:rotate(-9deg);
  background:linear-gradient(90deg,transparent,rgba(105,184,255,.8),transparent);
  filter:blur(.3px);
}
.packages-streak-a{left:-5%;top:29%}
.packages-streak-b{right:-8%;top:63%;transform:rotate(8deg)}
.packages-showcase-inner{position:relative;z-index:1}
.packages-showcase-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px;
}
.packages-showcase-title{text-align:right;max-width:900px}
.packages-showcase-title .kicker{
  color:#56b5ff;
  letter-spacing:.28em;
  font-weight:800;
  font-size:13px;
  margin-bottom:10px;
}
.packages-showcase-title h2{
  font-size:clamp(32px,4vw,58px);
  line-height:1.12;
  margin-bottom:10px;
  text-wrap:balance;
}
.packages-showcase-title p{
  color:#b4c5d9;
  font-size:15px;
  line-height:1.8;
}
.packages-book-link{
  flex:0 0 auto;
  color:#72bbff;
  font-weight:800;
  white-space:nowrap;
  text-decoration:none;
}
.packages-grid-cinematic{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.package-cinematic{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border-radius:24px;
  padding:0;
  background:linear-gradient(180deg,rgba(11,27,46,.78),rgba(5,16,29,.94));
  border:1px solid rgba(128,185,239,.2);
  box-shadow:0 22px 65px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.04);
  transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);
}
.package-cinematic:hover{
  transform:translateY(-7px);
  border-color:rgba(105,184,255,.48);
  box-shadow:0 28px 80px rgba(0,0,0,.42),0 0 38px rgba(49,142,240,.11);
}
.package-basic{border-color:rgba(238,164,101,.5);background:linear-gradient(180deg,rgba(46,25,20,.66),rgba(8,17,28,.96))}
.package-advanced{border-color:rgba(45,158,255,.62);box-shadow:0 22px 65px rgba(0,0,0,.28),0 0 28px rgba(40,146,255,.1)}
.package-royal{border-color:rgba(226,179,70,.48);background:linear-gradient(180deg,rgba(49,33,15,.6),rgba(10,17,25,.96))}
.cinematic-visual{
  position:relative;
  height:236px;
  margin:0;
  border-radius:0;
  overflow:hidden;
  border:0;
}
.cinematic-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:transform .65s var(--ease),filter .65s var(--ease);
}
.package-cinematic:hover .cinematic-visual img{transform:scale(1.045)}
.package-visual-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08) 28%,rgba(0,7,15,.78) 100%);
  pointer-events:none;
}
.package-en-label{
  position:absolute;
  top:18px;
  left:18px;
  color:#f7fbff;
  font-weight:900;
  font-size:clamp(24px,2vw,34px);
  letter-spacing:.06em;
  text-shadow:0 4px 20px rgba(0,0,0,.7);
}
.package-basic .package-en-label{color:#ffc69c}
.package-advanced .package-en-label{color:#76c8ff}
.package-royal .package-en-label{color:#ffd66e}
.package-content{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:18px 22px 20px;
  position:relative;
}
.package-content h3{font-size:24px;line-height:1.3;margin:0 0 5px}
.package-content .descriptor{font-size:14px;color:#a9c4e2;min-height:24px}
.package-content .price{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:12px 0 12px;
}
.package-content .price strong{font-size:44px;line-height:1;font-weight:900}
.package-content .price span{font-size:14px;color:#9eb0c6;font-weight:700}
.package-content ul{
  display:grid;
  gap:8px;
  margin:0 0 20px;
  padding:0;
  list-style:none;
}
.package-content li{
  position:relative;
  padding-inline-start:28px;
  color:#d6e1ee;
  font-size:14px;
  line-height:1.65;
}
.package-content li::before{
  content:"";
  position:absolute;
  inset-inline-start:3px;
  top:.68em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#63b4ff;
  box-shadow:0 0 12px rgba(99,180,255,.7);
}
.package-royal .package-content li::before{background:#e5b64c;box-shadow:0 0 12px rgba(229,182,76,.55)}
.package-content .package-cta{width:100%;margin-top:auto;min-height:56px}
.package-badge{
  z-index:3;
  position:absolute;
  top:18px;
  right:18px;
  padding:7px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  background:rgba(41,150,240,.92);
  color:#04101d;
  box-shadow:0 8px 25px rgba(0,0,0,.3);
}
.package-badge.signature{
  background:rgba(12,18,27,.76);
  border:1px solid rgba(230,190,77,.6);
  color:#f4cf67;
}
.package-benefits-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:18px;
  border:1px solid rgba(115,177,231,.18);
  border-radius:20px;
  background:rgba(7,18,31,.7);
  backdrop-filter:blur(14px);
  overflow:hidden;
}
.package-benefits-strip>div{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  border-inline-end:1px solid rgba(115,177,231,.16);
}
.package-benefits-strip>div:last-child{border-inline-end:0}
.benefit-icon{font-size:27px;color:#4eaeff;font-weight:900}
.package-benefits-strip strong{font-size:14px}
.package-benefits-strip small{display:block;color:#91a8c1;margin-top:2px;font-size:12px}
@media(max-width:1100px){
  .packages-grid-cinematic{grid-template-columns:repeat(2,minmax(0,1fr))}
  .packages-showcase{padding-top:56px}
}
@media(max-width:700px){
  .packages-showcase{padding:48px 0 32px}
  .packages-showcase-head{display:block}
  .packages-showcase-title{text-align:center}
  .packages-showcase-title h2{font-size:32px}
  .packages-showcase-title p{font-size:13px}
  .packages-book-link{display:block;text-align:center;margin-top:14px}
  .packages-grid-cinematic{grid-template-columns:1fr;gap:14px}
  .cinematic-visual{height:220px}
  .package-content{padding:17px 18px 18px}
  .package-content h3{font-size:22px}
  .package-content .price strong{font-size:40px}
  .package-benefits-strip{grid-template-columns:repeat(2,1fr)}
  .package-benefits-strip>div{border-bottom:1px solid rgba(115,177,231,.16)}
  .package-benefits-strip>div:nth-child(2){border-inline-end:0}
  .package-benefits-strip>div:nth-child(3),.package-benefits-strip>div:nth-child(4){border-bottom:0}
}
@media(max-width:430px){
  .cinematic-visual{height:205px}
  .package-en-label{font-size:25px}
  .package-content li{font-size:13px}
}

/* V12 — reference-matched packages + responsive mobile layout + full-logo loader */

/* The card order follows document direction: Arabic = 70 → 100 → 150 → 200 (right-to-left),
   English = 70 → 100 → 150 → 200 (left-to-right). */
html[dir="rtl"] .packages-grid-cinematic{
  direction:rtl !important;
}
html[dir="ltr"] .packages-grid-cinematic{
  direction:ltr !important;
}
.packages-grid-cinematic .package-cinematic{
  direction:inherit;
}

/* Desktop: taller cinematic image crop like the reference screenshot. */
.package-cinematic{
  min-height:860px;
  border-radius:24px;
}
.cinematic-visual{
  height:312px;
}
.cinematic-visual img{
  object-fit:cover;
  object-position:center center;
}
.package-content{
  min-height:548px;
  padding:22px 24px 22px;
}
.package-content h3{
  font-size:24px;
  line-height:1.35;
  margin:0 0 6px;
}
.package-content .descriptor{
  font-size:14px;
  line-height:1.75;
  min-height:27px;
}
.package-content .price{
  margin:14px 0 18px;
}
.package-content .price strong{
  font-size:48px;
  line-height:1;
}
.package-content ul{
  gap:10px;
  margin:0 0 22px;
}
.package-content li{
  font-size:13.5px;
  line-height:1.8;
}
.package-content .package-cta{
  min-height:58px;
  border-radius:999px;
  flex-shrink:0;
}

/* Keep English labels pinned to the image corner in both languages. */
.package-cinematic .package-en-label{
  left:18px;
  right:auto;
}

/* Full logo: never crop the supplied circular logo asset. */
.loader{
  overflow:hidden;
}
.loader-inner{
  width:min(92vw, 520px);
  justify-items:center;
  gap:18px;
}
.home-loader-mark{
  width:clamp(190px, 28vw, 320px) !important;
  height:auto !important;
  aspect-ratio:1 / 1;
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  overflow:visible !important;
  isolation:isolate;
  filter:drop-shadow(0 18px 46px rgba(36,125,255,.18));
}
.home-loader-mark img{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:50% !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  clip-path:none !important;
  overflow:visible !important;
}
.home-loader-mark::before{
  content:"" !important;
  position:absolute !important;
  inset:3px !important;
  z-index:3 !important;
  border-radius:50%;
  border:1px solid rgba(105,184,255,.28);
  box-shadow:0 0 22px rgba(72,167,255,.14), inset 0 0 18px rgba(72,167,255,.07);
  pointer-events:none;
  animation:ayanLoaderGlow 2.4s ease-in-out infinite;
}
.home-loader-mark::after{
  content:"" !important;
  position:absolute !important;
  inset:-8px !important;
  z-index:1 !important;
  border-radius:50%;
  background:radial-gradient(circle, rgba(55,137,255,.08) 0 42%, transparent 74%);
  filter:blur(2px);
  pointer-events:none;
  animation:ayanLoaderHaloV12 2.8s ease-in-out infinite;
}
.home-loader-name{
  font-size:10px;
  letter-spacing:.22em;
}
.home-loader-line{
  width:190px !important;
  max-width:68vw;
}
@keyframes ayanLoaderGlow{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.012)}}
@keyframes ayanLoaderHaloV12{0%,100%{opacity:.55}50%{opacity:1}}

@media (max-width:1100px){
  .package-cinematic{min-height:800px;}
  .cinematic-visual{height:280px;}
  .package-content{min-height:520px;}
}

@media (max-width:680px){
  .packages-showcase{
    padding:38px 0 26px;
  }
  .packages-showcase-inner{
    width:min(var(--container), calc(100% - 18px));
  }
  .packages-showcase-title{text-align:center;}
  .packages-showcase-title h2{
    font-size:27px;
    line-height:1.35;
  }
  .packages-showcase-title p{
    font-size:12px;
    line-height:1.8;
    max-width:520px;
    margin-inline:auto;
  }
  .packages-book-link{
    display:block;
    text-align:center;
    margin-top:12px;
  }
  .packages-grid-cinematic{
    grid-template-columns:1fr;
    gap:14px;
  }
  .package-cinematic{
    min-height:0;
    border-radius:22px;
  }
  .cinematic-visual{
    height:auto;
    aspect-ratio:16 / 9;
  }
  .package-content{
    min-height:0;
    padding:16px 16px 16px;
  }
  .package-content h3{
    font-size:20px;
    line-height:1.35;
    margin-bottom:5px;
  }
  .package-content .descriptor{
    font-size:12px;
    line-height:1.7;
    min-height:0;
  }
  .package-content .price{
    margin:10px 0 12px;
  }
  .package-content .price strong{
    font-size:40px;
  }
  .package-content .price span{
    font-size:12px;
  }
  .package-content ul{
    gap:6px;
    margin-bottom:16px;
  }
  .package-content li{
    padding-inline-start:24px;
    font-size:12.5px;
    line-height:1.7;
  }
  .package-content li::before{
    width:6px;
    height:6px;
    inset-inline-start:2px;
  }
  .package-content .package-cta{
    min-height:52px;
  }
  .package-badge{
    top:16px;
    right:16px;
    padding:6px 10px;
    font-size:11px;
  }
  .package-en-label{
    top:15px;
    left:15px !important;
    font-size:25px;
  }
  .package-benefits-strip{
    margin-top:14px;
    grid-template-columns:repeat(2,1fr);
  }
  .package-benefits-strip>div{
    min-height:68px;
  }
  .home-loader-mark{
    width:min(58vw, 280px) !important;
    height:auto !important;
  }
  .home-loader-line{
    width:min(180px, 58vw) !important;
  }
  .home-loader-name{
    font-size:9px;
    letter-spacing:.18em;
  }
}

@media (max-width:430px){
  .packages-showcase-inner{
    width:calc(100% - 14px);
  }
  .packages-grid-cinematic{
    gap:12px;
  }
  .package-content{
    padding:15px 14px 15px;
  }
  .package-content h3{font-size:19px;}
  .package-content .price strong{font-size:38px;}
  .package-content li{font-size:12px;}
  .package-en-label{font-size:23px;}
  .home-loader-mark{
    width:min(62vw, 240px) !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .home-loader-mark::before,
  .home-loader-mark::after,
  .home-loader-mark img{
    animation:none !important;
  }
}

/* V13 — package badge separation + true logo-centered loader */
.package-cinematic .package-content > .package-badge{
  position:static !important;
  inset:auto !important;
  align-self:flex-start;
  display:inline-flex !important;
  width:max-content;
  max-width:100%;
  margin:0 0 10px !important;
  padding:6px 11px;
  line-height:1.15;
  white-space:nowrap;
  box-shadow:0 8px 22px rgba(0,0,0,.20);
}
.package-cinematic .package-content > .package-badge.signature{
  border:1px solid rgba(230,190,77,.62);
  background:rgba(10,17,27,.90);
  color:#f4cf67;
  box-shadow:none !important;
  text-shadow:none !important;
}
.package-cinematic .package-content > .package-badge.popular{
  box-shadow:0 7px 20px rgba(74,168,255,.18) !important;
}

/* iOS/Safari-safe viewport sizing so the complete logo stays inside the visible screen. */
.loader{
  min-height:100svh;
  height:100dvh;
  box-sizing:border-box;
  padding:
    max(18px, env(safe-area-inset-top))
    18px
    max(22px, env(safe-area-inset-bottom))
    18px;
}
.loader-inner{
  width:min(92vw, 520px);
  max-height:calc(100svh - 44px);
  justify-items:center;
  align-content:center;
  gap:14px;
}
.home-loader-mark{
  width:clamp(190px, 26vw, 300px) !important;
  height:clamp(190px, 26vw, 300px) !important;
  flex:0 0 auto;
  overflow:visible !important;
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  isolation:isolate;
  transform:none !important;
}
.home-loader-mark img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  position:relative !important;
  z-index:2 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:none !important;
  clip-path:none !important;
  transform:none;
}
.home-loader-mark::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:1px !important;
  z-index:3 !important;
  border-radius:50%;
  border:2px solid transparent;
  background:
    conic-gradient(from 0deg, transparent 0 45deg, rgba(126,194,255,.95) 82deg, #ffffff 96deg, transparent 123deg 360deg)
    border-box;
  -webkit-mask:linear-gradient(#000 0 0) padding-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  animation:ayanLoaderOrbitV13 1.55s linear infinite;
  filter:drop-shadow(0 0 8px rgba(80,165,255,.60));
  pointer-events:none;
}
.home-loader-mark::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:-4px !important;
  z-index:1 !important;
  border-radius:50%;
  background:radial-gradient(circle, rgba(55,137,255,.07) 0 44%, transparent 72%);
  box-shadow:0 0 36px rgba(55,137,255,.13);
  pointer-events:none;
}
.home-loader-name{
  margin:0 !important;
  font-size:10px !important;
  line-height:1.2 !important;
  letter-spacing:.22em !important;
}
.home-loader-line{
  width:min(190px, 52vw) !important;
  height:2px !important;
  margin-top:1px;
}
@keyframes ayanLoaderOrbitV13{to{transform:rotate(360deg)}}
@media(max-width:680px){
  .loader{padding-inline:12px}
  .loader-inner{gap:11px;max-height:calc(100svh - 32px)}
  .home-loader-mark{
    width:min(64vw, 250px) !important;
    height:min(64vw, 250px) !important;
  }
  .home-loader-name{font-size:9px !important;letter-spacing:.18em !important}
  .home-loader-line{width:min(170px,58vw) !important}
}
@media(max-width:430px){
  .home-loader-mark{
    width:min(58vw, 220px) !important;
    height:min(58vw, 220px) !important;
  }
  .package-cinematic .package-content > .package-badge{
    margin-bottom:8px !important;
    padding:5px 9px;
    font-size:10px;
  }
}
@media(prefers-reduced-motion:reduce){
  .home-loader-mark::before{animation:none !important}
}


/* V14.5 — car-specific package art + cleaner responsive cards + reliable loader */
.packages-grid-cinematic{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch;
}
.package-cinematic{
  min-height:790px !important;
  border-radius:22px !important;
  transform:none;
}
.cinematic-visual{
  height:276px !important;
  aspect-ratio:auto !important;
}
.cinematic-visual img{
  object-fit:cover !important;
  object-position:center 55% !important;
  filter:saturate(.98) contrast(1.04) !important;
}
.package-visual-shade{
  background:linear-gradient(180deg,rgba(1,7,14,.04) 35%,rgba(1,8,18,.82) 100%) !important;
}
.package-content{
  min-height:0 !important;
  padding:19px 21px 20px !important;
}
.package-content h3{
  margin:0 !important;
  font-size:23px !important;
  line-height:1.3 !important;
  font-weight:900 !important;
}
.package-model{
  margin-top:4px;
  color:#83b7e7;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.015em;
  min-height:18px;
}
.package-basic .package-model{color:#f2aa73}
.package-advanced .package-model{color:#72c1ff}
.package-royal .package-model{color:#f1ca64}
.package-content .descriptor{
  margin-top:6px !important;
  min-height:38px !important;
  font-size:13px !important;
  line-height:1.75 !important;
}
.package-content .price{
  margin:8px 0 13px !important;
  min-height:50px;
}
.package-content .price strong{font-size:46px !important}
.package-content ul{
  flex:1 1 auto;
  gap:7px !important;
  margin:0 0 17px !important;
}
.package-content li{
  font-size:13px !important;
  line-height:1.7 !important;
}
.package-content .package-cta{
  min-height:54px !important;
}
.package-cinematic .package-content > .package-badge{
  margin:0 0 8px !important;
  box-shadow:none !important;
}
.package-cinematic .package-content > .package-badge.signature{
  box-shadow:none !important;
  text-shadow:none !important;
  background:rgba(8,15,24,.94) !important;
}
.package-cinematic .package-content > .package-badge.popular{
  box-shadow:none !important;
}
.package-basic .package-cta,.package-advanced .package-cta{box-shadow:0 12px 28px rgba(35,131,237,.16)}
.package-royal .package-cta{box-shadow:0 12px 28px rgba(229,182,76,.10)}

/* Desktop / laptop */
@media (min-width:1200px){
  .packages-grid-cinematic{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
  .package-cinematic{min-height:790px !important}
  .cinematic-visual{height:276px !important}
}

/* iPad / tablet: 2 cards per row, wider content and calmer spacing */
@media (min-width:681px) and (max-width:1199px){
  .packages-showcase-inner{width:min(96vw,var(--container))}
  .packages-grid-cinematic{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px !important}
  .package-cinematic{min-height:720px !important;border-radius:20px !important}
  .cinematic-visual{height:238px !important}
  .package-content{padding:18px 20px 19px !important}
  .package-content h3{font-size:22px !important}
  .package-model{font-size:12px}
  .package-content .descriptor{min-height:34px !important;font-size:13px !important}
  .package-content li{font-size:12.5px !important;line-height:1.72 !important}
  .package-content .price strong{font-size:43px !important}
}

/* Mobile: one card per screen section, compact but still premium */
@media (max-width:680px){
  .packages-grid-cinematic{grid-template-columns:1fr !important;gap:13px !important}
  .package-cinematic{min-height:0 !important;border-radius:19px !important}
  .cinematic-visual{height:auto !important;aspect-ratio:16 / 9 !important}
  .package-content{padding:15px 15px 15px !important}
  .package-content h3{font-size:20px !important}
  .package-model{font-size:11.5px}
  .package-content .descriptor{min-height:0 !important;margin-top:4px !important;font-size:12px !important}
  .package-content .price{margin:8px 0 10px !important}
  .package-content .price strong{font-size:40px !important}
  .package-content ul{gap:6px !important;margin-bottom:14px !important}
  .package-content li{font-size:12px !important;line-height:1.7 !important}
  .package-content .package-cta{min-height:50px !important}
  .package-cinematic .package-content > .package-badge{padding:5px 9px !important;font-size:10.5px !important}
}

/* Loader: center the full logo safely on phones, iPads and desktops. */
.loader{
  position:fixed !important;
  inset:0 !important;
  width:100% !important;
  height:100dvh !important;
  min-height:100svh !important;
  display:grid !important;
  place-items:center !important;
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.loader-inner{
  width:min(90vw,520px) !important;
  max-width:100% !important;
  max-height:calc(100dvh - 32px) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
}
.home-loader-mark{
  width:min(42vw,330px) !important;
  height:min(42vw,330px) !important;
  max-width:62vh !important;
  max-height:62vh !important;
  aspect-ratio:1 / 1 !important;
  display:grid !important;
  place-items:center !important;
  position:relative !important;
  overflow:visible !important;
  margin:0 !important;
  flex:0 0 auto !important;
}
.home-loader-mark img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:0 !important;
  overflow:visible !important;
  clip-path:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
}
.home-loader-mark::before{
  inset:-2px !important;
}
.home-loader-mark::after{
  inset:-7px !important;
}
.home-loader-name{
  margin:0 !important;
  font-size:10px !important;
  line-height:1.2 !important;
  letter-spacing:.22em !important;
  text-align:center !important;
}
.home-loader-line{
  width:min(190px,52vw) !important;
  max-width:100% !important;
  height:2px !important;
  margin:0 !important;
}
@media (max-width:680px){
  .loader-inner{gap:9px !important;max-height:calc(100svh - 20px) !important}
  .home-loader-mark{width:min(58vw,250px) !important;height:min(58vw,250px) !important;max-width:50vh !important;max-height:50vh !important}
  .home-loader-name{font-size:9px !important;letter-spacing:.18em !important}
  .home-loader-line{width:min(178px,56vw) !important}
}
@media (max-width:420px){
  .home-loader-mark{width:min(56vw,220px) !important;height:min(56vw,220px) !important;max-width:43vh !important;max-height:43vh !important}
}


/* =========================================================
   Ayan V16 — reference-matched package system + loader
   Desktop: 4 cards | iPad/tablet: 2 cards | Mobile: 1 compact horizontal card
   ========================================================= */

.packages-showcase {
  position: relative;
  padding: clamp(42px, 6vw, 72px) 0 clamp(36px, 5vw, 56px);
  overflow: clip;
  background:
    radial-gradient(circle at 50% 12%, rgba(78,164,255,.11), transparent 34%),
    linear-gradient(180deg, #050d19 0%, #061321 52%, #040b15 100%);
}

.packages-showcase::before {
  content: "";
  position: absolute;
  inset: -6%;
  z-index: -3;
  background:
    linear-gradient(180deg, rgba(2,8,16,.76), rgba(3,11,21,.93));
  filter: blur(16px) saturate(.8) brightness(.55);
  transform: scale(1.08);
  opacity: .42;
}

.packages-showcase::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 34%;
  z-index: -2;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.58));
  pointer-events: none;
}

.packages-showcase-inner { position: relative; z-index: 1; }

.packages-showcase-head {
  max-width: 1200px;
  margin: 0 auto clamp(22px, 3vw, 32px);
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.packages-showcase-title { text-align: start; max-width: 860px; }
.packages-showcase-title .kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  color: #62b6ff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.packages-showcase-title .kicker::before {
  content: "";
  width: 26px;
  height: 1px;
  background: linear-gradient(90deg, transparent, currentColor);
}

.packages-showcase-title h2 {
  margin: 0;
  font-size: clamp(28px, 3.6vw, 46px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.packages-showcase-title p {
  margin-top: 10px;
  max-width: 680px;
  color: #9eb3ca;
  font-size: 13px;
  line-height: 1.8;
}
.packages-book-link {
  align-self: center;
  color: #6dbdff;
  font-weight: 900;
  font-size: 13px;
  white-space: nowrap;
}

.packages-grid-cinematic {
  width: min(100%, 1240px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.5vw, 18px);
  align-items: stretch;
  direction: rtl;
}
html[dir="ltr"] .packages-grid-cinematic { direction: ltr; }

.package-cinematic {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 24px;
  padding: 0;
  background: linear-gradient(180deg, rgba(8,23,39,.86), rgba(4,13,25,.97));
  border: 1px solid rgba(116,181,239,.23);
  box-shadow: 0 24px 65px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.045);
  transition: transform .35s var(--ease), border-color .35s ease, box-shadow .35s ease;
}
.package-cinematic:hover {
  transform: translateY(-5px);
  border-color: rgba(114,191,255,.52);
  box-shadow: 0 30px 80px rgba(0,0,0,.4), 0 0 34px rgba(62,153,255,.10);
}
.package-silver { border-color: rgba(143,194,240,.28); }
.package-basic { border-color: rgba(241,158,91,.5); background: linear-gradient(180deg, rgba(45,22,17,.64), rgba(7,16,28,.98)); }
.package-advanced { border-color: rgba(72,160,255,.52); }
.package-royal { border-color: rgba(228,187,74,.58); background: linear-gradient(180deg, rgba(45,29,12,.55), rgba(8,15,24,.98)); }

.cinematic-visual {
  position: relative;
  height: clamp(208px, 20vw, 248px);
  margin: 0;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: #071120;
  isolation: isolate;
}
.cinematic-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.05) contrast(1.05) brightness(.98);
  transform: scale(1.002);
  transition: transform .55s var(--ease), filter .4s ease;
}
.package-cinematic:hover .cinematic-visual img {
  transform: scale(1.04);
  filter: saturate(1.10) contrast(1.06) brightness(1.02);
}
.package-visual-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(2,7,13,.12) 0%, rgba(2,7,13,.03) 48%, rgba(2,9,17,.83) 100%),
    linear-gradient(90deg, rgba(2,8,15,.08), rgba(2,8,15,.2));
  pointer-events: none;
}
.package-visual-copy {
  position: absolute;
  z-index: 2;
  inset: 18px 18px auto;
  display: grid;
  justify-items: start;
  gap: 2px;
}
.package-en-label {
  position: static;
  font-size: clamp(25px, 2.25vw, 33px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: .05em;
  text-shadow: 0 5px 18px rgba(0,0,0,.65);
}
.package-visual-model {
  color: rgba(238,245,253,.78);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
}
.package-basic .package-en-label { color: #f4b67c; }
.package-advanced .package-en-label { color: #73c1ff; }
.package-royal .package-en-label { color: #ffd76e; }
.package-rank-icon {
  position: absolute;
  z-index: 2;
  inset-block-start: 18px;
  inset-inline-end: 18px;
  font-size: 23px;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.35));
}

.package-content {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0;
  padding: 18px 20px 20px;
}
.package-heading { min-width: 0; }
.package-heading-with-badge {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: start;
  gap: 10px;
}
.package-content h3 {
  margin: 0;
  font-size: clamp(20px, 1.75vw, 24px);
  line-height: 1.2;
  letter-spacing: -.03em;
}
.package-content .descriptor {
  margin-top: 6px;
  min-height: 0;
  color: #9fb8d3;
  font-size: 12px;
  line-height: 1.65;
}

.package-badge {
  position: static;
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
  background: rgba(76,174,255,.95);
  color: #06111f;
  box-shadow: 0 7px 22px rgba(44,152,244,.20);
}
.package-badge.signature {
  background: rgba(8,15,25,.64);
  border: 1px solid rgba(231,188,73,.68);
  color: #f3cc5b;
  box-shadow: none;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.package-highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 7px;
  margin: 16px 0 13px;
  padding: 9px 0;
  border-top: 1px solid rgba(125,176,225,.14);
  border-bottom: 1px solid rgba(125,176,225,.14);
}
.package-highlights span {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 3px;
  text-align: center;
}
.package-highlights span + span {
  border-inline-start: 1px solid rgba(125,176,225,.11);
}
.package-highlights b {
  color: #cce7ff;
  font-size: 14px;
  line-height: 1;
}
.package-highlights small {
  color: #8099b3;
  font-size: 9px;
  line-height: 1.35;
  white-space: nowrap;
}
.package-basic .package-highlights b { color: #f2b06f; }
.package-advanced .package-highlights b { color: #7bc6ff; }
.package-royal .package-highlights b { color: #f4cb62; }

.package-content ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.package-content li {
  position: relative;
  padding-inline-start: 18px;
  color: #d7e2ed;
  font-size: 12px;
  line-height: 1.65;
}
.package-content li::before {
  content: "";
  position: absolute;
  inset-inline-start: 1px;
  top: .72em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #5eb6ff;
  box-shadow: 0 0 12px rgba(94,182,255,.65);
}
.package-basic .package-content li::before { background: #f0a55e; box-shadow: 0 0 12px rgba(240,165,94,.46); }
.package-royal .package-content li::before { background: #e5b84e; box-shadow: 0 0 12px rgba(229,184,78,.46); }

.package-bottom {
  margin-top: auto;
  padding-top: 18px;
}
.package-content .price {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 7px;
  margin: 0 0 12px;
}
.package-content .price strong {
  font-size: clamp(40px, 3.8vw, 52px);
  line-height: .95;
  font-weight: 950;
  letter-spacing: -.05em;
}
.package-content .price span {
  color: #90a6be;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
}
.package-content .package-cta {
  width: 100%;
  min-height: 52px;
  border-radius: 999px;
  justify-content: center;
  font-size: 12px;
  font-weight: 900;
}
.package-royal .package-cta {
  background: linear-gradient(90deg, #f2c34f, #ffd96b);
  border-color: transparent;
  color: #10130f;
  box-shadow: none;
}
.package-silver .package-cta {
  background: rgba(13,30,49,.75);
  border-color: rgba(117,171,222,.25);
}

.package-benefits-strip { display: none; }

@media (max-width: 1120px) {
  .packages-grid-cinematic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cinematic-visual { height: 220px; }
  .package-content h3 { font-size: 23px; }
  .package-content li { font-size: 12.5px; }
}

@media (max-width: 760px) {
  .packages-showcase { padding-top: 32px; }
  .packages-showcase-head {
    display: grid;
    gap: 8px;
    text-align: center;
    margin-bottom: 18px;
  }
  .packages-showcase-title { text-align: center; }
  .packages-showcase-title .kicker { justify-content: center; }
  .packages-showcase-title h2 { font-size: 28px; }
  .packages-showcase-title p { max-width: 560px; margin-inline: auto; font-size: 12px; }
  .packages-book-link { justify-self: center; font-size: 12px; }
  .packages-grid-cinematic { grid-template-columns: 1fr; gap: 12px; }

  /* Phone: compact horizontal cards — one package per row, not full tall cards. */
  .package-cinematic {
    display: grid;
    grid-template-columns: minmax(132px, 39%) 1fr;
    min-height: 0;
    border-radius: 21px;
  }
  html[dir="rtl"] .package-cinematic { grid-template-columns: minmax(132px, 39%) 1fr; }
  .cinematic-visual {
    height: 100%;
    min-height: 208px;
    aspect-ratio: auto;
  }
  .package-content { padding: 16px 16px 16px; }
  .package-content h3 { font-size: 20px; }
  .package-content .descriptor { font-size: 11px; line-height: 1.55; }
  .package-visual-copy { inset: 15px 13px auto; gap: 3px; }
  .package-en-label { font-size: 21px; }
  .package-visual-model { font-size: 10px; }
  .package-rank-icon { inset-block-start: 12px; inset-inline-end: 12px; font-size: 18px; }
  .package-heading-with-badge { grid-template-columns: 1fr; gap: 7px; }
  .package-heading-with-badge .package-badge { justify-self: start; }
  .package-highlights { margin: 12px 0 11px; padding: 7px 0; }
  .package-highlights small { font-size: 8px; }
  .package-content ul { gap: 5px; }
  .package-content li { font-size: 10.5px; line-height: 1.48; padding-inline-start: 14px; }
  .package-content li::before { width: 4px; height: 4px; }
  .package-bottom { padding-top: 12px; }
  .package-content .price { margin-bottom: 9px; }
  .package-content .price strong { font-size: 34px; }
  .package-content .price span { font-size: 9px; }
  .package-content .package-cta { min-height: 42px; font-size: 11px; }
}

@media (max-width: 430px) {
  .packages-showcase { padding-inline: 0; }
  .packages-showcase-inner { width: min(100% - 18px, 520px); }
  .packages-showcase-title h2 { font-size: 24px; }
  .packages-showcase-title p { font-size: 11px; }
  .package-cinematic { grid-template-columns: minmax(122px, 37%) 1fr; }
  .cinematic-visual { min-height: 196px; }
  .package-content { padding: 14px; }
  .package-content h3 { font-size: 18px; }
  .package-content .descriptor { font-size: 10px; }
  .package-highlights { gap: 4px; }
  .package-highlights b { font-size: 12px; }
  .package-highlights small { font-size: 7.5px; }
  .package-content li { font-size: 9.8px; }
  .package-content .price strong { font-size: 31px; }
  .package-content .package-cta { min-height: 40px; }
}

/* V16 loader — the full logo stays completely inside the viewport; progress lives below it. */
.loader {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100dvh !important;
  min-height: 100svh !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  padding: env(safe-area-inset-top) 16px env(safe-area-inset-bottom) !important;
  box-sizing: border-box !important;
  z-index: 99999 !important;
  background: #06101d !important;
}
.loader-inner {
  width: min(92vw, 360px) !important;
  max-height: calc(100dvh - 28px) !important;
  min-height: 0 !important;
  display: grid !important;
  justify-items: center !important;
  align-content: center !important;
  gap: 12px !important;
  transform: translateY(-1.5vh);
}
.home-loader-mark {
  position: relative !important;
  width: min(68vw, 292px) !important;
  height: min(68vw, 292px) !important;
  aspect-ratio: 1 / 1 !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
}
.home-loader-mark img {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  clip-path: none !important;
}
.home-loader-halo {
  position: absolute;
  inset: 2%;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(44,137,235,.16), transparent 64%);
  filter: blur(18px);
}
.home-loader-ring {
  position: absolute !important;
  inset: -7px !important;
  z-index: 1 !important;
  border-radius: 50%;
  background: conic-gradient(from 0deg, rgba(102,184,255,.06), rgba(102,184,255,.06) 53%, #69bcff 72%, #1986ff 84%, rgba(102,184,255,.06) 96%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));
  animation: spin 1.15s linear infinite;
  filter: drop-shadow(0 0 16px rgba(68,169,255,.32));
}
.home-loader-name {
  margin: 0 !important;
  color: rgba(233,243,252,.86) !important;
  font-size: 10px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .23em !important;
  text-transform: uppercase;
}
.home-loader-line {
  width: min(190px, 56vw) !important;
  height: 3px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(132,172,210,.12) !important;
}
.home-loader-line span {
  display: block !important;
  width: 42% !important;
  height: 100% !important;
  border-radius: inherit;
  background: linear-gradient(90deg, transparent, #69bbff, transparent) !important;
  animation: loaderSweep 1.35s ease-in-out infinite !important;
}
.loader.hide { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transition: opacity .45s ease, visibility .45s ease !important; }

@media (max-width: 680px) {
  .loader-inner { width: min(88vw, 280px) !important; gap: 10px !important; }
  .home-loader-mark { width: min(63vw, 224px) !important; height: min(63vw, 224px) !important; }
  .home-loader-ring { inset: -6px !important; }
  .home-loader-name { font-size: 8.5px !important; letter-spacing: .18em !important; }
  .home-loader-line { width: min(174px, 60vw) !important; }
}

@media (max-width: 390px) {
  .home-loader-mark { width: min(58vw, 204px) !important; height: min(58vw, 204px) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .package-cinematic,
  .cinematic-visual img { transition: none !important; }
  .home-loader-ring,
  .home-loader-line span { animation: none !important; }
}


/* =========================================================
   V17 — packages without photos
   Package cards intentionally use premium gradients only.
   ========================================================= */
.packages-showcase::before{
  background:
    radial-gradient(circle at 16% 34%, rgba(42,138,255,.10), transparent 28%),
    radial-gradient(circle at 84% 28%, rgba(17,93,170,.12), transparent 30%),
    linear-gradient(180deg,rgba(2,9,18,.08),rgba(2,9,18,.82));
}

.cinematic-visual.no-package-image{
  height:154px !important;
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 70% 22%, rgba(108,191,255,.12), transparent 24%),
    linear-gradient(135deg, rgba(20,59,91,.88) 0%, rgba(6,20,34,.98) 58%, rgba(3,11,20,1) 100%);
  border-bottom:1px solid rgba(126,188,240,.12);
}
.package-silver .cinematic-visual.no-package-image{
  background:
    radial-gradient(circle at 72% 22%, rgba(122,185,238,.18), transparent 28%),
    linear-gradient(135deg,#112b42 0%,#081a2d 58%,#06111e 100%);
}
.package-basic .cinematic-visual.no-package-image{
  background:
    radial-gradient(circle at 72% 22%, rgba(255,176,111,.18), transparent 28%),
    linear-gradient(135deg,#3a2119 0%,#1b1620 58%,#09131f 100%);
}
.package-advanced .cinematic-visual.no-package-image{
  background:
    radial-gradient(circle at 72% 22%, rgba(99,185,255,.20), transparent 28%),
    linear-gradient(135deg,#123b5b 0%,#091f35 58%,#06121f 100%);
}
.package-royal .cinematic-visual.no-package-image{
  background:
    radial-gradient(circle at 72% 22%, rgba(243,201,91,.20), transparent 28%),
    linear-gradient(135deg,#3c2a12 0%,#20180f 58%,#09121c 100%);
}
.cinematic-visual.no-package-image::before{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.055);
  background:
    linear-gradient(135deg,transparent 0 48%,rgba(255,255,255,.04) 49%,transparent 50% 100%);
  pointer-events:none;
}
.cinematic-visual.no-package-image::after{
  content:"";
  position:absolute;
  width:210px;
  height:210px;
  right:-78px;
  bottom:-120px;
  border-radius:50%;
  border:1px solid rgba(118,190,255,.11);
  box-shadow:0 0 34px rgba(47,146,255,.09);
  pointer-events:none;
}
.no-package-image .package-visual-copy{
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%);
}
.no-package-image .package-en-label{
  position:static !important;
  display:block;
  font-size:34px !important;
  line-height:1 !important;
  letter-spacing:.07em;
  text-shadow:none !important;
}
.no-package-image .package-visual-model{
  display:block;
  margin-top:10px;
  color:#9eb9d5;
  font-size:14px;
  font-weight:700;
}
.no-package-image .package-rank-icon{
  z-index:3;
  font-size:34px !important;
  top:20px !important;
  right:22px !important;
  filter:drop-shadow(0 7px 18px rgba(0,0,0,.28));
}
html[dir="rtl"] .no-package-image .package-rank-icon{
  right:auto !important;
  left:22px !important;
}
.package-cinematic .cinematic-visual.no-package-image .package-visual-copy{
  position:absolute !important;
  inset-inline:22px !important;
  text-align:start;
}
.package-cinematic .cinematic-visual.no-package-image + .package-content{
  min-height:0 !important;
}
@media (min-width:1200px){
  .cinematic-visual.no-package-image{height:154px !important}
}
@media (min-width:681px) and (max-width:1199px){
  .cinematic-visual.no-package-image{height:145px !important}
}
@media (max-width:680px){
  .cinematic-visual.no-package-image{
    height:128px !important;
    aspect-ratio:auto !important;
  }
  .no-package-image .package-en-label{font-size:27px !important}
  .no-package-image .package-visual-model{font-size:11px;margin-top:7px}
  .no-package-image .package-rank-icon{font-size:28px !important;top:16px !important}
  html[dir="rtl"] .no-package-image .package-rank-icon{left:16px !important}
  html[dir="ltr"] .no-package-image .package-rank-icon{right:16px !important}
  .package-cinematic .cinematic-visual.no-package-image .package-visual-copy{
    inset-inline:16px !important;
  }
}
.cinematic-visual.no-package-image img,
.cinematic-visual.no-package-image .package-visual-shade{
  display:none !important;
}


/* V17.1 — cleaner package identity on mobile: centered names + refined emoji badge. */
@media (max-width:680px){
  .package-cinematic .cinematic-visual.no-package-image .package-visual-copy{
    inset:0 !important;
    display:grid !important;
    place-items:center !important;
    justify-items:center !important;
    align-content:center !important;
    text-align:center !important;
    transform:none !important;
    padding:36px 16px 18px !important;
  }
  .no-package-image .package-en-label{
    font-size:28px !important;
    line-height:1.05 !important;
    letter-spacing:.075em !important;
    text-align:center !important;
  }
  .no-package-image .package-visual-model{display:none !important;}
  .no-package-image .package-rank-icon{
    top:11px !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    display:grid !important;
    place-items:center !important;
    min-width:42px !important;
    height:34px !important;
    padding:2px 8px !important;
    border-radius:12px !important;
    background:rgba(4,13,25,.46) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    box-shadow:0 8px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06) !important;
    font-size:26px !important;
    line-height:1 !important;
    filter:drop-shadow(0 5px 13px rgba(0,0,0,.28)) !important;
  }
  .package-content .package-heading,
  .package-content .package-heading-with-badge{
    text-align:center !important;
  }
  .package-content .package-heading-with-badge{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
  }
  .package-heading-with-badge .package-badge{
    justify-self:center !important;
    align-self:center !important;
  }
  .package-content h3{
    text-align:center !important;
    font-size:21px !important;
  }
  .package-content .descriptor{
    text-align:center !important;
    max-width:95% !important;
    margin-inline:auto !important;
  }
}

@media (min-width:681px){
  .no-package-image .package-visual-model{display:none !important;}
}


/* =========================================================
   V17.2 — Professional package marks + logo-as-loader
   ========================================================= */
.package-rank-icon,
.booking-package-icon{
  display:grid !important;
  place-items:center !important;
  line-height:0 !important;
  font-size:0 !important;
}
.package-rank-icon svg,
.booking-package-icon svg{
  width:36px !important;
  height:36px !important;
  display:block !important;
  overflow:visible !important;
}
.package-rank-icon .rank-ribbon,
.booking-package-icon .rank-ribbon{
  fill:rgba(118,183,255,.16);
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linejoin:round;
}
.package-rank-icon .rank-medal,
.booking-package-icon .rank-medal{
  fill:currentColor;
  stroke:rgba(255,255,255,.58);
  stroke-width:1.5;
}
.package-rank-icon .rank-medal-inner,
.booking-package-icon .rank-medal-inner{
  fill:rgba(7,17,31,.68);
  stroke:rgba(255,255,255,.34);
  stroke-width:1.1;
}
.package-rank-icon .rank-number,
.booking-package-icon .rank-number{
  fill:#fff;
}
.package-rank-icon.rank-silver,
.booking-package-icon.rank-silver{ color:#a9d9ff !important; }
.package-rank-icon.rank-bronze,
.booking-package-icon.rank-bronze{ color:#ff9e5f !important; }
.package-rank-icon.rank-advanced,
.booking-package-icon.rank-advanced{ color:#75c2ff !important; }
.package-rank-icon.rank-cinematic,
.booking-package-icon.rank-cinematic{ color:#f2c968 !important; }
.package-rank-icon .rank-cup,
.booking-package-icon .rank-cup{
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.package-rank-icon .rank-handle,
.booking-package-icon .rank-handle,
.package-rank-icon .rank-stem,
.booking-package-icon .rank-stem{
  fill:none;
  stroke:currentColor;
  stroke-width:2.1;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.package-rank-icon .rank-diamond,
.booking-package-icon .rank-diamond{
  fill:rgba(242,201,104,.08);
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linejoin:round;
}
.package-rank-icon .rank-diamond-line,
.booking-package-icon .rank-diamond-line{
  fill:none;
  stroke:currentColor;
  stroke-width:1.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.82;
}
.package-rank-icon{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  padding:0 !important;
  border-radius:15px !important;
  background:rgba(4,13,25,.46) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06) !important;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.24));
}

/* Keep the source logo itself fixed-size; loading happens around the logo, never by resizing it. */
.loader-inner{
  width:min(94vw, 560px) !important;
  gap:16px !important;
  transform:none !important;
}
.home-loader-mark{
  width:clamp(280px, 58vw, 360px) !important;
  height:clamp(280px, 58vw, 360px) !important;
  aspect-ratio:1 / 1 !important;
  position:relative !important;
  display:grid !important;
  place-items:center !important;
  overflow:visible !important;
  isolation:isolate !important;
  filter:drop-shadow(0 18px 44px rgba(35,130,255,.24)) !important;
}
.home-loader-mark img{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  border-radius:50% !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  transform:none !important;
  animation:none !important;
}
.home-loader-halo{
  position:absolute !important;
  inset:-1% !important;
  z-index:0 !important;
  border-radius:50% !important;
  background:radial-gradient(circle, rgba(53,145,255,.16) 0 40%, rgba(53,145,255,.07) 54%, transparent 74%) !important;
  filter:blur(16px) !important;
  animation:ayanLoaderHalo17 2.2s ease-in-out infinite !important;
}
.home-loader-ring{
  position:absolute !important;
  inset:-8px !important;
  z-index:4 !important;
  display:block !important;
  border-radius:50% !important;
  background:conic-gradient(from -38deg, rgba(110,190,255,.12) 0deg, rgba(110,190,255,.12) 214deg, rgba(110,190,255,.16) 248deg, #5bb5ff 292deg, #ffffff 314deg, #218cff 330deg, rgba(110,190,255,.08) 346deg, rgba(110,190,255,.08) 360deg) !important;
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3px)) !important;
  mask:radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3px)) !important;
  animation:ayanLoaderOrbit17 1.35s linear infinite !important;
  filter:drop-shadow(0 0 10px rgba(79,167,255,.88)) !important;
}
.home-loader-ring::after{
  content:"" !important;
  position:absolute !important;
  width:10px !important;
  height:10px !important;
  right:5% !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 0 14px #6ec2ff, 0 0 30px rgba(78,166,255,.72) !important;
}
.home-loader-mark::before{
  content:"" !important;
  position:absolute !important;
  inset:-15px !important;
  z-index:-1 !important;
  border-radius:50% !important;
  border:1px solid rgba(89,177,255,.11) !important;
  box-shadow:0 0 52px rgba(46,143,255,.10), inset 0 0 28px rgba(46,143,255,.04) !important;
  pointer-events:none !important;
}
.home-loader-mark::after{
  content:"" !important;
  position:absolute !important;
  inset:7% !important;
  z-index:1 !important;
  border-radius:50% !important;
  border:1px solid rgba(120,192,255,.07) !important;
  pointer-events:none !important;
}
.home-loader-name{
  margin-top:2px !important;
  font-size:11px !important;
  letter-spacing:.24em !important;
  font-weight:900 !important;
  color:#edf6ff !important;
  text-shadow:0 0 18px rgba(86,170,255,.24) !important;
}
.home-loader-line{
  width:236px !important;
  height:3px !important;
  border-radius:999px !important;
  background:rgba(112,159,204,.16) !important;
  box-shadow:0 0 18px rgba(59,152,255,.08) !important;
}
.home-loader-line span{
  width:32% !important;
  background:linear-gradient(90deg, transparent, #61b7ff 38%, #fff 50%, #61b7ff 62%, transparent) !important;
  animation:ayanLoaderSweep17 1.2s cubic-bezier(.4,0,.2,1) infinite !important;
}
@keyframes ayanLoaderOrbit17{to{transform:rotate(360deg)}}
@keyframes ayanLoaderSweep17{0%{transform:translateX(-330%)}100%{transform:translateX(540%)}}
@keyframes ayanLoaderHalo17{0%,100%{opacity:.65;transform:scale(.985)}50%{opacity:1;transform:scale(1.018)}}
@media (max-width:680px){
  .package-rank-icon{
    width:46px !important;height:46px !important;min-width:46px !important;min-height:46px !important;
    border-radius:14px !important;
  }
  .package-rank-icon svg{width:34px !important;height:34px !important}
  .booking-package-icon svg{width:32px !important;height:32px !important}
  .loader-inner{width:min(94vw,360px) !important;gap:12px !important}
  .home-loader-mark{
    width:clamp(240px, 68vw, 310px) !important;
    height:clamp(240px, 68vw, 310px) !important;
  }
  .home-loader-ring{inset:-7px !important}
  .home-loader-name{font-size:10px !important;letter-spacing:.20em !important}
  .home-loader-line{width:min(210px,64vw) !important}
  .home-loader-ring::after{width:8px !important;height:8px !important}
}
@media (max-width:390px){
  .home-loader-mark{width:clamp(218px,64vw,250px) !important;height:clamp(218px,64vw,250px) !important}
}
@media (prefers-reduced-motion:reduce){
  .home-loader-ring,.home-loader-line span,.home-loader-halo{animation:none !important}
}

/* V17.3 — mobile package labels: same visual size, no clipping */
@media (max-width:680px){
  .no-package-image .package-en-label{
    font-size:22px !important;
    line-height:1 !important;
    letter-spacing:.035em !important;
    white-space:nowrap !important;
    max-width:100% !important;
    text-align:center !important;
  }
  .package-cinematic .cinematic-visual.no-package-image .package-visual-copy{
    padding:36px 8px 18px !important;
    overflow:hidden !important;
  }
  .package-rank-icon{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    border-radius:12px !important;
    padding:4px !important;
  }
  .package-rank-icon svg{width:30px !important;height:30px !important}
  .package-rank-icon .rank-lens,
  .package-rank-icon .rank-film,
  .package-rank-icon .rank-camera,
  .package-rank-icon .rank-star{fill:none;stroke:currentColor;stroke-width:2.3;stroke-linejoin:round;stroke-linecap:round}
  .package-rank-icon .rank-lens-inner{fill:none;stroke:currentColor;stroke-width:2}
  .package-rank-icon .rank-spark{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .package-rank-icon .rank-film-line{fill:none;stroke:currentColor;stroke-width:1.7}
  .package-rank-icon .rank-camera-top{fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
  .package-rank-icon .rank-camera-lens{fill:none;stroke:currentColor;stroke-width:2.3}
  .package-rank-icon .rank-camera-dot{fill:currentColor}
}


/* =========================================================
   V17.4 — click-only social menu + theme-aware package icons/colors
   ========================================================= */
:root{
  --pkg-silver:#dbe9f8;
  --pkg-basic:#69b7ff;
  --pkg-advanced:#b18cff;
  --pkg-cinematic:#f2c75c;
  --pkg-silver-bg:rgba(11,24,40,.92);
  --pkg-basic-bg:rgba(11,29,49,.86);
  --pkg-advanced-bg:rgba(28,20,48,.88);
  --pkg-cinematic-bg:rgba(47,33,13,.84);
  --pkg-border-silver:rgba(176,211,244,.38);
  --pkg-border-basic:rgba(105,183,255,.62);
  --pkg-border-advanced:rgba(177,140,255,.66);
  --pkg-border-cinematic:rgba(242,199,92,.64);
  --pkg-icon-bg:rgba(4,13,25,.46);
  --pkg-icon-border:rgba(255,255,255,.10);
  --pkg-body:#dbe7f2;
  --pkg-muted:#9eb8d3;
  --loader-accent:var(--brand);
}

[data-theme="dark"]{
  --pkg-silver:#dbe9f8;
  --pkg-basic:#69b7ff;
  --pkg-advanced:#b18cff;
  --pkg-cinematic:#f2c75c;
  --pkg-silver-bg:rgba(11,24,40,.92);
  --pkg-basic-bg:rgba(11,29,49,.86);
  --pkg-advanced-bg:rgba(28,20,48,.88);
  --pkg-cinematic-bg:rgba(47,33,13,.84);
  --pkg-border-silver:rgba(176,211,244,.38);
  --pkg-border-basic:rgba(105,183,255,.62);
  --pkg-border-advanced:rgba(177,140,255,.66);
  --pkg-border-cinematic:rgba(242,199,92,.64);
  --pkg-icon-bg:rgba(3,10,19,.62);
  --pkg-body:#e8f0f8;
  --pkg-muted:#afc2d6;
  --loader-accent:#7dbbff;
}

[data-theme="light"]{
  --pkg-silver:#3f6f98;
  --pkg-basic:#2478c9;
  --pkg-advanced:#7350c8;
  --pkg-cinematic:#9a7516;
  --pkg-silver-bg:rgba(236,245,255,.86);
  --pkg-basic-bg:rgba(236,246,255,.92);
  --pkg-advanced-bg:rgba(244,239,255,.94);
  --pkg-cinematic-bg:rgba(255,249,226,.96);
  --pkg-border-silver:rgba(53,101,141,.34);
  --pkg-border-basic:rgba(36,120,201,.38);
  --pkg-border-advanced:rgba(115,80,200,.38);
  --pkg-border-cinematic:rgba(154,117,22,.42);
  --pkg-icon-bg:rgba(255,255,255,.72);
  --pkg-icon-border:rgba(18,48,82,.12);
  --pkg-body:#26384b;
  --pkg-muted:#5f7590;
  --loader-accent:#2f78d8;
}

/* Package identity colors follow the active site theme. */
.package-silver{border-color:var(--pkg-border-silver) !important;background:linear-gradient(180deg,var(--pkg-silver-bg),rgba(255,255,255,.02)) !important;}
.package-basic{border-color:var(--pkg-border-basic) !important;background:linear-gradient(180deg,var(--pkg-basic-bg),rgba(255,255,255,.02)) !important;}
.package-advanced{border-color:var(--pkg-border-advanced) !important;background:linear-gradient(180deg,var(--pkg-advanced-bg),rgba(255,255,255,.02)) !important;}
.package-royal{border-color:var(--pkg-border-cinematic) !important;background:linear-gradient(180deg,var(--pkg-cinematic-bg),rgba(255,255,255,.02)) !important;}

.package-basic .package-en-label{color:var(--pkg-basic) !important;}
.package-advanced .package-en-label{color:var(--pkg-advanced) !important;}
.package-royal .package-en-label{color:var(--pkg-cinematic) !important;}
.package-silver .package-en-label{color:var(--pkg-silver) !important;}
.package-basic .package-highlights b{color:var(--pkg-basic) !important;}
.package-advanced .package-highlights b{color:var(--pkg-advanced) !important;}
.package-royal .package-highlights b{color:var(--pkg-cinematic) !important;}
.package-silver .package-highlights b{color:var(--pkg-silver) !important;}
.package-content .descriptor{color:var(--pkg-muted) !important;}
.package-content li{color:var(--pkg-body) !important;}
.package-content .price span{color:var(--pkg-muted) !important;}
.package-basic .package-content li::before{background:var(--pkg-basic) !important;box-shadow:0 0 12px color-mix(in srgb,var(--pkg-basic) 50%, transparent) !important;}
.package-advanced .package-content li::before{background:var(--pkg-advanced) !important;box-shadow:0 0 12px color-mix(in srgb,var(--pkg-advanced) 50%, transparent) !important;}
.package-royal .package-content li::before{background:var(--pkg-cinematic) !important;box-shadow:0 0 12px color-mix(in srgb,var(--pkg-cinematic) 50%, transparent) !important;}
.package-silver .package-content li::before{background:var(--pkg-silver) !important;box-shadow:0 0 12px color-mix(in srgb,var(--pkg-silver) 50%, transparent) !important;}
.package-royal .package-cta{background:linear-gradient(90deg,var(--pkg-cinematic),color-mix(in srgb,var(--pkg-cinematic) 72%, #fff)) !important;color:#11151b !important;}
.package-silver .package-cta{background:var(--surface) !important;border-color:var(--pkg-border-silver) !important;color:var(--text) !important;}

/* Package rank marks: use the same clean line-art treatment on laptop, tablet, and mobile. */
.package-rank-icon{
  color:var(--pkg-silver) !important;
  background:var(--pkg-icon-bg) !important;
  border-color:var(--pkg-icon-border) !important;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.24)) !important;
}
.package-rank-icon.rank-silver{color:var(--pkg-silver) !important;}
.package-rank-icon.rank-bronze{color:var(--pkg-basic) !important;}
.package-rank-icon.rank-advanced{color:var(--pkg-advanced) !important;}
.package-rank-icon.rank-cinematic{color:var(--pkg-cinematic) !important;}
.package-rank-icon svg{width:34px !important;height:34px !important;}
.package-rank-icon .rank-lens,
.package-rank-icon .rank-film,
.package-rank-icon .rank-camera,
.package-rank-icon .rank-star{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.35 !important;
  stroke-linejoin:round !important;
  stroke-linecap:round !important;
}
.package-rank-icon .rank-lens-inner{fill:none !important;stroke:currentColor !important;stroke-width:2 !important;}
.package-rank-icon .rank-spark{fill:none !important;stroke:currentColor !important;stroke-width:2 !important;stroke-linecap:round !important;}
.package-rank-icon .rank-film-line{fill:none !important;stroke:currentColor !important;stroke-width:1.75 !important;}
.package-rank-icon .rank-camera-top{fill:none !important;stroke:currentColor !important;stroke-width:2.35 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}
.package-rank-icon .rank-camera-lens{fill:none !important;stroke:currentColor !important;stroke-width:2.35 !important;}
.package-rank-icon .rank-camera-dot{fill:currentColor !important;stroke:none !important;}

/* The social panel opens only after pressing the green button, never just by hovering. */
.social-float.is-open .social-float-menu{opacity:1 !important;transform:translateY(0) scale(1) !important;pointer-events:auto !important;}
.social-float:hover .social-float-menu{opacity:0 !important;transform:translateY(12px) scale(.96) !important;pointer-events:none !important;}
.social-float.is-open:hover .social-float-menu{opacity:1 !important;transform:translateY(0) scale(1) !important;pointer-events:auto !important;}

/* Loader: the progress ring hugs the real logo without resizing or replacing it. */
.loader-inner{--loader-glow:var(--glow) !important;}
.home-loader-mark{filter:drop-shadow(0 18px 44px var(--loader-glow)) !important;}
.home-loader-ring{
  inset:-5px !important;
  background:conic-gradient(from -55deg,
    color-mix(in srgb,var(--loader-accent) 10%,transparent) 0deg,
    color-mix(in srgb,var(--loader-accent) 10%,transparent) 230deg,
    color-mix(in srgb,var(--loader-accent) 78%,#fff) 294deg,
    #fff 312deg,
    var(--loader-accent) 328deg,
    color-mix(in srgb,var(--loader-accent) 10%,transparent) 350deg,
    color-mix(in srgb,var(--loader-accent) 10%,transparent) 360deg) !important;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px)) !important;
  mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px)) !important;
}
.home-loader-ring::after{
  background:#fff !important;
  box-shadow:0 0 12px var(--loader-accent),0 0 26px color-mix(in srgb,var(--loader-accent) 68%,transparent) !important;
}
.home-loader-line{background:color-mix(in srgb,var(--loader-accent) 16%,transparent) !important;}
.home-loader-line span{background:linear-gradient(90deg,transparent,var(--loader-accent) 38%,#fff 50%,var(--loader-accent) 62%,transparent) !important;}
@media(max-width:680px){
  .package-rank-icon svg{width:30px !important;height:30px !important;}
  .home-loader-ring{inset:-5px !important;}
}


/* =========================================================
   V17.5 — real theme-aware package surfaces + exact logo loader
   ========================================================= */
:root{
  --pkg-heading:#f6f9ff;
  --pkg-body:#dbe7f2;
  --pkg-muted:#9eb8d3;
  --pkg-visual-bg:#081828;
  --pkg-content-bg:rgba(3,12,23,.20);
  --pkg-rule:rgba(143,191,232,.16);
}

[data-theme="relax"]{
  --pkg-heading:#f7fbff;
  --pkg-body:#dce8f3;
  --pkg-muted:#9fb8d1;
  --pkg-visual-bg:#08192b;
  --pkg-content-bg:rgba(4,14,26,.18);
  --pkg-rule:rgba(126,179,228,.15);
}

[data-theme="dark"]{
  --pkg-heading:#f4f8ff;
  --pkg-body:#d6e1ec;
  --pkg-muted:#96a9bd;
  --pkg-visual-bg:#050b13;
  --pkg-content-bg:rgba(2,7,13,.42);
  --pkg-rule:rgba(171,201,229,.12);
}

[data-theme="light"]{
  --pkg-heading:#16273a;
  --pkg-body:#30445a;
  --pkg-muted:#60758b;
  --pkg-visual-bg:#edf4fb;
  --pkg-content-bg:rgba(255,255,255,.86);
  --pkg-rule:rgba(27,66,106,.13);
}

/* Packages section must actually follow the selected theme. */
.packages-showcase{
  background:
    radial-gradient(circle at 50% 12%, color-mix(in srgb,var(--brand) 12%,transparent), transparent 34%),
    linear-gradient(180deg,var(--pkg-section-top,#050d19) 0%,var(--pkg-section-mid,#061321) 52%,var(--pkg-section-bottom,#040b15) 100%) !important;
}
[data-theme="relax"] .packages-showcase{
  --pkg-section-top:#050d19; --pkg-section-mid:#061321; --pkg-section-bottom:#040b15;
}
[data-theme="dark"] .packages-showcase{
  --pkg-section-top:#040810; --pkg-section-mid:#070f19; --pkg-section-bottom:#03070d;
}
[data-theme="light"] .packages-showcase{
  --pkg-section-top:#eef5fd; --pkg-section-mid:#e8f0f8; --pkg-section-bottom:#e1eaf4;
}

.cinematic-visual.no-package-image{
  background:
    radial-gradient(circle at 68% 30%, color-mix(in srgb,var(--brand) 13%,transparent), transparent 34%),
    linear-gradient(135deg,color-mix(in srgb,var(--pkg-visual-bg) 92%,transparent),color-mix(in srgb,var(--pkg-visual-bg) 76%,#0b1c30)) !important;
  border-color:var(--pkg-rule) !important;
}
[data-theme="dark"] .cinematic-visual.no-package-image{
  background:
    radial-gradient(circle at 68% 30%,rgba(76,132,230,.09),transparent 34%),
    linear-gradient(135deg,#050b13,#0a1420) !important;
}
[data-theme="light"] .cinematic-visual.no-package-image{
  background:
    radial-gradient(circle at 68% 30%,rgba(47,120,216,.13),transparent 34%),
    linear-gradient(135deg,#f5f9fd,#e7f0f8) !important;
}

.package-cinematic{
  color:var(--pkg-heading) !important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pkg-content-bg) 100%,transparent),color-mix(in srgb,var(--pkg-content-bg) 62%,transparent)) !important;
}
[data-theme="light"] .package-cinematic{
  box-shadow:0 18px 48px rgba(30,74,117,.10),inset 0 1px 0 rgba(255,255,255,.80) !important;
}
.package-content h3{color:var(--pkg-heading) !important;}
.package-content .descriptor{color:var(--pkg-muted) !important;}
.package-content li{color:var(--pkg-body) !important;}
.package-content .price strong{color:var(--pkg-heading) !important;}
.package-content .price span{color:var(--pkg-muted) !important;}
.package-highlights{border-top-color:var(--pkg-rule) !important;border-bottom-color:var(--pkg-rule) !important;}
.package-highlights span + span{border-inline-start-color:var(--pkg-rule) !important;}
.package-highlights small{color:var(--pkg-muted) !important;}
.package-rank-icon{
  background:color-mix(in srgb,var(--pkg-visual-bg) 66%,transparent) !important;
  border-color:var(--pkg-rule) !important;
}
[data-theme="light"] .package-rank-icon{box-shadow:0 8px 22px rgba(29,73,116,.12),inset 0 1px 0 rgba(255,255,255,.75) !important;}
.package-royal .package-content .price strong,
.package-advanced .package-content .price strong,
.package-basic .package-content .price strong,
.package-silver .package-content .price strong{color:var(--pkg-heading) !important;}
[data-theme="light"] .package-silver .package-cta{
  background:#ffffff !important;
  color:#16314b !important;
}
[data-theme="light"] .package-basic .package-cta,
[data-theme="light"] .package-advanced .package-cta{
  color:#fff !important;
}
[data-theme="light"] .package-badge.popular{
  color:#09223b !important;
  box-shadow:0 7px 20px rgba(38,129,225,.20) !important;
}
[data-theme="light"] .package-badge.signature{
  background:rgba(255,255,255,.72) !important;
}

/* Exact loader: one logo, one ring. The ring is the same diameter as the logo. */
.loader{
  background:var(--bg) !important;
}
.loader-inner{
  display:grid !important;
  place-items:center !important;
  width:auto !important;
  max-width:none !important;
  gap:0 !important;
  transform:none !important;
}
.home-loader-mark{
  position:relative !important;
  width:clamp(220px,34vw,340px) !important;
  height:clamp(220px,34vw,340px) !important;
  aspect-ratio:1/1 !important;
  display:grid !important;
  place-items:center !important;
  overflow:visible !important;
  filter:drop-shadow(0 20px 46px var(--glow)) !important;
}
.home-loader-mark img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  z-index:1 !important;
}
.home-loader-ring{
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  display:block !important;
  border-radius:50% !important;
  background:conic-gradient(from -90deg,transparent 0deg,transparent 210deg,var(--loader-accent) 280deg,#ffffff 300deg,var(--loader-accent) 320deg,transparent 360deg) !important;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px)) !important;
  mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px)) !important;
  animation:loaderRingSpin 1.15s linear infinite !important;
  filter:drop-shadow(0 0 10px color-mix(in srgb,var(--loader-accent) 70%,transparent)) !important;
  pointer-events:none !important;
}
.home-loader-ring::after{display:none !important;content:none !important;}
.home-loader-name,.home-loader-line{display:none !important;}
@keyframes loaderRingSpin{to{transform:rotate(360deg)}}
@media(max-width:680px){
  .home-loader-mark{width:min(74vw,290px) !important;height:min(74vw,290px) !important;}
}
@media(max-width:390px){
  .home-loader-mark{width:min(72vw,260px) !important;height:min(72vw,260px) !important;}
}
@media(prefers-reduced-motion:reduce){.home-loader-ring{animation:none !important;}}


/* V17.6 — premium logo-centered loader: one ring, one logo, zero extra UI. */
.ayan-premium-loader {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: grid !important;
  place-items: center !important;
  min-height: 100svh !important;
  height: 100dvh !important;
  padding: max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)) 16px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--brand) 12%, transparent), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--bg) 98%, #02060d), var(--bg)) !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .55s cubic-bezier(.22,.75,.25,1), visibility .55s linear !important;
}
.ayan-premium-loader.hide {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.ayan-premium-loader .loader-inner {
  width: min(88vw, 390px) !important;
  max-width: 390px !important;
  display: grid !important;
  place-items: center !important;
  gap: 0 !important;
}
.ayan-premium-loader .home-loader-mark {
  --loader-size: clamp(220px, 31vw, 320px);
  width: var(--loader-size) !important;
  height: var(--loader-size) !important;
  min-width: var(--loader-size) !important;
  min-height: var(--loader-size) !important;
  position: relative !important;
  display: block !important;
  isolation: isolate !important;
  overflow: visible !important;
  transform: none !important;
}
.ayan-premium-loader .home-loader-mark img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: 0 0 48px color-mix(in srgb, var(--brand) 18%, transparent) !important;
  transform: none !important;
  z-index: 2 !important;
}
/* A quiet track hugs the exact edge of the supplied circular logo. */
.ayan-premium-loader .home-loader-track {
  position: absolute !important;
  inset: -2px !important;
  border: 1px solid color-mix(in srgb, var(--brand) 28%, transparent) !important;
  border-radius: 50% !important;
  box-shadow:
    0 0 18px color-mix(in srgb, var(--brand) 16%, transparent),
    inset 0 0 16px color-mix(in srgb, var(--brand) 9%, transparent) !important;
  pointer-events: none !important;
  z-index: 3 !important;
}
/* The moving loading arc sits directly on the logo circumference. */
.ayan-premium-loader .home-loader-orbit {
  position: absolute !important;
  inset: -4px !important;
  border-radius: 50% !important;
  display: block !important;
  pointer-events: none !important;
  z-index: 4 !important;
  background:
    conic-gradient(
      from -18deg,
      transparent 0deg 248deg,
      color-mix(in srgb, var(--brand) 30%, transparent) 267deg,
      var(--brand) 285deg,
      #ffffff 300deg,
      var(--brand) 311deg,
      transparent 331deg 360deg
    ) !important;
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px)) !important;
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px)) !important;
  filter: drop-shadow(0 0 7px color-mix(in srgb, var(--brand) 62%, transparent)) !important;
  animation: ayanPremiumLoaderSpin 1.55s linear infinite !important;
  will-change: transform !important;
}
.ayan-premium-loader .home-loader-spark {
  position: absolute !important;
  top: -3px !important;
  left: 50% !important;
  width: 7px !important;
  height: 7px !important;
  margin-left: -3.5px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow:
    0 0 5px #ffffff,
    0 0 12px var(--brand),
    0 0 22px color-mix(in srgb, var(--brand) 86%, transparent) !important;
}
@keyframes ayanPremiumLoaderSpin {
  to { transform: rotate(360deg); }
}
@media (max-width: 680px) {
  .ayan-premium-loader .home-loader-mark {
    --loader-size: min(70vw, 265px);
  }
  .ayan-premium-loader .home-loader-orbit { inset: -3px !important; }
}
@media (max-width: 430px) {
  .ayan-premium-loader .home-loader-mark {
    --loader-size: min(68vw, 245px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .ayan-premium-loader .home-loader-orbit { animation: none !important; }
}


/* =========================================================
   AYAN V17.7 — clean logo loader + numeric progress
   - No white loader rim
   - Progress percentage starts at 01% and advances naturally
   - Thin line sits directly below the percentage
   ========================================================= */
.ayan-premium-loader .loader-inner {
  width: 100%;
  gap: 0;
  display: grid;
  place-items: center;
}
.ayan-premium-loader .home-loader-mark {
  width: 290px !important;
  height: 290px !important;
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  isolation: isolate;
  filter: drop-shadow(0 18px 42px rgba(38,125,228,.18));
}
.ayan-premium-loader .home-loader-mark img {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  animation: none !important;
  clip-path: none !important;
}
/* Blue-only loading ring: no white segment at any point. */
.ayan-premium-loader .home-loader-mark::before {
  content: '';
  position: absolute;
  z-index: 3;
  inset: 0 !important;
  border-radius: 50%;
  padding: 2px;
  background: conic-gradient(
    from -28deg,
    rgba(68,157,255,.08) 0deg 220deg,
    rgba(68,157,255,.18) 250deg,
    var(--brand-strong) 286deg,
    var(--brand) 314deg,
    rgba(68,157,255,.38) 332deg,
    rgba(68,157,255,.06) 345deg 360deg
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: ayanV17LoaderOrbit 1.7s linear infinite;
  filter: drop-shadow(0 0 8px rgba(66,156,255,.55));
  pointer-events: none;
}
.ayan-premium-loader .home-loader-mark::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 1.5% !important;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(53,133,255,.08) 0 42%, rgba(53,133,255,.03) 60%, transparent 74%);
  box-shadow: 0 0 34px rgba(53,133,255,.14), inset 0 0 20px rgba(53,133,255,.04);
  animation: ayanV17LoaderHalo 2.8s ease-in-out infinite;
  pointer-events: none;
}
.ayan-premium-loader .home-loader-progress {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: calc(100% + 24px);
  transform: translateX(-50%);
  width: 210px;
  display: grid;
  justify-items: center;
  gap: 8px;
}
.ayan-premium-loader .home-loader-percent {
  color: var(--text);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .18em;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 16px rgba(75,160,255,.22);
}
.ayan-premium-loader .home-loader-progress-line {
  width: 210px;
  height: 3px;
  position: relative;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(105,172,255,.10);
  box-shadow: inset 0 0 8px rgba(0,0,0,.14), 0 0 12px rgba(70,154,255,.07);
}
.ayan-premium-loader .home-loader-progress-bar {
  display: block;
  width: 1%;
  height: 100%;
  min-width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--brand-strong), var(--brand));
  box-shadow: 0 0 12px rgba(70,154,255,.42);
  transition: width .18s ease-out;
}
@keyframes ayanV17LoaderOrbit { to { transform: rotate(360deg); } }
@keyframes ayanV17LoaderHalo {
  0%,100% { opacity: .66; transform: scale(.988); }
  50% { opacity: 1; transform: scale(1.012); }
}
@media (max-width: 680px) {
  .ayan-premium-loader .home-loader-mark { width: 240px !important; height: 240px !important; }
  .ayan-premium-loader .home-loader-progress { width: 176px; top: calc(100% + 18px); }
  .ayan-premium-loader .home-loader-progress-line { width: 176px; }
  .ayan-premium-loader .home-loader-percent { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .ayan-premium-loader .home-loader-mark::before,
  .ayan-premium-loader .home-loader-mark::after { animation: none !important; }
  .ayan-premium-loader .home-loader-progress-bar { transition: none !important; }
}


/* Terms & rules */
.terms-consent {
  margin: 16px 0 4px;
  padding: 14px 16px;
  border: 1px solid rgba(118,178,255,.18);
  border-radius: 16px;
  background: rgba(255,255,255,.025);
}
.terms-consent-label {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.85;
  cursor: pointer;
}
.terms-consent-label input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.terms-consent-box {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  border: 1px solid rgba(118,178,255,.42);
  border-radius: 6px;
  background: rgba(255,255,255,.035);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  position: relative;
}
.terms-consent-label input:checked + .terms-consent-box::after {
  content: '✓';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  background: rgba(48,132,245,.72);
  border-radius: 5px;
}
.terms-consent-label input:focus-visible + .terms-consent-box {
  outline: 2px solid rgba(118,178,255,.55);
  outline-offset: 2px;
}
.terms-consent-label a { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
.terms-consent-label a:hover { opacity: .88; }

.terms-page .terms-hero { padding: 72px 0 26px; }
.terms-page .terms-wrap { max-width: 920px; margin: 0 auto; }
.terms-page .terms-card { padding: 30px; }
.terms-page .terms-card + .terms-card { margin-top: 18px; }
.terms-page .terms-card h2 { margin: 0 0 10px; font-size: 22px; letter-spacing: -.03em; }
.terms-page .terms-card p,
.terms-page .terms-card li { color: var(--muted); font-size: 13px; line-height: 2; }
.terms-page .terms-card ul { margin: 0; padding-inline-start: 22px; display: grid; gap: 7px; }
.terms-page .terms-notice { border-color: rgba(118,178,255,.28); background: linear-gradient(135deg, rgba(54,136,245,.10), rgba(255,255,255,.02)); }
@media (max-width: 700px) {
  .terms-page .terms-card { padding: 20px; }
  .terms-page .terms-hero { padding-top: 48px; }
}


/* Performance tuning v60: keep scrolling and navigation responsive without changing the visual design. */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Package refresh: clear identity symbols, theme-aware glow, and 20 SAR sale pricing. */
.package-mark,.package-symbol{display:inline-flex;align-items:center;justify-content:center;font-weight:950;line-height:1;letter-spacing:0;}
.package-mark{margin-inline-end:7px;font-size:.82em;}
.package-symbol{font-size:34px;width:100%;height:100%;text-shadow:0 0 18px currentColor,0 0 36px color-mix(in srgb,currentColor 38%,transparent);}
.package-cinematic.package-silver{box-shadow:0 24px 65px rgba(0,0,0,.28),0 0 30px color-mix(in srgb,var(--pkg-silver) 12%,transparent),inset 0 1px 0 rgba(255,255,255,.045);}
.package-cinematic.package-basic{box-shadow:0 24px 65px rgba(0,0,0,.28),0 0 30px color-mix(in srgb,var(--pkg-basic) 14%,transparent),inset 0 1px 0 rgba(255,255,255,.045);}
.package-cinematic.package-advanced{box-shadow:0 24px 65px rgba(0,0,0,.28),0 0 34px color-mix(in srgb,var(--pkg-advanced) 16%,transparent),inset 0 1px 0 rgba(255,255,255,.045);}
.package-cinematic.package-royal{box-shadow:0 24px 65px rgba(0,0,0,.28),0 0 34px color-mix(in srgb,var(--pkg-cinematic) 16%,transparent),inset 0 1px 0 rgba(255,255,255,.045);}
.package-cinematic:hover.package-silver{box-shadow:0 30px 80px rgba(0,0,0,.4),0 0 48px color-mix(in srgb,var(--pkg-silver) 20%,transparent);}
.package-cinematic:hover.package-basic{box-shadow:0 30px 80px rgba(0,0,0,.4),0 0 48px color-mix(in srgb,var(--pkg-basic) 22%,transparent);}
.package-cinematic:hover.package-advanced{box-shadow:0 30px 80px rgba(0,0,0,.4),0 0 50px color-mix(in srgb,var(--pkg-advanced) 24%,transparent);}
.package-cinematic:hover.package-royal{box-shadow:0 30px 80px rgba(0,0,0,.4),0 0 50px color-mix(in srgb,var(--pkg-cinematic) 24%,transparent);}
.package-cinematic .package-en-label{display:inline-flex;align-items:center;}
.package-silver .package-rank-icon{color:var(--pkg-silver)!important;}
.package-basic .package-rank-icon{color:var(--pkg-basic)!important;}
.package-advanced .package-rank-icon{color:var(--pkg-advanced)!important;}
.package-royal .package-rank-icon{color:var(--pkg-cinematic)!important;}
.package-rank-icon{display:flex!important;align-items:center;justify-content:center;border-radius:18px;box-shadow:0 0 26px color-mix(in srgb,currentColor 22%,transparent)!important;}
.package-content .price{flex-wrap:wrap;row-gap:7px!important;align-items:center!important;}
.package-content .price del{font-size:13px;font-weight:800;color:var(--pkg-muted)!important;opacity:.72;text-decoration-thickness:2px;text-decoration-color:currentColor;}
.package-content .price em{font-size:9px;font-style:normal;font-weight:900;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--brand) 10%,transparent);border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);color:var(--brand);white-space:nowrap;}
.booking-package-price{display:grid!important;justify-items:end;align-content:center;gap:2px;}
.booking-package-price b{line-height:1!important;}
.booking-package-price del{font-size:8px;color:var(--muted);opacity:.7;text-decoration-thickness:1.5px;}
.booking-package-price em{font-size:7px;font-style:normal;font-weight:900;color:var(--brand);white-space:nowrap;}
.package-discount-note{margin-top:7px;color:var(--brand);font-size:9px;font-weight:900;}
.checkout-old{text-decoration:line-through;text-decoration-thickness:2px;opacity:.62;}
.checkout-discount{color:#20e9a1!important;}


/* Package Accent System v61: one signature color per package, consistent across themes. */
.package-cinematic.package-silver{
  --package-accent:var(--pkg-silver);
  --package-glow:rgba(219,233,248,.22);
}
.package-cinematic.package-basic{
  --package-accent:var(--pkg-basic);
  --package-glow:rgba(105,183,255,.24);
}
.package-cinematic.package-advanced{
  --package-accent:var(--pkg-advanced);
  --package-glow:rgba(177,140,255,.24);
}
.package-cinematic.package-royal{
  --package-accent:var(--pkg-cinematic);
  --package-glow:rgba(242,199,92,.24);
}

.package-cinematic .package-rank-icon{
  color:var(--package-accent) !important;
  border-color:color-mix(in srgb,var(--package-accent) 48%,transparent) !important;
  background:
    radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--package-accent) 15%,transparent),transparent 62%),
    var(--pkg-icon-bg) !important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--package-accent) 10%,transparent),
             0 0 28px color-mix(in srgb,var(--package-accent) 24%,transparent),
             inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.package-cinematic .package-symbol{
  color:var(--package-accent) !important;
  text-shadow:0 0 10px color-mix(in srgb,var(--package-accent) 78%,transparent),
              0 0 24px color-mix(in srgb,var(--package-accent) 42%,transparent) !important;
}
.package-cinematic .package-en-label{
  color:var(--package-accent) !important;
  text-shadow:0 0 22px color-mix(in srgb,var(--package-accent) 18%,transparent);
}
.package-cinematic .package-highlights b,
.package-cinematic .package-content li::before{
  color:var(--package-accent) !important;
}
.package-cinematic .package-content li::before{
  background:var(--package-accent) !important;
  box-shadow:0 0 13px color-mix(in srgb,var(--package-accent) 55%,transparent) !important;
}
.package-cinematic .package-badge.popular,
.package-cinematic .package-badge.signature{
  color:var(--package-accent) !important;
  border-color:color-mix(in srgb,var(--package-accent) 48%,transparent) !important;
  background:color-mix(in srgb,var(--package-accent) 13%,transparent) !important;
  box-shadow:0 0 18px color-mix(in srgb,var(--package-accent) 18%,transparent) !important;
}
.package-cinematic .package-content .price em{
  color:var(--package-accent) !important;
  border-color:color-mix(in srgb,var(--package-accent) 35%,transparent) !important;
  background:color-mix(in srgb,var(--package-accent) 10%,transparent) !important;
}
.package-cinematic .package-content .price strong{
  text-shadow:0 0 22px color-mix(in srgb,var(--package-accent) 18%,transparent);
}

/* Matching CTA colors: each package carries its own visual identity. */
.package-silver .package-cta{
  color:var(--text) !important;
  border-color:color-mix(in srgb,var(--pkg-silver) 45%,transparent) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02)) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.18),0 0 22px color-mix(in srgb,var(--pkg-silver) 10%,transparent) !important;
}
.package-basic .package-cta{
  color:#071321 !important;
  background:linear-gradient(90deg,var(--pkg-basic),color-mix(in srgb,var(--pkg-basic) 72%,#fff)) !important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--pkg-basic) 17%,transparent) !important;
}
.package-advanced .package-cta{
  color:#100b1c !important;
  background:linear-gradient(90deg,var(--pkg-advanced),color-mix(in srgb,var(--pkg-advanced) 72%,#fff)) !important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--pkg-advanced) 18%,transparent) !important;
}
.package-royal .package-cta{
  color:#17120a !important;
  background:linear-gradient(90deg,var(--pkg-cinematic),color-mix(in srgb,var(--pkg-cinematic) 74%,#fff)) !important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--pkg-cinematic) 18%,transparent) !important;
}

/* Accent-responsive outer glow, kept subtle so the blue site remains dominant. */
.package-cinematic.package-silver{box-shadow:0 24px 65px rgba(0,0,0,.28),0 0 34px color-mix(in srgb,var(--pkg-silver) 14%,transparent),inset 0 1px 0 rgba(255,255,255,.05) !important;}
.package-cinematic.package-basic{box-shadow:0 24px 65px rgba(0,0,0,.28),0 0 34px color-mix(in srgb,var(--pkg-basic) 15%,transparent),inset 0 1px 0 rgba(255,255,255,.05) !important;}
.package-cinematic.package-advanced{box-shadow:0 24px 65px rgba(0,0,0,.28),0 0 38px color-mix(in srgb,var(--pkg-advanced) 17%,transparent),inset 0 1px 0 rgba(255,255,255,.05) !important;}
.package-cinematic.package-royal{box-shadow:0 24px 65px rgba(0,0,0,.28),0 0 40px color-mix(in srgb,var(--pkg-cinematic) 18%,transparent),inset 0 1px 0 rgba(255,255,255,.05) !important;}
.package-cinematic:hover.package-silver{box-shadow:0 30px 80px rgba(0,0,0,.40),0 0 52px color-mix(in srgb,var(--pkg-silver) 24%,transparent) !important;}
.package-cinematic:hover.package-basic{box-shadow:0 30px 80px rgba(0,0,0,.40),0 0 52px color-mix(in srgb,var(--pkg-basic) 25%,transparent) !important;}
.package-cinematic:hover.package-advanced{box-shadow:0 30px 80px rgba(0,0,0,.40),0 0 58px color-mix(in srgb,var(--pkg-advanced) 28%,transparent) !important;}
.package-cinematic:hover.package-royal{box-shadow:0 30px 80px rgba(0,0,0,.40),0 0 60px color-mix(in srgb,var(--pkg-cinematic) 28%,transparent) !important;}

/* Mobile/booking package choices inherit the same accent identity. */
.booking-package-icon.rank-silver{color:var(--pkg-silver) !important;}
.booking-package-icon.rank-bronze{color:var(--pkg-basic) !important;}
.booking-package-icon.rank-advanced{color:var(--pkg-advanced) !important;}
.booking-package-icon.rank-cinematic{color:var(--pkg-cinematic) !important;}

/* Ayan Developer /info page */
.info-page { --mx: 0; --my: 0; }
.info-hero { position: relative; min-height: min(860px, calc(100vh - var(--header-height))); display: grid; align-items: center; overflow: hidden; border-bottom: 1px solid var(--border); background: radial-gradient(circle at 78% 45%, rgba(118,183,255,.12), transparent 27%), radial-gradient(circle at 20% 20%, rgba(79,225,218,.07), transparent 24%), linear-gradient(180deg, rgba(6,17,31,.65), transparent 75%); }
.info-grid-pattern { position:absolute; inset:0; opacity:.34; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(to bottom,black,transparent 90%); transform:translate(calc(var(--mx) * -8px),calc(var(--my) * -8px)); transition:transform .25s ease-out; }
.info-orb { position:absolute; border-radius:50%; pointer-events:none; filter:blur(10px); opacity:.75; }
.info-orb-a { width:420px;height:420px;right:-120px;top:15%;background:radial-gradient(circle,rgba(53,139,245,.35),transparent 68%); animation:infoFloat 10s ease-in-out infinite; }
.info-orb-b { width:330px;height:330px;left:-120px;bottom:-100px;background:radial-gradient(circle,rgba(83,239,218,.18),transparent 68%); animation:infoFloat 13s ease-in-out infinite reverse; }
.info-hero-inner { position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; padding:92px 0 104px; }
.info-hero-copy { max-width:720px; }
.info-hero h1 { margin-top:18px; max-width:780px; font-size:clamp(52px,7.5vw,112px); line-height:.96; letter-spacing:-.065em; }
.info-hero h1 span { display:block; color:var(--brand); text-shadow:0 0 36px var(--glow); }
.info-hero p { max-width:650px; margin-top:24px; color:var(--muted); font-size:clamp(14px,1.4vw,18px); line-height:2; }
.info-proof-row { display:flex; gap:16px; flex-wrap:wrap; margin-top:40px; }
.info-proof-row div { min-width:120px; padding:13px 16px; border:1px solid var(--border); border-radius:16px; background:rgba(8,20,34,.58); box-shadow:var(--shadow); }
.info-proof-row strong { display:block; font-size:21px; letter-spacing:-.03em; }
.info-proof-row span { color:var(--muted); font-size:10px; }
.info-code-card { position:relative; padding:0; overflow:hidden; border:1px solid rgba(118,183,255,.22); border-radius:28px; background:linear-gradient(180deg,rgba(10,23,40,.88),rgba(5,15,27,.94)); box-shadow:0 40px 110px rgba(0,0,0,.4),0 0 90px rgba(54,136,245,.11); transform:translate(calc(var(--mx) * 8px),calc(var(--my) * 8px)) rotate(calc(var(--mx) * .7deg)); transition:transform .25s ease-out; }
.info-code-card::before { content:'';position:absolute;inset:-1px;background:linear-gradient(110deg,transparent 10%,rgba(118,183,255,.16) 50%,transparent 88%);transform:translateX(-120%);animation:infoScan 5.5s ease-in-out infinite;pointer-events:none; }
.info-windowbar { height:52px; display:flex; align-items:center; gap:8px; padding:0 18px; border-bottom:1px solid var(--border); color:var(--muted); font:700 10px/1 Inter,sans-serif; letter-spacing:.08em; }
.info-windowbar i { width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.25); }
.info-windowbar span { margin-inline-start:auto; opacity:.75; }
.info-code-card pre { position:relative; padding:34px 30px 24px; margin:0; overflow:auto; color:#dceaff; font:600 clamp(11px,1.25vw,15px)/2.05 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; text-align:left; direction:ltr; }
.code-key{color:#65d7ff}.code-name{color:#d9c8ff}.code-string{color:#73efce}
.info-code-status { display:flex; align-items:center; gap:9px; padding:14px 18px; border-top:1px solid var(--border); color:var(--muted); font:800 9px/1 Inter,sans-serif; letter-spacing:.12em; }
.info-code-status span { width:7px;height:7px;border-radius:50%;background:#62f0be;box-shadow:0 0 14px #62f0be;animation:infoPulse 1.8s ease-in-out infinite; }
.info-code-status b { margin-inline-start:auto;color:#62f0be; }
.info-about-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:30px; }
.info-pillar { position:relative; min-height:240px; padding:28px; overflow:hidden; }
.info-pillar::after { content:'';position:absolute;width:180px;height:180px;inset-inline-end:-70px;bottom:-90px;border-radius:50%;background:var(--glow);filter:blur(28px); }
.info-number { display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:12px;color:var(--brand);font:800 11px/1 Inter,sans-serif; }
.info-pillar h3 { margin-top:32px; font-size:24px; }
.info-pillar p { margin-top:10px;color:var(--muted);font-size:12px;line-height:1.95; }
.info-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:28px; }
.info-project-card { position:relative; min-height:430px; padding:24px; overflow:hidden; border:1px solid var(--border); border-radius:28px; background:linear-gradient(145deg,rgba(18,36,58,.78),rgba(7,18,30,.94)); box-shadow:0 20px 70px rgba(0,0,0,.22); transition:transform .45s var(--ease),border-color .35s ease,box-shadow .45s ease; }
.info-project-card::before { content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(118,183,255,.13),transparent 35%);pointer-events:none; }
.info-project-card::after { content:'↗';position:absolute;inset-inline-end:24px;bottom:20px;color:var(--brand);font-size:34px;opacity:.45;transition:transform .35s ease,opacity .35s ease; }
.info-project-card:hover { transform:translateY(-7px); border-color:rgba(118,183,255,.4); box-shadow:0 32px 90px rgba(0,0,0,.3),0 0 50px rgba(118,183,255,.08); }
.info-project-card:hover::after { transform:translate(4px,-4px);opacity:1; }
.project-topline { position:relative;z-index:1;display:flex;justify-content:space-between;color:var(--muted);font:800 9px/1 Inter,sans-serif;letter-spacing:.12em; }
.project-logo { position:relative;z-index:1;display:grid;place-items:center;width:132px;height:132px;margin:50px 0 34px;border:1px solid var(--border);border-radius:30px;background:rgba(7,16,27,.6);font:900 26px/1 Inter,sans-serif;letter-spacing:-.06em;box-shadow:inset 0 0 40px rgba(255,255,255,.025); }
.project-logo-ayan { color:#f3f8ff;text-shadow:0 0 30px rgba(118,183,255,.3); }
.project-logo-5lo { color:#d6d7d4; font-size:40px; letter-spacing:-.08em; }
.info-project-main { position:relative;z-index:1;max-width:620px; }
.info-project-main h3 { font-size:30px;letter-spacing:-.04em; }
.info-project-main p { margin-top:9px;color:var(--muted);line-height:1.9;font-size:12px; }
.project-tags { position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:7px;margin-top:20px; }
.project-tags span,.stack-cloud span { padding:8px 11px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.025);color:var(--muted);font:800 9px/1 Inter,sans-serif;letter-spacing:.04em; }
.project-visit { position:absolute;inset-inline-start:24px;bottom:20px;color:var(--text);font-size:10px;font-weight:800; }
.info-stack-panel { display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:center;padding:34px;border:1px solid var(--border);border-radius:28px;background:linear-gradient(145deg,rgba(118,183,255,.08),rgba(255,255,255,.02)); }
.info-stack-copy h2 { margin-top:6px; font-size:clamp(28px,3.5vw,44px);letter-spacing:-.045em; }
.info-stack-copy p { margin-top:10px;color:var(--muted);font-size:12px;line-height:1.9;max-width:520px; }
.stack-cloud { display:flex;justify-content:center;align-content:center;gap:10px;flex-wrap:wrap;padding:12px; }
.stack-cloud span { padding:13px 15px; font-size:10px; color:var(--text); background:rgba(6,16,28,.38); transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease; }
.stack-cloud span:hover { transform:translateY(-4px) rotate(-1deg);border-color:rgba(118,183,255,.35);box-shadow:0 12px 34px rgba(54,136,245,.12); }
.info-cta-banner { background:linear-gradient(135deg,rgba(54,136,245,.16),rgba(80,230,202,.06),rgba(255,255,255,.025)); }
.info-footer-credit { justify-content:space-between; }
.info-footer-credit a { color:var(--muted); }
.info-footer-credit a:hover { color:var(--brand); }
.info-footer-credit strong { color:var(--text); }
@keyframes infoFloat {0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(0,-18px,0) scale(1.04)}}
@keyframes infoScan {0%,18%{transform:translateX(-120%)}45%,70%{transform:translateX(120%)}100%{transform:translateX(120%)}}
@keyframes infoPulse {0%,100%{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.18)}}
@media (max-width: 900px){
  .info-hero-inner{grid-template-columns:1fr;gap:38px;padding:64px 0 78px}.info-hero-copy{order:1}.info-code-card{order:2;max-width:760px;width:100%;margin:auto}.info-hero h1{font-size:clamp(46px,12vw,78px)}.info-about-grid{grid-template-columns:1fr}.info-project-grid{grid-template-columns:1fr}.info-stack-panel{grid-template-columns:1fr}.info-cta-banner{align-items:flex-start;flex-direction:column}.info-footer-credit{flex-direction:column;align-items:flex-start}.info-proof-row{margin-top:28px}
}
@media (max-width: 560px){
  .info-hero-inner{padding-inline:14px}.info-hero p{font-size:13px}.info-code-card pre{padding:24px 17px;font-size:11px}.info-project-card{min-height:400px;padding:20px}.project-logo{width:108px;height:108px;margin-top:42px}.info-project-main h3{font-size:25px}.info-stack-panel{padding:24px}.stack-cloud{justify-content:flex-start;padding:0}.info-proof-row{gap:8px}.info-proof-row div{min-width:calc(33.333% - 6px);padding:12px 10px}.info-proof-row strong{font-size:18px}
}
@media (prefers-reduced-motion: reduce){.info-grid-pattern,.info-code-card,.info-orb-a,.info-orb-b,.info-code-card::before,.info-code-status span{animation:none!important;transition:none!important;transform:none!important}}

.footer-developer-credit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:8px 13px;
  border:1px solid rgba(118,183,255,.20);
  border-radius:999px;
  background:
    radial-gradient(circle at 16% 50%, rgba(118,183,255,.14), transparent 34%),
    linear-gradient(135deg, rgba(118,183,255,.09), rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 10px 28px rgba(3,12,24,.18);
  color:var(--muted);
  text-decoration:none;
  white-space:nowrap;
  transition:transform .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease;
}
.footer-developer-credit:hover{
  transform:translateY(-2px);
  color:var(--text);
  border-color:rgba(118,183,255,.48);
  box-shadow:0 14px 34px rgba(54,136,245,.14), inset 0 1px 0 rgba(255,255,255,.06);
}
.footer-developer-credit strong{color:var(--text);font-weight:900;letter-spacing:-.02em}
.footer-credit-code{
  width:24px;height:24px;
  display:inline-grid;place-items:center;
  border-radius:8px;
  border:1px solid rgba(118,183,255,.24);
  background:rgba(118,183,255,.10);
  color:var(--brand);
  font:900 10px/1 Inter,sans-serif;
}
.footer-credit-arrow{color:var(--brand);font-size:14px;line-height:1}
@media (max-width:560px){
  .footer-developer-credit{width:100%;justify-content:flex-start;white-space:normal;border-radius:15px;padding:10px 12px}
}

/* E-commerce authentication footer badge */
.ecommerce-verification {
  display: flex;
  align-items: center;
  gap: 13px;
  flex-wrap: wrap;
  margin-top: 26px;
  padding: 15px 17px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface, var(--bg)) 78%, transparent);
}
.verification-mark {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  border-radius: 12px;
  color: #287c65;
  background: rgba(40, 124, 101, .10);
}
.verification-mark svg { width: 25px; height: 25px; }
.verification-copy { display: grid; gap: 4px; min-width: 170px; }
.verification-copy strong { color: var(--text); font-size: 12px; font-weight: 750; }
.verification-copy span { color: var(--muted); font-size: 10px; direction: rtl; }
.verification-link { margin-inline-start: auto; color: var(--brand); font-size: 11px; font-weight: 700; text-decoration: none; }
.verification-link:hover { text-decoration: underline; }
@media (max-width: 600px) {
  .ecommerce-verification { gap: 10px; padding: 13px; }
  .verification-copy { min-width: 0; flex: 1; }
  .verification-link { width: 100%; margin-inline-start: 0; padding-top: 9px; border-top: 1px solid var(--border); }
}
