.elementor-kit-59{--e-global-color-primary:#F2EDE4;--e-global-color-secondary:#141210;--e-global-color-text:#C4BFB5;--e-global-color-accent:#E8A71E;--e-global-color-265151e:#F5C04A;--e-global-color-e2bc239:#C48B12;--e-global-color-c9cf074:#0D0D0D;--e-global-color-b1709f0:#1A1A1A;--e-global-color-3a4d0e9:#2A2826;--e-global-color-15071ef:#D9D3C7;--e-global-color-2e04e33:#8A857C;--e-global-typography-primary-font-family:"Archivo Black";--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:none;--e-global-typography-secondary-font-family:"Oswald";--e-global-typography-secondary-font-size:1.5rem;--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Oswald";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:none;--e-global-typography-accent-letter-spacing:3px;}.elementor-kit-59 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --bti-orange-hover:#C47327; --primary-oswald:Oswald; --wr-gold:#E8A71E; --bti-orange_1:#E58931; --e-gv-46e4047:#C47327; --e-gv-6f6b827:#0A60C5; --primary-teko_1:Teko; --text-dm:DM Sans; --e-gv-446f8f1:#e0e3e9; }
/* Start custom CSS *//* ================================================================
   WYOMING RAILROAD DESIGN SYSTEM
   ================================================================ */
:root {
  --wr-gold:        #E8A71E;
  --wr-gold-light:  #F5C04A;
  --wr-gold-dark:   #C48B12;
  --wr-black:       #0D0D0D;
  --wr-charcoal:    #1A1A1A;
  --wr-steel:       #2A2826;
  --wr-dark-warm:   #141210;
  --wr-cream:       #F2EDE4;
  --wr-cream-muted: #D9D3C7;
  --wr-text-body:   #C4BFB5;
  --wr-text-dim:    #8A857C;
}

/* EYEBROW LABELS */
.wr-eyebrow,
.wr-eyebrow .elementor-heading-title {
  font-family: 'Oswald', sans-serif;
  font-size: 12px ;
  font-weight: 400 ;
  color: var(--wr-gold) ;
  text-transform: uppercase;
  letter-spacing: 2.4px;
  line-height: 1.2;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.wr-eyebrow::before,
.wr-eyebrow .elementor-heading-title::before {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background-color: var(--wr-gold);
  flex-shrink: 0;
}

.wr-eyebrow--center,
.wr-eyebrow--center .elementor-heading-title { justify-content: center; }

.wr-eyebrow--muted,
.wr-eyebrow--muted .elementor-heading-title {
  color: var(--wr-text-dim);
  letter-spacing: 1.5px;
}
.wr-eyebrow--muted::before,
.wr-eyebrow--muted .elementor-heading-title::before { display: none; }

/* SECTION HEADLINES (H2) */
.wr-section-title,
.wr-section-title .elementor-heading-title {
  font-family: 'Archivo Black', sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--wr-cream);
  text-transform: none;
  letter-spacing: -0.01em;
  margin: 0 0 24px 0;
}
@media (max-width: 767px) {
  .wr-section-title,
  .wr-section-title .elementor-heading-title { font-size: 36px; }
}

.wr-hero-title,
.wr-hero-title .elementor-heading-title {
  font-family: 'Archivo Black', sans-serif;
  font-size: 80px;
  font-weight: 700;
  line-height: 1.05;
  color: var(--wr-cream);
  text-transform: none;
  letter-spacing: -0.02em;
}
@media (max-width: 1024px) {
  .wr-hero-title,
  .wr-hero-title .elementor-heading-title { font-size: 56px; }
}
@media (max-width: 767px) {
  .wr-hero-title,
  .wr-hero-title .elementor-heading-title { font-size: 40px; }
}

.wr-gold { color: var(--wr-gold); }

/* SECTION DESCRIPTIONS */
.wr-section-desc,
.wr-section-desc p {
  font-family: 'DM Sans', sans-serif;
  font-size: 17px;
  line-height: 1.65;
  color: var(--wr-text-body);
  max-width: 56ch;
}

/* CARD TITLES */
.wr-card-title,
.wr-card-title .elementor-heading-title {
  font-family: 'Oswald', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: var(--wr-cream);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin-bottom: 16px;
}

.wr-yard-title,
.wr-yard-title .elementor-heading-title {
  font-family: 'Oswald', sans-serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--wr-gold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.3;
  margin-bottom: 12px;
}

.wr-step-number,
.wr-step-number .elementor-heading-title {
  font-family: 'Archivo Black', sans-serif;
  font-size: 48px;
  font-weight: 700;
  color: var(--wr-gold);
  line-height: 1;
  margin-bottom: 16px;
  display: block;
}

/* SECTION BACKGROUNDS */
.elementor .wr-bg-black,
.elementor .e-con.wr-bg-black,
section.wr-bg-black     { background-color: var(--wr-black); background-image: none; }
.elementor .wr-bg-dark-warm,
.elementor .e-con.wr-bg-dark-warm,
section.wr-bg-dark-warm { background-color: var(--wr-dark-warm); background-image: none; }
.elementor .wr-bg-charcoal,
.elementor .e-con.wr-bg-charcoal,
section.wr-bg-charcoal  { background-color: var(--wr-charcoal); background-image: none; }
.elementor .wr-bg-steel,
.elementor .e-con.wr-bg-steel,
section.wr-bg-steel     { background-color: var(--wr-steel); background-image: none; }

.elementor .wr-bg-cta,
.elementor .e-con.wr-bg-cta {
  background-color: var(--wr-black);
  background-image: linear-gradient(135deg, rgba(232, 167, 30, 0.10) 0%, rgba(13, 13, 13, 0.95) 100%);
}

.wr-section { padding: 112px 48px; }
.wr-section--compact { padding: 96px 48px; }
.wr-section--tight   { padding: 80px 48px; }
@media (max-width: 767px) {
  .wr-section { padding: 64px 24px; }
  .wr-section--compact { padding: 56px 24px; }
  .wr-section--tight   { padding: 48px 24px; }
}

/* CARDS */
.wr-card {
  background-color: var(--wr-charcoal);
  border: 1px solid rgba(242, 237, 228, 0.06);
  border-radius: 0;
  padding: 40px 32px;
  transition: border-color 0.2s ease;
}
.wr-card:hover { border-color: rgba(232, 167, 30, 0.3); }

.wr-plan-step { background: transparent; border: none; padding: 0; }

/* BUTTONS */
.wr-btn-primary,
.wr-btn-primary.elementor-button,
.wr-btn-primary .elementor-button,
a.wr-btn-primary,
.wr-btn-primary.e-button,
.elementor-button.wr-btn-primary {
  background-color: var(--wr-gold);
  background-image: none;
  color: var(--wr-black);
  border: none;
  border-radius: 0;
  padding: 16px 32px;
  font-family: 'Oswald', sans-serif;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: background-color 0.2s ease;
  display: inline-block;
  fill: var(--wr-black);
}
.wr-btn-primary:hover,
.wr-btn-primary.elementor-button:hover,
.wr-btn-primary .elementor-button:hover,
a.wr-btn-primary:hover {
  background-color: var(--bti-orange-hover);
  color: var(--wr-black);
}

.wr-btn-secondary,
.wr-btn-secondary.elementor-button,
.wr-btn-secondary .elementor-button,
a.wr-btn-secondary,
.wr-btn-secondary.e-button,
.elementor-button.wr-btn-secondary {
  background-color: transparent;
  background-image: none;
  color: var(--wr-cream);
  border: 1px solid rgba(242, 237, 228, 0.25);
  border-radius: 0;
  padding: 16px 32px;
  font-family: 'Oswald', sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  transition: all 0.2s ease;
  fill: var(--wr-cream);
}
.wr-btn-secondary:hover,
.wr-btn-secondary.elementor-button:hover,
.wr-btn-secondary .elementor-button:hover {
  border-color: var(--wr-gold);
  color: var(--wr-gold);
}

/* STATS */
.elementor .wr-stats-section,
.elementor .e-con.wr-stats-section {
  background-color: var(--wr-charcoal);
  background-image: none;
  border-bottom: 1px solid rgba(232, 167, 30, 0.08);
  padding: 48px;
}
.wr-stat-number,
.wr-stat-number .elementor-heading-title {
  font-family: 'Archivo Black', sans-serif;
  font-size: 56px;
  font-weight: 700;
  color: var(--wr-gold);
  line-height: 1;
  margin-bottom: 12px;
}
.wr-stat-label,
.wr-stat-label .elementor-heading-title {
  font-family: 'Oswald', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: var(--wr-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  line-height: 1.4;
}

/* ARROW LINK */
.wr-arrow-link,
.wr-arrow-link a {
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: var(--wr-gold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-decoration: none;
}
.wr-arrow-link:hover,
.wr-arrow-link a:hover { color: var(--wr-gold-light); }

/* PAIN LIST */
.wr-pain-item,
.wr-pain-item p {
  font-family: 'DM Sans', sans-serif;
  font-size: 16px;
  color: var(--wr-text-body);
  padding: 16px 0 16px 28px;
  border-bottom: 1px solid rgba(242, 237, 228, 0.06);
  position: relative;
}
.wr-pain-item::before,
.wr-pain-item p::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--wr-gold);
  font-weight: 700;
}



/* WR-HEADER-FOOTER-V1 */
/* ===== HEADER ===== */
.wr-header {
  background-color: rgba(13, 13, 13, 0.97);
  background-image: none;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(232, 167, 30, 0.10);
  padding: 12px 48px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  margin: 0;
}
.wr-header-inner {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  padding: 0;
}
.wr-header-logo {
  max-width: 200px;
}
.wr-header-logo img {
  max-height: 36px;
  width: auto;
  display: block;
}
/* Wordmark fallback when no image is loaded */
.wr-header-logo:not(:has(img[src])) {
  position: relative;
  min-width: 200px;
}
.wr-header-logo:not(:has(img[src]))::before {
  content: "WYOMING RAILROAD";
  font-family: "Archivo Black", sans-serif;
  font-size: 18px;
  letter-spacing: 0.5px;
  color: var(--wr-cream, #F2EDE4);
  text-transform: uppercase;
  line-height: 1;
}
.wr-header-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 36px;
  margin-left: auto;
}
/* Nav menu inside header */
.wr-header-nav ul.elementor-nav-menu,
.wr-header-nav .elementor-nav-menu {
  display: flex;
  gap: 36px;
  list-style: none;
  margin: 0;
  padding: 0;
  background: transparent;
}
.wr-header-nav .elementor-nav-menu a,
.wr-header-nav .elementor-item {
  font-family: Oswald, sans-serif;
  font-size: 13.6px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--wr-cream, #F2EDE4);
  background: transparent;
  padding: 8px 0;
  border: none;
  transition: color .2s ease;
}
.wr-header-nav .elementor-nav-menu a:hover,
.wr-header-nav .elementor-item:hover,
.wr-header-nav .elementor-item-active {
  color: var(--wr-gold, #E8A71E);
}
/* Header CTA button (Contact Us) */
.wr-header-cta a.elementor-button,
.wr-header-cta .elementor-button {
  background-color: var(--wr-gold, #E8A71E);
  background-image: none;
  color: var(--wr-near-black, #0D0D0D);
  font-family: Oswald, sans-serif;
  font-weight: 600;
  font-size: 13.6px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 12px 24px;
  border-radius: 0;
  border: none;
  transition: background-color .2s ease;
}
.wr-header-cta a.elementor-button:hover {
  background-color: var(--bti-orange-hover);
}
/* Hide redundant "Careers" header button (already in nav) */
.wr-header-careers {
  display: none;
}
/* Add top spacing on body so fixed header doesn't cover content */
body { padding-top: 0; }

/* ===== FOOTER ===== */
.wr-footer {
  background-color: var(--wr-near-black, #0D0D0D);
  background-image: none;
  color: var(--wr-text-body, #C4BFB5);
  padding: 80px 48px 40px;
  margin: 0;
  border-top: 1px solid rgba(232, 167, 30, 0.10);
}
.wr-footer-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 64px;
  padding: 0;
  background: transparent;
}
.wr-footer-brand {
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: var(--wr-text-body, #C4BFB5);
  max-width: 320px;
}
.wr-footer-brand strong,
.wr-footer-brand-name {
  display: block;
  font-family: "Archivo Black", sans-serif;
  font-size: 18px;
  color: var(--wr-cream, #F2EDE4);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}
.wr-footer-heading {
  font-family: Oswald, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--wr-gold, #E8A71E);
  margin-bottom: 20px;
}
.wr-footer-col ul,
.wr-footer-col .elementor-icon-list-items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.wr-footer-col a,
.wr-footer-col .elementor-icon-list-text {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  color: var(--wr-text-body, #C4BFB5);
  text-decoration: none;
  transition: color .2s ease;
}
.wr-footer-col a:hover,
.wr-footer-col .elementor-icon-list-item:hover .elementor-icon-list-text {
  color: var(--wr-gold, #E8A71E);
}
.wr-footer-bottom {
  max-width: 1400px;
  margin: 56px auto 0;
  padding-top: 32px;
  border-top: 1px solid rgba(242, 237, 228, 0.06);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  color: var(--wr-text-dim, #8A857C);
  flex-wrap: wrap;
  background: transparent;
}
.wr-footer-bottom * {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
}

/* ===== HERO BUTTON ROW CENTERING ===== */
.wr-hero-buttons,
.wr-hero .elementor-widget-button + .elementor-widget-button {
  /* nothing - keep simple */
}

/* ===== FADE/COLOR OVERRIDE CLEANUP ===== */
/* Force WR-tagged headings to use design system colors */
.wr-card-title,
.wr-card-title .elementor-heading-title {
  color: var(--wr-cream, #F2EDE4);
  font-family: Oswald, sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  opacity: 1;
}
.wr-section-title,
.wr-section-title .elementor-heading-title {
  color: var(--wr-cream, #F2EDE4);
  font-family: "Archivo Black", sans-serif;
  font-size: 48px;
  line-height: 1.15;
  font-weight: 400;
  text-transform: none;
  letter-spacing: -0.5px;
  opacity: 1;
}
.wr-hero-title,
.wr-hero-title .elementor-heading-title {
  color: var(--wr-cream, #F2EDE4);
  font-family: "Archivo Black", sans-serif;
  font-size: 80px;
  line-height: 1.05;
  font-weight: 400;
  opacity: 1;
}
.wr-section-desc,
.wr-section-desc .elementor-heading-title {
  color: var(--wr-text-body, #C4BFB5);
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  line-height: 1.7;
  opacity: 1;
}

/* Hide generic placeholder images that haven't been replaced */
.elementor img[src*="elementor/assets/images/placeholder"],
.elementor img[src*="placeholder.png"] {
  opacity: 0.15;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .wr-header { padding: 12px 24px; }
  .wr-header-nav { display: none; }
  .wr-footer-inner { grid-template-columns: 1fr 1fr; gap: 48px; }
}
@media (max-width: 640px) {
  .wr-footer { padding: 56px 24px 32px; }
  .wr-footer-inner { grid-template-columns: 1fr; }
  .wr-footer-bottom { flex-direction: column; text-align: center; }
}



/* WR-FIX-V2 */
/* Clear inherited transforms on hero title - kill the matrix(-100,0) translation */
.wr-hero-title,
.wr-hero-title.e-heading-base,
h1.wr-hero-title {
  transform: none;
  margin-left: 0;
}
.wr-hero,
.wr-hero h1 {
  transform: none;
}
/* Ensure hero text wraps properly */
.wr-hero-title { word-break: normal; }



/* WR-FOOTER-FIX-V3 */
/* Footer atomic flexbox -> override to give proper grid layout */
footer .wr-footer,
.e-flexbox.wr-footer {
  display: block;
  width: 100%;
  background-color: #0D0D0D;
  padding: 80px 48px 40px;
  flex-direction: column;
}
footer .wr-footer-inner,
.e-flexbox.wr-footer-inner {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
  gap: 64px;
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  flex: 0 1 auto;
}
footer .wr-footer-col,
.e-flexbox.wr-footer-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
}
footer .wr-footer-brand-col {
  max-width: 360px;
}
footer .wr-footer-brand,
footer .wr-footer-brand .e-paragraph,
footer .wr-footer-brand .e-con-inner {
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #C4BFB5;
  white-space: normal;
  word-break: normal;
}
footer .wr-footer-heading,
footer h4.wr-footer-heading,
footer .wr-footer-heading .e-heading-base {
  font-family: Oswald, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: #E8A71E;
  margin: 0 0 16px 0;
  display: block;
}
footer .wr-footer-link,
footer .wr-footer-link .e-paragraph,
footer .wr-footer-link a {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  color: #C4BFB5;
  text-decoration: none;
  display: block;
  margin: 0 0 8px 0;
}
footer .wr-footer-link:hover, footer .wr-footer-link a:hover {
  color: #E8A71E;
}
footer .wr-footer-text,
footer .wr-footer-text .e-paragraph {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  color: #C4BFB5;
  line-height: 1.6;
  display: block;
  margin: 0 0 4px 0;
}
footer .wr-footer-contact-col {
  display: flex;
  flex-direction: column;
}
footer .wr-footer-menu .elementor-nav-menu,
footer .wr-footer-menu ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}
footer .wr-footer-menu .elementor-nav-menu a,
footer .wr-footer-menu .elementor-item {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  color: #C4BFB5;
  text-transform: none;
  letter-spacing: 0;
  background: transparent;
  font-weight: 400;
  padding: 0;
  border: none;
}
footer .wr-footer-menu .elementor-nav-menu a:hover {
  color: #E8A71E;
}
footer .wr-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1400px;
  width: 100%;
  margin: 56px auto 0;
  padding: 32px 0 0 0;
  border-top: 1px solid rgba(242, 237, 228, 0.06);
  gap: 24px;
  flex-wrap: wrap;
}
footer .wr-footer-copy, footer .wr-footer-parent,
footer .wr-footer-copy .e-paragraph, footer .wr-footer-parent .e-paragraph {
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  color: #8A857C;
  margin: 0;
}
footer .wr-footer-parent a {
  color: #C4BFB5;
  text-decoration: none;
}
/* Hide the broken theme-site-logo widget inside the brand col since it's empty */
footer .wr-footer-brand-col .elementor-widget-theme-site-logo {
  display: none;
}
/* Style social icons */
footer .wr-footer-social .elementor-social-icon {
  background-color: transparent;
  border: 1px solid rgba(242,237,228,0.15);
  color: #C4BFB5;
  width: 36px;
  height: 36px;
  margin-right: 8px;
}
footer .wr-footer-social .elementor-social-icon:hover {
  border-color: #E8A71E;
  color: #E8A71E;
}

@media (max-width: 1024px) {
  footer .wr-footer-inner { grid-template-columns: 1fr 1fr; gap: 48px; }
}
@media (max-width: 640px) {
  footer .wr-footer { padding: 56px 24px 32px; }
  footer .wr-footer-inner { grid-template-columns: 1fr; }
  footer .wr-footer-bottom { flex-direction: column; text-align: center; }
}

/* WR-MOCKUP-PASS-START */
/* === Aggressive alignment to filedn mockup === */

/* --- Header --- */
body.admin-bar header.elementor-location-header { top: 32px; }
header.elementor-location-header .wr-header,
.wr-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  width: 100%;
  z-index: 1000;
  background: rgba(13, 13, 13, 0.97);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(232, 167, 30, 0.1);
  padding: 0;
  margin: 0;
  transform: none;
  opacity: 1;
  animation: none;
}
body.admin-bar .wr-header { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .wr-header { top: 46px; }
}

.wr-header-inner {
  max-width: 1320px;
  width: 100%;
  margin: 0 auto;
  padding: 16px 48px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  background: transparent;
}
.wr-header-inner > .e-con-inner {
  display: contents;
}

/* Logo size hard cap */
.wr-header-logo,
.wr-header-logo img,
.wr-header .e-image,
.wr-header [data-element_type="widget"][class*="wr-header-logo"] img {
  max-height: 44px;
  height: 44px;
  width: auto;
  max-width: 44px;
  object-fit: contain;
  display: inline-block;
}

/* Add WORDMARK text via pseudo-element on logo wrapper */
.wr-header-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  position: relative;
  flex-shrink: 0;
}
.wr-header-logo::after {
  content: "WYOMING RAILROAD";
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #F5F2EA;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .wr-header-logo::after { font-size: 14px; }
}

/* Right-side actions */
.wr-header-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 36px;
  margin-left: auto;
  background: transparent;
  padding: 0;
}

/* Nav menu */
.wr-header-nav,
.wr-header-actions .elementor-nav-menu--main {
  background: transparent;
}
.wr-header-nav .elementor-nav-menu,
.wr-header-actions .elementor-nav-menu {
  display: flex;
  align-items: center;
  gap: 36px;
}
.wr-header-nav .elementor-nav-menu li,
.wr-header-actions .elementor-nav-menu > li {
  margin: 0;
}
.wr-header-nav .elementor-item,
.wr-header-actions .elementor-nav-menu a.elementor-item {
  font-family: 'Oswald', sans-serif;
  font-size: 13.6px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #F5F2EA;
  padding: 8px 0;
  border: 0;
  background: transparent;
  transition: color .25s ease;
}
.wr-header-nav .elementor-item:hover,
.wr-header-nav .elementor-item:focus,
.wr-header-nav .elementor-item.elementor-item-active,
.wr-header-actions .elementor-nav-menu a.elementor-item:hover {
  color: #E8A71E;
}

/* Sub-menu / dropdown */
.wr-header .sub-menu,
.elementor-location-header .sub-menu {
  background: rgba(13,13,13,0.98);
  border: 1px solid rgba(232,167,30,0.15);
  border-radius: 8px;
  padding: 8px 0;
  min-width: 200px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.5);
}
.wr-header .sub-menu .elementor-sub-item {
  font-family: 'Oswald', sans-serif;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #F5F2EA;
  padding: 10px 18px;
  border: 0;
}
.wr-header .sub-menu .elementor-sub-item:hover {
  color: #E8A71E;
  background: rgba(232,167,30,0.08);
}
.wr-header .sub-arrow svg {
  fill: currentColor;
  width: 10px;
  height: 10px;
}

/* CTA pill button */
.wr-header-cta,
.wr-header .wr-btn-primary,
.wr-header-actions a.elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #E8A71E;
  color: #0D0D0D;
  font-family: 'Oswald', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 12px 24px;
  border-radius: 999px;
  border: 0;
  transition: background .25s ease, transform .25s ease;
  text-decoration: none;
}
.wr-header-cta:hover,
.wr-header .wr-btn-primary:hover,
.wr-header-actions a.elementor-button:hover {
  background: var(--bti-orange-hover);
  transform: translateY(-1px);
}
.wr-header-cta .elementor-button-text,
.wr-header .wr-btn-primary .elementor-button-text {
  color: inherit;
  font: inherit;
}

/* Hide mobile nav duplicate on desktop */
@media (min-width: 768px) {
  .wr-header .elementor-nav-menu--dropdown,
  .wr-header .elementor-menu-toggle { display: none; }
}

/* Push body content below fixed header */
body > .elementor-location-header + * ,
body main, body .site-main, body .elementor-location-archive,
body .elementor-location-single, body article.elementor,
.elementor-location-header ~ .elementor {
  /* avoid double-margin on Elementor template wrapper that sometimes wraps it */
}
body { padding-top: 80px; }
body.admin-bar { padding-top: 112px; }
@media (max-width: 782px) {
  body.admin-bar { padding-top: 126px; }
}

/* --- Hero --- */
.wr-hero, section.wr-hero, .elementor-element.wr-hero {
  position: relative;
  min-height: calc(100vh - 80px);
  display: flex;
  align-items: center;
  padding: 96px 48px;
  overflow: hidden;
}
.wr-hero::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(13,13,13,0.92) 0%, rgba(13,13,13,0.72) 50%, rgba(13,13,13,0.85) 100%);
  z-index: 1;
  pointer-events: none;
}
.wr-hero > .e-con-inner,
.wr-hero > * {
  position: relative;
  z-index: 2;
}
/* Sepia/desaturate any background image inside hero */
.wr-hero {
  background-blend-mode: multiply, normal;
}

/* Hero eyebrow as pill chip */
.wr-hero .wr-eyebrow,
.wr-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  border: 1px solid rgba(232,167,30,0.3);
  border-radius: 999px;
  background: rgba(232,167,30,0.06);
  color: #E8A71E;
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 24px;
  width: auto;
  max-width: max-content;
}
.wr-hero .wr-eyebrow::before,
.wr-eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  background: #E8A71E;
  border-radius: 50%;
  display: inline-block;
}
.wr-hero .wr-eyebrow::after {
  display: none;
}

/* Hero title: gold accent on second portion */
.wr-hero-title, .wr-hero h1 {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(48px, 7vw, 88px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: #F5F2EA;
  margin: 0 0 24px;
  max-width: 900px;
  transform: none;
}

/* Hero description */
.wr-hero-desc, .wr-hero p, .wr-hero .wr-body {
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(245, 242, 234, 0.78);
  max-width: 540px;
  margin: 0 0 32px;
}

/* Hero buttons */
.wr-hero .wr-btn-primary,
.wr-hero .elementor-button-link.wr-btn-primary,
.wr-hero a.wr-btn-primary {
  background: #E8A71E;
  color: #0D0D0D;
  border: 0;
  border-radius: 4px;
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 18px 32px;
}
.wr-hero .wr-btn-secondary,
.wr-hero a.wr-btn-secondary {
  background: transparent;
  color: #F5F2EA;
  border: 1px solid rgba(245, 242, 234, 0.3);
  border-radius: 4px;
  font-family: 'Oswald', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 18px 32px;
}
.wr-hero .wr-btn-secondary:hover {
  border-color: #E8A71E;
  color: #E8A71E;
}

/* --- Sections: standardize spacing & background --- */
.wr-bg-black, section.wr-bg-black { background: #0D0D0D; }
.wr-bg-charcoal, section.wr-bg-charcoal, .wr-bg-card { background: #161616; }
.wr-section, section[class*="wr-section"], .wr-section-padding {
  padding: 100px 48px;
}
@media (max-width: 768px) {
  .wr-section, section[class*="wr-section"] { padding: 64px 24px; }
}

/* Eyebrow above any heading */
.wr-eyebrow-line,
.wr-section .wr-eyebrow:not(.wr-hero .wr-eyebrow) {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: #E8A71E;
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border: 0;
  background: transparent;
  margin-bottom: 24px;
  padding: 0;
}
.wr-eyebrow-line::before {
  content: "";
  width: 40px; height: 2px;
  background: #E8A71E;
  display: inline-block;
}

/* Section title baseline */
.wr-section-title {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(36px, 5vw, 56px);
  line-height: 1.08;
  letter-spacing: -0.015em;
  color: #F5F2EA;
  margin: 0 0 24px;
}

/* --- Stats bar --- */
.wr-stats, .wr-stat-card {
  font-family: 'Archivo Black', sans-serif;
}
.wr-stats .elementor-counter-number,
.wr-stat-number, .wr-stats .wr-num {
  color: #E8A71E;
  font-size: 56px;
  font-family: 'Archivo Black', sans-serif;
  line-height: 1;
}
.wr-stat-label, .wr-stats .wr-label {
  color: rgba(245,242,234,0.7);
  font-family: 'Oswald', sans-serif;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-top: 12px;
}

/* --- Cards --- */
.wr-card,
.wr-card .elementor-widget-wrap,
[class*="wr-card"] {
  background: #161616;
  border: 1px solid rgba(232,167,30,0.08);
  border-radius: 8px;
  padding: 32px;
  transition: border-color .3s ease, transform .3s ease;
}
.wr-card:hover { border-color: rgba(232,167,30,0.25); }

/* Card title */
.wr-card-title, .wr-card h3, .wr-card h4 {
  font-family: 'Archivo Black', sans-serif;
  font-size: 22px;
  color: #F5F2EA;
  margin: 0 0 12px;
}

/* --- Footer --- */
.wr-footer { background: #0a0a0a; padding: 80px 0 0; border-top: 1px solid rgba(232,167,30,0.1); }
.wr-footer-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 48px 64px;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 64px;
}
@media (max-width: 900px) {
  .wr-footer-inner { grid-template-columns: 1fr 1fr; gap: 48px; }
}
@media (max-width: 540px) {
  .wr-footer-inner { grid-template-columns: 1fr; }
}
.wr-footer-heading {
  font-family: 'Oswald', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #E8A71E;
  margin: 0 0 20px;
}
.wr-footer-link, .wr-footer a:not(.wr-btn-primary):not(.wr-btn-secondary) {
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  color: rgba(245,242,234,0.75);
  text-decoration: none;
  line-height: 2;
}
.wr-footer-link:hover, .wr-footer a:hover { color: #E8A71E; }
.wr-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 24px 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1320px;
  margin: 0 auto;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: rgba(245,242,234,0.5);
}

/* Clean BTI references hopefully */
/* WR-MOCKUP-PASS-END */

/* WR-REVISION-V1-START */

/* --- Wordmark next to logo image --- */
/* Wrap-via-CSS approach: position absolute pseudo on a sibling */
.wr-header-inner > .e-con-inner,
.wr-header-inner {
  position: relative;
}
.wr-header-inner::before {
  content: "WYOMING RAILROAD";
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #F5F2EA;
  white-space: nowrap;
  position: absolute;
  left: calc(48px + 44px + 12px);
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 2;
}
@media (max-width: 640px) {
  .wr-header-inner::before { font-size: 14px; left: calc(24px + 36px + 8px); }
}

/* --- Hero: ensure dark overlay actually applied to image --- */
.wr-hero, section.wr-hero, .elementor-element.wr-hero,
.wr-hero[class*="elementor-section"],
section[class*="wr-hero"] {
  position: relative;
}
/* Use a strong gradient with sepia to kill the blue cast */
.wr-hero::after,
section.wr-hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(13,13,13,0.85) 0%, rgba(13,13,13,0.55) 50%, rgba(13,13,13,0.92) 100%);
  z-index: 1;
  pointer-events: none;
}
/* Apply sepia/warm tone to hero background image element if any */
.wr-hero {
  background-color: #0D0D0D;
}
.wr-hero .elementor-background-overlay {
  background: linear-gradient(135deg, rgba(13,13,13,0.6) 0%, rgba(20,15,5,0.5) 50%, rgba(13,13,13,0.85) 100%);
}
.wr-hero {
  background-blend-mode: multiply;
}
/* Add subtle warm tone via filter on the section's bg image only */
.wr-hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  filter: sepia(0.4) saturate(0.7) hue-rotate(-20deg) brightness(0.85);
  z-index: 0;
  pointer-events: none;
  opacity: 0;
}

/* --- Hero title gold accent on portion 2 --- */
/* CSS-only approach: split via line, but simpler — hero h1 contains text "Reliable rail for\nWyoming industries.".
   We will inject color via a span class .wr-hero-accent for "Wyoming industries." We'll add via JS in template edits.
   For now, color the 2nd+3rd lines via ::after won't work.
   Provide .wr-text-gold helper. */
.wr-text-gold { color: #E8A71E; }

/* --- Hero buttons larger spacing, push down --- */
.wr-hero {
  padding-top: 140px;
  padding-bottom: 100px;
}
.wr-hero .wr-eyebrow {
  margin-top: 0;
}

/* --- Eyebrow chip text color enhancement (was washed out) --- */
.wr-hero .wr-eyebrow {
  color: #E8A71E;
  background: rgba(232,167,30,0.10);
  border-color: rgba(232,167,30,0.35);
}

/* --- LOCATIONS dropdown caret style fix --- */
.wr-header-nav .sub-arrow,
.wr-header-nav a .sub-arrow {
  margin-left: 6px;
  display: inline-flex;
  align-items: center;
}

/* --- Stats bar: tighten labels --- */
.wr-stats { padding: 64px 48px; }

/* --- Fix any "Get a Quote" / leftover styling on CTA --- */
.wr-header-cta .elementor-button-link, 
.wr-header-cta a.elementor-button-link, 
.wr-header-cta .elementor-button {
  background: transparent;
  border: 0;
  padding: 0;
}

/* Hide the duplicate Careers button if any */
.wr-header-careers { display: none; }

/* Push hero content down to avoid clipping under header */
section.wr-hero, .wr-hero { padding-top: 160px; }

/* WR-REVISION-V1-END */

/* WR-FINETUNE-START */

/* Gold the span inside hero title */
.wr-hero-title span, h1.wr-hero-title > span {
  color: #E8A71E;
  display: block;
}

/* === Fix wordmark layout === */
.wr-header-inner::before { content: none; }
.wr-header-inner > .e-con-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  width: 100%;
}
/* Place wordmark via on the actual logo's parent flexbox - use ::after on the IMG container in the WP page */
.wr-header-logo,
img.wr-header-logo {
  position: relative;
}
img.wr-header-logo {
  margin-right: 16px;
}
/* Inject wordmark via wrapping pseudo on the e-image widget element */
.wr-header [data-element_type="widget"][class*="e-image"],
.wr-header .e-con-full > .e-con-inner > [data-element_type="widget"]:first-child,
.wr-header .wr-header-inner > .e-con-inner > .elementor-element:first-child {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.wr-header .wr-header-inner > .e-con-inner > .elementor-element:first-child::after {
  content: "WYOMING RAILROAD";
  font-family: 'DM Sans', sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #F5F2EA;
  white-space: nowrap;
}

/* Body padding tuning - the fixed header is 90px tall */
body { padding-top: 0; }
section.wr-hero, .wr-hero { 
  padding-top: 200px;
  padding-bottom: 140px;
}

/* Hero image: kill the blue, force warm/dark overlay */
.wr-hero {
  background-color: #0D0D0D;
}
.wr-hero .elementor-background-overlay,
.wr-hero > .elementor-background-overlay {
  background: linear-gradient(135deg, rgba(13,13,13,0.75) 0%, rgba(20,15,5,0.45) 50%, rgba(13,13,13,0.9) 100%);
  mix-blend-mode: normal;
  filter: none;
}
.wr-hero::before {
  display: none;
}
.wr-hero::after {
  display: none;
}
/* The hero <section> has a background-image. Apply a warm filter to it via CSS variable */
section.wr-hero {
  position: relative;
}
/* Use background-blend-mode on the actual element */
section.wr-hero[style*="background-image"] {
  background-blend-mode: multiply;
  background-color: rgba(80, 50, 20, 0.55);
}

/* WR-FINETUNE-END */


/* Site-wide gold button hover transition (matches header CONTACT US) */
.elementor .elementor-button,
.elementor .button-atm-primary {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}


/* Site-wide gold button hover — universal */
.elementor .elementor-button:hover,
.elementor a.elementor-button:hover,
.elementor .elementor-button:focus-visible,
.elementor a.elementor-button:focus-visible {
  background-color: var(--bti-orange-hover);
}
/* Preserve outline (secondary) button hover */
.elementor .wr-btn-secondary:hover,
.elementor .wr-btn-secondary .elementor-button:hover,
.elementor .wr-btn-secondary.elementor-button:hover {
  background-color: transparent;
  border-color: var(--wr-gold);
  color: var(--wr-gold);
}


/* WR-STACK: Standardized content stack rhythm */
/* Eyebrow → headline → copy → CTA rhythm applied site-wide.
   Adjacency-based so it only fires inside an actual content stack. */
.elementor-widget-heading + .elementor-widget-heading,
.elementor-widget-heading + .elementor-widget-text-editor,
.elementor-widget-text-editor + .elementor-widget-heading,
.elementor-widget-text-editor + .elementor-widget-text-editor,
.e-con-inner > .elementor-widget-heading + .elementor-widget-heading,
.e-con-inner > .elementor-widget-heading + .elementor-widget-text-editor,
.e-con-inner > .elementor-widget-text-editor + .elementor-widget-heading,
.e-con-inner > .elementor-widget-text-editor + .elementor-widget-text-editor {
  margin-top: clamp(1rem, 2vw, 1.5rem);
}
.elementor-widget-heading + .elementor-widget-button,
.elementor-widget-text-editor + .elementor-widget-button,
.e-con-inner > .elementor-widget-heading + .elementor-widget-button,
.e-con-inner > .elementor-widget-text-editor + .elementor-widget-button {
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}
/* Opt-in helper class for tighter/looser overrides */
.wr-stack > .elementor-widget + .elementor-widget {
  margin-top: 1.5rem;
}
.wr-stack > .elementor-widget + .elementor-widget-button {
  margin-top: 2.5rem;
}
/* WR-STACK-END */

















/* WR-SYS-V3: Mockup-aligned design system */
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400&family=Oswald:wght@400;500;600;700&display=swap');

:root {
  --wr-gold: #E8A71E;
  --wr-gold-light: #F5C04A;
  --wr-gold-dark: #C48B12;
  --bti-orange-hover: #C48B12;
  --wr-black: #0D0D0D;
  --wr-charcoal: #1A1A1A;
  --wr-dark-warm: #141210;
  --wr-steel: #2A2826;
  --wr-cream: #F2EDE4;
  --wr-cream-muted: #D9D3C7;
  --wr-text-body: #C4BFB5;
  --wr-text-dim: #8A857C;
}

/* === Body + base typography === */
body, body.elementor-default {
  font-family: 'DM Sans', sans-serif;
  background: var(--wr-dark-warm);
  color: var(--wr-text-body);
}
h1, h2 {
  font-family: 'Archivo Black', 'Oswald', sans-serif;
  color: var(--wr-cream);
  letter-spacing: -0.005em;
  font-weight: 400;
}
h3, h4, h5 {
  font-family: 'Oswald', sans-serif;
  color: var(--wr-cream);
  font-weight: 600;
}
h6 { font-family: 'Oswald', sans-serif; }
p { color: var(--wr-text-body); }

/* === Section backgrounds: map our existing #0D0D0D / #1A1A1A to warm system === */
.elementor-section[style*="background-color:#0D0D0D"],
.elementor-section[data-bg="black"] {
  background-color: var(--wr-black) !important;
}
.elementor-section[style*="background-color:#1A1A1A"],
.elementor-section[data-bg="charcoal"] {
  background-color: var(--wr-charcoal) !important;
}

/* === Eyebrow (section-label with leading line) === */
.wr-eyebrow.elementor-widget-heading .elementor-heading-title {
  font-family: 'Oswald', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--wr-gold);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}
.wr-eyebrow.elementor-widget-heading .elementor-heading-title::before {
  content: '';
  width: 40px;
  height: 1px;
  background: var(--wr-gold);
  flex: 0 0 40px;
}

/* === Section title (Archivo Black) === */
.wr-section-title.elementor-widget-heading .elementor-heading-title,
body.page-id-81 h2.elementor-heading-title,
body.page-id-11 h2.elementor-heading-title,
body.page-id-24 h2.elementor-heading-title,
body.page-id-25 h2.elementor-heading-title {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(2rem, 3.6vw, 3rem);
  color: var(--wr-cream);
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: -0.005em;
}

/* Hero H1 (Archivo Black extra large) */
body.page-id-81 h1.elementor-heading-title,
body.page-id-11 h1.elementor-heading-title,
body.page-id-24 h1.elementor-heading-title,
body.page-id-25 h1.elementor-heading-title {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(2.8rem, 6vw, 5rem);
  line-height: 1.05;
  color: var(--wr-cream);
  font-weight: 400;
  letter-spacing: -0.01em;
}

/* === Section description === */
.wr-section-desc.elementor-widget-text-editor p,
.elementor-widget-text-editor p {
  font-family: 'DM Sans', sans-serif;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--wr-text-body);
}
/* === Buttons — Primary (gold filled) === */
body .elementor .button-atm-primary,
body .elementor .elementor-button,
body .elementor a.elementor-button{
  font-family: 'Oswald', sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 1rem 2rem;
  background-color: var(--wr-gold);
  color: var(--wr-black);
  border: none;
  border-radius: 0;
  transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
}
body .elementor .button-atm-primary:hover,
body .elementor .elementor-button:hover,
body .elementor a.elementor-button:hover{
  background-color: var(--wr-gold-light);
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(232,167,30,0.25);
}

/* === Buttons — Secondary (transparent outline) === */
.elementor .wr-btn-secondary,
.elementor .wr-btn-secondary .elementor-button,
.elementor a.wr-btn-secondary,
.elementor .wr-btn-secondary.elementor-button {
  background-color: transparent;
  color: var(--wr-cream);
  border: 1px solid rgba(242,237,228,0.25);
  font-weight: 500;
}
.elementor .wr-btn-secondary:hover,
.elementor .wr-btn-secondary .elementor-button:hover,
.elementor a.wr-btn-secondary:hover,
.elementor .wr-btn-secondary.elementor-button:hover {
  background-color: transparent;
  border-color: var(--wr-gold);
  color: var(--wr-gold);
  transform: none;
  box-shadow: none;
}

/* === Stats (centered, divided, big Archivo Black numbers) === */
.wr-stat-number.elementor-widget-heading .elementor-heading-title {
  font-family: 'Archivo Black', sans-serif;
  font-size: clamp(2rem, 4vw, 2.75rem);
  color: var(--wr-gold);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.01em;
  text-align: center;
}
.wr-stat-label.elementor-widget-heading .elementor-heading-title {
  font-family: 'Oswald', sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wr-text-dim);
  font-weight: 500;
  text-align: center;
}
/* Stat-row vertical dividers between columns */
body.page-id-81 .elementor-inner-section:has(.wr-stat-number) .elementor-column {
  border-right: 1px solid rgba(242,237,228,0.08);
}
body.page-id-81 .elementor-inner-section:has(.wr-stat-number) .elementor-column:last-child {
  border-right: none;
}
body.page-id-81 .elementor-column:has(.wr-stat-number) > .elementor-widget-wrap {
  padding: 0 1rem;
  background: transparent;
  border: 0;
}

/* === Numbered step (big faint gold watermark number) === */
.wr-step-number.elementor-widget-heading .elementor-heading-title {
  font-family: 'Archivo Black', sans-serif;
  font-size: 4rem;
  color: rgba(232,167,30,0.18);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.01em;
}

/* === Card titles === */
.wr-card-title.elementor-widget-heading .elementor-heading-title {
  font-family: 'Oswald', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--wr-cream);
  text-transform: none;
  letter-spacing: 0;
}

