/* Contact Us only: a clean theme-owned layout, independent from legacy builder rules. */
.da-contact-page{--contact-navy:#071735;--contact-deep:#0b1030;--contact-blue:#1677ef;--contact-violet:#6848dd;--contact-pink:#d92eac;--contact-paper:#f5f8ff;--contact-ink:#142b57;--contact-muted:#526b98;background:var(--contact-paper);color:var(--contact-ink);overflow:hidden}
.da-contact-page *{box-sizing:border-box}.da-contact-page .da-wrap{width:min(1140px,calc(100% - 40px));margin-inline:auto}.da-contact-page .da-eyebrow{color:#1677ef;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.da-contact-page h1,.da-contact-page h2{font-weight:800;letter-spacing:-.045em;line-height:1.05}.da-contact-page h1{font-size:clamp(2.8rem,5vw,5.6rem);margin:.3rem 0 1.4rem}.da-contact-page h2{font-size:clamp(2rem,3.3vw,3.5rem);margin:.35rem 0 1rem}.da-contact-page p{line-height:1.65}.da-contact-hero{background:radial-gradient(circle at 88% 15%,#263e9e 0,transparent 32%),radial-gradient(circle at 70% 80%,#481f6f 0,transparent 32%),linear-gradient(122deg,var(--contact-deep),var(--contact-navy));color:#fff;padding:clamp(5.5rem,10vw,9.5rem) 0 clamp(4rem,7vw,7rem);position:relative}.da-contact-hero:before{content:"";position:absolute;inset:0;opacity:.16;background-image:radial-gradient(ellipse at 10% 12%,rgba(70,133,255,.13),transparent 60%),radial-gradient(ellipse at 92% 88%,rgba(193,61,178,.1),transparent 58%)}.da-contact-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:3rem;align-items:end}.da-contact-hero__lead{max-width:650px;font-size:1.14rem;color:#dce8ff}.da-contact-page .da-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.da-contact-page .da-cta,.da-contact-page .da-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.35rem;border-radius:999px;font-weight:800;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.da-contact-page .da-cta{color:#fff;background:linear-gradient(105deg,var(--contact-blue),var(--contact-violet) 54%,var(--contact-pink));box-shadow:0 12px 28px #1577ee4d}.da-contact-page .da-secondary{color:#cce2ff;border:1px solid #5fa2ff;background:#ffffff0a}.da-contact-page .da-cta:hover,.da-contact-page .da-secondary:hover{transform:translateY(-3px);box-shadow:0 17px 32px #1677ef55}.da-contact-hero__note{border:1px solid #ffffff2b;border-radius:24px;padding:1.7rem;background:linear-gradient(145deg,#ffffff1c,#ffffff08);box-shadow:0 24px 45px #0004;backdrop-filter:blur(12px)}.da-contact-hero__note-icon{font-size:1.8rem;color:#ff65d2}.da-contact-hero__note p{font-size:1.2rem;font-weight:800;margin:.7rem 0 .35rem}.da-contact-hero__note span:last-child{color:#c9d9fb}
.da-contact-details{padding:clamp(4rem,8vw,7rem) 0 2rem}.da-contact-section-head{max-width:680px;margin-bottom:2rem}.da-contact-details__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.da-contact-detail{display:flex;gap:.85rem;min-height:170px;padding:1.35rem;border:1px solid #d8e6ff;border-radius:22px;background:#fff;color:var(--contact-ink);text-decoration:none;box-shadow:0 12px 28px #2246760d;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.da-contact-detail:hover{transform:translateY(-5px);border-color:#717cf0;box-shadow:0 20px 30px #2246761a}.da-contact-detail__icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--contact-blue),var(--contact-pink));font-size:1.2rem}.da-contact-detail strong,.da-contact-detail em{display:block}.da-contact-detail strong{font-size:1rem;margin:.2rem 0 .5rem}.da-contact-detail em{font-style:normal;color:var(--contact-muted);line-height:1.5}
.da-contact-connect{padding:clamp(2rem,5vw,4.5rem) 0}.da-contact-connect__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(2rem,5vw,4.5rem);border:1px solid #2e8bff;border-radius:30px;color:#fff;background:radial-gradient(circle at 88% 12%,#7931a640,transparent 30%),linear-gradient(118deg,#070c2b,#1c1040);box-shadow:0 26px 55px #142b5720}.da-contact-connect__content p:not(.da-eyebrow){color:#cad8f8}.da-contact-connect__brand{display:flex;align-items:center;gap:1rem;margin-top:2rem;padding:1rem 0;border-top:1px solid #ffffff25}.da-contact-connect__brand img{width:100px;height:auto}.da-contact-connect__brand span{font-size:.9rem;color:#b9ccf3}.da-contact-connect__form{padding:clamp(1.25rem,3vw,2rem);border:1px solid #ffffff24;border-radius:22px;background:#ffffff0d}.da-contact-connect .wpforms-container{margin:0!important}.da-contact-connect .wpforms-field-container{display:grid;gap:1rem}.da-contact-connect .wpforms-field{padding:0!important;margin:0!important}.da-contact-connect .wpforms-field-label{display:block!important;margin:0 0 .45rem!important;color:#fff!important;font-size:.9rem!important;font-weight:700!important}.da-contact-connect input,.da-contact-connect textarea,.da-contact-connect select{width:100%!important;min-height:50px!important;padding:.85rem 1rem!important;border:1px solid #92aef355!important;border-radius:12px!important;background:#fff!important;color:#182a52!important;font:inherit!important;box-shadow:none!important}.da-contact-connect textarea{min-height:135px!important;resize:vertical}.da-contact-connect input:focus,.da-contact-connect textarea:focus,.da-contact-connect select:focus{outline:3px solid #72b4ff66!important;border-color:#71b6ff!important}.da-contact-connect .wpforms-submit-container{padding:1.2rem 0 0!important;margin:0!important}.da-contact-connect button[type=submit]{width:100%!important;min-height:52px!important;border:0!important;border-radius:999px!important;background:linear-gradient(105deg,var(--contact-blue),var(--contact-violet) 53%,var(--contact-pink))!important;color:#fff!important;font-weight:800!important;letter-spacing:.04em!important;transition:transform .22s ease,box-shadow .22s ease!important}.da-contact-connect button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 15px 28px #1977eb65!important}
/* WPForms keeps the original fields and validation, while this shared layout
   removes its legacy narrow field-width and floated-row rules. */
.da-contact-connect .wpforms-field-medium,.da-contact-connect .wpforms-field-row{width:100%!important;max-width:none!important}.da-contact-connect .wpforms-field-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.da-contact-connect .wpforms-field-row-block{width:auto!important;margin:0!important;padding:0!important}.da-contact-connect .wpforms-field-sublabel{display:block!important;margin:.4rem 0 0!important;color:#c9d8f7!important;font-size:.78rem!important}.da-contact-connect .iti{display:block!important;width:100%!important}
.da-contact-map{padding:1rem 0 clamp(3.5rem,7vw,6rem)}.da-contact-map iframe{width:100%;display:block;border-radius:26px;box-shadow:0 18px 45px #142b5717;filter:saturate(.86) contrast(1.04)}
.da-contact-global{color:#fff;background:radial-gradient(circle at 80% 24%,#3d297b,transparent 35%),linear-gradient(130deg,#071333,#110a2c);padding:clamp(4rem,8vw,7rem) 0}.da-contact-global__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem;align-items:center}.da-contact-global__copy>p:not(.da-eyebrow){color:#c9d6f3;max-width:550px}.da-contact-globe__locations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:2rem 0}.da-contact-globe__locations button{padding:.75rem .9rem;border:1px solid #ffffff2f;border-radius:12px;background:#ffffff0a;color:#fff;text-align:left;cursor:pointer;font:inherit;font-weight:800;transition:background .2s ease,border-color .2s ease,transform .2s ease}.da-contact-globe__locations button span{display:block;margin-top:.2rem;font-size:.75rem;color:#afc7f8;font-weight:500}.da-contact-globe__locations button:hover,.da-contact-globe__locations button[aria-pressed=true]{border-color:#88baff;background:#2879ef30;transform:translateY(-2px)}.da-contact-globe{min-height:440px;position:relative;overflow:hidden;border:1px solid #5b8ffa;border-radius:28px;background:radial-gradient(circle at 50% 46%,#1e458c50,transparent 47%),#050b20;box-shadow:inset 0 0 75px #3176ff1f}.da-contact-globe canvas{display:block;width:100%;height:440px;cursor:grab}.da-contact-globe canvas:active{cursor:grabbing}.da-contact-globe__status{position:absolute;left:1.15rem;bottom:1.1rem;margin:0;padding:.55rem .8rem;border:1px solid #ffffff2a;border-radius:999px;background:#071333cc;color:#e5efff;font-size:.85rem;backdrop-filter:blur(8px)}
.da-contact-page .da-reveal{animation:daContactReveal .65s cubic-bezier(.22,1,.36,1) both}@keyframes daContactReveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
/* Keep text readable on the dark hero/global surfaces even when global
   Elementor heading rules are present elsewhere in the theme. */
.da-contact-hero h1,.da-contact-hero h2,.da-contact-hero__note p,.da-contact-hero__note span{color:#fff!important}
.da-contact-global h2,.da-contact-global__copy>p:not(.da-eyebrow),.da-contact-global .da-contact-globe__status{color:#e8f1ff!important}
.da-contact-global .da-contact-globe__status{background:#071333e8!important}
@media (max-width:980px){.da-contact-details__grid{grid-template-columns:repeat(2,1fr)}.da-contact-hero__grid,.da-contact-connect__grid,.da-contact-global__grid{grid-template-columns:1fr}.da-contact-hero__note{max-width:480px}.da-contact-global__copy{max-width:620px}}@media (max-width:600px){.da-contact-page .da-wrap{width:min(100% - 28px,1140px)}.da-contact-hero{padding-top:4.5rem}.da-contact-details__grid{grid-template-columns:1fr}.da-contact-detail{min-height:112px}.da-contact-connect__grid{padding:1.35rem;border-radius:22px}.da-contact-connect__brand{align-items:flex-start}.da-contact-globe{min-height:340px}.da-contact-globe canvas{height:340px}.da-contact-globe__locations{grid-template-columns:1fr}.da-contact-map iframe{height:285px;border-radius:20px}}@media (prefers-reduced-motion:reduce){.da-contact-page .da-reveal{animation:none}.da-contact-page .da-cta,.da-contact-page .da-secondary,.da-contact-detail,.da-contact-globe__locations button{transition:none}}

/* Compact Contact form: keep labels, inputs and validation in one predictable
 * grid. The two service selects come from the shared WPForms data filter. */
.da-contact-connect .wpforms-field-container{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:1rem;row-gap:.9rem}
.da-contact-connect #wpforms-1112-field_13-container{grid-column:1/-1}
.da-contact-connect .wpforms-submit-container{grid-column:1/-1}
.da-contact-connect .wpforms-field-description{margin:.35rem 0 0!important;color:#c9d8f7!important;font-size:.78rem!important;line-height:1.35!important}
.da-contact-connect .wpforms-field-label{font-size:.84rem!important;letter-spacing:.01em}
.da-contact-connect input,.da-contact-connect select{min-height:46px!important;padding:.7rem .9rem!important}
.da-contact-connect textarea{min-height:108px!important}
.da-contact-connect #wpforms-1112-field_14-container,.da-contact-connect #wpforms-1112-field_15-container{min-width:0}
.da-contact-connect .wpforms-field-name,
.da-contact-connect .wpforms-field-email,
.da-contact-connect #wpforms-1112-field_13-container{grid-column:1/-1!important}
.da-contact-connect .wpforms-field-name .wpforms-field-row,
.da-contact-connect .wpforms-field-email .wpforms-field-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.da-contact-connect .wpforms-field-name .wpforms-field-row-block,
.da-contact-connect .wpforms-field-email .wpforms-field-row-block{width:auto!important;min-width:0!important}
@media (max-width:700px){.da-contact-connect .wpforms-field-container{grid-template-columns:1fr}.da-contact-connect #wpforms-1112-field_13-container,.da-contact-connect .wpforms-submit-container{grid-column:auto}}

/* Final Contact template normalization. Elementor/WPForms legacy rules can
 * float field rows and apply their own widths after the component styles
 * above. Keep the form markup and validation intact, but make its layout a
 * deterministic vertical flow so labels never detach from their controls. */
.da-contact-connect__content #contact-form-title,
.da-contact-connect__content h2#contact-form-title{
  color:#f8fbff!important;
  text-shadow:0 0 24px #4d7dff3d;
}
.da-contact-page #contact-form-title,
.da-contact-connect #contact-form-title{
  color:#f8fbff!important;
  opacity:1!important;
  visibility:visible!important;
  display:block!important;
}
.da-contact-connect__content.da-reveal{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.da-contact-connect__content>p:not(.da-eyebrow){color:#d7e5ff!important}
.da-contact-connect .wpforms-container,
.da-contact-connect .wpforms-container .wpforms-form,
.da-contact-connect .wpforms-container .wpforms-field-container{width:100%!important;max-width:none!important}
.da-contact-connect .wpforms-container .wpforms-form{display:block!important;float:none!important}
.da-contact-connect .wpforms-container .wpforms-field-container,
.da-contact-connect .wpforms-container .wpforms-field-container>li.wpforms-field{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:both!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  grid-template-columns:none!important;
}
.da-contact-connect .wpforms-container .wpforms-field-container .wpforms-field{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  clear:both!important;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  grid-column:auto!important;
  margin:0!important;
  padding:0!important;
}
.da-contact-connect .wpforms-container .wpforms-field-container{gap:1.05rem!important;margin:0!important;padding:0!important}
.da-contact-connect .wpforms-container .wpforms-field-container>li.wpforms-field{padding:0!important;margin:0!important;grid-column:auto!important}
.da-contact-connect .wpforms-container .wpforms-form > .wpforms-field-container{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:1.05rem!important;
}
.da-contact-connect .wpforms-container .wpforms-form > .wpforms-field-container > .wpforms-field,
.da-contact-connect .wpforms-container .wpforms-form > .wpforms-field-container > li.wpforms-field{
  flex:0 0 auto!important;
  align-self:stretch!important;
  width:100%!important;
}
.da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row,
.da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row-block{
  box-sizing:border-box!important;
}
.da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row-block{
  flex:1 1 0!important;
}
.da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row-block input{
  display:block!important;
}
.da-contact-connect .wpforms-container .wpforms-field-label{display:block!important;width:100%!important;margin:0 0 .45rem!important;line-height:1.25!important}
.da-contact-connect .wpforms-container .wpforms-field-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:1rem!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
}
.da-contact-connect .wpforms-container .wpforms-field-row-block{
  display:flex!important;
  flex-direction:column!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:none!important;
  position:static!important;
}
.da-contact-connect .wpforms-container .wpforms-field-row-block input,
.da-contact-connect .wpforms-container .wpforms-field-row-block select,
.da-contact-connect .wpforms-container .wpforms-field-row-block textarea{width:100%!important;max-width:none!important}
.da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row,
.da-contact-connect .wpforms-container .wpforms-field-email .wpforms-field-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
}
.da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row-block,
.da-contact-connect .wpforms-container .wpforms-field-email .wpforms-field-row-block{
  display:flex!important;
  flex-direction:column!important;
  align-self:start!important;
}
.da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row,
.da-contact-connect .wpforms-container .wpforms-field-email .wpforms-field-row{
  direction:ltr!important;
}
/* WPForms may emit the paired controls in reverse order when its legacy
 * half-width/floating rules are present. Explicitly restore the natural
 * reading order so First precedes Last and Email precedes Confirm Email. */
.da-contact-connect .wpforms-container .wpforms-field-name-first,
.da-contact-connect .wpforms-container .wpforms-field-email-primary{
  order:1!important;
}
.da-contact-connect .wpforms-container .wpforms-field-name-last,
.da-contact-connect .wpforms-container .wpforms-field-email-secondary{
  order:2!important;
}
.da-contact-connect .wpforms-container .wpforms-submit-container{display:block!important;width:100%!important;clear:both!important;padding:1.2rem 0 0!important;margin:0!important}
@media (max-width:700px){
  .da-contact-connect .wpforms-container .wpforms-field-row{grid-template-columns:1fr!important}
}

/* WPForms legacy half-width rules can float the first/confirmation controls
 * into opposite columns. Keep paired controls in their DOM reading order,
 * with a deterministic two-column row on larger screens and one column on
 * mobile. This is intentionally scoped to the shared contact template. */
.da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row,
.da-contact-connect .wpforms-container .wpforms-field-email .wpforms-field-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start!important;
  gap:1rem!important;
  direction:ltr!important;
}
.da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row > .wpforms-field-row-block,
.da-contact-connect .wpforms-container .wpforms-field-email .wpforms-field-row > .wpforms-field-row-block{
  flex:1 1 0!important;
  width:0!important;
  max-width:none!important;
  min-width:0!important;
  float:none!important;
  clear:none!important;
  position:static!important;
  inset:auto!important;
  margin:0!important;
  padding:0!important;
  order:initial!important;
}
.da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row > .wpforms-field-row-block.wpforms-first,
.da-contact-connect .wpforms-container .wpforms-field-email .wpforms-field-row > .wpforms-field-row-block.wpforms-first{
  order:1!important;
}
.da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row > .wpforms-field-row-block:not(.wpforms-first),
.da-contact-connect .wpforms-container .wpforms-field-email .wpforms-field-row > .wpforms-field-row-block:not(.wpforms-first){
  order:2!important;
}
@media (max-width:700px){
  .da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row,
  .da-contact-connect .wpforms-container .wpforms-field-email .wpforms-field-row{
    flex-direction:column!important;
    gap:.85rem!important;
  }
  .da-contact-connect .wpforms-container .wpforms-field-name .wpforms-field-row > .wpforms-field-row-block,
  .da-contact-connect .wpforms-container .wpforms-field-email .wpforms-field-row > .wpforms-field-row-block{
    flex:0 0 auto!important;
    width:100%!important;
  }
}

/* Global-office selector.
   These buttons were coloured for a dark panel — white label, pale-blue
   sub-label, translucent white fill — but the section renders light, so the
   text composited to roughly 1.3:1 and the whole control was invisible.
   Recoloured for the surface it actually sits on. */
.da-contact-globe__locations > button {
	background: #f4f8ff !important;
	border: 1px solid #cddefa !important;
	color: var(--da-brand-ink, #101a3b) !important;
	transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.da-contact-globe__locations > button span {
	color: #45577c !important;
}
.da-contact-globe__locations > button:hover,
.da-contact-globe__locations > button:focus-visible {
	background: #eaf2ff !important;
	border-color: var(--da-brand-blue, #1677e8) !important;
	transform: translateY(-2px);
}
/* Selected office keeps the brand gradient with white text, which is legible. */
.da-contact-globe__locations > button.is-active,
.da-contact-globe__locations > button[aria-pressed="true"] {
	background: linear-gradient(110deg, var(--da-brand-blue, #1677e8), var(--da-brand-indigo, #5146c7) 58%, var(--da-brand-magenta, #d633a6)) !important;
	border-color: transparent !important;
	color: #fff !important;
}
.da-contact-globe__locations > button.is-active span,
.da-contact-globe__locations > button[aria-pressed="true"] span {
	color: rgba(255, 255, 255, .85) !important;
}

/* Keep the contact hero title readable when later shared heading rules set
 * the page's default ink colour. */
main.da-contact-page .da-contact-hero h1 { color: #ffffff !important; }

