:root{
    --primary:#1D4AB7;
    --secondary:#DD2518;
    --accent:#F0BE37;

    --dark:#111827;
    --light:#ffffff;
    --body:#6b7280;
    --border:#e5e7eb;
}

body{
    font-family:'Inter',sans-serif;
    color:var(--dark);
    background:#fff;
    overflow-x:hidden;
}

h1,h2,h3,h4,h5,h6{
    font-family:'Playfair Display',serif;
}

section{
    padding:120px 0;
}

a{
    text-decoration:none;
}

img{
    max-width:100%;
    display:block;
}

/* =========================
   NAVBAR
========================= */

.main-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1000;

    background:rgba(255,255,255,.9);
    backdrop-filter:blur(20px);

    border-bottom:1px solid rgba(0,0,0,.05);
}

.navbar-custom{
    height:90px;

    display:flex;
    align-items:center;
    justify-content:space-between;
}

.logo img{
    height:60px;
}

.nav-menu{
    display:flex;
    align-items:center;
    gap:2rem;

    list-style:none;
    margin:0;
    padding:0;
}

.nav-menu a{
    color:var(--dark);

    font-size:.85rem;
    font-weight:600;

    letter-spacing:.08em;
    text-transform:uppercase;

    position:relative;
}

.nav-menu a::after{
    content:"";

    position:absolute;
    bottom:-8px;
    left:0;

    width:0;
    height:2px;

    background:var(--secondary);

    transition:.3s;
}

.nav-menu a:hover::after{
    width:100%;
}

.nav-right{
    display:flex;
    align-items:center;
    gap:1rem;
}

.live-indicator{
    display:flex;
    align-items:center;
    gap:.5rem;

    font-size:.8rem;
    font-weight:700;

    color:var(--secondary);
}

.live-indicator span{
    width:10px;
    height:10px;

    border-radius:50%;
    background:var(--secondary);

    animation:pulse 1.5s infinite;
}

.listen-live-btn{
    position:relative;

    width:70px;
    height:70px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:linear-gradient(
        135deg,
        #d62828 0%,
        #1d4ab7 100%
    );

    color:#fff;

    text-decoration:none;

    font-size:1rem;

    box-shadow:
        0 10px 25px rgba(29,74,183,.25);

    transition:.3s ease;

    z-index:2;
}

.listen-live-btn:hover{
    transform:scale(1.08);
}

.listen-live-btn i{
    margin-left:3px;
    position:relative;
    z-index:5;
}

/* Wave 1 */

.listen-live-btn::before{
    content:'';

    position:absolute;

    inset:0;

    border-radius:50%;

    border:2px solid rgba(29,74,183,.35);

    animation:radioWave 2s infinite;
}

/* Wave 2 */

.listen-live-btn::after{
    content:'';

    position:absolute;

    inset:0;

    border-radius:50%;

    border:2px solid rgba(214,40,40,.25);

    animation:radioWave 2s infinite .8s;
}
@keyframes radioWave{

    0%{
        transform:scale(1);
        opacity:.8;
    }

    70%{
        opacity:.15;
    }

    100%{
        transform:scale(2.3);
        opacity:0;
    }

}

.menu-toggle{
    display:none;

    background:none;
    border:none;

    font-size:2rem;
    color:var(--dark);
}

@keyframes pulse{
    0%{
        transform:scale(1);
        opacity:1;
    }
    50%{
        transform:scale(1.5);
        opacity:.5;
    }
    100%{
        transform:scale(1);
        opacity:1;
    }
}



@media (max-width:991px){

    .nav-menu{
        display:none;
    }

    .listen-btn,
    .live-indicator{
        display:none;
    }

    .menu-toggle{
        display:block;
    }

    .logo img{
        height:50px;
    }

}
@media(max-width:576px){

    .listen-live-btn{
        width:55px;
        height:55px;

        font-size:.85rem;
    }

    .listen-live-btn i{
        margin-left:2px;
    }

    .listen-live-btn::before,
    .listen-live-btn::after{
        border-width:1.5px;
    }

    @keyframes radioWave{

        0%{
            transform:scale(1);
            opacity:.7;
        }

        70%{
            opacity:.1;
        }

        100%{
            transform:scale(1.8);
            opacity:0;
        }

    }

}
/* =========================================
   MOBILE MENU
========================================= */

.mobile-menu{
    position:fixed;
    inset:0;

    background:#faf8f3;

    z-index:99999;

    padding:2rem;

    display:flex;
    flex-direction:column;

    transform:translateX(100%);
    transition:.5s ease;

    overflow-y:auto;
}

.mobile-menu.active{
    transform:translateX(0);
}

/* Close */

.mobile-close{
    position:absolute;

    top:25px;
    right:25px;

    background:none;
    border:none;

    color:#111;

    font-size:1.2rem;

    cursor:pointer;
}

/* Brand */

.mobile-brand{
    margin-top:1rem;
    margin-bottom:3rem;
}

.mobile-brand img{
    width:130px;

    margin-bottom:.75rem;
}

.mobile-brand span{
    display:block;

    color:#777;

    font-size:.7rem;
    font-weight:600;

    letter-spacing:.2em;
    text-transform:uppercase;
}

/* Navigation */

.mobile-nav-links{
    list-style:none;

    padding:0;
    margin:0;
}

.mobile-nav-links li{
    margin-bottom:.75rem;
}

.mobile-nav-links a{
    display:inline-block;

    color:#111;

    font-size:clamp(2rem,7vw,2.75rem);
    font-weight:700;

    line-height:1.05;

    text-decoration:none;

    transition:.3s ease;
}

.mobile-nav-links a:hover{
    color:#b71c1c;

    transform:translateX(8px);
}

/* Bottom */

.mobile-menu-bottom{
    margin-top:auto;

    padding-top:2rem;

    border-top:1px solid rgba(0,0,0,.08);
}

/* Live */

.mobile-live{
    display:inline-flex;
    align-items:center;

    gap:.75rem;

    color:#111;

    text-decoration:none;

    font-weight:600;

    margin-bottom:1.5rem;
}

.live-dot{
    width:10px;
    height:10px;

    border-radius:50%;

    background:#d62828;

    animation:liveBlink 1.5s infinite;
}

@keyframes liveBlink{

    0%,100%{
        opacity:1;
    }

    50%{
        opacity:.3;
    }

}

/* Social */

.mobile-socials{
    display:flex;
    gap:.75rem;

    margin-bottom:1.5rem;
}

.mobile-socials a{
    width:42px;
    height:42px;

    border:1px solid rgba(0,0,0,.08);

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#111;

    transition:.3s ease;
}

.mobile-socials a:hover{
    background:#111;

    color:#fff;

    transform:translateY(-3px);
}

/* Footer */

.mobile-footer-text{
    color:#999;

    font-size:.75rem;

    letter-spacing:.12em;
    text-transform:uppercase;
}

/* =========================================
   SMALL MOBILE
========================================= */

