
:root{
  --yellow: #FEE974;
  --yellow-strong: #FFE24A;
  --yellow-soft: #FFF7BF;
  --red: #D13F23;
  --red-dark: #9F2E18;
  --text: #161616;
  --muted: #5a5a5a;
  --bg: #FFF7BF;
  --card: rgba(255,255,255,.78);
  --border: rgba(0,0,0,.08);
  --shadow: 0 12px 30px rgba(0,0,0,.10);
}

*{ box-sizing: border-box; }
html, body { margin:0; padding:0; }

body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
}

a{ color: inherit; text-decoration: none; }

.container{
  width: min(1100px, 92%);
  margin: 0 auto;
}

/* HEADER */
.site-header{
  position: sticky;
  top: 0;
  z-index: 50;
  background: linear-gradient(90deg, var(--yellow-strong), var(--yellow));
  border-bottom: 4px solid rgba(209,63,35,.35);
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
  padding: 14px 0;
}

.logo{
  display:flex;
  align-items:center;
  gap: 10px;
  font-weight: 1000;
  letter-spacing: .06em;
  color: var(--red);
  font-size: 1.25rem;
  text-transform: uppercase;
}

.logo img{
  width: 42px;
  height: 42px;
  object-fit: contain;
  border-radius: 10px;
  background: rgba(255,255,255,.35);
  padding: 6px;
  border: 1px solid rgba(0,0,0,.06);
}

/* NAV */
.nav{
  display:flex;
  gap: 18px;
}

.nav a{
  font-weight: 900;
  color: rgba(0,0,0,.72);
  padding: 6px 10px;
  border-radius: 999px;
}

.nav a.active,
.nav a:hover{
  background: rgba(209,63,35,.12);
  border: 1px solid rgba(209,63,35,.25);
  color: var(--red-dark);
}

/* HERO */
.hero{
  position: relative;
  min-height: 55vh;
  display:flex;
  align-items:center;
  padding: 70px 0;
  background: url("hero.jpg") center/cover no-repeat;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(
    90deg,
    rgba(209,63,35,.75),
    rgba(0,0,0,.45),
    rgba(254,233,116,.18)
  );
}

.hero-content{
  position: relative;
  color: white;
}

.hero h1{
  font-size: clamp(2rem, 4vw, 3.2rem);
  text-shadow: 0 10px 35px rgba(0,0,0,.55);
}

/* PAGE HERO */
.page-hero{
  background: linear-gradient(90deg, var(--yellow-strong), var(--yellow));
  border-bottom: 4px solid rgba(209,63,35,.25);
  padding: 40px 0;
}

.page-hero-inner h1{
  margin: 0 0 8px;
  color: var(--red);
  font-weight: 1000;
}

.page-hero-inner p{
  margin: 0;
  color: rgba(0,0,0,.7);
  font-weight: 700;
}

/* BUTTONS */
.btn{
  padding: 12px 16px;
  border-radius: 16px;
  font-weight: 1000;
  cursor: pointer;
}

.btn-primary{
  background: linear-gradient(90deg, var(--yellow-strong), var(--yellow));
  color: var(--red-dark);
}

/* SECTIONS */
.section{
  padding: 48px 0;
}

.section-title{
  font-size: 1.7rem;
  margin-bottom: 8px;
}

/* GRID + CARD */
.grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.card{
  background: var(--card);
  border-radius: 20px;
  padding: 18px;
}

/* CONTACT FORM */
form label{
  display:block;
  font-weight: 900;
  margin-bottom: 12px;
}

form input,
form textarea{
  width: 100%;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(255,255,255,.9);
}

form input:focus,
form textarea:focus{
  border-color: rgba(209,63,35,.45);
  box-shadow: 0 0 0 4px rgba(254,233,116,.55);
}

/* FOOTER */
.site-footer{
  background: var(--red-dark);
  color: white;
  margin-top: 50px;
  border-top: 6px solid var(--yellow);
}

/* The class for the spawned vehicle */
.tuktuk-racer {
  position: fixed;
  bottom: 20px;
  left: -250px;         /* Start off screen */
  width: 200px;
  z-index: 9999;
  pointer-events: none;
  
  /* Run animation immediately upon creation */
  animation: driveAcross 4s linear forwards; 
}

@keyframes driveAcross {
  from { left: -250px; }
  to { left: 100vw; }
}
