/*====================================================
PREMIUM HERO
=====================================================*/

.programme-hero{

position:relative;

height:90vh;

display:flex;

align-items:center;

justify-content:center;

background:
linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),
url("../images/programme/programme-hero.jpg");

background-size:cover;

background-position:center;

background-attachment:fixed;

overflow:hidden;

}

.hero-overlay{

position:absolute;

inset:0;

background:
linear-gradient(
180deg,
rgba(0,0,0,.15),
rgba(0,0,0,.70)
);

}

.hero-content{

position:relative;

z-index:2;

text-align:center;

max-width:900px;

margin:auto;

color:white;

}

.hero-tag{

display:inline-block;

padding:10px 24px;

border-radius:40px;

background:rgba(212,175,55,.15);

border:1px solid rgba(212,175,55,.4);

color:var(--secondary);

font-weight:600;

margin-bottom:25px;

}

.programme-hero h1{

font-size:72px;

color:white;

margin-bottom:25px;

}

.programme-hero p{

font-size:22px;

line-height:1.9;

max-width:760px;

margin:auto auto 45px;

color:white;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.scroll-indicator{

position:absolute;

bottom:35px;

left:50%;

transform:translateX(-50%);

color:white;

font-size:28px;

animation:bounce 2s infinite;

z-index:2;

}

@keyframes bounce{

0%,20%,50%,80%,100%{

transform:translate(-50%,0);

}

40%{

transform:translate(-50%,-12px);

}

60%{

transform:translate(-50%,-6px);

}

}

@media(max-width:992px){

.programme-hero h1{

font-size:56px;

}

}

@media(max-width:768px){

.programme-hero{

height:80vh;

background-attachment:scroll;

}

.programme-hero h1{

font-size:42px;

}

.programme-hero p{

font-size:18px;

}

.hero-buttons{

flex-direction:column;

align-items:center;

}

}

/*====================================================
PROGRAMME OVERVIEW
=====================================================*/

.programme-overview{

padding:100px 0;

background:white;

}

.overview-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:60px;

align-items:center;

margin-top:60px;

}

.overview-image img{

width:100%;

border-radius:20px;

box-shadow:var(--shadow-lg);

}

.overview-content h3{

margin-bottom:20px;

}

.overview-features{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

margin-top:35px;

}

.feature-item{

display:flex;

align-items:center;

gap:15px;

padding:18px;

background:var(--sand);

border-radius:14px;

transition:var(--transition);

}

.feature-item:hover{

transform:translateY(-5px);

box-shadow:var(--shadow);

}

.feature-item i{

font-size:22px;

color:var(--secondary);

}

@media(max-width:992px){

.overview-grid{

grid-template-columns:1fr;

}

.overview-features{

grid-template-columns:1fr;

}

.programme-hero h1{

font-size:42px;

}

}
/*====================================================
FESTIVAL SCHEDULE
=====================================================*/

.festival-schedule{

padding:100px 0;

background:var(--sand);

}

.schedule-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

gap:30px;

margin-top:60px;

}

.schedule-card{

background:white;

padding:35px;

border-radius:20px;

box-shadow:var(--shadow);

transition:var(--transition);

border-top:5px solid var(--secondary);

}

.schedule-card:hover{

transform:translateY(-8px);

box-shadow:var(--shadow-lg);

}

.day-number{

display:inline-block;

padding:8px 18px;

background:var(--primary);

color:white;

border-radius:30px;

font-size:14px;

font-weight:600;

margin-bottom:20px;

}

.schedule-card h3{

margin-bottom:20px;

font-size:24px;

}

.schedule-card ul{

list-style:none;

padding:0;

margin:0;

}

.schedule-card ul li{

display:flex;

align-items:flex-start;

gap:12px;

margin-bottom:14px;

color:var(--text);

}

.schedule-card ul li i{

color:var(--secondary);

margin-top:3px;

}

@media(max-width:768px){

.schedule-grid{

grid-template-columns:1fr;

}

}

/*====================================================
PROGRAMME HIGHLIGHTS
=====================================================*/

.programme-highlights{

padding:110px 0;

background:white;

}

.highlights-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

margin-top:60px;

}

.highlight-card{

background:white;

padding:40px 30px;

border-radius:20px;

text-align:center;

box-shadow:var(--shadow);

transition:var(--transition);

border-bottom:4px solid transparent;

}

.highlight-card:hover{

transform:translateY(-10px);

border-color:var(--secondary);

box-shadow:var(--shadow-lg);

}

.highlight-icon{

width:85px;

height:85px;

margin:0 auto 25px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:rgba(11,107,83,.08);

}

.highlight-icon i{

font-size:34px;

color:var(--primary);

}

.highlight-card h3{

margin-bottom:18px;

font-size:24px;

}

.highlight-card p{

margin-bottom:0;

}