/* === Card chrome (services / yards / values cards) === */
body.page-id-81 .elementor-inner-section .elementor-column > .elementor-widget-wrap,
body.page-id-11 .elementor-inner-section .elementor-column > .elementor-widget-wrap,
body.page-id-24 .elementor-inner-section .elementor-column > .elementor-widget-wrap,
body.page-id-25 .elementor-inner-section .elementor-column > .elementor-widget-wrap {
  padding: 2.5rem 2rem;
  background: var(--wr-charcoal);
  border: 1px solid rgba(242,237,228,0.06);
  border-radius: 0;
  transition: border-color 0.4s ease, transform 0.4s ease, background-color 0.4s ease;
  position: relative;
}
body.page-id-81 .elementor-inner-section .elementor-column:hover > .elementor-widget-wrap,
body.page-id-11 .elementor-inner-section .elementor-column:hover > .elementor-widget-wrap,
body.page-id-24 .elementor-inner-section .elementor-column:hover > .elementor-widget-wrap,
body.page-id-25 .elementor-inner-section .elementor-column:hover > .elementor-widget-wrap {
  border-color: rgba(232,167,30,0.25);
  transform: translateY(-4px);
}
/* Top accent line on card hover */
body.page-id-81 .elementor-inner-section .elementor-column > .elementor-widget-wrap::before,
body.page-id-11 .elementor-inner-section .elementor-column > .elementor-widget-wrap::before,
body.page-id-24 .elementor-inner-section .elementor-column > .elementor-widget-wrap::before,
body.page-id-25 .elementor-inner-section .elementor-column > .elementor-widget-wrap::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 3px;
  background: var(--wr-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}
