
body .sf-band:is(#contact, #cta),
body.zx.zx-deck .zx section.sf-band:is(#contact, #cta),
body.ar-site.sv-page main .sf-band:is(#contact, #cta) {
  --sf-bg: #f5f7fa;
  --sf-ink: #15294b;
  --sf-blue: #1763b5;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 456px;
  margin: 0;
  padding: 64px 24px;
  
  padding-block: 64px !important;
  background: var(--sf-bg);
  color: var(--sf-ink);
  text-align: center;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  scroll-margin-top: 120px;
}
.sf-band *, .sf-band *::before, .sf-band *::after { box-sizing: border-box; }
.sf-band .sf-inner { width: 100%; max-width: 1240px; min-width: 0; margin: 0 auto; }
body .sf-band:is(#contact, #cta) #sf-band-title {
  max-width: 1100px;
  margin: 0 auto;
  font-size: 36px !important;
  line-height: 1.4 !important;
  letter-spacing: normal;
  color: var(--sf-ink) !important;
}
body section.sf-band:is(#contact, #cta) .sf-inner > p.sf-copy {
  max-width: 720px !important;
  margin: 16px auto 24px;
  margin-inline: auto !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: normal;
  text-wrap: pretty;
  color: var(--sf-ink) !important;
}

body section.sf-band:is(#contact, #cta) .sf-inner > p.sf-copy,
body section.sf-band:is(#contact, #cta) .sf-actions > a.sf-button {
  font-family: "ZipAI Site Text", "IBM Plex Sans Thai", Arial, sans-serif !important;
}
body .sf-actions {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}
body .sf-actions > .sf-button,
body .sf-band:is(#contact, #cta) .sf-actions > .sf-button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  min-height: 56px;
  padding: 12px 24px;
  border: 1.5px solid var(--sf-blue, var(--agency-blue, var(--zx-sky-ink)));
  border-radius: 12px;
  background: transparent;
  color: var(--sf-ink, var(--agency-ink, var(--zx-ink)));
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
  white-space: normal;
  box-shadow: none;
  transform: none;
  animation: none;
  transition: none;
}
body .sf-actions > .sf-primary,
body .sf-band:is(#contact, #cta) .sf-actions > .sf-primary {
  background: var(--sf-blue, var(--agency-blue, var(--zx-sky-ink)));
  color: var(--sf-bg, var(--agency-paper, var(--zx-cream)));
}

body .sf-band:is(#contact, #cta) a.sf-button,
body .sf-band:is(#contact, #cta) a.sf-button:is(:visited, :hover, :focus-visible) {
  color: #15294b !important;
  background: transparent !important;
  border: 1.5px solid #1763b5 !important;
  border-radius: 999px !important;
}
body .sf-band:is(#contact, #cta) a.sf-button.sf-primary,
body .sf-band:is(#contact, #cta) a.sf-button.sf-primary:is(:visited, :hover, :focus-visible) {
  color: #ffffff !important;
  background: #1763b5 !important;
}
body .sf-band:is(#contact, #cta) a.sf-button:focus-visible,
body .sf-band:is(#contact, #cta) details.sf-more > summary:focus-visible {
  outline: 3px solid #15294b !important;
  outline-offset: 4px !important;
}
body .sf-actions > .sf-button::before,
body .sf-actions > .sf-button::after { content: none; }
body .sf-actions > .sf-button > span {
  transform: none;
  transition: none;
}
body .sf-actions > .sf-button:focus-visible,
body .sf-more > summary:focus-visible {
  outline: 3px solid var(--sf-ink, var(--agency-ink, var(--zx-ink)));
  outline-offset: 4px;
}
body .sf-band:is(#contact, #cta) .sf-hours {
  display: block;
  margin: 16px auto 0;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--agency-ink, var(--zx-ink));
}
body .sf-band#contact .sf-anchor#cta {
  display: block;
  width: 0;
  height: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
  overflow: hidden;
  scroll-margin-top: 120px;
}
body .sf-band .sf-more {
  max-width: 896px;
  margin: 16px auto 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--agency-ink, var(--zx-ink));
}
body .sf-band:is(#contact, #cta) details.sf-more > summary {
  display: list-item;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  font-size: 16px;
  line-height: 1.6;
  list-style: disclosure-closed inside;
  color: #15294b !important;
  background: transparent !important;
  border: 0 !important;
  cursor: pointer !important;
  min-height: 44px !important;
  box-shadow: none !important;
}
body .sf-band .sf-more[open] > summary { list-style-type: disclosure-open; }
body .sf-band .sf-more > summary::-webkit-details-marker { display: inline; }
body .sf-band .sf-more > summary::before,
body .sf-band .sf-more > summary::after { content: none; }
body .sf-band .ar-contact-area { width: 100%; margin: 24px auto 0; }
body .sf-band :is(.ar-contact-form > label, .ar-field-row > label, .ar-service-options label, .ar-form-note) {
  color: var(--agency-ink, var(--zx-ink));
}
.sf-band :is(fieldset, label, input, textarea) { min-width: 0; max-width: 100%; }

body p.sf-related {
  margin: 16px auto;
  padding: 0 24px;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #526078 !important;
  text-align: center;
}
body p.sf-related a {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  color: inherit !important;
  text-decoration: underline !important;
}


body.agency-home section.ag-hero { padding: 32px 0 !important; min-height: 0; }
body.agency-home .ag-hero > .ag-wrap { width: calc(100% - 48px); max-width: 1240px; }
body.agency-home .ag-hero h1 {
  font-size: clamp(38px, 4.3vw, 62px) !important;
  line-height: 1.25 !important;
  margin: 0 auto;
}
body.agency-home .ag-hero .ag-intro {
  max-width: 960px;
  margin: 12px auto 0;
  font-size: 18px !important;
  line-height: 1.6 !important;
}
body.agency-home .ag-hero .ar-hero-subtitle {
  margin: 16px auto 0;
  font-size: 28px !important;
  line-height: 1.4 !important;
}
body.agency-home .ag-hero .ar-lead { margin: 20px auto 0; box-shadow: none; }
body.agency-home .ag-hero .ag-actions { margin: 16px auto 24px; gap: 12px; }
body.agency-home .ag-hero .ag-hero-media {
  width: 100%;
  height: 200px;
  min-height: 0;
  margin: 0 auto;
  aspect-ratio: auto;
  box-shadow: none !important;
}
body.agency-home .ag-hero-media::before,
body.agency-home .ag-hero-media::after { content: none !important; }
body.agency-home .ag-hero-media picture { display: block; width: 100%; height: 100%; }
body.agency-home .ag-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 46%; }
body.agency-home .ag-hero-media figcaption { padding: 20px 24px; }
body.agency-home .sf-address { width: calc(100% - 48px); max-width: 1240px; margin: 16px auto; }


body.agency-home:has(section.ag-hero) main section.ar-platform-strip {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 116px;
  margin: 0;
  padding: 24px;
}
body.agency-home:has(section.ag-hero) main section.ar-platform-strip h2 {
  flex: 0 0 220px;
  max-width: 220px;
  margin: 0;
  font-size: 20px !important;
  line-height: 1.4 !important;
  text-align: left;
}
body.agency-home:has(section.ag-hero) .ar-platform-strip .ar-platform-window { flex: 0 1 996px; min-width: 0; margin: 0; overflow-x: auto; }
body.agency-home:has(section.ag-hero) .ar-platform-strip .ar-platform-rail {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 16px;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: visible;
  animation: none;
  transform: none;
}
body.agency-home:has(section.ag-hero) .ar-platform-strip .ar-platform-rail > div { flex: 0 0 auto; min-width: 0; gap: 8px; font-size: 14px; white-space: nowrap; }
body.agency-home:has(section.ag-hero) .ar-platform-strip .ar-platform-rail img { width: 32px; height: 32px; }
body.agency-home .ar-platform-rail > [aria-hidden="true"],
body.agency-home .ar-platform-strip .ar-motion-toggle { display: none; }

@media (max-width: 767px) {
  body .sf-band:is(#contact, #cta),
  body.zx.zx-deck .zx section.sf-band:is(#contact, #cta),
  body.ar-site.sv-page main .sf-band:is(#contact, #cta) { min-height: 0; padding: 48px 20px; padding-block: 48px !important; }
  body .sf-band:is(#contact, #cta) #sf-band-title { font-size: 33px !important; }
  body section.sf-band:is(#contact, #cta) .sf-inner > p.sf-copy { font-size: 17px !important; }
  body .sf-actions, body.agency-home .ag-hero .sf-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
  body .sf-actions > .sf-button,
  body .sf-band:is(#contact, #cta) .sf-actions > .sf-button { width: 100%; min-height: 52px; padding: 12px 8px; font-size: 16px; }
  body .sf-actions > .sf-primary,
  body .sf-band:is(#contact, #cta) .sf-actions > .sf-primary { grid-column: 1 / -1; min-height: 72px; }
  body.agency-home .ag-hero > .ag-wrap { width: calc(100% - 40px); }
  body.agency-home .ag-hero .ar-hero-subtitle { font-size: 24px !important; }
  body.agency-home .ag-hero .ag-hero-media { height: 180px; }
  body.agency-home .ag-hero-media figcaption { padding: 16px; }
  body.agency-home .ag-hero-media figcaption strong { font-size: 20px; }
  body.agency-home .sf-address { width: calc(100% - 40px); }
  body.agency-home:has(section.ag-hero) main section.ar-platform-strip { min-height: 0; padding: 16px 20px; gap: 16px; }
  body.agency-home:has(section.ag-hero) main section.ar-platform-strip h2 { flex-basis: 140px; max-width: 140px; font-size: 16px !important; }
  body.agency-home:has(section.ag-hero) .ar-platform-strip .ar-platform-rail { width: max-content; gap: 24px; }
}
.call-hours{display:block;font-size:12px;line-height:1.5;opacity:.8;margin-top:2px}
span.call-hours{display:inline}
body.ar-site .ar-utility .ar-utility-phone{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
body.ar-site .ar-utility .ar-call-hours{display:inline;font-size:14px;line-height:1.5;opacity:.8;margin:0}
@media(min-width:761px){body.ar-site .ar-utility{gap:16px}body.ar-site .ar-utility>div{gap:16px;white-space:nowrap}}
@media(max-width:760px){body.ar-site .ar-utility .ar-utility-phone{display:none}}

.byline-avatar {
  display: inline-block;
  width: 48px;
  height: 48px;
  max-width: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: 50% 18%;
  vertical-align: middle;
  margin-right: 8px;
}
