:root{
  --gold:#ffcc33;
  --gold2:#ffd966;
  --ink:#ffffff;
  --shadow: rgba(0,0,0,.45);
  --glass: rgba(0,0,0,.38);
  --glass2: rgba(0,0,0,.28);
  --border: rgba(255,255,255,.22);
}

*{
  box-sizing:border-box
}

/* ===============================
   GLOBAL BODY
================================= */

html,body{
  margin:0;
  height:100%;
  overflow-x:hidden;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:#000;
  position:relative;
}

/* ===============================
   STAR BACKGROUND (GLOBAL)
================================= */

#starCanvas{
  position:fixed;
  top:0;
  left:0;
  width:100vw;
  height:100vh;
  z-index:0;
  pointer-events:none;
}

/* Make ALL page content above stars */

body > *{
  position:relative;
  z-index:2;
}

/* ===============================
   PAGE CONTAINER
================================= */

.stage{
  min-height:100vh;
  display:flex;
  justify-content:center;
  padding:0 80px 80px;
}

.wrap{
  width:min(1100px,100%);
  margin-top:18px;
}

/* ===============================
   GLASS EFFECT
================================= */

.glass{
  background:var(--glass);
  border:1px solid var(--border);
  border-radius:18px;
  backdrop-filter: blur(14px);
  box-shadow:0 18px 40px var(--shadow);
}

/* ===============================
   HEADER / TOPBAR
================================= */

.topbar{
  padding:18px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.brand .name{
  font-weight:900;
  letter-spacing:.9px;
  text-transform:uppercase;
  color:var(--gold);
  font-size:clamp(22px,3vw,32px);
}

.brand .tag{
  font-size:13px;
  opacity:.9;
}

/* ===============================
   AUDIO BUTTON
================================= */

.audioBtn{
  display:inline-block;
  margin-left:10px;
  padding:8px 12px;
  border-radius:999px;
  background:linear-gradient(180deg,#ffcc33,#d4a017);
  color:#1a1200;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
  border:none;
}

/* ===============================
   NAVIGATION
================================= */

.nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.nav a{
  text-decoration:none;
  font-weight:800;
  padding:10px 14px;
  border-radius:999px;
  background:var(--glass2);
  border:1px solid var(--border);
  color:#4da3ff;
}

.nav a:hover{
  background:rgba(0,0,0,.55);
  color:#8e5cff;
}

/* Active page highlight */

.nav a.active{
  color:var(--gold2) !important;
  border-color:rgba(255,255,255,.35);
  box-shadow:0 8px 18px rgba(0,0,0,.35);
}

/* ===============================
   PAGE HEAD
================================= */

.pageHead{
  margin-top:18px;
  padding:24px 22px;
}

.h1{
  margin:0 0 8px;
  font-size:clamp(28px,4vw,46px);
  font-weight:950;
  color:var(--gold2);
}

.lead{
  margin:0;
  font-size:clamp(14px,1.7vw,18px);
  opacity:.95;
  line-height:1.45;
}

/* ===============================
   GRID
================================= */

.grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}

.service{
  padding:18px;
}

.service .title{
  margin:0 0 6px;
  font-weight:950;
  color:var(--gold2);
  font-size:18px;
}

.service .desc{
  margin:0 0 12px;
  font-size:14px;
  opacity:.95;
  line-height:1.5;
}

/* ===============================
   LIST
================================= */

.list{
  margin:0;
  padding-left:18px;
  line-height:1.55;
  font-size:14px;
}

.list li{
  margin:4px 0;
}

/* ===============================
   BUTTON
================================= */

.btn{
  display:inline-block;
  margin-top:10px;
  font-weight:900;
  border-radius:999px;
  padding:14px 22px;
  text-decoration:none;
  background:linear-gradient(180deg,#ffcc33,#d4a017);
  color:#1a1200;
}

/* ===============================
   HOMEPAGE LAYOUT
================================= */

.homePage .stage{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:40px;
  padding:0 80px;
}

.homePage .wrap{
  max-width:760px;
  margin-left:96px;
}

.homePage .photoColumn{
  display:flex;
  flex-direction:column;
  align-items:center;
  transform:translateY(-120px);
}

.homePage .photoPanel{
  width:525px;
  height:650px;
  background:url("/assets/images/home/bob_vali_1.jpg") center/contain no-repeat;
}

.homePage .starUnder{
  margin-top:-147px;
  width:525px;
}

.homePage .starUnder img{
  width:100%;
}

/* ===============================
   GLOBAL LINK COLORS
================================= */

a{
  color:#4da3ff;
  transition:color .25s ease;
}

a:hover{
  color:#8e5cff;
}

.list a{
  color:#4da3ff;
  text-decoration:none;
}

.list a:hover{
  color:#8e5cff;
}

/* ===============================
   MOBILE
================================= */

@media(max-width:980px){

  .stage{
    padding:0 20px 60px;
  }

  .grid{
    grid-template-columns:1fr;
  }

}
body::before{
content:"";
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:
radial-gradient(circle at 30% 20%, rgba(120,60,255,.15), transparent 40%),
radial-gradient(circle at 70% 80%, rgba(60,120,255,.12), transparent 45%);
z-index:0;
pointer-events:none;
}
/* =====================================
   NEBULA BACKGROUND
===================================== */

body::before{
content:"";
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:
radial-gradient(circle at 30% 20%, rgba(140,70,255,.18), transparent 40%),
radial-gradient(circle at 70% 80%, rgba(80,120,255,.14), transparent 45%),
radial-gradient(circle at 50% 50%, rgba(200,120,255,.06), transparent 55%);
z-index:0;
pointer-events:none;
}
/* ===============================
COSMIC INTRO
=============================== */

#cosmicIntro{

position:fixed;
top:0;
left:0;
width:100%;
height:100%;

background:#000;

display:flex;
align-items:center;
justify-content:center;

z-index:99999;

transition:opacity 1.2s ease;

}

.introLogo{

font-size:42px;
font-weight:900;
letter-spacing:2px;

color:#ffcc33;

text-shadow:

0 0 20px rgba(255,204,51,.8),
0 0 40px rgba(255,204,51,.4);

opacity:0;
transform:scale(.8);

animation:introReveal 1.8s ease forwards;

}

@keyframes introReveal{

0%{
opacity:0;
transform:scale(.8);
}

100%{
opacity:1;
transform:scale(1);
}

}

/* fade away */

.cosmicFade{
opacity:0;
pointer-events:none;
}
.bookingForm input,
.bookingForm select{
width:100%;
padding:12px;
margin:8px 0;
border-radius:6px;
border:none;
}

.bookingForm button{
margin-top:12px;
}