/* ===============================
FOCUS RESPONSIVE FIXED
================================= */

/* Tablet & Mobile Layout */
@media (max-width: 900px){

    .top-bar{
        font-size: 12px;
    }

    .event-text p {
        font-size: 8px;
    }

    /* Hide center circle */
    .focus-center{
        display:none;
    }

    /* Stack focus items vertically */
    .focus-wrapper{
        width:100%;
        height:auto;
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:25px;
        padding:20px 10px;
    }

    /* Reset absolute positioning */
    .focus-item{
        position:relative !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;
        bottom:auto !important;

        width:90%;
        max-width:400px;
        padding:20px;
        text-align:center;
    }

    /* Fix for item-4 */
    .item-4{
        bottom:auto !important;
        left:auto !important;
        transform:none !important;
    }

    .focus-item i{
        font-size:24px;
        margin-bottom:10px;
    }

    .focus-item h4{
        font-size:1.1rem;
        margin-bottom:6px;
    }

    .focus-item p{
        font-size:0.85rem;
    }
}


/* ===============================
SMALL MOBILE ADJUSTMENTS
================================= */

@media (max-width: 480px){

    .focus{
        padding:80px 5%;
    }
      .event-text{
        font-size: 2px;
    }


    .focus-header h2{
        font-size:1.8rem;
    }

    .section-line{
        width:50px;
        height:3px;
        margin-bottom:40px;
    }

    .focus-item{
        padding:15px;
    }
}


/* ===============================
GLOBAL RESPONSIVE STRUCTURE
(Add future responsive fixes here)
================================= */


/* Large Desktop */
@media (max-width:1440px){

}


/* Laptop Screens */
@media (max-width:1280px){

}


/* Small Laptops */
@media (max-width:1024px){

}


/* Tablets */
@media (max-width:768px){

}


/* Large Phones */
@media (max-width:600px){

}


/* Small Phones */
@media (max-width:400px){

}

/* =========================================
   EXPO MODAL
========================================= */

.expo-modal{

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: rgba(0,0,0,0.8);

    display: flex;

    align-items: center;
    justify-content: center;

    z-index: 99999;

    animation: fadeIn 0.4s ease;
}

.expo-modal-content{

    width: 90%;
    max-width: 700px;

    background: #111;

    border-radius: 20px;

    overflow: hidden;

    position: relative;

    box-shadow:
    0 0 40px rgba(255,140,0,0.3);
}

.close-modal{

    position: absolute;

    right: 20px;
    top: 10px;

    font-size: 35px;

    color: white;

    cursor: pointer;

    z-index: 2;
}

.expo-modal-header{

    padding: 30px;

    text-align: center;

    background:
    linear-gradient(
        135deg,
        #ff7b00,
        #ffae00
    );

    color: white;
}

.expo-modal-image{

    width: 100%;
    height: 260px;

    object-fit: cover;
}

.expo-modal-body{

    padding: 30px;

    color: white;
}

.expo-modal-body ul{

    margin-top: 15px;
    margin-bottom: 25px;
}

.expo-modal-body li{

    margin-bottom: 10px;
}

.expo-modal-btn{

    display: inline-block;

    background: #ff8c00;

    color: white;

    padding: 14px 30px;

    border-radius: 10px;

    text-decoration: none;

    font-weight: 600;
}

/* =========================================
   IMPACT SECTION
========================================= */

.impact-section{
    padding: 100px 8%;
    background:
    linear-gradient(
        180deg,
        #0b0b0b,
        #151515
    );

    color: white;

    text-align: center;
}

.impact-header h2{

    font-size: 42px;

    margin-bottom: 15px;
}

.impact-grid{

    margin-top: 60px;

    display: grid;

    grid-template-columns:
    repeat(auto-fit,minmax(220px,1fr));

    gap: 25px;
}

.impact-card{

    background: rgba(255,255,255,0.04);

    padding: 40px 20px;

    border-radius: 18px;

    border:
    1px solid rgba(255,255,255,0.08);

    transition: 0.3s ease;
}

.impact-card:hover{

    transform: translateY(-6px);

    border-color: orange;
}

.impact-card h1{

    color: orange;

    font-size: 42px;

    margin-bottom: 12px;
}

@keyframes fadeIn{

    from{
        opacity:0;
    }

    to{
        opacity:1;
    }
}

/* =========================================
   EXPO MODAL
========================================= */

.expo-modal{

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: rgba(0,0,0,0.8);

    display: flex;

    align-items: center;
    justify-content: center;

    z-index: 99999;

    animation: fadeIn 0.4s ease;
}

.expo-modal-content{

    width: 90%;
    max-width: 700px;

    background: #111;

    border-radius: 20px;

    overflow: hidden;

    position: relative;

    box-shadow:
    0 0 40px rgba(255,140,0,0.3);
}

.close-modal{

    position: absolute;

    right: 20px;
    top: 10px;

    font-size: 35px;

    color: white;

    cursor: pointer;

    z-index: 2;
}

.expo-modal-header{

    padding: 30px;

    text-align: center;

    background:
    linear-gradient(
        135deg,
        #ff7b00,
        #ffae00
    );

    color: white;
}

.expo-modal-image{

    width: 100%;
    height: 460px;

    object-fit: cover;
}

