.contact-hero{
    background: linear-gradient(135deg,#ffffff 0%, #fff4f5 45%, #ffe9ec 100%);
}
.contact-heading .kicker{
    letter-spacing:.12em; font-weight:700;
}
.contact-card{
    border:0; border-radius:1rem; box-shadow:0 10px 30px rgba(220,53,69,.12);
    background:#fff;
}
.has-icon{ position:relative; }
.has-icon .icon{
    position:absolute; right:.85rem; bottom:.7rem; opacity:.55; pointer-events:none;
    font-size:1.1rem;
}
.form-floating>.form-control,
.form-floating>.form-select{ padding-right:2.25rem; }

/* Flash */
.contact-flash .alert{ border-radius:.75rem; }

/* Illustration */
.contact-illus-wrap{ position:relative; }
.contact-blob{
    position:absolute; inset:auto -8% -8% auto; width:60%; height:60%;
    background: radial-gradient(60% 60% at 40% 40%, rgba(220,53,69,.18), transparent 65%);
    filter: blur(28px); z-index:0;
}
.contact-illus{
    position:relative; z-index:1; border-radius:1rem;
    box-shadow:0 20px 50px rgba(0,0,0,.12);
}
@media (prefers-reduced-motion:no-preference){
    .float-y{ animation:floatY 6s ease-in-out infinite; }
    @keyframes floatY{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
}

/* Info chips */
.info-chip{
    display:flex; gap:.75rem; align-items:center; padding:1rem;
    background:#fff; border-radius:1rem; box-shadow:0 6px 18px rgba(0,0,0,.06);
    border:1px solid rgba(220,53,69,.08);
    transition:transform .18s ease, box-shadow .18s ease;
}
.info-chip .icon-ring{
    display:inline-grid; place-items:center; width:44px; height:44px; border-radius:50%;
    background:rgba(220,53,69,.08); color:#dc3545;
}
.info-chip:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(220,53,69,.15); }
