/* Shared brand lock-up. Text remains selectable and visible without motion. */
.brand{gap:12px;align-items:center;letter-spacing:-1.1px}
.brand .brand-mark{width:45px;height:48px;flex:0 0 45px;border-radius:12px;background:#247c60;overflow:hidden}
.brand .brand-mark .icon{width:33px;height:33px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.brand .brand-copy{display:flex;flex-direction:column;justify-content:flex-start;gap:3px;height:48px;flex:0 0 auto;min-width:0}
.brand .brand-name{display:block;font-size:25px;line-height:1.08;font-weight:750;letter-spacing:-1.2px;white-space:nowrap}
.brand .brand-light{font-weight:450;margin-left:5px}
.brand .brand-copy small{display:flex;align-items:center;justify-content:flex-start;gap:4px;width:100%;font-size:11px;line-height:1.15;letter-spacing:1.5px;font-weight:650;margin:0;padding:0;color:#43594b;white-space:nowrap}
.brand-copy small i{font-style:normal;letter-spacing:0;color:#658673}
.brand-check{stroke-dasharray:1;stroke-dashoffset:0;transform-origin:12px 12px}
.footer-top .brand .brand-name,.blog-footer .brand .brand-name{font-size:23px}
.footer-top .brand .brand-copy small,.blog-footer .brand .brand-copy small{font-size:9px;letter-spacing:1.5px}
@media(prefers-reduced-motion:no-preference){
 .brand-motion .brand-mark{animation:brand-green 3.8s ease-in-out 1}
 .brand-motion .brand-check{animation:brand-confirm 3.8s ease-in-out 1}
 .brand-motion .brand-mark>.icon{animation:brand-nod 3.8s ease-in-out 1}
 .button{transition:background-color .22s ease,box-shadow .22s ease,transform .22s ease}
 .button.primary,.button.light-button{position:relative;isolation:isolate;overflow:hidden}
 .button.primary::after,.button.light-button::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 20%,#ffffff25 48%,transparent 75%);transform:translateX(-140%)}
 @media(hover:hover) and (pointer:fine){
  .button.primary:hover,.button.primary:focus-visible{background-color:#299373;box-shadow:0 6px 17px #15583d18;transform:translateY(-2px)}
  .button.primary:hover::after,.button.primary:focus-visible::after,.button.light-button:hover::after{animation:button-sheen .65s ease-out 1}
  .button.primary:active{transform:translateY(0);box-shadow:none}
 }
}
@keyframes brand-green{0%,100%{background-color:#247c60}25%{background-color:#369b76}48%{background-color:#2b8567}72%{background-color:#409f79}}
@keyframes brand-confirm{0%,8%{stroke-dashoffset:1;opacity:0}24%,43%{stroke-dashoffset:0;opacity:1}51%,57%{stroke-dashoffset:1;opacity:0}75%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes brand-nod{0%,72%,100%{transform:rotate(0)}79%{transform:rotate(-6deg)}86%{transform:rotate(4deg)}93%{transform:rotate(-2deg)}}
@keyframes button-sheen{from{transform:translateX(-140%)}to{transform:translateX(140%)}}
@media(max-width:800px){.brand{gap:10px}.brand .brand-mark{width:40px;height:44px;flex-basis:40px;border-radius:11px}.brand .brand-mark .icon{width:31px;height:31px}.brand .brand-copy{height:44px;gap:2px}.brand .brand-name{font-size:23px}.brand .brand-copy small{font-size:9.5px;letter-spacing:1.2px;gap:3.5px}}
@media(max-width:380px){.brand .brand-name{font-size:21px}.brand .brand-copy small{font-size:8px;letter-spacing:1.1px}.brand{gap:8px}.header-inner{gap:12px}}
@media(prefers-reduced-motion:reduce){.brand .brand-mark,.brand .brand-check,.brand .brand-mark>.icon,.button,.button::after{animation:none!important;transition:none!important}.brand-check{stroke-dashoffset:0!important;opacity:1!important}.button::after{display:none}}
@media print{.brand .brand-mark,.brand .brand-check,.brand .brand-mark>.icon{animation:none!important}.brand-check{stroke-dashoffset:0!important;opacity:1!important}.button::after{display:none}}
