/* =============================================================
   GTB — Design tokens
============================================================= */
:root{
  --navy:        #071A2B;
  --navy-soft:   #0E2A42;
  --off-white:   #F8F7F2;
  --white:       #FFFFFF;
  --gold:        #FED80D;
  --gold-light:  #FED80D;
  --gold-dark:   #9A5B06;
  --gold-grad:   linear-gradient(135deg, var(--gold), var(--gold-light), var(--gold-dark));
  --gold-grad-soft: linear-gradient(120deg, #DC9D2D 0%, #E8B958 100%);
  --ink-70:      rgba(7,26,43,.7);
  --ink-55:      rgba(7,26,43,.55);
  --line:        rgba(7,26,43,.10);

  --font-display: 'Fraunces', serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;

  --shadow-sm: 0 4px 16px rgba(7,26,43,.08);
  --shadow-md: 0 12px 32px rgba(7,26,43,.12);
  --shadow-lg: 0 24px 64px rgba(7,26,43,.18);
  --shadow-gold: 0 10px 30px rgba(220,157,45,.35);

  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 32px;

  --ease: cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--navy);
  background:var(--off-white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

a{text-decoration:none; color:inherit;}
ul{list-style:none; margin:0; padding:0;}
img{max-width:100%; display:block;}
button{font-family:inherit; cursor:pointer;}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

.container{max-width:1240px; margin-inline:auto; padding-inline:24px;}

/* =============================================================
   Type helpers
============================================================= */
.eyebrow{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold-light);
  margin:0 0 14px;
  font-weight:600;
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:26px; height:1px;
  background:var(--gold-light);
  display:inline-block;
}
.eyebrow--dark{color:var(--gold-dark);}
.eyebrow--dark::before{background:#FED80D;}

.section-heading{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(1.9rem, 3.4vw, 2.85rem);
  line-height:1.14;
  letter-spacing:-.01em;
  margin:0 0 18px;
  color:var(--navy);
}
.section-heading--light{color:var(--white);}
.section-sub{
  font-size:1.05rem;
  color:var(--ink-55);
  max-width:640px;
  line-height:1.6;
  margin:0;
}
.section-intro{max-width:760px; margin-bottom:56px;}
.body-copy{
  font-size:1.02rem;
  line-height:1.75;
  color:var(--ink-70);
  margin:0 0 16px;
}
.text-gold-grad{
  background:var(--gold-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:#d93776;
}

/* =============================================================
   Buttons
============================================================= */
.btn-gold, .btn-navy, .btn-ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-family:var(--font-body);
  font-weight:600;
  font-size:.94rem;
  padding:15px 30px;
  border-radius:999px;
  border:none;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease);
  white-space:nowrap;
}
.btn-gold{
  background:#fed80d;
  color:var(--navy);
  
}
.btn-gold:hover{transform:translateY(-3px); box-shadow:0 16px 40px rgba(220,157,45,.45);}
.btn-gold.btn-sm{padding:11px 22px; font-size:.85rem;}
.btn-gold.btn-lg{padding:18px 38px; font-size:1rem;}

.btn-navy{
  background:#3169AD;
  color:var(--off-white);
  
}
.btn-navy:hover{transform:translateY(-3px); background:var(--navy-soft);}

.btn-ghost{
  background:transparent;
  color:var(--white);
  border:1px solid rgba(255,255,255,.4);
  padding:14px 28px;
}
.btn-ghost i{font-size:.75rem; transition:transform .3s var(--ease);}
.btn-ghost:hover{border-color:#35A4E1; color:#1F6FA8; background:rgba(255,255,255,.8);}
.btn-ghost:hover i{transform:translateY(2px);}

/* =============================================================
   Header
============================================================= */
.gtb-header{
  position:fixed; inset:0 0 auto 0; z-index:1000;
  padding:22px 0;
  transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
  border-bottom:1px solid transparent;
  background: #3169ad14;
}
.gtb-header.is-scrolled{
  background:rgba(248,247,242,.92);
  backdrop-filter:blur(14px);
  padding:14px 0;
  box-shadow:0 4px 24px rgba(7,26,43,.08);
  border-color:var(--line);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; }

.brand{display:flex; align-items:center; gap:10px; color:var(--navy); transition:color .4s var(--ease);}
.gtb-header.is-scrolled .brand{color:var(--navy);}
.brand-mark{width:30px; height:30px; color:var(--gold);}
.brand-mark svg{width:100%; height:100%;}
.brand-word{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.5rem;
  letter-spacing:.02em;
}

.main-nav ul{display:flex; align-items:center; gap:36px;}
.nav-link{
  font-size:.92rem; font-weight:500; color:rgba(7,26,43,.78);
  position:relative; padding-bottom:4px; transition:color .4s var(--ease);
}
.nav-link::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px;
  background:var(--gold); transition:right .35s var(--ease);
}
.nav-link:hover, .nav-link.active{color:var(--navy);}
.nav-link:hover::after, .nav-link.active::after{right:0;}
.gtb-header.is-scrolled .nav-link{color:var(--ink-70);}
.gtb-header.is-scrolled .nav-link:hover, .gtb-header.is-scrolled .nav-link.active{color:var(--navy);}

.header-actions{display:flex; align-items:center; gap:18px;}

.hamburger{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; background:transparent; border:none; padding:0;
}
.hamburger span{width:100%; height:2px; background:#000; transition:all .35s var(--ease); border-radius:2px;}
.gtb-header.is-scrolled .hamburger span{background:var(--navy);}
.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.is-open span:nth-child(2){opacity:0;}
.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-nav{
  max-height:0; overflow:hidden; opacity:0;
  transition:max-height .45s var(--ease), opacity .3s var(--ease), padding .45s var(--ease);
  background:rgba(7,26,43,.98); backdrop-filter:blur(14px);
}
.mobile-nav.is-open{max-height:420px; opacity:1; padding:8px 24px 26px;}
.mobile-link{display:block; padding:13px 0; color:var(--off-white); font-size:1.02rem; border-bottom:1px solid rgba(255,255,255,.08);}

@media (max-width:991.98px){
  .main-nav{display:none;}
  .header-actions .btn-gold{display:none;}
  .hamburger{display:flex;}
}

/* =============================================================
   Hero
============================================================= */
.hero{
  position:relative;
  height:100vh; min-height:680px;
  overflow:hidden;
  background:var(--navy);
}
.hero-slides{position:relative; width:100%; height:100%;}
.hero-slide{
  position:absolute; inset:0;
  opacity:0; visibility:hidden;
  transition:opacity 1.1s var(--ease), visibility 1.1s;
}
.hero-slide.is-active{opacity:1; visibility:visible; z-index:2;}

.hero-bg{position:absolute; inset:0; background:var(--navy); background-size:cover; background-position:center;}
.hero-slide.is-active .hero-bg{animation:kenburns 9s var(--ease) forwards;}
@keyframes kenburns{from{transform:scale(1.08);} to{transform:scale(1);}}

.hero-overlay{
  position:absolute; inset:0;
  /* background:
    radial-gradient(ellipse at 30% 20%, rgba(220,157,45,.14), transparent 55%),
    linear-gradient(180deg, rgba(7,26,43,.55) 0%, rgba(7,26,43,.78) 60%, rgba(7,26,43,.95) 100%); */
}


.hero-content{
  position:relative; z-index:3;
  height:100%;
  display:flex; flex-direction:column; justify-content:center;
  padding-top:100px; padding-bottom:150px;
  
}
.hero-heading{
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(2.6rem, 5vw, 4rem);
  line-height:1.05;
  letter-spacing:-.01em;
  color:var(--white);
  margin:0 0 22px;
}
.hero-desc{
  font-size:1.12rem; line-height:1.7;
  color:rgba(248,247,242,.82);
  max-width:560px;
  margin:0 0 36px;
}
.hero-cta{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}

[data-anim]{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
[data-anim].is-visible{opacity:1; transform:translateY(0);}
[data-anim="fade-right"]{transform:translateX(-36px);}
[data-anim="fade-right"].is-visible{transform:translateX(0);}
[data-anim="fade-left"]{transform:translateX(36px);}
[data-anim="fade-left"].is-visible{transform:translateX(0);}
[data-delay="1"]{transition-delay:.1s;}
[data-delay="2"]{transition-delay:.2s;}
[data-delay="3"]{transition-delay:.3s;}
[data-delay="4"]{transition-delay:.45s;}
[data-delay="5"]{transition-delay:.55s;}
.hero-content [data-anim]{opacity:1; transform:none;} /* hero itself handled by slide fade */

/* Hero decorative scenes (slides 1 & 2, now with matching photography) */
.hero-bg--negotiate{
  background-color:#071A2B;
  background-size:cover;
  background-position:center;
}
.hero-bg--negotiate::after{
  content:"";
  position:absolute; inset:0;
  /* background:
    radial-gradient(ellipse 60% 50% at 78% 30%, rgba(220,157,45,.22), transparent 60%),
    linear-gradient(155deg, rgba(7,26,43,.82) 0%, rgba(14,42,66,.78) 55%, rgba(7,26,43,.9) 100%); */
}
.hero-scene{
  position:absolute; right:6%; top:50%; transform:translateY(-50%);
  display:flex; align-items:center; gap:22px;
  opacity:.9;
}
.scene-tag{
  font-family:var(--font-mono);
  background:rgba(248,247,242,.06);
  border:1px solid rgba(255,242,135,.25);
  backdrop-filter:blur(6px);
  border-radius:16px;
  padding:20px 26px;
  display:flex; flex-direction:column; gap:6px;
  min-width:190px;
  animation:float 6s ease-in-out infinite;
}
.scene-tag--vip{animation-delay:.6s; border-color:rgba(220,157,45,.5); background:rgba(220,157,45,.08);}
.scene-tag-label{font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(248,247,242,.55);}
.scene-tag--vip .scene-tag-label{color:var(--gold-light);}
.scene-tag-value{font-size:1.3rem; font-weight:600; color:var(--white);}
.scene-tag--retail .scene-tag-value{text-decoration:line-through; color:rgba(248,247,242,.45);}
.scene-tag--vip .scene-tag-value{color:var(--gold-light);}
.scene-arrow{color:var(--gold); font-size:1.4rem; animation:pulse-x 2.4s ease-in-out infinite;}
@keyframes float{0%,100%{transform:translateY(0);} 50%{transform:translateY(-12px);}}
@keyframes pulse-x{0%,100%{transform:translateX(0); opacity:.6;} 50%{transform:translateX(8px); opacity:1;}}

.hero-bg--group{
  background-color:#071A2B;
  background-size:cover;
  background-position:center;
}
.hero-bg--group::after{
  content:"";
  position:absolute; inset:0;
  /* background:
    radial-gradient(ellipse 60% 50% at 25% 35%, rgba(220,157,45,.18), transparent 60%),
    linear-gradient(155deg, rgba(7,26,43,.82) 0%, rgba(14,42,66,.78) 55%, rgba(7,26,43,.9) 100%); */
}
.scene-orbit{
  position:absolute; right:8%; top:50%; transform:translateY(-50%);
  width:340px; height:340px;
}
.orbit-center{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:88px; height:88px; border-radius:50%;
  background:var(--gold-grad-soft);
  display:flex; align-items:center; justify-content:center;
  color:var(--navy); font-size:1.6rem;
  box-shadow:0 0 60px rgba(220,157,45,.4);
}
.orbit-dot{
  position:absolute; width:56px; height:56px; border-radius:50%;
  background:rgba(248,247,242,.08); border:1px solid rgba(255,242,135,.22);
  display:flex; align-items:center; justify-content:center;
  color:var(--gold-light); font-size:1.05rem;
  animation:orbit-float 5s ease-in-out infinite;
}
.orbit-dot--1{left:0; top:12%; animation-delay:0s;}
.orbit-dot--2{right:0; top:8%; animation-delay:1.2s;}
.orbit-dot--3{left:6%; bottom:4%; animation-delay:2s;}
.orbit-dot--4{right:8%; bottom:0; animation-delay:.6s;}
@keyframes orbit-float{0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);}}

.hero-bg--dubai{position:absolute; inset:0;}

/* Slider controls */
.hero-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:48px; height:48px; border-radius:50%;
  background:rgba(248,247,242,.1); border:1px solid rgba(248,247,242,.25);
  color:var(--white); display:flex; align-items:center; justify-content:center;
  transition:background .3s var(--ease), border-color .3s var(--ease);
}
.hero-arrow:hover{background:var(--gold); color:var(--navy); border-color:var(--gold);}
.hero-arrow--prev{left:32px;}
.hero-arrow--next{right:32px;}
@media (max-width:767.98px){.hero-arrow{display:none;}}

