/* Shared arrow treatment: one circle, one stroke, independent of text fonts. */
.arrow-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 1px solid #d6ddd1;
  border-radius: 50%;
  background: #fff;
  color: #111;
  line-height: 1;
}
button.arrow-control { cursor: pointer; }
button.arrow-control:focus-visible { outline: 3px solid #2265b3; outline-offset: 5px; }
.site-header .header-link:hover { opacity: 1; }
.navigation-arrow {
  display: block;
  flex: none;
  width: 24px;
  height: 24px;
  pointer-events: none;
}
.browser-bar .navigation-arrow,
.case-browser-bar .navigation-arrow { width: 12px; height: 12px; }
@media (hover: hover) {
  button.arrow-control:hover,
  a:hover > .arrow-control {
    background: #f7f9f4;
    border-color: #b9c4b3;
  }
}

/* Carousel chevrons keep their full target without a visible circular frame. */
button.arrow-control[data-direction],
button.arrow-control[data-direction]:hover {
  border: 0;
  border-radius: 0;
  background: transparent;
}
@media (hover: hover) {
  button.arrow-control[data-direction]:hover { color: #52733d; }
}

/* Consistent primary navigation on case pages and standalone pages. */
.site-header nav a{display:inline-flex;align-items:center;min-height:44px}
@media(min-width:651px) and (max-width:1250px){.header-inner{gap:12px}.site-header nav{margin-left:auto;gap:12px}.site-header .header-link{display:inline-flex;margin-left:auto;gap:8px}}
@media(max-width:650px){.site-header nav{gap:8px;font-size:11px}.site-header nav a:not(:first-child){display:inline-flex}.header-inner{gap:8px}}

.nav-estimate-short{display:none}
@media(max-width:650px), (max-width:1100px) and (pointer:coarse){.nav-estimate-full{display:none}.nav-estimate-short{display:inline}}
/* Keep the quote action in the mobile header alongside the main navigation. */
@media(max-width:650px){
  .site-header .header-link{display:inline-flex;align-items:center;flex:none;min-height:44px;margin-left:0;font-size:10px}
  .site-header .header-link .header-icon{display:none}
  header.site-header nav{gap:6px;font-size:10px}
  .site-header .header-inner{gap:6px}
}
@media(max-width:360px){
  .site-header .brand .brand-mark{width:29px}
  .site-header .brand .brand-name strong{font-size:10px}
  header.site-header nav{gap:4px;font-size:9px}
}
