/* brandnext animated logo (header). Colors follow currentColor = header states (dark hero / light / scrolled). */
.c-header__logo { --logo-glint: #7fa883; }
.c-header--overlay .c-header__logo { --logo-glint: #DCE8DC; }
.c-header--overlay.is-scrolled .c-header__logo, .is-menu-open .c-header--overlay .c-header__logo { --logo-glint: #7fa883; }
.c-logo__mark { display: block; flex: none; overflow: visible; }
.c-logo__word { display: inline-flex; }
.c-logo__ch { display: inline-block; }
.c-logo__glint { opacity: 0; }
.c-logo__glint path { opacity: .85; }

@media (prefers-reduced-motion: no-preference) {
  .c-logo__a, .c-logo__b { stroke-dasharray: 1; stroke-dashoffset: 1; }
  .c-logo__a { animation: bn-draw 1.5s cubic-bezier(.65,0,.25,1) .1s forwards, bn-drift-a 8s ease-in-out 1.8s infinite; }
  .c-logo__b { animation: bn-draw 1.5s cubic-bezier(.65,0,.25,1) .35s forwards, bn-drift-b 8s ease-in-out 1.8s infinite; }
  .c-logo__a2 { animation: bn-drift-a 8s ease-in-out 1.8s infinite; }
  .c-logo__b2 { animation: bn-drift-b 8s ease-in-out 1.8s infinite; }
  .c-logo__glint { animation: bn-fade .8s ease 1.7s forwards; }
  .c-logo__sweep { animation: bn-sweep 7s cubic-bezier(.45,0,.25,1) 2.2s infinite; }
  .c-logo__ch { opacity: 0; transform: translateY(.45em); filter: blur(3px); animation: bn-ch .7s cubic-bezier(.2,.8,.2,1) forwards; animation-delay: calc(.7s + var(--i) * 55ms); }

  /* hover: both shapes spring apart along the diagonal and settle back */
  .c-header__logo:hover .c-logo__a, .c-header__logo:hover .c-logo__a2 { animation: bn-hover-a .8s cubic-bezier(.34,1.56,.64,1); stroke-dashoffset: 0; }
  .c-header__logo:hover .c-logo__b, .c-header__logo:hover .c-logo__b2 { animation: bn-hover-b .8s cubic-bezier(.34,1.56,.64,1); stroke-dashoffset: 0; }
  .c-header__logo:hover .c-logo__glint { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .c-logo__glint { display: none; }
}
@keyframes bn-draw { to { stroke-dashoffset: 0; } }
@keyframes bn-fade { to { opacity: 1; } }
@keyframes bn-ch { to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes bn-sweep { 0% { transform: translateX(0); } 45%, 100% { transform: translateX(1300px); } }
@keyframes bn-drift-a { 0%, 100% { transform: translate(0,0); } 50% { transform: translate(-14px, 14px); } }
@keyframes bn-drift-b { 0%, 100% { transform: translate(0,0); } 50% { transform: translate(14px, -14px); } }
@keyframes bn-hover-a { 0% { transform: translate(0,0); } 30% { transform: translate(-44px, 44px); } 100% { transform: translate(0,0); } }
@keyframes bn-hover-b { 0% { transform: translate(0,0); } 30% { transform: translate(44px, -44px); } 100% { transform: translate(0,0); } }

/* header fit: nav stays on one line from 1025px up (burger below) */
.c-header__logo { flex: none; white-space: nowrap; }
.c-header__cta, .c-search-trigger { flex: none; white-space: nowrap; }
.c-nav__list, .c-nav__item, .c-nav__link { white-space: nowrap; flex-wrap: nowrap; }
.c-nav__link { line-height: 1.4; }
@media (min-width: 1025px) and (max-width: 1360px) {
  .c-header__inner { gap: 14px; }
  .c-nav__link { padding: 8px 8px 8px 10px; font-size: 14px; }
  .c-nav__item--has-sub > .c-nav__link { padding-right: 0; }
  .c-header__cta { padding: 11px 16px; font-size: 13.5px; }
  .c-header__logo { font-size: 19px; gap: 8px; }
}
@media (min-width: 1025px) and (max-width: 1180px) {
  .c-header__inner { gap: 8px; }
  .c-nav__link { padding: 8px 5px 8px 7px; font-size: 13.5px; }
  .c-nav__toggle { width: 22px; margin-right: 0; }
  .c-header__cta { padding: 10px 12px; font-size: 13px; }
  .c-header__logo { font-size: 17px; }
}
