:root{
  --primary:#ff4757;
  --dark:#0e0e0e;
  --light:#ffffff;
}

*{box-sizing:border-box;padding:0;margin:0;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;}

body{background:var(--dark);color:var(--light);scroll-behavior:smooth;}

header{position:fixed;top:0;left:0;width:100%;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;padding:0.75rem 1.5rem;z-index:999;}

.logo{font-size:1.25rem;font-weight:bold;color:var(--primary);}

nav ul{list-style:none;display:flex;gap:1rem;}

nav a{color:var(--light);text-decoration:none;font-weight:600;}

nav a:hover{color:var(--primary);}

.menu-button-container{display:none;cursor:pointer;}

.menu-button, .menu-button::before, .menu-button::after{width:25px;height:3px;background:var(--light);display:block;transition:.3s;}

.menu-button::before, .menu-button::after{content:'';position:relative;}

.menu-button::before{top:-6px;}

.menu-button::after{top:3px;}

#menu-toggle{display:none;}

@media(max-width:768px){
  nav ul{position:fixed;inset:0 0 0 40%;flex-direction:column;padding-top:5rem;background:rgba(0,0,0,.9);transform:translateX(100%);transition:.3s;}
  nav ul li{text-align:center;}
  #menu-toggle:checked ~ ul{transform:translateX(0);}
  .menu-button-container{display:block;}
}

.hero{height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;}

.slides img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:0;transition:opacity 1s;}

.slides .active{opacity:1;}

.overlay{position:relative;z-index:1;}

.overlay h2{font-size:3rem;margin-bottom:1rem;text-shadow:0 2px 8px #000;}

.overlay p{font-size:1.25rem;margin-bottom:1.5rem;}

.cta{background:var(--primary);padding:0.75rem 1.5rem;border-radius:4px;color:#fff;text-decoration:none;font-weight:700;transition:.3s;}

.cta:hover{transform:scale(1.05);}

section{padding:5rem 1rem;max-width:1100px;margin:0 auto;}

h2{font-size:2rem;margin-bottom:1.5rem;color:var(--primary);text-align:center;}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;}

.card{background:rgba(255,255,255,.05);padding:1.5rem;border-radius:8px;transition:.3s;}

.card:hover{transform:translateY(-6px);box-shadow:0 4px 10px rgba(0,0,0,.3);}

ol{margin-left:1.25rem;font-size:1.1rem;}

.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;}

.gallery figure{position:relative;}

.gallery img{width:100%;border-radius:8px;}

.gallery figcaption{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.6);padding:0.25rem 0.5rem;font-size:.9rem;border-radius:4px;}

table{width:100%;border-collapse:collapse;}

table th,table td{border:1px solid rgba(255,255,255,.3);padding:0.6rem;text-align:left;}

footer{padding:1rem;text-align:center;background:#000;color:#666;font-size:.875rem;}

.fade{opacity:0;transform:translateY(40px);transition:1s;}
.fade.visible{opacity:1;transform:none;}

.center{text-align:center;margin-top:1rem;}