@media (max-width: 992px) {
            .timeline-wrapper::before, .timeline-node { display: none; }
            .timeline-row { grid-template-columns: 1fr; gap: 3rem; }
            .subcard-editorial ul { grid-template-columns: 1fr; }
        }

.contact-grid-wrap {
            display: grid;
            grid-template-columns: 1fr 1.15fr;
            gap: 5vw;
            align-items: flex-start;
        }

.contact-text-col h2 {
            font-size: clamp(2.75rem, 5vw, 5rem);
            font-family: 'Space Grotesk', sans-serif;
            font-weight: 700;
            text-transform: uppercase;
            line-height: 0.95;
            margin-bottom: 1.5rem;
            letter-spacing: -0.03em;
        }

.contact-text-col p {
            font-size: 1.1rem;
            color: #555555;
            line-height: 1.6;
            margin-bottom: 2.5rem;
            max-width: 440px;
        }

.contact-cards-list {
            display: flex;
            flex-direction: column;
            gap: 1rem;
        }

/* Form Card */
        .premium-form-card {
            background: #ffffff;
            border: 1px solid var(--border);
            border-radius: 20px;
            padding: 2.75rem;
            transition: border-color 0.3s ease;
        }

.p-field.full { margin-bottom: 2rem; }

@media (max-width: 768px) {
            .about-section { flex-direction: column; gap: 5vh; }
            .about-left h2 { position: static; margin-bottom: 2rem; }
            .careers-header { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
            .job-card { flex-direction: column; align-items: flex-start; gap: 1.25rem; padding: 1.5rem; }
            .job-apply-btn { width: 100%; justify-content: center; }
            .footer-info { flex-direction: column; gap: 2rem; text-align: left; }

            .container { padding: 0 6vw; }
            nav { padding: 1rem 6vw; }
            .logo-img { height: 34px; }
            .logo-text { font-size: 1.05rem; }

            .hero { min-height: auto; padding-top: 10vh; padding-bottom: 5vh; gap: 3rem; }
            .hero-title { font-size: clamp(2.2rem, 9vw, 3.2rem); }
            .hero-subtitle { padding-left: 1rem; margin-bottom: 2rem; }
            .hero-buttons { flex-direction: column; align-items: stretch; gap: 0.85rem; width: 100%; }
            .btn-primary, .btn-secondary { justify-content: center; width: 100%; }
            .hero-img-wrap { height: 55vh; min-height: 320px; }

            .mvv-banner { padding: 8vh 0; }
            .mvv-col:first-child { padding-right: 0; border-right: none; border-bottom: 1px solid var(--border); padding-bottom: 3rem; }

            .about-section { padding: 9vh 0; }
            .about-image { height: 32vh; }
            .standards-badges { gap: 0.6rem; }
            .std-badge { font-size: 0.72rem; padding: 0.35rem 0.85rem; }

            .services-section { padding: 9vh 0; }
            .services-header { margin-bottom: 5vh; }
            .timeline-wrapper { gap: 6vh; }
            .timeline-media { height: 240px; }
            .timeline-content h3 { font-size: clamp(1.6rem, 6vw, 2.2rem); }
            .subcard-editorial { padding: 1.25rem 1.4rem; }
            .subcard-editorial ul { grid-template-columns: 1fr; gap: 0.5rem; }

            .values-section { padding: 9vh 0; }
            .values-header { margin-bottom: 4vh; padding-bottom: 1.5rem; }
            .value-item h4 { font-size: 1.25rem; }
            .value-index { font-size: 1.5rem; }

            .careers-section { padding: 9vh 0; }
            .job-info h3 { font-size: 1.25rem; }
            .job-meta { flex-wrap: wrap; gap: 0.6rem; }

            .premium-contact { padding: 9vh 0 6vh; }
            .contact-text-col h2 { font-size: clamp(2.2rem, 8vw, 3rem); }
            .premium-form-card { padding: 1.75rem; }
            .p-form-row { gap: 0.5rem; }
            .pills-group { gap: 0.4rem; }
            .tag-pill { font-size: 0.72rem; padding: 0.4rem 0.9rem; }

            .footer-bar { padding: 3rem 0 2.5rem; }
            .footer-info > div:last-child { text-align: left; }
        }

/* Training eyebrow */
        .training-eyebrow {
            display: inline-block;
            font-family: 'Space Grotesk', sans-serif;
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--brand-navy);
            font-weight: 700;
            background: rgba(29, 78, 216, 0.08);
            padding: 0.5rem 1.25rem;
            border-radius: 100px;
        }


