* {
   margin:0;
   padding:0;
   box-sizing:border-box;
}
:root {
   --bg:#060606;
   --card:#121212;
   --accent:#ff3c00;
   --text:#ffffff;
   --muted:#a8a8a8;
   --section-border:rgba(255,255,255,.06);
}
html {
   scroll-behavior:smooth;
}
body {
   font-family:'Inter', sans-serif;
   color:var(--text);
   overflow-x:hidden;
   background:
   radial-gradient(circle at top, #1a1a1a 0%, #050505 60%);
}
section {
   padding:120px 8%;
   position:relative;
   border-top:1px solid var(--section-border);
}
h1,h2,h3,h4 {
   font-family:'Orbitron', sans-serif;
   letter-spacing:1px;
}
nav {
   position:fixed;
   top:0;
   left:0;
   width:100%;
   padding:18px 8%;
   display:flex;
   justify-content:space-between;
   align-items:center;
   background:rgba(0,0,0,0.82);
   backdrop-filter:blur(14px);
   border-bottom:1px solid rgba(255,255,255,.08);
   z-index:1000;
}
nav ul {
   flex-wrap:wrap;
   justify-content:center;
}
.menu-toggle {
   display:none;
   font-size:2rem;
   cursor:pointer;
   color:white;
}
.logo {
   font-size:1.2rem;
   font-weight:700;
   color:var(--accent);
}
nav ul {
   display:flex;
   gap:30px;
   list-style:none;
}
nav a {
   color:white;
   text-decoration:none;
   transition:.3s;
   font-weight:500;
   position:relative;
   padding-bottom:4px;
}
nav a::after {
   content:"";
   position:absolute;
   left:0;
   bottom:0;
   width:0%;
   height:2px;
   background:var(--accent);
   transition:.3s;
}
nav a:hover::after {
   width:100%;
}
nav a:hover {
   color:var(--accent);
}
.hero {
   height:100vh;
   display:flex;
   align-items:center;
   justify-content:center;
   text-align:center;
   position:relative;
   border-top:none;
   background:
   linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.75)),
   url('https://as1.ftcdn.net/v2/jpg/06/06/75/22/1000_F_606752211_7ZV7wtByazZTmH63VnsyTtJ5NqITGiSr.jpg?q=80&w=1600&auto=format&fit=crop') center/cover;
   /*url('https://media.istockphoto.com/id/2271132042/es/foto/mallorca-rural-antigua-al-amanecer-pueblo-caimari-con-monta%C3%B1a-regi%C3%B3n-de-raiguer-mallorca-islas.jpg?s=1024x1024&w=is&k=20&c=HGbCm4F_wATdvdXHrisJNgICODafpwEz8cuwNXowvaQ=') center/cover;*/
}
.hero::after {
   content:"";
   position:absolute;
   bottom:0;
   left:0;
   width:100%;
   height:180px;
   background:linear-gradient(to top, #0b0b0b, transparent);
}
.hero-content {
   position:relative;
   z-index:2;
}
.hero-content img {
   width:100%;
   max-width:700px;
   height:auto;
   object-fit:contain;
   display:block;
   margin:0 auto 30px;
   filter:drop-shadow(0 10px 35px rgba(0,0,0,.6));
}
.hero p {
   color:#d5d5d5;
   font-size:1.1rem;
   line-height:1.8;
   margin-bottom:35px;
   max-width:850px;
}
.edition-selector {
   display:flex;
   justify-content:center;
   align-items:center;
   gap:12px;
   padding:12px 18px;
   background: rgba(10,10,10,.55);
   border: 1px solid rgba(255, 60, 0, .25);
   border-radius: 16px;
   backdrop-filter: blur(14px);
   -webkit-backdrop-filter: blur(14px);
   box-shadow: 0 10px 30px rgba(0,0,0,.35);
   transition: .25s ease;
}
.hero-selector {
   margin-top:20px;
   margin-bottom:35px;
}
.edition-selector label {
   color: rgba(255, 60, 0, .9);
   font-weight: 700;
   letter-spacing: 1.2px;
   text-transform: uppercase;
   font-size: 1.25rem;
   white-space: nowrap;
}
.edition-selector select {
   background: transparent;
   color: var(--text);
   border: none;
   font-size: 1.25rem;
   cursor: pointer;
   outline: none;
}
.edition-selector select:hover {
   border-color: rgba(255,60,0,.6);
}
.edition-selector select option {
   background: #141414;
   color: #fff;
}
.edition-selector select:focus {
   border-color: var(--accent);
   box-shadow: 0 0 0 2px rgba(255,60,0,.15);
}
.btn {
   display:inline-block;
   padding:15px 35px;
   background:var(--accent);
   color:white;
   text-decoration:none;
   border-radius:50px;
   font-weight:600;
   transition:.3s;
}
.btn:hover {
   transform:translateY(-3px);
   box-shadow:0 10px 25px rgba(255,60,0,.35);
}
.section-title {
   text-align:center;
   margin-bottom:70px;
   position:relative;
}
.section-title h2 {
   font-size:2.7rem;
   margin-bottom:18px;
   position:relative;
   display:inline-block;
}
.section-title h2::after {
   content:"";
   width:70%;
   height:4px;
   background:var(--accent);
   position:absolute;
   left:50%;
   transform:translateX(-50%);
   bottom:-12px;
   border-radius:50px;
}
.section-title p {
   color:var(--muted);
   margin-top:20px;
   font-size:1.05rem;
}
.about {
   background:
   linear-gradient(to bottom, #0b0b0b, #111111);
}
.about-content {
   display:grid;
   grid-template-columns:repeat(2,minmax(0,1fr));
   gap:60px;
   align-items:stretch;
}
.about-content img {
   width:100%;
   height:100%;
   min-height:520px;
   object-fit:cover;
   border-radius:24px;
   box-shadow:0 15px 40px rgba(0,0,0,.5);
}
.about-text {
   background:rgba(255,255,255,.03);
   border:1px solid rgba(255,255,255,.06);
   padding:45px;
   border-radius:24px;
   display:flex;
   flex-direction:column;
   justify-content:center;
   min-height:520px;
}
.about-text p {
   color:#cfcfcf;
   line-height:1.9;
   margin-bottom:22px;
}
.about-text h4 {
   margin-top:25px;
   color:var(--accent);
   font-size:1.1rem;
}
.social-buttons {
   display:flex;
   gap:15px;
   margin-top:25px;
   flex-wrap:wrap;
}
.social-btn {
   padding:12px 28px;
}
.instagram-btn {
   background:linear-gradient(
   45deg,
   #f09433,
   #e6683c,
   #dc2743,
   #cc2366,
   #bc1888
   );
}
.facebook-btn {
   background:#1877f2;
}
.instagram-btn:hover,
.facebook-btn:hover {
   box-shadow:0 10px 25px rgba(255,255,255,.15);
}
.inscritos {
   background:
   linear-gradient(to bottom, #111111, #0b0b0b);
}
.pdf-container {
   width:100%;
   border-radius:24px;
   overflow:hidden;
   box-shadow:0 15px 45px rgba(0,0,0,.45);
   border:1px solid rgba(255,255,255,.08);
}
.pdf-mobile-btn {
   display:none;
   text-align:center;
   margin-top:25px;
}
#galeria {
   background:
   linear-gradient(to bottom, #0b0b0b, #131313);
}
.gallery-grid {
   display:grid;
   grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
   gap:25px;
}
.gallery-item {
   overflow:hidden;
   border-radius:22px;
   position:relative;
   box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.gallery-item img {
   width:100%;
   height:320px;
   object-fit:cover;
   transition:.5s;
}
.gallery-item:hover img {
   transform:scale(1.08);
}
.camiseta {
   background:
   linear-gradient(to bottom, #131313, #0c0c0c);
}
.camiseta-container {
   display:flex;
   justify-content:center;
   align-items:center;
}
.camiseta-container img {
   width:100%;
   border-radius:24px;
   box-shadow:0 15px 45px rgba(0,0,0,.5);
   transition:.3s;
   border:1px solid rgba(255,255,255,.06);
}
.camiseta-container img:hover {
   transform:scale(1.02);
}
.sponsors {
   background:
   linear-gradient(to bottom, #0c0c0c, #080808);
}
.first-sponsors {
   display:grid;
   grid-template-columns:repeat(1,1fr);
   gap:25px;
   margin-bottom:50px;
}
.main-sponsors {
   display:grid;
   grid-template-columns:repeat(4,1fr);
   gap:25px;
   margin-bottom:50px;
}
.secondary-sponsors {
   display:grid;
   grid-template-columns:repeat(8,1fr);
   gap:20px;
}
.sponsor-card {
   background:#ffffff;
   border-radius:18px;
   padding:25px;
   display:flex;
   justify-content:center;
   align-items:center;
   overflow:hidden;
   transition:.3s;
   border:1px solid rgba(255,255,255,.08);
}
.sponsor-card:hover {
   transform:translateY(-5px);
   box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.main-sponsors .sponsor-card {
   min-height:170px;
}
.main-sponsors img {
   max-width:220px;
   max-height:110px;
   width:100%;
   object-fit:contain;
}
.secondary-sponsors .sponsor-card {
   min-height:110px;
   padding:18px;
}
.secondary-sponsors img {
   max-width:130px;
   max-height:60px;
   width:100%;
   object-fit:contain;
}
footer {
   padding:45px 8%;
   border-top:1px solid rgba(255,255,255,.08);
   color:var(--muted);
   background:#050505;
}
.footer-container {
   display:flex;
   justify-content:space-between;
   align-items:center;
   gap:20px;
}
.footer-left,
.footer-right {
   font-size:.95rem;
}
.footer-right a {
   color:var(--accent);
   text-decoration:none;
   transition:.3s;
}
.footer-right a:hover {
   opacity:.8;
}
@media(max-width:900px) {
   .about-content {
      grid-template-columns:1fr;
   }
   .about-content img {
      min-height:auto;
      height:auto;
      object-fit:contain;
   }
   .about-text {
      min-height:auto;
   }
   nav ul {
      gap:15px;
   }
   .main-sponsors {
      grid-template-columns:repeat(2,1fr);
   }
   .secondary-sponsors {
      grid-template-columns:repeat(4,1fr);
   }
}
@media(max-width:768px) {
   .pdf-container iframe {
      height:600px;
   }
   .section-title h2 {
      font-size:2.2rem;
   }
}
@media(max-width:600px) {
   nav {
      flex-direction:row;
   }
   nav ul li {
      width:100%;
   }
   nav ul a {
      display:block;
      width:100%;
      font-size:1.05rem;
   }
   .menu-toggle {
      display:block;
   }
   nav ul {
      position:absolute;
      top:100%;
      left:0;
      width:100%;
      background:#111;
      flex-direction:column;
      align-items:flex-start;
      gap:22px;
      padding:30px 35px;
      display:none;
      border-top:1px solid rgba(255,255,255,.08);
   }
   nav ul.active {
      display:flex;
   }
   section {
      padding:90px 6%;
   }
   .hero {
      padding-top:120px;
   }
   .hero-content img {
      max-width:100%;
   }
   .section-title h2 {
      font-size:2rem;
   }
   .about-text {
      padding:28px;
   }
   .about-text h4 {
      font-size: 0.8rem;
   }
   .social-buttons {
      gap:13px;
   }
   .first-sponsors,
   .main-sponsors {
      grid-template-columns:1fr;
   }
   .first-sponsors img {
      max-width:350px;
      max-height:200px;
      width:100%;
      object-fit:contain;
   }
   .secondary-sponsors {
      grid-template-columns:repeat(2,1fr);
   }
   .pdf-container {
      display:none;
   }
   .pdf-mobile-btn {
      display:block;
   }
   .footer-container {
      flex-direction:column;
      text-align:center;
      gap:12px;
   }
}