/* css/base.css */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--dark);
  color:var(--light);
  font-family:var(--font-body);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a { text-decoration:none; color:inherit; }
button { cursor:pointer; font-family:inherit; }

::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--dark2); }
::-webkit-scrollbar-thumb { background:var(--orange); border-radius:2px; }

.section       { padding:90px 60px; }
.section--alt  { background:var(--dark2); }

.section-header { text-align:center; margin-bottom:50px; }
.section-tag {
  display:inline-block;
  font-family:var(--font-ui); font-weight:700;
  font-size:0.72rem; letter-spacing:4px; text-transform:uppercase;
  color:var(--orange); margin-bottom:14px;
}
.section-title {
  font-family:var(--font-display);
  font-size:clamp(40px,5vw,64px);
  letter-spacing:3px; color:var(--white); line-height:1;
}
.section-title span { color:var(--orange); }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(30px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:0.5; transform:scale(1.4); }
}
@keyframes slideIn {
  from { transform:translateX(200px); opacity:0; }
  to   { transform:translateX(0);     opacity:1; }
}

@media (max-width:768px) {
  .section     { padding:60px 20px; }
  .hide-mobile { display:none !important; }
}
