@font-face{
font-family:'Soulcraft';
src:url('fonts/soulcraftgx.woff2') format('woff2');
font-weight:normal;
font-style:normal;
font-display:swap;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--black:#000;--white:#fff;--creme:#F3DCB3;--azul:#24A1A6;--fogo:#E84633;
--amarelo:#FBB03C;--bg:#F3DCB3;
}
html{scroll-behavior:smooth;font-size:16px}
body{
font-family:'Ubuntu',sans-serif;background:var(--creme);color:var(--black);
overflow-x:hidden;-webkit-font-smoothing:antialiased;
}

/* HALFTONE DOT PATTERN OVERLAY */
.halftone{
position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;
background-image:radial-gradient(circle,rgba(0,0,0,.04) 1px,transparent 1px);
background-size:6px 6px;mix-blend-mode:multiply;
}

/* NAV */
nav{
position:fixed;top:0;left:0;width:100%;z-index:100;
background:var(--black);padding:12px 24px;
display:flex;align-items:center;justify-content:space-between;
transition:transform .3s;
}
nav.hidden{transform:translateY(-100%)}
.nav-logo{
font-family:'Soulcraft',sans-serif;color:var(--creme);font-size:1.4rem;
letter-spacing:-1px;text-decoration:none;
}
.nav-logo span{color:var(--fogo)}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-links a{
color:var(--creme);text-decoration:none;font-weight:700;font-size:.85rem;
text-transform:uppercase;letter-spacing:2px;position:relative;
transition:color .2s;
}
.nav-links a::after{
content:'';position:absolute;bottom:-4px;left:0;width:0;height:3px;
background:var(--fogo);transition:width .3s;
}
.nav-links a:hover::after{width:100%}
.nav-links a:hover{color:var(--fogo)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.menu-toggle span{display:block;width:28px;height:3px;background:var(--creme);margin:5px 0;transition:.3s}
.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.active span:nth-child(2){opacity:0}
.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}

/* HERO */
.hero{
min-height:100vh;display:flex;flex-direction:column;
align-items:center;justify-content:center;text-align:center;
position:relative;overflow:hidden;
background:var(--black);
padding:80px 24px 60px;
}
.hero-bg{
position:absolute;inset:0;
background:url('images/hero-bg.jpeg') center/cover no-repeat;
filter:brightness(.25);
}
.hero-shapes{position:absolute;inset:0;overflow:hidden}
.hero-shapes .shape{position:absolute;border-radius:50%}
.hero-shapes .s1{width:400px;height:400px;background:var(--fogo);top:-100px;right:-100px;opacity:.2}
.hero-shapes .s2{width:300px;height:300px;background:var(--azul);bottom:-80px;left:-80px;opacity:.15}
.hero-shapes .s3{width:200px;height:200px;background:var(--amarelo);top:30%;left:10%;opacity:.1}

.hero-content{position:relative;z-index:2;max-width:900px}
.hero-badge{
display:inline-block;background:var(--fogo);color:var(--creme);
font-family:'Ubuntu',sans-serif;font-weight:700;font-size:.85rem;
padding:8px 20px;text-transform:uppercase;letter-spacing:3px;
margin-bottom:32px;transform:rotate(-2deg);
}
.hero-title{
font-family:'Soulcraft',sans-serif;
font-size:clamp(3rem,10vw,8rem);line-height:.9;
color:var(--creme);margin-bottom:16px;
}
.hero-title .plus{color:var(--fogo);font-size:1.2em}
.hero-subtitle{
font-family:'Bebas Neue',sans-serif;
font-size:clamp(1.5rem,4vw,3rem);
color:var(--amarelo);letter-spacing:6px;
margin-bottom:40px;
}
.hero-date{
font-family:'Ubuntu',sans-serif;font-weight:700;
font-size:clamp(1rem,2.5vw,1.4rem);color:var(--creme);
background:var(--azul);display:inline-block;padding:12px 32px;
margin-bottom:16px;
}
.hero-location{
font-family:'Ubuntu',sans-serif;font-size:1rem;
color:rgba(243,220,179,.7);margin-bottom:48px;
}
.hero-cta{
display:inline-block;background:var(--fogo);color:var(--creme);
font-family:'Ubuntu',sans-serif;font-weight:700;font-size:1.1rem;
padding:18px 48px;text-decoration:none;text-transform:uppercase;
letter-spacing:3px;border:4px solid var(--fogo);
transition:all .3s;position:relative;overflow:hidden;
}
.hero-cta:hover{background:transparent;color:var(--fogo)}
.hero-scroll{
position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
color:var(--creme);opacity:.5;animation:bounce 2s infinite;
font-size:.8rem;text-transform:uppercase;letter-spacing:3px;
}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}