body.page-id-81 .elementor-inner-section .elementor-column:hover > .elementor-widget-wrap::before,
body.page-id-11 .elementor-inner-section .elementor-column:hover > .elementor-widget-wrap::before,
body.page-id-24 .elementor-inner-section .elementor-column:hover > .elementor-widget-wrap::before,
body.page-id-25 .elementor-inner-section .elementor-column:hover > .elementor-widget-wrap::before {
  transform: scaleX(1);
}

/* In-card buttons — keep small, left-aligned */
body.page-id-81 .elementor-inner-section .elementor-widget-button .elementor-button {
  padding: 0.7rem 1.25rem;
  font-size: 0.85rem;
  margin-top: 0.5rem;
}

/* === Pull-quote === */
.wr-pullquote-wrap blockquote.wr-pullquote {
  font-family: 'DM Sans', sans-serif;
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  line-height: 1.5;
  color: var(--wr-cream);
  border-left: 3px solid var(--wr-gold);
  padding: 0.75rem 0 0.75rem 1.75rem;
  margin: 1.5rem 0 0;
  font-style: italic;
  font-weight: 400;
  max-width: 780px;
}

/* === Container max-width === */
body.page-id-81 .elementor-section:not(.elementor-inner-section) > .elementor-container,
body.page-id-11 .elementor-section:not(.elementor-inner-section) > .elementor-container,
body.page-id-24 .elementor-section:not(.elementor-inner-section) > .elementor-container,
body.page-id-25 .elementor-section:not(.elementor-inner-section) > .elementor-container {
  max-width: 1200px;
}

