/* V43 — lighter bear trail, balanced footer branding and livelier actions. */

/* Keep the bear paw shape from V42, but make its trail as quiet as the old one. */
.paw-mark {
  width: 27px;
  height: 27px;
  color: rgba(111, 82, 107, .58);
  opacity: .72;
  filter: drop-shadow(0 2px 3px rgba(65, 42, 60, .09));
}
.paw-mark.is-burst {
  color: rgba(174, 113, 96, .58);
  opacity: .68;
}

/* The footer logo now has the same visual width on every page. */
.site-header .brand-header img {
  width: 248px;
  height: 137px;
}
.site-footer .brand-footer {
  width: 310px;
  max-width: 100%;
}
.site-footer .brand-footer img {
  width: 310px;
  height: 218px;
  max-width: 100%;
}
.site-footer > p {
  max-width: 310px;
}

/* A small, crafted arrow control shared by all three contact choices. */
.contact-button > b {
  position: relative;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .44);
  border-radius: 50%;
  background: rgba(255, 255, 255, .2);
  box-shadow: inset 0 1px rgba(255, 255, 255, .42), 0 6px 14px rgba(63, 45, 58, .08);
  color: transparent;
  font-size: 0;
  transition: transform .3s cubic-bezier(.2,.8,.2,1), background .3s, box-shadow .3s;
}
.contact-button > b::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 19px;
  width: 15px;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
  color: #5b4655;
  box-shadow: -4px 0 0 -1px currentColor;
  transition: transform .3s cubic-bezier(.2,.8,.2,1);
}
.contact-button > b::after {
  content: "";
  position: absolute;
  right: 11px;
  top: 15px;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  color: #5b4655;
  transform: rotate(45deg);
  transition: transform .3s cubic-bezier(.2,.8,.2,1);
}
.contact-button.primary > b::before,
.contact-button.primary > b::after {
  color: #fff;
}
.contact-button.call > b {
  background: rgba(255, 253, 249, .42);
  border-color: rgba(84, 60, 47, .13);
}
.contact-button.question > b {
  background: rgba(255, 253, 249, .36);
  border-color: rgba(91, 70, 85, .13);
}
.contact-button:hover > b,
.contact-button:focus-visible > b {
  background: rgba(255, 255, 255, .64);
  box-shadow: inset 0 1px rgba(255,255,255,.7), 0 8px 18px rgba(63,45,58,.14);
  transform: translateX(4px) rotate(-4deg);
}
.contact-button.primary:hover > b::before,
.contact-button.primary:hover > b::after,
.contact-button.primary:focus-visible > b::before,
.contact-button.primary:focus-visible > b::after {
  color: #5b4655;
}
.contact-button:hover > b::before,
.contact-button:focus-visible > b::before {
  transform: translateX(3px);
}
.contact-button:hover > b::after,
.contact-button:focus-visible > b::after {
  transform: translateX(3px) rotate(45deg);
}

@media (max-width: 1180px) and (min-width: 761px) {
  .contact-button > b {
    display: none;
  }
}

@media (max-width: 760px) {
  /* Keep the review source under the adaptive controls, aligned right as before. */
  .reviews-source {
    width: max-content !important;
    display: flex !important;
    margin: 16px 0 0 auto !important;
  }

  .site-header .brand-header img {
    width: 176px;
    height: 100px;
  }

  .site-footer .brand-footer {
    width: min(310px, calc(100vw - 48px)) !important;
    margin: -22px auto -12px !important;
  }
  .site-footer .brand-footer img,
  .story-page .brand-footer img {
    width: min(310px, calc(100vw - 48px)) !important;
    height: 218px !important;
  }
  .site-footer > p {
    width: min(310px, calc(100vw - 48px));
    max-width: none !important;
  }

  .contact-button > b {
    width: 42px;
    height: 42px;
    display: grid;
    flex-basis: 42px;
  }
  .contact-button > b::before { left: 12px; top: 20px; }
  .contact-button > b::after { right: 12px; top: 16px; }
}

/* V43.1 — one forward-action language across the full site. */
@media (min-width: 761px) {
  .site-header {
    min-height: 142px;
  }
}

