/* Elementor Pro Theme Builder header and footer. Mobile first, zero libraries. */
.elementor-location-header { position: relative; z-index: 100; }
.elementor-location-header .elementor-section,
.elementor-location-footer .elementor-section { margin: 0; }

.bronco-pro-header { background: rgba(255,253,249,.98); border-bottom: 1px solid rgba(20,20,19,.12); color: #141413; position: relative; z-index: 100; }
.bronco-pro-header__notice { background: #ed5a2a; color: #fff; font-size: .68rem; font-weight: 800; letter-spacing: .04em; }
.bronco-pro-header__notice-inner { align-items: center; display: flex; justify-content: center; min-height: 31px; padding: 5px 18px; text-align: center; }
.bronco-pro-header__notice a { color: inherit; display: none; text-decoration: none; }
.bronco-pro-header__nav { align-items: center; display: flex; gap: 14px; min-height: 66px; padding: 8px 18px; }
.bronco-pro-header__brand { color: inherit; display: block; line-height: .86; margin-right: auto; text-decoration: none; text-transform: uppercase; }
.bronco-pro-header__brand strong { display: block; font-family: var(--font-display, Arial, sans-serif); font-size: 1.35rem; font-weight: 900; letter-spacing: -.04em; }
.bronco-pro-header__brand span { color: #ed5a2a; display: block; font-size: .53rem; font-weight: 900; letter-spacing: .24em; margin-top: 7px; }
.bronco-pro-header .site-nav { background: #141413; box-shadow: 0 18px 40px rgba(0,0,0,.18); display: none; left: 14px; padding: 24px; position: absolute; right: 14px; top: 103px; }
.bronco-pro-header .site-nav.is-open { display: block; }
.bronco-pro-header .site-nav__list { display: grid; gap: 5px; list-style: none; margin: 0; padding: 0; }
.bronco-pro-header .site-nav__list a { border-bottom: 1px solid rgba(255,255,255,.13); color: #fff; display: block; font-size: .92rem; font-weight: 800; padding: 12px 2px; text-decoration: none; }
.bronco-pro-header__actions { display: none; }
.bronco-pro-header .nav-toggle { align-items: center; background: transparent; border: 1px solid rgba(20,20,19,.18); border-radius: 50%; display: grid; height: 43px; justify-content: center; padding: 10px; width: 43px; }
.bronco-pro-header .nav-toggle__bar { background: currentColor; height: 2px; margin: 2px 0; width: 19px; }

.bronco-pro-footer { background: #151513; color: rgba(255,255,255,.7); }
.bronco-pro-footer a { color: inherit; text-decoration: none; }
.bronco-pro-footer__cta { background: #ed5a2a; color: #fff; overflow: hidden; padding: 42px 20px; position: relative; }
.bronco-pro-footer__cta::after { border: 2px solid rgba(255,255,255,.22); border-radius: 6px 6px 0 0; bottom: -76px; content: ''; height: 118px; position: absolute; right: -27px; transform: rotate(-8deg); width: 170px; }
.bronco-pro-footer__cta-inner { margin: 0 auto; max-width: 1240px; position: relative; z-index: 1; }
.bronco-pro-footer__cta p { font-size: .68rem; font-weight: 900; letter-spacing: .15em; margin: 0 0 10px; text-transform: uppercase; }
.bronco-pro-footer__cta h2 { color: #fff; font-family: var(--font-display, Arial, sans-serif); font-size: clamp(2rem,9vw,4.7rem); letter-spacing: -.055em; line-height: .95; margin: 0 0 24px; max-width: 860px; }
.bronco-pro-footer__cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.bronco-pro-footer__button { align-items: center; border: 1px solid rgba(255,255,255,.7); border-radius: 999px; color: #fff !important; display: inline-flex; font-size: .72rem; font-weight: 900; justify-content: center; letter-spacing: .05em; min-height: 48px; padding: 12px 18px; text-transform: uppercase; }
.bronco-pro-footer__button--light { background: #fff; border-color: #fff; color: #141413 !important; }
.bronco-pro-footer__body { margin: 0 auto; max-width: 1240px; padding: 52px 20px 82px; }
.bronco-pro-footer__grid { display: grid; gap: 40px; }
.bronco-pro-footer__brand { color: #fff; display: inline-block; font-family: var(--font-display, Arial, sans-serif); font-size: 1.75rem; font-weight: 900; letter-spacing: -.04em; line-height: .9; margin-bottom: 20px; text-transform: uppercase; }
.bronco-pro-footer__brand span { color: #ed5a2a; display: block; font-family: var(--font-body, Arial, sans-serif); font-size: .58rem; letter-spacing: .25em; margin-top: 9px; }
.bronco-pro-footer__summary { line-height: 1.65; margin: 0 0 21px; max-width: 340px; }
.bronco-pro-footer__contact { display: grid; gap: 8px; }
.bronco-pro-footer__contact a { color: #fff; font-weight: 800; }
.bronco-pro-footer h3 { color: #fff; font-size: .7rem; font-weight: 900; letter-spacing: .14em; margin: 0 0 18px; text-transform: uppercase; }
.bronco-pro-footer ul { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.bronco-pro-footer li, .bronco-pro-footer li a { font-size: .86rem; line-height: 1.5; }
.bronco-pro-footer li a:hover { color: #fff; }
.bronco-pro-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-direction: column; font-size: .72rem; gap: 12px; margin-top: 44px; padding-top: 20px; }
.bronco-pro-footer__legal-links { display: flex; gap: 18px; }
.bronco-pro-footer__mobile { background: #fff; bottom: 0; box-shadow: 0 -8px 28px rgba(0,0,0,.15); display: grid; grid-template-columns: 1fr 1fr; left: 0; padding: 8px; position: fixed; right: 0; z-index: 99; }
.bronco-pro-footer__mobile a { align-items: center; border-radius: 999px; color: #141413; display: flex; font-size: .7rem; font-weight: 900; justify-content: center; min-height: 46px; text-transform: uppercase; }
.bronco-pro-footer__mobile a:last-child { background: #ed5a2a; color: #fff; }

@media (min-width: 760px) {
	.bronco-pro-header__notice-inner { justify-content: space-between; margin: 0 auto; max-width: 1240px; }
	.bronco-pro-header__notice a { display: inline; }
	.bronco-pro-header__nav { margin: 0 auto; max-width: 1240px; min-height: 78px; padding-inline: 24px; }
	.bronco-pro-footer__cta, .bronco-pro-footer__body { padding-left: 34px; padding-right: 34px; }
	.bronco-pro-footer__grid { grid-template-columns: 1.3fr 1fr 1fr; }
	.bronco-pro-footer__grid > :last-child { grid-column: 2 / 4; }
	.bronco-pro-footer__bottom { align-items: center; flex-direction: row; justify-content: space-between; }
}

@media (min-width: 1080px) {
	.bronco-pro-header { position: sticky; top: 0; }
	.bronco-pro-header .site-nav { background: transparent; box-shadow: none; display: block; left: auto; padding: 0; position: static; right: auto; top: auto; }
	.bronco-pro-header .site-nav__list { display: flex; gap: 27px; }
	.bronco-pro-header .site-nav__list a { border: 0; color: inherit; font-size: .76rem; letter-spacing: .02em; padding: 10px 0; }
	.bronco-pro-header__actions { align-items: center; display: flex; gap: 10px; }
	.bronco-pro-header__phone { color: inherit; font-size: .76rem; font-weight: 900; padding: 11px 8px; }
	.bronco-pro-header__book { background: #ed5a2a; border-radius: 999px; color: #fff !important; font-size: .7rem; font-weight: 900; letter-spacing: .05em; padding: 14px 18px; text-transform: uppercase; }
	.bronco-pro-header .nav-toggle { display: none; }
	.bronco-pro-footer__cta { padding-bottom: 70px; padding-top: 70px; }
	.bronco-pro-footer__cta-inner { align-items: end; display: flex; justify-content: space-between; }
	.bronco-pro-footer__cta h2 { margin-bottom: 0; }
	.bronco-pro-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
	.bronco-pro-footer__grid > :last-child { grid-column: auto; }
	.bronco-pro-footer__body { padding-bottom: 42px; padding-top: 68px; }
	.bronco-pro-footer__mobile { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.bronco-pro-header *, .bronco-pro-footer * { scroll-behavior: auto !important; transition: none !important; }
}