/* === Section spacing (default 5rem 3rem like mockup) === */
body.page-id-81 .elementor-section:not(.elementor-inner-section),
body.page-id-11 .elementor-section:not(.elementor-inner-section),
body.page-id-24 .elementor-section:not(.elementor-inner-section),
body.page-id-25 .elementor-section:not(.elementor-inner-section) {
  padding-left: 3rem;
  padding-right: 3rem;
}

/* === Animation entrance === */
.wr-anim {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s cubic-bezier(.2,.7,.3,1), transform 0.7s cubic-bezier(.2,.7,.3,1);
  will-change: opacity, transform;
}
.wr-anim.is-visible,
.no-js .wr-anim {
  opacity: 1;
  transform: translateY(0);
}
body.page-id-81 .elementor-inner-section .elementor-column:nth-of-type(1) .wr-anim { transition-delay: 0s; }
body.page-id-81 .elementor-inner-section .elementor-column:nth-of-type(2) .wr-anim { transition-delay: 0.1s; }
body.page-id-81 .elementor-inner-section .elementor-column:nth-of-type(3) .wr-anim { transition-delay: 0.2s; }
body.page-id-81 .elementor-inner-section .elementor-column:nth-of-type(4) .wr-anim { transition-delay: 0.3s; }

@media (prefers-reduced-motion: reduce) {
  .wr-anim { opacity: 1 !important; transform: none !important; transition: none !important; }
  .elementor-inner-section .elementor-column { transform: none !important; }
}