.hero-dots{
  position:absolute; left:50%; bottom:150px; transform:translateX(-50%); z-index:5;
  display:flex; gap:10px;
}
.hero-dot{
  width:9px; height:9px; border-radius:50%; border:1px solid rgba(248,247,242,.5);
  background:transparent; padding:0; transition:all .35s var(--ease);
}
.hero-dot.is-active{background:#FED80D; border-color:#FED80D; width:26px; border-radius:6px;}

/* Bargain meter — signature element */
.bargain-meter{
  position:absolute; left:50%; bottom:-2px; transform:translate(-50%, 50%); z-index:6;
  width:min(920px, calc(100% - 40px));
  background:var(--white);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-lg);
  padding:26px 32px 20px;
}
.bargain-meter-row{display:flex; align-items:center; gap:24px;}
.bm-col{display:flex; flex-direction:column; gap:6px;}
.bm-col--end{align-items:flex-end; text-align:right;}
.bm-label{font-family:var(--font-mono); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-55);}
.bm-label--gold{color:var(--gold-dark);}
.bm-price{font-family:var(--font-display); font-size:1.35rem; font-weight:600; color:var(--navy);}
.bm-price--strike{text-decoration:line-through; color:var(--ink-55); font-weight:500;}
.bm-price--gold{color:var(--gold-dark);}
.bm-track{
  flex:1; position:relative; height:8px; background:var(--off-white); border-radius:99px; overflow:visible;
  margin-top:10px;
}
.bm-fill{
  position:absolute; inset:0; width:0%; border-radius:99px;
  background:var(--gold-grad-soft);
  transition:width 1.6s var(--ease);
}
.bm-pct{
  position:absolute; right:0; top:-30px;
  font-family:var(--font-mono); font-weight:600; font-size:.85rem; color:var(--gold-dark);
  white-space:nowrap;
}
.bm-pct-word{font-family:var(--font-body); font-weight:500; color:var(--ink-55); font-size:.78rem;}
.bm-caption{
  margin:16px 0 0; font-size:.78rem; color:var(--ink-55); text-align:center;
  display:flex; align-items:center; justify-content:center; gap:8px;
}
.bm-caption i{color:var(--gold);}

