/*
Theme Name: Gama Training
Theme URI: https://gamasemesta.com
Author: Gama Semesta Konsultindo
Author URI: https://gamasemesta.com
Description: Custom theme for Gama Semesta Konsultindo - Training & Kursus Profesional
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gama-training
*/

/* Base Reset */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    line-height: 1.6;
    color: #374151;
    background-color: #FFFFFF;
    font-size: 15px;
    font-weight: 400;
}

a {
    text-decoration: none;
    color: #374151;
    transition: color 0.3s ease;
}

a:hover {
    color: #111827;
}

img {
    max-width: 100%;
    height: auto;
}

ul, ol {
    list-style: none;
}

/* Container */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Headings with lime green underline */
h1, h2, h3, h4, h5, h6 {
    color: #111827;
    font-weight: 700;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    text-align: center;
}

.btn-primary {
    background: #CCFF6C;
    color: #4D7C0F;
}

.btn-primary:hover {
    background: #A7FF00;
    color: #3B5F0A;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(167, 255, 0, 0.4);
}

.btn-secondary {
    background: #fff;
    color: #374151;
    border: 2px solid #E5E7EB;
}

.btn-secondary:hover {
    background: #111827;
    color: #fff;
}

.btn-success {
    background: #CCFF6C;
    color: #4D7C0F;
}

.btn-success:hover {
    background: #A7FF00;
    color: #3B5F0A;
    transform: translateY(-2px);
}

.btn-whatsapp {
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
    color: #fff;
}

.btn-whatsapp:hover {
    background: linear-gradient(135deg, #128c7e 0%, #075e54 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.4);
}

/* Header */
.site-header {
    background: #FFFFFF;
    border-bottom: 1px solid #E5E7EB;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.header-main {
    min-height: auto;
}

.header-main .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1200px;
    padding: 6px 0;
}

.logo img {
    width: 150px;
    height: auto;
}

.main-nav {
    display: flex;
    align-items: center;
}

.main-nav > ul {
    display: flex;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}

.main-nav > ul > li {
    position: relative;
}

.main-nav > ul > li > a {
    padding: 10px 16px;
    font-weight: 500;
    color: #374151;
    font-size: 16px;
    transition: color 0.3s ease;
    display: block;
    position: relative;
    text-decoration: none;
}

.main-nav > ul > li > a:hover,
.main-nav > ul > li.current-menu-item > a {
    color: #111827;
}

.main-nav > ul > li > a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 2px;
    background: #d9f99d;
    transition: all 0.3s ease;
    transform: translateX(-50%);
}

.main-nav > ul > li > a:hover::after,
.main-nav > ul > li.current-menu-item > a::after {
    width: 80%;
}

/* Dropdown Arrow */

/* First Level Dropdown */
.main-nav .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #111827;
    min-width: 280px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    border-radius: 0;
    padding: 8px 0;
    z-index: 1001;
    list-style: none;
}

.main-nav > ul > li:hover > .sub-menu {
    display: block;
}

.main-nav .sub-menu li {
    position: relative;
}

.main-nav .sub-menu li a {
    display: block;
    padding: 10px 20px;
    font-size: 14px;
    color: #FFFFFF;
    text-decoration: none;
    transition: all 0.3s ease;
}

.main-nav .sub-menu li a:hover {
    background: #d9f99d;
    color: #111827;
}

/* Second Level Dropdown (Flyout) */
.main-nav .sub-menu li.menu-item-has-children > a::before {
    content: '\f105';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    float: right;
    margin-left: 10px;
}

.main-nav .sub-menu li > .sub-menu {
    display: none;
    position: absolute;
    left: 100%;
    top: 0;
    background: #111827;
    min-width: 260px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    padding: 8px 0;
    list-style: none;
}

.main-nav .sub-menu li:hover > .sub-menu {
    display: block;
}

/* Header CTA Button */
.header-cta {
    margin-left: 20px;
}

.header-cta .btn-contact {
    background: #111827;
    color: #FFFFFF;
    padding: 13px 24px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.header-cta .btn-contact:hover {
    color: #D9F99D;
    box-shadow: 0px 0px 10px -5px rgba(0,0,0,0.5);
}

.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    color: #111827;
    padding: 8px;
}

/* Hero Section - Matching gamasemesta.com */
.hero-section-new {
    background: #FFFFFF;
    padding: 40px 0 80px;
}

.hero-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
    align-items: center;
}

.hero-content-left {
    padding-right: 20px;
    min-width: 0;
}

.hero-title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.2;
    color: #111827;
    margin-bottom: 24px;
}

.hero-subtitle {
    font-size: 15px;
    color: #374151;
    line-height: 1.6;
    margin-bottom: 32px;
}

.hero-buttons {
    display: flex;
    gap: 16px;
    margin-bottom: 40px;
    flex-wrap: wrap;
}

.hero-buttons .btn {
    padding: 14px 28px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-outline-dark {
    border: 2px solid #111827;
    color: #111827;
    background: transparent;
}

.btn-outline-dark:hover {
    background: #111827;
    color: #FFFFFF;
}

.btn-dark {
    background: #111827;
    color: #FFFFFF;
    border: 2px solid #111827;
}

.btn-dark:hover {
    background: #1F2937;
    border-color: #1F2937;
}

/* Outline Green Button (Lihat Semua - real site) */
.btn-outline-green {
    background: transparent;
    color: #64BE5B;
    border: 1px solid #64BE5B;
    border-radius: 5px;
    font-weight: 500;
    font-size: 14px;
    padding: 10px 22px;
}

.btn-outline-green:hover {
    background: #64BE5B;
    color: #FFFFFF;
}

/* Hero Partners */
.hero-partners {
    border-top: 2px solid #BEBEBE;
    margin-top: 15px;
    padding-top: 30px;
    min-width: 0;
}

.hero-partners-title {
    font-size: 18px;
    color: #374151;
    margin-bottom: 20px;
    font-weight: 400;
    line-height: 1.5;
}

.hero-partner-carousel {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    position: relative;
}

.partner-arrow {
    background: none;
    border: none;
    font-size: 20px;
    color: #1B2130;
    cursor: pointer;
    padding: 8px;
    transition: color 0.3s;
    flex-shrink: 0;
    z-index: 2;
}

.partner-arrow:hover {
    color: #111827;
}

.partner-track-wrapper {
    overflow: hidden;
    flex: 1;
    min-width: 0;
}

.partner-track {
    display: flex;
    align-items: center;
    gap: 30px;
    width: max-content;
    animation: partnerScroll 20s linear infinite;
    will-change: transform;
}

.partner-slide {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.partner-slide img {
    height: 50px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.6;
    transition: all 0.3s;
}

.partner-slide img:hover {
    filter: grayscale(0%);
    opacity: 1;
}

@keyframes partnerScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Hero Right - Cover Image */
.hero-right {
    position: relative;
    min-width: 0;
    display: flex;
    justify-content: flex-end;
}

.hero-main-image {
    width: 85%;
    display: block;
}

/* Highlight Underline (signature lime green) */
.highlight-underline {
    background-image: linear-gradient(120deg, #d9f99d 0%, #d9f99d 100%);
    background-repeat: no-repeat;
    background-size: 100% 0.4em;
    background-position: 0 88%;
}

/* Section Label Button (green pill - real site) */
.section-label {
    display: inline-block;
    background: #64BE5B;
    color: #FFFFFF;
    font-weight: 600;
    font-size: 13px;
    padding: 6px 10px;
    border-radius: 21px;
    margin-bottom: 20px;
}

/* Two Column Sections (Inhouse / Reguler / Instructor) */
.two-col-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.two-col-grid.reverse .two-col-images {
    order: 2;
}

.two-col-grid.reverse .two-col-content {
    order: 1;
}

.two-col-images {
    position: relative;
    padding: 20px;
}

.two-col-images .img-stacked {
    border-radius: 16px;
    width: 80%;
    display: block;
}

.two-col-images .img-1 {
    position: relative;
    z-index: 1;
}

.two-col-images .img-2 {
    width: 60%;
    margin-left: auto;
    margin-top: -60px;
    position: relative;
    z-index: 2;
    border: 8px solid #FFFFFF;
}

.two-col-images .img-single {
    width: 100%;
    border-radius: 16px;
    display: block;
}

.two-col-content h2 {
    font-size: 40px;
    font-weight: 700;
    color: #111827;
    line-height: 1.2;
    margin-bottom: 20px;
}

.two-col-content p {
    color: #374151;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 25px;
}

/* Check List */
.check-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px;
}

.check-list li {
    margin-bottom: 12px;
    color: #374151;
    font-size: 15px;
    font-weight: 500;
}

.check-list li i {
    color: #64BE5B;
    margin-right: 10px;
}

/* Icon Box Row (Regular Training section) */
.icon-box-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
    margin-bottom: 30px;
}

.icon-box {
    background: #FFFFFF;
    border-radius: 10px;
    padding: 20px;
    border: 1px solid #E5E7EB;
}

.icon-box > i {
    color: #64BE5B;
    font-size: 24px;
    margin-bottom: 15px;
}

.icon-box h4 {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 10px;
}

.icon-box p {
    font-size: 14px;
    color: #374151;
    margin-bottom: 0;
}

/* Section Header Row (Popular Trainings) */
.section-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
    gap: 20px;
    flex-wrap: wrap;
}

.section-header-row .section-title {
    margin-bottom: 0;
    text-align: left;
}

/* BNSP CTA Section - light bg #F8F9FA like real site */
.bnsp-cta-section {
    background: #F8F9FA;
    padding: 80px 0;
    text-align: center;
}

.bnsp-cta-section h2 {
    font-size: 40px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 15px;
}

.bnsp-cta-section p {
    color: #374151;
    font-size: 16px;
    margin-bottom: 25px;
}

.warna-hijau {
    color: #64BE5B;
}

.btn-green {
    background: #64BE5B;
    color: #FFFFFF;
    border-radius: 21px;
    padding: 6px 10px;
    font-size: 13px;
    font-weight: 600;
}

.btn-green:hover {
    background: #4CAF43;
    color: #FFFFFF;
}