/* === Hero buttons (home page) === */
body.page-id-81 > .elementor > .elementor-section:first-of-type {
  min-height: auto;
}
body.page-id-81 > .elementor > .elementor-section:first-of-type .elementor-inner-section > .elementor-container {
  margin-left: 0;
  margin-right: auto;
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: auto;
  max-width: 100%;
}
body.page-id-81 > .elementor > .elementor-section:first-of-type .elementor-inner-section .elementor-column > .elementor-widget-wrap {
  padding: 0;
  background: transparent;
  border: 0;
}
body.page-id-81 > .elementor > .elementor-section:first-of-type .elementor-inner-section .elementor-column:hover > .elementor-widget-wrap {
  background: transparent;
  border: 0;
  transform: none;
}
body.page-id-81 > .elementor > .elementor-section:first-of-type .elementor-inner-section .elementor-column > .elementor-widget-wrap::before {
  display: none;
}

/* Hero badge styling */
body.page-id-81 > .elementor > .elementor-section:first-of-type .wr-eyebrow.elementor-widget-heading .elementor-heading-title {
  display: inline-flex;
  padding: 0.4rem 1rem;
  border: 1px solid rgba(232,167,30,0.35);
  background: rgba(232,167,30,0.06);
}

/* Natural button sizing */
.elementor .elementor-widget-button .elementor-button {
  width: auto;
  display: inline-flex;
  white-space: nowrap;
}