@media (max-width:767.98px){
  .bargain-meter{padding:20px 18px 16px;}
  .bargain-meter-row{flex-wrap:wrap; gap:16px;}
  .bm-track{order:3; width:100%; flex-basis:100%; margin-top:22px;}
  .bm-pct{top:-26px;}
}

/* =============================================================
   About
============================================================= */
.about{padding:120px 0 120px; background:#3D97D8; position:relative;}
.about-media{position:relative; max-width:520px;}
.about-media-frame{
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;
}
.about-media-frame img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease);}
.about-media:hover .about-media-frame img{transform:scale(1.06);}
.about-decor{
  position:absolute; width:130px; height:130px; right:-30px; top:-30px; z-index:-1;
  border:2px solid #FED80D; border-radius:var(--radius-lg);
}
.about-badge{
  position:absolute; left:-30px; bottom:-28px;
  background:var(--navy); color:var(--white);
  border-radius:var(--radius-md);
  padding:18px 22px;
  display:flex; align-items:center; gap:14px;
  box-shadow:var(--shadow-lg);
  max-width:260px;
}
.about-badge i{font-size:1.4rem; color:var(--gold-light);}
.about-badge strong{display:block; font-family:var(--font-display); font-size:1.15rem;}
.about-badge span{font-size:.76rem; color:rgba(248,247,242,.7); line-height:1.3;}
@media (max-width:575.98px){
  .about-badge{left:0; bottom:-24px; padding:14px 16px;}
  .about-decor{display:none;}
}