.btn-grow {
    transition: transform 0.3s ease;
}

.btn-grow:hover {
    transform: scale(1.05);
}

/* Testimonials Layout (sticky 2-col) */
.testimonial-layout {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 50px;
    align-items: start;
}

.testimonial-left {
    position: sticky;
    top: 100px;
}

.testimonial-left .section-title {
    text-align: left;
    margin-bottom: 15px;
}

.testimonial-left .section-subtitle {
    text-align: left;
    margin-left: 0;
    margin-bottom: 25px;
}

.testimonial-scroll {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.testimonial-panel {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 30px;
    border: 1px solid #E5E7EB;
}

.testimonial-panel .rating {
    color: #FBBF24;
    margin-bottom: 15px;
}

.testimonial-panel .rating i {
    margin-right: 3px;
}

.testimonial-quote {
    color: #374151;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 20px;
    font-style: italic;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 15px;
}

.testimonial-author img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.testimonial-author .author-info h3 {
    font-size: 15px;
    font-weight: 700;
    color: #111827;
    margin-bottom: 3px;
}

.testimonial-author .author-info span {
    font-size: 12px;
    color: #9CA3AF;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Section Styling */
.section {
    padding: 40px 0 80px;
}

.section-title {
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 12px;
    color: #111827;
}

.section-subtitle {
    text-align: center;
    color: #9CA3AF;
    font-size: 15px;
    margin-bottom: 40px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

/* Why Choose Us - bg #F8F9FA like real site */
.why-choose-section {
    background: #F8F9FA;
    padding: 130px 0;
}

.why-choose-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.why-choose-item {
    text-align: center;
    padding: 20px;
    border-radius: 10px;
    background: #FFFFFF;
    transition: all 0.3s ease;
}

.why-choose-item:hover {
    transform: scale(1.02);
}

.why-choose-item .icon {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    font-size: 28px;
}

.why-choose-item:nth-child(1) .icon {
    background: #C9F4FF;
    color: #2563EB;
}

.why-choose-item:nth-child(2) .icon {
    background: #C8FFD0;
    color: #64BE5B;
}

.why-choose-item:nth-child(3) .icon {
    background: #FDFFC4;
    color: #EAB308;
}

.why-choose-item h3 {
    font-size: 18px;
    margin-bottom: 12px;
    color: #111827;
    font-weight: 600;
}

.why-choose-item p {
    color: #9CA3AF;
    font-size: 14px;
    line-height: 1.7;
}

/* Training Section */
.training-section {
    background: #F9FAFB;
}

.training-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
}

.training-card {
    background: #FFFFFF;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
    transition: all 0.3s ease;
}

.training-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.training-card > a {
    display: block;
    text-decoration: none;
}

.training-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    display: block;
}

.training-card h3 {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    line-height: 1.4;
    padding: 16px 16px 12px;
    margin: 0;
}

.training-card .btn {
    margin: 0 16px 16px;
    width: calc(100% - 32px);
    font-size: 13px;
    padding: 10px 20px;
}

/* Testimonials Section - light bg #F8F9FA like real site */
.testimonial-section {
    background: #F8F9FA;
    padding: 80px 0;
}

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

.testimonial-card {
    background: #F9FAFB;
    padding: 25px;
    border-radius: 12px;
    position: relative;
}

.testimonial-card::before {
    content: '\201C';
    position: absolute;
    top: 15px;
    left: 20px;
    font-size: 50px;
    color: #d9f99d;
    opacity: 0.3;
    font-family: Georgia, serif;
    line-height: 1;
}

.testimonial-card .rating {
    color: #FFC107;
    margin-bottom: 12px;
    font-size: 14px;
}

.testimonial-card p {
    font-style: italic;
    color: #374151;
    margin-bottom: 18px;
    line-height: 1.7;
    font-size: 14px;
}

.testimonial-card .author {
    display: flex;
    align-items: center;
    gap: 15px;
}

.testimonial-card .author img {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    object-fit: cover;
}

.testimonial-card .author-info h4 {
    font-size: 14px;
    color: #111827;
    font-weight: 600;
}

.testimonial-card .author-info span {
    font-size: 12px;
    color: #9CA3AF;
}

/* CTA Section - light bg #F8F9FA, black button (real site) */
.cta-section {
    background: #F8F9FA;
    padding: 100px 0;
    text-align: center;
}

.cta-section h2 {
    font-size: 40px;
    margin-bottom: 15px;
    background-image: none;
    display: block;
    padding-bottom: 0;
}

.cta-section p {
    font-size: 16px;
    margin-bottom: 25px;
    color: #374151;
}

.cta-section .btn {
    background: #000000;
    color: #FFFFFF;
}

.cta-section .btn:hover {
    background: #1F2937;
    color: #FFFFFF;
    transform: translateY(-2px);
}

/* Outline White Button */
.btn-outline-white {
    background: transparent;
    color: #FFFFFF;
    border: 2px solid #FFFFFF;
}

.btn-outline-white:hover {
    background: #d9f99d;
    color: #111827;
    transform: translateY(-2px);
}

/* White Button */
.btn-white {
    background: #FFFFFF;
    color: #111827;
    font-weight: 600;
}

.btn-white:hover {
    background: #d9f99d;
    transform: translateY(-2px);
}

/* Small Button */
.btn-sm {
    padding: 8px 20px;
    font-size: 13px;
}

/* Block Button */
.btn-block {
    display: block;
    width: 100%;
    text-align: center;
}

/* Popup Overlay */
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.6);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.popup-content {
    background: #FFFFFF;
    border-radius: 16px;
    padding: 40px;
    max-width: 450px;
    width: 100%;
    position: relative;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}

.popup-close {
    position: absolute;
    top: 15px;
    right: 20px;
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    color: #9CA3AF;
    line-height: 1;
}

.popup-close:hover {
    color: #111827;
}

.popup-content h3 {
    font-size: 22px;
    margin-bottom: 8px;
    color: #111827;
}

.popup-content > p {
    color: #9CA3AF;
    font-size: 14px;
    margin-bottom: 20px;
}

.popup-form .form-group {
    margin-bottom: 15px;
}

.popup-form input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #4B5563;
    border-radius: 8px;
    font-size: 14px;
    background: #1F2937;
    color: #FFFFFF;
    transition: border-color 0.3s;
}

.popup-form input:focus {
    outline: none;
    border-color: #d9f99d;
    box-shadow: 0 0 0 3px rgba(217, 249, 157, 0.2);
}

.popup-form input::placeholder {
    color: #9CA3AF;
}

/* Adaptive Section */
.adaptive-section {
    background: #FFFFFF;
}

.adaptive-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.adaptive-badge {
    display: inline-block;
    background: #d9f99d;
    color: #111827;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 15px;
}

.adaptive-content h2 {
    font-size: 32px;
    color: #111827;
    margin-bottom: 15px;
}

.adaptive-content > p {
    color: #374151;
    line-height: 1.8;
    margin-bottom: 25px;
}

