@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: "Manrope", sans-serif;
}

.green {
    color: #119d60;
}

.orange {
    color: #f89939;
}

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

.site-header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
    color: #000;
    background: #fff;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
}

header.header-visible {
    transition: transform 1s cubic-bezier(.25, .46, .45, .94);
    transform: translateY(0);
}

header.header-hidden {
    transition: transform .5s cubic-bezier(.55, .085, .68, .53);
    transform: translateY(-120%);
}

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

.header-top {
    min-height: 44px;
    background: #25a858;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    display: none;
}

.header-top-inner {
    max-width: 98%;
    min-height: 44px;
    margin: 0 auto;
    padding: 0 20px;

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

.header-contact,
.header-social {
    display: flex;
    align-items: center;
    gap: 12px;
}

.header-contact {
    font-size: 14px;
    font-weight: 500;
}

.header-contact a,
.header-social a {
    color: #fff;
    text-decoration: none;
}

.header-contact a:hover,
.header-social a:hover {
    color: #fff;
    text-decoration: none;
}

.header-contact i {
    font-size: 15px;
}

.header-separator {
    opacity: 0.6;
    margin: 0 3px;
}

.header-social {
    gap: 15px;
}

.header-social a {
    font-size: 14px;
    transition: 0.2s ease;
}

.header-social a:hover {
    opacity: 0.7;
}


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

.header-bottom {
    min-height: 105px;
    /* background: rgba(10, 10, 35, 0.08); */
}

.header-bottom-inner {
    max-width: 98%;
    min-height: 105px;
    margin: 0 auto;
    padding: 0 20px;

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


/* =========================
    LOGO
========================= */

.site-logo {
    display: inline-flex;
    align-items: center;
    color: #fff;
    text-decoration: none;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: -1px;
    white-space: nowrap;
}

.site-logo i {
    font-size: 34px;
    margin-right: 2px;
}

.site-logo .site-logo-img {
    max-height: 77px;
    width: auto;
}

.header-brand {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.header-brand-divider {
    width: 1px;
    align-self: stretch;
    min-height: 52px;
    margin: 8px 0;
    background: #d5ddd8;
}

.header-supported {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
}

.header-supported span {
    color: #6b7280;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.header-supported img {
    display: block;
    width: auto;
    height: 46px;
    max-width: 220px;
    object-fit: contain;
}


/* =========================
    NAVIGATION
========================= */

.main-navigation {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.main-navigation .navbar {
    padding: 0;
}

.main-navigation .navbar-nav {
    align-items: center;
    gap: 8px;
}

.main-navigation .nav-link {
    color: #000;
    font-size: 16px;
    font-weight: 600;
    padding: 27px 8px !important;
    /* text-transform: uppercase; */
    white-space: nowrap;
}

.main-navigation .nav-link:hover,
.main-navigation .nav-link:focus {
    color: #fff;
}

.main-navigation .nav-link-text {
    transition: color 0.35s ease;
}

.main-navigation .nav-link:hover .nav-link-text,
.main-navigation .nav-link:focus .nav-link-text {
    color: #119d60;
}

/* Animated underline and hover color for main nav links */
.main-navigation .nav-link {
    position: relative;
    transition: color 0.28s ease;
}

.main-navigation .nav-link-text {
    display: inline-block;
    position: relative;
    padding: 0; /* keep padding on .nav-link */
}

.main-navigation .nav-link-text::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -10px;
    height: 3px;
    width: 100%;
    background: #119d60;
    transform: scaleX(0);
    transform-origin: bottom right;
    transition: transform 650ms cubic-bezier(.2,.9,.3,1), opacity 500ms ease;
    opacity: 0;
}

.main-navigation .nav-link-text {
    transition: color 0.3s ease;
}

.main-navigation .nav-link:hover .nav-link-text,
.main-navigation .nav-link:focus .nav-link-text {
    color: #119d60;
}

.main-navigation .nav-link:hover .nav-link-text::after,
.main-navigation .nav-link:focus .nav-link-text::after {
    transform: scaleX(1);
    transform-origin: bottom left;
    opacity: 1;
}

.dropdown-toggle::after {
    content: "\f282";
    font-family: "bootstrap-icons";
    border: 0;
    margin-left: 2px;
    vertical-align: middle;
    font-size: 12px;
    transition: color 0.3s ease;
}

.main-navigation .nav-link.dropdown-toggle:hover::after {
    color: #119d60;
}

.main-navigation .nav-link.nibtn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 24px !important;
    background: #ca346b;
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: 0.25s ease;
}

.main-navigation .nav-link.nibtn:hover .nav-link-text {
    color: #fff !important;
}

.main-navigation .nav-link.nibtn:hover .nav-link-text:after {
    display: none;
}

/* =========================================================
   EVENTS & CONFERENCE PAGE
   event-conference.blade.php
========================================================= */

.ec-events {
    padding: 88px 0 110px;
    background: linear-gradient(180deg, #ffffff 0%, #f6faf7 42%, #fff8f1 100%);
}

.ec-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
}

.ec-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(17, 157, 96, 0.12);
    box-shadow: 0 16px 40px rgba(16, 40, 24, 0.06);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.ec-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 50px rgba(17, 157, 96, 0.12);
}

.ec-card-media {
    position: relative;
    height: 350px;
    overflow: hidden;
}

.ec-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.ec-card:hover .ec-card-media img {
    transform: scale(1.05);
}

.ec-card-media span {
    position: absolute;
    left: 16px;
    bottom: 16px;
    min-width: 46px;
    padding: 7px 10px;
    border-radius: 999px;
    background: #119d60;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-align: center;
}

.ec-card:nth-child(even) .ec-card-media span {
    background: #f89939;
}

.ec-card-body {
    padding: 26px 28px 32px;
}

.ec-card-body h2 {
    margin: 0 0 12px;
    color: #119d60;
    font-size: 26px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.ec-card-body h2::after {
    content: "";
    display: block;
    width: 52px;
    height: 4px;
    margin-top: 14px;
    border-radius: 4px;
    background: linear-gradient(90deg, #f89939 0 50%, #119d60 50% 100%);
}

.ec-card-body p {
    margin: 0;
    color: #1a1a1a;
    font-size: 18px;
    line-height: 1.55;
    font-weight: 600;
}

@media (max-width: 991px) {
    .ec-events {
        padding: 64px 0 80px;
    }

    .ec-card-media {
        height: 240px;
    }

    .ec-card-body h2 {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    .ec-events {
        padding: 40px 0 56px;
    }

    .ec-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .ec-card-media {
        height: 220px;
    }

    .ec-card-body {
        padding: 22px 20px 26px;
    }

    .ec-card-body p {
        font-size: 16px;
    }
}

/* =========================================================
   PLASTINDIA LEGACY PAGE — JOURNEY
   plastindia-legacy.blade.php
========================================================= */

.lg-journey {
    margin: 10px 20px 70px;
    padding: 26px 18px 28px;
    border-radius: 28px;
    background:
        radial-gradient(460px 180px at 0 0, rgba(17, 157, 96, 0.1), transparent 72%),
        radial-gradient(480px 220px at 100% 100%, rgba(248, 153, 57, 0.18), transparent 70%),
        #fff;
    border: 1px solid rgba(17, 157, 96, 0.1);
    box-shadow: 0 18px 46px rgba(16, 40, 24, 0.06);
}

.lg-rail {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
}

.lg-arrow {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(17, 157, 96, 0.18);
    border-radius: 50%;
    background: #fff;
    color: #119d60;
    cursor: pointer;
}

.lg-arrow:disabled {
    opacity: 0.35;
    cursor: default;
}

.lg-rail-track {
    position: relative;
    flex: 1;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 4px;
    overflow-x: auto;
    padding: 6px 4px 2px;
    scrollbar-width: none;
}

.lg-rail-track::-webkit-scrollbar {
    display: none;
}

.lg-rail-track::before {
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 10px;
    height: 2px;
    background: #e4e7ea;
}

.lg-year {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    min-width: 68px;
    border: 0;
    background: transparent;
    padding: 0 6px 20px;
    color: #8b9198;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
}

.lg-year i {
    position: absolute;
    left: 50%;
    bottom: 3px;
    width: 12px;
    height: 12px;
    margin-left: -6px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #d5d8dc;
}

.lg-year.is-active {
    color: #119d60;
}

.lg-year.is-active span {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    background: #119d60;
    color: #fff;
}

.lg-year.is-active i {
    background: #119d60;
    border-color: #119d60;
    box-shadow: 0 0 0 4px rgba(17, 157, 96, 0.16);
}

.lg-feature {
    display: none;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 32px;
    align-items: center;
    padding: 12px;
    border-radius: 22px;
    background: #fff;
}

.lg-feature.is-active {
    display: grid;
}

.lg-feature-media {
    height: 340px;
    border-radius: 16px;
    overflow: hidden;
}

.lg-feature-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.lg-feature-year {
    color: #119d60;
    font-size: 22px;
    font-weight: 800;
}

.lg-feature-copy h3 {
    margin: 4px 0 14px;
    color: #1a1a1a;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.08;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.lg-feature-copy p {
    margin: 0;
    color: #3a3a3a;
    font-size: 16px;
    line-height: 1.65;
}

.lg-feature-copy strong {
    color: #111;
}

.lg-thumbs {
    display: flex;
    gap: 14px;
    margin-top: 18px;
    overflow-x: auto;
    padding: 4px 2px 8px;
}

.lg-thumb {
    flex: 0 0 156px;
    border: 1px solid transparent;
    border-radius: 14px;
    background: #fff;
    padding: 8px 8px 12px;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(16, 40, 24, 0.05);
}

.lg-thumb.is-active {
    border-color: #119d60;
    box-shadow: 0 0 0 1px #119d60;
}

.lg-thumb img {
    display: block;
    width: 100%;
    height: 78px;
    object-fit: cover;
    border-radius: 8px;
}

.lg-thumb strong {
    display: block;
    margin-top: 8px;
    color: #119d60;
    font-size: 14px;
}

.lg-thumb span {
    display: block;
    min-height: 48px;
    margin-top: 2px;
    color: #444;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 600;
}

@media (max-width: 991px) {
    .lg-feature.is-active {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .lg-feature-media {
        height: 240px;
    }
}

@media (max-width: 767px) {
    .lg-journey {
        margin: 8px 0 40px;
        padding: 16px 10px 18px;
        border-radius: 18px;
    }

    .lg-feature-copy h3 {
        font-size: 26px;
    }

    .lg-feature-media {
        height: 200px;
    }

    .lg-thumb {
        flex-basis: 140px;
    }
}

/* =========================================================
   PLASTINDIA LEGACY PAGE — INTRO
   plastindia-legacy.blade.php
========================================================= */

.lg-intro {
    padding: 36px 32px 32px;
    background: #fff;
    border: 1px solid rgba(17, 157, 96, 0.12);
    border-radius: 20px;
    box-shadow: 0 18px 40px rgba(16, 40, 24, 0.08);
}

.lg-intro-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 48px;
    align-items: center;
}

.lg-intro-media {
    position: relative;
    width: 100%;
    height: 420px;
    padding: 0;
    border: 0;
    border-radius: 24px;
    overflow: hidden;
    cursor: pointer;
    background: #ddd;
}

.lg-intro-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.lg-intro-media:hover img {
    transform: scale(1.04);
}

.lg-play {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 72px;
    height: 72px;
    margin: -36px 0 0 -36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #119d60;
    color: #fff;
    font-size: 22px;
    box-shadow: 0 12px 30px rgba(17, 157, 96, 0.35);
}

.lg-play i {
    margin-left: 3px;
}

.lg-intro-copy h2 {
    margin: 0 0 18px;
    color: #1a1a1a;
    font-size: clamp(36px, 4vw, 52px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.lg-intro-copy h2 span {
    color: #119d60;
}

.lg-intro-copy p {
    margin: 0;
    padding-left: 0px;
    /* border-left: 3px solid #f89939; */
    color: #3a3a3a;
    font-size: 17px;
    line-height: 1.7;
}

.lg-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 36px;
    border-top: 1px solid rgba(17, 157, 96, 0.15);
    border-bottom: 1px solid rgba(17, 157, 96, 0.15);
}

.lg-stats div {
    padding: 22px 18px;
    border-right: 1px solid rgba(17, 157, 96, 0.15);
}

.lg-stats div:last-child {
    border-right: 0;
}

.lg-stats strong {
    display: block;
    color: #119d60;
    font-size: 40px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.lg-stats div:nth-child(even) strong {
    color: #f89939;
}

.lg-stats span {
    display: block;
    margin-top: 8px;
    color: #444;
    font-size: 18px;
    font-weight: 700;
}

.legacy-video-modal {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.legacy-video-modal[hidden] {
    display: none !important;
}

.legacy-video-dialog {
    position: relative;
    width: 100%;
    max-width: 90vw;
    height: 90vh;
    background: #000;
}

.legacy-video-close {
    position: absolute;
    top: 8px;
    right: 12px;
    z-index: 2;
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 2rem;
    line-height: 1;
}

@media (max-width: 991px) {
    .lg-intro {
        padding: 48px 0 10px;
    }

    .lg-intro-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .lg-intro-media {
        height: 280px;
    }

    .lg-stats {
        grid-template-columns: 1fr 1fr;
    }

    .lg-stats div:nth-child(2) {
        border-right: 0;
    }

    .lg-stats div:nth-child(1),
    .lg-stats div:nth-child(2) {
        border-bottom: 1px solid rgba(17, 157, 96, 0.15);
    }
}

@media (max-width: 575px) {
    .lg-intro-copy h2 {
        font-size: 32px;
    }

    .lg-intro-media {
        height: 220px;
    }

    .lg-stats strong {
        font-size: 26px;
    }

    .legacy-video-dialog {
        height: 40vh;
    }
}

/* =========================================================
   SHOW PREVIEW PAGE
   show-preview.blade.php
========================================================= */

.sp-issues {
    padding: 72px 0 90px;
    background: linear-gradient(180deg, #ffffff 0%, #f6faf7 48%, #fff8f1 100%);
}

.sp-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.sp-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(17, 157, 96, 0.12);
    box-shadow: 0 16px 36px rgba(16, 40, 24, 0.06);
}

.sp-card-media {
    position: relative;
    height: 280px;
    background: #f4f6f5;
}

.sp-card-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.sp-card-media span {
    position: absolute;
    left: 14px;
    top: 14px;
    min-width: 42px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #119d60;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-align: center;
}

.sp-card:nth-child(even) .sp-card-media span {
    background: #f89939;
}

.sp-card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 20px 18px 22px;
}

.sp-card-body h2 {
    margin: 0;
    color: #1a1a1a;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;
}

.sp-card-body a {
    display: inline-flex;
    align-items: center;
    padding: 12px 18px;
    border-radius: 8px;
    background: #119d60;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
}

.sp-card-body a:hover {
    background: #f89939;
    color: #fff;
}

@media (max-width: 1199px) {
    .sp-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .sp-issues {
        padding: 36px 0 48px;
    }

    .sp-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .sp-card-media {
        height: 240px;
    }
}

/* =========================================================
   DOWNLOAD CENTRE PAGE
   show-info-download-centre.blade.php
========================================================= */

.dc-resources {
    padding: 72px 0 96px;
    background: linear-gradient(180deg, #ffffff 0%, #f6faf7 48%, #fff8f1 100%);
}

.dc-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
}

.dc-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex: 0 0 calc((100% - 48px) / 3);
    width: calc((100% - 48px) / 3);
    min-height: 250px;
    padding: 32px 24px 28px;
    background: #fff;
    border-radius: 18px;
    border: 1px solid rgba(17, 157, 96, 0.12);
    box-shadow: 0 14px 34px rgba(16, 40, 24, 0.06);
}

.dc-card > img {
    width: 72px;
    height: 72px;
    object-fit: contain;
}

.dc-card h2 {
    margin: 18px 0 16px;
    color: #1a1a1a;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 800;
}

.dc-download,
.dc-drop summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 140px;
    padding: 12px 18px;
    border-radius: 8px;
    background: #119d60;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    list-style: none;
}

.dc-download:hover,
.dc-drop summary:hover,
.dc-drop[open] summary {
    background: #f89939;
    color: #fff;
}

.dc-drop summary::-webkit-details-marker {
    display: none;
}

.dc-drop {
    position: relative;
}

.dc-drop ul {
    position: absolute;
    left: 50%;
    top: calc(100% + 8px);
    z-index: 5;
    transform: translateX(-50%);
    min-width: 150px;
    max-height: 180px;
    margin: 0;
    padding: 6px;
    overflow-y: auto;
    list-style: none;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 28px rgba(16, 40, 24, 0.12);
}

.dc-drop li a {
    display: block;
    padding: 8px 12px;
    border-radius: 6px;
    color: #1a1a1a;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.dc-drop li a:hover {
    background: #119d60;
    color: #fff;
}

@media (max-width: 991px) {
    .dc-card {
        flex-basis: calc((100% - 24px) / 2);
        width: calc((100% - 24px) / 2);
    }
}

@media (max-width: 767px) {
    .dc-resources {
        padding: 36px 0 48px;
    }

    .dc-card {
        flex-basis: 100%;
        width: 100%;
    }
}

/* =========================================================
   EXHIBITOR PROFILE PAGE
   exhibit.blade.php
========================================================= */

.ex-hello {
    padding: 72px 0 20px;
    text-align: center;
    background: #fff;
}

.ex-hello h2 {
    margin: 0;
    color: #1a1a1a;
    font-size: clamp(36px, 4vw, 56px);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.ex-hello h2 span {
    color: #119d60;
}

.ex-hello p {
    max-width: 760px;
    margin: 18px auto 0;
    color: #3a3a3a;
    font-size: 20px;
    line-height: 1.6;
    font-weight: 600;
}

.ex-why {
    padding: 36px 0 70px;
}

.ex-why-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: 48px;
    align-items: center;
}

.ex-why-media {
    position: relative;
    width: 100%;
    height: 420px;
    padding: 0;
    border: 0;
    border-radius: 24px;
    overflow: hidden;
    cursor: pointer;
    background: #ddd;
}

.ex-why-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.ex-play {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 72px;
    height: 72px;
    margin: -36px 0 0 -36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #119d60;
    color: #fff;
    font-size: 22px;
}

.ex-play i {
    margin-left: 3px;
}

.ex-why-copy h2,
.ex-reasons h2,
.ex-profiles h2 {
    margin: 0 0 16px;
    color: #1a1a1a;
    font-size: clamp(32px, 3.4vw, 46px);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.ex-why-copy p {
    margin: 0 0 14px;
    color: #3a3a3a;
    font-size: 17px;
    line-height: 1.7;
}

.ex-btn {
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
    padding: 16px 26px;
    border-radius: 8px;
    background: #119d60;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
}

.ex-btn:hover {
    background: #f89939;
    color: #fff;
}

.ex-reasons {
    padding: 56px 0 20px;
}

.ex-reasons h2,
.ex-profiles h2 {
    text-align: center;
    margin-bottom: 32px;
}

.ex-reason-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
}

.ex-reason {
    flex: 0 1 calc(33.333% - 22px);
    max-width: 420px;
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(17, 157, 96, 0.12);
    box-shadow: 0 14px 34px rgba(16, 40, 24, 0.06);
}

.ex-reason img {
    display: block;
    width: 100%;
    height: 210px;
    object-fit: cover;
}

.ex-reason h3 {
    margin: 18px 20px 8px;
    color: #119d60;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 800;
}

.ex-reason p {
    margin: 0 20px 22px;
    color: #3a3a3a;
    font-size: 16px;
    line-height: 1.6;
}

.ex-cta {
    margin-top: 48px;
    padding: 64px 20px;
    text-align: center;
    background: linear-gradient(90deg, #119d60 0%, #0e7a4a 55%, #f89939 100%);
}

.ex-cta h2 {
    max-width: 860px;
    margin: 0 auto 22px;
    color: #fff;
    font-size: clamp(30px, 3.5vw, 44px);
    line-height: 1.15;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.ex-cta .ex-btn {
    background: #fff;
    color: #119d60;
}

.ex-cta .ex-btn:hover {
    background: #1a1a1a;
    color: #fff;
}

.ex-profiles {
    padding: 72px 0 90px;
    background: #f7faf8;
}

.ex-profile-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ex-profile {
    min-height: 280px;
    padding: 24px 18px;
    text-align: center;
    background: #fff;
    border-radius: 16px;
    border: 1px solid rgba(17, 157, 96, 0.1);
}

.ex-profile img {
    width: 88px;
    height: 88px;
    padding: 16px;
    object-fit: contain;
    border-radius: 18px;
    background: linear-gradient(90deg, #f26222 13%, #bd3b04 100%);
}

.ex-profile h3 {
    margin: 14px 0 8px;
    color: #1a1a1a;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;
}

.ex-profile p {
    margin: 0;
    color: #555;
    font-size: 14px;
    line-height: 1.5;
}

.ex-video {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(0, 0, 0, 0.8);
}

.ex-video[hidden] {
    display: none !important;
}

.ex-video-dialog {
    position: relative;
    width: 100%;
    max-width: 90vw;
    height: 90vh;
    background: #000;
}

.ex-video-dialog video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
}

.ex-video-dialog button {
    position: absolute;
    top: 8px;
    right: 12px;
    z-index: 2;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 2rem;
    line-height: 1;
}

@media (max-width: 991px) {
    .ex-why-grid,
    .ex-profile-grid {
        grid-template-columns: 1fr 1fr;
    }

    .ex-why-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .ex-why-media {
        height: 280px;
    }

    .ex-reason {
        flex-basis: calc(50% - 22px);
    }
}

@media (max-width: 767px) {
    .ex-hello {
        padding: 40px 0 8px;
    }

    .ex-hello p {
        font-size: 17px;
    }

    .ex-reason {
        flex-basis: 100%;
        max-width: none;
    }

    .ex-profile-grid {
        grid-template-columns: 1fr;
    }

    .ex-cta {
        padding: 42px 16px;
    }

    .ex-video-dialog {
        height: 40vh;
    }
}

/* =========================================================
   VISITOR PROFILE PAGE
   visit.blade.php
========================================================= */

.vp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

.vp-actions .ex-btn {
    margin-top: 0;
}

.ex-btn-outline {
    background: #fff;
    color: #119d60;
    border: 2px solid #119d60;
}

.ex-btn-outline:hover {
    background: #f89939;
    border-color: #f89939;
    color: #fff;
}

.ex-profile img.vp-icon {
    width: 88px;
    height: 88px;
    padding: 0;
    border-radius: 0;
    background: none;
}

#visit-video-trigger {
    height: auto;
    background: transparent;
}

#visit-video-trigger img {
    height: auto;
    object-fit: contain;
}

/* =========================================================
   VISITOR REGISTRATION RATES PAGE
   visitor-registration-rates.blade.php
========================================================= */

.vr-rates {
    padding: 56px 0 72px;
}

.vr-lead {
    max-width: 720px;
    margin: 0 auto 32px;
    text-align: center;
    color: #3a3a3a;
    font-size: 18px;
    line-height: 1.7;
}

.vr-table-wrap {
    overflow-x: auto;
    border: 1px solid #e6eee9;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(17, 157, 96, 0.08);
}

.vr-table {
    width: 100%;
    min-width: 920px;
    border-collapse: separate;
    border-spacing: 0;
}

.vr-table th,
.vr-table td {
    padding: 18px 20px;
    text-align: center;
    vertical-align: middle;
    border-bottom: 1px solid #eef3f0;
}

.vr-table thead th {
    background: #119d60 !important;
    color: #fff !important;
    font-weight: 700;
}

.vr-table thead th:first-child {
    border-top-left-radius: 18px;
}

.vr-table thead th:last-child {
    border-top-right-radius: 18px;
}

.vr-table thead span {
    display: block;
    font-size: 18px;
    line-height: 1.3;
}

.vr-table thead small {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    font-weight: 500;
    opacity: 0.92;
}

.vr-table tbody th {
    text-align: left;
    color: #1a1a1a !important;
    font-size: 16px;
    font-weight: 700;
    background: #fff !important;
    min-width: 280px;
}

.vr-table tbody td {
    color: #121212;
    font-size: 16px;
    background: #fff;
}

.vr-table tbody tr:nth-child(even) th,
.vr-table tbody tr:nth-child(even) td {
    background: #f3faf6 !important;
}

.vr-table tbody tr:last-child th,
.vr-table tbody tr:last-child td {
    border-bottom: 0;
}

.vr-table tbody tr.vr-note th {
    color: #f89939 !important;
    background: #fff8f1 !important;
}

.vr-table tbody tr.vr-note td {
    background: #fff8f1 !important;
    font-weight: 600;
    color: #1a1a1a;
}

.vr-register {
    display: flex;
    justify-content: center;
    margin-top: 36px;
}

@media (max-width: 767px) {
    .vr-rates {
        padding: 36px 0 48px;
    }

    .vr-lead {
        font-size: 16px;
        margin-bottom: 22px;
    }

    .vr-table th,
    .vr-table td {
        padding: 14px 12px;
    }

    .vr-table thead th:first-child,
    .vr-table tbody th {
        position: sticky;
        left: 0;
        z-index: 2;
        min-width: 168px;
        max-width: 180px;
        box-shadow: 6px 0 10px rgba(17, 157, 96, 0.06);
    }
}

/* =========================================================
   BRANDING OPPORTUNITIES PAGE
   branding-opportunities.blade.php
========================================================= */

.bo-page {
    padding: 56px 0 72px;
}

.bo-lead {
    max-width: 860px;
    margin: 0 auto 40px;
    text-align: center;
    color: #3a3a3a;
    font-size: 18px;
    line-height: 1.7;
}

.bo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.bo-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e6eee9;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(17, 157, 96, 0.08);
}

.bo-card img {
    width: 100%;
    height: 280px;
    object-fit: contain;
    object-position: top center;
    display: block;
    background: #f7faf8;
}

.bo-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 22px 22px 24px;
    text-align: center;
}

.bo-card h2 {
    margin: 0 0 10px;
    color: #1a1a1a;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 700;
}

.bo-card p {
    margin: 0 0 18px;
    color: #3a3a3a;
    font-size: 16px;
    line-height: 1.6;
}

.bo-card a {
    margin-top: auto;
    color: #119d60;
    font-weight: 700;
    text-decoration: none;
}

.bo-card a:hover {
    color: #f89939;
}

.bo-book {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.bo-tba {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 240px;
    padding: 48px 24px;
    text-align: center;
    background: #fff;
    border: 1px solid #e6eee9;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(17, 157, 96, 0.08);
}

.bo-tba h2 {
    margin: 0;
    color: #1a1a1a;
    font-size: 32px;
    line-height: 1.3;
    font-weight: 700;
}

@media (max-width: 991px) {
    .bo-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .bo-page {
        padding: 36px 0 48px;
    }

    .bo-lead {
        font-size: 16px;
        margin-bottom: 24px;
    }

    .bo-grid {
        grid-template-columns: 1fr;
    }
}

.sb-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    margin-bottom: 40px;
}

.sb-tab {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-width: 340px;
    min-height: 180px;
    padding: 28px 40px 32px;
    border: 0;
    border-radius: 24px;
    color: #fff;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 16px 34px rgba(16, 40, 24, 0.16);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.sb-tab i {
    width: 72px;
    height: 72px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
    font-size: 34px;
    line-height: 1;
}

.sb-tab-sponsor {
    background: linear-gradient(145deg, #ffb347 0%, #f89939 45%, #e36a12 100%);
}

.sb-tab-branding {
    background: linear-gradient(145deg, #3ecf86 0%, #119d60 48%, #0b6b42 100%);
}

.sb-tab:hover,
.sb-tab.is-active {
    color: #fff;
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(16, 40, 24, 0.22);
}

.sb-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
}

.sb-card {
    position: relative;
    display: flex;
    align-items: stretch;
    background: #fff;
    border: 1px solid rgba(17, 157, 96, 0.12);
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(16, 40, 24, 0.06);
    overflow: hidden;
}

.sb-media {
    position: relative;
    flex: 0 0 340px;
    min-height: 240px;
}

.sb-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sb-body {
    flex: 1;
    padding: 26px 28px 22px;
}

.sb-card-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.sb-no {
    flex: 0 0 auto;
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: linear-gradient(135deg, #119d60, #0e7a4a);
    color: #fff;
    font-size: 18px;
    font-weight: 800;
}

.sb-card h2 {
    margin: 0;
    color: #1a1a1a;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 800;
}

.sb-gst {
    margin: 0 0 16px;
    color: #5c6770;
    font-size: 14px;
    font-style: italic;
    text-align: right;
}

.sb-rates {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex: 0 0 auto;
}

.sb-rate-inr {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 999px;
    background: #fff4e8;
    color: #e36a12;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.sb-rate-fx {
    color: #5c6770;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.sb-rate-fx.is-na {
    font-style: italic;
}

.sb-note {
    margin: 4px 0 0;
    color: #6a6a6a;
    font-size: 13px;
    font-style: italic;
}

.sb-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sb-card li {
    position: relative;
    margin: 0 0 10px;
    padding-left: 16px;
    color: #3a3a3a;
    font-size: 15px;
    line-height: 1.55;
}

.sb-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #f89939;
}

.sb-card.is-sold {
    background: #f6f7f6;
}

.sb-card.is-sold .sb-body,
.sb-card.is-sold .sb-media img {
    opacity: 0.55;
}

.sb-card.is-sold .sb-no {
    background: #9aa39c;
}

.sb-sold {
    position: absolute;
    top: 11px;
    left: -36px;
    z-index: 2;
    width: 160px;
    padding: 7px 0;
    transform: rotate(-32deg);
    background: #d64545;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
}

@media (max-width: 767px) {
    .sb-card {
        flex-direction: column;
    }

    .sb-media {
        flex-basis: auto;
        height: 220px;
    }

    .sb-card-top {
        flex-wrap: wrap;
    }

    .sb-rates {
        width: 100%;
        margin-left: 0;
        align-items: flex-start;
    }

    .sb-gst {
        text-align: left;
    }
}

@media (max-width: 767px) {
    .sb-tab {
        width: 100%;
        min-width: 0;
    }
}

/* =========================================================
   SPONSORS PAGE
   sponsors.blade.php
   Same look as the home page sponsors section.
========================================================= */

.spn-sponsors.home-sponsors {
    position: relative;
    padding: 72px 0 90px;
    background: #f3ebe6;
    overflow: hidden;
}

.spn-sponsors .pi-section-title {
    margin-bottom: 36px;
}

.spn-sponsors .sponsor-tier + .sponsor-tier {
    margin-top: 72px;
}

.spn-sponsors .sponsor-heading {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 25px;
}

.spn-sponsors .sponsor-line {
    flex: 1;
    height: 1px;
    background: #c9cdd2;
}

.spn-sponsors .sponsor-title {
    color: #222;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    white-space: nowrap;
}

.spn-sponsors .sponsor-logos {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.spn-sponsors .sponsor-logo {
    min-height: 160px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #fff;
    border: 1px solid #e3e5e8;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.spn-sponsors .sponsor-logo:hover {
    transform: translateY(-5px);
    border-color: #d5d8dc;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.07);
}

.spn-sponsors .sponsor-logo-image {
    position: relative;
    width: 100%;
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.spn-sponsors .sponsor-logo-image img,
.spn-sponsors .sponsor-logo-image video {
    width: 100%;
    max-width: 210px;
    height: 100px;
    object-fit: contain;
    display: block;
}

.spn-sponsors .sponsor-logo-image img:nth-child(2) {
    position: relative;
    z-index: 1;
    opacity: 1;
    transform: none;
    filter: none;
    transition: all 500ms ease;
}

.spn-sponsors .sponsor-logo-image img:first-child {
    position: absolute;
    inset: 0;
    z-index: 2;
    margin: auto;
    opacity: 0;
    transform: translateY(50%) scaleY(2);
    filter: blur(10px);
    transition: all 500ms ease;
}

.spn-sponsors .sponsor-logo:hover .sponsor-logo-image img:first-child {
    opacity: 1;
    transform: none;
    filter: none;
}

.spn-sponsors .sponsor-logo:hover .sponsor-logo-image img:nth-child(2) {
    opacity: 0;
    transform: translateY(-50%) scaleY(2);
    filter: blur(10px);
}

.spn-sponsors .sponsor-logos-platinum .sponsor-logo-image img,
.spn-sponsors .sponsor-logos-gold .sponsor-logo-image img,
.spn-sponsors .sponsor-logos-gold .sponsor-logo-image video {
    max-width: 100%;
    height: 120px;
}

.spn-sponsors .sponsor-caption {
    color: #3a3a3a;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

@media (max-width: 991px) {
    .spn-sponsors .sponsor-logos {
        grid-template-columns: repeat(3, 1fr);
    }

    .spn-sponsors .sponsor-tier + .sponsor-tier {
        margin-top: 52px;
    }
}

@media (max-width: 575px) {
    .spn-sponsors.home-sponsors {
        padding: 48px 0 56px;
    }

    .spn-sponsors .sponsor-title {
        font-size: 12px;
        letter-spacing: 1.5px;
    }

    .spn-sponsors .sponsor-logos {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .spn-sponsors .sponsor-logo {
        min-height: 125px;
        padding: 14px;
    }
}

/* =========================================================
   MEDIA PARTNERS PAGE
   media-partners.blade.php
========================================================= */

.mp-partners {
    padding: 12px 0 30px;
}

.pw-il-heading {
    font-size: clamp(28px, 4vw, 42px) !important;
}

.mp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
}

.mp-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    padding: 28px;
    background: #fff;
    border: 1px solid #e6eee9;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(17, 157, 96, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.mp-card:hover {
    transform: translateY(-5px);
    border-color: #119d60;
    box-shadow: 0 16px 36px rgba(17, 157, 96, 0.14);
}

.mp-card img {
    width: auto;
    max-width: 100%;
    max-height: 130px;
    object-fit: contain;
    display: block;
}

@media (max-width: 767px) {
    .mp-partners {
        padding-bottom: 48px;
    }

    .mp-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   PLASTINDIA FOUNDATION PAGE
   foundation.blade.php
========================================================= */

.fd-block {
    padding: 64px 0;
}

.fd-block-alt {
    background: #f7faf8;
}

.fd-split {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 48px;
    align-items: center;
}

.fd-split-reverse {
    grid-template-columns: 1.1fr 0.9fr;
}

.fd-split-reverse .fd-photo {
    order: 2;
}

.fd-photo {
    position: relative;
    min-height: 460px;
    border-radius: 30px;
    overflow: hidden;
    background: #ddd;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.08);
}

.fd-photo img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1.1s cubic-bezier(.16, 1, .3, 1);
}

.fd-split:hover .fd-photo img,
.fd-photo-portrait:hover img {
    transform: scale(1.06);
}

.fd-photo-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.02) 30%, rgba(0, 0, 0, 0.5) 100%);
    pointer-events: none;
}

.fd-photo-num {
    position: absolute;
    left: 24px;
    bottom: 8px;
    z-index: 2;
    color: rgba(255, 255, 255, 0.9);
    font-size: 110px;
    line-height: 0.85;
    font-weight: 900;
    letter-spacing: -0.08em;
    transition: transform 0.6s cubic-bezier(.16, 1, .3, 1);
}

.fd-split:hover .fd-photo-num {
    transform: translateX(8px);
}

.fd-photo-portrait {
    min-height: 320px;
}

.fd-split h2,
.fd-president h2 {
    margin: 0 0 16px;
    color: #1a1a1a;
    font-size: clamp(32px, 3.4vw, 46px);
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.fd-split p,
.fd-split li {
    margin: 0;
    color: #3a3a3a;
    font-size: 17px;
    line-height: 1.7;
}

.fd-split ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.fd-split li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 12px;
}

.fd-split li:last-child {
    margin-bottom: 0;
}

.fd-split li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #119d60;
}

.fd-president {
    padding: 72px 0;
    background: #edf6f0;
}

.fd-president-grid {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 40px;
    align-items: start;
}

.fd-president-person .fd-photo {
    border-radius: 24px;
}

.fd-president-person h3 {
    margin: 16px 0 0;
    text-align: center;
    color: #1a1a1a;
    font-size: 18px;
    font-weight: 700;
}

.fd-letter {
    background: #fff;
    border-radius: 18px;
    padding: 32px 32px 28px;
    box-shadow: 0 10px 30px rgba(17, 157, 96, 0.08);
}

.fd-letter h3 {
    margin: 0 0 16px;
    color: #161613;
    font-size: 22px;
    font-weight: 700;
}

.fd-letter p {
    margin: 0 0 14px;
    color: #3e4047;
    font-size: 16px;
    line-height: 1.7;
}

.fd-sign {
    margin-bottom: 0;
    font-weight: 600;
    color: #1a1a1a;
}

.fd-links {
    padding: 64px 0 80px;
}

.fd-link-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.fd-link {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 28px;
    min-height: 260px;
    padding: 42px 36px;
    border-radius: 12px;
    text-align: center;
}

.fd-link-pink {
    background: #ca346b;
}

.fd-link-gold {
    background: #eaa82b;
}

.fd-link-teal {
    background: #1bc4c3;
}

.fd-link h2 {
    margin: 0;
    color: #fff;
    font-size: 24px;
    line-height: 1.35;
    font-weight: 600;
}

.fd-view {
    display: block;
    width: 100%;
    padding: 14px 16px;
    border-radius: 12px;
    background: #fff;
    color: #000;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.04em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.fd-view:hover {
    background: #119d60;
    color: #fff;
}

@media (max-width: 991px) {
    .fd-split,
    .fd-split-reverse,
    .fd-president-grid,
    .fd-link-grid {
        grid-template-columns: 1fr;
    }

    .fd-split-reverse .fd-photo {
        order: 0;
    }

    .fd-photo {
        min-height: 280px;
    }

    .fd-photo-num {
        font-size: 84px;
    }

    .fd-link-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 575px) {
    .fd-block,
    .fd-president,
    .fd-links {
        padding: 40px 0;
    }

    .fd-letter {
        padding: 22px 18px;
    }

    .fd-link-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   MANAGING COMMITTEE PAGE
   about-key-members.blade.php
========================================================= */

.km-intro {
    padding: 56px 0 10px;
    text-align: center;
}

.km-years {
    margin: 0 0 12px;
    color: #119d60;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.km-intro p:last-child {
    max-width: 820px;
    margin: 0 auto;
    color: #3a3a3a;
    font-size: 18px;
    line-height: 1.7;
}

.km-board {
    padding: 28px 0 72px;
}

.km-board .container {
    max-width: 1320px;
}

.km-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
    margin-bottom: 60px;
}

.km-card {
    width: 288px;
    padding: 16px 16px 20px;
    background: #fff;
    border: 1px solid #e6eee9;
    border-radius: 18px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(17, 157, 96, 0.08);
}

.km-card img {
    width: 100%;
    height: 330px;
    object-fit: contain;
    border-radius: 12px;
    background: #f7faf8;
    display: block;
    border: 1px solid #e6eee9;
}

.km-card h2 {
    margin: 14px 0 4px;
    color: #1a1a1a;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;
}

.km-card p {
    margin: 0;
    color: #119d60;
    font-size: 15px;
    font-weight: 600;
}

@media (max-width: 575px) {
    .km-intro {
        padding-top: 36px;
    }

    .km-card {
        width: 100%;
        max-width: 360px;
    }

    .km-card img {
        height: 400px;
    }
}

/* =========================================================
   NEC CHAIRMAN MESSAGE
   nec-chairman.blade.php
========================================================= */

.nc-wrap {
    padding: 64px 0 84px;
    background: #f6f8f7;
}

.nc-layout {
    display: grid;
    grid-template-columns: 420px minmax(0, 1fr);
    gap: 36px;
    align-items: start;
}

.nc-portrait {
    position: sticky;
    top: 110px;
}

.nc-portrait img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 28px;
    box-shadow: 0 18px 44px rgba(17, 157, 96, 0.18);
}

