/* =====================================================================
   BUSINESS HUB BY USSUS — style.css
   Architecture:
   01 Tokens  02 Base  03 Typography  04 Layout  05 Buttons & links
   06 Frame system  07 Reveal states  08 Loader  09 Navigation
   10 Hero  11 Sections (in page order)  12 Overlays (lightbox, cursor,
   mobile CTA)  13 Responsive  14 Reduced motion  15 RTL / language
   ===================================================================== */

/* ------------------------------------------------------------ 01 Tokens */
:root {
  /* Brand (from the gold-gradient logo) */
  --gold: #D9A02D;
  --gold-light: #FACB39;
  --gold-deep: #8A6114;
  --champagne: #C9A96A;
  --gradient-gold: linear-gradient(90deg, #AE6B23 0%, #D9A02D 45%, #FACB39 70%, #D4982B 100%);

  /* Neutrals */
  --navy: #07131F;
  --midnight: #0B1C2B;
  --slate: #12283A;
  --ivory: #F5F2EB;
  --ivory-2: #EFEBE2;
  --stone: #D8D6CF;
  --ink: #0B1620;
  --muted: #5B646C;
  --muted-dark: #9AA6B0;
  --error: #A32D22;
  --success: #2F6B4F;

  /* Semantic (light context by default; dark sections override) */
  --color-bg: var(--ivory);
  --color-surface: var(--ivory-2);
  --color-text: var(--ink);
  --color-muted: var(--muted);
  --color-accent: var(--gold-deep);
  --color-accent-line: var(--gold);
  --color-border: var(--stone);
  --color-border-soft: rgba(11, 22, 32, 0.1);

  /* Type */
  --font-latin: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-ar: 'IBM Plex Sans Arabic', 'Noto Sans Arabic', 'Manrope', system-ui, sans-serif;
  --font-ku: 'Noto Sans Arabic', 'IBM Plex Sans Arabic', system-ui, sans-serif;
  --font-zh: 'Manrope', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans SC', system-ui, sans-serif;
  --font-body: var(--font-latin);

  --fs-display-xl: clamp(3rem, 8.4vw, 8.6rem);
  --fs-display: clamp(2.5rem, 5.6vw, 5.8rem);
  --fs-display-md: clamp(2rem, 4vw, 4rem);
  --fs-h3: clamp(1.35rem, 2vw, 1.9rem);
  --fs-lead: clamp(1.1rem, 1.35vw, 1.3rem);
  --fs-body: 1.0625rem;
  --fs-small: 0.9rem;
  --fs-label: 0.6875rem;
  --lh-display: 0.96;
  --lh-body: 1.7;
  --ls-label: 0.18em;
  --ls-display: -0.015em;

  /* Space */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 8rem;
  --space-section: clamp(6rem, 12vw, 11rem);
  --gutter: clamp(1.25rem, 4vw, 4rem);
  --container: 1440px;
  --nav-h: 84px;

  /* Shape */
  --radius-0: 0;
  --radius-xs: 2px;
  --radius-sm: 4px;

  /* Motion */
  --duration-fast: 0.3s;
  --duration-medium: 0.7s;
  --duration-slow: 1.2s;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-inout: cubic-bezier(0.77, 0, 0.18, 1);

  /* Z */
  --z-nav: 100;
  --z-menu: 110;
  --z-cta: 90;
  --z-lightbox: 200;
  --z-loader: 300;
  --z-cursor: 400;

  color-scheme: light;
}

.section--dark,
.section--navy,
.footer,
.menu,
.lightbox {
  --color-bg: var(--midnight);
  --color-surface: var(--slate);
  --color-text: var(--ivory);
  --color-muted: var(--muted-dark);
  --color-accent: var(--gold);
  --color-accent-line: var(--gold);
  --color-border: rgba(245, 242, 235, 0.16);
  --color-border-soft: rgba(245, 242, 235, 0.08);
}
.section--navy, .footer, .menu { --color-bg: var(--navy); }
.section--ivory2 { --color-bg: var(--ivory-2); --color-surface: var(--ivory); }

/* ------------------------------------------------------------ 02 Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto; }
.lenis.lenis-stopped { overflow: hidden; }
body {
  margin: 0;
  background: var(--navy);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-feature-settings: 'kern' 1, 'liga' 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
html.is-loading body { overflow: hidden; }
html.menu-open { overflow: hidden; }
img, picture, svg, video { display: block; max-width: 100%; }
img { height: auto; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }
p, h1, h2, h3, h4, figure, dl, dd, address { margin: 0; }
address { font-style: normal; }
h1, h2, h3, h4 { font-weight: 500; }
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
::selection { background: var(--gold); color: var(--navy); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ltr { direction: ltr; unicode-bidi: isolate; display: inline-block; }
[hidden] { display: none !important; }

.skip-link {
  position: fixed; inset-block-start: 8px; inset-inline-start: 8px; z-index: 1000;
  padding: .6rem 1rem; background: var(--gold); color: var(--navy);
  font-size: .85rem; font-weight: 600; transform: translateY(-200%);
  transition: transform var(--duration-fast);
}
.skip-link:focus { transform: none; }

/* ------------------------------------------------------------ 03 Typography */
.display {
  font-size: var(--fs-display);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-display);
  font-weight: 500;
  text-transform: uppercase;
  text-wrap: balance;
  color: var(--color-text);
}
.display--xl { font-size: var(--fs-display-xl); font-weight: 400; letter-spacing: -0.025em; line-height: 0.92; }
.display--md { font-size: var(--fs-display-md); }
.lead { font-size: var(--fs-lead); line-height: 1.6; color: var(--color-text); }
.label {
  display: flex; align-items: center; gap: .75rem;
  font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase;
  color: var(--color-accent); font-weight: 600; margin-block-end: clamp(1.5rem, 3vw, 2.5rem);
  font-variant-numeric: tabular-nums;
}
.label__line { display: inline-block; inline-size: 28px; block-size: 1px; background: currentColor; opacity: .9; flex: none; }
.label--center { justify-content: center; }
.count { font-variant-numeric: tabular-nums; }

/* masked line reveals */
.reveal-lines .line { display: block; overflow: hidden; padding-block: 0.06em; margin-block: -0.06em; }
.reveal-lines .line__inner { display: inline-block; will-change: transform; }
.js:not(.reduced-motion) .reveal-lines:not(.is-revealed) .line__inner { transform: translateY(112%); }
.js:not(.reduced-motion) .reveal-para:not(.is-revealed) { opacity: 0; transform: translateY(18px); }

/* ------------------------------------------------------------ 04 Layout */
.container { inline-size: min(100% - 2 * var(--gutter), var(--container)); margin-inline: auto; }
.section { position: relative; padding-block: var(--space-section); background: var(--color-bg); color: var(--color-text); }
.section--light { background: var(--ivory); }
.section--ivory2 { background: var(--ivory-2); }
.section--dark { background: var(--midnight); }
.section--navy { background: var(--navy); }
main section[id], footer[id] { scroll-margin-block-start: var(--nav-h); }
.section__head { max-inline-size: 60rem; margin-block-end: clamp(3rem, 7vw, 6rem); }
.section__head--wide { max-inline-size: 76rem; }
.section__head--center { margin-inline: auto; text-align: center; }
.section__head--row { max-inline-size: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.section__intro { max-inline-size: 42rem; margin-block-start: clamp(1.25rem, 2.5vw, 2rem); color: var(--color-muted); font-size: var(--fs-lead); line-height: 1.6; }
.split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2.5rem, 6vw, 7rem); align-items: center; }
.split--reverse .split__media { order: 2; }
.split__body > * + * { margin-block-start: clamp(1.25rem, 2.2vw, 1.75rem); }
.split__body .display { margin-block-end: .5rem; }
.split__media { position: relative; }
.split__media--tall img { aspect-ratio: 4 / 5; object-fit: cover; }

/* lists */
.list-lines { border-block-start: 1px solid var(--color-border); }
.list-lines li { display: flex; gap: 1.25rem; align-items: baseline; padding-block: .9rem; border-block-end: 1px solid var(--color-border); font-size: 1rem; }
.list-lines__n { font-size: var(--fs-label); letter-spacing: .12em; color: var(--color-accent); font-variant-numeric: tabular-nums; flex: none; min-inline-size: 2ch; }
.list-lines--2col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
.list-check li { display: flex; gap: .75rem; align-items: flex-start; padding-block: .5rem; }
.list-check .icon { inline-size: 18px; block-size: 18px; color: var(--color-accent); flex: none; margin-block-start: .35rem; }

.icon { inline-size: 20px; block-size: 20px; fill: none; stroke: currentColor; flex: none; }
.icon--xs { inline-size: 14px; block-size: 14px; }
[dir="rtl"] .icon-arrow { transform: scaleX(-1); }
[dir="rtl"] .icon-arrow use { transform-box: fill-box; }