@media(max-width:576px){

    .mobile-menu{
        padding:1.5rem;
    }

    .mobile-brand{
        margin-bottom:2.5rem;
    }

    .mobile-brand img{
        width:110px;
    }

    .mobile-nav-links a{
        font-size:1.8rem;
    }

    .mobile-socials a{
        width:38px;
        height:38px;
    }

}
/* =========================
   HERO
========================= */
/* 
.hero-section{
    min-height:100vh;

    display:flex;
    align-items:center;

    padding-top:140px;
    padding-bottom:100px;

    overflow:hidden;
}

.hero-tag{
    display:inline-block;

    font-size:.85rem;
    font-weight:600;

    letter-spacing:.15em;
    text-transform:uppercase;

    color:var(--primary);

    margin-bottom:1.5rem;
}

.hero-title{
    font-size:clamp(3rem,7vw,6rem);
    line-height:1.05;
    font-weight:700;

    margin-bottom:1.5rem;
}

.hero-text{
    font-size:1.1rem;
    line-height:1.8;

    color:var(--body);

    max-width:600px;

    margin-bottom:2rem;
}

.hero-actions{
    display:flex;
    gap:1rem;
    flex-wrap:wrap;
}

.hero-btn-primary{
    background:var(--primary);
    color:#fff;

    padding:1rem 2rem;

    border-radius:999px;

    font-weight:600;

    transition:.3s;
}

.hero-btn-primary:hover{
    background:var(--secondary);
    color:#fff;
}

.hero-btn-secondary{
    border:1px solid var(--border);

    color:var(--dark);

    padding:1rem 2rem;

    border-radius:999px;

    font-weight:600;

    transition:.3s;
}

.hero-btn-secondary:hover{
    border-color:var(--primary);
    color:var(--primary);
}

.hero-image-wrapper{
    position:relative;
}

.hero-image{
    width:100%;
    height:700px;

    object-fit:cover;

    border-radius:30px;
}

.on-air-card{
    position:absolute;

    bottom:30px;
    left:-50px;

    background:#fff;

    padding:1.5rem;

    border-radius:24px;

    box-shadow:
    0 20px 50px rgba(0,0,0,.08);

    min-width:260px;
}

.live-pill{
    display:inline-block;

    margin-bottom:.75rem;

    color:var(--secondary);

    font-size:.8rem;
    font-weight:700;
}

.on-air-card h4{
    margin-bottom:.5rem;
}

.on-air-card p{
    margin:0;
    color:var(--body);
}

@media(max-width:991px){

    .hero-section{
        padding-top:120px;
        min-height:auto;
    }

    .hero-title{
        font-size:3rem;
    }

    .hero-image{
        height:450px;
    }

    .on-air-card{
        position:relative;

        left:auto;
        bottom:auto;

        margin-top:1rem;
    }

} */

/* =========================================
   HERO FULLSCREEN
========================================= */

.hero-fullscreen{
    position:relative;

    height:100vh;
    min-height:750px;

    overflow:hidden;
}

/* Background Image */

.hero-bg{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;
}

/* Overlay */

.hero-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        rgba(0,0,0,.60),
        rgba(0,0,0,.45)
    );

    z-index:1;
}

/* Container */

.hero-fullscreen .container{
    position:relative;
    z-index:2;

    height:100%;
}

/* Main Content */

.hero-content{
    height:100%;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    color:#fff;
}

/* Kicker */

.hero-kicker{
    display:inline-block;

    margin-bottom:1.5rem;

    color:rgba(255,255,255,.85);

    font-size:.85rem;
    font-weight:600;

    letter-spacing:.25em;
    text-transform:uppercase;
}

/* Main Title */

.hero-title{
    font-size:clamp(4rem,10vw,9rem);
    line-height:.9;

    margin-bottom:1rem;

    color:#fff;
}

/* Subtitle */

.hero-subtitle{
    font-family:'Inter',sans-serif;

    font-size:clamp(1.2rem,2vw,1.8rem);
    font-weight:400;

    color:rgba(255,255,255,.92);

    margin-bottom:1.5rem;
}

/* Description */

.hero-description{
    max-width:700px;

    margin:0 auto;

    color:rgba(255,255,255,.75);

    font-size:1.1rem;
    line-height:1.9;
}

/* Bottom Info */

.hero-bottom{
    position:absolute;

    left:0;
    right:0;
    bottom:40px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    z-index:3;
}

.hero-info span{
    color:rgba(255,255,255,.85);

    font-size:.8rem;
    font-weight:600;

    letter-spacing:.2em;
    text-transform:uppercase;
}
.hero-scroll{
    position:absolute;

    left:50%;
    bottom:20px;

    transform:translateX(-50%);

    display:flex;
    flex-direction:column;
    align-items:center;

    gap:10px;

    z-index:4;
}

.hero-scroll span{
    color:rgba(255,255,255,.85);

     font-size:.65rem;
    font-weight:600;

    letter-spacing:.4em;
    opacity:.75;
    text-transform:uppercase;
}


.scroll-line{
    width:1px;
    height:60px;

    background:rgba(255,255,255,.7);

    animation:scrollLine 2s ease-in-out infinite;
}

@keyframes scrollLine{

    0%{
        transform:scaleY(.3);
        transform-origin:top;
    }

    50%{
        transform:scaleY(1);
        transform-origin:top;
    }

    100%{
        transform:scaleY(.3);
        transform-origin:bottom;
    }

}
/* =========================================
   TABLET
========================================= */

@media(max-width:991px){

    .hero-fullscreen{
        min-height:700px;
    }

    .hero-content{
        max-width:600px;
    }

    .hero-title{
        font-size:4rem;
        line-height:1;
    }

    .hero-subtitle{
        font-size:1.25rem;
    }

    .hero-description{
        max-width:500px;
        font-size:1rem;
        line-height:1.8;
    }

    .hero-bottom{
        bottom:40px;
        padding:0 20px;
    }

    .hero-info span{
        font-size:.7rem;
        letter-spacing:.15em;
    }

    .hero-scroll{
        bottom:15px;
    }

    .scroll-line{
        height:50px;
    }

}

/* =========================================
   MOBILE
========================================= */

@media(max-width:576px){

    .hero-fullscreen{
        min-height:100vh;
    }

    .hero-content{
        text-align:center;
        align-items:center;

        max-width:100%;
    }

    .hero-kicker{
        font-size:.7rem;
        letter-spacing:.15em;

        margin-bottom:1rem;
    }

    .hero-title{
        font-size:2.8rem;
        line-height:1;
    }

    .hero-subtitle{
        font-size:1rem;
        margin-bottom:1rem;
    }

    .hero-description{
        max-width:320px;

        font-size:.95rem;
        line-height:1.7;

        margin:0 auto;
    }

    .hero-bottom{
        bottom:25px;
        padding:0 15px;
    }

    .hero-info span{
        font-size:.65rem;
        letter-spacing:.1em;
    }

    .hero-scroll{
        bottom:8px;
    }

    .scroll-line{
        height:35px;
    }

}
/* =========================================
   MANIFESTO
========================================= */

.manifesto{
    padding:140px 0;
    background:#fff;
}

.manifesto-grid{
    display:grid;
    grid-template-columns:1fr .9fr;
    gap:6rem;
    align-items:start;
}
.section-kicker{
    margin:0 0 1rem;
}

.section-kicker span{
    display:inline-block;

    font-family:'Inter',sans-serif;

    color:var(--primary);

    font-size:.8rem;
    font-weight:600;

    letter-spacing:.25em;
    text-transform:uppercase;
}