.nc-letter {
    background: #fff;
    border: 1px solid #e6eee9;
    border-radius: 28px;
    padding: 42px 48px 48px;
    box-shadow: 0 12px 32px rgba(17, 157, 96, 0.06);
}

.nc-letter p.nc-lead {
    margin: 0 0 22px;
    color: #119d60;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.35;
}

.nc-letter h2 {
    margin: 34px 0 12px;
    color: #1a1a1a;
    font-size: 22px;
    line-height: 1.35;
    font-weight: 700;
}

.nc-letter p,
.nc-letter blockquote {
    margin: 0 0 16px;
    color: #3a3a3a;
    font-size: 17px;
    line-height: 1.75;
}

.nc-letter blockquote {
    padding: 18px 22px;
    border-left: 4px solid #f89939;
    background: #fff8f1;
    border-radius: 0 16px 16px 0;
    color: #1a1a1a;
    font-weight: 600;
}

.nc-letter p.nc-close {
    margin-top: 8px;
    color: #119d60;
    font-size: 18px;
    font-weight: 700;
}

.nc-details {
    margin-top: 28px;
    padding: 8px 24px 18px;
    background: #f7faf8;
    border-radius: 18px;
}

.nc-details h2 {
    margin-top: 18px;
}

.nc-details ul {
    margin: 0;
    padding: 0 0 8px;
    list-style: none;
}