/* ------------------------------------------------------------ 05 Buttons & links */
.btn {
  --btn-bg: var(--gold); --btn-fg: var(--navy); --btn-bd: var(--gold);
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; gap: .9rem;
  min-block-size: 54px; padding: 0 1.6rem;
  border: 1px solid var(--btn-bd); border-radius: var(--radius-0);
  background: var(--btn-bg); color: var(--btn-fg);
  font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap;
  transition: color var(--duration-fast), border-color var(--duration-fast), background-color var(--duration-fast);
}
.btn::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: var(--btn-sweep, var(--ivory)); transform: scaleX(0); transform-origin: 100% 50%;
  transition: transform .55s var(--ease-inout);
}
[dir="rtl"] .btn::before { transform-origin: 0 50%; }
.btn:hover::before, .btn:focus-visible::before { transform: scaleX(1); transform-origin: 0 50%; }
[dir="rtl"] .btn:hover::before, [dir="rtl"] .btn:focus-visible::before { transform-origin: 100% 50%; }
.btn__label { display: inline-block; transition: transform var(--duration-fast) var(--ease-out); }
.btn .icon { transition: transform var(--duration-fast) var(--ease-out); }
.btn:hover .btn__label { transform: translateX(2px); }
.btn:hover .icon-arrow { transform: translateX(5px); }
[dir="rtl"] .btn:hover .btn__label { transform: translateX(-2px); }
[dir="rtl"] .btn:hover .icon-arrow { transform: translateX(-5px) scaleX(-1); }
.btn--gold { --btn-sweep: var(--ivory); }
.btn--gold:hover { color: var(--navy); }
.btn--ghost { --btn-bg: transparent; --btn-fg: var(--color-text); --btn-bd: var(--color-text); --btn-sweep: var(--color-text); }
.btn--ghost:hover { color: var(--color-bg); }
.btn--ghost.btn--light { --btn-fg: var(--ivory); --btn-bd: rgba(245,242,235,.6); --btn-sweep: var(--ivory); }
.btn--ghost.btn--light:hover { color: var(--navy); border-color: var(--ivory); }
.btn--ink { --btn-bg: var(--ink); --btn-fg: var(--ivory); --btn-bd: var(--ink); --btn-sweep: var(--gold); }
.btn--ink:hover { color: var(--navy); }
.btn--sm { min-block-size: 44px; padding: 0 1.15rem; font-size: .7rem; }
.btn--lg { min-block-size: 62px; padding: 0 2.2rem; }

.link-arrow {
  display: inline-flex; align-items: center; gap: .6rem;
  font-size: .78rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--color-text);
  padding-block-end: .35rem; position: relative;
}
.link-arrow::after { content: ''; position: absolute; inset-inline: 0; inset-block-end: 0; block-size: 1px; background: var(--color-accent); transform: scaleX(.35); transform-origin: 0 50%; transition: transform .5s var(--ease-out); }
[dir="rtl"] .link-arrow::after { transform-origin: 100% 50%; }
.link-arrow:hover::after { transform: scaleX(1); }
.link-arrow .icon { transition: transform var(--duration-fast) var(--ease-out); }
.link-arrow:hover .icon-arrow { transform: translateX(4px); }
[dir="rtl"] .link-arrow:hover .icon-arrow { transform: translateX(-4px) scaleX(-1); }

/* ------------------------------------------------------------ 06 Frame system */
.frame { position: relative; }
.frame__line { position: absolute; background: var(--color-accent-line); pointer-events: none; }
.frame__line--top { inset-block-start: 0; inset-inline: 0; block-size: 1px; transform-origin: 0 50%; }
.frame__line--bottom { inset-block-end: 0; inset-inline: 0; block-size: 1px; transform-origin: 100% 50%; }
.frame__line--start { inset-inline-start: 0; inset-block: 0; inline-size: 1px; transform-origin: 50% 100%; }
.frame__line--end { inset-inline-end: 0; inset-block: 0; inline-size: 1px; transform-origin: 50% 0; }
[dir="rtl"] .frame__line--top { transform-origin: 100% 50%; }
[dir="rtl"] .frame__line--bottom { transform-origin: 0 50%; }
.js:not(.reduced-motion) [data-frame]:not(.is-drawn) .frame__line--top,
.js:not(.reduced-motion) [data-frame]:not(.is-drawn) .frame__line--bottom { transform: scaleX(0); }
.js:not(.reduced-motion) [data-frame]:not(.is-drawn) .frame__line--start,
.js:not(.reduced-motion) [data-frame]:not(.is-drawn) .frame__line--end { transform: scaleY(0); }
.frame__mark { position: absolute; inline-size: 14px; block-size: 14px; pointer-events: none; }
.frame__mark::before, .frame__mark::after { content: ''; position: absolute; background: var(--color-accent-line); }
.frame__mark::before { inline-size: 100%; block-size: 1px; }
.frame__mark::after { block-size: 100%; inline-size: 1px; }
.frame__mark--tl { inset-block-start: -7px; inset-inline-start: -7px; }
.frame__mark--tr { inset-block-start: -7px; inset-inline-end: -7px; }
.frame__mark--bl { inset-block-end: -7px; inset-inline-start: -7px; }
.frame__mark--br { inset-block-end: -7px; inset-inline-end: -7px; }
.frame__mark::before { inset-block-start: 50%; inset-inline-start: 0; }
.frame__mark::after { inset-inline-start: 50%; inset-block-start: 0; }
.frame-image { position: relative; overflow: hidden; }
.frame-image img { inline-size: 100%; object-fit: cover; }
.js:not(.reduced-motion) [data-reveal="image"]:not(.is-revealed) { clip-path: inset(0 0 100% 0); }
.js:not(.reduced-motion) [data-reveal="image"]:not(.is-revealed) img { transform: scale(1.08); }
.frame-image::after { content: ''; position: absolute; inset: 0; border: 1px solid var(--color-border-soft); pointer-events: none; }

/* ------------------------------------------------------------ 08 Loader */
.loader { position: fixed; inset: 0; z-index: var(--z-loader); display: none; }
html.is-loading .loader { display: block; }
.loader__panel { position: absolute; inset-block: 0; inline-size: 50.5%; background: var(--navy); }
.loader__panel--start { inset-inline-start: 0; }
.loader__panel--end { inset-inline-end: 0; }
.loader__frame { position: absolute; inset-block-start: 50%; inset-inline-start: 50%; transform: translate(-50%, -50%); inline-size: min(78vw, 520px); aspect-ratio: 2.4 / 1; display: grid; place-items: center; color: var(--ivory); }
[dir="rtl"] .loader__frame { transform: translate(50%, -50%); }
.loader__line { position: absolute; background: var(--gradient-gold); }
.loader__line--top { inset-block-start: 0; inset-inline: 0; block-size: 1px; transform: scaleX(0); transform-origin: 0 50%; }
.loader__line--end { inset-inline-end: 0; inset-block: 0; inline-size: 1px; transform: scaleY(0); transform-origin: 50% 0; }
.loader__line--bottom { inset-block-end: 0; inset-inline: 0; block-size: 1px; transform: scaleX(0); transform-origin: 100% 50%; }
.loader__line--start { inset-inline-start: 0; inset-block: 0; inline-size: 1px; transform: scaleY(0); transform-origin: 50% 100%; }
.loader__word { display: flex; flex-direction: column; align-items: center; line-height: .9; font-family: var(--font-latin); }
.loader__mask { display: block; overflow: hidden; }
.loader__text { display: block; font-size: clamp(2rem, 6vw, 3.6rem); font-weight: 600; letter-spacing: .22em; padding-inline-start: .22em; transform: translateY(110%); }
.loader__text--light { font-weight: 200; }
.loader__meta { position: absolute; inset-block-end: -2.2rem; inset-inline-start: 0; font-size: .62rem; letter-spacing: .3em; color: var(--champagne); opacity: 0; font-family: var(--font-latin); }

/* ------------------------------------------------------------ 09 Navigation */
.nav { position: fixed; inset-block-start: 0; inset-inline: 0; z-index: var(--z-nav); color: var(--ivory); transition: background-color .5s, border-color .5s, backdrop-filter .5s; border-block-end: 1px solid transparent; }
.nav.is-scrolled { background: rgba(7, 19, 31, .78); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-color: rgba(245, 242, 235, .08); }
html.is-loading .nav { opacity: 0; }
.nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; block-size: var(--nav-h); transition: block-size .4s var(--ease-out); }
.nav.is-scrolled .nav__inner { block-size: 68px; }
.nav__brand { display: inline-flex; align-items: center; gap: .85rem; }
.nav__logo { block-size: 44px; inline-size: auto; transition: block-size .4s var(--ease-out); }
.nav.is-scrolled .nav__logo { block-size: 38px; }
.nav__wordmark { display: flex; flex-direction: column; line-height: 1; font-family: var(--font-latin); }
.nav__wm-1 { font-size: .98rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ivory); }
.nav__wm-2 { margin-block-start: .3rem; font-size: .56rem; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--gold); }
.nav__links { display: flex; gap: clamp(1.2rem, 2vw, 2.2rem); }
.nav__links a { position: relative; font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding-block: .5rem; opacity: .86; transition: opacity var(--duration-fast); }
.nav__links a::after { content: ''; position: absolute; inset-inline: 0; inset-block-end: 0; block-size: 1px; background: var(--gold); transform: scaleX(0); transform-origin: 100% 50%; transition: transform .45s var(--ease-inout); }
[dir="rtl"] .nav__links a::after { transform-origin: 0 50%; }
.nav__links a:hover, .nav__links a.is-active { opacity: 1; }
.nav__links a:hover::after, .nav__links a.is-active::after { transform: scaleX(1); transform-origin: 0 50%; }
[dir="rtl"] .nav__links a:hover::after, [dir="rtl"] .nav__links a.is-active::after { transform-origin: 100% 50%; }
.nav__tools { display: flex; align-items: center; gap: 1.25rem; }
.lang { display: inline-flex; align-items: center; border: 1px solid rgba(245, 242, 235, .22); }
.lang__btn { min-inline-size: 42px; min-block-size: 40px; padding: 0 .55rem; font-size: .68rem; font-weight: 600; letter-spacing: .1em; color: var(--ivory); opacity: .72; border-inline-end: 1px solid rgba(245, 242, 235, .18); transition: opacity var(--duration-fast), background-color var(--duration-fast), color var(--duration-fast); }
.lang__btn:last-child { border-inline-end: 0; }
.lang__btn:hover { opacity: 1; }
.lang__btn.is-active { opacity: 1; color: var(--navy); background: var(--gold); }
.nav__burger { display: none; position: relative; inline-size: 48px; block-size: 48px; }
.nav__burger span { position: absolute; inset-inline-start: 12px; inline-size: 24px; block-size: 1.5px; background: var(--ivory); transition: transform .45s var(--ease-inout), top .45s var(--ease-inout); }
.nav__burger span:first-child { top: 19px; }
.nav__burger span:last-child { top: 28px; }
.nav__burger[aria-expanded="true"] span:first-child { top: 23.5px; transform: rotate(45deg); }
.nav__burger[aria-expanded="true"] span:last-child { top: 23.5px; transform: rotate(-45deg); }