/* =========================================
   CONTENT
========================================= */

.manifesto-content{
    grid-column:1;
    grid-row:1;
}

.manifesto-heading{
    position:relative;

    display:inline-block;

    margin-bottom:2rem;
}

/* Yellow Brush */

.heading-brush{
    position:absolute;

    top:35px;
    left:-40px;

    width:380px;
    height:95px;

    background:#f0be37;

    opacity:.18;

    clip-path:polygon(
        0% 40%,
        8% 25%,
        20% 35%,
        35% 15%,
        55% 30%,
        70% 20%,
        100% 35%,
        100% 75%,
        80% 95%,
        60% 85%,
        40% 100%,
        20% 90%,
        0% 80%
    );

    z-index:-1;

    transform:scaleX(0) rotate(-6deg);
    transform-origin:left center;

    transition:1.2s ease;
}

/* Brush Reveal */

.manifesto-heading.aos-animate .heading-brush{
    transform:scaleX(1) rotate(-6deg);
}

/* Headings */

.manifesto-content h3{
    font-size:clamp(3rem,7vw,6rem);
    line-height:.95;

    margin-bottom:.5rem;

    color:var(--dark);
}

.manifesto-content .outlined{
    color:transparent;

    -webkit-text-stroke:1px var(--dark);

    margin-bottom:0;
}

/* =========================================
   DESCRIPTION
========================================= */

.manifesto-description{
    grid-column:1;
    grid-row:2;

    max-width:600px;
}

.manifesto-description p{
    margin:0;

    font-size:1.15rem;
    line-height:2;

    color:var(--body);
}

/* =========================================
   IMAGE
========================================= */

.manifesto-image{
    grid-column:2;
    grid-row:1 / span 2;

    position:relative;

    margin-right:-60px;

    overflow:hidden;

    border-radius:32px;
}

/* Glow */

.manifesto-image::before{
    content:'';

    position:absolute;

    top:-80px;
    right:-80px;

    width:220px;
    height:220px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(240,190,55,.25),
        transparent 70%
    );

    filter:blur(40px);

    z-index:1;

    animation:floatGlow 6s ease-in-out infinite;
}

/* Image */

.manifesto-image img{
    width:100%;
    height:700px;

    object-fit:cover;

    border-radius:32px;

    -webkit-mask-image:
    linear-gradient(
        to left,
        black 70%,
        transparent 100%
    );

    mask-image:
    linear-gradient(
        to left,
        black 70%,
        transparent 100%
    );

    transform:scale(1.12);

    transition:
        transform 1.8s cubic-bezier(.2,.8,.2,1);
}

/* AOS Zoom Reveal */

.manifesto-image.aos-animate img{
    transform:scale(1);
}

/* Glow Animation */

@keyframes floatGlow{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-15px);
    }

}

/* =========================================
   TABLET
========================================= */

@media(max-width:991px){

    .manifesto{
        padding:100px 0;
    }

    .manifesto-grid{
        grid-template-columns:1fr;
        gap:2rem;
    }

    .manifesto-content,
    .manifesto-description,
    .manifesto-image{
        grid-column:auto;
        grid-row:auto;
    }

    .manifesto-image{
        margin-right:0;

        max-width:700px;
    }

    .manifesto-content h2{
        font-size:4.5rem;
    }

    .heading-brush{
        width:320px;
        height:85px;

        top:28px;
        left:-20px;
    }

    .manifesto-description{
        max-width:100%;
    }

    .manifesto-image img{
        height:500px;

        -webkit-mask-image:none;
        mask-image:none;
    }

    .manifesto-image::before{
        width:180px;
        height:180px;

        top:-50px;
        right:-50px;
    }

}

/* =========================================
   MOBILE
========================================= */

@media(max-width:576px){

    .manifesto{
        padding:80px 0;
    }

    .manifesto-grid{
        gap:2rem;
    }

    .manifesto-content{
        order:1;
    }

    .manifesto-image{
        order:2;
    }

    .manifesto-description{
        order:3;
    }

    .section-kicker{
        font-size:.7rem;

        letter-spacing:.15em;
    }

    .manifesto-heading{
        margin-bottom:1.25rem;
    }

    .manifesto-content h3{
        font-size:2.6rem;

        line-height:1;
    }

    .manifesto-content .outlined{
        -webkit-text-stroke:.8px var(--dark);
    }

    .heading-brush{
        width:210px;
        height:60px;

        top:18px;
        left:-10px;

        opacity:.15;
    }

    .manifesto-description p{
        font-size:1rem;

        line-height:1.8;
    }

    .manifesto-image{
        border-radius:20px;
    }

    .manifesto-image img{
        height:320px;

        border-radius:20px;
    }

    .manifesto-image::before{
        width:120px;
        height:120px;

        top:-30px;
        right:-30px;
    }

}

/* =========================================
   PODCAST SECTION
========================================= */

.podcast-feature{
    position:relative;

    padding:140px 0;

    background:
    linear-gradient(
        to bottom,
        #ffffff 0%,
        #faf8f3 20%,
        #f5f1ea 50%,
        #faf8f3 80%,
        #ffffff 100%
    );

    overflow:hidden;
}

.podcast-feature::before{
    content:'';

    position:absolute;

    top:-120px;
    left:-150px;

    width:450px;
    height:450px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(240,190,55,.15),
        transparent 70%
    );

    filter:blur(80px);
}

.podcast-feature::after{
    content:'';

    position:absolute;

    bottom:-150px;
    right:-150px;

    width:450px;
    height:450px;

    border-radius:50%;

    background:
    radial-gradient(
        circle,
        rgba(29,74,183,.10),
        transparent 70%
    );

    filter:blur(80px);
}

.podcast-header,
.podcastSwiper{
    position:relative;
    z-index:2;
}

/* =========================================
   HEADER
========================================= */

.podcast-header{
    text-align:center;
    margin-bottom:5rem;
}

.podcast-header .section-title{
    font-family:'Playfair Display',serif;

    font-size:clamp(3rem,6vw,5rem);
    line-height:1;

    margin:0;
}

/* =========================================
   SWIPER
========================================= */

.swiper-slide{
    opacity:0;
    transition:.6s ease;
}

.swiper-slide-active{
    opacity:1;
}

.swiper-slide-active .podcast-content{
    animation:podcastReveal .8s ease;
}