.nc-details li {
    position: relative;
    padding: 8px 0 8px 18px;
    color: #1a1a1a;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
}

.nc-details li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 15px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #119d60;
}

.nc-letter .nc-list {
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

.nc-letter .nc-list li {
    position: relative;
    padding: 6px 0 6px 18px;
    color: #1a1a1a;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
}

.nc-letter .nc-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 13px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #119d60;
}

@media (max-width: 991px) {
    .nc-wrap {
        padding: 36px 0 56px;
    }

    .nc-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .nc-portrait {
        position: static;
        max-width: 420px;
        margin: 0 auto;
    }

    .nc-letter {
        padding: 28px 22px 32px;
    }

    .nc-letter p.nc-lead {
        font-size: 22px;
    }
}

/* =========================================================
   NEC COMMITTEE PAGE
   nec.blade.php
   Photo cards reuse the Managing Committee .km-card styles.
========================================================= */

.km-card-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 132px;
    padding: 28px 20px;
}

.km-card-text h2 {
    margin-top: 0;
}

/* =========================================================
   SECRETARIAT PAGE
   secretariat.blade.php
   Cards reuse the Managing Committee .km-card styles.
========================================================= */

.km-card a.km-mail {
    display: inline-block;
    margin-top: 8px;
    color: #3a3a3a;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    word-break: break-word;
}

.km-card a.km-mail:hover {
    color: #119d60;
}

/* =========================================================
   PIF COMMITTEES PAGE
   about-committee.blade.php
========================================================= */

.cm-board {
    padding: 12px 0 84px;
}

.cm-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}