.highlight-chip{
  display:flex; align-items:center; gap:14px;
  background:var(--white);
  border:1px solid rgba(220,157,45,.35);
  border-radius:var(--radius-sm);
  padding:18px 22px;
  margin-top:8px;
  box-shadow:var(--shadow-sm);
}
.highlight-chip i{color:var(--gold); font-size:1.2rem;}
.highlight-chip span{font-family:var(--font-display); font-weight:600; font-size:1.06rem; color:var(--navy);}

/* =============================================================
   Stats / infographic strip
============================================================= */
.stats{padding:0 0 120px; background:var(--off-white);}
.stats-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
}
.stats-visual{
 
  border-radius:var(--radius-lg);
 
  
  position:relative;
  overflow:hidden;
}
.stats-visual::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 60% at 80% 10%, rgba(220,157,45,.18), transparent 60%);
}
.stats-visual svg{width:100%; height:auto; position:relative;}
.sv-cart, .sv-person{animation:float 7s ease-in-out infinite;}
.sv-chart{stroke-dasharray:520; stroke-dashoffset:520; animation:draw-line 2.4s var(--ease) .3s forwards;}
.sv-tag{animation:float 6s ease-in-out infinite; transform-origin:center;}
@keyframes draw-line{to{stroke-dashoffset:0;}}

.stats-cards{
  display:grid; grid-template-columns:1fr 1fr; gap:20px;
}
.stat-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:28px 24px;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.stat-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:rgba(220,157,45,.35);}
.stat-icon{
  width:44px; height:44px; border-radius:12px;
  background:var(--off-white); color:var(--gold-dark);
  display:flex; align-items:center; justify-content:center;
  font-size:1.05rem; margin-bottom:18px;
}
.stat-num{
  display:block;
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(1.6rem, 2.4vw, 2.1rem);
  color:var(--navy);
  letter-spacing:-.01em;
}
.stat-label{display:block; font-size:.85rem; color:var(--ink-55); margin-top:6px;}