@media(max-width:992px){

.highlights-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.highlights-grid{

grid-template-columns:1fr;

}

}

/*====================================================
FESTIVAL IMPACT
=====================================================*/

.festival-impact{

padding:110px 0;

background:var(--sand);

}

.impact-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

margin-top:60px;

}

.impact-card{

background:white;

padding:40px 30px;

text-align:center;

border-radius:20px;

box-shadow:var(--shadow);

transition:var(--transition);

}

.impact-card:hover{

transform:translateY(-8px);

box-shadow:var(--shadow-lg);

}

.impact-card h3{

font-size:52px;

color:var(--primary);

margin-bottom:15px;

}

.impact-card h4{

font-size:22px;

margin-bottom:15px;

}

.impact-card p{

margin-bottom:0;

}

@media(max-width:992px){

.impact-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.impact-grid{

grid-template-columns:1fr;

}

}

/*====================================================
FESTIVAL VENUE
=====================================================*/

.festival-venue{

padding:110px 0;

background:white;

}

.venue-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:60px;

align-items:center;

margin-top:60px;

}

.venue-image img{

width:100%;

border-radius:20px;

box-shadow:var(--shadow-lg);

}

.venue-content h3{

margin-bottom:25px;

}

.venue-list{

margin-top:35px;

display:flex;

flex-direction:column;

gap:18px;

}

.venue-list div{

display:flex;

align-items:center;

gap:18px;

padding:18px;

background:var(--sand);

border-radius:14px;

transition:var(--transition);

}

.venue-list div:hover{

transform:translateX(8px);

}

.venue-list i{

font-size:20px;

color:var(--primary);

width:30px;

}

@media(max-width:992px){

.venue-grid{

grid-template-columns:1fr;

}

}

/* =========================
PARTNERS SECTION
========================= */


.partners-section{

padding:100px 0;

}



.partners-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}



.partner-card{

background:white;

padding:35px 25px;

border-radius:15px;

text-align:center;

box-shadow:0 10px 30px rgba(0,0,0,.08);

transition:.4s;

}



.partner-card:hover{

transform:translateY(-10px);

}



.partner-card img{

height:90px;

max-width:180px;

object-fit:contain;

margin-bottom:25px;

}



.partner-placeholder{

height:90px;

width:90px;

margin:0 auto 25px;

border-radius:50%;

background:#c89b3c;

color:white;

display:flex;

align-items:center;

justify-content:center;

font-size:35px;

}



.partner-card h3{

font-size:22px;

margin-bottom:15px;

}



.partner-card p{

color:#666;

line-height:1.7;

}




@media(max-width:900px){

.partners-grid{

grid-template-columns:1fr 1fr;

}

}



@media(max-width:600px){

.partners-grid{

grid-template-columns:1fr;

}

}

/* =========================
ABOUT CTA
========================= */


.about-cta{

position:relative;

padding:100px 0;

background:

linear-gradient(
rgba(0,0,0,.65),
rgba(0,0,0,.65)
),

url("../images/about/story.jpg");


background-size:cover;

background-position:center;

color:white;

text-align:center;

}



.cta-content{

max-width:850px;

margin:auto;

position:relative;

z-index:2;

}



.cta-content span{

text-transform:uppercase;

letter-spacing:3px;

font-weight:700;

color:#d8b15a;

}



.cta-content h2{

font-size:45px;

margin:20px 0;
color: #c89b3c;

}



.cta-content p{

font-size:18px;

line-height:1.8;

margin-bottom:35px;

}



.cta-buttons{

display:flex;

justify-content:center;

gap:20px;

}



.btn-primary,
.btn-secondary{

padding:15px 35px;

border-radius:30px;

text-decoration:none;

font-weight:700;

transition:.3s;

}



.btn-primary{

background:#c89b3c;

color:white;

}



.btn-secondary{

border:2px solid white;

color:white;

}



.btn-primary:hover,
.btn-secondary:hover{

transform:translateY(-5px);

}



@media(max-width:600px){


.cta-content h2{

font-size:32px;

}



.cta-buttons{

flex-direction:column;

align-items:center;

}


}
/* FOOTER */


.footer{

background:#111;

color:white;

padding:70px 0 20px;

}



.footer-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:40px;

}



.footer h3,
.footer h4{

margin-bottom:20px;

}



.footer p{

color:#bbb;

line-height:1.7;

}



.footer ul{

list-style:none;

padding:0;

}



.footer ul li{

margin-bottom:10px;

}



.footer a{

color:#bbb;

text-decoration:none;

}



.footer a:hover{

color:#c89b3c;

}



.footer-bottom{

text-align:center;

border-top:1px solid #333;

margin-top:40px;

padding-top:20px;

color:#aaa;

}



@media(max-width:800px){

.footer-grid{

grid-template-columns:1fr;

}

}