:root {
  --bg: #0a0a0a;
  --panel: #111;
  --muted: #ccc;
  --accent: #ff6600;
  --card-bg: #1a1a1a;
  --text: #fff;
}

*{box-sizing:border-box;margin:0;padding:0;}
body{margin:0;font-family:system-ui,sans-serif;background:var(--bg);color:var(--text);}

/* Hide scrollbars */
html, body {
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
html::-webkit-scrollbar, body::-webkit-scrollbar {
  width: 0px;
  background: transparent;
}

/* Hero */
.hero{height:100vh;display:flex;justify-content:center;align-items:center;text-align:center;overflow:hidden;}
.hero-inner{max-width:900px;padding:0 20px;transition:transform 0.5s ease, opacity 0.5s ease;}
.hero h1{font-size:clamp(2rem,6vw,4rem);margin-bottom:1rem;color:var(--accent);}
.hero p{color:var(--muted);font-size:1.2rem;margin-bottom:2rem;}
.btn{border:2px solid var(--accent);padding:10px 16px;border-radius:6px;font-weight:600;margin:0 6px;color:var(--accent);}
.btn:hover{background:var(--accent);color:var(--text);}
.btn--accent:hover{background:var(--accent);color:var(--text);}

/* Family Section */
.family-section{
  position: relative;
  width: 100%;
  background: var(--panel);
}
.family-left{
  position: fixed;
  top: 30vh;
  left: 5%;
  width: 35%;
  opacity: 0;
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.family-left h2{font-size:3rem;color:var(--accent);}
.family-right{
  position: fixed;
  top: 0;
  left: 40%;
  width: 55%;
  height: 100vh;
  display:flex;
  justify-content:center;
  align-items:center;
  opacity:0;
  transition:opacity 0.7s ease;
}

/* Cards */
.card{
  position:absolute;
  width:90%;
  max-width:500px;
  height:80vh;
  background:var(--card-bg);
  border-radius:12px;
  padding:24px;
  opacity:0;
  transform:translateX(100%) scale(0.95);
  transition:transform 0.8s cubic-bezier(0.77,0,0.175,1),opacity 0.8s ease-in-out;
  color:var(--text);
}
.card img{width:100%;height:50%;object-fit:cover;border-radius:12px;margin-bottom:12px;}
.card h3{margin-bottom:6px;color:var(--accent);}
.card p{color:var(--muted);margin-bottom:12px;}
.card .card-links a{
  display:inline-block;
  margin:4px 6px 0 0;
  padding:6px 12px;
  border:1px solid var(--accent);
  border-radius:6px;
  font-size:.9rem;
  color:var(--accent);
}
.card .card-links a:hover{background:var(--accent);color:var(--text);border-color:var(--accent);}
.card.active{opacity:1;transform:translateX(0) scale(1);}
.card.next{opacity:0;transform:translateX(100%) scale(0.95);}
.card.prev{opacity:0;transform:translateX(-100%) scale(0.95);}

/* Footer */
.site-footer{background:#070707;padding:30px;text-align:center;color:var(--muted);font-size:.85rem;}