.cm-card {
    display: flex;
    flex-direction: column;
    min-height: 300px;
    padding: 28px 26px 24px;
    background: linear-gradient(155deg, #ffffff 0%, #d8f6e8 55%, #7ed9ae 100%);
    border: none;
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(17, 157, 96, 0.12);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cm-card:nth-child(2) {
    background: linear-gradient(155deg, #fffaf5 0%, #ffe0bf 52%, #f89939 100%);
    box-shadow: 0 12px 30px rgba(248, 153, 57, 0.16);
}

.cm-card:nth-child(3) {
    background: linear-gradient(155deg, #119d60 0%, #3cba78 46%, #f89939 100%);
    box-shadow: 0 12px 30px rgba(17, 157, 96, 0.18);
}

.cm-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 36px rgba(17, 157, 96, 0.18);
}

.cm-card:nth-child(3) .cm-index,
.cm-card:nth-child(3) h2,
.cm-card:nth-child(3) li strong {
    color: #fff;
}

.cm-card:nth-child(3) li span {
    color: #fff4e6;
}

.cm-card:nth-child(3) li {
    border-top-color: rgba(255, 255, 255, 0.35);
}

.cm-index {
    margin-bottom: 16px;
    color: #f89939;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.16em;
}

.cm-card h2 {
    margin: 0 0 24px;
    color: #1a1a1a;
    font-size: 22px;
    line-height: 1.35;
    font-weight: 700;
}

.cm-card ul {
    margin: auto 0 0;
    padding: 0;
    list-style: none;
}

.cm-card li {
    padding: 14px 0;
    border-top: 1px solid #e6eee9;
}

.cm-card li strong {
    display: block;
    color: #1a1a1a;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}

.cm-card li span {
    display: block;
    margin-top: 3px;
    color: #119d60;
    font-size: 14px;
    font-weight: 600;
}

@media (max-width: 991px) {
    .cm-board {
        padding-bottom: 56px;
    }

    .cm-grid {
        grid-template-columns: 1fr;
    }

    .cm-card {
        min-height: 0;
    }
}

/* =========================================================
   MEMBERS OF PLASTINDIA FOUNDATION
   about-members-association.blade.php
========================================================= */

.pifm-board {
    padding: 8px 0 80px;
}

.pifm-board .container {
    max-width: 1280px;
}

.pifm-block {
    margin-bottom: 18px;
    padding: 36px 28px 32px;
    border-radius: 28px;
    background: linear-gradient(160deg, #f3fff8 0%, #d8f6e8 100%);
}

.pifm-block-orange {
    background: linear-gradient(160deg, #fff8f1 0%, #ffe4c8 100%);
}

.pifm-block-mix {
    background: linear-gradient(160deg, #e9fff5 0%, #ffe7cf 100%);
}

.pifm-title {
    margin: 0 0 26px;
    text-align: center;
}

.pifm-title span {
    display: inline-block;
    padding: 10px 22px;
    border-radius: 999px;
    background: linear-gradient(135deg, #119d60, #3cba78);
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.pifm-block-orange .pifm-title span {
    background: linear-gradient(135deg, #f89939, #e07a12);
}

.pifm-block-mix .pifm-title span {
    background: linear-gradient(135deg, #119d60, #f89939);
}

.pifm-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.pifm-card {
    display: flex;
    flex: 0 0 calc((100% - 60px) / 4);
    flex-direction: column;
    width: calc((100% - 60px) / 4);
    min-width: 0;
    min-height: 420px;
    padding: 16px 16px 22px;
    background: #fff;
    border-radius: 20px;
    text-decoration: none;
    box-shadow: 0 10px 26px rgba(17, 157, 96, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pifm-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 32px rgba(17, 157, 96, 0.16);
    color: inherit;
}

.pifm-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 220px;
    padding: 18px;
    border-radius: 14px;
    background: linear-gradient(160deg, #f7fffb, #e5f8ef);
}

.pifm-block-orange .pifm-logo {
    background: linear-gradient(160deg, #fffaf6, #fff0e2);
}

.pifm-block-mix .pifm-logo {
    background: linear-gradient(160deg, #f7fffb, #fff4ea);
}

.pifm-logo img {
    width: 180px;
    height: 150px;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
}

.pifm-card h3 {
    margin: 16px 0 6px;
    color: #1a1a1a;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
}

.pifm-card p {
    margin: 0;
    color: #3a3a3a;
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
}

@media (max-width: 991px) {
    .pifm-card {
        flex: 0 0 calc((100% - 20px) / 2);
        width: calc((100% - 20px) / 2);
        min-height: 400px;
    }
}

@media (max-width: 575px) {
    .pifm-block {
        padding: 28px 16px 24px;
    }

    .pifm-card {
        flex: 0 0 100%;
        width: 100%;
        min-height: 0;
    }

    .pifm-logo {
        height: 200px;
    }

    .pifm-logo img {
        width: 180px;
        height: 150px;
    }
}

/* =========================================================
   PAST OFFICE BEARERS
   about-past-office-bearers.blade.php
   Photo cards reuse the Managing Committee .km-card styles.
========================================================= */

.pob-banner {
    padding: 8px 28px 4px;
}

.pob-banner img {
    display: block;
    width: 70%;
    height: auto;
    margin: 0 auto;
    border-radius: 18px;
}

.pob-group {
    margin-bottom: 28px;
}

.pob-year {
    margin: 8px 0 26px;
    text-align: center;
}

.pob-year span {
    display: inline-block;
    padding: 14px 48px;
    border-radius: 999px;
    background: linear-gradient(135deg, #119d60, #3cba78);
    color: #fff;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1.1;
}

.pob-group:nth-child(even) .pob-year span {
    background: linear-gradient(135deg, #f89939, #e07a12);
}

.km-board:has(.pob-group) .container {
    max-width: 1440px;
}

.pob-group .km-row {
    gap: 28px;
}

.pob-group .km-card {
    width: calc((100% - 56px) / 3 * 0.7);
    max-width: 308px;
}

.pob-group .km-card img {
    height: auto;
    aspect-ratio: 3 / 3.7;
}

@media (max-width: 767px) {
    .pob-banner {
        padding: 8px 12px 0;
    }

    .pob-year span {
        padding: 10px 28px;
        font-size: 26px;
    }

    .pob-group .km-card {
        width: 70%;
        max-width: 294px;
    }

    .pob-group .km-card img {
        height: 322px;
        aspect-ratio: auto;
    }
}

/* =========================================================
   PLASTIC INDUSTRY STATUS REPORT
   publications-industries-status.blade.php
========================================================= */

.isr-wrap {
    padding: 36px 0 72px;
}

.isr-viewer {
    width: min(1100px, 92%);
    margin: 0 auto;
}

.isr-frame {
    height: 72vh;
    min-height: 520px;
    overflow: hidden;
    border: 1px solid #e6eee9;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(17, 157, 96, 0.1);
}

.isr-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.isr-actions {
    margin-top: 22px;
    text-align: center;
}

@media (max-width: 767px) {
    .isr-frame {
        height: 62vh;
        min-height: 420px;
    }
}

/* =========================================================
   INSIGHTS
   publications-insights.blade.php
   Magazine covers come from the magazines API.
========================================================= */

.ins-about {
    padding: 4px 0 12px;
}

.ins-about p {
    max-width: 920px;
    margin: 0 auto 28px;
    color: #3a3a3a;
    font-size: 18px;
    line-height: 1.75;
    text-align: center;
}

.ins-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.ins-btn-orange {
    background: #f89939;
}

.ins-btn-orange:hover {
    background: #119d60;
}

.ins-board {
    padding: 36px 0 72px;
}

.ins-board .container {
    max-width: 1320px;
}

.ins-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
}

.ins-card {
    flex: 0 0 calc((100% - 72px) / 4);
    width: calc((100% - 72px) / 4);
    padding: 14px 14px 18px;
    background: #fff;
    border: 1px solid #e6eee9;
    border-radius: 18px;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 10px 30px rgba(17, 157, 96, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ins-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(248, 153, 57, 0.18);
}

.ins-card img {
    display: block;
    width: 100%;
    height: 380px;
    object-fit: contain;
    border-radius: 12px;
    background: #f7faf8;
}

.ins-card h2 {
    margin: 14px 0 0;
    color: #1a1a1a;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 700;
}

.ins-empty {
    width: 100%;
    margin: 0;
    color: #3a3a3a;
    font-size: 18px;
    text-align: center;
}

@media (max-width: 991px) {
    .ins-card {
        flex: 0 0 calc((100% - 24px) / 2);
        width: calc((100% - 24px) / 2);
    }
}

@media (max-width: 575px) {
    .ins-actions {
        flex-direction: column;
        align-items: center;
    }

    .ins-actions .ex-btn {
        width: min(280px, 100%);
        justify-content: center;
    }

    .ins-card {
        flex: 0 0 100%;
        width: 100%;
        max-width: 360px;
    }
}

/* =========================================================
   PLASTIC RECYCLING HANDBOOK
   plastic-recycling-handbook.blade.php
========================================================= */

.prh {
    padding: 28px 0 80px;
}

.prh .container {
    max-width: 1140px;
}

.prh-banner {
    margin: 0 0 48px;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: 0 16px 36px rgba(26, 26, 26, 0.1);
}

.prh-banner img {
    display: block;
    width: 100%;
    height: auto;
}

.prh-row {
    display: flex;
    align-items: center;
    gap: 56px;
}

.prh-cover {
    position: relative;
    flex: 0 0 42%;
    max-width: 42%;
    padding: 28px 18px 22px 28px;
    text-decoration: none;
}

.prh-shape {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 72%;
    height: 78%;
    border-radius: 28px;
    background: linear-gradient(145deg, #119d60, #3cba78);
}

.prh-dot {
    position: absolute;
    z-index: 0;
    right: 6%;
    bottom: 0;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: #f89939;
}

.prh-cover img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 36px rgba(26, 26, 26, 0.14);
    transition: transform 0.25s ease;
}

.prh-cover:hover img {
    transform: translateY(-6px);
}

.prh-copy {
    flex: 1;
    min-width: 0;
}

.prh-kicker {
    margin: 0 0 8px;
    color: #119d60;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.prh-copy h2 {
    margin: 0 0 14px;
    color: #1a1a1a;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
}

.prh-copy p:last-of-type {
    margin: 0 0 22px;
    color: #3a3a3a;
    font-size: 17px;
    line-height: 1.7;
}

@media (max-width: 991px) {
    .prh-row {
        flex-direction: column;
        gap: 22px;
    }

    .prh-cover {
        flex: none;
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
        padding: 22px 16px 16px;
    }

    .prh-copy h2 {
        font-size: 28px;
    }
}

/* =========================================================
   BLOGS
   blogs.blade.php
========================================================= */

.blg-board {
    padding: 56px 0 80px;
}

.blg-board .container,
.blg-empty .container {
    max-width: 1140px;
}

.blg-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.blg-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: #fff;
    border: 1px solid #e6eee9;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 10px 30px rgba(17, 157, 96, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.blg-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(248, 153, 57, 0.18);
}

.blg-media {
    height: 220px;
    background: #f7faf8;
}

.blg-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blg-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px 18px 22px;
}

.blg-date {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    color: #119d60;
    font-size: 14px;
    font-weight: 700;
}

.blg-body h2 {
    margin: 0 0 10px;
    color: #1a1a1a;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
}

.blg-body p:last-child {
    margin: 0;
    color: #3a3a3a;
    font-size: 16px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blg-empty {
    padding: 72px 0 90px;
    text-align: center;
}

.blg-empty h2 {
    margin: 0 0 16px;
    color: #1a1a1a;
    font-size: 32px;
    line-height: 1.25;
    font-weight: 700;
}

.blg-empty p {
    max-width: 720px;
    margin: 0 auto 22px;
    color: #3a3a3a;
    font-size: 18px;
    line-height: 1.7;
}

.blg-empty a {
    color: #119d60;
    font-weight: 700;
}

.blg-empty .ex-btn {
    color: #fff;
}

@media (max-width: 991px) {
    .blg-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .blg-grid {
        grid-template-columns: 1fr;
    }

    .blg-empty h2 {
        font-size: 26px;
    }
}

/* =========================================================
   NEWS AND EVENTS
   news-and-events.blade.php
========================================================= */

.ne-lead {
    padding: 56px 0 8px;
    text-align: center;
}

.ne-lead h2 {
    margin: 0 0 12px;
    color: #1a1a1a;
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.2;
    font-weight: 800;
}

.ne-lead p {
    max-width: 760px;
    margin: 0 auto;
    color: #3a3a3a;
    font-size: 18px;
    line-height: 1.7;
}

.ne-board {
    padding: 28px 0 80px;
}

.ne-board .container {
    max-width: 1140px;
}

.ne-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 36px;
}

.ne-tab {
    margin: 0;
    padding: 12px 18px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #b7c0ce 0%, #6d7888 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(16, 40, 24, 0.14);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.ne-tab:hover {
    color: #fff;
    transform: translateY(-2px);
}

.ne-tab.is-active {
    color: #fff;
    background: linear-gradient(135deg, #3ecf86 0%, #119d60 55%, #0b6b42 100%);
    box-shadow: 0 0 0 3px #fff, 0 0 0 5px #119d60, 0 12px 24px rgba(16, 40, 24, 0.2);
}

.ne-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.ne-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    background: #fff;
    border: 1px solid #e6eee9;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 10px 30px rgba(17, 157, 96, 0.08);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ne-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(248, 153, 57, 0.18);
}

.ne-media {
    height: 220px;
    background: #f7faf8;
}

.ne-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ne-card-ig .ne-media {
    position: relative;
    height: 280px;
}

.ne-ig-play {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 52px;
    height: 52px;
    margin: -26px 0 0 -26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    font-size: 16px;
}

.ne-ig-play i {
    margin-left: 3px;
}

.ne-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 18px 18px 22px;
}

.ne-date {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    color: #119d60;
    font-size: 14px;
    font-weight: 700;
}

.ne-body h3 {
    margin: 0 0 10px;
    color: #1a1a1a;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
}

.ne-body p:last-child {
    margin: 0;
    color: #3a3a3a;
    font-size: 16px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ne-body .ne-date {
    display: flex;
    -webkit-line-clamp: unset;
    overflow: visible;
}

.ne-action {
    margin-top: 14px;
    color: #119d60;
    font-size: 15px;
    font-weight: 700;
}

.ne-more {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

.ne-board .prase-heading {
    color: #1a1a1a;
    font-size: 28px;
    font-weight: 800;
}

.ne-board .btn-success {
    background: #119d60;
    border: none;
    border-radius: 8px;
    font-weight: 700;
}

@media (max-width: 991px) {
    .ne-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .ne-grid {
        grid-template-columns: 1fr;
    }

    .ne-lead {
        padding-top: 36px;
    }

    .ne-tab {
        width: 100%;
        text-align: center;
    }
}

/* =========================================================
   IMPACT OF PLASTICS
   impact-of-plastics.blade.php
   Stories come from the impact-plastics API.
========================================================= */

.imp-list {
    padding: 12px 0 72px;
}

.imp-list .container {
    max-width: 1140px;
}

.imp-row {
    display: flex;
    align-items: center;
    gap: 56px;
    margin-bottom: 78px;
}

.imp-row-reverse {
    flex-direction: row-reverse;
}

.imp-visual {
    position: relative;
    flex: 0 0 48%;
    max-width: 48%;
    padding: 26px 8px 18px 30px;
}

.imp-row-reverse .imp-visual {
    padding: 26px 30px 18px 8px;
}

.imp-shape {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 72%;
    height: 78%;
    border-radius: 28px;
    background: linear-gradient(145deg, #119d60, #3cba78);
}

.imp-row-reverse .imp-shape {
    left: auto;
    right: 0;
}

.imp-row:nth-child(even) .imp-shape {
    background: linear-gradient(145deg, #f89939, #e07a12);
}

.imp-dot {
    position: absolute;
    z-index: 0;
    right: 4%;
    bottom: 0;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: #f89939;
}

.imp-row-reverse .imp-dot {
    right: auto;
    left: 4%;
}

.imp-row:nth-child(even) .imp-dot {
    background: #119d60;
}

.imp-visual img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 360px;
    object-fit: cover;
    border-radius: 22px;
    box-shadow: 0 16px 36px rgba(26, 26, 26, 0.14);
}

.imp-copy {
    flex: 1;
    min-width: 0;
}

.imp-kicker:empty {
    display: none;
}

.imp-kicker {
    margin: 0 0 8px;
    color: #119d60;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.imp-row:nth-child(even) .imp-kicker {
    color: #e07a12;
}

.imp-copy h2 {
    margin: 0 0 14px;
    color: #1a1a1a;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
}

.imp-text {
    margin: 0 0 22px;
    color: #3a3a3a;
    font-size: 17px;
    line-height: 1.7;
}

@media (max-width: 991px) {
    .imp-row,
    .imp-row-reverse {
        flex-direction: column;
        gap: 22px;
        margin-bottom: 48px;
    }

    .imp-visual,
    .imp-row-reverse .imp-visual {
        flex: none;
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
        padding: 22px 16px 16px;
    }

    .imp-visual img {
        height: 260px;
    }

    .imp-copy h2 {
        font-size: 28px;
    }
}

@media (min-width: 992px) {

.main-navigation .nav-item.dropdown {
position: relative;
}

.main-navigation .nav-item.dropdown:last-child .dropdown-menu {
    left: auto;
    right: 0;
}

/* Invisible hover bridge */
.main-navigation .nav-item.dropdown::after {
content: "";
position: absolute;
top: 100%;
left: 0;
width: 100%;
height: 12px; /* gap */
background: transparent;
z-index: 999;
}

/* Dropdown */
.main-navigation .dropdown-menu {
    position: absolute;

    top: calc(100% + 12px);
    left: 0;

    margin: 0 !important;

    min-width: 200px;
    padding: 0 8px;

    border: 0;
    border-radius: 0px 0px 14px 14px;
    background: #fff;

    max-height: 0;
    overflow: hidden;

    opacity: 0;
    visibility: hidden;

    transform: translateY(-5px);

    transition:
        max-height 350ms ease,
        opacity 250ms ease,
        transform 350ms ease,
        padding 350ms ease,
        visibility 0s linear 350ms;

    pointer-events: none;
}

@media (min-width: 992px) {
    .main-navigation .dropdown-menu {
        display: block;
    }

    .main-navigation .nav-item.dropdown:hover > .dropdown-menu,
    .main-navigation .nav-item.dropdown:focus-within > .dropdown-menu {
        max-height: 500px;

        opacity: 1;
        visibility: visible;

        transform: translateY(0);

        padding-top: 8px;
        padding-bottom: 8px;

        pointer-events: auto;

        box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);

        transition:
            max-height 350ms ease,
            opacity 250ms ease,
            transform 350ms ease,
            padding 350ms ease,
            visibility 0s;
    }
}
}

.main-navigation .dropdown-item {
    color: #000;
    background: transparent;
    padding: 7px 13px;
    border-radius: 5px;
    font-size: 15px;
    font-weight: 600;
    transition: 0.05s ease-in-out;
}

.main-navigation .dropdown-item:hover {
    color: #fff;
    background: linear-gradient(
        90deg,
        #f26222,
        #146d37,
        #f26222
    );
    background-size: 200% 100%;
    cursor: pointer;
    animation: menuGradient 2s linear infinite;
}

@keyframes menuGradient {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 200% 50%;
    }
}


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

.header-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-left: 0px;
}

.header-action-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    color: #fff;
    text-decoration: none;
    font-size: 21px;
}

.cart-count {
    position: absolute;
    top: -7px;
    right: -7px;

    width: 18px;
    height: 18px;

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

    background: #fff;
    color: #222;
    border-radius: 50%;

    font-size: 11px;
    font-weight: 700;
}

.btn-ticket {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 13px 24px;

    background: #ca346b;
    color: #fff;

    border: 0;
    border-radius: 8px;

    font-size: 14px;
    font-weight: 700;
    text-decoration: none;

    transition: 0.25s ease;
}

.btn-ticket:hover {
    color: #fff;
    background: #d92d90;
    transform: translateY(-1px);
}


/* =========================
    HERO DEMO
========================= */

.hero {
    min-height: 100vh;

    background:
        linear-gradient(
            90deg,
            rgba(25, 8, 55, 0.35),
            rgba(15, 45, 70, 0.15)
        ),
        url("/assets/images/pi28/hero-banner.jpg") center center / cover no-repeat;

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

    color: #fff;
}

.hero-content {
    text-align: center;
    padding-top: 120px;
}

.hero-content h1 {
    font-size: 60px;
    margin: 0;
}

.login-dropdown {
    min-width: 210px;
    margin-top: 27px !important;
    padding: 8px;
    border: 0;
    border-radius: 0;
    background: #fff;
    /* box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25); */
}

.login-dropdown .dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 10px 12px;

    color: #000;
    font-size: 16px;
    font-weight: 600;

    border-radius: 6px;
}

.login-dropdown .dropdown-item i {
    font-size: 16px;
    display: none;
}

.login-dropdown .dropdown-item:hover,
.login-dropdown .dropdown-item:focus {
    color: #119d60;
    background: transparent;
}

.btn-ticket.dropdown-toggle::after {
    display: none;
}

.btn-ticket .bi-chevron-down {
    font-size: 12px;
    transition: transform 0.2s ease;
}

.btn-ticket[aria-expanded="true"] .bi-chevron-down {
    transform: rotate(180deg);
}

/* =========================================
   TOP SECTION
========================================= */

.pi-top-section {
    min-height: 220px;
    background: #fff;
}

.pi-section-title {
    font-size: clamp(34px, 5vw, 45px);
    font-weight: 800;
    line-height: 125%;
    text-transform: capitalize;
    color: #141418;
    margin-bottom: 30px;
}

.pi-section-title {
    opacity: 1;
}

.pi-section-title .line {
    overflow: hidden;
}

.home-vbhead {
    margin-bottom: 0px !important;
}

.pi-abt-home-txt {
    padding: 0 0 0 20px;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.viksit-bharat-img {
    margin-top: 2px;
    margin-bottom: 15px;
}

/* =========================================
   ABOUT PLASTINDIA
========================================= */
.pi-about-home {
    position: relative;
    margin-top: 0;
    padding: 140px 0 100px;
    background: #fff;
}

.pi-about-home .container {
    position: relative;
    z-index: 1;
}

.piabout {
    overflow: hidden;
    width: 100%;
    height: 230px;
    position: absolute;
    top: 0;
    left: 0;
}

.qlbtn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    /* background: #f8f4f1; */
    padding: 0px 10px;
    margin: 0 0 70px 0;
    border-radius: 20px;
}

.pi-about-home .highlight-orbit-right {
    right: -280px;
    top: -280px;
}



/* =========================================
   HIGHLIGHT SECTION
========================================= */

/* .pi-highlight {
    position: relative;
    margin-top: 0;
    padding: 80px 0 80px;
    background: linear-gradient(
        135deg,
        #4730ff 0%,
        #5530ff 50%,
        #4b2cff 100%
    );
    background: #25235c;
} */

/* =========================================================
   PLASTINDIA HIGHLIGHTS
========================================================= */

.pi-highlights {
    position: sticky;
    top: 0;
    overflow: hidden;

    padding: 75px 0 80px;

    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(55, 50, 120, 0.65),
            transparent 45%
        ),
        #25235c;

    color: #fff;
}

.is-relative {
    position: relative;
}


/* =========================================================
   BACKGROUND
========================================================= */

.pi-highlight-bg {
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(255,255,255,0.015) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,0.015) 1px,
            transparent 1px
        );

    background-size: 60px 60px;

    opacity: .35;

    pointer-events: none;
}


.pi-highlight-glow {
    position: absolute;

    width: 420px;
    height: 420px;

    border-radius: 50%;

    filter: blur(100px);

    opacity: .10;

    pointer-events: none;
}

.highlight-glow-1 {
    left: -250px;
    top: 15%;

    background: #f49a27;
}

.highlight-glow-2 {
    right: -250px;
    bottom: 5%;

    background: #00a982;
}



/* =========================================================
   HEADING
========================================================= */

.pi-highlight-heading {
    position: relative;
    z-index: 5;

    max-width: 760px;

    margin: 0 auto 42px;

    text-align: center;
}


.pi-highlight-kicker {
    display: inline-flex;

    align-items: center;

    gap: 10px;

    margin-bottom: 14px;

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

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 2.5px;
    text-transform: uppercase;
}


.pi-highlight-kicker span {
    display: block;

    width: 25px;
    height: 1px;

    background: rgba(255,255,255,.35);
}


.pi-highlight-heading h2 {
    margin: 0;
    font-size: clamp(34px, 5vw, 45px);
    font-weight: 800;
    color: #fff;
}


.pi-highlight-heading h2 .green {
    color: #18a66d;
}


.pi-highlight-heading h2 .orange {
    margin-left: 5px;

    color: #f49a27;
}


.pi-highlight-heading h2 small {
    display: block;

    margin-top: 10px;

    color: #fff;

    font-size: .40em;

    font-weight: 400;

    letter-spacing: 4px;

    text-transform: uppercase;
}


.pi-highlight-heading p {
    max-width: 700px;
    margin: 16px auto 0;
    color: rgba(255,255,255,1);
    font-size: 16px;
    line-height: 1.6;
}



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

.pi-highlight-layout {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns:
        minmax(220px, 1fr)
        530px
        minmax(220px, 1fr);
    gap: 50px;
    align-items: center;
    margin-top: 50px;
}



/* =========================================================
   SIDE CARDS
========================================================= */

.pi-highlight-side {
    display: flex;
    flex-direction: column;
    gap: 40px;
}


.pi-highlight-left {
    align-items: flex-end;
}


.pi-highlight-right {
    align-items: flex-start;
}



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

.pi-highlight-card {
    position: relative;
    width: 100%;
    max-width: 285px;
    height: auto;
    padding: 20px 20px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.085),
            rgba(255,255,255,.025)
        );
    box-shadow: 0 12px 30px rgba(0,0,0,.10);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition:
        transform .35s cubic-bezier(.22,1,.36,1),
        border-color .35s ease,
        background .35s ease;
}


.pi-highlight-card:hover {
    border-color: rgba(244,154,39,.50);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.12),
            rgba(255,255,255,.04)
        );

    transform: translateY(-4px);
}



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

.card-01 {
    transform: translateX(18px);
}

.card-02 {
    transform: translateX(-10px);
}

.card-03 {
    transform: translateX(18px);
}

.card-04 {
    transform: translateX(-18px);
}

.card-05 {
    transform: translateX(10px);
}

.card-06 {
    transform: translateX(-18px);
}


/* Hover should preserve positioning */

.card-01:hover,
.card-03:hover {
    transform: translateX(18px) translateY(-4px);
}

.card-02:hover {
    transform: translateX(-10px) translateY(-4px);
}

.card-04:hover,
.card-06:hover {
    transform: translateX(-18px) translateY(-4px);
}

.card-05:hover {
    transform: translateX(10px) translateY(-4px);
}



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

.pi-highlight-card-inner {
    position: relative;
    z-index: 2;
}



/* =========================================================
   ICON + HEADING
========================================================= */

.pi-highlight-card-top {
    display: flex;

    align-items: center;

    gap: 10px;
}


.pi-highlight-icon {
    flex: 0 0 auto;

    width: 34px;
    height: 34px;

    display: flex;

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

    border-radius: 8px;

    color: #fff;

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

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

    font-size: 13px;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}


.pi-highlight-card:hover .pi-highlight-icon {
    color: #25235c;

    background: #f49a27;

    transform: rotate(5deg);
}


.pi-highlight-card-top h4,
.pi-highlight-card-top .stat-label {
flex: 1;
    margin: 0;
    color: #fff;
    font-size: 15px;
    line-height: 1.15;
    font-weight: 600;
}

.pi-highlight-card-top h3,
.pi-highlight-card-top .stat-value {
    margin: 0;
    font-size: 2.2rem;
    font-weight: 800;
}



/* =========================================================
   NUMBER
========================================================= */

.pi-highlight-card-content {
    margin-top: 10px;

    padding-left: 44px;
}


.pi-highlight-card-content h3,
.pi-highlight-card-top .stat-value {
    margin: 0;

    color: #fff;

    font-size: 29px;

    line-height: 1;

    font-weight: 800;

    letter-spacing: -1px;
}


.pi-highlight-card-content h3 sup,
.pi-highlight-card-top .stat-value sup {
    position: relative;
    top: -5px;
    margin-left: 5px;
    color: #f49a27;
    font-size: 21px;
    font-weight: 700;
}

.eventHeroSwiper .swiper-pagination {
    display: none !important;
}

/* =========================================================
   CENTER GALLERY
========================================================= */

.pi-highlight-gallery {
    position: relative;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 9px;

    width: 100%;

    height: 480px;

    overflow: hidden;

    mask-image:
        linear-gradient(
            to bottom,
            transparent,
            black 7%,
            black 93%,
            transparent
        );

    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent,
            black 7%,
            black 93%,
            transparent
        );
}


.pi-gallery-column {
    position: relative;

    height: 100%;

    overflow: hidden;
}


.pi-gallery-track {
    display: flex;

    flex-direction: column;

    gap: 9px;

    will-change: transform;
}



/* =========================================================
   GALLERY IMAGES
========================================================= */

.pi-gallery-item {
    position: relative;

    flex: 0 0 auto;

    width: 100%;

    height: 140px;

    overflow: hidden;

    border-radius: 8px;

    background: #181743;
}


.pi-gallery-item:nth-child(2n) {
    height: 180px;
}


.pi-gallery-item img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    filter: saturate(.9);

    transition:
        transform .6s ease,
        filter .4s ease;
}


.pi-gallery-item:hover img {
    transform: scale(1.06);

    filter: saturate(1.1);
}



/* =========================================================
   GALLERY FADE
========================================================= */

.pi-highlight-gallery::before,
.pi-highlight-gallery::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;

    height: 70px;

    z-index: 5;

    pointer-events: none;
}


.pi-highlight-gallery::before {
    top: 0;

    background:
        linear-gradient(
            to bottom,
            #25235c,
            transparent
        );
}


.pi-highlight-gallery::after {
    bottom: 0;

    background:
        linear-gradient(
            to top,
            #25235c,
            transparent
        );
}



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

@media (max-width: 1199px) {

    .pi-highlight-layout {
        grid-template-columns:
            minmax(200px, 1fr)
            290px
            minmax(200px, 1fr);

        gap: 20px;
    }

    .pi-highlight-card {
        max-width: 260px;
    }

    .pi-highlight-card-top h4 {
        font-size: 13px;
    }

    .pi-highlight-card-content h3 {
        font-size: 27px;
    }

    .pi-highlight-gallery {
        height: 450px;
    }

}



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

@media (max-width: 991px) {

    .pi-highlights {
        padding: 65px 0 70px;
    }

    .pi-highlight-heading {
        margin-bottom: 35px;
    }

    .pi-highlight-layout {
        display: flex;

        flex-direction: column;

        gap: 25px;
    }


    /* Gallery */

    .pi-highlight-gallery {
        order: 1;

        width: 100%;

        max-width: 450px;

        height: 430px;
    }


    /* Left Cards */

    .pi-highlight-left {
        order: 2;
    }


    /* Right Cards */

    .pi-highlight-right {
        order: 3;
    }


    .pi-highlight-side {
        width: 100%;

        display: grid;

        grid-template-columns: repeat(2, 1fr);

        gap: 12px;

        align-items: stretch;
    }


    .pi-highlight-card {
        max-width: none;

        transform: none !important;
    }

}



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

@media (max-width: 575px) {

    .pi-highlights {
        padding: 55px 0 60px;
    }


    .pi-highlight-heading {
        margin-bottom: 30px;
    }


    .pi-highlight-heading h2 {
        font-size: 38px;

        letter-spacing: -2px;
    }


    .pi-highlight-heading h2 small {
        font-size: 12px;

        letter-spacing: 2.5px;
    }


    .pi-highlight-heading p {
        font-size: 11px;

        padding: 0 15px;
    }


    .pi-highlight-gallery {
        height: 380px;

        gap: 7px;
    }


    .pi-gallery-track {
        gap: 7px;
    }


    .pi-gallery-item {
        height: 110px;

        border-radius: 7px;
    }


    .pi-gallery-item:nth-child(2n) {
        height: 145px;
    }


    .pi-highlight-side {
        /* grid-template-columns: 1fr; */

        gap: 10px;
    }


    .pi-highlight-card {
        height: 100px;

        padding: 13px 15px;
    }


    .pi-highlight-icon {
        width: 32px;
        height: 32px;

        font-size: 12px;
    }


    .pi-highlight-card-top {
        gap: 9px;
    }


    .pi-highlight-card-top h4 {
        font-size: 13px;
    }


    .pi-highlight-card-content {
        margin-top: 8px;

        padding-left: 41px;
    }


    .pi-highlight-card-content h3 {
        font-size: 27px;
    }

}


/* =========================================
   COUNTDOWN CARD
========================================= */
.event-countdown-wrap {
    position: absolute;
    z-index: 10;
    top: 0;
    left: 50%;
    width: calc(100% - 40px);
    max-width: 1345px;

    transform: translateX(-50%) translateY(-60%);
    overflow: visible;
}

.event-countdown {
    position: relative;
    transform: translateY(0);

    background: #f89939;
    background: linear-gradient(135deg,#7BBC54,#1F9A91);
    
    border-radius: 16px;
    overflow: hidden;
}

/* Decorative circles */

.event-countdown::before,
.event-countdown::after {
    content: "";
    position: absolute;

    width: 230px;
    height: 230px;

    border: 35px solid rgba(255, 255, 255, 0.10);

    border-radius: 50%;

    pointer-events: none;
}

.event-countdown::before {
    top: -130px;
    right: 300px;
}

.event-countdown::after {
    bottom: -150px;
    left: 380px;
}


/* Countdown inner */

.countdown-content {
    position: relative;
    z-index: 2;

    min-height: 148px;

    padding: 28px 48px;

    display: grid;

    grid-template-columns: 1.2fr 1.7fr 1fr;

    align-items: center;

    gap: 35px;
}


/* =========================================
   TITLE
========================================= */

.countdown-title {
    color: #fff;
}

.countdown-title h3,
.countdown-title .countdown-kicker {
    margin: 0;

    font-size: 38px;
    line-height: 1;

    font-weight: 800;
}

.countdown-title h4,
.countdown-title .countdown-sub {
    margin: 7px 0 0;

    font-size: 25px;
    line-height: 1.1;

    font-weight: 700;
}


/* =========================================
   TIMER
========================================= */

.countdown-timer {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 16px;
}

.countdown-box {
    width: 92px;
    height: 90px;

    display: flex;
    flex-direction: column;

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

    background: #fff;

    border-radius: 17px;

    text-align: center;
}

.countdown-box strong {
    display: block;

    color: #181818;

    font-size: 30px;
    line-height: 1;

    font-weight: 800;
}

.countdown-box span {
    margin-top: 6px;

    color: #181818;

    font-size: 12px;
    line-height: 1;

    font-weight: 700;
}


/* =========================================
   LOCATION
========================================= */

.countdown-location {
    display: flex;

    align-items: center;

    gap: 15px;

    color: #fff;
}

.countdown-location i {
    flex: 0 0 auto;

    font-size: 47px;

    line-height: 1;
}

.countdown-location a {
    color: #fff;

    font-size: 18px;
    line-height: 1.25;

    font-weight: 600;

    text-decoration: underline;
}

.countdown-location a:hover {
    color: #fff;
}

/*date box css*/
.event-dates-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.event-month {
    margin-bottom: 6px;

    color: #fff;

    font-size: 12px;
    line-height: 1;

    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;
}

.event-dates {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 15px 0 0 0;
    gap: 16px;
}

.dates-box {
    width: 92px;
    height: 90px;

    display: flex;
    flex-direction: column;

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

    background: #fff;

    border-radius: 17px;

    text-align: center;
}

.dates-box strong {
    display: block;

    color: #181818;

    font-size: 30px;
    line-height: 1;

    font-weight: 800;
}

.dates-box span {
    margin-top: 6px;

    color: #181818;

    font-size: 12px;
    line-height: 1;

    font-weight: 700;
}

.event-month {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 100%;
    margin-bottom: 0px;
}

.event-month span {
    width: 75px;
    height: 1px;

    background: linear-gradient(
        to right,
        transparent,
        rgba(255, 255, 255, 0.8)
    );
}

.event-month span:last-child {
    background: linear-gradient(
        to left,
        transparent,
        rgba(255, 255, 255, 0.8)
    );
}

.event-month strong {
    color: #fff;
    font-size: 16px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 1.5px;
    white-space: nowrap;
}


/* =========================================
   HIGHLIGHT ITEMS
========================================= */

.pi-highlight-list {
    row-gap: 50px;
}

.pi-highlight-item {
    color: #fff;
}

.pi-highlight-icon {
    width: 55px;
    height: 55px;

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

    margin-bottom: 0;
}

.pi-highlight-icon i {
    font-size: 30px;
    line-height: 1;

    color: #fff;
}

.pi-highlight-item h4 {
    margin: 0 0 16px;

    color: #fff;

    font-size: 23px;
    line-height: 1.05;

    font-weight: 700;
}

.pi-highlight-item p {
    max-width: 260px;

    margin: 0;

    color: #fff;

    font-size: 16px;
    line-height: 1.6;

    font-weight: 400;
}

/*highlight effect start*/
.event-highlight-section {
    position: relative;
    overflow: hidden;
    background: transparent;
}

.highlight-orbit {
    position: absolute;
    width: 500px;
    height: 500px;
    pointer-events: none;
    z-index: 0;
}

.highlight-orbit-left {
    top: -280px;
    left: -280px;
}

.highlight-orbit-right {
    right: -280px;
    bottom: -280px;
}

.highlight-orbit-ring {
    width: 100%;
    height: 100%;
    border: 40px solid transparent;
    border-radius: 47% 53% 61% 39% / 52% 42% 58% 48%;

    background:
        linear-gradient(#25235c, #25235c) padding-box,
        linear-gradient(
            135deg,
            #7BBC54,
            #1F9A91
        ) border-box;

    filter: drop-shadow(0 0 10px rgba(31, 154, 145, 0.25));
}

.piabout .highlight-orbit-ring {
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(
            135deg,
            #7BBC54,
            #1F9A91
        ) border-box;
}

.pi-highlights .highlight-orbit-right .highlight-orbit-ring {
    background:
        linear-gradient(#222f60, #222f60) padding-box,
        linear-gradient(
            135deg,
            #f89939,
            #e87516
        ) border-box;
}
/*highlight effect end*/

/*pi foundation section start*/
.pifoundation {
    position: relative;
    padding: 100px 0;
    background: #f8faf8;
    overflow: hidden;
    z-index: 1;
}

/* CONTENT */

.pifoundation-content {
    position: relative;
    z-index: 3;
    padding-left: 50px;
}

.pifoundation-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;

    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;

    color: #1f9a91;
}

.pifoundation-right {
    right: -9%;
    left: inherit !important;
    bottom: 14% !important;
    top: inherit !important;
}

.pifoundation-eyebrow::before {
    content: "";
    width: 35px;
    height: 2px;
    background: linear-gradient(
        90deg,
        #7bbc54,
        #1f9a91
    );
}

.pifoundation .pi-section-title {
    margin: 0 0 30px 0;
    font-size: clamp(34px, 5vw, 45px);
    line-height: 1.02;
    font-weight: 800;
    /* letter-spacing: -2px; */
}

.pifoundation .pi-section-title span {
    background: linear-gradient(
        90deg,
        #7bbc54,
        #1f9a91
    );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.pifoundation-line {
    width: 70px;
    height: 4px;
    margin: 25px 0;

    border-radius: 20px;

    background: linear-gradient(
        90deg,
        #7bbc54,
        #1f9a91
    );
}

.pifoundation-content p {
    max-width: 570px;
    margin-bottom: 32px;

    font-size: 16px;
    line-height: 1.8;
    color: #000;
}

.pifoundation-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.nec-row {
    margin-top: 40px;
}

.nec-row .pifoundation-blob {
    right: -70px;
    left: inherit;
}

/* VISUAL */

.pifoundation-visual {
    position: relative;

    min-height: 570px;

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


/* ORGANIC BACKGROUND */

.pifoundation-blob {
    position: absolute;

    width: 150px;
    height: 150px;

    left: -10%;
    top: 110px;

    border-radius:
        63% 37% 55% 45% /
        43% 56% 44% 57%;

    background: linear-gradient(
        135deg,
        #7bbc54,
        #1f9a91
    );

    opacity: .18;

    transform: rotate(-12deg);
}


/* IMAGE */

.pifoundation-image {
    position: relative;
    z-index: 2;
    width: 100%;
    overflow: hidden;

    border-radius: 120px 25px 120px 25px;

    box-shadow: 0 30px 70px rgba(0, 0, 0, .12);

    transition:
        transform 0.6s cubic-bezier(.2, .8, .2, 1),
        box-shadow 0.6s ease;
}

.pifoundation-image img {
    display: block;
    width: 100%;
    height: auto;

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

/* Shine effect */
.pifoundation-image::after {
    content: "";
    position: absolute;

    top: -50%;
    left: -75%;

    width: 50%;
    height: 200%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.18),
        transparent
    );

    transform: rotate(25deg);
    transition: left 0.8s ease;

    pointer-events: none;
}

/* Hover */
.pifoundation-image:hover {
    transform: translateY(-8px);
    box-shadow: 0 40px 90px rgba(0, 0, 0, .18);
}

.pifoundation-image:hover img {
    transform: scale(1.06) rotate(0deg);
}

.pifoundation-image:hover::after {
    left: 130%;
}


/* DECORATIVE RINGS */

.pifoundation-ring {
    position: absolute;

    border: 2px solid #1f9a91;

    border-radius: 50%;

    opacity: .45;

    z-index: 1;
}

.pifoundation-ring-one {
    width: 110px;
    height: 110px;
    top: -30px;
    right: -40px;
}

.pifoundation-ring-two {
    width: 70px;
    height: 70px;

    bottom: -45px;
    left: -25px;

    border-color: #7bbc54;
}


/* BADGE */

.pifoundation-badge {
    position: absolute;

    right: -15px;
    bottom: 35px;

    z-index: 4;

    display: flex;
    flex-direction: column;

    padding: 15px 22px;

    background: #ffffff;

    border-left: 4px solid #1f9a91;

    box-shadow:
        0 15px 40px rgba(0, 0, 0, .12);
}

.pifoundation-badge span {
    font-size: 11px;
    letter-spacing: 2px;
    color: #777;
}

.pifoundation-badge strong {
    font-size: 15px;
    color: #1f9a91;
}

.pifoundation-blob {
    width: 300px;
    height: 300px;

    background: transparent;

    border: 35px solid transparent;

    background:
        linear-gradient(#f8faf8, #f8faf8) padding-box,
        linear-gradient(
            135deg,
            #7bbc54,
            #1f9a91
        ) border-box;

    border-radius:
        48% 52% 63% 37% /
        55% 40% 60% 45%;

    opacity: 1;
}
/*pi foundation section end*/

/*pi sponsor section start*/
/* ============================================
   HOME SPONSORS
============================================ */

.home-sponsors {
    position: relative;
    padding: 90px 0 100px;
    background: #f3ebe6;
    overflow: hidden;
}


/* Sponsor Tier
-------------------------------------------- */

.sponsor-tier {
    position: relative;
}

.sponsor-tier + .sponsor-tier {
    margin-top: 85px;
}


/* Heading
-------------------------------------------- */

.sponsor-heading {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 22px;
    margin-bottom: 25px;
}

.sponsor-line {
    width: 100%;
    height: 1px;
    background: #c9cdd2;
}

.sponsor-title {
    position: relative;
    color: #222;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    white-space: nowrap;
}


/* Logo Grid
-------------------------------------------- */

.sponsor-logos {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}


/* Logo Box
-------------------------------------------- */

.sponsor-logo {
    /* min-height: 170px; */
    padding: 15px;

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

    background: #fff;
    border: 1px solid #e3e5e8;
    border-radius: 12px;

    overflow: hidden;

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


/* Image Wrapper
-------------------------------------------- */

.sponsor-logo-image {
    position: relative;

    width: 100%;
    height: 100%;

    min-height: 100px;

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

    margin: 0;

    overflow: hidden;
}


/* Both Images
-------------------------------------------- */

.sponsor-logo-image img {
    position: relative;

    width: 100%;
    max-width: 190px;
    height: 100px;

    object-fit: contain;

    display: block;

    transition: all 500ms ease;
}


/* Second Image = Default Visible Image
-------------------------------------------- */

.sponsor-logo-image img:nth-child(2) {
    position: relative;

    z-index: 1;

    transform: translateY(0) scaleY(1);

    opacity: 1;

    filter: blur(0);
}


/* First Image = Hidden / Coming From Bottom
-------------------------------------------- */

.sponsor-logo-image img:first-child {
    position: absolute;

    left: 0;
    right: 0;
    top: 0;
    bottom: 0;

    z-index: 2;

    margin: auto;

    transform: translateY(50%) scaleY(2);

    opacity: 0;

    filter: blur(10px);
}


/* Hover - First Image Comes Up
-------------------------------------------- */

.sponsor-logo:hover .sponsor-logo-image img:first-child {
    transform: translateY(0) scaleY(1);

    opacity: 1;

    filter: blur(0);
}


/* Hover - Second Image Goes Up
-------------------------------------------- */

.sponsor-logo:hover .sponsor-logo-image img:nth-child(2) {
    transform: translateY(-50%) scaleY(2);

    opacity: 0;

    filter: blur(10px);
}


/* Card Hover
-------------------------------------------- */

.sponsor-logo:hover {
    transform: translateY(-5px);

    border-color: #d5d8dc;

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


/* Platinum - Slightly Larger
-------------------------------------------- */

.sponsor-logos-platinum .sponsor-logo {
    /* min-height: 190px; */
}

.sponsor-logos-platinum .sponsor-logo img {
    max-width: 100%;
    height: auto;
}


/* Gold
-------------------------------------------- */

.sponsor-logos-gold .sponsor-logo img {
    max-width: 100%;
    height: auto;
}


/* ============================================
   LARGE DESKTOP
============================================ */

@media (max-width: 1399px) {

    .sponsor-logo {
        padding: 25px;
    }

    .sponsor-logo img {
        max-width: 175px;
    }

}


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

@media (max-width: 991px) {

    .home-sponsors {
        padding: 70px 0 80px;
    }

    .sponsor-logos {
        grid-template-columns: repeat(3, 1fr);
    }

    .sponsor-tier + .sponsor-tier {
        margin-top: 65px;
    }

    .sponsor-logo {
        min-height: 155px;
    }

}


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

@media (max-width: 575px) {

    .home-sponsors {
        padding: 55px 0 65px;
    }

    .sponsor-heading {
        gap: 12px;
        margin-bottom: 30px;
    }

    .sponsor-line {
        width: 35px;
    }

    .sponsor-title {
        font-size: 12px;
        letter-spacing: 1.5px;
    }

    .sponsor-logos {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .sponsor-logo,
    .sponsor-logos-platinum .sponsor-logo {
        min-height: 125px;
        padding: 18px;
        border-radius: 10px;
    }

    .sponsor-logo img,
    .sponsor-logos-platinum .sponsor-logo img {
        max-width: 140px;
        height: 75px;
    }

    .sponsor-tier + .sponsor-tier {
        margin-top: 50px;
    }

}

.home-sponsors .sponsor-partner-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 48px;
    align-items: start;
    margin-top: 85px;
}

.spn-sponsors .sponsor-partner-row {
    margin-top: 72px;
}

.home-sponsors .sponsor-partner-row .sponsor-tier,
.home-sponsors .sponsor-partner-row .sponsor-tier + .sponsor-tier {
    margin-top: 0;
}

.home-sponsors .sponsor-partner-row .sponsor-logos,
.spn-sponsors .sponsor-partner-row .sponsor-logos {
    grid-template-columns: minmax(180px, 270px);
}

@media (max-width: 991px) {
    .home-sponsors .sponsor-partner-row {
        margin-top: 65px;
    }

    .spn-sponsors .sponsor-partner-row {
        margin-top: 52px;
    }
}

@media (max-width: 575px) {
    .home-sponsors .sponsor-partner-row,
    .spn-sponsors .sponsor-partner-row {
        grid-template-columns: 1fr;
        row-gap: 50px;
        margin-top: 50px;
    }

    .home-sponsors .sponsor-partner-row .sponsor-logos,
    .spn-sponsors .sponsor-partner-row .sponsor-logos {
        grid-template-columns: repeat(2, 1fr);
    }
}
/*pi sponsor section end*/

/*picta*/
/* ==========================================
   CTA SECTION
========================================== */

.picta {
    position: relative;
    /* min-height: 560px; */
    display: flex;
    align-items: center;
    overflow: hidden;

    padding: 100px 0;

    color: #fff;
    /* isolation: isolate; */
    background-image: url("/assets/images/pi28/footer-bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    /* transform: scale(1.02); */
}

.picta .container
{
    z-index: 2;
}


/* Background
------------------------------------------ */

.picta-bg {
    position: absolute;
    inset: 0;
    z-index: -3;

    background-image: url("/assets/images/pi28/footer-bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    transform: scale(1.02);
}


/* Dark overlay
------------------------------------------ */

.picta-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(10, 11, 38, 0.96) 0%,
            rgba(10, 11, 38, 0.86) 42%,
            rgba(10, 11, 38, 0.55) 72%,
            rgba(10, 11, 38, 0.35) 100%
        );
}


/* Additional subtle gradient
------------------------------------------ */

.picta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    background:
        radial-gradient(
            circle at 75% 50%,
            rgba(255, 113, 0, 0.20),
            transparent 32%
        );
}


/* Content
------------------------------------------ */

.picta-content {
    max-width: 900px;
}


/* Eyebrow
------------------------------------------ */

.picta-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;

    margin-bottom: 18px;

    font-size: 12px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;

    color: #ff8a1f;
}

.picta-eyebrow::before {
    content: "";
    width: 34px;
    height: 2px;

    background: #ff8a1f;
}


/* Small text
------------------------------------------ */

.picta-small-text {
    margin: 0 0 4px;

    font-size: 22px;
    font-weight: 400;

    color: rgba(255, 255, 255, 0.82);
}


/* Main heading
------------------------------------------ */

.picta-title {
    margin: 0;

    font-size: clamp(34px, 5vw, 45px);
    font-weight: 800;
    line-height: 0.95;
    letter-spacing: -2px;

    color: #fff;
}

.picta-title span {
    color: #ff861b;
}


/* Description
------------------------------------------ */

.picta-description {
    max-width: 650px;

    margin: 28px 0 35px;

    font-size: 16px;
    line-height: 1.7;

    color: rgba(255, 255, 255, 0.72);
}


/* Buttons wrapper
------------------------------------------ */

.picta-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}


/* Buttons
------------------------------------------ */

.picta-btn {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;

    min-width: 235px;
    min-height: 58px;

    padding: 8px 8px 8px 25px;

    border-radius: 50px;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;

    overflow: hidden;

    transition:
        background 0.35s ease,
        color 0.35s ease,
        transform 0.35s ease,
        box-shadow 0.35s ease;
}


/* Arrow circle
------------------------------------------ */

.picta-arrow {
    width: 42px;
    height: 42px;

    flex: 0 0 42px;

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

    border-radius: 50%;

    transition:
        transform 0.35s ease,
        background 0.35s ease;
}

.picta-arrow i {
    font-size: 13px;
    transition: transform 0.35s ease;
}


/* Primary
------------------------------------------ */

.picta-btn-primary {
    color: #fff;
    background: #ff7417;
    box-shadow: 0 12px 35px rgba(255, 116, 23, 0.20);
}

.picta-btn-primary .picta-arrow {
    background: rgba(255, 255, 255, 0.18);
}


/* Outline
------------------------------------------ */

.picta-btn-outline {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(8px);
}

.picta-btn-outline .picta-arrow {
    background: #fff;
    color: #15162e;
}


/* Hover
------------------------------------------ */

.picta-btn:hover {
    color: #fff;
    transform: translateY(-3px);
}

.picta-btn-primary:hover {
    background: #ff862e;
    box-shadow: 0 18px 40px rgba(255, 116, 23, 0.30);
}

.picta-btn-outline:hover {
    background: #fff;
    color: #15162e;
    border-color: #fff;
}

.picta-btn:hover .picta-arrow {
    transform: rotate(-5deg);
}

.picta-btn:hover .picta-arrow i {
    transform: translateX(3px);
}


/* Decorative shapes
------------------------------------------ */

.picta-shape {
    position: absolute;
    pointer-events: none;

    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
}

.picta-shape-one {
    width: 500px;
    height: 500px;

    right: -180px;
    top: -170px;
}

.picta-shape-two {
    width: 350px;
    height: 350px;

    right: 40px;
    bottom: -220px;
}


/* ==========================================
   LARGE DESKTOP
========================================== */

@media (max-width: 1399px) {

    .picta {
        min-height: 520px;
    }

    .picta-title {
        font-size: clamp(58px, 6vw, 90px);
    }

}


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

@media (max-width: 991px) {

    .picta {
        min-height: auto;
        padding: 85px 0;
    }

    .picta-content {
        max-width: 750px;
    }

    .picta-title {
        font-size: 70px;
        letter-spacing: -3px;
    }

    .picta-description {
        max-width: 600px;
    }

}


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

@media (max-width: 575px) {

    .picta {
        padding: 70px 0;
    }

    .picta-bg {
        background-position: 65% center;
    }

    .picta-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(10, 11, 38, 0.95),
                rgba(10, 11, 38, 0.82)
            );
    }

    .picta-eyebrow {
        font-size: 10px;
        letter-spacing: 2px;
    }

    .picta-small-text {
        font-size: 18px;
    }

    .picta-title {
        font-size: 52px;
        letter-spacing: -2px;
    }

    .picta-description {
        margin: 22px 0 28px;
        font-size: 14px;
    }

    .picta-actions {
        flex-direction: column;
        align-items: start;
    }

    .picta-btn {
        width: 100%;
        min-width: 0;
    }

    .picta-shape-one {
        width: 300px;
        height: 300px;
        right: -180px;
        top: -80px;
    }

}

/* ========================================== PLASTINDIA FOOTER ========================================== */
.pi-footer {
    position: relative;
    overflow: hidden;
    padding: 80px 0 0;
    background: #11143b;
    color: #fff;
}

/* Subtle background glow ------------------------------------------ */
.pi-footer::before {
    content: "";
    position: absolute;
    width: 650px;
    height: 650px;
    top: -350px;
    right: -200px;
    border-radius: 50%;
    background: rgba(255, 116, 23, 0.08);
    filter: blur(20px);
    pointer-events: none;
}

/* ========================================== MAIN FOOTER ========================================== */
.pi-footer-main {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.5fr 0.8fr 1fr 1fr 1.2fr;
    gap: 55px;
    padding-bottom: 65px;
}

/* ========================================== BRAND ========================================== */
.pi-footer-brand {
    padding-right: 30px;
}

.pi-footer-logo {
    display: inline-block;
    margin-bottom: 25px;
}

.pi-footer-logo img {
    display: block;
    width: auto;
    max-width: 280px;
    height: auto;
    object-fit: contain;
}

.pi-footer-brand p {
    max-width: 300px;
    margin: 0 0 28px;
    font-size: 14px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 1);
}

/* Explore Button ------------------------------------------ */
.pi-footer-explore {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.3s ease;
}

.pi-footer-explore span {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ff7417;
    transition: transform 0.3s ease, background 0.3s ease;
}

.pi-footer-explore span i {
    font-size: 11px;
}

.pi-footer-explore:hover {
    color: #ff861f;
}

.pi-footer-explore:hover span {
    transform: translateX(4px);
    background: #fff;
    color: #11143b;
}

/* ========================================== COLUMN ========================================== */
.pi-footer-column h4,
.pi-footer-contact h4 {
    position: relative;
    margin: 0 0 25px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #fff;
}

.pi-footer-column h4::after,
.pi-footer-contact h4::after {
    content: "";
    display: block;
    width: 28px;
    height: 2px;
    margin-top: 10px;
    background: #ff7417;
}

/* Links ------------------------------------------ */
.pi-footer-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pi-footer-column li {
    margin-bottom: 11px;
}

.pi-footer-column a {
    display: inline-flex;
    align-items: center;

    color: rgba(255, 255, 255, 0.75);
    font-size: 13px;
    line-height: 1.55;
    text-decoration: none;

    transition: color 0.3s ease;
}

.pi-footer-column a::before {
    content: "→";

    width: 0;
    overflow: hidden;

    opacity: 0;
    transform: translateX(-8px);

    color: #f89939;

    transition:
        width 0.3s ease,
        opacity 0.3s ease,
        transform 0.3s ease;
}

.pi-footer-column a:hover {
    color: #fff;
}

.pi-footer-column a:hover::before {
    width: 20px;
    opacity: 1;
    transform: translateX(0);
}

/* ========================================== CONTACT ========================================== */
.pi-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 19px;
}

