/* =========================================================
   THE ONE TRAVEL — Cinematic Luxury Travel — Moscow
   Palette: Turquoise / Orange / Black / Dark Gray
   ========================================================= */

:root{
  --c-bg:        #07111a;
  --c-bg-2:      #0c1923;
  --c-bg-3:      #11212e;
  --c-ink:       #e9eef2;
  --c-ink-soft:  #b6c2cc;
  --c-ink-mute:  #7e8b95;
  --c-line:      rgba(255,255,255,.08);
  --c-line-2:    rgba(255,255,255,.14);

  /* Brand colors — matched to logo */
  --c-turq:      #2bb3a8;
  --c-turq-2:    #3dcfc3;
  --c-turq-deep: #1d8079;

  --c-orange:    #e76b54;
  --c-orange-2:  #f08a72;
  --c-orange-deep:#c44a35;

  --c-glass:     rgba(255,255,255,.06);
  --c-glass-2:   rgba(255,255,255,.04);

  --shadow-lux:  0 30px 80px -20px rgba(0,0,0,.65), 0 8px 24px -8px rgba(0,0,0,.5);
  --shadow-card: 0 18px 50px -18px rgba(0,0,0,.7);

  --r-sm: 10px;
  --r-md: 18px;
  --r-lg: 28px;
  --r-xl: 40px;

  --fs-display: 'Playfair Display', 'Cairo', serif;
  --fs-arabic:  'Cairo', 'Tajawal', sans-serif;
  --fs-arabic-2:'Tajawal', 'Cairo', sans-serif;

  --container-pad: clamp(1rem, 3vw, 3rem);
}

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

/* Accessibility: skip-to-content link (visible on keyboard focus only) */
.skip-link{
  position: absolute;
  top: -100px;
  right: 1rem;
  z-index: 10000;
  padding: .75rem 1.2rem;
  background: var(--c-orange);
  color: #fff;
  font-weight: 700;
  border-radius: 0 0 10px 10px;
  text-decoration: none;
  transition: top .25s ease;
}
.skip-link:focus{
  top: 0;
  outline: 2px solid #fff;
  outline-offset: 2px;
}

body{
  margin:0;
  font-family: var(--fs-arabic);
  background: var(--c-bg);
  color: var(--c-ink);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  font-weight: 400;
}

/* Atmospheric background — gradient mesh + noise */
body::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(900px 700px at 85% -10%, rgba(43,179,168,.18), transparent 60%),
    radial-gradient(800px 600px at -10% 30%, rgba(231,107,84,.12), transparent 55%),
    radial-gradient(700px 500px at 50% 120%, rgba(43,179,168,.10), transparent 60%);
  pointer-events:none;
}
body::after{
  content:"";
  position: fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity:.45;
  mix-blend-mode: overlay;
}

main, header, footer, section{ position:relative; z-index:1; }

a{ color: inherit; text-decoration:none; }

img{ max-width:100%; display:block; }

