/* Progressive enhancement: the page remains fully visible without motion.js. */
.hatwell-homepage .hw-proof {
  background: var(--hw-navy)!important;
  color: #fff;
  border-top-color: #ffffff26;
}
.hatwell-homepage .hw-proof h2,
.hatwell-homepage .hw-proof-number { color: #fff; }
.hatwell-homepage .hw-proof-detail { color: #ffffffd9; }
.hatwell-homepage .hw-proof-grid > .col { border-color: #ffffff38; }
.hatwell-homepage .hw-proof-number { font-variant-numeric: tabular-nums; }
.hw-count-visual { display: inline-grid; max-width: 100%; }
.hw-count-size,
.hw-count-value { grid-area: 1 / 1; }
.hw-count-size { visibility: hidden; }
.hw-count-sr {
  position: absolute!important;
  width: 1px!important;
  height: 1px!important;
  padding: 0!important;
  margin: -1px!important;
  overflow: hidden!important;
  clip: rect(0, 0, 0, 0)!important;
  clip-path: inset(50%)!important;
  white-space: nowrap!important;
  border: 0!important;
}
.hatwell-homepage .hw-statement {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #fff!important;
  color: var(--hw-navy);
}
.hatwell-homepage .hw-statement::before {
  content: "";
  position: absolute;
  inset: -28%;
  z-index: 0;
  pointer-events: none;
  opacity: .27;
  background: radial-gradient(ellipse at 20% 35%, #93bfdc 0, transparent 54%), radial-gradient(ellipse at 78% 70%, #c0d7e8 0, transparent 55%);
  animation: hw-statement-wash 18s ease-in-out infinite alternate;
}
.hatwell-homepage .hw-statement > .section-content { position: relative; z-index: 1; }
.hatwell-homepage .hw-statement h2 { color: var(--hw-navy); }
@keyframes hw-statement-wash {
  from { transform: translate3d(-3%, -2%, 0) scale(1); }
  to { transform: translate3d(4%, 3%, 0) scale(1.06); }
}
.hatwell-homepage .hw-reveal,
.hatwell-homepage .hw-enter {
  transition: opacity 680ms ease, transform 780ms cubic-bezier(.22,.68,.25,1);
  transition-delay: var(--hw-motion-delay, 0ms);
}
.hatwell-homepage.hw-motion-ready .hw-reveal:not(.is-visible),
.hatwell-homepage.hw-motion-ready:not(.hw-hero-entered) .hw-enter {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
}
.hw-headline-line { display: inline-block; max-width: 100%; }
.hatwell-homepage .hw-statement h2 > .hw-reveal {
  transition-duration: 850ms, 950ms;
}
.hatwell-homepage .hw-service-photo img {
  transition: transform 950ms cubic-bezier(.22,.68,.25,1);
}
.hatwell-homepage .hw-program-link svg {
  transition: transform 350ms ease;
}
.hatwell-homepage .hw-button {
  transition: background-color 250ms ease, box-shadow 250ms ease, opacity 680ms ease, transform 780ms cubic-bezier(.22,.68,.25,1);
  transition-delay: 0ms, 0ms, var(--hw-motion-delay, 0ms), var(--hw-motion-delay, 0ms);
}
.hw-nav > [role="link"]:not(.hw-linkedin) { position: relative; }
.hw-nav > [role="link"]:not(.hw-linkedin)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  opacity: .85;
  transition: transform 300ms cubic-bezier(.22,.68,.25,1);
}
.hw-linkedin { transition: opacity 250ms ease, transform 300ms ease; }
@media (hover: hover) and (pointer: fine) {
  .hw-service-grid > .col:hover .hw-service-photo img { transform: scale(1.035); }
  .hw-service-grid > .col:hover .hw-program-link svg { transform: translate(3px, -3px); }
  .hatwell-homepage .hw-button:hover {
    background: var(--hw-navy, #001a31);
    box-shadow: inset 0 0 0 1px #7f9eaf;
  }
  .hw-nav > [role="link"]:hover::after { transform: scaleX(1); }
  .hw-linkedin:hover { opacity: .8; transform: translateY(-2px); }
}
@media (max-width: 849px) {
  /* Keep the original flowing mobile headline rather than forced desktop lines. */
  .hw-headline-line { display: inline; }
  .hatwell-homepage.hw-motion-ready:not(.hw-hero-entered) .hw-headline-line { transform: none; }
  .hatwell-homepage .hw-reveal { transition-delay: 0ms; }
}
@media (prefers-reduced-motion: reduce) {
  .hatwell-homepage .hw-statement::before { animation: none; transform: none; }
  .hatwell-homepage .hw-reveal,
  .hatwell-homepage .hw-enter,
  .hatwell-homepage.hw-motion-ready .hw-reveal:not(.is-visible),
  .hatwell-homepage.hw-motion-ready:not(.hw-hero-entered) .hw-enter {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .hatwell-homepage .hw-service-photo img,
  .hatwell-homepage .hw-program-link svg,
  .hatwell-homepage .hw-button,
  .hw-nav > [role="link"]::after,
  .hw-linkedin { transition: none; }
  .hw-service-grid > .col:hover .hw-service-photo img,
  .hw-service-grid > .col:hover .hw-program-link svg,
  .hw-linkedin:hover { transform: none; }
}