.menu { position: fixed; inset: 0; z-index: var(--z-menu); background: var(--navy); color: var(--ivory); clip-path: inset(0 0 100% 0); transition: clip-path .75s var(--ease-inout), visibility 0s .75s; visibility: hidden; overflow-y: auto; }
.menu.is-open { clip-path: inset(0 0 0 0); visibility: visible; transition-delay: 0s; }
.menu__inner { min-block-size: 100%; display: flex; flex-direction: column; justify-content: space-between; padding-block: calc(var(--nav-h) + 1.5rem) 2rem; gap: 2.5rem; }
.menu__links { display: flex; flex-direction: column; }
.menu__links a { display: flex; align-items: baseline; gap: 1.25rem; padding-block: .8rem; border-block-end: 1px solid rgba(245, 242, 235, .1); font-size: clamp(1.75rem, 7vw, 2.6rem); font-weight: 400; letter-spacing: -.01em; text-transform: uppercase; transform: translateY(24px); opacity: 0; transition: transform .6s var(--ease-out), opacity .6s; }
.menu.is-open .menu__links a { transform: none; opacity: 1; }
.menu.is-open .menu__links a:nth-child(2) { transition-delay: .06s; } .menu.is-open .menu__links a:nth-child(3) { transition-delay: .12s; } .menu.is-open .menu__links a:nth-child(4) { transition-delay: .18s; } .menu.is-open .menu__links a:nth-child(5) { transition-delay: .24s; } .menu.is-open .menu__links a:nth-child(6) { transition-delay: .3s; }
.menu__n { font-size: .7rem; letter-spacing: .2em; color: var(--gold); font-variant-numeric: tabular-nums; }
.menu__foot { display: flex; flex-direction: column; gap: 1.5rem; align-items: flex-start; }
.lang--menu .lang__btn { min-block-size: 44px; font-size: .8rem; letter-spacing: 0; padding-inline: .9rem; }
.menu__contact { display: flex; flex-wrap: wrap; gap: 1.25rem; font-size: .9rem; color: var(--muted-dark); }

/* ------------------------------------------------------------ 10 Hero */
.hero { position: relative; min-block-size: 100svh; display: grid; grid-template-rows: 1fr auto; color: var(--ivory); background: var(--navy); overflow: hidden; isolation: isolate; }
.hero__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.hero__media picture, .hero__media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.hero__media img { transform: scale(1.06); }
.hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,19,31,.55) 0%, rgba(7,19,31,.25) 35%, rgba(7,19,31,.45) 70%, rgba(7,19,31,.88) 100%); }
.hero__shade::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,19,31,.55), transparent 60%); }
[dir="rtl"] .hero__shade::after { background: linear-gradient(-90deg, rgba(7,19,31,.55), transparent 60%); }
html.js.hero-pending .hero__media { clip-path: inset(6% 4% 6% 4%); }
.hero__frame { position: absolute; inset: clamp(1rem, 3vw, 2rem); z-index: 1; pointer-events: none; --color-accent-line: rgba(245, 242, 235, .5); }
.hero__frame .frame__mark { --color-accent-line: var(--gold); }
.hero__content { position: relative; z-index: 2; align-self: end; padding-block: clamp(7rem, 16vh, 11rem) clamp(2rem, 5vh, 4rem); }
.hero__eyebrow { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--champagne); font-weight: 600; margin-block-end: clamp(1.5rem, 3vw, 2.5rem); }
.hero__sep { opacity: .6; }
.hero__title { color: var(--ivory); max-inline-size: 14ch; }
.hero__sub { max-inline-size: 36rem; margin-block-start: clamp(1.5rem, 3vw, 2.25rem); font-size: var(--fs-lead); line-height: 1.55; color: rgba(245, 242, 235, .86); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-block-start: clamp(2rem, 4vw, 3rem); }
.hero__foot { position: relative; z-index: 2; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; padding-block-end: clamp(2.5rem, 6vh, 4rem); flex-wrap: wrap; }
.hero__facts { display: flex; flex-wrap: wrap; gap: .5rem 2rem; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(245, 242, 235, .78); font-weight: 600; }
.hero__facts li { position: relative; padding-inline-start: 1rem; }
.hero__facts li::before { content: ''; position: absolute; inset-inline-start: 0; inset-block-start: .55em; inline-size: 5px; block-size: 5px; background: var(--gold); }
.hero__coords { font-size: .68rem; letter-spacing: .2em; color: rgba(245, 242, 235, .55); font-family: var(--font-latin); }
.hero__scroll { display: inline-flex; flex-direction: column; align-items: center; gap: .6rem; font-size: .62rem; letter-spacing: .28em; text-transform: uppercase; color: rgba(245, 242, 235, .7); }
.hero__scroll-line { inline-size: 1px; block-size: 56px; background: linear-gradient(180deg, var(--gold), transparent); position: relative; overflow: hidden; }
.hero__scroll-line::after { content: ''; position: absolute; inset-inline: 0; inset-block-start: -100%; block-size: 100%; background: var(--ivory); animation: scrollLine 2.2s var(--ease-inout) infinite; }
@keyframes scrollLine { 0% { transform: translateY(0); } 100% { transform: translateY(200%); } }
html.js.hero-pending .hero__eyebrow,
html.js.hero-pending .hero__sub,
html.js.hero-pending .hero__actions,
html.js.hero-pending .hero__foot > * { opacity: 0; }
html.js.hero-pending .hero__title .line__inner { transform: translateY(112%); }
html.js.hero-pending #site-nav { opacity: 0; }

/* ------------------------------------------------------------ 11 Sections */
/* 01 Positioning */
.pos__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.pos__text > * + * { margin-block-start: 1.5rem; }
.pos__text .lead { color: var(--ink); }
.pos__text p:not(.lead) { color: var(--muted); }
.pos__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; border-block-start: 1px solid var(--stone); margin-block-start: 2.5rem !important; }
.pos__facts li { display: flex; gap: .9rem; align-items: baseline; padding-block: .9rem; border-block-end: 1px solid var(--stone); font-size: .95rem; }
.pos__facts-n { font-size: var(--fs-label); letter-spacing: .12em; color: var(--gold-deep); font-variant-numeric: tabular-nums; }

/* 02 The Space — editorial rows */
.rows { border-block-start: 1px solid var(--color-border); }
.row { display: grid; grid-template-columns: 6rem minmax(0, 1fr) minmax(0, 1.3fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; padding-block: clamp(2.5rem, 5vw, 4.5rem); border-block-end: 1px solid var(--color-border); }
.row--alt { grid-template-columns: 6rem minmax(0, 1.3fr) minmax(0, 1fr); }
.row--alt .row__body { order: 3; }
.row--alt .row__media { order: 2; }
.row__n { font-size: clamp(1.5rem, 2.4vw, 2.2rem); font-weight: 200; color: var(--gold-deep); font-variant-numeric: tabular-nums; line-height: 1; align-self: start; padding-block-start: .5rem; }
.row__title { font-size: clamp(1.75rem, 3.2vw, 3rem); font-weight: 500; letter-spacing: -.01em; line-height: 1.05; text-transform: uppercase; }
.row__desc { margin-block: 1.25rem 1.75rem; color: var(--muted); max-inline-size: 30rem; }
.row__media img { aspect-ratio: 3 / 2; }
.row__cap { position: absolute; inset-block-end: 0; inset-inline-start: 0; padding: .55rem .9rem; background: rgba(7, 19, 31, .78); color: var(--ivory); font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; }
.row .row__title, .row .row__desc, .row .link-arrow { transition: transform .8s var(--ease-out), opacity .8s; }

/* 03 Included */
.inc__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: stretch; }
.inc__speed { display: flex; flex-direction: column; justify-content: flex-end; min-block-size: min(70vh, 640px); padding: clamp(1.5rem, 3vw, 3rem); }
.inc__number { display: flex; align-items: baseline; gap: .4em; font-size: clamp(5rem, 13vw, 13rem); font-weight: 200; line-height: .85; letter-spacing: -.04em; color: var(--ivory); font-family: var(--font-latin); }
.inc__unit { font-size: clamp(1rem, 2vw, 1.6rem); letter-spacing: .1em; font-weight: 500; color: var(--gold); }
.inc__speed-title { margin-block-start: 1.75rem; font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gold); font-weight: 600; }
.inc__speed-desc { margin-block-start: .6rem; color: var(--muted-dark); max-inline-size: 28rem; }
.inc__signal { position: absolute; inset-inline: clamp(1.5rem, 3vw, 3rem); inset-block-start: clamp(1.5rem, 3vw, 3rem); block-size: 2px; inline-size: auto; stroke: var(--gold); stroke-width: 1.5; stroke-dasharray: 8 6; opacity: .6; animation: signal 1.6s linear infinite; }
@keyframes signal { to { stroke-dashoffset: -28; } }
.inc__list .display { margin-block-end: clamp(2rem, 4vw, 3rem); }
.spec { border-block-start: 1px solid var(--color-border); }
.spec__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 1.5rem; padding-block: 1.1rem; border-block-end: 1px solid var(--color-border); transition: background-color var(--duration-fast); }
.spec__row dt { display: flex; gap: 1rem; align-items: baseline; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: .85rem; }
.spec__n { font-size: var(--fs-label); letter-spacing: .1em; color: var(--gold); font-variant-numeric: tabular-nums; font-weight: 500; }
.spec__row dd { color: var(--muted-dark); font-size: .95rem; }

