/* Styles for this page only: /contact/ */
.bgx-ct{
  --ct-ink:#0A1A33; --ct-deep:#071631; --ct-body:#3A4763; --ct-muted:#6B7690; --ct-line:#DCE2EA; --ct-grey:#F3F5F8;
  --ct-accent:#1F5FB4; --ct-accent-lt:#7FB0F0; --ct-error:#B42318;
  --ct-font:"Plus Jakarta Sans","Inter","Helvetica Neue",Arial,sans-serif;
  position:relative; font-family:var(--ct-font); color:var(--ct-ink); background:#fff;
  padding:80px clamp(16px,4vw,48px) 96px;
}
.bgx-ct *,.bgx-ct *::before,.bgx-ct *::after{box-sizing:border-box}
.bgx-ct__wrap{max-width:1268px; margin:0 auto} /* matches the site content width (1268px) */
.bgx-ct a{color:inherit}
.bgx-ct__eyebrow{display:inline-flex; align-items:center; gap:12px; margin:0 0 14px; font-size:12.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--ct-accent)}
.bgx-ct__eyebrow::before{content:""; width:28px; height:1px; background:currentColor; opacity:.6}

/* ---------- intro ---------- */
.bgx-ct__intro{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,6fr); gap:24px 80px; align-items:end; margin-bottom:56px}
.bgx-ct__h1{margin:0; font-size:clamp(32px,3.8vw,48px); line-height:1.08; font-weight:700; letter-spacing:-.024em; color:var(--ct-ink)}
.bgx-ct__lead{margin:0; font-size:17.5px; line-height:1.65; color:var(--ct-body)}

/* ---------- office card ---------- */
.bgx-ct__office{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); margin-bottom:72px;
  box-shadow:0 0 0 1px rgba(10,26,51,.06), 0 30px 60px -30px rgba(10,26,51,.45)}
