/* ============================================================
   CONTACT PAGE — page-specific styles
   Hero mirrors profile.php (.profile-hero-lite / .phl-*)
   Shared palette/nav/footer come from styles.css
   ============================================================ */

:root {
    --text-muted: #5A7A9B;
}

/* ── HERO (light blue + animated graphic) ── */
.contact-hero-lite {
    position: relative;
    overflow: hidden;
    padding: 150px 0 90px;
    background:
        radial-gradient(70% 80% at 85% 18%, rgba(140,190,240,.45) 0%, transparent 60%),
        radial-gradient(60% 70% at 8% 92%, rgba(180,210,245,.5) 0%, transparent 60%),
        linear-gradient(180deg, #EBF4FF 0%, #D8E9FB 55%, #CFE3F8 100%);
}
.contact-hero-lite .container { position: relative; z-index: 2; }
.contact-hero-lite .phl-blob { position:absolute; border-radius:50%; filter:blur(60px); pointer-events:none; z-index:0; }
.contact-hero-lite .phl-blob.o {
    width:360px; height:360px; top:-60px; right:6%;
    background: radial-gradient(circle, rgba(242,107,33,.28) 0%, transparent 70%);
    animation: phlDriftA 16s ease-in-out infinite;
}
.contact-hero-lite .phl-blob.g {
    width:300px; height:300px; bottom:-40px; left:4%;
    background: radial-gradient(circle, rgba(22,169,124,.22) 0%, transparent 70%);
    animation: phlDriftB 20s ease-in-out infinite;
}
@keyframes phlDriftA { 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(-40px,30px) scale(1.1);} }
@keyframes phlDriftB { 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(40px,-25px) scale(1.08);} }