@keyframes podcastReveal{

    from{
        opacity:0;
        transform:translateY(30px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/* =========================================
   LAYOUT
========================================= */

.podcast-layout{
   

    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:5rem;
    align-items:center;
}

/* .podcast-layout::before{
    content:'PODCAST';

    position:absolute;

    top:-50px;
    left:0;

    font-size:8rem;
    font-weight:900;

    color:rgba(0,0,0,.03);

    line-height:1;
} */

/* =========================================
   CONTENT
========================================= */

.podcast-number{
    display:block;

    margin-bottom:1rem;

    font-size:5rem;
    font-weight:800;

    color:rgba(0,0,0,.08);

    line-height:1;
}

.podcast-content h3{
    font-size:clamp(2.5rem,4vw,4rem);
    line-height:1;

    margin-bottom:.75rem;
}

.podcast-category{
    display:block;

    margin-bottom:1.5rem;

    color:var(--primary);

    font-size:.85rem;
    font-weight:600;

    letter-spacing:.15em;
    text-transform:uppercase;
}

.podcast-content p{
    max-width:520px;

    margin-bottom:2rem;

    color:var(--body);

    line-height:2;
}

.podcast-meta{
    display:flex;
    flex-wrap:wrap;

    gap:1rem;

    margin-bottom:2rem;
}

.podcast-meta span{
    padding:.75rem 1rem;

    border-radius:999px;

    background:#fff;

    font-size:.85rem;
    font-weight:600;

    box-shadow:0 8px 20px rgba(0,0,0,.05);
}

/* =========================================
   BUTTON
========================================= */

.podcast-btn{
    display:inline-flex;
    align-items:center;
    gap:.75rem;

    padding:1rem 1.75rem;

    border-radius:999px;

    text-decoration:none;

    background:linear-gradient(
        135deg,
        #d62828,
        #1d4ab7
    );

    color:#fff;

    font-weight:600;

    transition:.35s ease;
}

.podcast-btn i{
    transition:.35s ease;
}

.podcast-btn:hover i{
    transform:scale(1.25);
}

/* =========================================
   IMAGE
========================================= */

.podcast-image{
    position:relative;

    overflow:hidden;

    border-radius:32px;
}

.podcast-image img{
    width:100%;
    height:650px;

    object-fit:cover;

    border-radius:32px;

    transition:1.2s ease;
}

.swiper-slide-active .podcast-image img{
    transform:scale(1.05);
}

/* =========================================
   OVERLAY
========================================= */

.podcast-overlay{
    position:absolute;
    inset:0;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
        rgba(0,0,0,.15),
        rgba(0,0,0,.35)
    );
}

/* =========================================
   PLAY BUTTON
========================================= */

.podcast-play{
    position:relative;

    width:90px;
    height:90px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    color:#fff;

    font-size:1.25rem;

    backdrop-filter:blur(12px);

    background:rgba(255,255,255,.15);

    border:1px solid rgba(255,255,255,.25);

    z-index:2;

    transition:.35s ease;
}

.podcast-play:hover{
    transform:scale(1.08);
}

.podcast-play::before{
    content:'';

    position:absolute;
    inset:0;

    border-radius:50%;

    border:2px solid rgba(255,255,255,.4);

    animation:podcastWave 2.5s infinite;
}

.podcast-play::after{
    content:'';

    position:absolute;
    inset:0;

    border-radius:50%;

    border:2px solid rgba(255,255,255,.25);

    animation:podcastWave 2.5s infinite .8s;
}

@keyframes podcastWave{

    0%{
        transform:scale(1);
        opacity:.8;
    }

    100%{
        transform:scale(2.4);
        opacity:0;
    }

}
.swiper-wrapper{
    transition-timing-function:cubic-bezier(
        0.22,
        1,
        0.36,
        1
    ) !important;
}

/* =========================================
   PAGINATION
========================================= */

.podcast-pagination{
    margin-top:3rem;

    text-align:center;
}

.podcast-pagination .swiper-pagination-bullet{
    width:12px;
    height:12px;

    opacity:1;

    background:#d5d5d5;

    transition:.3s ease;
}

.podcast-pagination .swiper-pagination-bullet-active{
    background:#d62828;

    transform:scale(1.3);
}
/* =========================================
   TABLET
========================================= */

@media(max-width:991px){

    .podcast-feature{
        padding:100px 0;
    }

    .podcast-layout{
        grid-template-columns:1fr;

        gap:3rem;
    }

    .podcast-content{
        order:2;
    }

    .podcast-image{
        order:1;
    }

    .podcast-number{
        font-size:4rem;
    }

    .podcast-image img{
        height:500px;
    }

}

/* =========================================
   MOBILE
========================================= */

@media(max-width:576px){

    .podcast-feature{
        padding:80px 0;
    }

    .podcast-header{
        margin-bottom:3rem;
        text-align:left;
    }

    .podcast-header h2{
        font-size:2.5rem;
    }

    .podcast-layout{
        display:flex;
        flex-direction:column;

        gap:2rem;
    }

    .podcast-image{
        order:1;

        border-radius:20px;
    }

    .podcast-content{
        order:2;
    }

    .podcast-number{
        font-size:3rem;
    }

    .podcast-content h3{
        font-size:2rem;
    }

    .podcast-content p{
        line-height:1.8;
    }

    .podcast-meta{
        gap:.75rem;
    }

    .podcast-meta span{
        font-size:.75rem;
        padding:.65rem .9rem;
    }

    .podcast-image img{
           height:280px;

        border-radius:20px;
    }

    .podcast-play{
        width:70px;
        height:70px;

        font-size:1rem;
    }

    .podcast-pagination{
        margin-top:2rem;
    }

}
/* =========================================
   NEWS SECTION
========================================= */

.news-section{
    padding:140px 0;
    background:#fff;
}

.news-header{
    margin-bottom:5rem;
}

.news-header .section-kicker{
    margin:0 0 1rem;
    padding:0;
}

.news-header .section-kicker span{
    display:inline-block;

    color:var(--primary);

    font-family:'Inter',sans-serif;

    font-size:.8rem;
    font-weight:600;

    letter-spacing:.25em;
    text-transform:uppercase;
}

.news-header .section-title{
    font-family:'Playfair Display',serif;

    font-size:clamp(3rem,6vw,5rem);
    line-height:1;

    margin:0;
}

/* =========================================
   GRID
========================================= */

.news-grid{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:4rem;
    align-items:start;
}

/* =========================================
   FEATURED SLIDER
========================================= */

.newsSwiper{
    width:100%;
    min-width:0;
    overflow:hidden;
}

.newsSwiper .swiper-wrapper{
    transition-timing-function:
    cubic-bezier(.22,1,.36,1)!important;
}

.newsSwiper .swiper-slide{
    width:100%;
}

/* =========================================
   FEATURED NEWS
========================================= */

.featured-news{
    display:block;
    text-decoration:none;
}

.featured-news .news-image{
    overflow:hidden;
    border-radius:24px;
}

.featured-news .news-image img{
    display:block;

    width:100%;
    height:550px;

    object-fit:cover;

    border-radius:24px;

    transition:2s cubic-bezier(.22,1,.36,1);
}

.newsSwiper .swiper-slide-active
.featured-news .news-image img{
    transform:scale(1.05);
}

.newsSwiper .news-content{
    padding-top:2rem;

    opacity:0;
    transform:translateY(30px);

    transition:
        opacity .8s ease,
        transform .8s ease;
}

.newsSwiper .swiper-slide-active .news-content{
    opacity:1;
    transform:translateY(0);
}

.news-date{
    display:block;

    margin-bottom:1rem;

    color:var(--body);

    font-size:.85rem;

    text-transform:uppercase;
    letter-spacing:.15em;
}

.news-content h3{
    font-size:2rem;
    line-height:1.2;

    margin-bottom:1rem;

    color:var(--dark);

    transition:.3s ease;
}

.featured-news:hover h3{
    color:var(--primary);
}

.news-content p{
    margin-bottom:1.5rem;

    line-height:1.9;

    color:var(--body);
}

.news-link{
    display:inline-flex;
    align-items:center;
    gap:.75rem;

    font-weight:600;

    color:var(--dark);
}

.news-link i{
    transition:.3s ease;
}

.featured-news:hover .news-link i{
    transform:translateX(6px);
}

/* =========================================
   PAGINATION
========================================= */

.news-pagination{
    margin-top:2rem;
    text-align:center;
}

.news-pagination .swiper-pagination-bullet{
    width:10px;
    height:10px;

    background:#d9d9d9;

    opacity:1;

    transition:.3s ease;
}

.news-pagination .swiper-pagination-bullet-active{
    background:#d62828;
    transform:scale(1.2);
}
/* Hide Pagination By Default */

.news-pagination{
    display:none;
}

/* =========================================
   NEWS LIST
========================================= */

.news-list{
    display:flex;
    flex-direction:column;

    padding-left:10px;
}

.news-mini{
    position:relative;

    display:block;

    text-decoration:none;

    padding:1.75rem 0;

    border-bottom:1px solid rgba(0,0,0,.08);

    transition:.35s ease;
}

.news-mini:first-child{
    padding-top:0;
}

.news-mini::before{
    content:'';

    position:absolute;

    left:-10px;
    top:50%;

    width:7px;
    height:7px;

    border-radius:50%;

    background:#f0be37;

    opacity:0;

    transform:
        translateY(-50%)
        scale(.5);

    transition:.35s ease;
}

.news-mini:hover{
    padding-left:14px;
}

.news-mini:hover::before{
    opacity:1;

    transform:
        translateY(-50%)
        scale(1);
}

.news-mini span{
    display:block;

    margin-bottom:.75rem;

    color:var(--body);

    font-size:.8rem;

    letter-spacing:.15em;
    text-transform:uppercase;
}

.news-mini h4{
    font-size:1.2rem;
    line-height:1.5;

    color:var(--dark);

    transition:.3s ease;
}

.news-mini:hover h4{
    color:var(--primary);
}

/* =========================================
   VIEW ALL
========================================= */

.view-all-news{
    display:inline-flex;
    align-items:center;
    gap:.75rem;

    margin-top:2rem;

    font-weight:700;

    color:var(--dark);

    text-decoration:none;
}

.view-all-news i{
    transition:.3s ease;
}

.view-all-news:hover i{
    transform:translateX(6px);
}

/* =========================================
   TABLET
========================================= */

@media(max-width:991px){

    .news-section{
        padding:100px 0;
    }

    .news-header{
        margin-bottom:4rem;
    }

    .news-header h2{
        font-size:4rem;
    }

    .news-grid{
        grid-template-columns:1fr;
        gap:3rem;
    }

    .featured-news .news-image img{
        height:450px;
    }
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

    .news-list{
        display:none;
    }

    .news-grid{
        grid-template-columns:1fr;
    }
    .news-pagination{
        display:block;

        margin-top:2rem;

        text-align:center;
    }

    .news-pagination .swiper-pagination-bullet{
        width:10px;
        height:10px;

        background:#d9d9d9;

        opacity:1;

        transition:.3s ease;
    }

    .news-pagination .swiper-pagination-bullet-active{
        background:#d62828;

        transform:scale(1.2);
    }

}

@media(max-width:576px){

    .news-section{
        padding:80px 0;
    }

    .news-header{
        margin-bottom:3rem;
    }

    .news-header h2{
        font-size:2.5rem;
    }

    .featured-news .news-image{
        border-radius:20px;
    }

    .featured-news .news-image img{
        height:260px;
        border-radius:20px;
    }

    .news-content{
        padding-top:1rem !important;
    }

    .news-content h3{
        font-size:1.5rem;
    }

    .news-content p{
        font-size:.95rem;
    }
}
/* =========================================
   EVENTS SECTION
========================================= */

.events-section{
    position:relative;
    padding:140px 0;
    overflow:hidden;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,0) 0%,
        #faf8f3 12%,
        #f5f1ea 50%,
        #faf8f3 88%,
        rgba(255,255,255,0) 100%
    );
}

