:root { --contact-cyan:#1bd5c5; --contact-cyan-2:#16b9d2; --contact-bg:#03141a; --contact-panel:#082630; --contact-muted:#a9bdc3; --contact-border:rgba(255,255,255,.09); }
body.vdp-contact-page { overflow-x:clip; background:var(--contact-bg); color:#f4f8f9; font-family:Poppins,sans-serif; }
.vdp-contact-page .contact-hero { margin:0; padding:68px 16px 62px; background:radial-gradient(50% 85% at 50% 0%,rgba(27,213,197,.15),transparent 70%),linear-gradient(180deg,#03141a,#041a20); text-align:center; }
.vdp-contact-page .contact-hero h1 { margin:0 0 12px; color:#fff !important; font-size:clamp(40px,5vw,60px); font-weight:800; letter-spacing:-1.5px; }
.vdp-contact-page .contact-hero h1 span { color:var(--contact-cyan); }
.vdp-contact-page .contact-hero p { max-width:720px; margin:0 auto; color:var(--contact-muted); font-size:17px; line-height:1.7; }
.vdp-contact-page .contact-hero .btn { border:0; border-radius:999px !important; background:linear-gradient(135deg,var(--contact-cyan),var(--contact-cyan-2)) !important; color:#fff !important; box-shadow:0 10px 28px rgba(25,210,199,.18); }
.vdp-contact-page .contact-section { padding:58px 0 70px; background:#041a20; }
.vdp-contact-page .contact-section-heading { max-width:840px; margin:0 auto 28px; text-align:center; }
.vdp-contact-page .contact-section-heading h2 { color:#f5fafb; font-weight:750; }
.vdp-contact-page .contact-section-heading p { color:var(--contact-muted); }
.vdp-contact-page .contact-layout { max-width:960px; margin-inline:auto; align-items:stretch; }
.vdp-contact-page .contact-form-card,
.vdp-contact-page .contact-info-card { height:100%; padding:28px; border:1px solid var(--contact-border); border-radius:18px; background:linear-gradient(180deg,var(--contact-panel),#061f28); box-shadow:0 18px 42px rgba(0,0,0,.2); }
.vdp-contact-page .contact-form-card label { margin-bottom:7px; color:#dbe8eb; font-weight:600; }
.vdp-contact-page .contact-form-card .form-control { min-height:48px; border:1px solid rgba(255,255,255,.1); border-radius:12px; background:#0b303a; color:#f1f7f8; }
.vdp-contact-page .contact-form-card textarea.form-control { min-height:150px; resize:vertical; }
.vdp-contact-page .contact-form-card .form-control:focus { border-color:var(--contact-cyan); background:#0d3640; color:#fff; box-shadow:0 0 0 .2rem rgba(27,213,197,.1); }
.vdp-contact-page .contact-submit { width:100%; min-height:50px; margin-top:18px !important; border:0; border-radius:12px; background:linear-gradient(135deg,var(--contact-cyan),var(--contact-cyan-2)); color:#fff; font-weight:700; }
.vdp-contact-page .contact-info-icon { display:grid; place-items:center; width:52px; height:52px; margin-bottom:18px; border:1px solid rgba(27,213,197,.25); border-radius:50%; background:rgba(27,213,197,.08); color:var(--contact-cyan); font-size:22px; }
.vdp-contact-page .contact-info-card h2 { color:#f5fafb; font-size:24px; }
.vdp-contact-page .contact-info-card p { color:var(--contact-muted); line-height:1.7; }
.vdp-contact-page .contact-info-card a { color:var(--contact-cyan); word-break:break-word; }
.vdp-contact-page .contact-safety { margin-top:24px; padding:16px; border-left:3px solid var(--contact-cyan); border-radius:0 10px 10px 0; background:rgba(27,213,197,.06); color:#9fb5ba; font-size:13px; line-height:1.6; }
.vdp-contact-page .contact-faq { padding:0 0 72px; background:#041a20; }
.vdp-contact-page .contact-faq-wrap { max-width:900px; margin:auto; }
.vdp-contact-page .contact-faq h2 { margin-bottom:24px; color:#f5fafb; text-align:center; font-weight:750; }
.vdp-contact-page .contact-faq details { margin-bottom:12px; overflow:hidden; border:1px solid var(--contact-border); border-radius:14px; background:var(--contact-panel); }
.vdp-contact-page .contact-faq summary { display:flex; justify-content:space-between; gap:20px; padding:17px 20px; color:#f2f8f9; font-weight:700; cursor:pointer; list-style:none; }
.vdp-contact-page .contact-faq summary::-webkit-details-marker { display:none; }
.vdp-contact-page .contact-faq summary::after { content:'+'; color:var(--contact-cyan); font-size:22px; }
.vdp-contact-page .contact-faq details[open] summary::after { content:'−'; }
.vdp-contact-page .contact-faq details p { margin:0; padding:0 20px 18px; color:var(--contact-muted); line-height:1.7; }
.vdp-contact-page .footer { margin:0 !important; border-top:1px solid var(--contact-border); background:#020f14 !important; color:#82999f; }
.vdp-contact-page .footer a { color:#aac0c5; }

/* Compact full-width bands matching the homepage. */
.vdp-contact-page .contact-hero { padding:48px 16px 44px; border-bottom:1px solid rgba(27,213,197,.22); }
.vdp-contact-page .contact-section { margin:0; padding:44px 0; background:#06232b; }
.vdp-contact-page .contact-faq { margin:0; padding:44px 0; border-top:1px solid rgba(27,213,197,.22); background:#03161c; }
@media(max-width:767.98px) {
  .vdp-contact-page .contact-hero { padding:48px 16px 44px; }
  .vdp-contact-page .contact-hero h1 { font-size:36px; }
  .vdp-contact-page .contact-hero p { font-size:15px; }
  .vdp-contact-page .contact-section { padding:34px 0; }
  .vdp-contact-page .contact-form-card,
  .vdp-contact-page .contact-info-card { padding:20px; }
  .vdp-contact-page .contact-faq { padding:34px 0; }
}
