/*
 * WESTWORLD ASSOCIATES / Elementor compatibility layer, v1.1.
 * Elementor's global Kit often outputs widget styles with greater specificity
 * than theme CSS. Scope overrides to Westworld sections only, so the editor
 * remains free to edit content and layout without affecting other plugins.
 */

/* Keep the visual identity even with a default Elementor global Kit. */
body .ww .elementor-heading-title {
  font-family: 'Manrope', Arial, sans-serif !important;
  color: var(--ww-ink) !important;
  line-height: 1.15 !important;
  letter-spacing: -.045em !important;
  margin: 0 !important;
}
body .ww .elementor-heading-title em {
  font-style: normal !important;
  color: var(--ww-copper) !important;
}
body .ww .elementor-widget-text-editor,
body .ww .elementor-widget-text-editor p {
  font-family: 'DM Sans', Arial, sans-serif !important;
  color: var(--ww-muted) !important;
  line-height: 1.8 !important;
}
body .ww .elementor-button {
  font-family: 'DM Sans', Arial, sans-serif !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--ww-navy) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
body .ww .elementor-button:hover,
body .ww .elementor-button:focus-visible { color: var(--ww-copper) !important; }

/* A single-row desktop header, even if Elementor's width variables differ. */
body .ww-header {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 15px clamp(25px, 4vw, 76px) !important;
  min-height: 90px !important;
}
body .ww-header > .ww-header-brand {
  --width: auto !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  width: 205px !important;
  max-width: 205px !important;
  min-width: 205px !important;
  flex: 0 0 205px !important;
  gap: 11px !important;
}
body .ww-header > .ww-header-nav {
  --width: auto !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(3px, .75vw, 15px) !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
body .ww-header-nav > .elementor-widget,
body .ww-header-brand > .elementor-widget,
body .ww-lang-controls > .elementor-widget {
  --container-widget-width: auto !important;
  --container-widget-flex-grow: 0 !important;
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}
body .ww-header-nav .elementor-button {
  padding: 10px clamp(3px, .52vw, 10px) !important;
  background: transparent !important;
  color: var(--ww-navy) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  letter-spacing: .035em !important;
}
body .ww-header-nav .elementor-button:hover,
body .ww-header-nav .elementor-button:focus-visible { color: var(--ww-copper) !important; }
body .ww-header > .ww-lang-controls {
  --width: auto !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  width: 83px !important;
  max-width: 83px !important;
  min-width: 83px !important;
  flex: 0 0 83px !important;
  gap: 2px !important;
}
body .ww-lang-controls .elementor-button {font-size: 11px !important;padding: 9px 7px !important;color: var(--ww-muted) !important;}
body .ww-lang-controls .ww-selected .elementor-button {color: var(--ww-copper) !important;}
body .ww-logo-symbol .elementor-heading-title {
  width: 43px !important;
  height: 43px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #b9b7b0 !important;
  color: var(--ww-navy) !important;
  letter-spacing: -.08em !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}
body .ww-logo-symbol .elementor-heading-title span {color: var(--ww-copper) !important;}
body .ww-logo-name .elementor-heading-title {
  font-size: 11px !important;
  line-height: 1.3 !important;
  letter-spacing: .13em !important;
  font-weight: 800 !important;
  color: var(--ww-navy) !important;
}

/* Headline/typographic scale; Elementor widgets default to 35px otherwise. */
body .ww .ww-eyebrow .elementor-heading-title,
body .ww .ww-form-count .elementor-heading-title {font-size: 11px !important;letter-spacing:.17em !important;line-height:1.6 !important;color:var(--ww-copper) !important;font-weight:800 !important;}
body .ww .ww-overline .elementor-heading-title {font-size:10px !important;letter-spacing:.2em !important;color:#879396 !important;}
body .ww .ww-home-title .elementor-heading-title {font-size:clamp(50px,5.15vw,96px) !important;line-height:1.07 !important;font-weight:700 !important;color:var(--ww-navy) !important;}
body .ww .ww-home-title .elementor-heading-title em {color:var(--ww-copper) !important;}
body .ww .ww-section-title .elementor-heading-title {font-size:clamp(35px,3.7vw,64px) !important;font-weight:700 !important;line-height:1.15 !important;}
body .ww .ww-subhero-title .elementor-heading-title {font-size:clamp(45px,4.7vw,82px) !important;line-height:1.1 !important;}
body .ww .ww-feature-title .elementor-heading-title {font-size:clamp(32px,3.1vw,51px) !important;}
body .ww .ww-expertise-title .elementor-heading-title {font-size:clamp(23px,2.1vw,34px) !important;}
body .ww .ww-card-title .elementor-heading-title {font-size:22px !important;}
body .ww .ww-step-title .elementor-heading-title {font-size:18px !important;}
body .ww .ww-pullquote-title .elementor-heading-title {font-size:clamp(32px,4vw,62px) !important;}
body .ww .ww-statement-title .elementor-heading-title {font-size:clamp(32px,4.3vw,65px) !important;line-height:1.25 !important;color:#fff !important;}
body .ww .ww-statement-label .elementor-heading-title {font-size:10px !important;letter-spacing:.18em !important;color:#d7ab8f !important;}
body .ww .ww-photo-stamp .elementor-heading-title {font-size:17px !important;color:var(--ww-navy) !important;font-weight:800 !important;line-height:1.25 !important;}
body .ww .ww-expertise-num .elementor-heading-title,
body .ww .ww-step-number .elementor-heading-title,
body .ww .ww-card-number .elementor-heading-title {color:var(--ww-copper) !important;font-size:12px !important;}
body .ww .ww-small .elementor-heading-title {font-family:'DM Sans',Arial,sans-serif !important;font-size:9px !important;letter-spacing:.1em !important;color:#8d9697 !important;}
body .ww .ww-subhero .ww-visual-caption .elementor-heading-title {color:#fff !important;font-size:10px !important;letter-spacing:.15em !important;}
body .ww .ww-contact-title-main .elementor-heading-title {font-size:clamp(45px,5vw,78px) !important;color:#fff !important;}
body .ww .ww-contact-description p {color:#c8d3d5 !important;}
body .ww .ww-detail-label .elementor-heading-title {color:#c69c82 !important;font-size:10px !important;letter-spacing:.1em !important;}
body .ww .ww-detail-value .elementor-heading-title {color:#fff !important;font-size:13px !important;letter-spacing:0 !important;}
body .ww .ww-contact-title .ww-eyebrow .elementor-heading-title {color:#d7ab8f !important;}
body .ww .ww-statement-description p {color:#c6d0d2 !important;}

/* Buttons: ensure the Elementor Kit's default green cannot leak through. */
body .ww .ww-main-btn .elementor-button {
  background: var(--ww-navy) !important;
  background-color: var(--ww-navy) !important;
  color: #fff !important;
  border: 1px solid var(--ww-navy) !important;
  padding: 18px 22px !important;
  min-height: 52px !important;
}
body .ww .ww-main-btn .elementor-button:hover {background:#254550 !important;color:#fff !important;}
body .ww .ww-outline-btn .elementor-button {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--ww-navy) !important;
  border: 1px solid #b9c5c6 !important;
  padding: 17px 22px !important;
  min-height: 52px !important;
}
body .ww .ww-outline-btn .elementor-button:hover {border-color:var(--ww-copper) !important;color:var(--ww-copper) !important;}
body .ww .ww-text-link .elementor-button {
  border:0 !important;
  border-bottom:1px solid var(--ww-copper) !important;
  background:transparent !important;
  color:var(--ww-navy) !important;
  padding:13px 0 !important;
}
body .ww .ww-expertise-arrow .elementor-button {background:transparent !important;color:var(--ww-copper) !important;font-size:26px !important;padding:8px !important;}
body .ww .ww-circle-link .elementor-button {border:1px solid var(--ww-navy) !important;border-radius:50% !important;background:transparent !important;color:var(--ww-navy) !important;font-size:25px !important;}

/* Footer and its editable Elementor widgets. */
body .ww .ww-footer-title .elementor-heading-title {font-size:clamp(42px,4.9vw,74px) !important;color:#fff !important;}
body .ww .ww-footer-kicker .elementor-heading-title,
body .ww .ww-footer-side-title .elementor-heading-title {color:#cc9b7c !important;font-size:11px !important;letter-spacing:.17em !important;}
body .ww .ww-footer-side-link .elementor-button {background:transparent !important;color:#d0dadd !important;padding:6px 0 !important;font-size:13px !important;letter-spacing:0 !important;text-transform:none !important;}
body .ww .ww-footer-side-link .elementor-button:hover {color:#fff !important;}
body .ww .ww-footer-button .elementor-button {background:#fff !important;color:var(--ww-navy) !important;padding:18px 22px !important;min-height:52px !important;border:1px solid #fff !important;}
body .ww .ww-footer-brand .elementor-heading-title {color:#fff !important;font-size:17px !important;letter-spacing:.1em !important;}
body .ww .ww-footer-locale .elementor-heading-title,
body .ww .ww-copyright .elementor-heading-title {color:#cbd1d1 !important;font-size:10px !important;letter-spacing:0 !important;}

/* Elementor nested containers must not collapse pictures or CTA into widget defaults. */
body .ww .ww-cover-photo,
body .ww .ww-cover-photo .elementor-widget-container,
body .ww .ww-cover-photo img {height:100% !important;width:100% !important;}
body .ww .ww-cover-photo img {object-fit:cover !important;}
body .ww .ww-expertise-thumbnail img {width:140px !important;height:82px !important;object-fit:cover !important;}
body .ww .ww-home-hero-copy > .ww-lead {max-width:630px !important;}
body .ww .ww-lead p,
body .ww .ww-subhero-description p,
body .ww .ww-section-description p,
body .ww .ww-intro-description p {font-size:15px !important;line-height:1.85 !important;}

/* Full-width mobile menu instead of a squeezed two-line navigation. */
@media(max-width:1320px) {
  body .ww-header {gap:10px !important;min-height:74px !important;}
  body .ww-header > .ww-header-brand {width:190px !important;min-width:190px !important;flex-basis:190px !important;}
  body .ww-header > .ww-header-nav {
    display:none !important;
    position:absolute !important;
    left:0 !important;right:0 !important;top:100% !important;
    width:100% !important;max-width:none !important;
    padding:24px 7% !important;
    flex-flow:column nowrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:2px !important;
    background:var(--ww-paper) !important;
    border-bottom:1px solid var(--ww-border) !important;
    box-shadow:0 22px 30px rgba(7,26,33,.16) !important;
    z-index:999 !important;
  }
  body .ww-header.ww-menu-open > .ww-header-nav {display:flex !important;}
  body .ww-header-nav > .elementor-widget {width:100% !important;}
  body .ww-header-nav .elementor-button {font-size:13px !important;padding:11px 0 !important;}
  body .ww-header > .ww-lang-controls {margin-left:auto !important;order:1 !important;}
  body .ww-header .ww-mobile-toggle {display:block !important;order:2 !important;flex:0 0 auto !important;}
}
@media(max-width:980px) {
  body .ww-header > .ww-header-brand {width:180px !important;min-width:180px !important;flex-basis:180px !important;}
  body .ww .ww-home-title .elementor-heading-title {font-size:clamp(46px,7vw,75px) !important;}
  body .ww .ww-home-hero-image,body .ww .ww-subhero-visual {min-height:420px !important;}
}
@media(max-width:560px) {
  body .ww-header {padding:12px 4% !important;gap:6px !important;}
  body .ww-header > .ww-header-brand {width:150px !important;min-width:150px !important;flex-basis:150px !important;}
  body .ww-header > .ww-lang-controls {width:74px !important;min-width:74px !important;flex-basis:74px !important;}
  body .ww .ww-home-title .elementor-heading-title {font-size:clamp(42px,9vw,55px) !important;}
  body .ww .ww-footer-title .elementor-heading-title {font-size:43px !important;}
  body .ww .ww-section-title .elementor-heading-title {font-size:36px !important;}
  body .ww .ww-subhero-title .elementor-heading-title,
  body .ww .ww-contact-title-main .elementor-heading-title {font-size:46px !important;}
}