.events-section::before{
    content:'';
    position:absolute;

    left:-120px;
    bottom:-120px;

    width:350px;
    height:350px;

    border-radius:50%;

    border:2px solid rgba(29,74,183,.05);

    box-shadow:
        0 0 0 40px rgba(29,74,183,.03),
        0 0 0 80px rgba(29,74,183,.02);

    pointer-events:none;
}

/* =========================================
   LAYOUT
========================================= */

.events-layout{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:5rem;
    align-items:center;
}

.events-content{
    position:sticky;
    top:120px;
}

.events-content .section-kicker{
    margin:0 0 1rem;
    padding:0;
}

.events-content .section-kicker span{
    display:inline-block;

    color:var(--primary);

    font-family:'Inter',sans-serif;

    font-size:.8rem;
    font-weight:600;

    letter-spacing:.25em;
    text-transform:uppercase;
}

.events-content .section-title{
    font-family:'Playfair Display',serif;

    font-size:clamp(3rem,6vw,5.5rem);
    line-height:.95;

    margin:0 0 1.5rem;

    color:var(--dark);
}
.events-content p{
    max-width:420px;
    margin-bottom:2rem;

    line-height:2;
    color:var(--body);
}

.events-btn{
    display:inline-flex;
    align-items:center;
    gap:.75rem;

    text-decoration:none;
    font-weight:700;

    color:var(--dark);
}

.events-btn i{
    transition:.3s ease;
}

.events-btn:hover i{
    transform:translateX(6px);
}

/* =========================================
   EVENTS AREA
========================================= */

.events-area{
    position:relative;
}

/* =========================================
   DESKTOP ONLY
========================================= */

.events-cards-mobile{
    display:none;
}

.events-scroll-wrap{
    position:relative;

    height:850px;
    overflow:hidden;

    mask-image:
    linear-gradient(
        to bottom,
        transparent 0%,
        rgba(0,0,0,.2) 8%,
        black 18%,
        black 82%,
        rgba(0,0,0,.2) 92%,
        transparent 100%
    );

    -webkit-mask-image:
    linear-gradient(
        to bottom,
        transparent 0%,
        rgba(0,0,0,.2) 8%,
        black 18%,
        black 82%,
        rgba(0,0,0,.2) 92%,
        transparent 100%
    );
}

.events-scroll{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1.5rem;

    animation:eventScroll 35s linear infinite;
}

.events-scroll:hover{
    animation-play-state:paused;
}

/* Zig Zag Layout */

.events-scroll .event-card:nth-child(4n + 2),
.events-scroll .event-card:nth-child(4n + 3){
    margin-top:120px;
}

/* =========================================
   CARD
========================================= */

.event-card{
    display:block;
    text-decoration:none;

    transition:
        transform .4s ease,
        box-shadow .4s ease;
}

.event-card:hover{
    transform:translateY(-8px);

  
}

.event-image{
    overflow:hidden;
    border-radius:26px;
}

.event-image img{
    width:100%;
    height:320px;

    display:block;
    object-fit:cover;

    border-radius:26px;

    transition:1s ease;
}

.event-card:hover img{
    transform:scale(1.08);
}

.event-meta{
    padding-top:1rem;
}

.event-date{
    display:inline-flex;

    margin-bottom:.75rem;
    padding:.55rem .9rem;

    border-radius:999px;

    background:#fff;
    color:#111;

    font-size:.75rem;
    font-weight:700;

    box-shadow:
        0 10px 25px rgba(0,0,0,.08);
}

