/*
Theme Name: OliveSolutions Custom Theme
Theme URI: https://olivesolutions.in
Author: Olivia Mercy Francina
Author URI: https://olivesolutions.in
Description: A custom frontend built using Codex, integrated into WordPress.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: olivesolutions
*/

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #000;
  color: #fff;
  font-family: 'Bricolage Grotesque', sans-serif;
  overflow-x: hidden;
}

/* 🔹 NAVBAR */
.navbar {
  position: fixed;
  top: 25px;
  left: 50%;
  transform: translateX(-50%);
  backdrop-filter: blur(15px);
  background: rgba(255, 255, 255, 0.1);
  border-radius: 25px;
  padding: 18px 50px;
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.05);
  z-index: 1000;
}
.navbar ul {
  display: flex;
  list-style: none;
  gap: 45px;
}
.navbar a {
  color: white;
  font-weight: 600;
  font-size: 1.2rem;
  text-decoration: none;
  transition: 0.3s;
  position: relative;
}
.navbar a::after {
  content: "";
  position: absolute;
  width: 0%;
  height: 2px;
  bottom: -4px;
  left: 0;
  background: gold;
  transition: width 0.3s;
}
.navbar a:hover {
  color: gold;
  transform: scale(1.05);
}
.navbar a:hover::after {
  width: 100%;
}

/* 🌳 HOME SECTION */
.home-section {
  position: relative;
}
.tree-container {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  overflow: hidden;
}
.tree {
  position: absolute;
  width: 720px;
  max-width: 90vw;
  bottom: 0;
}
.withered {
  opacity: 1;
  z-index: 2;
}
.full {
  opacity: 0;
  z-index: 3;
}
.restore-text {
  position: absolute;
  font-size: 15rem;
  font-weight: 900;
  color: #fff;
  opacity: 0;
  transform: translateY(200px);
  z-index: 1;
  user-select: none;
  text-align: center;
}

/* ✨ ABOUT SECTION */
.about-section {
  min-height: 100vh;
  background: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  flex-direction: column;
  text-align: center;
  padding: 100px 20px;
}

.about-container {
  position: relative;
  width: 100%;
  max-width: 1200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Text centered perfectly */
.about-text {
  position: relative;
  z-index: 2;
  max-width: 900px;
}


.about-text h2 {
  font-family: 'Press Start 2P', cursive;
  color: #ffffff;
  font-size: 2.4rem;
  letter-spacing: 2px;
  line-height: 1.4;
  margin-bottom: 25px; /* gap below heading */
}

.about-text p {
  color: #908b8b;
  font-size: 1rem;
  line-height: 1.6;
  max-width: 750px;
  margin: 0 auto;
}

/* Logo positioning refined */
.logo {
  position: absolute;
  transition: all 0.4s ease;
  cursor: pointer;
  filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.25));
}

.logo:hover {
  transform: scale(1.15);
  filter: drop-shadow(0 0 25px rgba(255, 255, 255, 0.4));
}

/* 📍 New balanced positions */
.pixi   { top: -30%;  left: -10%; width: 260px; }
.html   { top: 109%; left: 7%; width: 160px; }
.react  { top: -100%; left: 20%; width: 130px; }
.ps     { bottom: -70%; left: 28%; width: 110px; }
.pr     { top: -80%; right: 20%; width: 130px; }
.ae     { bottom: -90%; right: 22%; width: 160px; }
.ai     { top: 58%; right: 7%; width: 90px; }
.spine  { top: -80%; right: -10%; width: 240px; }
.python { top: 50%; right: -10%; width: 155px; }

/* Responsive */
@media (max-width: 768px) {
  .restore-text { font-size: 6rem; }
  .about-text h2 { font-size: 1.5rem; }
  .logo { position: static; width: 70px; margin: 15px; }
  .about-section { flex-direction: column; }
}
