
.tcc-contact-page{
  --tcc-contact-section-title-size:var(--tcc-ds-section-title-desktop);
  --tcc-contact-body-font-size:var(--tcc-ds-body-size);
  --tcc-contact-form-label-size:14px;
  --tcc-contact-form-input-font-size:14px;
  --tcc-contact-form-field-height:var(--tcc-ds-input-height);
  --tcc-contact-form-textarea-height:108px;
  --tcc-contact-form-field-gap:10px;
  --tcc-contact-form-panel-padding:24px;
  background:#fff;
  color:#17110d;
  overflow-x:hidden
}
.tcc-contact-page .container{width:min(var(--tcc-container),calc(100% - 40px));margin-inline:auto}
.tcc-contact-eyebrow{margin:0 0 16px;color:#d6a04f;font-size:.76rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase}
.tcc-contact-page h1,.tcc-contact-page h2{font-family:Georgia,"Times New Roman",serif}


.tcc-contact-section{padding:var(--tcc-ds-section-space-desktop) 0}
.tcc-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:stretch}
.tcc-contact-info{display:flex;min-height:100%;flex-direction:column}
.tcc-contact-info h2,.tcc-contact-form-wrap h2{font-size:var(--tcc-type-section-title,var(--tcc-ds-section-title-desktop,30px));color:#0b2f25}
.tcc-contact-item{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid rgba(167,151,127,.24)}
.tcc-contact-item strong{color:#0b2f25}
.tcc-contact-item span,.tcc-contact-item a{color:#626962;font-size:var(--tcc-contact-body-font-size,15px);text-decoration:none}
.tcc-contact-social{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:28px}
.tcc-contact-social a{padding:10px 16px;border:1px solid #d8d0c3;border-radius:999px;color:#0b573f;font-weight:700;text-decoration:none}

.tcc-contact-form-wrap{display:flex;min-height:100%;flex-direction:column;padding:var(--tcc-contact-form-panel-padding,24px);border-radius:26px;background:#f4efe7}
.tcc-contact-form-wrap>h2{margin:0 0 8px}
.tcc-contact-form-wrap>p{margin:0;color:#686d67;font-size:var(--tcc-contact-body-font-size,15px)}
.tcc-contact-form{display:grid;flex:1;gap:calc(var(--tcc-contact-form-field-gap,12px) + 4px);margin-top:30px}
.tcc-contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--tcc-contact-form-field-gap,12px) + 4px)}
.tcc-contact-form label{display:grid;gap:7px;color:#0b2f25;font-size:var(--tcc-contact-form-label-size,15px);font-weight:700}
.tcc-contact-form input,.tcc-contact-form textarea{box-sizing:border-box;width:100%;border:1px solid #d8d0c3;border-radius:12px;background:#fff;padding:10px 14px;color:#17110d;font-size:var(--tcc-contact-form-input-font-size,15px)}
.tcc-contact-form input:not([type=hidden]){height:var(--tcc-contact-form-field-height,44px);min-height:var(--tcc-contact-form-field-height,44px)}
.tcc-contact-form textarea{height:var(--tcc-contact-form-textarea-height,120px);min-height:var(--tcc-contact-form-textarea-height,120px);resize:vertical}
.tcc-contact-form button{min-height:max(52px,var(--tcc-ds-button-height,44px));margin-top:2px;border:0;border-radius:var(--tcc-button-radius,999px);background:#d6a04f;color:#17110d;font-size:var(--tcc-ds-button-size,15px);font-weight:var(--tcc-ds-button-weight,700);cursor:pointer;transition:transform var(--tcc-ds-transition,220ms) ease,box-shadow var(--tcc-ds-transition,220ms) ease}
.tcc-contact-form button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(153,101,21,.18)}
.tcc-contact-alert{margin:20px 0;padding:14px 16px;border-radius:12px}
.tcc-contact-alert.success{background:#e1f3e8;color:#155c35}
.tcc-contact-alert.error{background:#fbe4e3;color:#8b1e1e}

.tcc-contact-map iframe{display:block;width:100%;height:520px;border:0}

@media(max-width:900px){
  .tcc-contact-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .tcc-contact-section{padding:var(--tcc-ds-section-space-mobile) 0}
  .tcc-contact-form-wrap{padding:26px 20px}
  .tcc-contact-form-row{grid-template-columns:1fr}
  .tcc-contact-map iframe{height:400px}
}

/* v1.1 — protect Contact sizing from global Theme Studio heading/form rules. */
html body .tcc-contact-page .tcc-contact-info>h2,
html body .tcc-contact-page .tcc-contact-form-wrap>h2{
  font-size:var(--tcc-type-section-title,var(--tcc-ds-section-title-desktop,30px))!important;
  line-height:1.12!important
}
html body .tcc-contact-page .tcc-contact-item :is(span,a),
html body .tcc-contact-page .tcc-contact-form-wrap>p{
  font-size:var(--tcc-contact-body-font-size,15px)!important;
  line-height:1.55!important
}
html body .tcc-contact-page .tcc-contact-form{
  gap:calc(var(--tcc-contact-form-field-gap,12px) + 4px)!important
}
html body .tcc-contact-page .tcc-contact-form-row{
  gap:calc(var(--tcc-contact-form-field-gap,12px) + 4px)!important
}
html body .tcc-contact-page .tcc-contact-form label{
  font-size:var(--tcc-contact-form-label-size,15px)!important;
  line-height:1.35!important
}
html body .tcc-contact-page .tcc-contact-form input:not([type=hidden]){
  box-sizing:border-box!important;
  height:var(--tcc-contact-form-field-height,44px)!important;
  min-height:var(--tcc-contact-form-field-height,44px)!important;
  padding:8px 14px!important;
  font-size:var(--tcc-contact-form-input-font-size,15px)!important;
  line-height:1.3!important
}
html body .tcc-contact-page .tcc-contact-form textarea{
  box-sizing:border-box!important;
  height:var(--tcc-contact-form-textarea-height,120px)!important;
  min-height:var(--tcc-contact-form-textarea-height,120px)!important;
  padding:10px 14px!important;
  font-size:var(--tcc-contact-form-input-font-size,15px)!important;
  line-height:1.45!important
}
html body .tcc-contact-page .tcc-contact-form-wrap{
  padding:var(--tcc-contact-form-panel-padding,24px)!important
}
@media(max-width:640px){
  html body .tcc-contact-page .tcc-contact-info>h2,
  html body .tcc-contact-page .tcc-contact-form-wrap>h2{
    font-size:var(--tcc-type-section-title,var(--tcc-ds-section-title-mobile,26px))!important
  }
  html body .tcc-contact-page .tcc-contact-form-wrap{
    padding:min(var(--tcc-contact-form-panel-padding,24px),22px)!important
  }
}

/* v1.3 — Contact CTA + universal CTA Media. */
.tcc-contact-cta{
  position:relative;
  overflow:hidden;
  margin:0;
  background:#063f31;
  color:#fff
}
.tcc-contact-cta__media,
.tcc-contact-cta__overlay{position:absolute;inset:0}
.tcc-contact-cta__media{
  background-image:var(--tcc-contact-cta-bg,none);
  background-size:cover;
  background-position:center
}
.tcc-contact-cta__overlay{
  background:linear-gradient(90deg,rgba(2,48,37,.98) 0%,rgba(2,48,37,.9) 46%,rgba(2,48,37,.58) 100%)
}
.tcc-contact-cta__inner{position:relative;z-index:2;padding-block:clamp(42px,5vw,76px)}
.tcc-contact-cta .tcc-universal-cta-layout{min-height:260px;align-items:center}
.tcc-contact-cta .tcc-universal-cta-copy{max-width:660px}
.tcc-contact-cta .tcc-contact-eyebrow{margin-bottom:12px;color:#e7bd72}
.tcc-contact-cta h2{
  margin:0;
  color:#fff;
  font-size:var(--tcc-ds-section-title-desktop);
  line-height:1.04;
  letter-spacing:-.025em
}
.tcc-contact-cta .tcc-universal-cta-copy>p:not(.tcc-contact-eyebrow){
  max-width:620px;
  margin:18px 0 0;
  color:rgba(255,255,255,.82);
  font-size:var(--tcc-ds-body-size);
  line-height:1.7
}
.tcc-contact-cta__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  margin-top:26px;
  padding:0 24px;
  border-radius:999px;
  background:#d39a32;
  color:#fff;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(0,0,0,.18)
}
.tcc-contact-cta__button:hover{color:#fff;transform:translateY(-1px)}
@media(max-width:760px){
  .tcc-contact-cta__overlay{background:linear-gradient(180deg,rgba(2,48,37,.96),rgba(2,48,37,.82))}
  .tcc-contact-cta .tcc-universal-cta-layout{min-height:0}
  .tcc-contact-cta h2{font-size:var(--tcc-ds-section-title-mobile)}
}


/* RC7.9.324 — Contact document-flow stability fix.
 * Restores a strict vertical page flow after the Hero Builder controls were
 * introduced. This block is intentionally scoped to the Contact page and
 * preserves every saved Hero Builder value. */
html body.page main.tcc-contact-page{
  display:block!important;
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin-inline:0!important;
  grid-template-columns:none!important;
  grid-template-rows:none!important;
  column-count:auto!important;
  column-width:auto!important;
  contain:none!important;
  isolation:auto!important;
  overflow-x:clip!important;
  overflow-y:visible!important;
}
html body.page main.tcc-contact-page > section{
  display:block;
  position:relative!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  inset:auto!important;
  translate:none!important;
  scale:none!important;
  rotate:none!important;
  transform:none!important;
}
html body.page main.tcc-contact-page > .tcc-contact-section{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
}
html body.page main.tcc-contact-page > .tcc-contact-cta{
  float:none!important;
  clear:both!important;
  transform:none!important;
}
/* Scroll/reveal engines may write inline transforms. Contact sections must
 * retain geometry while scrolling; visual motion remains available inside
 * each section without moving the section root itself. */
html body.page main.tcc-contact-page > section[style]{
  translate:none!important;
  scale:none!important;
  rotate:none!important;
  transform:none!important;
}


/* RC7.9.325 — top-contact icon containment.
 * Contact stage spacing ownership moved to RC7.9.331. */
html body.page main.tcc-contact-page .tcc-top-contact-polish__icon{display:none!important}
html body.page main.tcc-contact-page .tcc-top-contact-polish{display:inline!important}

/* RC7.9.331 — Contact information + form Physical Audit Authority.
 * Sole owner for this stage: compact typography, equal headings, compact fields,
 * information eyebrow badge, balanced cards and compact submit action. */
html body.page main.tcc-contact-page > .tcc-contact-section{
  padding:32px 0!important;
}
html body.page main.tcc-contact-page > .tcc-contact-section > .tcc-contact-grid{
  width:min(var(--tcc-ds-container-width,1200px),calc(100% - 40px))!important;
  max-width:var(--tcc-ds-container-width,1200px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)!important;
  gap:28px!important;
  align-items:stretch!important;
}
html body.page main.tcc-contact-page .tcc-contact-info,
html body.page main.tcc-contact-page .tcc-contact-form-wrap{
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:0!important;
  padding:26px 28px!important;
  border:1px solid rgba(7,82,61,.10)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(20,52,42,.07)!important;
}
html body.page main.tcc-contact-page .tcc-contact-info__badge{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  min-height:28px!important;
  margin:0 0 9px!important;
  padding:6px 12px!important;
  border:1px solid rgba(214,160,79,.85)!important;
  border-radius:999px!important;
  background:rgba(214,160,79,.12)!important;
  color:#b97816!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.16em!important;
}
html body.page main.tcc-contact-page .tcc-contact-info>h2,
html body.page main.tcc-contact-page .tcc-contact-form-wrap>h2{
  min-height:auto!important;
  margin:0 0 8px!important;
  color:#0b573f!important;
  font-size:32px!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:-.02em!important;
}
html body.page main.tcc-contact-page .tcc-contact-form-wrap>p{
  margin:0!important;
  color:#697069!important;
  font-size:14px!important;
  line-height:1.5!important;
}
html body.page main.tcc-contact-page .tcc-contact-item{
  gap:3px!important;
  padding:10px 0!important;
  border-bottom:1px solid rgba(167,151,127,.15)!important;
}
html body.page main.tcc-contact-page .tcc-contact-item strong{font-size:14px!important;line-height:1.35!important}
html body.page main.tcc-contact-page .tcc-contact-item :is(span,a){font-size:14px!important;line-height:1.48!important}
html body.page main.tcc-contact-page .tcc-contact-social{margin-top:auto!important;padding-top:14px!important}
html body.page main.tcc-contact-page .tcc-contact-social a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 22px!important;
  border:1px solid #c3821c!important;
  border-radius:999px!important;
  background:#d6a04f!important;
  color:#17342b!important;
  box-shadow:0 8px 18px rgba(153,101,21,.12)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease!important;
}
html body.page main.tcc-contact-page .tcc-contact-social a:hover{
  transform:translateY(-2px)!important;
  border-color:#b87512!important;
  background:#c98f35!important;
  color:#17342b!important;
  box-shadow:0 12px 26px rgba(153,101,21,.22)!important;
}
html body.page main.tcc-contact-page .tcc-contact-social a:active{
  transform:translateY(0)!important;
  box-shadow:0 5px 12px rgba(153,101,21,.14)!important;
}
html body.page main.tcc-contact-page .tcc-contact-social a:focus-visible{
  outline:3px solid rgba(214,160,79,.28)!important;
  outline-offset:3px!important;
}
html body.page main.tcc-contact-page .tcc-contact-form{
  display:grid!important;
  flex:0 0 auto!important;
  gap:12px!important;
  margin-top:18px!important;
}
html body.page main.tcc-contact-page .tcc-contact-form-row{gap:12px!important}
html body.page main.tcc-contact-page .tcc-contact-form label{gap:5px!important;font-size:14px!important;line-height:1.3!important}
html body.page main.tcc-contact-page .tcc-contact-form input:not([type=hidden]){
  height:40px!important;
  min-height:40px!important;
  padding:7px 12px!important;
  border-radius:10px!important;
  font-size:14px!important;
}
html body.page main.tcc-contact-page .tcc-contact-form textarea{
  height:104px!important;
  min-height:104px!important;
  padding:9px 12px!important;
  border-radius:10px!important;
  font-size:14px!important;
}
html body.page main.tcc-contact-page .tcc-contact-form button{
  justify-self:start!important;
  width:auto!important;
  min-width:150px!important;
  min-height:42px!important;
  margin-top:2px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:#d6a04f!important;
  color:#17342b!important;
  border:1px solid #c3821c!important;
  box-shadow:0 8px 18px rgba(153,101,21,.12)!important;
  font-size:14px!important;
  font-weight:700!important;
  cursor:pointer!important;
  transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,border-color .25s ease!important;
}
html body.page main.tcc-contact-page .tcc-contact-form button:hover{
  transform:translateY(-2px)!important;
  border-color:#b87512!important;
  background:#c98f35!important;
  color:#17342b!important;
  box-shadow:0 12px 26px rgba(153,101,21,.22)!important;
}
html body.page main.tcc-contact-page .tcc-contact-form button:active{
  transform:translateY(0)!important;
  box-shadow:0 5px 12px rgba(153,101,21,.14)!important;
}
html body.page main.tcc-contact-page .tcc-contact-form button:focus-visible{
  outline:3px solid rgba(214,160,79,.28)!important;
  outline-offset:3px!important;
}
@media(max-width:900px){
  html body.page main.tcc-contact-page > .tcc-contact-section > .tcc-contact-grid{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  html body.page main.tcc-contact-page > .tcc-contact-section{padding:26px 0!important}
  html body.page main.tcc-contact-page > .tcc-contact-section > .tcc-contact-grid{width:calc(100% - 32px)!important;gap:20px!important}
  html body.page main.tcc-contact-page .tcc-contact-info,
  html body.page main.tcc-contact-page .tcc-contact-form-wrap{padding:22px!important}
  html body.page main.tcc-contact-page .tcc-contact-info>h2,
  html body.page main.tcc-contact-page .tcc-contact-form-wrap>h2{font-size:28px!important}
  html body.page main.tcc-contact-page .tcc-contact-form button{width:100%!important;justify-self:stretch!important}
}

/* RC43.1146 — Contact Hero selector consolidation.
 * All superseded generic Contact Hero declarations were removed. The block below
 * is the sole runtime geometry/composition selector authority for Contact Hero. */

/* RC7.9.330 — Contact Hero Physical Audit Authority.
 * Sole frontend owner for Contact Hero geometry, typography and eyebrow.
 * Legacy shared hero engines explicitly exclude .tcc-contact-hero. */
html body.page main.tcc-contact-page > section.tcc-contact-hero{
  display:flex!important;
  position:relative!important;
  width:100%!important;
  height:520px!important;
  min-height:520px!important;
  margin:0!important;
  align-items:stretch!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#07110d!important;
  color:#fff!important;
}
html body.page main.tcc-contact-page > .tcc-contact-hero .tcc-contact-hero__media,
html body.page main.tcc-contact-page > .tcc-contact-hero .tcc-contact-hero__overlay{
  position:absolute!important;
  inset:0!important;
}
html body.page main.tcc-contact-page > .tcc-contact-hero .tcc-contact-hero__media{
  z-index:0!important;
  background-image:var(--contact-bg)!important;
  background-position:var(--tcc-media-anchor-x,50%) var(--tcc-media-position-y,50%)!important;
  background-size:var(--tcc-media-fit,var(--tcc-contact-bg-size,cover))!important;
  background-repeat:no-repeat!important;
  transform:scale(var(--tcc-media-zoom,1));
  transform-origin:var(--tcc-media-anchor-x,50%) var(--tcc-media-position-y,50%)!important;
}
html body.page main.tcc-contact-page > .tcc-contact-hero .tcc-contact-hero__overlay{
  z-index:1!important;
  background:linear-gradient(90deg,rgba(3,11,8,.90) 0%,rgba(3,11,8,.76) 42%,rgba(3,11,8,.34) 68%,rgba(3,11,8,.16) 100%)!important;
}
html body.page main.tcc-contact-page > .tcc-contact-hero .tcc-contact-hero__inner{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  box-sizing:border-box!important;
  width:min(var(--tcc-ds-container-width,1200px),calc(100% - 48px))!important;
  max-width:1200px!important;
  height:100%!important;
  margin:0 auto!important;
  padding:24px 0 24px 20px!important;
  text-align:left!important;
}
html body.page main.tcc-contact-page > .tcc-contact-hero .tcc-contact-eyebrow.is-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  min-height:34px!important;
  margin:0 0 20px!important;
  padding:8px 16px!important;
  border:1px solid var(--tcc-contact-hero-eyebrow-border,var(--tcc-accent,#d9a13a))!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.58)!important;
  color:var(--tcc-contact-hero-eyebrow-color,var(--tcc-accent,#d9a13a))!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  backdrop-filter:none!important;
}
html body.page main.tcc-contact-page > .tcc-contact-hero h1{
  width:auto!important;
  max-width:820px!important;
  margin:0!important;
  color:#fff!important;
  font-family:var(--tcc-ds-font-heading,Georgia,"Times New Roman",serif)!important;
  font-size:clamp(48px,4.15vw,64px)!important;
  font-weight:600!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  text-shadow:0 3px 22px rgba(0,0,0,.34)!important;
}
html body.page main.tcc-contact-page > .tcc-contact-hero .tcc-contact-hero__inner > p:last-child{
  width:auto!important;
  max-width:680px!important;
  margin:26px 0 0!important;
  color:rgba(255,255,255,.86)!important;
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.62!important;
  letter-spacing:0!important;
}
@media(max-width:1024px){
  html body.page main.tcc-contact-page > section.tcc-contact-hero{height:470px!important;min-height:470px!important}
  html body.page main.tcc-contact-page > .tcc-contact-hero h1{max-width:720px!important;font-size:clamp(44px,6vw,54px)!important}
  html body.page main.tcc-contact-page > .tcc-contact-hero .tcc-contact-hero__inner > p:last-child{max-width:620px!important;font-size:17px!important}
}
@media(max-width:767px){
  html body.page main.tcc-contact-page > section.tcc-contact-hero{height:430px!important;min-height:430px!important}
  html body.page main.tcc-contact-page > .tcc-contact-hero .tcc-contact-hero__inner{width:calc(100% - 32px)!important;padding:28px 0!important}
  html body.page main.tcc-contact-page > .tcc-contact-hero .tcc-contact-eyebrow.is-badge{margin-bottom:16px!important;padding:7px 13px!important;font-size:11px!important}
  html body.page main.tcc-contact-page > .tcc-contact-hero h1{max-width:100%!important;font-size:clamp(36px,10.5vw,46px)!important;line-height:1.04!important}
  html body.page main.tcc-contact-page > .tcc-contact-hero .tcc-contact-hero__inner > p:last-child{max-width:100%!important;margin-top:20px!important;font-size:16px!important;line-height:1.55!important}
}


/* RC7.9.334 — Contact CTA compact Homepage authority.
 * Sole owner for Contact CTA geometry and content rhythm.
 * Runtime audit RC7.9.333 measured 528.41px because global section padding
 * and the CTA inner/layout heights accumulated. This authority resets the
 * section padding and restores the compact Homepage CTA proportion. */
html body.page main.tcc-contact-page > section.tcc-contact-cta{
  width:min(var(--tcc-ds-container-width,1200px),calc(100% - 40px))!important;
  height:auto!important;
  min-height:0!important;
  margin:32px auto 26px!important;
  padding:0!important;
  border:1px solid rgba(7,82,61,.12)!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#063f31!important;
  box-shadow:0 18px 54px rgba(18,32,27,.10)!important;
}
html body.page main.tcc-contact-page > .tcc-contact-cta .tcc-contact-cta__inner{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  min-height:280px!important;
  padding:32px 54px!important;
  box-sizing:border-box!important;
}
/* RC43.1139 — Contact CTA media-state geometry.
 * No-image and Image CTA Card retain Contact's compact single-column rhythm.
 * Standard CTA Card with inline media now inherits the shared CTA Builder grid
 * instead of forcing that grid into flex, which previously let the media child
 * shrink the copy column and wrap otherwise-fitting Contact CTA text. */
html body.page main.tcc-contact-page > .tcc-contact-cta.no-cta-image .tcc-universal-cta-layout,
html body.page main.tcc-contact-page > .tcc-contact-cta.no-cta-image .tcc-universal-cta-layout.media-left,
html body.page main.tcc-contact-page > .tcc-contact-cta.tcc-image-cta-card .tcc-universal-cta-layout,
html body.page main.tcc-contact-page > .tcc-contact-cta.tcc-image-cta-card .tcc-universal-cta-layout.media-left{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-height:0!important;
  gap:0!important;
}
html body.page main.tcc-contact-page > .tcc-contact-cta .tcc-universal-cta-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  width:min(100%,610px)!important;
  max-width:610px!important;
  margin:0!important;
  transform:none!important;
  text-align:left!important;
}
html body.page main.tcc-contact-page > .tcc-contact-cta.tcc-standard-cta-card.has-cta-image .tcc-universal-cta-layout,
html body.page main.tcc-contact-page > .tcc-contact-cta.tcc-standard-cta-card.has-cta-image .tcc-universal-cta-layout.media-left{
  padding-inline:0!important;
}
html body.page main.tcc-contact-page > .tcc-contact-cta.tcc-standard-cta-card.has-cta-image .tcc-universal-cta-copy{
  width:100%!important;
  max-width:none!important;
}
html body.page main.tcc-contact-page > .tcc-contact-cta .tcc-contact-eyebrow.is-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  min-height:30px!important;
  margin:0 0 14px!important;
  padding:6px 13px!important;
  border:1px solid var(--tcc-accent,#d6a04f)!important;
  border-radius:999px!important;
  background:rgba(214,160,79,.10)!important;
  color:var(--tcc-accent,#e8b750)!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
html body.page main.tcc-contact-page > .tcc-contact-cta h2{
  max-width:580px!important;
  margin:0!important;
  color:#fff!important;
  font-size:var(--tcc-type-section-title,var(--tcc-ds-section-title-desktop,30px))!important;
  font-weight:var(--tcc-heading-weight,700)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
html body.page main.tcc-contact-page > .tcc-contact-cta .tcc-universal-cta-copy > p:not(.tcc-contact-eyebrow){
  max-width:560px!important;
  margin:14px 0 0!important;
  color:rgba(255,255,255,.82)!important;
  font-size:16px!important;
  line-height:1.58!important;
}
html body.page main.tcc-contact-page > .tcc-contact-cta .tcc-contact-cta__button{
  min-height:42px!important;
  margin-top:20px!important;
  padding:0 21px!important;
  border:1px solid #c3821c!important;
  border-radius:999px!important;
  background:#d6a04f!important;
  color:#17342b!important;
  box-shadow:0 8px 18px rgba(153,101,21,.16)!important;
  font-size:14px!important;
  font-weight:800!important;
  transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease!important;
}
html body.page main.tcc-contact-page > .tcc-contact-cta .tcc-contact-cta__button:hover{
  transform:translateY(-2px)!important;
  background:#c98f35!important;
  color:#17342b!important;
  box-shadow:0 12px 26px rgba(153,101,21,.24)!important;
}
@media(max-width:767px){
  html body.page main.tcc-contact-page > section.tcc-contact-cta{
    width:calc(100% - 32px)!important;
    margin:24px auto 24px!important;
    padding:0!important;
    border-radius:22px!important;
  }
  html body.page main.tcc-contact-page > .tcc-contact-cta .tcc-contact-cta__inner{
    min-height:0!important;
    padding:30px 22px!important;
  }
  html body.page main.tcc-contact-page > .tcc-contact-cta .tcc-universal-cta-layout,
  html body.page main.tcc-contact-page > .tcc-contact-cta .tcc-universal-cta-layout.media-left{min-height:0!important}
  html body.page main.tcc-contact-page > .tcc-contact-cta .tcc-universal-cta-copy{transform:none!important}
  html body.page main.tcc-contact-page > .tcc-contact-cta h2{font-size:var(--tcc-type-section-title,var(--tcc-ds-section-title-mobile,26px))!important}
  html body.page main.tcc-contact-page > .tcc-contact-cta .tcc-universal-cta-copy > p:not(.tcc-contact-eyebrow){font-size:15px!important}
}

/* RC43.62 — Contact company heading Homepage hierarchy authority.
 * Company name is a section heading, not a page/hero display title.
 * Inherit the frozen Homepage section-title token across VI / EN / ZH. */
html body.page main.tcc-contact-page .tcc-contact-info > h2{
  font-size:var(--tcc-type-section-title,var(--tcc-ds-section-title-desktop,30px))!important;
  font-weight:var(--tcc-heading-weight,700)!important;
  line-height:1.12!important;
  letter-spacing:var(--tcc-heading-tracking,0em)!important;
}


/* RC43.1142 — Contact Hero single-focal-point responsive authority.
 * Admin edits one Desktop composition only. The same canonical X/Y anchor and
 * zoom are intentionally inherited on tablet/mobile, while CSS `cover`
 * recalculates crop geometry automatically for each viewport. This prevents
 * hidden tablet/mobile overrides from making a Desktop edit appear ineffective. */
.tcc-contact-hero__overlay{display:var(--tcc-media-overlay-display,block)}
.tcc-contact-hero[style*="--tcc-media-overlay-mode"] .tcc-contact-hero__overlay{background:var(--tcc-media-overlay)!important}
