/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */

/* Hero / Home Section */
/* Hero / Home Section */
/* General Styles */
/* 1. UNIFIED VARIABLES */

/* 1. THEME VARIABLES */
/* 1. THEME VARIABLES */
:root {
  --bg: #FFD6E0; /* VIBRANT PINK */
  --text: #1A1A1A;
  --accent: #5E6350;
  --border: rgba(0,0,0,0.1);
  --chat-ai: #E5E2D9;
}

body.dark-mode {
  --bg: #111111;
  --text: #EEEEEE;
  --accent: #AAB096;
  --border: rgba(255,255,255,0.1);
  --chat-ai: #222222;
}

/* 2. GLOBAL RESET */
* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: 'Inter', sans-serif;
  line-height: 1.6;
  background-color: var(--bg) !important;
  color: var(--text) !important;
  transition: background-color 0.3s ease, color 0.3s ease;
  overflow-x: hidden;
}

.content-width {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
}

/* 3. NAVIGATION - PERFECT MEDIUM SIZE */
.nav {
  padding: 25px 0; 
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
}

.nav-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1000px; 
  padding: 0 40px;
}

.brand {
  font-family: 'DM Serif Display', serif;
  font-size: 2.5rem !important; /* PERFECT MEDIUM */
  text-decoration: none;
  color: var(--text);
  letter-spacing: -1px;
  font-weight: 800;
  line-height: 1;
}

.brand span {
  display: inline-block;
  transition: transform 0.5s ease;
}

.brand:hover span {
  transform: rotate(90deg);
}

/* 4. THEME BUTTON - BOLD & BALANCED */
.theme-btn {
  background: transparent;
  color: var(--text);
  border: 2px solid var(--text) !important; 
  padding: 12px 24px !important; 
  border-radius: 30px;
  cursor: pointer;
  font-family: inherit;
  font-size: 1.1rem !important; 
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: all 0.2s ease;
  text-transform: uppercase;
}

.theme-btn:hover {
  background: var(--text);
  color: var(--bg);
}

/* 5. HERO SECTION - RESTORED BACKGROUND */
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  text-align: center;
  position: relative;
  background: var(--bg) url("images/bg.jpg") center/cover no-repeat;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--bg);
  opacity: 0.75;
  z-index: 0;
}

.hero .content-width {
  position: relative;
  z-index: 1;
}

h1 {
  font-size: clamp(2.5rem, 6vw, 4rem); 
  line-height: 0.95; 
  margin-bottom: 24px;
  letter-spacing: -2px; 
}

/* 6. DESKTOP ICONS */
.desktop-icons {
  display: flex;
  justify-content: center;
  gap: 35px;
  margin-top: 50px