.adaptive-features {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.adaptive-feature {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.adaptive-feature i {
    width: 50px;
    height: 50px;
    background: #d9f99d;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #111827;
    font-size: 20px;
    flex-shrink: 0;
}

.adaptive-feature h4 {
    font-size: 16px;
    color: #111827;
    margin-bottom: 5px;
}

.adaptive-feature p {
    font-size: 14px;
    color: #9CA3AF;
}

.adaptive-image img {
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}

/* BNSP Section */
.bnsp-section {
    background: #F9FAFB;
}

.bnsp-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.bnsp-badge {
    display: inline-block;
    background: #d9f99d;
    color: #111827;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 15px;
}

.bnsp-content h2 {
    font-size: 32px;
    color: #111827;
    margin-bottom: 15px;
}

.bnsp-content p {
    color: #374151;
    line-height: 1.8;
    margin-bottom: 25px;
}

.bnsp-image img {
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
}

/* Upcoming Event Section */
.upcoming-section {
    background: #F9FAFB;
}

.upcoming-grid {
    display: grid;
    gap: 15px;
    max-width: 800px;
    margin: 0 auto;
}

.upcoming-card {
    display: flex;
    align-items: center;
    gap: 20px;
    background: #FFFFFF;
    padding: 20px 25px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    transition: all 0.3s ease;
}

.upcoming-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.upcoming-date {
    text-align: center;
    background: #111827;
    color: #FFFFFF;
    border-radius: 10px;
    padding: 10px 15px;
    min-width: 60px;
    flex-shrink: 0;
}

.upcoming-date .day {
    display: block;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
}

.upcoming-date .month {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    margin-top: 4px;
}

.upcoming-info {
    flex: 1;
}

.upcoming-info h4 {
    font-size: 16px;
    color: #111827;
    margin-bottom: 5px;
}

.upcoming-info h4 a {
    color: #111827;
    text-decoration: none;
}

.upcoming-info h4 a:hover {
    color: #d9f99d;
}

.upcoming-info p {
    font-size: 13px;
    color: #9CA3AF;
}

.upcoming-info p i {
    margin-right: 5px;
}

.upcoming-info .price {
    display: inline-block;
    background: #d9f99d;
    color: #111827;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 600;
    margin-left: 10px;
    font-size: 12px;
}

.upcoming-empty {
    text-align: center;
    padding: 40px;
    background: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}

/* Instructor Section */
.instructor-section {
    background: #FFFFFF;
}

.instructor-cta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    background: linear-gradient(135deg, #111827 0%, #1F2937 100%);
    border-radius: 20px;
    padding: 50px;
    color: #FFFFFF;
}

.instructor-content h2 {
    font-size: 30px;
    margin-bottom: 15px;
    background-image: none;
    display: block;
    padding-bottom: 0;
}

.instructor-content p {
    opacity: 0.9;
    margin-bottom: 25px;
    line-height: 1.7;
    color: #9CA3AF;
}

.instructor-image img {
    border-radius: 16px;
    width: 100%;
    height: 300px;
    object-fit: cover;
}

/* Newsletter Section */
.newsletter-section {
    background: #111827;
    color: #FFFFFF;
    padding: 60px 0;
}

.newsletter-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.newsletter-text h3 {
    font-size: 24px;
    margin-bottom: 10px;
    font-weight: 600;
    background-image: none;
    display: block;
    padding-bottom: 0;
}

.newsletter-text p {
    font-size: 15px;
    opacity: 0.8;
    color: #9CA3AF;
}

.newsletter-form {
    display: flex;
    gap: 12px;
}

.newsletter-form input {
    padding: 14px 20px;
    border: 1px solid #4B5563;
    border-radius: 8px;
    font-size: 15px;
    min-width: 300px;
    background: #1F2937;
    color: #FFFFFF;
}

.newsletter-form input::placeholder {
    color: #9CA3AF;
}

.newsletter-form input:focus {
    outline: none;
    border-color: #d9f99d;
    box-shadow: 0 0 0 3px rgba(217, 249, 157, 0.2);
}

.newsletter-form .btn {
    white-space: nowrap;
    font-size: 15px;
    padding: 14px 28px;
}

/* Footer */
.site-footer {
    background: #000000;
    color: #FFFFFF;
    padding-top: 80px;
    border-top: 1px solid #374151;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap: 30px;
    padding-bottom: 40px;
    border-bottom: 1px solid #374151;
}

.footer-about .logo img {
    height: 35px;
    margin-bottom: 15px;
}

.footer-tagline {
    font-size: 20px;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 15px;
}

.footer-about p {
    color: #9CA3AF;
    font-size: 13px;
    line-height: 1.8;
}

.footer-column h4 {
    font-size: 18px;
    margin-bottom: 18px;
    color: #FFFFFF;
    font-weight: 700;
    background-image: none;
    display: block;
    padding-bottom: 0;
}

.footer-column ul li {
    margin-bottom: 8px;
}

.footer-column ul a {
    color: #9CA3AF;
    font-size: 13px;
    transition: all 0.3s ease;
}

.footer-column ul a:hover {
    color: #D9F99D;
    padding-left: 5px;
}

.footer-contact p {
    color: #9CA3AF;
    font-size: 13px;
    margin-bottom: 8px;
}

.footer-contact a {
    color: #9CA3AF;
}

.footer-contact a:hover {
    color: #D9F99D;
}

.footer-social {
    display: flex;
    gap: 12px;
    margin-top: 15px;
}

.footer-social a {
    width: 36px;
    height: 36px;
    background: #374151;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    transition: all 0.3s ease;
    font-size: 14px;
}

.footer-social a:hover {
    background: #D9F99D;
    color: #111827;
    transform: translateY(-3px);
}

.footer-bottom {
    padding: 18px 0;
    text-align: center;
    color: #9CA3AF;
    font-size: 13px;
}

/* Page Header */
.page-header {
    background: linear-gradient(135deg, #111827 0%, #1F2937 100%);
    color: #FFFFFF;
    padding: 80px 0 60px;
    text-align: center;
}

.page-header h1 {
    font-size: 42px;
    font-weight: 700;
    margin-bottom: 15px;
    background-image: none;
    display: block;
    padding-bottom: 0;
}

.breadcrumb {
    display: flex;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
}

.breadcrumb a {
    color: rgba(255,255,255,0.7);
}

.breadcrumb a:hover {
    color: #d9f99d;
}

.breadcrumb span {
    color: #d9f99d;
}

/* Filter Section */
.filter-section {
    background: #FFFFFF;
    padding: 30px 0;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.filter-grid {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    align-items: center;
}

.filter-grid select,
.filter-grid input {
    padding: 10px 15px;
    border: 1px solid #4B5563;
    border-radius: 8px;
    font-size: 14px;
    background: #1F2937;
    color: #FFFFFF;
}

.filter-grid select:focus,
.filter-grid input:focus {
    outline: none;
    border-color: #d9f99d;
}

.filter-grid select option {
    background: #1F2937;
    color: #FFFFFF;
}

.filter-grid .btn {
    margin-left: auto;
}

/* Training List */
.training-list {
    padding: 60px 0;
}

.training-list-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

/* Single Training */

.training-detail {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
}

.training-content {
    background: #FFFFFF;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
}

.training-sidebar {
    position: sticky;
    top: 100px;
}

.sidebar-card {
    background: #F9FAFB;
    padding: 30px;
    border-radius: 12px;
    margin-bottom: 20px;
}

.sidebar-card h3 {
    font-size: 18px;
    margin-bottom: 20px;
    color: #111827;
    background-image: none;
    display: block;
    padding-bottom: 0;
}

.sidebar-card .info-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    color: #374151;
}

.sidebar-card .info-item i {
    color: #d9f99d;
    width: 20px;
}

/* About Page */
.about-section {
    padding: 80px 0;
}

.about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.about-image img {
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15);
}

.about-content h2 {
    font-size: 32px;
    margin-bottom: 20px;
    color: #111827;
}

.about-content p {
    color: #374151;
    margin-bottom: 15px;
    line-height: 1.8;
}

/* Service Areas */
.service-areas {
    background: #F9FAFB;
    padding: 80px 0;
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.service-item {
    text-align: center;
    padding: 30px;
    background: #FFFFFF;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.service-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.service-item .icon {
    width: 60px;
    height: 60px;
    background: #d9f99d;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    font-size: 24px;
    color: #111827;
}

.service-item h4 {
    font-size: 16px;
    color: #111827;
}

/* Inhouse Training */
.process-section {
    padding: 80px 0;
    background: #F9FAFB;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.process-item {
    text-align: center;
    position: relative;
}

.process-item .step {
    width: 60px;
    height: 60px;
    background: #d9f99d;
    color: #111827;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 700;
    margin: 0 auto 20px;
}

.process-item h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #111827;
}

.process-item p {
    color: #9CA3AF;
    font-size: 14px;
}

/* Testimony Page */
.testimony-hero {
    background: linear-gradient(135deg, #111827 0%, #1F2937 100%);
    color: #FFFFFF;
    padding: 60px 0;
    text-align: center;
}

.rating-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.1);
    padding: 10px 20px;
    border-radius: 30px;
    margin-top: 20px;
}

.rating-badge .stars {
    color: #FFC107;
}

.testimony-list {
    padding: 60px 0;
}

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

/* Career Page */
.career-hero {
    background: linear-gradient(135deg, #111827 0%, #1F2937 100%);
    color: #FFFFFF;
    padding: 80px 0;
}

.job-list {
    padding: 60px 0;
}

.job-card {
    background: #FFFFFF;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
}

.job-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.job-info h3 {
    font-size: 20px;
    margin-bottom: 10px;
    color: #111827;
}

.job-meta {
    display: flex;
    gap: 20px;
    color: #9CA3AF;
    font-size: 14px;
}

.job-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Blog Page */
.blog-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 40px;
}

.blog-list {
    display: grid;
    gap: 30px;
}

.blog-card {
    background: #FFFFFF;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    display: grid;
    grid-template-columns: 250px 1fr;
    transition: all 0.3s ease;
}

.blog-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.blog-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-card-content {
    padding: 25px;
}

.blog-card-content .date {
    color: #9CA3AF;
    font-size: 13px;
    margin-bottom: 10px;
}

.blog-card-content h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #111827;
}

.blog-card-content p {
    color: #9CA3AF;
    font-size: 14px;
}

.blog-sidebar {
    position: sticky;
    top: 100px;
}

.sidebar-widget {
    background: #F9FAFB;
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 20px;
}

.sidebar-widget h3 {
    font-size: 18px;
    margin-bottom: 20px;
    color: #111827;
    padding-bottom: 10px;
    border-bottom: 2px solid #d9f99d;
    background-image: none;
    display: block;
    padding-bottom: 10px;
}

/* Form Styling */
.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #111827;
}

.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #4B5563;
    border-radius: 8px;
    font-size: 15px;
    background: #1F2937;
    color: #FFFFFF;
    transition: border-color 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    outline: none;
    border-color: #d9f99d;
    box-shadow: 0 0 0 3px rgba(217, 249, 157, 0.2);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: #9CA3AF;
}

.form-group textarea {
    min-height: 120px;
    resize: vertical;
}

.form-group select option {
    background: #1F2937;
    color: #FFFFFF;
}