/* MANIFESTO TICKER */
.ticker{
background:var(--fogo);padding:16px 0;overflow:hidden;
white-space:nowrap;
}
.ticker-inner{
display:inline-flex;animation:ticker 20s linear infinite;
}
.ticker-text{
font-family:'Soulcraft',sans-serif;font-size:1.4rem;
color:var(--creme);padding:0 48px;text-transform:uppercase;
}
.ticker-text .dot{color:var(--amarelo);margin:0 16px}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* SECTIONS */
section{padding:80px 24px}
.section-title{
font-family:'Soulcraft',sans-serif;
font-size:clamp(2rem,5vw,3.5rem);
text-transform:uppercase;margin-bottom:16px;
line-height:1;
}
.section-label{
display:inline-block;background:var(--black);color:var(--creme);
font-weight:700;font-size:.75rem;padding:6px 16px;
text-transform:uppercase;letter-spacing:3px;margin-bottom:16px;
}

/* SOBRE */
.sobre{background:var(--creme);position:relative;overflow:hidden}
.sobre-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.sobre-text p{font-size:1.1rem;line-height:1.8;margin-bottom:20px;color:rgba(0,0,0,.8)}
.sobre-visual{position:relative}
.sobre-card{
background:var(--black);color:var(--creme);padding:40px;
transform:rotate(2deg);position:relative;
}
.sobre-card::before{
content:'';position:absolute;inset:-8px;border:4px solid var(--fogo);
transform:rotate(-1deg);
}
.sobre-card h3{font-family:'Soulcraft',sans-serif;font-size:2rem;margin-bottom:16px;color:var(--amarelo)}
.sobre-card p{font-size:.95rem;line-height:1.6;opacity:.8}
.video-card{margin-top:30px;transform:rotate(-1deg);padding:20px}
.video-card::before{transform:rotate(1deg)}
.video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}
.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.stat{text-align:center}
.stat-num{font-family:'Soulcraft',sans-serif;font-size:2.5rem;color:var(--fogo)}
.stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:2px;font-weight:700;opacity:.6}

/* LINEUP */
.lineup{background:var(--black);color:var(--creme);position:relative}
.lineup .section-title{color:var(--creme)}
.lineup .section-label{background:var(--fogo)}
.lineup-inner{max-width:1000px;margin:0 auto}
.lineup-day{margin-bottom:60px}
.lineup-day-title{
font-family:'Bebas Neue',sans-serif;font-size:2rem;
color:var(--azul);letter-spacing:4px;margin-bottom:24px;
border-bottom:3px solid var(--azul);padding-bottom:8px;
display:inline-block;
}
.lineup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.lineup-slot{
border:2px solid rgba(243,220,179,.15);padding:32px;
position:relative;overflow:hidden;transition:border-color .3s,transform .3s;
cursor:default;
}
.lineup-slot:hover{border-color:var(--fogo);transform:translateY(-4px)}
.lineup-slot .time{
font-family:'Bebas Neue',sans-serif;font-size:1.2rem;
color:var(--amarelo);letter-spacing:2px;
}
.lineup-slot .act{
font-family:'Soulcraft',sans-serif;font-size:1.6rem;
margin:8px 0;color:var(--creme);
}
.lineup-slot .genre{
font-size:.8rem;text-transform:uppercase;letter-spacing:2px;
color:var(--azul);font-weight:700;
}
.lineup-slot .tba{opacity:.4;font-style:italic}
.lineup-note{
margin-top:40px;text-align:center;
font-size:1.1rem;color:var(--amarelo);
font-style:italic;
}

/* EXPERIENCIA */
.experiencia{background:var(--azul);color:var(--creme)}
.experiencia .section-label{background:var(--creme);color:var(--azul)}
.experiencia .section-title{color:var(--creme)}
.exp-grid{
max-width:1000px;margin:40px auto 0;
display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;
}
.exp-card{
background:rgba(0,0,0,.2);padding:40px 32px;
border-left:4px solid var(--amarelo);
transition:transform .3s;
}
.exp-card:hover{transform:translateX(8px)}
.exp-card h3{
font-family:'Soulcraft',sans-serif;font-size:1.3rem;
margin-bottom:12px;color:var(--amarelo);
}
.exp-card p{font-size:.95rem;line-height:1.6;opacity:.85}