.pi-contact-icon {
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
    border-radius: 50%;
    background: rgba(255, 116, 23, 0.12);
    color: #ff7417;
    font-size: 12px;
}

.pi-contact-icon i,
.pi-contact-icon .bi {
    color: #ff7417;
    font-size: 14px;
    line-height: 1;
    font-family: "bootstrap-icons" !important;
}

.pi-footer-social a i,
.pi-footer-social a .bi {
    font-family: "bootstrap-icons" !important;
    font-style: normal;
    line-height: 1;
}

.pi-contact-item p,
.pi-contact-item a {
    margin: 0;
    color: rgba(255, 255, 255, 1);
    font-size: 13px;
    line-height: 1.7;
    text-decoration: none;
}

.pi-contact-item a:hover {
    color: #fff;
}

/* ========================================== SOCIAL ========================================== */
.pi-footer-social {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 27px;
}

.pi-footer-social a {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    text-decoration: none;
    transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.pi-footer-social a:hover {
    background: #ff7417;
    border-color: #ff7417;
    color: #fff;
    transform: translateY(-3px);
}

/* ========================================== BOTTOM ========================================== */
.pi-footer-bottom {
    position: relative;
    z-index: 1;
    min-height: 75px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.pi-footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, 1);
    font-size: 12px;
}

