/* Standalone fallback for pre-Stage 4 Vite builds. */
dialog.t-public-contact-sheet {
    background: #fffdfa;
    color: var(--color-ink-950);
    border: 1px solid #eadfc9;
  }
  .t-public-contact-sheet .t-dialog-head {
    min-block-size: 3.9rem;
    background: #fffdfa;
  }
  .t-public-contact-sheet .t-dialog-title {
    font-size: 1.03rem;
    font-weight: 830;
  }
  .t-public-contact-sheet .t-dialog-body {
    max-block-size: calc(92dvh - 5.2rem);
    padding: 1rem;
  }
  .t-public-contact-panel { display: grid; gap: .95rem; min-inline-size: 0; }
  .t-public-contact-panel :is(a, button):focus-visible,
  .t-public-contact-trigger:focus-visible, .t-footer-contact-more:focus-visible {
    outline: 3px solid #a77618;
    outline-offset: 3px;
  }
  .t-public-contact-intro {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
    border: 1px solid #eedcba;
    border-radius: 1.1rem;
    background: linear-gradient(145deg, #fff9ea, #fffefd 75%);
    padding: 1rem;
  }
  .t-public-contact-intro > div { min-inline-size: 0; }
  .t-public-contact-emblem {
    display: grid;
    place-items: center;
    inline-size: 2.9rem;
    block-size: 2.9rem;
    flex: 0 0 auto;
    border-radius: .9rem;
    background: #f6e7c0;
    color: #714909;
  }
  .t-public-contact-eyebrow { color: #805e24; font-size: .72rem; font-weight: 750; }
  .t-public-contact-heading { margin-block-start: .15rem; color: #251b0b; font-size: 1rem; font-weight: 850; line-height: 1.55; }
  .t-public-contact-description {
    margin-block-start: .45rem;
    color: #594d3d;
    font-size: .82rem;
    line-height: 1.95;
    white-space: pre-line;
    overflow-wrap: anywhere;
  }
  .t-public-contact-phone-card {
    border: 1px solid #dbc18a;
    border-radius: 1.05rem;
    background: #fff;
    padding: 1rem;
    box-shadow: 0 5px 20px rgb(68 48 11 / .045);
  }
  .t-public-contact-phone-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .4rem;
    flex-wrap: wrap;
  }
  .t-public-contact-phone-heading > span,
  .t-public-contact-phone-heading > small { display: inline-flex; align-items: center; gap: .35rem; }
  .t-public-contact-phone-heading > span { font-size: .84rem; font-weight: 780; color: #38260e; }
  .t-public-contact-phone-heading > small { color: #67553a; font-size: .7rem; }
  .t-public-contact-number-line { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-block: .6rem .7rem; }
  .t-public-contact-number { font: 800 clamp(1.35rem, 6vw, 1.7rem)/1.6 var(--font-numeric, inherit); color: #211809; letter-spacing: .035em; text-decoration: none; unicode-bidi: isolate; }
  .t-public-contact-copy { display: inline-flex; min-block-size: 2.65rem; align-items: center; gap: .35rem; flex: 0 0 auto; border: 1px solid #e0d4bd; border-radius: .75rem; background: #fffcf5; padding: .35rem .65rem; color: #5e4727; font: inherit; font-size: .75rem; font-weight: 740; cursor: pointer; }
  .t-public-contact-copy[hidden] { display: none; }
  .t-public-contact-copy:hover { background: #f6edd8; }
  .t-public-contact-feedback { color: #245b35; font-size: .73rem; line-height: 1.5; }
  .t-public-contact-feedback:empty { display: none; }
  .t-public-contact-actions { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: .55rem; }
  .t-public-contact-actions > a { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-block-size: 2.9rem; border-radius: .8rem; padding: .45rem .6rem; font-size: .86rem; font-weight: 820; text-decoration: none; }
  .t-public-contact-call { background: #a36e08; color: #fff; border: 1px solid #926209; }
  .t-public-contact-call:hover { background: #865a05; color: #fff; }
  .t-public-contact-sms { background: #fcf8ee; color: #644609; border: 1px solid #e5d6b9; }
  .t-public-contact-sms:hover { background: #f4ead3; color: #533a07; }
  .t-public-contact-social {
    border: 1px solid #eae3d7;
    border-radius: 1.05rem;
    background: #fff;
    padding: 1rem;
  }
  .t-public-contact-social h3, .t-public-contact-location h3 { color: #251b0b; font-size: .85rem; font-weight: 800; }
  .t-public-contact-helper { margin-block: .25rem .7rem; color: #6c6255; font-size: .7rem; line-height: 1.8; }
  .t-public-contact-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
  .t-public-contact-channel { display: grid; justify-items: center; align-content: center; gap: .32rem; min-inline-size: 0; min-block-size: 6.1rem; border: 1px solid #e4decf; border-radius: .85rem; padding: .55rem .25rem; text-align: center; text-decoration: none; overflow-wrap: anywhere; }
  .t-public-contact-channel-icon { display: grid; inline-size: 2rem; block-size: 2rem; place-items: center; border-radius: .65rem; background: #f6f0e1; color: #865b14; }
  .t-public-contact-channel strong { color: #302516; font-size: .8rem; font-weight: 810; }
  .t-public-contact-channel small { display: inline-flex; align-items: center; gap: .1rem; color: #5a5345; font-size: .65rem; line-height: 1.4; }
  .t-public-contact-channel.is-active { background: #fffaf0; border-color: #d5b66a; }
  .t-public-contact-channel.is-active:hover { background: #f9edcf; }
  .t-public-contact-channel.is-unavailable { background: #f7f7f6; border-style: dashed; }
  .t-public-contact-channel.is-unavailable :is(strong, small, .t-public-contact-channel-icon) { color: #777673; }
  .t-public-contact-channel.is-unavailable .t-public-contact-channel-icon { background: #ececea; }
  .t-public-contact-location {
    display: flex;
    gap: .7rem;
    border: 1px dashed #d9caab;
    border-radius: 1.05rem;
    background: #fffcf5;
    padding: 1rem;
  }
  .t-public-contact-location-icon { display: grid; inline-size: 2.15rem; block-size: 2.15rem; flex: 0 0 auto; place-items: center; color: #94620e; }
  .t-public-contact-location-copy { min-inline-size: 0; }
  .t-public-contact-location address { margin-block-start: .3rem; font-size: .78rem; line-height: 1.85; color: #514634; font-style: normal; white-space: pre-line; overflow-wrap: anywhere; }
  .t-public-contact-location a { display: inline-flex; align-items: center; gap: .25rem; min-block-size: 2.3rem; margin-block-start: .25rem; color: #805400; font-size: .77rem; font-weight: 740; text-decoration: underline; text-underline-offset: 3px; }
  .t-public-contact-trigger { display: inline-flex; inline-size: auto; min-inline-size: var(--t-icon-target); min-block-size: var(--t-icon-target); align-items: center; justify-content: center; gap: .32rem; padding-inline: .65rem; border: 1px solid #eadcc1; border-radius: .7rem; background: #fffbf2; color: #5b3d0c; font: inherit; cursor: pointer; }
  .t-public-contact-trigger span { font-size: .75rem; font-weight: 790; white-space: nowrap; }
  .t-footer-contact-more { display: inline-flex; align-items: center; gap: .4rem; min-block-size: 2.6rem; margin-block-start: .4rem; border: 1px solid rgb(244 213 139 / .4); border-radius: .7rem; background: rgb(244 213 139 / .07); padding: .45rem .65rem; color: #f4d58b; font: inherit; font-size: .79rem; font-weight: 750; cursor: pointer; }
  .t-footer-contact-more:hover { background: rgb(244 213 139 / .16); }

  @media (min-width: 40rem) {
    dialog.t-dialog.t-bottom-sheet.t-public-contact-sheet {
      inline-size: min(40rem, calc(100vw - 2rem));
      max-inline-size: min(40rem, calc(100vw - 2rem));
      max-block-size: 90dvh;
      margin: auto;
      border-radius: 1.3rem;
      padding-block-end: 0;
    }
    .t-public-contact-sheet .t-sheet-handle { display: none; }
    .t-public-contact-sheet .t-dialog-body { max-block-size: calc(90dvh - 4rem); padding: 1.15rem 1.4rem 1.4rem; }
  }
  @media (max-width: 39.999rem) {
    dialog.t-public-contact-sheet { max-block-size: 92dvh; border-end-start-radius: 0; border-end-end-radius: 0; }
    .t-public-contact-sheet .t-dialog-head { padding-inline: max(.85rem, env(safe-area-inset-left)) max(.85rem, env(safe-area-inset-right)); }
    .t-public-contact-sheet .t-dialog-body { padding-inline: max(.75rem, env(safe-area-inset-left)) max(.75rem, env(safe-area-inset-right)); }
    .t-public-contact-trigger { display: none; }
  }
  @media (min-width: 40rem) and (max-width: 76rem) {
    .t-public-contact-trigger span { display: none; }
    .t-public-contact-trigger { inline-size: 2.55rem; justify-content: center; }
  }
  @media (max-width: 23rem) {
    .t-public-contact-channels { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .3rem; }
    .t-public-contact-channel { padding-inline: .1rem; }
    .t-public-contact-channel small { font-size: .6rem; }
  }