/* Contact Form */
.contact-section {
    padding: 80px 0;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.contact-info-card {
    background: #F9FAFB;
    padding: 30px;
    border-radius: 12px;
    margin-bottom: 20px;
}

.contact-info-card h3 {
    font-size: 18px;
    margin-bottom: 15px;
    color: #111827;
    background-image: none;
    display: block;
    padding-bottom: 0;
}

.contact-info-item {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
}

.contact-info-item .icon {
    width: 45px;
    height: 45px;
    background: #d9f99d;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #111827;
}

.contact-info-item .text h4 {
    font-size: 14px;
    color: #111827;
}

.contact-info-item .text p {
    color: #9CA3AF;
    font-size: 14px;
}

/* Responsive */
@media (max-width: 992px) {
    .header-main .container {
        padding: 6px 20px;
    }
    
    .main-nav > ul {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #FFFFFF;
        flex-direction: column;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        padding: 20px;
        z-index: 1000;
    }
    
    .main-nav.active > ul {
        display: flex;
    }
    
    .main-nav .sub-menu {
        position: static;
        box-shadow: none;
        padding-left: 20px;
    }
    
    .main-nav .sub-menu li > .sub-menu {
        position: static;
        padding-left: 20px;
    }
    
    .mobile-menu-toggle {
        display: block;
    }
    
    .header-cta {
        display: none;
    }
    
    .hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .hero-title,
    .section-title,
    .two-col-content h2,
    .bnsp-cta-section h2,
    .cta-section h2 {
        font-size: 32px;
    }
    
    .two-col-grid,
    .two-col-grid.reverse {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .two-col-grid.reverse .two-col-images {
        order: 0;
    }
    
    .two-col-grid.reverse .two-col-content {
        order: 0;
    }
    
    .testimonial-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .testimonial-left {
        position: static;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .why-choose-grid,
    .testimonial-grid,
    .testimony-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .training-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .contact-grid,
    .about-grid,
    .training-detail,
    .adaptive-grid,
    .bnsp-grid {
        grid-template-columns: 1fr;
    }
    
    .instructor-cta {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .blog-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .hero-title {
        font-size: 32px;
    }
    
    .hero-buttons {
        flex-direction: column;
    }
    
    .hero-buttons .btn {
        width: 100%;
        justify-content: center;
    }
    
    .icon-box-row {
        grid-template-columns: 1fr;
    }
    
    .section-header-row {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .stats-grid,
    .why-choose-grid,
    .training-grid,
    .testimonial-grid,
    .testimony-grid,
    .training-list-grid {
        grid-template-columns: 1fr;
    }
    
    .service-grid,
    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .newsletter-content {
        flex-direction: column;
        text-align: center;
    }
    
    .newsletter-form {
        flex-direction: column;
        width: 100%;
    }
    
    .newsletter-form input {
        min-width: auto;
        width: 100%;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
    }
    
    .blog-card {
        grid-template-columns: 1fr;
    }
    
    .blog-card img {
        height: 200px;
    }
    
    .job-card {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }
}

/* Admin Panel Styles */
.gs-admin-wrap {
    max-width: 1000px;
    margin: 20px auto;
}

.gs-admin-wrap h1 {
    font-size: 24px;
    margin-bottom: 20px;
}

.gs-admin-tabs {
    display: flex;
    gap: 5px;
    margin-bottom: 20px;
    border-bottom: 2px solid #ddd;
    padding-bottom: 0;
}

.gs-admin-tab {
    padding: 12px 24px;
    background: #f1f1f1;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    border-radius: 8px 8px 0 0;
    transition: all 0.3s ease;
}

.gs-admin-tab.active {
    background: #d9f99d;
    color: #111827;
}

.gs-admin-panel {
    background: #FFFFFF;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.gs-admin-panel .form-table th {
    width: 200px;
    padding: 15px 10px;
    text-align: left;
}

.gs-admin-panel .form-table td {
    padding: 15px 10px;
}

.gs-admin-panel input[type="text"],
.gs-admin-panel input[type="url"],
.gs-admin-panel input[type="email"],
.gs-admin-panel textarea {
    width: 100%;
    max-width: 500px;
}

.gs-admin-panel .image-upload {
    display: flex;
    align-items: center;
    gap: 15px;
}

.gs-admin-panel .image-preview {
    width: 150px;
    height: 80px;
    background: #f1f1f1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    overflow: hidden;
}

.gs-admin-panel .image-preview img {
    max-width: 100%;
    max-height: 100%;
}
/* ===== Training Reguler Page (matching gamasemesta.com) ===== */
.tr-section {
    background: #F9FAFB;
    padding: 0 0 80px;
}

.tr-container {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
}

.tr-sidebar {
    width: 25%;
    flex: 0 0 25%;
    position: sticky;
    top: 25px;
    padding: 20px 40px 0 0;
}

.tr-filter-box,
.tr-inhouse-box {
    background: #FFFFFF;
    border-radius: 10px;
    box-shadow: 0px 0px 10px -5px rgba(0,0,0,0.5);
    padding: 24px;
    margin-bottom: 20px;
}

.tr-filter-title {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 22px;
    color: #111827;
    margin: 0 0 16px;
}

.tr-radio-list {
    max-height: 290px;
    overflow-y: auto;
    padding-right: 4px;
}

.tr-radio-list::-webkit-scrollbar {
    width: 6px;
}
.tr-radio-list::-webkit-scrollbar-thumb {
    background: #E5E7EB;
    border-radius: 3px;
}

.tr-radio-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 0;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
    color: #111827;
    margin-bottom: 10px;
}

.tr-radio-item input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tr-radio-decorator {
    width: 15px;
    height: 15px;
    min-width: 15px;
    min-height: 15px;
    border: 1px solid #D1D5DB;
    border-radius: 50%;
    background: #FFFFFF;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.tr-radio-check {
    font-size: 10px;
    color: #FFFFFF;
    font-style: normal;
    display: none;
}

.tr-radio-item input:checked ~ .tr-radio-decorator {
    background: #14BB00;
    border-color: #14BB00;
}

.tr-radio-item input:checked ~ .tr-radio-decorator .tr-radio-check {
    display: inline;
}

.tr-radio-item input:checked ~ .tr-radio-label {
    color: #31A833;
}

.tr-radio-group {
    margin-top: 12px;
    border-top: 1px solid #F3F4F6;
    padding-top: 12px;
}

.tr-reset-wrap {
    margin-top: 16px;
}

.tr-btn-dark {
    display: inline-block;
    background: #000000;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    border-radius: 5px;
    padding: 10px 20px;
    text-decoration: none;
    transition: all 0.3s;
}

.tr-btn-dark:hover {
    color: #CAFD9D;
}

.tr-inhouse-title {
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: #111827;
    margin: 0 0 8px;
}

.tr-inhouse-text {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #374151;
    margin: 0 0 16px;
}

.tr-btn-green {
    display: inline-block;
    background: #23A455;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    border-radius: 5px;
    padding: 10px 20px;
    text-decoration: none;
    transition: all 0.3s;
}

.tr-btn-green:hover {
    background: #1d8f49;
    color: #FFFFFF;
}

.tr-content {
    width: 75%;
    flex: 0 0 75%;
}

.tr-search-bar {
    background: rgba(249,250,251,0.84);
    border-radius: 50px;
    padding: 8px;
    margin-bottom: 20px;
}

.tr-search-form {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.tr-search-input {
    flex: 1;
    border: 1px solid rgba(84,89,95,0.19);
    border-right: none;
    border-radius: 10px 0 0 10px;
    padding: 10px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    outline: none;
    background: #FFFFFF;
    min-width: 0;
}

.tr-search-submit {
    border: 1px solid rgba(84,89,95,0.19);
    border-left: none;
    border-radius: 0 10px 10px 0;
    background: transparent;
    padding: 8px 16px 0;
    cursor: pointer;
    font-size: 26px;
    color: #000000;
    transition: all 0.3s;
}

.tr-search-submit:hover {
    background: #23A455;
    color: #FFFFFF;
    border-color: #23A455;
}

.tr-breadcrumb-bar {
    background: rgba(249,250,251,0.84);
    border-radius: 10px;
    padding: 10px 20px;
    margin-bottom: 20px;
}

.tr-breadcrumb {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #374151;
}

.tr-breadcrumb a {
    color: #374151;
}

.tr-breadcrumb a:hover {
    color: #111827;
}

.tr-breadcrumb-sep {
    margin: 0 6px;
    color: #9CA3AF;
}

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

.tr-card {
    background: #FFFFFF;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0px 1px 10px -7px rgba(0,0,0,0.5);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    transition: all 0.3s;
}

.tr-card:hover {
    border-radius: 10px;
    box-shadow: 0px 0px 10px -4px rgba(0,0,0,0.5);
    transform: translateY(-4px);
}

.tr-card-img {
    width: 100%;
    height: 140px;
    object-fit: cover;
    border-radius: 0;
    display: block;
}

.tr-card-body {
    min-height: 170px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2px;
    flex: 1;
}

.tr-card-title {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4em;
    color: #111827;
    margin: 0 0 12px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tr-card-btn {
    display: block;
    text-align: center;
    background: #64BE5B;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    border-radius: 5px;
    padding: 10px 16px;
    transition: background 0.3s;
    margin-top: auto;
}

.tr-card:hover .tr-card-btn {
    background: #57AB4F;
}

.tr-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 0;
}

.tr-empty-icon {
    font-size: 48px;
    color: #D1D5DB;
    margin-bottom: 20px;
}

.tr-empty-text {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: #6B7280;
}

.tr-pagination {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    gap: 6px;
    flex-wrap: wrap;
}

.tr-pagination .page-numbers {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    color: #616161;
    padding: 10px;
    text-decoration: none;
    border-radius: 5px;
}

.tr-pagination .page-numbers.current {
    color: #000000;
}

.tr-pagination .page-numbers:hover {
    background: #F3F4F6;
}

.tr-cta {
    background: #0E141A;
    padding: 100px 0;
    text-align: center;
}

.tr-cta h2 {
    font-family: 'Inter', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0 0 16px;
}

.tr-cta p {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
    color: #FFFFFF;
    margin: 0 0 32px;
}

.tr-btn-light {
    display: inline-block;
    background: #FFFFFF;
    color: #23A455;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6em;
    border-radius: 5px;
    padding: 12px 32px;
    text-decoration: none;
    transition: all 0.3s;
}

.tr-btn-light:hover {
    background: #F3F4F6;
    color: #23A455;
}

@media (max-width: 1024px) {
    .tr-sidebar {
        width: 207.7px;
        flex: 0 0 207.7px;
    }

    .tr-content {
        width: auto;
        flex: 1;
    }

    .tr-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .tr-section {
        padding: 0 0 0;
    }

    .tr-container {
        flex-direction: column-reverse;
        gap: 20px;
    }

    .tr-sidebar {
        width: 100%;
        flex: 1 1 auto;
        position: static;
        padding: 0 0 0;
        align-self: center;
    }

    .tr-content {
        width: 100%;
        flex: 1 1 auto;
    }

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

    .tr-card-img {
        height: 90px;
    }

    .tr-card-body {
        min-height: 130px;
        padding: 14px;
    }

    .tr-cta {
        padding: 60px 0;
    }

    .tr-cta h2 {
        font-size: 2rem;
    }
}

/* ===== Single Training Page (matching gamasemesta.com) ===== */
.st-hero {
    padding: 40px 0 10px;
}

.st-crumb {
    display: inline-block;
    background: #64BE5B;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    border-radius: 35px;
    padding: 9px 16px 8px 15px;
    text-decoration: none;
    transition: color 0.3s;
}

.st-crumb:hover {
    color: #000000;
}

.st-title {
    font-family: 'Inter', sans-serif;
    font-size: 2rem;
    font-weight: 800;
    line-height: 50px;
    color: #111827;
    margin: 16px 0 0;
}

.st-instructor-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 20px 0 0;
}

.st-instructor-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.st-instructor-label {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #767C8E;
    font-weight: 400;
}

.st-instructor-name {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #111827;
    font-weight: 600;
}

.st-instructor-role {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #111827;
    font-weight: 400;
}

.st-share-link {
    color: #878787;
    font-size: 18px;
    text-decoration: none;
    transition: color 0.3s;
}

.st-share-link:hover {
    color: #111827;
}

.st-main {
    padding: 40px 0 60px;
}

.st-main-inner {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
}

.st-content {
    flex: 1;
    min-width: 0;
}

.st-h2 {
    font-family: 'Inter', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #059669;
    margin: 0 0 16px;
}

.st-desc {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.6rem;
    color: #374151;
    margin-bottom: 32px;
}

.st-desc p {
    margin: 0 0 16px;
}

.st-thumb {
    position: relative;
    margin: 0 0 32px;
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 2.33333 / 1;
}

.st-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.st-thumb-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #111827;
    font-size: 24px;
}

.st-accordion {
    margin-bottom: 32px;
}

.st-acc-item {
    margin-bottom: 15px;
    border-radius: 5px;
    overflow: hidden;
}

.st-acc-title {
    background: #FFFFFF;
    border: 1px solid #D5D8DC;
    border-radius: 5px;
    padding: 10px 12px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #4C4C4C;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s;
}

.st-acc-title::-webkit-details-marker {
    display: none;
}

.st-acc-icon {
    display: flex;
    font-size: 15px;
    color: #1F1F1F;
}

.st-acc-item[open] .st-acc-icon {
    color: #23A455;
}

.st-acc-closed {
    display: inline-flex;
}

.st-acc-opened {
    display: none;
}

.st-acc-item[open] .st-acc-closed {
    display: none;
}

.st-acc-item[open] .st-acc-opened {
    display: inline-flex;
}

.st-acc-title:hover {
    color: #23A455;
    border-color: #D5D8DC;
}

.st-acc-item[open] .st-acc-title {
    color: #23A455;
    margin-bottom: 0;
}

.st-acc-body {
    background: #FFFFFF;
    border: 1px solid #D5D8DC;
    border-top: none;
    border-radius: 0 0 5px 5px;
    padding: 10px 15px 15px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #374151;
}

.st-acc-body ol,
.st-acc-body ul {
    margin: 10px 0;
    padding-left: 22px;
}

.st-acc-body li {
    margin-bottom: 5px;
}

.st-info-box {
    background: #FCFCFD;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.st-h3 {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: #059669;
    margin: 0;
}

.st-info-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.st-info-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
}

.st-info-text {
    flex: 1;
    min-width: 0;
}

.st-info-item h4 {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #111827;
    margin: 0 0 4px;
}

.st-info-item p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #374151;
    margin: 0;
}

.st-info-item p small {
    color: #6B7280;
    font-size: 12px;
}

.st-info-time {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #374151;
    margin: 4px 0 0;
}

.st-info-icon {
    font-size: 18px;
    color: #23A455;
    flex-shrink: 0;
    margin-top: 2px;
}

.st-btn-full {
    display: block;
    text-align: center;
    background: #111827;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    border-radius: 5px;
    padding: 12px 20px;
    text-decoration: none;
    transition: all 0.3s;
}

.st-btn-full:hover {
    background: #363D4C;
    color: #FFFFFF;
}

.st-sec-name {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #111827;
    margin: 8px 0 2px;
}

.st-sec-role {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #6B7280;
    margin: 0;
}

.st-sec-participant {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #374151;
    margin: 8px 0 0;
}

.st-list {
    margin: 8px 0 0;
    padding-left: 22px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #374151;
}

.st-list li {
    margin-bottom: 5px;
}

.st-sidebar {
    width: 34%;
    flex: 0 0 34%;
    position: sticky;
    top: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.st-side-box {
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    padding: 24px;
}

.st-side-cta {
    background: #111827;
    text-align: center;
}

.st-side-top {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #9DD942;
    margin: 0 0 8px;
}

.st-side-title {
    font-family: 'Inter', sans-serif;
    font-size: 21px;
    font-weight: 600;
    color: #FFFFFF;
    margin: 0 0 8px;
}

.st-side-text {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #F0F0F0;
    margin: 0 0 16px;
}

.st-btn-side {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: #2B3344;
    color: #FFFFFF;
    font-size: 14px;
    border: 1px solid transparent;
    border-radius: 5px;
    padding: 10px 24px;
    text-decoration: none;
    transition: all 0.3s;
}

.st-btn-side:hover {
    background: #363D4C;
    border-color: #FFFFFF;
    color: #FFFFFF;
}

@media (max-width: 767px) {
    .st-title {
        font-size: 1.6rem;
        line-height: 1.3;
    }

    .st-main-inner {
        flex-direction: column;
    }

    .st-sidebar {
        width: 100%;
        flex: 1 1 auto;
        position: static;
    }

    .st-info-grid {
        gap: 16px;
    }
}

/* ===== About Page (matching gamasemesta.com) ===== */
.about-hero {
    min-height: 400px;
    background: url('assets/images/about-hero.webp') center center / cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 5% 0 8%;
}

.about-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
}

.about-hero-inner {
    position: relative;
    z-index: 1;
    text-align: center;
}

.about-hero h1 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.3em;
    color: #FFFFFF;
    margin: 0;
}

