:root{
  --river-night:#0B1220;
  --stone:#171310;
  --temple-gold:#C89B3C;
  --ember:#E8672E;
  --marigold:#F4A93B;
  --mist:#F5EFE6;
  --mist-dim:#E7DFCF;
}
*{box-sizing:border-box;}
html{background:var(--river-night);}
body{
  background:var(--river-night);
  color:var(--mist);
  font-family:'Jost',sans-serif;
  overflow-x:hidden;
  cursor:none;
}
::selection{background:var(--ember);color:var(--mist);}
.font-display{font-family:'Marcellus',serif;}
.font-serif-it{font-family:'Cormorant Garamond',serif;}
.font-mono{font-family:'Space Mono',monospace;}

/* ---------- custom cursor ---------- */
#cursor-dot, #cursor-ring{
  position:fixed; top:0; left:0; pointer-events:none; z-index:9999;
  transform:translate(-50%,-50%);
  border-radius:50%;
}
#cursor-dot{width:6px;height:6px;background:var(--marigold);}
#cursor-ring{
  width:36px;height:36px;border:1px solid rgba(200,155,60,0.55);
  transition:width .25s ease,height .25s ease,border-color .25s ease,background .25s ease;
}
#cursor-ring.grow{width:70px;height:70px;background:rgba(232,103,46,0.12);border-color:var(--ember);}
@media (max-width:900px){ #cursor-dot,#cursor-ring{display:none;} body{cursor:auto;} }

/* ---------- sangam thread signature ---------- */
.thread-divider{position:relative;height:64px;overflow:visible;}
.thread-divider svg{width:100%;height:100%;}

/* ---------- glass card ---------- */
.glass{
  background:linear-gradient(160deg, rgba(245,239,230,0.07), rgba(245,239,230,0.02));
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(200,155,60,0.18);
}
.glow-border{
  position:relative;
  isolation:isolate;
  --mouse-x: 50%;
  --mouse-y: 50%;
}
.glow-border::before{
  content:'';position:absolute;inset:0;border-radius:inherit;padding:1.5px;
  background:radial-gradient(160px circle at var(--mouse-x) var(--mouse-y), rgba(244,169,59,0.8) 0%, rgba(232,103,46,0.35) 50%, transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .4s ease; z-index:2;
  pointer-events:none;
}
.glow-border:hover::before{opacity:1;}

/* card transitions */
.tilt-card {
  transition: box-shadow 0.4s ease, border-color 0.4s ease;
}

/* split text reveal */
.split-line{overflow:hidden;display:block;}
.split-inner{display:inline-block;will-change:transform;}
.float-chip{opacity:0;}

/* nav link underline */
.nav-link{position:relative;}
.nav-link::after{content:'';position:absolute;left:0;bottom:-4px;height:1px;width:0%;background:var(--marigold);transition:width .35s ease;}
.nav-link:hover::after{width:100%;}

.grain{
  position:fixed;inset:0;z-index:40;pointer-events:none;opacity:0.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.marquee-track{display:flex;width:max-content;animation:marquee 34s linear infinite;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.num-badge{font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.15em;color:var(--marigold);}

.card-img{transition:transform 1.1s cubic-bezier(.16,1,.3,1), filter .6s ease;}
.card-img-wrap:hover .card-img{transform:scale(1.08);}

::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:var(--river-night);}
::-webkit-scrollbar-thumb{background:var(--temple-gold);border-radius:4px;}

.reveal-mask{overflow:hidden;position:relative;}

.btn-primary{
  background:linear-gradient(100deg,var(--ember),var(--marigold));
  color:#1a0f05; font-weight:600;
}
.btn-ghost{border:1px solid rgba(245,239,230,0.35);}

.section-eyebrow{
  font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.32em;
  color:var(--marigold); text-transform:uppercase;
}

.accordion-content{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1), padding .4s ease;}
.accordion-item.open .accordion-content{max-height:400px;}
.accordion-item .chevron{transition:transform .4s ease;}
.accordion-item.open .chevron{transform:rotate(45deg);}

.fleet-card:hover{transform:translateY(-6px);}
.fleet-card{transition:transform .5s cubic-bezier(.16,1,.3,1);}

input,textarea,select{background:rgba(245,239,230,0.04);border:1px solid rgba(245,239,230,0.18);color:var(--mist);}
input::placeholder,textarea::placeholder{color:rgba(245,239,230,0.4);}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--marigold);}

.loader-fixed {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.loader-panel {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  background: var(--river-night);
  z-index: 10;
  transition: transform 1.2s cubic-bezier(0.85, 0, 0.15, 1);
  will-change: transform;
}
#loader-left {
  left: 0;
}
#loader-right {
  right: 0;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

/* ---------- mobile responsive tweaks ---------- */
@media (max-width: 768px) {
  /* Hero title font size and spacing */
  #home h1 {
    font-size: 11vw !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    text-align: left;
  }
  #home .hero-fade {
    text-align: left;
    margin-top: 1.5rem !important;
  }
  #home .hero-fade .flex {
    justify-content: flex-start !important;
    width: 100%;
  }
  #home .hero-fade .flex a {
    flex: 1;
    text-align: center;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  /* Floating chips look better aligned/smaller on tablet/mobile */
  .float-chip {
    padding: 0.75rem 1rem !important;
  }
  .float-chip p {
    font-size: 0.75rem !important;
  }
  
  /* Section padding optimizations for mobile */
  section {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }
  
  /* Form responsiveness */
  form {
    padding: 1.5rem !important;
  }
  
  /* Contact section layout */
  #contact {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}

/* Destination card details overlay transitions */
.dest-card .pointer-events-auto {
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Contact form input tweaks */
#contact input, #contact select, #contact textarea {
  background: rgba(245, 239, 230, 0.03);
  border: 1px solid rgba(245, 239, 230, 0.12);
  color: var(--mist);
  transition: all 0.3s ease;
}
#contact input:focus, #contact select:focus, #contact textarea:focus {
  border-color: var(--marigold);
  background: rgba(245, 239, 230, 0.06);
  box-shadow: 0 0 15px rgba(244, 169, 59, 0.1);
}
