.contact-hero { position: relative; overflow: hidden; padding: clamp(4.5rem, 9vw, 7rem) 0; background: radial-gradient(ellipse at 82% 28%, rgba(242,138,50,.13), transparent 34%), linear-gradient(135deg, #0b1b2d, #071321 72%); border-bottom: 1px solid var(--color-border); }
.contact-hero-inner { position: relative; z-index: 1; max-width: 900px; text-align: center; }
.contact-hero-orbit { position: absolute; top: -17rem; right: -9rem; width: 34rem; aspect-ratio: 1; border: 1px solid rgba(255,173,99,.14); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(242,138,50,.025), 0 0 0 6rem rgba(242,138,50,.015); pointer-events: none; }
.contact-eyebrow { margin: 0 0 .8rem; color: var(--color-orange-light); font-size: .76rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.contact-hero h1 { margin: 0; color: var(--color-white); font-size: clamp(2.6rem, 6vw, 4.5rem); font-weight: 750; letter-spacing: -.05em; line-height: 1.1; }
.contact-hero h1 span { color: var(--color-orange-light); }
.contact-hero > .container > p:last-child { max-width: 760px; margin: 1.2rem auto 0; color: var(--color-muted); font-size: clamp(1rem, 1.7vw, 1.15rem); }
.company-contact-section, .enquiry-section, .team-section, .contact-cta-section { padding: var(--space-section) 0; }
.contact-section-heading { margin: 0 auto 2rem; text-align: center; }
.contact-section-heading h2 { margin: 0; color: var(--color-white); font-size: clamp(1.8rem, 3.4vw, 2.5rem); font-weight: 700; letter-spacing: -.035em; }
.company-contact-card { display: flex; align-items: center; gap: 1rem; min-height: 116px; padding: 1.35rem 1.5rem; background: rgba(16,36,58,.72); border: 1px solid var(--color-border); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.contact-card-icon { display: grid; width: 3rem; height: 3rem; flex: 0 0 3rem; place-items: center; color: var(--color-orange-light); border: 1px solid rgba(242,138,50,.3); border-radius: .8rem; background: rgba(242,138,50,.08); }
.contact-card-icon svg { width: 1.65rem; height: 1.65rem; }
.company-contact-card h3 { margin: 0 0 .25rem; color: var(--color-muted); font-size: .83rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.company-contact-card a { color: var(--color-white); font-size: clamp(.95rem, 1.8vw, 1.15rem); font-weight: 650; text-decoration: none; overflow-wrap: anywhere; }
.company-contact-card a:hover { color: var(--color-orange-light); }
.enquiry-section { background: rgba(16,36,58,.3); border-block: 1px solid var(--color-border); }
.enquiry-card { display: flex; min-height: 260px; flex-direction: column; padding: 1.5rem; background: linear-gradient(145deg, rgba(16,36,58,.92), rgba(9,25,42,.9)); border: 1px solid var(--color-border); border-radius: var(--radius-card); box-shadow: var(--shadow-card); transition: transform var(--transition-base), border-color var(--transition-base); }
.enquiry-card:hover, .team-contact-card:hover { transform: translateY(-3px); border-color: rgba(242,138,50,.45); }
.enquiry-number { display: inline-grid; width: 2.2rem; height: 2.2rem; margin-bottom: 1rem; place-items: center; color: var(--color-orange-light); font-size: .75rem; font-weight: 700; border: 1px solid rgba(242,138,50,.3); border-radius: .7rem; background: rgba(242,138,50,.08); }
.enquiry-card h3 { margin: 0 0 .55rem; color: var(--color-white); font-size: 1.2rem; font-weight: 700; }
.enquiry-card p { margin: 0 0 1.25rem; color: var(--color-muted); }
.enquiry-card .btn { align-self: flex-start; }
.team-contact-card { display: flex; min-height: 220px; flex-direction: column; align-items: flex-start; padding: 1.55rem; background: rgba(16,36,58,.72); border: 1px solid var(--color-border); border-radius: var(--radius-card); box-shadow: var(--shadow-card); transition: transform var(--transition-base), border-color var(--transition-base); }
.team-role { margin: 0 0 .45rem; color: var(--color-orange-light); font-size: .8rem; font-weight: 700; letter-spacing: .04em; }
.team-contact-card h3 { margin: 0; color: var(--color-white); font-size: 1.3rem; font-weight: 700; }
.team-phone { margin-top: 1rem; color: var(--color-muted); text-decoration: none; font-weight: 600; }
.team-phone:hover, .team-linkedin:hover { color: var(--color-orange-light); }
.team-linkedin { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; padding-top: 1.2rem; color: var(--color-white); font-weight: 650; text-decoration: none; }
.team-linkedin span { color: var(--color-orange-light); }
.contact-cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.5rem, 4vw, 3rem); background: radial-gradient(ellipse at 100% 0%, rgba(242,138,50,.13), transparent 48%), #10243a; border: 1px solid var(--color-border); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.contact-cta-panel h2 { max-width: 700px; margin: 0; color: var(--color-white); font-size: clamp(1.7rem, 3.4vw, 2.4rem); font-weight: 700; }
.contact-cta-panel p:not(.contact-eyebrow) { max-width: 650px; margin: .6rem 0 0; color: var(--color-muted); }
.contact-cta-panel .btn { flex: 0 0 auto; }
@media (max-width: 575.98px) { .company-contact-card { min-height: 104px; padding: 1.1rem; } .enquiry-card { min-height: 0; } .contact-cta-panel { align-items: flex-start; flex-direction: column; gap: 1.2rem; } }
@media (prefers-reduced-motion: reduce) { .enquiry-card, .team-contact-card { transition: none !important; } }
