/* =========================
   Base
========================= */

body{
margin:0;
background:#0e1117;
color:#ffffff;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
letter-spacing:0.08em;
line-height:1.6;
overflow-x:hidden;
align-items: center;
justify-content: center;
opacity: 0;
animation: pageFade 1s ease forwards;
}

@keyframes pageFade {
  from { opacity: 0; }
  to { opacity: 1; }
}

}

/* =========================
   Layout
========================= */
.centered {
height: 100vh;             /* full viewport height */
display: flex;
flex-direction: column;     /* stack children vertically */
align-items: center;        /* horizontal centering */
justify-content: center;    /* vertical centering */
text-align: center;         /* optional, good for text inside children */
 }
.container {
  position: relative;
  z-index: 10; /* ensures title and content are on top */
  max-width: 900px;
  margin: auto;
  padding: 40px 30px; /* optional */
  text-align: center;
}
.hero {
  height: 100vh;             /* full viewport height */
  display: flex;
  flex-direction: column;     /* stack items vertically */
  align-items: center;        /* horizontal centering */
  justify-content: center;    /* vertical centering */
  position: relative;
  z-index: 10;                /* above all background layers */
  text-align: center;
}

section{
margin-top:80px;
}

/* =========================
   Typography
========================= */

h1{

font-size:clamp(2.5rem,6vw,4rem);

background:linear-gradient(
90deg,
#00e0a8,
#ff3ea5
);
margin-bottom:5px;
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

}

h2{
font-size:1.6rem;
letter-spacing:0.08em;
margin-bottom:20px;
color:#f5f5f5;
}

h3{
font-size:1rem;
letter-spacing:0.12em;
margin-top:10px;
}

p{
font-size:1rem;
color:#cfcfcf;
max-width:700px;
margin:0 auto 15px;
}

/* =========================
   Button
========================= */

.button{
display:inline-block;
margin-top:50px;
padding:12px 28px;
border:1px solid rgba(255,255,255,0.5);
text-decoration:none;
color:white;
letter-spacing:0.2em;
font-size:0.85rem;
transition:all 0.25s ease;
border-radius:4px;
}

.button:hover{
background:white;
color:#0e1117;
box-shadow:0 0 12px rgba(255,255,255,0.4);
transform:translateY(-2px);
}

/* =========================
   Team
========================= */

.team-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:40px;
margin-top:40px;
}

.member{
padding:20px;
border-radius:12px;

background:rgba(255,255,255,0.04);
border:1px solid rgba(255,255,255,0.08);

backdrop-filter:blur(8px);

transition:all 0.25s ease;
}

.member:hover{
transform:translateY(-6px);
background:rgba(255,255,255,0.06);
}

.member img{
width:100%;
border-radius:8px;
margin-bottom:12px;
}

/* =========================
   Background Effects
========================= */

:root {
  --bg: #0e1117;
  --muted: #cfcfcf;
  --accent1: #00e0a8;
  --accent2: #ff3ea5;
  --card-bg: rgba(255,255,255,0.04);
  --gap: 32px;
}

/* 1. Optimized Background: Reduced size to 110% to lower paint area */
.background {
  position: fixed;
  top: -5dvh; 
  left: -5vw; 
  width: 110vw;
  height: 110dvh;
  background-color: var(--bg);
  background-image: 
    radial-gradient(circle at 20% 30%, rgba(0,224,168,0.2), transparent 45%),
    radial-gradient(circle at 80% 60%, rgba(255,62,165,0.2), transparent 50%),
    url("images/bg2.avif");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  }


/* 3. Ripple: Combined and Deduplicated */
.ripple {
  position: fixed;
  top: -10%;
  left: -10%;
  width: 120%;
  height: 120%;
  background: 
    radial-gradient(circle at 30% 40%, rgba(255,255,255,0.03), transparent 40%),
    radial-gradient(circle at 70% 60%, rgba(255,255,255,0.02), transparent 45%);
  animation: rippleMove 60s linear infinite;
  z-index: 1;
  pointer-events: none;
}

/* 4. Noise: Added specific display optimization */
.noise {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("images/noise.png");
  opacity: 0.3; /* Slightly lower opacity for clarity */
  pointer-events: none;
  z-index: 2;
  /* Prevents Chrome from trying to "smooth" the noise texture */
  image-rendering: pixelated; 
}

/* Keyframes Optimized for GPU */
@keyframes auroraMove {
  0%, 100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(-2%, 1%, 0); }
}

@keyframes float {
  0%, 100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(0, -30px, 0); }
}

@keyframes rippleMove {
  0% { transform: translate3d(0,0,0) rotate(0deg); }
  100% { transform: translate3d(0,0,0) rotate(360deg); } /* Cleaner rotation */
}

/* Footer & Typography */
footer {
  position: relative;
  text-align: center;
  padding: 60px 20px;
  color: #aaa;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  z-index: 10;
}

footer a { color: var(--accent1); text-decoration: none; transition: color 0.3s; }
footer a:hover { text-decoration: underline; color: #00ffe0; }

.subtitle { font-size: 0.8rem; letter-spacing: 0.3em; color: #aaa; margin-bottom: 50px; text-transform: uppercase; }
.role { font-size: 0.8rem; color: #aaa; letter-spacing: 0.15em; text-transform: uppercase; margin-top: 6px; }