/* Keyboard focus only; original Webflow visual rules and interactions are retained. */
body :is(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline:3px solid #2b3990;
  outline-offset:3px;
  /* The white inner halo also makes focus visible on the dark phone banner. */
  box-shadow:0 0 0 3px #fff;
}
/* A landmark receives skip-link focus, but is not an interactive control. */
body #main-content:focus-visible {outline:none;box-shadow:none;}

.skip-link {
  position:fixed;
  top:16px;
  left:16px;
  z-index:10000;
  max-width:calc(100vw - 32px);
  padding:12px 20px;
  border-radius:6px;
  background:#fff;
  color:#030711;
  font-size:16px;
  font-weight:600;
  line-height:24px;
  text-decoration:none;
  transform:translateY(calc(-100% - 24px));
}
.skip-link:focus {transform:none;}
#main-content {scroll-margin-top:16px;}
/* Restore intrinsic proportions when build supplies dimensions and CSS shrinks width.
   Existing component classes with an explicit cover height retain precedence. */
img {height:auto;}
/* Prevent the contact email from being clipped inside the 320px contact card. */
.contact-detail .text-block-8 {min-width:0;overflow-wrap:anywhere;}
.contact-detail {max-width:100%;}
.contact-detail .contact-icon-karma {flex-shrink:0;}
/* Keep the original mobile size of the tax logo after adding intrinsic dimensions. */
@media (max-width:479px) {.bento-image-asset {width:232px;max-width:100%;}}

/* Keep the original utility-page h2 appearance when its semantics become h1. */
.utility-page-heading {
  font-size: 32px;
  line-height: 36px;
}
/* Retain the existing gray palette while meeting body-text contrast. */
.section-header-large .paragraph-regular-4 {color:#4b5563;}
.section-header-large .hero-contact-button {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
  margin-top:24px;
  box-sizing:border-box;
  /* Same blue-to-violet template gradient, with readable white label text. */
  background-image:linear-gradient(22deg,#1676c2 16%,#5361c4);
}
.contact-service-note {
  margin:0 0 16px;
  color:#4b5563;
  font-size:16px;
  line-height:24px;
}
/* Keep the existing 200px cards within narrow desktop viewports. */
@media (min-width:992px) and (max-width:1219px) {
  #main-content .grid-four-column {grid-template-columns:repeat(4,minmax(0,1fr));}
  /* Both desktop dropdowns fit within the viewport at the mobile-menu boundary. */
  .navigation .nav-list-l.w--open {left:5%;right:5%;}
}
/* System UI fonts vary by OS. Let the narrow hero grid item shrink to its
   column; the headline's discretionary hyphen is used only when necessary. */
@media (max-width:479px) {
  .section-header-large .header-block {min-width:0;max-width:100%;}
  .section-header-large .hero-contact-button {width:100%;}
}