/* === Footer text color update === */
.elementor-location-footer p,
.elementor-location-footer .elementor-heading-title {
  font-family: 'DM Sans', sans-serif;
}
.wr-footer-brand-tag p {
  color: var(--wr-text-dim);
}
/* WR-SYS-V3-END */





/* WR-JOB-LOOP-RESTYLE */
/* Job listing loop cards: repaint to dark/gold system */
.e-loop-item.job-listing .e-flex.e-con,
.e-loop-item.job-listing .e-con-boxed.e-flex {
  background: var(--wr-charcoal) !important;
  border: 1px solid rgba(232,167,30,0.15) !important;
  transition: border-color 0.4s ease, transform 0.4s ease;
}
.e-loop-item.job-listing .e-flex.e-con:hover,
.e-loop-item.job-listing .e-con-boxed.e-flex:hover {
  border-color: rgba(232,167,30,0.4) !important;
  transform: translateY(-2px);
}
/* Job type pill (was orange-tinted) */
.e-loop-item.job-listing [class*="elementor-element"][style*="background-color: rgb(229"],
.e-loop-item.job-listing .elementor-widget-text-editor[class*="59c8e2ac"],
.e-loop-item.job-listing .elementor-widget[class*="text-editor"] {
  background: transparent !important;
}
/* Job type label: gold caps */
.e-loop-item.job-listing .elementor-widget-text-editor p {
  font-family: 'Oswald', sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wr-gold);
  background: rgba(232,167,30,0.08);
  border: 1px solid rgba(232,167,30,0.25);
  padding: 0.3rem 0.75rem;
  display: inline-block;
}
/* Job title in card */
.e-loop-item.job-listing .elementor-heading-title,
.e-loop-item.job-listing h2.elementor-heading-title,
.e-loop-item.job-listing h3.elementor-heading-title {
  font-family: 'Oswald', sans-serif !important;
  color: var(--wr-cream) !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
}
/* Parent container of loop cards (was light cream) */
.elementor-widget-loop-grid {
  background: transparent;
}
/* Open Positions section: ensure dark warm background */
body.page-id-25 .elementor-section:has(.elementor-widget-loop-grid) {
  background: var(--wr-dark-warm);
}
/* Also any parent containers */
body.page-id-25 .elementor-widget-loop-grid > div,
body.page-id-25 .elementor-loop-container {
  background: transparent;
}

