/* ============================================
   ENTERPRISEHUB CONTACT PAGE
   ============================================ */

/* Full-width override on Contact */
body.enterprisehub-page-contact .ast-container,
body.enterprisehub-page-contact #primary,
body.enterprisehub-page-contact .content-area,
body.enterprisehub-page-contact article,
body.enterprisehub-page-contact .entry-content,
body.enterprisehub-page-contact .site-content,
body.page-template-page-contact .ast-container,
body.page-template-page-contact #primary,
body.page-template-page-contact .content-area,
body.page-template-page-contact article,
body.page-template-page-contact .entry-content,
body.page-template-page-contact .site-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.enterprisehub-page-contact .ast-container,
body.page-template-page-contact .ast-container { display: block !important; }

body.enterprisehub-page-contact #primary,
body.page-template-page-contact #primary { flex: 1 1 100% !important; }

body.enterprisehub-page-contact #secondary,
body.page-template-page-contact #secondary { display: none !important; }

.ct {
    font-family: var(--font-body);
    color: var(--color-body);
    background: var(--color-bg);
    overflow-x: clip;
}

.ct-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.ct-eyebrow {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-accent);
    margin-bottom: 16px;
}

.ct-section-title {
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--color-heading);
    margin: 0 0 24px;
}

/* ============ HERO ============ */
.ct-hero {
    position: relative;
    padding: 96px 0 64px;
    overflow: hidden;
    text-align: center;
}

.ct-hero::before {
    content: "";
    position: absolute;
    top: -200px;
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
    height: 600px;
    background: radial-gradient(ellipse, rgba(0, 103, 255, 0.07) 0%, transparent 60%);
    pointer-events: none;
}

.ct-hero-inner {
    position: relative;
    max-width: 680px;
    margin: 0 auto;
}

.ct-hero-title {
    font-size: clamp(34px, 4.6vw, 52px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: var(--color-heading);
    margin: 0 0 20px;
}

.ct-hero-lead {
    font-size: 17px;
    line-height: 1.6;
    color: var(--color-body);
    margin: 0;
}

/* ============ CONTACT CARDS ============ */
.ct-cards-section {
    padding: 0 0 72px;
}

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

.ct-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 28px;
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: 16px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.ct-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
    border-color: var(--color-accent);
}

.ct-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(0, 103, 255, 0.1);
    color: var(--color-accent);
    margin-bottom: 14px;
}

.ct-card-wa .ct-card-icon {
    background: rgba(37, 211, 102, 0.12);
    color: #15A34A;
}

.ct-card-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-body);
}

.ct-card-value {
    font-size: 17px;
    font-weight: 700;
    color: var(--color-heading);
}

/* ============ MAIN: FORM + INFO ============ */
.ct-main-section {
    padding: 0 0 100px;
}

.ct-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 56px;
    align-items: start;
}

.ct-form-wrap {
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: 20px;
    padding: 36px;
}

.ct-form-placeholder {
    padding: 20px;
    background: var(--color-bg-muted, #F8FAFC);
    border: 1px dashed var(--color-border);
    border-radius: 12px;
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--color-body);
}
.ct-form-placeholder p { margin: 0 0 10px; }
.ct-form-placeholder p:last-child { margin-bottom: 0; }
.ct-form-placeholder code {
    background: rgba(0, 103, 255, 0.08);
    color: var(--color-accent);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 13px;
}

.ct-info-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ct-info-card {
    background: var(--color-bg-muted, #F8FAFC);
    border: 1px solid var(--color-border);
    border-radius: 16px;
    padding: 24px;
}

.ct-info-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--color-heading);
    margin: 0 0 8px;
}

.ct-info-text {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--color-body);
    margin: 0;
}

.ct-info-card-accent {
    background: linear-gradient(135deg, #0b1220 0%, #162338 100%);
    border-color: transparent;
}
.ct-info-card-accent .ct-info-title { color: #fff; }
.ct-info-card-accent .ct-info-text { color: #aebbcd; margin-bottom: 16px; }

.ct-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.ct-btn-wa {
    background: linear-gradient(135deg, #25D366 0%, #15A34A 100%);
    color: #fff;
    box-shadow: 0 6px 16px rgba(21, 163, 74, 0.28);
}
.ct-btn-wa:hover {
    color: #fff;
    transform: translateY(-2px);
    filter: brightness(1.05);
    box-shadow: 0 10px 24px rgba(21, 163, 74, 0.38);
}

/* Reveal — reuses the .pp-js-ready pattern shared with About/Services */
.pp-js-ready [data-reveal] {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.pp-js-ready [data-reveal].is-visible {
    opacity: 1;
    transform: none;
}

/* ============ RESPONSIVE ============ */
@media (max-width: 900px) {
    .ct-cards { grid-template-columns: 1fr; }
    .ct-grid { grid-template-columns: 1fr; gap: 40px; }
}

@media (max-width: 560px) {
    .ct-hero { padding: 64px 0 48px; }
    .ct-form-wrap { padding: 24px; }
}