@media (max-width:991.98px){
  .stats-grid{grid-template-columns:1fr; gap:40px;}
  .stats-visual{max-width:480px; margin-inline:auto; width:100%;}
}
@media (max-width:575.98px){
  .stats-cards{grid-template-columns:1fr;}
}

/* =============================================================
   How it works
============================================================= */
.how-it-works{padding:120px 0; background:var(--white);}
.steps{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:0;
  position:relative;
}
.steps::before{
  content:"";
  position:absolute; top:74px; left:calc(12.5% ); right:calc(12.5%);
  height:1px; background:repeating-linear-gradient(90deg, rgba(7,26,43,.18) 0 8px, transparent 8px 16px);
}
.step{position:relative; padding:0 20px; text-align:left;}
.step-index{
  display:block; font-family:var(--font-mono); font-size:.78rem; color:var(--gold-dark); font-weight:600; margin-bottom:18px;
}
.step-icon{
  width:64px; height:64px; border-radius:50%;
  background:var(--off-white); border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  font-size:1.35rem; color:var(--gold-dark);
  margin-bottom:22px; position:relative; z-index:2;
  transition:transform .4s var(--ease), background .4s var(--ease), color .4s var(--ease);
}
.step:hover .step-icon{background:var(--gold-grad-soft); color:var(--navy); transform:translateY(-6px);}
.step h3{font-family:var(--font-display); font-size:1.2rem; font-weight:600; margin:0 0 10px;}
.step p{font-size:.94rem; line-height:1.65; color:var(--ink-55); margin:0;}

@media (max-width:991.98px){
  .steps{grid-template-columns:1fr 1fr; row-gap:48px;}
  .steps::before{display:none;}
}
@media (max-width:575.98px){
  .steps{grid-template-columns:1fr;}
}

/* =============================================================
   Why GTB
============================================================= */
.why-gtb{padding:120px 0; background:var(--navy); position:relative; overflow:hidden;}
.why-gtb::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 40% at 85% 0%, rgba(220,157,45,.14), transparent 60%);
  pointer-events:none;
}
.why-gtb .section-intro{position:relative;}
.why-gtb .section-sub{color:rgba(248,247,242,.6);}
.why-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; position:relative;
}
.why-card{
  background:rgba(248,247,242,.04);
  border:1px solid rgba(248,247,242,.1);
  border-radius:var(--radius-md);
  padding:32px 28px;
  transition:transform .4s var(--ease), background .4s var(--ease), border-color .4s var(--ease);
}
.why-card:hover{transform:translateY(-8px); background:rgba(248,247,242,.07); border-color:rgba(220,157,45,.4);}
.why-icon{
  width:52px; height:52px; border-radius:14px;
  background:var(--gold-grad-soft);
  display:flex; align-items:center; justify-content:center;
  color:var(--navy); font-size:1.15rem; margin-bottom:20px;
}
.why-card h3{font-family:var(--font-display); font-size:1.15rem; color:var(--white); margin:0 0 10px; font-weight:600;}
.why-card p{font-size:.92rem; line-height:1.65; color:rgba(248,247,242,.6); margin:0;}

@media (max-width:991.98px){.why-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:575.98px){.why-grid{grid-template-columns:1fr;}}

/* =============================================================
   Dubai Coming Soon
============================================================= */
.dubai-cta{
  position:relative; padding:100px 0; overflow:hidden;
  isolation:isolate;
}
.dubai-bg{
  position:absolute; inset:0; background-size:cover; background-position:center; background-attachment:fixed;
  z-index:-2;
}
.dubai-overlay{
  position:absolute; inset:0; z-index:-1;
  background: linear-gradient(180deg, rgba(15, 102, 207, 0.49) 0%, rgba(16, 122, 244, 0.42) 45%, rgba(36, 133, 248, 0.55) 100%);}
.dubai-inner{max-width:680px; margin-inline:auto; text-align:center;}
.uae-pin{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--gold-light);
  background:rgba(220,157,45,.1); border:1px solid rgba(220,157,45,.3);
  padding:8px 16px; border-radius:99px; margin-bottom:26px;
}
.dubai-cta .eyebrow{justify-content:center;}
.dubai-heading{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(2rem, 4vw, 3.1rem); line-height:1.16;
  color:var(--white); margin:0 0 22px;
}
.dubai-text{font-size:1.15rem; color:rgba(248,247,242,.85); margin:0 0 36px;}

@media (max-width:767.98px){.dubai-bg{background-attachment:scroll;}}