.about-intro {
    padding: 3% 0 5%;
}

.about-intro-grid {
    display: flex;
    align-items: center;
    gap: 3%;
}

.about-logo {
    width: 30%;
    flex: 0 0 30%;
}

.about-logo img {
    width: 100%;
    border-radius: 10px;
}

.about-text {
    width: 60%;
    flex: 0 0 60%;
}

.about-text h2 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 3rem;
    font-weight: 500;
    color: #111827;
    margin: 0 0 16px;
}

.about-text p {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.2rem;
    line-height: 1.5em;
    color: #333333;
    margin: 0;
}

.about-solusi {
    background: #F8F8F8;
    padding: 5% 0 10%;
    text-align: center;
}

.about-solusi-head h3 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 3rem;
    font-weight: 500;
    color: #111827;
    margin: 0 0 16px;
}

.about-solusi-head p {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.2rem;
    color: #333333;
    max-width: 900px;
    margin: 0 auto 40px;
}

.about-solusi-imgs {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.about-solusi-imgs img {
    border-radius: 20px;
    width: 300px;
    object-fit: cover;
}

.about-stats {
    padding: 5%;
}

.about-stats-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 3%;
    margin-bottom: 40px;
}

.about-stat {
    width: 45%;
    max-width: 260px;
    text-align: center;
}

.about-stat-number {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 3rem;
    font-weight: 500;
    letter-spacing: 0px;
    color: #111827;
}

.about-stat-number span {
    color: #23A455;
}

.about-stat-title {
    color: #005053;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1rem;
    font-weight: 300;
    text-transform: capitalize;
    letter-spacing: 1px;
}

.about-stats-text {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 20px;
    color: #333333;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.about-fields {
    background: #F8F8F8;
    padding: 5% 5% 7%;
}

.about-fields-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.3em;
    text-align: center;
    color: #111827;
    margin: 0 0 5%;
}

.about-fields-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 0;
}

.about-field {
    width: 20%;
    max-width: 220px;
    text-align: center;
    text-decoration: none;
    margin-bottom: 10%;
}

.about-field i {
    font-size: 70px;
    color: #23A455;
    display: block;
    margin-bottom: 10px;
}

.about-field h3 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #111827;
    margin: 0;
    text-decoration: none;
}

.about-field:hover h3 {
    color: #23A455;
}

.about-values {
    padding: 5% 5% 10%;
}

.about-values-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 3rem;
    font-weight: 500;
    text-align: center;
    color: #111827;
    margin: 0 0 16px;
}

.about-values-sub {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.2rem;
    color: #333333;
    text-align: center;
    margin: 0 0 40px;
}

.about-values-grid {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}

.about-value {
    width: 400px;
    max-width: 100%;
    text-align: center;
}

.about-value img {
    max-width: 120px;
    margin-bottom: 16px;
}

.about-value p {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333333;
}

@media (max-width: 767px) {
    .about-hero h1 {
        font-size: 28px;
    }

    .about-intro-grid {
        flex-direction: column;
        gap: 30px;
    }

    .about-logo,
    .about-text {
        width: 100%;
        flex: 1 1 auto;
    }

    .about-solusi-head h3,
    .about-fields-title,
    .about-values-title {
        font-size: 2rem;
    }

    .about-fields-grid {
        gap: 30px 0;
    }

    .about-field {
        width: 33%;
    }

    .about-field i {
        font-size: 44px;
    }

    .about-stat {
        width: 45%;
    }
}

/* ===== Inhouse Page (matching gamasemesta.com) ===== */
.inhouse-hero {
    padding: 80px 0;
}

.inhouse-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.inhouse-hero h1 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 3.5rem;
    font-weight: 800;
    color: #111827;
    margin: 0 0 16px;
}

.inhouse-hero p {
    width: 63%;
    max-width: 760px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
    color: #54595F;
    margin: 0 0 24px;
}

.inhouse-hero-btn {
    align-self: flex-start;
    margin-left: auto;
    margin-right: auto;
}

.inhouse-hero-btn .btn-dark {
    background: #000000;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    border-radius: 5px;
    padding: 12px 28px;
}

.inhouse-partners {
    background: #F0F4F8;
    padding: 25px 0;
}

.inhouse-partners-title {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6em;
    color: #7A7A7A;
    text-align: center;
    margin: 0 0 20px;
}

.inhouse-partner-swiper {
    position: relative;
    padding: 0 50px;
}

.inhouse-partner-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.inhouse-partner-slide img {
    filter: grayscale(100%);
    max-width: 120px;
    max-height: 60px;
    object-fit: contain;
    border-radius: 0;
}

.inhouse-partner-prev,
.inhouse-partner-next {
    color: #1B2130;
    width: 30px;
    height: 30px;
}

.inhouse-partner-prev::after,
.inhouse-partner-next::after {
    font-size: 18px;
}

.inhouse-features {
    background: #0E141A;
    padding: 100px 0;
}

.inhouse-features-title {
    font-family: 'Inter', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #FFFFFF;
    text-align: center;
    margin: 0 0 16px;
}