/* Role accordion (category detail cards) */
        .role-category-count {
            font-size: 0.75rem;
            font-family: 'Space Grotesk', sans-serif;
            text-transform: uppercase;
            letter-spacing: 0.06em;
            color: var(--gray);
            font-weight: 600;
            white-space: nowrap;
        }

.role-list {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            margin-bottom: 3.5rem;
        }

.role-card {
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-left: 3px solid var(--border);
            border-radius: 14px;
            overflow: hidden;
            transition: border-color 0.25s ease, box-shadow 0.25s ease;
        }

.role-card:hover {
            border-color: var(--text);
            border-left-color: var(--brand-navy);
            box-shadow: 0 8px 24px rgba(0,0,0,0.04);
        }

.role-card.open { border-left-color: var(--brand-navy); }

.role-card-head {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1.5rem;
            padding: 1.75rem 2rem;
            cursor: pointer;
            user-select: none;
        }

.role-card-heading h4 {
            font-size: 1.3rem;
            font-weight: 600;
            color: var(--text);
            font-family: 'Space Grotesk', sans-serif;
            margin-bottom: 0.4rem;
        }

.role-card-positions {
            font-size: 0.92rem;
            color: var(--gray);
            margin: 0;
        }

.role-card-head-right {
            display: flex;
            align-items: center;
            gap: 1.25rem;
            flex-shrink: 0;
        }

.role-card-toggle {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            border: 1px solid var(--border);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            position: relative;
            transition: border-color 0.25s ease, transform 0.35s cubic-bezier(.19,1,.22,1);
        }

.role-card-toggle::before, .role-card-toggle::after {
            content: '';
            position: absolute;
            background: var(--text);
            transition: opacity 0.25s ease;
        }

.role-card-toggle::before { width: 12px; height: 1.5px; }

.role-card-toggle::after { width: 1.5px; height: 12px; }

.role-card.open .role-card-toggle { transform: rotate(135deg); border-color: var(--brand-navy); }

.role-card.open .role-card-toggle::before,
        .role-card.open .role-card-toggle::after { background: var(--brand-navy); }

.role-card-body {
            display: grid;
            grid-template-rows: 0fr;
            transition: grid-template-rows 0.4s cubic-bezier(.19,1,.22,1);
        }

.role-card.open .role-card-body { grid-template-rows: 1fr; }

.role-card-body-inner { overflow: hidden; }

.role-card-content {
            padding: 0 1.75rem 2rem;
            border-top: 1px solid var(--border);
            padding-top: 1.75rem;
        }

.role-detail-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1.5rem;
            margin-bottom: 0.5rem;
        }

.role-detail-block h5 {
            font-family: 'Space Grotesk', sans-serif;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: var(--brand-navy);
            font-weight: 700;
            margin-bottom: 0.85rem;
        }

.role-detail-block ul {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

.role-detail-block ul li {
            font-size: 0.92rem;
            color: #475569;
            line-height: 1.45;
            padding-left: 1.1rem;
            position: relative;
        }

.role-detail-block ul li::before {
            content: '';
            position: absolute;
            left: 0; top: 0.5em;
            width: 5px; height: 5px;
            border-radius: 50%;
            background: var(--brand-navy);
        }

@media (max-width: 700px) {
            .role-card-head { padding: 1.25rem; flex-wrap: wrap; }
            .role-card-head-right { gap: 0.75rem; }
            .role-card-content { padding: 0 1.25rem 1.5rem; padding-top: 1.5rem; }
        }