/* 04 Services index */
.svc__layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(2rem, 6vw, 7rem); align-items: start; }
.svc__hint { font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--muted-dark); margin-block-end: 1rem; }
.svc__item { border-block-start: 1px solid var(--color-border); position: relative; }
.svc__item:last-child { border-block-end: 1px solid var(--color-border); }
.svc__item::before { content: ''; position: absolute; inset-block-start: -1px; inset-inline-start: 0; block-size: 1px; inline-size: 100%; background: var(--gold); transform: scaleX(0); transform-origin: 0 50%; transition: transform .7s var(--ease-inout); }
[dir="rtl"] .svc__item::before { transform-origin: 100% 50%; }
.svc__item.is-active::before { transform: scaleX(1); }
.svc__head { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr) 2.5rem; align-items: center; gap: 1rem; inline-size: 100%; padding-block: clamp(1rem, 1.8vw, 1.5rem); text-align: start; color: var(--ivory); }
.svc__n { font-size: .78rem; letter-spacing: .12em; color: var(--muted-dark); font-variant-numeric: tabular-nums; transition: color var(--duration-fast), transform .5s var(--ease-out); }
.svc__t { font-size: clamp(1.35rem, 2.6vw, 2.4rem); font-weight: 400; letter-spacing: -.01em; text-transform: uppercase; line-height: 1.05; transition: transform .6s var(--ease-out), color var(--duration-fast), font-weight .3s; }
.svc__arrow { display: grid; place-items: center; inline-size: 40px; block-size: 40px; border: 1px solid var(--color-border); color: var(--muted-dark); transition: transform .5s var(--ease-out), color var(--duration-fast), border-color var(--duration-fast), background-color var(--duration-fast); }
.svc__item.is-active .svc__n { color: var(--gold); transform: translateY(-2px); }
.svc__item.is-active .svc__t { transform: translateX(.35rem); font-weight: 500; }
[dir="rtl"] .svc__item.is-active .svc__t { transform: translateX(-.35rem); }
.svc__item.is-active .svc__arrow { color: var(--navy); background: var(--gold); border-color: var(--gold); transform: rotate(90deg); }
[dir="rtl"] .svc__item.is-active .svc__arrow { transform: rotate(-90deg); }
.svc__head:hover .svc__t { color: var(--champagne); }
.svc__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .65s var(--ease-inout), visibility 0s .65s; visibility: hidden; }
.svc__item.is-active .svc__panel { grid-template-rows: 1fr; visibility: visible; transition-delay: 0s; }
.svc__panel-inner { overflow: hidden; min-block-size: 0; padding-inline-start: 4.2rem; }
.svc__panel-inner > :first-child { padding-block-start: .25rem; }
.svc__panel-inner > :last-child { padding-block-end: clamp(1.5rem, 2.5vw, 2.25rem); }
.svc__s { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.svc__d { margin-block-start: .75rem; color: rgba(245, 242, 235, .82); max-inline-size: 34rem; }
.svc__tag { display: flex; flex-wrap: wrap; gap: .5rem .6rem; align-items: baseline; margin-block-start: 1.1rem; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-dark); }
.svc__v { font-size: 1rem; font-weight: 600; color: var(--ivory); letter-spacing: 0; }
.svc__dot { opacity: .5; }
.svc__mobile-media { display: none; margin-block-start: 1.25rem; }
.svc__mobile-media img { aspect-ratio: 16 / 9; object-fit: cover; }
.svc__visual { position: sticky; inset-block-start: calc(var(--nav-h) + 1.5rem); }
.svc__visual-frame { aspect-ratio: 4 / 5; padding: 1rem; --color-accent-line: rgba(245, 242, 235, .28); }
.svc__scenes { position: relative; inline-size: 100%; block-size: 100%; overflow: hidden; background: var(--midnight); }
.svc__scene { position: absolute; inset: 0; opacity: 0; transform: scale(1.04); transition: opacity .7s var(--ease-out), transform 1.1s var(--ease-out); will-change: opacity, transform; }
.svc__scene.is-active { opacity: 1; transform: none; }
.svc__scene img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.svc__scene--security img { opacity: .35; filter: grayscale(1) contrast(1.1); }
.svc__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(217,160,45,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(217,160,45,.16) 1px, transparent 1px); background-size: 40px 40px; }
.svc__scan { position: absolute; inset-inline: 0; block-size: 1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); box-shadow: 0 0 18px rgba(217,160,45,.45); animation: scan 4s var(--ease-inout) infinite; }
@keyframes scan { 0% { inset-block-start: 6%; } 50% { inset-block-start: 94%; } 100% { inset-block-start: 6%; } }
.svc__scene--type { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; background: radial-gradient(120% 80% at 50% 100%, rgba(217,160,45,.14), transparent 60%), var(--midnight); }
.svc__big { font-size: clamp(6rem, 14vw, 13rem); font-weight: 200; line-height: 1; letter-spacing: -.05em; color: var(--ivory); font-family: var(--font-latin); }
.svc__big small { font-size: .35em; font-weight: 300; color: var(--gold); margin-inline-start: .1em; }
.svc__big-l { font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gold); font-weight: 600; }
.svc__horizon { position: absolute; inset-inline: 12%; inset-block-end: 16%; block-size: 1px; background: linear-gradient(90deg, transparent, rgba(245,242,235,.35), transparent); }
.svc__visual-meta { position: absolute; inset-block-end: 2rem; inset-inline-start: 2rem; display: flex; gap: 1rem; align-items: baseline; font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ivory); background: rgba(7,19,31,.7); padding: .5rem .8rem; }
.svc__visual-n { color: var(--gold); font-variant-numeric: tabular-nums; }

/* Value */
.value__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.value__amount { font-size: clamp(5rem, 15vw, 15rem); font-weight: 200; line-height: .9; letter-spacing: -.05em; color: var(--ivory); font-family: var(--font-latin); display: flex; align-items: flex-start; }
.value__cur { font-size: .42em; font-weight: 300; color: var(--gold); margin-block-start: .18em; margin-inline-end: .08em; }
.value__plus { font-size: .5em; font-weight: 200; color: var(--gold); margin-block-start: .12em; }
.value__text > * + * { margin-block-start: 1.5rem; }
.value__text .lead { color: rgba(245,242,235,.85); }
.value__note { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted-dark); padding-inline-start: 1rem; border-inline-start: 1px solid var(--gold); }

/* 06 Security */
.sec { overflow: hidden; }
.sec__grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(245,242,235,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(245,242,235,.045) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(70% 70% at 70% 50%, #000 30%, transparent 100%); -webkit-mask-image: radial-gradient(70% 70% at 70% 50%, #000 30%, transparent 100%); pointer-events: none; }
.sec__scan { position: absolute; inset-inline: 0; block-size: 1px; background: linear-gradient(90deg, transparent 10%, rgba(217,160,45,.6), transparent 90%); inset-block-start: 20%; pointer-events: none; opacity: .5; }
.sec__layout { position: relative; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: center; }
.sec__body .lead { margin-block-start: clamp(1.5rem, 3vw, 2.25rem); color: rgba(245,242,235,.84); max-inline-size: 34rem; }
.sec__panel { padding: clamp(1.5rem, 3vw, 2.75rem); background: rgba(11, 28, 43, .6); --color-accent-line: rgba(245,242,235,.25); }
.sec__status { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: var(--champagne); margin-block-end: 1.5rem; }
.sec__status-sep { opacity: .4; }
.sec__dot { inline-size: 8px; block-size: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 0 rgba(217,160,45,.6); animation: pulse 2.4s ease-out infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(217,160,45,.55); } 100% { box-shadow: 0 0 0 14px rgba(217,160,45,0); } }
.sec__list li { display: flex; gap: 1.25rem; align-items: baseline; padding-block: .95rem; border-block-start: 1px solid var(--color-border); font-size: 1rem; }
.sec__list li:last-child { border-block-end: 1px solid var(--color-border); }
.sec__code { font-size: var(--fs-label); letter-spacing: .12em; color: var(--gold); font-variant-numeric: tabular-nums; min-inline-size: 3.2ch; font-weight: 500; }

/* 07 Meeting rooms */
.meet__layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.meet__stage { position: relative; aspect-ratio: 3 / 2; background: var(--stone); }
.meet__img { position: absolute; inset: 0; opacity: 0; transition: opacity .8s var(--ease-out); }
.meet__img.is-active { opacity: 1; }
.meet__img img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.meet__tabs { position: absolute; inset-block-end: 0; inset-inline-start: 0; display: flex; background: rgba(7,19,31,.82); z-index: 2; }
.meet__tab { padding: .8rem 1.2rem; min-block-size: 44px; font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(245,242,235,.65); font-weight: 600; border-inline-end: 1px solid rgba(245,242,235,.12); transition: color var(--duration-fast), background-color var(--duration-fast); }
.meet__tab:last-child { border-inline-end: 0; }
.meet__tab:hover { color: var(--ivory); }
.meet__tab.is-active { color: var(--navy); background: var(--gold); }
.meet__side > * + * { margin-block-start: 1.5rem; }
.meet__stat { display: flex; flex-direction: column; gap: .5rem; padding-block-end: 1.5rem; border-block-end: 1px solid var(--stone); }
.meet__stat-n { font-size: clamp(4rem, 8vw, 7.5rem); font-weight: 200; line-height: .9; letter-spacing: -.04em; color: var(--ink); font-family: var(--font-latin); }
.meet__stat-l { font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gold-deep); font-weight: 600; }
.meet__side p:not(.meet__stat) { color: var(--muted); }

