```css id="r9z4ma"
/* =========================================================
   PEMEXA WORLDWIDE
   PAGES.CSS

   Shared styles for:
   - pss-mankon.html
   - branches.html
   - badges.html
   - community.html
   - mentorship.html
   - blog.html
   - vendors.html
   - professionals.html
   - events.html
   - gallery.html
   - contact.html
========================================================= */

/* =========================================================
   PAGE HERO
========================================================= */

.page-hero {

    background:
        linear-gradient(
            135deg,
            var(--pemexa-blue),
            #1b6fd6
        );

    color: white;

    padding: 90px 0;

}

.page-hero-container {

    max-width: 900px;

}

.page-hero h1 {

    font-family: 'Montserrat', sans-serif;

    font-size: 3rem;

    margin-bottom: 20px;

}

.page-hero p {

    font-size: 1.05rem;

    line-height: 1.9;

    opacity: .95;

}

/* =========================================================
   STANDARD SECTIONS
========================================================= */

.page-section {

    padding: 70px 0;

    background: white;

}

.page-section-alt {

    padding: 70px 0;

    background: #F5F7FA;

}

.section-title {

    text-align: center;

    margin-bottom: 15px;

}

.section-title h2 {

    font-size: 2rem;

    color: var(--pemexa-blue);

    margin-bottom: 10px;

}

.section-title p {

    color: #666;

    max-width: 800px;

    margin: auto;

}

/* =========================================================
   STANDARD GRID
========================================================= */

.grid-2 {

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 40px;

}

.grid-3 {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 30px;

}

.grid-4 {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 25px;

}

/* =========================================================
   STANDARD CARD
========================================================= */

.card {

    background: white;

    border-radius: 8px;

    padding: 25px;

    box-shadow: var(--shadow-sm);

    transition: var(--transition);

}

.card:hover {

    transform: translateY(-4px);

    box-shadow: var(--shadow-md);

}

.card h3 {

    color: var(--pemexa-blue);

    margin-bottom: 15px;

}

.card p {

    color: #666;

}

/* =========================================================
   BRANCH TREE
========================================================= */

.branch-tree {

    max-width: 900px;

    margin: auto;

}

.branch-group {

    margin-bottom: 15px;

}

.branch-header {

    background: white;

    border-left: 5px solid
        var(--pemexa-green);

    padding: 16px 20px;

    cursor: pointer;

    box-shadow: var(--shadow-sm);

    font-weight: 700;

}

.branch-content {

    display: none;

    background: #FAFAFA;

    padding: 15px 25px;

}

.branch-content.active {

    display: block;

}

.branch-content a {

    display: block;

    color: var(--pemexa-blue);

    padding: 8px 0;

}

/* =========================================================
   BADGES
========================================================= */

.badge-card {

    text-align: center;

    background: white;

    padding: 30px;

    border-radius: 8px;

    box-shadow: var(--shadow-sm);

}

.badge-year {

    font-size: 3rem;

    font-weight: 800;

    color: var(--pemexa-gold);

}

.badge-card h3 {

    margin-top: 10px;

    color: var(--pemexa-blue);

}

/* =========================================================
   BLOG
========================================================= */

.blog-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 30px;

}

.blog-card {

    background: white;

    border-radius: 8px;

    overflow: hidden;

    box-shadow: var(--shadow-sm);

}

.blog-image {

    height: 220px;

    background:
        linear-gradient(
            135deg,
            var(--pemexa-blue),
            var(--pemexa-green)
        );

}

.blog-content {

    padding: 20px;

}

.blog-date {

    color: var(--pemexa-green);

    font-size: .8rem;

    margin-bottom: 10px;

}

.blog-title {

    color: var(--pemexa-blue);

    font-weight: 700;

    margin-bottom: 12px;

}

/* =========================================================
   EVENTS
========================================================= */

.event-card {

    background: white;

    display: flex;

    gap: 20px;

    padding: 20px;

    border-radius: 8px;

    box-shadow: var(--shadow-sm);

}

.event-date {

    min-width: 90px;

    text-align: center;

    background: var(--pemexa-blue);

    color: white;

    border-radius: 6px;

    padding: 12px;

}

.event-day {

    font-size: 2rem;

    font-weight: 800;

}

.event-month {

    font-size: .8rem;

}

.event-info h3 {

    color: var(--pemexa-blue);

    margin-bottom: 10px;

}

.event-location {

    color: #777;

    font-size: .9rem;

}

/* =========================================================
   PROFESSIONALS
========================================================= */

.professional-card {

    background: white;

    border-radius: 8px;

    text-align: center;

    padding: 30px;

    box-shadow: var(--shadow-sm);

}

.professional-photo {

    width: 130px;

    height: 130px;

    border-radius: 50%;

    margin: auto auto 20px;

    background:
        linear-gradient(
            135deg,
            var(--pemexa-blue),
            var(--pemexa-green)
        );

}

.professional-card h3 {

    color: var(--pemexa-blue);

}

.profession {

    color: var(--pemexa-green);

    font-weight: 600;

    margin-top: 8px;

}

/* =========================================================
   VENDORS
========================================================= */

.vendor-card {

    background: white;

    border-radius: 8px;

    padding: 25px;

    box-shadow: var(--shadow-sm);

}

.vendor-logo {

    width: 80px;

    height: 80px;

    border-radius: 8px;

    background:
        linear-gradient(
            135deg,
            var(--pemexa-blue),
            var(--pemexa-green)
        );

    margin-bottom: 20px;

}

.vendor-category {

    color: var(--pemexa-green);

    font-size: .85rem;

    font-weight: 700;

    margin-bottom: 10px;

}

/* =========================================================
   MENTORSHIP
========================================================= */

.mentor-card {

    background: white;

    border-radius: 8px;

    padding: 25px;

    text-align: center;

    box-shadow: var(--shadow-sm);

}

.mentor-photo {

    width: 120px;

    height: 120px;

    border-radius: 50%;

    margin: auto auto 20px;

    background:
        linear-gradient(
            135deg,
            var(--pemexa-green),
            var(--pemexa-blue)
        );

}

.mentor-role {

    color: var(--pemexa-green);

    font-weight: 700;

}

/* =========================================================
   GALLERY
========================================================= */

.gallery-grid {

    display: grid;

    grid-template-columns:
        repeat(auto-fill,minmax(300px,1fr));

    gap: 20px;

}

.gallery-item {

    overflow: hidden;

    border-radius: 8px;

    box-shadow: var(--shadow-sm);

}

.gallery-item img {

    width: 100%;

    height: 250px;

    object-fit: cover;

}

/* =========================================================
   CONTACT
========================================================= */

.contact-layout {

    display: grid;

    grid-template-columns:
        1fr 1.3fr;

    gap: 40px;

}

.contact-card {

    background: white;

    padding: 25px;

    border-radius: 8px;

    box-shadow: var(--shadow-sm);

}

.contact-form {

    display: flex;

    flex-direction: column;

    gap: 16px;

}

.contact-form input,
.contact-form textarea {

    width: 100%;

    padding: 14px;

    border: 1px solid #DADADA;

    border-radius: 6px;

    font-family: inherit;

}

.contact-form textarea {

    min-height: 180px;

    resize: vertical;

}

.contact-form button {

    background: var(--pemexa-green);

    color: white;

    padding: 14px;

    border-radius: 6px;

    font-weight: 700;

}

/* =========================================================
   TABLES
========================================================= */

.table-wrapper {

    overflow-x: auto;

}

table {

    width: 100%;

    border-collapse: collapse;

    background: white;

}

table th {

    background: var(--pemexa-blue);

    color: white;

    text-align: left;

    padding: 14px;

}

table td {

    padding: 14px;

    border-bottom: 1px solid #EAEAEA;

}
```