.event-meta h3{
    font-size:1.1rem;
    line-height:1.5;

    color:var(--dark);

    transition:.3s ease;
}

.event-card:hover h3{
    color:var(--primary);
}

.events-cards-mobile{
    display:none;
}
/* =========================================
   DESKTOP ANIMATION
========================================= */

@keyframes eventScroll{

    0%{
        transform:translateY(0);
    }

    100%{
        transform:translateY(-50%);
    }

}

/* =========================================
   TABLET
========================================= */

@media(max-width:991px){

    .events-section{
        padding:100px 0;
    }

    .events-layout{
        grid-template-columns:1fr;
        gap:4rem;
    }

    .events-content{
        position:relative;
        top:auto;
    }

    .events-content h2{
        font-size:4rem;
    }

}

@media(max-width:768px){

    .events-section{
        padding:80px 0;
    }

    .events-layout{
        display:flex;
        flex-direction:column;
        gap:3rem;
    }

    .events-content{
        position:relative !important;
        top:auto !important;
        text-align:center;
        width:100%;
    }

    .events-content h2{
        font-size:2.5rem;
    }

    .events-content p{
        max-width:100%;
        margin-inline:auto;
    }

    /* Hide Desktop Cards */

    .events-cards-desktop{
        display:none !important;
    }

    /* Show Mobile Slider */

    .events-cards-mobile{
        display:block !important;
        width:100%;
        margin:2rem 0;
    }

    .eventsSwiper{
        width:100%;
        overflow:hidden;
    }

    .eventsSwiper .swiper-wrapper{
        display:flex;
    }

    .eventsSwiper .swiper-slide{
        width:100%;
        height:auto;
        flex-shrink:0;
    }

    .event-card{
        display:block;
        width:100%;
    }

    .event-image{
        border-radius:20px;
        overflow:hidden;
    }

    .event-image img{
        width:100%;
        height:260px;
        object-fit:cover;
        display:block;
        border-radius:20px;
    }

    .event-meta{
        padding-top:1rem;
    }

    .event-meta h3{
        font-size:1rem;
    }
.eventsSwiper{
    padding-bottom:50px;
}

.eventsSwiper .swiper-pagination{
    position:relative !important;

    bottom:auto !important;
    left:auto !important;

    margin-top:1.5rem;

    text-align:center;
}

.swiper-pagination .swiper-pagination-bullet{
    width:10px;
    height:10px;

    background:#d9d9d9;

    opacity:1;

    transition:.3s ease;
}

.swiper-pagination .swiper-pagination-bullet-active{
    background:#d62828;
    transform:scale(1.2);
}

    .events-btn{
        justify-content:center;
    }

}
/* =========================================
   PROGRAMME SCHEDULE
========================================= */

.schedule-section{
    position:relative;

    padding:140px 0;

    background:#fff;

    overflow:hidden;
}

/* Top Fade */

.schedule-section::before{
    content:'';

    position:absolute;

    top:-250px;
    left:50%;

    transform:translateX(-50%);

    width:1400px;
    height:500px;

    background:
    radial-gradient(
        ellipse at center,
        rgba(240,190,55,.10),
        transparent 70%
    );

    pointer-events:none;
}

/* Bottom Fade */

.schedule-section::after{
    content:'';

    position:absolute;

    bottom:-250px;
    left:50%;

    transform:translateX(-50%);

    width:1400px;
    height:500px;

    background:
    radial-gradient(
        ellipse at center,
        rgba(29,74,183,.06),
        transparent 70%
    );

    pointer-events:none;
}

.schedule-header{
    margin-bottom:4rem;
}

.schedule-header .section-kicker{
    margin:0 0 1rem;
    padding:0;
}

.schedule-header .section-kicker span{
    display:inline-block;

    color:var(--primary);

    font-family:'Inter',sans-serif;

    font-size:.8rem;
    font-weight:600;

    letter-spacing:.25em;
    text-transform:uppercase;
}

.schedule-header .section-title{
    font-family:'Playfair Display',serif;

    font-size:clamp(3rem,6vw,5rem);
    line-height:1;

    margin:0;
}

/* =========================================
   TABS
========================================= */

.schedule-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:1rem;

    margin-bottom:4rem;
}

.schedule-tab{
    border:none;
    cursor:pointer;

    padding:.9rem 1.5rem;

    border-radius:999px;

    background:#fff;

    color:#666;

    font-size:.8rem;
    font-weight:700;

    letter-spacing:.12em;
    text-transform:uppercase;

    transition:.35s ease;
}

.schedule-tab:hover{
    transform:translateY(-2px);

    color:var(--dark);
}

.schedule-tab.active{
    background:var(--primary);
    color:#fff;

    box-shadow:
    0 15px 35px rgba(0,0,0,.08);
}

/* =========================================
   DAY CONTENT
========================================= */

.schedule-day{
    display:none;
}

.schedule-day.active{
    display:block;

    animation:scheduleFade .45s ease;
}

@keyframes scheduleFade{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/* =========================================
   GRID
========================================= */

.schedule-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);

    gap:0 3rem;
}

/* =========================================
   PROGRAM ITEM
========================================= */

.schedule-item{
    display:grid;

    grid-template-columns:75px 1fr auto;

    align-items:center;

    gap:1rem;

    padding:1.5rem 0;

    border-bottom:1px dashed rgba(0,0,0,.12);

    transition:.3s ease;
}

.schedule-item:hover{
    transform:translateX(8px);
}

/* =========================================
   IMAGE
========================================= */

.schedule-item img{
    width:70px;
    height:70px;

    object-fit:cover;

    border-radius:16px;

    flex-shrink:0;

    transition:.4s ease;
}

.schedule-item:hover img{
    transform:scale(1.08);
}

/* =========================================
   INFO
========================================= */

.schedule-info h3{
    margin:0;

    font-size:1.05rem;
    font-weight:600;

    line-height:1.5;

    color:var(--dark);
}

/* =========================================
   TIME
========================================= */

.schedule-time{
    font-size:2rem;
    font-weight:800;

    line-height:1;

    color:var(--dark);

    opacity:.9;
}

/* =========================================
   TABLET
========================================= */

@media(max-width:991px){

    .schedule-section{
        padding:100px 0;
    }

    .schedule-header h2{
        font-size:4rem;
    }

    .schedule-list{
        grid-template-columns:1fr;
    }

    .schedule-time{
        font-size:1.8rem;
    }

}

/* =========================================
   MOBILE
========================================= */

@media(max-width:576px){

    .schedule-section{
        padding:80px 0;
    }

    .schedule-header{
        margin-bottom:3rem;
    }

    .schedule-header h2{
        font-size:2.5rem;
    }

    .schedule-tabs{
        gap:.75rem;

        margin-bottom:2rem;
    }

    .schedule-tab{
        padding:.75rem 1rem;

        font-size:.65rem;
    }

    .schedule-item{
        grid-template-columns:60px 1fr;

        gap:.9rem;

        padding:1rem 0;
    }

    .schedule-item img{
        width:60px;
        height:60px;

        border-radius:14px;
    }

    .schedule-info h3{
        font-size:.95rem;
    }

    .schedule-time{
        grid-column:2;

        margin-top:.35rem;

        font-size:1.25rem;

        color:var(--primary);
    }

    .schedule-item:hover{
        transform:none;
    }

}
/* =========================================
   GALLERY
========================================= */