/* 08 Hospitality */
.hosp__cafe { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-deep); font-weight: 600; padding-inline-start: 1rem; border-inline-start: 1px solid var(--gold); }
.hosp .split__body .lead { color: var(--ink); }

/* 09 VIP */
.vip__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.vip__card { padding: clamp(2rem, 4vw, 3.5rem); background: linear-gradient(180deg, rgba(11,28,43,.85), rgba(7,19,31,0)); --color-accent-line: rgba(245,242,235,.22); transition: background-color .5s; }
.vip__k { font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gold); font-weight: 600; }
.vip__s { margin-block-start: .4rem; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted-dark); }
.vip__n { margin-block-start: clamp(1.5rem, 3vw, 2.5rem); font-size: clamp(4.5rem, 9vw, 8.5rem); font-weight: 200; line-height: .9; letter-spacing: -.04em; color: var(--ivory); font-family: var(--font-latin); }
.vip__nl { font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--champagne); margin-block-start: .75rem; }
.vip__list { margin-block-start: clamp(1.5rem, 3vw, 2.5rem); border-block-start: 1px solid var(--color-border); }
.vip__list li { padding-block: .8rem; border-block-end: 1px solid var(--color-border); color: rgba(245,242,235,.85); font-size: .98rem; }

/* 10 Who */
.who__head { max-inline-size: 60rem; margin-block-end: clamp(3rem, 6vw, 5rem); }
.who__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block-start: 1px solid var(--stone); border-inline-start: 1px solid var(--stone); }
.who__list li { position: relative; padding: clamp(1.5rem, 2.5vw, 2.25rem); border-block-end: 1px solid var(--stone); border-inline-end: 1px solid var(--stone); min-block-size: 220px; display: flex; flex-direction: column; justify-content: flex-end; transition: background-color .5s; }
.who__list li:hover { background: var(--ivory-2); }
.who__list::after { content: ''; display: block; grid-column: span 2; border-block-end: 1px solid var(--stone); border-inline-end: 1px solid var(--stone); background:
  linear-gradient(var(--stone), var(--stone)) center / 1px 28px no-repeat,
  linear-gradient(var(--stone), var(--stone)) center / 28px 1px no-repeat; }
.who__n { position: absolute; inset-block-start: 1.25rem; inset-inline-start: clamp(1.5rem, 2.5vw, 2.25rem); font-size: var(--fs-label); letter-spacing: .14em; color: var(--gold-deep); font-variant-numeric: tabular-nums; }
.who__list h3 { font-size: clamp(1.15rem, 1.6vw, 1.5rem); font-weight: 500; text-transform: uppercase; letter-spacing: .01em; line-height: 1.15; }
.who__list p { margin-block-start: .6rem; color: var(--muted); font-size: .95rem; }

/* 11 Gallery */
.gal__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(.75rem, 1.5vw, 1.5rem); }
.gal__item { position: relative; overflow: hidden; background: var(--stone); }
.g-4 { grid-column: span 4; } .g-5 { grid-column: span 5; } .g-6 { grid-column: span 6; } .g-7 { grid-column: span 7; } .g-8 { grid-column: span 8; }
.r-32 { aspect-ratio: 3 / 2; } .r-45 { aspect-ratio: 4 / 5; } .r-43 { aspect-ratio: 4 / 3; } .r-169 { aspect-ratio: 16 / 9; } .r-34 { aspect-ratio: 3 / 4; }
.gal__btn { position: relative; display: block; inline-size: 100%; block-size: 100%; overflow: hidden; }
.gal__btn picture, .gal__btn img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.gal__btn img { transition: transform 1.1s var(--ease-out); }
.gal__btn:hover img, .gal__btn:focus-visible img { transform: scale(1.035); }
.gal__btn::after { content: ''; position: absolute; inset: 0; border: 1px solid rgba(245,242,235,0); transition: border-color .4s, inset .4s var(--ease-out); pointer-events: none; }
.gal__btn:hover::after { border-color: rgba(245,242,235,.7); inset: 10px; }
.gal__cap { position: absolute; inset-block-end: 0; inset-inline-start: 0; padding: .5rem .85rem; background: rgba(7,19,31,.78); color: var(--ivory); font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; opacity: 0; transform: translateY(6px); transition: opacity .4s, transform .5s var(--ease-out); }
.gal__item.is-revealed .gal__cap, .gal__btn:hover .gal__cap, .gal__btn:focus-visible .gal__cap { opacity: 1; transform: none; }
.gal__item.is-revealed .gal__cap { transition-delay: .45s; }
.gal__grid[data-reveal-done] .gal__cap { transition-delay: 0s; }

/* Strip */
.strip { position: relative; color: var(--ivory); }
.strip__pin { block-size: 100vh; block-size: 100svh; overflow: hidden; }
.strip__track { display: flex; block-size: 100%; inline-size: max-content; will-change: transform; }
.strip__panel { position: relative; flex: 0 0 auto; inline-size: min(78vw, 1120px); block-size: 100%; display: flex; align-items: flex-end; padding: clamp(6rem, 14vh, 9rem) clamp(2rem, 5vw, 5rem) clamp(4rem, 10vh, 6rem); }
.strip__panel:first-child { padding-inline-start: var(--gutter); }
.strip__media { position: absolute; inset: clamp(5rem, 12vh, 7rem) clamp(1rem, 2.5vw, 2rem) clamp(3rem, 8vh, 5rem) 0; overflow: hidden; }
[dir="rtl"] .strip__media { inset: clamp(5rem, 12vh, 7rem) 0 clamp(3rem, 8vh, 5rem) clamp(1rem, 2.5vw, 2rem); }
.strip__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(7,19,31,.75)); }
.strip__media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.strip__word { position: relative; z-index: 1; display: flex; flex-direction: column; gap: .5rem; font-size: clamp(3rem, 9vw, 9rem); font-weight: 400; line-height: .9; letter-spacing: -.03em; text-transform: uppercase; color: var(--ivory); }
.strip__i { font-size: .7rem; letter-spacing: .3em; color: var(--gold); font-weight: 600; }

/* Static strip (no pin): reduced motion, tablets/phones, no GSAP */
.strip--static .strip__pin { block-size: auto; }
.strip--static .strip__track { inline-size: auto; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-block: 3rem; gap: 1rem; padding-inline: var(--gutter); scrollbar-width: none; }
.strip--static .strip__track::-webkit-scrollbar { display: none; }
.strip--static .strip__panel, .strip--static .strip__panel:first-child { inline-size: min(82vw, 900px); block-size: min(66vh, 620px); scroll-snap-align: center; padding: 0; }
.strip--static .strip__media, [dir="rtl"] .strip--static .strip__media { inset: 0; }
.strip--static .strip__word { padding: 1.5rem; font-size: clamp(2.5rem, 8vw, 5rem); }

/* 12 Tour */
.tour__sub { margin-block-start: 1rem; font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--champagne); font-weight: 600; }
.tour__frame { max-inline-size: 1200px; margin-inline: auto; padding: clamp(.75rem, 1.2vw, 1rem); --color-accent-line: rgba(245,242,235,.3); }
.tour__stage { position: relative; aspect-ratio: 16 / 9; background: var(--midnight); overflow: hidden; }
.tour__poster { position: absolute; inset: 0; }
.tour__poster img { inline-size: 100%; block-size: 100%; object-fit: cover; filter: saturate(.85) brightness(.75); transition: filter .8s, transform 1.4s var(--ease-out); }
.tour__stage:hover .tour__poster img { filter: saturate(1) brightness(.85); transform: scale(1.02); }
.tour__start { position: absolute; inset-block-start: 50%; inset-inline-start: 50%; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 1rem; padding: .6rem 1.4rem .6rem .6rem; color: var(--ivory); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; background: rgba(7,19,31,.55); border: 1px solid rgba(245,242,235,.3); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: border-color var(--duration-fast), background-color var(--duration-fast); }
[dir="rtl"] .tour__start { transform: translate(50%, -50%); padding: .6rem .6rem .6rem 1.4rem; }
.tour__start:hover { border-color: var(--gold); background: rgba(7,19,31,.75); }
.tour__ring { position: relative; display: grid; place-items: center; inline-size: 64px; block-size: 64px; border-radius: 50%; border: 1px solid rgba(245,242,235,.55); }
.tour__ring::before { content: ''; position: absolute; inset: -1px; border-radius: 50%; border: 1px solid transparent; border-block-start-color: var(--gold); animation: spin 3.6s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.tour__ring-dot { inline-size: 8px; block-size: 8px; border-radius: 50%; background: var(--gold); }
.tour__scene-tag { position: absolute; inset-block-start: 1.25rem; inset-inline-start: 1.25rem; display: inline-flex; align-items: center; gap: .6rem; padding: .45rem .8rem; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--ivory); background: rgba(7,19,31,.7); }
.tour__scene-dot { inline-size: 6px; block-size: 6px; border-radius: 50%; background: var(--gold); }
.tour__viewer { position: absolute; inset: 0; }
.tour__viewer .pnlm-container { background: var(--midnight) !important; font-family: inherit; }
.tour__viewer .pnlm-load-box, .tour__viewer .pnlm-about-msg { display: none !important; }
.tour__status { position: absolute; inset-block-end: 1.25rem; inset-inline: 1.25rem; padding: .8rem 1rem; font-size: .85rem; color: var(--ivory); background: rgba(7,19,31,.85); border: 1px solid rgba(245,242,235,.2); display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; z-index: 3; }
.tour__status button { color: var(--gold); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; min-block-size: 32px; }
.tour__hud { position: absolute; inset-block-end: 1rem; inset-inline: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; pointer-events: none; z-index: 3; }
.tour__hint { font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: rgba(245,242,235,.8); background: rgba(7,19,31,.6); padding: .45rem .8rem; }
.tour__fs { pointer-events: auto; display: grid; place-items: center; inline-size: 44px; block-size: 44px; color: var(--ivory); background: rgba(7,19,31,.7); border: 1px solid rgba(245,242,235,.25); transition: border-color var(--duration-fast); }
.tour__fs:hover { border-color: var(--gold); }
.tour__stage:fullscreen { aspect-ratio: auto; inline-size: 100vw; block-size: 100vh; }

