@keyframes badgeFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes headingSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes underlineGrow{0%{opacity:0;width:0}to{opacity:1;width:65px}}@keyframes cardReveal{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes iconBounce{0%{transform:scale(1)}40%{transform:scale(1.22)}65%{transform:scale(.92)}85%{transform:scale(1.08)}to{transform:scale(1)}}.purpose-badge{opacity:0}.purpose-badge.visible{animation:.5s 50ms forwards badgeFadeIn}.purpose-heading{opacity:0}.purpose-heading.visible{animation:.55s .15s forwards headingSlideUp}.purpose-underline{opacity:0;width:0}.purpose-underline.visible{animation:.5s .4s forwards underlineGrow}.purpose-card{opacity:0}.purpose-card.visible-0{animation:.55s cubic-bezier(.22,1,.36,1) .45s forwards cardReveal}.purpose-card.visible-1{animation:.55s cubic-bezier(.22,1,.36,1) .6s forwards cardReveal}.purpose-card.visible-2{animation:.55s cubic-bezier(.22,1,.36,1) .75s forwards cardReveal}.purpose-icon-wrap{transition:background-color .2s}.purpose-icon-wrap:hover .purpose-icon-svg{animation:.45s forwards iconBounce}@media (max-width:768px){.purpose-section-inner{padding:0 20px!important}.purpose-cards-grid{grid-template-columns:1fr!important;gap:16px!important}}
@keyframes imageReveal{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes nameSlideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes subtitleFade{0%{opacity:0}to{opacity:1}}@keyframes headingSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes underlineGrow{0%{opacity:0;width:0}to{opacity:1;width:65px}}.heritage-heading{opacity:0}.heritage-heading.visible{animation:.55s .1s forwards headingSlideUp}.heritage-underline{opacity:0;width:0}.heritage-underline.visible{animation:.5s .35s forwards underlineGrow}.heritage-subtext{opacity:0}.heritage-subtext.visible{animation:.5s .45s forwards subtitleFade}.heritage-card{opacity:0}.heritage-card.visible-0{animation:.65s cubic-bezier(.22,1,.36,1) .3s forwards imageReveal}.heritage-card.visible-1{animation:.65s cubic-bezier(.22,1,.36,1) .5s forwards imageReveal}.heritage-card.visible-2{animation:.65s cubic-bezier(.22,1,.36,1) .7s forwards imageReveal}.heritage-card-name{opacity:0}.heritage-card-name.visible-0{animation:.45s .6s forwards nameSlideUp}.heritage-card-name.visible-1{animation:.45s .8s forwards nameSlideUp}.heritage-card-name.visible-2{animation:.45s 1s forwards nameSlideUp}.heritage-card-desc{opacity:0}.heritage-card-desc.visible-0{animation:.4s .75s forwards subtitleFade}.heritage-card-desc.visible-1{animation:.4s .95s forwards subtitleFade}.heritage-card-desc.visible-2{animation:.4s 1.15s forwards subtitleFade}.heritage-desktop-grid{display:grid}.heritage-mobile-carousel{display:none}@media (max-width:768px){.heritage-desktop-grid{display:none!important}.heritage-mobile-carousel{display:block}}
@keyframes bulletSlideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes imageFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes headingSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes badgeFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.whatwedo-badge{opacity:0}.whatwedo-badge.visible{animation:.5s 50ms forwards badgeFadeIn}.whatwedo-heading{opacity:0}.whatwedo-heading.visible{animation:.55s .15s forwards headingSlideUp}.whatwedo-subtext{opacity:0}.whatwedo-subtext.visible{animation:.5s .28s forwards headingSlideUp}.whatwedo-item{opacity:0}.whatwedo-item.visible-0{animation:.5s cubic-bezier(.22,1,.36,1) .35s forwards bulletSlideIn}.whatwedo-item.visible-1{animation:.5s cubic-bezier(.22,1,.36,1) .48s forwards bulletSlideIn}.whatwedo-item.visible-2{animation:.5s cubic-bezier(.22,1,.36,1) .61s forwards bulletSlideIn}.whatwedo-item.visible-3{animation:.5s cubic-bezier(.22,1,.36,1) .74s forwards bulletSlideIn}.whatwedo-item.visible-4{animation:.5s cubic-bezier(.22,1,.36,1) .87s forwards bulletSlideIn}.whatwedo-item.visible-5{animation:.5s cubic-bezier(.22,1,.36,1) 1s forwards bulletSlideIn}.whatwedo-image{opacity:0}.whatwedo-image.visible{animation:.7s cubic-bezier(.22,1,.36,1) .4s forwards imageFadeIn}.whatwedo-container{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1100px;margin:0 auto;padding:0 40px;display:grid}.whatwedo-image-wrap{width:100%;height:100%;min-height:420px;position:relative}.whatwedo-image-border{border:2px solid var(--color-primary);border-radius:12px;position:absolute;inset:0;transform:translate(16px,16px)}@media (max-width:768px){.whatwedo-container{flex-direction:column;grid-template-columns:1fr;gap:36px;padding:0 20px;display:flex}.whatwedo-image-wrap{order:2;width:100%;height:280px;min-height:280px;position:relative}.whatwedo-image-border{display:none}.cta-section-wrap{padding:0 20px 60px!important}.cta-section-wrap>div>div{border-radius:12px!important;padding:40px 24px!important}}
@keyframes ctaHeadingFade{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes ctaSubFade{0%{opacity:0}to{opacity:1}}@keyframes ctaButtonRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes ctaShimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes ctaPulse{0%,to{opacity:1}50%{opacity:.92}}.cta-section{animation:4s ease-in-out infinite ctaPulse}.cta-shimmer-overlay{pointer-events:none;border-radius:inherit;background:linear-gradient(105deg,#0000 40%,#ffffff0f 50%,#0000 60%) 0 0/200% 100%;animation:4s ease-in-out infinite ctaShimmer;position:absolute;inset:0}.cta-heading{opacity:0}.cta-heading.visible{animation:.65s .15s forwards ctaHeadingFade}.cta-subtext{opacity:0}.cta-subtext.visible{animation:.55s .35s forwards ctaSubFade}.cta-button{opacity:0}.cta-button.visible{animation:.5s .55s forwards ctaButtonRise}.cta-button-el{transition:transform .2s,box-shadow .2s,background-color .2s}.cta-button-el:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}