::selection{ background: var(--c-orange); color:#000; }

/* Typography helpers */
.eyebrow{
  display:inline-flex; align-items:center; gap:.6rem;
  font-size:.78rem; letter-spacing:.32em;
  text-transform:uppercase;
  color: var(--c-turq-2);
  font-weight:600;
}
.eyebrow::before{
  content:""; width:34px; height:1px; background:var(--c-turq-2);
}

.section-title{
  font-family: var(--fs-arabic);
  font-weight: 800;
  font-size: clamp(2rem, 4.2vw, 3.4rem);
  line-height:1.15;
  margin: .6rem 0 1rem;
  letter-spacing:-.01em;
}
.section-title .accent{
  background: linear-gradient(120deg, var(--c-turq-2), var(--c-orange-2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.section-sub{
  color: var(--c-ink-soft);
  font-size: 1.05rem;
  max-width: 720px;
}

.section{
  padding: clamp(4rem, 9vw, 8rem) 0;
  position:relative;
  /* Defer off-screen section rendering for faster paint */
  content-visibility: auto;
  contain-intrinsic-size: auto 800px;
}

.container-x{
  width: min(1280px, 100% - 2*var(--container-pad));
  margin-inline: auto;
}

/* Glass card base */
.glass{
  background: linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  border:1px solid var(--c-line);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-radius: var(--r-lg);
}

/* Buttons */
.btn-lux{
  display:inline-flex; align-items:center; gap:.6rem;
  padding: .9rem 1.5rem;
  border-radius: 999px;
  font-weight: 700;
  font-family: var(--fs-arabic);
  font-size: .98rem;
  border:1px solid transparent;
  transition: transform .25s ease, box-shadow .25s ease, background .3s ease;
  white-space:nowrap;
  cursor:pointer;
}
.btn-lux i{ font-size:1.05em; }
.btn-primary-lux{
  background: linear-gradient(135deg, var(--c-orange) 0%, var(--c-orange-deep) 100%);
  color:#fff;
  box-shadow: 0 12px 30px -10px rgba(231,107,84,.55);
}
.btn-primary-lux:hover{ transform: translateY(-2px); box-shadow: 0 18px 40px -10px rgba(231,107,84,.7); color:#fff; }
.btn-ghost-lux{
  background: rgba(255,255,255,.04);
  color: var(--c-ink);
  border-color: var(--c-line-2);
  backdrop-filter: blur(10px);
}
.btn-ghost-lux:hover{ background: rgba(43,179,168,.12); border-color:var(--c-turq); color:#fff; }
.btn-turq-lux{
  background: linear-gradient(135deg, var(--c-turq) 0%, var(--c-turq-deep) 100%);
  color:#fff;
}
.btn-turq-lux:hover{ transform: translateY(-2px); color:#fff; box-shadow: 0 18px 40px -10px rgba(43,179,168,.55); }

/* =================== HEADER =================== */
.site-header{
  position: fixed;
  top:0; left:0; right:0;
  z-index: 1000;
  padding: 1rem 0;
  transition: background .35s ease, padding .35s ease, border-color .35s ease;
  border-bottom: 1px solid transparent;
}
.site-header.scrolled{
  background: rgba(7,17,26,.78);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom-color: var(--c-line);
  padding: .55rem 0;
}
.nav-wrap{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}

.nav-links{
  display:flex; align-items:center; gap: 1.6rem;
  list-style:none; padding:0; margin:0;
}
.nav-links a{
  color: var(--c-ink-soft);
  font-size: .92rem;
  font-weight: 500;
  position:relative;
  transition: color .2s;
}
.nav-links a:hover{ color: var(--c-turq-2); }
.nav-links a::after{
  content:""; position:absolute; right:0; bottom:-6px;
  width:0; height:2px; background: var(--c-orange);
  transition: width .25s;
}
.nav-links a:hover::after{ width:100%; }

.nav-cta{ display:flex; gap:.6rem; align-items:center; }

/* Brand logo image */
.brand{
  display:flex; align-items:center;
  text-decoration:none; color:#fff;
  transition: transform .25s;
}
.brand:hover{ transform: scale(1.02); }
.brand img{
  height: 150px;
  width: auto;
  display:block;
  filter: drop-shadow(0 4px 14px rgba(0,0,0,.5));
  transition: height .35s ease;
}
.site-header.scrolled .brand img{ height: 100px; }
@media (max-width: 575px){
  .brand img{ height: 80px; }
  .site-header.scrolled .brand img{ height: 60px; }
}

.menu-toggle{
  display:none;
  background: var(--c-glass);
  border:1px solid var(--c-line-2);
  color:#fff;
  width:44px; height:44px;
  border-radius:12px;
  font-size:1.3rem;
  align-items:center; justify-content:center;
}

@media (max-width: 991px){
  .nav-links{
    position:absolute; top:100%; left:0; right:0;
    background: rgba(7,17,26,.96);
    backdrop-filter: blur(18px);
    flex-direction:column; align-items:flex-start;
    padding: 1.5rem var(--container-pad);
    gap:1rem;
    border-top: 1px solid var(--c-line);
    transform: translateY(-10px); opacity:0; pointer-events:none;
    transition: all .25s;
  }
  .nav-links.open{ transform: translateY(0); opacity:1; pointer-events:auto; }
  .menu-toggle{ display:inline-flex; }
  .nav-cta .btn-ghost-lux{ display:none; }
}

/* =================== HERO =================== */
.hero{
  min-height: 100vh;
  position:relative;
  display:flex; align-items:center;
  padding: 8rem 0 4rem;
  overflow:hidden;
}
.hero-bg{
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 700px at 80% 20%, rgba(43,179,168,.18), transparent 65%),
    radial-gradient(900px 600px at 15% 80%, rgba(231,107,84,.16), transparent 60%),
    linear-gradient(180deg, var(--c-bg-2) 0%, var(--c-bg) 85%);
  z-index: 0;
}
.hero-bg::after{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(800px 500px at 80% 30%, rgba(43,179,168,.18), transparent 60%),
    radial-gradient(700px 500px at 10% 80%, rgba(231,107,84,.18), transparent 60%);
}
.hero .container-x{ position:relative; z-index:2; }
.hero-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 3rem;
  align-items:center;
}
@media (max-width: 991px){ .hero-grid{ grid-template-columns: 1fr; } }

.hero-eyebrow{
  display:inline-flex; align-items:center; gap:.7rem;
  padding:.55rem 1rem;
  border-radius:999px;
  background: rgba(43,179,168,.12);
  border:1px solid rgba(43,179,168,.35);
  color: var(--c-turq-2);
  font-size:.82rem; font-weight:600; letter-spacing:.08em;
}
.hero-eyebrow .dot{
  width:8px; height:8px; border-radius:50%;
  background: var(--c-turq-2);
  box-shadow: 0 0 0 4px rgba(43,179,168,.18);
  animation: pulse 2s infinite;
}
@keyframes pulse{
  0%,100%{ box-shadow: 0 0 0 4px rgba(43,179,168,.18); }
  50%{ box-shadow: 0 0 0 9px rgba(43,179,168,0); }
}

.hero h1{
  font-family: var(--fs-arabic);
  font-weight: 900;
  font-size: clamp(2.6rem, 6vw, 5rem);
  line-height: 1.05;
  margin: 1.4rem 0 1.4rem;
  letter-spacing:-.02em;
}
.hero h1 .word-orange{
  background: linear-gradient(120deg, var(--c-orange-2), var(--c-orange));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  font-family: var(--fs-display);
  font-style: italic;
  font-weight: 700;
}
.hero h1 .word-turq{
  background: linear-gradient(120deg, var(--c-turq-2), var(--c-turq));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero p.lead{
  font-size: 1.1rem;
  color: var(--c-ink-soft);
  max-width: 560px;
  margin-bottom: 2rem;
}
.hero-actions{ display:flex; gap:.8rem; flex-wrap:wrap; }

.hero-stats{
  margin-top: 3rem;
  display:flex; gap: 2rem; flex-wrap:wrap;
}
.hero-stat .num{
  font-family: var(--fs-display);
  font-style: italic;
  font-weight:700;
  font-size: 2.2rem;
  color: var(--c-orange-2);
  line-height:1;
}
.hero-stat .lbl{
  color: var(--c-ink-mute); font-size:.85rem; margin-top:.3rem;
}

/* Hero visual (right side) */
.hero-visual{
  position:relative;
  height: 520px;
}
@media (max-width: 991px){ .hero-visual{ height: 360px; } }

.hero-card{
  position:absolute;
  border-radius: var(--r-lg);
  overflow:hidden;
  box-shadow: var(--shadow-lux);
  border:1px solid var(--c-line-2);
}
.hero-card img{ width:100%; height:100%; object-fit:cover; }
.hero-card.c1{
  inset: 0 auto 0 0; width: 60%;
  transform: rotate(-3deg);
}
.hero-card.c2{
  inset: 8% 0 auto auto; width: 50%; height: 55%;
  transform: rotate(4deg);
}
.hero-card.c3{
  inset: auto 12% 0 auto; width: 45%; height: 38%;
  transform: rotate(-2deg);
}

.hero-floating-tag{
  position:absolute; z-index:3;
  background: rgba(7,17,26,.85);
  backdrop-filter: blur(16px);
  border:1px solid var(--c-line-2);
  border-radius: 16px;
  padding: .85rem 1.1rem;
  display:flex; align-items:center; gap:.7rem;
  box-shadow: var(--shadow-card);
}
.hero-floating-tag .ico{
  width:38px; height:38px; border-radius:10px;
  background: linear-gradient(135deg, var(--c-turq), var(--c-turq-deep));
  display:grid; place-items:center; color:#fff; font-size:1.1rem;
}
.hero-floating-tag.t1{ top:8%; right:-3%; }
.hero-floating-tag.t2{ bottom:6%; left:-3%; }
.hero-floating-tag .l1{ font-weight:700; font-size:.95rem; }
.hero-floating-tag .l2{ color: var(--c-ink-mute); font-size:.78rem; }

/* Scroll cue */
.scroll-cue{
  position:absolute; bottom: 2rem; left:50%; transform: translateX(-50%);
  color: var(--c-ink-mute); font-size:.8rem; letter-spacing:.3em;
  z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
}
.scroll-cue .line{
  width:1px; height:40px;
  background: linear-gradient(to bottom, transparent, var(--c-turq-2));
  animation: scrollDown 1.8s ease-in-out infinite;
}
@keyframes scrollDown{
  0%{ transform: scaleY(0); transform-origin: top; }
  50%{ transform: scaleY(1); transform-origin: top; }
  51%{ transform: scaleY(1); transform-origin: bottom; }
  100%{ transform: scaleY(0); transform-origin: bottom; }
}

/* =================== SECTION HEADER =================== */
.sec-head{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:2rem; margin-bottom: 3rem;
  flex-wrap:wrap;
}
.sec-head-meta{ flex-shrink:0; }
.sec-head-num{
  font-family: var(--fs-display);
  font-style: italic;
  color: var(--c-orange-2);
  font-size:1.1rem;
  opacity:.8;
}

/* =================== OFFERS — Seasonal exclusive packages =================== */
.offers-section{
  background:
    linear-gradient(135deg, rgba(231,107,84,.08), rgba(43,179,168,.05)),
    var(--c-bg-2);
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
}
.offers-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 991px){ .offers-grid{ grid-template-columns: 1fr; max-width: 520px; margin-inline:auto; } }

.offer-card{
  background: var(--c-bg-2);
  border: 1px solid var(--c-line-2);
  border-radius: var(--r-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.offer-card:hover{
  transform: translateY(-6px);
  border-color: var(--c-orange);
  box-shadow: 0 30px 70px -25px rgba(231,107,84,.45);
}
.offer-card .offer-img-wrap{
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.offer-card .offer-img{
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}
.offer-card:hover .offer-img{ transform: scale(1.07); }
.offer-card .offer-img-wrap::after{
  content:""; position: absolute; inset:0;
  background: linear-gradient(180deg, transparent 50%, rgba(7,17,26,.5) 100%);
  pointer-events: none;
}

.offer-badge{
  position: absolute; top: 1rem; right: 1rem;
  display: inline-flex; align-items: center; gap: .4rem;
  padding: .4rem .85rem;
  border-radius: 999px;
  background: rgba(7,17,26,.85);
  backdrop-filter: blur(10px);
  border: 1px solid var(--c-line-2);
  color: var(--c-orange-2);
  font-size: .78rem; font-weight: 700;
  z-index: 2;
}
.offer-badge.featured{
  background: linear-gradient(135deg, var(--c-orange), var(--c-orange-deep));
  color: #fff;
  border-color: transparent;
  box-shadow: 0 8px 24px -8px rgba(231,107,84,.6);
}

.offer-body{
  padding: 1.5rem;
  flex: 1;
  display: flex; flex-direction: column;
}
.offer-tag{
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .3rem .8rem;
  border-radius: 999px;
  background: rgba(43,179,168,.15);
  border: 1px solid rgba(43,179,168,.35);
  color: var(--c-turq-2);
  font-size: .75rem; font-weight: 700;
  margin-bottom: .8rem;
  align-self: flex-start;
}
.offer-body h3{
  margin: 0 0 .6rem;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.25;
}
.offer-body > p{
  color: var(--c-ink-soft);
  font-size: .92rem;
  margin: 0 0 1.1rem;
}
.offer-feats{
  list-style: none; padding: 0;
  margin: 0 0 1.5rem;
  display: flex; flex-direction: column;
  gap: .5rem;
}
.offer-feats li{
  display: flex; align-items: center; gap: .6rem;
  font-size: .88rem;
  color: var(--c-ink-soft);
}
.offer-feats li i{
  color: var(--c-turq-2);
  font-size: 1rem;
  flex-shrink: 0;
}
.offer-foot{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.offer-meta{
  display: inline-flex; align-items: center; gap: .35rem;
  color: var(--c-ink-mute);
  font-size: .82rem;
}
.offer-foot .btn-lux{
  padding: .65rem 1.1rem;
  font-size: .88rem;
}

/* =================== EVENTS GRID (Moscow Events) =================== */
.events-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.25rem;
}
.event-card{
  position:relative;
  border-radius: var(--r-lg);
  overflow:hidden;
  border:1px solid var(--c-line);
  background: var(--c-bg-2);
  min-height: 320px;
  cursor:pointer;
  transition: transform .4s ease, box-shadow .4s ease;
}
.event-card:hover{ transform: translateY(-6px); box-shadow: var(--shadow-lux); }
.event-card .img{
  position:absolute; inset:0;
  background-size: cover; background-position: center;
  transition: transform .8s ease;
}
.event-card:hover .img{ transform: scale(1.06); }
.event-card .veil{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(7,17,26,.05) 0%, rgba(7,17,26,.55) 50%, rgba(7,17,26,.95) 100%);
}
.event-card .content{
  position:absolute; inset:auto 0 0 0;
  padding: 1.5rem;
  z-index:2;
}
.event-card .badge-month{
  position:absolute; top:1.1rem; right:1.1rem;
  background: rgba(7,17,26,.7);
  backdrop-filter: blur(10px);
  border:1px solid var(--c-line-2);
  padding:.4rem .8rem; border-radius:999px;
  font-size:.78rem; color: var(--c-orange-2);
  font-weight:700;
  z-index:2;
}
.event-card h3{
  font-size: 1.3rem; font-weight:800; margin:0 0 .4rem;
}
.event-card p{
  color: var(--c-ink-soft); font-size:.92rem; margin: 0 0 1rem;
}
.event-card .icon-circle{
  width:50px; height:50px; border-radius:14px;
  background: linear-gradient(135deg, var(--c-turq), var(--c-turq-deep));
  display:grid; place-items:center; color:#fff; font-size:1.3rem;
  position:absolute; top:1.1rem; left:1.1rem;
  box-shadow: 0 10px 30px -10px rgba(43,179,168,.6);
  z-index:2;
}
.event-card .book-link{
  display:inline-flex; align-items:center; gap:.4rem;
  color: var(--c-orange-2); font-weight:700; font-size:.9rem;
  border-bottom: 1px solid transparent;
  transition: border-color .2s;
}
.event-card:hover .book-link{ border-color: var(--c-orange-2); }

/* spans */
.span-12{ grid-column: span 12; }
.span-8{ grid-column: span 8; }
.span-6{ grid-column: span 6; }
.span-4{ grid-column: span 4; }
.span-3{ grid-column: span 3; }

@media (max-width: 991px){
  .span-12,.span-8,.span-6,.span-4,.span-3{ grid-column: span 12; }
}

.event-tall{ min-height: 480px; }
.event-wide{ min-height: 360px; }

/* =================== SPLIT SCREEN (Section 3 — River & Air Tours) =================== */
.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}
@media (max-width: 991px){ .split{ grid-template-columns: 1fr; } }

.split-card{
  position:relative;
  border-radius: var(--r-lg);
  overflow:hidden;
  min-height: 460px;
  border:1px solid var(--c-line);
}
.split-card .bg{ position:absolute; inset:0; background-size:cover; background-position:center; transition: transform .8s ease; }
.split-card:hover .bg{ transform: scale(1.05); }
.split-card .veil{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(7,17,26,.2), rgba(7,17,26,.85) 70%, rgba(7,17,26,.97)); }
.split-card .body{ position:absolute; inset:auto 2rem 2rem 2rem; z-index:2; }
.split-card .tag{
  display:inline-block; padding:.35rem .8rem; border-radius:999px;
  background: rgba(231,107,84,.18); border:1px solid rgba(231,107,84,.4);
  color: var(--c-orange-2); font-size:.78rem; font-weight:700;
  margin-bottom:.7rem;
}
.split-card h3{ font-size: 1.7rem; font-weight: 800; margin:0 0 .5rem; }
.split-card p{ color: var(--c-ink-soft); font-size:1rem; margin:0 0 1.2rem; }
.split-card .feat{
  list-style:none; padding:0; margin:0 0 1.4rem;
  display:flex; flex-wrap:wrap; gap:.5rem .9rem;
}
.split-card .feat li{
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.85rem; color: var(--c-ink-soft);
}
.split-card .feat li i{ color: var(--c-turq-2); }

/* =================== ICE / SNOW MOSAIC (Section 4) =================== */
.mosaic{
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: 200px;
  gap: 1rem;
}
@media (max-width: 991px){ .mosaic{ grid-template-columns: repeat(2,1fr); } }

.mos{
  position:relative; overflow:hidden;
  border-radius: var(--r-md);
  border:1px solid var(--c-line);
  background-size: cover; background-position: center;
  cursor:pointer;
  transition: transform .4s;
}
.mos:hover{ transform: translateY(-6px); }
.mos::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(7,17,26,.95) 0%, rgba(7,17,26,.1) 70%);
}
.mos .label{
  position:absolute; bottom:1rem; right:1rem; left:1rem; z-index:2;
}
.mos .label h4{ font-size:1.1rem; margin:0 0 .25rem; font-weight:700; }
.mos .label p{ color: var(--c-ink-soft); font-size:.8rem; margin:0; }
.mos .label .ico{
  display:inline-grid; place-items:center;
  width:36px; height:36px; border-radius:10px;
  background: rgba(231,107,84,.2);
  border:1px solid rgba(231,107,84,.45);
  color: var(--c-orange-2);
  margin-bottom:.5rem;
}
@media (min-width: 992px){
  .mos.m-a{ grid-column: span 3; grid-row: span 2; }
  .mos.m-b{ grid-column: span 3; grid-row: span 1; }
  .mos.m-c{ grid-column: span 2; grid-row: span 1; }
  .mos.m-d{ grid-column: span 1; grid-row: span 1; }
  .mos.m-e{ grid-column: span 2; grid-row: span 1; }
  .mos.m-f{ grid-column: span 3; grid-row: span 1; }
  .mos.m-g{ grid-column: span 3; grid-row: span 1; }
}

/* =================== HORIZONTAL CARDS (Section 5 — Entertainment) =================== */
.h-scroll{
  display:flex; gap:1rem;
  overflow-x:auto; overflow-y:hidden;
  scroll-snap-type: x mandatory;
  padding-bottom: 1rem;
  scrollbar-width: thin;
  scrollbar-color: var(--c-turq) transparent;
}
.h-scroll::-webkit-scrollbar{ height:6px; }
.h-scroll::-webkit-scrollbar-thumb{ background: var(--c-turq); border-radius:99px; }
.h-card{
  flex: 0 0 320px;
  scroll-snap-align: start;
  background: var(--c-bg-2);
  border:1px solid var(--c-line);
  border-radius: var(--r-md);
  overflow:hidden;
  transition: transform .3s, border-color .3s;
}
.h-card:hover{ transform: translateY(-6px); border-color: var(--c-turq); }
.h-card .img{ height:200px; background-size:cover; background-position:center; }
.h-card .body{ padding: 1.25rem; }
.h-card h4{ margin:0 0 .4rem; font-size:1.1rem; font-weight:700; }
.h-card p{ color: var(--c-ink-soft); font-size:.88rem; margin:0 0 1rem; }
.h-card .row-foot{ display:flex; justify-content:space-between; align-items:center; }
.h-card .price-mini{ font-family: var(--fs-display); font-style:italic; color: var(--c-turq-2); font-weight:700; }

/* =================== TIMELINE (Section 6 — Trained Animals Family) =================== */
.timeline{
  position:relative;
  padding-right: 2rem;
}
.timeline::before{
  content:""; position:absolute; top:0; bottom:0; right: 1rem;
  width:2px; background: linear-gradient(to bottom, var(--c-turq), var(--c-orange));
  opacity:.4;
}
.tl-item{
  position:relative;
  padding: 1rem 1.5rem 2rem 0;
  margin-right: 1rem;
}
.tl-dot{
  position:absolute; right:-2.5rem; top:1.5rem;
  width:18px; height:18px; border-radius:50%;
  background: var(--c-orange);
  border: 4px solid var(--c-bg);
  box-shadow: 0 0 0 2px var(--c-orange);
}
.tl-card{
  display:grid; grid-template-columns: 200px 1fr;
  gap:1.5rem;
  background: var(--c-glass);
  border:1px solid var(--c-line);
  border-radius: var(--r-md);
  overflow:hidden;
  padding: 1rem;
  align-items:center;
  backdrop-filter: blur(10px);
}
.tl-card .img{
  width:100%; height:160px; border-radius: var(--r-sm);
  background-size:cover; background-position:center;
}
@media (max-width: 767px){
  .tl-card{ grid-template-columns: 1fr; }
  .tl-card .img{ height:200px; }
}
.tl-card h4{ margin:0 0 .4rem; font-size:1.15rem; font-weight:700; }
.tl-card p{ color: var(--c-ink-soft); font-size:.92rem; margin: 0 0 .8rem; }
.tl-card .meta{ display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.tl-card .meta i{ color: var(--c-turq-2); }
.tl-card .meta small{ color: var(--c-ink-mute); }

/* =================== MUSEUMS — grid =================== */
.museum-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media (max-width: 991px){ .museum-grid{ grid-template-columns: 1fr; } }

.museum-card{
  background: var(--c-bg-2);
  border:1px solid var(--c-line);
  border-radius: var(--r-md);
  overflow:hidden;
  transition: transform .3s, border-color .3s;
}
.museum-card:hover{ transform: translateY(-6px); border-color: var(--c-orange); }
.museum-card .img{
  height:230px;
  background-size: cover; background-position:center;
  position:relative;
}
.museum-card .img::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, transparent 50%, rgba(7,17,26,.7));
}
.museum-card .num{
  position:absolute; top:1rem; left:1rem;
  font-family: var(--fs-display); font-style:italic;
  color: var(--c-orange-2);
  font-size: 2.2rem;
  font-weight:700;
  z-index:2;
  opacity:.9;
}
.museum-card .body{ padding:1.5rem; }
.museum-card h4{ margin:0 0 .5rem; font-size:1.2rem; font-weight:800; }
.museum-card p{ color: var(--c-ink-soft); font-size:.92rem; margin:0 0 1rem; }
.museum-card .features{ display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:1rem; }
.museum-card .features span{
  padding:.25rem .65rem; border-radius:999px; font-size:.72rem;
  background: rgba(43,179,168,.12); color: var(--c-turq-2);
  border:1px solid rgba(43,179,168,.3);
}

/* =================== TOURS & MARKETS (Section 9) =================== */
.tour-grid{
  display:grid; grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media (max-width: 767px){ .tour-grid{ grid-template-columns: 1fr; } }
.tour-card{
  position:relative;
  border-radius: var(--r-md);
  overflow:hidden;
  min-height: 280px;
  border:1px solid var(--c-line);
}
.tour-card .bg{ position:absolute; inset:0; background-size:cover; background-position:center; transition: transform .8s ease; }
.tour-card:hover .bg{ transform: scale(1.06); }
.tour-card .veil{
  position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(7,17,26,.85) 0%, rgba(7,17,26,.4) 60%, transparent 100%);
}
.tour-card .body{ position:absolute; inset: 1.5rem; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; }
.tour-card h4{ font-size:1.25rem; font-weight:800; margin:0 0 .4rem; }
.tour-card p{ color: var(--c-ink-soft); font-size:.9rem; margin:0 0 .9rem; }
.tour-card .ico{
  position:absolute; top:1.2rem; right:1.2rem;
  width:46px; height:46px; border-radius:12px;
  background: rgba(7,17,26,.7);
  backdrop-filter: blur(10px);
  border:1px solid var(--c-line-2);
  display:grid; place-items:center;
  color: var(--c-orange-2); font-size:1.2rem;
  z-index:2;
}

/* =================== SPECIAL EXPERIENCES (Section 10) =================== */
.exp-section{
  background:
    linear-gradient(135deg, rgba(43,179,168,.08), rgba(231,107,84,.05)),
    var(--c-bg-2);
  border-top: 1px solid var(--c-line);
  border-bottom: 1px solid var(--c-line);
}
.exp-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
@media (max-width: 991px){ .exp-grid{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 575px){ .exp-grid{ grid-template-columns: 1fr; } }
.exp-card{
  background: var(--c-glass);
  border:1px solid var(--c-line);
  border-radius: var(--r-md);
  padding: 1.5rem;
  transition: transform .3s, border-color .3s, background .3s;
  cursor:pointer;
  position:relative;
  overflow:hidden;
}
.exp-card::before{
  content:"";
  position:absolute; top:-50%; right:-30%;
  width: 200px; height:200px; border-radius:50%;
  background: radial-gradient(circle, rgba(43,179,168,.15), transparent 70%);
  transition: transform .5s;
}
.exp-card:hover{ transform: translateY(-6px); border-color: var(--c-turq); background: rgba(43,179,168,.08); }
.exp-card:hover::before{ transform: scale(1.4); }
.exp-card .ico{
  width:54px; height:54px; border-radius:14px;
  background: linear-gradient(135deg, var(--c-orange), var(--c-orange-deep));
  display:grid; place-items:center; color:#fff; font-size:1.4rem;
  margin-bottom: 1rem;
  box-shadow: 0 12px 30px -10px rgba(231,107,84,.5);
  position:relative; z-index:2;
}
.exp-card h4{ font-size:1.05rem; font-weight:700; margin:0 0 .5rem; position:relative; z-index:2; }
.exp-card p{ color: var(--c-ink-soft); font-size:.88rem; margin:0; position:relative; z-index:2; }

/* =================== WELLNESS (Section 11) =================== */
.well-split{
  display:grid; grid-template-columns: 1fr 1fr;
  gap: 2rem; align-items:stretch;
}
@media (max-width: 991px){ .well-split{ grid-template-columns: 1fr; } }
.well-img{
  border-radius: var(--r-lg); overflow:hidden;
  position:relative; min-height: 480px;
  background:
    linear-gradient(45deg, rgba(43,179,168,.4), rgba(231,107,84,.3)),
    url("../images/photos/photo-1544161515-4ab6ce6db874.jpg") center/cover;
  background-blend-mode: overlay;
}
.well-img .badge-bath{
  position:absolute; top: 1.5rem; right: 1.5rem;
  padding:.5rem 1rem; border-radius: 999px;
  background: rgba(7,17,26,.7); backdrop-filter: blur(10px);
  border:1px solid var(--c-line-2);
  font-size:.85rem; font-weight:600;
}
.well-img .floating-card{
  position:absolute; bottom:1.5rem; right:1.5rem; left:1.5rem;
  padding: 1.2rem;
  background: rgba(7,17,26,.85); backdrop-filter: blur(16px);
  border:1px solid var(--c-line-2);
  border-radius: var(--r-md);
}
.well-img .floating-card .row{
  display:flex; gap:1rem; align-items:center;
}
.well-img .floating-card .ico{
  width:46px; height:46px; border-radius:12px;
  background: linear-gradient(135deg, var(--c-turq), var(--c-turq-deep));
  display:grid; place-items:center; font-size:1.2rem; color:#fff;
}
.well-features{
  display:flex; flex-direction:column; gap: .8rem;
  margin-top: 1.5rem;
}
.well-feature{
  display:grid; grid-template-columns: 60px 1fr;
  gap:1rem; align-items:center;
  padding: 1.1rem;
  background: var(--c-glass);
  border:1px solid var(--c-line);
  border-radius: var(--r-md);
  transition: border-color .25s, transform .25s;
}
.well-feature:hover{ border-color: var(--c-turq); transform: translateX(-4px); }
.well-feature .ico{
  width:54px; height:54px; border-radius:12px;
  background: rgba(43,179,168,.15);
  border:1px solid rgba(43,179,168,.35);
  color: var(--c-turq-2);
  display:grid; place-items:center; font-size:1.4rem;
}
.well-feature h5{ margin:0 0 .25rem; font-size:1rem; font-weight:700; }
.well-feature p{ color: var(--c-ink-soft); font-size:.85rem; margin:0; }

/* =================== MEDICAL (Section 12) =================== */
.medical-section{
  background:
    linear-gradient(180deg, transparent, rgba(43,179,168,.05) 50%, transparent),
    var(--c-bg);
}
.med-card{
  background: linear-gradient(160deg, rgba(43,179,168,.08), rgba(231,107,84,.04));
  border:1px solid var(--c-line-2);
  border-radius: var(--r-lg);
  padding: 2.5rem;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items:center;
  position:relative;
  overflow:hidden;
}
@media (max-width: 991px){ .med-card{ grid-template-columns: 1fr; } }
.med-card::before{
  content:""; position:absolute; top:-100px; left:-100px;
  width:300px; height:300px; border-radius:50%;
  background: radial-gradient(circle, rgba(43,179,168,.18), transparent 70%);
}
.med-list{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
@media (max-width: 575px){ .med-list{ grid-template-columns: 1fr; } }
.med-list li{
  display:flex; align-items:center; gap:.5rem;
  font-size:.92rem; color: var(--c-ink-soft);
}
.med-list li i{ color: var(--c-turq-2); font-size:1.1rem; }

.med-icon-big{
  font-size: 4.5rem;
  background: linear-gradient(135deg, var(--c-turq-2), var(--c-orange-2));
  -webkit-background-clip: text; background-clip: text; color:transparent;
  margin-bottom: 1rem;
}

/* =================== EVENT FEATURES STRIP (Section 13) =================== */
.feat-strip{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
@media (max-width: 991px){ .feat-strip{ grid-template-columns: repeat(2,1fr); } }
@media (max-width: 575px){ .feat-strip{ grid-template-columns: 1fr; } }
.feat-strip-item{
  padding: 2rem 1.5rem;
  border-radius: var(--r-md);
  background: var(--c-glass);
  border:1px solid var(--c-line);
  text-align:center;
  position:relative;
  overflow:hidden;
  transition: transform .3s;
}
.feat-strip-item:hover{ transform: translateY(-6px); }
.feat-strip-item::before{
  content:""; position:absolute; bottom:-50%; right:-30%;
  width: 250px; height:250px; border-radius:50%;
  background: radial-gradient(circle, rgba(231,107,84,.12), transparent 70%);
}
.feat-strip-item .num{
  font-family: var(--fs-display); font-style:italic;
  color: var(--c-orange-2); opacity:.4;
  font-size: 3rem; line-height:1;
  margin-bottom:.5rem;
}
.feat-strip-item .ico{ font-size:2.2rem; color: var(--c-turq-2); margin-bottom:1rem; }
.feat-strip-item h4{ font-size:1.1rem; font-weight:700; margin:0 0 .5rem; }
.feat-strip-item p{ color: var(--c-ink-soft); font-size:.85rem; margin:0; }

/* =================== CARS HERO (Section 14 — Fleet) =================== */
.fleet-hero{
  background:
    linear-gradient(135deg, rgba(7,17,26,.9) 0%, rgba(11,25,35,.6) 100%),
    url("../images/photos/photo-1558981806-ec527fa84c39.jpg") center/cover;
  border-radius: var(--r-lg);
  padding: 3rem;
  margin-bottom: 3rem;
  text-align:center;
  border:1px solid var(--c-line-2);
}
.fleet-hero h3{
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 800;
  margin: .5rem 0 1rem;
}
.fleet-hero p{ color: var(--c-ink-soft); max-width: 700px; margin: 0 auto; }

/* =================== PRICING CARDS (Sections 15-17) =================== */
.pricing-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media (max-width: 991px){ .pricing-grid{ grid-template-columns: 1fr; } }

.price-card{
  background: var(--c-bg-2);
  border:1px solid var(--c-line);
  border-radius: var(--r-lg);
  padding: 0;
  overflow:hidden;
  position:relative;
  transition: transform .35s, border-color .35s;
  display:flex; flex-direction:column;
}
.price-card:hover{ transform: translateY(-6px); }

.price-card.featured{
  border-color: var(--c-orange);
  background:
    linear-gradient(160deg, rgba(231,107,84,.12), rgba(231,107,84,.02)),
    var(--c-bg-2);
  box-shadow: 0 30px 80px -30px rgba(231,107,84,.45);
}
.price-card.featured::before{
  content:"الأكثر طلباً";
  position:absolute; top: 1rem; left: 1rem;
  padding:.3rem .8rem; border-radius:999px;
  background: var(--c-orange);
  color:#000; font-weight:800; font-size:.72rem;
  z-index:3;
}

.price-card .car-img{
  height: 200px;
  background-size: cover; background-position: center;
  position:relative;
}
.price-card .car-img::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, transparent 50%, var(--c-bg-2) 100%);
}
.price-card .body{ padding: 1.5rem 1.5rem 2rem; flex:1; display:flex; flex-direction:column; }
.price-card .tier{
  display:inline-block; padding:.3rem .7rem; border-radius:999px;
  font-size:.72rem; font-weight:700;
  background: rgba(43,179,168,.15); color: var(--c-turq-2);
  border:1px solid rgba(43,179,168,.3);
  margin-bottom: .8rem;
  align-self: flex-start;
}
.price-card.t-vip .tier{ background: rgba(231,107,84,.18); color: var(--c-orange-2); border-color: rgba(231,107,84,.4); }
.price-card.t-vvip .tier{ background: linear-gradient(90deg, rgba(231,107,84,.2), rgba(43,179,168,.2)); color:#fff; border-color: rgba(255,255,255,.2); }

.price-card h4{ font-size: 1.4rem; font-weight: 800; margin: 0 0 .5rem; }
.price-card p.desc{ color: var(--c-ink-soft); font-size:.9rem; margin: 0 0 1.2rem; }

.price-card .price{
  display:flex; align-items: baseline; gap:.4rem;
  margin-bottom: 1.2rem;
}
.price-card .price .num{
  font-family: var(--fs-display); font-style: italic;
  font-weight: 700;
  font-size: 2.2rem;
  color: var(--c-orange-2);
  line-height:1;
}
.price-card .price .cur{ color: var(--c-ink-soft); font-size:.95rem; }
.price-card .price small{ color: var(--c-ink-mute); font-size:.78rem; margin-right: auto; }

.price-card ul.specs{
  list-style:none; padding:0; margin: 0 0 1.5rem;
  display:flex; flex-direction:column; gap:.5rem;
}
.price-card ul.specs li{
  display:flex; align-items:center; gap:.6rem;
  font-size:.88rem; color: var(--c-ink-soft);
}
.price-card ul.specs li i{ color: var(--c-turq-2); font-size:1.05rem; }
.price-card .btn-lux{ width:100%; justify-content:center; margin-top:auto; }

/* Airport pickup pricing — table style */
.airport-card{
  background: linear-gradient(160deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  border:1px solid var(--c-line-2);
  border-radius: var(--r-lg);
  padding: 2rem;
  margin-top: 2rem;
}
.airport-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .8rem;
}
@media (max-width: 991px){ .airport-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px){ .airport-grid{ grid-template-columns: 1fr; } }
.airport-row{
  display:flex; justify-content:space-between; align-items:center;
  padding: 1.1rem 1.3rem;
  background: var(--c-glass);
  border:1px solid var(--c-line);
  border-radius: var(--r-md);
  transition: border-color .25s, transform .25s;
}
.airport-row:hover{ border-color: var(--c-turq); transform: translateY(-3px); }
.airport-row .lbl{ display:flex; align-items:center; gap:.7rem; }
.airport-row .ico{
  width:38px; height:38px; border-radius:10px;
  background: rgba(43,179,168,.15);
  color: var(--c-turq-2);
  display:grid; place-items:center; font-size:1.1rem;
  border:1px solid rgba(43,179,168,.3);
}
.airport-row.is-vvip .ico{ background: rgba(231,107,84,.18); color: var(--c-orange-2); border-color: rgba(231,107,84,.4); }
.airport-row .name{ font-weight:700; font-size:.95rem; }
.airport-row .price{
  font-family: var(--fs-display); font-style:italic;
  font-weight:700; font-size:1.3rem;
  color: var(--c-orange-2);
  white-space:nowrap;
}

/* Daily Cars (Section 19) */
.daily-card{
  background: linear-gradient(160deg, rgba(43,179,168,.1), rgba(231,107,84,.06));
  border:1px solid var(--c-line-2);
  border-radius: var(--r-lg);
  padding: 2.5rem;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items:center;
  margin-top: 2rem;
  position:relative;
  overflow:hidden;
}
@media (max-width: 767px){ .daily-card{ grid-template-columns: 1fr; } }
.daily-card .price-big{
  font-family: var(--fs-display); font-style: italic;
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight:700;
  background: linear-gradient(120deg, var(--c-orange-2), var(--c-turq-2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  line-height:1;
}
.daily-card .price-big small{
  font-family: var(--fs-arabic);
  font-style:normal;
  font-size: 1rem;
  color: var(--c-ink-soft);
  font-weight:500;
  display:block;
  margin-top: .5rem;
}

/* =================== BOOKING FORM (Section 20) =================== */
.booking-section{
  position:relative;
  padding: clamp(4rem, 9vw, 8rem) 0;
}
.booking-section::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(900px 600px at 90% 10%, rgba(43,179,168,.12), transparent 60%),
    radial-gradient(800px 600px at 10% 90%, rgba(231,107,84,.10), transparent 60%),
    linear-gradient(180deg, var(--c-bg) 0%, var(--c-bg-2) 100%);
  z-index:-1;
}
.booking-card{
  background: rgba(7,17,26,.85);
  backdrop-filter: blur(22px);
  border:1px solid var(--c-line-2);
  border-radius: var(--r-xl);
  padding: clamp(2rem, 4vw, 3.5rem);
  box-shadow: var(--shadow-lux);
  display:grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 3rem;
}
@media (max-width: 991px){ .booking-card{ grid-template-columns: 1fr; } }

.booking-info h2{
  font-size: clamp(1.8rem, 3.4vw, 2.6rem);
  font-weight: 800; line-height:1.15;
  margin:.6rem 0 1rem;
}
.booking-info p{ color: var(--c-ink-soft); margin-bottom:1.5rem; }
.booking-info .ext-info{
  display:flex; flex-direction:column; gap:.9rem;
}
.booking-info .info-row{
  display:flex; gap:.8rem; align-items:flex-start;
}
.booking-info .info-row i{
  color: var(--c-turq-2); font-size:1.3rem; margin-top:.2rem;
  flex-shrink:0;
}
.booking-info .info-row strong{ display:block; margin-bottom:.15rem; }
.booking-info .info-row span{ color: var(--c-ink-soft); font-size:.9rem; }

.form-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 575px){ .form-grid{ grid-template-columns: 1fr; } }
.form-group{ display:flex; flex-direction:column; gap:.4rem; }
.form-group.full{ grid-column: span 2; }
@media (max-width: 575px){ .form-group.full{ grid-column: span 1; } }
.form-group label{
  font-size:.85rem; font-weight:600; color: var(--c-ink-soft);
}
.form-input, .form-select, .form-textarea{
  background: var(--c-glass);
  border:1px solid var(--c-line-2);
  color: var(--c-ink);
  padding: .85rem 1rem;
  border-radius: 12px;
  font-family: var(--fs-arabic);
  font-size: .95rem;
  transition: border-color .2s, background .2s;
}
.form-input:focus, .form-select:focus, .form-textarea:focus{
  outline:none;
  border-color: var(--c-turq);
  background: rgba(43,179,168,.05);
}
.form-textarea{ resize:vertical; min-height:100px; }
.form-select{
  appearance:none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%231fbfb8' stroke-width='2' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;
  background-position: left 1rem center;
  padding-left: 2.5rem;
}
.form-input::placeholder, .form-textarea::placeholder{ color: var(--c-ink-mute); }

.form-actions{ grid-column: span 2; display:flex; gap:.8rem; flex-wrap:wrap; align-items:center; margin-top:.5rem; }
@media (max-width: 575px){ .form-actions{ grid-column: span 1; } }
.form-actions .btn-lux{ flex:1; justify-content:center; min-width:140px; }
.form-note{ font-size:.78rem; color: var(--c-ink-mute); width:100%; }

/* =================== FOOTER =================== */
.footer{
  background: var(--c-bg-2);
  border-top: 1px solid var(--c-line);
  padding: 4rem 0 1.5rem;
  margin-top: 4rem;
  position:relative; overflow:hidden;
}
.footer::before{
  content:""; position:absolute; top:0; right:0; left:0; height:1px;
  background: linear-gradient(90deg, transparent, var(--c-turq), var(--c-orange), transparent);
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 2.5rem;
}
@media (max-width: 991px){ .footer-grid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px){ .footer-grid{ grid-template-columns: 1fr; } }
.footer h5{
  font-size: 1rem; font-weight:700; margin:0 0 1.2rem;
  color:#fff;
}
.footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.65rem; }
.footer ul a{ color: var(--c-ink-soft); font-size:.92rem; transition: color .2s; }
.footer ul a:hover{ color: var(--c-turq-2); }
.footer-brand p{ color: var(--c-ink-soft); font-size:.92rem; margin: 1rem 0 1.5rem; max-width: 360px; }
.social-row{ display:flex; gap:.6rem; }
.social-row a{
  width:42px; height:42px; border-radius: 12px;
  display:grid; place-items:center;
  background: var(--c-glass);
  border: 1px solid var(--c-line-2);
  color: var(--c-ink-soft);
  transition: all .25s;
}
.social-row a:hover{ background: var(--c-turq); border-color: var(--c-turq); color:#fff; transform: translateY(-3px); }
.contact-list li{
  display:flex; gap:.7rem; align-items:flex-start;
  color: var(--c-ink-soft); font-size:.92rem;
}
.contact-list li i{ color: var(--c-turq-2); font-size:1.1rem; margin-top:.2rem; }

.footer-bottom{
  margin-top: 3rem; padding-top: 1.5rem;
  border-top: 1px solid var(--c-line);
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:1rem;
  color: var(--c-ink-mute); font-size:.85rem;
}
.footer-bottom .heart{ color: var(--c-orange-2); }

/* =================== WHATSAPP FAB =================== */
.whatsapp-fab{
  position:fixed;
  bottom: 2rem; left: 2rem;
  z-index: 999;
  width: 64px; height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #25d366, #128c7e);
  display:grid; place-items:center;
  color:#fff; font-size: 1.8rem;
  box-shadow: 0 16px 40px -10px rgba(37,211,102,.6), 0 0 0 0 rgba(37,211,102,.5);
  animation: ringPulse 2.5s infinite;
  transition: transform .25s;
}
.whatsapp-fab:hover{ transform: scale(1.1); color:#fff; }
@keyframes ringPulse{
  0%,100%{ box-shadow: 0 16px 40px -10px rgba(37,211,102,.6), 0 0 0 0 rgba(37,211,102,.5); }
  50%{ box-shadow: 0 16px 40px -10px rgba(37,211,102,.7), 0 0 0 18px rgba(37,211,102,0); }
}
.whatsapp-fab .tooltip{
  position:absolute;
  right: calc(100% + 12px);
  background: rgba(7,17,26,.95);
  border:1px solid var(--c-line-2);
  padding: .55rem .85rem;
  border-radius: 10px;
  font-size: .82rem;
  white-space: nowrap;
  opacity:0; pointer-events:none;
  transition: opacity .2s, transform .2s;
  transform: translateX(8px);
  font-weight:600;
}
.whatsapp-fab:hover .tooltip{ opacity:1; transform: translateX(0); }
@media (max-width: 575px){
  .whatsapp-fab{ width:56px; height:56px; bottom:1.2rem; left:1.2rem; font-size:1.5rem; }
  .whatsapp-fab .tooltip{ display:none; }
}

/* =================== BACK TO TOP =================== */
.back-to-top{
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 999;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--c-turq) 0%, var(--c-turq-deep) 100%);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 1.4rem;
  border: 1px solid rgba(255,255,255,.12);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(20px) scale(.85);
  transition: opacity .35s ease, transform .35s ease, box-shadow .25s ease, background .3s ease;
  box-shadow: 0 14px 36px -10px rgba(43,179,168,.55),
              inset 0 1px 0 rgba(255,255,255,.18);
  font-family: inherit;
  padding: 0;
}
.back-to-top.show{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.back-to-top:hover{
  transform: translateY(-3px) scale(1.06);
  box-shadow: 0 20px 48px -10px rgba(43,179,168,.75),
              inset 0 1px 0 rgba(255,255,255,.22);
}
.back-to-top:active{
  transform: translateY(0) scale(0.98);
}
.back-to-top::before{
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1px solid rgba(43,179,168,.35);
  opacity: 0;
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
}
.back-to-top:hover::before{
  opacity: 1;
  transform: scale(1.08);
}
@media (max-width: 575px){
  .back-to-top{
    width: 48px;
    height: 48px;
    bottom: 1.2rem;
    right: 1.2rem;
    font-size: 1.2rem;
  }
}

/* =================== OFFERS — single-card centered layout =================== */
.offers-grid.single-offer{
  grid-template-columns: minmax(280px, 720px);
  justify-content: center;
}

/* =================== REVEAL ANIMATIONS =================== */
.reveal{
  opacity:0; transform: translateY(30px);
  transition: opacity .8s ease, transform .8s ease;
}
.reveal.in{ opacity:1; transform: translateY(0); }
.reveal-delay-1{ transition-delay: .1s; }
.reveal-delay-2{ transition-delay: .2s; }
.reveal-delay-3{ transition-delay: .3s; }
.reveal-delay-4{ transition-delay: .4s; }

/* Section divider */
.div-shape{
  display:block;
  height:1px; width: 80%;
  margin: 0 auto;
  background: linear-gradient(90deg, transparent, var(--c-line-2), transparent);
}

/* Helper utilities */
.text-turq{ color: var(--c-turq-2); }
.text-orange{ color: var(--c-orange-2); }
.muted{ color: var(--c-ink-mute); }
.text-center{ text-align: center; }
.mt-4{ margin-top: 1.5rem; }
.pt-0{ padding-top: 0; }

/* Replaces Bootstrap d-none d-md-inline-flex */
.hide-sm{ display: none; }
@media (min-width: 768px){
  .hide-sm{ display: inline-flex; }
}

@media (max-width: 575px){
  .hero-floating-tag{ display:none; }
}

/* =================== TOASTS =================== */
.toast-stack{
  position: fixed;
  top: 1.25rem; left: 1.25rem;
  z-index: 2000;
  display: flex; flex-direction: column;
  gap: .6rem;
  pointer-events: none;
  max-width: calc(100% - 2.5rem);
}
.toast{
  display:flex; align-items:center; gap:.7rem;
  padding: .85rem 1.1rem;
  border-radius: 12px;
  background: rgba(7,17,26,.95);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--c-line-2);
  color: var(--c-ink);
  font-size: .92rem;
  font-weight: 500;
  box-shadow: var(--shadow-card);
  pointer-events: auto;
  opacity: 0;
  transform: translateY(-12px);
  transition: opacity .25s ease, transform .25s ease;
  min-width: 260px; max-width: 380px;
}
.toast.show{ opacity: 1; transform: translateY(0); }
.toast i{ font-size: 1.25rem; flex-shrink: 0; }
.toast-success{ border-color: rgba(43,179,168,.5); }
.toast-success i{ color: var(--c-turq-2); }
.toast-error{ border-color: rgba(231,107,84,.6); }
.toast-error i{ color: var(--c-orange-2); }
.toast-warning{ border-color: rgba(255,193,7,.5); }
.toast-warning i{ color: #ffc107; }
.toast-info i{ color: var(--c-turq-2); }

/* =================== LOADER (spinner inside button) =================== */
@keyframes spin{ to{ transform: rotate(360deg); } }
.spin{ display: inline-block; animation: spin 1s linear infinite; }
.btn-lux.is-loading{ pointer-events: none; opacity: .85; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity: 1 !important; transform: none !important; transition: none; }
  .scroll-cue .line, .hero-eyebrow .dot, .whatsapp-fab, .spin{ animation: none !important; }
  *{ scroll-behavior: auto !important; }
}