.pi-footer-bottom-links {
    display: flex;
    align-items: center;
    gap: 25px;
}

.pi-footer-bottom-links a {
    color: rgba(255, 255, 255, 1);
    font-size: 12px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.pi-footer-bottom-links a:hover {
    color: #fff;
}

/* ========================================== LARGE DESKTOP ========================================== */
@media (max-width: 1399px) {
    .pi-footer-main {
        gap: 35px;
    }
}

/* ========================================== TABLET ========================================== */
@media (max-width: 1199px) {
    .pi-footer-main {
        grid-template-columns: 1.3fr 0.8fr 1fr 1fr;
        gap: 45px;
    }

    .pi-footer-brand {
        grid-row: span 2;
    }
}

/* ========================================== MOBILE / TABLET ========================================== */
@media (max-width: 767px) {
    .pi-footer {
        padding-top: 60px;
    }

    .pi-footer-main {
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 25px;
        padding-bottom: 45px;
    }

    .pi-footer-brand {
        grid-column: 1 / -1;
        grid-row: auto;
        padding-right: 0;
    }

    .pi-footer-brand p {
        max-width: 500px;
    }

    
}

/* ========================================== MOBILE ========================================== */
@media (max-width: 575px) {
    .pi-footer-main {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .pi-footer-bottom {
        min-height: auto;
        flex-direction: column;
        align-items: flex-start;
        padding: 22px 0;
    }

    .pi-footer-bottom-links {
        gap: 18px;
        flex-wrap: wrap;
    }

    .pi-footer-logo img {
        max-width: 240px;
    }
}

.piabout-img img {
        border-radius: 120px 25px 120px 25px ;
    }

    .desk-hide {
        display: none;
    }


    /*quick links css*/
    .quick-links-area {
        /* padding: 80px 0;
        background: #f7f7f7; */
        margin-bottom: 75px;
    }

    .quick-links-wrapper {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }

    .quick-link-card {
        position: relative;
        display: flex;
        align-items: center;
        gap: 20px;
        padding: 28px;
        background: #fff;
        border-radius: 18px;
        overflow: hidden;
        text-decoration: none;
        transition: all 0.35s ease;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
    }

    /* Top accent line */
    .quick-link-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 5px;
        transition: height 0.35s ease;
        display: none;
    }

    .exhibitor-link {
        background: #ca346b;
    }

    .visitor-link {
        background: #1bc4c3;
    }

    .advertising-link {
        background: #eaa82b;
    }

    .exhibitor-link .quick-link-content span {
        color: #fff;
    }

    .visitor-link .quick-link-content span {
        color: #fff;
    }

    .quick-link-icon {
        width: 64px;
        min-width: 64px;
        height: 64px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 16px;
        font-size: 25px;
        transition: all 0.35s ease;
    }

    .quick-link-content {
        flex: 1;
    }

    .quick-link-content span {
        display: block;
        margin-bottom: 5px;
        font-size: 13px;
        font-weight: 600;
        color: #fff;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .quick-link-content h4 {
        margin: 0;
        font-size: 20px;
        line-height: 1.35;
        font-weight: 700;
        color: #ffffff;
    }

    .quick-link-arrow {
        width: 42px;
        height: 42px;
        min-width: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        color: #222;
        background: #f2f2f2;
        transition: all 0.35s ease;
    }

    .quick-link-card .quick-link-icon {
        transform-style: preserve-3d;
        transition: transform 0.8s ease;
        }
        
    .quick-link-card:hover .quick-link-icon {
        transform: rotateY(360deg);
    }

    /* Exhibitor - Sky Blue */
    .exhibitor-link::before {
        background: #1bc4c3;
    }

    .exhibitor-link .quick-link-icon {
        background: rgb(207 80 126);
        color: #fff;
    }

    .exhibitor-link:hover .quick-link-arrow {
        background: #fff;
        color: #ca346b;
    }

    /* Visitor - Magenta */
    .visitor-link::before {
        background: #ca346b;
    }

    .visitor-link .quick-link-icon {
        background: rgb(44 211 210);
        color: #fff;
    }

    .visitor-link:hover .quick-link-arrow {
        background: #fff;
        color: #1bc4c3;
    }

    /* Advertising - Yellow */
    .advertising-link::before {
        background: #eaa82b;
    }

    .advertising-link .quick-link-icon {
        background: #e7b75d;
        color: #fff;
    }

    .advertising-link:hover .quick-link-arrow {
        background: #fff;
        color: #eaa82b;
    }

    /* Hover */
    .quick-link-card:hover {
        transform: translateY(-8px);
        box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12);
    }

    .quick-link-card:hover::before {
        height: 100%;
        opacity: 0.04;
    }

    /* .quick-link-card:hover .quick-link-icon {
        transform: rotate(-5deg) scale(1.08);
    } */

    .quick-link-card:hover .quick-link-arrow i {
        transform: translateX(3px);
    }

    .quick-link-arrow i {
        transition: transform 0.3s ease;
    }
    
    .pifoundation-image-reveal {
    position: relative;
    overflow: hidden;
}


/* Both Images */

.pifoundation-image-reveal img {
    display: block;
    width: 100%;
    transition: all 200ms ease;
}


/* First Image
   Hidden on the right
*/

.pifoundation-image-reveal img:first-child {
    position: absolute;
    top: 0;
    right: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    z-index: 2;

    transform: translateX(50%) scaleX(2);

    opacity: 0;

    filter: blur(10px);
}


/* Second Image
   Default visible
*/

.pifoundation-image-reveal img:nth-child(2) {
    position: relative;
    z-index: 1;

    transform: translateX(0) scaleX(1);

    opacity: 1;

    filter: blur(0);
}


/* HOVER
   First image comes RIGHT → LEFT
*/

.pifoundation-image-reveal:hover img:first-child {
    transform: translateX(0) scaleX(1);

    opacity: 1;

    filter: blur(0);
}


/* Old image moves LEFT */

.pifoundation-image-reveal:hover img:nth-child(2) {
    transform: translateX(-50%) scaleX(2);

    opacity: 0;

    filter: blur(10px);
}


/*=========================================
    EXHIBITOR SECTION
=========================================*/
.exhibitor-section {
    position: relative;
    padding: 80px 0;
    background: #f8f9fc;
    background: radial-gradient(circle at 50% 45%, rgba(55, 50, 120, 0.65), transparent 45%), #25235c;
    overflow: hidden;
}
/* Left Glow */
.exhibitor-section::before {
    content: "";
    position: absolute;
    left: -120px;
    top: 120px;
    width: 320px;
    height: 320px;
    background: rgba(192, 42, 125, .08);
    border-radius: 50%;
    filter: blur(30px);
    animation: floatGlow 8s ease-in-out infinite;
}

/* Right Dots */
.exhibitor-section::after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: 80px;
    width: 220px;
    height: 220px;
    background-image: radial-gradient(#13154e 2px, transparent 2px);
    background-size: 18px 18px;
    opacity: .12;
    animation: rotateDots 35s linear infinite;
}

.exhibitor-section .section-heading {
    max-width: 720px;
    margin: auto;
    position: relative;
    z-index: 2;
}

.exhibitor-section .sub-title {
    display: inline-block;
    background: rgba(192, 42, 125, .1);
    color: #c02a7d;
    padding: 10px 24px;
    border-radius: 50px;
    font-weight: 600;
    margin-bottom: 20px;
}

.exhibitor-section .section-heading h2 {
    font-size: 48px;
    font-weight: 800;
    color: #119d60;
}

.exhibitor-section .section-heading h2 span {
    color: #f89939;
}

.exhibitor-section .section-heading p {
    color: #fff;
    line-height: 1.8;
    margin-top: 20px;
}

.exhibitor-heading {
    max-width: 680px !important;
    margin: 0 0 38px !important;
}

.exhibitor-kicker {
    color: #f89939;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 14px;
    text-transform: uppercase;
}

.exhibitor-heading h2 {
    font-size: clamp(36px, 5vw, 58px) !important;
    letter-spacing: -1px;
    line-height: 1.05;
    margin-bottom: 0;
}

.exhibitor-slider-wrap {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.exhibitor-swiper {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.exhibitor-swiper .swiper-slide {
    height: auto;
}

.exhibitor-category-card {
    display: flex;
    flex-direction: column;
    min-height: 390px;
    height: 100%;
    padding: 25px 25px 24px;
    color: #fff;
    background: linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .035));
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .2);
    text-decoration: none;
    transition: border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}

.exhibitor-category-card:hover {
    color: #fff;
    border-color: #f89939;
    box-shadow: 0 24px 55px rgba(0, 0, 0, .35);
    transform: translateY(-8px);
}

.exhibitor-card-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.exhibitor-card-number {
    color: rgba(255, 255, 255, .55);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}

.exhibitor-card-arrow {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: #25235c;
    background: #f89939;
    border-radius: 50%;
    font-size: 22px;
    transition: transform .35s ease;
}

.exhibitor-category-card:hover .exhibitor-card-arrow {
    transform: rotate(45deg);
}

.exhibitor-icon {
    display: grid;
    width: 72px;
    height: 72px;
    margin: 34px 0 25px;
    padding: 15px;
    place-items: center;
    background: rgba(17, 157, 96, .15);
    border: 1px solid rgba(17, 157, 96, .4);
    border-radius: 16px;
}

.exhibitor-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.exhibitor-category-card h3 {
    min-height: 62px;
    margin: 0 0 13px;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
}

.exhibitor-category-card p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: 14px;
    line-height: 1.65;
}

.exhibitor-card-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 24px;
    color: #f89939;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .3px;
}

.exhibitor-card-link span {
    font-size: 20px;
    transition: transform .35s ease;
}

.exhibitor-category-card:hover .exhibitor-card-link span {
    transform: translateX(5px);
}

.exhibitor-slider-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 30px;
}

.exhibitor-pagination {
    display: flex;
    gap: 7px;
}

.exhibitor-pagination .swiper-pagination-bullet {
    width: 24px;
    height: 4px;
    margin: 0 !important;
    background: rgba(255, 255, 255, .35);
    border-radius: 4px;
    opacity: 1;
    transition: background .3s ease, width .3s ease;
}

.exhibitor-pagination .swiper-pagination-bullet-active {
    width: 42px;
    background: #f89939;
}

.exhibitor-arrows {
    display: flex;
    gap: 10px;
}

.exhibitor-arrows button {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: #fff;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 50%;
    font-size: 20px;
    transition: background .3s ease, border-color .3s ease, color .3s ease;
}

.exhibitor-arrows button:hover {
    color: #25235c;
    background: #f89939;
    border-color: #f89939;
}

@media (max-width: 575px) {
    .exhibitor-section {
        padding: 60px 0;
    }

    .exhibitor-category-card {
        min-height: 360px;
        padding: 20px;
    }
}

/*card hover effect*/
.card-effect {
	overflow: hidden !important;
}

.card-effect:before{
    content: '';
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: #119d60;
    border-radius: 500px 500px 0 0;
    transition: all 0.4s ease-in-out;
    height: 100%;
    width: 100%;
    z-index: 0;
    opacity: 0;
    z-index: -1;
}

.card-effect:hover:before{
    top: 0;
    border-radius: 0;
    opacity: 1;
}

.exhibitor-category-card.card-effect h3,
.exhibitor-category-card.card-effect p,
.exhibitor-category-card.card-effect .exhibitor-card-number {
    transition: color 0.4s ease-in-out;
}

.exhibitor-category-card.card-effect .exhibitor-icons img {
    transition: filter 0.4s ease-in-out;
}

.exhibitor-category-card.card-effect:hover h3,
.exhibitor-category-card.card-effect:hover p,
.exhibitor-category-card.card-effect:hover .exhibitor-card-number {
    color: #fff;
}

.exhibitor-category-card.card-effect:hover .exhibitor-icons img {
    filter: invert(1);
}


/* PI28 exhibitor categories refresh */
.exhibitor-categories-modern {
    /* background:
        radial-gradient(circle at 8% 12%, rgba(248, 153, 57, .16), transparent 25%),
        radial-gradient(circle at 92% 86%, rgba(17, 157, 96, .16), transparent 28%),
        #e9f2ed; */
    color: #fff;
    background: radial-gradient(circle at 50% 45%, #373278a6, #0000 45%), #25235c;
}

/* .exhibitor-categories-modern::before {
    left: auto;
    right: 8%;
    top: 90px;
    width: 190px;
    height: 190px;
    background: rgba(248, 153, 57, .14);
    filter: blur(45px);
}

.exhibitor-categories-modern::after {
    right: 0;
    bottom: 0;
    background-image: radial-gradient(#119d60 1.5px, transparent 1.5px);
    opacity: .13;
} */

.exhibitor-categories-modern .exhibitor-heading h2 {
    color: #172c2b !important;
}

.exhibitor-categories-modern .exhibitor-heading h2 span {
    color: #119d60;
}

.exhibitor-categories-modern .exhibitor-heading p {
    max-width: 610px;
    color: #506562;
}

.exhibitor-categories-modern .exhibitor-kicker {
    color: #d66f12;
}

.exhibitor-categories-modern .exhibitor-category-card {
    min-height: 370px;
    padding: 26px;
    color: #172c2b;
    background: rgba(255, 255, 255, .92);
    border: 2px solid rgba(23, 44, 43, .1);
    border-radius: 18px;
    box-shadow: none;
}

.exhibitor-categories-modern .exhibitor-category-card:hover {
    color: #172c2b;
    border-color: #f89939;
    box-shadow: none;
    transform: translateY(0px);
}

.exhibitor-categories-modern .exhibitor-card-number {
    color: #84958f;
}

.exhibitor-categories-modern .exhibitor-card-arrow {
    width: 44px;
    height: 44px;
    color: #172c2b;
    background: transparent;
    border: 1px solid #d6e3dc;
    font-size: 23px;
    line-height: 1;
    transition: color .3s ease, background .3s ease, border-color .3s ease, transform .3s ease;
}

.exhibitor-categories-modern .exhibitor-category-card:hover .exhibitor-card-arrow {
    color: #fff;
    background: #f89939;
    border-color: #f89939;
    transform: translate(2px, -2px) rotate(0);
}

.exhibitor-categories-modern .exhibitor-icons {
    width: 68px;
    height: 68px;
    margin: 30px 0 22px;
    /* background: #e7f5ed;
    border: 1px solid #c7e8d5; */
    border-radius: 14px;
}

.exhibitor-categories-modern .exhibitor-category-card h3 {
    color: #172c2b;
}

.exhibitor-categories-modern .exhibitor-category-card p {
    color: #62736e;
}

.exhibitor-categories-modern .exhibitor-card-link {
    color: #119d60;
}

.exhibitor-categories-modern .exhibitor-pagination .swiper-pagination-bullet {
    background: #b9ccc3;
}

.exhibitor-categories-modern .exhibitor-pagination .swiper-pagination-bullet-active {
    background: #f89939;
}

.exhibitor-categories-modern .exhibitor-arrows button {
    width: 46px;
    height: 46px;
    color: #172c2b;
    background: #fff;
    border: 1px solid #cbdcd4;
    box-shadow: 0 6px 16px rgba(29, 74, 58, .09);
}

.exhibitor-categories-modern .exhibitor-arrows button:hover {
    color: #fff;
    background: #119d60;
    border-color: #119d60;
}

@media (max-width: 575px) {
    .exhibitor-categories-modern .exhibitor-category-card {
        min-height: 350px;
        padding: 22px;
    }
}

/*exh cat card css start*/
.category-card {
    position: relative;
    height: 100%;
    overflow: hidden;

    border-radius: 60px 20px 60px 20px;

    background: rgba(255, 255, 255, 0.04);

    border: 4px solid rgba(255, 255, 255, 0.5);

    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.18);

    transition:
        transform 0.5s cubic-bezier(.2, .8, .2, 1),
        box-shadow 0.5s ease,
        border-color 0.4s ease;
}

