:root{
  --ink:#071018;
  --text:#1c2a3a;
  --muted:#5f7086;

  /* Premium “Canyon + Coast” palette */
  --canyon:#E06A2E;
  --coast:#1BA6B2;
  --deep:#0B1B2B;

  --card: rgba(255,255,255,.78);
  --border: rgba(11,27,43,.12);
  --shadow: 0 20px 70px rgba(7,16,24,.12);
}

body{
  color: var(--text);
  background:
    radial-gradient(900px 520px at 10% -10%, rgba(224,106,46,.18), transparent 60%),
    radial-gradient(900px 520px at 90% -10%, rgba(27,166,178,.18), transparent 60%),
    linear-gradient(180deg, #fff, #F6F1E8);
}

.navbar{
  background: rgba(11,27,43,.82) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.navbar .nav-link{ color: rgba(255,255,255,.78) !important; font-weight: 600; }
.navbar .nav-link.active{ color: #fff !important; }

.brand-mark{
  width: 10px; height: 10px; border-radius: 999px;
  background: linear-gradient(135deg, var(--canyon), var(--coast));
  box-shadow: 0 10px 25px rgba(224,106,46,.25);
}

.hero{
  position: relative;
  overflow: hidden;
  border-radius: 1.5rem;
  box-shadow: var(--shadow);
  border: 1px solid rgba(255,255,255,.16);
  min-height: 520px;
}
.hero-bg{
  position:absolute; inset:0;
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}
.hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(7,16,24,.75) 0%, rgba(7,16,24,.35) 55%, rgba(7,16,24,.10) 100%),
    linear-gradient(180deg, rgba(7,16,24,.25), rgba(7,16,24,.45));
}
.hero-content{
  position: relative;
  padding: 3.25rem;
}
.hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  padding:.45rem .9rem;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.92);
  font-weight: 700;
  letter-spacing:.01em;
}
.hero-title{
  color:#fff;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.05;
  margin-top: 1rem;
}
.hero-sub{
  color: rgba(255,255,255,.85);
  font-size: 1.1rem;
  max-width: 56ch;
}

.btn-premium{
  border: 0;
  color:#fff;
  font-weight: 800;
  background: linear-gradient(135deg, var(--canyon), var(--coast));
  box-shadow: 0 16px 45px rgba(224,106,46,.22);
}
.btn-premium:hover{ filter: brightness(.98); }

.btn-glass{
  color:#fff;
  font-weight: 800;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
}
.btn-glass:hover{ background: rgba(255,255,255,.14); }

.section-title{
  color: var(--ink);
  font-weight: 800;
  letter-spacing: -.01em;
}

.card-glass{
  border: 1px solid var(--border);
  border-radius: 1.25rem;
  background: var(--card);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 55px rgba(7,16,24,.08);
  transition: transform .18s ease, box-shadow .18s ease;
}
.card-glass:hover{
  transform: translateY(-4px);
  box-shadow: 0 24px 70px rgba(7,16,24,.12);
}

.tour-img{
  border-top-left-radius: 1.25rem;
  border-top-right-radius: 1.25rem;
  height: 200px;
  width: 100%;
  object-fit: cover;
}

.badge-soft{
  border: 1px solid var(--border);
  background: rgba(255,255,255,.55);
  color: var(--ink);
  font-weight: 800;
  border-radius: 999px;
  padding: .35rem .65rem;
  font-size: .82rem;
}

.badge-canyon{ border-color: rgba(224,106,46,.22); background: rgba(224,106,46,.10); }
.badge-coast{ border-color: rgba(27,166,178,.22); background: rgba(27,166,178,.10); }

.icon-pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.55);
  padding:.4rem .65rem;
  border-radius: 999px;
  color: var(--ink);
  font-weight: 700;
  font-size: .85rem;
}

.tile{
  position: relative;
  overflow: hidden;
  border-radius: 1.25rem;
  box-shadow: 0 18px 60px rgba(7,16,24,.12);
  border: 1px solid rgba(255,255,255,.18);
  min-height: 260px;
}
.tile-bg{
  position:absolute; inset:0;
  background-size: cover;
  background-position:center;
  transform: scale(1.03);
}
.tile-overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(7,16,24,.10), rgba(7,16,24,.70));
}
.tile-content{
  position: relative;
  padding: 1.25rem;
  display:flex;
  height:100%;
  flex-direction:column;
  justify-content:flex-end;
  color:#fff;
}
.tile-title{ font-weight: 800; margin-bottom:.25rem; }
.tile-sub{ color: rgba(255,255,255,.85); margin:0; }

.footer{
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(10px);
  border-top: 1px solid var(--border);
}
.small-muted{ color: var(--muted); }