/* EDICOES */
.edicoes{background:var(--creme)}
.edicoes-inner{max-width:1000px;margin:0 auto}
.timeline{position:relative;padding-left:40px}
.timeline::before{
content:'';position:absolute;left:16px;top:0;bottom:0;
width:3px;background:var(--black);
}
.timeline-item{position:relative;margin-bottom:48px}
.timeline-item::before{
content:'';position:absolute;left:-32px;top:8px;
width:16px;height:16px;border-radius:50%;
background:var(--fogo);border:3px solid var(--black);
}
.timeline-item h3{
font-family:'Soulcraft',sans-serif;font-size:1.4rem;
margin-bottom:4px;
}
.timeline-item .date{
font-weight:700;color:var(--azul);font-size:.85rem;
text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;
display:block;
}
.timeline-item p{font-size:.95rem;line-height:1.6;opacity:.75}
.timeline-item .crowd{
display:inline-block;background:var(--amarelo);color:var(--black);
padding:4px 12px;font-weight:700;font-size:.8rem;margin-top:8px;
}

/* LOCAL */
.local{background:var(--black);color:var(--creme)}
.local .section-label{background:var(--azul)}
.local-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.local-info h3{font-family:'Soulcraft',sans-serif;font-size:1.8rem;margin-bottom:16px;color:var(--amarelo)}
.local-info p{font-size:1rem;line-height:1.8;opacity:.8;margin-bottom:16px}
.local-info .address{
background:rgba(243,220,179,.1);padding:20px;
border-left:4px solid var(--fogo);
font-size:.95rem;line-height:1.6;
}
.local-map{
background:rgba(243,220,179,.05);height:300px;
display:flex;align-items:center;justify-content:center;
border:2px solid rgba(243,220,179,.1);
}
.local-map iframe{width:100%;height:100%;border:none;filter:grayscale(80%) contrast(1.2)}

/* CONTATO */
.contato{background:var(--fogo);color:var(--creme);text-align:center}
.contato .section-title{color:var(--creme)}
.social-links{
display:flex;gap:24px;justify-content:center;margin-top:32px;
flex-wrap:wrap;
}
.social-link{
display:inline-flex;align-items:center;gap:8px;
background:var(--black);color:var(--creme);
padding:14px 28px;text-decoration:none;
font-weight:700;font-size:.9rem;text-transform:uppercase;
letter-spacing:2px;transition:all .3s;
}
.social-link:hover{background:var(--creme);color:var(--black)}
.contato-email{
margin-top:32px;font-size:1.1rem;
}
.contato-email a{color:var(--creme);font-weight:700}

/* FOOTER */
footer{
background:var(--black);color:var(--creme);
padding:40px 24px;text-align:center;
}
footer .footer-logo{
font-family:'Soulcraft',sans-serif;font-size:2rem;
margin-bottom:16px;
}
footer .footer-logo span{color:var(--fogo)}
footer p{font-size:.85rem;opacity:.5;line-height:1.6}
footer .footer-links{margin:16px 0;display:flex;gap:24px;justify-content:center;flex-wrap:wrap}
footer .footer-links a{color:var(--creme);text-decoration:none;font-size:.8rem;opacity:.6;text-transform:uppercase;letter-spacing:2px;transition:opacity .3s}
footer .footer-links a:hover{opacity:1}

/* ACESSIBILIDADE BADGE */
.access-badge{
display:inline-flex;align-items:center;gap:8px;
background:var(--amarelo);color:var(--black);
padding:10px 20px;font-weight:700;font-size:.85rem;
margin-top:24px;
}

/* MOBILE */
@media(max-width:768px){
  .nav-links{
    position:fixed;top:0;right:-100%;width:70%;height:100vh;
    background:var(--black);flex-direction:column;
    justify-content:center;padding:40px;
    transition:right .4s;z-index:99;
  }
  .nav-links.open{right:0}
  .menu-toggle{display:block;z-index:100}
  .sobre-inner,.local-inner{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .hero-title{font-size:clamp(2.5rem,12vw,5rem)}
  section{padding:60px 20px}
}

/* SCROLL ANIMATIONS */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s,transform .8s}
.reveal.visible{opacity:1;transform:translateY(0)}

/* GRAIN OVERLAY */
body::after{
content:'';position:fixed;inset:0;pointer-events:none;z-index:9998;
opacity:.03;
background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* SKIP TO CONTENT */
.skip-link{
position:absolute;top:-100%;left:16px;
background:var(--fogo);color:var(--creme);
padding:12px 24px;z-index:9999;font-weight:700;
text-decoration:none;
}
.skip-link:focus{top:16px}