/* 13 Location */
.loc__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: center; }
.loc__map { position: relative; color: var(--ink); }
.loc__svg { inline-size: 100%; block-size: auto; }
.loc__country { fill: var(--ivory-2); stroke: var(--ink); stroke-width: 1; stroke-linejoin: round; }
.loc__pulse { fill: none; stroke: var(--gold); stroke-width: 1; opacity: .8; transform-origin: center; animation: mapPulse 2.8s var(--ease-out) infinite; transform-box: fill-box; }
@keyframes mapPulse { 0% { transform: scale(.2); opacity: .9; } 100% { transform: scale(1.4); opacity: 0; } }
.loc__dotc { fill: var(--gold); }
.loc__dotb { fill: var(--muted); }
.loc__lead { stroke: var(--gold); stroke-width: 1; }
.loc__txt { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; fill: var(--muted); font-family: var(--font-latin); }
.loc__city { position: absolute; inset-block-end: -2%; right: 0; text-align: right; display: flex; flex-direction: column; align-items: flex-end; }
.loc__city-name { font-size: clamp(2.2rem, 4.6vw, 4.4rem); font-weight: 400; line-height: .9; letter-spacing: -.03em; text-transform: uppercase; color: var(--ink); }
.loc__city-country { font-size: var(--fs-label); letter-spacing: .3em; text-transform: uppercase; color: var(--gold-deep); font-weight: 600; margin-block-start: .6rem; }
.loc__coords { font-size: .66rem; letter-spacing: .2em; color: var(--muted); margin-block-start: .35rem; font-family: var(--font-latin); }
.loc__body > * + * { margin-block-start: clamp(1.25rem, 2.2vw, 1.75rem); }
.loc__body .lead { color: var(--muted); }
.loc__addr { display: flex; flex-direction: column; gap: .35rem; padding-block: 1.25rem; border-block: 1px solid var(--stone); font-size: 1.05rem; }
.loc__addr-l { font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gold-deep); font-weight: 600; }

/* 14 Book + contact */
.book__layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: start; }
.book__intro > * + * { margin-block-start: clamp(1.25rem, 2.2vw, 1.75rem); }
.book__intro .lead { color: var(--muted); }
.contact { margin-block-start: clamp(2.5rem, 5vw, 4rem) !important; padding-block-start: 2rem; border-block-start: 1px solid var(--stone); }
.contact__title { font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gold-deep); font-weight: 600; margin-block-end: 1.5rem; }
.contact__list li { display: flex; gap: 1rem; align-items: flex-start; padding-block: 1rem; border-block-end: 1px solid var(--stone); }
.contact__list .icon { color: var(--gold-deep); margin-block-start: .2rem; }
.contact__l { display: block; font-size: var(--fs-label); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-block-end: .25rem; }
.contact__v { display: block; font-size: 1.05rem; color: var(--ink); }
a.contact__v { display: inline-block; }
a.contact__v { position: relative; }
a.contact__v::after { content: ''; position: absolute; inset-inline: 0; inset-block-end: -2px; block-size: 1px; background: var(--gold-deep); transform: scaleX(0); transform-origin: 0 50%; transition: transform .45s var(--ease-out); }
a.contact__v:hover::after { transform: scaleX(1); }
.contact__sub { display: inline-flex; margin-inline-end: auto; align-items: center; gap: .3rem; margin-block-start: .35rem; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-deep); font-weight: 600; }
.contact__group { display: inline-flex; align-items: center; gap: .4rem; margin-block-start: 1.25rem; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.contact__group:hover { color: var(--ink); }

.form { padding: clamp(1.5rem, 3.5vw, 3rem); background: var(--ivory); --color-accent-line: var(--stone); }
.form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.5rem; }
.field { display: flex; flex-direction: column; gap: .5rem; }
.field--full { grid-column: 1 / -1; }
.field--hp { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; opacity: 0; pointer-events: none; clip: rect(0 0 0 0); }
.field label { font-size: var(--fs-label); letter-spacing: .14em; text-transform: uppercase; color: var(--ink); font-weight: 600; display: flex; gap: .5rem; align-items: baseline; }
.field label em { font-style: normal; font-weight: 400; color: var(--muted); letter-spacing: .08em; }
.field input, .field select, .field textarea { inline-size: 100%; min-block-size: 52px; padding: .8rem 1rem; font: inherit; font-size: 1rem; color: var(--ink); background: var(--ivory-2); border: 1px solid var(--stone); border-radius: var(--radius-xs); transition: border-color var(--duration-fast), box-shadow var(--duration-fast), background-color var(--duration-fast); -webkit-appearance: none; appearance: none; }
.field textarea { min-block-size: 120px; resize: vertical; }
.field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B1620' stroke-width='1.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: 18px; background-position: right 1rem center; padding-inline-end: 2.5rem; }
[dir="rtl"] .field select { background-position: left 1rem center; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold-deep); box-shadow: 0 0 0 3px rgba(217,160,45,.22); background: #fff; outline: none; }
.field.is-invalid input, .field.is-invalid select, .field.is-invalid textarea { border-color: var(--error); }
.field__err { min-block-size: 1.2em; font-size: .8rem; color: var(--error); }
.form__summary { margin-block-end: 1.25rem; padding: .9rem 1rem; border: 1px solid var(--error); color: var(--error); font-size: .9rem; background: rgba(163,45,34,.06); }
.form__foot { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-block-start: 1.5rem; }
.form__privacy { font-size: .78rem; color: var(--muted); }
.form.is-sending .form__submit { opacity: .6; pointer-events: none; }
.form__result { margin-block-start: 1.5rem; padding: 1.25rem 1.5rem; border: 1px solid var(--stone); background: var(--ivory-2); }
.form__result.is-success { border-color: var(--success); }
.form__result.is-error { border-color: var(--error); }
.form__result-t { font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: .9rem; }
.form__result-p { margin-block-start: .4rem; color: var(--muted); font-size: .95rem; }
.form__result-links { display: none; gap: 1.5rem; margin-block-start: .8rem; font-size: .95rem; }
.form__result.is-error .form__result-links { display: flex; flex-wrap: wrap; }
.form__result-links a { color: var(--gold-deep); font-weight: 600; }
.form.is-done .form__grid, .form.is-done .form__foot { display: none; }

/* Final CTA */
.final { position: relative; min-block-size: 92vh; display: grid; place-items: center; padding-block: var(--space-section); overflow: hidden; color: var(--ivory); }
.final::before { content: ''; position: absolute; inset: 0; background: radial-gradient(60% 50% at 50% 100%, rgba(217,160,45,.12), transparent 70%); pointer-events: none; }
.final__frame { position: absolute; inset: clamp(1rem, 3vw, 2.5rem); --color-accent-line: rgba(245,242,235,.28); }
.final__frame .frame__mark { --color-accent-line: var(--gold); }
.final__inner { position: relative; text-align: center; display: flex; flex-direction: column; align-items: center; }
.final__inner .display { color: var(--ivory); }
.final__sub { margin-block-start: clamp(1.5rem, 3vw, 2.25rem); font-size: var(--fs-lead); color: rgba(245,242,235,.8); max-inline-size: 34rem; }
.final__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; margin-block-start: clamp(2rem, 4vw, 3rem); }

/* Footer */
.footer { background: var(--navy); color: var(--ivory); padding-block: clamp(3rem, 6vw, 5rem) 2rem; border-block-start: 1px solid rgba(245,242,235,.08); }
.footer__partners { padding-block-end: clamp(2rem, 4vw, 3rem); border-block-end: 1px solid rgba(245,242,235,.1); margin-block-end: clamp(2.5rem, 5vw, 4rem); }
.footer__partners .label { margin-block-end: 1.25rem; }
.partners { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.5rem; }
.partners li { display: flex; flex-direction: column; gap: .3rem; padding-inline-start: 1rem; border-inline-start: 1px solid rgba(245,242,235,.14); }
.partners__n { font-size: .9rem; font-weight: 500; }
.partners__r { font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: var(--muted-dark); }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 2.5rem; }
.footer__logo { block-size: 88px; inline-size: auto; }
.footer__tag { margin-block-start: 1.25rem; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--champagne); }
.footer__group { display: inline-flex; gap: .4rem; align-items: center; margin-block-start: 1rem; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--muted-dark); }
.footer__group:hover { color: var(--ivory); }
.footer__col { display: flex; flex-direction: column; gap: .6rem; font-size: .92rem; color: rgba(245,242,235,.82); }
.footer__col h3 { font-size: var(--fs-label); letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--gold); font-weight: 600; margin-block-end: .5rem; }
.footer__col a { transition: color var(--duration-fast); }
.footer__col a:hover { color: var(--gold); }
.footer__social { display: inline-flex; gap: .5rem; align-items: center; }
.lang--footer { margin-block-start: 1rem; align-self: flex-start; }
.footer__bottom { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-block-start: clamp(2.5rem, 5vw, 4rem); padding-block-start: 1.5rem; border-block-start: 1px solid rgba(245,242,235,.1); font-size: .78rem; color: var(--muted-dark); }
.footer__coords { letter-spacing: .18em; font-family: var(--font-latin); }