.bgx-ct__photo{position:relative; margin:0; min-height:360px; background:var(--ct-ink)}
.bgx-ct__photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.bgx-ct__photo figcaption{position:absolute; left:0; bottom:0; padding:9px 14px; background:var(--ct-ink); color:#fff; font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase}
.bgx-ct__info{position:relative; padding:44px 48px; color:#fff;
  background:radial-gradient(420px 260px at 85% 0%, rgba(31,95,180,.35), transparent 70%), var(--ct-ink)}
.bgx-ct__tag{display:inline-block; margin:0 0 14px; padding:5px 10px; border:1px solid rgba(127,176,240,.5); color:var(--ct-accent-lt); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase}
.bgx-ct__info h2{margin:0 0 24px; font-size:24px; line-height:1.25; font-weight:700; color:#fff}
.bgx-ct__rows{display:grid; gap:18px; margin:0}
.bgx-ct__row{display:grid; grid-template-columns:36px minmax(0,1fr); gap:14px; align-items:start}
.bgx-ct__ico{display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(127,176,240,.4); background:rgba(31,95,180,.18); color:var(--ct-accent-lt)}
.bgx-ct__row dt{font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.55)}
.bgx-ct__row dd{margin:4px 0 0; font-size:15.5px; line-height:1.55; color:#fff}
.bgx-ct__row dd a{color:#fff !important; text-decoration:none !important; border-bottom:1px solid rgba(127,176,240,.55)}
.bgx-ct__row dd a:hover{color:var(--ct-accent-lt) !important}
.bgx-ct__row dd span{color:rgba(255,255,255,.65)}

/* ---------- form + routing ---------- */
.bgx-ct__main{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,4fr); gap:48px 72px; align-items:start}
.bgx-ct__fh{margin:0 0 6px; font-size:clamp(24px,2.4vw,30px); line-height:1.2; font-weight:700; letter-spacing:-.015em}
.bgx-ct__fsub{margin:0 0 28px; font-size:15.5px; line-height:1.6; color:var(--ct-body)}
.bgx-ct__form{display:grid; grid-template-columns:1fr 1fr; gap:18px 20px}
.bgx-ct__field{display:flex; flex-direction:column; gap:7px; min-width:0}
.bgx-ct__field--full{grid-column:1 / -1}
.bgx-ct__field label{font-size:13px; font-weight:600; color:var(--ct-ink)}
.bgx-ct__field label i{font-style:normal; color:var(--ct-accent)}
.bgx-ct__opt{font-weight:400; color:var(--ct-muted)}
.bgx-ct__field input,.bgx-ct__field select,.bgx-ct__field textarea{
  width:100%; padding:13px 14px; font:400 15px/1.4 var(--ct-font); color:var(--ct-ink);
  background:var(--ct-grey); border:1px solid transparent; border-bottom:2px solid #C7CFDC; border-radius:0; outline:none;
  transition:border-color .2s ease, background .2s ease; appearance:none; -webkit-appearance:none;
}
.bgx-ct__field select{padding-right:40px; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230A1A33' stroke-width='1.8'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center}
.bgx-ct__field textarea{min-height:150px; resize:vertical}
.bgx-ct__field input:focus,.bgx-ct__field select:focus,.bgx-ct__field textarea:focus{background:#fff; border-color:var(--ct-line); border-bottom-color:var(--ct-accent)}
.bgx-ct__field .bgx-ct__count{align-self:flex-end; font-size:12px; color:var(--ct-muted)}
.bgx-ct__hint{grid-column:1 / -1; display:none; gap:12px; align-items:center; padding:14px 16px; background:#EEF3FB; border-left:3px solid var(--ct-accent); font-size:14px; line-height:1.5; color:var(--ct-ink)}
.bgx-ct__hint.is-on{display:flex}
.bgx-ct__hint a{font-weight:700; color:var(--ct-accent) !important}
.bgx-ct__hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.bgx-ct__next{grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:6px 0 0; padding:0; list-style:none; border-top:1px solid var(--ct-line); border-bottom:1px solid var(--ct-line)}
.bgx-ct__next li{display:flex; align-items:center; gap:12px; padding:14px 16px 14px 0; font-size:13.5px; line-height:1.45; color:var(--ct-body)}
.bgx-ct__next li + li{padding-left:16px; border-left:1px solid var(--ct-line)}
.bgx-ct__next b{flex:none; display:grid; place-items:center; width:28px; height:28px; background:var(--ct-ink); color:#fff; font-size:11px; letter-spacing:.04em}
.bgx-ct__submit{grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:14px 24px; margin-top:6px}
.bgx-ct__btn{
  display:inline-flex; align-items:center; gap:12px; padding:16px 28px; background:var(--ct-ink); color:#fff !important;
  font:600 15px/1 var(--ct-font); text-decoration:none !important; border:0; border-radius:0; cursor:pointer; white-space:nowrap; transition:background .2s ease;
}
.bgx-ct__btn svg{transition:transform .2s ease}
.bgx-ct__btn:hover{background:var(--ct-accent)}
.bgx-ct__btn:hover svg{transform:translateX(4px)}
.bgx-ct__btn:focus-visible,.bgx-ct a:focus-visible{outline:3px solid var(--ct-accent-lt); outline-offset:3px}
.bgx-ct__assure{display:flex; flex-direction:column; gap:4px; margin:0; font-size:13.5px; line-height:1.5; color:var(--ct-muted)}
.bgx-ct__assure span{display:inline-flex; align-items:center; gap:8px}
.bgx-ct__assure svg{flex:none; color:var(--ct-accent)}
.bgx-ct__sent{grid-column:1 / -1; display:none; padding:18px 20px; background:#ECF7F0; border-left:3px solid #1E7B4A; font-size:15px; color:#0F4F2E}

/* routing column */
.bgx-ct__side{display:grid; gap:20px}
.bgx-ct__assess{padding:26px 26px 24px; background:var(--ct-ink); color:#fff; border-top:3px solid var(--ct-accent)}
.bgx-ct__assess h3{margin:0 0 8px; font-size:18px; line-height:1.3; font-weight:700; color:#fff}
.bgx-ct__assess h3 span{white-space:nowrap}
.bgx-ct__assess p{margin:0 0 18px; font-size:14.5px; line-height:1.6; color:rgba(255,255,255,.74)}
.bgx-ct__btn--light{background:#fff; color:var(--ct-ink) !important; padding:14px 20px; font-size:14.5px}
.bgx-ct__btn--light:hover{color:#fff !important}
.bgx-ct__routes{margin:0; padding:0; list-style:none; border-top:1px solid var(--ct-line)}
.bgx-ct__route{padding:18px 0; border-bottom:1px solid var(--ct-line)}
.bgx-ct__route h3{margin:0 0 4px; font-size:15.5px; font-weight:700; color:var(--ct-ink)}
.bgx-ct__route p{margin:0 0 8px; font-size:14px; line-height:1.55; color:var(--ct-body)}
.bgx-ct__route a{font-size:14.5px; font-weight:600; color:var(--ct-accent) !important; text-decoration:none !important; border-bottom:1px solid rgba(31,95,180,.35)}
.bgx-ct__route a:hover{border-color:var(--ct-accent)}
.bgx-ct__routes-h{margin:6px 0 0; font-size:11.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ct-muted)}

.bgx-ct__assure a{color:var(--ct-accent) !important; font-weight:600; text-decoration:none !important; border-bottom:1px solid rgba(31,95,180,.35)}
.bgx-ct__assure a:hover{border-color:var(--ct-accent)}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .bgx-ct__info{padding:36px 34px}
}
@media (max-width:960px){
  .bgx-ct{padding-top:60px; padding-bottom:72px}
  .bgx-ct__intro{grid-template-columns:1fr; gap:16px; margin-bottom:40px}
  .bgx-ct__office{grid-template-columns:1fr; margin-bottom:56px}
  .bgx-ct__photo{min-height:0; aspect-ratio:16/9}
  .bgx-ct__main{grid-template-columns:1fr; gap:44px}
}
@media (max-width:600px){
  .bgx-ct{padding-top:48px; padding-bottom:60px}
  .bgx-ct__lead{font-size:16px}
  .bgx-ct__info{padding:30px 22px}
  .bgx-ct__form{grid-template-columns:1fr}
  .bgx-ct__next{grid-template-columns:1fr}
  .bgx-ct__next li{padding:12px 0}
  .bgx-ct__next li + li{padding-left:0; border-left:0; border-top:1px solid var(--ct-line)}
  .bgx-ct__btn{width:100%; justify-content:space-between; white-space:normal}
}
@media (max-width:560px){.bgx-ct{padding-left:16px; padding-right:16px}}
@media (max-width:400px){.bgx-ct{padding-left:12px; padding-right:12px}}
@media (prefers-reduced-motion:reduce){.bgx-ct *{transition:none !important}}

/* Enquiry form: validation, sending, confirmation */
#contact-form{scroll-margin-top:110px}
.bgx-ct__err{font-size:12.5px; line-height:1.4; font-weight:600; color:var(--ct-error)}
.bgx-ct__field [aria-invalid="true"]{border-bottom-color:var(--ct-error); background-color:#FFF7F6}
.bgx-ct__field [aria-invalid="true"]:focus{border-bottom-color:var(--ct-error)}
.bgx-ct__regard{grid-column:1 / -1; margin:0; padding:12px 16px; background:#EEF3FB; border-left:3px solid var(--ct-accent); font-size:14px; font-weight:600; line-height:1.5; color:var(--ct-ink)}
.bgx-ct__status{grid-column:1 / -1; padding:14px 16px; background:#FEF3F2; border-left:3px solid var(--ct-error); font-size:14px; line-height:1.5; color:#7A271A}
.bgx-ct__btn[disabled]{cursor:progress; background:var(--ct-accent)}
.bgx-ct__btn[disabled]:hover svg{transform:none}
.bgx-ct__done{display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding:36px 34px; background:var(--ct-grey); border-top:3px solid var(--ct-accent); outline:none}
.bgx-ct__done[hidden],.bgx-ct__form[hidden],.bgx-ct__regard[hidden],.bgx-ct__status[hidden]{display:none}
.bgx-ct__done-mark{display:grid; place-items:center; width:44px; height:44px; background:var(--ct-accent); color:#fff}
.bgx-ct__done-h{margin:4px 0 0; max-width:30ch; font-size:clamp(20px,2vw,24px); line-height:1.3; font-weight:700; letter-spacing:-.01em; color:var(--ct-ink)}
.bgx-ct__done-p{margin:0; max-width:56ch; font-size:15.5px; line-height:1.6; color:var(--ct-body)}
.bgx-ct__done-p b{color:var(--ct-ink); overflow-wrap:anywhere}
.bgx-ct__btn--ghost{margin-top:8px; background:transparent; color:var(--ct-ink) !important; box-shadow:inset 0 0 0 1.5px var(--ct-ink)}
.bgx-ct__btn--ghost:hover{background:var(--ct-ink); color:#fff !important}
@media (max-width:560px){ .bgx-ct__done{padding:28px 22px} }
