     /* ── Global ── */
/* Root CSS variables defining the color scheme and theme tokens */
        :root {
            --gray:    #888;       /* Muted/secondary text color */
            --pink: #deb4b4;
            --purple: #6d316b;
            --dark: #081738;
        }
/* Strip default browser margins and padding */
html, body {
  margin: 0;
  padding: 0;
  box-sizing: border-box; /* Ensures padding doesn't affect total element width */

}
            /* 1. Navbar Container Setup */
/* Main navigation bar - flexbox container with space-between layout */
.navbar {
  display: flex;           /* Enable flexbox layout */
  justify-content: space-between;  /* Distribute items with space between */
  align-items: center;     /* Center items vertically */
  background: var(--dark); /* Use dark background color */
  min-height: 64px;        /* Minimum navbar height */
  padding: 0 1.5rem;       /* Horizontal padding */
  position: sticky;        /* Sticky positioning */
  top: 0;                  /* Stick to top of viewport */
  z-index: 1000;           /* Ensure navbar stays on top */

}

/* 2. Brand/Logo Typography */
/* Navbar brand/logo styling with wide letter spacing */
.nav-brand {
  letter-spacing: 8px;     /* Wide spacing between letters */
  font-weight: bold;       /* Bold text weight */
  font-size: 1.3rem;       /* Larger font size for prominence */
  color: white;             /* White color */
  text-decoration: none;   /* Remove underline */
}
/* 3. Navigation Links Row Layout */
.nav-links {
  display: flex;           /* Horizontal flexbox layout */
  gap: 1.5rem;             /* Space between link items */
  align-items: center;     /* Center items vertically */

}
/* Individual navigation link styling */
.nav-links a{
  font-weight: 500;        /* Medium font weight */
  color:var(--gray);     /* Use muted color for links */
  text-decoration: none;   /* Remove underline */
  background: none;        /* Remove default background */
  border: none;            /* Remove default border */
  cursor: pointer;         /* Show pointer cursor */
  padding: 0.5rem 0;       /* Vertical padding */
  transition: color 0.2s ease;  /* Smooth color transition on hover */
}
.nav-links a:hover{
  color: white;
}

.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 0;
  background: var(--dark); /* Use surface color for hero background */

}
.hero h1 { 
  color:  var(--purple); 
  font-size: 4rem;
  margin: 0;
  padding: 0
}
.hero span { 
  color: white; 
  margin:0;
  padding:0;
  font-size: 4rem
}
 /* ── Content section ── */
/* Page section — breathing room top/bottom */
.content-section {
    max-width: 1200px;
    margin: 0rem auto;
    padding-bottom: 20px;    
    padding-left: 10px; 
    padding-right: 10px;
}

.section-title {
    font-size: 2rem;
    font-weight: 900;
    color: var(--purple);
    letter-spacing: .1em;
    text-align: center;
    margin-bottom: 2rem;  /* ← gap between title and cards */
}

/* Grid — centred, max width, no extra margin */
.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1.5rem;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* Card — NO margin, gap handles spacing */
.card {
    background: #081738;
    border-radius: 12px;
    padding: 1.75rem;
    transition: border-color 0.2s ease, transform 0.2s ease;
    max-width: 400px;
    /* margin: removed ✅ */
}
.card:hover {
    background-color:#3C4C8A;
    transform: translateY(-2px);
    cursor: pointer;
}

.card-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: white; 
    margin-bottom: 0.5rem;
}

.card-text {
   
    color: white;  
    line-height: 1.6;
}
.card-text span {
    color: #FF8EDB;
}
/* TILES */
.tile-grid {
    display: grid;
    gap: 1.5rem;
    justify-content: center;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.tile {
    border-top:7px solid var(--border-color, #3C4C8A);
    background-color: rgba(238, 242, 238, 0.467);
    padding: 1.75rem;
    transition: border-color 0.2s ease, transform 0.2s ease;
    margin-right: 10px;
    opacity: 0;
  transform: scale(0.95);
  transition: all 1s ease-in-out;

}
.tile.visible {
  opacity: 1;
  transform: scale(1);
}
.tile:hover {
    transform: translateY(-2px);
}

.tile-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--purple); 
    margin-bottom: 0.5rem;
}

.tile-text {
    /* font-size: 1.1rem; */
    color: var(--purple);  
    line-height: 1.6;
}
.tile-text span {
    color: #FF8EDB;
}

ul {
  margin: 0;
  padding: 0;                 /* removes left indent */
  list-style: disc;
  list-style-position: inside; /* bullet inside text box */
  color: var(--purple);
}
/* FOOTER */
.footer{
  text-align: center;
  color: white;
  padding: 0.5rem 10px;
  background: var(--dark);
  letter-spacing: 3px;
}