/* RENOVA: a phone call pill and a right-aligned three-line mobile menu. */
.site-header .renova-header-call-icon { display: none; }

@media (max-width: 760px), (max-width: 1100px) and (max-height: 500px) and (pointer: coarse) {
  body .site-header .brand { transform: scale(1.1) translateY(5%); transform-origin: left center; }
  body .site-header .header-end { --renova-menu-edge-inset: 10.83186862px; gap: 10px; flex-shrink: 0; align-items: center; }
  body .site-header .header-phone {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 56px;
    box-sizing: border-box;
    width: 56px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 22px;
    background: transparent;
    color: #f1efe9 !important;
    text-decoration: none;
    line-height: 1;
    isolation: isolate;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  body .site-header .header-phone::before {
    content: "";
    position: absolute;
    inset: 4px 2px;
    z-index: -1;
    pointer-events: none;
    border: 1px solid rgba(102, 81, 63, .18);
    border-radius: 20px;
    background: rgba(102, 81, 63, .92);
    transform: scale(.94605);
    transition: background-color .2s ease;
  }
  body .site-header .renova-header-call-number { display: none; }
  body .site-header .renova-header-call-icon {
    display: block;
    width: 17.0289px;
    height: 17.0289px;
    flex: none;
    pointer-events: none;
    transform-box: fill-box;
    transform-origin: center;
    animation: renova-phone-shake 6s ease-in-out 6s infinite;
  }
  body .site-header .menu-toggle {
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    touch-action: manipulation;
  }
  body .site-header .menu-toggle::before { content: none; }
  body .site-header .menu-toggle::after {
    content: "";
    position: absolute;
    top: calc(50% - 1.239820785px);
    left: 12.45046px;
    width: 25.46544px;
    height: 2.47964157px;
    background: currentColor;
    pointer-events: none;
    opacity: 1;
    transform: scaleX(1);
    transition: opacity .18s ease, transform .3s ease;
  }
  body .site-header .menu-toggle span { top: calc(50% - 1.239820785px); left: 6.0841px !important; width: 31.8318px !important; height: 2.47964157px !important; transition: transform .3s ease, width .3s ease, left .3s ease; }
  /* Center the closed menu at 22.33626276px tall; top grows upward, bottom downward, middle stays centered. */
  body .site-header .menu-toggle span:first-child { top: var(--renova-menu-edge-inset); bottom: auto; transform: none; }
  body .site-header .menu-toggle span:last-child { top: auto; bottom: var(--renova-menu-edge-inset); transform: none; }
  body .site-header .menu-toggle[aria-expanded="true"] span:first-child { top: calc(50% - 1.239820785px); bottom: auto; transform: rotate(45deg); }
  body .site-header .menu-toggle[aria-expanded="true"] span:last-child { top: calc(50% - 1.239820785px); bottom: auto; left: 6.0841px !important; width: 31.8318px !important; transform: rotate(-45deg); }
  body .site-header .menu-toggle[aria-expanded="true"]::after { opacity: 0; transform: scaleX(.55); }
  body .site-header .header-phone:focus-visible { outline: 2px solid #66513f; outline-offset: 2px; }
  body .site-header .header-phone:active::before { background: #514437; }
  body.menu-open .site-header .header-phone::before {
    background: rgba(241, 239, 233, .10);
    border-color: rgba(241, 239, 233, .40);
  }
  body.menu-open .site-header .header-phone:focus-visible { outline-color: #f1efe9; }
}

/* A brief handset shake every six seconds; the pill stays still. */
@keyframes renova-phone-shake {
  0%, 10%, 100% { transform: rotate(0deg); }
  2% { transform: rotate(-17.5deg); }
  4% { transform: rotate(15deg); }
  6% { transform: rotate(-11.25deg); }
  8% { transform: rotate(6.25deg); }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .renova-header-call-icon { animation: none; }
  .site-header .header-phone::before,
  .site-header .menu-toggle::after { transition: none; }
}
@media (max-width: 760px) and (forced-colors: active), (max-width: 1100px) and (max-height: 500px) and (pointer: coarse) and (forced-colors: active) {
  .site-header .header-phone { color: LinkText !important; }
  .site-header .header-phone::before { background: Canvas; border-color: LinkText; }
}