.gallery-section{
    padding:140px 0;
}

.gallery-header{
    margin-bottom:5rem;
}

.gallery-header .section-kicker{
    margin:0 0 1rem;
    padding:0;
}

.gallery-header .section-kicker span{
    display:inline-block;

    color:var(--primary);

    font-family:'Inter',sans-serif;

    font-size:.8rem;
    font-weight:600;

    letter-spacing:.25em;
    text-transform:uppercase;
}

.gallery-header .section-title{
    font-family:'Playfair Display',serif;

    font-size:clamp(3rem,6vw,5rem);
    line-height:1;

    margin:0;
}

.gallery-mosaic{
    display:grid;

    grid-template-columns:2fr 1fr 1fr;
    grid-auto-rows:250px;

    gap:1.5rem;
}

.gallery-item{
    overflow:hidden;

    border-radius:28px;

    position:relative;
}

.gallery-item img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:.6s ease;
}

.gallery-item:hover img{
    transform:scale(1.05);
}

.gallery-large{
    grid-row:span 2;
}

.gallery-wide{
    grid-column:span 2;
}

@media(max-width:991px){

    .gallery-section{
        padding:100px 0;
    }

    .gallery-header{
        margin-bottom:4rem;
    }

    .gallery-header h2{
        font-size:4rem;
    }

    .gallery-mosaic{
        grid-template-columns:1fr 1fr;
        grid-auto-rows:220px;
    }

    .gallery-wide{
        grid-column:span 2;
    }

}

@media(max-width:576px){

    .gallery-section{
        padding:80px 0;
    }

    .gallery-header{
        margin-bottom:3rem;
    }

    .gallery-header h2{
        font-size:2.5rem;
    }

    .gallery-mosaic{
        grid-template-columns:1fr;
        grid-auto-rows:250px;

        gap:1rem;
    }

    .gallery-large,
    .gallery-wide{
        grid-column:auto;
        grid-row:auto;
    }

    .gallery-item{
        border-radius:20px;
    }

}

/* =========================================
   LIGHTBOX
========================================= */

.gallery-item{
    cursor:pointer;
}

.gallery-lightbox{
    position:fixed;

    inset:0;

    background:rgba(0,0,0,.95);

    display:flex;
    align-items:center;
    justify-content:center;

    opacity:0;
    visibility:hidden;

    transition:.35s ease;

    z-index:99999;
}

.gallery-lightbox.active{
    opacity:1;
    visibility:visible;
}

.gallery-lightbox img{
    max-width:90%;
    max-height:90vh;

    border-radius:12px;

    transform:scale(.9);

    transition:.35s ease;
}

.gallery-lightbox.active img{
    transform:scale(1);
}

.gallery-close{
    position:absolute;

    top:30px;
    right:40px;

    color:#fff;

    font-size:3rem;

    cursor:pointer;

    line-height:1;
}
/* =========================================
   TESTIMONIALS
========================================= */
.testimonials-section{
    position:relative;

    overflow:hidden;

    padding:140px 0;

    background:#fff;
}
.testimonials-header .section-kicker{
    margin:0 0 1rem;
    padding:0;
}

.testimonials-header .section-kicker span{
    display:inline-block;

    color:var(--primary);

    font-family:'Inter',sans-serif;

    font-size:.8rem;
    font-weight:600;

    letter-spacing:.25em;
    text-transform:uppercase;
}

.testimonials-header .section-title{
    font-family:'Playfair Display',serif;

    font-size:clamp(3rem,6vw,5rem);
    line-height:1;

    margin:0;
}
.rainbow-lines{
    position:absolute;

    inset:0;

    pointer-events:none;
}

.rainbow-lines span{
    position:absolute;

    left:50%;

    transform:translateX(-50%);

    border-top-left-radius:1000px;
    border-top-right-radius:1000px;

    border:2px solid rgba(0,0,0,.06);
    border-bottom:none;
}

/* Largest */

.rainbow-lines span:nth-child(1){
    width:1600px;
    height:800px;

    top:40px;
}

/* 2 */

.rainbow-lines span:nth-child(2){
    width:1400px;
    height:700px;

    top:100px;
}

/* 3 */

.rainbow-lines span:nth-child(3){
    width:1200px;
    height:600px;

    top:160px;
}

/* 4 */

.rainbow-lines span:nth-child(4){
    width:1000px;
    height:500px;

    top:220px;
}

/* 5 */

.rainbow-lines span:nth-child(5){
    width:800px;
    height:400px;

    top:280px;
}
.testimonials-header{
    margin-bottom:4rem;
}

.testimonials-header h2{
    font-size:clamp(3rem,6vw,5rem);
    line-height:1;
}
/* =========================================
   SWIPER
========================================= */

.testimonialSwiper{
    max-width:950px;

    margin:0 auto;

    overflow:visible;
}

.testimonialSwiper .swiper-slide{
    opacity:.35;

    transition:
        opacity .6s ease,
        transform .6s ease;
}

.testimonialSwiper .swiper-slide-active{
    opacity:1;
}

/* =========================================
   CARD
========================================= */

.testimonial-card{
    text-align:center;
}

/* =========================================
   QUOTE
========================================= */

.testimonial-quote{
    margin-bottom:3rem;
}

.testimonial-quote p{
    font-size:clamp(1.5rem,3vw,2.5rem);

    line-height:1.5;

    color:var(--dark);

    max-width:850px;

    margin:0 auto;
}

/* =========================================
   AUTHOR
========================================= */

.testimonial-author{
    display:flex;

    justify-content:center;
    align-items:center;

    gap:1.25rem;

    margin-bottom:3rem;
}

.testimonial-author img{
    width:80px;
    height:80px;

    border-radius:50%;

    object-fit:cover;

    transition:.4s ease;
}

.testimonialSwiper .swiper-slide-active
.testimonial-author img{
    transform:scale(1.05);
}

.author-info{
    text-align:left;
}

.author-info h4{
    margin-bottom:.25rem;

    font-size:1.1rem;
    font-weight:600;

    color:var(--dark);
}

.author-info span{
    display:block;

    color:#777;

    font-size:.8rem;
    font-weight:600;

    letter-spacing:.12em;

    text-transform:uppercase;
}

/* =========================================
   PAGINATION
========================================= */

.testimonial-pagination{
    margin-top:1rem;

    display:flex;
    justify-content:center;
    align-items:center;

    gap:.75rem;
}

.testimonial-pagination .swiper-pagination-bullet{
    width:8px;
    height:8px;

    margin:0 !important;

    border-radius:50%;

    background:#d9d9d9;

    opacity:1;

    transition:.35s ease;
}

.testimonial-pagination .swiper-pagination-bullet-active{
    width:34px;

    border-radius:999px;

    background:#d62828;

    transform:none;
}

/* =========================================
   TABLET
========================================= */

