/* ========================================================================== 
   DENLYX PLATFORM PRODUCTION v1.0.4 — GLOBAL CTA & AUDIO POSITION OWNER
   One consistent text-button system, the one approved two-arrow Contact CTA,
   and deterministic two-state desktop audio-banner positioning.
   ========================================================================== */

/* 1) Desktop audio banner: exactly two measured positions.
      Expanded = centered below EN / SOUND / START A PROJECT.
      Scrolled = right edge flush with compact SOUND after the first scroll. */
@media (min-width:981px){
  html body.denlyx-atmosphere-theme .dx-v1865-audio-gate:not([data-dx-v1903-positioned="true"]){
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:none!important;
  }
  html body.denlyx-atmosphere-theme .dx-v1865-audio-gate{
    left:var(--dx1903-audio-left,var(--dx1902-audio-left,var(--dx1901-audio-left,var(--dx1865-audio-left,75%))))!important;
    right:auto!important;
    will-change:left,transform,opacity!important;
    transition:left .28s cubic-bezier(.22,.8,.22,1),opacity .28s ease,transform .32s ease!important;
  }
}

/* 2) Shared text-button typography and geometric centering.
      Functional controls (MENU, SOUND, EN, close controls, selects, rail,
      Back to Top) are intentionally outside this selector set. */
:root{--dx1903-cta-font-size:14px}
html body.denlyx-atmosphere-theme :is(
  a.atmo-button,
  button.atmo-button,
  .dx11-button,
  .dx-v1865-permanent-cta,
  .atmo-header-cta,
  .dx11-company-actions>a,
  .dx-directory-actions>a,
  .atmo-final-actions>a.atmo-button,
  .atmo-actions>a.atmo-button,
  .dx-command-foot>a[data-project-modal-open],
  .dx-footer-contact>a[data-project-modal-open],
  .dx-contact-map-caption>a,
  #quote-form .atmo-submit,
  .dx-project-modal-form .atmo-submit
){
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  text-align:center!important;
  font-family:inherit!important;
  font-size:var(--dx1903-cta-font-size)!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.02em!important;
}

/* Remove old arrow nodes and any space that earlier releases reserved for them. */
html body.denlyx-atmosphere-theme :is(
  a.atmo-button,
  button.atmo-button,
  .dx11-button,
  .dx-v1865-permanent-cta,
  .atmo-header-cta,
  #quote-form .atmo-submit,
  .dx-project-modal-form .atmo-submit
)>span:not(.dx-v1903-contact-label):not(.dx-v1903-contact-arrow){
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
}

html body.denlyx-atmosphere-theme :is(
  .dx11-button,
  .dx-v1865-permanent-cta,
  .atmo-header-cta,
  .atmo-final-actions>a.atmo-button,
  #quote-form .atmo-submit,
  .dx-project-modal-form .atmo-submit
){
  padding-left:24px!important;
  padding-right:24px!important;
}

/* Explicitly clear old arrow-placement rules on the buttons changed in v1.0.4. */
html body.dx-company-directory-page .atmo-final-actions>.atmo-button>span,
html body.dx-about-page .dx-v1865-about-cta>span,
html body.dx-capabilities-page .dx-v1865-capabilities-cta>span,
html body.dx-contact-page #quote-form .atmo-submit>span,
html body .dx-project-modal-form .atmo-submit>span,
html body.dx-home-page .dx1849-discuss-cta>span{
  display:none!important;
}

/* Preserve each approved width/placement while removing arrow compensation. */
html body.dx-company-directory-page .atmo-final-actions>.atmo-button{
  padding-inline:24px!important;
  text-align:center!important;
}
html body.dx-about-page .dx-v1865-about-cta,
html body.dx-capabilities-page .dx-v1865-capabilities-cta{
  padding-inline:24px!important;
  text-align:center!important;
}
html body.dx-contact-page #quote-form .atmo-submit,
html body .dx-project-modal-form .atmo-submit{
  padding-inline:24px!important;
  text-align:center!important;
}

/* 3) The sole approved arrow exception: Contact hero has matching down arrows
      at both sides with the label mathematically centered between them. */
html body.dx-contact-page .dx-v1903-contact-start{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding-left:64px!important;
  padding-right:64px!important;
  text-align:center!important;
}
html body.dx-contact-page .dx-v1903-contact-start .dx-v1903-contact-label{
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  line-height:1!important;
}
html body.dx-contact-page .dx-v1903-contact-start .dx-v1903-contact-arrow{
  position:absolute!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  top:50%!important;
  width:20px!important;
  height:20px!important;
  margin:0!important;
  padding:0!important;
  font-size:18px!important;
  font-weight:500!important;
  line-height:1!important;
  transform:translate3d(0,-50%,0)!important;
  pointer-events:none!important;
}
html body.dx-contact-page .dx-v1903-contact-start .dx-v1903-contact-arrow-left{left:28px!important}
html body.dx-contact-page .dx-v1903-contact-start .dx-v1903-contact-arrow-right{right:28px!important}

@media (max-width:980px){
  :root{--dx1903-cta-font-size:14px}
  html body.dx-contact-page .dx-v1903-contact-start{
    padding-left:52px!important;
    padding-right:52px!important;
  }
  html body.dx-contact-page .dx-v1903-contact-start .dx-v1903-contact-arrow-left{left:20px!important}
  html body.dx-contact-page .dx-v1903-contact-start .dx-v1903-contact-arrow-right{right:20px!important}
}