.category-image {
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 330px;
}

.category-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;

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

/* Dark transparent gradient for heading */
.category-image::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;

    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.8) 0%,
        rgba(0, 0, 0, 0.45) 35%,
        transparent 70%
    );

    pointer-events: none;
}

/* Shine effect */
.category-image::after {
    content: "";
    position: absolute;
    z-index: 2;

    top: -50%;
    left: -80%;

    width: 45%;
    height: 200%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.22),
        transparent
    );

    transform: rotate(25deg);

    transition: left 0.8s ease;

    pointer-events: none;
}

/* Category badge */
.category-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 3;

    display: inline-flex;
    align-items: center;

    padding: 7px 14px;

    color: #fff;
    font-size: 12px;
    font-weight: 600;

    background: #f89939;
    border-radius: 50px;

    box-shadow: 0 8px 20px rgba(248, 153, 57, 0.3);

    transition:
        transform 0.4s ease,
        background 0.4s ease;
}

/* Heading overlay */
.category-content {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 3;

    width: 100%;
    padding: 70px 25px 25px;

    transition: transform 0.5s ease;
}

.category-content h4 {
    margin: 0;

    color: #fff;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;

    transform: translateY(8px);

    transition:
        transform 0.5s cubic-bezier(.2, .8, .2, 1),
        color 0.3s ease;
}

/* HOVER */
.category-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.16);
}

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

.category-card:hover .category-image::after {
    left: 140%;
}

.category-card:hover .category-badge {
    transform: translateY(-3px);
    background: #119d60;
}

.category-card:hover .category-content h4 {
    transform: translateY(0);
}
/*exh cat card css end*/

/* .tp-our-mission-thumb .mission-area-image {
    position: relative;
    overflow: hidden;
    border-radius: 120px 25px 120px 25px ;
}

.tp-our-mission-thumb .mission-area-image {
    border-radius: 120px 25px;
    position: relative;
    overflow: hidden;
    background: #ccc;
    border: 1px #dadada solid;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .12);
} */

@media(max-width:991px) {
    .exhibitor-section .section-heading h2 {
        font-size: 38px;
    }

    .exhibitor-section .category-image {
        height: 220px;
    }
}

@media(max-width:767px) {
    .exhibitor-section .exhibitor-section {
        padding: 80px 0;
    }

    .exhibitor-section .section-heading h2 {
        font-size: 32px;
    }

    .exhibitor-section .category-content {
        padding: 22px;
    }

    .exhibitor-section .category-image {
        height: 200px;
    }
}


.tp-our-mission-area {
    padding: 70px 0 40px 0;
}

/*about show css start*/
/* =========================================================
   ABOUT SHOW — SECTION 01
   PLASTINDIA 2028 INTRO
========================================================= */

.about-show-intro {
    position: relative;
    padding: 110px 0;
    background: #f7f7f5;
    overflow: hidden;
}

.about-show-intro::before {
    content: "2028";

    position: absolute;
    right: -20px;
    bottom: -70px;

    font-size: 260px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.09em;

    color: rgba(155, 35, 70, 0.035);

    pointer-events: none;
}


/* ---------------------------------------------------------
   INTRO TOP
--------------------------------------------------------- */

.about-show-intro-top {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    align-items: center;

    gap: 80px;

    max-width: 1250px;
}


/* ---------------------------------------------------------
   PLASTINDIA 2028
--------------------------------------------------------- */

.about-show-year {
    display: flex;
    flex-direction: column;
}

.about-show-year span {
    font-size: 24px;
    line-height: 1;

    font-weight: 800;
    letter-spacing: 0.08em;

    color: #222;
}

.about-show-year strong {
    margin-top: 5px;

    font-size: clamp(90px, 9vw, 145px);
    line-height: 0.82;

    font-weight: 900;
    letter-spacing: -0.08em;

    color: #f26222;
}


/* ---------------------------------------------------------
   INTRO COPY
--------------------------------------------------------- */

.about-show-intro-copy {
    max-width: 900px;

    padding-left: 55px;

    border-left: 2px solid #f26222;
}

.about-show-lead {
    margin: 0 0 20px;

    font-size: 23px;
    line-height: 1.55;

    font-weight: 500;

    color: #000;
}

.about-show-intro-copy > p:not(.about-show-lead) {
    margin: 0;

    font-size: 16px;
    line-height: 1.8;

    color: #000;
}


/* ---------------------------------------------------------
   EVENT INFORMATION
--------------------------------------------------------- */

.about-show-organiser {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    margin-top: 56px;
    padding: 42px 32px 36px;
    text-align: center;
    background: #fff;
    border: 1px solid rgba(17, 157, 96, 0.16);
    border-radius: 22px;
    box-shadow: 0 16px 36px rgba(16, 40, 24, 0.08);
}

.about-show-organiser span {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 168px;
    padding: 8px 22px;
    border-radius: 999px;
    background: #2b2b2b;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
}

.about-show-organiser span::before,
.about-show-organiser span::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 120px;
    height: 1px;
    background: #2b2b2b;
}

.about-show-organiser span::before {
    right: 100%;
    margin-right: 14px;
}

.about-show-organiser span::after {
    left: 100%;
    margin-left: 14px;
}

.about-show-organiser strong {
    color: #111;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.25;
}

.about-show-event-info {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(3, 1fr);

    margin-top: 48px;

    border-top: 1px solid rgba(0, 0, 0, 0.12);
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.about-show-info-item {
    display: flex;
    align-items: center;

    gap: 18px;

    min-height: 110px;

    padding: 20px 30px;

    border-right: 1px solid rgba(0, 0, 0, 0.12);

    transition:
        background-color 0.35s ease;
}

.about-show-info-item:last-child {
    border-right: 0;
}

.about-show-info-item:hover {
    background: rgba(155, 35, 70, 0.035);
}


/* ---------------------------------------------------------
   INFO ICON
--------------------------------------------------------- */

.about-show-info-icon {
    width: 48px;
    height: 48px;

    flex: 0 0 48px;

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

    border-radius: 50%;

    background: #f26222;

    color: #fff;

    transition:
        transform 0.4s cubic-bezier(.16, 1, .3, 1),
        background-color 0.35s ease;
}

.about-show-info-icon i {
    font-size: 16px;
}

.about-show-info-item:hover .about-show-info-icon {
    transform: rotate(-8deg) scale(1.08);

    background: #119d60;
}


/* ---------------------------------------------------------
   INFO TEXT
--------------------------------------------------------- */

.about-show-info-item small {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #817e7e;
}

.about-show-info-item strong {
    display: block;

    font-size: 18px;
    line-height: 1.45;

    color: #272727;
}


/* =========================================================
   ABOUT SHOW — SECTION 02
   VISION / IMPACT STORIES
========================================================= */

.about-show-stories {
    position: relative;

    padding: 120px 0;

    background: #fff;

    overflow: hidden;
}


/* ---------------------------------------------------------
   STORY
--------------------------------------------------------- */

.about-story {
    display: grid;

    grid-template-columns: 1.05fr 0.95fr;

    align-items: center;

    gap: 90px;

    margin-bottom: 150px;
}

.about-story:last-child {
    margin-bottom: 0;
}


/* ---------------------------------------------------------
   REVERSE STORY
--------------------------------------------------------- */

.about-story-reverse {
    grid-template-columns: 0.95fr 1.05fr;
}

.about-story-reverse .about-story-image {
    order: 2;
}

.about-story-reverse .about-story-content {
    order: 1;
}


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

.about-story-image {
    position: relative;

    min-height: 570px;

    border-radius: 30px;

    overflow: hidden;

    background: #ddd;

    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.08);
}

.about-story-image img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 1.1s cubic-bezier(.16, 1, .3, 1);
}

.about-story:hover .about-story-image img {
    transform: scale(1.06);
}


/* ---------------------------------------------------------
   IMAGE OVERLAY
--------------------------------------------------------- */

.about-story-image-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0.02) 30%,
            rgba(0, 0, 0, 0.5) 100%
        );

    pointer-events: none;
}


/* ---------------------------------------------------------
   BIG NUMBER
--------------------------------------------------------- */

.about-story-image-number {
    position: absolute;

    left: 30px;
    bottom: 18px;

    z-index: 2;

    font-size: 130px;
    line-height: 0.85;

    font-weight: 900;
    letter-spacing: -0.08em;

    color: rgba(255, 255, 255, 0.9);

    transition:
        transform 0.6s cubic-bezier(.16, 1, .3, 1);
}

.about-story:hover .about-story-image-number {
    transform: translateX(8px);
}


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

.about-story-content {
    max-width: 650px;
}


/* ---------------------------------------------------------
   EYEBROW
--------------------------------------------------------- */

.about-story-eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 20px;

    font-size: 12px;
    line-height: 1;

    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: 0.14em;

    color: #f26222;
}

.about-story-eyebrow::before {
    content: "";

    width: 30px;
    height: 2px;

    background: #f26222;
}


/* ---------------------------------------------------------
   STORY HEADING
--------------------------------------------------------- */

.about-story-content h2 {
    margin: 0 0 20px 0;

    font-size: clamp(42px, 4.5vw, 67px);
    line-height: 1;

    font-weight: 800;

    letter-spacing: -0.045em;

    color: #222;
}

.about-story-content h2 span {
    display: block;

    color: #f26222;
}


/* ---------------------------------------------------------
   DECORATIVE LINE
--------------------------------------------------------- */

.about-story-line {
    width: 70px;
    height: 4px;

    margin: 30px 0;

    border-radius: 10px;

    background: #f26222;

    transition:
        width 0.5s cubic-bezier(.16, 1, .3, 1);
}

.about-story:hover .about-story-line {
    width: 100px;
}


/* ---------------------------------------------------------
   STORY PARAGRAPHS
--------------------------------------------------------- */

.about-story-content p {
    margin: 0 0 18px;

    font-size: 16px;
    line-height: 1.8;

    color: #6d6d6d;
}

.about-story-content p:last-of-type {
    margin-bottom: 0;
}


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

.about-story-btn {
    display: inline-flex;
    align-items: center;

    gap: 14px;

    margin-top: 25px;
    padding: 7px 7px 7px 22px;

    border-radius: 50px;

    background: #f26222;

    color: #fff;

    font-size: 13px;
    line-height: 1;

    font-weight: 700;

    text-decoration: none;

    transition:
        transform 0.35s ease,
        background-color 0.35s ease,
        box-shadow 0.35s ease;
}

.about-story-btn i {
    width: 38px;
    height: 38px;

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

    border-radius: 50%;

    background: #fff;

    color: #f26222;

    transition:
        transform 0.4s cubic-bezier(.16, 1, .3, 1);
}

.about-story-btn:hover {
    color: #fff;

    background: #530f26;

    transform: translateY(-3px);

    box-shadow:
        0 15px 35px rgba(83, 15, 38, 0.22);
}

.about-story-btn:hover i {
    transform: rotate(45deg);
}


/* =========================================================
   TABLET — 991px
========================================================= */