.inhouse-features-sub {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
    color: #C7C7C7;
    text-align: center;
    margin: 0 0 48px;
}

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

.inhouse-feature {
    background: rgba(255,255,255,0.03);
    border-radius: 10px;
    box-shadow: 0px 0px 10px -5px rgba(0,0,0,0.5);
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 15px;
}

.inhouse-feature-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.ih-blue {
    background: #C9F4FF;
    color: #2563EB;
}

.ih-green {
    background: #C8FFD0;
    color: #61CE70;
}

.ih-orange {
    background: #FDFFC4;
    color: #FA8231;
}

.ih-purple {
    background: #F3E8FF;
    color: #9333EA;
}

.inhouse-feature h3 {
    font-family: 'Inter', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0;
}

.inhouse-feature p {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
    color: #C7C7C7;
    margin: 0;
}

.inhouse-process {
    background: #FFFFFF;
    padding: 100px 0;
}

.inhouse-process-title {
    font-family: 'Inter', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    color: #111827;
    margin: 0 0 48px;
}

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

.inhouse-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.inhouse-step-num {
    width: 80px;
    height: 80px;
    min-height: 80px;
    border-radius: 50%;
    background: #000000;
    color: #FFFFFF;
    font-size: 30px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.inhouse-step h3 {
    font-family: 'Inter', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px;
}

.inhouse-step p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.6em;
    color: #7A7A7A;
    margin: 0;
}

.inhouse-expertise {
    background: #F8F8F8;
    padding: 80px 0;
}

.inhouse-expertise-title {
    font-family: 'Inter', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    color: #111827;
    margin: 0 0 16px;
}

.inhouse-expertise-sub {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.6em;
    color: #7A7A7A;
    text-align: center;
    margin: 0 0 48px;
}

.inhouse-expertise-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

.inhouse-chip {
    background: #FFFFFF;
    border-radius: 5px;
    padding: 15px 30px;
    text-align: center;
}

.inhouse-chip h3 {
    font-family: 'Inter', sans-serif;
    font-size: 1.2rem;
    font-weight: 700;
    color: #111827;
    margin: 0;
}

.inhouse-cta {
    background: #0E141A;
    padding: 100px 0;
}

.inhouse-cta-grid {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}

.inhouse-cta-left {
    flex: 1;
}

.inhouse-cta-left h2 {
    font-family: 'Inter', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0 0 16px;
}

.inhouse-cta-left > p {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
    color: #C7C7C7;
    margin: 0 0 24px;
}

.inhouse-cta-divider {
    border-top: 1.9px dashed rgba(108,108,108,0.8);
    margin-bottom: 24px;
}

.inhouse-cta-left h3 {
    font-family: 'Inter', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0 0 16px;
}

.inhouse-cta-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.inhouse-cta-list li {
    font-family: 'Inter', sans-serif;
    font-size: 1.2rem;
    color: #FFFFFF;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.inhouse-cta-list li i {
    color: #25D366;
}

.inhouse-cta-list a {
    color: #FFFFFF;
    text-decoration: none;
}

.inhouse-cta-right {
    flex: 1;
}

.inhouse-form {
    background: #FFFFFF;
    border-radius: 10px;
    padding: 30px;
}

.inhouse-form .form-group {
    margin-bottom: 16px;
}

.inhouse-form label {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #374151;
    display: block;
    margin-bottom: 6px;
}

.inhouse-form input,
.inhouse-form textarea {
    width: 100%;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    padding: 10px 14px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
}

.inhouse-form-btn {
    width: 100%;
    background: #23A455;
    color: #FFFFFF;
    border: none;
    border-radius: 5px;
    padding: 12px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
}

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

    .inhouse-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px;
    }

    .inhouse-cta-grid {
        flex-direction: column;
        gap: 40px;
    }
}

@media (max-width: 767px) {
    .inhouse-hero h1 {
        font-size: 2.2rem;
    }

    .inhouse-hero p {
        width: 100%;
    }

    .inhouse-features-grid {
        grid-template-columns: 1fr;
    }

    .inhouse-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .inhouse-features-title,
    .inhouse-process-title,
    .inhouse-expertise-title,
    .inhouse-cta-left h2 {
        font-size: 2rem;
    }
}

/* ===== Testimony Page (matching gamasemesta.com) ===== */
.testi-hero {
    min-height: 400px;
    background: #005053;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5% 0;
}

.testi-hero-inner {
    text-align: center;
    max-width: 720px;
}

.testi-hero h1 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 40px;
    font-weight: 500;
    color: #FFFFFF;
    margin: 0 0 10px;
}

.testi-hero p {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #FFFFFF;
    margin: 0;
}

.testi-main {
    padding: 3% 0 7%;
}

.testi-grid {
    display: flex;
    gap: 10px;
    align-items: stretch;
}

.testi-left {
    flex: 1;
    min-width: 0;
}

.testi-left h2 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 2em;
    color: #111827;
    margin: 0;
}

.testi-rating {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
}

.testi-rating i {
    color: #FFB400;
    font-size: 18px;
}

.testi-rating span {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #374151;
}

.testi-left h3 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.2rem;
    font-weight: 500;
    color: #333333;
    margin: 0;
}

.testi-right {
    flex: 1.4;
    min-width: 0;
}

.testi-swiper {
    padding: 0 40px 50px;
    overflow: hidden;
}

.testi-card {
    background: #F8FAFC;
    border-radius: 12px;
    padding: 24px;
    min-height: 220px;
}

.testi-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.testi-card-head cite {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    color: #111827;
}

.testi-card-stars i {
    color: #FFB400;
    font-size: 14px;
}

.testi-g {
    width: 24px;
    height: 24px;
}

.testi-text {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.7;
    color: #4B5563;
    margin: 0;
}

.testi-prev,
.testi-next {
    color: #111827;
    font-size: 20px;
}

.testi-prev::after,
.testi-next::after {
    font-size: 20px;
}

.testi-pagination {
    bottom: 0 !important;
}

.testi-pagination .swiper-pagination-bullet-active {
    background: #005053;
}

.testi-more {
    text-align: center;
    margin-top: 10px;
}

.testi-more-btn {
    display: inline-block;
    background: #005053;
    color: #FFFFFF;
    font-family: 'Roboto', sans-serif;
    font-size: 17px;
    border-radius: 3px;
    padding: 15px 37px;
    text-decoration: none;
    transition: all 0.3s;
}

.testi-more-btn:hover {
    background: #207D81;
    color: #FFFFFF;
}

.testi-quotes {
    padding: 5%;
}

.testi-quotes-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.testi-quotes-grid p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.7;
    color: #374151;
    margin: 0 0 16px;
}

.testi-cta {
    background: #DBF7F8;
    padding: 4% 5% 5%;
}

.testi-cta-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.testi-cta-left {
    flex: 0 0 40%;
}

.testi-cta-btn {
    display: inline-block;
    background: #005053;
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 600;
    border-radius: 50px;
    padding: 18px 34px;
    text-decoration: none;
    transition: all 0.3s;
}

.testi-cta-btn:hover {
    background: #00696d;
    color: #FFFFFF;
}

.testi-cta-right {
    flex: 1;
}

.testi-cta-right h3 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: #111827;
    margin: 0 0 8px;
}

.testi-cta-right p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #374151;
    margin: 0 0 16px;
}

.testi-cta-right .btn-dark {
    background: #000000;
    color: #FFFFFF;
    border-radius: 5px;
    padding: 12px 24px;
    font-size: 15px;
}

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

    .testi-left h2 {
        font-size: 28px;
        line-height: 1.4;
    }

    .testi-quotes-grid {
        grid-template-columns: 1fr;
    }

    .testi-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .testi-hero h1 {
        font-size: 30px;
    }
}

/* ===== Career Page (matching gamasemesta.com) ===== */
.cr-hero {
    background: linear-gradient(135deg, rgba(190, 242, 100, 0.35) 0%, rgba(255, 255, 255, 0) 45%, rgba(56, 189, 248, 0.18) 100%), #F9FAFB;
    padding: 80px 0;
}

.cr-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.cr-hero h1 {
    font-family: 'Inter', sans-serif;
    font-size: 3rem;
    font-weight: 800;
    color: #111827;
    margin: 0;
}

.cr-hero h1 .highlight-underline {
    background-image: linear-gradient(120deg, #d9f99d 0%, #d9f99d 100%);
    background-repeat: no-repeat;
    background-size: 100% 0.3em;
    background-position: 0 88%;
}

.cr-hero p {
    width: 83%;
    max-width: 830px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
    color: #374151;
    margin: 16px 0 24px;
}

.cr-hero-actions {
    display: flex;
    justify-content: center;
}

.cr-btn-black {
    display: inline-flex;
    align-items: center;
    gap: 15px;
    background: #000000;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    padding: 15px 32px;
    border-radius: 5px;
    text-decoration: none;
    transition: all 0.3s;
}

.cr-btn-black:hover {
    background: #1a1a1a;
    color: #FFFFFF;
}

.cr-jobs {
    background: #F9FAFB;
    padding: 80px 0;
}

.cr-jobs-inner {
    max-width: 1200px;
}

.cr-jobs h2 {
    font-family: 'Inter', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 53px;
    color: #000000;
    text-align: center;
    margin: 0;
}

.cr-jobs-sub {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.6em;
    color: #374151;
    text-align: center;
    margin: 0 0 40px;
}

.cr-filter {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px;
}

.cr-filter-search {
    flex: 1;
    max-width: 580px;
}

.cr-filter-search input {
    width: 100%;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    padding: 12px;
    outline: none;
}

.cr-filter-search input:focus {
    border-color: #111827;
}

.cr-filter-select {
    flex: 0 0 27%;
    max-width: 300px;
}

.cr-filter-select select {
    width: 100%;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    background: #FFFFFF;
    border: 1px solid #CBD5E1;
    border-radius: 8px;
    padding: 15px 12px;
    outline: none;
    cursor: pointer;
}

.cr-list {
    max-width: 90%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.cr-job-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #FFFFFF;
    border: 2px solid #E5E7EB;
    border-radius: 16px;
    padding: 24px;
    gap: 20px;
    transition: all 0.3s;
}

.cr-job-card:hover {
    transform: scale(1.01);
    box-shadow: 3px 3px 10px -5px rgba(0, 0, 0, 0.5);
    border-color: #111827;
}

.cr-job-title {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px;
}

.cr-job-meta {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0;
    padding: 0;
}

.cr-job-meta li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #646464;
}