.phl-eyebrow {
    font-family: 'Poppins', sans-serif;
    font-size: .78rem; font-weight: 700; letter-spacing: 3px;
    text-transform: uppercase; color: var(--orange); margin-bottom: 12px;
}
.phl-title {
    font-family: 'Poppins', sans-serif;
    font-size: clamp(2rem, 4.4vw, 3.2rem); font-weight: 800;
    color: var(--ink); line-height: 1.15; margin-bottom: 18px;
}
.phl-title span { color: var(--orange); }
.phl-subtitle {
    font-size: 1.05rem; color: var(--ink-soft); max-width: 500px;
    line-height: 1.7; margin-bottom: 34px;
}
.phl-pills { display: flex; flex-wrap: wrap; gap: 12px; }
.phl-pill {
    background: rgba(255,255,255,.7); backdrop-filter: blur(8px);
    border: 1px solid rgba(27,20,112,.10); border-radius: 50px;
    padding: 10px 22px; display: flex; align-items: center; gap: 10px;
    color: var(--ink); box-shadow: 0 8px 20px -12px rgba(27,20,112,.3);
}
.phl-pill .pill-num { font-family:'Poppins',sans-serif; font-size:1.15rem; font-weight:700; color: var(--orange); }
.phl-pill .pill-label { font-size:.8rem; color: var(--text-muted, #5A7A9B); line-height:1.3; }

.phl-graphic { position: relative; display: grid; place-items: center; min-height: 360px; }
.phl-card {
    position: relative; width: 330px; max-width: 100%; background: #fff; border-radius: 20px;
    box-shadow: 0 30px 60px -25px rgba(27,20,112,.35); border: 1px solid rgba(27,20,112,.08);
    padding: 24px; animation: phlFloat 6s ease-in-out infinite; z-index: 2;
}
.phl-card svg { display:block; width:100%; height:auto; }
@keyframes phlFloat { 0%,100%{transform:translateY(0) rotate(-1deg);} 50%{transform:translateY(-14px) rotate(.6deg);} }
.phl-badge {
    position:absolute; background:#fff; border-radius:14px; padding:10px 14px;
    box-shadow:0 18px 40px -18px rgba(27,20,112,.4); display:flex; align-items:center; gap:8px;
    font-family:'Poppins',sans-serif; font-weight:700; font-size:.92rem; color: var(--ink); z-index:3; white-space:nowrap;
}
.phl-badge i { color: var(--orange); }
.phl-badge.b-top { top: 2%; left: -6px; animation: phlFloat 7s ease-in-out infinite .4s; }
.phl-badge.b-bot { bottom: 8%; right: -6px; animation: phlFloat 8s ease-in-out infinite 1s; }
.phl-badge.b-bot i { color: var(--green, #16A97C); }
@media (max-width: 991px){ .phl-graphic { margin-top: 46px; } }
@media (max-width: 575px){ .contact-hero-lite { padding: 120px 0 70px; } }
@media (prefers-reduced-motion: reduce){
    .contact-hero-lite .phl-blob, .phl-card, .phl-badge { animation: none !important; }
}

/* ── CONTACT CONTENT ──────────────────────── */
.contact-section { padding: 90px 0; }

/* Form card */
.contact-card {
    background: #fff;
    border-radius: 22px;
    padding: 44px 40px;
    box-shadow: 0 24px 55px -30px rgba(27,20,112,.4);
    border: 1px solid rgba(27,20,112,.08);
    height: 100%;
}
.contact-card .card-eyebrow {
    font-family: 'Poppins', sans-serif; font-size: .72rem; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase; color: var(--orange); margin-bottom: 8px;
}
.contact-card h3 {
    font-family: 'Poppins', sans-serif; font-weight: 800; color: var(--ink);
    font-size: 1.7rem; margin-bottom: 8px;
}
.contact-card .card-sub { color: var(--ink-soft); font-size: .95rem; margin-bottom: 26px; }

.contact-card .form-label {
    font-family: 'Poppins', sans-serif; font-weight: 600; font-size: .82rem;
    color: var(--ink); margin-bottom: 6px;
}
.contact-card .form-control {
    border: 1px solid rgba(27,20,112,.14);
    border-radius: 12px;
    padding: 12px 16px;
    font-size: .95rem;
    background: #FAFBFE;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.contact-card .form-control:focus {
    border-color: var(--orange);
    background: #fff;
    box-shadow: 0 0 0 .22rem rgba(242,107,33,.15);
}
.contact-card .btn-submit {
    background: var(--orange); color: #fff;
    font-family: 'Poppins', sans-serif; font-weight: 700; font-size: .9rem;
    border: none; border-radius: 100px; padding: 13px 28px;
    box-shadow: 0 12px 26px -10px rgba(242,107,33,.6);
    transition: transform .2s ease, background .2s ease;
}
.contact-card .btn-submit:hover { background: var(--orange-deep); transform: translateY(-2px); }
.contact-card .btn-submit:disabled { opacity: .7; transform: none; }

/* Info side */
.info-eyebrow {
    font-family: 'Poppins', sans-serif; font-size: .72rem; font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase; color: var(--orange); margin-bottom: 10px;
}
.info-title {
    font-family: 'Poppins', sans-serif; font-weight: 800; color: var(--ink);
    font-size: 1.9rem; line-height: 1.2; margin-bottom: 14px;
}
.info-lead { color: var(--ink-soft); font-size: 1rem; line-height: 1.7; margin-bottom: 30px; }

.ci-item {
    display: flex; gap: 16px; align-items: flex-start;
    background: #fff; border: 1px solid rgba(27,20,112,.08);
    border-radius: 16px; padding: 20px 22px; margin-bottom: 16px;
    box-shadow: 0 14px 34px -26px rgba(27,20,112,.5);
    transition: transform .25s ease, box-shadow .25s ease;
}
.ci-item:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -24px rgba(27,20,112,.5); }
.ci-icon {
    flex-shrink: 0; width: 50px; height: 50px; border-radius: 14px;
    display: grid; place-items: center; font-size: 1.15rem; color: #fff;
    background: linear-gradient(135deg, var(--navy), var(--navy-deep));
}
.ci-item:nth-child(2) .ci-icon { background: linear-gradient(135deg, var(--orange), var(--orange-deep)); }
.ci-item:nth-child(3) .ci-icon { background: linear-gradient(135deg, var(--green), #0E8C66); }
.ci-item h5 {
    font-family: 'Poppins', sans-serif; font-size: 1.02rem; font-weight: 700;
    color: var(--ink); margin-bottom: 4px;
}
.ci-item p { margin: 0; color: var(--ink-soft); font-size: .92rem; line-height: 1.6; }

/* ── SCROLL REVEAL (footer JS adds `.in`) ─── */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease; }
.reveal.in, .reveal.visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } }

@media (max-width: 767px) {
    .contact-card { padding: 32px 24px; }
    .contact-section { padding: 60px 0; }
}
