/* Office Shine page patterns: scoped to inserted patterns only. */
.tos-pat {
  --tos-pat-ink: #202124;
  --tos-pat-accent: #f24b40;
  color: var(--tos-pat-ink);
  font-family: Montserrat, Arial, sans-serif;
  max-width: 1240px !important;
  margin: 0 auto;
  padding: 24px clamp(18px, 4vw, 54px) 90px;
  box-sizing: border-box;
}
.tos-pat *,
.tos-pat *::before,
.tos-pat *::after {
  box-sizing: border-box;
}
.tos-pat .tos-pat-intro {
  max-width: 900px;
  margin: 35px 0 64px;
}
.tos-pat .tos-pat-eyebrow {
  font-size: 12px;
  letter-spacing: 0.17em;
  font-weight: 800;
  color: var(--tos-pat-accent);
  margin-bottom: 17px;
}
.tos-pat h2 {
  font-size: clamp(29px, 4vw, 52px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.15;
  margin: 0 0 22px;
}
.tos-pat h3 {
  font-size: clamp(19px, 2vw, 24px);
  font-weight: 800;
  line-height: 1.3;
  margin: 0 0 14px;
}
.tos-pat p {
  font-size: clamp(15px, 1.5vw, 17px);
  line-height: 1.8;
  margin: 0 0 18px;
}
.tos-pat .tos-pat-lead {
  font-size: clamp(17px, 2vw, 21px);
  max-width: 780px;
}
.tos-pat .tos-pat-columns {
  gap: clamp(24px, 5vw, 72px);
  align-items: center;
  margin: 0 0 95px;
}
.tos-pat .tos-pat-columns > .wp-block-column {
  min-width: 0;
}
.tos-pat .tos-pat-photo {
  margin: 0;
  overflow: hidden;
  border-radius: 54px 0 54px 0;
}
.tos-pat .tos-pat-photo img {
  display: block;
  width: 100%;
  height: clamp(310px, 34vw, 490px);
  object-fit: cover;
}
.tos-pat .tos-pat-section {
  margin: 55px 0 90px;
}
.tos-pat .tos-pat-tile,
.tos-pat .tos-pat-contact-card {
  padding: clamp(24px, 3vw, 40px);
  background: #f4f5f4;
  border-radius: 34px 0 34px 0;
  min-height: 185px;
}
.tos-pat .tos-pat-contact-grid {
  gap: 20px;
  align-items: stretch;
  margin-top: 28px;
}
.tos-pat .tos-pat-contact-grid > .wp-block-column {
  min-width: 0;
}
.tos-pat .tos-pat-contact-card {
  height: 100%;
  min-height: 250px;
}
.tos-pat .tos-pat-contact-card p {
  overflow-wrap: anywhere;
}
.tos-pat .tos-pat-contact-card a {
  color: #a52e28;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-weight: 700;
}
.tos-pat .tos-pat-contact-symbol {
  font-size: 42px;
  line-height: 1.1;
  color: var(--tos-pat-accent);
  font-weight: 800;
  margin-bottom: 24px;
}
.tos-pat .tos-pat-cta {
  padding: clamp(28px, 5vw, 65px);
  background: #242424;
  color: #fff;
  border-radius: 52px 0 52px 0;
  margin-top: 60px;
}
.tos-pat .tos-pat-cta h2,
.tos-pat .tos-pat-cta p {
  color: #fff;
}
.tos-pat .tos-pat-button .wp-block-button__link {
  background: var(--tos-pat-accent);
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  text-decoration: none;
  border-radius: 28px 0 28px 0;
  padding: 17px 26px;
  transition: background 0.2s ease;
}
.tos-pat .tos-pat-button .wp-block-button__link:hover {
  background: #d9362b;
}
@media (max-width: 781px) {
  .tos-pat {
    padding: 18px 20px 65px;
  }
  .tos-pat .tos-pat-intro {
    margin: 25px 0 40px;
  }
  .tos-pat .tos-pat-columns {
    gap: 24px;
    margin-bottom: 60px;
  }
  .tos-pat .tos-pat-photo img {
    height: 420px;
  }
  .tos-pat .tos-pat-section {
    margin: 40px 0 60px;
  }
  .tos-pat .tos-pat-contact-grid {
    gap: 16px;
  }
}
@media (max-width: 520px) {
  .tos-pat .tos-pat-photo img {
    height: 360px;
  }
  .tos-pat .tos-pat-contact-card {
    min-height: 0;
  }
  .tos-pat .tos-pat-cta {
    padding: 30px 22px;
  }
}

/* Contact cards and editorial enhancements - v1.0.57 */
.tos-pat .tos-pat-contact-card{height:100%;min-height:250px}.tos-pat .tos-pat-contact-symbol{font-family:Arial,sans-serif;font-size:34px;line-height:1.2;font-weight:500}.tos-pat .tos-pat-contact-card h2{font-size:clamp(22px,2vw,28px)}.tos-pat .tos-pat-contact-card a{overflow-wrap:anywhere}.tos-pat .tos-pat-tile{margin:20px 0 24px}.tos-pat .tos-pat-tile h2{font-size:clamp(22px,2.5vw,30px)}@media(max-width:781px){.tos-pat .tos-pat-contact-card{min-height:0}}

/* v1.0.58: WhatsApp icon without altering core/paragraph save markup */
.tos-pat .tos-pat-contact-symbol.tos-whatsapp-icon{font-size:0!important;line-height:1;display:flex;align-items:center;min-height:38px}
.tos-pat .tos-pat-contact-symbol.tos-whatsapp-icon::before{content:"";display:block;width:34px;height:34px;background:currentColor;-webkit-mask:url("icons/whatsapp.svg?v=1.0.66") center/contain no-repeat;mask:url("icons/whatsapp.svg?v=1.0.66") center/contain no-repeat}

/* v1.0.66: Font Awesome Brands WhatsApp icon, loaded from theme local asset. */
.tos-pat .tos-pat-contact-symbol.tos-whatsapp-icon{color:#f34e45!important}