.cr-job-meta i {
    font-size: 14px;
    color: #646464;
}

.cr-job-btn {
    display: inline-block;
    background: #000000;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 700;
    padding: 14px 20px;
    border-radius: 5px;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.3s;
}

.cr-job-btn:hover {
    background: #1a1a1a;
    color: #FFFFFF;
}

.cr-empty {
    text-align: center;
    padding: 60px 0;
}

.cr-empty i {
    font-size: 48px;
    color: #CBD5E1;
    margin-bottom: 20px;
}

.cr-empty h3 {
    font-family: 'Inter', sans-serif;
    color: #111827;
    margin: 0 0 8px;
}

.cr-empty p {
    color: #6B7280;
    margin: 0;
}

.cr-why {
    background: #FFFFFF;
    padding: 100px 0;
}

.cr-why h2 {
    font-family: 'Inter', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #111827;
    text-align: center;
    margin: 0 0 50px;
}

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

.cr-why-item {
    padding: 20px;
    border-radius: 10px;
    transition: background 0.3s;
}

.cr-why-item:hover {
    background: #F9FAFB;
}

.cr-why-icon {
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #BEF264;
    color: #365314;
    border-radius: 50%;
    font-size: 35px;
    margin-bottom: 16px;
}

.cr-why-item h3 {
    font-family: 'Inter', sans-serif;
    font-size: 1.3rem;
    font-weight: 600;
    color: #111827;
    margin: 0 0 8px;
}

.cr-why-item p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #374151;
    margin: 0;
}

.cr-cta {
    background: #020406;
    padding: 80px 0;
}

.cr-cta-inner {
    text-align: center;
}

.cr-cta h2 {
    font-family: 'Inter', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0 0 16px;
}

.cr-cta p {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.6em;
    color: #D4D4D4;
    max-width: 800px;
    margin: 0 auto 32px;
}

.cr-cta-btn {
    display: inline-block;
    background: #BEF264;
    color: #365314;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6em;
    padding: 16px;
    border-radius: 5px;
    text-decoration: none;
    transition: all 0.3s;
}

.cr-cta-btn:hover {
    background: #d3f7a3;
    color: #365314;
}

@media (max-width: 1024px) {
    .cr-hero h1 {
        font-size: 2.5rem;
    }

    .cr-why-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@media (max-width: 767px) {
    .cr-filter {
        flex-direction: column;
        gap: 10px;
    }

    .cr-filter-select {
        flex: 1;
        max-width: 100%;
    }

    .cr-list {
        max-width: 100%;
    }

    .cr-job-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .cr-job-btn {
        width: 100%;
        text-align: center;
    }

    .cr-jobs h2,
    .cr-why h2,
    .cr-cta h2 {
        font-size: 2rem;
    }

    .cr-jobs-sub,
    .cr-cta p {
        font-size: 16px;
    }
}

/* ===== Blog Page (matching gamasemesta.com) ===== */
.blog-hero {
    padding: 80px 0;
}

.blog-hero-inner {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.blog-hero h2 {
    font-family: 'Inter', sans-serif;
    font-size: 3.5rem;
    font-weight: 800;
    color: #111827;
    margin: 0;
}

.blog-hero h2 .highlight-underline {
    background-image: linear-gradient(120deg, #d9f99d 0%, #d9f99d 100%);
    background-repeat: no-repeat;
    background-size: 100% 0.3em;
    background-position: 0 88%;
}

.blog-hero p {
    width: 63%;
    max-width: 760px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
    color: #374151;
    margin: 16px 0 0;
}

.blog-search-wrap {
    display: flex;
    justify-content: center;
    border-bottom: 2px solid #E4E4E4;
    padding-bottom: 20px;
}

.blog-search {
    width: 100%;
    max-width: 560px;
    border-radius: 50px;
}

.blog-search-input input {
    width: 100%;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    border: 1px solid #CBD5E1;
    border-radius: 50px;
    padding: 14px 24px;
    outline: none;
    transition: border-color 0.3s;
}

.blog-search-input input:focus {
    border-color: #50A100;
}

.blog-body {
    padding: 40px 0 80px;
}

.blog-box {
    background: #F9FAFB;
    border-radius: 16px;
    box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.5);
    padding: 32px;
}

.blog-box-row {
    display: flex;
    gap: 0;
    align-items: flex-start;
}

.blog-popular {
    flex: 0 0 66%;
    width: 100%;
    max-width: 66%;
    min-width: 0;
    border-right: 1px solid #E4E4E4;
    padding-right: 32px;
}

.blog-popular h2 {
    font-family: 'Inter', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 6px;
}

.blog-popular p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: #374151;
    margin: 0 0 20px;
}

.blog-popular-swiper {
    padding: 0 40px;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
}

.blog-popular-swiper .swiper-slide {
    max-width: 100%;
}

.blog-popular-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    text-decoration: none;
    padding: 10px 12px;
    border-radius: 8px;
    transition: background 0.3s;
}

.blog-popular-item:hover {
    background: #FFFFFF;
}

.blog-popular-item i {
    color: #A3E635;
    font-size: 14px;
    margin-top: 5px;
}

.blog-popular-title {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #1A0E0E;
    line-height: 1.5;
}

.blog-popular-next,
.blog-popular-prev {
    width: 29px;
    height: 29px;
    color: #000000;
}

.blog-popular-next::after,
.blog-popular-prev::after {
    font-size: 16px;
    font-weight: 700;
}

.blog-cta {
    flex: 0 0 34%;
    max-width: 34%;
    width: 100%;
    min-width: 0;
}

.blog-cta h2 {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 6px;
}

.blog-cta p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    color: #374151;
    margin: 0 0 20px;
}

.blog-cta-btn {
    display: inline-block;
    background: #121725;
    color: #D9F99D;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    border-radius: 5px;
    padding: 12px 24px;
    text-decoration: none;
    transition: all 0.3s;
}

.blog-cta-btn:hover {
    background: #1e2740;
    color: #D9F99D;
}

.blog-grid-wrap {
    margin-top: 32px;
}

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

.blog-card {
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border: 1px solid #DBDBDB;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0px 1px 10px -7px rgba(0, 0, 0, 0.5);
    text-decoration: none;
    transition: box-shadow 0.3s;
}

.blog-card:hover {
    box-shadow: 0px 4px 10px -5px rgba(0, 0, 0, 0.5);
}

.blog-card-img img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: bottom center;
    display: block;
}

.blog-card-body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1px;
    padding: 20px;
}

.blog-card-body h3 {
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 26px;
    color: #180D0D;
    margin: 0 0 8px;
    transition: color 0.3s;
}

.blog-card:hover .blog-card-body h3 {
    color: #50A100;
}

.blog-card-body time {
    font-size: 14px;
    color: #54595F;
    padding-top: 10px;
    border-top: 1px solid #D8D8D8;
}

.blog-pagination {
    text-align: center;
    margin-top: 40px;
}

.blog-pagination .page-numbers {
    display: inline-block;
    padding: 8px 14px;
    margin: 0 3px;
    border-radius: 5px;
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    color: #616161;
    text-decoration: none;
}

.blog-pagination .page-numbers.current {
    background: #000000;
    color: #FFFFFF;
    border-color: #000000;
}

.blog-empty {
    text-align: center;
    padding: 60px 0;
}

.blog-empty i {
    font-size: 48px;
    color: #CBD5E1;
    margin-bottom: 20px;
}

.blog-empty h3 {
    font-family: 'Inter', sans-serif;
    color: #111827;
    margin: 0 0 8px;
}

.blog-empty p {
    color: #6B7280;
    margin: 0;
}

@media (max-width: 1024px) {
    .blog-box-row {
        flex-direction: column;
        gap: 24px;
    }

    .blog-popular {
        flex: none;
        width: 100%;
        max-width: 100%;
        border-right: none;
        padding-right: 0;
    }

    .blog-cta {
        flex: none;
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .blog-hero h2 {
        font-size: 1.9rem;
        line-height: 1.1em;
    }

    .blog-hero p {
        width: 90%;
        font-size: 14px;
    }

    .blog-card-grid {
        grid-template-columns: 1fr;
    }

    .blog-box {
        padding: 20px;
    }
}

/* ===== Contact Page (matching gamasemesta.com) ===== */
.contact-hero {
    position: relative;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url('assets/images/about-hero.webp');
    background-position: center center;
    background-size: cover;
    padding: 10% 0 13%;
}

.contact-hero-overlay {
    position: absolute;
    inset: 0;
    background: #000000;
    opacity: 0.5;
}

.contact-hero-inner {
    position: relative;
    text-align: center;
}

.contact-hero h2 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.3em;
    color: #FFFFFF;
    margin: 0;
}

.contact-body {
    padding: 5% 0 7%;
}

.contact-body-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.contact-map {
    width: 100%;
    margin-bottom: 1%;
}

.contact-map iframe {
    width: 100%;
    height: 535px;
    border: 0;
}

.contact-cards {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 30px;
    width: 100%;
}

.contact-card {
    display: flex;
    align-items: center;
    gap: 30px;
    flex: 0 0 30%;
    max-width: 30%;
    min-width: 250px;
}

.contact-card-icon {
    color: #333333;
    font-size: 28px;
}

.contact-card-content h3 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 20px;
    font-weight: 500;
    color: #111827;
    margin: 0 0 2px;
}

.contact-card-content p {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 20px;
    color: #374151;
    margin: 0;
}

.contact-card-content a {
    color: #374151;
    text-decoration: none;
}

.contact-card-content a:hover {
    color: #23A455;
}

.contact-address {
    text-align: center;
    padding: 0 18%;
}

.contact-address h2 {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #111827;
    margin: 0 0 8px;
}