/* ------------------------------------------------------------ 12 Overlays */
.mobile-cta { position: fixed; inset-block-end: max(.75rem, env(safe-area-inset-bottom)); inset-inline: .75rem; z-index: var(--z-cta); display: none; align-items: center; justify-content: center; gap: .8rem; min-block-size: 54px; background: var(--gold); color: var(--navy); font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; transform: translateY(140%); transition: transform .5s var(--ease-out); box-shadow: 0 10px 30px rgba(7,19,31,.25); }
.mobile-cta.is-visible { transform: none; }

.lightbox { position: fixed; inset: 0; z-index: var(--z-lightbox); background: rgba(7,19,31,.96); color: var(--ivory); display: grid; place-items: center; padding: clamp(1rem, 4vw, 3rem); opacity: 0; transition: opacity .4s; }
.lightbox.is-open { opacity: 1; }
.lightbox__fig { display: flex; flex-direction: column; align-items: center; gap: 1rem; max-inline-size: min(92vw, 1400px); }
.lightbox__frame { position: relative; padding: .75rem; border: 1px solid rgba(245,242,235,.3); }
.lightbox__frame img { max-inline-size: calc(92vw - 3rem); max-block-size: 78vh; inline-size: auto; block-size: auto; object-fit: contain; transition: opacity .3s; }
.lightbox__cap { display: flex; gap: 1.5rem; align-items: baseline; font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(245,242,235,.75); }
.lightbox__count { color: var(--gold); }
.lightbox__close { position: absolute; inset-block-start: 1rem; inset-inline-end: 1rem; display: grid; place-items: center; inline-size: 48px; block-size: 48px; border: 1px solid rgba(245,242,235,.3); color: var(--ivory); transition: border-color var(--duration-fast), background-color var(--duration-fast); }
.lightbox__close:hover { border-color: var(--gold); }
.lightbox__nav { position: absolute; inset-block-start: 50%; transform: translateY(-50%); display: grid; place-items: center; inline-size: 56px; block-size: 56px; border: 1px solid rgba(245,242,235,.3); color: var(--ivory); transition: border-color var(--duration-fast), background-color var(--duration-fast); }
.lightbox__nav:hover { border-color: var(--gold); background: rgba(217,160,45,.12); }
.lightbox__nav--prev { inset-inline-start: 1.25rem; }
.lightbox__nav--prev .icon { transform: scaleX(-1); }
[dir="rtl"] .lightbox__nav--prev .icon { transform: none; }
.lightbox__nav--next { inset-inline-end: 1.25rem; }
[dir="rtl"] .lightbox__nav--next .icon { transform: scaleX(-1); }

.cursor { position: fixed; inset-block-start: 0; inset-inline-start: 0; z-index: var(--z-cursor); pointer-events: none; display: none; mix-blend-mode: normal; }
html.has-cursor .cursor { display: block; }
html.has-cursor, html.has-cursor a, html.has-cursor button, html.has-cursor label, html.has-cursor input, html.has-cursor select, html.has-cursor textarea { cursor: none; }
.cursor__ring { position: absolute; inset-block-start: -18px; inset-inline-start: -18px; inline-size: 36px; block-size: 36px; border-radius: 50%; border: 1px solid var(--gold); background: rgba(217,160,45,.06); display: grid; place-items: center; transition: transform .35s var(--ease-out), background-color .3s, border-color .3s; }
.cursor__ring::after { content: ''; inline-size: 4px; block-size: 4px; border-radius: 50%; background: var(--gold); transition: opacity .2s; }
.cursor__label { position: absolute; inset-block-start: -18px; inset-inline-start: -18px; inline-size: 36px; block-size: 36px; display: grid; place-items: center; font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--navy); opacity: 0; transform: scale(.6); transition: opacity .2s, transform .35s var(--ease-out); font-family: var(--font-body); }
.cursor.is-hover .cursor__ring { transform: scale(1.5); border-color: rgba(217,160,45,.7); }
.cursor.is-label .cursor__ring { transform: scale(2.3); background: var(--gold); border-color: var(--gold); }
.cursor.is-label .cursor__ring::after { opacity: 0; }
.cursor.is-label .cursor__label { opacity: 1; transform: scale(1); }
.cursor.is-down .cursor__ring { transform: scale(.85); }
.cursor.is-hidden { opacity: 0; }

