@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:wght@400;600;700&display=swap');
@font-face {
  font-family: 'webflow-icons';
  src: url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBiUAAAC8AAAAYGNtYXDpP+a4AAABHAAAAFxnYXNwAAAAEAAAAXgAAAAIZ2x5ZmhS2XEAAAGAAAADHGhlYWQTFw3HAAAEnAAAADZoaGVhCXYFgQAABNQAAAAkaG10eCe4A1oAAAT4AAAAMGxvY2EDtALGAAAFKAAAABptYXhwABAAPgAABUQAAAAgbmFtZSoCsMsAAAVkAAABznBvc3QAAwAAAAAHNAAAACAAAwP4AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpAwPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAQAAAAAwACAACAAQAAQAg5gPpA//9//8AAAAAACDmAOkA//3//wAB/+MaBBcIAAMAAQAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEBIAAAAyADgAAFAAAJAQcJARcDIP5AQAGA/oBAAcABwED+gP6AQAABAOAAAALgA4AABQAAEwEXCQEH4AHAQP6AAYBAAcABwED+gP6AQAAAAwDAAOADQALAAA8AHwAvAAABISIGHQEUFjMhMjY9ATQmByEiBh0BFBYzITI2PQE0JgchIgYdARQWMyEyNj0BNCYDIP3ADRMTDQJADRMTDf3ADRMTDQJADRMTDf3ADRMTDQJADRMTAsATDSANExMNIA0TwBMNIA0TEw0gDRPAEw0gDRMTDSANEwAAAAABAJ0AtAOBApUABQAACQIHCQEDJP7r/upcAXEBcgKU/usBFVz+fAGEAAAAAAL//f+9BAMDwwAEAAkAABcBJwEXAwE3AQdpA5ps/GZsbAOabPxmbEMDmmz8ZmwDmvxmbAOabAAAAgAA/8AEAAPAAB0AOwAABSInLgEnJjU0Nz4BNzYzMTIXHgEXFhUUBw4BBwYjNTI3PgE3NjU0Jy4BJyYjMSIHDgEHBhUUFx4BFxYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpVSktvICEhIG9LSlVVSktvICEhIG9LSlVAKCiLXl1qal1eiygoKCiLXl1qal1eiygoZiEgb0tKVVVKS28gISEgb0tKVVVKS28gIQABAAABwAIAA8AAEgAAEzQ3PgE3NjMxFSIHDgEHBhUxIwAoKIteXWpVSktvICFmAcBqXV6LKChmISBvS0pVAAAAAgAA/8AFtgPAADIAOgAAARYXHgEXFhUUBw4BBwYHIxUhIicuAScmNTQ3PgE3NjMxOAExNDc+ATc2MzIXHgEXFhcVATMJATMVMzUEjD83NlAXFxYXTjU1PQL8kz01Nk8XFxcXTzY1PSIjd1BQWlJJSXInJw3+mdv+2/7c25MCUQYcHFg5OUA/ODlXHBwIAhcXTzY1PTw1Nk8XF1tQUHcjIhwcYUNDTgL+3QFt/pOTkwABAAAAAQAAmM7nP18PPPUACwQAAAAAANciZKUAAAAA1yJkpf/9/70FtgPDAAAACAACAAAAAAAAAAEAAAPA/8AAAAW3//3//QW2AAEAAAAAAAAAAAAAAAAAAAAMBAAAAAAAAAAAAAAAAgAAAAQAASAEAADgBAAAwAQAAJ0EAP/9BAAAAAQAAAAFtwAAAAAAAAAKABQAHgAyAEYAjACiAL4BFgE2AY4AAAABAAAADAA8AAMAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADQAAAAEAAAAAAAIABwCWAAEAAAAAAAMADQBIAAEAAAAAAAQADQCrAAEAAAAAAAUACwAnAAEAAAAAAAYADQBvAAEAAAAAAAoAGgDSAAMAAQQJAAEAGgANAAMAAQQJAAIADgCdAAMAAQQJAAMAGgBVAAMAAQQJAAQAGgC4AAMAAQQJAAUAFgAyAAMAAQQJAAYAGgB8AAMAAQQJAAoANADsd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByd2ViZmxvdy1pY29ucwB3AGUAYgBmAGwAbwB3AC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") format('truetype');
  font-weight: normal;
  font-style: normal;
}
[class^="w-icon-"],
[class*=" w-icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'webflow-icons' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.w-icon-slider-right:before {
  content: "\e600";
}
.w-icon-slider-left:before {
  content: "\e601";
}
.w-icon-nav-menu:before {
  content: "\e602";
}
.w-icon-arrow-down:before,
.w-icon-dropdown-toggle:before {
  content: "\e603";
}
.w-icon-file-upload-remove:before {
  content: "\e900";
}
.w-icon-file-upload-icon:before {
  content: "\e903";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  height: 100%;
}
body {
  margin: 0;
  min-height: 100%;
  background-color: #fff;
  font-family: Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #333;
}
img {
  max-width: 100%;
  vertical-align: middle;
  display: inline-block;
}
html.w-mod-touch * {
  background-attachment: scroll !important;
}
.w-block {
  display: block;
}
.w-inline-block {
  max-width: 100%;
  display: inline-block;
}
.w-clearfix:before,
.w-clearfix:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-clearfix:after {
  clear: both;
}
.w-hidden {
  display: none;
}
.w-button {
  display: inline-block;
  padding: 9px 15px;
  background-color: #c8a04b;
  color: white;
  border: 0;
  line-height: inherit;
  text-decoration: none;
  cursor: pointer;
  border-radius: 0;
}
input.w-button {
  -webkit-appearance: button;
}
html[data-w-dynpage] [data-w-cloak] {
  color: transparent !important;
}
.w-code-block {
  margin: unset;
}
pre.w-code-block code {
  all: inherit;
}
pre.w-code-block code > span {
  display: block !important;
}
.w-optimization {
  display: contents;
}
.w-webflow-badge,
.w-webflow-badge > img {
  box-sizing: unset;
  width: unset;
  height: unset;
  max-height: unset;
  max-width: unset;
  min-height: unset;
  min-width: unset;
  margin: unset;
  padding: unset;
  float: unset;
  clear: unset;
  border: unset;
  border-radius: unset;
  background: unset;
  background-image: unset;
  background-position: unset;
  background-size: unset;
  background-repeat: unset;
  background-origin: unset;
  background-clip: unset;
  background-attachment: unset;
  background-color: unset;
  box-shadow: unset;
  transform: unset;
  transition: unset;
  direction: unset;
  font-family: unset;
  font-weight: unset;
  color: unset;
  font-size: unset;
  line-height: unset;
  font-style: unset;
  font-variant: unset;
  text-align: unset;
  letter-spacing: unset;
  text-decoration: unset;
  text-indent: unset;
  text-transform: unset;
  list-style-type: unset;
  text-shadow: unset;
  vertical-align: unset;
  cursor: unset;
  white-space: unset;
  word-break: unset;
  word-spacing: unset;
  word-wrap: unset;
}
.w-webflow-badge {
  position: fixed !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 2147483647 !important;
  top: auto !important;
  right: 12px !important;
  bottom: 12px !important;
  left: auto !important;
  color: #aaadb0 !important;
  background-color: #fff !important;
  border-radius: 3px !important;
  padding: 6px !important;
  font-size: 12px !important;
  line-height: 14px !important;
  text-decoration: none !important;
  transform: none !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  overflow: unset !important;
  white-space: nowrap;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
.w-webflow-badge > img {
  position: unset;
  display: inline-block !important;
  visibility: unset !important;
  opacity: 1 !important;
  vertical-align: middle !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin-bottom: 10px;
}
h1 {
  font-size: 38px;
  line-height: 44px;
  margin-top: 20px;
}
h2 {
  font-size: 32px;
  line-height: 36px;
  margin-top: 20px;
}
h3 {
  font-size: 24px;
  line-height: 30px;
  margin-top: 20px;
}
h4 {
  font-size: 18px;
  line-height: 24px;
  margin-top: 10px;
}
h5 {
  font-size: 14px;
  line-height: 20px;
  margin-top: 10px;
}
h6 {
  font-size: 12px;
  line-height: 18px;
  margin-top: 10px;
}
p {
  margin-top: 0;
  margin-bottom: 10px;
}
blockquote {
  margin: 0 0 10px 0;
  padding: 10px 20px;
  border-left: 5px solid #E2E2E2;
  font-size: 18px;
  line-height: 22px;
}
figure {
  margin: 0;
  margin-bottom: 10px;
}
figcaption {
  margin-top: 5px;
  text-align: center;
}
ul,
ol {
  margin-top: 0px;
  margin-bottom: 10px;
  padding-left: 40px;
}
.w-list-unstyled {
  padding-left: 0;
  list-style: none;
}
.w-embed:before,
.w-embed:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-embed:after {
  clear: both;
}
.w-video {
  width: 100%;
  position: relative;
  padding: 0;
}
.w-video iframe,
.w-video object,
.w-video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}
button,
[type='button'],
[type='reset'] {
  border: 0;
  cursor: pointer;
  -webkit-appearance: button;
}
.w-form {
  margin: 0 0 15px;
}
.w-form-done {
  display: none;
  padding: 20px;
  text-align: center;
  background-color: #dddddd;
}
.w-form-fail {
  display: none;
  margin-top: 10px;
  padding: 10px;
  background-color: #f5f5f3;
}
label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
.w-input,
.w-select {
  display: block;
  width: 100%;
  height: 38px;
  padding: 8px 12px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  vertical-align: middle;
  background-color: #ffffff;
  border: 1px solid #cccccc;
}
.w-input::placeholder,
.w-select::placeholder {
  color: #999;
}
.w-input:focus,
.w-select:focus {
  border-color: #3898EC;
  outline: 0;
}
.w-input[disabled],
.w-select[disabled],
.w-input[readonly],
.w-select[readonly],
fieldset[disabled] .w-input,
fieldset[disabled] .w-select {
  cursor: not-allowed;
}
.w-input[disabled]:not(.w-input-disabled),
.w-select[disabled]:not(.w-input-disabled),
.w-input[readonly],
.w-select[readonly],
fieldset[disabled]:not(.w-input-disabled) .w-input,
fieldset[disabled]:not(.w-input-disabled) .w-select {
  background-color: #eeeeee;
}
textarea.w-input,
textarea.w-select {
  height: auto;
}
.w-select {
  background-color: #f3f3f3;
}
.w-select[multiple] {
  height: auto;
}
.w-form-label {
  display: inline-block;
  cursor: pointer;
  font-weight: normal;
  margin-bottom: 0px;
}
.w-radio {
  display: block;
  margin-bottom: 5px;
  padding-left: 20px;
}
.w-radio:before,
.w-radio:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-radio:after {
  clear: both;
}
.w-radio-input {
  margin: 4px 0 0;
  line-height: normal;
  float: left;
  margin-left: -20px;
}
.w-radio-input {
  margin-top: 3px;
}
.w-file-upload {
  display: block;
  margin-bottom: 10px;
}
.w-file-upload-input {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -100;
}
.w-file-upload-default,
.w-file-upload-uploading,
.w-file-upload-success {
  display: inline-block;
  color: #333333;
}
.w-file-upload-error {
  display: block;
  margin-top: 10px;
}
.w-file-upload-default.w-hidden,
.w-file-upload-uploading.w-hidden,
.w-file-upload-error.w-hidden,
.w-file-upload-success.w-hidden {
  display: none;
}
.w-file-upload-uploading-btn {
  display: flex;
  font-size: 14px;
  font-weight: normal;
  cursor: pointer;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #cccccc;
  background-color: #fafafa;
}
.w-file-upload-file {
  display: flex;
  flex-grow: 1;
  justify-content: space-between;
  margin: 0;
  padding: 8px 9px 8px 11px;
  border: 1px solid #cccccc;
  background-color: #fafafa;
}
.w-file-upload-file-name {
  font-size: 14px;
  font-weight: normal;
  display: block;
}
.w-file-remove-link {
  margin-top: 3px;
  margin-left: 10px;
  width: auto;
  height: auto;
  padding: 3px;
  display: block;
  cursor: pointer;
}
.w-icon-file-upload-remove {
  margin: auto;
  font-size: 10px;
}
.w-file-upload-error-msg {
  display: inline-block;
  color: #ea384c;
  padding: 2px 0;
}
.w-file-upload-info {
  display: inline-block;
  line-height: 38px;
  padding: 0 12px;
}
.w-file-upload-label {
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  cursor: pointer;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #cccccc;
  background-color: #fafafa;
}
.w-icon-file-upload-icon,
.w-icon-file-upload-uploading {
  display: inline-block;
  margin-right: 8px;
  width: 20px;
}
.w-icon-file-upload-uploading {
  height: 20px;
}
.w-container {
  margin-left: auto;
  margin-right: auto;
  max-width: 940px;
}
.w-container:before,
.w-container:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-container:after {
  clear: both;
}
.w-container .w-row {
  margin-left: -10px;
  margin-right: -10px;
}
.w-row:before,
.w-row:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-row:after {
  clear: both;
}
.w-row .w-row {
  margin-left: 0;
  margin-right: 0;
}
.w-col {
  position: relative;
  float: left;
  width: 100%;
  min-height: 1px;
  padding-left: 10px;
  padding-right: 10px;
}
.w-col .w-col {
  padding-left: 0;
  padding-right: 0;
}
.w-col-1 {
  width: 8.33333333%;
}
.w-col-2 {
  width: 16.66666667%;
}
.w-col-3 {
  width: 25%;
}
.w-col-4 {
  width: 33.33333333%;
}
.w-col-5 {
  width: 41.66666667%;
}
.w-col-6 {
  width: 50%;
}
.w-col-7 {
  width: 58.33333333%;
}
.w-col-8 {
  width: 66.66666667%;
}
.w-col-9 {
  width: 75%;
}
.w-col-10 {
  width: 83.33333333%;
}
.w-col-11 {
  width: 91.66666667%;
}
.w-col-12 {
  width: 100%;
}
.w-hidden-main {
  display: none !important;
}
@media screen and (max-width: 991px) {
  .w-container {
    max-width: 728px;
  }
  .w-hidden-main {
    display: inherit !important;
  }
  .w-hidden-medium {
    display: none !important;
  }
  .w-col-medium-1 {
    width: 8.33333333%;
  }
  .w-col-medium-2 {
    width: 16.66666667%;
  }
  .w-col-medium-3 {
    width: 25%;
  }
  .w-col-medium-4 {
    width: 33.33333333%;
  }
  .w-col-medium-5 {
    width: 41.66666667%;
  }
  .w-col-medium-6 {
    width: 50%;
  }
  .w-col-medium-7 {
    width: 58.33333333%;
  }
  .w-col-medium-8 {
    width: 66.66666667%;
  }
  .w-col-medium-9 {
    width: 75%;
  }
  .w-col-medium-10 {
    width: 83.33333333%;
  }
  .w-col-medium-11 {
    width: 91.66666667%;
  }
  .w-col-medium-12 {
    width: 100%;
  }
  .w-col-stack {
    width: 100%;
    left: auto;
    right: auto;
  }
}
@media screen and (max-width: 767px) {
  .w-hidden-main {
    display: inherit !important;
  }
  .w-hidden-medium {
    display: inherit !important;
  }
  .w-hidden-small {
    display: none !important;
  }
  .w-row,
  .w-container .w-row {
    margin-left: 0;
    margin-right: 0;
  }
  .w-col {
    width: 100%;
    left: auto;
    right: auto;
  }
  .w-col-small-1 {
    width: 8.33333333%;
  }
  .w-col-small-2 {
    width: 16.66666667%;
  }
  .w-col-small-3 {
    width: 25%;
  }
  .w-col-small-4 {
    width: 33.33333333%;
  }
  .w-col-small-5 {
    width: 41.66666667%;
  }
  .w-col-small-6 {
    width: 50%;
  }
  .w-col-small-7 {
    width: 58.33333333%;
  }
  .w-col-small-8 {
    width: 66.66666667%;
  }
  .w-col-small-9 {
    width: 75%;
  }
  .w-col-small-10 {
    width: 83.33333333%;
  }
  .w-col-small-11 {
    width: 91.66666667%;
  }
  .w-col-small-12 {
    width: 100%;
  }
}
@media screen and (max-width: 479px) {
  .w-container {
    max-width: none;
  }
  .w-hidden-main {
    display: inherit !important;
  }
  .w-hidden-medium {
    display: inherit !important;
  }
  .w-hidden-small {
    display: inherit !important;
  }
  .w-hidden-tiny {
    display: none !important;
  }
  .w-col {
    width: 100%;
  }
  .w-col-tiny-1 {
    width: 8.33333333%;
  }
  .w-col-tiny-2 {
    width: 16.66666667%;
  }
  .w-col-tiny-3 {
    width: 25%;
  }
  .w-col-tiny-4 {
    width: 33.33333333%;
  }
  .w-col-tiny-5 {
    width: 41.66666667%;
  }
  .w-col-tiny-6 {
    width: 50%;
  }
  .w-col-tiny-7 {
    width: 58.33333333%;
  }
  .w-col-tiny-8 {
    width: 66.66666667%;
  }
  .w-col-tiny-9 {
    width: 75%;
  }
  .w-col-tiny-10 {
    width: 83.33333333%;
  }
  .w-col-tiny-11 {
    width: 91.66666667%;
  }
  .w-col-tiny-12 {
    width: 100%;
  }
}
.w-widget {
  position: relative;
}
.w-widget-map {
  width: 100%;
  height: 400px;
}
.w-widget-map label {
  width: auto;
  display: inline;
}
.w-widget-map img {
  max-width: inherit;
}
.w-widget-map .gm-style-iw {
  text-align: center;
}
.w-widget-map .gm-style-iw > button {
  display: none !important;
}
.w-widget-twitter {
  overflow: hidden;
}
.w-widget-twitter-count-shim {
  display: inline-block;
  vertical-align: top;
  position: relative;
  width: 28px;
  height: 20px;
  text-align: center;
  background: white;
  border: #758696 solid 1px;
  border-radius: 3px;
}
.w-widget-twitter-count-shim * {
  pointer-events: none;
  user-select: none;
}
.w-widget-twitter-count-shim .w-widget-twitter-count-inner {
  position: relative;
  font-size: 15px;
  line-height: 12px;
  text-align: center;
  color: #999;
  font-family: serif;
}
.w-widget-twitter-count-shim .w-widget-twitter-count-clear {
  position: relative;
  display: block;
}
.w-widget-twitter-count-shim.w--large {
  width: 36px;
  height: 28px;
}
.w-widget-twitter-count-shim.w--large .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 18px;
}
.w-widget-twitter-count-shim:not(.w--vertical) {
  margin-left: 5px;
  margin-right: 8px;
}
.w-widget-twitter-count-shim:not(.w--vertical).w--large {
  margin-left: 6px;
}
.w-widget-twitter-count-shim:not(.w--vertical):before,
.w-widget-twitter-count-shim:not(.w--vertical):after {
  top: 50%;
  left: 0;
  border: solid transparent;
  content: ' ';
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.w-widget-twitter-count-shim:not(.w--vertical):before {
  border-color: rgba(117, 134, 150, 0);
  border-right-color: #5d6c7b;
  border-width: 4px;
  margin-left: -9px;
  margin-top: -4px;
}
.w-widget-twitter-count-shim:not(.w--vertical).w--large:before {
  border-width: 5px;
  margin-left: -10px;
  margin-top: -5px;
}
.w-widget-twitter-count-shim:not(.w--vertical):after {
  border-color: rgba(255, 255, 255, 0);
  border-right-color: white;
  border-width: 4px;
  margin-left: -8px;
  margin-top: -4px;
}
.w-widget-twitter-count-shim:not(.w--vertical).w--large:after {
  border-width: 5px;
  margin-left: -9px;
  margin-top: -5px;
}
.w-widget-twitter-count-shim.w--vertical {
  width: 61px;
  height: 33px;
  margin-bottom: 8px;
}
.w-widget-twitter-count-shim.w--vertical:before,
.w-widget-twitter-count-shim.w--vertical:after {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: ' ';
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.w-widget-twitter-count-shim.w--vertical:before {
  border-color: rgba(117, 134, 150, 0);
  border-top-color: #5d6c7b;
  border-width: 5px;
  margin-left: -5px;
}
.w-widget-twitter-count-shim.w--vertical:after {
  border-color: rgba(255, 255, 255, 0);
  border-top-color: white;
  border-width: 4px;
  margin-left: -4px;
}
.w-widget-twitter-count-shim.w--vertical .w-widget-twitter-count-inner {
  font-size: 18px;
  line-height: 22px;
}
.w-widget-twitter-count-shim.w--vertical.w--large {
  width: 76px;
}
.w-background-video {
  position: relative;
  overflow: hidden;
  height: 500px;
  color: white;
}
.w-background-video > video {
  background-size: cover;
  background-position: 50% 50%;
  position: absolute;
  margin: auto;
  width: 100%;
  height: 100%;
  right: -100%;
  bottom: -100%;
  top: -100%;
  left: -100%;
  object-fit: cover;
  z-index: -100;
}
.w-background-video > video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}
.w-background-video--control {
  position: absolute;
  bottom: 1em;
  right: 1em;
  background-color: transparent;
  padding: 0;
}
.w-background-video--control > [hidden] {
  display: none !important;
}
.w-slider {
  position: relative;
  height: 300px;
  text-align: center;
  background: #dddddd;
  clear: both;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
}
.w-slider-mask {
  position: relative;
  display: block;
  overflow: hidden;
  z-index: 1;
  left: 0;
  right: 0;
  height: 100%;
  white-space: nowrap;
}
.w-slide {
  position: relative;
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: 100%;
  white-space: normal;
  text-align: left;
}
.w-slider-nav {
  position: absolute;
  z-index: 2;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  padding-top: 10px;
  height: 40px;
  text-align: center;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
}
.w-slider-nav.w-round > div {
  border-radius: 100%;
}
.w-slider-nav.w-num > div {
  width: auto;
  height: auto;
  padding: 0.2em 0.5em;
  font-size: inherit;
  line-height: inherit;
}
.w-slider-nav.w-shadow > div {
  box-shadow: 0 0 3px rgba(51, 51, 51, 0.4);
}
.w-slider-nav-invert {
  color: #fff;
}
.w-slider-nav-invert > div {
  background-color: rgba(34, 34, 34, 0.4);
}
.w-slider-nav-invert > div.w-active {
  background-color: #222;
}
.w-slider-dot {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: rgba(255, 255, 255, 0.4);
  cursor: pointer;
  margin: 0 3px 0.5em;
  transition: background-color 100ms, color 100ms;
}
.w-slider-dot.w-active {
  background-color: #fff;
}
.w-slider-dot:focus {
  outline: none;
  box-shadow: 0px 0px 0px 2px #fff;
}
.w-slider-dot:focus.w-active {
  box-shadow: none;
}
.w-slider-arrow-left,
.w-slider-arrow-right {
  position: absolute;
  width: 80px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  cursor: pointer;
  overflow: hidden;
  color: white;
  font-size: 40px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  user-select: none;
}
.w-slider-arrow-left [class^='w-icon-'],
.w-slider-arrow-right [class^='w-icon-'],
.w-slider-arrow-left [class*=' w-icon-'],
.w-slider-arrow-right [class*=' w-icon-'] {
  position: absolute;
}
.w-slider-arrow-left:focus,
.w-slider-arrow-right:focus {
  outline: 0;
}
.w-slider-arrow-left {
  z-index: 3;
  right: auto;
}
.w-slider-arrow-right {
  z-index: 4;
  left: auto;
}
.w-icon-slider-left,
.w-icon-slider-right {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 1em;
  height: 1em;
}
.w-slider-aria-label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.w-slider-force-show {
  display: block !important;
}
.w-dropdown {
  display: inline-block;
  position: relative;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  z-index: 900;
}
.w-dropdown-btn,
.w-dropdown-toggle,
.w-dropdown-link {
  position: relative;
  vertical-align: top;
  text-decoration: none;
  color: #222222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
}
.w-dropdown-toggle {
  user-select: none;
  display: inline-block;
  cursor: pointer;
  padding-right: 40px;
}
.w-dropdown-toggle:focus {
  outline: 0;
}
.w-icon-dropdown-toggle {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  margin-right: 20px;
  width: 1em;
  height: 1em;
}
.w-dropdown-list {
  position: absolute;
  background: #dddddd;
  display: none;
  min-width: 100%;
}
.w-dropdown-list.w--open {
  display: block;
}
.w-dropdown-link {
  padding: 10px 20px;
  display: block;
  color: #222222;
}
.w-dropdown-link.w--current {
  color: #0082f3;
}
.w-dropdown-link:focus {
  outline: 0;
}
/**
 * ## Note
 * Safari (on both iOS and OS X) does not handle viewport units (vh, vw) well.
 * For example percentage units do not work on descendants of elements that
 * have any dimensions expressed in viewport units. It also doesn’t handle them at
 * all in `calc()`.
 */
/**
 * Wrapper around all lightbox elements
 *
 * 1. Since the lightbox can receive focus, IE also gives it an outline.
 * 2. Fixes flickering on Chrome when a transition is in progress
 *    underneath the lightbox.
 */
.w-lightbox-backdrop {
  cursor: auto;
  font-style: normal;
  letter-spacing: normal;
  list-style: disc;
  text-indent: 0;
  text-shadow: none;
  text-transform: none;
  visibility: visible;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  color: #fff;
  font-family: "Helvetica Neue", Helvetica, Ubuntu, "Segoe UI", Verdana, sans-serif;
  font-size: 17px;
  line-height: 1.2;
  font-weight: 300;
  text-align: center;
  background: rgba(0, 0, 0, 0.9);
  z-index: 2000;
  outline: 0;
  /* 1 */
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-transform: translate(0, 0);
  /* 2 */
}
/**
 * Neat trick to bind the rubberband effect to our canvas instead of the whole
 * document on iOS. It also prevents a bug that causes the document underneath to scroll.
 */
.w-lightbox-backdrop,
.w-lightbox-container {
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.w-lightbox-content {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
.w-lightbox-view {
  position: absolute;
  width: 100vw;
  height: 100vh;
  opacity: 0;
}
.w-lightbox-view:before {
  content: "";
  height: 100vh;
}
/* .w-lightbox-content */
.w-lightbox-group,
.w-lightbox-group .w-lightbox-view,
.w-lightbox-group .w-lightbox-view:before {
  height: 86vh;
}
.w-lightbox-frame,
.w-lightbox-view:before {
  display: inline-block;
  vertical-align: middle;
}
/*
 * 1. Remove default margin set by user-agent on the <figure> element.
 */
.w-lightbox-figure {
  position: relative;
  margin: 0;
  /* 1 */
}
.w-lightbox-group .w-lightbox-figure {
  cursor: pointer;
}
/**
 * IE adds image dimensions as width and height attributes on the IMG tag,
 * but we need both width and height to be set to auto to enable scaling.
 */
.w-lightbox-img {
  width: auto;
  height: auto;
  max-width: none;
}
/**
 * 1. Reset if style is set by user on "All Images"
 */
.w-lightbox-image {
  display: block;
  float: none;
  /* 1 */
  max-width: 100vw;
  max-height: 100vh;
}
.w-lightbox-group .w-lightbox-image {
  max-height: 86vh;
}
.w-lightbox-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0.5em 1em;
  background: rgba(0, 0, 0, 0.4);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.w-lightbox-embed {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.w-lightbox-control {
  position: absolute;
  top: 0;
  width: 4em;
  background-size: 24px;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.w-lightbox-left {
  display: none;
  bottom: 0;
  left: 0;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-20 0 24 40" width="24" height="40"><g transform="rotate(45)"><path d="m0 0h5v23h23v5h-28z" opacity=".4"/><path d="m1 1h3v23h23v3h-26z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0yMCAwIDI0IDQwIiB3aWR0aD0iMjQiIGhlaWdodD0iNDAiPjxnIHRyYW5zZm9ybT0icm90YXRlKDQ1KSI+PHBhdGggZD0ibTAgMGg1djIzaDIzdjVoLTI4eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDN2MjNoMjN2M2gtMjZ6IiBmaWxsPSIjZmZmIi8+PC9nPjwvc3ZnPg==");
}
.w-lightbox-right {
  display: none;
  right: 0;
  bottom: 0;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 0 24 40" width="24" height="40"><g transform="rotate(45)"><path d="m0-0h28v28h-5v-23h-23z" opacity=".4"/><path d="m1 1h26v26h-3v-23h-23z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMjQgNDAiIHdpZHRoPSIyNCIgaGVpZ2h0PSI0MCI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMC0waDI4djI4aC01di0yM2gtMjN6IiBvcGFjaXR5PSIuNCIvPjxwYXRoIGQ9Im0xIDFoMjZ2MjZoLTN2LTIzaC0yM3oiIGZpbGw9IiNmZmYiLz48L2c+PC9zdmc+");
}
/*
 * Without specifying the with and height inside the SVG, all versions of IE render the icon too small.
 * The bug does not seem to manifest itself if the elements are tall enough such as the above arrows.
 * (http://stackoverflow.com/questions/16092114/background-size-differs-in-internet-explorer)
 */
.w-lightbox-close {
  right: 0;
  height: 2.6em;
  /* <svg xmlns="http://www.w3.org/2000/svg" viewBox="-4 0 18 17" width="18" height="17"><g transform="rotate(45)"><path d="m0 0h7v-7h5v7h7v5h-7v7h-5v-7h-7z" opacity=".4"/><path d="m1 1h7v-7h3v7h7v3h-7v7h-3v-7h-7z" fill="#fff"/></g></svg> */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii00IDAgMTggMTciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNyI+PGcgdHJhbnNmb3JtPSJyb3RhdGUoNDUpIj48cGF0aCBkPSJtMCAwaDd2LTdoNXY3aDd2NWgtN3Y3aC01di03aC03eiIgb3BhY2l0eT0iLjQiLz48cGF0aCBkPSJtMSAxaDd2LTdoM3Y3aDd2M2gtN3Y3aC0zdi03aC03eiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4=");
  background-size: 18px;
}
/**
 * 1. All IE versions add extra space at the bottom without this.
 */
.w-lightbox-strip {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0 1vh;
  line-height: 0;
  /* 1 */
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}
/*
 * 1. We use content-box to avoid having to do `width: calc(10vh + 2vw)`
 *    which doesn’t work in Safari anyway.
 * 2. Chrome renders images pixelated when switching to GPU. Making sure
 *    the parent is also rendered on the GPU (by setting translate3d for
 *    example) fixes this behavior.
 */
.w-lightbox-item {
  display: inline-block;
  width: 10vh;
  padding: 2vh 1vh;
  box-sizing: content-box;
  /* 1 */
  cursor: pointer;
  -webkit-transform: translate3d(0, 0, 0);
  /* 2 */
}
.w-lightbox-active {
  opacity: 0.3;
}
.w-lightbox-thumbnail {
  position: relative;
  height: 10vh;
  background: #222;
  overflow: hidden;
}
.w-lightbox-thumbnail-image {
  position: absolute;
  top: 0;
  left: 0;
}
.w-lightbox-thumbnail .w-lightbox-tall {
  top: 50%;
  width: 100%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.w-lightbox-thumbnail .w-lightbox-wide {
  left: 50%;
  height: 100%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}
/*
 * Spinner
 *
 * Absolute pixel values are used to avoid rounding errors that would cause
 * the white spinning element to be misaligned with the track.
 */
.w-lightbox-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  margin-left: -20px;
  border: 5px solid rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  -webkit-animation: spin 0.8s infinite linear;
  animation: spin 0.8s infinite linear;
}
.w-lightbox-spinner:after {
  content: "";
  position: absolute;
  top: -4px;
  right: -4px;
  bottom: -4px;
  left: -4px;
  border: 3px solid transparent;
  border-bottom-color: #fff;
  border-radius: 50%;
}
/*
 * Utility classes
 */
.w-lightbox-hide {
  display: none;
}
.w-lightbox-noscroll {
  overflow: hidden;
}
@media (min-width: 768px) {
  .w-lightbox-content {
    height: 96vh;
    margin-top: 2vh;
  }
  .w-lightbox-view,
  .w-lightbox-view:before {
    height: 96vh;
  }
  /* .w-lightbox-content */
  .w-lightbox-group,
  .w-lightbox-group .w-lightbox-view,
  .w-lightbox-group .w-lightbox-view:before {
    height: 84vh;
  }
  .w-lightbox-image {
    max-width: 96vw;
    max-height: 96vh;
  }
  .w-lightbox-group .w-lightbox-image {
    max-width: 82.3vw;
    max-height: 84vh;
  }
  .w-lightbox-left,
  .w-lightbox-right {
    display: block;
    opacity: 0.5;
  }
  .w-lightbox-close {
    opacity: 0.8;
  }
  .w-lightbox-control:hover {
    opacity: 1;
  }
}
.w-lightbox-inactive,
.w-lightbox-inactive:hover {
  opacity: 0;
}
.w-richtext:before,
.w-richtext:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-richtext:after {
  clear: both;
}
.w-richtext[contenteditable="true"]:before,
.w-richtext[contenteditable="true"]:after {
  white-space: initial;
}
.w-richtext ol,
.w-richtext ul {
  overflow: hidden;
}
.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-video div:after,
.w-richtext .w-richtext-figure-selected[data-rt-type="video"] div:after {
  outline: 2px solid #2895f7;
}
.w-richtext .w-richtext-figure-selected.w-richtext-figure-type-image div,
.w-richtext .w-richtext-figure-selected[data-rt-type="image"] div {
  outline: 2px solid #2895f7;
}
.w-richtext figure.w-richtext-figure-type-video > div:after,
.w-richtext figure[data-rt-type="video"] > div:after {
  content: '';
  position: absolute;
  display: none;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.w-richtext figure {
  position: relative;
  max-width: 60%;
}
.w-richtext figure > div:before {
  cursor: default!important;
}
.w-richtext figure img {
  width: 100%;
}
.w-richtext figure figcaption.w-richtext-figcaption-placeholder {
  opacity: 0.6;
}
.w-richtext figure div {
  /* fix incorrectly sized selection border in the data manager */
  font-size: 0px;
  color: transparent;
}
.w-richtext figure.w-richtext-figure-type-image,
.w-richtext figure[data-rt-type="image"] {
  display: table;
}
.w-richtext figure.w-richtext-figure-type-image > div,
.w-richtext figure[data-rt-type="image"] > div {
  display: inline-block;
}
.w-richtext figure.w-richtext-figure-type-image > figcaption,
.w-richtext figure[data-rt-type="image"] > figcaption {
  display: table-caption;
  caption-side: bottom;
}
.w-richtext figure.w-richtext-figure-type-video,
.w-richtext figure[data-rt-type="video"] {
  width: 60%;
  height: 0;
}
.w-richtext figure.w-richtext-figure-type-video iframe,
.w-richtext figure[data-rt-type="video"] iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.w-richtext figure.w-richtext-figure-type-video > div,
.w-richtext figure[data-rt-type="video"] > div {
  width: 100%;
}
.w-richtext figure.w-richtext-align-center {
  margin-right: auto;
  margin-left: auto;
  clear: both;
}
.w-richtext figure.w-richtext-align-center.w-richtext-figure-type-image > div,
.w-richtext figure.w-richtext-align-center[data-rt-type="image"] > div {
  max-width: 100%;
}
.w-richtext figure.w-richtext-align-normal {
  clear: both;
}
.w-richtext figure.w-richtext-align-fullwidth {
  width: 100%;
  max-width: 100%;
  text-align: center;
  clear: both;
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.w-richtext figure.w-richtext-align-fullwidth > div {
  display: inline-block;
  /* padding-bottom is used for aspect ratios in video figures
      we want the div to inherit that so hover/selection borders in the designer-canvas
      fit right*/
  padding-bottom: inherit;
}
.w-richtext figure.w-richtext-align-fullwidth > figcaption {
  display: block;
}
.w-richtext figure.w-richtext-align-floatleft {
  float: left;
  margin-right: 15px;
  clear: none;
}
.w-richtext figure.w-richtext-align-floatright {
  float: right;
  margin-left: 15px;
  clear: none;
}
.w-nav {
  position: relative;
  background: #dddddd;
  z-index: 1000;
}
.w-nav:before,
.w-nav:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-nav:after {
  clear: both;
}
.w-nav-brand {
  position: relative;
  float: left;
  text-decoration: none;
  color: #333333;
}
.w-nav-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  color: #222222;
  padding: 20px;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
}
.w-nav-link.w--current {
  color: #0082f3;
}
.w-nav-menu {
  position: relative;
  float: right;
}
[data-nav-menu-open] {
  display: block !important;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #C8C8C8;
  text-align: center;
  overflow: visible;
  min-width: 200px;
}
.w--nav-link-open {
  display: block;
  position: relative;
}
.w-nav-overlay {
  position: absolute;
  overflow: hidden;
  display: none;
  top: 100%;
  left: 0;
  right: 0;
  width: 100%;
}
.w-nav-overlay [data-nav-menu-open] {
  top: 0;
}
.w-nav[data-animation='over-left'] .w-nav-overlay {
  width: auto;
}
.w-nav[data-animation='over-left'] .w-nav-overlay,
.w-nav[data-animation='over-left'] [data-nav-menu-open] {
  right: auto;
  z-index: 1;
  top: 0;
}
.w-nav[data-animation='over-right'] .w-nav-overlay {
  width: auto;
}
.w-nav[data-animation='over-right'] .w-nav-overlay,
.w-nav[data-animation='over-right'] [data-nav-menu-open] {
  left: auto;
  z-index: 1;
  top: 0;
}
.w-nav-button {
  position: relative;
  float: right;
  padding: 18px;
  font-size: 24px;
  display: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
  user-select: none;
}
.w-nav-button:focus {
  outline: 0;
}
.w-nav-button.w--open {
  background-color: #C8C8C8;
  color: white;
}
.w-nav[data-collapse='all'] .w-nav-menu {
  display: none;
}
.w-nav[data-collapse='all'] .w-nav-button {
  display: block;
}
.w--nav-dropdown-open {
  display: block;
}
.w--nav-dropdown-toggle-open {
  display: block;
}
.w--nav-dropdown-list-open {
  position: static;
}
/**
 * NOTE: These rules are overridden in site-designer.less to use container queries instead of media queries
 * when the navbar is inside a Frame on the Open Canvas.
 */
@media screen and (max-width: 991px) {
  .w-nav[data-collapse='medium'] .w-nav-menu {
    display: none;
  }
  .w-nav[data-collapse='medium'] .w-nav-button {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .w-nav[data-collapse='small'] .w-nav-menu {
    display: none;
  }
  .w-nav[data-collapse='small'] .w-nav-button {
    display: block;
  }
  .w-nav-brand {
    padding-left: 10px;
  }
}
@media screen and (max-width: 479px) {
  .w-nav[data-collapse='tiny'] .w-nav-menu {
    display: none;
  }
  .w-nav[data-collapse='tiny'] .w-nav-button {
    display: block;
  }
}
.w-tabs {
  position: relative;
}
.w-tabs:before,
.w-tabs:after {
  content: " ";
  display: table;
  grid-column-start: 1;
  grid-row-start: 1;
  grid-column-end: 2;
  grid-row-end: 2;
}
.w-tabs:after {
  clear: both;
}
.w-tab-menu {
  position: relative;
}
.w-tab-link {
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  padding: 9px 30px;
  text-align: left;
  cursor: pointer;
  color: #222222;
  background-color: #dddddd;
}
.w-tab-link.w--current {
  background-color: #C8C8C8;
}
.w-tab-link:focus {
  outline: 0;
}
.w-tab-content {
  position: relative;
  display: block;
  overflow: hidden;
}
.w-tab-pane {
  position: relative;
  display: none;
}
.w--tab-active {
  display: block;
}
@media screen and (max-width: 479px) {
  .w-tab-link {
    display: block;
  }
}
.w-ix-emptyfix:after {
  content: "";
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.w-dyn-empty {
  padding: 10px;
  background-color: #dddddd;
}
.w-dyn-hide {
  display: none !important;
}
.w-dyn-bind-empty {
  display: none !important;
}
.w-condition-invisible {
  display: none !important;
}
.wf-layout-layout {
  display: grid;
}
.w-layout-grid {
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  grid-row-gap: 16px;
  grid-column-gap: 16px;
}

/* ---- Local-preview fix: never let the loading splash hide the page ---- */
[class*="preloader"]{display:none !important;}
.page-wrapper.hide{display:block !important;opacity:1 !important;visibility:visible !important;}
.page-wrapper{opacity:1 !important;visibility:visible !important;}
/* Safety net: reveal scroll-animation elements even if JS doesn't run locally */
[style*="opacity:0"],[style*="opacity: 0"]{opacity:1 !important;}

/* ---- Hide the seasonal "xmas" duplicate sections (dark, caused black-on-black + duplicate content) ---- */
.hero-section-xmas,
.counter-section-xmas,
.services-section-xmas,
.wcu-section-xmas,
.about-us-section-xmas,
.clients-section-xmas,
.client-section2-xmas,
.client-section-xmas,
.testimonial-section-xmas,
.services-areas-section-xmas,
.contact-section-xmas,
.footer-section-xmas,
.cta-section-xmas,
.faq-section-xmas,
.flexible-financing-section-xmas,
.hww-section-xmas,
.xmas-about-section,
.xmas-client-section,
.xmas-client2-section,
.xmas-mission-section,
.xmas-team-section,
.xmas-cta3-section,
.hero-section-xmas.xmas { display: none !important; }

/* ---- Trophy logo sizing (prevent stretch from old hard-coded dimensions) ---- */
.cf-navigation-logo-4, .cf-navigation-logo-white,
img.cf-navigation-logo-4, img.cf-navigation-logo-white{
  width:auto !important; height:56px !important; max-width:210px; object-fit:contain;
}
.subheader-logo, .subheader-logo-white{
  width:auto !important; height:48px !important; max-width:180px; object-fit:contain;
}
img[src*="trophy-logo-"]{ width:auto !important; object-fit:contain; }
.preloader-logo-4{ display:none !important; }
@media (max-width:767px){
  .cf-navigation-logo-4, .cf-navigation-logo-white{ height:44px !important; }
}

/* ---- Trophy branded background texture on light content sections ---- */
.wcu-section,
.faq-section,
.flexible-financing-section,
.services-areas-section,
.hww-section{
  background-image:
    linear-gradient(rgba(245,245,243,0.90), rgba(245,245,243,0.94)),
    url('../images/trophy-bg-texture.png') !important;
  background-size: cover, 760px auto !important;
  background-repeat: no-repeat, repeat !important;
  background-position: center center, center top !important;
  background-attachment: scroll, scroll !important;
}

/* ===================== Homepage hero & services fixes ===================== */

/* (1)(2) Services section: dark band so the white heading/subhead/paragraph are readable */
#services-scope { background-color:#0a0a0a !important; }
#services-scope .subheading,
#services-scope .h1,
#services-scope .h1.svcs,
#services-scope .p-text { color:#ffffff !important; }
#services-scope .h1 .text-span { color:#c8a04b !important; }
#services-scope .subheader-logo { display:none !important; }
#services-scope .subheader-logo-white { display:inline-block !important; }

/* (3) Hero video spans the full page width (remove side padding + rounded corners) */
.hero-section { padding-left:0 !important; padding-right:0 !important; position:relative; }
.hero-section .background-video { border-radius:0 !important; }
.hero-container { padding-left:32px !important; padding-right:32px !important; }

/* (4) Hero video also sits behind the nav bar (homepage only; top banner untouched) */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .cf-navbar-6,
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .cf-navbar-6.navvv { background-color:transparent !important; position:relative; z-index:60 !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .cf-navbar-main-white-div-4 { background-color:transparent !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .cf-nav-links-3 { color:#ffffff !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section { margin-top:-60px; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-container { padding-top:170px !important; }

/* (4b) Eliminate the black gap between top bar and hero video.
   Pull the hero/video up far enough to fully cover the nav and tuck under the top bar.
   The top bar gets a higher z-index so it stays visually unchanged and hides the overshoot. */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .top-banner { position:relative !important; z-index:70 !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section { margin-top:-96px !important; padding-left:0 !important; padding-right:0 !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .background-video { border-radius:0 !important; inset:0 !important; width:100% !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-container { padding-top:96px !important; }

/* ===================== Fonts: headers -> Playfair Display, body -> sans-serif ===================== */
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.subheading,.wcu-heading,.heading-3,.heading-2,
.cf-nav-links-3,.w-nav-link,.cf-navbar-6 a,
[class*="heading"]{
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif !important;
}
body,.body,p,.p-text,.paragraph,li,.text-block,.text-field,
input,textarea,select,button,.w-button,.main-btn,.ghost-button{
  font-family:'Work Sans', Arial, Helvetica, sans-serif !important;
}

/* ===================== Testimonials + matching info sections: readable header text ===================== */
.testimonial-section{
  background-image:linear-gradient(rgba(245,245,243,.92),rgba(245,245,243,.95)),url('../images/trophy-bg-texture.png') !important;
  background-size:cover,760px auto !important;
  background-repeat:no-repeat,repeat !important;
  background-position:center center,center top !important;
}
.testimonial-section .h1,.testimonial-section .subheading,.testimonial-section .p-text,
.wcu-section .h1,.wcu-section .subheading,.wcu-section .p-text,
.flexible-financing-section .h1,.flexible-financing-section .subheading,.flexible-financing-section .p-text,
.services-areas-section .h1,.services-areas-section .subheading,.services-areas-section .p-text,
.faq-section .h1,.faq-section .subheading,.faq-section .p-text{ color:#0a0a0a !important; }
.testimonial-section .text-span,.wcu-section .text-span,.flexible-financing-section .text-span,
.services-areas-section .text-span,.faq-section .text-span{ color:#c8a04b !important; }
.testimonial-section .subheader-logo,.wcu-section .subheader-logo,.flexible-financing-section .subheader-logo,
.services-areas-section .subheader-logo,.faq-section .subheader-logo{ display:inline-block !important; }
.testimonial-section .subheader-logo-white,.wcu-section .subheader-logo-white,.flexible-financing-section .subheader-logo-white,
.services-areas-section .subheader-logo-white,.faq-section .subheader-logo-white{ display:none !important; }

/* ===================== Process section + any "-white" headers on light bands -> dark ===================== */
.hww-section .h1-white, .hww-section .subheading-white, .hww-section .p-text-white,
.testimonial-section .h1-white, .testimonial-section .subheading-white, .testimonial-section .p-text-white,
.wcu-section .h1-white, .wcu-section .subheading-white, .wcu-section .p-text-white,
.flexible-financing-section .h1-white, .flexible-financing-section .subheading-white, .flexible-financing-section .p-text-white,
.services-areas-section .h1-white, .services-areas-section .subheading-white, .services-areas-section .p-text-white,
.faq-section .h1-white, .faq-section .subheading-white, .faq-section .p-text-white{
  color:#0a0a0a !important;
}
.hww-section .text-span, .hww-section .text-span.white{ color:#c8a04b !important; }

/* ===================== "Proudly Serving Your Area" — Trophy office location cards ===================== */
.trophy-locations-grid{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:22px; width:100%; margin-top:28px;
}
.trophy-loc-card{
  background:#0a0a0a; border:1px solid #c8a04b; border-radius:16px;
  padding:20px; display:flex; flex-direction:column; gap:8px;
}
.trophy-loc-name{
  font-family:'Playfair Display',Georgia,serif !important;
  color:#ffffff !important; font-size:21px; line-height:1.2; margin:0;
  display:flex; align-items:center; flex-wrap:wrap; gap:8px;
}
.trophy-loc-badge{
  font-family:'Work Sans',Arial,sans-serif !important;
  background:#c8a04b; color:#0a0a0a; font-size:11px; font-weight:700;
  letter-spacing:.5px; padding:2px 9px; border-radius:20px;
}
.trophy-loc-addr{ color:#cfcfcf !important; font-size:14px; line-height:1.45; margin:0; }
.trophy-loc-phone{ color:#c8a04b !important; font-weight:700; font-size:15px; text-decoration:none; }
.trophy-loc-phone:hover{ text-decoration:underline; }
.trophy-loc-map{ margin-top:8px; border-radius:12px; overflow:hidden; line-height:0; }
.trophy-loc-map iframe{ width:100%; height:190px; border:0; display:block; }

/* Charity / clients section (light bg) -> dark heading text */
.clients .h1-copy, .clients .subheading, .clients .subheading-white,
.clients .p-text, .clients .p-text-white, .clients .h1{ color:#0a0a0a !important; }
.clients .text-span{ color:#c8a04b !important; }

/* ===================== WCU + Financing + FAQ -> dark sections (like services) ===================== */
.wcu-section, .flexible-financing-section, .faq-section{
  background-color:#0a0a0a !important;
  background-image:none !important;
}
.wcu-section .h1, .wcu-section .subheading, .wcu-section .p-text,
.wcu-section .h1-white, .wcu-section .subheading-white, .wcu-section .p-text-white,
.flexible-financing-section .h1, .flexible-financing-section .subheading, .flexible-financing-section .p-text,
.flexible-financing-section .financial-heading, .flexible-financing-section .financial-text,
.flexible-financing-section .h1-white, .flexible-financing-section .subheading-white, .flexible-financing-section .p-text-white,
.faq-section .h1, .faq-section .subheading, .faq-section .p-text,
.faq-section .h1-white, .faq-section .subheading-white, .faq-section .p-text-white{
  color:#ffffff !important;
}
.wcu-section .text-span, .flexible-financing-section .text-span, .faq-section .text-span{ color:#c8a04b !important; }
.wcu-section .subheader-logo, .flexible-financing-section .subheader-logo, .faq-section .subheader-logo{ display:none !important; }
.wcu-section .subheader-logo-white, .flexible-financing-section .subheader-logo-white, .faq-section .subheader-logo-white{ display:inline-block !important; }

/* ===================== Site-wide Trophy textured background (replaces white & cream) ===================== */
html{ background-color:#efeeea; }
body{
  background-image:url('../images/trophy-bg-texture.png') !important;
  background-repeat:repeat !important;
  background-size:760px auto !important;
  background-position:top center !important;
  background-attachment:fixed !important;
  background-color:#efeeea !important;
}
.body,.page-wrapper,.page-wrapper.hide,.main-wrapper{ background-color:transparent !important; background-image:none !important; }
/* Light sections: drop solid white/cream & old overlays so the page texture shows through */
.hww-section,.hww-section.white,.testimonial-section,.services-areas-section,.clients,.clients.og{
  background-image:none !important;
  background-color:transparent !important;
}

/* ===================== Subpage light sections: white headings -> dark on the texture ===================== */
/* (#services-scope on the homepage stays dark via its ID; this targets the class used on inner pages) */
.services-section .h1, .services-section .subheading, .services-section .p-text,
.charity-new-section .h1, .charity-new-section .subheading, .charity-new-section .p-text,
.career-position-section .h1, .career-position-section .subheading, .career-position-section .p-text,
.career-position-section .h1-white, .career-position-section .subheading-white, .career-position-section .p-text-white{
  color:#0a0a0a !important;
}
.services-section .text-span, .charity-new-section .text-span, .career-position-section .text-span{ color:#c8a04b !important; }

/* Cream contact section -> show the texture; keep its text dark/readable */
.contact-section{ background-color:transparent !important; background-image:none !important; }
.contact-section .h1, .contact-section .subheading, .contact-section .p-text{ color:#0a0a0a !important; }
.contact-section .text-span{ color:#c8a04b !important; }

/* FIX: put the texture on <html> (the .body class rule was cancelling it on <body>) */
html{
  background-image:url('../images/trophy-bg-texture.png') !important;
  background-repeat:repeat !important;
  background-size:760px auto !important;
  background-position:top center !important;
  background-attachment:fixed !important;
  background-color:#efeeea !important;
}
body, .body{ background-image:none !important; background-color:transparent !important; }

/* "HOW WE WORK" label centered above the process section, logo to its left */
.hww-section .page-wrap > .subheader.hww-top{
  justify-content:center !important;
  align-self:center !important;
  width:100%;
  margin:0 auto 6px auto;
  text-align:center;
}

/* Careers "We Offer" list */
.careers-offer{ margin:10px 0 18px; }
.careers-offer-title{
  font-family:'Playfair Display',Georgia,serif !important;
  color:#0a0a0a !important; font-size:20px; margin:0 0 10px;
}
.careers-offer-list{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.careers-offer-list li{
  font-family:'Work Sans',Arial,sans-serif !important;
  color:#1a1a1a; font-size:16px; padding-left:30px; position:relative; line-height:1.4;
}
.careers-offer-list li::before{
  content:""; position:absolute; left:0; top:2px; width:18px; height:18px;
  border-radius:50%; background:#c8a04b;
}
.careers-offer-list li::after{
  content:""; position:absolute; left:6px; top:6px; width:5px; height:9px;
  border:solid #0a0a0a; border-width:0 2px 2px 0; transform:rotate(45deg);
}

/* ===================== About & Services hero banners -> static Trophy images ===================== */
html[data-wf-page="69a0fece54e4e673e0a1eb79"] .banner-section{
  background-image:linear-gradient(#0000007a,#0000007a), url('../images/trophy-crew-sunset.jpg') !important;
  background-size:cover !important; background-position:center 35% !important; background-repeat:no-repeat !important;
}
html[data-wf-page="69a0fece54e4e673e0a1eb7c"] .banner-section{
  background-image:linear-gradient(#0000007a,#0000007a), url('../images/trophy-crew-install.jpg') !important;
  background-size:cover !important; background-position:center 40% !important; background-repeat:no-repeat !important;
}
/* hide the old banner video on those two pages so the image shows */
html[data-wf-page="69a0fece54e4e673e0a1eb79"] .banner-section .background-video,
html[data-wf-page="69a0fece54e4e673e0a1eb79"] .banner-section video,
html[data-wf-page="69a0fece54e4e673e0a1eb79"] .banner-section .w-background-video-atom,
html[data-wf-page="69a0fece54e4e673e0a1eb7c"] .banner-section .background-video,
html[data-wf-page="69a0fece54e4e673e0a1eb7c"] .banner-section video,
html[data-wf-page="69a0fece54e4e673e0a1eb7c"] .banner-section .w-background-video-atom{ display:none !important; }

/* Ensure the homepage hero video fills the hero area */
.hero-section .background-video video,
.hero-section .w-background-video video{
  width:100% !important; height:100% !important;
  object-fit:cover !important; position:absolute !important; inset:0 !important;
}
.hero-section .background-video{ z-index:0 !important; }

/* Homepage hero buttons: two clear buttons side by side */
.hero-section .hero-button{ display:flex !important; flex-flow:row wrap !important; gap:16px !important; align-items:center; }
.hero-section .hero-btn{
  background-color:#c8a04b !important; border:2px solid #c8a04b !important; color:#0a0a0a !important;
  font-weight:600 !important;
}
.hero-section .hero-btn:hover{ background-color:#b3893a !important; border-color:#b3893a !important; }
.hero-section .ghost-button{
  background-color:transparent !important; border:2px solid #ffffff !important; color:#ffffff !important;
  font-weight:600 !important;
}
.hero-section .ghost-button:hover{ background-color:#ffffff !important; color:#0a0a0a !important; }

/* ===================== Nav "Locations" hover dropdown ===================== */
.trophy-loc-dropdown{ position:relative; display:inline-flex; align-items:center; }
.trophy-loc-toggle{ cursor:pointer; }
.trophy-loc-menu{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(8px);
  min-width:250px; background:#0a0a0a; border:1px solid #c8a04b; border-radius:12px;
  padding:8px; display:flex; flex-direction:column; gap:2px;
  box-shadow:0 16px 40px rgba(0,0,0,.45);
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .18s ease, transform .18s ease;
  z-index:300;
}
.trophy-loc-dropdown:hover .trophy-loc-menu{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.trophy-loc-item{
  display:flex; align-items:center; gap:8px; padding:9px 12px; border-radius:7px;
  color:#ffffff !important; font-family:'Work Sans',Arial,sans-serif !important;
  font-size:14px; font-weight:500; text-decoration:none !important; white-space:nowrap;
}
.trophy-loc-item:hover{ background:#1a1a1a; color:#c8a04b !important; }
.trophy-loc-item .loc-tag{
  background:#c8a04b; color:#0a0a0a; font-size:10px; font-weight:700;
  padding:1px 7px; border-radius:10px; letter-spacing:.4px;
}
.trophy-loc-item .loc-region{ margin-left:auto; color:#8a8a8a; font-size:12px; }

/* ============================================================
   LOCATION LANDING PAGES
   ============================================================ */
.loc-topbar{ background:linear-gradient(125deg,#c8a04b,#c8a04b 58%,#2b2b2b 58%,#0a0a0a 58%,#0a0a0a); color:#fff; font-size:13px; display:flex; justify-content:space-between; align-items:center; padding:8px 5%; gap:12px; flex-wrap:wrap; }
.loc-topbar a{ color:#fff; text-decoration:none; }
.loc-topbar .lt-r{ display:flex; gap:18px; align-items:center; }
.loc-nav{ position:sticky; top:0; z-index:500; background:#0a0a0a; display:flex; align-items:center; justify-content:space-between; padding:10px 5%; border-bottom:1px solid rgba(200,160,75,.35); }
.loc-nav .loc-logo img{ height:46px; width:auto; display:block; }
.loc-nav-links{ display:flex; align-items:center; gap:24px; }
.loc-nav-links a{ color:#fff !important; text-decoration:none; font-family:'Work Sans',Arial,sans-serif; font-size:15px; font-weight:500; }
.loc-nav-links a:hover{ color:#c8a04b !important; }
.loc-nav .loc-nav-cta{ background:#c8a04b; color:#0a0a0a !important; padding:10px 20px; border-radius:8px; font-weight:700; }
.loc-nav .loc-nav-cta:hover{ background:#b3893a; color:#0a0a0a !important; }

.loc-hero{ position:relative; min-height:66vh; display:flex; align-items:center; justify-content:center; text-align:center; background-size:cover; background-position:center; }
.loc-hero::before{ content:""; position:absolute; inset:0; background:linear-gradient(rgba(10,10,10,.5),rgba(10,10,10,.72)); }
.loc-hero-inner{ position:relative; z-index:2; max-width:860px; padding:60px 22px; }
.loc-hero .loc-eyebrow{ color:#c8a04b; }
.loc-hero h1{ font-family:'Playfair Display',Georgia,serif; font-size:clamp(34px,5.2vw,62px); color:#fff !important; margin:10px 0 16px; line-height:1.08; }
.loc-hero .loc-sub{ font-size:18px; color:#eaeaea; margin:0 auto 26px; max-width:680px; line-height:1.6; }

.loc-eyebrow{ color:#c8a04b; font-family:'Work Sans',Arial,sans-serif; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; font-size:13px; }
.loc-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.loc-btn-gold{ background:#c8a04b; color:#0a0a0a !important; padding:14px 30px; border-radius:8px; font-weight:700; text-decoration:none; display:inline-block; transition:.2s; }
.loc-btn-gold:hover{ background:#b3893a; }
.loc-btn-ghost{ border:2px solid #fff; color:#fff !important; padding:12px 28px; border-radius:8px; font-weight:700; text-decoration:none; display:inline-block; transition:.2s; }
.loc-btn-ghost:hover{ background:#fff; color:#0a0a0a !important; }

.loc-sec{ padding:72px 6%; max-width:1180px; margin:0 auto; }
.loc-h2{ font-family:'Playfair Display',Georgia,serif; font-size:clamp(28px,3.6vw,44px); color:#0a0a0a; margin:8px 0 18px; line-height:1.15; }
.loc-lead{ font-size:17px; line-height:1.75; color:#333; max-width:840px; }
.loc-dark{ background:#0a0a0a; }
.loc-dark .loc-h2{ color:#fff; }
.loc-dark .loc-lead{ color:#cfcfcf; }

.loc-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(235px,1fr)); gap:20px; margin-top:34px; }
.loc-card{ background:#0a0a0a; border:1px solid rgba(200,160,75,.4); border-radius:14px; padding:26px; }
.loc-card .ic{ width:48px; height:48px; border-radius:11px; background:#c8a04b; color:#0a0a0a; display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:800; }
.loc-card h3{ font-family:'Playfair Display',Georgia,serif; color:#fff; font-size:20px; margin:14px 0 8px; }
.loc-card p{ color:#bdbdbd; font-size:14px; line-height:1.6; margin:0; }

.loc-why{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; margin-top:34px; }
.loc-why-item h4{ color:#c8a04b; font-family:'Playfair Display',Georgia,serif; font-size:19px; margin:0 0 8px; }
.loc-why-item p{ color:#cfcfcf; font-size:14.5px; line-height:1.6; margin:0; }

.loc-contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:34px; align-items:stretch; }
.loc-info-card{ background:#0a0a0a; border:1px solid rgba(200,160,75,.4); border-radius:16px; padding:30px; color:#fff; }
.loc-info-card h3{ font-family:'Playfair Display',Georgia,serif; color:#fff; font-size:24px; margin:0 0 18px; }
.loc-info-row{ display:flex; gap:12px; margin-bottom:15px; align-items:flex-start; }
.loc-info-row .li{ color:#c8a04b; font-size:18px; line-height:1.3; }
.loc-info-row b{ color:#fff; display:block; font-size:14px; }
.loc-info-row span{ color:#cfcfcf; font-size:14px; }
.loc-info-row a{ color:#c8a04b; text-decoration:none; }
.loc-map iframe{ width:100%; height:100%; min-height:360px; border:0; border-radius:16px; display:block; }

.loc-cta{ text-align:center; padding:78px 6%; background:linear-gradient(rgba(10,10,10,.82),rgba(10,10,10,.88)); background-size:cover; background-position:center; }
.loc-cta h2{ font-family:'Playfair Display',Georgia,serif; color:#fff; font-size:clamp(28px,3.6vw,44px); margin:0 0 14px; }
.loc-cta p{ color:#dcdcdc; font-size:17px; margin:0 auto 26px; max-width:600px; }

.loc-footer{ background:#0a0a0a; color:#9c9c9c; padding:54px 6% 26px; border-top:1px solid rgba(200,160,75,.25); }
.loc-footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:34px; max-width:1180px; margin:0 auto; }
.loc-footer img{ height:54px; margin-bottom:14px; }
.loc-footer h5{ color:#fff; font-family:'Playfair Display',Georgia,serif; font-size:17px; margin:0 0 14px; }
.loc-footer a{ color:#bdbdbd; text-decoration:none; display:block; margin-bottom:9px; font-size:14px; }
.loc-footer a:hover{ color:#c8a04b; }
.loc-footer .loc-foot-bottom{ text-align:center; color:#777; font-size:13px; margin-top:36px; padding-top:18px; border-top:1px solid rgba(255,255,255,.08); }

@media (max-width:860px){
  .loc-nav-links{ display:none; }
  .loc-contact-grid{ grid-template-columns:1fr; }
  .loc-footer-grid{ grid-template-columns:1fr; gap:24px; }
}

/* ===================== Scroll reveal animations (homepage) ===================== */
.tr-reveal{ opacity:0; transform:translateY(46px);
  transition:opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform; }
.tr-reveal.tr-in{ opacity:1; transform:none; }
.tr-reveal.tr-scale{ transform:translateY(34px) scale(.95); }
.tr-reveal.tr-scale.tr-in{ transform:none; }
@media (prefers-reduced-motion: reduce){
  .tr-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* Flexible Financing: slide content from left, image from right (start off-screen) */
.tr-reveal.tr-from-left{ transform:translateX(-120%); transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform .95s cubic-bezier(.22,.61,.36,1); }
.tr-reveal.tr-from-left.tr-in{ transform:none; }
.tr-reveal.tr-from-right{ transform:translateX(120%); transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform .95s cubic-bezier(.22,.61,.36,1); }
.tr-reveal.tr-from-right.tr-in{ transform:none; }
.flexible-financing-section{ overflow:hidden; }

/* ===================== Location "Map of Local Jobs" (Leaflet) ===================== */
.jobs-map{ width:100%; height:440px; border-radius:16px; overflow:hidden; z-index:1; }
.jobs-cap{ color:#8a8a8a; font-size:13px; margin:10px 2px 0; }
.job-pin .jp{ width:26px; height:26px; border-radius:50%; background:#0a0a0a; border:2px solid #c8a04b;
  display:flex; align-items:center; justify-content:center; box-shadow:0 2px 6px rgba(0,0,0,.45); }
.job-cluster div{ width:40px; height:40px; border-radius:50%; background:#0a0a0a; border:2px solid #c8a04b;
  color:#c8a04b; font-weight:700; font-family:'Work Sans',Arial,sans-serif; font-size:14px;
  display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,.4); }
.leaflet-container{ background:#e9e7e1; font-family:'Work Sans',Arial,sans-serif; }

/* ===================== Homepage Media Gallery ===================== */
.media-gallery-section{ background-color:transparent !important; background-image:none !important; }
.mg-wrap{ max-width:1240px; margin:0 auto; padding:74px 6%; }
.mg-head{ text-align:center; margin-bottom:34px; }
.mg-head .loc-eyebrow{ color:#c8a04b; }
.mg-head h2{ margin:10px 0 0; }
.mg-head .subheader{ justify-content:center; }
.media-gallery-section .subheader-logo{ display:inline-block !important; }
.media-gallery-section .subheader-logo-white{ display:none !important; }
.media-gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:175px; grid-auto-flow:dense; gap:14px; }
.media-gallery-grid a{ display:block; position:relative; overflow:hidden; border-radius:12px; }
.media-gallery-grid img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .55s ease; }
.media-gallery-grid a:hover img{ transform:scale(1.08); }
.media-gallery-grid a::after{ content:""; position:absolute; inset:0; background:linear-gradient(transparent 55%, rgba(10,10,10,.3)); opacity:0; transition:.3s; }
.media-gallery-grid a:hover::after{ opacity:1; }
.mg-big{ grid-column:span 2; grid-row:span 2; }
.mg-tall{ grid-row:span 2; }
.mg-wide{ grid-column:span 2; }
.mg-btn-wrap{ text-align:center; margin-top:38px; }
.mg-btn{ background:#c8a04b; color:#0a0a0a !important; padding:14px 38px; border-radius:8px; font-weight:700;
  text-decoration:none; font-family:'Work Sans',Arial,sans-serif; letter-spacing:.6px; text-transform:uppercase; font-size:14px; display:inline-block; transition:.2s; }
.mg-btn:hover{ background:#b3893a; }
@media (max-width:767px){ .media-gallery-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:135px; } .mg-big,.mg-wide{ grid-column:span 2; } .mg-big{ grid-row:span 2; } }

/* ===================== Google Reviews marquee ===================== */
.greviews-section{ padding:46px 0 72px; overflow:hidden; }
.greviews-badge{ display:flex; flex-direction:column; align-items:center; gap:10px; margin-bottom:30px; text-align:center; }
.greviews-badge .gr-row{ display:flex; align-items:center; gap:10px; }
.greviews-badge .gr-title{ font-family:'Playfair Display',Georgia,serif; font-size:22px; color:#0a0a0a; }
.greviews-badge .gr-stars{ color:#c8a04b; letter-spacing:2px; font-size:16px; }
.greviews-badge .gr-score{ color:#5a5a5a; font-family:'Work Sans',Arial,sans-serif; font-weight:700; }
.greviews-marquee{ overflow:hidden; width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.greviews-track{ display:flex; gap:20px; width:max-content; animation:greviews-scroll 90s linear infinite; }
.greviews-marquee:hover .greviews-track{ animation-play-state:paused; }
@keyframes greviews-scroll{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.greview-card{ flex:0 0 330px; width:330px; background:#fff; border:1px solid #e7e2d8; border-radius:14px; padding:22px; box-shadow:0 8px 24px rgba(0,0,0,.05); }
.greview-top{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.greview-avatar{ flex:0 0 46px; width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Work Sans',Arial,sans-serif; font-weight:700; font-size:18px; }
.greview-avatar.a-gold{ background:#c8a04b; color:#0a0a0a; }
.greview-avatar.a-dark{ background:#0a0a0a; color:#c8a04b; }
.greview-name{ font-family:'Playfair Display',Georgia,serif; font-weight:600; color:#0a0a0a; font-size:16px; }
.greview-stars{ color:#c8a04b; font-size:14px; letter-spacing:1px; }
.greview-gicon{ width:16px; height:16px; vertical-align:middle; margin-left:6px; }
.greview-text{ color:#474747; font-size:14px; line-height:1.6; }
@media (max-width:600px){ .greview-card{ flex-basis:280px; width:280px; } }

/* ===================== Nav links + top bar -> Playfair Display ===================== */
.cf-navbar-6 a, .cf-nav-links-3, .w-nav-link, .trophy-loc-toggle,
.top-banner, .top-banner a, .top-banner div, .top-banner span, .num-link,
.wbs-button-primary-1, .wbs-button-primary-1-dark{
  font-family:'Playfair Display', Georgia, 'Times New Roman', serif !important;
}

/* ===================== Phone symbol: reveal number on hover ===================== */
.link-block-29{ position:relative; display:inline-flex; align-items:center; gap:8px; }
.link-block-29 .num-link{ display:none; }
.link-block-29:hover .num-link{ display:inline-block !important; color:#c8a04b !important; font-weight:600; white-space:nowrap; }

/* Nav links + top bar -> ALL CAPS */
.cf-navbar-6 a, .cf-nav-links-3, .w-nav-link, .trophy-loc-toggle,
.top-banner, .top-banner a, .top-banner div, .top-banner span, .num-link,
.wbs-button-primary-1, .wbs-button-primary-1-dark{
  text-transform:uppercase !important;
}

/* Homepage nav: semi-transparent black bar sitting on top of the hero video */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .cf-navbar-6,
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .cf-navbar-6.navvv,
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .cf-navbar-6.navvv.hideeeeee,
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .cf-navbar-6.navvv.homeee{
  background-color: rgba(10,10,10,0.45) !important;
  position: relative; z-index: 60 !important;
}
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .cf-navbar-main-white-div-4{ background-color: transparent !important; }

/* ===================== Hero "Get a Free Home Estimate" bar (overlays bottom of hero video) ===================== */
.hero-section{ position:relative; }
.hero-section .hero-container{ padding-bottom:150px !important; }
.trophy-estimate-bar{
  position:absolute; left:0; right:0; bottom:22px; z-index:8;
  padding:0 5%;
}
.trophy-estimate-form{
  max-width:1120px; margin:0 auto;
  background:rgba(10,10,10,0.55); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);
  border:1px solid rgba(200,160,75,0.45); border-radius:16px;
  padding:16px 20px; display:flex; flex-wrap:wrap; align-items:flex-end; gap:14px;
  box-shadow:0 14px 40px rgba(0,0,0,.35);
}
.te-title{ width:100%; font-family:'Playfair Display',Georgia,serif; color:#fff; font-size:20px; margin-bottom:2px; }
.te-fields{ display:flex; flex-wrap:wrap; gap:12px; flex:1 1 auto; }
.te-field{ display:flex; flex-direction:column; gap:4px; flex:1 1 150px; min-width:130px; }
.te-field span{ color:#e3e3e3; font-size:12px; font-family:'Work Sans',Arial,sans-serif; letter-spacing:.3px; }
.te-field input{ padding:11px 12px; border-radius:8px; border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.96); font-size:14px; font-family:'Work Sans',Arial,sans-serif; color:#0a0a0a; }
.te-field input:focus{ outline:2px solid #c8a04b; }
.te-submit{ background:#c8a04b; color:#0a0a0a; border:none; padding:12px 26px; border-radius:8px;
  font-weight:700; cursor:pointer; font-family:'Work Sans',Arial,sans-serif; white-space:nowrap; align-self:flex-end; }
.te-submit:hover{ background:#b3893a; }
@media (max-width:860px){
  .trophy-estimate-bar{ position:static; padding:0 5% 30px; margin-top:20px; }
  .hero-section .hero-container{ padding-bottom:30px !important; }
  .trophy-estimate-form{ background:rgba(10,10,10,0.8); }
}

/* Estimate bar: full-width edge-to-edge band at the bottom of the hero */
.trophy-estimate-bar{ left:0 !important; right:0 !important; bottom:0 !important; padding:0 !important; }
.trophy-estimate-form{
  max-width:none !important; margin:0 !important; border-radius:0 !important;
  border-left:none !important; border-right:none !important; border-bottom:none !important;
  border-top:1px solid rgba(200,160,75,.5) !important;
  padding:18px 4% !important;
}
@media (max-width:860px){ .trophy-estimate-bar{ position:static !important; } }

/* ===================== Show the homepage contact form (right side of Contact section) ===================== */
.contact-section .contact-right .form.hide{ display:block !important; }
.contact-section .text-block-1310{ color:#0a0a0a !important; font-family:'Playfair Display',Georgia,serif !important; margin-bottom:14px; }
.contact-section .text-field, .contact-section .textarea{
  background:#ffffff !important; color:#0a0a0a !important;
  border:1px solid #d8d2c6 !important; border-radius:8px !important; }
.contact-section .text-field::placeholder, .contact-section .textarea::placeholder{ color:#8a8a8a !important; }
.contact-section .submit-button{
  background:#c8a04b !important; color:#0a0a0a !important; border:none !important;
  border-radius:8px !important; font-weight:700 !important; }
.contact-section .submit-button:hover{ background:#b3893a !important; }

/* ===================== Process cards (OUR ROOFING PROCESS): clean cards, no sticky stack, gold accents ===================== */
.hww-section{ overflow:hidden; }
.hww-section .wcu-right{ gap:18px !important; }
.hww-section .wcu-r-content,
.hww-section .wcu-r-content._1, .hww-section .wcu-r-content._2,
.hww-section .wcu-r-content._3, .hww-section .wcu-r-content._4{
  position:static !important; top:auto !important; inset:auto !important;
  background-color:#ffffff !important; border:1px solid #e7e2d8 !important;
  border-radius:14px !important; padding:24px !important; margin:0 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.06);
}
.hww-section .heading-3{ color:#0a0a0a !important; }
.hww-section .paragraph-5{ color:#4a4a4a !important; }
.hww-section .div-block-433{ border-color:#c8a04b !important; background-color:transparent !important; }
.hww-section .text-block-1295{ color:#c8a04b !important; }
.hww-section .wcu-card-cta, .hww-section .wcu-card-cta span{
  color:#c8a04b !important; text-decoration:none !important; font-weight:700 !important; }
.hww-section .wcu-card-cta:hover, .hww-section .wcu-card-cta:hover span{ color:#a8842f !important; }

/* ===================== Process cards -> reference layout (text + photo, gold top line) ===================== */
.hww-section .wcu-right{ gap:20px !important; display:flex !important; flex-direction:column !important; }
.hww-section .proc-card{
  position:static !important; top:auto !important; inset:auto !important;
  display:grid !important; grid-template-columns:1.5fr 1fr; gap:0 !important;
  background:#ffffff !important; border:1px solid #e7e2d8 !important; border-top:3px solid #c8a04b !important;
  border-radius:4px !important; overflow:hidden !important; padding:0 !important; margin:0 !important;
  box-shadow:0 8px 22px rgba(0,0,0,.05);
}
.hww-section .proc-card-text{ padding:24px 22px; display:flex; flex-direction:column; justify-content:center; gap:9px; }
.hww-section .proc-card .heading-3{ color:#0a0a0a !important; margin:0 !important; }
.hww-section .proc-card .paragraph-5{ color:#555 !important; margin:0 !important; font-size:14px; line-height:1.6; }
.hww-section .proc-card .wcu-card-cta{
  color:#c8a04b !important; font-weight:700; text-transform:uppercase; letter-spacing:.5px;
  font-size:13px; text-decoration:none !important; margin-top:4px; }
.hww-section .proc-card .wcu-card-cta:hover{ color:#a8842f !important; }
.hww-section .proc-card-img{ position:relative; min-height:175px; }
.hww-section .proc-card-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:600px){ .hww-section .proc-card{ grid-template-columns:1fr; } .hww-section .proc-card-img{ min-height:160px; } }

/* individual slide-in from the right (each card reveals as it scrolls in) */
.tr-reveal.tr-r{ transform:translateX(80px); }
.tr-reveal.tr-r.tr-in{ transform:none; }

/* ===================== Hero fills the full screen (responsive) ===================== */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section{ height:100vh !important; min-height:560px !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-container{ height:100% !important; }
.hero-section .background-video{ width:100% !important; height:100% !important; }
.hero-section .background-video video, .hero-section .w-background-video video{
  width:100% !important; height:100% !important; object-fit:cover !important; position:absolute !important; inset:0 !important; }
@media (max-width:767px){
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section{ height:auto !important; min-height:100vh !important; }
}

/* ============================================================
   RESPONSIVE — tablet, mobile (custom sections)
   ============================================================ */
@media (max-width:991px){
  .media-gallery-grid{ grid-template-columns:repeat(3,1fr); grid-auto-rows:155px; }
  .hww-section .proc-card-img{ min-height:150px; }
  .trophy-estimate-form{ padding:14px 5% !important; }
  .greview-card{ flex-basis:300px; width:300px; }
}
@media (max-width:767px){
  /* hero estimate bar -> drops below hero, fields stack */
  .trophy-estimate-bar{ position:static !important; padding:0 5% 26px !important; bottom:auto !important; }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-container{ padding-bottom:36px !important; }
  .trophy-estimate-form{ flex-direction:column; align-items:stretch; background:rgba(10,10,10,.85) !important; }
  .te-fields{ flex-direction:column; }
  .te-field{ min-width:0; flex:1 1 auto; }
  .te-submit{ width:100%; align-self:stretch; }
  /* media gallery -> 2 cols */
  .media-gallery-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:135px; }
  .mg-big{ grid-column:span 2; grid-row:span 2; }
  .mg-wide{ grid-column:span 2; grid-row:span 1; }
  .mg-tall{ grid-column:span 1; grid-row:span 1; }
  /* reviews narrower */
  .greview-card{ flex-basis:270px; width:270px; }
  .greviews-badge .gr-row{ flex-wrap:wrap; justify-content:center; }
  /* process cards -> image on top, text below */
  .hww-section .proc-card{ grid-template-columns:1fr !important; }
  .hww-section .proc-card-img{ min-height:170px; order:-1; }
  /* grids -> single column */
  .trophy-locations-grid{ grid-template-columns:1fr; }
  .contact-section .div-block-441{ flex-direction:column !important; }
  /* contact section: form below the text */
  .contact-section .contact-wrap{ flex-direction:column; }
}
@media (max-width:478px){
  .media-gallery-grid{ grid-template-columns:1fr; grid-auto-rows:200px; }
  .mg-big,.mg-wide,.mg-tall{ grid-column:span 1 !important; grid-row:span 1 !important; }
  .greview-card{ flex-basis:250px; width:250px; padding:18px; }
  .loc-hero h1{ font-size:32px; }
  .loc-sec, .mg-wrap{ padding-left:5%; padding-right:5%; }
}
/* ===================== Why Choose Us — dedicated scroll animation ===================== */
.wcu-section .wcu-anim{
  opacity:0 !important; transform:translateY(55px) !important;
  transition:opacity .9s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1) !important;
  will-change:opacity,transform;
}
.wcu-section.wcu-shown .wcu-anim{ opacity:1 !important; transform:none !important; }
@media (prefers-reduced-motion: reduce){
  .wcu-section .wcu-anim{ opacity:1 !important; transform:none !important; transition:none !important; }
}
.top-banner .link-2, .top-banner .text-block, .top-banner .rating-text-4,
.top-banner .rating-text-4.white, .top-banner .map-wrap{ color:#0a0a0a !important; }
.top-banner .map-wrap svg{ fill:#0a0a0a !important; }

/* CTA section: crew-at-sunset roof photo */
.cta-section{
  background-image:linear-gradient(rgba(10,10,10,.55), rgba(10,10,10,.68)), url('../images/cta-crew-sunset.png') !important;
  background-position:50% 45% !important; background-size:cover !important; background-repeat:no-repeat !important;
}

/* Counter section: black bg, textured stat boxes, gold numbers */
.counter-section{ background-color:#0a0a0a !important; }
.counter-section .div-bag-begun{
  background-image:url('../images/topbar-texture.png') !important; background-color:#f5f5f3 !important;
  background-size:cover !important; background-position:center !important; background-repeat:no-repeat !important;
  border:1px solid rgba(200,160,75,.5) !important; border-radius:0 !important;
}
.counter-section .span-quarter-river, .counter-section .span-quarter-river.counterup,
.counter-section .text-orange-span{ color:#c8a04b !important; }

/* Services: two stacked carousels (half height, opposite directions) */
#services-scope .div-block-447{ height:280px !important; }
#services-scope .swrper_component-2{ margin-top:22px; }
#services-scope .swrper_component-2 .services-next,
#services-scope .swrper_component-2 .services-prev,
#services-scope .swrper_component-2 .swiper-pagination{ display:none !important; }

/* Square corners: buttons, fields, cards (keep circles round) */
.te-field input, .te-submit, .trophy-estimate-bar input, .trophy-estimate-bar button,
.w-button, .main-btn, .hero-btn, .ghost-button, .hero-btn-black, .hero-btn-white,
.ghost-button-svcs, .mg-btn, .loc-btn-gold, .loc-btn-ghost, .loc-nav-cta, [class*="wbs-button"],
.loc-card, .loc-info-card, .trophy-loc-card, .greview-card,
.trophy-loc-map, .jobs-map, .loc-map iframe,
.media-gallery-grid a, .media-gallery-grid img,
.trophy-estimate-form, .trophy-estimate-bar,
#services-scope .div-block-447,
.loc-card .ic, .loc-badge, .trophy-loc-badge,
.image-1651, .image-160371{ border-radius:0 !important; }

/* Hero heading eyebrow + two-tone title */
.trophy-hero-eyebrow{ display:inline-flex; align-items:center; gap:8px; color:#fff;
  font-family:'Work Sans',Arial,sans-serif; font-weight:600; letter-spacing:1.6px; text-transform:uppercase; font-size:14px; }
.trophy-hero-eyebrow svg{ width:16px; height:18px; fill:#c8a04b; flex:0 0 auto; }
.trophy-hero-rule{ width:210px; max-width:70%; height:2px; margin:10px 0 16px;
  background:linear-gradient(90deg,#c8a04b, rgba(200,160,75,0)); }
.trophy-hero-title .thl-white{ color:#fff !important; display:block; }
.trophy-hero-title .thl-gold{ color:#c8a04b !important; display:block; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .heading.desktop.lp.trophy-hero-title{
  font-size:46px !important; line-height:1.08 !important; }

/* Fonts: Classic Quality (headings/nav/subheaders) + Inter (body) */
@font-face{ font-family:'Classic Quality';
  src:url('../fonts/ClassicQuality-Regular.woff2') format('woff2'), url('../fonts/ClassicQuality-Regular.otf') format('opentype');
  font-weight:normal; font-style:normal; font-display:swap; }
@font-face{ font-family:'Inter'; src:url('../fonts/Inter.woff2') format('woff2');
  font-weight:100 900; font-style:normal; font-display:swap; }
@font-face{ font-family:'Libre Baskerville'; src:url('../fonts/LibreBaskerville.woff2') format('woff2');
  font-weight:400 700; font-style:normal; font-display:swap; }
body, .body, p, li, td, th, blockquote, figcaption,
input, textarea, select, button, label,
a:not(.cf-nav-links-3):not(.trophy-loc-toggle):not(.trophy-loc-item),
.p-text, .p-text-white, .paragraph, .paragraph-2, .paragraph-3, .paragraph-4, .paragraph-5,
.p-about-strong, .text-block, .text-block-4, .rating-text-4, .rating-text-3,
.te-field, .te-field span, .te-title,
.main-btn, .hero-btn, .ghost-button, .hero-btn-black, .hero-btn-white,
.ghost-button-svcs, .w-button, .mg-btn, .loc-btn-gold, .loc-btn-ghost{
  font-family:'Inter', 'Work Sans', Arial, sans-serif !important; }
h1, h2, h3, h4, h5, h6, .heading, .heading-3, .h1, .h1-white, .h1-copy, .h2, .h3,
.trophy-hero-title, .trophy-hero-title .thl-white, .trophy-hero-title .thl-gold, .text-block-1313,
.subheader .subheading, .subheader .subheading-white, .subheading, .subheading-white,
.cf-nav-links-3, .trophy-loc-toggle, .trophy-loc-item, .wbs-button-primary-1-dark.nav{
  font-family:'Libre Baskerville', 'Playfair Display', Georgia, serif !important; }

/* Footer "Our Offices" + "Areas We Serve": multi-column so the section isn't so tall */
.offices-block{ display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)) !important; gap:6px 26px !important; align-items:start; }
.offices-block .text-block-143{ grid-column:1 / -1; margin-bottom:2px; }
.offices-block .div-block-379{ margin:0 !important; align-items:flex-start; }
.areas-block{ display:grid !important; grid-template-columns:repeat(4, minmax(0,1fr)) !important; gap:2px 24px !important; }
.areas-block .text-block-143{ grid-column:1 / -1; margin-bottom:2px; }
.areas-block .div-block-486{ display:contents !important; }
.areas-block .div-block-379{ margin:0 !important; }
@media (max-width:900px){
  .offices-block{ grid-template-columns:1fr 1fr !important; }
  .areas-block{ grid-template-columns:repeat(3,1fr) !important; }
}
@media (max-width:600px){
  .offices-block{ grid-template-columns:1fr !important; gap:8px !important; }
  .areas-block{ grid-template-columns:1fr 1fr !important; }
}

/* Charity & Partnership: 5 trust badges (replaces the logo marquee) */
.trophy-badges{ display:flex; flex-wrap:nowrap; align-items:center; justify-content:center;
  gap:24px; max-width:1160px; margin:10px auto 0; padding:6px 4%; }
.trophy-badge{ flex:1 1 0; width:auto; min-width:0; height:auto; max-height:88px;
  object-fit:contain; }
@media (max-width:767px){ .trophy-badges{ gap:10px; } .trophy-badge{ max-height:52px; } }
@media (max-width:480px){ .trophy-badges{ gap:6px; } .trophy-badge{ max-height:40px; } }


/* Services: only ONE photo carousel — hide the duplicate second row entirely */
#services-scope .swrper_component-2,
.services-section .swrper_component-2,
.swrper_component-2,
.services-container-2{ display:none !important; }

/* ===================== Services: two stacked carousels (half height, opposite directions) ===================== */
#services-scope .div-block-447{ height:280px !important; }
#services-scope .swrper_component-2{ margin-top:22px; }
#services-scope .swrper_component-2 .services-next,
#services-scope .swrper_component-2 .services-prev,
#services-scope .swrper_component-2 .swiper-pagination{ display:none !important; }

/* ===================== Square corners: estimate fields + buttons (no rounded edges) ===================== */
.te-field input,
.te-submit,
.trophy-estimate-bar input,
.trophy-estimate-bar button,
.w-button,
.main-btn,
.hero-btn,
.ghost-button,
.hero-btn-black,
.hero-btn-white,
.ghost-button-svcs,
.mg-btn,
.loc-btn-gold,
.loc-btn-ghost,
.loc-nav-cta,
[class*="wbs-button"]{ border-radius:0 !important; }

/* ===================== Media Gallery -> two rows with directional sequential reveal ===================== */
.media-gallery-rows{ display:flex; flex-direction:column; gap:14px; }
.media-gallery-rows .mg-row{ display:flex; gap:14px; }
.media-gallery-rows .mg-row a{ flex:1 1 0; height:210px; overflow:hidden; display:block; position:relative; }
.media-gallery-rows .mg-row a img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .55s ease; }
.media-gallery-rows .mg-row a:hover img{ transform:scale(1.07); }
/* Reveal (only when JS marks the wrap ready, so images stay visible if JS is off) */
.media-gallery-rows.anim-ready .mg-row a{ opacity:0; transition:opacity .6s ease, transform .65s cubic-bezier(.22,.61,.36,1); will-change:opacity,transform; }
.media-gallery-rows.anim-ready .mg-ltr a{ transform:translateX(-45px); }
.media-gallery-rows.anim-ready .mg-rtl a{ transform:translateX(45px); }
.media-gallery-rows.anim-ready .mg-row.in a{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .media-gallery-rows.anim-ready .mg-row a{ opacity:1 !important; transform:none !important; transition:none !important; }
}
@media (max-width:767px){
  .media-gallery-rows .mg-row{ flex-wrap:wrap; }
  .media-gallery-rows .mg-row a{ flex:1 1 44%; height:150px; }
}

/* ============================================================
   HOMEPAGE HERO — center the title/content in the middle of the
   video, vertically between the nav and the estimate bar.
   (Existing padding-top reserves the nav; padding-bottom reserves
   the estimate bar, so flex-centering lands it in the middle.)
   ============================================================ */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-container{
  display:flex !important; flex-direction:column !important;
  justify-content:center !important; align-items:flex-start !important;
  text-align:left !important;
}
/* keep the decorative overlay out of the flow so it doesn't shift centering */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-container > .div-block-371{
  position:absolute !important; inset:0 !important; pointer-events:none;
}
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .page-wrap.hero{
  flex:1 1 auto !important; display:flex !important; flex-direction:column !important;
  justify-content:center !important; align-items:flex-start !important; width:100% !important;
}
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .div-block-389,
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .div-block-416.landingpage,
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .div-block-390{
  display:flex !important; flex-direction:column !important; align-items:flex-start !important;
  text-align:left !important; width:100% !important;
}
/* half the original 70px size + left aligned */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .heading.desktop.lp{
  text-align:left !important; width:auto !important; max-width:100% !important;
  font-size:35px !important;
}
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .paragraph-2.lp{
  text-align:left !important; max-width:640px !important; margin-left:0 !important; margin-right:0 !important;
}
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .hero-button.lp{
  justify-content:flex-start !important;
}
/* BULLETPROOF vertical centering: pin the hero text block between the nav
   (top:96px) and the estimate bar (bottom:150px) and center within it, flush left. */
@media (min-width:861px){
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section{ position:relative !important; }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .page-wrap.hero{
    position:absolute !important; left:0 !important; right:0 !important;
    top:96px !important; bottom:150px !important;
    display:flex !important; flex-direction:column !important;
    justify-content:center !important; align-items:flex-start !important;
    padding-left:5% !important; padding-right:5% !important;
    margin:0 !important; width:auto !important; max-width:none !important; z-index:6 !important;
  }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .div-block-389{ margin:0 !important; }
}

/* ============================================================
   SERVING AREAS — one big map with all offices + side list
   ============================================================ */
.services-areas-section .grid-4.areas{ display:block !important; }
.trophy-offices-wrap{ margin-top:24px; display:grid; grid-template-columns:1fr; gap:22px; }
@media(min-width:900px){ .trophy-offices-wrap{ grid-template-columns:1.7fr 1fr; align-items:stretch; } }
.trophy-offices-map{ width:100%; min-height:480px; height:100%; border-radius:16px;
  border:1px solid rgba(200,160,75,.55); overflow:hidden; z-index:1; }
.trophy-offices-list{ display:flex; flex-direction:column; gap:12px; max-height:520px; overflow:auto; padding-right:4px; }
.trophy-office{ background:#0a0a0a; border:1px solid rgba(200,160,75,.35); border-radius:12px; padding:12px 14px; }
.trophy-office h3{ color:#fff; font-family:'Playfair Display',Georgia,serif; font-size:16px; margin:0 0 4px; }
.trophy-office p{ color:#c9c9c9; font-size:13px; margin:0 0 6px; font-family:'Work Sans',Arial,sans-serif; }
.trophy-office a{ color:#c8a04b; text-decoration:none; font-weight:600; font-size:14px; }
.trophy-office .trophy-loc-badge{ background:#c8a04b; color:#0a0a0a; font-size:10px; font-weight:700;
  padding:1px 7px; border-radius:10px; margin-left:6px; letter-spacing:.4px; }
/* gold circular map pins */
.trophy-pin span{ display:block; width:18px; height:18px; background:#c8a04b; border:3px solid #fff;
  border-radius:50%; box-shadow:0 0 0 1px rgba(0,0,0,.4),0 2px 6px rgba(0,0,0,.5); }
.leaflet-popup-content{ font-family:'Work Sans',Arial,sans-serif; font-size:13px; }
.leaflet-popup-content strong{ color:#0a0a0a; }
.leaflet-popup-content a{ color:#a8842f; font-weight:600; text-decoration:none; }

/* ===================== Services: two stacked carousels (half height, opposite directions) ===================== */
#services-scope .div-block-447{ height:280px !important; }
#services-scope .swrper_component-2{ margin-top:22px; }
/* hide the (removed) nav/pagination just in case, on the second row */
#services-scope .swrper_component-2 .services-next,
#services-scope .swrper_component-2 .services-prev,
#services-scope .swrper_component-2 .swiper-pagination{ display:none !important; }

/* ===================== "Book a Free Consultation" buttons: sharp rectangular corners ===================== */
.main-btn, a.main-btn,
.hero-btn-black, a.hero-btn-black,
.hero-btn-white, a.hero-btn-white{
  border-radius:0 !important;
}

/* ============================================================
   AUTHORITATIVE SITE TYPOGRAPHY (user spec)
   Headings + eyebrows + nav + ALL buttons -> Libre Baskerville
   Everything else -> Inter
   (html body prefix = high specificity so it wins regardless of order)
   ============================================================ */
html body, html body p, html body li, html body td, html body th,
html body .p-text, html body .p-text-white, html body .paragraph,
html body .paragraph-2, html body .paragraph-3, html body .paragraph-4, html body .paragraph-5,
html body .p-about-strong, html body .text-block, html body .text-block-4,
html body .rating-text-4, html body .rating-text-3,
html body .text-field, html body .textarea, html body input, html body textarea, html body select,
html body blockquote, html body figcaption, html body label{
  font-family:'Inter', Arial, Helvetica, sans-serif !important;
}
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .h1, html body .h2, html body .h3, html body .h4, html body .h5,
html body .h1-white, html body .h1-copy, html body .heading, html body .heading-2, html body .heading-3,
html body [class*="heading"],
html body .subheading, html body .subheading-white, html body .wcu-heading,
html body .text-span, html body .text-block-1313, html body .text-block-1310,
html body .trophy-hero-title, html body .trophy-hero-title .thl-white, html body .trophy-hero-title .thl-gold,
html body .cf-nav-links-3, html body .w-nav-link, html body .cf-navbar-6 a,
html body .trophy-loc-toggle, html body .trophy-loc-item,
html body .top-banner a, html body .top-banner .link-2, html body .num-link,
html body .w-button, html body button, html body .main-btn, html body .hero-btn,
html body .hero-btn-black, html body .hero-btn-white, html body .ghost-button, html body .ghost-button-svcs,
html body .mg-btn, html body .te-submit,
html body .loc-btn-gold, html body .loc-btn-ghost, html body .loc-nav-cta,
html body [class*="wbs-button"], html body [class*="btn"], html body [class*="button"]{
  font-family:'Libre Baskerville', Georgia, 'Times New Roman', serif !important;
}

/* ============================================================
   MEDIA GALLERY — two rows; row 1 reveals left->right,
   row 2 reveals right->left. (Markup uses .media-gallery-rows /
   .mg-row / .mg-ltr / .mg-rtl which had NO css, so images were huge.)
   ============================================================ */
/* Remove the scattered decorative antler / line graphics throughout the site */
.lines, .component-gray-left, .component-gray-right,
[class*="component-gray"], [class~="lines"],
.services-section .div-block-450,
.compservtop, .compservmid{ display:none !important; }

/* ============================================================
   GOOGLE REVIEWS CAROUSEL (replaces the dead Elfsight widget)
   ============================================================ */
.tr-reviews{ max-width:1120px; margin:34px auto 0; position:relative; padding:0 6px; }
.tr-rev-viewport{ overflow:hidden; }
.tr-rev-track{ display:flex; gap:22px; transition:transform .5s ease; will-change:transform; }
.tr-rev-card{ flex:0 0 calc(33.333% - 15px); box-sizing:border-box; background:#ffffff;
  border:1px solid #e7e2d8; border-radius:14px; padding:24px 22px; box-shadow:0 10px 30px rgba(0,0,0,.06);
  display:flex; flex-direction:column; gap:12px; text-align:left; }
.tr-rev-top{ display:flex; align-items:center; gap:12px; }
.tr-rev-avatar{ width:44px; height:44px; border-radius:50%; background:#c8a04b; color:#0a0a0a;
  display:flex; align-items:center; justify-content:center; font-weight:700;
  font-family:'Work Sans',Arial,sans-serif; font-size:17px; flex:0 0 44px; }
.tr-rev-name{ font-family:'Playfair Display',Georgia,serif; font-size:16px; color:#0a0a0a; line-height:1.2; }
.tr-rev-sub{ font-size:12px; color:#8a8a8a; font-family:'Work Sans',Arial,sans-serif; margin-top:2px; }
.tr-rev-stars{ color:#fbbc04; font-size:16px; letter-spacing:2px; }
.tr-rev-text{ color:#555; font-size:14px; line-height:1.6; font-family:'Work Sans',Arial,sans-serif; }
.tr-rev-g{ margin-top:auto; padding-top:6px; display:flex; align-items:center; gap:6px;
  font-size:12px; color:#8a8a8a; font-family:'Work Sans',Arial,sans-serif; }
.tr-rev-g b{ color:#4285F4; } .tr-rev-g i{ color:#ea4335; font-style:normal; }
.tr-rev-nav{ display:flex; justify-content:center; gap:14px; margin-top:24px; }
.tr-rev-btn{ width:46px; height:46px; border-radius:50%; border:1px solid #c8a04b; background:#fff;
  color:#c8a04b; font-size:22px; line-height:1; cursor:pointer; display:flex; align-items:center;
  justify-content:center; transition:background .2s ease, color .2s ease; }
.tr-rev-btn:hover{ background:#c8a04b; color:#0a0a0a; }
@media (max-width:900px){ .tr-rev-card{ flex-basis:calc(50% - 11px); } }
@media (max-width:600px){ .tr-rev-card{ flex-basis:100%; } }

/* ============================================================
   GLOBAL RESPONSIVE SAFETY NET  —  phones, iPads, any screen
   ============================================================ */
/* Never allow sideways scrolling; all media fits its container */
html, body{ max-width:100% !important; overflow-x:hidden !important; }
img, video, iframe, svg, canvas, object{ max-width:100%; height:auto; }
.background-video video, .hero-section video{ height:100% !important; }   /* keep cover videos filling */
*{ min-width:0; }                       /* let flex/grid children shrink instead of overflowing */

/* ---------- iPad / tablet ( up to 1024px ) ---------- */
@media (max-width:1024px){
  .w-container, .page-container, .mg-wrap, .apex-inner, .culture-inner, .tr-reviews{
    padding-left:5% !important; padding-right:5% !important; }
  .trophy-offices-wrap{ grid-template-columns:1fr !important; }
  .trophy-offices-map{ min-height:340px !important; }
  .trophy-offices-list{ max-height:none !important; }
  .culture-grid{ grid-template-columns:repeat(2,1fr) !important; }
  .trophy-team-members{ grid-template-columns:repeat(3,1fr) !important; }
}

/* ---------- Nav dropdowns work on TOUCH (no hover on mobile) ---------- */
/* When the nav collapses to the hamburger, show sub-links expanded/tappable */
@media (max-width:991px){
  .trophy-loc-dropdown{ display:block !important; width:100%; }
  .trophy-loc-menu{ position:static !important; transform:none !important; opacity:1 !important;
    visibility:visible !important; pointer-events:auto !important; box-shadow:none !important;
    border:none !important; background:transparent !important; padding:2px 0 6px 16px !important;
    min-width:0 !important; }
  .trophy-loc-item{ padding:8px 6px !important; }
}

/* ---------- Phones ( up to 767px ) ---------- */
@media (max-width:767px){
  h1, .heading, .heading-6, .rp-hero-title, .h1, .h1-white, .h1-copy{
    font-size:30px !important; line-height:1.15 !important; word-break:break-word; }
  h2, .h2, .heading-4, .heading-5, .heading-7, .h1.center{ font-size:24px !important; line-height:1.22 !important; }
  h3, .heading-3{ font-size:19px !important; }
  p, .p-text, .paragraph-2, .paragraph-3{ font-size:15px !important; }
  /* stack any two-up rows */
  .culture-grid{ grid-template-columns:1fr 1fr !important; }
  .trophy-team-members{ grid-template-columns:1fr 1fr !important; }
  .tr-rev-card{ flex-basis:100% !important; }
  /* buttons wrap + go full-width so they never overflow */
  .button-wrap, .hero-button, .hero-button.lp, .button-wrap-svcs, .div-block-439,
  .div-block-452, .button-wrap.center{ flex-wrap:wrap !important; gap:12px !important; }
  .button-wrap .w-button, .hero-button .w-button, .button-wrap-svcs .w-button{ flex:1 1 100%; text-align:center; }
  /* free-estimate bar: fields stack full width */
  .te-fields{ flex-direction:column !important; }
  .te-field{ flex:1 1 100% !important; width:100% !important; min-width:0 !important; }
  /* footer columns stack */
  .footer-columns{ display:flex !important; flex-direction:column !important; gap:26px !important; }
  .footer-columns > *{ width:100% !important; }
  /* generic two-column webflow grids -> single column */
  .w-layout-grid.cta3-grid, .w-layout-grid.grid-4, .w-layout-grid.flexible-grid,
  .w-layout-grid.crew-wrap{ grid-template-columns:1fr !important; }
}

/* ---------- Small phones ( up to 480px ) ---------- */
@media (max-width:480px){
  h1, .heading, .rp-hero-title{ font-size:25px !important; }
  .culture-grid, .media-gallery-grid, .trophy-work-grid{ grid-template-columns:1fr !important; }
  .trophy-team-members{ grid-template-columns:1fr !important; }
  .apex-letter{ font-size:38px !important; width:38px !important; flex-basis:38px !important; }
}

/* ============================================================
   FOOTER FIX — the Headquarters column was removed, which broke the
   original 5-column Webflow grid and made Menu / Contact overlap.
   Force a clean flex row (no grid cells = no overlap) at all widths.
   ============================================================ */
.footer-columns{ display:flex !important; flex-wrap:wrap !important;
  justify-content:space-between !important; align-items:flex-start !important;
  gap:32px 48px !important; grid-template-columns:none !important; }
.footer-columns > *{ grid-area:auto !important; grid-column:auto !important;
  grid-row:auto !important; justify-self:auto !important; align-self:auto !important; }
.footer-columns .footer-nav{ flex:1 1 200px; min-width:150px; }
.footer-columns .footer-logo{ flex:0 1 auto; }
@media (max-width:767px){
  .footer-columns{ flex-direction:column !important; gap:24px !important; }
  .footer-columns > *{ width:100% !important; flex-basis:auto !important; }
}

/* ============================================================
   SERVICES CAROUSEL — bigger images (taller + a little wider)
   ============================================================ */
#services-scope .div-block-447{ height:400px !important; }        /* taller images (was 280px) */
#services-scope .page-container.services,
#services-scope .container{ max-width:1240px !important; width:100% !important; }  /* wider carousel */
@media (max-width:991px){ #services-scope .div-block-447{ height:320px !important; } }
@media (max-width:600px){ #services-scope .div-block-447{ height:240px !important; } }


/* Nav logo: use the actual antler logo image, enlarged so the letters read clearly */
.cf-brand-4 img{ display:inline-block !important; }
.cf-brand-4 img.cf-navigation-logo-white{ display:none !important; }
.cf-brand-4 img.cf-navigation-logo-4{ height:78px !important; width:auto !important;
  max-width:320px !important; object-fit:contain !important; }
@media (max-width:767px){ .cf-brand-4 img.cf-navigation-logo-4{ height:54px !important; } }

.media-gallery-rows{ display:flex; flex-direction:column; gap:14px; max-width:1240px; margin:0 auto; }
.media-gallery-rows .mg-row{ display:flex; gap:14px; width:100%; }
.media-gallery-rows .mg-row a{ flex:1 1 0; min-width:0; height:220px; display:block; position:relative;
  overflow:hidden; border-radius:12px; }
.media-gallery-rows .mg-row img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .55s ease; }
.media-gallery-rows .mg-row a:hover img{ transform:scale(1.08); }
/* reveal animation: hidden until row scrolls in; JS adds .in + staggered delay */
.media-gallery-rows.anim-ready .mg-row a{ opacity:0; transform:translateX(-45px);
  transition:opacity .6s ease, transform .6s ease; }
.media-gallery-rows.anim-ready .mg-row.mg-rtl a{ transform:translateX(45px); }
.media-gallery-rows .mg-row.in a{ opacity:1; transform:none; }
@media (max-width:900px){ .media-gallery-rows .mg-row a{ height:150px; } }
@media (max-width:600px){ .media-gallery-rows .mg-row a{ height:110px; } .media-gallery-rows .mg-row{ gap:8px; } .media-gallery-rows{ gap:8px; } }

/* ============================================================
   HERO — vertically center the eyebrow/title/paragraph/buttons in the
   space BETWEEN the bottom of the nav and the top of the estimate bar.
   Extra 'body' in the selector raises specificity so this wins over the
   other competing hero rules regardless of source order.
   FIX: the content was pinned to the top because .page-wrap.hero was
   flex:1 (filled all height, so justify-content:center did nothing).
   ============================================================ */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section{
  height:100vh !important; min-height:600px !important; position:relative !important;
}
html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-container{
  height:100% !important; box-sizing:border-box !important;
  display:flex !important; flex-direction:column !important;
  justify-content:center !important;   /* vertical centering */
  align-items:flex-start !important;
  padding-top:150px !important;         /* clears top bar + nav */
  padding-bottom:160px !important;      /* clears the estimate bar */
}
/* size the content block to its content so the container can center it */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section .page-wrap.hero{
  flex:0 0 auto !important; display:block !important; width:100% !important; margin:0 !important;
}
html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section .div-block-389,
html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section .div-block-416.landingpage,
html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section .div-block-390{
  margin-top:0 !important; margin-bottom:0 !important; flex:0 0 auto !important;
}
@media (max-width:767px){
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-container{
    padding-top:120px !important; padding-bottom:40px !important;
  }
}

/* ===================== Decorative side graphics -> small gold antlers (was gold rectangles) ===================== */
.lines, .lines.l, .lines.m, .lines.sm, .lines.lleft, .lines.mleft, .lines.smleft,
.lines.ttsm, .lines.l.af, .lines.l.faq, .lines.sm.ff, .lines.sm.ff.ga, .lines.sm.ff.faq,
.compservtop, .compservmid, .compservbot, .image-1637,
.component-gray-left, .component-gray-right, [class*="compserv"]{
  width:84px !important; max-width:84px !important; height:auto !important;
  left:auto !important; right:auto !important; top:auto !important; bottom:auto !important;
  inset:auto !important; position:relative !important; opacity:1 !important;
}
.div-block-432.left{ display:flex !important; }

/* ===================== Square off card / panel / image corners (keep circles round) ===================== */
.loc-card, .loc-info-card, .trophy-loc-card, .greview-card,
.trophy-loc-map, .jobs-map, .loc-map iframe,
.media-gallery-grid a, .media-gallery-grid img,
.trophy-estimate-form, .trophy-estimate-bar,
#services-scope .div-block-447,
.counter-section .div-bag-begun,
.loc-card .ic, .loc-badge, .trophy-loc-badge,
.image-1651, .image-160371{ border-radius:0 !important; }

/* ===================== Hero heading: eyebrow (#1 Roofer Nationwide) + two-tone title ===================== */
.trophy-hero-eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  color:#ffffff; font-family:'Work Sans',Arial,sans-serif;
  font-weight:600; letter-spacing:1.6px; text-transform:uppercase; font-size:14px;
}
.trophy-hero-eyebrow svg{ width:16px; height:18px; fill:#c8a04b; flex:0 0 auto; }
.trophy-hero-rule{
  width:210px; max-width:70%; height:2px; margin:10px 0 16px;
  background:linear-gradient(90deg,#c8a04b, rgba(200,160,75,0));
}
.trophy-hero-title .thl-white{ color:#ffffff !important; display:block; }
.trophy-hero-title .thl-gold{ color:#c8a04b !important; display:block; }
/* bump the title size up a little (overrides the 35px homepage rule via extra class) */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .heading.desktop.lp.trophy-hero-title{
  font-size:46px !important; line-height:1.08 !important;
}

/* ===================== "Classic Quality" font: headers, nav bar, logo-left subheadings ===================== */
@font-face{
  font-family:'Classic Quality';
  src:url('../fonts/ClassicQuality-Regular.woff2') format('woff2'),
      url('../fonts/ClassicQuality-Regular.otf') format('opentype');
  font-weight:normal; font-style:normal; font-display:swap;
}
/* all headers */
h1, h2, h3, h4, h5, h6,
.heading, .heading-3,
.h1, .h1-white, .h1-copy, .h2, .h3,
.trophy-hero-title, .thl-white, .thl-gold,
.text-block-1313,
/* small headers with the logo on the left */
.subheader .subheading, .subheader .subheading-white,
.subheading, .subheading-white,
/* navigation bar */
.cf-nav-links-3, .trophy-loc-toggle, .trophy-loc-item,
.wbs-button-primary-1-dark.nav{
  font-family:'Libre Baskerville', 'Playfair Display', Georgia, serif !important;
}

/* ===================== "Inter" font for body / paragraph text ===================== */
@font-face{
  font-family:'Inter';
  src:url('../fonts/Inter.woff2') format('woff2');
  font-weight:100 900; font-style:normal; font-display:swap;
}
body, .body, p, li, a, span, div, input, textarea, select, button, label, td, th,
.p-text, .paragraph-2, .paragraph-3, .paragraph-5, .p-text-white, .p-about-strong,
.text-block, .text-block-4, .rating-text-4, .te-field, .te-field span{
  font-family:'Inter', 'Work Sans', Arial, sans-serif;
}
/* ---- Roofing Help Center (blogs.html FAQ hub) ---- */
.faq-hub{max-width:860px;margin:0 auto;padding:20px 0 40px;}
.faq-hub-cat{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:1px;font-size:22px;color:#0A0A0A;margin:48px 0 16px;border-left:4px solid #C8A04B;padding-left:14px;}
.faq-hub-item{border:1px solid #e5e2da;background:#fff;border-radius:8px;margin-bottom:12px;overflow:hidden;}
.faq-hub-item summary{cursor:pointer;padding:18px 48px 18px 22px;font-weight:600;font-size:17px;line-height:1.4;color:#0A0A0A;list-style:none;position:relative;}
.faq-hub-item summary::-webkit-details-marker{display:none;}
.faq-hub-item summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:#C8A04B;font-size:26px;font-weight:400;line-height:1;}
.faq-hub-item[open] summary::after{content:"\2013";}
.faq-hub-item[open] summary{border-bottom:1px solid #f0ede5;}
.faq-hub-item p{padding:0 22px 20px;margin:0;color:#555;font-size:15px;line-height:1.7;}

/* ---- Top banner social icons: always clickable (were buried under nav/hero layers) ---- */
.top-banner{ position:relative !important; z-index:90 !important; }
.top-banner .banner-container, .top-banner .lefttt, .top-banner .righttt{ position:relative; z-index:91; }
.top-banner a{ position:relative; z-index:92; pointer-events:auto !important; cursor:pointer; }

/* ---- Inline Google reviews carousel (homepage + portfolio testimonials) ---- */
.greviews-inline{ margin-top:10px; overflow:hidden; }
.greviews-cta{ display:flex; justify-content:center; margin-top:30px; }
.greviews-inline .greviews-track{ animation-duration:55s; }

/* ---- Tighten gap between trust badges and reviews heading (homepage) ---- */
.clients.og .clients-wrap{ padding-bottom:0; }
.testimonial-section .page-wrap.testimonials{ padding-top:24px; }
.
/* ---- Career banner: show faces, not jeans (was centered mid-torso) ---- */
.banner-section.career{ background-image: linear-gradient(#00000059, #00000059), url('../images/career-hero-hunt.jpg') !important; background-position: 0 0, center 30% !important; background-size: auto, cover !important; }

/* ---- Nav links: even, balanced spacing ---- */
.cf-nav-links-wrapper-4{ grid-column-gap:18px !important; flex-wrap:nowrap !important; }
.cf-nav-links-3.opacity-100._123{ font-size:15px; }
@media (max-width:1200px){ .cf-nav-links-wrapper-4{ grid-column-gap:22px !important; } }
.cf-nav-links-3.opacity-100._123{ white-space:nowrap; letter-spacing:.2px; }

/* ---- Blog listing grid + post pages ---- */
.bpost-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1160px;margin:10px auto 30px;}
@media(max-width:991px){.bpost-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.bpost-grid{grid-template-columns:1fr;}}
.bpost-card{display:block;background:#fff;border:1px solid #e7e2d8;border-radius:12px;overflow:hidden;text-decoration:none;transition:box-shadow .25s ease,transform .25s ease;}
.bpost-card:hover{box-shadow:0 14px 34px rgba(0,0,0,.10);transform:translateY(-3px);}
.bpost-imgwrap{aspect-ratio:16/10;overflow:hidden;}
.bpost-imgwrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.bpost-card:hover .bpost-imgwrap img{transform:scale(1.05);}
.bpost-body{padding:20px 22px 24px;}
.bpost-date{color:#c8a04b;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-bottom:8px;}
.bpost-title{color:#0a0a0a;font-family:'Playfair Display',Georgia,serif;font-size:20px;line-height:1.35;margin:0 0 10px;}
.bpost-excerpt{color:#555;font-size:14.5px;line-height:1.6;margin:0 0 14px;}
.bpost-more{color:#0a0a0a;font-weight:700;font-size:14px;border-bottom:2px solid #c8a04b;padding-bottom:2px;}
.post-wrap{background:#fff;padding:60px 6% 80px;}
.post-inner{max-width:780px;margin:0 auto;}
.post-meta{color:#c8a04b;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:13px;margin-bottom:14px;}
.post-meta span:last-child{color:#888;}
.post-title{font-family:'Playfair Display',Georgia,serif;color:#0a0a0a;font-size:40px;line-height:1.2;margin:0 0 26px;}
.post-hero{width:100%;border-radius:12px;margin-bottom:34px;aspect-ratio:16/9;object-fit:cover;}
.post-body p{color:#333;font-size:17px;line-height:1.75;margin:0 0 20px;}
.post-body h2{font-family:'Playfair Display',Georgia,serif;color:#0a0a0a;font-size:26px;margin:34px 0 12px;}
.post-cta{background:#0a0a0a;border-radius:12px;text-align:center;padding:38px 26px;margin:44px 0 26px;}
.post-cta h3{color:#fff;font-family:'Playfair Display',Georgia,serif;font-size:24px;margin:0 0 8px;}
.post-cta p{color:#b5b5b5 !important;font-size:15px !important;margin:0 0 20px !important;}
.post-back a{color:#0a0a0a;font-weight:700;text-decoration:none;border-bottom:2px solid #c8a04b;}
@media(max-width:620px){.post-title{font-size:29px;}}

/* ---- Homepage logo entrance: rise in, then a golden glow pulse (runs on every load) ---- */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .cf-brand-4 img{
  animation: trophy-logo-in 1.3s cubic-bezier(.22,1,.36,1) .25s both,
             trophy-logo-glow 2.4s ease-in-out 1.6s 2 !important;
  transform-origin: left center;
  will-change: transform, opacity, filter;
}
@keyframes trophy-logo-in{
  0%   { opacity:0; transform: translateY(-26px) scale(.7) rotate(-4deg); }
  55%  { opacity:1; transform: translateY(4px)  scale(1.06) rotate(1deg); }
  75%  { transform: translateY(-2px) scale(.98) rotate(0deg); }
  100% { opacity:1; transform: translateY(0) scale(1) rotate(0deg); }
}
@keyframes trophy-logo-glow{
  0%,100% { filter: drop-shadow(0 0 0 rgba(200,160,75,0)); }
  50%     { filter: drop-shadow(0 0 10px rgba(200,160,75,1)) drop-shadow(0 0 30px rgba(200,160,75,.65)) brightness(1.25); }
}

/* ---- Homepage: collapse free-standing space between sections ---- */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hww-section{ padding-top:56px !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .services-section{ padding-bottom:40px !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .clients.og{ padding-bottom:0 !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .clients.og .clients-wrap{ padding-bottom:0 !important; margin-bottom:0 !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .testimonial-section{ padding-top:0 !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .testimonial-section .page-wrap.testimonials{ padding-top:14px !important; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .testimonial-section .header-div.center{ margin-bottom:8px !important; }

/* Read Our Reviews on Google: dead-center */
.greviews-cta{ display:flex !important; justify-content:center !important; width:100%; text-align:center; margin:30px auto 0 !important; }

/* Map takes the full stage now that the office list is gone */
.trophy-offices-wrap{ display:block !important; }
.trophy-offices-map{ width:100% !important; height:520px !important; border-radius:14px; }
@media (max-width:700px){ .trophy-offices-map{ height:380px !important; } }

/* ---- Hero estimate bar: blurred box hugs the form, centered under the video ---- */
.trophy-estimate-form{ width:fit-content !important; max-width:94% !important; margin:0 auto !important; justify-content:center !important; }

/* ---- Our Work banner: homepage hero video ---- */
.banner-section.svcs.ow{ position:relative; overflow:hidden; }
.ow-banner-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.banner-section.svcs.ow::after{ content:''; position:absolute; inset:0; background:rgba(0,0,0,.45); z-index:1; }
.banner-section.svcs.ow .banner-container{ position:relative; z-index:2; }

/* ---- Nav links: never stack/wrap ---- */
.cf-nav-links-wrapper-4{ flex-wrap:nowrap !important; }
.cf-nav-links-3, .trophy-loc-toggle{ white-space:nowrap !important; }
.trophy-loc-dropdown{ flex:0 0 auto; }

/* ---- Areas section: center the map under the "Proudly Serving Nationally" text ---- */
.services-areas-section .grid-4.areas{ display:block !important; }
.services-areas-section .services-areas-content.area{ max-width:820px; margin:0 auto 34px; text-align:center; }
.services-areas-section .services-areas-content.area .h1.center.wcu.left,
.services-areas-section .services-areas-content.area .p-text.center.wcu.left.areas{ text-align:center !important; }
.trophy-offices-wrap{ max-width:1080px; margin:0 auto !important; }
.trophy-offices-map{ margin:0 auto; }

/* ---- Hero text block: centered on the page, lines left-aligned to each other ---- */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .page-wrap.hero{ display:flex; justify-content:center; }
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .div-block-416.landingpage{ width:fit-content; max-width:720px; text-align:left; }

/* ---- Consistent chrome on every page: one top bar, one background, no duplicate theme ---- */
.xmas-theme{ display:none !important; }
.top-banner{ background-image: linear-gradient(125deg, #c8a04b, #c8a04b 62%, #2b2b2b 62%, #0a0a0a 62%, #0a0a0a) !important; }

/* ----
/* ============================================================
   MOBILE OVERHAUL (v16) — authoritative; last in file so it wins ties.
   Fixes: hamburger dropdown, oversized estimate box, excess scroll.
   ============================================================ */

/* ---------- 1. HAMBURGER / MOBILE NAV ---------- */
@media (max-width:991px){
  .cf-navbar-6, .w-nav{ position:relative !important; }
  .cf-nav-5-menu-button-4.w-nav-button, .w-nav-button{ display:block !important; color:#C8A04B !important; }

  .w-nav.trophy-mnav-open .w-nav-menu,
  .w-nav .w-nav-menu[data-nav-menu-open]{
    display:block !important; float:none !important;
    position:absolute !important; top:100% !important; left:0 !important; right:0 !important;
    width:100% !important; background:#0A0A0A !important;
    padding:8px 0 16px !important; margin:0 !important;
    box-shadow:0 20px 44px rgba(0,0,0,.45) !important;
    border-top:2px solid #C8A04B !important;
    max-height:calc(100vh - 60px) !important; overflow-y:auto !important;
    z-index:99999 !important;
  }
  .w-nav.trophy-mnav-open .cf-nav-links-wrapper-4,
  .w-nav .w-nav-menu[data-nav-menu-open] .cf-nav-links-wrapper-4{
    display:flex !important; flex-direction:column !important; align-items:stretch !important;
    width:100% !important; flex-wrap:nowrap !important; gap:0 !important; grid-column-gap:0 !important;
  }
  .w-nav.trophy-mnav-open .cf-nav-links-3,
  .w-nav.trophy-mnav-open .trophy-loc-toggle,
  .w-nav .w-nav-menu[data-nav-menu-open] .cf-nav-links-3,
  .w-nav .w-nav-menu[data-nav-menu-open] .trophy-loc-toggle{
    display:block !important; color:#ffffff !important; opacity:1 !important;
    width:100% !important; text-align:left !important; white-space:normal !important;
    padding:14px 22px !important; font-size:16px !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
  }
  .w-nav.trophy-mnav-open .trophy-loc-toggle,
  .w-nav .w-nav-menu[data-nav-menu-open] .trophy-loc-toggle{ color:#C8A04B !important; font-weight:700 !important; }

  .w-nav.trophy-mnav-open .trophy-loc-dropdown,
  .w-nav .w-nav-menu[data-nav-menu-open] .trophy-loc-dropdown{ display:block !important; width:100% !important; }
  .w-nav.trophy-mnav-open .trophy-loc-menu,
  .w-nav .w-nav-menu[data-nav-menu-open] .trophy-loc-menu{
    display:block !important; position:static !important; transform:none !important;
    opacity:1 !important; visibility:visible !important; background:rgba(255,255,255,.03) !important;
    box-shadow:none !important; border:none !important; padding:2px 0 6px 0 !important;
    width:100% !important; min-width:0 !important;
  }
  .w-nav.trophy-mnav-open .trophy-loc-item,
  .w-nav .w-nav-menu[data-nav-menu-open] .trophy-loc-item{
    color:#e8e8e8 !important; padding:11px 22px 11px 40px !important; font-size:15px !important;
    border-bottom:1px solid rgba(255,255,255,.05) !important; display:block !important;
  }
  .w-nav.trophy-mnav-open .trophy-loc-item .loc-region,
  .w-nav .w-nav-menu[data-nav-menu-open] .trophy-loc-item .loc-region{ color:#9a9a9a !important; margin-left:8px; }

  .w-nav.trophy-mnav-open .cf-nav-button-wrapper-2,
  .w-nav .w-nav-menu[data-nav-menu-open] .cf-nav-button-wrapper-2{ display:block !important; padding:14px 22px !important; }
}

/* ---------- 2. ESTIMATE BOX (mobile compact) ---------- */
@media (max-width:767px){
  .hero-section .trophy-estimate-bar, .trophy-estimate-bar{
    position:static !important; left:auto !important; right:auto !important; bottom:auto !important;
    padding:0 !important; margin:0 !important; z-index:2 !important;
  }
  .hero-section .trophy-estimate-form, .trophy-estimate-form{
    width:100% !important; max-width:100% !important; margin:0 !important;
    border-radius:0 !important; border:none !important; border-top:1px solid rgba(200,160,75,.4) !important;
    background:#0A0A0A !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
    padding:16px 18px 20px !important;
    display:flex !important; flex-direction:column !important; align-items:stretch !important;
    justify-content:flex-start !important; gap:0 !important;
  }
  .hero-section .te-title, .te-title{
    font-size:15px !important; letter-spacing:.5px !important; margin:0 0 10px !important; text-align:left !important;
  }
  .te-fields{ display:flex !important; flex-direction:column !important; gap:9px !important; }
  .te-field{ width:100% !important; flex:1 1 100% !important; min-width:0 !important; }
  .te-field span{ font-size:11px !important; }
  .te-field input{ padding:10px 12px !important; font-size:14px !important; }
  .te-submit{ width:100% !important; margin-top:4px !important; padding:13px !important; font-size:14px !important; }
}

/* ---------- 3. HERO HEIGHT + SECTION SPACING (mobile, less scrolling) ---------- */
@media (max-width:767px){
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section{ height:auto !important; min-height:0 !important; }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-container{
    height:auto !important; min-height:70vh !important;
    padding-top:104px !important; padding-bottom:22px !important;
  }
  .counter-section, .services-section, .hww-section, .wcu-section,
  .clients, .owners-video-section, .testimonial-section, .cta-section,
  .services-areas-section, .contact-section{
    padding-top:40px !important; padding-bottom:40px !important;
  }
}
@media (max-width:479px){
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-container{ min-height:62vh !important; padding-top:96px !important; }
}

/* ---------- 4. MOBILE HARDENING (v16) — overflow + tidy top bar ---------- */
@media (max-width:991px){
  /* keep only the phone icon next to the hamburger; hide redundant nav buttons */
  .wbs-nav-right .hero-btn, .wbs-nav-right .w-button, .wbs-nav-right-dark{ display:none !important; }
  .wbs-nav-right{ display:flex !important; align-items:center !important; }
  .wbs-nav-right .link-block-29{ display:inline-flex !important; }
}
@media (max-width:767px){
  html, body{ overflow-x:hidden !important; max-width:100% !important; }
  img{ max-width:100% !important; height:auto !important; }
  .trophy-offices-map, .trophy-offices-map iframe, iframe{ max-width:100% !important; }
  .w-button{ max-width:100% !important; }
  .w-container, .container, .page-container{ max-width:100% !important; }
}

/* ---------- 5. MOBILE PASS (v17) — homepage mobile fixes ---------- */

/* 5a. nav: phone icon to the LEFT of the hamburger */
@media (max-width:991px){
  .cf-nav-4, .cf-nav-4.subpages{ display:flex !important; align-items:center !important; }
  .cf-nav-4 .left-nav{ order:1 !important; }
  .cf-nav-4 .wbs-nav-right{ order:2 !important; margin-right:10px !important; }
  .cf-nav-4 .cf-menu-button-wrapper-2{ order:3 !important; }
  .cf-nav-4 .wbs-nav-right-dark{ order:4 !important; }
}

@media (max-width:767px){

  /* 5b. hero estimate form: never overlays the hero — flows at the bottom of the
     video as its own solid band (beats the inline absolute-position style). */
  html .hero-section .trophy-estimate-bar{
    position:relative !important; z-index:2 !important; inset:auto !important;
    bottom:auto !important; left:auto !important; right:auto !important; top:auto !important;
    margin-top:24px !important; padding:0 !important;
  }
  html .hero-section .trophy-estimate-form{
    background:rgba(10,10,10,.92) !important;
    flex-direction:column !important; align-items:stretch !important;
    padding:22px 5% 26px !important;
  }
  html .hero-section .te-fields{ flex-direction:column !important; }
  html .hero-section .te-field{ min-width:0 !important; flex:1 1 auto !important; }
  html .hero-section .te-submit{ width:100% !important; }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-container{ padding-bottom:20px !important; }

  /* 5c. counters: one row of 3 compact stats */
  html .counter-section .div-division-negative{
    display:flex !important; flex-flow:row nowrap !important; flex-direction:row !important; flex-wrap:nowrap !important; gap:8px !important;
    padding:0 3% !important; width:100% !important;
  }
  html .counter-section .div-bag-begun-3{
    flex:1 1 0 !important; width:auto !important; min-width:0 !important;
    height:auto !important; min-height:110px !important;
  }
  html .counter-section .div-bag-begun{ padding:14px 4px !important; }
  html .counter-section .h3-child-more{ font-size:30px !important; line-height:1.1 !important; margin:0 0 6px !important; }
  html .counter-section .span-quarter-river, html .counter-section .text-orange-span{ font-size:30px !important; line-height:1.1 !important; }
  html .counter-section .p-about-strong{ font-size:10.5px !important; line-height:1.35 !important; letter-spacing:.4px !important; }

  /* 5d. services carousel: compact arrows + compact slide buttons */
  .services-next, .services-prev{ width:32px !important; height:32px !important; border-radius:6px !important; }
  .services-next img, .services-prev img{ width:13px !important; height:13px !important; }
  #services-scope .text-block-1313{ font-size:18px !important; }
  #services-scope .button-wrap-svcs{ gap:8px !important; grid-column-gap:8px !important; grid-row-gap:8px !important; }
  .button-wrap-svcs .w-button, #services-scope .button-wrap-svcs .w-button{
    font-size:11.5px !important; padding:0 14px !important; line-height:1.2 !important;
    width:auto !important; height:34px !important; min-height:0 !important;
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    white-space:nowrap !important;
  }

  /* 5e. eyebrow logos: match the standard subheader logo size
     (the img{height:auto} safety rule above blows up the inline height:30px logos) */
  img[src*="trophy-logo-"][style*="height:30px"],
  img[src*="trophy-logo-"][style*="height:34px"],
  .lt-eyebrow img, .loc-footer img[src*="trophy-logo-"],
  .hww-section .header-div-3 img[src*="trophy-logo-"],
  .testimonial-section .header-div img[src*="trophy-logo-"],
  .cta-section img[src*="trophy-logo-"],
  .services-areas-section img[src*="trophy-logo-"],
  .ovs-eyebrow img{
    height:48px !important; width:auto !important; max-width:180px !important;
    object-fit:contain !important; flex:0 0 auto !important;
  }

  /* 5f. process cards: image on top, text always visible below.
     img must stay clipped to its frame (the img{height:auto} safety rule above
     otherwise blows it up and it covers the text). */
  .hww-section .proc-card{ grid-template-columns:1fr !important; }
  .hww-section .proc-card-img{ min-height:160px !important; height:180px !important; order:-1 !important; overflow:hidden !important; }
  .hww-section .proc-card-img img{ height:100% !important; width:100% !important; object-fit:cover !important; }
  .hww-section .proc-card-text{ padding:18px 16px !important; }
}

/* ---------- 6. MOBILE NAV ACCORDION (v18) — dropdowns collapsed until tapped ---------- */
@media (max-width:991px){
  .w-nav.trophy-mnav-open .trophy-loc-menu,
  .w-nav .w-nav-menu[data-nav-menu-open] .trophy-loc-menu{ display:none !important; }
  .w-nav.trophy-mnav-open .trophy-loc-dropdown.open .trophy-loc-menu,
  .w-nav .w-nav-menu[data-nav-menu-open] .trophy-loc-dropdown.open .trophy-loc-menu{ display:block !important; }
  .w-nav.trophy-mnav-open .trophy-loc-toggle::after,
  .w-nav .w-nav-menu[data-nav-menu-open] .trophy-loc-toggle::after{
    content:'\25BE'; float:right; color:#C8A04B !important;
    transition:transform .25s ease; margin-left:8px;
  }
  .w-nav.trophy-mnav-open .trophy-loc-dropdown.open .trophy-loc-toggle::after,
  .w-nav .w-nav-menu[data-nav-menu-open] .trophy-loc-dropdown.open .trophy-loc-toggle::after{
    transform:rotate(180deg);
  }
}

/* ---------- 7. HERO OVERLAP FIX (v19) — estimate bar never covers hero content ----------
   The bar is absolutely pinned to the hero's bottom on desktop; reserve its height
   inside the hero so the CTA buttons can never slide behind it on short windows. */
html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section{
  height:auto !important; min-height:100vh !important;
}
@media (min-width:768px){
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-container{
    padding-bottom:190px !important;
  }
}

/* ---------- 8. (v20) mobile hero: hide CTA buttons — the estimate form is the CTA ---------- */
@media (max-width:767px){
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .hero-button.lp{ display:none !important; }
}

/* ---------- 9. (v21) mobile hero: compact band so the landscape video isn't over-cropped ---------- */
@media (max-width:767px){
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section{ height:auto !important; min-height:0 !important; }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-container{ padding-top:104px !important; padding-bottom:26px !important; }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .heading.desktop.lp.trophy-hero-title{ font-size:30px !important; }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .trophy-hero-eyebrow{ margin-top:0 !important; }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-section .trophy-estimate-bar{ margin-top:0 !important; }
  /* empty Webflow spacer div stretches the hero ~200px on mobile — drop it */
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] .hero-container .div-block-371{ display:none !important; }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-container{ min-height:0 !important; height:auto !important; padding-top:104px !important; }
}

/* ---------- 10. (v22) mobile estimate form: compact so the hero video stays visible ---------- */
@media (max-width:767px){
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section .trophy-estimate-form{
    padding:14px 5% 16px !important;
  }
  html body .hero-section .te-title{ font-size:15px !important; margin:0 0 8px !important; }
  html body .hero-section .te-fields{ gap:8px !important; grid-row-gap:8px !important; }
  html body .hero-section .te-field{ margin:0 !important; }
  html body .hero-section .te-field span{ font-size:11px !important; margin-bottom:2px !important; }
  html body .hero-section .te-field input{
    height:38px !important; min-height:0 !important; padding:6px 12px !important; font-size:14px !important;
  }
  html body .hero-section .te-submit{
    height:42px !important; min-height:0 !important; padding:0 !important; font-size:14px !important; margin-top:2px !important;
  }
}

/* ---------- 11. (v23) mobile estimate form: 2x2 grid, placeholders only — half the height ---------- */
@media (max-width:767px){
  html body .hero-section .te-fields{
    display:grid !important; grid-template-columns:1fr 1fr !important;
    gap:8px !important; grid-row-gap:8px !important; grid-column-gap:8px !important;
  }
  html body .hero-section .te-field{ display:block !important; }
  html body .hero-section .te-field span{ display:none !important; }
  html body .hero-section .te-field input{ width:100% !important; }
  html body .hero-section .te-submit{ grid-column:1 / -1 !important; width:100% !important; }
  html body .hero-section .te-title{ font-size:14px !important; margin:0 0 8px !important; letter-spacing:.5px !important; }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section .trophy-estimate-form{ padding:12px 4% 14px !important; }
}

/* ---------- 12. (v24) disabled links (BBB badge etc.) are fully inert everywhere ---------- */
a[href^="javascript:void"], .top-banner a[href^="javascript:void"]{
  pointer-events:none !important; cursor:default !important;
}

/* ---------- 13. (v25) services carousel slide titles: smaller + centered ---------- */
#services-scope .slider-text{ align-items:center !important; text-align:center !important; }
#services-scope .text-block-1313{
  text-align:center !important; align-items:center !important; justify-content:center !important;
  width:100% !important; font-size:26px !important; letter-spacing:1px !important;
}
#services-scope .button-wrap-svcs{ justify-content:center !important; }
@media (max-width:767px){
  #services-scope .text-block-1313{ font-size:17px !important; }
}

/* ---------- 14. (v26) new square nav logo: size for legibility ---------- */
img[src*="trophy-logo-nav"], .cf-brand-4 img[src*="trophy-logo-nav"]{ height:100px !important; width:auto !important; max-width:none !important; }
@media (max-width:767px){ img[src*="trophy-logo-nav"], .cf-brand-4 img[src*="trophy-logo-nav"]{ height:56px !important; } }

/* ---------- 15. (v27) hero sound toggle button ---------- */
.hero-sound-btn{
  position:absolute; z-index:6; right:18px; top:170px;
  width:44px; height:44px; border-radius:50%;
  border:1px solid #c8a04b; background:rgba(10,10,10,.6);
  color:#c8a04b; font-size:18px; cursor:pointer; line-height:1;
}
.hero-sound-btn:hover{ background:rgba(10,10,10,.85); }
@media (max-width:767px){ .hero-sound-btn{ top:112px; right:12px; width:38px; height:38px; font-size:15px; } }

/* ---------- 16. (v30) MOBILE hero: video band behind the headline; form fully BELOW the video ---------- */
@media (max-width:767px){
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section{
    position:relative !important; display:block !important; background:#0a0a0a !important;
    height:auto !important; min-height:0 !important;
  }
  /* video = top band, in normal flow */
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section .background-video{
    position:relative !important; inset:auto !important; display:block !important;
    width:100% !important; height:min(430px, 60vh) !important; z-index:0 !important;
  }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section .background-video video{
    position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important;
  }
  /* headline overlays the video band */
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-container{
    position:absolute !important; top:0 !important; left:0 !important; right:0 !important;
    height:min(430px, 60vh) !important; min-height:0 !important; z-index:2 !important;
    padding-top:96px !important; padding-bottom:14px !important;
    display:flex !important; flex-direction:column !important; justify-content:flex-start !important;
  }
  /* dark scrim only over the video band so the headline reads */
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section::before{
    display:block !important; content:'' !important; position:absolute !important;
    top:0 !important; left:0 !important; right:0 !important; height:min(430px, 60vh) !important;
    z-index:1 !important; pointer-events:none !important;
    background:linear-gradient(180deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.30) 55%, rgba(0,0,0,.05) 100%) !important;
  }
  /* form flows directly below the video band */
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section .trophy-estimate-bar{
    position:relative !important; z-index:2 !important; margin-top:0 !important;
  }
  html[data-wf-page="69a0fece54e4e673e0a1eb78"] body .hero-section .trophy-estimate-form{
    background:#0a0a0a !important;
  }
  .hero-sound-btn{ top:auto !important; bottom:12px !important; right:12px !important; }
}

/* ---------- 17. (v31) mobile carousel: stack slide buttons so they never leave the photo ---------- */
@media (max-width:767px){
  #services-scope .button-wrap-svcs{
    display:flex !important; flex-direction:column !important; align-items:center !important;
    width:100% !important; gap:8px !important; grid-row-gap:8px !important;
  }
  #services-scope .button-wrap-svcs .w-button{
    flex:0 0 auto !important; width:auto !important; min-width:180px !important; max-width:85% !important;
  }
}

/* ---------- 18. (v32) CTA section: photo background (Reid signing with customer) ---------- */
.cta-section{
  background-image:linear-gradient(rgba(10,10,10,.52), rgba(10,10,10,.52)), url('../images/cta-background.jpg') !important;
  background-size:auto, cover !important;
  background-position:0 0, 50% 35% !important;
  background-repeat:no-repeat !important;
}