.cta-arrow {
  --cta-size: 40px;
  position: relative !important;
  width: var(--cta-size) !important;
  height: var(--cta-size) !important;
  min-width: var(--cta-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  align-self: center;
  flex: 0 0 var(--cta-size) !important;
  overflow: hidden;
  border: 1px solid rgba(91,70,85,.13) !important;
  border-radius: 50% !important;
  background: rgba(232,216,231,.78) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.58), 0 6px 14px rgba(63,45,58,.08) !important;
  color: transparent !important;
  font-size: 0 !important;
  font-style: normal;
  line-height: 0 !important;
  transition: transform .3s cubic-bezier(.2,.8,.2,1), background .3s, box-shadow .3s !important;
}
.cta-arrow::before {
  content: "" !important;
  position: absolute;
  left: calc(50% - 9px);
  top: calc(50% - 1px);
  width: 15px;
  height: 2px;
  border: 0 !important;
  border-radius: 99px;
  background: currentColor !important;
  color: #5b4655 !important;
  box-shadow: -4px 0 0 -1px currentColor;
  transform: none;
  transition: transform .3s cubic-bezier(.2,.8,.2,1);
}
.cta-arrow::after {
  content: "" !important;
  position: absolute;
  right: calc(50% - 9px);
  top: calc(50% - 5px);
  width: 8px;
  height: 8px;
  border: 0 !important;
  border-top: 2px solid currentColor !important;
  border-right: 2px solid currentColor !important;
  background: transparent !important;
  color: #5b4655 !important;
  transform: rotate(45deg);
  transition: transform .3s cubic-bezier(.2,.8,.2,1);
}
a:hover .cta-arrow,
a:focus-visible .cta-arrow {
  background: rgba(255,255,255,.8) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.75), 0 9px 18px rgba(63,45,58,.14) !important;
  transform: translateX(4px) rotate(-4deg) !important;
}
a:hover .cta-arrow::before,
a:focus-visible .cta-arrow::before {
  transform: translateX(3px);
}
a:hover .cta-arrow::after,
a:focus-visible .cta-arrow::after {
  transform: translateX(3px) rotate(45deg);
}

.contact-button.primary .cta-arrow,
.story-primary .cta-arrow {
  border-color: rgba(255,255,255,.36) !important;
  background: rgba(255,255,255,.17) !important;
}
.contact-button.primary .cta-arrow::before,
.contact-button.primary .cta-arrow::after,
.story-primary .cta-arrow::before,
.story-primary .cta-arrow::after {
  color: #fff !important;
}
.contact-button.call .cta-arrow,
.v15-call .cta-arrow,
.activities-actions a:last-child .cta-arrow {
  background: rgba(255,248,225,.68) !important;
}
.contact-button.question .cta-arrow {
  background: rgba(255,253,249,.5) !important;
}
.v15-meet .cta-arrow,
.v15-call .cta-arrow {
  background: rgba(255,253,249,.82) !important;
}
.reviews-source .cta-arrow,
.story-mini-action .cta-arrow,
.service-action .cta-arrow {
  --cta-size: 31px;
}
.story-actions .cta-arrow {
  --cta-size: 36px;
}

.v15-contact {
  grid-template-columns: 48px minmax(0,1fr) 40px;
  padding-right: 12px;
}
.v15-contact > span:nth-child(2) {
  min-width: 0;
  display: grid;
  line-height: 1;
  text-align: left;
}
.activities-actions a {
  grid-template-columns: 48px minmax(0,1fr) 42px;
}
.activities-actions a > .cta-arrow {
  --cta-size: 42px;
  grid-column: 3;
  grid-row: 1 / span 2;
}
.menu-contact > a {
  padding: 6px 7px 6px 18px;
}

@media (max-width: 760px) {
  .site-header {
    min-height: 116px;
  }
  .site-header .brand-header {
    margin: -3px 0;
    align-self: center;
  }
  .v15-contact {
    grid-template-columns: 48px minmax(0,1fr) 42px;
  }
  .v15-contact .cta-arrow,
  .contact-button .cta-arrow,
  .activities-actions .cta-arrow,
  .menu-contact .cta-arrow {
    --cta-size: 42px;
  }
  .activities-actions a {
    grid-template-columns: 48px minmax(0,1fr) 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cta-arrow,
  .cta-arrow::before,
  .cta-arrow::after {
    transition: none;
  }
}