/* EMAIL CAREERS button: don't stretch full width — keep natural */
body.page-id-25 .elementor-widget-button {
  text-align: left;
}
body.page-id-25 .elementor-widget-button .elementor-button-wrapper {
  display: inline-block;
  width: auto;
}
body.page-id-25 .elementor-widget-button .elementor-button {
  width: auto;
  white-space: nowrap;
}
/* WR-JOB-LOOP-RESTYLE-END */


/* WR-CAREERS-BG-FIX */
/* Careers Open Positions section: force dark warm background */
body.page-id-25 [data-id="208a23da"],
body.page-id-25 .e-con.e-atomic-element[style*="background: rgb(244"],
body.page-id-25 .e-con.e-atomic-element[style*="background-color: rgb(244"],
body.page-id-25 .e-flexbox-base[style*="background"] {
  background: var(--wr-dark-warm) !important;
  background-color: var(--wr-dark-warm) !important;
}
/* All V4 atomic flexbox containers should default to transparent so they inherit dark warm body */
body.page-id-25 .e-con.e-atomic-element {
  background-color: transparent;
}
/* But specifically override the one with light bg */
body.page-id-25 .e-flexbox-base {
  background-color: transparent !important;
}
/* "Open Positions." heading: visible (was barely visible against light bg) */
body.page-id-25 h2.elementor-heading-title,
body.page-id-25 .e-heading-base {
  color: var(--wr-cream);
}
/* WR-CAREERS-BG-FIX-END */


/* WR-EYEBROW-CLEAN */
/* Strip ALL chrome from eyebrow — just gold line + caps text */
.wr-eyebrow,
.elementor-element.wr-eyebrow,
.elementor-widget.wr-eyebrow {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  background-color: transparent;
  display: block;
}
/* Nuke ALL ::before pseudos on .wr-eyebrow itself (the dot, the wrapper line) */
.wr-eyebrow::before,
.elementor-element.wr-eyebrow::before {
  content: none;
  display: none;
}
/* Strip chrome from the inner heading title too */
.wr-eyebrow.elementor-widget-heading .elementor-heading-title,
.wr-eyebrow .elementor-heading-title,
body.page-id-81 .wr-eyebrow.elementor-widget-heading .elementor-heading-title {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  background-color: transparent;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}
/* Keep ONLY the 40px gold line ::before on the inner title */
.wr-eyebrow.elementor-widget-heading .elementor-heading-title::before,
.wr-eyebrow .elementor-heading-title::before {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: var(--wr-gold);
  flex: 0 0 40px;
  border-radius: 0;
}
/* Hero-specific: same treatment, no override */
body.page-id-81 > .elementor > .elementor-section:first-of-type .wr-eyebrow.elementor-widget-heading .elementor-heading-title {
  padding: 0;
  border: 0;
  background: transparent;
}
/* WR-EYEBROW-CLEAN-END */


/* WR-HOME-BUTTONS */
/* === All home page buttons: natural size, left-aligned === */
body.page-id-81 .elementor-widget-button {
  text-align: left;
}
body.page-id-81 .elementor-widget-button .elementor-button-wrapper {
  display: inline-block;
  width: auto;
  text-align: left;
}
body.page-id-81 .elementor-widget-button .elementor-button {
  width: auto;
  display: inline-flex;
  white-space: nowrap;
}

/* === Hero CTA pair: two buttons side by side, left aligned === */
body.page-id-81 > .elementor > .elementor-section:first-of-type .elementor-inner-section .elementor-column {
  width: auto;
  flex: 0 0 auto;
}
body.page-id-81 > .elementor > .elementor-section:first-of-type .elementor-inner-section > .elementor-container {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-left: 0;
  margin-right: auto;
  width: auto;
  max-width: 100%;
}
body.page-id-81 > .elementor > .elementor-section:first-of-type .elementor-inner-section .elementor-column > .elementor-widget-wrap {
  padding: 0;
  background: transparent;
  border: 0;
}
body.page-id-81 > .elementor > .elementor-section:first-of-type .elementor-inner-section .elementor-column:hover > .elementor-widget-wrap {
  background: transparent;
  border: 0;
  transform: none;
}
body.page-id-81 > .elementor > .elementor-section:first-of-type .elementor-inner-section .elementor-column > .elementor-widget-wrap::before {
  display: none;
}
/* WR-HOME-BUTTONS-END */


/* WR-EYEBROW-GLOBAL */
/* Every H6 heading widget gets the gold-line eyebrow treatment, site-wide */
.elementor-widget-heading h6.elementor-heading-title {
  font-family: 'Oswald', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--wr-gold);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  line-height: 1.2;
}
/* The 40px gold leading line */
.elementor-widget-heading h6.elementor-heading-title::before {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: var(--wr-gold);
  flex: 0 0 40px;
  border-radius: 0;
  margin: 0;
}
/* If the heading is set to align center/right, the line stays attached to the text */
.elementor-widget-heading.elementor-widget__align-center h6.elementor-heading-title,
.elementor-widget-heading h6.elementor-heading-title[style*="text-align:center"] {
  display: inline-flex !important;
}

/* Stat labels should NOT get the line — they're H6 too but use wr-stat-label class */
.elementor-widget-heading.wr-stat-label h6.elementor-heading-title {
  display: inline-block;
  text-align: center;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  color: var(--wr-text-dim);
  font-weight: 500;
}
.elementor-widget-heading.wr-stat-label h6.elementor-heading-title::before {
  content: none;
  display: none;
}
/* WR-EYEBROW-GLOBAL-END */


/* WR-CARD-BTN-FIX */
/* In-card buttons (yard cards, value cards): natural-width left-aligned */
.elementor-inner-section .elementor-widget-button {
  text-align: left;
  width: 100%;
}
.elementor-inner-section .elementor-widget-button .elementor-button-wrapper {
  display: inline-block;
  width: auto;
  max-width: 100%;
}
.elementor-inner-section .elementor-widget-button .elementor-button {
  width: auto;
  max-width: fit-content;
  display: inline-flex;
  white-space: nowrap;
}
/* WR-CARD-BTN-FIX-END */


/* WR-PAIN-LIST */
/* Pain list (Problem section) — gold dash + hairline divider per item */
.wr-pain-list-wrap ul.wr-pain-list,
ul.wr-pain-list {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}
.wr-pain-list-wrap ul.wr-pain-list li,
ul.wr-pain-list li {
  position: relative;
  padding: 1rem 0 1rem 2.25rem;
  border-bottom: 1px solid rgba(242,237,228,0.08);
  font-family: 'DM Sans', sans-serif;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--wr-text-body);
  list-style: none;
  margin: 0;
}
.wr-pain-list-wrap ul.wr-pain-list li::before,
ul.wr-pain-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 1.55rem;
  width: 16px;
  height: 1px;
  background: var(--wr-gold);
}
.wr-pain-list-wrap ul.wr-pain-list li:last-child,
ul.wr-pain-list li:last-child {
  border-bottom: none;
}