/* =============================================================
   Registration form
============================================================= */
.register{padding:120px 0; background:var(--off-white);}
.register-card{
  margin-inline:auto;
  background:var(--white);
  border-radius:var(--radius-lg);
 
  padding:clamp(32px, 5vw, 64px);
  position:relative;
}
.register-head{text-align:center; margin-bottom:40px;}
.register-head .eyebrow{justify-content:center;}
.register-head .section-sub{margin-inline:auto;}

.form-field{display:flex; flex-direction:column; gap:8px;}
.form-field label{font-size:.86rem; font-weight:600; color:var(--navy);}
.form-field label .optional{font-weight:400; color:var(--ink-55);}
.form-field input, .form-field textarea{
  width:100%;
  font-family:var(--font-body);
  font-size:.96rem;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--off-white);
  color:var(--navy);
  transition:border-color .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease);
  resize:vertical;
}
.form-field input:focus, .form-field textarea:focus{
  outline:none; border-color:var(--gold); background:var(--white);
  box-shadow:0 0 0 4px rgba(220,157,45,.14);
}
.form-field input::placeholder, .form-field textarea::placeholder{color:var(--ink-55); opacity:.7;}

.register-form .btn-gold{position:relative;}
.privacy-text{
  text-align:center; font-size:.82rem; color:var(--ink-55); margin:20px 0 0;
  display:flex; align-items:center; justify-content:center; gap:8px;
}
.privacy-text i{color:var(--gold);}

.form-success{
  display:none; align-items:flex-start; gap:14px;
  margin-top:22px; padding:18px 20px;
  background:rgba(220,157,45,.08); border:1px solid rgba(220,157,45,.3);
  border-radius:14px;
}
.form-success.is-visible{display:flex;}
.form-success i{color:var(--gold-dark); font-size:1.3rem; margin-top:2px;}
.form-success strong{display:block; font-family:var(--font-display); font-size:1.02rem; margin-bottom:2px;}
.form-success span{font-size:.88rem; color:var(--ink-70);}

