/* Button text: one size sitewide = Alfred text-sm (14px), Oct 26. See DESIGN.md "Buttons". */
.apage .abtn,.apage .btn,.apage .hwbtn,.apage .rv-cta,.apage .hlcta,.apage button[type=submit],.apage input[type=submit],.apage .copy,.apage .lang button,.apage .addrole,.apage a.w,.apage a.o,.ck button,.dmnav a.dbtn{font-size:.875rem !important;line-height:1.25rem !important}
.apage .abtn,.apage button[type=submit]{height:40px !important;padding-left:20px !important;padding-right:20px !important}

/* No bold anywhere, max weight 400 (Joel, Oct 26). See DESIGN.md. */
html body *, html body *::before, html body *::after{font-weight:400 !important}

/* System card line art: subtle loops like Alfred's step art; off for reduced motion */
.sart .sa-move{transform-box:fill-box;transform-origin:center;animation:saMove 3.2s ease-in-out infinite}
@keyframes saMove{0%,15%{transform:translateX(0);opacity:1}55%,70%{transform:translateX(44px);opacity:1}85%{opacity:0}100%{transform:translateX(0);opacity:0}}
.sart .sa-bar{transform-box:fill-box;transform-origin:50% 100%;animation:saBar 3.6s ease-in-out infinite}
.sart .sa-b2{animation-delay:.15s}.sart .sa-b3{animation-delay:.3s}.sart .sa-b4{animation-delay:.45s}
@keyframes saBar{0%,10%{transform:scaleY(.35)}45%,80%{transform:scaleY(1)}100%{transform:scaleY(.35)}}
.sart .sa-scan{animation:saScan 4s ease-in-out infinite}
@keyframes saScan{0%,100%{transform:translate(0,0)}40%,60%{transform:translate(-56px,-6px)}}
@media (prefers-reduced-motion:reduce){.sart .sa-move,.sart .sa-bar,.sart .sa-scan{animation:none}}

/* No tan anywhere (Joel, Oct 26): every muted fill is the same neutral grey as the hero tiles */
:root:root{--color-muted:#F4F4F2 !important}
.bg-muted\/60,.bg-muted{background-color:#F4F4F2 !important}
.ty-tag{background-color:#EDEDEA !important}
.ty-bar{background-color:#E6E6E3 !important}

/* Section headers: always left-aligned, Alfred two-tone (Joel, Oct 26 night). Hero stays centered. */
.ahead{text-align:left !important;margin-left:0 !important}
.apage h1,.apage h2,.apage .akick,.apage .alead{text-align:left !important;margin-left:0 !important;margin-right:auto !important}

/* Easy-steps line art: one slow, gentle loop each; static with reduced motion */
.eart .ea-pulse{transform-box:fill-box;transform-origin:center;animation:eaPulse 4.8s ease-in-out infinite}
@keyframes eaPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}
.eart .ea-fade{animation:eaFade 5.2s ease-in-out infinite}
@keyframes eaFade{0%,100%{opacity:.35}50%{opacity:1}}
.eart .ea-step{animation:eaStep 6s ease-in-out infinite;opacity:.25}
.eart .ea-d2{animation-delay:1.2s}
@keyframes eaStep{0%,15%{opacity:.25}40%,80%{opacity:1}100%{opacity:.25}}
.eart .ea-orbit{transform-box:view-box;transform-origin:120px 90px;animation:eaOrbit 14s linear infinite}
@keyframes eaOrbit{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.eart .ea-pulse,.eart .ea-fade,.eart .ea-step,.eart .ea-orbit{animation:none;opacity:1}}