@media(max-width:991px){

    .testimonials-section{
        padding:100px 0;
    }

    .testimonials-header{
        margin-bottom:3rem;
    }

    .testimonials-header h2{
        font-size:4rem;
    }

    .testimonial-quote p{
        font-size:2rem;
    }

    .testimonial-author{
        margin-bottom:2.5rem;
    }

    .testimonial-pagination{
        margin-top:0;
    }

    .rainbow-lines span:nth-child(1){
        width:1200px;
        height:600px;
    }

    .rainbow-lines span:nth-child(2){
        width:1050px;
        height:525px;
    }

    .rainbow-lines span:nth-child(3){
        width:900px;
        height:450px;
    }

    .rainbow-lines span:nth-child(4){
        width:750px;
        height:375px;
    }

    .rainbow-lines span:nth-child(5){
        width:600px;
        height:300px;
    }

}

/* =========================================
   MOBILE
========================================= */

@media(max-width:576px){

    .testimonials-section{
        padding:80px 0;
    }

    .testimonials-header{
        margin-bottom:2.5rem;
    }

    .testimonials-header h2{
        font-size:2.5rem;
    }

    .testimonial-quote{
        margin-bottom:2rem;
    }

    .testimonial-quote p{
        font-size:1.25rem;
        line-height:1.8;
    }

    .testimonial-author{
        flex-direction:column;

        gap:1rem;

        margin-bottom:2rem;
    }

    .testimonial-author img{
        width:70px;
        height:70px;
    }

    .author-info{
        text-align:center;
    }

    .author-info h4{
        font-size:1rem;
    }

    .author-info span{
        font-size:.75rem;
    }

    .testimonial-pagination .swiper-pagination-bullet-active{
        width:24px;
    }

    /* Smaller Rainbow Arches */

    .rainbow-lines span:nth-child(1){
        width:700px;
        height:350px;

        top:20px;
    }

    .rainbow-lines span:nth-child(2){
        width:600px;
        height:300px;

        top:60px;
    }

    .rainbow-lines span:nth-child(3){
        width:500px;
        height:250px;

        top:100px;
    }

    .rainbow-lines span:nth-child(4){
        width:400px;
        height:200px;

        top:140px;
    }

    .rainbow-lines span:nth-child(5){
        width:300px;
        height:150px;

        top:180px;
    }

}
/* =========================================
   FOOTER
========================================= */

.site-footer{
    position:relative;

    padding:120px 0 40px;

    overflow:hidden;

      background:
    linear-gradient(
        135deg,
        #4f1018,
        #6f1621,
        #8b1f2b
    );
    color:#fff;
}

.site-footer::before{
    content:'';

    position:absolute;

    inset:0;

    background:
    repeating-linear-gradient(
        90deg,
        transparent 0,
        transparent 15px,
        rgba(255,255,255,.025) 15px,
        rgba(255,255,255,.025) 18px,
        transparent 18px,
        transparent 40px
    );

    opacity:.8;

    pointer-events:none;
}

/* =========================================
   CONTENT
========================================= */

.site-footer .container{
    position:relative;
    z-index:2;
}

.footer-top{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1fr;

    gap:4rem;

    padding-bottom:4rem;

    border-bottom:
    1px solid rgba(255,255,255,.1);
}

/* =========================================
   BRAND
========================================= */

.footer-brand img{
    width:220px;

    margin-bottom:1.5rem;

    filter:brightness(0) invert(1);
}

.footer-brand p{
    max-width:350px;

    line-height:1.9;

    color:
    rgba(255,255,255,.75);
}

/* =========================================
   HEADINGS
========================================= */

.site-footer h4{
    position:relative;

    margin-bottom:1.5rem;

    padding-bottom:.75rem;

    font-size:.95rem;

    letter-spacing:.12em;

    text-transform:uppercase;
}

.site-footer h4::after{
    content:'';

    position:absolute;

    left:0;
    bottom:0;

    width:40px;
    height:2px;

    background:#f0be37;
}

/* =========================================
   LINKS
========================================= */

.footer-contact,
.footer-links,
.footer-app{
    display:flex;
    flex-direction:column;
}

.footer-contact p,
.footer-app p{
    color:
    rgba(255,255,255,.75);

    line-height:1.8;
}

.footer-contact a,
.footer-links a,
.app-links a{
    color:
    rgba(255,255,255,.8);

    text-decoration:none;

    transition:.3s ease;
}

.footer-contact a:hover,
.footer-links a:hover,
.app-links a:hover{
    color:#f0be37;
}

.footer-links ul{
    list-style:none;

    margin:0;
    padding:0;
}

.footer-links li{
    margin-bottom:1rem;
}

/* =========================================
   APP
========================================= */

.app-links{
    display:flex;
    flex-direction:column;

    gap:1rem;
}

.app-links a{
    display:flex;
    align-items:center;

    gap:.75rem;
}

/* =========================================
   SOCIAL
========================================= */

.footer-social{
    display:flex;

    justify-content:center;

    gap:1rem;

    padding:3rem 0;
}

.footer-social a{
    width:52px;
    height:52px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    rgba(255,255,255,.08);

    border:
    1px solid rgba(255,255,255,.1);

    color:#fff;

    transition:.35s ease;
}

.footer-social a:hover{
    transform:translateY(-5px);

    background:#f0be37;

    color:#111;
}

/* =========================================
   BOTTOM
========================================= */

.footer-bottom{
    display:flex;

    justify-content:space-between;
    align-items:center;

    gap:1rem;

    color:
    rgba(255,255,255,.65);

    font-size:.9rem;
}

/* =========================================
   TABLET
========================================= */

@media(max-width:991px){

    .site-footer{
        padding:100px 0 35px;
    }

    .footer-top{
        grid-template-columns:1fr 1fr;

        gap:3rem;
    }

    .footer-brand img{
        width:190px;
    }

    .footer-social{
        padding:2.5rem 0;
    }

    .footer-bottom{
        flex-direction:column;

        text-align:center;

        gap:.5rem;
    }

}

/* =========================================
   MOBILE
========================================= */

@media(max-width:576px){

    .site-footer{
        padding:80px 0 30px;
    }

    .footer-top{
        grid-template-columns:1fr;

        gap:2rem;

        padding-bottom:2.5rem;
    }

    .footer-brand{
        text-align:center;
    }

    .footer-brand img{
        width:170px;

        margin:0 auto 1.25rem;
        display:block;
    }

    .footer-brand p{
        max-width:100%;
    }

    .site-footer h4{
        margin-bottom:1rem;
        padding-bottom:.75rem;
    }

    .site-footer h4::after{
        width:35px;
    }

    .footer-contact,
    .footer-links,
    .footer-app{
        text-align:center;
    }

    .footer-contact a,
    .footer-links a{
        display:block;
    }

    .app-links{
        align-items:center;
    }

    .app-links a{
        justify-content:center;
    }

    .footer-social{
        flex-wrap:wrap;

        gap:.75rem;

        padding:2rem 0;
    }

    .footer-social a{
        width:46px;
        height:46px;
    }

    .footer-bottom{
        flex-direction:column;

        text-align:center;

        gap:.5rem;

        font-size:.8rem;
    }

    /* Audio Wave Pattern Softer */

    .site-footer::before{
        opacity:.4;
    }
    .footer-contact h4::after,
.footer-links h4::after,
.footer-app h4::after{
    left:50%;

    transform:translateX(-50%);
}

}