/* =============================================================
   Footer
============================================================= */
.site-footer{background:#3D97D8; color:#fff; padding:90px 0 0;}
.footer-top{
  display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:56px;
  padding-bottom:64px; border-bottom:1px solid rgba(248,247,242,.1);
}
.brand--footer{color:var(--white); margin-bottom:16px; display:inline-flex;}
.footer-tagline{font-family:var(--font-display); font-size:1.1rem; color:var(--gold-light); margin:0 0 14px;}
.footer-desc{font-size:.92rem; line-height:1.7; max-width:340px; margin:0;}
.footer-links h4, .footer-contact h4{
  font-family:var(--font-mono); font-size:1rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold-light); margin:0 0 20px;
}
.footer-links li, .footer-contact li{margin-bottom:13px; font-size:.92rem; display:flex; align-items:center; gap:10px;}
.footer-links a{transition:color .3s var(--ease);}
.footer-links a:hover{color:var(--gold-light);}
.footer-contact i{color:#FED80D; width:16px;}
.footer-social{display:flex; gap:12px; margin-top:22px;}
.footer-social a{
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(248,247,242,.2);
  display:flex; align-items:center; justify-content:center; transition:all .3s var(--ease);
}
.footer-social a:hover{background:var(--gold); color:var(--navy); border-color:var(--gold);}

.footer-bottom{
  display:flex; align-items:center; justify-content:space-between;
  padding:26px 0; font-size:.82rem; color:#fff;
}

@media (max-width:767.98px){
  .footer-top{grid-template-columns:1fr; gap:40px;}
  .footer-bottom{flex-direction:column; gap:8px; text-align:center;}
}

/* =============================================================
   Section reveal (generic, non-hero)
============================================================= */
section [data-anim]{transition-duration:.9s;}

.brand-word {
  font-family: var(--font-display);
  font-weight: 300;
  font-style: normal;
  font-size: 1.65rem;
  letter-spacing: 0.06em;
  text-transform: capitalize;
}
/* =============================================================
   How it works
============================================================= */
.how-it-works{padding:120px 0; background:#fff;}
.steps{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:24px;
}
.step{
  position:relative;
  background:#F8F7F2;
  border-radius:var(--radius-md);
  padding:36px 28px 32px;
  
  border:1px solid var(--line);
  text-align:left;
  overflow:hidden;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s var(--ease);
}
.step::before{
  content:"";
  position:absolute; inset:0 0 auto 0; height:4px;
  background:#3D97D8;
  transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease);
}
.step:hover{transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:#3169AD;}
.step:hover::before{transform:scaleX(1);}

.step-index{
  display:inline-block;
  font-family:var(--font-display); font-size:2.4rem; font-weight:600;
  color:var(--off-white);
  -webkit-text-stroke:1.5px rgba(7,26,43,.18);
  line-height:1; margin-bottom:6px;
}

.step-icon{
  width:60px; height:60px; border-radius:16px;
  background:#FED80D;
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; color:#FFF;
  margin-bottom:20px;
  transition:transform .4s var(--ease), background .4s var(--ease);
}
.step:hover .step-icon{background:#FED80D; color:var(--navy); transform:scale(1.08) rotate(-4deg);}

.step h3{font-family:var(--font-display); font-size:1.16rem; font-weight:600; margin:0 0 10px; color:var(--navy);}
.step p{font-size:.92rem; line-height:1.65; color:var(--ink-55); margin:0;}

@media (max-width:991.98px){
  .steps{grid-template-columns:1fr 1fr; row-gap:24px;}
}
@media (max-width:575.98px){
  .steps{grid-template-columns:1fr;}
}

/* =============================================================
   Reference-style shopping banner
   The supplied banner artwork keeps the original light-blue city
   background and adds clean e-commerce illustrations inspired by
   the provided shopping references.
============================================================= */
.hero-bg--negotiate,
.hero-bg--group,
.hero-bg--dubai{
  background-color:#EAF7FF;
  background-size:cover;
  background-position:center center;
}
.hero-bg--negotiate::after,
.hero-bg--group::after{
  background:none;
}
.hero-heading{
  color:var(--navy);
}
.hero-desc{
  color:rgba(7,26,43,.72);
}
.hero .btn-ghost{
  background:rgba(255,255,255,.72);
  color:var(--navy);
  border-color:rgba(7,26,43,.2);
}
.hero .btn-ghost:hover{
  background:#fff;
  color:#1F6FA8;
  border-color:#35A4E1;
}
.hero-arrow{
  background:rgba(255,255,255,.78);
  color:var(--navy);
  border-color:rgba(7,26,43,.15);
}
.hero-dot{
  border-color:rgba(7,26,43,.32);
}
@media (max-width:767.98px){
  .hero-bg--negotiate,
  .hero-bg--group,
  .hero-bg--dubai{
    background-position:68% center;
  }
}


@media (min-width:1800px){
  .container{
    max-width: 1600px;
  }
}


@media (max-width:700px){
.hero-desc{
  display:none;
}
.hero-heading{
  display: none;
}
.hero-cta{
  display: none;
}

.header-inner{
  padding-bottom: 15px;
  padding-top: 15px;
}
.gtb-header.is-scrolled{
  padding:0px 0px;

}
}


@media (min-width:760px){
  .mobile-div{
    display: none;
  }

}




/* =============================================================
   Hero – Tablet (≤ 991.98px)
============================================================= */
@media (max-width:991.98px){
  .hero{height:auto; min-height:640px;}

  .hero-content{padding-top:110px; padding-bottom:170px;}
  .hero-heading{font-size:clamp(2.2rem, 6vw, 3rem);}
  .hero-desc{max-width:480px; font-size:1.05rem;}

  /* decorative scenes crowd the text on smaller screens */
  .hero-scene,
  .scene-orbit{display:none;}

  .hero-dots{bottom:170px;}
}

/* =============================================================
   Hero – Mobile (≤ 767.98px)
============================================================= */
@media (max-width:767.98px){
  .hero{
    height:450px;              /* svh avoids the mobile address-bar jump */
    min-height:450px;
  }

  .hero-bg{background-position:65% center;}   /* adjust to keep the subject visible */

 

  .hero-content{
    justify-content:center;
    text-align:center;
    align-items:center;
    padding-top:90px;
    padding-bottom:230px;       /* room for the taller stacked bargain meter */
  }
  .hero-heading{
    font-size:clamp(1.9rem, 8vw, 2.4rem);
    line-height:1.12;
    margin-bottom:16px;
  }
  .hero-desc{
    font-size:.98rem;
    line-height:1.6;
    max-width:100%;
    margin-bottom:26px;
  }
  .hero-cta{
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:12px;
    width:100%;
    max-width:320px;
  }
  .hero-cta .btn,
  .hero-cta a{width:100%; text-align:center; justify-content:center;}

  .hero-dots{bottom:235px; gap:8px;}
  .hero-dot{width:8px; height:8px;}
  .hero-dot.is-active{width:22px;}

  /* Bargain meter */
  .bargain-meter{
    width:calc(100% - 28px);
    padding:18px 16px 14px;
    border-radius:14px;
  }
  .bargain-meter-row{flex-wrap:wrap; gap:12px 16px;}
  .bm-col{flex:1 1 40%;}
  .bm-price{font-size:1.1rem;}
  .bm-label{font-size:.62rem;}
  .bm-track{
    order:3;
    flex:1 1 100%;
    width:100%;
    margin-top:24px;
  }
  .bm-pct{top:-24px; font-size:.78rem;}
  .bm-caption{
    margin-top:12px;
    font-size:.72rem;
    text-align:center;
    flex-wrap:wrap;
  }
}

/* =============================================================
   Hero – Small phones (≤ 479.98px)
============================================================= */
@media (max-width:479.98px){
  .hero{min-height:450px;}
  .hero-content{padding-top:80px; padding-bottom:250px;}
  .hero-heading{font-size:1.8rem;}
  .hero-desc{font-size:.92rem;}
  .hero-dots{bottom:50px;}

  .bm-price{font-size:1rem;}
  .bargain-meter{padding:16px 14px 12px;}
}
/* =============================================================
   Text below banner – hidden on desktop
============================================================= */
.hero-content.mobile-div{display:none;}

/* =============================================================
   Mobile (≤ 767.98px)
============================================================= */
@media (max-width:767.98px){

  /* hide the text that sits on top of the banner image */
  .hero .hero-content{display:none;}

  /* dots move to the bottom of the image, since the text no longer sits there */
  .hero-dots{bottom:14px;}

  /* text block below the banner */
  .hero-content.mobile-div{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
    height:auto;                  /* overrides the desktop height:100% */
    position:relative;
    z-index:1;
    padding-top:32px;
    padding-bottom:36px;
    padding-left:20px;
    padding-right:20px;
    max-width:100%;
    background:var(--navy);       /* white text needs a dark background */
  }

  .mobile-div .hero-heading{
    font-size:clamp(1.7rem, 7.5vw, 2.2rem);
    line-height:1.12;
    margin:0 0 12px;
  }
  .mobile-div .hero-desc{
    font-size:.95rem;
    line-height:1.6;
    max-width:100%;
    margin:0 0 22px;
  }
  .mobile-div .hero-cta{
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:12px;
    width:100%;
    max-width:300px;
  }
  .mobile-div .hero-cta a{
    width:100%;
    text-align:center;
    justify-content:center;
  }
}

/* Small phones */
@media (max-width:479.98px){
  .mobile-div .hero-heading{font-size:1.6rem;}
  .mobile-div .hero-desc{font-size:.9rem;}
}
/* hidden on desktop */
.hero-content.mobile-div{display:none;}

@media (max-width:767.98px){

  /* hide the text on top of the banner image */
  .hero .hero-content{display:none;}

  .hero-dots{bottom:14px;}

  .hero-content.mobile-div{
    display:block;                 /* plain block, no flex/height side effects */
    position:relative;
    z-index:10;
    height:auto;
    min-height:0;
    padding:32px 20px 36px;
    text-align:center;
    background:#f1f3f7;            /* explicit navy instead of var(--navy) */
  }

  .hero-content.mobile-div .hero-heading{
    display:block;
    opacity:1;
    visibility:visible;
    transform:none;
    color:#ffffff;
    font-size:clamp(1.7rem, 7.5vw, 2.2rem);
    line-height:1.12;
    margin:0 0 12px;
  }

  /* fallback in case the gradient text fill doesn't render */
  .hero-content.mobile-div .hero-heading .text-gold-grad{
    color:#DC9D2D;
  }

  .hero-content.mobile-div .hero-desc{
    display:block;
    opacity:1;
    visibility:visible;
    transform:none;
    color:rgba(248,247,242,.9);
    font-size:.95rem;
    line-height:1.6;
    max-width:100%;
    margin:0 auto 22px;
  }

  .hero-content.mobile-div .hero-cta{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    width:100%;
    max-width:300px;
    margin:0 auto;
  }

  .hero-content.mobile-div .hero-cta a{
    width:100%;
    text-align:center;
    justify-content:center;
  }
}

@media (max-width:479.98px){
  .hero-content.mobile-div .hero-heading{font-size:1.6rem;}
  .hero-content.mobile-div .hero-desc{font-size:.9rem;}
}

/* ==============================
   MOBILE HERO BANNER IMAGES
   ============================== */

   @media (max-width: 767px) {

    /* Slide 1 */
    .hero-slide[data-slide="0"] .hero-bg {
        background-image: url('images/mob-banner2.png') !important;
    }

    /* Slide 2 */
    .hero-slide[data-slide="1"] .hero-bg {
        background-image: url('images/mob-banner1.png') !important;
    }

    /* Slide 3 */
    .hero-slide[data-slide="2"] .hero-bg {
        background-image: url('images/mob-banner3.png') !important;
    }

}