@media (max-width: 991px) {

    /* Intro */

    .about-show-intro {
        padding: 85px 0;
    }

    .about-show-intro-top {
        grid-template-columns: 190px minmax(0, 1fr);

        gap: 45px;
    }

    .about-show-year strong {
        font-size: 90px;
    }

    .about-show-intro-copy {
        padding-left: 35px;
    }

    .about-show-lead {
        font-size: 19px;
    }

    .about-show-event-info {
        grid-template-columns: 1fr;
    }

    .about-show-info-item {
        border-right: 0;

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

    .about-show-info-item:last-child {
        border-bottom: 0;
    }


    /* Stories */

    .about-show-stories {
        padding: 90px 0;
    }

    .about-story,
    .about-story-reverse {
        grid-template-columns: 1fr;

        gap: 50px;

        margin-bottom: 100px;
    }

    .about-story-reverse .about-story-image,
    .about-story-reverse .about-story-content {
        order: initial;
    }

    .about-story-image {
        min-height: 500px;
    }

    .about-story-content {
        max-width: 800px;
    }

}


/* =========================================================
   MOBILE — 575px
========================================================= */

@media (max-width: 575px) {

    /* Intro */

    .about-show-intro {
        padding: 65px 0;
    }

    .about-show-intro::before {
        font-size: 170px;

        right: -20px;
        bottom: -30px;
    }

    .about-show-intro-top {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .about-show-year span {
        font-size: 20px;
    }

    .about-show-year strong {
        font-size: 85px;
    }

    .about-show-intro-copy {
        padding-left: 22px;
    }

    .about-show-lead {
        font-size: 18px;
        line-height: 1.6;
    }

    .about-show-intro-copy > p:not(.about-show-lead) {
        font-size: 15px;
        line-height: 1.7;
    }

    .about-show-organiser {
        margin-top: 40px;
        gap: 16px;
        padding: 32px 18px 28px;
    }

    .about-show-organiser span::before,
    .about-show-organiser span::after {
        width: 36px;
    }

    .about-show-organiser strong {
        font-size: 20px;
    }

    .about-show-event-info {
        margin-top: 32px;
    }

    .about-show-info-item {
        min-height: 95px;

        padding: 18px 5px;
    }

    .about-show-info-icon {
        width: 43px;
        height: 43px;

        flex-basis: 43px;
    }

    .about-show-info-item strong {
        font-size: 13px;
    }


    /* Stories */

    .about-show-stories {
        padding: 65px 0;
    }

    .about-story {
        gap: 35px;

        margin-bottom: 80px;
    }

    .about-story-image {
        min-height: 400px;

        border-radius: 22px;
    }

    .about-story-image-number {
        left: 20px;
        bottom: 10px;

        font-size: 90px;
    }

    .about-story-content h2 {
        font-size: 43px;
    }

    .about-story-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .about-story-line {
        margin: 25px 0;
    }

}
/*about show css end*/

    /* Responsive */
    @media (max-width: 991px) {
        .quick-links-wrapper {
            grid-template-columns: 1fr;
        }

        .dates-box {
            width: 57px;
            height: 76px;
        }

        .dates-box strong {
            font-size: 20px;
        }

        .dates-box span {
            font-size: 10px;
        }

        .viksit-bharat-img {
            margin-top: 5px;
            margin-bottom: 15px;
            width: 90%;
        }
    }

    @media (max-width: 575px) {
        .quick-links-area {
            padding: 0 0;
        }

        .quick-link-card {
            padding: 22px 18px;
            gap: 15px;
        }

        .quick-link-icon {
            width: 55px;
            min-width: 55px;
            height: 55px;
            font-size: 21px;
        }

        .quick-link-content h4 {
            font-size: 17px;
        }

        .quick-link-arrow {
            width: 38px;
            min-width: 38px;
            height: 38px;
        }
    }

    @media (max-width: 375px) {
        .event-dates {
            gap: 5px;
        }
    }

    

/* =========================
   PRESIDENT HERO
========================= */

.page-hero {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: center;
  overflow: hidden;

  background-image: url("../../images/pi28/pi28-page-header-bg.jpg");
  background-size: cover;
  background-position: bottom right;
  background-repeat: no-repeat;
}

.page-hero.practice-3r {
    background-image: url("../../images/pi28/practice-3r-ph-bg.jpg");
    background-position: top right;
}

.page-hero.prn {
    background-image: url("../../images/pi28/prh-ph-bg.jpg");
    background-position: top right;
}

.exhibitor-hero {
    background-image: url("../../images/pi28/inner-page-banner/exhibitor_banner.jpg");
    background-position: bottom right;
}

.news-events-hero {
    background-image: url("../../images/pi28/inner-page-banner/news-banner.jpg");
    background-position: bottom right;
}

.industries-status-hero {
    background-image: url("../../images/pi28/inner-page-banner/make-in-india.jpg");
    background-position: bottom right;
}

.sponsorship-opportunities-hero {
    background-image: url("../../images/pi28/inner-page-banner/sponsor-banner.jpg");
    background-position: top right;
}

.foundation-hero {
    background-image: url("../../images/pi28/inner-page-banner/foundation-banner.jpg");
    background-position: bottom right;
}

/* Left dark gradient */
.page-hero-overlay {
  position: absolute;
  inset: 0;

  /* background: linear-gradient(90deg, #195c2ef5 0%, #195c2ee0 44%, #195c2e8c 62%, #195c2e14 86%, #195c2e00 100%); */
  background: linear-gradient(90deg, #050b35f5 0%, #27224de0 44%, #27195c8c 62%, #195c2e14 86%, #195c2e00 100%);
}

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

.page-hero h1 {
    text-align: left;
}

.hero-content {
  max-width: 850px;
  padding: 75px 0;
}


/* =========================
   BREADCRUMB
========================= */

.hero-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 13px;

  margin-bottom: 30px;

  font-size: 14px;
  font-weight: 500;
}

.hero-breadcrumb a,
.hero-breadcrumb span {
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
}

.hero-breadcrumb a:hover {
  color: #25d4ad;
}

.hero-breadcrumb i {
  font-size: 11px;
}

.hero-breadcrumb > span:not(:last-child) {
  color: rgba(255, 255, 255, 0.4);
}


/* =========================
   TITLE
========================= */

.hero-title {
  position: relative;
}

.title-line {
  display: none;
  width: 58px;
  height: 5px;

  margin-bottom: 22px;

  border-radius: 20px;

  background: linear-gradient(
    90deg,
    #f89939 0 48%,
    #119d60 48% 100%
  );
}

.hero-title h1 {
  margin: 0;

  color: #ffffff;

  font-size: clamp(48px, 5vw, 76px);
  line-height: 1.02;

  font-weight: 500;

  letter-spacing: -2.5px;
}

.hero-title h1 strong {
  display: block;

  color: #fff;

  font-weight: 700;
}

.hero-title p {
  max-width: 500px;

  margin: 25px 0 0;

  color: rgba(255, 255, 255, 0.72);

  font-size: 17px;
  line-height: 1.6;
}


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

@media (max-width: 991px) {

  .page-hero {
    min-height: 450px;
    background-position: 65% center;
  }

  .page-hero-overlay {
    background: linear-gradient(
      90deg,
      rgba(0, 48, 53, 0.96) 0%,
      rgba(0, 48, 53, 0.80) 55%,
      rgba(0, 48, 53, 0.35) 100%
    );
  }

  .hero-content {
    padding: 60px 0;
  }

  .hero-breadcrumb {
    margin-bottom: 40px;
  }

  .hero-title h1 {
    font-size: 56px;
  }
}


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

@media (max-width: 575px) {

  .page-hero {
    min-height: 430px;
    background-position: 68% center;
  }

  .page-hero-overlay {
    background: linear-gradient(
      90deg,
      rgba(0, 48, 53, 0.97) 0%,
      rgba(0, 48, 53, 0.88) 75%,
      rgba(0, 48, 53, 0.65) 100%
    );
  }

  .hero-content {
    padding: 45px 20px;
  }

  .hero-breadcrumb {
    gap: 8px;
    margin-bottom: 35px;
    font-size: 12px;
  }

  .hero-title h1 {
    font-size: 42px;
    letter-spacing: -1.5px;
  }

  .hero-title p {
    margin-top: 20px;
    font-size: 15px;
  }

  .title-line {
    width: 48px;
    height: 4px;
  }
}

.sticky-left {
    display: none !important;
}

.social-box {
    display: none !important;
}

/*responsive css*/

/* =========================================
   DESKTOP
========================================= */
@media (max-width: 1600px) {
    .site-logo .site-logo-img {
        max-height: 45px;
        width: auto;
    }

    .header-supported img {
        height: 38px;
        max-width: 180px;
    }

    .header-brand-divider {
        min-height: 42px;
    }

    .main-navigation .nav-link {
        font-size: 14px;
    }

    .main-navigation .dropdown-item {
        font-size: 14px;
    }

    .hero-slide {
        position: relative;
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

    .pi-about-home-img {
        height: 600px;
        width: 100%;
        object-fit: contain;
    }

    .pi-about-home {
        padding: 140px 0 70px;
    }

    .highlight-orbit {
        width: 300px;
        height: 300px;
    }

    .highlight-orbit-left {
        top: -110px;
        left: -125px;
    }

    .highlight-orbit-right {
        bottom: -110px;
        right: -110px;
    }

    .pi-about-home .highlight-orbit-right {
        top: -110px;
        right: -110px;
    }

    .pi-abt-home-txt {
        padding: 0 0 0 0;
    }

    .pi-highlights {
        padding: 50px 0 50px;
    }

    .pi-highlight-layout {
        margin-top: 40px;
        transform: scale(0.85);
    }

    .event-countdown-wrap {
        max-width: 1150px;
    }

    .pifoundation-image {
        width: 100%;
    }

    .pifoundation-blob {
        width: 210px;
        height: 210px;
        left: 10px;
    }

    .nec-row .pifoundation-blob {
        right: 10px;
    }

    .countdown-title h3,
.countdown-title .countdown-kicker {
        font-size: 32px;
    }

}

@media (max-width: 1366px) {
.site-logo .site-logo-img {
        max-height: 38px;
        width: auto;
    }

    .header-brand {
        gap: 10px;
    }

    .header-supported img {
        height: 32px;
        max-width: 150px;
    }

    .header-supported span {
        font-size: 9px;
        letter-spacing: 0.08em;
    }

    .header-brand-divider {
        min-height: 36px;
    }

    .header-bottom-inner {
        max-width: 100%;
        padding: 0 15px;
        gap: 20px;
    }

    .main-navigation .nav-link {
        font-size: 13px;
        padding: 27px 6px !important;
    }

    .btn-ticket {
        padding: 10px 15px;
        font-size: 12px;
    }

    .header-bottom {
        min-height: inherit;
        /* background: rgba(10, 10, 35, 0.08); */
    }

    .header-bottom-inner {
        min-height: inherit;
    }

    .main-navigation .dropdown-menu {
        top: calc(100% + 0px);
    }

    .main-navigation .nav-item:last-child .dropdown-menu {
        top: calc(100% + 13px);
    }

    .pi-about-home-img {
        height: 450px;
    }

    .piabout-img {
        flex: 0 0 auto;
        width: 41.66666667%;
    }

    .piabout-txt {
        flex: 0 0 auto;
        width: 58.33333333%;
    }

    .pi-section-title {
        font-size: clamp(34px, 5vw, 40px);
        margin-bottom: 25px;
    }

    .main-navigation .dropdown-item {
        padding: 7px 13px;
    }

    .pi-highlight-heading {
        margin: 0 auto 0;
    }

    .pi-highlight-layout {
        margin-top: 10px;
        transform: scale(0.80);
    }

    .pi-highlight-heading h2 {
        font-size: clamp(34px, 5vw, 40px);
    }

    .pifoundation {
        padding: 50px 0;
    }

    .pifoundation .pi-section-title {
        margin: 0 0 20px 0;
        font-size: clamp(34px, 5vw, 40px);
    }

    .home-sponsors {
        padding: 50px 0 50px;
    }

    .picta {
        min-height: inherit;
        padding: 50px 0;
    }

    .pi-footer {
        padding: 50px 0 0;
    }

    .pi-footer-column li {
        margin-bottom: 8px;
    }
}

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

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

@media (max-width: 1199px) {

    .countdown-content {
        padding: 25px 30px;

        grid-template-columns: 1fr 1.5fr 1fr;

        gap: 20px;
    }

    .countdown-title h3,
.countdown-title .countdown-kicker {
        font-size: 32px;
    }

    .countdown-title h4,
.countdown-title .countdown-sub {
        font-size: 21px;
    }

    .countdown-timer {
        gap: 8px;
    }

    .countdown-box {
        width: 72px;
        height: 75px;
        border-radius: 14px;
    }

    .countdown-box strong {
        font-size: 25px;
    }

    .countdown-location i {
        font-size: 38px;
    }

    .countdown-location a {
        font-size: 15px;
    }
}


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

@media (max-width: 991px) {

    .pi-top-section {
        min-height: 180px;
    }

    .pi-highlight {
        padding-top: 330px;
        padding-bottom: 70px;
    }

    .event-countdown {
        width: calc(100% - 30px);
        max-width: 600px;
    }

    .countdown-content {
        padding: 25px 20px;

        display: flex;
        flex-direction: column;

        gap: 20px;

        text-align: center;
    }

    .countdown-title h3,
.countdown-title .countdown-kicker {
        font-size: 30px;
    }

    .countdown-title h4,
.countdown-title .countdown-sub {
        font-size: 20px;
    }

    .countdown-timer {
        width: 100%;
    }

    .countdown-box {
        flex: 1;

        max-width: 80px;
        height: 75px;
    }

    .countdown-location {
        justify-content: center;
    }

    .countdown-location a {
        text-align: left;
    }

    .pi-highlight-list {
        row-gap: 45px;
    }

    .pi-highlight-item {
        text-align: center;
    }

        .pi-highlight-icon {
        margin-left: inherit;
        margin-right: inherit;
        justify-content: center;
    }

    .pi-highlight-item p {
        margin-left: auto;
        margin-right: auto;
    }

    .qlbtn {
        flex-direction: column;
    }

        .event-countdown-wrap {
        transform: none;
        position: relative;
        left: 0;
        width: 100%;
        right: 0;
        margin: 0 auto 30px auto;
    }

    .hero-caption h1 {
        font-size: 28px;
        line-height: 1.1;
        margin-bottom: 22px;
    }

        .pi-about-home {
        padding: 50px 0 50px;
    }

    .piabout-img {
        flex: 0 0 auto;
        width: 100%;
    }

        .piabout-txt {
        flex: 0 0 auto;
        width: 100%;
    }

    .pi-about-home-img {
        margin-bottom: 30px;
    }

    .pi-highlights {
        position: relative;
    }

    .pi-highlights {
        order: 1;
    }

    .pi-highlight-right {
        order: 2;
        display: none;
    }

    .pi-highlight-gallery {
        order: 3;
        display: none;
    }

    .pi-highlight-layout {
        margin-top: 10px;
        transform: scale(1);
        gap: 10px;
    }

    .pi-highlight-heading p {
        font-size: 11px;
        padding: 0 15px;
        margin-bottom: 35px;
    }

    .desk-hide {
        display: block;
    }

    .pi-highlight-card-top h3 {
        margin: 0;
        font-size: 24px;
        font-weight: 800;
    }

    .pi-highlight-icon {
        width: 35px;
        height: 35px;
    }

    .pi-highlight-icon i {
        font-size: 20px;
    }

    .piabout-img img {
        height: auto;
    }

    .piabout-img img {
        border-radius: 60px 25px 60px 25px;
    }

    .highlight-orbit-ring {
    border: 20px solid transparent;
}

.highlight-orbit {
    width: 150px;
    height: 150px;
}

.pifoundation-blob {
    display: none;
}

.pifoundation-ring {
    display: none;
}

.pifoundation-visual {
    min-height: inherit;
}

.pifoundation-image {
    border-radius: 60px 25px 60px 25px;
    margin-bottom: 30px;
}

.pifoundation-content {
    padding-left: 0px;
}

.pifoundation-content p {
    font-size: 14px;
}

.nec-row .col-xl-6:first-child {
    order: 2;
}

.nec-row .col-xl-6:last-child {
    order: 1;
}

.category-content h4 {
    font-size: 16px;
}

.category-image {
  min-height: 180px;
}

.exhibitor-section {
    padding: 50px 0;
}
    
}


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

@media (max-width: 575px) {

    .pi-top-section {
        min-height: 150px;
    }

    .pi-highlight {
        padding-top: 360px;
    }

    .event-countdown {
        width: calc(100% - 20px);
        margin: 0 auto;
        border-radius: 14px;
    }

    .countdown-content {
        padding: 22px 15px;
    }

    .countdown-title h3,
.countdown-title .countdown-kicker {
        font-size: 27px;
    }

    .countdown-title h4,
.countdown-title .countdown-sub {
        font-size: 18px;
    }

    .countdown-timer {
        gap: 5px;
    }

    .countdown-box {
        width: 62px;
        height: 65px;

        border-radius: 11px;
    }

    .countdown-box strong {
        font-size: 21px;
    }

    .countdown-box span {
        font-size: 9px;
    }

    .countdown-location i {
        font-size: 32px;
    }

    .countdown-location a {
        font-size: 13px;
    }
}

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


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

        @media (max-width: 1199.98px) {

            .main-navigation .nav-link {
                padding-left: 9px !important;
                padding-right: 9px !important;
                font-size: 14px;
            }

            .header-actions {
                gap: 10px;
            }

            .btn-ticket {
                padding: 11px 18px;
            }
        }


        @media (max-width: 991.98px) {

            .header-top-inner {
                justify-content: center;
            }

            .header-contact {
                font-size: 13px;
            }

            .header-social {
                display: none;
            }

            .header-bottom {
                min-height: 80px;
            }

            .header-bottom-inner {
                min-height: 80px;
            }

            .site-logo {
                font-size: 28px;
            }

            .main-navigation {
                margin-left: 0;
            }

            .main-navigation .navbar-toggler {
                width: 46px;
                height: 40px;
                border: 1px solid rgba(17, 157, 96, 0.25);
                padding: 7px 10px;
                background: transparent;
                border-radius: 10px;
                transition: border-color 0.25s ease, transform 0.25s ease;
            }

            .main-navigation .navbar-toggler:focus {
                outline: 0;
                box-shadow: none;
            }

            .main-navigation .navbar-toggler:hover {
                border-color: rgba(17, 157, 96, 0.45);
            }

            .main-navigation .navbar-toggler-icon {
                position: relative;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                gap: 6px;
                width: 24px;
                height: 18px;
                margin: 0 auto;
                background: transparent;
            }

            .main-navigation .nav-icon-bar {
                display: block;
                width: 100%;
                height: 2px;
                border-radius: 999px;
                background: #111827;
                transition: transform 0.28s ease, opacity 0.2s ease;
            }

            .main-navigation .navbar-toggler.is-open .nav-icon-bar:nth-child(1) {
                transform: translateY(8px) rotate(45deg);
            }

            .main-navigation .navbar-toggler.is-open .nav-icon-bar:nth-child(2) {
                opacity: 0;
            }

            .main-navigation .navbar-toggler.is-open .nav-icon-bar:nth-child(3) {
                transform: translateY(-8px) rotate(-45deg);
            }

            .main-navigation .navbar-collapse {
                top: 80px;
                left: 0;
                right: 0;
                bottom: 0;
                width: 100%;
                position: fixed;
                border-radius: 0;
                background: #fff;
                padding: 5px 15px 28px;
                overflow-x: hidden;
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
                overscroll-behavior: contain;
            }

            body.pi28-nav-open {
                overflow: hidden;
            }

            .main-navigation .navbar-nav {
                align-items: stretch;
                gap: 0;
            }

            .main-navigation .nav-link {
                padding: 11px 10px !important;
            }

            .header-actions .header-action-icon {
                display: none;
            }

            .header-actions {
                margin-left: 0;
            }
        }


        @media (max-width: 575.98px) {

            .header-top {
                display: none;
            }

            .header-bottom {
                min-height: 75px;
            }

            .main-navigation .navbar-collapse {
                top: 75px;
            }

            .header-bottom-inner {
                min-height: 75px;
                padding: 0 15px;
            }

            .site-logo {
                font-size: 25px;
            }

            .header-brand {
                gap: 8px;
            }

            .header-brand-divider {
                min-height: 30px;
                margin: 4px 0;
            }

            .header-supported span {
                font-size: 8px;
                letter-spacing: 0.06em;
            }

            .header-supported img {
                height: 26px;
                max-width: 108px;
            }

            .site-logo i {
                font-size: 27px;
            }

            .btn-ticket {
                display: none;
            }
        }

/* =========================================================
   VISITOR INTEREST FORM
   lead-generation-form.blade.php
========================================================= */

.lg-register {
    padding: 72px 0 96px;
    background: linear-gradient(180deg, #ffffff 0%, #f6faf7 48%, #fff8f1 100%);
}

.lg-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
    gap: 48px;
    align-items: stretch;
}

.lg-layout > .lg-intro,
.lg-layout > .lg-card {
    height: 100%;
}

.lg-eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: #119d60;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.lg-intro h2 {
    margin: 0 0 16px;
    color: #1a1a1a;
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.15;
    font-weight: 800;
}

.lg-intro h2 span {
    color: #119d60;
    white-space: nowrap;
}

.lg-intro > p {
    margin: 0 0 18px;
    max-width: 560px;
    color: #3a3a3a;
    font-size: 17px;
    line-height: 1.7;
}

.lg-note {
    display: inline-block;
    margin: 0 0 22px;
    padding: 12px 16px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(248, 153, 57, 0.35);
    color: #3a3a3a;
    font-size: 15px;
    line-height: 1.5;
}

.lg-note strong {
    color: #f89939;
}

.lg-points {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lg-points li {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #1a1a1a;
    font-size: 16px;
    font-weight: 700;
}

.lg-points i {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 10px;
    background: rgba(17, 157, 96, 0.1);
    color: #119d60;
}

.lg-card {
    padding: 36px 32px 32px;
    background: #fff;
    border: 1px solid rgba(17, 157, 96, 0.12);
    border-radius: 20px;
    box-shadow: 0 18px 40px rgba(16, 40, 24, 0.08);
}

.lg-card h2 {
    margin: 0 0 6px;
    color: #1a1a1a;
    font-size: 28px;
    font-weight: 800;
}

.lg-card > p {
    margin: 0 0 22px;
    color: #5c5c5c;
    font-size: 15px;
}

.lg-field {
    display: block;
    margin-bottom: 16px;
}

.lg-field span {
    display: block;
    margin-bottom: 8px;
    color: #1a1a1a;
    font-size: 14px;
    font-weight: 700;
}

.lg-field input,
.lg-field select {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    border: 1px solid #e3e8e4;
    border-radius: 12px;
    background: #f8fbf9;
    color: #1a1a1a;
    font-family: inherit;
    font-size: 16px;
}

.lg-field select {
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, #1a1a1a 50%), linear-gradient(135deg, #1a1a1a 50%, transparent 50%);
    background-position: calc(100% - 18px) 24px, calc(100% - 12px) 24px;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    padding-right: 36px;
}

.lg-field input:focus,
.lg-field select:focus {
    outline: none;
    border-color: #119d60;
    background-color: #fff;
    box-shadow: 0 0 0 4px rgba(17, 157, 96, 0.12);
}

.lg-field input.is-invalid,
.lg-field select.is-invalid {
    border-color: #c2410c;
    background-color: #fff;
}

.lg-error,
.lg-field-error {
    margin: 4px 0 14px;
    color: #c2410c;
    font-size: 14px;
    font-weight: 700;
}

.lg-field-error {
    margin: 6px 0 0;
    font-size: 13px;
}

.lg-submit {
    width: 100%;
    margin-top: 6px;
    padding: 16px 24px;
    border: 0;
    border-radius: 12px;
    background: #119d60;
    color: #fff;
    font-family: inherit;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
}

.lg-submit:hover {
    background: #f89939;
}

.lg-submit:disabled {
    opacity: 0.7;
    cursor: wait;
}

.lg-modal {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(16, 40, 24, 0.62);
}

.lg-modal[hidden] {
    display: none;
}

.lg-modal-card {
    position: relative;
    width: min(520px, 100%);
    padding: 42px 32px 36px;
    text-align: center;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 24px 50px rgba(16, 40, 24, 0.18);
}

.lg-modal-card button {
    position: absolute;
    top: 12px;
    right: 14px;
    border: 0;
    background: transparent;
    color: #5c5c5c;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
}

.lg-modal-icon {
    display: inline-flex;
    margin-bottom: 10px;
    color: #119d60;
    font-size: 42px;
}

.lg-modal-card h2 {
    margin: 0 0 12px;
    color: #1a1a1a;
    font-size: 28px;
    font-weight: 800;
}

.lg-modal-card p {
    margin: 0 auto 10px;
    max-width: 420px;
    color: #3a3a3a;
    font-size: 16px;
    line-height: 1.6;
}

.lg-modal-follow {
    margin-bottom: 18px;
    font-weight: 700;
}

.lg-thanks {
    max-width: 640px;
    margin: 0 auto;
    padding: 48px 32px 40px;
    text-align: center;
    background: #fff;
    border: 1px solid rgba(17, 157, 96, 0.12);
    border-radius: 20px;
    box-shadow: 0 18px 40px rgba(16, 40, 24, 0.08);
}

.lg-thanks h2 {
    margin: 0 0 12px;
    color: #1a1a1a;
    font-size: 32px;
    font-weight: 800;
}

.lg-thanks p {
    margin: 0 auto 10px;
    max-width: 460px;
    color: #3a3a3a;
    font-size: 16px;
    line-height: 1.6;
}

@media (max-width: 991px) {
    .lg-register {
        padding: 48px 0 64px;
    }

    .lg-layout {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (max-width: 575px) {
    .lg-card {
        padding: 24px 18px 22px;
    }

    .lg-card h2,
    .lg-modal-card h2 {
        font-size: 24px;
    }
}

/* Product categories accordion */
.pc-wrap {
    padding: 56px 0 88px;
    background: linear-gradient(180deg, #ffffff 0%, #f6faf7 100%);
}

.pc-lead {
    max-width: 720px;
    margin: 0 0 22px;
    color: #3a3a3a;
    font-size: 17px;
    line-height: 1.6;
}

.pc-search {
    display: block;
    max-width: 520px;
    margin-bottom: 22px;
}

.pc-search input {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    border: 1px solid #e3e8e4;
    border-radius: 12px;
    background: #fff;
    color: #1a1a1a;
    font-family: inherit;
    font-size: 16px;
}

.pc-search input:focus {
    outline: none;
    border-color: #119d60;
    box-shadow: 0 0 0 4px rgba(17, 157, 96, 0.12);
}

.pc-empty {
    margin: 12px 0 0;
    color: #5c5c5c;
    font-weight: 700;
}

.pc-list,
.pc-children {
    display: grid;
    gap: 10px;
}

.pc-children {
    margin: 10px 0 4px 18px;
    padding-left: 14px;
    border-left: 2px solid rgba(17, 157, 96, 0.2);
}

.pc-toggle,
.pc-leaf {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid rgba(17, 157, 96, 0.12);
    border-radius: 12px;
    background: #fff;
    color: #1a1a1a;
    text-align: left;
    font-family: inherit;
}

.pc-toggle {
    cursor: pointer;
}

.pc-toggle:hover,
.pc-toggle[aria-expanded="true"] {
    border-color: #119d60;
}

.pc-code {
    flex: 0 0 auto;
    min-width: 10px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
    background: #119d60;
    width: auto;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
    padding: 0 7px;
    min-width: 28px;
}

.pc-name {
    flex: 1 1 auto;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
}

.pc-toggle i {
    margin-top: 3px;
    color: #5c5c5c;
    transition: transform 0.2s ease;
}

.pc-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.pc-children .pc-name {
    font-weight: 600;
}

@media (max-width: 575px) {
    .pc-wrap {
        padding: 36px 0 56px;
    }

    .pc-code {
        min-width: 58px;
    }

    .pc-children {
        margin-left: 8px;
        padding-left: 10px;
    }
}