/* Problem section 2-column: align image vertically and add subtle frame */
body.page-id-81 .elementor-section:nth-of-type(2) .elementor-widget-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border: 1px solid rgba(242,237,228,0.08);
}
body.page-id-81 .elementor-section:nth-of-type(2) .elementor-inner-section > .elementor-container {
  gap: 3rem;
  align-items: center;
}
/* No card chrome on Problem inner columns */
body.page-id-81 .elementor-section:nth-of-type(2) .elementor-inner-section .elementor-column > .elementor-widget-wrap {
  padding: 0;
  background: transparent;
  border: 0;
}
body.page-id-81 .elementor-section:nth-of-type(2) .elementor-inner-section .elementor-column:hover > .elementor-widget-wrap {
  background: transparent;
  border: 0;
  transform: none;
}
body.page-id-81 .elementor-section:nth-of-type(2) .elementor-inner-section .elementor-column > .elementor-widget-wrap::before {
  display: none;
}
/* WR-PAIN-LIST-END */


/* WR-FEATURES-GRID */
/* Features grid in The Answer section — 3-up desktop, stacked mobile */
.wr-features-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin: 2rem 0 2.5rem;
  align-items: stretch;
}
.wr-feature {
  flex: 1 1 0;
  min-width: 0;
  background: var(--wr-charcoal);
  border: 1px solid rgba(242,237,228,0.06);
  padding: 2.25rem 2rem;
  position: relative;
  overflow: hidden;
  transition: border-color 0.4s ease, transform 0.4s ease;
}
.wr-feature::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 3px;
  background: var(--wr-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}
.wr-feature:hover {
  border-color: rgba(232,167,30,0.25);
  transform: translateY(-3px);
}
.wr-feature:hover::before {
  transform: scaleX(1);
}
.wr-feature-icon {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(232,167,30,0.35);
  color: var(--wr-gold);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.wr-feature-icon svg {
  width: 22px;
  height: 22px;
}
.wr-feature-title {
  font-family: 'Oswald', sans-serif;
  font-size: 1rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wr-cream);
  font-weight: 600;
  margin: 0 0 1rem;
  line-height: 1.25;
}
.wr-feature-desc {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--wr-text-body);
  margin: 0;
}

/* Mobile breakpoint: stack vertically */
@media (max-width: 768px) {
  .wr-features-grid {
    flex-direction: column;
    gap: 1rem;
  }
  .wr-feature {
    flex: 1 1 100%;
  }
}
/* Tablet breakpoint: still 3 columns but smaller padding */
@media (max-width: 1024px) and (min-width: 769px) {
  .wr-features-grid {
    gap: 1rem;
  }
  .wr-feature {
    padding: 1.75rem 1.5rem;
  }
}
/* WR-FEATURES-GRID-END */


/* WR-TRIBAR */
/* WR Tribar — three equal-thickness horizontal bands. Drop anywhere as a section divider. */
:root {
  --wr-tribar-green: #00543D;
  --wr-tribar-orange: #FF6700;
  --wr-tribar-gold: #FFA400;
  --wr-tribar-height: 2.25rem;
  --wr-tribar-band-height: 0.75rem;
}
.wr-tribar {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: var(--wr-tribar-height);
  margin: 0;
  padding: 0;
  pointer-events: none;
}
.wr-tribar-band {
  flex: 1 1 0;
  height: var(--wr-tribar-band-height);
  width: 100%;
  display: block;
}
.wr-tribar-band--green { background: var(--wr-tribar-green); }
.wr-tribar-band--orange { background: var(--wr-tribar-orange); }
.wr-tribar-band--gold { background: var(--wr-tribar-gold); }

/* When the tribar sits inside an Elementor html widget, kill the wrap padding so it goes edge-to-edge */
.elementor-widget-html:has(> .elementor-widget-container > .wr-tribar),
.elementor-widget-html .elementor-widget-container:has(> .wr-tribar) {
  padding: 0;
}

/* Variant: thicker tribar (for hero-style placement) */
.wr-tribar--thick {
  --wr-tribar-height: 3rem;
  --wr-tribar-band-height: 1rem;
}
/* Variant: thinner tribar */
.wr-tribar--thin {
  --wr-tribar-height: 1.5rem;
  --wr-tribar-band-height: 0.5rem;
}
/* WR-TRIBAR-END */


/* WR-TRIBAR-FULLWIDTH */
/* Break the tribar out of any parent container so it spans the viewport edge-to-edge */
.wr-tribar {
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  max-width: 100vw;
}
/* Inside the Elementor html widget, also strip wrap padding/margin */
.elementor-widget-html .elementor-widget-container {
  padding: 0;
}
/* The section/column holding the tribar should not constrain it */
.elementor-element:has(> .elementor-widget-container > .wr-tribar),
.elementor-element:has(> .elementor-widget-container .wr-tribar) {
  width: 100%;
  max-width: 100%;
}
/* For sections that wrap the tribar, zero out internal padding when they have the marker class */
.wr-tribar-section .elementor-container,
.wr-tribar-section .elementor-row,
.wr-tribar-section .elementor-column-gap-default > .elementor-row {
  max-width: 100%;
  margin: 0;
  padding: 0;
}
/* WR-TRIBAR-FULLWIDTH-END */





/* WR-YARDCARD */
/* Yard cards (Our Yards section on home) */
.wr-yardcard.elementor-widget-text-editor {
  background: var(--wr-steel, #2A2826);
  padding: 2.5rem 2rem;
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(242,237,228,0.08);
  transition: background-color 0.4s ease, border-color 0.4s ease, transform 0.4s ease;
}
.wr-yardcard.elementor-widget-text-editor:hover {
  background: #312E2A;
  border-color: rgba(232,167,30,0.25);
  transform: translateY(-3px);
}
.wr-yardcard .elementor-widget-container {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.wr-yardcard-title {
  font-family: 'Oswald', sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--wr-gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 1.5rem;
  line-height: 1.15;
}
.wr-yardcard-desc {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--wr-text-body);
  margin: 0 0 2rem;
  flex: 1;
}
.wr-yardcard-cta {
  margin: 0;
}
.wr-yardcard-link {
  font-family: 'Oswald', sans-serif;
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wr-gold);
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: gap 0.3s ease, color 0.3s ease;
}
.wr-yardcard-link:hover {
  color: var(--wr-gold-light, #F5C04A);
  gap: 0.8rem;
}
.wr-yardcard-link span {
  display: inline-block;
  font-size: 1.1rem;
  line-height: 1;
}

/* Strip the global card chrome from this section's columns */
body.page-id-81 .elementor-section .elementor-inner-section .elementor-column:has(.wr-yardcard) > .elementor-widget-wrap {
  padding: 0;
  background: transparent;
  border: 0;
}
body.page-id-81 .elementor-section .elementor-inner-section .elementor-column:has(.wr-yardcard):hover > .elementor-widget-wrap {
  background: transparent;
  border: 0;
  transform: none;
}
body.page-id-81 .elementor-section .elementor-inner-section .elementor-column:has(.wr-yardcard) > .elementor-widget-wrap::before {
  display: none;
}

/* Equal-height columns + gap between cards */
body.page-id-81 .elementor-inner-section:has(.wr-yardcard) > .elementor-container {
  align-items: stretch;
  gap: 1rem;
  flex-wrap: wrap;
}
body.page-id-81 .elementor-inner-section:has(.wr-yardcard) > .elementor-container > .elementor-column {
  display: flex;
  /* Override Elementor's column width to use flex equally with gap */
  width: calc((100% - 2rem) / 3);
  flex: 0 0 calc((100% - 2rem) / 3);
  max-width: calc((100% - 2rem) / 3);
  padding: 0;
}
body.page-id-81 .elementor-inner-section:has(.wr-yardcard) > .elementor-container > .elementor-column > .elementor-widget-wrap > .wr-yardcard {
  width: 100%;
}

/* === Mobile: stack === */
@media (max-width: 768px) {
  body.page-id-81 .elementor-inner-section:has(.wr-yardcard) > .elementor-container {
    gap: 1rem;
  }
  body.page-id-81 .elementor-inner-section:has(.wr-yardcard) > .elementor-container > .elementor-column {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}
/* === Tablet === */
@media (max-width: 1024px) and (min-width: 769px) {
  body.page-id-81 .elementor-inner-section:has(.wr-yardcard) > .elementor-container > .elementor-column {
    width: calc((100% - 1rem) / 2) !important;
    flex: 0 0 calc((100% - 1rem) / 2) !important;
    max-width: calc((100% - 1rem) / 2) !important;
  }
}
/* WR-YARDCARD-END */

/* Job-listing card buttons: loop-template widget typography would otherwise override */
.e-loop-item.job-listing .elementor-button { font-size: 0.95rem !important; }/* End custom CSS */