.contact-address p {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 20px;
    color: #374151;
    margin: 0;
}

.contact-social {
    display: flex;
    justify-content: center;
    gap: 14px;
}

.contact-social a {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #F3F4F6;
    color: #111827;
    font-size: 20px;
    text-decoration: none;
    transition: all 0.3s;
}

.contact-social a:hover {
    background: #111827;
    color: #D9F99D;
}

@media (max-width: 1024px) {
    .contact-body {
        padding: 10% 5% 15%;
    }

    .contact-card {
        flex: 0 0 100%;
        max-width: 100%;
        flex-direction: column;
        text-align: center;
        gap: 8px;
    }

    .contact-address {
        padding: 0;
    }
}

@media (max-width: 767px) {
    .contact-hero {
        min-height: 300px;
        padding: 20% 5% 25%;
    }

    .contact-hero h2 {
        font-size: 1.5rem;
    }

    .contact-map iframe {
        border-radius: 10px;
        height: 350px;
    }
}

/* ===== Single Career Page (matching gamasemesta.com) ===== */
.sj-hero {
    background: #F9FAFB;
    padding: 80px 0;
}

.sj-breadcrumb {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #333333;
    margin: 0 0 16px;
}

.sj-breadcrumb a {
    color: #6B7280;
    text-decoration: none;
    transition: color 0.3s;
}

.sj-breadcrumb a:hover {
    color: #111827;
}

.sj-breadcrumb-current {
    color: #333333;
}

.sj-title {
    font-family: 'Inter', sans-serif;
    font-size: 48px;
    font-weight: 800;
    color: #111827;
    margin: 0 0 16px;
}

.sj-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sj-meta li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #333333;
}

.sj-meta li i {
    color: #646464;
    font-size: 14px;
}

.sj-main {
    padding: 40px 0 80px;
}

.sj-main-inner {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-start;
}

.sj-content {
    flex: 1;
    min-width: 0;
    padding-top: 40px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.6rem;
    color: #54595F;
}

.sj-content h2 {
    font-family: 'Inter', sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: #059669;
    margin: 32px 0 16px;
}

.sj-content h2:first-child {
    margin-top: 0;
}

.sj-content p {
    margin: 0 0 16px;
}

.sj-content ul,
.sj-content ol {
    margin: 0 0 16px;
    padding-left: 24px;
}

.sj-content li {
    margin-bottom: 8px;
}

.sj-sidebar {
    width: 34%;
    flex: 0 0 34%;
    position: sticky;
    top: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sj-box {
    background: #FFFFFF;
    border: 1px solid #E5E7EB;
    border-radius: 16px;
    box-shadow: 0px 0px 10px -5px rgba(0,0,0,0.5);
    padding: 24px;
}

.sj-box-title {
    font-family: 'Inter', sans-serif;
    font-size: 21px;
    font-weight: 600;
    color: #111827;
    margin: 0 0 8px;
}

.sj-box-text {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #54595F;
    margin: 0 0 16px;
}

.sj-apply-btn {
    display: block;
    text-align: center;
    background: #000000;
    color: #FFFFFF;
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 700;
    padding: 14px 20px;
    border-radius: 5px;
    text-decoration: none;
    transition: box-shadow 0.3s;
}

.sj-apply-btn:hover {
    color: #FFFFFF;
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.4);
}

.sj-share {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 16px;
}

.sj-share-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B7280;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.3s;
    background: transparent;
    border: 1px solid #E5E7EB;
}

.sj-share-btn:hover {
    color: #111827;
    border-color: #111827;
}

@media (max-width: 1024px) {
    .sj-main-inner {
        flex-direction: column;
    }

    .sj-sidebar {
        width: 100%;
        flex: 1 1 auto;
        position: static;
    }
}

@media (max-width: 767px) {
    .sj-main-inner {
        flex-direction: column;
    }

    .sj-hero {
        padding: 50px 0;
    }

    .sj-title {
        font-size: 2rem;
    }

    .sj-meta {
        gap: 10px 20px;
    }
}

/* ===== Single Post (Artikel) Page (matching gamasemesta.com) ===== */
.sa-hero {
    padding: 5%;
}

.sa-hero-inner {
    display: flex;
    flex-direction: row;
    gap: 0px;
    justify-content: space-around;
    align-items: flex-start;
    max-width: 1200px;
}

.sa-left {
    width: 66%;
    flex: 0 0 66%;
}

.sa-breadcrumb {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #333333;
    margin: 0 0 16px;
}

.sa-breadcrumb a {
    color: #60A108;
    text-decoration: none;
}

.sa-breadcrumb a:hover {
    color: #333333;
}

.sa-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.2em;
    color: #333333;
    margin: 0 0 16px;
}

.sa-postinfo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #333333;
    margin: 0 0 16px;
}

.sa-avatar img {
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: block;
}

.sa-author {
    color: #333333;
    text-decoration: none;
}

.sa-author:hover {
    color: #319DA2;
}

.sa-sep {
    color: #333333;
}

.sa-date {
    color: #333333;
}

.sa-share {
    display: flex;
    gap: 2px;
    margin: 0 0 24px;
}

.sa-share-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6D6D6D;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s;
}

.sa-share-btn:hover {
    color: #111827;
    background: #F3F4F6;
}

.sa-thumb {
    margin: 0 0 5%;
}

.sa-thumb img {
    width: 100%;
    height: auto;
    display: block;
}

.sa-content {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    line-height: 1.8em;
    color: #333333;
}

.sa-content p {
    margin: 0 0 16px;
}

.sa-content h2 {
    color: #0FA7BE;
    font-size: 20px;
    margin: 32px 0 16px;
}

.sa-content h3 {
    color: #333333;
    margin: 24px 0 12px;
}

.sa-content a {
    color: #333333;
}

.sa-content a:hover {
    color: #319DA2;
}

.sa-content ul,
.sa-content ol {
    margin: 0 0 16px;
    padding-left: 24px;
}

.sa-content li {
    margin-bottom: 8px;
}

.sa-comments {
    background: #FCFCFC;
    border: 1px solid #ECECEC;
    border-radius: 10px;
    padding: 5%;
    margin-top: 40px;
}

.sa-comments textarea,
.sa-comments input[type="text"],
.sa-comments input[type="email"],
.sa-comments input[type="url"] {
    width: 100%;
    box-sizing: border-box;
}

.sa-right {
    width: 30%;
    flex: 0 0 30%;
}

.sa-cta-box {
    background: #F9F9F9;
    border: 1px solid #ECECEC;
    border-radius: 10px;
    padding: 5%;
    margin: 0 0 10%;
}

.sa-cta-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 32px;
    font-weight: 500;
    color: #3F444B;
    margin: 0 0 12px;
}

.sa-cta-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    color: #3F444B;
    margin: 0 0 16px;
}

.sa-cta-btn {
    display: inline-block;
    background: #FA8231;
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    padding: 12px 24px;
    border-radius: 5px;
    text-decoration: none;
    transition: background 0.3s;
}

.sa-cta-btn:hover {
    background: #FF934B;
    color: #FFFFFF;
}

.sa-search {
    margin: 0 0 10%;
}

.sa-search form {
    display: flex;
    gap: 8px;
}

.sa-search input {
    flex: 1;
    padding: 10px;
    border: 1px solid #E5E7EB;
    border-radius: 5px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #333333;
}

.sa-search input:focus {
    outline: none;
    border-color: #0FA7BE;
}

.sa-search button {
    background: #111827;
    color: #FFFFFF;
    border: none;
    border-radius: 5px;
    padding: 10px 16px;
    cursor: pointer;
}

.sa-latest {
    padding: 10%;
    background: #FFFFFF;
    border: 1px solid #ECECEC;
    border-radius: 10px;
}

.sa-latest-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 24px;
    font-weight: 500;
    text-transform: uppercase;
    color: #020101;
    margin: 0 0 16px;
}

.sa-latest-item {
    padding: 0 0 14px;
    margin: 0 0 14px;
    border-bottom: 1px solid #ECECEC;
}

.sa-latest-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.sa-latest-item-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #333333;
    margin: 0 0 8px;
}

.sa-latest-item-title a {
    color: #333333;
    text-decoration: none;
}

.sa-latest-item-title a:hover {
    color: #319DA2;
}

.sa-latest-date {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    color: #6B7280;
}

.sa-cta {
    background: #DBF7F8;
    padding: 4% 5%;
}

.sa-cta-inner {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.sa-cta-left {
    width: 70%;
    flex: 0 0 70%;
}

.sa-upgrade-btn {
    display: inline-block;
    background: #005053;
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    padding: 10px 24px;
    border-radius: 50px;
    text-decoration: none;
    margin: 0 0 16px;
}

.sa-cta-left-title {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 32px;
    font-weight: 500;
    color: #005053;
    margin: 0 0 12px;
}

.sa-cta-left-desc {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 16px;
    color: #005053;
    margin: 0;
}

.sa-cta-right {
    width: 30%;
    flex: 0 0 30%;
    text-align: right;
}

.sa-jadwal-btn {
    display: inline-block;
    background: #FA8231;
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 18px;
    font-weight: 500;
    padding: 12px 24px;
    border-radius: 5px;
    text-decoration: none;
    transition: background 0.3s;
}

.sa-jadwal-btn:hover {
    background: #FF934B;
    color: #FFFFFF;
}

@media (max-width: 1024px) {
    .sa-hero-inner {
        flex-direction: column;
    }

    .sa-left {
        width: 100%;
        flex: 1 1 auto;
        margin-bottom: 10%;
    }

    .sa-right {
        width: 100%;
        flex: 1 1 auto;
    }

    .sa-cta-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .sa-cta-left,
    .sa-cta-right {
        width: 100%;
        flex: 1 1 auto;
    }

    .sa-cta-right {
        text-align: left;
    }
}

@media (max-width: 767px) {
    .sa-title {
        font-size: 1.8rem;
    }

    .sa-cta-left-title {
        font-size: 1.5rem;
    }

    .sa-cta-left-desc {
        font-size: 1rem;
    }

    .sa-cta-right .sa-jadwal-btn {
        width: 100%;
        text-align: center;
    }
}