/* ------------------------------------------------------------ 13 Responsive */
@media (max-width: 1279px) {
  :root { --container: 1200px; }
  .nav__links { gap: 1.1rem; }
}
@media (max-width: 1099px) {
  .nav__links { display: none; }
  .nav__burger { display: block; }
  .nav__cta { display: none; }
}
@media (max-width: 1023px) {
  :root { --nav-h: 72px; --space-section: clamp(5rem, 14vw, 8rem); }
  .nav__logo { block-size: 42px; }
  .nav.is-scrolled .nav__inner { block-size: 64px; }
  .pos__grid, .split, .inc__grid, .svc__layout, .value__grid, .sec__layout, .meet__layout, .loc__layout, .book__layout { grid-template-columns: minmax(0, 1fr); }
  .split--reverse .split__media { order: 0; }
  .split__media--tall img { aspect-ratio: 3 / 2; }
  .row, .row--alt { grid-template-columns: 3rem minmax(0, 1fr); }
  .row__media { grid-column: 2; }
  .row--alt .row__body { order: 0; } .row--alt .row__media { order: 0; }
  .svc__visual { display: none; }
  .svc__mobile-media { display: block; }
  .svc__panel-inner { padding-inline-start: 0; }
  .svc__head { grid-template-columns: 2.6rem minmax(0, 1fr) 2.5rem; }
  .inc__speed { min-block-size: 0; padding-block: 3rem; }
  .who__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .who__list::after { grid-column: span 1; }
  .who__list::after { content: ''; display: block; grid-column: span 2; border-block-end: 1px solid var(--stone); border-inline-end: 1px solid var(--stone); background:
  linear-gradient(var(--stone), var(--stone)) center / 1px 28px no-repeat,
  linear-gradient(var(--stone), var(--stone)) center / 28px 1px no-repeat; }
  .gal__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .g-7, .g-8 { grid-column: span 6; } .g-5, .g-6 { grid-column: span 3; } .g-4 { grid-column: span 3; }
  .r-45 { aspect-ratio: 4 / 3; } .r-34 { aspect-ratio: 4 / 3; }
  .strip__pin { block-size: auto; }
  .strip__track { inline-size: auto; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-block: 3rem; gap: 1rem; padding-inline: var(--gutter); scrollbar-width: none; }
  .strip__track::-webkit-scrollbar { display: none; }
  .strip__panel, .strip__panel:first-child { inline-size: 82vw; block-size: 66vh; scroll-snap-align: center; padding: 0; }
  .strip__media, [dir="rtl"] .strip__media { inset: 0; }
  .strip__word { padding: 1.5rem; font-size: clamp(2.5rem, 12vw, 4.5rem); }
  .partners { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mobile-cta { display: inline-flex; }
  .footer { padding-block-end: calc(2rem + 72px); }
  .loc__city { position: static; text-align: start; margin-block-start: 1rem; }
  .meet__stage { aspect-ratio: 4 / 3; }
  .tour__stage { aspect-ratio: 4 / 3; }
}
@media (max-width: 767px) {
  :root { --fs-body: 1rem; --gutter: 1.25rem; }
  .hero { min-block-size: 100svh; }
  .hero__content { padding-block-start: 8rem; }
  .hero__title { max-inline-size: none; }
  .hero__actions .btn { inline-size: 100%; justify-content: space-between; }
  .hero__foot { flex-direction: column; align-items: flex-start; gap: 1.5rem; padding-block-end: 2rem; }
  .hero__coords, .hero__scroll { display: none; }
  .section__head--row .btn { display: none; }
  .pos__facts, .list-lines--2col { grid-template-columns: minmax(0, 1fr); }
  .row, .row--alt { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .row__n { padding-block-start: 0; }
  .row__media { grid-column: 1; }
  .spec__row { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
  .who__list { grid-template-columns: minmax(0, 1fr); border-inline-start: 0; }
  .who__list li { border-inline-end: 0; min-block-size: 0; padding-block-start: 3rem; }
  .who__list::after { display: none; }
  .gal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .g-4, .g-5, .g-6, .g-7, .g-8 { grid-column: span 1; }
  .gal__item:nth-child(1), .gal__item:nth-child(4), .gal__item:nth-child(8), .gal__item:nth-child(11) { grid-column: span 2; }
  .r-45, .r-34, .r-43, .r-32 { aspect-ratio: 1 / 1; } .r-169 { aspect-ratio: 16 / 10; }
  .gal__item:nth-child(1), .gal__item:nth-child(8), .gal__item:nth-child(11) { aspect-ratio: 3 / 2; }
  .gal__cap { opacity: 1; transform: none; }
  .vip__grid { grid-template-columns: minmax(0, 1fr); }
  .form__grid { grid-template-columns: minmax(0, 1fr); }
  .form__foot { flex-direction: column; align-items: stretch; }
  .form__submit { inline-size: 100%; justify-content: space-between; }
  .footer__grid, .partners { grid-template-columns: minmax(0, 1fr); }
  .footer__bottom { flex-direction: column; }
  .final { min-block-size: 80vh; }
  .final__actions { flex-direction: column; inline-size: 100%; }
  .final__actions .btn { justify-content: space-between; }
  .lightbox__nav { inset-block-start: auto; inset-block-end: 1rem; transform: none; inline-size: 48px; block-size: 48px; }
  .lightbox__frame img { max-block-size: 68vh; }
  .strip__panel, .strip__panel:first-child { inline-size: 86vw; block-size: 60vh; }
  .svc__head { padding-block: 1rem; }
  .book { padding-block-end: calc(var(--space-section) + 2rem); }
  .tour__start { padding: .5rem 1rem .5rem .5rem; gap: .75rem; }
  [dir="rtl"] .tour__start { padding: .5rem .5rem .5rem 1rem; }
  .tour__ring { inline-size: 52px; block-size: 52px; }
  .tour__hud { inset-block-end: .75rem; inset-inline: .75rem; }
  .tour__hint { display: none; }
}
@media (max-width: 400px) {
  .nav__wordmark { display: none; }
  :root { --fs-display-xl: clamp(2.6rem, 13vw, 3.4rem); --fs-display: clamp(2.1rem, 10.5vw, 2.8rem); --fs-display-md: clamp(1.9rem, 9vw, 2.4rem); }
  .lang__btn { min-inline-size: 38px; }
  .inc__number { font-size: 5rem; }
  .value__amount { font-size: 4.6rem; }
}
@media (min-width: 1600px) {
  :root { --container: 1520px; }
}
@media (min-width: 1920px) {
  :root { --container: 1640px; --fs-body: 1.125rem; }
}

/* ------------------------------------------------------------ 14 Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .hero__media img { transform: none; }
  .hero__scroll-line::after { display: none; }
}
html.reduced-motion .hero__media img { transform: none; }

/* ------------------------------------------------------------ 15 Language / RTL */
html[data-lang="ar"] body { --font-body: var(--font-ar); }
html[data-lang="ku"] body { --font-body: var(--font-ku); }
html[data-lang="zh"] body { --font-body: var(--font-zh); }
html[data-lang="ar"] .display, html[data-lang="ku"] .display,
html[data-lang="ar"] .row__title, html[data-lang="ku"] .row__title,
html[data-lang="ar"] .svc__t, html[data-lang="ku"] .svc__t,
html[data-lang="ar"] .strip__word, html[data-lang="ku"] .strip__word,
html[data-lang="ar"] .who__list h3, html[data-lang="ku"] .who__list h3,
html[data-lang="ar"] .menu__links a, html[data-lang="ku"] .menu__links a,
html[data-lang="ar"] .loc__city-name, html[data-lang="ku"] .loc__city-name {
  text-transform: none; letter-spacing: 0; line-height: 1.22; font-weight: 600;
}
html[data-lang="ar"] .display--xl, html[data-lang="ku"] .display--xl { font-weight: 500; line-height: 1.16; font-size: clamp(2.6rem, 7vw, 7rem); }
html[data-lang="ar"] .display, html[data-lang="ku"] .display { font-size: clamp(2.2rem, 4.8vw, 4.8rem); }
html[data-lang="ar"] .display--md, html[data-lang="ku"] .display--md { font-size: clamp(1.9rem, 3.6vw, 3.5rem); }
html[data-lang="ar"] .reveal-lines .line, html[data-lang="ku"] .reveal-lines .line { padding-block: .12em; margin-block: -.12em; }
html[data-lang="ar"] .label, html[data-lang="ku"] .label,
html[data-lang="ar"] .btn, html[data-lang="ku"] .btn,
html[data-lang="ar"] .link-arrow, html[data-lang="ku"] .link-arrow,
html[data-lang="ar"] .nav__links a, html[data-lang="ku"] .nav__links a,
html[data-lang="ar"] .hero__eyebrow, html[data-lang="ku"] .hero__eyebrow,
html[data-lang="ar"] .hero__facts, html[data-lang="ku"] .hero__facts,
html[data-lang="ar"] .svc__s, html[data-lang="ku"] .svc__s,
html[data-lang="ar"] .svc__tag, html[data-lang="ku"] .svc__tag,
html[data-lang="ar"] .svc__hint, html[data-lang="ku"] .svc__hint,
html[data-lang="ar"] .spec__row dt, html[data-lang="ku"] .spec__row dt,
html[data-lang="ar"] .inc__speed-title, html[data-lang="ku"] .inc__speed-title,
html[data-lang="ar"] .meet__tab, html[data-lang="ku"] .meet__tab,
html[data-lang="ar"] .meet__stat-l, html[data-lang="ku"] .meet__stat-l,
html[data-lang="ar"] .vip__k, html[data-lang="ku"] .vip__k, html[data-lang="ar"] .vip__s, html[data-lang="ku"] .vip__s, html[data-lang="ar"] .vip__nl, html[data-lang="ku"] .vip__nl,
html[data-lang="ar"] .hosp__cafe, html[data-lang="ku"] .hosp__cafe,
html[data-lang="ar"] .value__note, html[data-lang="ku"] .value__note,
html[data-lang="ar"] .sec__status, html[data-lang="ku"] .sec__status,
html[data-lang="ar"] .tour__sub, html[data-lang="ku"] .tour__sub, html[data-lang="ar"] .tour__start, html[data-lang="ku"] .tour__start, html[data-lang="ar"] .tour__hint, html[data-lang="ku"] .tour__hint, html[data-lang="ar"] .tour__scene-tag, html[data-lang="ku"] .tour__scene-tag,
html[data-lang="ar"] .loc__addr-l, html[data-lang="ku"] .loc__addr-l, html[data-lang="ar"] .loc__city-country, html[data-lang="ku"] .loc__city-country,
html[data-lang="ar"] .contact__title, html[data-lang="ku"] .contact__title, html[data-lang="ar"] .contact__l, html[data-lang="ku"] .contact__l, html[data-lang="ar"] .contact__sub, html[data-lang="ku"] .contact__sub, html[data-lang="ar"] .contact__group, html[data-lang="ku"] .contact__group,
html[data-lang="ar"] .field label, html[data-lang="ku"] .field label, html[data-lang="ar"] .form__result-t, html[data-lang="ku"] .form__result-t,
html[data-lang="ar"] .footer__col h3, html[data-lang="ku"] .footer__col h3, html[data-lang="ar"] .footer__tag, html[data-lang="ku"] .footer__tag, html[data-lang="ar"] .footer__group, html[data-lang="ku"] .footer__group, html[data-lang="ar"] .partners__r, html[data-lang="ku"] .partners__r,
html[data-lang="ar"] .row__cap, html[data-lang="ku"] .row__cap, html[data-lang="ar"] .gal__cap, html[data-lang="ku"] .gal__cap, html[data-lang="ar"] .lightbox__cap, html[data-lang="ku"] .lightbox__cap,
html[data-lang="ar"] .mobile-cta, html[data-lang="ku"] .mobile-cta, html[data-lang="ar"] .cursor__label, html[data-lang="ku"] .cursor__label, html[data-lang="ar"] .svc__big-l, html[data-lang="ku"] .svc__big-l,
html[data-lang="ar"] .strip__i, html[data-lang="ku"] .strip__i, html[data-lang="ar"] .menu__n, html[data-lang="ku"] .menu__n, html[data-lang="ar"] .hero__scroll, html[data-lang="ku"] .hero__scroll {
  letter-spacing: 0; text-transform: none;
}
html[data-lang="ar"] .label, html[data-lang="ku"] .label, html[data-lang="ar"] .field label, html[data-lang="ku"] .field label,
html[data-lang="ar"] .contact__l, html[data-lang="ku"] .contact__l, html[data-lang="ar"] .footer__col h3, html[data-lang="ku"] .footer__col h3,
html[data-lang="ar"] .hero__eyebrow, html[data-lang="ku"] .hero__eyebrow, html[data-lang="ar"] .svc__s, html[data-lang="ku"] .svc__s,
html[data-lang="ar"] .inc__speed-title, html[data-lang="ku"] .inc__speed-title, html[data-lang="ar"] .meet__stat-l, html[data-lang="ku"] .meet__stat-l,
html[data-lang="ar"] .vip__k, html[data-lang="ku"] .vip__k, html[data-lang="ar"] .loc__addr-l, html[data-lang="ku"] .loc__addr-l { font-size: .82rem; }
html[data-lang="ar"] .btn, html[data-lang="ku"] .btn, html[data-lang="ar"] .nav__links a, html[data-lang="ku"] .nav__links a,
html[data-lang="ar"] .link-arrow, html[data-lang="ku"] .link-arrow, html[data-lang="ar"] .mobile-cta, html[data-lang="ku"] .mobile-cta { font-size: .92rem; font-weight: 600; }
html[data-lang="ar"] .hero__facts, html[data-lang="ku"] .hero__facts, html[data-lang="ar"] .meet__tab, html[data-lang="ku"] .meet__tab,
html[data-lang="ar"] .gal__cap, html[data-lang="ku"] .gal__cap, html[data-lang="ar"] .row__cap, html[data-lang="ku"] .row__cap { font-size: .8rem; }
html[data-lang="ar"] .cursor__label, html[data-lang="ku"] .cursor__label { font-size: .62rem; }
html[data-lang="ar"] .loader__text, html[data-lang="ku"] .loader__text, html[data-lang="zh"] .loader__text { font-family: var(--font-latin); }
html[data-lang="zh"] .display { letter-spacing: .02em; line-height: 1.12; font-weight: 500; }
html[data-lang="zh"] .display--xl { line-height: 1.08; font-size: clamp(2.6rem, 7vw, 7rem); }
html[data-lang="zh"] .label, html[data-lang="zh"] .btn, html[data-lang="zh"] .nav__links a, html[data-lang="zh"] .field label { letter-spacing: .1em; }
html[data-lang="zh"] .btn { font-size: .86rem; }
[dir="rtl"] .svc__head, [dir="rtl"] .row__body { text-align: start; }
