:root{
  --bg:#f5efe6;
  --focus:#1f6feb;
}
*{box-sizing:border-box;}
html, body{height:100%;}
body{
  margin:0;
  background:var(--bg);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}
.page{max-width:1400px;margin:0 auto;}
.img-wrap{position:relative;}
.img-wrap img{width:100%;height:auto;display:block;}
.hotspot{position:absolute;display:block;z-index:10;background:transparent;text-indent:-9999px;cursor:pointer;}
.hotspot:focus{outline:3px solid var(--focus);outline-offset:2px;}

/* === TPS UNIFORM BANNERS START === */
.tps-header {
  width: 100%;
  background: #2f3f37;
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.tps-header-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.tps-brand img {
  height: 54px;
  width: auto;
  display: block;
}
.tps-nav {
  display: flex;
  gap: 18px;
  align-items: center;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.tps-nav a {
  color: #f5f2ea;
  text-decoration: none;
  font-size: 18px;
  letter-spacing: 0.5px;
}
.tps-nav a:hover {
  text-decoration: underline;
}
.tps-footer {
  width: 100%;
  background: #2f3f37;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.tps-footer-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.tps-footer-logo img {
  height: 52px;
  width: auto;
  display: block;
}
.tps-footer-text {
  color: rgba(245,242,234,0.85);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 14px;
  text-align: center;
}
/* Make page images responsive but never upscale beyond native width */
.img-wrap img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.page {
  width: 100%;
}
/* === TPS UNIFORM BANNERS END === */

/*
  Crop the top strip that is baked into the page images
  (logo + "Services | Contact" inside the image).
  This prevents 3 logos / duplicated navigation.
  NOTE: Home page intentionally does NOT use this class.
*/
.tps-crop-top{
  --tps-crop-top: 170px;
}

.tps-crop-top .img-wrap{
  overflow: hidden;
}

.tps-crop-top .img-wrap > img{
  display: block;
  /* Visually clip away the baked header strip */
  clip-path: inset(var(--tps-crop-top) 0 0 0);
  /* Pull the remaining content up so we don't leave dead space */
  margin-top: calc(var(--tps-crop-top) * -1);
}

