/* Contact page only: keep all text, columns, form geometry and footer intact. */
body.ui-contact { background:#151a17; background-image:none; }
.ui-contact .wrapper > .section-banner { background:linear-gradient(#151a17 0 128px,transparent 128px),radial-gradient(ellipse at 22% 45%,#deeaeb 0,transparent 55%),linear-gradient(115deg,#f1f5f5,#fff 76%)!important; position:relative; isolation:isolate; }
.ui-contact .wrapper > .section-banner:before,.ui-contact .wrapper > .section-banner:after { display:none; }
.ui-contact .section-banner h1 { color:#253934!important; text-shadow:none; }
.ui-contact .section-banner .card-form { background:#ffffff; color:#354034; box-shadow:0 0 0 1px #d9e2df,0 24px 65px #254c4012; border-radius:3px; }
.ui-contact .section-banner .form-control { color:#273528; background:#ffffff; border-color:#d4d8cd; border-radius:2px; transition:border-color .18s,box-shadow .18s; }
.ui-contact .section-banner .form-control::placeholder { color:#687363; opacity:1; }
.ui-contact .section-banner .form-control:focus { border-color:#c13b43; outline:none; box-shadow:0 0 0 3px #bd343d1c; }
.ui-contact .section-banner .form-control option { color:#273528; background:#ffffff; }
.ui-contact .section-banner .fs-submit { background:#bd343d; color:#fff; border-color:#bd343d; border-radius:2px; box-shadow:none; transition:background .18s; }
.ui-contact .section-banner .fs-submit:hover { background:#a62b33; border-color:#a62b33; }
.ui-contact .section-banner .fs-submit:focus-visible { outline:3px solid #e99095; outline-offset:4px; }
.ui-contact .section-banner .fs-form a { color:#a42a32; text-decoration:underline; text-underline-offset:3px; }
.ui-contact .section-banner .form-check-input { accent-color:#bd343d; }
.ui-contact .section-banner .position-bottom h3 { color:#263b35!important; letter-spacing:0; }
.ui-contact .section-banner .position-bottom { border-left:2px solid #c13b43; box-shadow:none; }
.ui-contact .section-banner .position-bottom p { color:#53675e; }
.ui-contact .wrapper > .section-light:not(.site-footer):not(.section-footer) { background:#ffffff!important; color:#4f5b4a; }
.ui-contact .wrapper > .section-light:not(.site-footer):not(.section-footer) h2 { color:#222c23; font-family:var(--font-sans); font-style:normal; letter-spacing:-.025em; }
.ui-contact .wrapper > .section-light:not(.site-footer):not(.section-footer) h4 { color:#263226; font-family:var(--font-sans); font-style:normal; letter-spacing:0; border-top:2px solid #b9343d; padding-top:20px; }
.ui-contact .wrapper > .section-light:not(.site-footer):not(.section-footer) .col-md-6 { padding-right:25px; }
.ui-contact .wrapper > .section-light:not(.site-footer):not(.section-footer) p { overflow-wrap:anywhere; }
.ui-contact .wrapper > .section-light:not(.site-footer):not(.section-footer) p.mt-4 { border-top:1px solid #d5d9cc; padding-top:26px; }
@media(max-width:767px) {
 .ui-contact .section-banner:before,.ui-contact .section-banner:after { display:none; }
 .ui-contact .section-banner .position-bottom { border-left:0; border-top:2px solid #bd343d; box-shadow:none; }
}
@media(prefers-reduced-motion:reduce) {
 .ui-contact .section-banner .form-control,.ui-contact .section-banner .fs-submit { transition:none; }
}

@media(max-width:991px) { .ui-contact .wrapper > .section-banner:before { display:none; } }

/* Flat global map: shared geography with the network page, regional sea corridors. */
.ui-contact .quote-network-scene { position:absolute; z-index:-1; pointer-events:none; top:225px; left:3%; width:46%; max-width:900px; }
.ui-contact .quote-map-plane img { display:block; width:100%; height:auto; }
@media(max-width:1199px) { .ui-contact .quote-network-scene { top:255px; width:46%; } }
@media(max-width:991px) {
 .ui-contact .quote-network-scene { display:none; }
 .ui-contact .wrapper > .section-banner { background:linear-gradient(#151a17 0 90px,transparent 90px),linear-gradient(115deg,#edf3f2,#fff)!important; }
}

.ui-contact .quote-special { border:1px solid #d4d8cd; border-radius:2px; background:#fff; }
.ui-contact .quote-special-title { padding:12px; color:#687363; }
.ui-contact .quote-special-options { padding:0 12px 12px; display:grid; gap:8px; }
.ui-contact .quote-special-options label { display:flex; align-items:center; gap:8px; margin:0; cursor:pointer; }
.ui-contact .quote-special-options input { accent-color:#bd343d; }
.ui-contact .quote-attachments { padding:12px; border:1px dashed #d4d8cd; border-radius:2px; }
.ui-contact .quote-attachments label,.ui-contact .quote-attachments small { display:block; }
.ui-contact .quote-attachments input { display:block; max-width:100%; margin:8px 0; }

/* Match the standard quote fields, including file picker text and options. */
.ui-contact .section-banner .form-control,
.ui-contact .quote-special,
.ui-contact .quote-special-title,
.ui-contact .quote-special-options label,
.ui-contact .quote-attachments,
.ui-contact .quote-attachments label,
.ui-contact .quote-attachments input,
.ui-contact .quote-attachments small {
 font-family:var(--font-sans);
 font-size:1rem;
 font-weight:400;
 line-height:1.5;
 letter-spacing:normal;
}
.ui-contact .quote-attachments { color:#687363; }
.ui-contact .quote-attachments input::file-selector-button { font:inherit; }

/* English labels independent of the browser's native file-input language. */
.ui-contact .quote-file-picker { position:relative; display:flex; align-items:center; gap:10px; margin:8px 0; }
.ui-contact .quote-file-button { flex-shrink:0; padding:4px 10px; border:1px solid #d4d8cd; border-radius:2px; background:#f4f5f3; color:#273528; }
.ui-contact #cf-file-names { min-width:0; overflow-wrap:anywhere; }
.ui-contact .quote-file-picker input[type="file"] { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.ui-contact .quote-file-picker:focus-within { outline:2px solid #c13b43; outline-offset:3px; }

.ui-contact .quote-special-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:16px; }
.ui-contact .quote-special-row > span { overflow-wrap:anywhere; }
.ui-contact .quote-special-row label { white-space:nowrap; }

.ui-contact details.quote-special > summary { cursor:pointer; }
.ui-contact details.quote-special > summary:focus-visible { outline:2px solid #c13b43; outline-offset:2px; }