.expo-modal-body{

    padding: 30px;

    color: white;
}

.expo-modal-body ul{

    margin-top: 15px;
    margin-bottom: 25px;
}

.expo-modal-body li{

    margin-bottom: 10px;
}

.expo-modal-btn{

    display: inline-block;

    background: #ff8c00;

    color: white;

    padding: 14px 30px;

    border-radius: 10px;

    text-decoration: none;

    font-weight: 600;
}

/* =========================================
   IMPACT SECTION
========================================= */

.impact-section{

    padding: 100px 8%;

    background:
    linear-gradient(
        180deg,
        #0b0b0b,
        #151515
    );

    color: white;

    text-align: center;
}

.impact-header h2{

    font-size: 42px;

    margin-bottom: 15px;
}

.impact-grid{

    margin-top: 60px;

    display: grid;

    grid-template-columns:
    repeat(auto-fit,minmax(220px,1fr));

    gap: 25px;
}

.impact-card{

    background: rgba(255,255,255,0.04);

    padding: 40px 20px;

    border-radius: 18px;

    border:
    1px solid rgba(255,255,255,0.08);

    transition: 0.3s ease;
}

.impact-card:hover{

    transform: translateY(-6px);

    border-color: orange;
}

.impact-card h1{

    color: orange;

    font-size: 42px;

    margin-bottom: 12px;
}

@keyframes fadeIn{

    from{
        opacity:0;
    }

    to{
        opacity:1;
    }
}

/* =========================================
   EVOKE EXPO MODAL
========================================= */

.expo-modal{

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background:
    rgba(0,0,0,0.82);

    backdrop-filter: blur(6px);

    display: none;

    align-items: center;
    justify-content: center;

    padding: 25px;

    z-index: 999999;

    overflow-y: auto;
}

/* =========================================
   CONTENT
========================================= */

.expo-modal-content{

    width: 100%;
    max-width: 460px;

    background: #101010;

    border-radius: 24px;

    overflow: hidden;

    position: relative;

    animation:
    modalFade 0.45s ease;

    box-shadow:
    0 0 45px rgba(255,140,0,0.22);
}

/* =========================================
   IMAGE
========================================= */

.expo-modal-image{

    width: 100%;

    height: 260px;

    object-fit: cover;

    object-position: center top;

    display: block;
}

/* =========================================
   BODY
========================================= */

.expo-modal-body{

    padding: 28px;
}

.expo-modal-body h3{

    font-size: 30px;

    line-height: 1.15;

    margin-bottom: 12px;

    color: orange;
}

.expo-modal-body p{

    color: #d0d0d0;

    line-height: 1.7;

    font-size: 15px;
}

/* =========================================
   BUTTON
========================================= */

.expo-modal-btn{

    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    margin-top: 10px;

    background: orange;

    color: black;

    text-decoration: none;

    padding: 16px 20px;

    border-radius: 14px;

    font-weight: 700;

    transition: 0.3s ease;
}

.expo-modal-btn:hover{

    transform: translateY(-3px);

    box-shadow:
    0 0 25px rgba(255,140,0,0.35);
}

/* =========================================
   CLOSE
========================================= */

.close-modal{

    position: absolute;

    top: 12px;
    right: 18px;

    color: white;

    font-size: 34px;

    cursor: pointer;

    z-index: 10;
}

/* =========================================
   ANIMATION
========================================= */

@keyframes modalFade{

    from{

        opacity: 0;

        transform:
        translateY(20px)
        scale(0.96);
    }

    to{

        opacity: 1;

        transform:
        translateY(0)
        scale(1);
    }
}

/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

    .expo-modal{

        padding: 14px;
    }

    .expo-modal-content{

        max-width: 100%;

        border-radius: 20px;

        max-height: 95vh;

        overflow-y: auto;
    }

    .expo-modal-body{

        padding: 22px;
    }

    .expo-modal-body h3{

        font-size: 24px;
    }

    .expo-modal-body p{

        font-size: 14px;

        line-height: 1.6;
    }

    .expo-modal-btn{

        padding: 15px;
    }

    .close-modal{

        top: 10px;
        right: 14px;

        font-size: 30px;
    }
}

/* =========================================
   SMALL DEVICES
========================================= */

@media(max-width:420px){

    .expo-modal-body{

        padding: 18px;
    }

    .expo-modal-body h3{

        font-size: 22px;
    }
}
@media(max-width:768px){

    .expo-modal{

        padding: 10px;
    }

    .expo-modal-content{

        width: 100%;

        max-width: 390px;

        max-height: 92vh;

        overflow-y: auto;

        border-radius: 18px;
    }

    .expo-modal-image{

        height: 190px;

        object-fit: cover;

        object-position: center top;
    }

    .expo-modal-body{

        padding: 18px;
    }

    .expo-modal-body h3{

        font-size: 19px;

        line-height: 1.25;

        margin-bottom: 10px;
    }

    .expo-modal-body p{

        font-size: 14px;

        line-height: 1.5;

        margin-bottom: 14px;
    }

    .expo-modal-btn{

        width: 100%;

        padding: 15px;

        font-size: 15px;

        border-radius: 12px;
    }

    .close-modal{

        top: 10px;
        right: 14px;

        font-size: 28px;
    }
}